2016-08-01 00:53:27 +02:00
|
|
|
/// <reference types="q" />
|
|
|
|
import * as plugins from "./taskbuffer.plugins";
|
2016-08-01 13:17:15 +02:00
|
|
|
export interface ITaskFunction {
|
|
|
|
(): PromiseLike<any>;
|
|
|
|
}
|
2016-05-04 04:28:50 +02:00
|
|
|
export declare class Task {
|
2016-05-14 04:28:22 +02:00
|
|
|
name: string;
|
2016-05-04 04:28:50 +02:00
|
|
|
task: any;
|
|
|
|
running: boolean;
|
2016-08-01 13:17:15 +02:00
|
|
|
runningBuffered: boolean;
|
2016-05-06 02:05:45 +02:00
|
|
|
idle: boolean;
|
2016-05-04 04:28:50 +02:00
|
|
|
buffered: boolean;
|
2016-05-04 05:20:51 +02:00
|
|
|
bufferCounter: number;
|
|
|
|
bufferMax: number;
|
2016-05-04 04:28:50 +02:00
|
|
|
private _counterTriggerAbsolute;
|
|
|
|
private _state;
|
|
|
|
preTask: Task;
|
|
|
|
afterTask: Task;
|
2016-05-05 18:36:31 +02:00
|
|
|
constructor(optionsArg: {
|
2016-08-01 13:17:15 +02:00
|
|
|
taskFunction: ITaskFunction;
|
2016-05-04 04:28:50 +02:00
|
|
|
preTask?: Task;
|
|
|
|
afterTask?: Task;
|
|
|
|
buffered?: boolean;
|
2016-05-05 19:21:50 +02:00
|
|
|
bufferMax?: number;
|
2016-05-14 23:24:11 +02:00
|
|
|
name?: string;
|
2016-05-04 04:28:50 +02:00
|
|
|
});
|
2016-08-01 13:17:15 +02:00
|
|
|
/**
|
|
|
|
* trigger the task. Will trigger buffered if this.buffered is true
|
|
|
|
*/
|
2016-08-01 00:53:27 +02:00
|
|
|
trigger(): plugins.Q.Promise<{}>;
|
2016-08-01 13:17:15 +02:00
|
|
|
/**
|
|
|
|
* trigger task unbuffered.
|
|
|
|
*/
|
2016-08-01 00:53:27 +02:00
|
|
|
triggerUnBuffered(): plugins.Q.Promise<{}>;
|
2016-08-01 13:17:15 +02:00
|
|
|
/**
|
|
|
|
* trigger task buffered.
|
|
|
|
*/
|
2016-08-01 00:53:27 +02:00
|
|
|
triggerBuffered(): plugins.Q.Promise<{}>;
|
2016-05-04 04:28:50 +02:00
|
|
|
state: string;
|
|
|
|
}
|