@shutterstock/p-map-iterable 1.0.11 → 1.1.0
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 +5 -2
- package/dist/src/blocking-queue.js +61 -70
- package/dist/src/blocking-queue.js.map +1 -1
- package/dist/src/blocking-queue.test.js +68 -69
- package/dist/src/blocking-queue.test.js.map +1 -1
- package/dist/src/iterable-mapper.d.ts.map +1 -1
- package/dist/src/iterable-mapper.js +112 -116
- package/dist/src/iterable-mapper.js.map +1 -1
- package/dist/src/iterable-mapper.test.js +319 -720
- package/dist/src/iterable-mapper.test.js.map +1 -1
- package/dist/src/iterable-queue-mapper-simple.js +27 -36
- package/dist/src/iterable-queue-mapper-simple.js.map +1 -1
- package/dist/src/iterable-queue-mapper-simple.test.js +34 -35
- package/dist/src/iterable-queue-mapper-simple.test.js.map +1 -1
- package/dist/src/iterable-queue-mapper.js +4 -9
- package/dist/src/iterable-queue-mapper.js.map +1 -1
- package/dist/src/iterable-queue-mapper.test.js +35 -77
- package/dist/src/iterable-queue-mapper.test.js.map +1 -1
- package/dist/src/iterable-queue.js +8 -11
- package/dist/src/iterable-queue.js.map +1 -1
- package/dist/src/iterable-queue.test.js +42 -121
- package/dist/src/iterable-queue.test.js.map +1 -1
- package/package.json +8 -3
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
3
|
/// <reference types="jest" />
|
|
5
4
|
const iterable_queue_mapper_1 = require("./iterable-queue-mapper");
|
|
6
5
|
const util_1 = require("util");
|
|
7
6
|
const sleep = (0, util_1.promisify)(setTimeout);
|
|
8
|
-
function mapper({ value, ms }) {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return value;
|
|
12
|
-
});
|
|
7
|
+
async function mapper({ value, ms }) {
|
|
8
|
+
await sleep(ms);
|
|
9
|
+
return value;
|
|
13
10
|
}
|
|
14
11
|
describe('IterableQueueMapper', () => {
|
|
15
12
|
beforeAll(() => {
|
|
@@ -19,8 +16,7 @@ describe('IterableQueueMapper', () => {
|
|
|
19
16
|
jest.clearAllMocks();
|
|
20
17
|
});
|
|
21
18
|
describe('simple tests', () => {
|
|
22
|
-
it('simple mapper works - sync mapper', () =>
|
|
23
|
-
var _a, e_1, _b, _c;
|
|
19
|
+
it('simple mapper works - sync mapper', async () => {
|
|
24
20
|
const max = 100;
|
|
25
21
|
let total = 0;
|
|
26
22
|
let callCount = 0;
|
|
@@ -30,40 +26,27 @@ describe('IterableQueueMapper', () => {
|
|
|
30
26
|
return total;
|
|
31
27
|
});
|
|
32
28
|
// Enqueue items in the background
|
|
33
|
-
void (() =>
|
|
29
|
+
void (async () => {
|
|
34
30
|
for (let i = 0; i < max; i++) {
|
|
35
|
-
|
|
36
|
-
|
|
31
|
+
await sleep(1 * (i % 10));
|
|
32
|
+
await prefetcher.enqueue(i + 1);
|
|
37
33
|
}
|
|
38
34
|
prefetcher.done();
|
|
39
|
-
})
|
|
35
|
+
})();
|
|
40
36
|
let lastTotal = 0;
|
|
41
37
|
let loopCount = 0;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
const item = _c;
|
|
47
|
-
loopCount++;
|
|
48
|
-
if (item > lastTotal) {
|
|
49
|
-
lastTotal = item;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
54
|
-
finally {
|
|
55
|
-
try {
|
|
56
|
-
if (!_d && !_a && (_b = prefetcher_1.return)) yield _b.call(prefetcher_1);
|
|
38
|
+
for await (const item of prefetcher) {
|
|
39
|
+
loopCount++;
|
|
40
|
+
if (item > lastTotal) {
|
|
41
|
+
lastTotal = item;
|
|
57
42
|
}
|
|
58
|
-
finally { if (e_1) throw e_1.error; }
|
|
59
43
|
}
|
|
60
44
|
expect(callCount).toBe(max);
|
|
61
45
|
expect(loopCount).toBe(max);
|
|
62
46
|
expect(total).toBe((max * (max + 1)) / 2);
|
|
63
47
|
expect(lastTotal).toBe((max * (max + 1)) / 2);
|
|
64
|
-
})
|
|
65
|
-
it('right number run in parallel - simple', () =>
|
|
66
|
-
var _e, e_2, _f, _g;
|
|
48
|
+
});
|
|
49
|
+
it('right number run in parallel - simple', async () => {
|
|
67
50
|
const startTime = Date.now();
|
|
68
51
|
const max = 8;
|
|
69
52
|
const delayBetweenMs = 200;
|
|
@@ -79,81 +62,56 @@ describe('IterableQueueMapper', () => {
|
|
|
79
62
|
];
|
|
80
63
|
const prefetcher = new iterable_queue_mapper_1.IterableQueueMapper(mapper, { concurrency: 2, maxUnread: 4 });
|
|
81
64
|
// Enqueue items in the background
|
|
82
|
-
void (() =>
|
|
65
|
+
void (async () => {
|
|
83
66
|
for (const item of input) {
|
|
84
|
-
|
|
67
|
+
await prefetcher.enqueue(item);
|
|
85
68
|
}
|
|
86
69
|
prefetcher.done();
|
|
87
|
-
})
|
|
70
|
+
})();
|
|
88
71
|
let lastTotal = 0;
|
|
89
72
|
let loopCount = 0;
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
const item = _g;
|
|
95
|
-
loopCount++;
|
|
96
|
-
if (item > lastTotal) {
|
|
97
|
-
lastTotal = item;
|
|
98
|
-
}
|
|
73
|
+
for await (const item of prefetcher) {
|
|
74
|
+
loopCount++;
|
|
75
|
+
if (item > lastTotal) {
|
|
76
|
+
lastTotal = item;
|
|
99
77
|
}
|
|
100
78
|
}
|
|
101
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
102
|
-
finally {
|
|
103
|
-
try {
|
|
104
|
-
if (!_h && !_e && (_f = prefetcher_2.return)) yield _f.call(prefetcher_2);
|
|
105
|
-
}
|
|
106
|
-
finally { if (e_2) throw e_2.error; }
|
|
107
|
-
}
|
|
108
79
|
expect(loopCount).toBe(max);
|
|
109
80
|
expect(lastTotal).toBe(max);
|
|
110
81
|
// Should require at least 4 batches
|
|
111
82
|
expect(Date.now() - startTime).toBeLessThan(5 * delayBetweenMs);
|
|
112
83
|
expect(Date.now() - startTime).toBeGreaterThan(4 * delayBetweenMs);
|
|
113
|
-
})
|
|
114
|
-
it('right number run in parallel - complex', () =>
|
|
115
|
-
var _j, e_3, _k, _l;
|
|
84
|
+
});
|
|
85
|
+
it('right number run in parallel - complex', async () => {
|
|
116
86
|
const prefetcher = new iterable_queue_mapper_1.IterableQueueMapper(mapper, { concurrency: 4, maxUnread: 4 });
|
|
117
87
|
const delayBetweenMs = 500;
|
|
118
88
|
// First 4 added should not wait at all
|
|
119
89
|
const startTime = Date.now();
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
90
|
+
await prefetcher.enqueue({ value: 1, ms: delayBetweenMs });
|
|
91
|
+
await prefetcher.enqueue({ value: 2, ms: delayBetweenMs });
|
|
92
|
+
await prefetcher.enqueue({ value: 3, ms: delayBetweenMs });
|
|
93
|
+
await prefetcher.enqueue({ value: 4, ms: delayBetweenMs });
|
|
124
94
|
expect(Date.now() - startTime).toBeLessThan(delayBetweenMs);
|
|
125
95
|
// Next one added should have had to wait for at least one wait period
|
|
126
|
-
void (() =>
|
|
127
|
-
|
|
96
|
+
void (async () => {
|
|
97
|
+
await prefetcher.enqueue({ value: 5, ms: delayBetweenMs });
|
|
128
98
|
expect(Date.now() - startTime).toBeGreaterThanOrEqual(delayBetweenMs);
|
|
129
99
|
prefetcher.done();
|
|
130
|
-
})
|
|
100
|
+
})();
|
|
131
101
|
let lastSeen = 0;
|
|
132
102
|
let loopCount = 0;
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
const item = _l;
|
|
138
|
-
loopCount++;
|
|
139
|
-
if (item > lastSeen) {
|
|
140
|
-
lastSeen = item;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
145
|
-
finally {
|
|
146
|
-
try {
|
|
147
|
-
if (!_m && !_j && (_k = prefetcher_3.return)) yield _k.call(prefetcher_3);
|
|
103
|
+
for await (const item of prefetcher) {
|
|
104
|
+
loopCount++;
|
|
105
|
+
if (item > lastSeen) {
|
|
106
|
+
lastSeen = item;
|
|
148
107
|
}
|
|
149
|
-
finally { if (e_3) throw e_3.error; }
|
|
150
108
|
}
|
|
151
109
|
expect(loopCount).toBe(5);
|
|
152
110
|
expect(lastSeen).toBe(5);
|
|
153
111
|
// Should require at least 2 batches
|
|
154
112
|
expect(Date.now() - startTime).toBeLessThan(2.5 * delayBetweenMs);
|
|
155
113
|
expect(Date.now() - startTime).toBeGreaterThan(2 * delayBetweenMs);
|
|
156
|
-
})
|
|
114
|
+
});
|
|
157
115
|
});
|
|
158
116
|
});
|
|
159
117
|
//# sourceMappingURL=iterable-queue-mapper.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterable-queue-mapper.test.js","sourceRoot":"","sources":["../../src/iterable-queue-mapper.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"iterable-queue-mapper.test.js","sourceRoot":"","sources":["../../src/iterable-queue-mapper.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.IterableQueue = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
4
|
const blocking_queue_1 = require("./blocking-queue");
|
|
6
5
|
/**
|
|
7
6
|
* Exposes an `AsyncIterable` interface for the `BlockingQueue`.
|
|
@@ -25,16 +24,14 @@ class IterableQueue extends blocking_queue_1.BlockingQueue {
|
|
|
25
24
|
*
|
|
26
25
|
* @returns Iterator result
|
|
27
26
|
*/
|
|
28
|
-
next() {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
return { value: item, done: false };
|
|
37
|
-
});
|
|
27
|
+
async next() {
|
|
28
|
+
// Check if queue has an item
|
|
29
|
+
const item = await this.dequeue();
|
|
30
|
+
if (item === undefined) {
|
|
31
|
+
// We finished - There were no more items
|
|
32
|
+
return { value: undefined, done: true };
|
|
33
|
+
}
|
|
34
|
+
return { value: item, done: false };
|
|
38
35
|
}
|
|
39
36
|
}
|
|
40
37
|
exports.IterableQueue = IterableQueue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterable-queue.js","sourceRoot":"","sources":["../../src/iterable-queue.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"iterable-queue.js","sourceRoot":"","sources":["../../src/iterable-queue.ts"],"names":[],"mappings":";;;AAAA,qDAAuE;AAIvE;;;;GAIG;AACH,MAAa,aACX,SAAQ,8BAAsB;IAG9B;;;OAGG;IACH,YAAY,UAAgC,EAAE;QAC5C,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAEM,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,IAAI;QACf,6BAA6B;QAC7B,MAAM,IAAI,GAAwB,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QAEvD,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,yCAAyC;YACzC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SACzC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACtC,CAAC;CACF;AAjCD,sCAiCC"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const tslib_1 = require("tslib");
|
|
4
3
|
/// <reference types="jest" />
|
|
5
4
|
const iterable_queue_1 = require("./iterable-queue");
|
|
6
5
|
describe('IterableQueue', () => {
|
|
@@ -11,32 +10,18 @@ describe('IterableQueue', () => {
|
|
|
11
10
|
jest.clearAllMocks();
|
|
12
11
|
});
|
|
13
12
|
describe('maxUnread: 0', () => {
|
|
14
|
-
it('single item enqueue / iterate works and ends', () =>
|
|
15
|
-
var _a, e_1, _b, _c;
|
|
13
|
+
it('single item enqueue / iterate works and ends', async () => {
|
|
16
14
|
const queue = new iterable_queue_1.IterableQueue({ maxUnread: 0 });
|
|
17
15
|
void queue.enqueue(1);
|
|
18
16
|
queue.done();
|
|
19
17
|
let iteratedCount = 0;
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
_d = false;
|
|
24
|
-
const item = _c;
|
|
25
|
-
expect(item).toBe(1);
|
|
26
|
-
iteratedCount++;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
30
|
-
finally {
|
|
31
|
-
try {
|
|
32
|
-
if (!_d && !_a && (_b = queue_1.return)) yield _b.call(queue_1);
|
|
33
|
-
}
|
|
34
|
-
finally { if (e_1) throw e_1.error; }
|
|
18
|
+
for await (const item of queue) {
|
|
19
|
+
expect(item).toBe(1);
|
|
20
|
+
iteratedCount++;
|
|
35
21
|
}
|
|
36
22
|
expect(iteratedCount).toBe(1);
|
|
37
|
-
})
|
|
38
|
-
it('full queue blocks enqueue until dequeue', () =>
|
|
39
|
-
var _e, e_2, _f, _g;
|
|
23
|
+
});
|
|
24
|
+
it('full queue blocks enqueue until dequeue', async () => {
|
|
40
25
|
const queue = new iterable_queue_1.IterableQueue({ maxUnread: 0 });
|
|
41
26
|
const items = [1, 2];
|
|
42
27
|
// Add first item
|
|
@@ -50,28 +35,15 @@ describe('IterableQueue', () => {
|
|
|
50
35
|
}, 3000);
|
|
51
36
|
const startTime = Date.now();
|
|
52
37
|
let iteratedCount = 0;
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
_h = false;
|
|
57
|
-
const item = _g;
|
|
58
|
-
expect(item).toBe(items[iteratedCount]);
|
|
59
|
-
iteratedCount++;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
63
|
-
finally {
|
|
64
|
-
try {
|
|
65
|
-
if (!_h && !_e && (_f = queue_2.return)) yield _f.call(queue_2);
|
|
66
|
-
}
|
|
67
|
-
finally { if (e_2) throw e_2.error; }
|
|
38
|
+
for await (const item of queue) {
|
|
39
|
+
expect(item).toBe(items[iteratedCount]);
|
|
40
|
+
iteratedCount++;
|
|
68
41
|
}
|
|
69
42
|
expect(iteratedCount).toBe(2);
|
|
70
43
|
const duration = Date.now() - startTime;
|
|
71
44
|
expect(duration).toBeGreaterThanOrEqual(3000);
|
|
72
|
-
})
|
|
73
|
-
it('mixed dequeue / iterator works', () =>
|
|
74
|
-
var _j, e_3, _k, _l;
|
|
45
|
+
});
|
|
46
|
+
it('mixed dequeue / iterator works', async () => {
|
|
75
47
|
const queue = new iterable_queue_1.IterableQueue({ maxUnread: 0 });
|
|
76
48
|
const items = [1, 2];
|
|
77
49
|
// Wait for first item to add
|
|
@@ -85,70 +57,44 @@ describe('IterableQueue', () => {
|
|
|
85
57
|
}, 3000);
|
|
86
58
|
const startTime = Date.now();
|
|
87
59
|
let iteratedCount = 0;
|
|
88
|
-
const firstItem =
|
|
60
|
+
const firstItem = await queue.dequeue();
|
|
89
61
|
expect(firstItem).toBe(items[iteratedCount]);
|
|
90
62
|
iteratedCount++;
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
const item = _l;
|
|
96
|
-
expect(item).toBe(items[iteratedCount]);
|
|
97
|
-
iteratedCount++;
|
|
98
|
-
expect(Date.now() - startTime).toBeGreaterThanOrEqual(2000);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
102
|
-
finally {
|
|
103
|
-
try {
|
|
104
|
-
if (!_m && !_j && (_k = queue_3.return)) yield _k.call(queue_3);
|
|
105
|
-
}
|
|
106
|
-
finally { if (e_3) throw e_3.error; }
|
|
63
|
+
for await (const item of queue) {
|
|
64
|
+
expect(item).toBe(items[iteratedCount]);
|
|
65
|
+
iteratedCount++;
|
|
66
|
+
expect(Date.now() - startTime).toBeGreaterThanOrEqual(2000);
|
|
107
67
|
}
|
|
108
68
|
expect(iteratedCount).toBe(2);
|
|
109
69
|
const duration = Date.now() - startTime;
|
|
110
70
|
expect(duration).toBeGreaterThanOrEqual(3000);
|
|
111
|
-
})
|
|
71
|
+
});
|
|
112
72
|
});
|
|
113
73
|
describe('maxUnread: 1', () => {
|
|
114
|
-
it('single item enqueue / iterate works and ends', () =>
|
|
115
|
-
var _a, e_4, _b, _c;
|
|
74
|
+
it('single item enqueue / iterate works and ends', async () => {
|
|
116
75
|
const queue = new iterable_queue_1.IterableQueue({ maxUnread: 1 });
|
|
117
|
-
|
|
76
|
+
await queue.enqueue(1);
|
|
118
77
|
queue.done();
|
|
119
78
|
let iteratedCount = 0;
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
_d = false;
|
|
124
|
-
const item = _c;
|
|
125
|
-
expect(item).toBe(1);
|
|
126
|
-
iteratedCount++;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
130
|
-
finally {
|
|
131
|
-
try {
|
|
132
|
-
if (!_d && !_a && (_b = queue_4.return)) yield _b.call(queue_4);
|
|
133
|
-
}
|
|
134
|
-
finally { if (e_4) throw e_4.error; }
|
|
79
|
+
for await (const item of queue) {
|
|
80
|
+
expect(item).toBe(1);
|
|
81
|
+
iteratedCount++;
|
|
135
82
|
}
|
|
136
83
|
expect(iteratedCount).toBe(1);
|
|
137
|
-
})
|
|
138
|
-
it('enqueue after done throws', () =>
|
|
84
|
+
});
|
|
85
|
+
it('enqueue after done throws', async () => {
|
|
139
86
|
const queue = new iterable_queue_1.IterableQueue({ maxUnread: 1 });
|
|
140
|
-
|
|
141
|
-
const item =
|
|
87
|
+
await queue.enqueue(1);
|
|
88
|
+
const item = await queue.dequeue();
|
|
142
89
|
queue.done();
|
|
143
|
-
|
|
90
|
+
await expect(async () => queue.enqueue(2)).rejects.toThrowError('`enqueue` called after `done` called');
|
|
144
91
|
expect(item).toBe(1);
|
|
145
|
-
})
|
|
146
|
-
it('full queue blocks enqueue until dequeue', () =>
|
|
147
|
-
var _e, e_5, _f, _g;
|
|
92
|
+
});
|
|
93
|
+
it('full queue blocks enqueue until dequeue', async () => {
|
|
148
94
|
const queue = new iterable_queue_1.IterableQueue({ maxUnread: 1 });
|
|
149
95
|
const items = [1, 2];
|
|
150
96
|
// Wait for first item to add
|
|
151
|
-
|
|
97
|
+
await queue.enqueue(items[0]);
|
|
152
98
|
// Do not wait for second item to add (it will wait until an enqueue completes)
|
|
153
99
|
setTimeout(() => {
|
|
154
100
|
void queue.enqueue(items[1]);
|
|
@@ -158,32 +104,19 @@ describe('IterableQueue', () => {
|
|
|
158
104
|
}, 3000);
|
|
159
105
|
const startTime = Date.now();
|
|
160
106
|
let iteratedCount = 0;
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
_h = false;
|
|
165
|
-
const item = _g;
|
|
166
|
-
expect(item).toBe(items[iteratedCount]);
|
|
167
|
-
iteratedCount++;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
catch (e_5_1) { e_5 = { error: e_5_1 }; }
|
|
171
|
-
finally {
|
|
172
|
-
try {
|
|
173
|
-
if (!_h && !_e && (_f = queue_5.return)) yield _f.call(queue_5);
|
|
174
|
-
}
|
|
175
|
-
finally { if (e_5) throw e_5.error; }
|
|
107
|
+
for await (const item of queue) {
|
|
108
|
+
expect(item).toBe(items[iteratedCount]);
|
|
109
|
+
iteratedCount++;
|
|
176
110
|
}
|
|
177
111
|
expect(iteratedCount).toBe(2);
|
|
178
112
|
const duration = Date.now() - startTime;
|
|
179
113
|
expect(duration).toBeGreaterThanOrEqual(3000);
|
|
180
|
-
})
|
|
181
|
-
it('mixed dequeue / iterator works', () =>
|
|
182
|
-
var _j, e_6, _k, _l;
|
|
114
|
+
});
|
|
115
|
+
it('mixed dequeue / iterator works', async () => {
|
|
183
116
|
const queue = new iterable_queue_1.IterableQueue({ maxUnread: 1 });
|
|
184
117
|
const items = [1, 2];
|
|
185
118
|
// Wait for first item to add
|
|
186
|
-
|
|
119
|
+
await queue.enqueue(items[0]);
|
|
187
120
|
// Do not wait for second item to add (it will wait until an enqueue completes)
|
|
188
121
|
setTimeout(() => {
|
|
189
122
|
void queue.enqueue(items[1]);
|
|
@@ -193,30 +126,18 @@ describe('IterableQueue', () => {
|
|
|
193
126
|
}, 3000);
|
|
194
127
|
const startTime = Date.now();
|
|
195
128
|
let iteratedCount = 0;
|
|
196
|
-
const firstItem =
|
|
129
|
+
const firstItem = await queue.dequeue();
|
|
197
130
|
expect(firstItem).toBe(items[iteratedCount]);
|
|
198
131
|
iteratedCount++;
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
const item = _l;
|
|
204
|
-
expect(item).toBe(items[iteratedCount]);
|
|
205
|
-
iteratedCount++;
|
|
206
|
-
expect(Date.now() - startTime).toBeGreaterThanOrEqual(2000);
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
catch (e_6_1) { e_6 = { error: e_6_1 }; }
|
|
210
|
-
finally {
|
|
211
|
-
try {
|
|
212
|
-
if (!_m && !_j && (_k = queue_6.return)) yield _k.call(queue_6);
|
|
213
|
-
}
|
|
214
|
-
finally { if (e_6) throw e_6.error; }
|
|
132
|
+
for await (const item of queue) {
|
|
133
|
+
expect(item).toBe(items[iteratedCount]);
|
|
134
|
+
iteratedCount++;
|
|
135
|
+
expect(Date.now() - startTime).toBeGreaterThanOrEqual(2000);
|
|
215
136
|
}
|
|
216
137
|
expect(iteratedCount).toBe(2);
|
|
217
138
|
const duration = Date.now() - startTime;
|
|
218
139
|
expect(duration).toBeGreaterThanOrEqual(3000);
|
|
219
|
-
})
|
|
140
|
+
});
|
|
220
141
|
});
|
|
221
142
|
});
|
|
222
143
|
//# sourceMappingURL=iterable-queue.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iterable-queue.test.js","sourceRoot":"","sources":["../../src/iterable-queue.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"iterable-queue.test.js","sourceRoot":"","sources":["../../src/iterable-queue.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@shutterstock/p-map-iterable",
|
|
3
|
-
"version": "1.0
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "Set of classes that allow you to call mappers with controlled concurrency on iterables or on queues",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"types": "dist/src/index.d.ts",
|
|
7
7
|
"publishConfig": {
|
|
@@ -11,10 +11,15 @@
|
|
|
11
11
|
"keywords": [
|
|
12
12
|
"p-map",
|
|
13
13
|
"p-map-iterable",
|
|
14
|
+
"blocking-queue",
|
|
15
|
+
"iterable-queue",
|
|
16
|
+
"mapping",
|
|
14
17
|
"iterable",
|
|
18
|
+
"queue",
|
|
15
19
|
"async",
|
|
16
20
|
"promise",
|
|
17
|
-
"
|
|
21
|
+
"back-pressure",
|
|
22
|
+
"flow-control",
|
|
18
23
|
"AsyncIterable",
|
|
19
24
|
"AsyncIterator"
|
|
20
25
|
],
|