@adviser/cement 0.4.23 → 0.4.26

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.
Files changed (103) hide show
  1. package/cjs/future.cjs +1 -1
  2. package/cjs/future.cjs.map +1 -1
  3. package/cjs/future.d.ts.map +1 -1
  4. package/cjs/is-promise.cjs +4 -0
  5. package/cjs/is-promise.cjs.map +1 -1
  6. package/cjs/is-promise.d.ts +2 -0
  7. package/cjs/is-promise.d.ts.map +1 -1
  8. package/cjs/logger.test.cjs +20 -2
  9. package/cjs/logger.test.cjs.map +1 -1
  10. package/cjs/option.cjs +3 -0
  11. package/cjs/option.cjs.map +1 -1
  12. package/cjs/option.d.ts +1 -0
  13. package/cjs/option.d.ts.map +1 -1
  14. package/cjs/resolve-once.cjs +265 -93
  15. package/cjs/resolve-once.cjs.map +1 -1
  16. package/cjs/resolve-once.d.ts +48 -18
  17. package/cjs/resolve-once.d.ts.map +1 -1
  18. package/cjs/resolve-once.test.cjs +115 -9
  19. package/cjs/resolve-once.test.cjs.map +1 -1
  20. package/cjs/utils/console-write-stream.cjs +25 -13
  21. package/cjs/utils/console-write-stream.cjs.map +1 -1
  22. package/cjs/utils/console-write-stream.d.ts +7 -0
  23. package/cjs/utils/console-write-stream.d.ts.map +1 -1
  24. package/cjs/version.cjs +1 -1
  25. package/deno.json +1 -1
  26. package/esm/future.d.ts.map +1 -1
  27. package/esm/future.js +1 -1
  28. package/esm/future.js.map +1 -1
  29. package/esm/is-promise.d.ts +2 -0
  30. package/esm/is-promise.d.ts.map +1 -1
  31. package/esm/is-promise.js +3 -0
  32. package/esm/is-promise.js.map +1 -1
  33. package/esm/logger.test.js +21 -3
  34. package/esm/logger.test.js.map +1 -1
  35. package/esm/option.d.ts +1 -0
  36. package/esm/option.d.ts.map +1 -1
  37. package/esm/option.js +3 -0
  38. package/esm/option.js.map +1 -1
  39. package/esm/resolve-once.d.ts +48 -18
  40. package/esm/resolve-once.d.ts.map +1 -1
  41. package/esm/resolve-once.js +262 -92
  42. package/esm/resolve-once.js.map +1 -1
  43. package/esm/resolve-once.test.js +116 -10
  44. package/esm/resolve-once.test.js.map +1 -1
  45. package/esm/utils/console-write-stream.d.ts +7 -0
  46. package/esm/utils/console-write-stream.d.ts.map +1 -1
  47. package/esm/utils/console-write-stream.js +25 -13
  48. package/esm/utils/console-write-stream.js.map +1 -1
  49. package/esm/version.js +1 -1
  50. package/package.json +3 -3
  51. package/src/future.ts +2 -1
  52. package/src/is-promise.ts +6 -0
  53. package/src/option.ts +4 -0
  54. package/src/resolve-once.ts +342 -114
  55. package/src/utils/console-write-stream.ts +36 -16
  56. package/ts/cjs/future.d.ts.map +1 -1
  57. package/ts/cjs/future.js +1 -1
  58. package/ts/cjs/future.js.map +1 -1
  59. package/ts/cjs/is-promise.d.ts +2 -0
  60. package/ts/cjs/is-promise.d.ts.map +1 -1
  61. package/ts/cjs/is-promise.js +4 -0
  62. package/ts/cjs/is-promise.js.map +1 -1
  63. package/ts/cjs/logger.test.js +20 -2
  64. package/ts/cjs/logger.test.js.map +1 -1
  65. package/ts/cjs/option.d.ts +1 -0
  66. package/ts/cjs/option.d.ts.map +1 -1
  67. package/ts/cjs/option.js +3 -0
  68. package/ts/cjs/option.js.map +1 -1
  69. package/ts/cjs/resolve-once.d.ts +48 -18
  70. package/ts/cjs/resolve-once.d.ts.map +1 -1
  71. package/ts/cjs/resolve-once.js +265 -93
  72. package/ts/cjs/resolve-once.js.map +1 -1
  73. package/ts/cjs/resolve-once.test.js +115 -9
  74. package/ts/cjs/resolve-once.test.js.map +1 -1
  75. package/ts/cjs/utils/console-write-stream.d.ts +7 -0
  76. package/ts/cjs/utils/console-write-stream.d.ts.map +1 -1
  77. package/ts/cjs/utils/console-write-stream.js +25 -13
  78. package/ts/cjs/utils/console-write-stream.js.map +1 -1
  79. package/ts/cjs/version.js +1 -1
  80. package/ts/esm/future.d.ts.map +1 -1
  81. package/ts/esm/future.js +1 -1
  82. package/ts/esm/future.js.map +1 -1
  83. package/ts/esm/is-promise.d.ts +2 -0
  84. package/ts/esm/is-promise.d.ts.map +1 -1
  85. package/ts/esm/is-promise.js +3 -0
  86. package/ts/esm/is-promise.js.map +1 -1
  87. package/ts/esm/logger.test.js +21 -3
  88. package/ts/esm/logger.test.js.map +1 -1
  89. package/ts/esm/option.d.ts +1 -0
  90. package/ts/esm/option.d.ts.map +1 -1
  91. package/ts/esm/option.js +3 -0
  92. package/ts/esm/option.js.map +1 -1
  93. package/ts/esm/resolve-once.d.ts +48 -18
  94. package/ts/esm/resolve-once.d.ts.map +1 -1
  95. package/ts/esm/resolve-once.js +262 -92
  96. package/ts/esm/resolve-once.js.map +1 -1
  97. package/ts/esm/resolve-once.test.js +116 -10
  98. package/ts/esm/resolve-once.test.js.map +1 -1
  99. package/ts/esm/utils/console-write-stream.d.ts +7 -0
  100. package/ts/esm/utils/console-write-stream.d.ts.map +1 -1
  101. package/ts/esm/utils/console-write-stream.js +25 -13
  102. package/ts/esm/utils/console-write-stream.js.map +1 -1
  103. package/ts/esm/version.js +1 -1
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.KeyedResolvSeq = exports.KeyedResolvOnce = exports.Keyed = exports.ResolveOnce = exports.ResolveSeq = void 0;
3
+ exports.KeyedResolvSeq = exports.KeyedResolvOnce = exports.Keyed = exports.ResolveOnce = exports.AsyncResolveOnce = exports.SyncResolveOnce = exports.ResolveSeq = void 0;
4
4
  exports.Lazy = Lazy;
