From f5559e8de6184669a5583f2f3f1daf6becc5b733 Mon Sep 17 00:00:00 2001 From: Sam Wilkins Date: Thu, 19 Sep 2019 16:47:09 -0400 Subject: tweaks --- src/extensions/ArrayExtensions.ts | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/extensions/ArrayExtensions.ts b/src/extensions/ArrayExtensions.ts index 70508f6df..ec19117c9 100644 --- a/src/extensions/ArrayExtensions.ts +++ b/src/extensions/ArrayExtensions.ts @@ -1,6 +1,6 @@ interface Array { fixedBatch(batcher: FixedBatcher): T[][]; - predicateBatch(batcher: PredicateBatcher): T[][]; + predicateBatch(batcher: PredicateBatcherSync): T[][]; predicateBatchAsync(batcher: PredicateBatcherAsync): Promise; batch(batcher: Batcher): T[][]; batchAsync(batcher: BatcherAsync): Promise; @@ -27,7 +27,7 @@ interface ExecutorResult { makeNextBatch: boolean; } -interface PredicateBatcherCommon { +interface PredicateBatcherCommon { initial: A; persistAccumulator?: boolean; } @@ -45,11 +45,12 @@ type BatchConverter = BatchConverterSync | BatchConverterAsync type BatchHandler = BatchHandlerSync | BatchHandlerAsync; type FixedBatcher = { batchSize: number } | { batchCount: number, mode?: typeof module.exports.Mode }; -type PredicateBatcher = PredicateBatcherCommon & { executor: (element: I, accumulator: A) => ExecutorResult }; -type PredicateBatcherAsync = PredicateBatcherCommon & { executor: (element: I, accumulator: A) => ExecutorResult | Promise> }; +type PredicateBatcherSync = PredicateBatcherCommon & { executor: (element: I, accumulator: A) => ExecutorResult }; +type PredicateBatcherAsync = PredicateBatcherCommon & { executor: (element: I, accumulator: A) => Promise> }; -type Batcher = FixedBatcher | PredicateBatcher; -type BatcherAsync = Batcher | PredicateBatcherAsync; +type BatcherSync = FixedBatcher | PredicateBatcherSync; +type BatcherAsync = FixedBatcher | PredicateBatcherAsync; +type Batcher = BatcherSync | BatcherAsync; module.exports.Mode = { Balanced: 0, @@ -115,7 +116,7 @@ module.exports.Assign = function () { return batches; }; - Array.prototype.predicateBatch = function (batcher: PredicateBatcher): T[][] { + Array.prototype.predicateBatch = function (batcher: PredicateBatcherSync): T[][] { const batches: T[][] = []; let batch: T[] = []; const { executor, initial, persistAccumulator } = batcher; @@ -159,7 +160,7 @@ module.exports.Assign = function () { return batches; }; - Array.prototype.batch = function (batcher: Batcher): T[][] { + Array.prototype.batch = function (batcher: BatcherSync): T[][] { if ("executor" in batcher) { return this.predicateBatch(batcher); } else { -- cgit v1.2.3-70-g09d2