aboutsummaryrefslogtreecommitdiff
path: root/src/client/northstar/utils/Extensions.ts
diff options
context:
space:
mode:
authorSam Wilkins <samwilkins333@gmail.com>2019-09-13 20:17:19 -0400
committerSam Wilkins <samwilkins333@gmail.com>2019-09-13 20:17:19 -0400
commitdcbbfe6d34e89df49069a0ede64df0dc5adc6056 (patch)
tree40749b628d99c7ce7c9e23b00514d5c487e2444f /src/client/northstar/utils/Extensions.ts
parent3c2b04f16ccfae103e2f3acdd852e337c5f974e1 (diff)
fixed batching and refactor
Diffstat (limited to 'src/client/northstar/utils/Extensions.ts')
-rw-r--r--src/client/northstar/utils/Extensions.ts13
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) {