@daiso-tech/core 0.35.3 → 0.36.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.
- package/README.md +22 -54
- package/dist/async/backof-policies/_shared.d.ts +8 -2
- package/dist/async/backof-policies/_shared.js +0 -1
- package/dist/async/backof-policies/_shared.js.map +1 -1
- package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.d.ts +3 -3
- package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js +10 -4
- package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js.map +1 -1
- package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.d.ts +3 -3
- package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js +10 -4
- package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +1 -1
- package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.d.ts +3 -3
- package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js +10 -4
- package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js.map +1 -1
- package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.d.ts +3 -3
- package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +10 -4
- package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +1 -1
- package/dist/async/middlewares/fallback/fallback.middleware.d.ts +2 -2
- package/dist/async/middlewares/fallback/fallback.middleware.js +2 -2
- package/dist/async/middlewares/fallback/fallback.middleware.js.map +1 -1
- package/dist/async/middlewares/hedging/_shared.d.ts +7 -7
- package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.js +7 -7
- package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.js.map +1 -1
- package/dist/async/middlewares/hedging/sequential-hedging/sequential-hedging.middleware.js +6 -6
- package/dist/async/middlewares/hedging/sequential-hedging/sequential-hedging.middleware.js.map +1 -1
- package/dist/async/middlewares/observe/observe.middleware.d.ts +4 -4
- package/dist/async/middlewares/retry/retry.middleware.d.ts +5 -4
- package/dist/async/middlewares/retry/retry.middleware.js +9 -9
- package/dist/async/middlewares/retry/retry.middleware.js.map +1 -1
- package/dist/async/middlewares/timeout/timeout.middleware.d.ts +4 -2
- package/dist/async/middlewares/timeout/timeout.middleware.js +3 -1
- package/dist/async/middlewares/timeout/timeout.middleware.js.map +1 -1
- package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +1 -1
- package/dist/async/utilities/lazy-promise/lazy-promise.js +1 -1
- package/dist/async/utilities/promise-queue/promise-queue.js.map +1 -1
- package/dist/cache/contracts/cache.errors.d.ts +3 -3
- package/dist/cache/contracts/cache.errors.js +1 -1
- package/dist/cache/contracts/cache.errors.js.map +1 -1
- package/dist/cache/contracts/cache.events.d.ts +2 -2
- package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +14 -0
- package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +3 -0
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +11 -0
- package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/derivables/cache/cache.d.ts +12 -8
- package/dist/cache/implementations/derivables/cache/cache.js +25 -34
- package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +6 -41
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +10 -45
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
- package/dist/cache/implementations/test-utilities/cache.test-suite.d.ts +4 -5
- package/dist/cache/implementations/test-utilities/cache.test-suite.js +11 -12
- package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
- package/dist/collection/contracts/async-collection.contract.d.ts +121 -121
- package/dist/collection/contracts/collection.contract.d.ts +120 -120
- package/dist/collection/contracts/collection.errors.d.ts +3 -3
- package/dist/collection/contracts/collection.errors.js +1 -1
- package/dist/collection/contracts/collection.errors.js.map +1 -1
- package/dist/collection/implementations/_shared.d.ts +4 -4
- package/dist/collection/implementations/_shared.js +2 -2
- package/dist/collection/implementations/_shared.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +13 -13
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +15 -15
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/iterable-collection.d.ts +12 -12
- package/dist/collection/implementations/iterable-collection/iterable-collection.js +12 -12
- package/dist/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
- package/dist/collection/implementations/list-collection/list-collection.d.ts +12 -12
- package/dist/collection/implementations/list-collection/list-collection.js +12 -12
- package/dist/collection/implementations/list-collection/list-collection.js.map +1 -1
- package/dist/event-bus/contracts/event-bus-factory.contract.d.ts +1 -1
- package/dist/event-bus/contracts/event-bus.contract.d.ts +2 -2
- package/dist/event-bus/contracts/event-bus.errors.d.ts +3 -3
- package/dist/event-bus/contracts/event-bus.errors.js +1 -1
- package/dist/event-bus/contracts/event-bus.errors.js.map +1 -1
- package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +1 -1
- package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +1 -1
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +13 -6
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +21 -19
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +5 -36
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +4 -35
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
- package/dist/lock/contracts/lock.errors.d.ts +2 -2
- package/dist/lock/contracts/lock.errors.js.map +1 -1
- package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts +3 -3
- package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +2 -2
- package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.d.ts +3 -3
- package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js +2 -2
- package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +6 -3
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +1 -1
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.d.ts +4 -4
- package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js +3 -3
- package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +22 -18
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +20 -22
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.d.ts +3 -3
- package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js +12 -6
- package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +4 -2
- package/dist/lock/implementations/derivables/lock-provider/lock.js +16 -18
- package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +6 -50
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +10 -54
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.d.ts +1 -9
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +1 -9
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
- package/dist/serde/contracts/flexible-serde.contract.d.ts +9 -2
- package/dist/utilities/classes/_module.d.ts +1 -1
- package/dist/utilities/classes/_module.js +1 -1
- package/dist/utilities/classes/_module.js.map +1 -1
- package/dist/utilities/classes/hooks/hooks.d.ts +2 -2
- package/dist/utilities/classes/hooks/hooks.js +2 -2
- package/dist/utilities/classes/namespace/_module.d.ts +1 -0
- package/dist/utilities/classes/namespace/_module.js +2 -0
- package/dist/utilities/classes/namespace/_module.js.map +1 -0
- package/dist/utilities/classes/{key-prefixer/key-prefixer.d.ts → namespace/namespace.d.ts} +38 -17
- package/dist/utilities/classes/{key-prefixer/key-prefixer.js → namespace/namespace.js} +51 -19
- package/dist/utilities/classes/namespace/namespace.js.map +1 -0
- package/dist/utilities/classes/time-span/time-span.d.ts +1 -2
- package/dist/utilities/classes/time-span/time-span.js +1 -4
- package/dist/utilities/classes/time-span/time-span.js.map +1 -1
- package/dist/utilities/functions/_module-exports.d.ts +1 -1
- package/dist/utilities/functions/_module-exports.js +1 -1
- package/dist/utilities/functions/_module-exports.js.map +1 -1
- package/dist/utilities/functions/result.d.ts +11 -0
- package/dist/utilities/functions/result.js +15 -0
- package/dist/utilities/functions/result.js.map +1 -0
- package/dist/utilities/types/factory.type.d.ts +13 -18
- package/dist/utilities/types/result.type.d.ts +11 -1
- package/package.json +3 -2
- package/dist/utilities/classes/key-prefixer/_module.d.ts +0 -1
- package/dist/utilities/classes/key-prefixer/_module.js +0 -2
- package/dist/utilities/classes/key-prefixer/_module.js.map +0 -1
- package/dist/utilities/classes/key-prefixer/key-prefixer.js.map +0 -1
- package/dist/utilities/functions/factory.d.ts +0 -44
- package/dist/utilities/functions/factory.js +0 -80
- package/dist/utilities/functions/factory.js.map +0 -1
|
@@ -72,19 +72,19 @@ export type OnObserveFinally<TContext extends HookContext = HookContext> = Invok
|
|
|
72
72
|
*/
|
|
73
73
|
export type ObserveCallbacks<TParameters extends unknown[] = unknown[], TReturn = unknown, TContext extends HookContext = HookContext> = {
|
|
74
74
|
/**
|
|
75
|
-
* Callback
|
|
75
|
+
* Callback {@link Invokable | `Invokable`} that will be called when before the underlying {@link Invokable | `Invokable`} is called.
|
|
76
76
|
*/
|
|
77
77
|
onStart?: OnObserveStart<TParameters, TContext>;
|
|
78
78
|
/**
|
|
79
|
-
* Callback
|
|
79
|
+
* Callback {@link Invokable | `Invokable`} that will be called when the underlying {@link Invokable | `Invokable`} is successfully called.
|
|
80
80
|
*/
|
|
81
81
|
onSuccess?: OnObserveSuccess<TParameters, TReturn, TContext>;
|
|
82
82
|
/**
|
|
83
|
-
* Callback
|
|
83
|
+
* Callback {@link Invokable | `Invokable`} that will be called when the underlying {@link Invokable | `Invokable`} throws an error.
|
|
84
84
|
*/
|
|
85
85
|
onError?: OnObserveError<TParameters, TContext>;
|
|
86
86
|
/**
|
|
87
|
-
* Callback
|
|
87
|
+
* Callback {@link Invokable | `Invokable`} that will be called when the underlying {@link Invokable | `Invokable`} throws an error or is successfully called.
|
|
88
88
|
*/
|
|
89
89
|
onFinally?: OnObserveFinally<TContext>;
|
|
90
90
|
};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Async
|
|
3
3
|
*/
|
|
4
|
-
import { TimeSpan
|
|
4
|
+
import type { TimeSpan } from "../../../utilities/_module-exports.js";
|
|
5
|
+
import { type Invokable, type HookContext, type AsyncMiddlewareFn } from "../../../utilities/_module-exports.js";
|
|
5
6
|
import { type BackoffPolicy } from "../../../async/backof-policies/_module.js";
|
|
6
7
|
import { type ErrorPolicy } from "../../../async/middlewares/_shared.js";
|
|
7
8
|
/**
|
|
@@ -45,11 +46,11 @@ export type OnRetryDelay<TParameters extends unknown[] = unknown[], TContext ext
|
|
|
45
46
|
*/
|
|
46
47
|
export type RetryCallbacks<TParameters extends unknown[] = unknown[], TContext extends HookContext = HookContext> = {
|
|
47
48
|
/**
|
|
48
|
-
* Callback
|
|
49
|
+
* Callback {@link Invokable | `Invokable`} that will be called before execution attempt.
|
|
49
50
|
*/
|
|
50
51
|
onExecutionAttempt?: OnRetryAttempt<TParameters, TContext>;
|
|
51
52
|
/**
|
|
52
|
-
* Callback
|
|
53
|
+
* Callback {@link Invokable | `Invokable`} that will be called before the retry delay starts.
|
|
53
54
|
*/
|
|
54
55
|
onRetryDelay?: OnRetryDelay<TParameters, TContext>;
|
|
55
56
|
};
|
|
@@ -81,7 +82,7 @@ export type RetrySettings<TParameters extends unknown[] = unknown[], TContext ex
|
|
|
81
82
|
* (_error: unknown) => true
|
|
82
83
|
* ```
|
|
83
84
|
*/
|
|
84
|
-
|
|
85
|
+
errorPolicy?: ErrorPolicy;
|
|
85
86
|
};
|
|
86
87
|
/**
|
|
87
88
|
* The `retry` middleware enables automatic retries for all errors or specific errors, with configurable backoff policies.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Async
|
|
3
3
|
*/
|
|
4
|
-
import { callInvokable,
|
|
4
|
+
import { callInvokable, } from "../../../utilities/_module-exports.js";
|
|
5
5
|
import { exponentialBackoffPolicy, } from "../../../async/backof-policies/_module.js";
|
|
6
6
|
import { RetryAsyncError } from "../../../async/async.errors.js";
|
|
7
7
|
import { LazyPromise } from "../../../async/utilities/_module.js";
|
|
@@ -38,7 +38,7 @@ import {} from "../../../async/middlewares/_shared.js";
|
|
|
38
38
|
* ```
|
|
39
39
|
*/
|
|
40
40
|
export function retry(settings = {}) {
|
|
41
|
-
const { maxAttempts = 4, backoffPolicy = exponentialBackoffPolicy(),
|
|
41
|
+
const { maxAttempts = 4, backoffPolicy = exponentialBackoffPolicy(), errorPolicy = () => true, onRetryDelay = () => { }, onExecutionAttempt = () => { }, } = settings;
|
|
42
42
|
return async (args, next, { context, signal }) => {
|
|
43
43
|
const errors = [];
|
|
44
44
|
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
@@ -50,7 +50,13 @@ export function retry(settings = {}) {
|
|
|
50
50
|
if (signal.aborted) {
|
|
51
51
|
break;
|
|
52
52
|
}
|
|
53
|
-
|
|
53
|
+
if (callInvokable(errorPolicy, error)) {
|
|
54
|
+
errors.push(error);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
throw error;
|
|
58
|
+
}
|
|
59
|
+
const waitTime = callInvokable(backoffPolicy, attempt, error);
|
|
54
60
|
callInvokable(onRetryDelay, {
|
|
55
61
|
error,
|
|
56
62
|
waitTime,
|
|
@@ -58,12 +64,6 @@ export function retry(settings = {}) {
|
|
|
58
64
|
args,
|
|
59
65
|
context,
|
|
60
66
|
});
|
|
61
|
-
if (callInvokable(retryPolicy, error)) {
|
|
62
|
-
errors.push(error);
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
throw error;
|
|
66
|
-
}
|
|
67
67
|
await LazyPromise.delay(waitTime, signal);
|
|
68
68
|
}
|
|
69
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"retry.middleware.js","sourceRoot":"","sources":["../../../../src/async/middlewares/retry/retry.middleware.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"retry.middleware.js","sourceRoot":"","sources":["../../../../src/async/middlewares/retry/retry.middleware.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EACH,aAAa,GAIhB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACH,wBAAwB,GAE3B,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAoB,MAAM,gCAAgC,CAAC;AA4GlE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,UAAU,KAAK,CAKjB,WAA0D,EAAE;IAE5D,MAAM,EACF,WAAW,GAAG,CAAC,EACf,aAAa,GAAG,wBAAwB,EAAE,EAC1C,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,EACxB,YAAY,GAAG,GAAG,EAAE,GAAE,CAAC,EACvB,kBAAkB,GAAG,GAAG,EAAE,GAAE,CAAC,GAChC,GAAG,QAAQ,CAAC;IACb,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;QAC7C,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACtD,IAAI,CAAC;gBACD,aAAa,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC9D,OAAO,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;YAC/B,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACtB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACjB,MAAM;gBACV,CAAC;gBAED,IAAI,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC;oBACpC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;qBAAM,CAAC;oBACJ,MAAM,KAAK,CAAC;gBAChB,CAAC;gBAED,MAAM,QAAQ,GAAG,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;gBAE9D,aAAa,CAAC,YAAY,EAAE;oBACxB,KAAK;oBACL,QAAQ;oBACR,OAAO;oBACP,IAAI;oBACJ,OAAO;iBACV,CAAC,CAAC;gBACH,MAAM,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC9C,CAAC;QACL,CAAC;QAED,IAAI,YAAY,GAAG,oCAAoC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC;QACnF,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5C,IAAI,SAAS,EAAE,CAAC;YACZ,gEAAgE;YAChE,YAAY,GAAG,GAAG,YAAY,+BAA+B,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC;QACtF,CAAC;QACD,MAAM,IAAI,eAAe,CAAC,YAAY,EAAE;YACpC,MAAM;YACN,WAAW;SACd,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -27,7 +27,7 @@ export type OnTimeout<TParameters extends unknown[] = unknown[], TContext extend
|
|
|
27
27
|
*/
|
|
28
28
|
export type TimeoutCallbacks<TParameters extends unknown[] = unknown[], TContext extends HookContext = HookContext> = {
|
|
29
29
|
/**
|
|
30
|
-
* Callback
|
|
30
|
+
* Callback {@link Invokable | `Invokable`} that will be called before the timeout occurs.
|
|
31
31
|
*/
|
|
32
32
|
onTimeout?: OnTimeout<TParameters, TContext>;
|
|
33
33
|
};
|
|
@@ -51,7 +51,9 @@ export type TimeoutSettings<TParameters extends unknown[] = unknown[], TContext
|
|
|
51
51
|
};
|
|
52
52
|
/**
|
|
53
53
|
* The `timeout` middleware automatically cancels functions after a specified time period, throwing an error when aborted.
|
|
54
|
-
*
|
|
54
|
+
*
|
|
55
|
+
* Note when a timeout occurs, the function call continues executing in the background and only the `Promise` will be aborted.
|
|
56
|
+
* To ensure correct abortion behavior, provide an {@link AbortSignalBinder | `AbortSignalBinder`} to {@link AsyncHooks | `AsyncHooks`}.
|
|
55
57
|
*
|
|
56
58
|
* IMPORT_PATH: `"@daiso-tech/core/async"`
|
|
57
59
|
* @group Middlewares
|
|
@@ -8,7 +8,9 @@ import { TimeoutAsyncError } from "../../../async/async.errors.js";
|
|
|
8
8
|
import { timeoutAndFail } from "../../../async/utilities/_module.js";
|
|
9
9
|
/**
|
|
10
10
|
* The `timeout` middleware automatically cancels functions after a specified time period, throwing an error when aborted.
|
|
11
|
-
*
|
|
11
|
+
*
|
|
12
|
+
* Note when a timeout occurs, the function call continues executing in the background and only the `Promise` will be aborted.
|
|
13
|
+
* To ensure correct abortion behavior, provide an {@link AbortSignalBinder | `AbortSignalBinder`} to {@link AsyncHooks | `AsyncHooks`}.
|
|
12
14
|
*
|
|
13
15
|
* IMPORT_PATH: `"@daiso-tech/core/async"`
|
|
14
16
|
* @group Middlewares
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeout.middleware.js","sourceRoot":"","sources":["../../../../src/async/middlewares/timeout/timeout.middleware.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,
|
|
1
|
+
{"version":3,"file":"timeout.middleware.js","sourceRoot":"","sources":["../../../../src/async/middlewares/timeout/timeout.middleware.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,OAAO,EAON,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,aAAa,EAAkB,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AA+D9D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,UAAU,OAAO,CAKnB,WAA4D,EAAE;IAE9D,MAAM,EAAE,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,GAAG,EAAE,GAAE,CAAC,EAAE,GAC9D,QAAQ,CAAC;IACb,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;QACpD,IAAI,CAAC;YACD,OAAO,MAAM,cAAc,CACvB,IAAI,CAAC,GAAG,IAAI,CAAC,EACb,QAAQ,EACR,CAAC,KAAc,EAAE,EAAE;gBACf,KAAK,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,EACD,MAAM,CACT,CAAC;QACN,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;gBACrC,aAAa,CAAC,SAAS,EAAE;oBACrB,IAAI;oBACJ,OAAO;oBACP,QAAQ;iBACX,CAAC,CAAC;YACP,CAAC;YACD,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC,CAAC;AACN,CAAC"}
|
|
@@ -84,7 +84,7 @@ export declare class LazyPromise<TValue> implements PromiseLike<TValue> {
|
|
|
84
84
|
* import { LazyPromise } from "@daiso-tech/core/async";
|
|
85
85
|
* import { readFile } from "node:fs";
|
|
86
86
|
*
|
|
87
|
-
* const lazyPromise = LazyPromise.fromCallback<Buffer>((resolve, reject) => {
|
|
87
|
+
* const lazyPromise = LazyPromise.fromCallback<Buffer | string>((resolve, reject) => {
|
|
88
88
|
* readFile("FILE_PATH", (err, data) => {
|
|
89
89
|
* if (err !== null) {
|
|
90
90
|
* reject(err);
|
|
@@ -88,7 +88,7 @@ export class LazyPromise {
|
|
|
88
88
|
* import { LazyPromise } from "@daiso-tech/core/async";
|
|
89
89
|
* import { readFile } from "node:fs";
|
|
90
90
|
*
|
|
91
|
-
* const lazyPromise = LazyPromise.fromCallback<Buffer>((resolve, reject) => {
|
|
91
|
+
* const lazyPromise = LazyPromise.fromCallback<Buffer | string>((resolve, reject) => {
|
|
92
92
|
* readFile("FILE_PATH", (err, data) => {
|
|
93
93
|
* if (err !== null) {
|
|
94
94
|
* reject(err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promise-queue.js","sourceRoot":"","sources":["../../../../src/async/utilities/promise-queue/promise-queue.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAIN,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE;;GAEG;AACH,MAAM,KAAK;IACU,KAAK,GAAa,EAAE,CAAC;IAEtC,IAAI;QACA,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,KAAa;QACjB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC;IACtC,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"promise-queue.js","sourceRoot":"","sources":["../../../../src/async/utilities/promise-queue/promise-queue.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Cache
|
|
3
3
|
*/
|
|
4
|
-
import type {
|
|
4
|
+
import type { ISerderRegister, ISerializable } from "../../serde/contracts/_module-exports.js";
|
|
5
5
|
import { type ISerializedError, type OneOrMore } from "../../utilities/_module-exports.js";
|
|
6
6
|
/**
|
|
7
7
|
*
|
|
@@ -54,9 +54,9 @@ export declare const CACHE_ERRORS: {
|
|
|
54
54
|
readonly KeyNotFound: typeof KeyNotFoundCacheError;
|
|
55
55
|
};
|
|
56
56
|
/**
|
|
57
|
-
* The `registerCacheErrorsToSerde` function registers all {@link ICache | `ICache`} related errors with `
|
|
57
|
+
* The `registerCacheErrorsToSerde` function registers all {@link ICache | `ICache`} related errors with `ISerderRegister`, ensuring they will properly be serialized and deserialized.
|
|
58
58
|
*
|
|
59
59
|
* IMPORT_PATH: `"@daiso-tech/core/cache/contracts"`
|
|
60
60
|
* @group Errors
|
|
61
61
|
*/
|
|
62
|
-
export declare function registerCacheErrorsToSerde(serde: OneOrMore<
|
|
62
|
+
export declare function registerCacheErrorsToSerde(serde: OneOrMore<ISerderRegister>): void;
|
|
@@ -79,7 +79,7 @@ export const CACHE_ERRORS = {
|
|
|
79
79
|
KeyNotFound: KeyNotFoundCacheError,
|
|
80
80
|
};
|
|
81
81
|
/**
|
|
82
|
-
* The `registerCacheErrorsToSerde` function registers all {@link ICache | `ICache`} related errors with `
|
|
82
|
+
* The `registerCacheErrorsToSerde` function registers all {@link ICache | `ICache`} related errors with `ISerderRegister`, ensuring they will properly be serialized and deserialized.
|
|
83
83
|
*
|
|
84
84
|
* IMPORT_PATH: `"@daiso-tech/core/cache/contracts"`
|
|
85
85
|
* @group Errors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.errors.js","sourceRoot":"","sources":["../../../src/cache/contracts/cache.errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,EACH,IAAI,EACJ,gBAAgB,GAGnB,MAAM,gCAAgC,CAAC;AAExC;;;;GAIG;AACH,MAAM,OAAO,UACT,SAAQ,KAAK;IAGb,MAAM,CAAC,WAAW,CAAC,iBAAmC;QAClD,OAAO,IAAI,UAAU,CACjB,iBAAiB,CAAC,OAAO,EACzB,iBAAiB,CAAC,KAAK,CAC1B,CAAC;IACN,CAAC;IAED,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAChC,CAAC;IAED,SAAS;QACL,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC;IACN,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,OAAO,oBACT,SAAQ,UAAU;IAGlB,MAAM,CAAU,WAAW,CACvB,iBAAmC;QAEnC,OAAO,IAAI,oBAAoB,CAC3B,iBAAiB,CAAC,OAAO,EACzB,iBAAiB,CAAC,KAAK,CAC1B,CAAC;IACN,CAAC;IAED,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC;IAC1C,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,cACT,SAAQ,UAAU;IAGlB,MAAM,CAAU,WAAW,CACvB,iBAAmC;QAEnC,OAAO,IAAI,cAAc,CACrB,iBAAiB,CAAC,OAAO,EACzB,iBAAiB,CAAC,KAAK,CAC1B,CAAC;IACN,CAAC;IAED,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;IACpC,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,qBACT,SAAQ,UAAU;IAGlB,MAAM,CAAU,WAAW,CACvB,iBAAmC;QAEnC,OAAO,IAAI,qBAAqB,CAC5B,iBAAiB,CAAC,OAAO,EACzB,iBAAiB,CAAC,KAAK,CAC1B,CAAC;IACN,CAAC;IAED,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC;IAC3C,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,IAAI,EAAE,UAAU;IAChB,UAAU,EAAE,oBAAoB;IAChC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,qBAAqB;CAC5B,CAAC;AAEX;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACtC,
|
|
1
|
+
{"version":3,"file":"cache.errors.js","sourceRoot":"","sources":["../../../src/cache/contracts/cache.errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,EACH,IAAI,EACJ,gBAAgB,GAGnB,MAAM,gCAAgC,CAAC;AAExC;;;;GAIG;AACH,MAAM,OAAO,UACT,SAAQ,KAAK;IAGb,MAAM,CAAC,WAAW,CAAC,iBAAmC;QAClD,OAAO,IAAI,UAAU,CACjB,iBAAiB,CAAC,OAAO,EACzB,iBAAiB,CAAC,KAAK,CAC1B,CAAC;IACN,CAAC;IAED,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAChC,CAAC;IAED,SAAS;QACL,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC;IACN,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,OAAO,oBACT,SAAQ,UAAU;IAGlB,MAAM,CAAU,WAAW,CACvB,iBAAmC;QAEnC,OAAO,IAAI,oBAAoB,CAC3B,iBAAiB,CAAC,OAAO,EACzB,iBAAiB,CAAC,KAAK,CAC1B,CAAC;IACN,CAAC;IAED,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC;IAC1C,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,cACT,SAAQ,UAAU;IAGlB,MAAM,CAAU,WAAW,CACvB,iBAAmC;QAEnC,OAAO,IAAI,cAAc,CACrB,iBAAiB,CAAC,OAAO,EACzB,iBAAiB,CAAC,KAAK,CAC1B,CAAC;IACN,CAAC;IAED,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;IACpC,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,qBACT,SAAQ,UAAU;IAGlB,MAAM,CAAU,WAAW,CACvB,iBAAmC;QAEnC,OAAO,IAAI,qBAAqB,CAC5B,iBAAiB,CAAC,OAAO,EACzB,iBAAiB,CAAC,KAAK,CAC1B,CAAC;IACN,CAAC;IAED,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC;IAC3C,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,IAAI,EAAE,UAAU;IAChB,UAAU,EAAE,oBAAoB;IAChC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,qBAAqB;CAC5B,CAAC;AAEX;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACtC,KAAiC;IAEjC,KAAK,MAAM,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM;aACD,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC;aAC/B,aAAa,CAAC,oBAAoB,EAAE,IAAI,CAAC;aACzC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC;aACnC,aAAa,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;AACL,CAAC"}
|
|
@@ -8,7 +8,7 @@ import type { TimeSpan } from "../../utilities/_module-exports.js";
|
|
|
8
8
|
* IMPORT_PATH: `"@daiso-tech/core/cache/contracts"`
|
|
9
9
|
* @group Events
|
|
10
10
|
*/
|
|
11
|
-
export type
|
|
11
|
+
export type FoundCacheEvent<TType = unknown> = {
|
|
12
12
|
key: string;
|
|
13
13
|
value: TType;
|
|
14
14
|
};
|
|
@@ -119,7 +119,7 @@ export declare const CACHE_EVENTS: {
|
|
|
119
119
|
* @group Events
|
|
120
120
|
*/
|
|
121
121
|
export type CacheEventMap<TType = unknown> = {
|
|
122
|
-
[CACHE_EVENTS.FOUND]:
|
|
122
|
+
[CACHE_EVENTS.FOUND]: FoundCacheEvent<TType>;
|
|
123
123
|
[CACHE_EVENTS.NOT_FOUND]: NotFoundCacheEvent;
|
|
124
124
|
[CACHE_EVENTS.WRITTEN]: WrittenCacheEvent<TType>;
|
|
125
125
|
[CACHE_EVENTS.CLEARED]: ClearedCacheEvent;
|
|
@@ -14,8 +14,22 @@ export type LibsqlCacheAdapterSettings = {
|
|
|
14
14
|
database: Client;
|
|
15
15
|
tableName?: string;
|
|
16
16
|
serde: ISerde<string>;
|
|
17
|
+
/**
|
|
18
|
+
* @default {false}
|
|
19
|
+
*/
|
|
17
20
|
disableTransaction?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* @default
|
|
23
|
+
* ```ts
|
|
24
|
+
* import { TimeSpan } from "@daiso-tech/core/utilities";
|
|
25
|
+
*
|
|
26
|
+
* TimeSpan.fromMinutes(1);
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
18
29
|
expiredKeysRemovalInterval?: TimeSpan;
|
|
30
|
+
/**
|
|
31
|
+
* @default {true}
|
|
32
|
+
*/
|
|
19
33
|
shouldRemoveExpiredKeys?: boolean;
|
|
20
34
|
};
|
|
21
35
|
/**
|
package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libsql-cache-adapter.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kEAAkE,CAAC;AACtG,6DAA6D;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"libsql-cache-adapter.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kEAAkE,CAAC;AACtG,6DAA6D;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAoClF;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IAOV,OAAO,CAA4B;IAEpD;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,QAAoC;QAC5C,MAAM,EACF,QAAQ,EACR,SAAS,GAAG,OAAO,EACnB,KAAK,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,GAC1B,GAAG,QAAQ,CAAC;QAEb,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAkB,CAAC;YAClC,QAAQ,EAAE,IAAI,MAAM,CAAC;gBACjB,OAAO,EAAE,IAAI,aAAa,CAAC;oBACvB,MAAM,EAAE,QAAQ;iBACI,CAAC;gBACzB,OAAO,EAAE;oBACL,IAAI,gCAAgC,CAAC;wBACjC,KAAK,EAAE,SAAS;qBACnB,CAAC;iBACL;aACJ,CAAC;YACF,KAAK;YACL,kBAAkB;YAClB,0BAA0B;YAC1B,uBAAuB;SAC1B,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,MAAM;QACR,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,IAAI;QACN,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAyB;QAClC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAyB;QAClC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAW;QAClB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAyB;QACzC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAyB;QAC3C,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAA0B;QAC/C,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAc;QACpC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAc;QAClC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,SAAS;QACX,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,MAAc;QAClC,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;CACJ"}
|
package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts
CHANGED
|
@@ -13,6 +13,9 @@ import { type CollectionOptions, type Db } from "mongodb";
|
|
|
13
13
|
export type MongodbCacheAdapterSettings = {
|
|
14
14
|
database: Db;
|
|
15
15
|
serde: ISerde<string>;
|
|
16
|
+
/**
|
|
17
|
+
* @default {"cache"}
|
|
18
|
+
*/
|
|
16
19
|
collectionName?: string;
|
|
17
20
|
collectionSettings?: CollectionOptions;
|
|
18
21
|
};
|
package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongodb-cache-adapter.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACH,cAAc,EACd,oBAAoB,GAEvB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,wBAAwB,EAAE,MAAM,uFAAuF,CAAC;AAMjI,OAAO,EAAE,gBAAgB,EAAiB,MAAM,SAAS,CAAC;AAC1D,OAAO,EAKN,MAAM,SAAS,CAAC;AACjB,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"mongodb-cache-adapter.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,18 @@ export type SqliteCacheAdapterSettings = {
|
|
|
13
13
|
database: ISqliteDatabase;
|
|
14
14
|
tableName?: string;
|
|
15
15
|
serde: ISerde<string>;
|
|
16
|
+
/**
|
|
17
|
+
* @default
|
|
18
|
+
* ```ts
|
|
19
|
+
* import { TimeSpan } from "@daiso-tech/core/utilities";
|
|
20
|
+
*
|
|
21
|
+
* TimeSpan.fromMinutes(1);
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
16
24
|
expiredKeysRemovalInterval?: TimeSpan;
|
|
25
|
+
/**
|
|
26
|
+
* @default {true}
|
|
27
|
+
*/
|
|
17
28
|
shouldRemoveExpiredKeys?: boolean;
|
|
18
29
|
};
|
|
19
30
|
/**
|
package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-cache-adapter.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAKN,MAAM,sCAAsC,CAAC;AAC9C,6DAA6D;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAIH,gCAAgC,GAGnC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAG/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kEAAkE,CAAC;
|
|
1
|
+
{"version":3,"file":"sqlite-cache-adapter.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAKN,MAAM,sCAAsC,CAAC;AAC9C,6DAA6D;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAIH,gCAAgC,GAGnC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAG/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kEAAkE,CAAC;AA4BtG;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IAOV,OAAO,CAA4B;IAEpD;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,QAAoC;QAC5C,MAAM,EACF,QAAQ,EACR,SAAS,GAAG,OAAO,EACnB,KAAK,EACL,0BAA0B,EAC1B,uBAAuB,GAC1B,GAAG,QAAQ,CAAC;QAEb,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAkB,CAAC;YAClC,QAAQ,EAAE,IAAI,MAAM,CAAC;gBACjB,OAAO,EAAE,IAAI,aAAa,CAAC;oBACvB,QAAQ,EAAE,QAAQ;iBACrB,CAAC;gBACF,OAAO,EAAE;oBACL,IAAI,gCAAgC,CAAC;wBACjC,KAAK,EAAE,SAAS;qBACnB,CAAC;iBACL;aACJ,CAAC;YACF,KAAK;YACL,0BAA0B;YAC1B,uBAAuB;SAC1B,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,MAAM;QACR,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,IAAI;QACN,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAyB;QAClC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAyB;QAClC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAW;QAClB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAyB;QACzC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAyB;QAC3C,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAA0B;QAC/C,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAc;QACpC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAc;QAClC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,SAAS;QACX,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc;QAClC,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;CACJ"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import type { CacheEventMap, IDatabaseCacheAdapter } from "../../../../cache/contracts/_module-exports.js";
|
|
5
5
|
import { type ICache, type ICacheAdapter } from "../../../../cache/contracts/_module-exports.js";
|
|
6
6
|
import { type AsyncLazyable, type OneOrMore } from "../../../../utilities/_module-exports.js";
|
|
7
|
-
import { type NoneFunc, type TimeSpan,
|
|
7
|
+
import { type NoneFunc, type TimeSpan, Namespace } from "../../../../utilities/_module-exports.js";
|
|
8
8
|
import { LazyPromise } from "../../../../async/_module-exports.js";
|
|
9
9
|
import type { IEventBus, Unsubscribe, EventListener } from "../../../../event-bus/contracts/_module-exports.js";
|
|
10
10
|
import type { AsyncLazy, Factory } from "../../../../utilities/_module-exports.js";
|
|
@@ -14,7 +14,15 @@ import type { AsyncLazy, Factory } from "../../../../utilities/_module-exports.j
|
|
|
14
14
|
* @group Derivables
|
|
15
15
|
*/
|
|
16
16
|
export type CacheSettingsBase = {
|
|
17
|
-
|
|
17
|
+
/**
|
|
18
|
+
* @default
|
|
19
|
+
* ```ts
|
|
20
|
+
* import { Namespace } from "@daiso-tech/core/utilities";
|
|
21
|
+
*
|
|
22
|
+
* new Namespace(["@", "cache"])
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
namespace?: Namespace;
|
|
18
26
|
/**
|
|
19
27
|
* You can pass a {@link Factory | `Factory`} of {@link LazyPromise| `LazyPromise`} to configure default settings for all {@link LazyPromise| `LazyPromise`} instances used in the `Cache` class.
|
|
20
28
|
* @default
|
|
@@ -30,10 +38,8 @@ export type CacheSettingsBase = {
|
|
|
30
38
|
* ```ts
|
|
31
39
|
* import { EventBus } from "@daiso-tech/core/event-bus";
|
|
32
40
|
* import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/adapters";
|
|
33
|
-
* import { KeyPrefixer } from "@daiso-tech/core/utilities";
|
|
34
41
|
*
|
|
35
42
|
* new EventBus({
|
|
36
|
-
* keyPrefixer: new KeyPrefixer("event-bus"),
|
|
37
43
|
* adapter: new MemoryEventBusAdapter()
|
|
38
44
|
* })
|
|
39
45
|
* ```
|
|
@@ -66,10 +72,9 @@ export type CacheSettings = CacheSettingsBase & {
|
|
|
66
72
|
*/
|
|
67
73
|
export declare class Cache<TType = unknown> implements ICache<TType> {
|
|
68
74
|
private readonly eventBus;
|
|
69
|
-
private readonly adapterFactoryable;
|
|
70
75
|
private readonly adapter;
|
|
71
76
|
private readonly defaultTtl;
|
|
72
|
-
private readonly
|
|
77
|
+
private readonly namespace;
|
|
73
78
|
private readonly lazyPromiseFactory;
|
|
74
79
|
/**
|
|
75
80
|
*
|
|
@@ -80,7 +85,7 @@ export declare class Cache<TType = unknown> implements ICache<TType> {
|
|
|
80
85
|
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters"
|
|
81
86
|
* import Sqlite from "better-sqlite3";
|
|
82
87
|
* import { Cache } from "@daiso-tech/core/cache";
|
|
83
|
-
* import {
|
|
88
|
+
* import { Namespace } from "@daiso-tech/core/utilities";
|
|
84
89
|
*
|
|
85
90
|
* const database = new Sqlite("local.db");
|
|
86
91
|
* const serde = new Serde(new SuperJsonSerdeAdapter());
|
|
@@ -92,7 +97,6 @@ export declare class Cache<TType = unknown> implements ICache<TType> {
|
|
|
92
97
|
* await cacheAdapter.init();
|
|
93
98
|
*
|
|
94
99
|
* const cache = new Cache({
|
|
95
|
-
* keyPrefixer: new KeyPrefixer("cache"),
|
|
96
100
|
* adapter: cacheAdapter,
|
|
97
101
|
* });
|
|
98
102
|
* ```
|
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { CACHE_EVENTS, } from "../../../../cache/contracts/_module-exports.js";
|
|
6
6
|
import { KeyNotFoundCacheError, TypeCacheError, } from "../../../../cache/contracts/_module-exports.js";
|
|
7
|
-
import {
|
|
7
|
+
import { resolveAsyncLazyable, resolveInvokable, } from "../../../../utilities/_module-exports.js";
|
|
8
8
|
import {} from "../../../../utilities/_module-exports.js";
|
|
9
|
-
import {
|
|
9
|
+
import { Namespace, } from "../../../../utilities/_module-exports.js";
|
|
10
10
|
import { LazyPromise } from "../../../../async/_module-exports.js";
|
|
11
11
|
import { EventBus } from "../../../../event-bus/implementations/derivables/_module-exports.js";
|
|
12
12
|
import { MemoryEventBusAdapter } from "../../../../event-bus/implementations/adapters/_module-exports.js";
|
|
@@ -19,10 +19,9 @@ import { DatabaseCacheAdapter } from "../../../../cache/implementations/derivabl
|
|
|
19
19
|
*/
|
|
20
20
|
export class Cache {
|
|
21
21
|
eventBus;
|
|
22
|
-
adapterFactoryable;
|
|
23
22
|
adapter;
|
|
24
23
|
defaultTtl;
|
|
25
|
-
|
|
24
|
+
namespace;
|
|
26
25
|
lazyPromiseFactory;
|
|
27
26
|
/**
|
|
28
27
|
*
|
|
@@ -33,7 +32,7 @@ export class Cache {
|
|
|
33
32
|
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters"
|
|
34
33
|
* import Sqlite from "better-sqlite3";
|
|
35
34
|
* import { Cache } from "@daiso-tech/core/cache";
|
|
36
|
-
* import {
|
|
35
|
+
* import { Namespace } from "@daiso-tech/core/utilities";
|
|
37
36
|
*
|
|
38
37
|
* const database = new Sqlite("local.db");
|
|
39
38
|
* const serde = new Serde(new SuperJsonSerdeAdapter());
|
|
@@ -45,20 +44,17 @@ export class Cache {
|
|
|
45
44
|
* await cacheAdapter.init();
|
|
46
45
|
*
|
|
47
46
|
* const cache = new Cache({
|
|
48
|
-
* keyPrefixer: new KeyPrefixer("cache"),
|
|
49
47
|
* adapter: cacheAdapter,
|
|
50
48
|
* });
|
|
51
49
|
* ```
|
|
52
50
|
*/
|
|
53
51
|
constructor(settings) {
|
|
54
|
-
const {
|
|
55
|
-
keyPrefixer: new KeyPrefixer("event-bus"),
|
|
52
|
+
const { namespace = new Namespace(["@", "cache"]), adapter, eventBus = new EventBus({
|
|
56
53
|
adapter: new MemoryEventBusAdapter(),
|
|
57
54
|
}), defaultTtl = null, lazyPromiseFactory = (invokable) => new LazyPromise(invokable), } = settings;
|
|
58
|
-
this.
|
|
59
|
-
this.adapterFactoryable = adapter;
|
|
55
|
+
this.namespace = namespace;
|
|
60
56
|
this.defaultTtl = defaultTtl;
|
|
61
|
-
this.lazyPromiseFactory =
|
|
57
|
+
this.lazyPromiseFactory = resolveInvokable(lazyPromiseFactory);
|
|
62
58
|
this.eventBus = eventBus;
|
|
63
59
|
if (isDatabaseCacheAdapter(adapter)) {
|
|
64
60
|
this.adapter = new DatabaseCacheAdapter(adapter);
|
|
@@ -126,9 +122,9 @@ export class Cache {
|
|
|
126
122
|
}
|
|
127
123
|
get(key) {
|
|
128
124
|
return this.createLazyPromise(async () => {
|
|
129
|
-
const keyObj = this.
|
|
125
|
+
const keyObj = this.namespace._getInternal().create(key);
|
|
130
126
|
try {
|
|
131
|
-
const value = await this.adapter.get(keyObj.
|
|
127
|
+
const value = await this.adapter.get(keyObj.namespaced);
|
|
132
128
|
if (value === null) {
|
|
133
129
|
this.eventBus
|
|
134
130
|
.dispatch(CACHE_EVENTS.NOT_FOUND, {
|
|
@@ -162,16 +158,16 @@ export class Cache {
|
|
|
162
158
|
return this.createLazyPromise(async () => {
|
|
163
159
|
const value = await this.get(key);
|
|
164
160
|
if (value === null) {
|
|
165
|
-
throw new KeyNotFoundCacheError(`Key "${this.
|
|
161
|
+
throw new KeyNotFoundCacheError(`Key "${this.namespace._getInternal().create(key).resolved}" is not found`);
|
|
166
162
|
}
|
|
167
163
|
return value;
|
|
168
164
|
});
|
|
169
165
|
}
|
|
170
166
|
getAndRemove(key) {
|
|
171
167
|
return this.createLazyPromise(async () => {
|
|
172
|
-
const keyObj = this.
|
|
168
|
+
const keyObj = this.namespace._getInternal().create(key);
|
|
173
169
|
try {
|
|
174
|
-
const value = await this.adapter.getAndRemove(keyObj.
|
|
170
|
+
const value = await this.adapter.getAndRemove(keyObj.namespaced);
|
|
175
171
|
if (value === null) {
|
|
176
172
|
this.eventBus
|
|
177
173
|
.dispatch(CACHE_EVENTS.NOT_FOUND, {
|
|
@@ -230,9 +226,9 @@ export class Cache {
|
|
|
230
226
|
}
|
|
231
227
|
add(key, value, ttl = this.defaultTtl) {
|
|
232
228
|
return this.createLazyPromise(async () => {
|
|
233
|
-
const keyObj = this.
|
|
229
|
+
const keyObj = this.namespace._getInternal().create(key);
|
|
234
230
|
try {
|
|
235
|
-
const hasAdded = await this.adapter.add(keyObj.
|
|
231
|
+
const hasAdded = await this.adapter.add(keyObj.namespaced, value, ttl);
|
|
236
232
|
if (hasAdded) {
|
|
237
233
|
this.eventBus
|
|
238
234
|
.dispatch(CACHE_EVENTS.WRITTEN, {
|
|
@@ -260,9 +256,9 @@ export class Cache {
|
|
|
260
256
|
}
|
|
261
257
|
put(key, value, ttl = this.defaultTtl) {
|
|
262
258
|
return this.createLazyPromise(async () => {
|
|
263
|
-
const keyObj = this.
|
|
259
|
+
const keyObj = this.namespace._getInternal().create(key);
|
|
264
260
|
try {
|
|
265
|
-
const hasUpdated = await this.adapter.put(keyObj.
|
|
261
|
+
const hasUpdated = await this.adapter.put(keyObj.namespaced, value, ttl);
|
|
266
262
|
if (hasUpdated) {
|
|
267
263
|
this.eventBus
|
|
268
264
|
.dispatch(CACHE_EVENTS.WRITTEN, {
|
|
@@ -299,9 +295,9 @@ export class Cache {
|
|
|
299
295
|
}
|
|
300
296
|
update(key, value) {
|
|
301
297
|
return this.createLazyPromise(async () => {
|
|
302
|
-
const keyObj = this.
|
|
298
|
+
const keyObj = this.namespace._getInternal().create(key);
|
|
303
299
|
try {
|
|
304
|
-
const hasUpdated = await this.adapter.update(keyObj.
|
|
300
|
+
const hasUpdated = await this.adapter.update(keyObj.namespaced, value);
|
|
305
301
|
if (hasUpdated) {
|
|
306
302
|
this.eventBus
|
|
307
303
|
.dispatch(CACHE_EVENTS.WRITTEN, {
|
|
@@ -335,9 +331,9 @@ export class Cache {
|
|
|
335
331
|
}
|
|
336
332
|
increment(key, value = 0) {
|
|
337
333
|
return this.createLazyPromise(async () => {
|
|
338
|
-
const keyObj = this.
|
|
334
|
+
const keyObj = this.namespace._getInternal().create(key);
|
|
339
335
|
try {
|
|
340
|
-
const hasUpdated = await this.adapter.increment(keyObj.
|
|
336
|
+
const hasUpdated = await this.adapter.increment(keyObj.namespaced, value);
|
|
341
337
|
if (hasUpdated && value > 0) {
|
|
342
338
|
this.eventBus
|
|
343
339
|
.dispatch(CACHE_EVENTS.WRITTEN, {
|
|
@@ -385,10 +381,10 @@ export class Cache {
|
|
|
385
381
|
}
|
|
386
382
|
remove(key) {
|
|
387
383
|
return this.createLazyPromise(async () => {
|
|
388
|
-
const keyObj = this.
|
|
384
|
+
const keyObj = this.namespace._getInternal().create(key);
|
|
389
385
|
try {
|
|
390
386
|
const hasRemoved = await this.adapter.removeMany([
|
|
391
|
-
keyObj.
|
|
387
|
+
keyObj.namespaced,
|
|
392
388
|
]);
|
|
393
389
|
if (hasRemoved) {
|
|
394
390
|
this.eventBus
|
|
@@ -425,9 +421,9 @@ export class Cache {
|
|
|
425
421
|
if (keysArr.length === 0) {
|
|
426
422
|
return true;
|
|
427
423
|
}
|
|
428
|
-
const keyObjArr = keysArr.map((key) => this.
|
|
424
|
+
const keyObjArr = keysArr.map((key) => this.namespace._getInternal().create(key));
|
|
429
425
|
try {
|
|
430
|
-
const hasRemovedAtLeastOne = await this.adapter.removeMany(keyObjArr.map((keyObj) => keyObj.
|
|
426
|
+
const hasRemovedAtLeastOne = await this.adapter.removeMany(keyObjArr.map((keyObj) => keyObj.namespaced));
|
|
431
427
|
if (hasRemovedAtLeastOne) {
|
|
432
428
|
const events = keyObjArr.map((keyObj) => [
|
|
433
429
|
CACHE_EVENTS.WRITTEN,
|
|
@@ -469,12 +465,7 @@ export class Cache {
|
|
|
469
465
|
return this.createLazyPromise(async () => {
|
|
470
466
|
try {
|
|
471
467
|
const promise = this.eventBus.dispatch(CACHE_EVENTS.CLEARED, {});
|
|
472
|
-
|
|
473
|
-
await this.adapter.removeAll();
|
|
474
|
-
promise.defer();
|
|
475
|
-
return;
|
|
476
|
-
}
|
|
477
|
-
await this.adapter.removeByKeyPrefix(this.keyPrefixer.keyPrefix);
|
|
468
|
+
await this.adapter.removeByKeyPrefix(this.namespace._getInternal().namespaced);
|
|
478
469
|
promise.defer();
|
|
479
470
|
}
|
|
480
471
|
catch (error) {
|