@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 CHANGED
@@ -1,4 +1,4 @@
1
- [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT) [![Build - CI](https://github.com/shutterstock/p-map-iterable/actions/workflows/ci.yml/badge.svg)](https://github.com/shutterstock/p-map-iterable/actions/workflows/ci.yml) [![Package and Publish](https://github.com/shutterstock/p-map-iterable/actions/workflows/publish.yml/badge.svg)](https://github.com/shutterstock/p-map-iterable/actions/workflows/publish.yml)
1
+ [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](https://opensource.org/licenses/MIT) [![API Docs](https://img.shields.io/badge/API%20Docs-View%20Here-blue)](https://tech.shutterstock.com/p-map-iterable/) [![Build - CI](https://github.com/shutterstock/p-map-iterable/actions/workflows/ci.yml/badge.svg)](https://github.com/shutterstock/p-map-iterable/actions/workflows/ci.yml) [![Package and Publish](https://github.com/shutterstock/p-map-iterable/actions/workflows/publish.yml/badge.svg)](https://github.com/shutterstock/p-map-iterable/actions/workflows/publish.yml) [![Publish Docs](https://github.com/shutterstock/p-map-iterable/actions/workflows/docs.yml/badge.svg)](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
- # Installation
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
- - `IterableMapper`
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
- - `IterableQueueMapper`
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
- - `IterableQueueMapperSimple`
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
- - `IterableQueue`
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
- - `BlockingQueue`
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
- * Essentially - This allows performing a concurrent mapping with
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`. Expected to return a `Promise` or value.
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;;;;;;OAMG;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"}
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
- * Essentially - This allows performing a concurrent mapping with
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`. Expected to return a `Promise` or value.
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":"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"}
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 = (string | {
3
- [key: string]: any;
4
- } | Error)[];
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`. Expected to return a `Promise` or value.
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,GAAG,CAAC,MAAM,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GAAG,KAAK,CAAC,EAAE,CAAC;AAI1D;;;;;;;;GAQG;AACH,qBAAa,yBAAyB,CAAC,OAAO;IAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgD;IACxE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAwB;IAChD,OAAO,CAAC,OAAO,CAAS;IAExB;;;;OAIG;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;;OAEG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;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"}
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`. Expected to return a `Promise` or value.
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;;;;;;;;GAQG;AACH,MAAa,yBAAyB;IAOpC;;;;OAIG;IACH,YACE,MAA6B,EAC7B,UAMI,EAAE;QAlBS,YAAO,GAAW,EAAE,CAAC;QAG9B,YAAO,GAAG,KAAK,CAAC;QAiBtB,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,KAAK,CAAC,CAAC;aAC1B;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;IAED;;OAEG;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;AAhGD,8DAgGC"}
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":"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"}
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
- * Iterates over a source iterable with specified concurrency,
28
- * calling the `mapper` on each iterated item, and storing the
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
- * Essentially - This allows performing a concurrent mapping with
35
- * back pressure (won't iterate all source items if the consumer is
36
- * not reading).
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
- * Typical use case is for a `prefetcher` that ensures that items
39
- * are always ready for the consumer but that large numbers of items
40
- * are not processed before the consumer is ready for them.
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`. Expected to return a `Promise` or value.
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;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,mBAAmB,CAAC,OAAO,EAAE,UAAU,CAAE,YAAW,aAAa,CAAC,UAAU,CAAC;IACxF,OAAO,CAAC,eAAe,CAAsC;IAE7D,OAAO,CAAC,eAAe,CAAyB;IAEhD;;;;;OAKG;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"}
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
- * Iterates over a source iterable with specified concurrency,
12
- * calling the `mapper` on each iterated item, and storing the
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
- * Essentially - This allows performing a concurrent mapping with
19
- * back pressure (won't iterate all source items if the consumer is
20
- * not reading).
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
- * Typical use case is for a `prefetcher` that ensures that items
23
- * are always ready for the consumer but that large numbers of items
24
- * are not processed before the consumer is ready for them.
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`. Expected to return a `Promise` or value.
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;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAa,mBAAmB;IAK9B;;;;;OAKG;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;AAhDD,kDAgDC"}
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": "0.1.0",
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/' > dist/.npmignore",
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"}