implemented execDelay
This commit is contained in:
		
							
								
								
									
										2
									
								
								dist/taskbuffer.classes.helpers.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								dist/taskbuffer.classes.helpers.d.ts
									
									
									
									
										vendored
									
									
								
							@@ -21,10 +21,8 @@ export declare class CycleCounter {
 | 
				
			|||||||
export declare class BufferRunner {
 | 
					export declare class BufferRunner {
 | 
				
			||||||
    task: Task;
 | 
					    task: Task;
 | 
				
			||||||
    bufferCounter: number;
 | 
					    bufferCounter: number;
 | 
				
			||||||
    bufferMax: number;
 | 
					 | 
				
			||||||
    running: boolean;
 | 
					    running: boolean;
 | 
				
			||||||
    constructor(taskArg: Task);
 | 
					    constructor(taskArg: Task);
 | 
				
			||||||
    setBufferMax(bufferMaxArg: number): void;
 | 
					 | 
				
			||||||
    trigger(x: any): Promise<any>;
 | 
					    trigger(x: any): Promise<any>;
 | 
				
			||||||
    private _run(x);
 | 
					    private _run(x);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										28
									
								
								dist/taskbuffer.classes.helpers.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										28
									
								
								dist/taskbuffer.classes.helpers.js
									
									
									
									
										vendored
									
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										25
									
								
								dist/taskbuffer.classes.task.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										25
									
								
								dist/taskbuffer.classes.task.d.ts
									
									
									
									
										vendored
									
									
								
							@@ -6,6 +6,8 @@ export declare class Task {
 | 
				
			|||||||
    name: string;
 | 
					    name: string;
 | 
				
			||||||
    taskFunction: ITaskFunction;
 | 
					    taskFunction: ITaskFunction;
 | 
				
			||||||
    buffered: boolean;
 | 
					    buffered: boolean;
 | 
				
			||||||
 | 
					    bufferMax: number;
 | 
				
			||||||
 | 
					    execDelay: number;
 | 
				
			||||||
    preTask: Task;
 | 
					    preTask: Task;
 | 
				
			||||||
    afterTask: Task;
 | 
					    afterTask: Task;
 | 
				
			||||||
    running: boolean;
 | 
					    running: boolean;
 | 
				
			||||||
@@ -14,11 +16,34 @@ export declare class Task {
 | 
				
			|||||||
    idle: boolean;
 | 
					    idle: boolean;
 | 
				
			||||||
    private _state;
 | 
					    private _state;
 | 
				
			||||||
    constructor(optionsArg: {
 | 
					    constructor(optionsArg: {
 | 
				
			||||||
 | 
					        /**
 | 
				
			||||||
 | 
					         * the task function to run, must return promise
 | 
				
			||||||
 | 
					         */
 | 
				
			||||||
        taskFunction: ITaskFunction;
 | 
					        taskFunction: ITaskFunction;
 | 
				
			||||||
 | 
					        /**
 | 
				
			||||||
 | 
					         * any other task to run before
 | 
				
			||||||
 | 
					         */
 | 
				
			||||||
        preTask?: Task;
 | 
					        preTask?: Task;
 | 
				
			||||||
 | 
					        /**
 | 
				
			||||||
 | 
					         * any other task to run after
 | 
				
			||||||
 | 
					         */
 | 
				
			||||||
        afterTask?: Task;
 | 
					        afterTask?: Task;
 | 
				
			||||||
 | 
					        /**
 | 
				
			||||||
 | 
					         * wether this task should run buffered
 | 
				
			||||||
 | 
					         */
 | 
				
			||||||
        buffered?: boolean;
 | 
					        buffered?: boolean;
 | 
				
			||||||
 | 
					        /**
 | 
				
			||||||
 | 
					         * the maximum buffer
 | 
				
			||||||
 | 
					         */
 | 
				
			||||||
        bufferMax?: number;
 | 
					        bufferMax?: number;
 | 
				
			||||||
 | 
					        /**
 | 
				
			||||||
 | 
					         * the execution delay, before the task is executed
 | 
				
			||||||
 | 
					         * only makes sense when running in buffered mode
 | 
				
			||||||
 | 
					         */
 | 
				
			||||||
 | 
					        execDelay?: number;
 | 
				
			||||||
 | 
					        /**
 | 
				
			||||||
 | 
					         * the name of the task
 | 
				
			||||||
 | 
					         */
 | 
				
			||||||
        name?: string;
 | 
					        name?: string;
 | 
				
			||||||
    });
 | 
					    });
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										14
									
								
								dist/taskbuffer.classes.task.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										14
									
								
								dist/taskbuffer.classes.task.js
									
									
									
									
										vendored
									
									
								
							@@ -10,14 +10,14 @@ class Task {
 | 
				
			|||||||
        this.cycleCounter = new helpers.CycleCounter(this);
 | 
					        this.cycleCounter = new helpers.CycleCounter(this);
 | 
				
			||||||
        this.idle = true;
 | 
					        this.idle = true;
 | 
				
			||||||
        this._state = 'ready';
 | 
					        this._state = 'ready';
 | 
				
			||||||
        let options = optionsArg;
 | 
					 | 
				
			||||||
        this.taskFunction = optionsArg.taskFunction;
 | 
					        this.taskFunction = optionsArg.taskFunction;
 | 
				
			||||||
        this.preTask = options.preTask;
 | 
					        this.preTask = optionsArg.preTask;
 | 
				
			||||||
        this.afterTask = options.afterTask;
 | 
					        this.afterTask = optionsArg.afterTask;
 | 
				
			||||||
        this.idle = !this.running;
 | 
					        this.idle = !this.running;
 | 
				
			||||||
        this.buffered = options.buffered;
 | 
					        this.buffered = optionsArg.buffered;
 | 
				
			||||||
        this.bufferRunner.setBufferMax(options.bufferMax);
 | 
					        this.bufferMax = optionsArg.bufferMax;
 | 
				
			||||||
        this.name = options.name;
 | 
					        this.execDelay = optionsArg.execDelay;
 | 
				
			||||||
 | 
					        this.name = optionsArg.name;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * trigger the task. Will trigger buffered if this.buffered is true
 | 
					     * trigger the task. Will trigger buffered if this.buffered is true
 | 
				
			||||||
@@ -55,4 +55,4 @@ class Task {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
exports.Task = Task;
 | 
					exports.Task = Task;
 | 
				
			||||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90YXNrYnVmZmVyLmNsYXNzZXMudGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGdEQUErQztBQUMvQyx3REFBdUQ7QUFNdkQ7SUFjRSxZQUFhLFVBT1o7UUFkRCx3QkFBd0I7UUFDeEIsWUFBTyxHQUFZLEtBQUssQ0FBQTtRQUN4QixpQkFBWSxHQUFHLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM3QyxpQkFBWSxHQUFHLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM3QyxTQUFJLEdBQVksSUFBSSxDQUFBO1FBQ1osV0FBTSxHQUFXLE9BQU8sQ0FBQTtRQVU5QixJQUFJLE9BQU8sR0FBRyxVQUFVLENBQUE7UUFDeEIsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFBO1FBQzNDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQTtRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUE7UUFDbEMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFBO1FBQ2hDLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQTtRQUNqRCxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUE7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsT0FBTyxDQUFFLENBQUU7UUFDVCxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztZQUNsQixNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNoQyxDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2xDLENBQUM7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxpQkFBaUIsQ0FBRSxDQUFFO1FBQ25CLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBQ3hDLENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWUsQ0FBRSxDQUFFO1FBQ2pCLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNyQyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUE7SUFDcEIsQ0FBQztJQUNELElBQUksS0FBSyxDQUFFLFFBQWdCO1FBQ3pCLEVBQUUsQ0FBQyxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFBO1FBQ3hCLENBQUM7UUFBQyxJQUFJLENBQUMsQ0FBQztZQUNOLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLGFBQWEsR0FBRyxRQUFRLEdBQUcsbUJBQW1CLENBQUMsQ0FBQTtRQUN6RSxDQUFDO0lBQ0gsQ0FBQztDQUNGO0FBbkVELG9CQW1FQyJ9
 | 
					//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza2J1ZmZlci5jbGFzc2VzLnRhc2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi90cy90YXNrYnVmZmVyLmNsYXNzZXMudGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGdEQUErQztBQUMvQyx3REFBdUQ7QUFNdkQ7SUFxQkUsWUFBWSxVQThCWDtRQXRDRCx3QkFBd0I7UUFDeEIsWUFBTyxHQUFZLEtBQUssQ0FBQTtRQUN4QixpQkFBWSxHQUFHLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM3QyxpQkFBWSxHQUFHLElBQUksT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUU3QyxTQUFJLEdBQVksSUFBSSxDQUFBO1FBQ1osV0FBTSxHQUFXLE9BQU8sQ0FBQTtRQWlDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFBO1FBQzNDLElBQUksQ0FBQyxPQUFPLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQTtRQUNqQyxJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUE7UUFDckMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUE7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFBO1FBQ25DLElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQTtRQUNyQyxJQUFJLENBQUMsU0FBUyxHQUFHLFVBQVUsQ0FBQyxTQUFTLENBQUE7UUFDckMsSUFBSSxDQUFDLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFBO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNILE9BQU8sQ0FBQyxDQUFFO1FBQ1IsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDbEIsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDaEMsQ0FBQztRQUFDLElBQUksQ0FBQyxDQUFDO1lBQ04sTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsaUJBQWlCLENBQUMsQ0FBRTtRQUNsQixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxlQUFlLENBQUMsQ0FBRTtRQUNoQixNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDckMsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFBO0lBQ3BCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxRQUFnQjtRQUN4QixFQUFFLENBQUMsQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLFFBQVEsQ0FBQTtRQUN4QixDQUFDO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxhQUFhLEdBQUcsUUFBUSxHQUFHLG1CQUFtQixDQUFDLENBQUE7UUFDekUsQ0FBQztJQUNILENBQUM7Q0FDRjtBQWxHRCxvQkFrR0MifQ==
 | 
				
			||||||
@@ -28,12 +28,18 @@ export let isTaskTouched = (taskArg: Task, touchedTasksArray: Task[]): boolean =
 | 
				
			|||||||
  return result
 | 
					  return result
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export let runTask = function (taskArg: Task, optionsArg: { x?, touchedTasksArray?: Task[] }) {
 | 
					export let runTask = async (taskArg: Task, optionsArg: { x?, touchedTasksArray?: Task[] }) => {
 | 
				
			||||||
  let done = plugins.q.defer()
 | 
					  let done = plugins.q.defer()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // pay respect to execDelay
 | 
				
			||||||
 | 
					  if (taskArg.execDelay) {
 | 
				
			||||||
 | 
					    await plugins.smartdelay.delayFor(taskArg.execDelay)
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  //  set running params
 | 
					  //  set running params
 | 
				
			||||||
  taskArg.running = true
 | 
					  taskArg.running = true
 | 
				
			||||||
  done.promise.then(function () { taskArg.running = false })
 | 
					
 | 
				
			||||||
 | 
					  done.promise.then(async () => { taskArg.running = false })
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  // handle options
 | 
					  // handle options
 | 
				
			||||||
  let options = plugins.lodash.merge(
 | 
					  let options = plugins.lodash.merge(
 | 
				
			||||||
@@ -75,7 +81,7 @@ export let runTask = function (taskArg: Task, optionsArg: { x?, touchedTasksArra
 | 
				
			|||||||
      console.log(err)
 | 
					      console.log(err)
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
  localDeferred.resolve()
 | 
					  localDeferred.resolve()
 | 
				
			||||||
  return done.promise
 | 
					  return await done.promise
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export interface cycleObject {
 | 
					export interface cycleObject {
 | 
				
			||||||
@@ -116,18 +122,13 @@ export class BufferRunner {
 | 
				
			|||||||
  task: Task
 | 
					  task: Task
 | 
				
			||||||
  // initialze by default
 | 
					  // initialze by default
 | 
				
			||||||
  bufferCounter: number = 0
 | 
					  bufferCounter: number = 0
 | 
				
			||||||
  bufferMax: number = 1
 | 
					 | 
				
			||||||
  running: boolean = false
 | 
					  running: boolean = false
 | 
				
			||||||
  constructor(taskArg: Task) {
 | 
					  constructor(taskArg: Task) {
 | 
				
			||||||
    this.task = taskArg
 | 
					    this.task = taskArg
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  setBufferMax (bufferMaxArg: number) {
 | 
					 | 
				
			||||||
    this.bufferMax = bufferMaxArg
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  trigger (x): Promise<any> {
 | 
					  trigger (x): Promise<any> {
 | 
				
			||||||
    if (!(this.bufferCounter >= this.bufferMax)) {
 | 
					    if (!(this.bufferCounter >= this.task.bufferMax)) {
 | 
				
			||||||
      this.bufferCounter++
 | 
					      this.bufferCounter++
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    let returnPromise: Promise<any> = this.task.cycleCounter.getPromiseForCycle(this.bufferCounter + 1)
 | 
					    let returnPromise: Promise<any> = this.task.cycleCounter.getPromiseForCycle(this.bufferCounter + 1)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,9 +6,15 @@ export interface ITaskFunction {
 | 
				
			|||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export class Task {
 | 
					export class Task {
 | 
				
			||||||
 | 
					  // man datory properties
 | 
				
			||||||
  name: string
 | 
					  name: string
 | 
				
			||||||
  taskFunction: ITaskFunction
 | 
					  taskFunction: ITaskFunction
 | 
				
			||||||
  buffered: boolean
 | 
					  buffered: boolean
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  bufferMax: number
 | 
				
			||||||
 | 
					  execDelay: number
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  // tasks to run before and after
 | 
				
			||||||
  preTask: Task
 | 
					  preTask: Task
 | 
				
			||||||
  afterTask: Task
 | 
					  afterTask: Task
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -16,31 +22,55 @@ export class Task {
 | 
				
			|||||||
  running: boolean = false
 | 
					  running: boolean = false
 | 
				
			||||||
  bufferRunner = new helpers.BufferRunner(this)
 | 
					  bufferRunner = new helpers.BufferRunner(this)
 | 
				
			||||||
  cycleCounter = new helpers.CycleCounter(this)
 | 
					  cycleCounter = new helpers.CycleCounter(this)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  idle: boolean = true
 | 
					  idle: boolean = true
 | 
				
			||||||
  private _state: string = 'ready'
 | 
					  private _state: string = 'ready'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  constructor (optionsArg: {
 | 
					  constructor(optionsArg: {
 | 
				
			||||||
    taskFunction: ITaskFunction,
 | 
					    /**
 | 
				
			||||||
    preTask?: Task,
 | 
					     * the task function to run, must return promise
 | 
				
			||||||
    afterTask?: Task,
 | 
					     */
 | 
				
			||||||
    buffered?: boolean,
 | 
					    taskFunction: ITaskFunction
 | 
				
			||||||
    bufferMax?: number,
 | 
					    /**
 | 
				
			||||||
 | 
					     * any other task to run before
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    preTask?: Task
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * any other task to run after
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    afterTask?: Task
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * wether this task should run buffered
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    buffered?: boolean
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * the maximum buffer
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    bufferMax?: number
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * the execution delay, before the task is executed
 | 
				
			||||||
 | 
					     * only makes sense when running in buffered mode
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    execDelay?: number
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * the name of the task
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
    name?: string
 | 
					    name?: string
 | 
				
			||||||
  }) {
 | 
					  }) {
 | 
				
			||||||
    let options = optionsArg
 | 
					 | 
				
			||||||
    this.taskFunction = optionsArg.taskFunction
 | 
					    this.taskFunction = optionsArg.taskFunction
 | 
				
			||||||
    this.preTask = options.preTask
 | 
					    this.preTask = optionsArg.preTask
 | 
				
			||||||
    this.afterTask = options.afterTask
 | 
					    this.afterTask = optionsArg.afterTask
 | 
				
			||||||
    this.idle = !this.running
 | 
					    this.idle = !this.running
 | 
				
			||||||
    this.buffered = options.buffered
 | 
					    this.buffered = optionsArg.buffered
 | 
				
			||||||
    this.bufferRunner.setBufferMax(options.bufferMax)
 | 
					    this.bufferMax = optionsArg.bufferMax
 | 
				
			||||||
    this.name = options.name
 | 
					    this.execDelay = optionsArg.execDelay
 | 
				
			||||||
 | 
					    this.name = optionsArg.name
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /**
 | 
					  /**
 | 
				
			||||||
   * trigger the task. Will trigger buffered if this.buffered is true
 | 
					   * trigger the task. Will trigger buffered if this.buffered is true
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  trigger (x?): Promise<any> {
 | 
					  trigger(x?): Promise<any> {
 | 
				
			||||||
    if (this.buffered) {
 | 
					    if (this.buffered) {
 | 
				
			||||||
      return this.triggerBuffered(x)
 | 
					      return this.triggerBuffered(x)
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
@@ -51,21 +81,22 @@ export class Task {
 | 
				
			|||||||
  /**
 | 
					  /**
 | 
				
			||||||
   * trigger task unbuffered.
 | 
					   * trigger task unbuffered.
 | 
				
			||||||
   */
 | 
					   */
 | 
				
			||||||
  triggerUnBuffered (x?): Promise<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?): Promise<any> {
 | 
					  triggerBuffered(x?): Promise<any> {
 | 
				
			||||||
    return this.bufferRunner.trigger(x)
 | 
					    return this.bufferRunner.trigger(x)
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  get state (): string {
 | 
					  get state(): string {
 | 
				
			||||||
    return this._state
 | 
					    return this._state
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  set state (stateArg: string) {
 | 
					
 | 
				
			||||||
 | 
					  set state(stateArg: string) {
 | 
				
			||||||
    if (stateArg === 'locked') {
 | 
					    if (stateArg === 'locked') {
 | 
				
			||||||
      this._state = 'locked'
 | 
					      this._state = 'locked'
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user