@daiso-tech/core 0.31.1 → 0.32.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.
Files changed (60) hide show
  1. package/dist/async/_module-exports.d.ts +1 -0
  2. package/dist/async/_module-exports.js +1 -0
  3. package/dist/async/_module-exports.js.map +1 -1
  4. package/dist/async/async.events.d.ts +82 -0
  5. package/dist/async/async.events.js +59 -0
  6. package/dist/async/async.events.js.map +1 -0
  7. package/dist/async/utilities/lazy-promise/lazy-promise-event-bus.d.ts +15 -0
  8. package/dist/async/utilities/lazy-promise/lazy-promise-event-bus.js +50 -0
  9. package/dist/async/utilities/lazy-promise/lazy-promise-event-bus.js.map +1 -0
  10. package/dist/async/utilities/lazy-promise/lazy-promise-listener.contract.d.ts +23 -0
  11. package/dist/async/utilities/lazy-promise/lazy-promise-listener.contract.js +44 -0
  12. package/dist/async/utilities/lazy-promise/lazy-promise-listener.contract.js.map +1 -0
  13. package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +87 -41
  14. package/dist/async/utilities/lazy-promise/lazy-promise.js +141 -86
  15. package/dist/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
  16. package/dist/async/utilities/retry/retry-or-fail.d.ts +1 -1
  17. package/dist/async/utilities/retry/retry-or-fail.js +1 -1
  18. package/dist/async/utilities/retry/retry-or-fail.js.map +1 -1
  19. package/dist/async/utilities/retry/retry.d.ts +1 -1
  20. package/dist/async/utilities/retry/retry.js.map +1 -1
  21. package/dist/cache/implementations/derivables/cache/cache.d.ts +13 -8
  22. package/dist/cache/implementations/derivables/cache/cache.js +7 -23
  23. package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
  24. package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +3 -22
  25. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +2 -42
  26. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
  27. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +5 -8
  28. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +5 -19
  29. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  30. package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +13 -8
  31. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +9 -28
  32. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
  33. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +3 -29
  34. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +2 -48
  35. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
  36. package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +14 -8
  37. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +7 -24
  38. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
  39. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +3 -25
  40. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +2 -47
  41. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
  42. package/dist/utilities/classes/_module.d.ts +1 -0
  43. package/dist/utilities/classes/_module.js +1 -0
  44. package/dist/utilities/classes/_module.js.map +1 -1
  45. package/dist/utilities/classes/sync-event-bus/_module.d.ts +1 -0
  46. package/dist/utilities/classes/sync-event-bus/_module.js +2 -0
  47. package/dist/utilities/classes/sync-event-bus/_module.js.map +1 -0
  48. package/dist/utilities/classes/sync-event-bus/sync-event-bus.d.ts +16 -0
  49. package/dist/utilities/classes/sync-event-bus/sync-event-bus.js +53 -0
  50. package/dist/utilities/classes/sync-event-bus/sync-event-bus.js.map +1 -0
  51. package/dist/utilities/contracts/_module.d.ts +1 -0
  52. package/dist/utilities/contracts/_module.js +1 -0
  53. package/dist/utilities/contracts/_module.js.map +1 -1
  54. package/dist/utilities/contracts/sync-event-bus-listenable.d.ts +13 -0
  55. package/dist/utilities/contracts/sync-event-bus-listenable.js +5 -0
  56. package/dist/utilities/contracts/sync-event-bus-listenable.js.map +1 -0
  57. package/dist/utilities/functions/invokable.d.ts +4 -0
  58. package/dist/utilities/functions/invokable.js +9 -0
  59. package/dist/utilities/functions/invokable.js.map +1 -1
  60. package/package.json +1 -1
@@ -1,18 +1,18 @@
1
- /**
2
- * @module Async
3
- */
4
1
  import { retryOrFail } from "../../../async/utilities/retry/_module.js";
5
2
  import { timeoutAndFail } from "../../../async/utilities/timeout/_module.js";
6
3
  import { abortAndFail } from "../../../async/utilities/abort/_module.js";
7
4
  import {
8
5
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
9
- AbortAsyncError,
10
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
11
- TimeoutAsyncError,
6
+ TimeoutAsyncError, } from "../../../async/async.errors.js";
7
+ import {
12
8
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
13
9
  RetryAsyncError, } from "../../../async/async.errors.js";
