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";
2017-06-09 21:26:23 +00:00
Object.defineProperty(exports, "__esModule", { value: true });
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({
2017-02-15 21:52:29 +00:00
name: 'unnamed Taskchain',
2016-05-15 01:16:50 +00:00
log: false
}, optionsArg, {
taskFunction: (x) => {
2017-02-15 21:52:29 +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) => {
2017-02-15 21:52:29 +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 {
2017-02-15 21:52:29 +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;
2017-02-15 21:52:29 +00:00
this._oraObject = plugins.beautylog.ora;
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) {
2017-02-15 21:52:29 +00:00
// 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-06-09 21:26:23 +00:00
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2tjaGFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3Rhc2tidWZmZXIuY2xhc3Nlcy50YXNrY2hhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxnREFBZ0Q7QUFDaEQsdUVBQWlEO0FBR2pELGVBQXVCLFNBQVEsOEJBQUk7SUFHakMsWUFBWSxVQU1YO1FBQ0MsSUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ2hDO1lBQ0UsSUFBSSxFQUFFLG1CQUFtQjtZQUN6QixHQUFHLEVBQUUsS0FBSztTQUNYLEVBQ0QsVUFBVSxFQUNWO1lBQ0UsWUFBWSxFQUFFLENBQUMsQ0FBTTtnQkFDbkIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQSxDQUFDLHVDQUF1QztnQkFDcEUsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFBLENBQUMsaURBQWlEO2dCQUNyRSxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7b0JBQ25CLEVBQUUsQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBRSxXQUFXLENBQUUsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDO3dCQUN6RCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLGdCQUFnQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUUsV0FBVyxDQUFFLENBQUMsSUFBSSxDQUFDLENBQUE7d0JBQ3ZGLElBQUksQ0FBQyxTQUFTLENBQUUsV0FBVyxDQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQzs2QkFDckMsSUFBSSxDQUFDLENBQUMsQ0FBQzs0QkFDTixPQUFPLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFFLFdBQVcsQ0FBRSxDQUFDLElBQUksQ0FBQyxDQUFBOzRCQUN4RCxXQUFXLEVBQUUsQ0FBQTs0QkFDYixZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUE7d0JBQ2pCLENBQUMsQ0FBQyxDQUFBO29CQUNOLENBQUM7b0JBQUMsSUFBSSxDQUFDLENBQUM7d0JBQ04sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLEdBQUcsMEJBQTBCLENBQUMsQ0FBQTt3QkFDN0UsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQTtvQkFDakIsQ0FBQztnQkFDSCxDQUFDLENBQUE7Z0JBQ0QsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFBO2dCQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFBO1lBQ3JCLENBQUM7U0FDRixDQUNGLENBQUE7UUFDRCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDZCxJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUE7UUFDckMsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQTtRQUN2QyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDNUIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtRQUN6QixDQUFDO1FBQUEsQ0FBQztJQUNKLENBQUM7SUFDRCxPQUFPLENBQUMsT0FBYTtRQUNuQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUM5QixDQUFDO0lBQUEsQ0FBQztJQUNGLFVBQVUsQ0FBQyxPQUFhO1FBQ3RCLE9BQU87SUFDVCxDQUFDO0lBQUEsQ0FBQztJQUNGLFNBQVM7SUFFVCxDQUFDO0lBQUEsQ0FBQztDQUNIO0FBdkRELDhCQXVEQyJ9