@adviser/cement 0.4.65 → 0.4.67
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 +130 -71
- package/cjs/resolve-once.cjs.map +1 -1
- package/cjs/resolve-once.d.ts +26 -8
- package/cjs/resolve-once.d.ts.map +1 -1
- package/cjs/resolve-once.test.cjs +33 -2
- package/cjs/resolve-once.test.cjs.map +1 -1
- package/cjs/version.cjs +1 -1
- package/deno.json +1 -1
- package/esm/resolve-once.d.ts +26 -8
- package/esm/resolve-once.d.ts.map +1 -1
- package/esm/resolve-once.js +130 -71
- package/esm/resolve-once.js.map +1 -1
- package/esm/resolve-once.test.js +33 -2
- package/esm/resolve-once.test.js.map +1 -1
- package/esm/version.js +1 -1
- package/package.json +1 -1
- package/src/resolve-once.ts +196 -82
- package/ts/cjs/resolve-once.d.ts +26 -8
- package/ts/cjs/resolve-once.d.ts.map +1 -1
- package/ts/cjs/resolve-once.js +130 -71
- package/ts/cjs/resolve-once.js.map +1 -1
- package/ts/cjs/resolve-once.test.js +33 -2
- package/ts/cjs/resolve-once.test.js.map +1 -1
- package/ts/cjs/version.js +1 -1
- package/ts/esm/resolve-once.d.ts +26 -8
- package/ts/esm/resolve-once.d.ts.map +1 -1
- package/ts/esm/resolve-once.js +130 -71
- package/ts/esm/resolve-once.js.map +1 -1
- package/ts/esm/resolve-once.test.js +33 -2
- package/ts/esm/resolve-once.test.js.map +1 -1
- package/ts/esm/version.js +1 -1
package/cjs/resolve-once.cjs
CHANGED
|
@@ -60,10 +60,15 @@ class ResolveSeq {
|
|
|
60
60
|
}
|
|
61
61
|
exports.ResolveSeq = ResolveSeq;
|
|
62
62
|
class SyncResolveOnce {
|
|
63
|
-
state = "initial";
|
|
64
63
|
#value;
|
|
65
64
|
#error;
|
|
66
65
|
queueLength = 0;
|
|
66
|
+
#state;
|
|
67
|
+
#rOnce;
|
|
68
|
+
constructor(rOnce, state) {
|
|
69
|
+
this.#state = state;
|
|
70
|
+
this.#rOnce = rOnce;
|
|
71
|
+
}
|
|
67
72
|
get value() {
|
|
68
73
|
return this.#value;
|
|
69
74
|
}
|
|
@@ -71,22 +76,21 @@ class SyncResolveOnce {
|
|
|
71
76
|
return this.#error;
|
|
72
77
|
}
|
|
73
78
|
get ready() {
|
|
74
|
-
return this.
|
|
75
|
-
}
|
|
76
|
-
#ctx;
|
|
77
|
-
constructor(ctx) {
|
|
78
|
-
this.#ctx = ctx;
|
|
79
|
+
return this.#state.isProcessed();
|
|
79
80
|
}
|
|
80
81
|
resolve(fn) {
|
|
81
|
-
if (this.
|
|
82
|
-
this.state = "processed";
|
|
82
|
+
if (this.#state.isProcessing()) {
|
|
83
83
|
try {
|
|
84
|
-
this.#value = fn(this.#
|
|
84
|
+
this.#value = fn(this.#rOnce._ctx);
|
|
85
85
|
}
|
|
86
86
|
catch (e) {
|
|
87
87
|
this.#error = e;
|
|
88
88
|
}
|
|
89
|
-
|
|
89
|
+
finally {
|
|
90
|
+
this.#state.setProcessed();
|
|
91
|
+
this.#rOnce.setProcessed(this.#state);
|
|
92
|
+
}
|
|
93
|
+
if ((0, is_promise_js_1.isPromise)(this.#value)) {
|
|
90
94
|
throw new Error("SyncResolveOnce.once fn returned a promise");
|
|
91
95
|
}
|
|
92
96
|
}
|
|
@@ -96,10 +100,10 @@ class SyncResolveOnce {
|
|
|
96
100
|
return this.#value;
|
|
97
101
|
}
|
|
98
102
|
reset(fn) {
|
|
99
|
-
this.state = "initial";
|
|
100
103
|
this.#value = undefined;
|
|
101
104
|
this.#error = undefined;
|
|
102
105
|
if (fn) {
|
|
106
|
+
this.#state.setProcessing();
|
|
103
107
|
return this.resolve(fn);
|
|
104
108
|
}
|
|
105
109
|
return undefined;
|
|
@@ -108,12 +112,15 @@ class SyncResolveOnce {
|
|
|
108
112
|
exports.SyncResolveOnce = SyncResolveOnce;
|
|
109
113
|
class AsyncResolveItem {
|
|
110
114
|
id = Math.random();
|
|
111
|
-
#state = "initial";
|
|
112
115
|
#toResolve;
|
|
113
116
|
#value = option_js_1.Option.None();
|
|
114
117
|
#error;
|
|
115
|
-
|
|
118
|
+
#state;
|
|
119
|
+
#rOnce;
|
|
120
|
+
constructor(fn, rOnce, state) {
|
|
116
121
|
this.#toResolve = fn;
|
|
122
|
+
this.#state = state;
|
|
123
|
+
this.#rOnce = rOnce;
|
|
117
124
|
}
|
|
118
125
|
get value() {
|
|
119
126
|
return this.#value.IsSome() ? this.#value.unwrap() : undefined;
|
|
@@ -126,7 +133,7 @@ class AsyncResolveItem {
|
|
|
126
133
|
return this.#queue.length;
|
|
127
134
|
}
|
|
128
135
|
isDisposable() {
|
|
129
|
-
return this.#state
|
|
136
|
+
return this.#state.isProcessed() && this.#queue.length === 0;
|
|
130
137
|
}
|
|
131
138
|
#resolveFuture(future) {
|
|
132
139
|
if (!future) {
|
|
@@ -147,11 +154,10 @@ class AsyncResolveItem {
|
|
|
147
154
|
if (this.#value.IsSome()) {
|
|
148
155
|
return Promise.resolve(this.#value.Unwrap());
|
|
149
156
|
}
|
|
150
|
-
throw new Error(
|
|
157
|
+
throw new Error(`AsyncResolveItem.#promiseResult impossible: ${this.#state.getResolveState()}`);
|
|
151
158
|
}
|
|
152
159
|
resolve() {
|
|
153
|
-
if (this.#state
|
|
154
|
-
this.#state = "waiting";
|
|
160
|
+
if (this.#state.isWaiting()) {
|
|
155
161
|
const future = new future_js_1.Future();
|
|
156
162
|
this.#queue.push(future);
|
|
157
163
|
this.#toResolve
|
|
@@ -162,30 +168,36 @@ class AsyncResolveItem {
|
|
|
162
168
|
this.#error = e;
|
|
163
169
|
})
|
|
164
170
|
.finally(() => {
|
|
165
|
-
this.#state
|
|
171
|
+
this.#state.setProcessed();
|
|
172
|
+
this.#rOnce.setProcessed(this.#state);
|
|
166
173
|
while (this.#queue.length > 0) {
|
|
167
174
|
this.#resolveFuture(this.#queue.shift());
|
|
168
175
|
}
|
|
169
176
|
});
|
|
170
177
|
return future.asPromise();
|
|
171
178
|
}
|
|
172
|
-
if (this.#state
|
|
179
|
+
if (this.#state.isProcessed()) {
|
|
173
180
|
return this.#promiseResult();
|
|
174
181
|
}
|
|
175
|
-
|
|
176
|
-
const future = new future_js_1.Future();
|
|
177
|
-
this.#queue.push(future);
|
|
178
|
-
return future.asPromise();
|
|
179
|
-
}
|
|
180
|
-
throw new Error("AsyncResolveItem.resolve impossible");
|
|
182
|
+
throw new Error(`AsyncResolveItem.resolve impossible: ${this.#state.getResolveState()}`);
|
|
181
183
|
}
|
|
182
184
|
}
|
|
185
|
+
function isAsyncResolveOnce(obj) {
|
|
186
|
+
return obj.IsSome() && obj.Unwrap() instanceof AsyncResolveOnce;
|
|
187
|
+
}
|
|
183
188
|
class AsyncResolveOnce {
|
|
184
|
-
state
|
|
185
|
-
#queue
|
|
186
|
-
#
|
|
187
|
-
constructor(
|
|
188
|
-
this.#
|
|
189
|
+
#state;
|
|
190
|
+
#queue;
|
|
191
|
+
#rOnce;
|
|
192
|
+
constructor(rOnce, state, prev) {
|
|
193
|
+
this.#state = state;
|
|
194
|
+
this.#rOnce = rOnce;
|
|
195
|
+
if (isAsyncResolveOnce(prev)) {
|
|
196
|
+
this.#queue = [...prev.unwrap().#queue];
|
|
197
|
+
}
|
|
198
|
+
else {
|
|
199
|
+
this.#queue = [];
|
|
200
|
+
}
|
|
189
201
|
}
|
|
190
202
|
#active() {
|
|
191
203
|
const r = this.#queue[this.#queue.length - 1];
|
|
@@ -197,27 +209,24 @@ class AsyncResolveOnce {
|
|
|
197
209
|
get queueLength() {
|
|
198
210
|
return this.#queue.reduce((acc, r) => acc + r.queuelength, this.#queue.length);
|
|
199
211
|
}
|
|
200
|
-
get ready() {
|
|
201
|
-
return this.state !== "initial";
|
|
202
|
-
}
|
|
203
212
|
get value() {
|
|
204
|
-
if (this.
|
|
213
|
+
if (this.#state.isInitial()) {
|
|
205
214
|
return undefined;
|
|
206
215
|
}
|
|
207
216
|
return this.#active().value;
|
|
208
217
|
}
|
|
209
218
|
get error() {
|
|
210
|
-
if (this.
|
|
219
|
+
if (this.#state.isInitial()) {
|
|
211
220
|
return undefined;
|
|
212
221
|
}
|
|
213
222
|
return this.#active().error;
|
|
214
223
|
}
|
|
215
224
|
resolve(fn) {
|
|
216
|
-
if (this.
|
|
217
|
-
this.
|
|
225
|
+
if (this.#state.isProcessing()) {
|
|
226
|
+
this.#state.setWaiting();
|
|
218
227
|
let promiseResult;
|
|
219
228
|
try {
|
|
220
|
-
const couldBePromise = fn(this.#
|
|
229
|
+
const couldBePromise = fn(this.#rOnce._ctx);
|
|
221
230
|
if (!(0, is_promise_js_1.isPromise)(couldBePromise)) {
|
|
222
231
|
promiseResult = Promise.resolve(couldBePromise);
|
|
223
232
|
}
|
|
@@ -228,7 +237,7 @@ class AsyncResolveOnce {
|
|
|
228
237
|
catch (e) {
|
|
229
238
|
promiseResult = Promise.reject(e);
|
|
230
239
|
}
|
|
231
|
-
this.#queue.push(new AsyncResolveItem(promiseResult));
|
|
240
|
+
this.#queue.push(new AsyncResolveItem(promiseResult, this.#rOnce, this.#state));
|
|
232
241
|
}
|
|
233
242
|
this.#queue
|
|
234
243
|
.slice(0, -1)
|
|
@@ -239,7 +248,7 @@ class AsyncResolveOnce {
|
|
|
239
248
|
return this.#active().resolve();
|
|
240
249
|
}
|
|
241
250
|
reset(fn) {
|
|
242
|
-
this.
|
|
251
|
+
this.#state.setProcessing();
|
|
243
252
|
if (fn) {
|
|
244
253
|
return this.resolve(fn);
|
|
245
254
|
}
|
|
@@ -247,85 +256,132 @@ class AsyncResolveOnce {
|
|
|
247
256
|
}
|
|
248
257
|
}
|
|
249
258
|
exports.AsyncResolveOnce = AsyncResolveOnce;
|
|
250
|
-
class
|
|
259
|
+
class StateInstance {
|
|
260
|
+
id = Math.random();
|
|
251
261
|
#state = "initial";
|
|
262
|
+
getResolveState() {
|
|
263
|
+
return this.#state;
|
|
264
|
+
}
|
|
265
|
+
isInitial() {
|
|
266
|
+
return this.#state === "initial";
|
|
267
|
+
}
|
|
268
|
+
isProcessed() {
|
|
269
|
+
return this.#state === "processed";
|
|
270
|
+
}
|
|
271
|
+
setProcessed() {
|
|
272
|
+
this.#state = "processed";
|
|
273
|
+
}
|
|
274
|
+
isProcessing() {
|
|
275
|
+
return this.#state === "processing";
|
|
276
|
+
}
|
|
277
|
+
setProcessing() {
|
|
278
|
+
this.#state = "processing";
|
|
279
|
+
}
|
|
280
|
+
isWaiting() {
|
|
281
|
+
return this.#state === "waiting";
|
|
282
|
+
}
|
|
283
|
+
setWaiting() {
|
|
284
|
+
this.#state = "waiting";
|
|
285
|
+
}
|
|
286
|
+
equals(other) {
|
|
287
|
+
return this.id === other.id;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
class ResolveOnce {
|
|
291
|
+
#state = new StateInstance();
|
|
252
292
|
#syncOrAsync = option_js_1.Option.None();
|
|
253
|
-
#
|
|
254
|
-
|
|
255
|
-
|
|
293
|
+
#opts;
|
|
294
|
+
resetAfterTimer;
|
|
295
|
+
_ctx;
|
|
296
|
+
constructor(ctx, opts) {
|
|
297
|
+
this._ctx = ctx;
|
|
298
|
+
this.#opts = opts ?? {};
|
|
299
|
+
}
|
|
300
|
+
get state() {
|
|
301
|
+
return this.#state.getResolveState();
|
|
302
|
+
}
|
|
303
|
+
setProcessed(state) {
|
|
304
|
+
if (this.resetAfterTimer) {
|
|
305
|
+
clearTimeout(this.resetAfterTimer);
|
|
306
|
+
}
|
|
307
|
+
if (this.#state.equals(state)) {
|
|
308
|
+
this.#state.setProcessed();
|
|
309
|
+
if (typeof this.#opts.resetAfter === "number" && this.#opts.resetAfter > 0) {
|
|
310
|
+
this.resetAfterTimer = setTimeout(() => {
|
|
311
|
+
this.reset();
|
|
312
|
+
}, this.#opts.resetAfter);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
256
315
|
}
|
|
257
316
|
get ready() {
|
|
258
|
-
return this.#state
|
|
317
|
+
return !this.#state.isInitial();
|
|
259
318
|
}
|
|
260
319
|
get value() {
|
|
261
|
-
if (this.#state
|
|
320
|
+
if (this.#state.isInitial()) {
|
|
262
321
|
return undefined;
|
|
263
322
|
}
|
|
264
323
|
return this.#syncOrAsync.Unwrap().value;
|
|
265
324
|
}
|
|
266
325
|
get queueLength() {
|
|
267
|
-
if (this.#state
|
|
326
|
+
if (this.#state.isInitial()) {
|
|
268
327
|
return 0;
|
|
269
328
|
}
|
|
270
329
|
return this.#syncOrAsync.Unwrap().queueLength;
|
|
271
330
|
}
|
|
272
331
|
get error() {
|
|
273
|
-
if (this.#state
|
|
332
|
+
if (this.#state.isInitial()) {
|
|
274
333
|
return undefined;
|
|
275
334
|
}
|
|
276
335
|
return this.#syncOrAsync.Unwrap().error;
|
|
277
336
|
}
|
|
278
|
-
get state() {
|
|
279
|
-
if (this.#state === "initial") {
|
|
280
|
-
return "initial";
|
|
281
|
-
}
|
|
282
|
-
return this.#syncOrAsync.Unwrap().state;
|
|
283
|
-
}
|
|
284
337
|
once(fn) {
|
|
285
338
|
let resultFn;
|
|
286
|
-
if (this.#state
|
|
287
|
-
|
|
339
|
+
if (this.#state.isInitial()) {
|
|
340
|
+
const state = this.#state;
|
|
288
341
|
try {
|
|
289
|
-
|
|
342
|
+
state.setProcessing();
|
|
343
|
+
const isSyncOrAsync = fn(this._ctx ?? {});
|
|
290
344
|
if ((0, is_promise_js_1.isPromise)(isSyncOrAsync)) {
|
|
291
|
-
this.#syncOrAsync = option_js_1.Option.Some(new AsyncResolveOnce(this.#
|
|
345
|
+
this.#syncOrAsync = option_js_1.Option.Some(new AsyncResolveOnce(this, state, this.#syncOrAsync));
|
|
292
346
|
}
|
|
293
347
|
else {
|
|
294
|
-
this.#syncOrAsync = option_js_1.Option.Some(new SyncResolveOnce(this
|
|
348
|
+
this.#syncOrAsync = option_js_1.Option.Some(new SyncResolveOnce(this, state));
|
|
295
349
|
}
|
|
296
350
|
resultFn = () => isSyncOrAsync;
|
|
297
351
|
}
|
|
298
352
|
catch (e) {
|
|
299
|
-
this.#syncOrAsync = option_js_1.Option.Some(new SyncResolveOnce(this
|
|
353
|
+
this.#syncOrAsync = option_js_1.Option.Some(new SyncResolveOnce(this, state));
|
|
300
354
|
resultFn = () => {
|
|
301
355
|
throw e;
|
|
302
356
|
};
|
|
303
357
|
}
|
|
304
|
-
finally {
|
|
305
|
-
this.#state = "processed";
|
|
306
|
-
}
|
|
307
358
|
}
|
|
308
359
|
else {
|
|
309
360
|
resultFn = fn;
|
|
310
361
|
}
|
|
311
362
|
if (!this.#syncOrAsync) {
|
|
312
|
-
throw new Error(
|
|
363
|
+
throw new Error(`ResolveOnce.once impossible: state=${this.#state.getResolveState()}`);
|
|
313
364
|
}
|
|
314
365
|
return this.#syncOrAsync.Unwrap().resolve(resultFn);
|
|
315
366
|
}
|
|
316
367
|
reset(fn) {
|
|
317
|
-
if (this.#state
|
|
368
|
+
if (this.#state.isInitial()) {
|
|
318
369
|
if (!fn) {
|
|
319
|
-
console.warn("ResolveOnce.reset called but not yet resolved and no fn given");
|
|
320
370
|
return undefined;
|
|
321
371
|
}
|
|
322
372
|
return this.once(fn);
|
|
323
373
|
}
|
|
324
|
-
if (this.#state
|
|
374
|
+
if (this.#state.isProcessing()) {
|
|
325
375
|
console.warn("ResolveOnce.reset dropped was called while processing");
|
|
326
376
|
return undefined;
|
|
327
377
|
}
|
|
328
|
-
|
|
378
|
+
let ret = undefined;
|
|
379
|
+
this.#state = new StateInstance();
|
|
380
|
+
if (fn) {
|
|
381
|
+
ret = this.once(fn);
|
|
382
|
+
// ret = this.#syncOrAsync.Unwrap().reset(fn as (c?: CTX) => never) as ResultOnce<R>
|
|
383
|
+
}
|
|
384
|
+
return ret;
|
|
329
385
|
}
|
|
330
386
|
}
|
|
331
387
|
exports.ResolveOnce = ResolveOnce;
|
|
@@ -447,13 +503,16 @@ class KeyedResolvSeq extends keyed_ng_js_1.KeyedNg {
|
|
|
447
503
|
}
|
|
448
504
|
exports.KeyedResolvSeq = KeyedResolvSeq;
|
|
449
505
|
class LazyContainer {
|
|
450
|
-
resolveOnce
|
|
506
|
+
resolveOnce;
|
|
507
|
+
constructor(opts) {
|
|
508
|
+
this.resolveOnce = new ResolveOnce(undefined, opts);
|
|
509
|
+
}
|
|
451
510
|
call(fn) {
|
|
452
511
|
return (...args) => this.resolveOnce.once(() => fn(...args));
|
|
453
512
|
}
|
|
454
513
|
}
|
|
455
|
-
function Lazy(fn) {
|
|
456
|
-
const lazy = new LazyContainer();
|
|
514
|
+
function Lazy(fn, opts) {
|
|
515
|
+
const lazy = new LazyContainer(opts);
|
|
457
516
|
return lazy.call(fn);
|
|
458
517
|
}
|
|
459
518
|
//# sourceMappingURL=resolve-once.js.map
|
package/cjs/resolve-once.cjs.map
CHANGED
|
@@ -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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"}
|
package/cjs/resolve-once.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Future } from "./future.js";
|
|
|
2
2
|
import { UnPromisify } from "./is-promise.js";
|
|
3
3
|
import { UnregFn } from "./lru-map-set.js";
|
|
4
4
|
import { Result } from "./result.js";
|
|
5
|
+
import { Option } from "./option.js";
|
|
5
6
|
import { KeyedIf, KeyedNg, KeyedNgItem, KeyedNgItemWithoutValue, KeyedNgOptions } from "./keyed-ng.js";
|
|
6
7
|
interface ResolveSeqItem<C, T, R> {
|
|
7
8
|
readonly future: Future<T>;
|
|
@@ -30,34 +31,51 @@ export interface ResolveOnceIf<R, CTX = void> {
|
|
|
30
31
|
}
|
|
31
32
|
export declare class SyncResolveOnce<T, CTX = void> {
|
|
32
33
|
#private;
|
|
33
|
-
state: ResolveState;
|
|
34
34
|
readonly queueLength: number;
|
|
35
|
+
constructor(rOnce: ResolveOnce<T, CTX>, state: StateInstance);
|
|
35
36
|
get value(): T | undefined;
|
|
36
37
|
get error(): Error | undefined;
|
|
37
38
|
get ready(): boolean;
|
|
38
|
-
constructor(ctx?: CTX);
|
|
39
39
|
resolve(fn: (ctx?: CTX) => T): T;
|
|
40
40
|
reset(fn?: (c?: CTX) => T): T | undefined;
|
|
41
41
|
}
|
|
42
42
|
export declare class AsyncResolveOnce<T, CTX = void> {
|
|
43
43
|
#private;
|
|
44
|
-
state:
|
|
45
|
-
constructor(ctx?: CTX);
|
|
44
|
+
constructor(rOnce: ResolveOnce<T, CTX>, state: StateInstance, prev: SyncOrAsync<T, CTX>);
|
|
46
45
|
get queueLength(): number;
|
|
47
|
-
get ready(): boolean;
|
|
48
46
|
get value(): UnPromisify<T> | undefined;
|
|
49
47
|
get error(): Error | undefined;
|
|
50
48
|
resolve(fn: (ctx?: CTX) => T): T;
|
|
51
49
|
reset(fn?: (c?: CTX) => T): T;
|
|
52
50
|
}
|
|
51
|
+
export interface ResolveOnceOpts {
|
|
52
|
+
readonly resetAfter?: number;
|
|
53
|
+
}
|
|
54
|
+
declare class StateInstance {
|
|
55
|
+
#private;
|
|
56
|
+
readonly id: number;
|
|
57
|
+
getResolveState(): ResolveState;
|
|
58
|
+
isInitial(): boolean;
|
|
59
|
+
isProcessed(): boolean;
|
|
60
|
+
setProcessed(): void;
|
|
61
|
+
isProcessing(): boolean;
|
|
62
|
+
setProcessing(): void;
|
|
63
|
+
isWaiting(): boolean;
|
|
64
|
+
setWaiting(): void;
|
|
65
|
+
equals(other: StateInstance): boolean;
|
|
66
|
+
}
|
|
67
|
+
type SyncOrAsync<T, CTX> = Option<SyncResolveOnce<T, CTX> | AsyncResolveOnce<T, CTX>>;
|
|
53
68
|
export declare class ResolveOnce<T, CTX = void> implements ResolveOnceIf<T, CTX> {
|
|
54
69
|
#private;
|
|
55
|
-
|
|
70
|
+
resetAfterTimer?: ReturnType<typeof setTimeout>;
|
|
71
|
+
readonly _ctx?: CTX;
|
|
72
|
+
constructor(ctx?: CTX, opts?: ResolveOnceOpts);
|
|
73
|
+
get state(): ResolveState;
|
|
74
|
+
setProcessed(state: StateInstance): void;
|
|
56
75
|
get ready(): boolean;
|
|
57
76
|
get value(): UnPromisify<T> | undefined;
|
|
58
77
|
get queueLength(): number;
|
|
59
78
|
get error(): Error | undefined;
|
|
60
|
-
get state(): ResolveState;
|
|
61
79
|
once<R>(fn: (c: CTX) => R): ResultOnce<R>;
|
|
62
80
|
reset<R>(fn?: (c: CTX) => R): ResultOnce<R>;
|
|
63
81
|
}
|
|
@@ -98,6 +116,6 @@ export declare class KeyedResolvOnce<T extends WithOptionalReset<PT>, K = string
|
|
|
98
116
|
export declare class KeyedResolvSeq<VALUEType extends NonNullable<unknown>, KEYType = string, CTX extends NonNullable<object> = object> extends KeyedNg<KEYType, ResolveSeq<VALUEType, KeyedNgItemWithoutValue<KEYType, CTX>>, CTX> {
|
|
99
117
|
constructor(kp?: Partial<Omit<KeyedNgOptions<KEYType, VALUEType, CTX>, "createValue">>);
|
|
100
118
|
}
|
|
101
|
-
export declare function Lazy<Args extends readonly unknown[], Return>(fn: (...args: Args) => Return): (...args: Args) => Return;
|
|
119
|
+
export declare function Lazy<Args extends readonly unknown[], Return>(fn: (...args: Args) => Return, opts?: ResolveOnceOpts): (...args: Args) => Return;
|
|
102
120
|
export {};
|
|
103
121
|
//# sourceMappingURL=resolve-once.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-once.d.ts","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve-once.d.ts","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const cement_1 = require("@adviser/cement");
|
|
4
4
|
const is_promise_js_1 = require("./is-promise.cjs");
|
|
5
|
+
const promise_sleep_js_1 = require("./promise-sleep.cjs");
|
|
5
6
|
describe("resolve-once", () => {
|
|
6
7
|
it("sequence", async () => {
|
|
7
8
|
const once = new cement_1.ResolveOnce();
|
|
@@ -41,7 +42,7 @@ describe("resolve-once", () => {
|
|
|
41
42
|
.map((fn) => fn()))).toEqual(Array(100).fill(42));
|
|
42
43
|
expect(reallyOnce).toHaveBeenCalledTimes(1);
|
|
43
44
|
const diff = performance.now() - start;
|
|
44
|
-
expect(diff).toBeGreaterThanOrEqual(
|
|
45
|
+
expect(diff).toBeGreaterThanOrEqual(95);
|
|
45
46
|
expect(diff).toBeLessThan(150);
|
|
46
47
|
});
|
|
47
48
|
it("async works with void", async () => {
|
|
@@ -128,7 +129,7 @@ describe("resolve-once", () => {
|
|
|
128
129
|
.map((_, i) => `${i}:42`));
|
|
129
130
|
expect(reallyOnce).toHaveBeenCalledTimes(1);
|
|
130
131
|
const diff = performance.now() - start;
|
|
131
|
-
expect(diff).toBeGreaterThanOrEqual(
|
|
132
|
+
expect(diff).toBeGreaterThanOrEqual(95);
|
|
132
133
|
expect(diff).toBeLessThan(150);
|
|
133
134
|
});
|
|
134
135
|
it("preserves call order to resolv order", async () => {
|
|
@@ -728,6 +729,36 @@ describe("Lazy Initialization", () => {
|
|
|
728
729
|
expect(await my.action()).toEqual({ sync: 43, async: 44, asyncPass: 46, passIn: 42 });
|
|
729
730
|
expect(await my.action()).toEqual({ sync: 43, async: 44, asyncPass: 46, passIn: 42 });
|
|
730
731
|
});
|
|
732
|
+
it("Sync Lazy With Renew Timer", async () => {
|
|
733
|
+
let initVal = 0;
|
|
734
|
+
const lazy = (0, cement_1.Lazy)(() => {
|
|
735
|
+
return ++initVal;
|
|
736
|
+
}, { resetAfter: 50 });
|
|
737
|
+
expect(lazy()).toBe(1);
|
|
738
|
+
await (0, promise_sleep_js_1.sleep)(10);
|
|
739
|
+
expect(lazy()).toBe(1);
|
|
740
|
+
await (0, promise_sleep_js_1.sleep)(60);
|
|
741
|
+
expect(lazy()).toBe(2);
|
|
742
|
+
expect(lazy()).toBe(2);
|
|
743
|
+
await (0, promise_sleep_js_1.sleep)(60);
|
|
744
|
+
expect(lazy()).toBe(3);
|
|
745
|
+
expect(lazy()).toBe(3);
|
|
746
|
+
});
|
|
747
|
+
it("Async Lazy With Renew Timer", async () => {
|
|
748
|
+
let initVal = 0;
|
|
749
|
+
const lazy = (0, cement_1.Lazy)(() => {
|
|
750
|
+
return Promise.resolve(++initVal);
|
|
751
|
+
}, { resetAfter: 50 });
|
|
752
|
+
expect(await lazy()).toBe(1);
|
|
753
|
+
await (0, promise_sleep_js_1.sleep)(10);
|
|
754
|
+
expect(await lazy()).toBe(1);
|
|
755
|
+
await (0, promise_sleep_js_1.sleep)(60);
|
|
756
|
+
expect(await lazy()).toBe(2);
|
|
757
|
+
expect(await lazy()).toBe(2);
|
|
758
|
+
await (0, promise_sleep_js_1.sleep)(60);
|
|
759
|
+
expect(await lazy()).toBe(3);
|
|
760
|
+
expect(await lazy()).toBe(3);
|
|
761
|
+
});
|
|
731
762
|
});
|
|
732
763
|
describe("KeyToHash", () => {
|
|
733
764
|
it("KeyedResolvSeq could use default KeyToHash", async () => {
|