taskbuffer/dist/taskbuffer.classes.taskchain.js

54 lines
4.1 KiB
JavaScript
Raw Normal View History

2016-05-04 02:28:50 +00:00
"use strict";
2016-07-31 22:53:27 +00:00
const plugins = require("./taskbuffer.plugins");
const taskbuffer_classes_task_1 = require("./taskbuffer.classes.task");
class Taskchain extends taskbuffer_classes_task_1.Task {
constructor(optionsArg) {
2016-08-01 11:17:15 +00:00
let options = plugins.lodash.merge({
2016-05-15 13:52:59 +00:00
name: "unnamed Taskchain",
2016-05-15 01:16:50 +00:00
log: false
}, optionsArg, {
taskFunction: (x) => {
2017-01-19 16:26:35 +00:00
let done = plugins.q.defer(); // this is the starting Deferred object
let taskCounter = 0; // counter for iterating async over the taskArray
let iterateTasks = (x) => {
2016-07-31 22:53:27 +00:00
if (typeof this.taskArray[taskCounter] != "undefined") {
this._oraObject.text(this.name + " running: Task" + this.taskArray[taskCounter].name);
this.taskArray[taskCounter].trigger(x)
.then((x) => {
2016-08-01 11:17:15 +00:00
plugins.beautylog.ok(this.taskArray[taskCounter].name);
2016-05-15 01:16:50 +00:00
taskCounter++;
iterateTasks(x);
2016-05-15 01:16:50 +00:00
});
}
else {
2016-07-31 22:53:27 +00:00
this._oraObject.endOk("Taskchain \"" + this.name + "\" completed successfully");
done.resolve(x);
2016-05-15 01:16:50 +00:00
}
};
iterateTasks(x);
2016-05-15 01:16:50 +00:00
return done.promise;
}
2016-05-04 02:28:50 +00:00
});
2016-07-31 22:53:27 +00:00
super(options);
this.taskArray = optionsArg.taskArray;
2016-05-15 01:16:50 +00:00
this._oraObject = new plugins.beautylog.Ora("Taskchain idle", "blue");
2016-08-01 11:17:15 +00:00
if (optionsArg.log === true) {
this._oraObject.start();
}
;
2016-05-04 02:28:50 +00:00
}
2016-07-31 22:53:27 +00:00
addTask(taskArg) {
this.taskArray.push(taskArg);
2016-07-31 22:53:27 +00:00
}
;
2016-07-31 22:53:27 +00:00
removeTask(taskArg) {
//TODO
2016-07-31 22:53:27 +00:00
}
;
2016-07-31 22:53:27 +00:00
shiftTask() {
}
;
2016-07-31 22:53:27 +00:00
}
2016-05-04 02:28:50 +00:00
exports.Taskchain = Taskchain;
;
2017-01-19 16:26:35 +00:00
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2tjaGFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3Rhc2tidWZmZXIuY2xhc3Nlcy50YXNrY2hhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGdEQUFnRDtBQUNoRCx1RUFBK0M7QUFHL0MsZUFBdUIsU0FBUSw4QkFBSTtJQUcvQixZQUFZLFVBTVg7UUFDRyxJQUFJLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDOUI7WUFDSSxJQUFJLEVBQUMsbUJBQW1CO1lBQ3hCLEdBQUcsRUFBQyxLQUFLO1NBQ1osRUFDRCxVQUFVLEVBQ1Y7WUFDSSxZQUFZLEVBQUUsQ0FBQyxDQUFLO2dCQUNoQixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsd0NBQXdDO2dCQUN0RSxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxpREFBaUQ7Z0JBQ3RFLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztvQkFDakIsRUFBRSxDQUFBLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFBLENBQUM7d0JBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDdEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDOzZCQUNqQyxJQUFJLENBQUMsQ0FBQyxDQUFDOzRCQUNKLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7NEJBQ3ZELFdBQVcsRUFBRSxDQUFDOzRCQUNkLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDcEIsQ0FBQyxDQUFDLENBQUM7b0JBQ1gsQ0FBQztvQkFBQyxJQUFJLENBQUMsQ0FBQzt3QkFDSixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBSSwyQkFBMkIsQ0FBQyxDQUFDO3dCQUNqRixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNwQixDQUFDO2dCQUNMLENBQUMsQ0FBQztnQkFDRixZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ3hCLENBQUM7U0FDSixDQUNKLENBQUM7UUFDRixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUM7UUFDdEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JFLEVBQUUsQ0FBQSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUEsQ0FBQztZQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzVCLENBQUM7UUFBQSxDQUFDO0lBQ04sQ0FBQztJQUNELE9BQU8sQ0FBQyxPQUFZO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFBQSxDQUFDO0lBQ0YsVUFBVSxDQUFDLE9BQVk7UUFDbkIsTUFBTTtJQUNWLENBQUM7SUFBQSxDQUFDO0lBQ0YsU0FBUztJQUVULENBQUM7SUFBQSxDQUFDO0NBQ0w7QUF2REQsOEJBdURDO0FBQUEsQ0FBQyJ9