@daiso-tech/core 0.37.3 → 0.38.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/dist/async/_module-exports.d.ts +1 -1
- package/dist/async/_module-exports.js +1 -1
- package/dist/async/_module-exports.js.map +1 -1
- package/dist/async/async.errors.d.ts +0 -20
- package/dist/async/async.errors.js +0 -16
- package/dist/async/async.errors.js.map +1 -1
- package/dist/async/middlewares/_module.d.ts +0 -1
- package/dist/async/middlewares/_module.js +0 -1
- package/dist/async/middlewares/_module.js.map +1 -1
- package/dist/async/middlewares/bulkhead/bulkhead.middleware.js +1 -1
- package/dist/async/middlewares/bulkhead/bulkhead.middleware.js.map +1 -1
- package/dist/async/middlewares/fallback/_module.d.ts +1 -0
- package/dist/async/middlewares/fallback/_module.js +1 -0
- package/dist/async/middlewares/fallback/_module.js.map +1 -1
- package/dist/async/middlewares/fallback/fallback.middleware.d.ts +25 -49
- package/dist/async/middlewares/fallback/fallback.middleware.js +52 -14
- package/dist/async/middlewares/fallback/fallback.middleware.js.map +1 -1
- package/dist/async/middlewares/fallback/fallback.types.d.ts +42 -0
- package/dist/async/middlewares/fallback/fallback.types.js +6 -0
- package/dist/async/middlewares/fallback/fallback.types.js.map +1 -0
- package/dist/async/middlewares/hedging/_module.d.ts +2 -2
- package/dist/async/middlewares/hedging/_module.js +2 -2
- package/dist/async/middlewares/hedging/_module.js.map +1 -1
- package/dist/async/middlewares/hedging/{_shared.d.ts → hedging.types.d.ts} +37 -9
- package/dist/async/middlewares/hedging/hedging.types.js +6 -0
- package/dist/async/middlewares/hedging/hedging.types.js.map +1 -0
- package/dist/async/middlewares/hedging/{sequential-hedging/sequential-hedging.middleware.d.ts → sequential-hedging.middleware.d.ts} +3 -3
- package/dist/async/middlewares/hedging/sequential-hedging.middleware.js +133 -0
- package/dist/async/middlewares/hedging/sequential-hedging.middleware.js.map +1 -0
- package/dist/async/middlewares/observe/_module.d.ts +1 -0
- package/dist/async/middlewares/observe/_module.js +1 -0
- package/dist/async/middlewares/observe/_module.js.map +1 -1
- package/dist/async/middlewares/observe/observe.middleware.d.ts +37 -87
- package/dist/async/middlewares/observe/observe.middleware.js +53 -2
- package/dist/async/middlewares/observe/observe.middleware.js.map +1 -1
- package/dist/async/middlewares/observe/observe.types.d.ts +91 -0
- package/dist/async/middlewares/observe/observe.types.js +6 -0
- package/dist/async/middlewares/observe/observe.types.js.map +1 -0
- package/dist/async/middlewares/retry/_module.d.ts +1 -0
- package/dist/async/middlewares/retry/_module.js +1 -0
- package/dist/async/middlewares/retry/_module.js.map +1 -1
- package/dist/async/middlewares/retry/retry.middleware.d.ts +36 -86
- package/dist/async/middlewares/retry/retry.middleware.js +70 -22
- package/dist/async/middlewares/retry/retry.middleware.js.map +1 -1
- package/dist/async/middlewares/retry/retry.types.d.ts +77 -0
- package/dist/async/middlewares/retry/retry.types.js +7 -0
- package/dist/async/middlewares/retry/retry.types.js.map +1 -0
- package/dist/async/middlewares/timeout/_module.d.ts +1 -0
- package/dist/async/middlewares/timeout/_module.js +1 -0
- package/dist/async/middlewares/timeout/_module.js.map +1 -1
- package/dist/async/middlewares/timeout/timeout.middleware.d.ts +1 -47
- package/dist/async/middlewares/timeout/timeout.middleware.js +1 -1
- package/dist/async/middlewares/timeout/timeout.middleware.js.map +1 -1
- package/dist/async/middlewares/timeout/timeout.type.d.ts +51 -0
- package/dist/async/middlewares/timeout/timeout.type.js +6 -0
- package/dist/async/middlewares/timeout/timeout.type.js.map +1 -0
- package/dist/async/utilities/promise-queue/promise-queue.js +19 -8
- package/dist/async/utilities/promise-queue/promise-queue.js.map +1 -1
- package/dist/event-bus/contracts/event-bus.contract.d.ts +0 -6
- package/dist/event-bus/contracts/event-bus.contract.js +1 -7
- package/dist/event-bus/contracts/event-bus.contract.js.map +1 -1
- package/dist/event-bus/contracts/event-bus.errors.d.ts +0 -32
- package/dist/event-bus/contracts/event-bus.errors.js +1 -49
- package/dist/event-bus/contracts/event-bus.errors.js.map +1 -1
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +6 -11
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
- package/dist/lock/contracts/lock.contract.d.ts +2 -18
- package/dist/lock/contracts/lock.errors.d.ts +0 -24
- package/dist/lock/contracts/lock.errors.js +0 -46
- package/dist/lock/contracts/lock.errors.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock.js +4 -4
- package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +15 -19
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
- package/dist/utilities/_module-exports.d.ts +1 -1
- package/dist/utilities/_module-exports.js +1 -1
- package/dist/utilities/_module-exports.js.map +1 -1
- package/dist/utilities/classes/hooks/async-hooks.d.ts +6 -4
- package/dist/utilities/classes/hooks/async-hooks.js +3 -1
- package/dist/utilities/classes/hooks/async-hooks.js.map +1 -1
- package/dist/utilities/classes/hooks/hooks.d.ts +1 -1
- package/dist/utilities/classes/hooks/hooks.js +1 -1
- package/dist/utilities/classes/hooks/hooks.js.map +1 -1
- package/dist/utilities/classes/namespace/namespace.d.ts +2 -2
- package/dist/utilities/classes/namespace/namespace.js.map +1 -1
- package/dist/utilities/functions/{_module-exports.d.ts → _module.d.ts} +5 -1
- package/dist/utilities/functions/{_module-exports.js → _module.js} +6 -2
- package/dist/utilities/functions/_module.js.map +1 -0
- package/dist/utilities/functions/error-policy.d.ts +54 -0
- package/dist/utilities/functions/error-policy.js +63 -0
- package/dist/utilities/functions/error-policy.js.map +1 -0
- package/dist/utilities/functions/invokable.d.ts +57 -1
- package/dist/utilities/functions/invokable.js +3 -1
- package/dist/utilities/functions/invokable.js.map +1 -1
- package/dist/utilities/functions/is-class.d.ts +5 -0
- package/dist/utilities/functions/is-class.js +11 -0
- package/dist/utilities/functions/is-class.js.map +1 -0
- package/dist/utilities/functions/is-standard-schema.d.ts +2 -0
- package/dist/utilities/functions/is-standard-schema.js +5 -0
- package/dist/utilities/functions/is-standard-schema.js.map +1 -0
- package/dist/utilities/functions/lazy.d.ts +27 -1
- package/dist/utilities/functions/lazy.js.map +1 -1
- package/dist/utilities/functions/option.d.ts +32 -0
- package/dist/utilities/functions/option.js +25 -0
- package/dist/utilities/functions/option.js.map +1 -0
- package/dist/utilities/functions/resolve-one-or-more.d.ts +5 -1
- package/dist/utilities/functions/resolve-one-or-more.js.map +1 -1
- package/dist/utilities/functions/result.d.ts +81 -1
- package/dist/utilities/functions/result.js +46 -2
- package/dist/utilities/functions/result.js.map +1 -1
- package/dist/utilities/types/_module.d.ts +1 -7
- package/dist/utilities/types/_module.js +1 -7
- package/dist/utilities/types/_module.js.map +1 -1
- package/dist/utilities/types/any-class.type.d.ts +3 -0
- package/dist/utilities/types/any-class.type.js +2 -0
- package/dist/utilities/types/any-class.type.js.map +1 -0
- package/package.json +1 -1
- package/dist/async/middlewares/_shared.d.ts +0 -15
- package/dist/async/middlewares/_shared.js +0 -15
- package/dist/async/middlewares/_shared.js.map +0 -1
- package/dist/async/middlewares/hedging/_shared.js +0 -5
- package/dist/async/middlewares/hedging/_shared.js.map +0 -1
- package/dist/async/middlewares/hedging/concurrent-hedging/_module.d.ts +0 -1
- package/dist/async/middlewares/hedging/concurrent-hedging/_module.js +0 -2
- package/dist/async/middlewares/hedging/concurrent-hedging/_module.js.map +0 -1
- package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.d.ts +0 -51
- package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.js +0 -138
- package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.js.map +0 -1
- package/dist/async/middlewares/hedging/sequential-hedging/_module.d.ts +0 -1
- package/dist/async/middlewares/hedging/sequential-hedging/_module.js +0 -2
- package/dist/async/middlewares/hedging/sequential-hedging/_module.js.map +0 -1
- package/dist/async/middlewares/hedging/sequential-hedging/sequential-hedging.middleware.js +0 -104
- package/dist/async/middlewares/hedging/sequential-hedging/sequential-hedging.middleware.js.map +0 -1
- package/dist/utilities/functions/_module-exports.js.map +0 -1
- package/dist/utilities/types/at-least-one.type.d.ts +0 -8
- package/dist/utilities/types/at-least-one.type.js +0 -5
- package/dist/utilities/types/at-least-one.type.js.map +0 -1
- package/dist/utilities/types/factory.type.d.ts +0 -44
- package/dist/utilities/types/factory.type.js +0 -5
- package/dist/utilities/types/factory.type.js.map +0 -1
- package/dist/utilities/types/invokable.type.d.ts +0 -20
- package/dist/utilities/types/invokable.type.js +0 -5
- package/dist/utilities/types/invokable.type.js.map +0 -1
- package/dist/utilities/types/items.type.d.ts +0 -8
- package/dist/utilities/types/items.type.js +0 -5
- package/dist/utilities/types/items.type.js.map +0 -1
- package/dist/utilities/types/lazy.type.d.ts +0 -31
- package/dist/utilities/types/lazy.type.js +0 -5
- package/dist/utilities/types/lazy.type.js.map +0 -1
- package/dist/utilities/types/one-or-more.type.d.ts +0 -8
- package/dist/utilities/types/one-or-more.type.js +0 -5
- package/dist/utilities/types/one-or-more.type.js.map +0 -1
- package/dist/utilities/types/result.type.d.ts +0 -18
- package/dist/utilities/types/result.type.js +0 -5
- package/dist/utilities/types/result.type.js.map +0 -1
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Utilities
|
|
3
|
+
*/
|
|
4
|
+
import { callInvokable, isInvokable, } from "../../utilities/functions/invokable.js";
|
|
5
|
+
import { isResult, isResultSuccess, } from "../../utilities/functions/result.js";
|
|
6
|
+
import { isStandardSchema } from "../../utilities/functions/is-standard-schema.js";
|
|
7
|
+
import { isClass } from "../../utilities/functions/is-class.js";
|
|
8
|
+
import {} from "../../utilities/types/_module.js";
|
|
9
|
+
/**
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export function isErrorPolicyBoolSetting(value) {
|
|
13
|
+
return (typeof value === "object" &&
|
|
14
|
+
value !== null &&
|
|
15
|
+
"treatFalseAsError" in value &&
|
|
16
|
+
typeof value.treatFalseAsError === "boolean");
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
export async function callErrorPolicyOnValue(errorPolicy = () => true, value) {
|
|
22
|
+
// Will retry if the value is false and the setting treatFalseAsError is true
|
|
23
|
+
if (!isResult(value)) {
|
|
24
|
+
const shouldRetry = isErrorPolicyBoolSetting(errorPolicy) &&
|
|
25
|
+
typeof value === "boolean" &&
|
|
26
|
+
!value &&
|
|
27
|
+
errorPolicy.treatFalseAsError;
|
|
28
|
+
return shouldRetry;
|
|
29
|
+
}
|
|
30
|
+
// Will not retry if the Result successful
|
|
31
|
+
if (isResultSuccess(value)) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
if (isInvokable(errorPolicy)) {
|
|
35
|
+
return callInvokable(errorPolicy, value.error);
|
|
36
|
+
}
|
|
37
|
+
if (isStandardSchema(errorPolicy)) {
|
|
38
|
+
const schemaResult = await errorPolicy["~standard"].validate(value.error);
|
|
39
|
+
return schemaResult.issues === undefined;
|
|
40
|
+
}
|
|
41
|
+
// This only need so typescript wont complain
|
|
42
|
+
if (isErrorPolicyBoolSetting(errorPolicy)) {
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
return value.error instanceof errorPolicy;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* @internal
|
|
49
|
+
*/
|
|
50
|
+
export async function callErrorPolicyOnThrow(errorPolicy = () => true, error) {
|
|
51
|
+
if (isInvokable(errorPolicy)) {
|
|
52
|
+
return callInvokable(errorPolicy, error);
|
|
53
|
+
}
|
|
54
|
+
if (isStandardSchema(errorPolicy)) {
|
|
55
|
+
const result = await errorPolicy["~standard"].validate(error);
|
|
56
|
+
return result.issues === undefined;
|
|
57
|
+
}
|
|
58
|
+
if (isClass(errorPolicy)) {
|
|
59
|
+
return error instanceof errorPolicy;
|
|
60
|
+
}
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=error-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-policy.js","sourceRoot":"","sources":["../../../src/utilities/functions/error-policy.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACH,aAAa,EACb,WAAW,GAEd,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACH,QAAQ,EACR,eAAe,GAElB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAE/E,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAiB,MAAM,8BAA8B,CAAC;AAe7D;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACpC,KAAc;IAEd,OAAO,CACH,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,mBAAmB,IAAI,KAAK;QAC5B,OAAO,KAAK,CAAC,iBAAiB,KAAK,SAAS,CAC/C,CAAC;AACN,CAAC;AA+BD;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAIxC,cAAmC,GAAG,EAAE,CAAC,IAAI,EAC7C,KAAsC;IAEtC,6EAA6E;IAC7E,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,WAAW,GACb,wBAAwB,CAAC,WAAW,CAAC;YACrC,OAAO,KAAK,KAAK,SAAS;YAC1B,CAAC,KAAK;YACN,WAAW,CAAC,iBAAiB,CAAC;QAClC,OAAO,WAAW,CAAC;IACvB,CAAC;IAED,0CAA0C;IAC1C,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3B,OAAO,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC,QAAQ,CACxD,KAAK,CAAC,KAAK,CACd,CAAC;QACF,OAAO,YAAY,CAAC,MAAM,KAAK,SAAS,CAAC;IAC7C,CAAC;IAED,6CAA6C;IAC7C,IAAI,wBAAwB,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC,KAAK,YAAY,WAAW,CAAC;AAC9C,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CACxC,cAAmC,GAAG,EAAE,CAAC,IAAI,EAC7C,KAAa;IAEb,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3B,OAAO,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC9D,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;IACvC,CAAC;IAED,IAAI,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,YAAY,WAAW,CAAC;IACxC,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
@@ -1,7 +1,63 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Utilities
|
|
3
3
|
*/
|
|
4
|
-
import type {
|
|
4
|
+
import type { NoneFunc } from "../../utilities/types/none-func.type.js";
|
|
5
|
+
import type { Promisable } from "../../utilities/types/promiseable.type.js";
|
|
6
|
+
/**
|
|
7
|
+
*
|
|
8
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
9
|
+
*/
|
|
10
|
+
export type InvokableFn<TArgs extends unknown[] = unknown[], TReturn = unknown> = (...args: TArgs) => TReturn;
|
|
11
|
+
/**
|
|
12
|
+
*
|
|
13
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
14
|
+
*/
|
|
15
|
+
export type IInvokableObject<TArgs extends unknown[] = unknown[], TReturn = unknown> = {
|
|
16
|
+
invoke(...args: TArgs): TReturn;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
*
|
|
20
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
21
|
+
*/
|
|
22
|
+
export type Invokable<TArgs extends unknown[] = unknown[], TReturn = unknown> = InvokableFn<TArgs, TReturn> | IInvokableObject<TArgs, TReturn>;
|
|
23
|
+
/**
|
|
24
|
+
*
|
|
25
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
26
|
+
*/
|
|
27
|
+
export type FactoryFn<TInput, TOutput> = InvokableFn<[
|
|
28
|
+
value: TInput
|
|
29
|
+
], NoneFunc<TOutput>>;
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
33
|
+
*/
|
|
34
|
+
export type IFactoryObject<TInput, TOutput> = IInvokableObject<[
|
|
35
|
+
value: TInput
|
|
36
|
+
], NoneFunc<TOutput>>;
|
|
37
|
+
/**
|
|
38
|
+
*
|
|
39
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
40
|
+
*/
|
|
41
|
+
export type Factory<TInput, TOutput> = FactoryFn<TInput, TOutput> | IFactoryObject<TInput, TOutput>;
|
|
42
|
+
/**
|
|
43
|
+
*
|
|
44
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
45
|
+
*/
|
|
46
|
+
export type AsyncFactoryFn<TInput, TOutput> = InvokableFn<[
|
|
47
|
+
value: TInput
|
|
48
|
+
], Promisable<NoneFunc<TOutput>>>;
|
|
49
|
+
/**
|
|
50
|
+
*
|
|
51
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
52
|
+
*/
|
|
53
|
+
export type IAsyncFactoryObject<TInput, TOutput> = IInvokableObject<[
|
|
54
|
+
value: TInput
|
|
55
|
+
], Promisable<NoneFunc<TOutput>>>;
|
|
56
|
+
/**
|
|
57
|
+
*
|
|
58
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
59
|
+
*/
|
|
60
|
+
export type AsyncFactory<TInput, TOutput> = AsyncFactoryFn<TInput, TOutput> | IAsyncFactoryObject<TInput, TOutput>;
|
|
5
61
|
/**
|
|
6
62
|
* @internal
|
|
7
63
|
*/
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { isNullable } from "../../utilities/functions/is-nullable.js";
|
|
5
5
|
import { getConstructorName } from "../../utilities/functions/get-constructor-name.js";
|
|
6
|
+
import { isClass } from "../../utilities/functions/is-class.js";
|
|
6
7
|
/**
|
|
7
8
|
* @internal
|
|
8
9
|
*/
|
|
@@ -20,7 +21,8 @@ export function isInvokableFn(invokable) {
|
|
|
20
21
|
* @internal
|
|
21
22
|
*/
|
|
22
23
|
export function isInvokable(invokable) {
|
|
23
|
-
return isInvokableObject(invokable) || isInvokableFn(invokable)
|
|
24
|
+
return ((isInvokableObject(invokable) || isInvokableFn(invokable)) &&
|
|
25
|
+
!isClass(invokable));
|
|
24
26
|
}
|
|
25
27
|
/**
|
|
26
28
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invokable.js","sourceRoot":"","sources":["../../../src/utilities/functions/invokable.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"invokable.js","sourceRoot":"","sources":["../../../src/utilities/functions/invokable.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AAGnF,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAkF5D;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAK7B,SAAmD;IAEnD,MAAM,UAAU,GAAG,SAAoC,CAAC;IACxD,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,OAAO,UAAU,CAAC,QAAQ,CAAC,KAAK,UAAU,CAAC;AAChF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CACzB,SAAmD;IAEnD,OAAO,OAAO,SAAS,KAAK,UAAU,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACvB,SAAmD;IAEnD,OAAO,CACH,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC,OAAO,CAAC,SAAS,CAAC,CACtB,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC5B,SAA0C;IAE1C,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CACzB,SAA0C,EAC1C,GAAG,IAAiB;IAEpB,IAAI,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC5B,SAA0C;IAE1C,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,OAAO,SAAS,CAAC,IAAI,CAAC;IAC1B,CAAC;IACD,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
2
|
+
/* eslint-disable prettier/prettier */
|
|
3
|
+
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
4
|
+
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
5
|
+
/**
|
|
6
|
+
* @module Utilities
|
|
7
|
+
*/
|
|
8
|
+
export function isClass(value) {
|
|
9
|
+
return value?.prototype?.constructor?.toString().startsWith("class");
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=is-class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-class.js","sourceRoot":"","sources":["../../../src/utilities/functions/is-class.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,sCAAsC;AACtC,sDAAsD;AACtD,wDAAwD;AACxD;;GAEG;AAIH,MAAM,UAAU,OAAO,CAAC,KAAc;IAClC,OAAQ,KAAa,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAClF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-standard-schema.js","sourceRoot":"","sources":["../../../src/utilities/functions/is-standard-schema.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAC5B,KAAc;IAEd,OAAO,CACH,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAQ,KAAiC,CAAC,WAAW,CAAC,KAAK,QAAQ,CACtE,CAAC;AACN,CAAC"}
|
|
@@ -2,7 +2,33 @@
|
|
|
2
2
|
* @module Utilities
|
|
3
3
|
*/
|
|
4
4
|
import type { LazyPromise } from "../../async/utilities/_module.js";
|
|
5
|
-
import
|
|
5
|
+
import { type Invokable } from "../../utilities/functions/invokable.js";
|
|
6
|
+
import type { Promisable } from "../../utilities/types/promiseable.type.js";
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
10
|
+
*/
|
|
11
|
+
export type Lazy<TValue> = Invokable<[], TValue>;
|
|
12
|
+
/**
|
|
13
|
+
*
|
|
14
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
15
|
+
*/
|
|
16
|
+
export type Lazyable<TValue> = TValue | Lazy<TValue>;
|
|
17
|
+
/**
|
|
18
|
+
*
|
|
19
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
20
|
+
*/
|
|
21
|
+
export type AsyncLazy_<TValue> = Invokable<[], Promisable<TValue>>;
|
|
22
|
+
/**
|
|
23
|
+
*
|
|
24
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
25
|
+
*/
|
|
26
|
+
export type AsyncLazy<TValue> = AsyncLazy_<TValue> | LazyPromise<TValue>;
|
|
27
|
+
/**
|
|
28
|
+
*
|
|
29
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
30
|
+
*/
|
|
31
|
+
export type AsyncLazyable<TValue> = TValue | AsyncLazy<TValue>;
|
|
6
32
|
/**
|
|
7
33
|
* @internal
|
|
8
34
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../../src/utilities/functions/lazy.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"lazy.js","sourceRoot":"","sources":["../../../src/utilities/functions/lazy.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAEH,WAAW,EACX,gBAAgB,GACnB,MAAM,oCAAoC,CAAC;AAiC5C;;GAEG;AACH,MAAM,UAAU,MAAM,CAClB,QAA0B;IAE1B,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CACzB,KAAc;IAEd,OAAO,CACH,OAAO,KAAK,KAAK,QAAQ;QACzB,sEAAsE;QACtE,OAAQ,KAAa,EAAE,IAAI,KAAK,UAAU,CAC7C,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CACzB,QAA+B;IAE/B,OAAO,CACH,aAAa,CAAC,QAAQ,CAAC;QACvB,sEAAsE;QACtE,OAAQ,QAAgB,EAAE,KAAK,KAAK,UAAU,CACjD,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACvB,QAA+B;IAE/B,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC5D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAS,QAA0B;IAC9D,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnB,OAAO,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;IACxC,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACtC,QAA+B;IAE/B,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACxB,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,QAAQ,CAAC;QAC1B,CAAC;QACD,OAAO,MAAM,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,QAAQ,CAAC;AACpB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal
|
|
3
|
+
*/
|
|
4
|
+
export declare const OPTION: {
|
|
5
|
+
readonly SOME: "some";
|
|
6
|
+
readonly NONE: "none";
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export type OptionSome<TValue = unknown> = {
|
|
12
|
+
type: (typeof OPTION)["SOME"];
|
|
13
|
+
value: TValue;
|
|
14
|
+
};
|
|
15
|
+
/**
|
|
16
|
+
* @internal
|
|
17
|
+
*/
|
|
18
|
+
export type OptionNone = {
|
|
19
|
+
type: (typeof OPTION)["NONE"];
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* @internal
|
|
23
|
+
*/
|
|
24
|
+
export type Option<TValue = unknown> = OptionSome<TValue> | OptionNone;
|
|
25
|
+
/**
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
export declare function optionSome<TValue = unknown>(value: TValue): OptionSome<TValue>;
|
|
29
|
+
/**
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
32
|
+
export declare function optionNone(): OptionNone;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal
|
|
3
|
+
*/
|
|
4
|
+
export const OPTION = {
|
|
5
|
+
SOME: "some",
|
|
6
|
+
NONE: "none",
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export function optionSome(value) {
|
|
12
|
+
return {
|
|
13
|
+
type: OPTION.SOME,
|
|
14
|
+
value,
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @internal
|
|
19
|
+
*/
|
|
20
|
+
export function optionNone() {
|
|
21
|
+
return {
|
|
22
|
+
type: OPTION.NONE,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=option.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"option.js","sourceRoot":"","sources":["../../../src/utilities/functions/option.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;CACN,CAAC;AAsBX;;GAEG;AACH,MAAM,UAAU,UAAU,CACtB,KAAa;IAEb,OAAO;QACH,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK;KACR,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACtB,OAAO;QACH,IAAI,EAAE,MAAM,CAAC,IAAI;KACpB,CAAC;AACN,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-one-or-more.js","sourceRoot":"","sources":["../../../src/utilities/functions/resolve-one-or-more.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve-one-or-more.js","sourceRoot":"","sources":["../../../src/utilities/functions/resolve-one-or-more.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AAQrE;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAQ,KAAuB;IAC3D,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAC/B,IAAuB,EACvB,OAAO,GAAG,GAAG;IAEb,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,gBAAgB,CAAC,IAAI,CAAC;SACxB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;SAC/B,IAAI,CAAC,OAAO,CAAC,CAAC;AACvB,CAAC"}
|
|
@@ -1,4 +1,84 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @module Utilities
|
|
3
|
+
*/
|
|
4
|
+
export declare const RESULT: {
|
|
5
|
+
readonly FAILURE: "failure";
|
|
6
|
+
readonly SUCCESS: "success";
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
11
|
+
*/
|
|
12
|
+
export type ResultFailure<TError = unknown> = {
|
|
13
|
+
type: (typeof RESULT)["FAILURE"];
|
|
14
|
+
error: TError;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
19
|
+
*/
|
|
20
|
+
export type ResultSuccess<TValue = unknown> = {
|
|
21
|
+
type: (typeof RESULT)["SUCCESS"];
|
|
22
|
+
value: TValue;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* The `Result` type represents either success or failure.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* import { Result, resultFailure, resultSuccess, RESULT } from "@daiso-tech/core/utilities";
|
|
30
|
+
*
|
|
31
|
+
* function random(): Result<string, Error> {
|
|
32
|
+
* const nbr = Math.round(Math.random() * 100);
|
|
33
|
+
* if (nbr > 50) {
|
|
34
|
+
* // The resultFailure function return a failed result
|
|
35
|
+
* return resultFailure(new Error("Unexpected error occured"));
|
|
36
|
+
* }
|
|
37
|
+
* // The resultSuccess function return a success result
|
|
38
|
+
* return resultSuccess("Function succeded");
|
|
39
|
+
* }
|
|
40
|
+
*
|
|
41
|
+
* const result = random();
|
|
42
|
+
*
|
|
43
|
+
* // Checking for failure
|
|
44
|
+
* if (result.type === RESULT.FAILURE) {
|
|
45
|
+
* console.log("Error occured:", result.error);
|
|
46
|
+
* }
|
|
47
|
+
*
|
|
48
|
+
* // Checking for success
|
|
49
|
+
* if (result.type === RESULT.SUCCESS) {
|
|
50
|
+
* console.log("Result was successful:", result.value);
|
|
51
|
+
* }
|
|
52
|
+
* ```
|
|
53
|
+
*
|
|
54
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
55
|
+
*/
|
|
56
|
+
export type Result<TValue = unknown, TError = unknown> = ResultFailure<TError> | ResultSuccess<TValue>;
|
|
57
|
+
/**
|
|
58
|
+
*
|
|
59
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
60
|
+
*/
|
|
61
|
+
export type InferResultError<TValue> = TValue extends Result ? Extract<TValue, ResultFailure>["error"] : unknown;
|
|
62
|
+
/**
|
|
63
|
+
*
|
|
64
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
65
|
+
*/
|
|
66
|
+
export type InferResultSuccess<TValue> = TValue extends Result ? Extract<TValue, ResultSuccess>["value"] : TValue;
|
|
67
|
+
/**
|
|
68
|
+
*
|
|
69
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
70
|
+
*/
|
|
71
|
+
export declare function isResultFailure<TError = unknown>(value: unknown): value is ResultFailure<TError>;
|
|
72
|
+
/**
|
|
73
|
+
*
|
|
74
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
75
|
+
*/
|
|
76
|
+
export declare function isResultSuccess<TSuccess = unknown>(value: unknown): value is ResultSuccess<TSuccess>;
|
|
77
|
+
/**
|
|
78
|
+
*
|
|
79
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
80
|
+
*/
|
|
81
|
+
export declare function isResult<TValue = unknown, TError = unknown>(value: unknown): value is Result<TValue, TError>;
|
|
2
82
|
/**
|
|
3
83
|
*
|
|
4
84
|
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
@@ -1,15 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Utilities
|
|
3
|
+
*/
|
|
4
|
+
export const RESULT = {
|
|
5
|
+
FAILURE: "failure",
|
|
6
|
+
SUCCESS: "success",
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
11
|
+
*/
|
|
12
|
+
export function isResultFailure(value) {
|
|
13
|
+
return (typeof value === "object" &&
|
|
14
|
+
value !== null &&
|
|
15
|
+
"type" in value &&
|
|
16
|
+
typeof value.type === "string" &&
|
|
17
|
+
value.type === RESULT.FAILURE &&
|
|
18
|
+
"error" in value);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
*
|
|
22
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
23
|
+
*/
|
|
24
|
+
export function isResultSuccess(value) {
|
|
25
|
+
return (typeof value === "object" &&
|
|
26
|
+
value !== null &&
|
|
27
|
+
"type" in value &&
|
|
28
|
+
typeof value.type === "string" &&
|
|
29
|
+
value.type === RESULT.SUCCESS &&
|
|
30
|
+
"value" in value);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
*
|
|
34
|
+
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
35
|
+
*/
|
|
36
|
+
export function isResult(value) {
|
|
37
|
+
return isResultFailure(value) || isResultSuccess(value);
|
|
38
|
+
}
|
|
1
39
|
/**
|
|
2
40
|
*
|
|
3
41
|
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
4
42
|
*/
|
|
5
43
|
export function resultFailure(error) {
|
|
6
|
-
return
|
|
44
|
+
return {
|
|
45
|
+
type: RESULT.FAILURE,
|
|
46
|
+
error,
|
|
47
|
+
};
|
|
7
48
|
}
|
|
8
49
|
/**
|
|
9
50
|
*
|
|
10
51
|
* IMPORT_PATH: `"@daiso-tech/core/utilities"`
|
|
11
52
|
*/
|
|
12
53
|
export function resultSuccess(value) {
|
|
13
|
-
return
|
|
54
|
+
return {
|
|
55
|
+
type: RESULT.SUCCESS,
|
|
56
|
+
value,
|
|
57
|
+
};
|
|
14
58
|
}
|
|
15
59
|
//# sourceMappingURL=result.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/utilities/functions/result.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/utilities/functions/result.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;CACZ,CAAC;AAwEX;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC3B,KAAc;IAEd,OAAO,CACH,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO;QAC7B,OAAO,IAAI,KAAK,CACnB,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC3B,KAAc;IAEd,OAAO,CACH,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,MAAM,IAAI,KAAK;QACf,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;QAC9B,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,OAAO;QAC7B,OAAO,IAAI,KAAK,CACnB,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,QAAQ,CACpB,KAAc;IAEd,OAAO,eAAe,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CACzB,KAAa;IAEb,OAAO;QACH,IAAI,EAAE,MAAM,CAAC,OAAO;QACpB,KAAK;KACR,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAS,KAAa;IAC/C,OAAO;QACH,IAAI,EAAE,MAAM,CAAC,OAAO;QACpB,KAAK;KACR,CAAC;AACN,CAAC"}
|
|
@@ -1,10 +1,4 @@
|
|
|
1
|
+
export * from "../../utilities/types/any-class.type.js";
|
|
1
2
|
export * from "../../utilities/types/async-iterable-value.type.js";
|
|
2
|
-
export * from "../../utilities/types/at-least-one.type.js";
|
|
3
|
-
export * from "../../utilities/types/factory.type.js";
|
|
4
3
|
export * from "../../utilities/types/none-func.type.js";
|
|
5
|
-
export * from "../../utilities/types/invokable.type.js";
|
|
6
|
-
export * from "../../utilities/types/items.type.js";
|
|
7
|
-
export * from "../../utilities/types/lazy.type.js";
|
|
8
|
-
export * from "../../utilities/types/one-or-more.type.js";
|
|
9
4
|
export * from "../../utilities/types/promiseable.type.js";
|
|
10
|
-
export * from "../../utilities/types/result.type.js";
|
|
@@ -1,11 +1,5 @@
|
|
|
1
|
+
export * from "../../utilities/types/any-class.type.js";
|
|
1
2
|
export * from "../../utilities/types/async-iterable-value.type.js";
|
|
2
|
-
export * from "../../utilities/types/at-least-one.type.js";
|
|
3
|
-
export * from "../../utilities/types/factory.type.js";
|
|
4
3
|
export * from "../../utilities/types/none-func.type.js";
|
|
5
|
-
export * from "../../utilities/types/invokable.type.js";
|
|
6
|
-
export * from "../../utilities/types/items.type.js";
|
|
7
|
-
export * from "../../utilities/types/lazy.type.js";
|
|
8
|
-
export * from "../../utilities/types/one-or-more.type.js";
|
|
9
4
|
export * from "../../utilities/types/promiseable.type.js";
|
|
10
|
-
export * from "../../utilities/types/result.type.js";
|
|
11
5
|
//# sourceMappingURL=_module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../src/utilities/types/_module.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../src/utilities/types/_module.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAC;AACpD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,qCAAqC,CAAC;AACpD,cAAc,uCAAuC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"any-class.type.js","sourceRoot":"","sources":["../../../src/utilities/types/any-class.type.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module Async
|
|
3
|
-
*/
|
|
4
|
-
import { type Invokable } from "../../utilities/_module-exports.js";
|
|
5
|
-
import type { StandardSchemaV1 } from "@standard-schema/spec";
|
|
6
|
-
/**
|
|
7
|
-
*
|
|
8
|
-
* IMPORT_PATH: `"@daiso-tech/core/async"`
|
|
9
|
-
* @group Middlewares
|
|
10
|
-
*/
|
|
11
|
-
export type ErrorPolicy<TInput = unknown, TOutput = unknown> = Invokable<[error: unknown], boolean> | StandardSchemaV1<TInput, TOutput>;
|
|
12
|
-
/**
|
|
13
|
-
* @internal
|
|
14
|
-
*/
|
|
15
|
-
export declare function callErrorPolicy<TInput = unknown, TOutput = unknown>(errorPolicy: ErrorPolicy<TInput, TOutput>, value: unknown): Promise<boolean>;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module Async
|
|
3
|
-
*/
|
|
4
|
-
import { callInvokable, isInvokable, } from "../../utilities/_module-exports.js";
|
|
5
|
-
/**
|
|
6
|
-
* @internal
|
|
7
|
-
*/
|
|
8
|
-
export async function callErrorPolicy(errorPolicy, value) {
|
|
9
|
-
if (isInvokable(errorPolicy)) {
|
|
10
|
-
return callInvokable(errorPolicy, value);
|
|
11
|
-
}
|
|
12
|
-
const result = await errorPolicy["~standard"].validate(value);
|
|
13
|
-
return result.issues === undefined;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=_shared.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_shared.js","sourceRoot":"","sources":["../../../src/async/middlewares/_shared.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EACH,aAAa,EACb,WAAW,GAEd,MAAM,gCAAgC,CAAC;AAYxC;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACjC,WAAyC,EACzC,KAAc;IAEd,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3B,OAAO,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC;AACvC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_shared.js","sourceRoot":"","sources":["../../../../src/async/middlewares/hedging/_shared.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAKN,MAAM,gCAAgC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "../../../../async/middlewares/hedging/concurrent-hedging/_module.js";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../../src/async/middlewares/hedging/concurrent-hedging/_module.ts"],"names":[],"mappings":"AAAA,cAAc,2DAA2D,CAAC"}
|
package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.d.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module Async
|
|
3
|
-
*/
|
|
4
|
-
import { type AsyncMiddlewareFn, type HookContext } from "../../../../utilities/_module-exports.js";
|
|
5
|
-
import type { HedgingSettings } from "../../../../async/middlewares/hedging/_shared.js";
|
|
6
|
-
/**
|
|
7
|
-
* The `concurrentHedging` middleware executes the primary function and all fallback functions concurrently.
|
|
8
|
-
* It returns the result of the first successful function and automatically aborts all remaining functions.
|
|
9
|
-
* If all function fail than error is thrown.
|
|
10
|
-
*
|
|
11
|
-
* IMPORT_PATH: `"@daiso-tech/core/async"`
|
|
12
|
-
* @group Middlewares
|
|
13
|
-
* @throws {HedgingAsyncError} {@link HedgingAsyncError}
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* ```ts
|
|
17
|
-
* import { concurrentHedging } from "@daiso-tech/core/async";
|
|
18
|
-
* import { AsyncHooks } from "@daiso-tech/core/utilities";
|
|
19
|
-
*
|
|
20
|
-
* async function fn1(signal?: AbortSignal): Promise<unknown> {
|
|
21
|
-
* const response = await fetch("ENDPOINT-1", { signal });
|
|
22
|
-
* return await response.json();
|
|
23
|
-
* }
|
|
24
|
-
* async function fn2(signal?: AbortSignal): Promise<unknown> {
|
|
25
|
-
* const response = await fetch("ENDPOINT-2", { signal });
|
|
26
|
-
* return await response.json();
|
|
27
|
-
* }
|
|
28
|
-
* async function fn3(signal?: AbortSignal): Promise<unknown> {
|
|
29
|
-
* const response = await fetch("ENDPOINT-3", { signal });
|
|
30
|
-
* return await response.json();
|
|
31
|
-
* }
|
|
32
|
-
* const fetchData = new AsyncHooks(fn1, [
|
|
33
|
-
* concurrentHedging({
|
|
34
|
-
* fallbacks: [
|
|
35
|
-
* fn2,
|
|
36
|
-
* fn3
|
|
37
|
-
* ]
|
|
38
|
-
* })
|
|
39
|
-
* ], {
|
|
40
|
-
* signalBinder: {
|
|
41
|
-
* getSignal: (args) => args[0],
|
|
42
|
-
* forwardSignal: (args, signal) => {
|
|
43
|
-
* args[0] = signal;
|
|
44
|
-
* }
|
|
45
|
-
* }
|
|
46
|
-
* });
|
|
47
|
-
*
|
|
48
|
-
* console.log(await fetchData.invoke());
|
|
49
|
-
* ```
|
|
50
|
-
*/
|
|
51
|
-
export declare function concurrentHedging<TParameters extends unknown[], TReturn, TContext extends HookContext>(settings: NoInfer<HedgingSettings<TParameters, TReturn, TContext>>): AsyncMiddlewareFn<TParameters, TReturn, TContext>;
|