update dependencies
This commit is contained in:
parent
4031692f6f
commit
b00d31b41a
14
README.md
14
README.md
@ -2,10 +2,10 @@
|
||||
flexible task management. TypeScript ready!
|
||||
|
||||
## Availabililty
|
||||
[![npm](https://push.rocks/assets/repo-button-npm.svg)](https://www.npmjs.com/package/taskbuffer)
|
||||
[![git](https://push.rocks/assets/repo-button-git.svg)](https://GitLab.com/pushrocks/taskbuffer)
|
||||
[![git](https://push.rocks/assets/repo-button-mirror.svg)](https://github.com/pushrocks/taskbuffer)
|
||||
[![docs](https://push.rocks/assets/repo-button-docs.svg)](https://pushrocks.gitlab.io/taskbuffer/)
|
||||
[![npm](https://pushrocks.gitlab.io/assets/repo-button-npm.svg)](https://www.npmjs.com/package/taskbuffer)
|
||||
[![git](https://pushrocks.gitlab.io/assets/repo-button-git.svg)](https://GitLab.com/pushrocks/taskbuffer)
|
||||
[![git](https://pushrocks.gitlab.io/assets/repo-button-mirror.svg)](https://github.com/pushrocks/taskbuffer)
|
||||
[![docs](https://pushrocks.gitlab.io/assets/repo-button-docs.svg)](https://pushrocks.gitlab.io/taskbuffer/)
|
||||
|
||||
## Status for master
|
||||
[![build status](https://GitLab.com/pushrocks/taskbuffer/badges/master/build.svg)](https://GitLab.com/pushrocks/taskbuffer/commits/master)
|
||||
@ -69,4 +69,8 @@ myTask = new taskbuffer.Task({
|
||||
})
|
||||
```
|
||||
|
||||
[![npm](https://push.rocks/assets/repo-header.svg)](https://push.rocks)
|
||||
For further information read the linked docs at the top of this README.
|
||||
|
||||
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
|
||||
|
||||
[![repo-footer](https://pushrocks.gitlab.io/assets/repo-footer.svg)](https://push.rocks)
|
||||
|
10
dist/index.d.ts
vendored
10
dist/index.d.ts
vendored
@ -1,5 +1,5 @@
|
||||
export { Task, ITaskFunction } from "./taskbuffer.classes.task";
|
||||
export { Taskchain } from "./taskbuffer.classes.taskchain";
|
||||
export { Taskparallel } from "./taskbuffer.classes.taskparallel";
|
||||
export { Taskspace } from "./taskbuffer.classes.taskspace";
|
||||
import "./taskbuffer.classes.helpers";
|
||||
export { Task, ITaskFunction } from './taskbuffer.classes.task';
|
||||
export { Taskchain } from './taskbuffer.classes.taskchain';
|
||||
export { Taskparallel } from './taskbuffer.classes.taskparallel';
|
||||
export { Taskspace } from './taskbuffer.classes.taskspace';
|
||||
import './taskbuffer.classes.helpers';
|
||||
|
4
dist/taskbuffer.classes.helpers.d.ts
vendored
4
dist/taskbuffer.classes.helpers.d.ts
vendored
@ -1,5 +1,5 @@
|
||||
import plugins = require("./taskbuffer.plugins");
|
||||
import { Task, ITaskFunction } from "./taskbuffer.classes.task";
|
||||
import plugins = require('./taskbuffer.plugins');
|
||||
import { Task, ITaskFunction } from './taskbuffer.classes.task';
|
||||
export declare let emptyTaskFunction: ITaskFunction;
|
||||
export declare let isTask: (taskArg: Task) => boolean;
|
||||
export declare let isTaskTouched: (taskArg: Task, touchedTasksArray: Task[]) => boolean;
|
||||
|
4
dist/taskbuffer.classes.helpers.js
vendored
4
dist/taskbuffer.classes.helpers.js
vendored
File diff suppressed because one or more lines are too long
2
dist/taskbuffer.classes.task.d.ts
vendored
2
dist/taskbuffer.classes.task.d.ts
vendored
@ -1,4 +1,4 @@
|
||||
import * as helpers from "./taskbuffer.classes.helpers";
|
||||
import * as helpers from './taskbuffer.classes.helpers';
|
||||
export interface ITaskFunction {
|
||||
(x?: any): PromiseLike<any>;
|
||||
}
|
||||
|
12
dist/taskbuffer.classes.task.js
vendored
12
dist/taskbuffer.classes.task.js
vendored
@ -8,8 +8,8 @@ class Task {
|
||||
this.bufferRunner = new helpers.BufferRunner(this);
|
||||
this.cycleCounter = new helpers.CycleCounter(this);
|
||||
this.idle = true;
|
||||
this._state = "ready";
|
||||
var options = optionsArg;
|
||||
this._state = 'ready';
|
||||
let options = optionsArg;
|
||||
this.taskFunction = optionsArg.taskFunction;
|
||||
this.preTask = options.preTask;
|
||||
this.afterTask = options.afterTask;
|
||||
@ -47,13 +47,13 @@ class Task {
|
||||
return this._state;
|
||||
}
|
||||
set state(stateArg) {
|
||||
if (stateArg == "locked") {
|
||||
this._state = "locked";
|
||||
if (stateArg === 'locked') {
|
||||
this._state = 'locked';
|
||||
}
|
||||
else {
|
||||
plugins.beautylog.error("state type " + stateArg + " could not be set");
|
||||
plugins.beautylog.error('state type ' + stateArg + ' could not be set');
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.Task = Task;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90YXNrYnVmZmVyLmNsYXNzZXMudGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsZ0RBQStDO0FBQy9DLHdEQUF1RDtBQU12RDtJQWNJLFlBQVksVUFPWDtRQWRELHdCQUF3QjtRQUN4QixZQUFPLEdBQVcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLFNBQUksR0FBVyxJQUFJLENBQUM7UUFDWixXQUFNLEdBQVUsT0FBTyxDQUFDO1FBVTVCLElBQUksT0FBTyxHQUFHLFVBQVUsQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUM7UUFDNUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNuQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsQ0FBRTtRQUNOLEVBQUUsQ0FBQSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDbEMsQ0FBQztRQUNELElBQUksQ0FBQyxDQUFDO1lBQ0YsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBQUEsQ0FBQztJQUNOLENBQUM7SUFBQSxDQUFDO0lBRUY7O09BRUc7SUFDSCxpQkFBaUIsQ0FBQyxDQUFFO1FBQ2hCLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWUsQ0FBQyxDQUFFO1FBQ2QsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsUUFBZTtRQUNyQixFQUFFLENBQUMsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLENBQUEsQ0FBQztZQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztRQUMzQixDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDSixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsUUFBUSxHQUFHLG1CQUFtQixDQUFDLENBQUM7UUFDNUUsQ0FBQztJQUNMLENBQUM7Q0FDSjtBQXBFRCxvQkFvRUMifQ==
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90YXNrYnVmZmVyLmNsYXNzZXMudGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsZ0RBQStDO0FBQy9DLHdEQUF1RDtBQU12RDtJQWNFLFlBQVksVUFPWDtRQWRELHdCQUF3QjtRQUN4QixZQUFPLEdBQVksS0FBSyxDQUFBO1FBQ3hCLGlCQUFZLEdBQUcsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzdDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzdDLFNBQUksR0FBWSxJQUFJLENBQUE7UUFDWixXQUFNLEdBQVcsT0FBTyxDQUFBO1FBVTlCLElBQUksT0FBTyxHQUFHLFVBQVUsQ0FBQTtRQUN4QixJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUE7UUFDM0MsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFBO1FBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQTtRQUNsQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQTtRQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUE7UUFDaEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ2pELElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQTtJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsQ0FBRTtRQUNSLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ2xCLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2hDLENBQUM7UUFDRCxJQUFJLENBQUMsQ0FBQztZQUNKLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDbEMsQ0FBQztRQUFBLENBQUM7SUFDSixDQUFDO0lBQUEsQ0FBQztJQUVGOztPQUVHO0lBQ0gsaUJBQWlCLENBQUMsQ0FBRTtRQUNsQixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlLENBQUMsQ0FBRTtRQUNoQixNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDckMsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFBO0lBQ3BCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxRQUFnQjtRQUN4QixFQUFFLENBQUMsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQTtRQUN4QixDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsUUFBUSxHQUFHLG1CQUFtQixDQUFDLENBQUE7UUFDekUsQ0FBQztJQUNILENBQUM7Q0FDRjtBQXBFRCxvQkFvRUMifQ==
|
2
dist/taskbuffer.classes.taskchain.d.ts
vendored
2
dist/taskbuffer.classes.taskchain.d.ts
vendored
@ -1,4 +1,4 @@
|
||||
import { Task } from "./taskbuffer.classes.task";
|
||||
import { Task } from './taskbuffer.classes.task';
|
||||
export declare class Taskchain extends Task {
|
||||
taskArray: Task[];
|
||||
private _oraObject;
|
||||
|
15
dist/taskbuffer.classes.taskchain.js
vendored
15
dist/taskbuffer.classes.taskchain.js
vendored
@ -4,15 +4,15 @@ const taskbuffer_classes_task_1 = require("./taskbuffer.classes.task");
|
||||
class Taskchain extends taskbuffer_classes_task_1.Task {
|
||||
constructor(optionsArg) {
|
||||
let options = plugins.lodash.merge({
|
||||
name: "unnamed Taskchain",
|
||||
name: 'unnamed Taskchain',
|
||||
log: false
|
||||
}, optionsArg, {
|
||||
taskFunction: (x) => {
|
||||
let done = plugins.q.defer(); // this is the starting Deferred object
|
||||
let taskCounter = 0; // counter for iterating async over the taskArray
|
||||
let iterateTasks = (x) => {
|
||||
if (typeof this.taskArray[taskCounter] != "undefined") {
|
||||
this._oraObject.text(this.name + " running: Task" + this.taskArray[taskCounter].name);
|
||||
if (typeof this.taskArray[taskCounter] !== 'undefined') {
|
||||
this._oraObject.text(this.name + ' running: Task' + this.taskArray[taskCounter].name);
|
||||
this.taskArray[taskCounter].trigger(x)
|
||||
.then((x) => {
|
||||
plugins.beautylog.ok(this.taskArray[taskCounter].name);
|
||||
@ -21,7 +21,7 @@ class Taskchain extends taskbuffer_classes_task_1.Task {
|
||||
});
|
||||
}
|
||||
else {
|
||||
this._oraObject.endOk("Taskchain \"" + this.name + "\" completed successfully");
|
||||
this._oraObject.endOk('Taskchain "' + this.name + '" completed successfully');
|
||||
done.resolve(x);
|
||||
}
|
||||
};
|
||||
@ -31,7 +31,7 @@ class Taskchain extends taskbuffer_classes_task_1.Task {
|
||||
});
|
||||
super(options);
|
||||
this.taskArray = optionsArg.taskArray;
|
||||
this._oraObject = new plugins.beautylog.Ora("Taskchain idle", "blue");
|
||||
this._oraObject = plugins.beautylog.ora;
|
||||
if (optionsArg.log === true) {
|
||||
this._oraObject.start();
|
||||
}
|
||||
@ -42,7 +42,7 @@ class Taskchain extends taskbuffer_classes_task_1.Task {
|
||||
}
|
||||
;
|
||||
removeTask(taskArg) {
|
||||
//TODO
|
||||
// TODO
|
||||
}
|
||||
;
|
||||
shiftTask() {
|
||||
@ -50,5 +50,4 @@ class Taskchain extends taskbuffer_classes_task_1.Task {
|
||||
;
|
||||
}
|
||||
exports.Taskchain = Taskchain;
|
||||
;
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2tjaGFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3Rhc2tidWZmZXIuY2xhc3Nlcy50YXNrY2hhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGdEQUFnRDtBQUNoRCx1RUFBK0M7QUFHL0MsZUFBdUIsU0FBUSw4QkFBSTtJQUcvQixZQUFZLFVBTVg7UUFDRyxJQUFJLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDOUI7WUFDSSxJQUFJLEVBQUMsbUJBQW1CO1lBQ3hCLEdBQUcsRUFBQyxLQUFLO1NBQ1osRUFDRCxVQUFVLEVBQ1Y7WUFDSSxZQUFZLEVBQUUsQ0FBQyxDQUFLO2dCQUNoQixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsd0NBQXdDO2dCQUN0RSxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxpREFBaUQ7Z0JBQ3RFLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztvQkFDakIsRUFBRSxDQUFBLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFBLENBQUM7d0JBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDdEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDOzZCQUNqQyxJQUFJLENBQUMsQ0FBQyxDQUFDOzRCQUNKLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7NEJBQ3ZELFdBQVcsRUFBRSxDQUFDOzRCQUNkLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDcEIsQ0FBQyxDQUFDLENBQUM7b0JBQ1gsQ0FBQztvQkFBQyxJQUFJLENBQUMsQ0FBQzt3QkFDSixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBSSwyQkFBMkIsQ0FBQyxDQUFDO3dCQUNqRixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNwQixDQUFDO2dCQUNMLENBQUMsQ0FBQztnQkFDRixZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ3hCLENBQUM7U0FDSixDQUNKLENBQUM7UUFDRixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUM7UUFDdEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JFLEVBQUUsQ0FBQSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUEsQ0FBQztZQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzVCLENBQUM7UUFBQSxDQUFDO0lBQ04sQ0FBQztJQUNELE9BQU8sQ0FBQyxPQUFZO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFBQSxDQUFDO0lBQ0YsVUFBVSxDQUFDLE9BQVk7UUFDbkIsTUFBTTtJQUNWLENBQUM7SUFBQSxDQUFDO0lBQ0YsU0FBUztJQUVULENBQUM7SUFBQSxDQUFDO0NBQ0w7QUF2REQsOEJBdURDO0FBQUEsQ0FBQyJ9
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2tjaGFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3Rhc2tidWZmZXIuY2xhc3Nlcy50YXNrY2hhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGdEQUFnRDtBQUNoRCx1RUFBaUQ7QUFHakQsZUFBdUIsU0FBUSw4QkFBSTtJQUdqQyxZQUFZLFVBTVg7UUFDQyxJQUFJLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDaEM7WUFDRSxJQUFJLEVBQUUsbUJBQW1CO1lBQ3pCLEdBQUcsRUFBRSxLQUFLO1NBQ1gsRUFDRCxVQUFVLEVBQ1Y7WUFDRSxZQUFZLEVBQUUsQ0FBQyxDQUFNO2dCQUNuQixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFBLENBQUMsdUNBQXVDO2dCQUNwRSxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUEsQ0FBQyxpREFBaUQ7Z0JBQ3JFLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztvQkFDbkIsRUFBRSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFFLFdBQVcsQ0FBRSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUM7d0JBQ3pELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBRSxXQUFXLENBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQTt3QkFDdkYsSUFBSSxDQUFDLFNBQVMsQ0FBRSxXQUFXLENBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDOzZCQUNyQyxJQUFJLENBQUMsQ0FBQyxDQUFDOzRCQUNOLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUUsV0FBVyxDQUFFLENBQUMsSUFBSSxDQUFDLENBQUE7NEJBQ3hELFdBQVcsRUFBRSxDQUFBOzRCQUNiLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQTt3QkFDakIsQ0FBQyxDQUFDLENBQUE7b0JBQ04sQ0FBQztvQkFBQyxJQUFJLENBQUMsQ0FBQzt3QkFDTixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRywwQkFBMEIsQ0FBQyxDQUFBO3dCQUM3RSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFBO29CQUNqQixDQUFDO2dCQUNILENBQUMsQ0FBQTtnQkFDRCxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7WUFDckIsQ0FBQztTQUNGLENBQ0YsQ0FBQTtRQUNELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQTtRQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFBO1FBQ3ZDLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQ3pCLENBQUM7UUFBQSxDQUFDO0lBQ0osQ0FBQztJQUNELE9BQU8sQ0FBQyxPQUFhO1FBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQzlCLENBQUM7SUFBQSxDQUFDO0lBQ0YsVUFBVSxDQUFDLE9BQWE7UUFDdEIsT0FBTztJQUNULENBQUM7SUFBQSxDQUFDO0lBQ0YsU0FBUztJQUVULENBQUM7SUFBQSxDQUFDO0NBQ0g7QUF2REQsOEJBdURDIn0=
|
8
dist/taskbuffer.plugins.d.ts
vendored
8
dist/taskbuffer.plugins.d.ts
vendored
@ -1,6 +1,6 @@
|
||||
import "typings-global";
|
||||
import * as beautylog from "beautylog";
|
||||
import * as lodash from "lodash";
|
||||
import * as rxjs from "rxjs";
|
||||
import 'typings-global';
|
||||
import * as beautylog from 'beautylog';
|
||||
import * as lodash from 'lodash';
|
||||
import * as rxjs from 'rxjs';
|
||||
import * as q from 'smartq';
|
||||
export { beautylog, lodash, rxjs, q };
|
||||
|
@ -26,16 +26,15 @@
|
||||
"homepage": "https://gitlab.com/pushrocks/taskbuffer#readme",
|
||||
"dependencies": {
|
||||
"@types/lodash": "4.x.x",
|
||||
"beautylog": "^6.0.0",
|
||||
"beautylog": "^6.1.1",
|
||||
"lodash": "^4.17.4",
|
||||
"q": "^1.4.1",
|
||||
"rxjs": "^5.0.3",
|
||||
"smartq": "^1.0.2",
|
||||
"rxjs": "^5.1.1",
|
||||
"smartq": "^1.1.1",
|
||||
"typings-global": "^1.0.14"
|
||||
},
|
||||
"devDependencies": {
|
||||
"npmts-g": "^6.0.0",
|
||||
"should": "^11.1.2",
|
||||
"smartchai": "^1.0.1",
|
||||
"typings-test": "^1.0.3"
|
||||
}
|
||||
}
|
||||
|
2
test/test.d.ts
vendored
2
test/test.d.ts
vendored
@ -1 +1 @@
|
||||
import "typings-test";
|
||||
import 'typings-test';
|
||||
|
102
test/test.js
102
test/test.js
File diff suppressed because one or more lines are too long
414
test/test.ts
414
test/test.ts
@ -1,223 +1,223 @@
|
||||
import "typings-test";
|
||||
import taskbuffer = require("../dist/index");
|
||||
import should = require("should");
|
||||
import q = require("q")
|
||||
import 'typings-test'
|
||||
import taskbuffer = require('../dist/index')
|
||||
import { expect } from 'smartchai'
|
||||
import * as q from 'smartq'
|
||||
|
||||
// setup some testData to work with
|
||||
let testTask: taskbuffer.Task;
|
||||
let testTask: taskbuffer.Task
|
||||
let testTaskFunction = function () {
|
||||
let done = q.defer();
|
||||
console.log("main function executed!")
|
||||
done.resolve();
|
||||
return done.promise;
|
||||
};
|
||||
let done = q.defer()
|
||||
console.log('main function executed!')
|
||||
done.resolve()
|
||||
return done.promise
|
||||
}
|
||||
|
||||
let testTaskFunctionTimeout = function () {
|
||||
let done = q.defer();
|
||||
console.log("main function started!");
|
||||
setTimeout(() => {
|
||||
console.log("main function ended!");
|
||||
done.resolve();
|
||||
},2000);
|
||||
return done.promise;
|
||||
};
|
||||
let done = q.defer()
|
||||
console.log('main function started!')
|
||||
setTimeout(() => {
|
||||
console.log('main function ended!')
|
||||
done.resolve()
|
||||
}, 2000)
|
||||
return done.promise
|
||||
}
|
||||
|
||||
let testPreTask = new taskbuffer.Task({
|
||||
taskFunction: function () {
|
||||
let done = q.defer();
|
||||
console.log("preTask executed");
|
||||
done.resolve();
|
||||
return done.promise;
|
||||
},
|
||||
preTask: testTask
|
||||
});
|
||||
taskFunction: function () {
|
||||
let done = q.defer()
|
||||
console.log('preTask executed')
|
||||
done.resolve()
|
||||
return done.promise
|
||||
},
|
||||
preTask: testTask
|
||||
})
|
||||
|
||||
|
||||
// some more tasks to wirj with
|
||||
let task1 = new taskbuffer.Task({
|
||||
name: "Task 1",
|
||||
taskFunction: () => {
|
||||
let done = q.defer();
|
||||
console.log("Task1 started");
|
||||
setTimeout(() => {
|
||||
console.log("Task1 executed");
|
||||
done.resolve();
|
||||
}, 5000)
|
||||
return done.promise;
|
||||
}
|
||||
});
|
||||
name: 'Task 1',
|
||||
taskFunction: () => {
|
||||
let done = q.defer()
|
||||
console.log('Task1 started')
|
||||
setTimeout(() => {
|
||||
console.log('Task1 executed')
|
||||
done.resolve()
|
||||
}, 5000)
|
||||
return done.promise
|
||||
}
|
||||
})
|
||||
let task2 = new taskbuffer.Task({
|
||||
name: "Task 1",
|
||||
taskFunction: () => {
|
||||
let done = q.defer();
|
||||
console.log("Task2 started");
|
||||
setTimeout(() => {
|
||||
console.log("Task2 executed");
|
||||
done.resolve();
|
||||
}, 5000)
|
||||
return done.promise;
|
||||
}
|
||||
});
|
||||
name: 'Task 1',
|
||||
taskFunction: () => {
|
||||
let done = q.defer()
|
||||
console.log('Task2 started')
|
||||
setTimeout(() => {
|
||||
console.log('Task2 executed')
|
||||
done.resolve()
|
||||
}, 5000)
|
||||
return done.promise
|
||||
}
|
||||
})
|
||||
let task3 = new taskbuffer.Task({
|
||||
name: "Task 3",
|
||||
taskFunction: () => {
|
||||
let done = q.defer();
|
||||
console.log("Task3 started");
|
||||
setTimeout(() => {
|
||||
console.log("Task3 executed");
|
||||
done.resolve();
|
||||
}, 5000)
|
||||
return done.promise;
|
||||
}
|
||||
});
|
||||
name: 'Task 3',
|
||||
taskFunction: () => {
|
||||
let done = q.defer()
|
||||
console.log('Task3 started')
|
||||
setTimeout(() => {
|
||||
console.log('Task3 executed')
|
||||
done.resolve()
|
||||
}, 5000)
|
||||
return done.promise
|
||||
}
|
||||
})
|
||||
|
||||
// the actual tests
|
||||
describe("taskbuffer", function () {
|
||||
describe(".Task", function () {
|
||||
it("new Task() should return a new task", function () {
|
||||
testTask = new taskbuffer.Task({ taskFunction: testTaskFunction, preTask: testPreTask });
|
||||
});
|
||||
it("testTask should be and instance of Task", function () {
|
||||
should(testTask).be.instanceof(taskbuffer.Task);
|
||||
});
|
||||
it("testTask.idle is true", function () {
|
||||
if (!testTask.idle) {
|
||||
throw new Error("testTask.idle is not true");
|
||||
}
|
||||
|
||||
});
|
||||
it("testTask.running is type boolean and initially false", function () {
|
||||
should(testTask.running).be.type("boolean");
|
||||
should(testTask.running).be.false();
|
||||
});
|
||||
it("testTask.trigger() should return Promise", function () {
|
||||
should(testTask.trigger()).be.Promise();
|
||||
});
|
||||
it("testTask.trigger() returned Promise should be fullfilled", function (done) {
|
||||
testTask.trigger()
|
||||
.then(done);
|
||||
});
|
||||
it("should run a task without pre and afterTask", function (done) {
|
||||
let localTestTask = new taskbuffer.Task({ taskFunction: testTaskFunction });
|
||||
localTestTask.trigger().then(done);
|
||||
});
|
||||
|
||||
it("should run buffered", function (done) {
|
||||
this.timeout(10000);
|
||||
let localTestTask = new taskbuffer.Task({
|
||||
taskFunction: testTaskFunctionTimeout,
|
||||
buffered:true,
|
||||
bufferMax:2
|
||||
});
|
||||
localTestTask.trigger();
|
||||
localTestTask.trigger();
|
||||
localTestTask.trigger();
|
||||
localTestTask.trigger().then(() => {
|
||||
done();
|
||||
})
|
||||
});
|
||||
});
|
||||
describe("Taskchain", function () {
|
||||
let testTaskchain;
|
||||
let testTaskArray = [
|
||||
new taskbuffer.Task({
|
||||
name: "task1",
|
||||
taskFunction: function () {
|
||||
let done = q.defer();
|
||||
setTimeout(done.resolve, 2000);
|
||||
return done.promise;
|
||||
}
|
||||
}),
|
||||
new taskbuffer.Task({
|
||||
name: "task2",
|
||||
taskFunction: function () {
|
||||
let done = q.defer();
|
||||
setTimeout(done.resolve, 2000);
|
||||
return done.promise;
|
||||
}
|
||||
}),
|
||||
];
|
||||
it("should run tasks in sequence", function (done) {
|
||||
this.timeout(5000);
|
||||
testTaskchain = new taskbuffer.Taskchain({
|
||||
name: "Taskchain1",
|
||||
taskArray: testTaskArray
|
||||
});
|
||||
testTaskchain.trigger().then(done);
|
||||
});
|
||||
});
|
||||
describe("taskparallel", function () {
|
||||
it("should run in Parallel", function (done) {
|
||||
this.timeout(7000);
|
||||
let testTaskparallel = new taskbuffer.Taskparallel({
|
||||
taskArray: [task1, task2, task3]
|
||||
});
|
||||
testTaskparallel.trigger().then(() => {
|
||||
done();
|
||||
});
|
||||
})
|
||||
});
|
||||
describe("some flowtests",function(){
|
||||
let flowTask1 = new taskbuffer.Task({
|
||||
taskFunction: (x:number) => {
|
||||
let done = q.defer();
|
||||
console.log("flowTask1");
|
||||
console.log(x);
|
||||
done.resolve(x);
|
||||
return done.promise;
|
||||
}
|
||||
});
|
||||
|
||||
let flowTaskBuffered = new taskbuffer.Task({
|
||||
taskFunction: (x:number) => {
|
||||
let done = q.defer();
|
||||
console.log("flowTask1");
|
||||
console.log(x);
|
||||
done.resolve(x);
|
||||
return done.promise;
|
||||
},
|
||||
buffered:true,
|
||||
bufferMax: 1
|
||||
});
|
||||
|
||||
let flowTask2 = new taskbuffer.Task({
|
||||
taskFunction: (x:number) => {
|
||||
let done = q.defer();
|
||||
console.log("flowTask2");
|
||||
console.log(x);
|
||||
done.resolve(x);
|
||||
return done.promise;
|
||||
},
|
||||
preTask:flowTask1
|
||||
});
|
||||
let flowTask3 = new taskbuffer.Taskchain({
|
||||
taskArray:[flowTask1,flowTask2]
|
||||
});
|
||||
it("should let a value flow through a task",function(done){
|
||||
flowTask1.trigger(12).then((x) => {
|
||||
should.equal(x,12);
|
||||
done();
|
||||
}).catch(done);
|
||||
});
|
||||
it("should let a values flow between tasks",function(done){
|
||||
flowTask2.trigger(12).then((x) => {
|
||||
should.equal(x,12);
|
||||
done();
|
||||
}).catch(done);
|
||||
});
|
||||
|
||||
it("should let a values flow between tasks when buffered",function(done){
|
||||
flowTaskBuffered.trigger(12).then((x) => {
|
||||
should.equal(x,12);
|
||||
done();
|
||||
}).catch(done);
|
||||
});
|
||||
|
||||
it("should let a values flow between tasks in Taskchain",function(done){
|
||||
flowTask3.trigger(12).then((x) => {
|
||||
should.equal(x,12);
|
||||
done();
|
||||
}).catch(done);
|
||||
});
|
||||
describe('taskbuffer', function () {
|
||||
describe('.Task', function () {
|
||||
it('new Task() should return a new task', function () {
|
||||
testTask = new taskbuffer.Task({ taskFunction: testTaskFunction, preTask: testPreTask })
|
||||
})
|
||||
});
|
||||
it('testTask should be and instance of Task', function () {
|
||||
expect(testTask).to.be.instanceof(taskbuffer.Task)
|
||||
})
|
||||
it('testTask.idle is true', function () {
|
||||
if (!testTask.idle) {
|
||||
throw new Error('testTask.idle is not true')
|
||||
}
|
||||
|
||||
})
|
||||
it('testTask.running is type boolean and initially false', function () {
|
||||
expect(testTask.running).to.be.a('boolean')
|
||||
expect(testTask.running).to.be.false
|
||||
})
|
||||
it('testTask.trigger() expect return Promise', function () {
|
||||
expect(testTask.trigger()).to.be.instanceof(Promise)
|
||||
})
|
||||
it('testTask.trigger() returned Promise expect be fullfilled', function (done) {
|
||||
testTask.trigger()
|
||||
.then(done)
|
||||
})
|
||||
it('expect run a task without pre and afterTask', function (done) {
|
||||
let localTestTask = new taskbuffer.Task({ taskFunction: testTaskFunction })
|
||||
localTestTask.trigger().then(done)
|
||||
})
|
||||
|
||||
it('expect run buffered', function (done) {
|
||||
this.timeout(10000)
|
||||
let localTestTask = new taskbuffer.Task({
|
||||
taskFunction: testTaskFunctionTimeout,
|
||||
buffered: true,
|
||||
bufferMax: 2
|
||||
})
|
||||
localTestTask.trigger()
|
||||
localTestTask.trigger()
|
||||
localTestTask.trigger()
|
||||
localTestTask.trigger().then(() => {
|
||||
done()
|
||||
})
|
||||
})
|
||||
})
|
||||
describe('Taskchain', function () {
|
||||
let testTaskchain
|
||||
let testTaskArray = [
|
||||
new taskbuffer.Task({
|
||||
name: 'task1',
|
||||
taskFunction: function () {
|
||||
let done = q.defer()
|
||||
setTimeout(done.resolve, 2000)
|
||||
return done.promise
|
||||
}
|
||||
}),
|
||||
new taskbuffer.Task({
|
||||
name: 'task2',
|
||||
taskFunction: function () {
|
||||
let done = q.defer()
|
||||
setTimeout(done.resolve, 2000)
|
||||
return done.promise
|
||||
}
|
||||
})
|
||||
]
|
||||
it('expect run tasks in sequence', function (done) {
|
||||
this.timeout(5000)
|
||||
testTaskchain = new taskbuffer.Taskchain({
|
||||
name: 'Taskchain1',
|
||||
taskArray: testTaskArray
|
||||
})
|
||||
testTaskchain.trigger().then(done)
|
||||
})
|
||||
})
|
||||
describe('taskparallel', function () {
|
||||
it('expect run in Parallel', function (done) {
|
||||
this.timeout(7000)
|
||||
let testTaskparallel = new taskbuffer.Taskparallel({
|
||||
taskArray: [ task1, task2, task3 ]
|
||||
})
|
||||
testTaskparallel.trigger().then(() => {
|
||||
done()
|
||||
})
|
||||
})
|
||||
})
|
||||
describe('some flowtests', function () {
|
||||
let flowTask1 = new taskbuffer.Task({
|
||||
taskFunction: (x: number) => {
|
||||
let done = q.defer()
|
||||
console.log('flowTask1')
|
||||
console.log(x)
|
||||
done.resolve(x)
|
||||
return done.promise
|
||||
}
|
||||
})
|
||||
|
||||
let flowTaskBuffered = new taskbuffer.Task({
|
||||
taskFunction: (x: number) => {
|
||||
let done = q.defer()
|
||||
console.log('flowTask1')
|
||||
console.log(x)
|
||||
done.resolve(x)
|
||||
return done.promise
|
||||
},
|
||||
buffered: true,
|
||||
bufferMax: 1
|
||||
})
|
||||
|
||||
let flowTask2 = new taskbuffer.Task({
|
||||
taskFunction: (x: number) => {
|
||||
let done = q.defer()
|
||||
console.log('flowTask2')
|
||||
console.log(x)
|
||||
done.resolve(x)
|
||||
return done.promise
|
||||
},
|
||||
preTask: flowTask1
|
||||
})
|
||||
let flowTask3 = new taskbuffer.Taskchain({
|
||||
taskArray: [ flowTask1, flowTask2 ]
|
||||
})
|
||||
it('should let a value flow through a task', function (done) {
|
||||
flowTask1.trigger(12).then((x) => {
|
||||
expect(x).to.equal(12)
|
||||
done()
|
||||
}).catch(done)
|
||||
})
|
||||
it('should let a values flow between tasks', function (done) {
|
||||
flowTask2.trigger(12).then((x) => {
|
||||
expect(x).to.equal(12)
|
||||
done()
|
||||
}).catch(done)
|
||||
})
|
||||
|
||||
it('expect let a values flow between tasks when buffered', function (done) {
|
||||
flowTaskBuffered.trigger(12).then((x) => {
|
||||
expect(x).to.equal(12)
|
||||
done()
|
||||
}).catch(done)
|
||||
})
|
||||
|
||||
it('should let a values flow between tasks in Taskchain', function (done) {
|
||||
flowTask3.trigger(12).then((x) => {
|
||||
expect(x).to.equal(12)
|
||||
done()
|
||||
}).catch(done)
|
||||
})
|
||||
})
|
||||
})
|
||||
|
10
ts/index.ts
10
ts/index.ts
@ -1,7 +1,7 @@
|
||||
export {Task,ITaskFunction} from "./taskbuffer.classes.task";
|
||||
export {Taskchain} from "./taskbuffer.classes.taskchain";
|
||||
export {Taskparallel} from "./taskbuffer.classes.taskparallel";
|
||||
export {Taskspace} from "./taskbuffer.classes.taskspace";
|
||||
export {Task,ITaskFunction} from './taskbuffer.classes.task';
|
||||
export {Taskchain} from './taskbuffer.classes.taskchain';
|
||||
export {Taskparallel} from './taskbuffer.classes.taskparallel';
|
||||
export {Taskspace} from './taskbuffer.classes.taskspace';
|
||||
|
||||
// import for naming only
|
||||
import "./taskbuffer.classes.helpers"
|
||||
import './taskbuffer.classes.helpers'
|
||||
|
@ -1,157 +1,157 @@
|
||||
import plugins = require("./taskbuffer.plugins");
|
||||
import { Task, ITaskFunction } from "./taskbuffer.classes.task";
|
||||
import plugins = require('./taskbuffer.plugins');
|
||||
import { Task, ITaskFunction } from './taskbuffer.classes.task'
|
||||
|
||||
export let emptyTaskFunction: ITaskFunction = function (x) {
|
||||
let done = plugins.q.defer();
|
||||
done.resolve();
|
||||
return done.promise;
|
||||
};
|
||||
let done = plugins.q.defer()
|
||||
done.resolve()
|
||||
return done.promise
|
||||
}
|
||||
|
||||
export let isTask = function (taskArg: Task): boolean {
|
||||
if (
|
||||
taskArg instanceof Task
|
||||
&& typeof taskArg.taskFunction === "function"
|
||||
) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
if (
|
||||
taskArg instanceof Task
|
||||
&& typeof taskArg.taskFunction === 'function'
|
||||
) {
|
||||
return true
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export let isTaskTouched = (taskArg: Task, touchedTasksArray: Task[]): boolean => {
|
||||
let result = false;
|
||||
for (let keyArg in touchedTasksArray) {
|
||||
if (taskArg === touchedTasksArray[keyArg]) {
|
||||
result = true;
|
||||
}
|
||||
let result = false
|
||||
for (let keyArg in touchedTasksArray) {
|
||||
if (taskArg === touchedTasksArray[ keyArg ]) {
|
||||
result = true
|
||||
}
|
||||
return result;
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
export let runTask = function (taskArg: Task, optionsArg: {x?, touchedTasksArray?: Task[] }) {
|
||||
let done = plugins.q.defer();
|
||||
export let runTask = function (taskArg: Task, optionsArg: { x?, touchedTasksArray?: Task[] }) {
|
||||
let done = plugins.q.defer()
|
||||
|
||||
// set running params
|
||||
taskArg.running = true;
|
||||
done.promise.then(function () { taskArg.running = false });
|
||||
// set running params
|
||||
taskArg.running = true
|
||||
done.promise.then(function () { taskArg.running = false })
|
||||
|
||||
// handle options
|
||||
let options = plugins.lodash.merge(
|
||||
{x:undefined,touchedTasksArray: []},
|
||||
optionsArg
|
||||
)
|
||||
let x = options.x;
|
||||
let touchedTasksArray: Task[] = options.touchedTasksArray;
|
||||
// handle options
|
||||
let options = plugins.lodash.merge(
|
||||
{ x: undefined, touchedTasksArray: [] },
|
||||
optionsArg
|
||||
)
|
||||
let x = options.x
|
||||
let touchedTasksArray: Task[] = options.touchedTasksArray
|
||||
|
||||
touchedTasksArray.push(taskArg);
|
||||
touchedTasksArray.push(taskArg)
|
||||
|
||||
// run the task cascade
|
||||
let localDeferred = plugins.q.defer();
|
||||
localDeferred.promise
|
||||
.then(() => {
|
||||
if (taskArg.preTask && !isTaskTouched(taskArg.preTask, touchedTasksArray)) {
|
||||
return runTask(taskArg.preTask, {x:x, touchedTasksArray: touchedTasksArray })
|
||||
} else {
|
||||
let done2 = plugins.q.defer();
|
||||
done2.resolve(x);
|
||||
return done2.promise;
|
||||
}
|
||||
})
|
||||
.then(x => {
|
||||
return taskArg.taskFunction(x);
|
||||
})
|
||||
.then(x => {
|
||||
if (taskArg.afterTask && !isTaskTouched(taskArg.afterTask, touchedTasksArray)) {
|
||||
return runTask(taskArg.afterTask, {x:x, touchedTasksArray: touchedTasksArray });
|
||||
} else {
|
||||
let done2 = plugins.q.defer();
|
||||
done2.resolve(x);
|
||||
return done2.promise;
|
||||
}
|
||||
})
|
||||
.then(x => {
|
||||
done.resolve(x);
|
||||
}).catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
localDeferred.resolve();
|
||||
return done.promise;
|
||||
};
|
||||
// run the task cascade
|
||||
let localDeferred = plugins.q.defer()
|
||||
localDeferred.promise
|
||||
.then(() => {
|
||||
if (taskArg.preTask && !isTaskTouched(taskArg.preTask, touchedTasksArray)) {
|
||||
return runTask(taskArg.preTask, { x: x, touchedTasksArray: touchedTasksArray })
|
||||
} else {
|
||||
let done2 = plugins.q.defer()
|
||||
done2.resolve(x)
|
||||
return done2.promise
|
||||
}
|
||||
})
|
||||
.then(x => {
|
||||
return taskArg.taskFunction(x)
|
||||
})
|
||||
.then(x => {
|
||||
if (taskArg.afterTask && !isTaskTouched(taskArg.afterTask, touchedTasksArray)) {
|
||||
return runTask(taskArg.afterTask, { x: x, touchedTasksArray: touchedTasksArray })
|
||||
} else {
|
||||
let done2 = plugins.q.defer()
|
||||
done2.resolve(x)
|
||||
return done2.promise
|
||||
}
|
||||
})
|
||||
.then(x => {
|
||||
done.resolve(x)
|
||||
}).catch((err) => {
|
||||
console.log(err)
|
||||
})
|
||||
localDeferred.resolve()
|
||||
return done.promise
|
||||
}
|
||||
|
||||
|
||||
export interface cycleObject {
|
||||
cycleCounter:number,
|
||||
deferred: plugins.q.Deferred<any>
|
||||
cycleCounter: number,
|
||||
deferred: plugins.q.Deferred<any>
|
||||
}
|
||||
|
||||
export class CycleCounter {
|
||||
task:Task;
|
||||
cycleObjectArray:cycleObject[] = [];
|
||||
constructor(taskArg:Task){
|
||||
this.task = taskArg;
|
||||
};
|
||||
getPromiseForCycle(cycleCountArg:number){
|
||||
let done = plugins.q.defer();
|
||||
let cycleObject:cycleObject = {
|
||||
cycleCounter:cycleCountArg,
|
||||
deferred:done
|
||||
};
|
||||
this.cycleObjectArray.push(cycleObject);
|
||||
return done.promise;
|
||||
};
|
||||
informOfCycle(x){
|
||||
let newCycleObjectArray:cycleObject[] = [];
|
||||
this.cycleObjectArray.forEach(cycleObjectArg => {
|
||||
cycleObjectArg.cycleCounter--;
|
||||
if(cycleObjectArg.cycleCounter <= 0){
|
||||
cycleObjectArg.deferred.resolve(x);
|
||||
} else {
|
||||
newCycleObjectArray.push(cycleObjectArg);
|
||||
};
|
||||
});
|
||||
this.cycleObjectArray = newCycleObjectArray;
|
||||
task: Task
|
||||
cycleObjectArray: cycleObject[] = []
|
||||
constructor(taskArg: Task) {
|
||||
this.task = taskArg
|
||||
};
|
||||
getPromiseForCycle(cycleCountArg: number) {
|
||||
let done = plugins.q.defer()
|
||||
let cycleObject: cycleObject = {
|
||||
cycleCounter: cycleCountArg,
|
||||
deferred: done
|
||||
}
|
||||
this.cycleObjectArray.push(cycleObject)
|
||||
return done.promise
|
||||
};
|
||||
informOfCycle(x) {
|
||||
let newCycleObjectArray: cycleObject[] = []
|
||||
this.cycleObjectArray.forEach(cycleObjectArg => {
|
||||
cycleObjectArg.cycleCounter--
|
||||
if (cycleObjectArg.cycleCounter <= 0) {
|
||||
cycleObjectArg.deferred.resolve(x)
|
||||
} else {
|
||||
newCycleObjectArray.push(cycleObjectArg)
|
||||
};
|
||||
})
|
||||
this.cycleObjectArray = newCycleObjectArray
|
||||
}
|
||||
}
|
||||
|
||||
export class BufferRunner {
|
||||
task:Task;
|
||||
// initialze by default
|
||||
bufferCounter:number = 0;
|
||||
bufferMax:number = 1;
|
||||
running:boolean = false;
|
||||
constructor(taskArg: Task) {
|
||||
this.task = taskArg;
|
||||
};
|
||||
private _run(x) {
|
||||
let recursiveBufferRunner = (x) => {
|
||||
if (this.bufferCounter >= 0) {
|
||||
this.running = true;
|
||||
this.task.running = true;
|
||||
runTask(this.task,{x:x})
|
||||
.then((x) => {
|
||||
this.bufferCounter--;
|
||||
this.task.cycleCounter.informOfCycle(x);
|
||||
recursiveBufferRunner(x);
|
||||
});
|
||||
} else {
|
||||
this.running = false;
|
||||
this.task.running = false;
|
||||
}
|
||||
};
|
||||
recursiveBufferRunner(x);
|
||||
};
|
||||
setBufferMax(bufferMaxArg:number){
|
||||
this.bufferMax = bufferMaxArg;
|
||||
};
|
||||
trigger(x): Promise<any> {
|
||||
if(!(this.bufferCounter >= this.bufferMax)){
|
||||
this.bufferCounter++
|
||||
};
|
||||
let returnPromise:Promise<any> = this.task.cycleCounter.getPromiseForCycle(this.bufferCounter + 1);
|
||||
if(!this.running){
|
||||
this._run(x);
|
||||
}
|
||||
return returnPromise;
|
||||
task: Task
|
||||
// initialze by default
|
||||
bufferCounter: number = 0
|
||||
bufferMax: number = 1
|
||||
running: boolean = false
|
||||
constructor(taskArg: Task) {
|
||||
this.task = taskArg
|
||||
};
|
||||
private _run(x) {
|
||||
let recursiveBufferRunner = (x) => {
|
||||
if (this.bufferCounter >= 0) {
|
||||
this.running = true
|
||||
this.task.running = true
|
||||
runTask(this.task, { x: x })
|
||||
.then((x) => {
|
||||
this.bufferCounter--
|
||||
this.task.cycleCounter.informOfCycle(x)
|
||||
recursiveBufferRunner(x)
|
||||
})
|
||||
} else {
|
||||
this.running = false
|
||||
this.task.running = false
|
||||
}
|
||||
}
|
||||
recursiveBufferRunner(x)
|
||||
};
|
||||
setBufferMax(bufferMaxArg: number) {
|
||||
this.bufferMax = bufferMaxArg
|
||||
};
|
||||
trigger(x): Promise<any> {
|
||||
if (!(this.bufferCounter >= this.bufferMax)) {
|
||||
this.bufferCounter++
|
||||
};
|
||||
let returnPromise: Promise<any> = this.task.cycleCounter.getPromiseForCycle(this.bufferCounter + 1)
|
||||
if (!this.running) {
|
||||
this._run(x)
|
||||
}
|
||||
return returnPromise
|
||||
};
|
||||
};
|
@ -1,76 +1,76 @@
|
||||
import * as plugins from "./taskbuffer.plugins"
|
||||
import * as helpers from "./taskbuffer.classes.helpers"
|
||||
import * as plugins from './taskbuffer.plugins'
|
||||
import * as helpers from './taskbuffer.classes.helpers'
|
||||
|
||||
export interface ITaskFunction {
|
||||
(x?:any):PromiseLike<any>;
|
||||
(x?: any): PromiseLike<any>;
|
||||
}
|
||||
|
||||
export class Task {
|
||||
name:string;
|
||||
taskFunction:ITaskFunction;
|
||||
buffered:boolean;
|
||||
preTask:Task;
|
||||
afterTask:Task;
|
||||
name: string;
|
||||
taskFunction: ITaskFunction
|
||||
buffered: boolean
|
||||
preTask: Task
|
||||
afterTask: Task
|
||||
|
||||
// initialize by default
|
||||
running:boolean = false;
|
||||
bufferRunner = new helpers.BufferRunner(this);
|
||||
cycleCounter = new helpers.CycleCounter(this);
|
||||
idle:boolean = true;
|
||||
private _state:string = "ready";
|
||||
// initialize by default
|
||||
running: boolean = false
|
||||
bufferRunner = new helpers.BufferRunner(this)
|
||||
cycleCounter = new helpers.CycleCounter(this)
|
||||
idle: boolean = true
|
||||
private _state: string = 'ready'
|
||||
|
||||
constructor(optionsArg:{
|
||||
taskFunction:ITaskFunction,
|
||||
preTask?:Task,
|
||||
afterTask?:Task,
|
||||
buffered?:boolean,
|
||||
bufferMax?:number,
|
||||
name?:string
|
||||
}){
|
||||
var options = optionsArg;
|
||||
this.taskFunction = optionsArg.taskFunction;
|
||||
this.preTask = options.preTask;
|
||||
this.afterTask = options.afterTask;
|
||||
this.idle = !this.running;
|
||||
this.buffered = options.buffered;
|
||||
this.bufferRunner.setBufferMax(options.bufferMax);
|
||||
this.name = options.name;
|
||||
constructor(optionsArg: {
|
||||
taskFunction: ITaskFunction,
|
||||
preTask?: Task,
|
||||
afterTask?: Task,
|
||||
buffered?: boolean,
|
||||
bufferMax?: number,
|
||||
name?: string
|
||||
}) {
|
||||
let options = optionsArg
|
||||
this.taskFunction = optionsArg.taskFunction
|
||||
this.preTask = options.preTask
|
||||
this.afterTask = options.afterTask
|
||||
this.idle = !this.running
|
||||
this.buffered = options.buffered
|
||||
this.bufferRunner.setBufferMax(options.bufferMax)
|
||||
this.name = options.name
|
||||
}
|
||||
|
||||
/**
|
||||
* trigger the task. Will trigger buffered if this.buffered is true
|
||||
*/
|
||||
trigger(x?): Promise<any> {
|
||||
if (this.buffered) {
|
||||
return this.triggerBuffered(x)
|
||||
}
|
||||
|
||||
/**
|
||||
* trigger the task. Will trigger buffered if this.buffered is true
|
||||
*/
|
||||
trigger(x?):Promise<any> {
|
||||
if(this.buffered) {
|
||||
return this.triggerBuffered(x)
|
||||
}
|
||||
else {
|
||||
return this.triggerUnBuffered(x);
|
||||
};
|
||||
else {
|
||||
return this.triggerUnBuffered(x)
|
||||
};
|
||||
};
|
||||
|
||||
/**
|
||||
* trigger task unbuffered.
|
||||
*/
|
||||
triggerUnBuffered(x?):Promise<any>{
|
||||
return helpers.runTask(this,{x:x});
|
||||
}
|
||||
/**
|
||||
* trigger task unbuffered.
|
||||
*/
|
||||
triggerUnBuffered(x?): Promise<any> {
|
||||
return helpers.runTask(this, { x: x })
|
||||
}
|
||||
|
||||
/**
|
||||
* trigger task buffered.
|
||||
*/
|
||||
triggerBuffered(x?):Promise<any>{
|
||||
return this.bufferRunner.trigger(x);
|
||||
}
|
||||
/**
|
||||
* trigger task buffered.
|
||||
*/
|
||||
triggerBuffered(x?): Promise<any> {
|
||||
return this.bufferRunner.trigger(x)
|
||||
}
|
||||
|
||||
get state():string {
|
||||
return this._state;
|
||||
}
|
||||
set state(stateArg:string){
|
||||
if (stateArg == "locked"){
|
||||
this._state = "locked";
|
||||
} else {
|
||||
plugins.beautylog.error("state type " + stateArg + " could not be set");
|
||||
}
|
||||
get state(): string {
|
||||
return this._state
|
||||
}
|
||||
set state(stateArg: string) {
|
||||
if (stateArg === 'locked') {
|
||||
this._state = 'locked'
|
||||
} else {
|
||||
plugins.beautylog.error('state type ' + stateArg + ' could not be set')
|
||||
}
|
||||
}
|
||||
}
|
@ -1,60 +1,60 @@
|
||||
import * as plugins from "./taskbuffer.plugins";
|
||||
import {Task} from "./taskbuffer.classes.task";
|
||||
import helpers = require("./taskbuffer.classes.helpers");
|
||||
import * as plugins from './taskbuffer.plugins';
|
||||
import { Task } from './taskbuffer.classes.task';
|
||||
import helpers = require('./taskbuffer.classes.helpers');
|
||||
|
||||
export class Taskchain extends Task {
|
||||
taskArray:Task[];
|
||||
private _oraObject:plugins.beautylog.Ora;
|
||||
constructor(optionsArg:{
|
||||
taskArray:Task[],
|
||||
name?:string,
|
||||
log?:boolean,
|
||||
buffered?:boolean,
|
||||
bufferMax?:number
|
||||
}){
|
||||
let options = plugins.lodash.merge(
|
||||
{
|
||||
name:"unnamed Taskchain",
|
||||
log:false
|
||||
},
|
||||
optionsArg,
|
||||
{
|
||||
taskFunction: (x:any) => { // this is the function that gets executed when TaskChain is triggered
|
||||
let done = plugins.q.defer(); // this is the starting Deferred object
|
||||
let taskCounter = 0; // counter for iterating async over the taskArray
|
||||
let iterateTasks = (x) => {
|
||||
if(typeof this.taskArray[taskCounter] != "undefined"){
|
||||
this._oraObject.text(this.name + " running: Task" + this.taskArray[taskCounter].name);
|
||||
this.taskArray[taskCounter].trigger(x)
|
||||
.then((x)=>{
|
||||
plugins.beautylog.ok(this.taskArray[taskCounter].name);
|
||||
taskCounter++;
|
||||
iterateTasks(x);
|
||||
});
|
||||
} else {
|
||||
this._oraObject.endOk("Taskchain \"" + this.name + "\" completed successfully");
|
||||
done.resolve(x);
|
||||
}
|
||||
};
|
||||
iterateTasks(x);
|
||||
return done.promise;
|
||||
}
|
||||
taskArray: Task[]
|
||||
private _oraObject
|
||||
constructor(optionsArg: {
|
||||
taskArray: Task[],
|
||||
name?: string,
|
||||
log?: boolean,
|
||||
buffered?: boolean,
|
||||
bufferMax?: number
|
||||
}) {
|
||||
let options = plugins.lodash.merge(
|
||||
{
|
||||
name: 'unnamed Taskchain',
|
||||
log: false
|
||||
},
|
||||
optionsArg,
|
||||
{
|
||||
taskFunction: (x: any) => { // this is the function that gets executed when TaskChain is triggered
|
||||
let done = plugins.q.defer() // this is the starting Deferred object
|
||||
let taskCounter = 0 // counter for iterating async over the taskArray
|
||||
let iterateTasks = (x) => {
|
||||
if (typeof this.taskArray[ taskCounter ] !== 'undefined') {
|
||||
this._oraObject.text(this.name + ' running: Task' + this.taskArray[ taskCounter ].name)
|
||||
this.taskArray[ taskCounter ].trigger(x)
|
||||
.then((x) => {
|
||||
plugins.beautylog.ok(this.taskArray[ taskCounter ].name)
|
||||
taskCounter++
|
||||
iterateTasks(x)
|
||||
})
|
||||
} else {
|
||||
this._oraObject.endOk('Taskchain "' + this.name + '" completed successfully')
|
||||
done.resolve(x)
|
||||
}
|
||||
);
|
||||
super(options);
|
||||
this.taskArray = optionsArg.taskArray;
|
||||
this._oraObject = new plugins.beautylog.Ora("Taskchain idle","blue");
|
||||
if(optionsArg.log === true){
|
||||
this._oraObject.start();
|
||||
};
|
||||
}
|
||||
addTask(taskArg:Task){
|
||||
this.taskArray.push(taskArg);
|
||||
}
|
||||
iterateTasks(x)
|
||||
return done.promise
|
||||
}
|
||||
}
|
||||
)
|
||||
super(options)
|
||||
this.taskArray = optionsArg.taskArray
|
||||
this._oraObject = plugins.beautylog.ora
|
||||
if (optionsArg.log === true) {
|
||||
this._oraObject.start()
|
||||
};
|
||||
removeTask(taskArg:Task){
|
||||
//TODO
|
||||
};
|
||||
shiftTask(){
|
||||
}
|
||||
addTask(taskArg: Task) {
|
||||
this.taskArray.push(taskArg)
|
||||
};
|
||||
removeTask(taskArg: Task) {
|
||||
// TODO
|
||||
};
|
||||
shiftTask() {
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -1,7 +1,7 @@
|
||||
import "typings-global"
|
||||
import * as beautylog from "beautylog"
|
||||
import * as lodash from "lodash"
|
||||
import * as rxjs from "rxjs"
|
||||
import 'typings-global'
|
||||
import * as beautylog from 'beautylog'
|
||||
import * as lodash from 'lodash'
|
||||
import * as rxjs from 'rxjs'
|
||||
import * as q from 'smartq'
|
||||
|
||||
export {
|
||||
|
3
tslint.json
Normal file
3
tslint.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"extends": "tslint-config-standard"
|
||||
}
|
345
yarn.lock
Normal file
345
yarn.lock
Normal file
@ -0,0 +1,345 @@
|
||||
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
|
||||
# yarn lockfile v1
|
||||
|
||||
|
||||
"@types/chai-as-promised@0.0.29":
|
||||
version "0.0.29"
|
||||
resolved "https://registry.yarnpkg.com/@types/chai-as-promised/-/chai-as-promised-0.0.29.tgz#43d52892aa998e185a3de3e2477edb8573be1d77"
|
||||
dependencies:
|
||||
"@types/chai" "*"
|
||||
"@types/promises-a-plus" "*"
|
||||
|
||||
"@types/chai@*", "@types/chai@^3.4.34":
|
||||
version "3.4.34"
|
||||
resolved "https://registry.yarnpkg.com/@types/chai/-/chai-3.4.34.tgz#d5335792823bb09cddd5e38c3d211b709183854d"
|
||||
|
||||
"@types/lodash@4.x.x":
|
||||
version "4.14.52"
|
||||
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.52.tgz#de5c7ab14da1289733233c9b0ec6f9e377db90f5"
|
||||
|
||||
"@types/mocha@^2.2.31":
|
||||
version "2.2.39"
|
||||
resolved "https://registry.yarnpkg.com/@types/mocha/-/mocha-2.2.39.tgz#f68d63db8b69c38e9558b4073525cf96c4f7a829"
|
||||
|
||||
"@types/node@*":
|
||||
version "7.0.5"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-7.0.5.tgz#96a0f0a618b7b606f1ec547403c00650210bfbb7"
|
||||
|
||||
"@types/promises-a-plus@*":
|
||||
version "0.0.27"
|
||||
resolved "https://registry.yarnpkg.com/@types/promises-a-plus/-/promises-a-plus-0.0.27.tgz#c64651134614c84b8f5d7114ce8901d36a609780"
|
||||
|
||||
"@types/q@0.x.x":
|
||||
version "0.0.32"
|
||||
resolved "https://registry.yarnpkg.com/@types/q/-/q-0.0.32.tgz#bd284e57c84f1325da702babfc82a5328190c0c5"
|
||||
|
||||
"@types/shelljs@^0.3.33":
|
||||
version "0.3.33"
|
||||
resolved "https://registry.yarnpkg.com/@types/shelljs/-/shelljs-0.3.33.tgz#df613bddb88225ed09ce5c835f620dcaaf155e6b"
|
||||
dependencies:
|
||||
"@types/node" "*"
|
||||
|
||||
ansi-256-colors@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/ansi-256-colors/-/ansi-256-colors-1.1.0.tgz#910de50efcc7c09e3d82f2f87abd6b700c18818a"
|
||||
|
||||
ansi-regex@^2.0.0:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
|
||||
|
||||
ansi-styles@^2.2.1:
|
||||
version "2.2.1"
|
||||
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
|
||||
|
||||
assertion-error@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c"
|
||||
|
||||
balanced-match@^0.4.1:
|
||||
version "0.4.2"
|
||||
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838"
|
||||
|
||||
beautycolor@^1.0.5:
|
||||
version "1.0.7"
|
||||
resolved "https://registry.yarnpkg.com/beautycolor/-/beautycolor-1.0.7.tgz#a4715738ac4c8221371e9cbeb5a6cc6d11ecbf7c"
|
||||
dependencies:
|
||||
ansi-256-colors "^1.1.0"
|
||||
typings-global "^1.0.14"
|
||||
|
||||
beautylog@^6.1.1:
|
||||
version "6.1.1"
|
||||
resolved "https://registry.yarnpkg.com/beautylog/-/beautylog-6.1.1.tgz#2a83603ad7e2a0a09701ac63d7d3064a588dc779"
|
||||
dependencies:
|
||||
"@types/lodash" "4.x.x"
|
||||
beautycolor "^1.0.5"
|
||||
figlet "^1.2.0"
|
||||
lodash "^4.17.4"
|
||||
ora "^1.1.0"
|
||||
smartenv "^2.0.0"
|
||||
smartq "^1.0.4"
|
||||
typings-global "^1.0.14"
|
||||
|
||||
brace-expansion@^1.0.0:
|
||||
version "1.1.6"
|
||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.6.tgz#7197d7eaa9b87e648390ea61fc66c84427420df9"
|
||||
dependencies:
|
||||
balanced-match "^0.4.1"
|
||||
concat-map "0.0.1"
|
||||
|
||||
chai-as-promised@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/chai-as-promised/-/chai-as-promised-6.0.0.tgz#1a02a433a6f24dafac63b9c96fa1684db1aa8da6"
|
||||
dependencies:
|
||||
check-error "^1.0.2"
|
||||
|
||||
chai@^3.5.0:
|
||||
version "3.5.0"
|
||||
resolved "https://registry.yarnpkg.com/chai/-/chai-3.5.0.tgz#4d02637b067fe958bdbfdd3a40ec56fef7373247"
|
||||
dependencies:
|
||||
assertion-error "^1.0.1"
|
||||
deep-eql "^0.1.3"
|
||||
type-detect "^1.0.0"
|
||||
|
||||
chalk@^1.0.0, chalk@^1.1.1:
|
||||
version "1.1.3"
|
||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
|
||||
dependencies:
|
||||
ansi-styles "^2.2.1"
|
||||
escape-string-regexp "^1.0.2"
|
||||
has-ansi "^2.0.0"
|
||||
strip-ansi "^3.0.0"
|
||||
supports-color "^2.0.0"
|
||||
|
||||
check-error@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82"
|
||||
|
||||
cli-cursor@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
|
||||
dependencies:
|
||||
restore-cursor "^2.0.0"
|
||||
|
||||
cli-spinners@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-1.0.0.tgz#ef987ed3d48391ac3dab9180b406a742180d6e6a"
|
||||
|
||||
concat-map@0.0.1:
|
||||
version "0.0.1"
|
||||
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
|
||||
|
||||
deep-eql@^0.1.3:
|
||||
version "0.1.3"
|
||||
resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2"
|
||||
dependencies:
|
||||
type-detect "0.1.1"
|
||||
|
||||
escape-string-regexp@^1.0.2:
|
||||
version "1.0.5"
|
||||
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
|
||||
|
||||
figlet@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/figlet/-/figlet-1.2.0.tgz#6c46537378fab649146b5a6143dda019b430b410"
|
||||
|
||||
fs.realpath@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
|
||||
|
||||
glob@^7.0.0:
|
||||
version "7.1.1"
|
||||
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8"
|
||||
dependencies:
|
||||
fs.realpath "^1.0.0"
|
||||
inflight "^1.0.4"
|
||||
inherits "2"
|
||||
minimatch "^3.0.2"
|
||||
once "^1.3.0"
|
||||
path-is-absolute "^1.0.0"
|
||||
|
||||
has-ansi@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
|
||||
dependencies:
|
||||
ansi-regex "^2.0.0"
|
||||
|
||||
inflight@^1.0.4:
|
||||
version "1.0.6"
|
||||
resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
|
||||
dependencies:
|
||||
once "^1.3.0"
|
||||
wrappy "1"
|
||||
|
||||
inherits@2:
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
|
||||
|
||||
interpret@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.0.1.tgz#d579fb7f693b858004947af39fa0db49f795602c"
|
||||
|
||||
lodash@^4.17.2, lodash@^4.17.4:
|
||||
version "4.17.4"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
|
||||
|
||||
log-symbols@^1.0.2:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18"
|
||||
dependencies:
|
||||
chalk "^1.0.0"
|
||||
|
||||
mimic-fn@^1.0.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18"
|
||||
|
||||
minimatch@^3.0.2:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.3.tgz#2a4e4090b96b2db06a9d7df01055a62a77c9b774"
|
||||
dependencies:
|
||||
brace-expansion "^1.0.0"
|
||||
|
||||
npmts-g@^6.0.0:
|
||||
version "6.0.0"
|
||||
resolved "https://registry.yarnpkg.com/npmts-g/-/npmts-g-6.0.0.tgz#491fd50f110967f1b68f14237e7ea5157bf4ddb3"
|
||||
dependencies:
|
||||
"@types/shelljs" "^0.3.33"
|
||||
semver "^5.3.0"
|
||||
shelljs "^0.7.5"
|
||||
typings-global "^1.0.14"
|
||||
|
||||
once@^1.3.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
|
||||
dependencies:
|
||||
wrappy "1"
|
||||
|
||||
onetime@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.0.tgz#52aa8110e52fc5126ffc667bd8ec21c2ed209ce6"
|
||||
dependencies:
|
||||
mimic-fn "^1.0.0"
|
||||
|
||||
ora@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/ora/-/ora-1.1.0.tgz#69aaa4a209630e43b142c5f7ff41820da87e2faf"
|
||||
dependencies:
|
||||
chalk "^1.1.1"
|
||||
cli-cursor "^2.1.0"
|
||||
cli-spinners "^1.0.0"
|
||||
log-symbols "^1.0.2"
|
||||
|
||||
path-is-absolute@^1.0.0:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
|
||||
|
||||
q@^1.4.1:
|
||||
version "1.4.1"
|
||||
resolved "https://registry.yarnpkg.com/q/-/q-1.4.1.tgz#55705bcd93c5f3673530c2c2cbc0c2b3addc286e"
|
||||
|
||||
rechoir@^0.6.2:
|
||||
version "0.6.2"
|
||||
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
|
||||
dependencies:
|
||||
resolve "^1.1.6"
|
||||
|
||||
resolve@^1.1.6:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.2.0.tgz#9589c3f2f6149d1417a40becc1663db6ec6bc26c"
|
||||
|
||||
restore-cursor@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
|
||||
dependencies:
|
||||
onetime "^2.0.0"
|
||||
signal-exit "^3.0.2"
|
||||
|
||||
rxjs@^5.1.1:
|
||||
version "5.1.1"
|
||||
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-5.1.1.tgz#fc48922965bc6c5efbcc0fe46e90a3af64137a7b"
|
||||
dependencies:
|
||||
symbol-observable "^1.0.1"
|
||||
|
||||
semver@^5.3.0:
|
||||
version "5.3.0"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f"
|
||||
|
||||
shelljs@^0.7.4, shelljs@^0.7.5:
|
||||
version "0.7.6"
|
||||
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.7.6.tgz#379cccfb56b91c8601e4793356eb5382924de9ad"
|
||||
dependencies:
|
||||
glob "^7.0.0"
|
||||
interpret "^1.0.0"
|
||||
rechoir "^0.6.2"
|
||||
|
||||
signal-exit@^3.0.2:
|
||||
version "3.0.2"
|
||||
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
|
||||
|
||||
smartchai@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/smartchai/-/smartchai-1.0.1.tgz#cde7776212fa5145d62dc4195405929807a3e0e5"
|
||||
dependencies:
|
||||
"@types/chai" "^3.4.34"
|
||||
"@types/chai-as-promised" "0.0.29"
|
||||
chai "^3.5.0"
|
||||
chai-as-promised "^6.0.0"
|
||||
|
||||
smartenv@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/smartenv/-/smartenv-2.0.0.tgz#ede4e2044efcf9bec318388bb1dab53024ee3d16"
|
||||
dependencies:
|
||||
"@types/q" "0.x.x"
|
||||
lodash "^4.17.2"
|
||||
q "^1.4.1"
|
||||
typings-global "^1.0.14"
|
||||
|
||||
smartq@^1.0.4, smartq@^1.1.1:
|
||||
version "1.1.1"
|
||||
resolved "https://registry.yarnpkg.com/smartq/-/smartq-1.1.1.tgz#efb358705260d41ae18aef7ffd815f7b6fe17dd3"
|
||||
dependencies:
|
||||
typed-promisify "^0.3.0"
|
||||
typings-global "^1.0.14"
|
||||
|
||||
strip-ansi@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
|
||||
dependencies:
|
||||
ansi-regex "^2.0.0"
|
||||
|
||||
supports-color@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
|
||||
|
||||
symbol-observable@^1.0.1:
|
||||
version "1.0.4"
|
||||
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.0.4.tgz#29bf615d4aa7121bdd898b22d4b3f9bc4e2aa03d"
|
||||
|
||||
type-detect@0.1.1:
|
||||
version "0.1.1"
|
||||
resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822"
|
||||
|
||||
type-detect@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2"
|
||||
|
||||
typed-promisify@^0.3.0:
|
||||
version "0.3.0"
|
||||
resolved "https://registry.yarnpkg.com/typed-promisify/-/typed-promisify-0.3.0.tgz#1ba0af5e444c87d8047406f18ce49092a1191853"
|
||||
|
||||
typings-global@*, typings-global@^1.0.14:
|
||||
version "1.0.14"
|
||||
resolved "https://registry.yarnpkg.com/typings-global/-/typings-global-1.0.14.tgz#ab682720a03d6b9278869fb5c30c30d7dc61d12c"
|
||||
dependencies:
|
||||
semver "^5.3.0"
|
||||
shelljs "^0.7.4"
|
||||
|
||||
typings-test@^1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/typings-test/-/typings-test-1.0.3.tgz#fbab895eb3f0c44842e73db059f65946b971e369"
|
||||
dependencies:
|
||||
"@types/mocha" "^2.2.31"
|
||||
typings-global "*"
|
||||
|
||||
wrappy@1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
|
Loading…
Reference in New Issue
Block a user