@shutterstock/p-map-iterable 0.1.0 → 1.0.11
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 +19 -7
- package/dist/src/iterable-mapper.d.ts +16 -2
- package/dist/src/iterable-mapper.d.ts.map +1 -1
- package/dist/src/iterable-mapper.js +16 -2
- package/dist/src/iterable-mapper.js.map +1 -1
- package/dist/src/iterable-queue-mapper-simple.d.ts +37 -5
- package/dist/src/iterable-queue-mapper-simple.d.ts.map +1 -1
- package/dist/src/iterable-queue-mapper-simple.js +31 -2
- package/dist/src/iterable-queue-mapper-simple.js.map +1 -1
- package/dist/src/iterable-queue-mapper-simple.test.js +2 -2
- package/dist/src/iterable-queue-mapper-simple.test.js.map +1 -1
- package/dist/src/iterable-queue-mapper.d.ts +33 -10
- package/dist/src/iterable-queue-mapper.d.ts.map +1 -1
- package/dist/src/iterable-queue-mapper.js +33 -10
- package/dist/src/iterable-queue-mapper.js.map +1 -1
- package/package.json +4 -4
- package/dist/tsconfig.tsbuildinfo +0 -1
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
[](https://opensource.org/licenses/MIT) [](https://github.com/shutterstock/p-map-iterable/actions/workflows/ci.yml) [](https://github.com/shutterstock/p-map-iterable/actions/workflows/publish.yml)
|
|
1
|
+
[](https://opensource.org/licenses/MIT) [](https://tech.shutterstock.com/p-map-iterable/) [](https://github.com/shutterstock/p-map-iterable/actions/workflows/ci.yml) [](https://github.com/shutterstock/p-map-iterable/actions/workflows/publish.yml) [](https://github.com/shutterstock/p-map-iterable/actions/workflows/docs.yml)
|
|
2
2
|
|
|
3
3
|
# Overview
|
|
4
4
|
|
|
@@ -21,12 +21,24 @@ These classes will typically be helpful in batch or queue consumers, not as much
|
|
|
21
21
|
- We can also use `IterableQueueMapper.enqueue()` to write the files back to S3 without waiting for them to finish, unless we get more than, say, 3-4 files being uploaded at once, at which point we can pause until the current file is uploaded before we allow queuing another file for upload
|
|
22
22
|
- In the rare case that 3-4 files are uploading, but not yet finished, we would block on `.enqueue()` and not consume much CPU while waiting for at least 1 upload to finish
|
|
23
23
|
|
|
24
|
-
#
|
|
24
|
+
# Getting Started
|
|
25
|
+
|
|
26
|
+
## Installation
|
|
25
27
|
|
|
26
28
|
The package is available on npm as [@shutterstock/p-map-iterable](https://www.npmjs.com/package/@shutterstock/p-map-iterable)
|
|
27
29
|
|
|
28
30
|
`npm i @shutterstock/p-map-iterable`
|
|
29
31
|
|
|
32
|
+
## Importing
|
|
33
|
+
|
|
34
|
+
```typescript
|
|
35
|
+
import { IterableMapper, IterableQueueMapper, IterableQueueMapperSimple } from '@shutterstock/p-map-iterable';
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## API Documentation
|
|
39
|
+
|
|
40
|
+
After installing the package, you might want to look at our [API Documentation](https://tech.shutterstock.com/p-map-iterable/) to learn about all the features available.
|
|
41
|
+
|
|
30
42
|
# `p-map-iterable` vs `p-map` vs `p-queue`
|
|
31
43
|
|
|
32
44
|
These diagrams illustrate the differences in operation betweeen `p-map`, `p-queue`, and `p-map-iterable`.
|
|
@@ -45,28 +57,28 @@ These diagrams illustrate the differences in operation betweeen `p-map`, `p-queu
|
|
|
45
57
|
|
|
46
58
|
# Features
|
|
47
59
|
|
|
48
|
-
-
|
|
60
|
+
- [IterableMapper](https://tech.shutterstock.com/p-map-iterable/classes/IterableMapper.html)
|
|
49
61
|
- Interface and concept based on: [p-map](https://github.com/sindresorhus/p-map)
|
|
50
62
|
- Allows a sync or async iterable input
|
|
51
63
|
- User supplied sync or async mapper function
|
|
52
64
|
- Exposes an async iterable interface for consuming mapped items
|
|
53
65
|
- Allows a maximum queue depth of mapped items - if the consumer stops consuming, the queue will fill up, at which point the mapper will stop being invoked until an item is consumed from the queue
|
|
54
66
|
- This allows mapping with back pressure so that the mapper does not consume unlimited resources (e.g. memory, disk, network, event loop time) by racing ahead of the consumer
|
|
55
|
-
-
|
|
67
|
+
- [IterableQueueMapper](https://tech.shutterstock.com/p-map-iterable/classes/IterableQueueMapper.html)
|
|
56
68
|
- Wraps `IterableMapper`
|
|
57
69
|
- Adds items to the queue via the `enqueue` method
|
|
58
|
-
-
|
|
70
|
+
- [IterableQueueMapperSimple](https://tech.shutterstock.com/p-map-iterable/classes/IterableQueueMapperSimple.html)
|
|
59
71
|
- Wraps `IterableQueueMapper`
|
|
60
72
|
- Discards results as they become available
|
|
61
73
|
- Exposes any accumulated errors through the `errors` property instead of throwing an `AggregateError`
|
|
62
74
|
- Not actually `Iterable` - May rename this before 1.0.0
|
|
63
75
|
|
|
64
76
|
## Lower Level Utilities
|
|
65
|
-
-
|
|
77
|
+
- [IterableQueue](https://tech.shutterstock.com/p-map-iterable/classes/IterableQueue.html)
|
|
66
78
|
- Lower level utility class
|
|
67
79
|
- Wraps `BlockingQueue`
|
|
68
80
|
- Exposes an async iterable interface for consuming items in the queue
|
|
69
|
-
-
|
|
81
|
+
- [BlockingQueue](https://tech.shutterstock.com/p-map-iterable/classes/BlockingQueue.html)
|
|
70
82
|
- Lower level utility class
|
|
71
83
|
- `dequeue` blocks until an item is available or until all items have been removed, then returns `undefined`
|
|
72
84
|
- `enqueue` blocks if the queue is full
|
|
@@ -42,7 +42,7 @@ export type Mapper<Element = unknown, NewElement = unknown> = (element: Element,
|
|
|
42
42
|
*
|
|
43
43
|
* @remarks
|
|
44
44
|
*
|
|
45
|
-
*
|
|
45
|
+
* This allows performing a concurrent mapping with
|
|
46
46
|
* back pressure (won't iterate all source items if the consumer is
|
|
47
47
|
* not reading).
|
|
48
48
|
*
|
|
@@ -69,7 +69,21 @@ export declare class IterableMapper<Element, NewElement> implements AsyncIterabl
|
|
|
69
69
|
* Create a new `IterableMapper`
|
|
70
70
|
*
|
|
71
71
|
* @param input Iterated over concurrently in the `mapper` function.
|
|
72
|
-
* @param mapper Function which is called for every item in `input`.
|
|
72
|
+
* @param mapper Function which is called for every item in `input`.
|
|
73
|
+
* Expected to return a `Promise` or value.
|
|
74
|
+
*
|
|
75
|
+
* The `mapper` *should* handle all errors and not allow an error to be thrown
|
|
76
|
+
* out of the `mapper` function as this enables the best handling of errors
|
|
77
|
+
* closest to the time that they occur.
|
|
78
|
+
*
|
|
79
|
+
* If the `mapper` function does allow an error to be thrown then the
|
|
80
|
+
* `stopOnMapperError` option controls the behavior:
|
|
81
|
+
* - `stopOnMapperError`: `true` - will throw the error
|
|
82
|
+
* out of `next` or the `AsyncIterator` returned from `[Symbol.asyncIterator]`
|
|
83
|
+
* and stop processing.
|
|
84
|
+
* - `stopOnMapperError`: `false` - will continue processing
|
|
85
|
+
* and accumulate the errors to be thrown from `next` or the `AsyncIterator`
|
|
86
|
+
* returned from `[Symbol.asyncIterator]` when all items have been processed.
|
|
73
87
|
* @param options IterableMapper options
|
|
74
88
|
*/
|
|
75
89
|
constructor(input: AsyncIterable<Element> | Iterable<Element>, mapper: Mapper<Element, NewElement>, options?: IterableMapperOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterable-mapper.d.ts","sourceRoot":"","sources":["../../src/iterable-mapper.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;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;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,CAAC,OAAO,GAAG,OAAO,EAAE,UAAU,GAAG,OAAO,IAAI,CAC5D,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,KACV,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAUtC;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,cAAc,CAAC,OAAO,EAAE,UAAU,CAAE,YAAW,aAAa,CAAC,UAAU,CAAC;IACnF,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,QAAQ,CAAkC;IAElD,OAAO,CAAC,YAAY,CAA+C;IAEnE,OAAO,CAAC,SAAS,CAA6C;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,sBAAsB,CAAS;IAEvC
|
|
1
|
+
{"version":3,"file":"iterable-mapper.d.ts","sourceRoot":"","sources":["../../src/iterable-mapper.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;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;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,CAAC,OAAO,GAAG,OAAO,EAAE,UAAU,GAAG,OAAO,IAAI,CAC5D,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,KACV,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAUtC;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,cAAc,CAAC,OAAO,EAAE,UAAU,CAAE,YAAW,aAAa,CAAC,UAAU,CAAC;IACnF,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,QAAQ,CAAkC;IAElD,OAAO,CAAC,YAAY,CAA+C;IAEnE,OAAO,CAAC,SAAS,CAA6C;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,cAAc,CAAK;IAC3B,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,sBAAsB,CAAS;IAEvC;;;;;;;;;;;;;;;;;;;;OAoBG;gBAED,KAAK,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG,QAAQ,CAAC,OAAO,CAAC,EACjD,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,EACnC,OAAO,GAAE,qBAA0B;IAwF9B,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC;IAI1D;;;;;OAKG;IACU,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAyBxD,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,oBAAoB;IAuB5B,OAAO,CAAC,kBAAkB;IAwB1B,OAAO,CAAC,SAAS;IAiBjB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IASpB;;;;;;;;;;;;;;OAcG;YACW,UAAU;CAiHzB"}
|
|
@@ -15,7 +15,7 @@ const iterable_queue_1 = require("./iterable-queue");
|
|
|
15
15
|
*
|
|
16
16
|
* @remarks
|
|
17
17
|
*
|
|
18
|
-
*
|
|
18
|
+
* This allows performing a concurrent mapping with
|
|
19
19
|
* back pressure (won't iterate all source items if the consumer is
|
|
20
20
|
* not reading).
|
|
21
21
|
*
|
|
@@ -30,7 +30,21 @@ class IterableMapper {
|
|
|
30
30
|
* Create a new `IterableMapper`
|
|
31
31
|
*
|
|
32
32
|
* @param input Iterated over concurrently in the `mapper` function.
|
|
33
|
-
* @param mapper Function which is called for every item in `input`.
|
|
33
|
+
* @param mapper Function which is called for every item in `input`.
|
|
34
|
+
* Expected to return a `Promise` or value.
|
|
35
|
+
*
|
|
36
|
+
* The `mapper` *should* handle all errors and not allow an error to be thrown
|
|
37
|
+
* out of the `mapper` function as this enables the best handling of errors
|
|
38
|
+
* closest to the time that they occur.
|
|
39
|
+
*
|
|
40
|
+
* If the `mapper` function does allow an error to be thrown then the
|
|
41
|
+
* `stopOnMapperError` option controls the behavior:
|
|
42
|
+
* - `stopOnMapperError`: `true` - will throw the error
|
|
43
|
+
* out of `next` or the `AsyncIterator` returned from `[Symbol.asyncIterator]`
|
|
44
|
+
* and stop processing.
|
|
45
|
+
* - `stopOnMapperError`: `false` - will continue processing
|
|
46
|
+
* and accumulate the errors to be thrown from `next` or the `AsyncIterator`
|
|
47
|
+
* returned from `[Symbol.asyncIterator]` when all items have been processed.
|
|
34
48
|
* @param options IterableMapper options
|
|
35
49
|
*/
|
|
36
50
|
constructor(input, mapper, options = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterable-mapper.js","sourceRoot":"","sources":["../../src/iterable-mapper.ts"],"names":[],"mappings":";;;;AAAA,EAAE;AACF,sGAAsG;AACtG,EAAE;AACF,8EAA6C;AAC7C,qDAAiD;AAqDjD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAa,cAAc;IAgBzB
|
|
1
|
+
{"version":3,"file":"iterable-mapper.js","sourceRoot":"","sources":["../../src/iterable-mapper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,22 @@
|
|
|
1
1
|
import { Mapper } from './iterable-mapper';
|
|
2
|
-
type Errors =
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
type Errors<T> = {
|
|
3
|
+
item: T;
|
|
4
|
+
error: string | {
|
|
5
|
+
[key: string]: any;
|
|
6
|
+
} | Error;
|
|
7
|
+
}[];
|
|
5
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
|
+
*
|
|
6
20
|
* Accepts items for mapping in the background, discards the results,
|
|
7
21
|
* but accumulates exceptions in the `errors` property.
|
|
8
22
|
*
|
|
@@ -20,7 +34,16 @@ export declare class IterableQueueMapperSimple<Element> {
|
|
|
20
34
|
/**
|
|
21
35
|
* Create a new `IterableQueueMapperSimple`
|
|
22
36
|
*
|
|
23
|
-
* @param mapper Function which is called for every item in `input`.
|
|
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
|
|
24
47
|
*/
|
|
25
48
|
constructor(mapper: Mapper<Element, void>, options?: {
|
|
26
49
|
/**
|
|
@@ -33,8 +56,17 @@ export declare class IterableQueueMapperSimple<Element> {
|
|
|
33
56
|
private worker;
|
|
34
57
|
/**
|
|
35
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
|
|
36
68
|
*/
|
|
37
|
-
get errors(): Errors
|
|
69
|
+
get errors(): Errors<Element>;
|
|
38
70
|
/**
|
|
39
71
|
* Accept a request for sending in the background if a concurrency slot is available.
|
|
40
72
|
* Else, do not return until a concurrency slot is freed up.
|
|
@@ -1 +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,
|
|
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"}
|
|
@@ -5,6 +5,17 @@ const tslib_1 = require("tslib");
|
|
|
5
5
|
const iterable_queue_mapper_1 = require("./iterable-queue-mapper");
|
|
6
6
|
const NoResult = Symbol('noresult');
|
|
7
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
|
+
*
|
|
8
19
|
* Accepts items for mapping in the background, discards the results,
|
|
9
20
|
* but accumulates exceptions in the `errors` property.
|
|
10
21
|
*
|
|
@@ -17,7 +28,16 @@ class IterableQueueMapperSimple {
|
|
|
17
28
|
/**
|
|
18
29
|
* Create a new `IterableQueueMapperSimple`
|
|
19
30
|
*
|
|
20
|
-
* @param mapper Function which is called for every item in `input`.
|
|
31
|
+
* @param mapper Function which is called for every item in `input`.
|
|
32
|
+
* Expected to return a `Promise` or value.
|
|
33
|
+
*
|
|
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
|
|
21
41
|
*/
|
|
22
42
|
constructor(mapper, options = {}) {
|
|
23
43
|
this._errors = [];
|
|
@@ -47,13 +67,22 @@ class IterableQueueMapperSimple {
|
|
|
47
67
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
48
68
|
}
|
|
49
69
|
catch (error) {
|
|
50
|
-
this._errors.push(error);
|
|
70
|
+
this._errors.push({ item, error });
|
|
51
71
|
}
|
|
52
72
|
return NoResult;
|
|
53
73
|
});
|
|
54
74
|
}
|
|
55
75
|
/**
|
|
56
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
|
|
57
86
|
*/
|
|
58
87
|
get errors() {
|
|
59
88
|
return this._errors;
|
|
@@ -1 +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
|
|
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"}
|
|
@@ -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);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterable-queue-mapper-simple.test.js","sourceRoot":"","sources":["../../src/iterable-queue-mapper-simple.test.ts"],"names":[],"mappings":";;;AAAA,8BAA8B;AAC9B,+BAAiC;AACjC,iFAA2E;AAE3E,MAAM,KAAK,GAAG,IAAA,gBAAS,EAAC,UAAU,CAAC,CAAC;AAEpC,QAAQ,CAAC,2BAA2B,EAAE,GAAG,EAAE;IACzC,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,GAAS,EAAE;QACjD,6DAA6D;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAO,IAAY,EAAiB,EAAE;YAC3D,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,CAAC,CAAA,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAG,IAAI,wDAAyB,CAAC,MAAM,CAAC,CAAC;QAE/D,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAElC,sFAAsF;QACtF,MAAM,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAEhC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACzC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAA,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAS,EAAE;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,6DAA6D;QAC7D,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAO,IAAY,EAAiB,EAAE;YAC3D,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC;QACnC,CAAC,CAAA,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAG,IAAI,wDAAyB,CAAC,MAAM,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;QAEnF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YAC3B,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAElC,IAAI,gBAAgB,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACxC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;gBAC3D,MAAM;aACP;SACF;QACD,sFAAsF;QACtF,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,gBAAgB,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE3C,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;
|
|
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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"}
|
|
@@ -24,20 +24,29 @@ export interface IterableQueueMapperOptions {
|
|
|
24
24
|
readonly stopOnMapperError?: boolean;
|
|
25
25
|
}
|
|
26
26
|
/**
|
|
27
|
-
*
|
|
28
|
-
*
|
|
27
|
+
* Accepts queue items via `enqueue` and calls the `mapper` on them
|
|
28
|
+
* with specified concurrency, storing the
|
|
29
29
|
* `mapper` result in a queue of specified max size, before
|
|
30
|
-
* being iterated / read by the caller.
|
|
30
|
+
* being iterated / read by the caller. The `enqueue` method will block if
|
|
31
|
+
* the queue is full, until an item is read.
|
|
31
32
|
*
|
|
32
33
|
* @remarks
|
|
33
34
|
*
|
|
34
|
-
*
|
|
35
|
-
* back pressure
|
|
36
|
-
*
|
|
35
|
+
* This allows performing a concurrent mapping with
|
|
36
|
+
* back pressure for items added after queue creation
|
|
37
|
+
* via a method call.
|
|
37
38
|
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
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.
|
|
41
50
|
*
|
|
42
51
|
* @category Enqueue Input
|
|
43
52
|
*/
|
|
@@ -47,7 +56,21 @@ export declare class IterableQueueMapper<Element, NewElement> implements AsyncIt
|
|
|
47
56
|
/**
|
|
48
57
|
* Create a new `IterableQueueMapper`
|
|
49
58
|
*
|
|
50
|
-
* @param mapper Function which is called for every item in `input`.
|
|
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.
|
|
51
74
|
* @param options IterableQueueMapper options
|
|
52
75
|
*/
|
|
53
76
|
constructor(mapper: Mapper<Element, NewElement>, options?: IterableQueueMapperOptions);
|
|
@@ -1 +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
|
|
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"}
|
|
@@ -8,20 +8,29 @@ const tslib_1 = require("tslib");
|
|
|
8
8
|
const iterable_mapper_1 = require("./iterable-mapper");
|
|
9
9
|
const iterable_queue_1 = require("./iterable-queue");
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
11
|
+
* Accepts queue items via `enqueue` and calls the `mapper` on them
|
|
12
|
+
* with specified concurrency, storing the
|
|
13
13
|
* `mapper` result in a queue of specified max size, before
|
|
14
|
-
* being iterated / read by the caller.
|
|
14
|
+
* being iterated / read by the caller. The `enqueue` method will block if
|
|
15
|
+
* the queue is full, until an item is read.
|
|
15
16
|
*
|
|
16
17
|
* @remarks
|
|
17
18
|
*
|
|
18
|
-
*
|
|
19
|
-
* back pressure
|
|
20
|
-
*
|
|
19
|
+
* This allows performing a concurrent mapping with
|
|
20
|
+
* back pressure for items added after queue creation
|
|
21
|
+
* via a method call.
|
|
21
22
|
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
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.
|
|
25
34
|
*
|
|
26
35
|
* @category Enqueue Input
|
|
27
36
|
*/
|
|
@@ -29,7 +38,21 @@ class IterableQueueMapper {
|
|
|
29
38
|
/**
|
|
30
39
|
* Create a new `IterableQueueMapper`
|
|
31
40
|
*
|
|
32
|
-
* @param mapper Function which is called for every item in `input`.
|
|
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.
|
|
33
56
|
* @param options IterableQueueMapper options
|
|
34
57
|
*/
|
|
35
58
|
constructor(mapper, options = {}) {
|
|
@@ -1 +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
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shutterstock/p-map-iterable",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "1.0.11",
|
|
4
4
|
"description": "Async iterable that maps an async iterable input with backpressure.",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"types": "dist/index.d.ts",
|
|
5
|
+
"main": "dist/src/index.js",
|
|
6
|
+
"types": "dist/src/index.d.ts",
|
|
7
7
|
"publishConfig": {
|
|
8
8
|
"access": "public"
|
|
9
9
|
},
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"AsyncIterator"
|
|
20
20
|
],
|
|
21
21
|
"scripts": {
|
|
22
|
-
"build": "tsc --build tsconfig.json && echo 'examples
|
|
22
|
+
"build": "tsc --build tsconfig.json && echo 'examples/\n*.tsbuildinfo' > dist/.npmignore",
|
|
23
23
|
"build:docs": "typedoc src/index.ts",
|
|
24
24
|
"example:iterable-mapper": "ts-node -r tsconfig-paths/register examples/iterable-mapper.ts",
|
|
25
25
|
"example:iterable-queue-mapper": "ts-node -r tsconfig-paths/register examples/iterable-queue-mapper.ts",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.dom.iterable.d.ts","../node_modules/typescript/lib/lib.webworker.importscripts.d.ts","../node_modules/typescript/lib/lib.scripthost.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../node_modules/typescript/lib/lib.es2016.full.d.ts","../node_modules/tslib/tslib.d.ts","../node_modules/aggregate-error/index.d.ts","../src/queue.ts","../src/blocking-queue.ts","../src/iterable-queue.ts","../src/iterable-mapper.ts","../src/iterable-queue-mapper.ts","../src/iterable-queue-mapper-simple.ts","../src/index.ts","../examples/iterable-mapper.ts","../examples/iterable-queue-mapper-simple.ts","../examples/iterable-queue-mapper.ts","../node_modules/@jest/expect-utils/build/index.d.ts","../node_modules/chalk/index.d.ts","../node_modules/@sinclair/typebox/typebox.d.ts","../node_modules/@jest/schemas/build/index.d.ts","../node_modules/pretty-format/build/index.d.ts","../node_modules/jest-diff/build/index.d.ts","../node_modules/jest-matcher-utils/build/index.d.ts","../node_modules/expect/build/index.d.ts","../node_modules/@types/jest/index.d.ts","../src/blocking-queue.test.ts","../src/iterable-mapper.test.ts","../src/iterable-queue-mapper-simple.test.ts","../src/iterable-queue-mapper.test.ts","../src/iterable-queue.test.ts","../src/queue.test.ts","../node_modules/@babel/types/lib/index.d.ts","../node_modules/@types/babel__generator/index.d.ts","../node_modules/@babel/parser/typings/babel-parser.d.ts","../node_modules/@types/babel__template/index.d.ts","../node_modules/@types/babel__traverse/index.d.ts","../node_modules/@types/babel__core/index.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/dom-events.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/readline/promises.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/test.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@types/graceful-fs/index.d.ts","../node_modules/@types/istanbul-lib-coverage/index.d.ts","../node_modules/@types/istanbul-lib-report/index.d.ts","../node_modules/@types/istanbul-reports/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/prettier/index.d.ts","../node_modules/@types/semver/classes/semver.d.ts","../node_modules/@types/semver/functions/parse.d.ts","../node_modules/@types/semver/functions/valid.d.ts","../node_modules/@types/semver/functions/clean.d.ts","../node_modules/@types/semver/functions/inc.d.ts","../node_modules/@types/semver/functions/diff.d.ts","../node_modules/@types/semver/functions/major.d.ts","../node_modules/@types/semver/functions/minor.d.ts","../node_modules/@types/semver/functions/patch.d.ts","../node_modules/@types/semver/functions/prerelease.d.ts","../node_modules/@types/semver/functions/compare.d.ts","../node_modules/@types/semver/functions/rcompare.d.ts","../node_modules/@types/semver/functions/compare-loose.d.ts","../node_modules/@types/semver/functions/compare-build.d.ts","../node_modules/@types/semver/functions/sort.d.ts","../node_modules/@types/semver/functions/rsort.d.ts","../node_modules/@types/semver/functions/gt.d.ts","../node_modules/@types/semver/functions/lt.d.ts","../node_modules/@types/semver/functions/eq.d.ts","../node_modules/@types/semver/functions/neq.d.ts","../node_modules/@types/semver/functions/gte.d.ts","../node_modules/@types/semver/functions/lte.d.ts","../node_modules/@types/semver/functions/cmp.d.ts","../node_modules/@types/semver/functions/coerce.d.ts","../node_modules/@types/semver/classes/comparator.d.ts","../node_modules/@types/semver/classes/range.d.ts","../node_modules/@types/semver/functions/satisfies.d.ts","../node_modules/@types/semver/ranges/max-satisfying.d.ts","../node_modules/@types/semver/ranges/min-satisfying.d.ts","../node_modules/@types/semver/ranges/to-comparators.d.ts","../node_modules/@types/semver/ranges/min-version.d.ts","../node_modules/@types/semver/ranges/valid.d.ts","../node_modules/@types/semver/ranges/outside.d.ts","../node_modules/@types/semver/ranges/gtr.d.ts","../node_modules/@types/semver/ranges/ltr.d.ts","../node_modules/@types/semver/ranges/intersects.d.ts","../node_modules/@types/semver/ranges/simplify.d.ts","../node_modules/@types/semver/ranges/subset.d.ts","../node_modules/@types/semver/internals/identifiers.d.ts","../node_modules/@types/semver/index.d.ts","../node_modules/@types/stack-utils/index.d.ts","../node_modules/@types/yargs-parser/index.d.ts","../node_modules/@types/yargs/index.d.ts"],"fileInfos":[{"version":"f59215c5f1d886b05395ee7aca73e0ac69ddfad2843aa88530e797879d511bad","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","27147504487dc1159369da4f4da8a26406364624fa9bc3db632f7d94a5bae2c3","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4",{"version":"3dda5344576193a4ae48b8d03f105c86f20b2f2aff0a1d1fd7935f5d68649654","affectsGlobalScope":true},{"version":"35299ae4a62086698444a5aaee27fc7aa377c68cbb90b441c9ace246ffd05c97","affectsGlobalScope":true},{"version":"c5c5565225fce2ede835725a92a28ece149f83542aa4866cfb10290bff7b8996","affectsGlobalScope":true},{"version":"7d2dbc2a0250400af0809b0ad5f84686e84c73526de931f84560e483eb16b03c","affectsGlobalScope":true},{"version":"9d9885c728913c1d16e0d2831b40341d6ad9a0ceecaabc55209b306ad9c736a5","affectsGlobalScope":true},{"version":"17bea081b9c0541f39dd1ae9bc8c78bdd561879a682e60e2f25f688c0ecab248","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"ab22100fdd0d24cfc2cc59d0a00fc8cf449830d9c4030dc54390a46bd562e929","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"36ae84ccc0633f7c0787bc6108386c8b773e95d3b052d9464a99cd9b8795fbec","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"f06948deb2a51aae25184561c9640fb66afeddb34531a9212d011792b1d19e0a","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"307c8b7ebbd7f23a92b73a4c6c0a697beca05b06b036c23a34553e5fe65e4fdc","affectsGlobalScope":true},{"version":"189c0703923150aa30673fa3de411346d727cc44a11c75d05d7cf9ef095daa22","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},"11d072996eb4179a2697bb0cbaaa6372bd0ec2890d7ea25bc8b17454e2bce322","4576b4e61049f5ffd7c9e935cf88832e089265bdb15ffc35077310042cbbbeea","328a1fa274148774e073eca994d92974dface2c68b37bd7cd594a1e551a2a8b7",{"version":"f796bc7697e4c0caf469572c0037d0d9380a07a093c2d0e807244d19f10e1bc4","signature":"685f28dbdb5265b64513b935e6595136de1127c8afe471b24dc2a01041cb6a4e"},{"version":"c7d40fdc6361b261260b2be89e7e9a3d0b44ecb633a5c322749a725acc841093","signature":"6641461747cec9260735535d2c187bfd9499a9f2f307e515995bcbccbcba692a"},{"version":"f8177753ced2b7e7630148e8c825c5a8144143de8b8e8f9111c2750a1435ea77","signature":"9018d4d2efdf041617669c0ac5cd2fda90b707b1e95ba12e54f74a8904052c10"},{"version":"fb61325e82f67163dea92125f4e0a1e84a1c8d592abc1dcd4954ca6a6db6ba64","signature":"ff1eb282c4cb5643a1b75be8cb70278932a8e66087b304a8cf02a413952d7409"},{"version":"5d2f410c15656e71eacbfe52028b0d7f7ac6c219321628ce48e750850a3d0153","signature":"b70b98a2ff1cc74acac0b27c3153ec145ddd389d6e545a639b6189e8de1dd93f"},{"version":"b83e92c5638b4a246625972d36532016c1afe7abc46ed412de42deff997d646d","signature":"d8dc3b82c1c9d6c00da5994cece721f9032046824b002e382bfaf3f6e1a13db4"},{"version":"282cb51e0058b941a33b9a1b8f25c442fe7f36631ea751015a7b8174271259a1","signature":"0faec5f7582a28105b3ca2ed9750a71077b55a12889ec5e1f7ea2959fcfae769"},{"version":"a44d921f01fee35e6b8e0e0e6c8ee3296a2053b2f6839e49a886bffebbf5913f","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a77a4fc70012a69052813dac40fa3e8f0973bfd8e2db991f2d9068944172a38d","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"5ef553438418ff46d3fada51babbe695bd907f5c1d1ab158cc77cf9b40591570","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"6c1e688f95fcaf53b1e41c0fdadf2c1cfc96fa924eaf7f9fdb60f96deb0a4986","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","db25694be959314fd1e868d72e567746db1db9e2001fae545d12d2a8c1bba1b8","43883cf3635bb1846cbdc6c363787b76227677388c74f7313e3f0edb380840fa","2d47012580f859dae201d2eef898a416bdae719dffc087dfd06aefe3de2f9c8d","3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","2cec1a31729b9b01e9294c33fc9425d336eff067282809761ad2e74425d6d2a5",{"version":"240c702fb4b3bd54d83ee167d80fa7f0cd7300fef7eea0b32cef33129740893c","affectsGlobalScope":true},{"version":"1c9572ab5bfbce4bea760e67743427a75f8f990101b7819051525f52a3c499c9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f0b5321fe8706b23599a73b6dc811bb3a23c7bc542c93bfc1488970c9e3c14ca","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"8b635c1674ae67922747b1b216b7f09da175dc1c4eadada0582402ec29f0652e","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"f275121c82304f61440795d5ab829e532fcc7536bd798cf5706ffb5db778b717","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"a5b42c6c740fda2fbc5202658d632f0b6475ff33c170b62b61eb73785d495983","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"58a32ab4eb5f54861d05b83456581cf0c0ed61c52d8a7d943b92668d50c01685","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},"ac65f04c2df0218cb8e54f012745cbfcc3c0e67c1f6b1e557d88842bbb72e2db","cc957354aa3c94c9961ebf46282cfde1e81d107fc5785a61f62c67f1dd3ac2eb","a2e86df4db576d80704e25293cec6f20fc6101a11f4747440e2eef58fb3c860c","93de1c6dab503f053efe8d304cb522bb3a89feab8c98f307a674a4fae04773e9","6704f0b54df85640baaeebd86c9d4a1dbb661d5a4d57a75bc84162f562f6531d","9d255af1b09c6697089d3c9bf438292a298d8b7a95c68793c9aae80afc9e5ca7","587f13f1e8157bd8cec0adda0de4ef558bb8573daa9d518d1e2af38e87ecc91f","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"bce910d9164785c9f0d4dcea4be359f5f92130c7c7833dea6138ab1db310a1f9","affectsGlobalScope":true},"7a435e0c814f58f23e9a0979045ec0ef5909aac95a70986e8bcce30c27dff228",{"version":"241a2e19e03fd1d884e0f304429378d05bc2c1b26b5693c84868f7ad0674982d","affectsGlobalScope":true},"db71be322f07f769200108aa19b79a75dd19a187c9dca2a30c4537b233aa2863","0b70ce7a20fa21c7201a5a972b7f2288cb90ace8a2dde9f3344b5dfc6504abaf",{"version":"49479e21a040c0177d1b1bc05a124c0383df7a08a0726ad4d9457619642e875a","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","3fd0f1af75fb7abe0ea376aa71541daaf489f3d87c394b1165db684ea44b48be","3690133deae19c8127c5505fcb67b04bdc9eb053796008538a9b9abbb70d85aa","5b1c0a23f464f894e7c2b2b6c56df7b9afa60ed48c5345f8618d389a636b2108","be2b092f2765222757c6441b86c53a5ea8dfed47bbc43eab4c5fe37942c866b3","8e6b05abc98adba15e1ac78e137c64576c74002e301d682e66feb77a23907ab8","1ca735bb3d407b2af4fbee7665f3a0a83be52168c728cc209755060ba7ed67bd",{"version":"6b526a5ec4a401ca7c26cfe6a48e641d8f30af76673bad3b06a1b4504594a960","affectsGlobalScope":true},{"version":"b85c02e14ecb2a873dad5a1de72319b265160ba48f1b83661aeb3bba1366c1bc","affectsGlobalScope":true},"f1a0b2dde686cb8a995d4ed11848be5eaf76fd5d56532942e0737b39d4a02c6d","fc3764040518a1008dd04bdc80964591b566b896283e00df85c95851c1f46237","55709608060f77965c270ac10ac646286589f1bd1cb174fff1778a2dd9a7ef31","790623a47c5eda62910098884ecb154dc0e5f3a23fc36c1bfb3b5b9ed44e2c2d","42b40e40f2a358cda332456214fad311e1806a6abf3cebaaac72496e07556642","354612fe1d49ecc9551ea3a27d94eef2887b64ef4a71f72ca444efe0f2f0ba80",{"version":"125af9d85cb9d5e508353f10a8d52f01652d2d48b2cea54789a33e5b4d289c1c","affectsGlobalScope":true},"6a325d4c96569bdd5a9a59f819a672e2d5644ee6cf98ab910e0064402557af8d","5e2b91328a540a0933ab5c2203f4358918e6f0fe7505d22840a891a6117735f1","3abc3512fa04aa0230f59ea1019311fd8667bd935d28306311dccc8b17e79d5d",{"version":"14a50dafe3f45713f7f27cb6320dff07c6ac31678f07959c2134260061bf91ff","affectsGlobalScope":true},{"version":"5761c90b0cabdd6bd1f5fb1c3bf942088fdd39e18ed35dbe39b0c34bc733bf13","affectsGlobalScope":true},"1349077576abb41f0e9c78ec30762ff75b710208aff77f5fdcc6a8c8ce6289dd","e2ce82603102b5c0563f59fb40314cc1ff95a4d521a66ad14146e130ea80d89c","a3e0395220255a350aa9c6d56f882bfcb5b85c19fddf5419ec822cf22246a26d","c27b01e8ddff5cd280711af5e13aecd9a3228d1c256ea797dd64f8fdec5f7df5","898840e876dfd21843db9f2aa6ae38ba2eab550eb780ff62b894b9fbfebfae6b","0cab4d7d4edc40cd3af9eea7c3ed6d1016910c0954c49c4297e479bf3822a625","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","785e5be57d4f20f290a20e7b0c6263f6c57fd6e51283050756cef07d6d651c68","44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","164deb2409ac5f4da3cd139dbcee7f7d66753d90363a4d7e2db8d8874f272270","1fb6c5ec52332a8b531a8d7a5300ac9301f98c4fe62f68e744e0841ccba65e7e",{"version":"ab294c4b7279318ee2a8fdf681305457ecc05970c94108d304933f18823eeac1","affectsGlobalScope":true},"ad08154d9602429522cac965a715fde27d421d69b24756c5d291877dda75353e","bbda6ea452a2386093a1eda18a6e26a989e98869f1b9f37e46f510a986d2e740","812b25f798033c202baedf386a1ccc41f9191b122f089bffd10fdccce99fba11","244cdeb8c344eb42e6142cbb0727752b9b735443fba7007c11b14ca06ebed97c",{"version":"75dd741ca6a6c8d2437a6ca8349b64b816421dbf9fe82dd026afaba965576962","affectsGlobalScope":true},{"version":"8799401a7ab57764f0d464513a7fa7c72e1d70a226b172ec60fff534ea94d108","affectsGlobalScope":true},"2ce2210032ccaff7710e2abf6a722e62c54960458e73e356b6a365c93ab6ca66","92db194ef7d208d5e4b6242a3434573fd142a621ff996d84cc9dbba3553277d0","69f5747ad0887c24c76858ed458712101771349f2287e21871fcd1562daa7dc0",{"version":"0bd9543cd8fc0959c76fb8f4f5a26626c2ed62ef4be98fd857bce268066db0a2","affectsGlobalScope":true},"1ca6858a0cbcd74d7db72d7b14c5360a928d1d16748a55ecfa6bfaff8b83071b",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"220717df86539e219f619d31965d177e7235185e4bc6f6e6ed7e11a9b004d5ca","bf88ef4208a770ca39a844b182b3695df536326ea566893fdc5b8418702a331e","8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","f5638f7c2f12a9a1a57b5c41b3c1ea7db3876c003bab68e6a57afd6bcc169af0","dca41e86e89dfb2e85e6935260250f02eb6683b86c2fa16bec729ddd1bcd9b4b","d88a5e779faf033be3d52142a04fbe1cb96009868e3bbdd296b2bc6c59e06c0e","2b93035328f7778d200252681c1d86285d501ed424825a18f81e4c3028aa51d9","2ac9c8332c5f8510b8bdd571f8271e0f39b0577714d5e95c1e79a12b2616f069","42c21aa963e7b86fa00801d96e88b36803188018d5ad91db2a9101bccd40b3ff","d31eb848cdebb4c55b4893b335a7c0cca95ad66dee13cbb7d0893810c0a9c301","b9f96255e1048ed2ea33ec553122716f0e57fc1c3ad778e9aa15f5b46547bd23","7a9e0a564fee396cacf706523b5aeed96e04c6b871a8bebefad78499fbffc5bc","906c751ef5822ec0dadcea2f0e9db64a33fb4ee926cc9f7efa38afe5d5371b2a","5387c049e9702f2d2d7ece1a74836a14b47fbebe9bbeb19f94c580a37c855351","c68391fb9efad5d99ff332c65b1606248c4e4a9f1dd9a087204242b56c7126d6","e9cf02252d3a0ced987d24845dcb1f11c1be5541f17e5daa44c6de2d18138d0c","e8b02b879754d85f48489294f99147aeccc352c760d95a6fe2b6e49cd400b2fe","9f6908ab3d8a86c68b86e38578afc7095114e66b2fc36a2a96e9252aac3998e0","0eedb2344442b143ddcd788f87096961cd8572b64f10b4afc3356aa0460171c6","71405cc70f183d029cc5018375f6c35117ffdaf11846c35ebf85ee3956b1b2a6","c68baff4d8ba346130e9753cefe2e487a16731bf17e05fdacc81e8c9a26aae9d","2cd15528d8bb5d0453aa339b4b52e0696e8b07e790c153831c642c3dea5ac8af","479d622e66283ffa9883fbc33e441f7fc928b2277ff30aacbec7b7761b4e9579","ade307876dc5ca267ca308d09e737b611505e015c535863f22420a11fffc1c54","f8cdefa3e0dee639eccbe9794b46f90291e5fd3989fcba60d2f08fde56179fb9","86c5a62f99aac7053976e317dbe9acb2eaf903aaf3d2e5bb1cafe5c2df7b37a8","2b300954ce01a8343866f737656e13243e86e5baef51bd0631b21dcef1f6e954","a2d409a9ffd872d6b9d78ead00baa116bbc73cfa959fce9a2f29d3227876b2a1","b288936f560cd71f4a6002953290de9ff8dfbfbf37f5a9391be5c83322324898","61178a781ef82e0ff54f9430397e71e8f365fc1e3725e0e5346f2de7b0d50dfa","6a6ccb37feb3aad32d9be026a3337db195979cd5727a616fc0f557e974101a54","c649ea79205c029a02272ef55b7ab14ada0903db26144d2205021f24727ac7a3","38e2b02897c6357bbcff729ef84c736727b45cc152abe95a7567caccdfad2a1d","d6610ea7e0b1a7686dba062a1e5544dd7d34140f4545305b7c6afaebfb348341","3dee35db743bdba2c8d19aece7ac049bde6fa587e195d86547c882784e6ba34c","b15e55c5fa977c2f25ca0b1db52cfa2d1fd4bf0baf90a8b90d4a7678ca462ff1","f41d30972724714763a2698ae949fbc463afb203b5fa7c4ad7e4de0871129a17","843dd7b6a7c6269fd43827303f5cbe65c1fecabc30b4670a50d5a15d57daeeb9","f06d8b8567ee9fd799bf7f806efe93b67683ef24f4dea5b23ef12edff4434d9d","6017384f697ff38bc3ef6a546df5b230c3c31329db84cbfe686c83bec011e2b2","e1a5b30d9248549ca0c0bb1d653bafae20c64c4aa5928cc4cd3017b55c2177b0","a593632d5878f17295bd53e1c77f27bf4c15212822f764a2bfc1702f4b413fa0","a868a534ba1c2ca9060b8a13b0ffbbbf78b4be7b0ff80d8c75b02773f7192c29","da7545aba8f54a50fde23e2ede00158dc8112560d934cee58098dfb03aae9b9d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","a1a261624efb3a00ff346b13580f70f3463b8cdcc58b60f5793ff11785d52cab","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","70e9a18da08294f75bf23e46c7d69e67634c0765d355887b9b41f0d959e1426e","e9eb1b173aa166892f3eddab182e49cfe59aa2e14d33aedb6b49d175ed6a3750"],"root":[[51,60],[70,75]],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationMap":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"importHelpers":true,"module":1,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"target":3},"fileIdsList":[[49,57,128],[49,50,57,128],[76,128],[128],[63,128],[76,77,78,79,80,128],[76,78,128],[99,128,135],[128,137],[128,138],[65,68,128],[82,128],[85,128],[86,91,119,128],[87,98,99,106,116,127,128],[87,88,98,106,128],[89,128],[90,91,99,107,128],[91,116,124,128],[92,94,98,106,128],[93,128],[94,95,128],[98,128],[96,98,128],[98,99,100,116,127,128],[98,99,100,113,116,119,128],[128,132],[94,98,101,106,116,127,128],[98,99,101,102,106,116,124,127,128],[101,103,116,124,127,128],[82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134],[98,104,128],[105,127,128],[94,98,106,116,128],[107,128],[108,128],[85,109,128],[110,126,128,132],[111,128],[112,128],[98,113,114,128],[113,115,128,130],[86,98,116,117,118,119,128],[86,116,118,128],[116,117,128],[119,128],[120,128],[116,128],[98,122,123,128],[122,123,128],[91,106,116,124,128],[125,128],[106,126,128],[86,101,112,127,128],[91,128],[116,128,129],[128,130],[128,131],[86,91,98,100,109,116,127,128,130,132],[116,128,133],[128,142,181],[128,142,166,181],[128,181],[128,142],[128,142,167,181],[128,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180],[128,167,181],[128,183],[61,67,128],[65,128],[62,66,128],[64,128],[49,52,69,128],[49,51,128],[49,51,52,53,54,55,56,128],[49,54,69,128],[49,50,53,128],[49,56,69,128],[49,54,55,128],[49,55,69,128],[49,53,54,128],[49,53,69,128],[49,52,128],[49,51,69,128],[49,128],[51,52,53,54,55,56],[54],[52]],"referencedMap":[[58,1],[59,1],[60,2],[78,3],[76,4],[61,4],[64,5],[63,4],[81,6],[77,3],[79,7],[80,3],[136,8],[137,4],[138,9],[139,10],[69,11],[140,4],[82,12],[83,12],[85,13],[86,14],[87,15],[88,16],[89,17],[90,18],[91,19],[92,20],[93,21],[94,22],[95,22],[97,23],[96,24],[98,23],[99,25],[100,26],[84,27],[134,4],[101,28],[102,29],[103,30],[135,31],[104,32],[105,33],[106,34],[107,35],[108,36],[109,37],[110,38],[111,39],[112,40],[113,41],[114,41],[115,42],[116,43],[118,44],[117,45],[119,46],[120,47],[121,48],[122,49],[123,50],[124,51],[125,52],[126,53],[127,54],[128,55],[129,56],[130,57],[131,58],[132,59],[133,60],[141,4],[166,61],[167,62],[142,63],[145,63],[164,61],[165,61],[155,61],[154,64],[152,61],[147,61],[160,61],[158,61],[162,61],[146,61],[159,61],[163,61],[148,61],[149,61],[161,61],[143,61],[150,61],[151,61],[153,61],[157,61],[168,65],[156,61],[144,61],[181,66],[180,4],[175,65],[177,67],[176,65],[169,65],[170,65],[172,65],[174,65],[178,67],[179,67],[171,67],[173,67],[182,4],[183,4],[184,68],[50,4],[62,4],[68,69],[66,70],[67,71],[65,72],[49,4],[46,4],[47,4],[8,4],[9,4],[13,4],[12,4],[2,4],[14,4],[15,4],[16,4],[17,4],[18,4],[19,4],[20,4],[21,4],[3,4],[48,4],[4,4],[25,4],[22,4],[23,4],[24,4],[26,4],[27,4],[28,4],[5,4],[29,4],[30,4],[31,4],[32,4],[6,4],[36,4],[33,4],[34,4],[35,4],[37,4],[7,4],[38,4],[43,4],[44,4],[39,4],[40,4],[41,4],[42,4],[1,4],[45,4],[11,4],[10,4],[70,73],[52,74],[57,75],[71,76],[54,77],[72,78],[56,79],[73,80],[55,81],[74,82],[53,83],[75,84],[51,85]],"exportedModulesMap":[[78,3],[76,4],[61,4],[64,5],[63,4],[81,6],[77,3],[79,7],[80,3],[136,8],[137,4],[138,9],[139,10],[69,11],[140,4],[82,12],[83,12],[85,13],[86,14],[87,15],[88,16],[89,17],[90,18],[91,19],[92,20],[93,21],[94,22],[95,22],[97,23],[96,24],[98,23],[99,25],[100,26],[84,27],[134,4],[101,28],[102,29],[103,30],[135,31],[104,32],[105,33],[106,34],[107,35],[108,36],[109,37],[110,38],[111,39],[112,40],[113,41],[114,41],[115,42],[116,43],[118,44],[117,45],[119,46],[120,47],[121,48],[122,49],[123,50],[124,51],[125,52],[126,53],[127,54],[128,55],[129,56],[130,57],[131,58],[132,59],[133,60],[141,4],[166,61],[167,62],[142,63],[145,63],[164,61],[165,61],[155,61],[154,64],[152,61],[147,61],[160,61],[158,61],[162,61],[146,61],[159,61],[163,61],[148,61],[149,61],[161,61],[143,61],[150,61],[151,61],[153,61],[157,61],[168,65],[156,61],[144,61],[181,66],[180,4],[175,65],[177,67],[176,65],[169,65],[170,65],[172,65],[174,65],[178,67],[179,67],[171,67],[173,67],[182,4],[183,4],[184,68],[50,4],[62,4],[68,69],[66,70],[67,71],[65,72],[49,4],[46,4],[47,4],[8,4],[9,4],[13,4],[12,4],[2,4],[14,4],[15,4],[16,4],[17,4],[18,4],[19,4],[20,4],[21,4],[3,4],[48,4],[4,4],[25,4],[22,4],[23,4],[24,4],[26,4],[27,4],[28,4],[5,4],[29,4],[30,4],[31,4],[32,4],[6,4],[36,4],[33,4],[34,4],[35,4],[37,4],[7,4],[38,4],[43,4],[44,4],[39,4],[40,4],[41,4],[42,4],[1,4],[45,4],[11,4],[10,4],[57,86],[56,87],[55,87],[53,88]],"semanticDiagnosticsPerFile":[58,59,60,78,76,61,64,63,81,77,79,80,136,137,138,139,69,140,82,83,85,86,87,88,89,90,91,92,93,94,95,97,96,98,99,100,84,134,101,102,103,135,104,105,106,107,108,109,110,111,112,113,114,115,116,118,117,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,141,166,167,142,145,164,165,155,154,152,147,160,158,162,146,159,163,148,149,161,143,150,151,153,157,168,156,144,181,180,175,177,176,169,170,172,174,178,179,171,173,182,183,184,50,62,68,66,67,65,49,46,47,8,9,13,12,2,14,15,16,17,18,19,20,21,3,48,4,25,22,23,24,26,27,28,5,29,30,31,32,6,36,33,34,35,37,7,38,43,44,39,40,41,42,1,45,11,10,70,52,57,71,54,72,56,73,55,74,53,75,51],"latestChangedDtsFile":"./src/queue.test.d.ts"},"version":"5.1.3"}
|