@adviser/cement 0.4.38 → 0.4.40
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/cjs/resolve-once.cjs +2 -2
- package/cjs/resolve-once.cjs.map +1 -1
- package/cjs/resolve-once.d.ts +9 -9
- package/cjs/resolve-once.d.ts.map +1 -1
- package/cjs/resolve-once.test.cjs +30 -0
- package/cjs/resolve-once.test.cjs.map +1 -1
- package/cjs/utils/consume.cjs +65 -0
- package/cjs/utils/consume.cjs.map +1 -0
- package/cjs/utils/consume.d.ts +7 -0
- package/cjs/utils/consume.d.ts.map +1 -0
- package/cjs/utils/consume.test.cjs +204 -0
- package/cjs/utils/consume.test.cjs.map +1 -0
- package/cjs/utils/consume.test.d.ts +2 -0
- package/cjs/utils/consume.test.d.ts.map +1 -0
- package/cjs/utils/index.cjs +1 -0
- package/cjs/utils/index.cjs.map +1 -1
- package/cjs/utils/index.d.ts +1 -0
- package/cjs/utils/index.d.ts.map +1 -1
- package/cjs/version.cjs +1 -1
- package/deno.json +1 -1
- package/esm/resolve-once.d.ts +9 -9
- package/esm/resolve-once.d.ts.map +1 -1
- package/esm/resolve-once.js +2 -2
- package/esm/resolve-once.js.map +1 -1
- package/esm/resolve-once.test.js +30 -0
- package/esm/resolve-once.test.js.map +1 -1
- package/esm/utils/consume.d.ts +7 -0
- package/esm/utils/consume.d.ts.map +1 -0
- package/esm/utils/consume.js +61 -0
- package/esm/utils/consume.js.map +1 -0
- package/esm/utils/consume.test.d.ts +2 -0
- package/esm/utils/consume.test.d.ts.map +1 -0
- package/esm/utils/consume.test.js +202 -0
- package/esm/utils/consume.test.js.map +1 -0
- package/esm/utils/index.d.ts +1 -0
- package/esm/utils/index.d.ts.map +1 -1
- package/esm/utils/index.js +1 -0
- package/esm/utils/index.js.map +1 -1
- package/esm/version.js +1 -1
- package/package.json +1 -1
- package/src/resolve-once.ts +17 -16
- package/src/utils/consume.ts +79 -0
- package/src/utils/index.ts +1 -0
- package/ts/cjs/resolve-once.d.ts +9 -9
- package/ts/cjs/resolve-once.d.ts.map +1 -1
- package/ts/cjs/resolve-once.js +2 -2
- package/ts/cjs/resolve-once.js.map +1 -1
- package/ts/cjs/resolve-once.test.js +30 -0
- package/ts/cjs/resolve-once.test.js.map +1 -1
- package/ts/cjs/utils/consume.d.ts +7 -0
- package/ts/cjs/utils/consume.d.ts.map +1 -0
- package/ts/cjs/utils/consume.js +65 -0
- package/ts/cjs/utils/consume.js.map +1 -0
- package/ts/cjs/utils/consume.test.d.ts +2 -0
- package/ts/cjs/utils/consume.test.d.ts.map +1 -0
- package/ts/cjs/utils/consume.test.js +204 -0
- package/ts/cjs/utils/consume.test.js.map +1 -0
- package/ts/cjs/utils/index.d.ts +1 -0
- package/ts/cjs/utils/index.d.ts.map +1 -1
- package/ts/cjs/utils/index.js +1 -0
- package/ts/cjs/utils/index.js.map +1 -1
- package/ts/cjs/version.js +1 -1
- package/ts/esm/resolve-once.d.ts +9 -9
- package/ts/esm/resolve-once.d.ts.map +1 -1
- package/ts/esm/resolve-once.js +2 -2
- package/ts/esm/resolve-once.js.map +1 -1
- package/ts/esm/resolve-once.test.js +30 -0
- package/ts/esm/resolve-once.test.js.map +1 -1
- package/ts/esm/utils/consume.d.ts +7 -0
- package/ts/esm/utils/consume.d.ts.map +1 -0
- package/ts/esm/utils/consume.js +61 -0
- package/ts/esm/utils/consume.js.map +1 -0
- package/ts/esm/utils/consume.test.d.ts +2 -0
- package/ts/esm/utils/consume.test.d.ts.map +1 -0
- package/ts/esm/utils/consume.test.js +202 -0
- package/ts/esm/utils/consume.test.js.map +1 -0
- package/ts/esm/utils/index.d.ts +1 -0
- package/ts/esm/utils/index.d.ts.map +1 -1
- package/ts/esm/utils/index.js +1 -0
- package/ts/esm/utils/index.js.map +1 -1
- package/ts/esm/version.js +1 -1
@@ -0,0 +1,202 @@
|
|
1
|
+
import { describe, it, expect, vi } from "vitest";
|
2
|
+
import { consumeStream, consumeIterator } from "./consume.js";
|
3
|
+
describe("consumeStream", () => {
|
4
|
+
it("should consume an empty stream", async () => {
|
5
|
+
const stream = new ReadableStream({
|
6
|
+
start(controller) {
|
7
|
+
controller.close();
|
8
|
+
},
|
9
|
+
});
|
10
|
+
const result = await consumeStream(stream, (x) => x * 2);
|
11
|
+
expect(result).toEqual([]);
|
12
|
+
});
|
13
|
+
it("should consume a stream with single element", async () => {
|
14
|
+
const stream = new ReadableStream({
|
15
|
+
start(controller) {
|
16
|
+
controller.enqueue(5);
|
17
|
+
controller.close();
|
18
|
+
},
|
19
|
+
});
|
20
|
+
const result = await consumeStream(stream, (x) => x * 2);
|
21
|
+
expect(result).toEqual([10]);
|
22
|
+
});
|
23
|
+
it("should consume a stream with multiple elements", async () => {
|
24
|
+
const stream = new ReadableStream({
|
25
|
+
start(controller) {
|
26
|
+
controller.enqueue(1);
|
27
|
+
controller.enqueue(2);
|
28
|
+
controller.enqueue(3);
|
29
|
+
controller.close();
|
30
|
+
},
|
31
|
+
});
|
32
|
+
const result = await consumeStream(stream, (x) => x * 2);
|
33
|
+
expect(result).toEqual([2, 4, 6]);
|
34
|
+
});
|
35
|
+
it("should handle callback that returns promises", async () => {
|
36
|
+
const stream = new ReadableStream({
|
37
|
+
start(controller) {
|
38
|
+
controller.enqueue(1);
|
39
|
+
controller.enqueue(2);
|
40
|
+
controller.close();
|
41
|
+
},
|
42
|
+
});
|
43
|
+
const result = await consumeStream(stream, async (x) => {
|
44
|
+
await new Promise((resolve) => setTimeout(resolve, 10));
|
45
|
+
return x * 3;
|
46
|
+
});
|
47
|
+
expect(result).toEqual([3, 6]);
|
48
|
+
});
|
49
|
+
it("should handle callback that transforms types", async () => {
|
50
|
+
const stream = new ReadableStream({
|
51
|
+
start(controller) {
|
52
|
+
controller.enqueue(1);
|
53
|
+
controller.enqueue(2);
|
54
|
+
controller.enqueue(3);
|
55
|
+
controller.close();
|
56
|
+
},
|
57
|
+
});
|
58
|
+
const result = await consumeStream(stream, (x) => `value-${x}`);
|
59
|
+
expect(result).toEqual(["value-1", "value-2", "value-3"]);
|
60
|
+
});
|
61
|
+
it("should handle string stream", async () => {
|
62
|
+
const stream = new ReadableStream({
|
63
|
+
start(controller) {
|
64
|
+
controller.enqueue("hello");
|
65
|
+
controller.enqueue("world");
|
66
|
+
controller.close();
|
67
|
+
},
|
68
|
+
});
|
69
|
+
const result = await consumeStream(stream, (x) => x.toUpperCase());
|
70
|
+
expect(result).toEqual(["HELLO", "WORLD"]);
|
71
|
+
});
|
72
|
+
it("should handle callback errors gracefully", async () => {
|
73
|
+
const stream = new ReadableStream({
|
74
|
+
start(controller) {
|
75
|
+
controller.enqueue(1);
|
76
|
+
controller.enqueue(2);
|
77
|
+
controller.close();
|
78
|
+
},
|
79
|
+
});
|
80
|
+
await expect(consumeStream(stream, (x) => {
|
81
|
+
if (x === 2)
|
82
|
+
throw new Error("Test error");
|
83
|
+
return x * 2;
|
84
|
+
})).rejects.toThrow("Test error");
|
85
|
+
});
|
86
|
+
});
|
87
|
+
describe("consumeIterator", () => {
|
88
|
+
it("should consume an empty sync iterator", async () => {
|
89
|
+
function* emptyGen() {
|
90
|
+
}
|
91
|
+
const result = await consumeIterator(emptyGen(), (x) => x * 2);
|
92
|
+
expect(result).toEqual([]);
|
93
|
+
});
|
94
|
+
it("should consume a sync iterator with single element", async () => {
|
95
|
+
function* singleGen() {
|
96
|
+
yield 5;
|
97
|
+
}
|
98
|
+
const result = await consumeIterator(singleGen(), (x) => x * 2);
|
99
|
+
expect(result).toEqual([10]);
|
100
|
+
});
|
101
|
+
it("should consume a sync iterator with multiple elements", async () => {
|
102
|
+
function* multiGen() {
|
103
|
+
yield 1;
|
104
|
+
yield 2;
|
105
|
+
yield 3;
|
106
|
+
}
|
107
|
+
const result = await consumeIterator(multiGen(), (x) => x * 2);
|
108
|
+
expect(result).toEqual([2, 4, 6]);
|
109
|
+
});
|
110
|
+
it("should consume an async iterator", async () => {
|
111
|
+
async function* asyncGen() {
|
112
|
+
yield 1;
|
113
|
+
await new Promise((resolve) => setTimeout(resolve, 10));
|
114
|
+
yield 2;
|
115
|
+
yield 3;
|
116
|
+
}
|
117
|
+
const result = await consumeIterator(asyncGen(), (x) => x * 2);
|
118
|
+
expect(result).toEqual([2, 4, 6]);
|
119
|
+
});
|
120
|
+
it("should handle callback that returns promises with sync iterator", async () => {
|
121
|
+
function* gen() {
|
122
|
+
yield 1;
|
123
|
+
yield 2;
|
124
|
+
}
|
125
|
+
const result = await consumeIterator(gen(), async (x) => {
|
126
|
+
await new Promise((resolve) => setTimeout(resolve, 10));
|
127
|
+
return x * 3;
|
128
|
+
});
|
129
|
+
expect(result).toEqual([3, 6]);
|
130
|
+
});
|
131
|
+
it("should handle callback that returns promises with async iterator", async () => {
|
132
|
+
async function* asyncGen() {
|
133
|
+
await new Promise((resolve) => setTimeout(resolve, 10));
|
134
|
+
yield 1;
|
135
|
+
await new Promise((resolve) => setTimeout(resolve, 10));
|
136
|
+
yield 2;
|
137
|
+
}
|
138
|
+
const result = await consumeIterator(asyncGen(), async (x) => {
|
139
|
+
await new Promise((resolve) => setTimeout(resolve, 10));
|
140
|
+
return x * 3;
|
141
|
+
});
|
142
|
+
expect(result).toEqual([3, 6]);
|
143
|
+
});
|
144
|
+
it("should handle type transformation", async () => {
|
145
|
+
function* gen() {
|
146
|
+
yield 1;
|
147
|
+
yield 2;
|
148
|
+
yield 3;
|
149
|
+
}
|
150
|
+
const result = await consumeIterator(gen(), (x) => `item-${x}`);
|
151
|
+
expect(result).toEqual(["item-1", "item-2", "item-3"]);
|
152
|
+
});
|
153
|
+
it("should handle large iterators with chunking", async () => {
|
154
|
+
function* largeGen() {
|
155
|
+
for (let i = 0; i < 100; i++) {
|
156
|
+
yield i;
|
157
|
+
}
|
158
|
+
}
|
159
|
+
const result = await consumeIterator(largeGen(), (x) => x * 2);
|
160
|
+
expect(result).toHaveLength(100);
|
161
|
+
expect(result[0]).toBe(0);
|
162
|
+
expect(result[99]).toBe(198);
|
163
|
+
});
|
164
|
+
it("should handle callback errors gracefully", async () => {
|
165
|
+
function* gen() {
|
166
|
+
yield 1;
|
167
|
+
yield 2;
|
168
|
+
}
|
169
|
+
await expect(consumeIterator(gen(), (x) => {
|
170
|
+
if (x === 2)
|
171
|
+
throw new Error("Test error");
|
172
|
+
return x * 2;
|
173
|
+
})).rejects.toThrow("Test error");
|
174
|
+
});
|
175
|
+
it("should handle array iterator", async () => {
|
176
|
+
const arr = [1, 2, 3, 4, 5];
|
177
|
+
const result = await consumeIterator(arr[Symbol.iterator](), (x) => x * 2);
|
178
|
+
expect(result).toEqual([2, 4, 6, 8, 10]);
|
179
|
+
});
|
180
|
+
it("should handle string iterator", async () => {
|
181
|
+
const str = "hello";
|
182
|
+
const result = await consumeIterator(str[Symbol.iterator](), (char) => char.toUpperCase());
|
183
|
+
expect(result).toEqual(["H", "E", "L", "L", "O"]);
|
184
|
+
});
|
185
|
+
});
|
186
|
+
describe("consumeIterator chunking behavior", () => {
|
187
|
+
it("should handle chunking with async iterator", async () => {
|
188
|
+
async function* largeAsyncGen() {
|
189
|
+
for (let i = 0; i < 53; i++) {
|
190
|
+
yield i;
|
191
|
+
if (i % 10 === 0) {
|
192
|
+
await new Promise((resolve) => setTimeout(resolve, 10));
|
193
|
+
}
|
194
|
+
}
|
195
|
+
}
|
196
|
+
const setTimeoutFn = vi.fn().mockImplementation((fn) => fn());
|
197
|
+
const result = await consumeIterator(largeAsyncGen(), (x) => x, { setTimeoutFn, chunkSize: 10 });
|
198
|
+
expect(result).toHaveLength(53);
|
199
|
+
expect(setTimeoutFn).toBeCalledTimes(4);
|
200
|
+
});
|
201
|
+
});
|
202
|
+
//# sourceMappingURL=consume.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"consume.test.js","sourceRoot":"","sources":["../../../../src/utils/consume.test.ts"],"names":[],"mappings":"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"}
|
package/esm/utils/index.d.ts
CHANGED
package/esm/utils/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
|
package/esm/utils/index.js
CHANGED
package/esm/utils/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC"}
|
package/esm/version.js
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
export const VERSION = "0.4.
|
1
|
+
export const VERSION = "0.4.40";
|
2
2
|
//# sourceMappingURL=version.js.map
|
package/package.json
CHANGED
package/src/resolve-once.ts
CHANGED
@@ -8,15 +8,15 @@ import { Option } from "./option.js";
|
|
8
8
|
// interface ResolveSeqItem<C, R extends NonPromise<X>, X = string | number | boolean | symbol | object> {
|
9
9
|
interface ResolveSeqItem<C, T, R> {
|
10
10
|
readonly future: Future<T>;
|
11
|
-
readonly fn: (c
|
11
|
+
readonly fn: (c: C) => R;
|
12
12
|
readonly id?: number;
|
13
13
|
}
|
14
14
|
|
15
|
-
export class ResolveSeq<T,
|
16
|
-
readonly ctx?:
|
17
|
-
readonly _seqFutures: ResolveSeqItem<
|
15
|
+
export class ResolveSeq<T, CTX extends NonNullable<object> = object> {
|
16
|
+
readonly ctx?: CTX;
|
17
|
+
readonly _seqFutures: ResolveSeqItem<CTX, T, unknown>[] = [];
|
18
18
|
|
19
|
-
constructor(ctx?:
|
19
|
+
constructor(ctx?: CTX) {
|
20
20
|
this.ctx = ctx;
|
21
21
|
}
|
22
22
|
reset(): void {
|
@@ -32,7 +32,7 @@ export class ResolveSeq<T, C extends NonNullable<object> = object> {
|
|
32
32
|
}
|
33
33
|
return Promise.resolve();
|
34
34
|
}
|
35
|
-
async _step(item?: ResolveSeqItem<
|
35
|
+
async _step(item?: ResolveSeqItem<CTX, T, Promise<T> | T>): Promise<void> {
|
36
36
|
if (!item) {
|
37
37
|
// done
|
38
38
|
this._flushWaiting.forEach((f) => f.resolve());
|
@@ -41,7 +41,7 @@ export class ResolveSeq<T, C extends NonNullable<object> = object> {
|
|
41
41
|
}
|
42
42
|
let value: T;
|
43
43
|
try {
|
44
|
-
const promiseOrValue = item.fn(this.ctx);
|
44
|
+
const promiseOrValue = item.fn(this.ctx ?? ({} as CTX));
|
45
45
|
if (isPromise(promiseOrValue)) {
|
46
46
|
value = await promiseOrValue;
|
47
47
|
} else {
|
@@ -53,13 +53,13 @@ export class ResolveSeq<T, C extends NonNullable<object> = object> {
|
|
53
53
|
} finally {
|
54
54
|
this._seqFutures.shift();
|
55
55
|
}
|
56
|
-
return this._step(this._seqFutures[0] as ResolveSeqItem<
|
56
|
+
return this._step(this._seqFutures[0] as ResolveSeqItem<CTX, T, Promise<T> | T>);
|
57
57
|
}
|
58
|
-
add<R extends Promise<T> | T>(fn: (c
|
58
|
+
add<R extends Promise<T> | T>(fn: (c: CTX) => R, id?: number): R {
|
59
59
|
const future = new Future<T>();
|
60
60
|
this._seqFutures.push({ future, fn, id });
|
61
61
|
if (this._seqFutures.length === 1) {
|
62
|
-
void this._step(this._seqFutures[0] as ResolveSeqItem<
|
62
|
+
void this._step(this._seqFutures[0] as ResolveSeqItem<CTX, T, Promise<T> | T>); // exit into eventloop
|
63
63
|
}
|
64
64
|
return future.asPromise() as R; // as Promise<UnPromisify<R>>;
|
65
65
|
}
|
@@ -351,13 +351,13 @@ export class ResolveOnce<T, CTX = void> implements ResolveOnceIf<T, CTX> {
|
|
351
351
|
return this.#syncOrAsync.Unwrap().state;
|
352
352
|
}
|
353
353
|
|
354
|
-
once<R>(fn: (c
|
355
|
-
let resultFn: (ctx
|
354
|
+
once<R>(fn: (c: CTX) => R): ResultOnce<R> {
|
355
|
+
let resultFn: (ctx: CTX) => R;
|
356
356
|
if (this.#state === "initial") {
|
357
357
|
this.#state = "processing";
|
358
358
|
try {
|
359
359
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
|
360
|
-
const isSyncOrAsync = fn(this.#ctx) as R;
|
360
|
+
const isSyncOrAsync = fn(this.#ctx ?? ({} as CTX)) as R;
|
361
361
|
if (isPromise(isSyncOrAsync)) {
|
362
362
|
this.#syncOrAsync = Option.Some(new AsyncResolveOnce<never, CTX>(this.#ctx));
|
363
363
|
} else {
|
@@ -381,9 +381,9 @@ export class ResolveOnce<T, CTX = void> implements ResolveOnceIf<T, CTX> {
|
|
381
381
|
return this.#syncOrAsync.Unwrap().resolve(resultFn as (c?: CTX) => never) as ResultOnce<R>;
|
382
382
|
}
|
383
383
|
|
384
|
-
reset<R>(fn?: (c
|
384
|
+
reset<R>(fn?: (c: CTX) => R): ResultOnce<R> {
|
385
385
|
if (this.#state === "initial") {
|
386
|
-
return this.once(fn as (c
|
386
|
+
return this.once(fn as (c: CTX) => R);
|
387
387
|
}
|
388
388
|
if (this.#state === "processing") {
|
389
389
|
// eslint-disable-next-line no-console
|
@@ -479,7 +479,8 @@ export class KeyedResolvOnce<T, K = string, CTX extends NonNullable<object> = ob
|
|
479
479
|
CTX
|
480
480
|
> {
|
481
481
|
constructor(kp: Partial<AddKeyedParam<K, ResolveOnce<T, CTX>, CTX>> = {}) {
|
482
|
-
|
482
|
+
// need the upcast we add to ResolvOnce CTX the Key
|
483
|
+
super((ctx) => new ResolveOnce<T, AddKey<CTX, K>>(ctx), kp as AddKeyedParam<K, ResolveOnce<T, AddKey<CTX, K>>, CTX>);
|
483
484
|
}
|
484
485
|
|
485
486
|
*entries(): IterableIterator<KeyItem<K, T>> {
|
@@ -0,0 +1,79 @@
|
|
1
|
+
import { isPromise } from "../is-promise.js";
|
2
|
+
|
3
|
+
export function consumeStream<E, R>(stream: ReadableStream<E>, cb: (msg: E) => R): Promise<R[]> {
|
4
|
+
const reader = stream.getReader();
|
5
|
+
async function readNext(ret: R[]): Promise<R[]> {
|
6
|
+
const { done, value } = await reader.read();
|
7
|
+
if (done) {
|
8
|
+
return ret;
|
9
|
+
}
|
10
|
+
return Promise.resolve(cb(value)).then((r) => {
|
11
|
+
ret.push(r);
|
12
|
+
return readNext(ret);
|
13
|
+
});
|
14
|
+
}
|
15
|
+
return readNext([]);
|
16
|
+
}
|
17
|
+
|
18
|
+
export interface StepCfg {
|
19
|
+
readonly chunkSize: number;
|
20
|
+
readonly setTimeoutFn: (fn: () => void, delay: number) => void;
|
21
|
+
}
|
22
|
+
|
23
|
+
interface StepArgs<I extends IterableIterator<E> | AsyncIterableIterator<E>, E, R> extends StepCfg {
|
24
|
+
readonly iter: I;
|
25
|
+
readonly cb: (msg: E, idx: number) => R;
|
26
|
+
readonly resolve: (x: R[] | PromiseLike<R[]>) => void;
|
27
|
+
readonly reject: (reason: Error) => void;
|
28
|
+
readonly ret: R[];
|
29
|
+
chunk: number;
|
30
|
+
}
|
31
|
+
|
32
|
+
function step<I extends IterableIterator<E> | AsyncIterableIterator<E>, R, E>(args: StepArgs<I, E, R>): Promise<void> {
|
33
|
+
const item = args.iter.next();
|
34
|
+
return Promise.resolve(item).then(({ done, value }: { done: boolean; value: E }) => {
|
35
|
+
if (done) {
|
36
|
+
args.resolve(args.ret);
|
37
|
+
return Promise.resolve();
|
38
|
+
}
|
39
|
+
try {
|
40
|
+
return Promise.resolve(args.cb(value, args.ret.length)).then((r) => {
|
41
|
+
args.ret.push(r);
|
42
|
+
if (isPromise(item) && args.chunk >= args.chunkSize) {
|
43
|
+
args.setTimeoutFn(() => {
|
44
|
+
args.chunk = 0;
|
45
|
+
void step(args);
|
46
|
+
}, 0);
|
47
|
+
return Promise.resolve();
|
48
|
+
} else {
|
49
|
+
args.chunk++;
|
50
|
+
return step(args);
|
51
|
+
}
|
52
|
+
});
|
53
|
+
} catch (e) {
|
54
|
+
args.reject(e as Error);
|
55
|
+
return Promise.resolve();
|
56
|
+
}
|
57
|
+
});
|
58
|
+
}
|
59
|
+
|
60
|
+
export function consumeIterator<I extends IterableIterator<E> | AsyncIterableIterator<E>, E, R>(
|
61
|
+
iter: I,
|
62
|
+
cb: (msg: E) => R,
|
63
|
+
params: Partial<StepCfg> = {},
|
64
|
+
): Promise<R[]> {
|
65
|
+
return new Promise<R[]>((resolve, reject) => {
|
66
|
+
const ret: R[] = [];
|
67
|
+
void step({
|
68
|
+
setTimeoutFn: setTimeout,
|
69
|
+
chunkSize: 16,
|
70
|
+
...params,
|
71
|
+
iter,
|
72
|
+
cb,
|
73
|
+
reject,
|
74
|
+
resolve,
|
75
|
+
chunk: 0,
|
76
|
+
ret,
|
77
|
+
});
|
78
|
+
});
|
79
|
+
}
|
package/src/utils/index.ts
CHANGED
package/ts/cjs/resolve-once.d.ts
CHANGED
@@ -4,18 +4,18 @@ import { LRUMap, LRUParam, UnregFn } from "./lru-map-set.js";
|
|
4
4
|
import { Result } from "./result.js";
|
5
5
|
interface ResolveSeqItem<C, T, R> {
|
6
6
|
readonly future: Future<T>;
|
7
|
-
readonly fn: (c
|
7
|
+
readonly fn: (c: C) => R;
|
8
8
|
readonly id?: number;
|
9
9
|
}
|
10
|
-
export declare class ResolveSeq<T,
|
11
|
-
readonly ctx?:
|
12
|
-
readonly _seqFutures: ResolveSeqItem<
|
13
|
-
constructor(ctx?:
|
10
|
+
export declare class ResolveSeq<T, CTX extends NonNullable<object> = object> {
|
11
|
+
readonly ctx?: CTX;
|
12
|
+
readonly _seqFutures: ResolveSeqItem<CTX, T, unknown>[];
|
13
|
+
constructor(ctx?: CTX);
|
14
14
|
reset(): void;
|
15
15
|
readonly _flushWaiting: Future<void>[];
|
16
16
|
flush(): Promise<void>;
|
17
|
-
_step(item?: ResolveSeqItem<
|
18
|
-
add<R extends Promise<T> | T>(fn: (c
|
17
|
+
_step(item?: ResolveSeqItem<CTX, T, Promise<T> | T>): Promise<void>;
|
18
|
+
add<R extends Promise<T> | T>(fn: (c: CTX) => R, id?: number): R;
|
19
19
|
}
|
20
20
|
type ResolveState = "initial" | "processed" | "waiting" | "processing";
|
21
21
|
export type ResultOnce<R> = R extends Promise<infer T> ? Promise<T> : R;
|
@@ -57,8 +57,8 @@ export declare class ResolveOnce<T, CTX = void> implements ResolveOnceIf<T, CTX>
|
|
57
57
|
get queueLength(): number;
|
58
58
|
get error(): Error | undefined;
|
59
59
|
get state(): ResolveState;
|
60
|
-
once<R>(fn: (c
|
61
|
-
reset<R>(fn?: (c
|
60
|
+
once<R>(fn: (c: CTX) => R): ResultOnce<R>;
|
61
|
+
reset<R>(fn?: (c: CTX) => R): ResultOnce<R>;
|
62
62
|
}
|
63
63
|
export interface KeyedParam<K, V> {
|
64
64
|
readonly lru: Partial<LRUParam<V, K>>;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"resolve-once.d.ts","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,UAAU,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IAC3B,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,
|
1
|
+
{"version":3,"file":"resolve-once.d.ts","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"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"}
|
package/ts/cjs/resolve-once.js
CHANGED
@@ -32,7 +32,7 @@ class ResolveSeq {
|
|
32
32
|
}
|
33
33
|
let value;
|
34
34
|
try {
|
35
|
-
const promiseOrValue = item.fn(this.ctx);
|
35
|
+
const promiseOrValue = item.fn(this.ctx ?? {});
|
36
36
|
if ((0, is_promise_js_1.isPromise)(promiseOrValue)) {
|
37
37
|
value = await promiseOrValue;
|
38
38
|
}
|
@@ -286,7 +286,7 @@ class ResolveOnce {
|
|
286
286
|
if (this.#state === "initial") {
|
287
287
|
this.#state = "processing";
|
288
288
|
try {
|
289
|
-
const isSyncOrAsync = fn(this.#ctx);
|
289
|
+
const isSyncOrAsync = fn(this.#ctx ?? {});
|
290
290
|
if ((0, is_promise_js_1.isPromise)(isSyncOrAsync)) {
|
291
291
|
this.#syncOrAsync = option_js_1.Option.Some(new AsyncResolveOnce(this.#ctx));
|
292
292
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"resolve-once.js","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"resolve-once.js","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"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"}
|
@@ -231,6 +231,36 @@ describe("resolve-once", () => {
|
|
231
231
|
return { hello: "world" };
|
232
232
|
});
|
233
233
|
});
|
234
|
+
it("ResolveOnce plain", () => {
|
235
|
+
const my = new cement_1.ResolveOnce();
|
236
|
+
my.once(() => {
|
237
|
+
return { hello: "world" };
|
238
|
+
});
|
239
|
+
my.once((x) => {
|
240
|
+
return { hello: x.wurst };
|
241
|
+
});
|
242
|
+
});
|
243
|
+
it("keyedResolvOnce with pass decompose", () => {
|
244
|
+
const my = new cement_1.KeyedResolvOnce();
|
245
|
+
my.get("1").once(({ key }) => {
|
246
|
+
assertType(key);
|
247
|
+
return { hello: "world" };
|
248
|
+
});
|
249
|
+
my.get("2").once(() => {
|
250
|
+
return { hello: "world" };
|
251
|
+
});
|
252
|
+
my.get("3").once((ctx) => {
|
253
|
+
assertType(ctx);
|
254
|
+
return { hello: "world" };
|
255
|
+
});
|
256
|
+
});
|
257
|
+
it("keyedResolvOnce with pass decompose", () => {
|
258
|
+
const my = new cement_1.KeyedResolvSeq();
|
259
|
+
my.get("1").add(({ key }) => {
|
260
|
+
assertType(key);
|
261
|
+
return { hello: "world" };
|
262
|
+
});
|
263
|
+
});
|
234
264
|
it("keyed asyncGet", async () => {
|
235
265
|
const keyed = new cement_1.KeyedResolvOnce();
|
236
266
|
const a_orderFn = vi.fn((key) => Promise.resolve(key));
|