-
Notifications
You must be signed in to change notification settings - Fork 0
/
parallels.spec.ts
37 lines (33 loc) · 997 Bytes
/
parallels.spec.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import { sf } from "./index";
it("Works merge parallel", async () => {
const { readable, writable } = new TransformStream<number, number>();
(async function () {
const w = writable.getWriter();
console.log("writing");
await Promise.all([
sf([1, 2, 3])
.map((e) => w.write(e))
.done(),
sf([4, 5, 6])
.map((e) => w.write(e))
.done(),
]);
console.log("written");
await w.close();
})();
expect(await sf(readable).toArray()).toEqual([1, 4, 2, 5, 3, 6]);
});
it("Works merge parallel 2", async () => {
const srcs = [sf([1, 2, 3]), sf([4, 5, 6])];
const { readable, writable } = new TransformStream<number, number>();
(async function () {
const w = writable.getWriter();
console.log("writing");
await sf(srcs)
.pMap((s) => s.map((e) => w.write(e)).done())
.done();
console.log("written");
await w.close();
})();
expect(await sf(readable).toArray()).toEqual([1, 4, 2, 5, 3, 6]);
});