14
- import { removeUndefinedProperties, resolveAsyncLazyable, resolveInvokable, } from "../../../utilities/_module-exports.js";
10
+ import {
11
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
12
+ AbortAsyncError, } from "../../../async/async.errors.js";
13
+ import { removeUndefinedProperties, resolveAsyncLazyable, resolveInvokable, SyncEventBus, } from "../../../utilities/_module-exports.js";
15
14
  import { delay } from "../../../async/utilities/_module.js";
15
+ import { AbortAsyncEvent, FailureAsyncEvent, FinallyAsyncEvent, RetryAttemptAsyncEvent, RetryFailureAsyncEvent, RetryTimeoutAsyncEvent, SuccessAsyncEvent, TotalTimeoutFailureAsyncEvent, } from "../../../async/async.events.js";
16
16
  /**
17
17
  * The <i>LazyPromise</i> class is used for creating lazy <i>{@link PromiseLike}<i> object that will only execute when awaited or when then method is called.
18
18
  * The class includes helpful methods
@@ -20,7 +20,7 @@ import { delay } from "../../../async/utilities/_module.js";
20
20
  * - <i>setRetryAttempts</i>
21
21
  * - <i>setRetryTimeout</i>
22
22
  * - <i>setRetryPolicy</i>
23
- * - <i>backoffPolicy</i>
23
+ * - <i>setBackoffPolicy</i>
24
24
  * - <i>setTotalTimeout</i>
25
25
  * - <i>setAbortSignal</i>
26
26
  *
@@ -78,30 +78,56 @@ export class LazyPromise {
78
78
  /**
79
79
  * The <i>all<i> method works similarly to <i>{@link Promise.all}</i> with the key distinction that it operates lazily.
80
80
  */
