diff options
author | Sam Wilkins <samwilkins333@gmail.com> | 2019-09-13 20:17:19 -0400 |
---|---|---|
committer | Sam Wilkins <samwilkins333@gmail.com> | 2019-09-13 20:17:19 -0400 |
commit | dcbbfe6d34e89df49069a0ede64df0dc5adc6056 (patch) | |
tree | 40749b628d99c7ce7c9e23b00514d5c487e2444f /src/client/northstar/utils/Extensions.ts | |
parent | 3c2b04f16ccfae103e2f3acdd852e337c5f974e1 (diff) |
fixed batching and refactor
Diffstat (limited to 'src/client/northstar/utils/Extensions.ts')
-rw-r--r-- | src/client/northstar/utils/Extensions.ts | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/src/client/northstar/utils/Extensions.ts b/src/client/northstar/utils/Extensions.ts index 720f4a062..c866d1bc3 100644 --- a/src/client/northstar/utils/Extensions.ts +++ b/src/client/northstar/utils/Extensions.ts @@ -20,22 +20,17 @@ String.prototype.Truncate = function (length: number, replacement: string): Stri return target; }; -interface Action<T> { - handler: (batch: T[]) => any; - interval?: number; -} -interface BatchParameters<T> { - size: number; - action?: Action<T>; -} +type BatchHandler<I, O> = (batch: I[]) => O[] | Promise<O[]>; interface Array<T> { - batch(parameters: BatchParameters<T>): Promise<T[][]>; + batch(batchSize: number): T[][]; + batchAction<O>(batchSize: number, handler: BatchHandler<T, O>, interval?: number): Promise<O[]>; lastElement(): T; } Array.prototype.batch = extensions.Batch; +Array.prototype.batchAction = extensions.BatchAction; Array.prototype.lastElement = function <T>() { if (!this.length) { |