Compare commits

..

8 Commits

Author SHA1 Message Date
aa8df29bbb 1.0.9 2017-01-20 18:50:43 +01:00
f5cb0843fc smartq now working 2017-01-20 18:50:37 +01:00
1d52d098fb Merge branch 'master' into 'master'
update from q to smartq

See merge request !1
2017-01-20 08:33:32 +00:00
eb7eb14415 update from q to smartq 2017-01-19 17:26:35 +01:00
670bf5b124 1.0.8 2016-09-02 18:11:49 +02:00
fab863c66c update dependencies 2016-09-02 18:11:33 +02:00
402e2b982f 1.0.7 2016-08-03 14:51:47 +02:00
1d0a85e6ca now returning correct Promise types 2016-08-03 14:51:43 +02:00
20 changed files with 137 additions and 92 deletions

7
.gitignore vendored
View File

@ -1,7 +1,4 @@
.idea/
coverage/ coverage/
docs/
ts/*.js
ts/*.js.map
ts/typings/
node_modules node_modules
pages/
.nogit/

View File

@ -1,5 +1,5 @@
.idea/
docs/ docs/
coverage/ coverage/
ts/ ts/
node_modules/ node_modules/
pages/

2
dist/index.js vendored
View File

@ -9,4 +9,4 @@ var taskbuffer_classes_taskspace_1 = require("./taskbuffer.classes.taskspace");
exports.Taskspace = taskbuffer_classes_taskspace_1.Taskspace; exports.Taskspace = taskbuffer_classes_taskspace_1.Taskspace;
// import for naming only // import for naming only
require("./taskbuffer.classes.helpers"); require("./taskbuffer.classes.helpers");
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsd0NBQWlDLDJCQUEyQixDQUFDO0FBQXJELDhDQUFxRDtBQUM3RCw2Q0FBd0IsZ0NBQWdDLENBQUM7QUFBakQsNkRBQWlEO0FBQ3pELGdEQUEyQixtQ0FBbUMsQ0FBQztBQUF2RCxzRUFBdUQ7QUFDL0QsNkNBQXdCLGdDQUFnQyxDQUFDO0FBQWpELDZEQUFpRDtBQUV6RCx5QkFBeUI7QUFDekIsUUFBTyw4QkFBOEIsQ0FBQyxDQUFEIn0= //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEscUVBQTZEO0FBQXJELHlDQUFBLElBQUksQ0FBQTtBQUNaLCtFQUF5RDtBQUFqRCxtREFBQSxTQUFTLENBQUE7QUFDakIscUZBQStEO0FBQXZELHlEQUFBLFlBQVksQ0FBQTtBQUNwQiwrRUFBeUQ7QUFBakQsbURBQUEsU0FBUyxDQUFBO0FBRWpCLHlCQUF5QjtBQUN6Qix3Q0FBcUMifQ==

View File

@ -1,23 +1,22 @@
/// <reference types="q" />
import plugins = require("./taskbuffer.plugins"); import plugins = require("./taskbuffer.plugins");
import { Task, ITaskFunction } from "./taskbuffer.classes.task"; import { Task, ITaskFunction } from "./taskbuffer.classes.task";
export declare let emptyTaskFunction: ITaskFunction; export declare let emptyTaskFunction: ITaskFunction;
export declare let isTask: (taskArg: any) => boolean; export declare let isTask: (taskArg: Task) => boolean;
export declare let isTaskTouched: (taskArg: Task, touchedTasksArray: Task[]) => boolean; export declare let isTaskTouched: (taskArg: Task, touchedTasksArray: Task[]) => boolean;
export declare let runTask: (taskArg: Task, optionsArg: { export declare let runTask: (taskArg: Task, optionsArg: {
x?: any; x?: any;
touchedTasksArray?: Task[]; touchedTasksArray?: Task[];
}) => plugins.Q.Promise<{}>; }) => Promise<{}>;
export interface cycleObject { export interface cycleObject {
cycleCounter: number; cycleCounter: number;
deferred: plugins.Q.Deferred<any>; deferred: plugins.q.Deferred<any>;
} }
export declare class CycleCounter { export declare class CycleCounter {
task: Task; task: Task;
cycleObjectArray: cycleObject[]; cycleObjectArray: cycleObject[];
constructor(taskArg: Task); constructor(taskArg: Task);
getPromiseForCycle(cycleCountArg: number): plugins.Q.Promise<{}>; getPromiseForCycle(cycleCountArg: number): Promise<{}>;
informOfCycle(): void; informOfCycle(x: any): void;
} }
export declare class BufferRunner { export declare class BufferRunner {
task: Task; task: Task;
@ -27,5 +26,5 @@ export declare class BufferRunner {
constructor(taskArg: Task); constructor(taskArg: Task);
private _run(x); private _run(x);
setBufferMax(bufferMaxArg: number): void; setBufferMax(bufferMaxArg: number): void;
trigger(x: any): PromiseLike<any>; trigger(x: any): Promise<any>;
} }

File diff suppressed because one or more lines are too long

View File

@ -24,14 +24,14 @@ export declare class Task {
/** /**
* trigger the task. Will trigger buffered if this.buffered is true * trigger the task. Will trigger buffered if this.buffered is true
*/ */
trigger(x?: any): PromiseLike<any>; trigger(x?: any): Promise<any>;
/** /**
* trigger task unbuffered. * trigger task unbuffered.
*/ */
triggerUnBuffered(x?: any): PromiseLike<any>; triggerUnBuffered(x?: any): Promise<any>;
/** /**
* trigger task buffered. * trigger task buffered.
*/ */
triggerBuffered(x?: any): PromiseLike<any>; triggerBuffered(x?: any): Promise<any>;
state: string; state: string;
} }