81
- static all(promises) {
82
- return new LazyPromise(async () => Promise.all(promises));
81
+ static all(promises, settings) {
82
+ return new LazyPromise(async () => Promise.all(promises), settings);
83
83
  }
84
84
  /**
85
85
  * The <i>allSettled<i> method works similarly to <i>{@link Promise.allSettled}</i> with the key distinction that it operates lazily.
86
86
  */
87
- static allSettled(promises) {
88
- return new LazyPromise(async () => Promise.allSettled(promises));
87
+ static allSettled(promises, settings) {
88
+ return new LazyPromise(async () => Promise.allSettled(promises), settings);
89
89
  }
90
90
  /**
91
91
  * The <i>race<i> method works similarly to <i>{@link Promise.race}</i> with the key distinction that it operates lazily.
92
92
  */
93
- static race(promises) {
94
- return new LazyPromise(async () => Promise.race(promises));
93
+ static race(promises, settings) {
94
+ return new LazyPromise(async () => Promise.race(promises), settings);
95
95
  }
96
96
  /**
97
97
  * The <i>any<i> method works similarly to <i>{@link Promise.any}</i> with the key distinction that it operates lazily.
98
98
  */
99
- static any(promises) {
100
- return new LazyPromise(async () => Promise.any(promises));
99
+ static any(promises, settings) {
100
+ return new LazyPromise(async () => Promise.any(promises), settings);
101
+ }
102
+ /**
103
+ * The <i>fromCallback</i> is convience method used for wrapping Node js callback functions with a <i>LazyPromise</i>.
104
+ * @example
105
+ * ```ts
106
+ * import { LazyPromise } from "@daiso-tech/core/async";
107
+ * import { readFile } from "node:fs";
108
+ *
109
+ * const lazyPromise = LazyPromise.fromCallback<Buffer>((resolve, reject) => {
110
+ * readFile("FILE_PATH", (err, data) => {
111
+ * if (err !== null) {
112
+ * reject(err);
113
+ * return;
114
+ * }
115
+ * resolve(data);
116
+ * });
117
+ * });
118
+ * const file = await lazyPromise;
119
+ * console.log(file);
120
+ * ```
121
+ */
122
+ static fromCallback(callback, settings) {
123
+ return new LazyPromise(() => new Promise((resolve, reject) => {
124
+ callback(resolve, reject);
125
+ }), settings);
101
126
  }
102
127
  promise = null;
103
128
  asyncFn;
104
129
  settings;
130
+ eventBus = new SyncEventBus();
105
131
  /**
106
132
  * @example
107
133
  * ```ts
@@ -114,9 +140,11 @@ export class LazyPromise {
114
140
  * // "I am lazy" will only logged when awaited or then method i called.
115
141
  * await promise;
116
142
  * ```
143
+ *
144
+ * You can pass sync or async <i>{@link Invokable}</i>.
117
145
  */
118
- constructor(asyncFn, settings = {}) {
119
- this.asyncFn = () => resolveAsyncLazyable(asyncFn);
146
+ constructor(invokable, settings = {}) {
147
+ this.asyncFn = () => resolveAsyncLazyable(invokable);
120
148
  this.settings = removeUndefinedProperties({
121
149
  retryAttempts: null,
122
150
  backoffPolicy: null,
@@ -130,16 +158,30 @@ export class LazyPromise {
130
158
  ...settings,
131
159
  });
132
160
  }
161
+ addListener(event, listener) {
162
+ this.eventBus.addListener(event, listener);
163
+ }
164
+ removeListener(event, listener) {
165
+ this.eventBus.removeListener(event, listener);
166
+ }
133
167
  applyRetryTimeout() {
134
168
  if (this.settings.retryTimeout === null) {
135
169
  return;
136
170
  }
137
171
  const oldAsyncFn = this.asyncFn;
138
- const newAsyncFn = () => {
139
- if (this.settings.retryTimeout === null) {
140
- throw new Error(`LazyPromise["time"] field is null`);
172
+ const newAsyncFn = async () => {
173
+ try {
174
+ if (this.settings.retryTimeout === null) {
175
+ throw new Error(`LazyPromise["time"] field is null`);
176
+ }
177
+ return await timeoutAndFail(oldAsyncFn, this.settings.retryTimeout);
178
+ }
179
+ catch (error) {
180
+ if (error instanceof TimeoutAsyncError) {
181
+ this.eventBus.dispatch(new RetryTimeoutAsyncEvent({ error }));
182
+ }
183
+ throw error;
141
184
  }
142
- return timeoutAndFail(oldAsyncFn, this.settings.retryTimeout);
143
185
  };
144
186
  this.asyncFn = newAsyncFn;
145
187
  }
@@ -149,15 +191,34 @@ export class LazyPromise {
149
191
  }
150
192
  this.applyRetryTimeout();
151
193
  const oldAsyncFn = this.asyncFn;
152
- const newAsyncFn = () => {
153
- if (this.settings.retryAttempts === null) {
154
- throw new Error(`LazyPromise["attempts"] field is null`);
194
+ const newAsyncFn = async () => {
195
+ try {
196
+ if (this.settings.retryAttempts === null) {
197
+ throw new Error(`LazyPromise["attempts"] field is null`);
198
+ }
199
+ return await retryOrFail(async (attempt) => {
200
+ try {
201
+ return await oldAsyncFn();
202
+ }
203
+ catch (error) {
204
+ this.eventBus.dispatch(new RetryAttemptAsyncEvent({
205
+ attempt,
206
+ error,
207
+ }));
208
+ throw error;
209
+ }
210
+ }, {
211
+ backoffPolicy: this.settings.backoffPolicy ?? undefined,
212
+ retryPolicy: this.settings.retryPolicy ?? undefined,
213
+ maxAttempts: this.settings.retryAttempts,
214
+ });
215
+ }
216
+ catch (error) {
217
+ if (error instanceof RetryAsyncError) {
218
+ this.eventBus.dispatch(new RetryFailureAsyncEvent({ error }));
219
+ }
220
+ throw error;
155
221
  }
156
- return retryOrFail(oldAsyncFn, {
157
- backoffPolicy: this.settings.backoffPolicy ?? undefined,
158
- retryPolicy: this.settings.retryPolicy ?? undefined,
159
- maxAttempts: this.settings.retryAttempts,
160
- });
161
222
  };
162
223
  this.asyncFn = newAsyncFn;
163
224
  }
@@ -167,10 +228,18 @@ export class LazyPromise {
167
228
  }
168
229
  const oldAsyncFn = this.asyncFn;
169
230
  const newAsyncFn = () => {
170
- if (this.settings.totalTimeout === null) {
171
- throw new Error(`LazyPromise["time"] field is null`);
231
+ try {
232
+ if (this.settings.totalTimeout === null) {
233
+ throw new Error(`LazyPromise["time"] field is null`);
234
+ }
235
+ return timeoutAndFail(oldAsyncFn, this.settings.totalTimeout);
236
+ }
237
+ catch (error) {
238
+ if (error instanceof TimeoutAsyncError) {
239
+ this.eventBus.dispatch(new TotalTimeoutFailureAsyncEvent({ error }));
240
+ }
241
+ throw error;
172
242
  }
173
- return timeoutAndFail(oldAsyncFn, this.settings.totalTimeout);
174
243
  };
175
244
  this.asyncFn = newAsyncFn;
176
245
  }
@@ -179,11 +248,19 @@ export class LazyPromise {
179
248
  return;
180
249
  }
181
250
  const oldAsyncFn = this.asyncFn;
182
- const newAsyncFn = () => {
183
- if (this.settings.abortSignal === null) {
184
- throw new Error(`LazyPromise["abortSignal"] field is null`);
251
+ const newAsyncFn = async () => {
252
+ try {
253
+ if (this.settings.abortSignal === null) {
254
+ throw new Error(`LazyPromise["abortSignal"] field is null`);
255
+ }
256
+ return await abortAndFail(oldAsyncFn, this.settings.abortSignal);
257
+ }
258
+ catch (error) {
259
+ if (error instanceof AbortAsyncError) {
260
+ this.eventBus.dispatch(new AbortAsyncEvent({ error }));
261
+ }
262
+ throw error;
185
263
  }
186
- return abortAndFail(oldAsyncFn, this.settings.abortSignal);
187
264
  };
188
265
  this.asyncFn = newAsyncFn;
189
266
  }
@@ -192,21 +269,6 @@ export class LazyPromise {
192
269
  this.applyTotalTimeout();
193
270
  this.applyAbort();
194
271
  }
195
- /**
196
- * @throws {AbortAsyncError} {@link AbortAsyncError}
197
- * @throws {TimeoutAsyncError} {@link TimeoutAsyncError}
198
- * @throws {RetryAsyncError} {@link RetryAsyncError}
199
- */
200
- then(onfulfilled,
201
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
202
- onrejected) {
203
- this.applySettings();
204
- if (this.promise === null) {
205
- this.promise = this.asyncFn();
206
- }
207
- // eslint-disable-next-line @typescript-eslint/use-unknown-in-catch-callback-variable
208
- return this.promise.then(onfulfilled, onrejected);
209
- }
210
272
  /**
211
273
  * The <i>setBackoffPolicy</i> method is used for setting a custom <i>{@link BackoffPolicy}</i>.
212
274
  * ```ts
@@ -355,23 +417,20 @@ export class LazyPromise {
355
417
  abortSignal,
356
418
  });
357
419
  }
358
- onFinally(cb) {
359
- return new LazyPromise(this.asyncFn, {
360
- ...this.settings,
361
- onFinally: cb,
362
- });
363
- }
364
- onSuccess(cb) {
365
- return new LazyPromise(this.asyncFn, {
366
- ...this.settings,
367
- onSuccess: cb,
368
- });
369
- }
370
- onError(cb) {
371
- return new LazyPromise(this.asyncFn, {
372
- ...this.settings,
373
- onError: cb,
374
- });
420
+ /**
421
+ * @throws {AbortAsyncError} {@link AbortAsyncError}
422
+ * @throws {TimeoutAsyncError} {@link TimeoutAsyncError}
423
+ * @throws {RetryAsyncError} {@link RetryAsyncError}
424
+ */
425
+ then(onfulfilled,
426
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
427
+ onrejected) {
428
+ this.applySettings();
429
+ if (this.promise === null) {
430
+ this.promise = this.asyncFn();
431
+ }
432
+ // eslint-disable-next-line @typescript-eslint/use-unknown-in-catch-callback-variable
433
+ return this.promise.then(onfulfilled, onrejected);
375
434
  }
376
435
  /**
377
436
  * The <i>defer</i> method executes the <i>LazyPromise</i> without awaiting it.
@@ -395,25 +454,21 @@ export class LazyPromise {
395
454
  * ```
396
455
  */
397
456
  defer() {
398
- const onSuccesHandler = async (value) => {
399
- try {
400
- await this.settings.onSuccess(value);
401
- return value;
402
- }
403
- finally {
404
- await this.settings.onFinally();
405
- }
457
+ const onFinally = () => {
458
+ this.eventBus.dispatch(new FinallyAsyncEvent({}));
459
+ this.eventBus.clear();
406
460
  };
407
- const onErrorHandler = async (error) => {
408
- try {
409
- await this.settings.onError(error);
410
- return error;
411
- }
412
- finally {
413
- await this.settings.onFinally();
414
- }
461
+ const onSuccess = (value) => {
462
+ this.eventBus.dispatch(new SuccessAsyncEvent({ value }));
463
+ onFinally();
464
+ return value;
465
+ };
466
+ const onFailure = (error) => {
467
+ this.eventBus.dispatch(new FailureAsyncEvent({ error }));
468
+ onFinally();
469
+ return error;
415
470
  };
416
- this.then(onSuccesHandler, onErrorHandler);
471
+ this.then(onSuccess, onFailure);
417
472
  }
418
473
  }
419
474
  //# sourceMappingURL=lazy-promise.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lazy-promise.js","sourceRoot":"","sources":["../../../../src/async/utilities/lazy-promise/lazy-promise.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lazy-promise.js","sourceRoot":"","sources":["../../../../src/async/utilities/lazy-promise/lazy-promise.ts"],"names":[],"mappings":"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"}
@@ -26,4 +26,4 @@ export type RetrySettings = {
26
26
  /**
27
27
  * @internal
28
28
  */
29
- export declare function retryOrFail<TValue = void>(asyncFn: () => PromiseLike<TValue>, settings?: RetrySettings): Promise<TValue>;
29
+ export declare function retryOrFail<TValue = void>(asyncFn: (attempt: number) => PromiseLike<TValue>, settings?: RetrySettings): Promise<TValue>;
@@ -13,7 +13,7 @@ export async function retryOrFail(asyncFn, settings = {}) {
13
13
  let error_;
14
14
  for (let attempt = 1; attempt <= maxAttempts; attempt++) {
15
15
  try {
16
- return await asyncFn();
16
+ return await asyncFn(attempt);
17
17
  }
18
18
  catch (error) {
19
19
  error_ = error;
@@ -1 +1 @@
1
- {"version":3,"file":"retry-or-fail.js","sourceRoot":"","sources":["../../../../src/async/utilities/retry/retry-or-fail.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAyB1D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,OAAkC,EAClC,WAA0B,EAAE;IAE5B,MAAM,EACF,WAAW,GAAG,CAAC,EACf,aAAa,GAAG,wBAAwB,EAAE,EAC1C,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,GAC3B,GAAG,QAAQ,CAAC;IACb,IAAI,MAAe,CAAC;IACpB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACtD,IAAI,CAAC;YACD,OAAO,MAAM,OAAO,EAAE,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,MAAM,GAAG,KAAK,CAAC;YACf,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;gBACnC,MAAM,KAAK,CAAC;YAChB,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,MAAM,KAAK,CAAC;YAChB,CAAC;YACD,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3C,MAAM,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;IAED,IAAI,YAAY,GAAG,oCAAoC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC;IACnF,IAAI,MAAM,EAAE,CAAC;QACT,YAAY,GAAG,GAAG,YAAY,+BAA+B,MAAM,CAAC,MAAiB,CAAC,GAAG,CAAC;IAC9F,CAAC;IACD,MAAM,IAAI,eAAe,CAAC,YAAY,EAAE;QACpC,KAAK,EAAE,MAAM;QACb,WAAW;KACd,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"retry-or-fail.js","sourceRoot":"","sources":["../../../../src/async/utilities/retry/retry-or-fail.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAyB1D;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC7B,OAAiD,EACjD,WAA0B,EAAE;IAE5B,MAAM,EACF,WAAW,GAAG,CAAC,EACf,aAAa,GAAG,wBAAwB,EAAE,EAC1C,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,GAC3B,GAAG,QAAQ,CAAC;IACb,IAAI,MAAe,CAAC;IACpB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;QACtD,IAAI,CAAC;YACD,OAAO,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,MAAM,GAAG,KAAK,CAAC;YACf,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;gBACnC,MAAM,KAAK,CAAC;YAChB,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;gBACtB,MAAM,KAAK,CAAC;YAChB,CAAC;YACD,MAAM,IAAI,GAAG,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC3C,MAAM,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,CAAC;IACL,CAAC;IAED,IAAI,YAAY,GAAG,oCAAoC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC;IACnF,IAAI,MAAM,EAAE,CAAC;QACT,YAAY,GAAG,GAAG,YAAY,+BAA+B,MAAM,CAAC,MAAiB,CAAC,GAAG,CAAC;IAC9F,CAAC;IACD,MAAM,IAAI,eAAe,CAAC,YAAY,EAAE;QACpC,KAAK,EAAE,MAAM;QACb,WAAW;KACd,CAAC,CAAC;AACP,CAAC"}
@@ -7,4 +7,4 @@ import type { RetrySettings } from "../../../async/utilities/retry/retry-or-fail
7
7
  /**
8
8
  * @internal
9
9
  */
10
- export declare function retry<TValue = void>(asyncFn: () => PromiseLike<TValue>, settings?: RetrySettings): Promise<Result<TValue, RetryAsyncError>>;
10
+ export declare function retry<TValue = void>(asyncFn: (attempt: number) => PromiseLike<TValue>, settings?: RetrySettings): Promise<Result<TValue, RetryAsyncError>>;
@@ -1 +1 @@
1
- {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../../src/async/utilities/retry/retry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAEvE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CACvB,OAAkC,EAClC,WAA0B,EAAE;IAE5B,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACnD,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../../src/async/utilities/retry/retry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG1D,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAEvE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,KAAK,CACvB,OAAiD,EACjD,WAA0B,EAAE;IAE5B,IAAI,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QACnD,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACtB,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,KAAK,CAAC;IAChB,CAAC;AACL,CAAC"}
@@ -6,17 +6,26 @@ import { type ICache, type ICacheAdapter } from "../../../../cache/contracts/_mo
6
6
  import { type IGroupableCache } from "../../../../cache/contracts/_module-exports.js";
7
7
  import { type AsyncLazyable, type OneOrMore } from "../../../../utilities/_module-exports.js";
8
8
  import { type NoneFunc, type TimeSpan, type AsyncFactoryable } from "../../../../utilities/_module-exports.js";
9
- import type { LazyPromiseSettingsBase } from "../../../../async/_module-exports.js";
10
9
  import { LazyPromise } from "../../../../async/_module-exports.js";
11
10
  import type { IGroupableEventBus, Unsubscribe, EventClass, EventInstance, EventListener } from "../../../../event-bus/contracts/_module-exports.js";
12
- import type { IKeyPrefixer, Items } from "../../../../utilities/_module-exports.js";
11
+ import type { AsyncLazy, Factory, IKeyPrefixer, Items } from "../../../../utilities/_module-exports.js";
13
12
  /**
14
13
  *
15
14
  * IMPORT_PATH: ```"@daiso-tech/core/cache"```
16
15
  * @group Derivables
17
16
  */
18
- export type CacheSettingsBase = LazyPromiseSettingsBase & {
17
+ export type CacheSettingsBase = {
19
18
  keyPrefixer: IKeyPrefixer;
19
+ /**
20
+ * You can pass a <i>{@link Factory}</i> of <i>{@link LazyPromise}</i> to configure default settings for all <i>{@link LazyPromise}</i> instances used in the <i>Cache</i> class.
21
+ * @default
22
+ * ```ts
23
+ * import { LazyPromise } from "@daiso-tech/core/async";
24
+ *
25
+ * (invokable) => new LazyPromise(invokable)
26
+ * ```
27
+ */
28
+ lazyPromiseFactory?: Factory<AsyncLazy<any>, LazyPromise<any>>;
20
29
  /**
21
30
  * @default
22
31
  * ```ts
@@ -65,12 +74,8 @@ export declare class Cache<TType = unknown> implements IGroupableCache<TType> {
65
74
  private readonly adapterFactoryable;
66
75
  private readonly adapterPromise;
67
76
  private readonly defaultTtl;
68
- private readonly retryAttempts;
69
- private readonly backoffPolicy;
70
- private readonly retryPolicy;
71
- private readonly retryTimeout;
72
- private readonly totalTimeout;
73
77
  private readonly keyPrefixer;
78
+ private readonly lazyPromiseFactory;
74
79
  /**
75
80
  *
76
81
  * @example
@@ -1,10 +1,11 @@
1
+ /* eslint-disable @typescript-eslint/no-empty-object-type */
1
2
  /**
2
3
  * @module Cache
3
4
  */
4
5
  import { KeyFoundCacheEvent, KeyNotFoundCacheEvent, KeyAddedCacheEvent, KeyUpdatedCacheEvent, KeyRemovedCacheEvent, KeyIncrementedCacheEvent, KeyDecrementedCacheEvent, KeysClearedCacheEvent, UnexpectedCacheErrorEvent, } from "../../../../cache/contracts/_module-exports.js";
5
6
  import { KeyNotFoundCacheError, TypeCacheError, } from "../../../../cache/contracts/_module-exports.js";
6
7
  import {} from "../../../../cache/contracts/_module-exports.js";
7
- import { isAsyncFactory, resolveAsyncFactoryable, resolveAsyncLazyable, } from "../../../../utilities/_module-exports.js";
8
+ import { isAsyncFactory, resolveAsyncFactoryable, resolveAsyncLazyable, resolveFactory, } from "../../../../utilities/_module-exports.js";
8
9
  import {} from "../../../../utilities/_module-exports.js";
9
10
  import { KeyPrefixer, } from "../../../../utilities/_module-exports.js";
10
11
  import { LazyPromise } from "../../../../async/_module-exports.js";
@@ -37,12 +38,8 @@ export class Cache {
37
38
  adapterFactoryable;
38
39
  adapterPromise;
39
40
  defaultTtl;
40
- retryAttempts;
41
- backoffPolicy;
42
- retryPolicy;
43
- retryTimeout;
44
- totalTimeout;
45
41
  keyPrefixer;
42
+ lazyPromiseFactory;
46
43
  /**
47
44
  *
48
45
  * @example
@@ -139,16 +136,12 @@ export class Cache {
139
136
  const { keyPrefixer, adapter, eventBus: groupdEventBus = new EventBus({
140
137
  keyPrefixer: new KeyPrefixer("event-bus"),
141
138
  adapter: new MemoryEventBusAdapter(),
142
- }), defaultTtl = null, retryAttempts = null, backoffPolicy = null, retryPolicy = Cache.defaultRetryPolicy, retryTimeout = null, totalTimeout = null, } = settings;
139
+ }), defaultTtl = null, lazyPromiseFactory = (invokable) => new LazyPromise(invokable), } = settings;
143
140
  this.keyPrefixer = keyPrefixer;
144
141
  this.groupdEventBus = groupdEventBus;
145
142
  this.adapterFactoryable = adapter;
146
143
  this.defaultTtl = defaultTtl;
147
- this.retryAttempts = retryAttempts;
148
- this.backoffPolicy = backoffPolicy;
149
- this.retryPolicy = retryPolicy;
150
- this.retryTimeout = retryTimeout;
151
- this.totalTimeout = totalTimeout;
144
+ this.lazyPromiseFactory = resolveFactory(lazyPromiseFactory);
152
145
  this.eventBus = this.groupdEventBus.withGroup(this.keyPrefixer.resolvedRootPrefix);
153
146
  if (this.keyPrefixer.resolvedGroup) {
154
147
  this.eventBus = this.groupdEventBus.withGroup([
@@ -222,13 +215,7 @@ export class Cache {
222
215
  return this.eventBus.subscribeMany(events, listener);
223
216
  }
224
217
  createLazyPromise(asyncFn) {
225
- return new LazyPromise(asyncFn, {
226
- retryAttempts: this.retryAttempts,
227
- backoffPolicy: this.backoffPolicy,
228
- retryPolicy: this.retryPolicy,
229
- retryTimeout: this.retryTimeout,
230
- totalTimeout: this.totalTimeout,
231
- });
218
+ return this.lazyPromiseFactory(asyncFn).setRetryPolicy(Cache.defaultRetryPolicy);
232
219
  }
233
220
  exists(key) {
234
221
  return new LazyPromise(async () => {
@@ -677,10 +664,7 @@ export class Cache {
677
664
  adapter: this.adapterFactoryable,
678
665
  eventBus: this.groupdEventBus,
679
666
  defaultTtl: this.defaultTtl,
680
- retryAttempts: this.retryAttempts,
681
- backoffPolicy: this.backoffPolicy,
682
- retryPolicy: this.retryPolicy,
683
- retryTimeout: this.retryTimeout,
667
+ lazyPromiseFactory: this.lazyPromiseFactory,
684
668
  });
685
669
  return cache;
686
670
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/derivables/cache/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/derivables/cache/cache.ts"],"names":[],"mappings":"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"}