@shutterstock/p-map-iterable 0.0.1 → 1.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +85 -76
- package/dist/{blocking-queue.d.ts → src/blocking-queue.d.ts} +12 -8
- package/dist/src/blocking-queue.d.ts.map +1 -0
- package/dist/{blocking-queue.js → src/blocking-queue.js} +28 -19
- package/dist/src/blocking-queue.js.map +1 -0
- package/dist/src/blocking-queue.test.d.ts.map +1 -0
- package/dist/src/blocking-queue.test.js.map +1 -0
- package/dist/src/index.d.ts +8 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/iterable-mapper.d.ts +125 -0
- package/dist/src/iterable-mapper.d.ts.map +1 -0
- package/dist/{iterable-mapper.js → src/iterable-mapper.js} +44 -26
- package/dist/src/iterable-mapper.js.map +1 -0
- package/dist/src/iterable-mapper.test.d.ts.map +1 -0
- package/dist/{iterable-mapper.test.js → src/iterable-mapper.test.js} +133 -283
- package/dist/src/iterable-mapper.test.js.map +1 -0
- package/dist/src/iterable-queue-mapper-simple.d.ts +93 -0
- package/dist/src/iterable-queue-mapper-simple.d.ts.map +1 -0
- package/dist/{iterable-queue-mapper-simple.js → src/iterable-queue-mapper-simple.js} +47 -10
- package/dist/src/iterable-queue-mapper-simple.js.map +1 -0
- package/dist/src/iterable-queue-mapper-simple.test.d.ts.map +1 -0
- package/dist/{iterable-queue-mapper-simple.test.js → src/iterable-queue-mapper-simple.test.js} +2 -2
- package/dist/src/iterable-queue-mapper-simple.test.js.map +1 -0
- package/dist/src/iterable-queue-mapper.d.ts +97 -0
- package/dist/src/iterable-queue-mapper.d.ts.map +1 -0
- package/dist/src/iterable-queue-mapper.js +97 -0
- package/dist/src/iterable-queue-mapper.js.map +1 -0
- package/dist/src/iterable-queue-mapper.test.d.ts.map +1 -0
- package/dist/{iterable-queue-mapper.test.js → src/iterable-queue-mapper.test.js} +15 -30
- package/dist/src/iterable-queue-mapper.test.js.map +1 -0
- package/dist/{iterable-queue.d.ts → src/iterable-queue.d.ts} +10 -13
- package/dist/src/iterable-queue.d.ts.map +1 -0
- package/dist/{iterable-queue.js → src/iterable-queue.js} +8 -1
- package/dist/src/iterable-queue.js.map +1 -0
- package/dist/src/iterable-queue.test.d.ts.map +1 -0
- package/dist/{iterable-queue.test.js → src/iterable-queue.test.js} +26 -56
- package/dist/src/iterable-queue.test.js.map +1 -0
- package/dist/{queue.d.ts → src/queue.d.ts} +5 -0
- package/dist/src/queue.d.ts.map +1 -0
- package/dist/{queue.js → src/queue.js} +5 -0
- package/dist/src/queue.js.map +1 -0
- package/dist/{queue.test.d.ts.map → src/queue.test.d.ts.map} +1 -1
- package/dist/src/queue.test.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +24 -7
- package/dist/blocking-queue.d.ts.map +0 -1
- package/dist/blocking-queue.js.map +0 -1
- package/dist/blocking-queue.test.d.ts.map +0 -1
- package/dist/blocking-queue.test.js.map +0 -1
- package/dist/index.d.ts +0 -8
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/iterable-mapper.d.ts +0 -104
- package/dist/iterable-mapper.d.ts.map +0 -1
- package/dist/iterable-mapper.js.map +0 -1
- package/dist/iterable-mapper.test.d.ts.map +0 -1
- package/dist/iterable-mapper.test.js.map +0 -1
- package/dist/iterable-queue-mapper-simple.d.ts +0 -49
- package/dist/iterable-queue-mapper-simple.d.ts.map +0 -1
- package/dist/iterable-queue-mapper-simple.js.map +0 -1
- package/dist/iterable-queue-mapper-simple.test.d.ts.map +0 -1
- package/dist/iterable-queue-mapper-simple.test.js.map +0 -1
- package/dist/iterable-queue-mapper.d.ts +0 -73
- package/dist/iterable-queue-mapper.d.ts.map +0 -1
- package/dist/iterable-queue-mapper.js +0 -72
- package/dist/iterable-queue-mapper.js.map +0 -1
- package/dist/iterable-queue-mapper.test.d.ts.map +0 -1
- package/dist/iterable-queue-mapper.test.js.map +0 -1
- package/dist/iterable-queue.d.ts.map +0 -1
- package/dist/iterable-queue.js.map +0 -1
- package/dist/iterable-queue.test.d.ts.map +0 -1
- package/dist/iterable-queue.test.js.map +0 -1
- package/dist/queue.d.ts.map +0 -1
- package/dist/queue.js.map +0 -1
- package/dist/queue.test.js.map +0 -1
- /package/dist/{blocking-queue.test.d.ts → src/blocking-queue.test.d.ts} +0 -0
- /package/dist/{blocking-queue.test.js → src/blocking-queue.test.js} +0 -0
- /package/dist/{index.js → src/index.js} +0 -0
- /package/dist/{iterable-mapper.test.d.ts → src/iterable-mapper.test.d.ts} +0 -0
- /package/dist/{iterable-queue-mapper-simple.test.d.ts → src/iterable-queue-mapper-simple.test.d.ts} +0 -0
- /package/dist/{iterable-queue-mapper.test.d.ts → src/iterable-queue-mapper.test.d.ts} +0 -0
- /package/dist/{iterable-queue.test.d.ts → src/iterable-queue.test.d.ts} +0 -0
- /package/dist/{queue.test.d.ts → src/queue.test.d.ts} +0 -0
- /package/dist/{queue.test.js → src/queue.test.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterable-mapper.test.js","sourceRoot":"","sources":["../../src/iterable-mapper.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { Mapper } from './iterable-mapper';
|
|
2
|
+
type Errors<T> = {
|
|
3
|
+
item: T;
|
|
4
|
+
error: string | {
|
|
5
|
+
[key: string]: any;
|
|
6
|
+
} | Error;
|
|
7
|
+
}[];
|
|
8
|
+
/**
|
|
9
|
+
* Accepts queue items via `enqueue` and calls the `mapper` on them
|
|
10
|
+
* with specified concurrency, storing the
|
|
11
|
+
* `mapper` result in a queue of specified max size, before
|
|
12
|
+
* being iterated / read by the caller. The `enqueue` method will block if
|
|
13
|
+
* the queue is full, until an item is read.
|
|
14
|
+
*
|
|
15
|
+
* @remarks
|
|
16
|
+
*
|
|
17
|
+
* Note: the name is somewhat of a misnomer as this wraps `IterableQueueMapper`
|
|
18
|
+
* but is not itself an `Iterable`.
|
|
19
|
+
*
|
|
20
|
+
* Accepts items for mapping in the background, discards the results,
|
|
21
|
+
* but accumulates exceptions in the `errors` property.
|
|
22
|
+
*
|
|
23
|
+
* Allows up to `concurrency` mappers to be in progress before
|
|
24
|
+
* `enqueue` will block until a mapper completes.
|
|
25
|
+
*
|
|
26
|
+
* @category Enqueue Input
|
|
27
|
+
*/
|
|
28
|
+
export declare class IterableQueueMapperSimple<Element> {
|
|
29
|
+
private readonly _writer;
|
|
30
|
+
private readonly _errors;
|
|
31
|
+
private readonly _done;
|
|
32
|
+
private readonly _mapper;
|
|
33
|
+
private _isIdle;
|
|
34
|
+
/**
|
|
35
|
+
* Create a new `IterableQueueMapperSimple`
|
|
36
|
+
*
|
|
37
|
+
* @param mapper Function which is called for every item in `input`.
|
|
38
|
+
* Expected to return a `Promise` or value.
|
|
39
|
+
*
|
|
40
|
+
* The `mapper` *should* handle all errors and not allow an error to be thrown
|
|
41
|
+
* out of the `mapper` function as this enables the best handling of errors
|
|
42
|
+
* closest to the time that they occur.
|
|
43
|
+
*
|
|
44
|
+
* If the `mapper` function does allow an error to be thrown then the
|
|
45
|
+
* errors will be accumulated in the `errors` property.
|
|
46
|
+
* @param options IterableQueueMapperSimple options
|
|
47
|
+
*/
|
|
48
|
+
constructor(mapper: Mapper<Element, void>, options?: {
|
|
49
|
+
/**
|
|
50
|
+
* Number of items to accept for mapping before requiring the caller to wait for one to complete.
|
|
51
|
+
* @default 4
|
|
52
|
+
*/
|
|
53
|
+
concurrency?: number;
|
|
54
|
+
});
|
|
55
|
+
private discardResults;
|
|
56
|
+
private worker;
|
|
57
|
+
/**
|
|
58
|
+
* Accumulated errors from background `mappers`s
|
|
59
|
+
*
|
|
60
|
+
* @remarks
|
|
61
|
+
*
|
|
62
|
+
* Note that this property can be periodically checked
|
|
63
|
+
* during processing and errors can be `.pop()`'d off of the array
|
|
64
|
+
* and logged / handled as desired. Errors `.pop()`'d off of the array
|
|
65
|
+
* will no longer be available in the array on the next check.
|
|
66
|
+
*
|
|
67
|
+
* @returns Reference to the errors array
|
|
68
|
+
*/
|
|
69
|
+
get errors(): Errors<Element>;
|
|
70
|
+
/**
|
|
71
|
+
* Accept a request for sending in the background if a concurrency slot is available.
|
|
72
|
+
* Else, do not return until a concurrency slot is freed up.
|
|
73
|
+
* This provides concurrency background writes with back pressure to prevent
|
|
74
|
+
* the caller from getting too far ahead.
|
|
75
|
+
*
|
|
76
|
+
* MUST await `onIdle` for background `mappers`s to finish
|
|
77
|
+
* @param item
|
|
78
|
+
*/
|
|
79
|
+
enqueue(item: Element): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* Wait for all background `mapper`s to finish.
|
|
82
|
+
* MUST be called before exit to ensure no lost writes.
|
|
83
|
+
*/
|
|
84
|
+
onIdle(): Promise<void>;
|
|
85
|
+
/**
|
|
86
|
+
* Indicates if all background `mapper`s have finished.
|
|
87
|
+
*
|
|
88
|
+
* @returns true if .onIdle() has been called and finished all background writes
|
|
89
|
+
*/
|
|
90
|
+
get isIdle(): boolean;
|
|
91
|
+
}
|
|
92
|
+
export {};
|
|
93
|
+
//# sourceMappingURL=iterable-queue-mapper-simple.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterable-queue-mapper-simple.d.ts","sourceRoot":"","sources":["../../src/iterable-queue-mapper-simple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAI3C,KAAK,MAAM,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,GAAG,KAAK,CAAA;CAAE,EAAE,CAAC;AAI/E;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,yBAAyB,CAAC,OAAO;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgD;IACxE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,OAAO,CAAS;IAExB;;;;;;;;;;;;;OAaG;gBAED,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,EAC7B,OAAO,GAAE;QACP;;;WAGG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;KACjB;YAYM,cAAc;YAUd,MAAM;IAUpB;;;;;;;;;;;OAWG;IACH,IAAW,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,CAEnC;IAED;;;;;;;;OAQG;IACU,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlD;;;OAGG;IACU,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAWpC;;;;OAIG;IACH,IAAW,MAAM,IAAI,OAAO,CAE3B;CACF"}
|
|
@@ -4,19 +4,45 @@ exports.IterableQueueMapperSimple = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const iterable_queue_mapper_1 = require("./iterable-queue-mapper");
|
|
6
6
|
const NoResult = Symbol('noresult');
|
|
7
|
+
/**
|
|
8
|
+
* Accepts queue items via `enqueue` and calls the `mapper` on them
|
|
9
|
+
* with specified concurrency, storing the
|
|
10
|
+
* `mapper` result in a queue of specified max size, before
|
|
11
|
+
* being iterated / read by the caller. The `enqueue` method will block if
|
|
12
|
+
* the queue is full, until an item is read.
|
|
13
|
+
*
|
|
14
|
+
* @remarks
|
|
15
|
+
*
|
|
16
|
+
* Note: the name is somewhat of a misnomer as this wraps `IterableQueueMapper`
|
|
17
|
+
* but is not itself an `Iterable`.
|
|
18
|
+
*
|
|
19
|
+
* Accepts items for mapping in the background, discards the results,
|
|
20
|
+
* but accumulates exceptions in the `errors` property.
|
|
21
|
+
*
|
|
22
|
+
* Allows up to `concurrency` mappers to be in progress before
|
|
23
|
+
* `enqueue` will block until a mapper completes.
|
|
24
|
+
*
|
|
25
|
+
* @category Enqueue Input
|
|
26
|
+
*/
|
|
7
27
|
class IterableQueueMapperSimple {
|
|
8
28
|
/**
|
|
9
|
-
*
|
|
29
|
+
* Create a new `IterableQueueMapperSimple`
|
|
10
30
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
31
|
+
* @param mapper Function which is called for every item in `input`.
|
|
32
|
+
* Expected to return a `Promise` or value.
|
|
13
33
|
*
|
|
14
|
-
*
|
|
34
|
+
* The `mapper` *should* handle all errors and not allow an error to be thrown
|
|
35
|
+
* out of the `mapper` function as this enables the best handling of errors
|
|
36
|
+
* closest to the time that they occur.
|
|
37
|
+
*
|
|
38
|
+
* If the `mapper` function does allow an error to be thrown then the
|
|
39
|
+
* errors will be accumulated in the `errors` property.
|
|
40
|
+
* @param options IterableQueueMapperSimple options
|
|
15
41
|
*/
|
|
16
|
-
constructor(mapper,
|
|
42
|
+
constructor(mapper, options = {}) {
|
|
17
43
|
this._errors = [];
|
|
18
44
|
this._isIdle = false;
|
|
19
|
-
const { concurrency = 4 } =
|
|
45
|
+
const { concurrency = 4 } = options;
|
|
20
46
|
this._mapper = mapper;
|
|
21
47
|
this.worker = this.worker.bind(this);
|
|
22
48
|
this._writer = new iterable_queue_mapper_1.IterableQueueMapper(this.worker, { concurrency, maxUnread: concurrency });
|
|
@@ -41,13 +67,22 @@ class IterableQueueMapperSimple {
|
|
|
41
67
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
42
68
|
}
|
|
43
69
|
catch (error) {
|
|
44
|
-
this._errors.push(error);
|
|
70
|
+
this._errors.push({ item, error });
|
|
45
71
|
}
|
|
46
72
|
return NoResult;
|
|
47
73
|
});
|
|
48
74
|
}
|
|
49
75
|
/**
|
|
50
|
-
* Accumulated errors from background `
|
|
76
|
+
* Accumulated errors from background `mappers`s
|
|
77
|
+
*
|
|
78
|
+
* @remarks
|
|
79
|
+
*
|
|
80
|
+
* Note that this property can be periodically checked
|
|
81
|
+
* during processing and errors can be `.pop()`'d off of the array
|
|
82
|
+
* and logged / handled as desired. Errors `.pop()`'d off of the array
|
|
83
|
+
* will no longer be available in the array on the next check.
|
|
84
|
+
*
|
|
85
|
+
* @returns Reference to the errors array
|
|
51
86
|
*/
|
|
52
87
|
get errors() {
|
|
53
88
|
return this._errors;
|
|
@@ -58,7 +93,7 @@ class IterableQueueMapperSimple {
|
|
|
58
93
|
* This provides concurrency background writes with back pressure to prevent
|
|
59
94
|
* the caller from getting too far ahead.
|
|
60
95
|
*
|
|
61
|
-
* MUST await `onIdle` for background `
|
|
96
|
+
* MUST await `onIdle` for background `mappers`s to finish
|
|
62
97
|
* @param item
|
|
63
98
|
*/
|
|
64
99
|
enqueue(item) {
|
|
@@ -68,7 +103,7 @@ class IterableQueueMapperSimple {
|
|
|
68
103
|
});
|
|
69
104
|
}
|
|
70
105
|
/**
|
|
71
|
-
* Wait for all background
|
|
106
|
+
* Wait for all background `mapper`s to finish.
|
|
72
107
|
* MUST be called before exit to ensure no lost writes.
|
|
73
108
|
*/
|
|
74
109
|
onIdle() {
|
|
@@ -82,6 +117,8 @@ class IterableQueueMapperSimple {
|
|
|
82
117
|
});
|
|
83
118
|
}
|
|
84
119
|
/**
|
|
120
|
+
* Indicates if all background `mapper`s have finished.
|
|
121
|
+
*
|
|
85
122
|
* @returns true if .onIdle() has been called and finished all background writes
|
|
86
123
|
*/
|
|
87
124
|
get isIdle() {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterable-queue-mapper-simple.js","sourceRoot":"","sources":["../../src/iterable-queue-mapper-simple.ts"],"names":[],"mappings":";;;;AACA,mEAA8D;AAK9D,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAEpC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAa,yBAAyB;IAOpC;;;;;;;;;;;;;OAaG;IACH,YACE,MAA6B,EAC7B,UAMI,EAAE;QA3BS,YAAO,GAAoB,EAAE,CAAC;QAGvC,YAAO,GAAG,KAAK,CAAC;QA0BtB,MAAM,EAAE,WAAW,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC;QAEpC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,OAAO,GAAG,IAAI,2CAAmB,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC;QAE7F,6BAA6B;QAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IACrC,CAAC;IAEa,cAAc;;YAC1B,6DAA6D;YAC7D,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE;gBACzB,+BAA+B;gBAC/B,oEAAoE;gBACpE,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aAClC;QACH,CAAC;KAAA;IAEa,MAAM,CAAC,IAAa,EAAE,KAAa;;YAC/C,IAAI;gBACF,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAChC,8DAA8D;aAC/D;YAAC,OAAO,KAAU,EAAE;gBACnB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;aACpC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;IAED;;;;;;;;;;;OAWG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;;;;;OAQG;IACU,OAAO,CAAC,IAAa;;YAChC,4EAA4E;YAC5E,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;KAAA;IAED;;;OAGG;IACU,MAAM;;YACjB,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO;YAEzB,4CAA4C;YAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YAEpB,MAAM,IAAI,CAAC,KAAK,CAAC;YAEjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;KAAA;IAED;;;;OAIG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CACF;AAlHD,8DAkHC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterable-queue-mapper-simple.test.d.ts","sourceRoot":"","sources":["../../src/iterable-queue-mapper-simple.test.ts"],"names":[],"mappings":""}
|
package/dist/{iterable-queue-mapper-simple.test.js → src/iterable-queue-mapper-simple.test.js}
RENAMED
|
@@ -43,8 +43,8 @@ describe('IterableQueueMapperSimple', () => {
|
|
|
43
43
|
yield backgroundWriter.onIdle();
|
|
44
44
|
expect(backgroundWriter.isIdle).toBe(true);
|
|
45
45
|
expect(backgroundWriter.errors.length).toBe(5);
|
|
46
|
-
expect(backgroundWriter.errors[0]).toBeInstanceOf(Error);
|
|
47
|
-
expect(backgroundWriter.errors[0].message).toBe('stop this now');
|
|
46
|
+
expect(backgroundWriter.errors[0].error).toBeInstanceOf(Error);
|
|
47
|
+
expect(backgroundWriter.errors[0].error.message).toBe('stop this now');
|
|
48
48
|
// Show that double onIdle() does not hang or cause an error
|
|
49
49
|
yield backgroundWriter.onIdle();
|
|
50
50
|
expect(backgroundWriter.isIdle).toBe(true);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterable-queue-mapper-simple.test.js","sourceRoot":"","sources":["../../src/iterable-queue-mapper-simple.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { Mapper } from './iterable-mapper';
|
|
2
|
+
export interface IterableQueueMapperOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Number of concurrently pending promises returned by `mapper`.
|
|
5
|
+
*
|
|
6
|
+
* Must be an integer from 1 and up or `Infinity`, must be <= `maxUnread`.
|
|
7
|
+
*
|
|
8
|
+
* @default 4
|
|
9
|
+
*/
|
|
10
|
+
readonly concurrency?: number;
|
|
11
|
+
/**
|
|
12
|
+
* Number of pending unread iterable items.
|
|
13
|
+
*
|
|
14
|
+
* Must be an integer from 1 and up or `Infinity`, must be >= `concurrency`.
|
|
15
|
+
*
|
|
16
|
+
* @default 8
|
|
17
|
+
*/
|
|
18
|
+
readonly maxUnread?: number;
|
|
19
|
+
/**
|
|
20
|
+
* When set to `false`, instead of stopping when a promise rejects, it will wait for all the promises to settle and then reject with an [aggregated error](https://github.com/sindresorhus/aggregate-error) containing all the errors from the rejected promises.
|
|
21
|
+
*
|
|
22
|
+
* @default true
|
|
23
|
+
*/
|
|
24
|
+
readonly stopOnMapperError?: boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Accepts queue items via `enqueue` and calls the `mapper` on them
|
|
28
|
+
* with specified concurrency, storing the
|
|
29
|
+
* `mapper` result in a queue of specified max size, before
|
|
30
|
+
* being iterated / read by the caller. The `enqueue` method will block if
|
|
31
|
+
* the queue is full, until an item is read.
|
|
32
|
+
*
|
|
33
|
+
* @remarks
|
|
34
|
+
*
|
|
35
|
+
* This allows performing a concurrent mapping with
|
|
36
|
+
* back pressure for items added after queue creation
|
|
37
|
+
* via a method call.
|
|
38
|
+
*
|
|
39
|
+
* Because items are added via a method call it is possible to
|
|
40
|
+
* chain an `IterableMapper` that prefetches files and processes them,
|
|
41
|
+
* with an `IterableQueueMapper` that processes the results of the
|
|
42
|
+
* `mapper` function of the `IterableMapper`.
|
|
43
|
+
*
|
|
44
|
+
* Typical use case is for a `background uploader` that prevents
|
|
45
|
+
* the producer from racing ahead of the upload process, consuming
|
|
46
|
+
* too much memory or disk space. As items are ready for upload
|
|
47
|
+
* they are added to the queue with the `enqueue` method, which is
|
|
48
|
+
* `await`ed by the caller. If the queue has room then `enqueue`
|
|
49
|
+
* will return immediately, otherwise it will block until there is room.
|
|
50
|
+
*
|
|
51
|
+
* @category Enqueue Input
|
|
52
|
+
*/
|
|
53
|
+
export declare class IterableQueueMapper<Element, NewElement> implements AsyncIterable<NewElement> {
|
|
54
|
+
private _iterableMapper;
|
|
55
|
+
private _sourceIterable;
|
|
56
|
+
/**
|
|
57
|
+
* Create a new `IterableQueueMapper`
|
|
58
|
+
*
|
|
59
|
+
* @param mapper Function which is called for every item in `input`.
|
|
60
|
+
* Expected to return a `Promise` or value.
|
|
61
|
+
*
|
|
62
|
+
* The `mapper` *should* handle all errors and not allow an error to be thrown
|
|
63
|
+
* out of the `mapper` function as this enables the best handling of errors
|
|
64
|
+
* closest to the time that they occur.
|
|
65
|
+
*
|
|
66
|
+
* If the `mapper` function does allow an error to be thrown then the
|
|
67
|
+
* `stopOnMapperError` option controls the behavior:
|
|
68
|
+
* - `stopOnMapperError`: `true` - will throw the error
|
|
69
|
+
* out of `next` or the `AsyncIterator` returned from `[Symbol.asyncIterator]`
|
|
70
|
+
* and stop processing.
|
|
71
|
+
* - `stopOnMapperError`: `false` - will continue processing
|
|
72
|
+
* and accumulate the errors to be thrown from `next` or the `AsyncIterator`
|
|
73
|
+
* returned from `[Symbol.asyncIterator]` when all items have been processed.
|
|
74
|
+
* @param options IterableQueueMapper options
|
|
75
|
+
*/
|
|
76
|
+
constructor(mapper: Mapper<Element, NewElement>, options?: IterableQueueMapperOptions);
|
|
77
|
+
[Symbol.asyncIterator](): AsyncIterator<NewElement>;
|
|
78
|
+
/**
|
|
79
|
+
* Used by the iterator returned from [Symbol.asyncIterator]
|
|
80
|
+
* Called every time an item is needed
|
|
81
|
+
* @returns Iterator result
|
|
82
|
+
*/
|
|
83
|
+
next(): Promise<IteratorResult<NewElement>>;
|
|
84
|
+
/**
|
|
85
|
+
* Add an item to the queue, wait if the queue is full.
|
|
86
|
+
*
|
|
87
|
+
* @param item Element to add
|
|
88
|
+
*/
|
|
89
|
+
enqueue(item: Element): Promise<void>;
|
|
90
|
+
/**
|
|
91
|
+
* Indicate that no more items will be enqueued.
|
|
92
|
+
*
|
|
93
|
+
* This releases all readers blocked on `enqueue`
|
|
94
|
+
*/
|
|
95
|
+
done(): void;
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=iterable-queue-mapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterable-queue-mapper.d.ts","sourceRoot":"","sources":["../../src/iterable-queue-mapper.ts"],"names":[],"mappings":"AAGA,OAAO,EAAkB,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3D,MAAM,WAAW,0BAA0B;IACzC;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAE9B;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CACtC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAE,YAAW,aAAa,CAAC,UAAU,CAAC;IACxF,OAAO,CAAC,eAAe,CAAsC;IAE7D,OAAO,CAAC,eAAe,CAAyB;IAEhD;;;;;;;;;;;;;;;;;;;OAmBG;gBACS,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,OAAO,GAAE,0BAA+B;IAOlF,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC;IAI1D;;;;OAIG;IACU,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAIxD;;;;OAIG;IACU,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD;;;;OAIG;IACI,IAAI,IAAI,IAAI;CAGpB"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IterableQueueMapper = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
//
|
|
6
|
+
// 2021-08-25 - Initially based on: https://raw.githubusercontent.com/sindresorhus/p-map/main/index.js
|
|
7
|
+
//
|
|
8
|
+
const iterable_mapper_1 = require("./iterable-mapper");
|
|
9
|
+
const iterable_queue_1 = require("./iterable-queue");
|
|
10
|
+
/**
|
|
11
|
+
* Accepts queue items via `enqueue` and calls the `mapper` on them
|
|
12
|
+
* with specified concurrency, storing the
|
|
13
|
+
* `mapper` result in a queue of specified max size, before
|
|
14
|
+
* being iterated / read by the caller. The `enqueue` method will block if
|
|
15
|
+
* the queue is full, until an item is read.
|
|
16
|
+
*
|
|
17
|
+
* @remarks
|
|
18
|
+
*
|
|
19
|
+
* This allows performing a concurrent mapping with
|
|
20
|
+
* back pressure for items added after queue creation
|
|
21
|
+
* via a method call.
|
|
22
|
+
*
|
|
23
|
+
* Because items are added via a method call it is possible to
|
|
24
|
+
* chain an `IterableMapper` that prefetches files and processes them,
|
|
25
|
+
* with an `IterableQueueMapper` that processes the results of the
|
|
26
|
+
* `mapper` function of the `IterableMapper`.
|
|
27
|
+
*
|
|
28
|
+
* Typical use case is for a `background uploader` that prevents
|
|
29
|
+
* the producer from racing ahead of the upload process, consuming
|
|
30
|
+
* too much memory or disk space. As items are ready for upload
|
|
31
|
+
* they are added to the queue with the `enqueue` method, which is
|
|
32
|
+
* `await`ed by the caller. If the queue has room then `enqueue`
|
|
33
|
+
* will return immediately, otherwise it will block until there is room.
|
|
34
|
+
*
|
|
35
|
+
* @category Enqueue Input
|
|
36
|
+
*/
|
|
37
|
+
class IterableQueueMapper {
|
|
38
|
+
/**
|
|
39
|
+
* Create a new `IterableQueueMapper`
|
|
40
|
+
*
|
|
41
|
+
* @param mapper Function which is called for every item in `input`.
|
|
42
|
+
* Expected to return a `Promise` or value.
|
|
43
|
+
*
|
|
44
|
+
* The `mapper` *should* handle all errors and not allow an error to be thrown
|
|
45
|
+
* out of the `mapper` function as this enables the best handling of errors
|
|
46
|
+
* closest to the time that they occur.
|
|
47
|
+
*
|
|
48
|
+
* If the `mapper` function does allow an error to be thrown then the
|
|
49
|
+
* `stopOnMapperError` option controls the behavior:
|
|
50
|
+
* - `stopOnMapperError`: `true` - will throw the error
|
|
51
|
+
* out of `next` or the `AsyncIterator` returned from `[Symbol.asyncIterator]`
|
|
52
|
+
* and stop processing.
|
|
53
|
+
* - `stopOnMapperError`: `false` - will continue processing
|
|
54
|
+
* and accumulate the errors to be thrown from `next` or the `AsyncIterator`
|
|
55
|
+
* returned from `[Symbol.asyncIterator]` when all items have been processed.
|
|
56
|
+
* @param options IterableQueueMapper options
|
|
57
|
+
*/
|
|
58
|
+
constructor(mapper, options = {}) {
|
|
59
|
+
this._sourceIterable = new iterable_queue_1.IterableQueue({
|
|
60
|
+
maxUnread: 0,
|
|
61
|
+
});
|
|
62
|
+
this._iterableMapper = new iterable_mapper_1.IterableMapper(this._sourceIterable, mapper, options);
|
|
63
|
+
}
|
|
64
|
+
[Symbol.asyncIterator]() {
|
|
65
|
+
return this;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Used by the iterator returned from [Symbol.asyncIterator]
|
|
69
|
+
* Called every time an item is needed
|
|
70
|
+
* @returns Iterator result
|
|
71
|
+
*/
|
|
72
|
+
next() {
|
|
73
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
return this._iterableMapper.next();
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Add an item to the queue, wait if the queue is full.
|
|
79
|
+
*
|
|
80
|
+
* @param item Element to add
|
|
81
|
+
*/
|
|
82
|
+
enqueue(item) {
|
|
83
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
84
|
+
yield this._sourceIterable.enqueue(item);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Indicate that no more items will be enqueued.
|
|
89
|
+
*
|
|
90
|
+
* This releases all readers blocked on `enqueue`
|
|
91
|
+
*/
|
|
92
|
+
done() {
|
|
93
|
+
this._sourceIterable.done();
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
exports.IterableQueueMapper = IterableQueueMapper;
|
|
97
|
+
//# sourceMappingURL=iterable-queue-mapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterable-queue-mapper.js","sourceRoot":"","sources":["../../src/iterable-queue-mapper.ts"],"names":[],"mappings":";;;;AAAA,EAAE;AACF,sGAAsG;AACtG,EAAE;AACF,uDAA2D;AAC3D,qDAAiD;AA6BjD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAa,mBAAmB;IAK9B;;;;;;;;;;;;;;;;;;;OAmBG;IACH,YAAY,MAAmC,EAAE,UAAsC,EAAE;QACvF,IAAI,CAAC,eAAe,GAAG,IAAI,8BAAa,CAAC;YACvC,SAAS,EAAE,CAAC;SACb,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACnF,CAAC;IAEM,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACU,IAAI;;YACf,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QACrC,CAAC;KAAA;IAED;;;;OAIG;IACU,OAAO,CAAC,IAAa;;YAChC,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3C,CAAC;KAAA;IAED;;;;OAIG;IACI,IAAI;QACT,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;CACF;AA9DD,kDA8DC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterable-queue-mapper.test.d.ts","sourceRoot":"","sources":["../../src/iterable-queue-mapper.test.ts"],"names":[],"mappings":""}
|
|
@@ -40,18 +40,13 @@ describe('IterableQueueMapper', () => {
|
|
|
40
40
|
let lastTotal = 0;
|
|
41
41
|
let loopCount = 0;
|
|
42
42
|
try {
|
|
43
|
-
for (var _d = true, prefetcher_1 = tslib_1.__asyncValues(prefetcher), prefetcher_1_1; prefetcher_1_1 = yield prefetcher_1.next(), _a = prefetcher_1_1.done, !_a;) {
|
|
43
|
+
for (var _d = true, prefetcher_1 = tslib_1.__asyncValues(prefetcher), prefetcher_1_1; prefetcher_1_1 = yield prefetcher_1.next(), _a = prefetcher_1_1.done, !_a; _d = true) {
|
|
44
44
|
_c = prefetcher_1_1.value;
|
|
45
45
|
_d = false;
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
lastTotal = item;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
finally {
|
|
54
|
-
_d = true;
|
|
46
|
+
const item = _c;
|
|
47
|
+
loopCount++;
|
|
48
|
+
if (item > lastTotal) {
|
|
49
|
+
lastTotal = item;
|
|
55
50
|
}
|
|
56
51
|
}
|
|
57
52
|
}
|
|
@@ -93,18 +88,13 @@ describe('IterableQueueMapper', () => {
|
|
|
93
88
|
let lastTotal = 0;
|
|
94
89
|
let loopCount = 0;
|
|
95
90
|
try {
|
|
96
|
-
for (var _h = true, prefetcher_2 = tslib_1.__asyncValues(prefetcher), prefetcher_2_1; prefetcher_2_1 = yield prefetcher_2.next(), _e = prefetcher_2_1.done, !_e;) {
|
|
91
|
+
for (var _h = true, prefetcher_2 = tslib_1.__asyncValues(prefetcher), prefetcher_2_1; prefetcher_2_1 = yield prefetcher_2.next(), _e = prefetcher_2_1.done, !_e; _h = true) {
|
|
97
92
|
_g = prefetcher_2_1.value;
|
|
98
93
|
_h = false;
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
lastTotal = item;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
finally {
|
|
107
|
-
_h = true;
|
|
94
|
+
const item = _g;
|
|
95
|
+
loopCount++;
|
|
96
|
+
if (item > lastTotal) {
|
|
97
|
+
lastTotal = item;
|
|
108
98
|
}
|
|
109
99
|
}
|
|
110
100
|
}
|
|
@@ -141,18 +131,13 @@ describe('IterableQueueMapper', () => {
|
|
|
141
131
|
let lastSeen = 0;
|
|
142
132
|
let loopCount = 0;
|
|
143
133
|
try {
|
|
144
|
-
for (var _m = true, prefetcher_3 = tslib_1.__asyncValues(prefetcher), prefetcher_3_1; prefetcher_3_1 = yield prefetcher_3.next(), _j = prefetcher_3_1.done, !_j;) {
|
|
134
|
+
for (var _m = true, prefetcher_3 = tslib_1.__asyncValues(prefetcher), prefetcher_3_1; prefetcher_3_1 = yield prefetcher_3.next(), _j = prefetcher_3_1.done, !_j; _m = true) {
|
|
145
135
|
_l = prefetcher_3_1.value;
|
|
146
136
|
_m = false;
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
lastSeen = item;
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
finally {
|
|
155
|
-
_m = true;
|
|
137
|
+
const item = _l;
|
|
138
|
+
loopCount++;
|
|
139
|
+
if (item > lastSeen) {
|
|
140
|
+
lastSeen = item;
|
|
156
141
|
}
|
|
157
142
|
}
|
|
158
143
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterable-queue-mapper.test.js","sourceRoot":"","sources":["../../src/iterable-queue-mapper.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,23 @@
|
|
|
1
|
-
import { BlockingQueue } from './blocking-queue';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
* @default 8
|
|
9
|
-
*/
|
|
10
|
-
readonly maxUnread?: number;
|
|
11
|
-
}
|
|
1
|
+
import { BlockingQueue, BlockingQueueOptions } from './blocking-queue';
|
|
2
|
+
export type IterableQueueOptions = BlockingQueueOptions;
|
|
3
|
+
/**
|
|
4
|
+
* Exposes an `AsyncIterable` interface for the `BlockingQueue`.
|
|
5
|
+
*
|
|
6
|
+
* @category Low-Level
|
|
7
|
+
*/
|
|
12
8
|
export declare class IterableQueue<Element> extends BlockingQueue<Element> implements AsyncIterable<Element> {
|
|
13
9
|
/**
|
|
14
|
-
*
|
|
10
|
+
* Create a new `IterableQueue`
|
|
11
|
+
* @param options IterableQueue options
|
|
15
12
|
*/
|
|
16
13
|
constructor(options?: IterableQueueOptions);
|
|
17
14
|
[Symbol.asyncIterator](): AsyncIterator<Element>;
|
|
18
15
|
/**
|
|
19
16
|
* Used by the iterator returned from [Symbol.asyncIterator]
|
|
20
17
|
* Called every time an item is needed
|
|
18
|
+
*
|
|
21
19
|
* @returns Iterator result
|
|
22
20
|
*/
|
|
23
21
|
next(): Promise<IteratorResult<Element>>;
|
|
24
22
|
}
|
|
25
|
-
export {};
|
|
26
23
|
//# sourceMappingURL=iterable-queue.d.ts.map
|