5
5
  const future_js_1 = require("./future.cjs");
6
6
  const is_promise_js_1 = require("./is-promise.cjs");
7
7
  const lru_map_set_js_1 = require("./lru-map-set.cjs");
8
8
  const result_js_1 = require("./result.cjs");
9
+ const option_js_1 = require("./option.cjs");
9
10
  class ResolveSeq {
10
11
  ctx;
11
12
  constructor(ctx) {
@@ -22,24 +23,33 @@ class ResolveSeq {
22
23
  }
23
24
  return Promise.resolve();
24
25
  }
25
- _step(item) {
26
+ async _step(item) {
26
27
  if (!item) {
27
28
  this._flushWaiting.forEach((f) => f.resolve());
28
29
  this._flushWaiting?.splice(0, this._flushWaiting.length);
29
30
  return Promise.resolve();
30
31
  }
31
- item
32
- .fn(this.ctx)
33
- .then((value) => item.future.resolve(value))
34
- .catch((e) => item.future.reject(e))
35
- .finally(() => {
32
+ let value;
33
+ try {
34
+ const promiseOrValue = item.fn(this.ctx);
35
+ if ((0, is_promise_js_1.isPromise)(promiseOrValue)) {
36
+ value = await promiseOrValue;
37
+ }
38
+ else {
39
+ value = promiseOrValue;
40
+ }
41
+ item.future.resolve(value);
42
+ }
43
+ catch (e) {
44
+ item.future.reject(e);
45
+ }
46
+ finally {
36
47
  this._seqFutures.shift();
37
- void this._step(this._seqFutures[0]);
38
- });
39
- return Promise.resolve();
48
+ }
49
+ return this._step(this._seqFutures[0]);
40
50
  }
41
51
  _seqFutures = [];
42
- async add(fn, id) {
52
+ add(fn, id) {
43
53
  const future = new future_js_1.Future();
44
54
  this._seqFutures.push({ future, fn, id });
45
55
  if (this._seqFutures.length === 1) {
@@ -49,110 +59,269 @@ class ResolveSeq {
49
59
  }
50
60
  }
51
61
  exports.ResolveSeq = ResolveSeq;
52
- class ResolveOnce {
53
- _onceDone = false;
54
- _onceFutures = [];
55
- _onceOk = false;
56
- _onceValue;
57
- _onceError;
58
- _isPromise = false;
59
- _inProgress;
60
- ctx;
61
- constructor(ctx) {
62
- this.ctx = ctx;
62
+ class SyncResolveOnce {
63
+ state = "initial";
64
+ #value;
65
+ #error;
66
+ queueLength = 0;
67
+ get value() {
68
+ return this.#value;
69
+ }
70
+ get error() {
71
+ return this.#error;
63
72
  }
64
73
  get ready() {
65
- return this._onceDone;
74
+ return this.state === "processed";
66
75
  }
67
- get value() {
68
- return this._onceDone ? this._onceValue : undefined;
76
+ #ctx;
77
+ constructor(ctx) {
78
+ this.#ctx = ctx;
69
79
  }
70
- reset() {
71
- this._onceDone = false;
72
- this._onceOk = false;
73
- this._onceValue = undefined;
74
- this._onceError = undefined;
75
- if (this._inProgress) {
76
- const idx = this._onceFutures.findIndex((f) => f === this._inProgress);
77
- if (idx >= 0) {
78
- this._onceFutures.push(...this._onceFutures.splice(2).slice(1));
80
+ resolve(fn) {
81
+ if (this.state === "initial") {
82
+ this.state = "processed";
83
+ try {
84
+ this.#value = fn(this.#ctx);
85
+ }
86
+ catch (e) {
87
+ this.#error = e;
88
+ }
89
+ if ((0, is_promise_js_1.isPromise)(this.value)) {
90
+ throw new Error("SyncResolveOnce.once fn returned a promise");
79
91
  }
80
92
  }
81
- else {
82
- this._onceFutures.length = 0;
93
+ if (this.#error) {
94
+ throw this.#error;
83
95
  }
96
+ return this.#value;
84
97
  }
85
- once(fn) {
86
- if (this._onceDone) {
87
- if (this._onceError) {
88
- if (this._isPromise) {
89
- return Promise.reject(this._onceError);
90
- }
91
- else {
92
- throw this._onceError;
98
+ reset(fn) {
99
+ this.state = "initial";
100
+ this.#value = undefined;
101
+ this.#error = undefined;
102
+ if (fn) {
103
+ return this.resolve(fn);
104
+ }
105
+ return undefined;
106
+ }
107
+ }
108
+ exports.SyncResolveOnce = SyncResolveOnce;
109
+ class AsyncResolveItem {
110
+ id = Math.random();
111
+ #state = "initial";
112
+ #toResolve;
113
+ #value = option_js_1.Option.None();
114
+ #error;
115
+ constructor(fn) {
116
+ this.#toResolve = fn;
117
+ }
118
+ get value() {
119
+ return this.#value.IsSome() ? this.#value.unwrap() : undefined;
120
+ }
121
+ get error() {
122
+ return this.#error;
123
+ }
124
+ #queue = [];
125
+ get queuelength() {
126
+ return this.#queue.length;
127
+ }
128
+ isDisposable() {
129
+ return this.#state === "processed" && this.#queue.length === 0;
130
+ }
131
+ #resolveFuture(future) {
132
+ if (!future) {
133
+ return;
134
+ }
135
+ if (this.#error) {
136
+ future.reject(this.#error);
137
+ return;
138
+ }
139
+ if (this.#value.IsSome()) {
140
+ future.resolve(this.#value.Unwrap());
141
+ }
142
+ }
143
+ #promiseResult() {
144
+ if (this.#error) {
145
+ return Promise.reject(this.#error);
146
+ }
147
+ if (this.#value.IsSome()) {
148
+ return Promise.resolve(this.#value.Unwrap());
149
+ }
150
+ throw new Error("AsyncResolveItem.#promiseResult impossible");
151
+ }
152
+ resolve() {
153
+ if (this.#state === "initial") {
154
+ this.#state = "waiting";
155
+ const future = new future_js_1.Future();
156
+ this.#queue.push(future);
157
+ this.#toResolve
158
+ .then((value) => {
159
+ this.#value = option_js_1.Option.Some(value);
160
+ })
161
+ .catch((e) => {
162
+ this.#error = e;
163
+ })
164
+ .finally(() => {
165
+ this.#state = "processed";
166
+ while (this.#queue.length > 0) {
167
+ this.#resolveFuture(this.#queue.shift());
93
168
  }
94
- }
95
- if (this._onceOk) {
96
- if (this._isPromise) {
97
- return Promise.resolve(this._onceValue);
169
+ });
170
+ return future.asPromise();
171
+ }
172
+ if (this.#state === "processed") {
173
+ return this.#promiseResult();
174
+ }
175
+ if (this.#state === "waiting") {
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");
181
+ }
182
+ }
183
+ class AsyncResolveOnce {
184
+ state = "initial";
185
+ #queue = [];
186
+ #ctx;
187
+ constructor(ctx) {
188
+ this.#ctx = ctx;
189
+ }
190
+ #active() {
191
+ const r = this.#queue[this.#queue.length - 1];
192
+ if (!r) {
193
+ throw new Error("AsyncResolveOnce.#active impossible");
194
+ }
195
+ return r;
196
+ }
197
+ get queueLength() {
198
+ return this.#queue.reduce((acc, r) => acc + r.queuelength, this.#queue.length);
199
+ }
200
+ get ready() {
201
+ return this.state !== "initial";
202
+ }
203
+ get value() {
204
+ if (this.state === "initial") {
205
+ return undefined;
206
+ }
207
+ return this.#active().value;
208
+ }
209
+ get error() {
210
+ if (this.state === "initial") {
211
+ return undefined;
212
+ }
213
+ return this.#active().error;
214
+ }
215
+ resolve(fn) {
216
+ if (this.state === "initial") {
217
+ this.state = "waiting";
218
+ let promiseResult;
219
+ try {
220
+ const couldBePromise = fn(this.#ctx);
221
+ if (!(0, is_promise_js_1.isPromise)(couldBePromise)) {
222
+ promiseResult = Promise.resolve(couldBePromise);
98
223
  }
99
224
  else {
100
- return this._onceValue;
225
+ promiseResult = couldBePromise;
101
226
  }
102
227
  }
103
- throw new Error("ResolveOnce.once impossible");
228
+ catch (e) {
229
+ promiseResult = Promise.reject(e);
230
+ }
231
+ this.#queue.push(new AsyncResolveItem(promiseResult));
104
232
  }
105
- const future = new future_js_1.Future();
106
- this._onceFutures.push(future);
107
- if (this._onceFutures.length === 1) {
108
- const okFn = (value) => {
109
- this._onceValue = value;
110
- this._onceOk = true;
111
- this._onceDone = true;
112
- if (this._isPromise) {
113
- this._onceFutures.forEach((f) => f.resolve(this._onceValue));
114
- }
115
- this._onceFutures.length = 0;
116
- };
117
- const catchFn = (e) => {
118
- this._onceError = e;
119
- this._onceOk = false;
120
- this._onceValue = undefined;
121
- this._onceDone = true;
122
- if (this._isPromise) {
123
- this._onceFutures.forEach((f) => f.reject(this._onceError));
124
- }
125
- this._onceFutures.length = 0;
126
- };
127
- this._inProgress = future;
233
+ this.#queue
234
+ .slice(0, -1)
235
+ .map((i, idx) => (i.isDisposable() ? idx : undefined))
236
+ .filter((i) => i !== undefined)
237
+ .reverse()
238
+ .forEach((idx) => this.#queue.splice(idx, 1));
239
+ return this.#active().resolve();
240
+ }
241
+ reset(fn) {
242
+ this.state = "initial";
243
+ if (fn) {
244
+ return this.resolve(fn);
245
+ }
246
+ return undefined;
247
+ }
248
+ }
249
+ exports.AsyncResolveOnce = AsyncResolveOnce;
250
+ class ResolveOnce {
251
+ #state = "initial";
252
+ #syncOrAsync = option_js_1.Option.None();
253
+ #ctx;
254
+ constructor(ctx) {
255
+ this.#ctx = ctx;
256
+ }
257
+ get ready() {
258
+ return this.#state !== "initial" && this.#syncOrAsync.Unwrap().ready;
259
+ }
260
+ get value() {
261
+ if (this.#state === "initial") {
262
+ return undefined;
263
+ }
264
+ return this.#syncOrAsync.Unwrap().value;
265
+ }
266
+ get queueLength() {
267
+ if (this.#state === "initial") {
268
+ return 0;
269
+ }
270
+ return this.#syncOrAsync.Unwrap().queueLength;
271
+ }
272
+ get error() {
273
+ if (this.#state === "initial") {
274
+ return undefined;
275
+ }
276
+ return this.#syncOrAsync.Unwrap().error;
277
+ }
278
+ get state() {
279
+ if (this.#state === "initial") {
280
+ return "initial";
281
+ }
282
+ return this.#syncOrAsync.Unwrap().state;
283
+ }
284
+ once(fn) {
285
+ let resultFn;
286
+ if (this.#state === "initial") {
287
+ this.#state = "processing";
128
288
  try {
129
- const ret = fn(this.ctx);
130
- if ((0, is_promise_js_1.isPromise)(ret)) {
131
- this._isPromise = true;
132
- ret
133
- .then(okFn)
134
- .catch(catchFn)
135
- .finally(() => {
136
- this._inProgress = undefined;
137
- });
289
+ const isSyncOrAsync = fn(this.#ctx);
290
+ if ((0, is_promise_js_1.isPromise)(isSyncOrAsync)) {
291
+ this.#syncOrAsync = option_js_1.Option.Some(new AsyncResolveOnce(this.#ctx));
138
292
  }
139
293
  else {
140
- okFn(ret);
294
+ this.#syncOrAsync = option_js_1.Option.Some(new SyncResolveOnce(this.#ctx));
141
295
  }
296
+ resultFn = () => isSyncOrAsync;
142
297
  }
143
298
  catch (e) {
144
- catchFn(e);
299
+ this.#syncOrAsync = option_js_1.Option.Some(new SyncResolveOnce(this.#ctx));
300
+ resultFn = () => {
301
+ throw e;
302
+ };
145
303
  }
146
- if (!this._isPromise) {
147
- this._inProgress = undefined;
304
+ finally {
305
+ this.#state = "processed";
148
306
  }
149
307
  }
150
- if (this._isPromise) {
151
- return future.asPromise();
152
- }
153
308
  else {
309
+ resultFn = fn;
310
+ }
311
+ if (!this.#syncOrAsync) {
312
+ throw new Error("ResolveOnce.once impossible");
313
+ }
314
+ return this.#syncOrAsync.Unwrap().resolve(resultFn);
315
+ }
316
+ reset(fn) {
317
+ if (this.#state === "initial") {
154
318
  return this.once(fn);
155
319
  }
320
+ if (this.#state === "processing") {
321
+ console.warn("ResolveOnce.reset dropped was called while processing");
322
+ return undefined;
323
+ }
324
+ return this.#syncOrAsync.Unwrap().reset(fn);
156
325
  }
157
326
  }
158
327
  exports.ResolveOnce = ResolveOnce;
@@ -192,6 +361,9 @@ class Keyed {
192
361
  }
193
362
  return this._map.has(key);
194
363
  }
364
+ delete(key) {
365
+ this._map.delete(key);
366
+ }
195
367
  unget(key) {
196
368
  const keyed = this._map.get(key);
197
369
  keyed?.reset();
@@ -209,14 +381,14 @@ class KeyedResolvOnce extends Keyed {
209
381
  }
210
382
  *entries() {
211
383
  for (const [k, v] of this._map.entries()) {
212
- if (!v._onceDone) {
384
+ if (!v.ready) {
213
385
  continue;
214
386
  }
215
- if (v._onceError) {
216
- yield { key: k, value: result_js_1.Result.Err(v._onceError) };
387
+ if (v.error) {
388
+ yield { key: k, value: result_js_1.Result.Err(v.error) };
217
389
  }
218
390
  else {
219
- yield { key: k, value: result_js_1.Result.Ok(v._onceValue) };
391
+ yield { key: k, value: result_js_1.Result.Ok(v.value) };
220
392
  }
221
393
  }
222
394
  }
@@ -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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"}
@@ -1,9 +1,11 @@
1
1
  import { Future } from "./future.js";
2
+ import { UnPromisify } from "./is-promise.js";
3
+ import { Promisable } from "./is-promise.js";
2
4
  import { LRUMap, LRUParam, UnregFn } from "./lru-map-set.js";
3
5
  import { Result } from "./result.js";
4
- interface ResolveSeqItem<T, C> {
6
+ interface ResolveSeqItem<T, C, R extends Promisable<T>> {
5
7
  readonly future: Future<T>;
6
- readonly fn: (c?: C) => Promise<T>;
8
+ readonly fn: (c?: C) => R;
7
9
  readonly id?: number;
8
10
  }
9
11
  export declare class ResolveSeq<T, C = void> {
@@ -12,24 +14,51 @@ export declare class ResolveSeq<T, C = void> {
12
14
  reset(): void;
13
15
  readonly _flushWaiting: Future<void>[];
14
16
  flush(): Promise<void>;
15
- _step(item?: ResolveSeqItem<T, C>): Promise<void>;
16
- readonly _seqFutures: ResolveSeqItem<T, C>[];
17
- add(fn: (c?: C) => Promise<T>, id?: number): Promise<T>;
17
+ _step<R extends Promisable<T>>(item?: ResolveSeqItem<T, C, R>): Promise<void>;
18
+ readonly _seqFutures: ResolveSeqItem<T, C, Promisable<T>>[];
19
+ add<R extends Promisable<T>>(fn: (c?: C) => R, id?: number): Promise<UnPromisify<R>>;
18
20
  }
19
- export declare class ResolveOnce<T, CTX = void> {
20
- _onceDone: boolean;
21
- readonly _onceFutures: Future<T>[];
22
- _onceOk: boolean;
23
- _onceValue?: T;
24
- _onceError?: Error;
25
- _isPromise: boolean;
26
- _inProgress?: Future<T>;
27
- readonly ctx?: CTX;
28
- constructor(ctx?: CTX);
21
+ type ResolveState = "initial" | "processed" | "waiting" | "processing";
22
+ interface ResolveOnceIf<T extends Promisable<unknown>, CTX = void> {
29
23
  get ready(): boolean;
24
+ get value(): UnPromisify<T> | undefined;
25
+ get error(): Error | undefined;
26
+ get state(): ResolveState;
27
+ once<R extends Promisable<UnPromisify<T>>>(fn: (c?: CTX) => R): R;
28
+ reset<R extends Promisable<UnPromisify<T>>>(fn?: (c?: CTX) => R): R;
29
+ }
30
+ export declare class SyncResolveOnce<T extends Promisable<unknown>, CTX = void> {
31
+ #private;
32
+ state: ResolveState;
33
+ readonly queueLength: number;
30
34
  get value(): T | undefined;
31
- reset(): void;
32
- once<R>(fn: (c?: CTX) => R): R;
35
+ get error(): Error | undefined;
36
+ get ready(): boolean;
37
+ constructor(ctx?: CTX);
38
+ resolve(fn: (ctx?: CTX) => T): T;
39
+ reset(fn?: (c?: CTX) => T): T | undefined;
40
+ }
41
+ export declare class AsyncResolveOnce<T extends Promisable<unknown>, CTX = void> {
42
+ #private;
43
+ state: ResolveState;
44
+ constructor(ctx?: CTX);
45
+ get queueLength(): number;
46
+ get ready(): boolean;
47
+ get value(): UnPromisify<T> | undefined;
48
+ get error(): Error | undefined;
49
+ resolve(fn: (ctx?: CTX) => T): T;
50
+ reset(fn?: (c?: CTX) => T): T;
51
+ }
52
+ export declare class ResolveOnce<T extends Promisable<unknown>, CTX = void> implements ResolveOnceIf<T, CTX> {
53
+ #private;
54
+ constructor(ctx?: CTX);
55
+ get ready(): boolean;
56
+ get value(): UnPromisify<T> | undefined;
57
+ get queueLength(): number;
58
+ get error(): Error | undefined;
59
+ get state(): ResolveState;
60
+ once<R extends Promisable<UnPromisify<T>>>(fn: (c?: CTX) => R): R;
61
+ reset<R extends Promisable<UnPromisify<T>>>(fn?: (c?: CTX) => R): R;
33
62
  }
34
63
  export interface KeyedParam {
35
64
  readonly lru: Partial<LRUParam>;
@@ -46,6 +75,7 @@ export declare class Keyed<T extends {
46
75
  asyncGet(key: () => Promise<K>): Promise<T>;
47
76
  get(key: K | (() => K)): T;
48
77
  has(key: K | (() => K)): boolean;
78
+ delete(key: K): void;
49
79
  unget(key: K): void;
50
80
  reset(): void;
51
81
  }
@@ -61,6 +91,6 @@ export declare class KeyedResolvOnce<T, K = string> extends Keyed<ResolveOnce<T,
61
91
  export declare class KeyedResolvSeq<T, K = string> extends Keyed<ResolveSeq<T, K>, K> {
62
92
  constructor(kp?: Partial<KeyedParam>);
63
93
  }
64
- export declare function Lazy<R>(fn: () => R): () => ReturnType<typeof fn>;
94
+ export declare function Lazy<R extends Promisable<unknown>>(fn: () => R): () => ReturnType<typeof fn>;
65
95
  export {};
66
96
  //# sourceMappingURL=resolve-once.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-once.d.ts","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolve-once.d.ts","sourceRoot":"","sources":["../../../src/resolve-once.ts"],"names":[],"mappings":"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"}