From 454a999a4259186731392295c7a779b4abe52db5 Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Sat, 14 May 2016 23:24:11 +0200 Subject: [PATCH] improve options handling between classes --- dist/taskbuffer.classes.task.d.ts | 1 + dist/taskbuffer.classes.task.js | 3 ++- dist/taskbuffer.classes.taskchain.d.ts | 6 +++++- dist/taskbuffer.classes.taskchain.js | 21 +++++++++++++++------ dist/taskbuffer.plugins.d.ts | 1 + dist/taskbuffer.plugins.js | 3 ++- package.json | 1 + ts/taskbuffer.classes.task.ts | 11 +++++++++-- ts/taskbuffer.classes.taskchain.ts | 22 +++++++++++++++++----- ts/taskbuffer.plugins.ts | 1 + 10 files changed, 54 insertions(+), 16 deletions(-) diff --git a/dist/taskbuffer.classes.task.d.ts b/dist/taskbuffer.classes.task.d.ts index 84fb3e3..3590032 100644 --- a/dist/taskbuffer.classes.task.d.ts +++ b/dist/taskbuffer.classes.task.d.ts @@ -16,6 +16,7 @@ export declare class Task { afterTask?: Task; buffered?: boolean; bufferMax?: number; + name?: string; }); trigger(): any; triggerUnBuffered(): any; diff --git a/dist/taskbuffer.classes.task.js b/dist/taskbuffer.classes.task.js index 28fb1f8..126302e 100644 --- a/dist/taskbuffer.classes.task.js +++ b/dist/taskbuffer.classes.task.js @@ -15,6 +15,7 @@ var Task = (function () { this.idle = true; this.buffered = options.buffered; this.bufferMax = options.bufferMax; + this.name = options.name; } Task.prototype.trigger = function () { var done = plugins.Q.defer(); @@ -60,4 +61,4 @@ var Task = (function () { }()); exports.Task = Task; -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhc2tidWZmZXIuY2xhc3Nlcy50YXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw0Q0FBNEM7QUFDNUMsSUFBWSxPQUFPLFdBQU0sc0JBQ3pCLENBQUMsQ0FEOEM7QUFDL0MsSUFBWSxPQUFPLFdBQU0sOEJBR3pCLENBQUMsQ0FIc0Q7QUFHdkQ7SUFhSSxjQUFZLFVBQWlHO1FBQ3pHLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUEsQ0FBQztZQUFBLFVBQVUsR0FBRyxFQUFDLFlBQVksRUFBQyxjQUFXLENBQUMsRUFBQyxDQUFBO1FBQUEsQ0FBQztRQUMxRCxJQUFJLE9BQU8sR0FBRyxVQUFVLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsc0JBQU8sR0FBUDtRQUNJLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsRUFBRSxDQUFBLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDZixJQUFJLENBQUMsZUFBZSxFQUFFO2lCQUNqQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFDRCxJQUFJLENBQUMsQ0FBQztZQUNGLElBQUksQ0FBQyxpQkFBaUIsRUFBRTtpQkFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBQUEsQ0FBQztRQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7O0lBQ0QsZ0NBQWlCLEdBQWpCO1FBQ0ksTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUNELDhCQUFlLEdBQWY7UUFDSSxJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzdCLEVBQUUsQ0FBQSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBLENBQUM7WUFDeEMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFBO1FBQ3hCLENBQUM7UUFDRCxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxzQkFBSSx1QkFBSzthQUFUO1lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDdkIsQ0FBQzthQUNELFVBQVUsUUFBZTtZQUNyQixFQUFFLENBQUMsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLENBQUEsQ0FBQztnQkFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7WUFDM0IsQ0FBQztZQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNKLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxRQUFRLENBQUMsSUFBSSxHQUFHLG1CQUFtQixDQUFDLENBQUM7WUFDakYsQ0FBQztRQUNMLENBQUM7OztPQVBBO0lBUUwsV0FBQztBQUFELENBM0RBLEFBMkRDLElBQUE7QUEzRFksWUFBSSxPQTJEaEIsQ0FBQSIsImZpbGUiOiJ0YXNrYnVmZmVyLmNsYXNzZXMudGFzay5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuL3R5cGluZ3MvbWFpbi5kLnRzXCIgLz5cclxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi90YXNrYnVmZmVyLnBsdWdpbnNcIlxyXG5pbXBvcnQgKiBhcyBoZWxwZXJzIGZyb20gXCIuL3Rhc2tidWZmZXIuY2xhc3Nlcy5oZWxwZXJzXCJcclxuXHJcblxyXG5leHBvcnQgY2xhc3MgVGFzayB7XHJcbiAgICBuYW1lOnN0cmluZztcclxuICAgIHRhc2s6YW55O1xyXG4gICAgcnVubmluZzpib29sZWFuO1xyXG4gICAgaWRsZTpib29sZWFuO1xyXG4gICAgYnVmZmVyZWQ6Ym9vbGVhbjtcclxuICAgIGJ1ZmZlckNvdW50ZXI6bnVtYmVyO1xyXG4gICAgYnVmZmVyTWF4Om51bWJlcjtcclxuICAgIHByaXZhdGUgX2NvdW50ZXJUcmlnZ2VyQWJzb2x1dGU6bnVtYmVyO1xyXG4gICAgcHJpdmF0ZSBfc3RhdGU6c3RyaW5nO1xyXG4gICAgcHJlVGFzazpUYXNrO1xyXG4gICAgYWZ0ZXJUYXNrOlRhc2s7XHJcblxyXG4gICAgY29uc3RydWN0b3Iob3B0aW9uc0FyZzp7dGFza0Z1bmN0aW9uOmFueSxwcmVUYXNrPzpUYXNrLGFmdGVyVGFzaz86VGFzaywgYnVmZmVyZWQ/OmJvb2xlYW4sIGJ1ZmZlck1heD86bnVtYmVyfSl7XHJcbiAgICAgICAgaWYgKCFvcHRpb25zQXJnKXtvcHRpb25zQXJnID0ge3Rhc2tGdW5jdGlvbjpmdW5jdGlvbigpe319fVxyXG4gICAgICAgIHZhciBvcHRpb25zID0gb3B0aW9uc0FyZztcclxuICAgICAgICB0aGlzLnRhc2sgPSBvcHRpb25zQXJnLnRhc2tGdW5jdGlvbjtcclxuICAgICAgICB0aGlzLnByZVRhc2sgPSBvcHRpb25zLnByZVRhc2s7XHJcbiAgICAgICAgdGhpcy5hZnRlclRhc2sgPSBvcHRpb25zLmFmdGVyVGFzaztcclxuICAgICAgICB0aGlzLnJ1bm5pbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmlkbGUgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuYnVmZmVyZWQgPSBvcHRpb25zLmJ1ZmZlcmVkO1xyXG4gICAgICAgIHRoaXMuYnVmZmVyTWF4ID0gb3B0aW9ucy5idWZmZXJNYXg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHRyaWdnZXIoKXtcclxuICAgICAgICBsZXQgZG9uZSA9IHBsdWdpbnMuUS5kZWZlcigpO1xyXG4gICAgICAgIGlmKHRoaXMuYnVmZmVyZWQpIHtcclxuICAgICAgICAgICAgdGhpcy50cmlnZ2VyQnVmZmVyZWQoKVxyXG4gICAgICAgICAgICAgICAgLnRoZW4oZG9uZS5yZXNvbHZlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJpZ2dlclVuQnVmZmVyZWQoKVxyXG4gICAgICAgICAgICAgICAgLnRoZW4oZG9uZS5yZXNvbHZlKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbiAgICB9O1xyXG4gICAgdHJpZ2dlclVuQnVmZmVyZWQoKXtcclxuICAgICAgICByZXR1cm4gaGVscGVycy5ydW5UYXNrKHRoaXMpO1xyXG4gICAgfVxyXG4gICAgdHJpZ2dlckJ1ZmZlcmVkKCl7XHJcbiAgICAgICAgdmFyIGRvbmUgPSBwbHVnaW5zLlEuZGVmZXIoKTtcclxuICAgICAgICBpZighKHRoaXMuYnVmZmVyQ291bnRlciA+PSB0aGlzLmJ1ZmZlck1heCkpe1xyXG4gICAgICAgICAgICB0aGlzLmJ1ZmZlckNvdW50ZXIrK1xyXG4gICAgICAgIH1cclxuICAgICAgICBoZWxwZXJzLnJ1bkJ1ZmZlcmVkVGFzayh0aGlzKTtcclxuICAgICAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBzdGF0ZSgpOnN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlO1xyXG4gICAgfVxyXG4gICAgc2V0IHN0YXRlKHN0YXRlQXJnOnN0cmluZyl7XHJcbiAgICAgICAgaWYgKHN0YXRlQXJnID09IFwibG9ja2VkXCIpe1xyXG4gICAgICAgICAgICB0aGlzLl9zdGF0ZSA9IFwibG9ja2VkXCI7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cuZXJyb3IoXCJzdGF0ZSB0eXBlIFwiICsgc3RhdGVBcmcuYmx1ZSArIFwiIGNvdWxkIG5vdCBiZSBzZXRcIik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19 +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhc2tidWZmZXIuY2xhc3Nlcy50YXNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw0Q0FBNEM7QUFDNUMsSUFBWSxPQUFPLFdBQU0sc0JBQ3pCLENBQUMsQ0FEOEM7QUFDL0MsSUFBWSxPQUFPLFdBQU0sOEJBRXpCLENBQUMsQ0FGc0Q7QUFFdkQ7SUFhSSxjQUFZLFVBT1g7UUFDRyxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFBLENBQUM7WUFBQSxVQUFVLEdBQUcsRUFBQyxZQUFZLEVBQUMsY0FBVyxDQUFDLEVBQUMsQ0FBQTtRQUFBLENBQUM7UUFDMUQsSUFBSSxPQUFPLEdBQUcsVUFBVSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsVUFBVSxDQUFDLFlBQVksQ0FBQztRQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDL0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQzdCLENBQUM7SUFFRCxzQkFBTyxHQUFQO1FBQ0ksSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM3QixFQUFFLENBQUEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNmLElBQUksQ0FBQyxlQUFlLEVBQUU7aUJBQ2pCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDNUIsQ0FBQztRQUNELElBQUksQ0FBQyxDQUFDO1lBQ0YsSUFBSSxDQUFDLGlCQUFpQixFQUFFO2lCQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFBQSxDQUFDO1FBQ0YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQzs7SUFDRCxnQ0FBaUIsR0FBakI7UUFDSSxNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsOEJBQWUsR0FBZjtRQUNJLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsRUFBRSxDQUFBLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUEsQ0FBQztZQUN4QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUE7UUFDeEIsQ0FBQztRQUNELE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVELHNCQUFJLHVCQUFLO2FBQVQ7WUFDSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN2QixDQUFDO2FBQ0QsVUFBVSxRQUFlO1lBQ3JCLEVBQUUsQ0FBQyxDQUFDLFFBQVEsSUFBSSxRQUFRLENBQUMsQ0FBQSxDQUFDO2dCQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztZQUMzQixDQUFDO1lBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ0osT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEdBQUcsbUJBQW1CLENBQUMsQ0FBQztZQUNqRixDQUFDO1FBQ0wsQ0FBQzs7O09BUEE7SUFRTCxXQUFDO0FBQUQsQ0FuRUEsQUFtRUMsSUFBQTtBQW5FWSxZQUFJLE9BbUVoQixDQUFBIiwiZmlsZSI6InRhc2tidWZmZXIuY2xhc3Nlcy50YXNrLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vdHlwaW5ncy9tYWluLmQudHNcIiAvPlxyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL3Rhc2tidWZmZXIucGx1Z2luc1wiXHJcbmltcG9ydCAqIGFzIGhlbHBlcnMgZnJvbSBcIi4vdGFza2J1ZmZlci5jbGFzc2VzLmhlbHBlcnNcIlxyXG5cclxuZXhwb3J0IGNsYXNzIFRhc2sge1xyXG4gICAgbmFtZTpzdHJpbmc7XHJcbiAgICB0YXNrOmFueTtcclxuICAgIHJ1bm5pbmc6Ym9vbGVhbjtcclxuICAgIGlkbGU6Ym9vbGVhbjtcclxuICAgIGJ1ZmZlcmVkOmJvb2xlYW47XHJcbiAgICBidWZmZXJDb3VudGVyOm51bWJlcjtcclxuICAgIGJ1ZmZlck1heDpudW1iZXI7XHJcbiAgICBwcml2YXRlIF9jb3VudGVyVHJpZ2dlckFic29sdXRlOm51bWJlcjtcclxuICAgIHByaXZhdGUgX3N0YXRlOnN0cmluZztcclxuICAgIHByZVRhc2s6VGFzaztcclxuICAgIGFmdGVyVGFzazpUYXNrO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKG9wdGlvbnNBcmc6e1xyXG4gICAgICAgIHRhc2tGdW5jdGlvbjphbnksXHJcbiAgICAgICAgcHJlVGFzaz86VGFzayxcclxuICAgICAgICBhZnRlclRhc2s/OlRhc2ssXHJcbiAgICAgICAgYnVmZmVyZWQ/OmJvb2xlYW4sXHJcbiAgICAgICAgYnVmZmVyTWF4PzpudW1iZXIsXHJcbiAgICAgICAgbmFtZT86c3RyaW5nXHJcbiAgICB9KXtcclxuICAgICAgICBpZiAoIW9wdGlvbnNBcmcpe29wdGlvbnNBcmcgPSB7dGFza0Z1bmN0aW9uOmZ1bmN0aW9uKCl7fX19XHJcbiAgICAgICAgdmFyIG9wdGlvbnMgPSBvcHRpb25zQXJnO1xyXG4gICAgICAgIHRoaXMudGFzayA9IG9wdGlvbnNBcmcudGFza0Z1bmN0aW9uO1xyXG4gICAgICAgIHRoaXMucHJlVGFzayA9IG9wdGlvbnMucHJlVGFzaztcclxuICAgICAgICB0aGlzLmFmdGVyVGFzayA9IG9wdGlvbnMuYWZ0ZXJUYXNrO1xyXG4gICAgICAgIHRoaXMucnVubmluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuaWRsZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5idWZmZXJlZCA9IG9wdGlvbnMuYnVmZmVyZWQ7XHJcbiAgICAgICAgdGhpcy5idWZmZXJNYXggPSBvcHRpb25zLmJ1ZmZlck1heDtcclxuICAgICAgICB0aGlzLm5hbWUgPSBvcHRpb25zLm5hbWU7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHRyaWdnZXIoKXtcclxuICAgICAgICBsZXQgZG9uZSA9IHBsdWdpbnMuUS5kZWZlcigpO1xyXG4gICAgICAgIGlmKHRoaXMuYnVmZmVyZWQpIHtcclxuICAgICAgICAgICAgdGhpcy50cmlnZ2VyQnVmZmVyZWQoKVxyXG4gICAgICAgICAgICAgICAgLnRoZW4oZG9uZS5yZXNvbHZlKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudHJpZ2dlclVuQnVmZmVyZWQoKVxyXG4gICAgICAgICAgICAgICAgLnRoZW4oZG9uZS5yZXNvbHZlKTtcclxuICAgICAgICB9O1xyXG4gICAgICAgIHJldHVybiBkb25lLnByb21pc2U7XHJcbiAgICB9O1xyXG4gICAgdHJpZ2dlclVuQnVmZmVyZWQoKXtcclxuICAgICAgICByZXR1cm4gaGVscGVycy5ydW5UYXNrKHRoaXMpO1xyXG4gICAgfVxyXG4gICAgdHJpZ2dlckJ1ZmZlcmVkKCl7XHJcbiAgICAgICAgdmFyIGRvbmUgPSBwbHVnaW5zLlEuZGVmZXIoKTtcclxuICAgICAgICBpZighKHRoaXMuYnVmZmVyQ291bnRlciA+PSB0aGlzLmJ1ZmZlck1heCkpe1xyXG4gICAgICAgICAgICB0aGlzLmJ1ZmZlckNvdW50ZXIrK1xyXG4gICAgICAgIH1cclxuICAgICAgICBoZWxwZXJzLnJ1bkJ1ZmZlcmVkVGFzayh0aGlzKTtcclxuICAgICAgICByZXR1cm4gZG9uZS5wcm9taXNlO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCBzdGF0ZSgpOnN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX3N0YXRlO1xyXG4gICAgfVxyXG4gICAgc2V0IHN0YXRlKHN0YXRlQXJnOnN0cmluZyl7XHJcbiAgICAgICAgaWYgKHN0YXRlQXJnID09IFwibG9ja2VkXCIpe1xyXG4gICAgICAgICAgICB0aGlzLl9zdGF0ZSA9IFwibG9ja2VkXCI7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcGx1Z2lucy5iZWF1dHlsb2cuZXJyb3IoXCJzdGF0ZSB0eXBlIFwiICsgc3RhdGVBcmcuYmx1ZSArIFwiIGNvdWxkIG5vdCBiZSBzZXRcIik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59Il19 diff --git a/dist/taskbuffer.classes.taskchain.d.ts b/dist/taskbuffer.classes.taskchain.d.ts index 027c537..c1e22de 100644 --- a/dist/taskbuffer.classes.taskchain.d.ts +++ b/dist/taskbuffer.classes.taskchain.d.ts @@ -2,8 +2,12 @@ import { Task } from "./taskbuffer.classes"; export declare class Taskchain extends Task { taskArray: Task[]; private _oraObject; - constructor(taskArrayArg: Task[] | Task); + constructor(optionsArg: { + taskArray: Task[]; + name?: string; + }); addTask(taskArg: Task): void; removeTask(taskArg: Task): void; shiftTask(): void; + trigger(): void; } diff --git a/dist/taskbuffer.classes.taskchain.js b/dist/taskbuffer.classes.taskchain.js index ad72100..2599c05 100644 --- a/dist/taskbuffer.classes.taskchain.js +++ b/dist/taskbuffer.classes.taskchain.js @@ -9,9 +9,9 @@ var plugins = require("./taskbuffer.plugins"); var taskbuffer_classes_1 = require("./taskbuffer.classes"); var Taskchain = (function (_super) { __extends(Taskchain, _super); - function Taskchain(taskArrayArg) { + function Taskchain(optionsArg) { var _this = this; - _super.call(this, { + var options = plugins.lodash.assign(optionsArg, { taskFunction: function () { if (_this.taskArray.length = 0) return; //make sure there is actually a Task available to execute @@ -30,6 +30,8 @@ var Taskchain = (function (_super) { startDeferred.resolve(); } }); + _super.call(this, options); + this.taskArray = optionsArg.taskArray; this._oraObject = plugins.beautylog.ora("Taskchain idle", "blue"); } Taskchain.prototype.addTask = function (taskArg) { @@ -43,12 +45,19 @@ var Taskchain = (function (_super) { Taskchain.prototype.shiftTask = function () { }; ; + Taskchain.prototype.trigger = function () { + this._oraObject.start(this.name + "running"); + }; return Taskchain; }(taskbuffer_classes_1.Task)); exports.Taskchain = Taskchain; ; -var myTask = new Taskchain(new taskbuffer_classes_1.Task({ - taskFunction: function () { } -})); +var myTask = new Taskchain({ + taskArray: [ + new taskbuffer_classes_1.Task({ + taskFunction: function () { } + }) + ] +}); -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhc2tidWZmZXIuY2xhc3Nlcy50YXNrY2hhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNENBQTRDO0FBQzVDLElBQVksT0FBTyxXQUFNLHNCQUFzQixDQUFDLENBQUE7QUFDaEQsbUNBQW1CLHNCQUFzQixDQUFDLENBQUE7QUFHMUM7SUFBK0IsNkJBQUk7SUFHL0IsbUJBQVksWUFBd0I7UUFIeEMsaUJBNkJDO1FBekJPLGtCQUFNO1lBQ0YsWUFBWSxFQUFFO2dCQUNWLEVBQUUsQ0FBQSxDQUFDLEtBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztvQkFBQyxNQUFNLENBQUMsQ0FBQyx5REFBeUQ7Z0JBQy9GLElBQUksYUFBYSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyx3Q0FBd0M7Z0JBQy9FLElBQUksY0FBYyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUM7Z0JBQzNDO29CQUNJLGNBQWMsQ0FBQyxJQUFJLENBQUM7d0JBQ2hCLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO3dCQUNsRCxNQUFNLENBQUMsY0FBYyxDQUFDO29CQUMxQixDQUFDLENBQUMsQ0FBQTs7Z0JBSk4sR0FBRyxDQUFBLENBQUMsSUFBSSxNQUFNLElBQUksS0FBSSxDQUFDLFNBQVMsQ0FBQzs7aUJBS2hDO2dCQUFBLENBQUM7Z0JBQ0YsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzVCLENBQUM7U0FDSixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFDRCwyQkFBTyxHQUFQLFVBQVEsT0FBWTtRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDOztJQUNELDhCQUFVLEdBQVYsVUFBVyxPQUFZO1FBQ25CLE1BQU07SUFDVixDQUFDOztJQUNELDZCQUFTLEdBQVQ7SUFFQSxDQUFDOztJQUNMLGdCQUFDO0FBQUQsQ0E3QkEsQUE2QkMsQ0E3QjhCLHlCQUFJLEdBNkJsQztBQTdCWSxpQkFBUyxZQTZCckIsQ0FBQTtBQUFBLENBQUM7QUFFRixJQUFJLE1BQU0sR0FBRyxJQUFJLFNBQVMsQ0FDdEIsSUFBSSx5QkFBSSxDQUFDO0lBQ0wsWUFBWSxFQUFDLGNBQVcsQ0FBQztDQUM1QixDQUFDLENBQ0wsQ0FBQyIsImZpbGUiOiJ0YXNrYnVmZmVyLmNsYXNzZXMudGFza2NoYWluLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8vIDxyZWZlcmVuY2UgcGF0aD1cIi4vdHlwaW5ncy9tYWluLmQudHNcIiAvPlxyXG5pbXBvcnQgKiBhcyBwbHVnaW5zIGZyb20gXCIuL3Rhc2tidWZmZXIucGx1Z2luc1wiO1xyXG5pbXBvcnQge1Rhc2t9IGZyb20gXCIuL3Rhc2tidWZmZXIuY2xhc3Nlc1wiO1xyXG5pbXBvcnQgaGVscGVycyA9IHJlcXVpcmUoXCIuL3Rhc2tidWZmZXIuY2xhc3Nlcy5oZWxwZXJzXCIpO1xyXG5cclxuZXhwb3J0IGNsYXNzIFRhc2tjaGFpbiBleHRlbmRzIFRhc2sge1xyXG4gICAgdGFza0FycmF5OlRhc2tbXTtcclxuICAgIHByaXZhdGUgX29yYU9iamVjdDtcclxuICAgIGNvbnN0cnVjdG9yKHRhc2tBcnJheUFyZzpUYXNrW118VGFzayl7XHJcbiAgICAgICAgc3VwZXIoe1xyXG4gICAgICAgICAgICB0YXNrRnVuY3Rpb246ICgpID0+IHsgLy8gdGhpcyBpcyB0aGUgZnVuY3Rpb24gdGhhdCBnZXRzIGV4ZWN1dGVkIHdoZW4gVGFza0NoYWluIGlzIHRyaWdnZXJlZFxyXG4gICAgICAgICAgICAgICAgaWYodGhpcy50YXNrQXJyYXkubGVuZ3RoID0gMCkgcmV0dXJuOyAvL21ha2Ugc3VyZSB0aGVyZSBpcyBhY3R1YWxseSBhIFRhc2sgYXZhaWxhYmxlIHRvIGV4ZWN1dGVcclxuICAgICAgICAgICAgICAgIGxldCBzdGFydERlZmVycmVkID0gcGx1Z2lucy5RLmRlZmVyKCk7IC8vIHRoaXMgaXMgdGhlIHN0YXJ0aW5nIERlZmVycmVkIG9iamVjdCBcclxuICAgICAgICAgICAgICAgIGxldCBwcm9taXNlUG9pbnRlciA9IHN0YXJ0RGVmZXJyZWQucHJvbWlzZTtcclxuICAgICAgICAgICAgICAgIGZvcihsZXQga2V5QXJnIGluIHRoaXMudGFza0FycmF5KXtcclxuICAgICAgICAgICAgICAgICAgICBwcm9taXNlUG9pbnRlci50aGVuKGZ1bmN0aW9uKCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb21pc2VQb2ludGVyID0gdGhpcy50YXNrQXJyYXlba2V5QXJnXS50cmlnZ2VyKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwcm9taXNlUG9pbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgICAgIHN0YXJ0RGVmZXJyZWQucmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5fb3JhT2JqZWN0ID0gcGx1Z2lucy5iZWF1dHlsb2cub3JhKFwiVGFza2NoYWluIGlkbGVcIixcImJsdWVcIik7XHJcbiAgICB9XHJcbiAgICBhZGRUYXNrKHRhc2tBcmc6VGFzayl7XHJcbiAgICAgICAgdGhpcy50YXNrQXJyYXkucHVzaCh0YXNrQXJnKTtcclxuICAgIH07XHJcbiAgICByZW1vdmVUYXNrKHRhc2tBcmc6VGFzayl7XHJcbiAgICAgICAgLy9UT0RPXHJcbiAgICB9O1xyXG4gICAgc2hpZnRUYXNrKCl7XHJcbiAgICAgICAgXHJcbiAgICB9O1xyXG59O1xyXG5cclxubGV0IG15VGFzayA9IG5ldyBUYXNrY2hhaW4oXHJcbiAgICBuZXcgVGFzayh7XHJcbiAgICAgICAgdGFza0Z1bmN0aW9uOmZ1bmN0aW9uKCl7fVxyXG4gICAgfSlcclxuKTsiXX0= +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhc2tidWZmZXIuY2xhc3Nlcy50YXNrY2hhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsNENBQTRDO0FBQzVDLElBQVksT0FBTyxXQUFNLHNCQUFzQixDQUFDLENBQUE7QUFDaEQsbUNBQW1CLHNCQUFzQixDQUFDLENBQUE7QUFHMUM7SUFBK0IsNkJBQUk7SUFHL0IsbUJBQVksVUFHWDtRQU5MLGlCQXFDQztRQTlCTyxJQUFJLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUM7WUFDM0MsWUFBWSxFQUFFO2dCQUNWLEVBQUUsQ0FBQSxDQUFDLEtBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztvQkFBQyxNQUFNLENBQUMsQ0FBQyx5REFBeUQ7Z0JBQy9GLElBQUksYUFBYSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyx3Q0FBd0M7Z0JBQy9FLElBQUksY0FBYyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUM7Z0JBQzNDO29CQUNJLGNBQWMsQ0FBQyxJQUFJLENBQUM7d0JBQ2hCLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO3dCQUNsRCxNQUFNLENBQUMsY0FBYyxDQUFDO29CQUMxQixDQUFDLENBQUMsQ0FBQTs7Z0JBSk4sR0FBRyxDQUFBLENBQUMsSUFBSSxNQUFNLElBQUksS0FBSSxDQUFDLFNBQVMsQ0FBQzs7aUJBS2hDO2dCQUFBLENBQUM7Z0JBQ0YsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzVCLENBQUM7U0FDSixDQUFDLENBQUM7UUFDSCxrQkFBTSxPQUFPLENBQUMsQ0FBQztRQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQztRQUN0QyxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFDRCwyQkFBTyxHQUFQLFVBQVEsT0FBWTtRQUNoQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqQyxDQUFDOztJQUNELDhCQUFVLEdBQVYsVUFBVyxPQUFZO1FBQ25CLE1BQU07SUFDVixDQUFDOztJQUNELDZCQUFTLEdBQVQ7SUFFQSxDQUFDOztJQUNELDJCQUFPLEdBQVA7UUFDSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFDTCxnQkFBQztBQUFELENBckNBLEFBcUNDLENBckM4Qix5QkFBSSxHQXFDbEM7QUFyQ1ksaUJBQVMsWUFxQ3JCLENBQUE7QUFBQSxDQUFDO0FBRUYsSUFBSSxNQUFNLEdBQUcsSUFBSSxTQUFTLENBQ3RCO0lBQ0ksU0FBUyxFQUFFO1FBQ1AsSUFBSSx5QkFBSSxDQUFDO1lBQ0wsWUFBWSxFQUFDLGNBQVcsQ0FBQztTQUM1QixDQUFDO0tBQ0w7Q0FDSixDQUNKLENBQUMiLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2tjaGFpbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuL3R5cGluZ3MvbWFpbi5kLnRzXCIgLz5cclxuaW1wb3J0ICogYXMgcGx1Z2lucyBmcm9tIFwiLi90YXNrYnVmZmVyLnBsdWdpbnNcIjtcclxuaW1wb3J0IHtUYXNrfSBmcm9tIFwiLi90YXNrYnVmZmVyLmNsYXNzZXNcIjtcclxuaW1wb3J0IGhlbHBlcnMgPSByZXF1aXJlKFwiLi90YXNrYnVmZmVyLmNsYXNzZXMuaGVscGVyc1wiKTtcclxuXHJcbmV4cG9ydCBjbGFzcyBUYXNrY2hhaW4gZXh0ZW5kcyBUYXNrIHtcclxuICAgIHRhc2tBcnJheTpUYXNrW107XHJcbiAgICBwcml2YXRlIF9vcmFPYmplY3Q7XHJcbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zQXJnOntcclxuICAgICAgICB0YXNrQXJyYXk6VGFza1tdXHJcbiAgICAgICAgbmFtZT86c3RyaW5nXHJcbiAgICB9KXtcclxuICAgICAgICBsZXQgb3B0aW9ucyA9IHBsdWdpbnMubG9kYXNoLmFzc2lnbihvcHRpb25zQXJnLHtcclxuICAgICAgICAgICAgdGFza0Z1bmN0aW9uOiAoKSA9PiB7IC8vIHRoaXMgaXMgdGhlIGZ1bmN0aW9uIHRoYXQgZ2V0cyBleGVjdXRlZCB3aGVuIFRhc2tDaGFpbiBpcyB0cmlnZ2VyZWRcclxuICAgICAgICAgICAgICAgIGlmKHRoaXMudGFza0FycmF5Lmxlbmd0aCA9IDApIHJldHVybjsgLy9tYWtlIHN1cmUgdGhlcmUgaXMgYWN0dWFsbHkgYSBUYXNrIGF2YWlsYWJsZSB0byBleGVjdXRlXHJcbiAgICAgICAgICAgICAgICBsZXQgc3RhcnREZWZlcnJlZCA9IHBsdWdpbnMuUS5kZWZlcigpOyAvLyB0aGlzIGlzIHRoZSBzdGFydGluZyBEZWZlcnJlZCBvYmplY3QgXHJcbiAgICAgICAgICAgICAgICBsZXQgcHJvbWlzZVBvaW50ZXIgPSBzdGFydERlZmVycmVkLnByb21pc2U7XHJcbiAgICAgICAgICAgICAgICBmb3IobGV0IGtleUFyZyBpbiB0aGlzLnRhc2tBcnJheSl7XHJcbiAgICAgICAgICAgICAgICAgICAgcHJvbWlzZVBvaW50ZXIudGhlbihmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9taXNlUG9pbnRlciA9IHRoaXMudGFza0FycmF5W2tleUFyZ10udHJpZ2dlcigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJvbWlzZVBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgICAgICBzdGFydERlZmVycmVkLnJlc29sdmUoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHN1cGVyKG9wdGlvbnMpO1xyXG4gICAgICAgIHRoaXMudGFza0FycmF5ID0gb3B0aW9uc0FyZy50YXNrQXJyYXk7XHJcbiAgICAgICAgdGhpcy5fb3JhT2JqZWN0ID0gcGx1Z2lucy5iZWF1dHlsb2cub3JhKFwiVGFza2NoYWluIGlkbGVcIixcImJsdWVcIik7XHJcbiAgICB9XHJcbiAgICBhZGRUYXNrKHRhc2tBcmc6VGFzayl7XHJcbiAgICAgICAgdGhpcy50YXNrQXJyYXkucHVzaCh0YXNrQXJnKTtcclxuICAgIH07XHJcbiAgICByZW1vdmVUYXNrKHRhc2tBcmc6VGFzayl7XHJcbiAgICAgICAgLy9UT0RPXHJcbiAgICB9O1xyXG4gICAgc2hpZnRUYXNrKCl7XHJcbiAgICAgICAgXHJcbiAgICB9O1xyXG4gICAgdHJpZ2dlcigpe1xyXG4gICAgICAgIHRoaXMuX29yYU9iamVjdC5zdGFydCh0aGlzLm5hbWUgKyBcInJ1bm5pbmdcIik7XHJcbiAgICB9XHJcbn07XHJcblxyXG5sZXQgbXlUYXNrID0gbmV3IFRhc2tjaGFpbihcclxuICAgIHtcclxuICAgICAgICB0YXNrQXJyYXk6IFtcclxuICAgICAgICAgICAgbmV3IFRhc2soe1xyXG4gICAgICAgICAgICAgICAgdGFza0Z1bmN0aW9uOmZ1bmN0aW9uKCl7fVxyXG4gICAgICAgICAgICB9KVxyXG4gICAgICAgIF1cclxuICAgIH1cclxuKTsiXX0= diff --git a/dist/taskbuffer.plugins.d.ts b/dist/taskbuffer.plugins.d.ts index 8aef758..ee631ff 100644 --- a/dist/taskbuffer.plugins.d.ts +++ b/dist/taskbuffer.plugins.d.ts @@ -1,2 +1,3 @@ export import beautylog = require("beautylog"); export declare let Q: any; +export declare let lodash: any; diff --git a/dist/taskbuffer.plugins.js b/dist/taskbuffer.plugins.js index f30f9ac..cd23a59 100644 --- a/dist/taskbuffer.plugins.js +++ b/dist/taskbuffer.plugins.js @@ -2,5 +2,6 @@ /// exports.beautylog = require("beautylog"); exports.Q = require("q"); +exports.lodash = require("lodash"); -//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhc2tidWZmZXIucGx1Z2lucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsNENBQTRDO0FBQzlCLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsU0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyIsImZpbGUiOiJ0YXNrYnVmZmVyLnBsdWdpbnMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi90eXBpbmdzL21haW4uZC50c1wiIC8+XHJcbmV4cG9ydCBpbXBvcnQgYmVhdXR5bG9nID0gcmVxdWlyZShcImJlYXV0eWxvZ1wiKTtcclxuZXhwb3J0IGxldCBRID0gcmVxdWlyZShcInFcIik7XHJcbiJdfQ== +//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhc2tidWZmZXIucGx1Z2lucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsNENBQTRDO0FBQzlCLGlCQUFTLFdBQVcsV0FBVyxDQUFDLENBQUM7QUFDcEMsU0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNqQixjQUFNLEdBQUUsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDIiwiZmlsZSI6InRhc2tidWZmZXIucGx1Z2lucy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuL3R5cGluZ3MvbWFpbi5kLnRzXCIgLz5cclxuZXhwb3J0IGltcG9ydCBiZWF1dHlsb2cgPSByZXF1aXJlKFwiYmVhdXR5bG9nXCIpO1xyXG5leHBvcnQgbGV0IFEgPSByZXF1aXJlKFwicVwiKTtcclxuZXhwb3J0IGxldCBsb2Rhc2g9IHJlcXVpcmUoXCJsb2Rhc2hcIik7XHJcbiJdfQ== diff --git a/package.json b/package.json index 664fc40..0c68b65 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "homepage": "https://github.com/pushrocks/taskbuffer#readme", "dependencies": { "beautylog": "^4.2.0", + "lodash": "^4.12.0", "projectinfo": "1.0.1", "q": "^1.4.1", "rx": "^4.1.0" diff --git a/ts/taskbuffer.classes.task.ts b/ts/taskbuffer.classes.task.ts index ab149d3..b3e7ccb 100644 --- a/ts/taskbuffer.classes.task.ts +++ b/ts/taskbuffer.classes.task.ts @@ -2,7 +2,6 @@ import * as plugins from "./taskbuffer.plugins" import * as helpers from "./taskbuffer.classes.helpers" - export class Task { name:string; task:any; @@ -16,7 +15,14 @@ export class Task { preTask:Task; afterTask:Task; - constructor(optionsArg:{taskFunction:any,preTask?:Task,afterTask?:Task, buffered?:boolean, bufferMax?:number}){ + constructor(optionsArg:{ + taskFunction:any, + preTask?:Task, + afterTask?:Task, + buffered?:boolean, + bufferMax?:number, + name?:string + }){ if (!optionsArg){optionsArg = {taskFunction:function(){}}} var options = optionsArg; this.task = optionsArg.taskFunction; @@ -26,6 +32,7 @@ export class Task { this.idle = true; this.buffered = options.buffered; this.bufferMax = options.bufferMax; + this.name = options.name; } trigger(){ diff --git a/ts/taskbuffer.classes.taskchain.ts b/ts/taskbuffer.classes.taskchain.ts index 2558995..77e65ac 100644 --- a/ts/taskbuffer.classes.taskchain.ts +++ b/ts/taskbuffer.classes.taskchain.ts @@ -6,8 +6,11 @@ import helpers = require("./taskbuffer.classes.helpers"); export class Taskchain extends Task { taskArray:Task[]; private _oraObject; - constructor(taskArrayArg:Task[]|Task){ - super({ + constructor(optionsArg:{ + taskArray:Task[] + name?:string + }){ + let options = plugins.lodash.assign(optionsArg,{ taskFunction: () => { // this is the function that gets executed when TaskChain is triggered if(this.taskArray.length = 0) return; //make sure there is actually a Task available to execute let startDeferred = plugins.Q.defer(); // this is the starting Deferred object @@ -21,6 +24,8 @@ export class Taskchain extends Task { startDeferred.resolve(); } }); + super(options); + this.taskArray = optionsArg.taskArray; this._oraObject = plugins.beautylog.ora("Taskchain idle","blue"); } addTask(taskArg:Task){ @@ -32,10 +37,17 @@ export class Taskchain extends Task { shiftTask(){ }; + trigger(){ + this._oraObject.start(this.name + "running"); + } }; let myTask = new Taskchain( - new Task({ - taskFunction:function(){} - }) + { + taskArray: [ + new Task({ + taskFunction:function(){} + }) + ] + } ); \ No newline at end of file diff --git a/ts/taskbuffer.plugins.ts b/ts/taskbuffer.plugins.ts index 1ed273c..15c74ad 100644 --- a/ts/taskbuffer.plugins.ts +++ b/ts/taskbuffer.plugins.ts @@ -1,3 +1,4 @@ /// export import beautylog = require("beautylog"); export let Q = require("q"); +export let lodash= require("lodash");