View File

@ -51,9 +51,9 @@ class Task {
this._state = "locked"; this._state = "locked";
} }
else { else {
plugins.beautylog.error("state type " + stateArg.blue + " could not be set"); plugins.beautylog.error("state type " + stateArg + " could not be set");
} }
} }
} }
exports.Task = Task; exports.Task = Task;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90YXNrYnVmZmVyLmNsYXNzZXMudGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsTUFBWSxPQUFPLFdBQU0sc0JBQ3pCLENBQUMsQ0FEOEM7QUFDL0MsTUFBWSxPQUFPLFdBQU0sOEJBR3pCLENBQUMsQ0FIc0Q7QUFPdkQ7SUFjSSxZQUFZLFVBT1g7UUFkRCx3QkFBd0I7UUFDeEIsWUFBTyxHQUFXLEtBQUssQ0FBQztRQUN4QixpQkFBWSxHQUFHLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxpQkFBWSxHQUFHLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QyxTQUFJLEdBQVcsSUFBSSxDQUFDO1FBQ1osV0FBTSxHQUFVLE9BQU8sQ0FBQztRQVU1QixJQUFJLE9BQU8sR0FBRyxVQUFVLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDO1FBQzVDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTyxDQUFDLENBQUU7UUFDTixFQUFFLENBQUEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNmLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLENBQUM7UUFDRCxJQUFJLENBQUMsQ0FBQztZQUNGLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckMsQ0FBQztRQUFBLENBQUM7SUFDTixDQUFDOztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCLENBQUMsQ0FBRTtRQUNoQixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlLENBQUMsQ0FBRTtRQUNkLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLFFBQWU7UUFDckIsRUFBRSxDQUFDLENBQUMsUUFBUSxJQUFJLFFBQVEsQ0FBQyxDQUFBLENBQUM7WUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxRQUFRLENBQUM7UUFDM0IsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ0osT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEdBQUcsbUJBQW1CLENBQUMsQ0FBQztRQUNqRixDQUFDO0lBQ0wsQ0FBQztBQUNMLENBQUM7QUFwRVksWUFBSSxPQW9FaEIsQ0FBQSJ9 //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90YXNrYnVmZmVyLmNsYXNzZXMudGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsZ0RBQStDO0FBQy9DLHdEQUF1RDtBQU12RDtJQWNJLFlBQVksVUFPWDtRQWRELHdCQUF3QjtRQUN4QixZQUFPLEdBQVcsS0FBSyxDQUFDO1FBQ3hCLGlCQUFZLEdBQUcsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLGlCQUFZLEdBQUcsSUFBSSxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlDLFNBQUksR0FBVyxJQUFJLENBQUM7UUFDWixXQUFNLEdBQVUsT0FBTyxDQUFDO1FBVTVCLElBQUksT0FBTyxHQUFHLFVBQVUsQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxHQUFHLFVBQVUsQ0FBQyxZQUFZLENBQUM7UUFDNUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNuQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSCxPQUFPLENBQUMsQ0FBRTtRQUNOLEVBQUUsQ0FBQSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDbEMsQ0FBQztRQUNELElBQUksQ0FBQyxDQUFDO1lBQ0YsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBQUEsQ0FBQztJQUNOLENBQUM7SUFBQSxDQUFDO0lBRUY7O09BRUc7SUFDSCxpQkFBaUIsQ0FBQyxDQUFFO1FBQ2hCLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBQyxFQUFDLENBQUMsRUFBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWUsQ0FBQyxDQUFFO1FBQ2QsTUFBTSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDTCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsUUFBZTtRQUNyQixFQUFFLENBQUMsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLENBQUEsQ0FBQztZQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQztRQUMzQixDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDSixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsUUFBUSxHQUFHLG1CQUFtQixDQUFDLENBQUM7UUFDNUUsQ0FBQztJQUNMLENBQUM7Q0FDSjtBQXBFRCxvQkFvRUMifQ==

