"use strict"; /// var plugins = require("./taskbuffer.plugins"); var helpers = require("./taskbuffer.classes.helpers"); var Task = (function () { function Task(optionsArg) { if (!optionsArg) { optionsArg = { taskFunction: function () { } }; } var options = optionsArg; this.task = optionsArg.taskFunction; this.preTask = options.preTask; this.afterTask = options.afterTask; this.running = false; this.idle = true; this.buffered = options.buffered; this.bufferMax = options.bufferMax; this.name = options.name; } Task.prototype.trigger = function () { var done = plugins.Q.defer(); if (this.buffered) { this.triggerBuffered() .then(done.resolve); } else { this.triggerUnBuffered() .then(done.resolve); } ; return done.promise; }; ; Task.prototype.triggerUnBuffered = function () { return helpers.runTask(this); }; Task.prototype.triggerBuffered = function () { var done = plugins.Q.defer(); if (!(this.bufferCounter >= this.bufferMax)) { this.bufferCounter++; } helpers.runBufferedTask(this); return done.promise; }; Object.defineProperty(Task.prototype, "state", { get: function () { return this._state; }, set: function (stateArg) { if (stateArg == "locked") { this._state = "locked"; } else { plugins.beautylog.error("state type " + stateArg.blue + " could not be set"); } }, enumerable: true, configurable: true }); return Task; }()); exports.Task = Task; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhc2tidWZmZXIuY2xhc3Nlcy50YXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw0Q0FBNEM7QUFDNUMsSUFBWSxPQUFPLFdBQU0sc0JBQ3pCLENBQUMsQ0FEOEM7QUFDL0MsSUFBWSxPQUFPLFdBQU0sOEJBRXpCLENBQUMsQ0FGc0Q7QUFFdkQ7SUFhSSxjQUFZLFVBT1g7UUFDRyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUM7WUFBQSxVQUFVLEdBQUcsRUFBQyxZQUFZLEVBQUMsY0FBVyxDQUFDLEVBQUMsQ0FBQTtRQUFBLENBQUM7UUFDMUQsSUFBSSxPQUFPLEdBQUcsVUFBVSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCxzQkFBTyxHQUFQO1FBQ0ksSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixFQUFFLENBQUEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNmLElBQUksQ0FBQyxlQUFlLEVBQUU7aUJBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUIsQ0FBQztRQUNELElBQUksQ0FBQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLGlCQUFpQixFQUFFO2lCQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFBQSxDQUFDO1FBQ0YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQzs7SUFDRCxnQ0FBaUIsR0FBakI7UUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsOEJBQWUsR0FBZjtRQUNJLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsRUFBRSxDQUFBLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUEsQ0FBQztZQUN4QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDeEIsQ0FBQztRQUNELE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVELHNCQUFJLHVCQUFLO2FBQVQ7WUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN2QixDQUFDO2FBQ0QsVUFBVSxRQUFlO1lBQ3JCLEVBQUUsQ0FBQyxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsQ0FBQSxDQUFDO2dCQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztZQUMzQixDQUFDO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ0osT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEdBQUcsbUJBQW1CLENBQUMsQ0FBQztZQUNqRixDQUFDO1FBQ0wsQ0FBQzs7O09BUEE7SUFRTCxXQUFDO0FBQUQsQ0FuRUEsQUFtRUMsSUFBQTtBQW5FWSxZQUFJLE9BbUVoQixDQUFBIiwiZmlsZSI6InRhc2tidWZmZXIuY2xhc3Nlcy50YXNrLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vdHlwaW5ncy9tYWluLmQudHNcIiAvPlxyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL3Rhc2tidWZmZXIucGx1Z2luc1wiXHJcbmltcG9ydCAqIGFzIGhlbHBlcnMgZnJvbSBcIi4vdGFza2J1ZmZlci5jbGFzc2VzLmhlbHBlcnNcIlxyXG5cclxuZXhwb3J0IGNsYXNzIFRhc2sge1xyXG4gICAgbmFtZTpzdHJpbmc7XHJcbiAgICB0YXNrOmFueTtcclxuICAgIHJ1bm5pbmc6Ym9vbGVhbjtcclxuICAgIGlkbGU6Ym9vbGVhbjtcclxuICAgIGJ1ZmZlcmVkOmJvb2xlYW47XHJcbiAgICBidWZmZXJDb3VudGVyOm51bWJlcjtcclxuICAgIGJ1ZmZlck1heDpudW1iZXI7XHJcbiAgICBwcml2YXRlIF9jb3VudGVyVHJpZ2dlckFic29sdXRlOm51bWJlcjtcclxuICAgIHByaXZhdGUgX3N0YXRlOnN0cmluZztcclxuICAgIHByZVRhc2s6VGFzaztcclxuICAgIGFmdGVyVGFzazpUYXNrO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnNBcmc6e1xyXG4gICAgICAgIHRhc2tGdW5jdGlvbjphbnksXHJcbiAgICAgICAgcHJlVGFzaz86VGFzayxcclxuICAgICAgICBhZnRlclRhc2s/OlRhc2ssXHJcbiAgICAgICAgYnVmZmVyZWQ/OmJvb2xlYW4sXHJcbiAgICAgICAgYnVmZmVyTWF4PzpudW1iZXIsXHJcbiAgICAgICAgbmFtZT86c3RyaW5nXHJcbiAgICB9KXtcclxuICAgICAgICBpZiAoIW9wdGlvbnNBcmcpe29wdGlvbnNBcmcgPSB7dGFza0Z1bmN0aW9uOmZ1bmN0aW9uKCl7fX19XHJcbiAgICAgICAgdmFyIG9wdGlvbnMgPSBvcHRpb25zQXJnO1xyXG4gICAgICAgIHRoaXMudGFzayA9IG9wdGlvbnNBcmcudGFza0Z1bmN0aW9uO1xyXG4gICAgICAgIHRoaXMucHJlVGFzayA9IG9wdGlvbnMucHJlVGFzaztcclxuICAgICAgICB0aGlzLmFmdGVyVGFzayA9IG9wdGlvbnMuYWZ0ZXJUYXNrO1xyXG4gICAgICAgIHRoaXMucnVubmluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaWRsZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5idWZmZXJlZCA9IG9wdGlvbnMuYnVmZmVyZWQ7XHJcbiAgICAgICAgdGhpcy5idWZmZXJNYXggPSBvcHRpb25zLmJ1ZmZlck1heDtcclxuICAgICAgICB0aGlzLm5hbWUgPSBvcHRpb25zLm5hbWU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHRyaWdnZXIoKXtcclxuICAgICAgICBsZXQgZG9uZSA9IHBsdWdpbnMuUS5kZWZlcigpO1xyXG4gICAgICAgIGlmKHRoaXMuYnVmZmVyZWQpIHtcclxuICAgICAgICAgICAgdGhpcy50cmlnZ2VyQnVmZmVyZWQoKVxyXG4gICAgICAgICAgICAgICAgLnRoZW4oZG9uZS5yZXNvbHZlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJpZ2dlclVuQnVmZmVyZWQoKVxyXG4gICAgICAgICAgICAgICAgLnRoZW4oZG9uZS5yZXNvbHZlKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbiAgICB9O1xyXG4gICAgdHJpZ2dlclVuQnVmZmVyZWQoKXtcclxuICAgICAgICByZXR1cm4gaGVscGVycy5ydW5UYXNrKHRoaXMpO1xyXG4gICAgfVxyXG4gICAgdHJpZ2dlckJ1ZmZlcmVkKCl7XHJcbiAgICAgICAgdmFyIGRvbmUgPSBwbHVnaW5zLlEuZGVmZXIoKTtcclxuICAgICAgICBpZighKHRoaXMuYnVmZmVyQ291bnRlciA+PSB0aGlzLmJ1ZmZlck1heCkpe1xyXG4gICAgICAgICAgICB0aGlzLmJ1ZmZlckNvdW50ZXIrK1xyXG4gICAgICAgIH1cclxuICAgICAgICBoZWxwZXJzLnJ1bkJ1ZmZlcmVkVGFzayh0aGlzKTtcclxuICAgICAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBzdGF0ZSgpOnN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlO1xyXG4gICAgfVxyXG4gICAgc2V0IHN0YXRlKHN0YXRlQXJnOnN0cmluZyl7XHJcbiAgICAgICAgaWYgKHN0YXRlQXJnID09IFwibG9ja2VkXCIpe1xyXG4gICAgICAgICAgICB0aGlzLl9zdGF0ZSA9IFwibG9ja2VkXCI7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cuZXJyb3IoXCJzdGF0ZSB0eXBlIFwiICsgc3RhdGVBcmcuYmx1ZSArIFwiIGNvdWxkIG5vdCBiZSBzZXRcIik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19