View File

@ -8,7 +8,7 @@ class Taskchain extends taskbuffer_classes_task_1.Task {
log: false log: false
}, optionsArg, { }, optionsArg, {
taskFunction: (x) => { taskFunction: (x) => {
let done = plugins.Q.defer(); // this is the starting Deferred object let done = plugins.q.defer(); // this is the starting Deferred object
let taskCounter = 0; // counter for iterating async over the taskArray let taskCounter = 0; // counter for iterating async over the taskArray
let iterateTasks = (x) => { let iterateTasks = (x) => {
if (typeof this.taskArray[taskCounter] != "undefined") { if (typeof this.taskArray[taskCounter] != "undefined") {
@ -51,4 +51,4 @@ class Taskchain extends taskbuffer_classes_task_1.Task {
} }
exports.Taskchain = Taskchain; exports.Taskchain = Taskchain;
; ;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2tjaGFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3Rhc2tidWZmZXIuY2xhc3Nlcy50YXNrY2hhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE1BQVksT0FBTyxXQUFNLHNCQUFzQixDQUFDLENBQUE7QUFDaEQsMENBQW1CLDJCQUEyQixDQUFDLENBQUE7QUFHL0Msd0JBQStCLDhCQUFJO0lBRy9CLFlBQVksVUFNWDtRQUNHLElBQUksT0FBTyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUM5QjtZQUNJLElBQUksRUFBQyxtQkFBbUI7WUFDeEIsR0FBRyxFQUFDLEtBQUs7U0FDWixFQUNELFVBQVUsRUFDVjtZQUNJLFlBQVksRUFBRSxDQUFDLENBQUs7Z0JBQ2hCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyx3Q0FBd0M7Z0JBQ3RFLElBQUksV0FBVyxHQUFHLENBQUMsQ0FBQyxDQUFDLGlEQUFpRDtnQkFDdEUsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFDO29CQUNqQixFQUFFLENBQUEsQ0FBQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksV0FBVyxDQUFDLENBQUEsQ0FBQzt3QkFDbEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO3dCQUN0RixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7NkJBQ2pDLElBQUksQ0FBQyxDQUFDLENBQUM7NEJBQ0osT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQzs0QkFDdkQsV0FBVyxFQUFFLENBQUM7NEJBQ2QsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNwQixDQUFDLENBQUMsQ0FBQztvQkFDWCxDQUFDO29CQUFDLElBQUksQ0FBQyxDQUFDO3dCQUNKLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxHQUFJLDJCQUEyQixDQUFDLENBQUM7d0JBQ2pGLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ3BCLENBQUM7Z0JBQ0wsQ0FBQyxDQUFDO2dCQUNGLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDaEIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDeEIsQ0FBQztTQUNKLENBQ0osQ0FBQztRQUNGLE1BQU0sT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUM7UUFDdEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JFLEVBQUUsQ0FBQSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUEsQ0FBQztZQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzVCLENBQUM7UUFBQSxDQUFDO0lBQ04sQ0FBQztJQUNELE9BQU8sQ0FBQyxPQUFZO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7O0lBQ0QsVUFBVSxDQUFDLE9BQVk7UUFDbkIsTUFBTTtJQUNWLENBQUM7O0lBQ0QsU0FBUztJQUVULENBQUM7O0FBQ0wsQ0FBQztBQXZEWSxpQkFBUyxZQXVEckIsQ0FBQTtBQUFBLENBQUMifQ== //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2tjaGFpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3Rhc2tidWZmZXIuY2xhc3Nlcy50YXNrY2hhaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGdEQUFnRDtBQUNoRCx1RUFBK0M7QUFHL0MsZUFBdUIsU0FBUSw4QkFBSTtJQUcvQixZQUFZLFVBTVg7UUFDRyxJQUFJLE9BQU8sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDOUI7WUFDSSxJQUFJLEVBQUMsbUJBQW1CO1lBQ3hCLEdBQUcsRUFBQyxLQUFLO1NBQ1osRUFDRCxVQUFVLEVBQ1Y7WUFDSSxZQUFZLEVBQUUsQ0FBQyxDQUFLO2dCQUNoQixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsd0NBQXdDO2dCQUN0RSxJQUFJLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxpREFBaUQ7Z0JBQ3RFLElBQUksWUFBWSxHQUFHLENBQUMsQ0FBQztvQkFDakIsRUFBRSxDQUFBLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxDQUFBLENBQUM7d0JBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQzt3QkFDdEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDOzZCQUNqQyxJQUFJLENBQUMsQ0FBQyxDQUFDOzRCQUNKLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7NEJBQ3ZELFdBQVcsRUFBRSxDQUFDOzRCQUNkLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQzt3QkFDcEIsQ0FBQyxDQUFDLENBQUM7b0JBQ1gsQ0FBQztvQkFBQyxJQUFJLENBQUMsQ0FBQzt3QkFDSixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBSSwyQkFBMkIsQ0FBQyxDQUFDO3dCQUNqRixJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUNwQixDQUFDO2dCQUNMLENBQUMsQ0FBQztnQkFDRixZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ3hCLENBQUM7U0FDSixDQUNKLENBQUM7UUFDRixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUM7UUFDdEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3JFLEVBQUUsQ0FBQSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLENBQUEsQ0FBQztZQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzVCLENBQUM7UUFBQSxDQUFDO0lBQ04sQ0FBQztJQUNELE9BQU8sQ0FBQyxPQUFZO1FBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFBQSxDQUFDO0lBQ0YsVUFBVSxDQUFDLE9BQVk7UUFDbkIsTUFBTTtJQUNWLENBQUM7SUFBQSxDQUFDO0lBQ0YsU0FBUztJQUVULENBQUM7SUFBQSxDQUFDO0NBQ0w7QUF2REQsOEJBdURDO0FBQUEsQ0FBQyJ9

View File

@ -5,12 +5,12 @@ class Taskparallel extends taskbuffer_classes_task_1.Task {
constructor(optionsArg) { constructor(optionsArg) {
let options = plugins.lodash.merge(optionsArg, { let options = plugins.lodash.merge(optionsArg, {
taskFunction: () => { taskFunction: () => {
let done = plugins.Q.defer(); let done = plugins.q.defer();
let promiseArray = []; // stores promises of all tasks, since they run in parallel let promiseArray = []; // stores promises of all tasks, since they run in parallel
this.taskArray.forEach(function (taskArg) { this.taskArray.forEach(function (taskArg) {
promiseArray.push(taskArg.trigger()); promiseArray.push(taskArg.trigger());
}); });
plugins.Q.all(promiseArray) Promise.all(promiseArray)
.then(done.resolve); .then(done.resolve);
return done.promise; return done.promise;
} }
@ -20,4 +20,4 @@ class Taskparallel extends taskbuffer_classes_task_1.Task {
} }
} }
exports.Taskparallel = Taskparallel; exports.Taskparallel = Taskparallel;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2twYXJhbGxlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3Rhc2tidWZmZXIuY2xhc3Nlcy50YXNrcGFyYWxsZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE1BQVksT0FBTyxXQUFNLHNCQUN6QixDQUFDLENBRDhDO0FBRS9DLDBDQUFxQiwyQkFFckIsQ0FBQyxDQUYrQztBQUVoRCwyQkFBa0MsOEJBQUk7SUFFbEMsWUFBWSxVQUVYO1FBQ0csSUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQzlCLFVBQVUsRUFDVjtZQUNJLFlBQVksRUFBRTtnQkFDVixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUM3QixJQUFJLFlBQVksR0FBc0IsRUFBRSxDQUFDLENBQUMsMkRBQTJEO2dCQUNyRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLE9BQU87b0JBQ3BDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBQ3pDLENBQUMsQ0FBQyxDQUFBO2dCQUNGLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQztxQkFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFDeEIsQ0FBQztTQUNKLENBQ0osQ0FBQztRQUNGLE1BQU0sT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUM7SUFDMUMsQ0FBQztBQUNMLENBQUM7QUF2Qlksb0JBQVksZUF1QnhCLENBQUEifQ== //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2twYXJhbGxlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3Rhc2tidWZmZXIuY2xhc3Nlcy50YXNrcGFyYWxsZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGdEQUErQztBQUUvQyx1RUFBZ0Q7QUFFaEQsa0JBQTBCLFNBQVEsOEJBQUk7SUFFbEMsWUFBWSxVQUVYO1FBQ0csSUFBSSxPQUFPLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQzlCLFVBQVUsRUFDVjtZQUNJLFlBQVksRUFBRTtnQkFDVixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUM3QixJQUFJLFlBQVksR0FBbUIsRUFBRSxDQUFDLENBQUMsMkRBQTJEO2dCQUNsRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxVQUFVLE9BQU87b0JBQ3BDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBQ3pDLENBQUMsQ0FBQyxDQUFBO2dCQUNGLE9BQU8sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDO3FCQUNwQixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN4QixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUN4QixDQUFDO1NBQ0osQ0FDSixDQUFDO1FBQ0YsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsSUFBSSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDO0lBQzFDLENBQUM7Q0FDSjtBQXZCRCxvQ0F1QkMifQ==

View File

@ -2,4 +2,4 @@
class Taskspace { class Taskspace {
} }
exports.Taskspace = Taskspace; exports.Taskspace = Taskspace;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2tzcGFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3Rhc2tidWZmZXIuY2xhc3Nlcy50YXNrc3BhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUdBO0FBRUEsQ0FBQztBQUZZLGlCQUFTLFlBRXJCLENBQUEifQ== //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2tzcGFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3RzL3Rhc2tidWZmZXIuY2xhc3Nlcy50YXNrc3BhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUdBO0NBRUM7QUFGRCw4QkFFQyJ9

View File

@ -1,5 +1,6 @@
import "typings-global"; import "typings-global";
export import beautylog = require("beautylog"); import * as beautylog from "beautylog";
export import Q = require("q"); import * as lodash from "lodash";
export import lodash = require("lodash"); import * as rxjs from "rxjs";
export import rxjs = require("rxjs"); import * as q from 'smartq';
export { beautylog, lodash, rxjs, q };

View File

@ -1,7 +1,11 @@
"use strict"; "use strict";
require("typings-global"); require("typings-global");
exports.beautylog = require("beautylog"); const beautylog = require("beautylog");
exports.Q = require("q"); exports.beautylog = beautylog;
exports.lodash = require("lodash"); const lodash = require("lodash");
exports.rxjs = require("rxjs"); exports.lodash = lodash;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5wbHVnaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvdGFza2J1ZmZlci5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxRQUFPLGdCQUNQLENBQUMsQ0FEc0I7QUFDVCxpQkFBUyxXQUFXLFdBQVcsQ0FBQyxDQUFDO0FBQ2pDLFNBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztBQUNqQixjQUFNLFdBQVUsUUFBUSxDQUFDLENBQUM7QUFDMUIsWUFBSSxXQUFXLE1BQU0sQ0FBQyxDQUFDIn0= const rxjs = require("rxjs");
exports.rxjs = rxjs;
const q = require("smartq");
exports.q = q;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5wbHVnaW5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHMvdGFza2J1ZmZlci5wbHVnaW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSwwQkFBdUI7QUFDdkIsdUNBQXNDO0FBTWxDLDhCQUFTO0FBTGIsaUNBQWdDO0FBTTVCLHdCQUFNO0FBTFYsNkJBQTRCO0FBTXhCLG9CQUFJO0FBTFIsNEJBQTJCO0FBTXZCLGNBQUMifQ==

View File

@ -1,6 +1,6 @@
{ {
"name": "taskbuffer", "name": "taskbuffer",
"version": "1.0.6", "version": "1.0.9",
"description": "flexible task management. TypeScript ready!", "description": "flexible task management. TypeScript ready!",
"main": "dist/index.js", "main": "dist/index.js",
"typings": "dist/index.d.ts", "typings": "dist/index.d.ts",
@ -24,17 +24,17 @@
}, },
"homepage": "https://gitlab.com/pushrocks/taskbuffer#readme", "homepage": "https://gitlab.com/pushrocks/taskbuffer#readme",
"dependencies": { "dependencies": {
"@types/lodash": "0.x.x", "@types/lodash": "4.x.x",
"@types/q": "0.x.x", "beautylog": "^6.0.0",
"beautylog": "^5.0.20", "lodash": "^4.17.4",
"lodash": "^4.14.1",
"q": "^1.4.1", "q": "^1.4.1",
"rxjs": "^5.0.0-beta.10", "rxjs": "^5.0.3",
"typings-global": "^1.0.6" "smartq": "^1.0.2",
"typings-global": "^1.0.14"
}, },
"devDependencies": { "devDependencies": {
"npmts-g": "^5.2.8", "npmts-g": "^6.0.0",
"should": "^10.0.0", "should": "^11.1.2",
"typings-test": "^1.0.1" "typings-test": "^1.0.3"
} }
} }

File diff suppressed because one or more lines are too long

View File

@ -78,7 +78,7 @@ describe("taskbuffer", function () {
testTask = new taskbuffer.Task({ taskFunction: testTaskFunction, preTask: testPreTask }); testTask = new taskbuffer.Task({ taskFunction: testTaskFunction, preTask: testPreTask });
}); });
it("testTask should be and instance of Task", function () { it("testTask should be and instance of Task", function () {
testTask.should.be.instanceof(taskbuffer.Task); should(testTask).be.instanceof(taskbuffer.Task);
}); });
it("testTask.idle is true", function () { it("testTask.idle is true", function () {
if (!testTask.idle) { if (!testTask.idle) {
@ -87,11 +87,11 @@ describe("taskbuffer", function () {
}); });
it("testTask.running is type boolean and initially false", function () { it("testTask.running is type boolean and initially false", function () {
testTask.running.should.be.type("boolean"); should(testTask.running).be.type("boolean");
testTask.running.should.be.false(); should(testTask.running).be.false();
}); });
it("testTask.trigger() should return Promise", function () { it("testTask.trigger() should return Promise", function () {
testTask.trigger().should.be.Promise(); should(testTask.trigger()).be.Promise();
}); });
it("testTask.trigger() returned Promise should be fullfilled", function (done) { it("testTask.trigger() returned Promise should be fullfilled", function (done) {
testTask.trigger() testTask.trigger()
@ -167,6 +167,19 @@ describe("taskbuffer", function () {
return done.promise; 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({ let flowTask2 = new taskbuffer.Task({
taskFunction: (x:number) => { taskFunction: (x:number) => {
let done = q.defer(); let done = q.defer();
@ -178,7 +191,7 @@ describe("taskbuffer", function () {
preTask:flowTask1 preTask:flowTask1
}); });
let flowTask3 = new taskbuffer.Taskchain({ let flowTask3 = new taskbuffer.Taskchain({
taskArray:[flowTask1,flowTask2]; taskArray:[flowTask1,flowTask2]
}); });
it("should let a value flow through a task",function(done){ it("should let a value flow through a task",function(done){
flowTask1.trigger(12).then((x) => { flowTask1.trigger(12).then((x) => {
@ -192,6 +205,14 @@ describe("taskbuffer", function () {
done(); done();
}).catch(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){ it("should let a values flow between tasks in Taskchain",function(done){
flowTask3.trigger(12).then((x) => { flowTask3.trigger(12).then((x) => {
should.equal(x,12); should.equal(x,12);

View File

@ -2,15 +2,15 @@ import plugins = require("./taskbuffer.plugins");
import { Task, ITaskFunction } from "./taskbuffer.classes.task"; import { Task, ITaskFunction } from "./taskbuffer.classes.task";
export let emptyTaskFunction: ITaskFunction = function (x) { export let emptyTaskFunction: ITaskFunction = function (x) {
let done = plugins.Q.defer(); let done = plugins.q.defer();
done.resolve(); done.resolve();
return done.promise; return done.promise;
}; };
export let isTask = function (taskArg): boolean { export let isTask = function (taskArg: Task): boolean {
if ( if (
taskArg instanceof Task taskArg instanceof Task
&& typeof taskArg.task === "function" && typeof taskArg.taskFunction === "function"
) { ) {
return true; return true;
} else { } else {
@ -30,7 +30,7 @@ export let isTaskTouched = (taskArg: Task, touchedTasksArray: Task[]): boolean =
} }
export let runTask = function (taskArg: Task, optionsArg: {x?, touchedTasksArray?: Task[] }) { export let runTask = function (taskArg: Task, optionsArg: {x?, touchedTasksArray?: Task[] }) {
let done = plugins.Q.defer(); let done = plugins.q.defer();
// set running params // set running params
taskArg.running = true; taskArg.running = true;
@ -47,13 +47,13 @@ export let runTask = function (taskArg: Task, optionsArg: {x?, touchedTasksArray
touchedTasksArray.push(taskArg); touchedTasksArray.push(taskArg);
// run the task cascade // run the task cascade
let localDeferred = plugins.Q.defer(); let localDeferred = plugins.q.defer();
localDeferred.promise localDeferred.promise
.then(() => { .then(() => {
if (taskArg.preTask && !isTaskTouched(taskArg.preTask, touchedTasksArray)) { if (taskArg.preTask && !isTaskTouched(taskArg.preTask, touchedTasksArray)) {
return runTask(taskArg.preTask, {x:x, touchedTasksArray: touchedTasksArray }) return runTask(taskArg.preTask, {x:x, touchedTasksArray: touchedTasksArray })
} else { } else {
let done2 = plugins.Q.defer(); let done2 = plugins.q.defer();
done2.resolve(x); done2.resolve(x);
return done2.promise; return done2.promise;
} }
@ -65,7 +65,7 @@ export let runTask = function (taskArg: Task, optionsArg: {x?, touchedTasksArray
if (taskArg.afterTask && !isTaskTouched(taskArg.afterTask, touchedTasksArray)) { if (taskArg.afterTask && !isTaskTouched(taskArg.afterTask, touchedTasksArray)) {
return runTask(taskArg.afterTask, {x:x, touchedTasksArray: touchedTasksArray }); return runTask(taskArg.afterTask, {x:x, touchedTasksArray: touchedTasksArray });
} else { } else {
let done2 = plugins.Q.defer(); let done2 = plugins.q.defer();
done2.resolve(x); done2.resolve(x);
return done2.promise; return done2.promise;
} }
@ -82,7 +82,7 @@ export let runTask = function (taskArg: Task, optionsArg: {x?, touchedTasksArray
export interface cycleObject { export interface cycleObject {
cycleCounter:number, cycleCounter:number,
deferred:plugins.Q.Deferred<any> deferred: plugins.q.Deferred<any>
} }
export class CycleCounter { export class CycleCounter {
@ -92,7 +92,7 @@ export class CycleCounter {
this.task = taskArg; this.task = taskArg;
}; };
getPromiseForCycle(cycleCountArg:number){ getPromiseForCycle(cycleCountArg:number){
let done = plugins.Q.defer(); let done = plugins.q.defer();
let cycleObject:cycleObject = { let cycleObject:cycleObject = {
cycleCounter:cycleCountArg, cycleCounter:cycleCountArg,
deferred:done deferred:done
@ -100,12 +100,12 @@ export class CycleCounter {
this.cycleObjectArray.push(cycleObject); this.cycleObjectArray.push(cycleObject);
return done.promise; return done.promise;
}; };
informOfCycle(){ informOfCycle(x){
let newCycleObjectArray:cycleObject[] = []; let newCycleObjectArray:cycleObject[] = [];
this.cycleObjectArray.forEach(cycleObjectArg => { this.cycleObjectArray.forEach(cycleObjectArg => {
cycleObjectArg.cycleCounter--; cycleObjectArg.cycleCounter--;
if(cycleObjectArg.cycleCounter <= 0){ if(cycleObjectArg.cycleCounter <= 0){
cycleObjectArg.deferred.resolve(); cycleObjectArg.deferred.resolve(x);
} else { } else {
newCycleObjectArray.push(cycleObjectArg); newCycleObjectArray.push(cycleObjectArg);
}; };
@ -131,7 +131,7 @@ export class BufferRunner {
runTask(this.task,{x:x}) runTask(this.task,{x:x})
.then((x) => { .then((x) => {
this.bufferCounter--; this.bufferCounter--;
this.task.cycleCounter.informOfCycle(); this.task.cycleCounter.informOfCycle(x);
recursiveBufferRunner(x); recursiveBufferRunner(x);
}); });
} else { } else {
@ -144,11 +144,11 @@ export class BufferRunner {
setBufferMax(bufferMaxArg:number){ setBufferMax(bufferMaxArg:number){
this.bufferMax = bufferMaxArg; this.bufferMax = bufferMaxArg;
}; };
trigger(x): PromiseLike<any> { trigger(x): Promise<any> {
if(!(this.bufferCounter >= this.bufferMax)){ if(!(this.bufferCounter >= this.bufferMax)){
this.bufferCounter++ this.bufferCounter++
}; };
let returnPromise:PromiseLike<any> = this.task.cycleCounter.getPromiseForCycle(this.bufferCounter + 1); let returnPromise:Promise<any> = this.task.cycleCounter.getPromiseForCycle(this.bufferCounter + 1);
if(!this.running){ if(!this.running){
this._run(x); this._run(x);
} }

View File

@ -1,7 +1,6 @@
import * as plugins from "./taskbuffer.plugins" import * as plugins from "./taskbuffer.plugins"
import * as helpers from "./taskbuffer.classes.helpers" import * as helpers from "./taskbuffer.classes.helpers"
export interface ITaskFunction { export interface ITaskFunction {
(x?:any):PromiseLike<any>; (x?:any):PromiseLike<any>;
} }
@ -41,7 +40,7 @@ export class Task {
/** /**
* trigger the task. Will trigger buffered if this.buffered is true * trigger the task. Will trigger buffered if this.buffered is true
*/ */
trigger(x?):PromiseLike<any> { trigger(x?):Promise<any> {
if(this.buffered) { if(this.buffered) {
return this.triggerBuffered(x) return this.triggerBuffered(x)
} }
@ -53,14 +52,14 @@ export class Task {
/** /**
* trigger task unbuffered. * trigger task unbuffered.
*/ */
triggerUnBuffered(x?):PromiseLike<any>{ triggerUnBuffered(x?):Promise<any>{
return helpers.runTask(this,{x:x}); return helpers.runTask(this,{x:x});
} }
/** /**
* trigger task buffered. * trigger task buffered.
*/ */
triggerBuffered(x?):PromiseLike<any>{ triggerBuffered(x?):Promise<any>{
return this.bufferRunner.trigger(x); return this.bufferRunner.trigger(x);
} }
@ -71,7 +70,7 @@ export class Task {
if (stateArg == "locked"){ if (stateArg == "locked"){
this._state = "locked"; this._state = "locked";
} else { } else {
plugins.beautylog.error("state type " + stateArg.blue + " could not be set"); plugins.beautylog.error("state type " + stateArg + " could not be set");
} }
} }
} }

View File

@ -20,7 +20,7 @@ export class Taskchain extends Task {
optionsArg, optionsArg,
{ {
taskFunction: (x:any) => { // this is the function that gets executed when TaskChain is triggered 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 done = plugins.q.defer(); // this is the starting Deferred object
let taskCounter = 0; // counter for iterating async over the taskArray let taskCounter = 0; // counter for iterating async over the taskArray
let iterateTasks = (x) => { let iterateTasks = (x) => {
if(typeof this.taskArray[taskCounter] != "undefined"){ if(typeof this.taskArray[taskCounter] != "undefined"){

View File

@ -11,12 +11,12 @@ export class Taskparallel extends Task {
optionsArg, optionsArg,
{ {
taskFunction: () => { taskFunction: () => {
let done = plugins.Q.defer(); let done = plugins.q.defer();
let promiseArray:PromiseLike<any>[] = []; // stores promises of all tasks, since they run in parallel let promiseArray: Promise<any>[] = []; // stores promises of all tasks, since they run in parallel
this.taskArray.forEach(function (taskArg) { this.taskArray.forEach(function (taskArg) {
promiseArray.push(taskArg.trigger()); promiseArray.push(taskArg.trigger());
}) })
plugins.Q.all(promiseArray) Promise.all(promiseArray)
.then(done.resolve); .then(done.resolve);
return done.promise; return done.promise;
} }

View File

@ -1,5 +1,12 @@
import "typings-global" import "typings-global"
export import beautylog = require("beautylog"); import * as beautylog from "beautylog"
export import Q = require("q"); import * as lodash from "lodash"
export import lodash= require("lodash"); import * as rxjs from "rxjs"
export import rxjs = require("rxjs"); import * as q from 'smartq'
export {
beautylog,
lodash,
rxjs,
q
}