@daiso-tech/core 0.43.2 → 0.45.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 +5 -2
- 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 +8 -8
- package/dist/cache/contracts/cache.events.js +1 -1
- package/dist/cache/contracts/cache.events.js.map +1 -1
- package/dist/cache/implementations/derivables/cache/cache.d.ts +2 -8
- package/dist/cache/implementations/derivables/cache/cache.js +3 -8
- package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +2 -2
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +2 -4
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
- package/dist/cache/implementations/test-utilities/cache.test-suite.js +141 -36
- package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
- package/dist/circuit-breaker/contracts/circuit-breaker.errors.d.ts +3 -3
- package/dist/circuit-breaker/contracts/circuit-breaker.errors.js +1 -1
- package/dist/circuit-breaker/contracts/circuit-breaker.errors.js.map +1 -1
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/circuit-breaker-state-manager.d.ts +2 -2
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/circuit-breaker-state-manager.js +1 -1
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/circuit-breaker-state-manager.js.map +1 -1
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/circuit-breaker-storage.d.ts +2 -2
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/circuit-breaker-storage.js +1 -1
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/circuit-breaker-storage.js.map +1 -1
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/database-circuit-breaker-adapter.js +2 -2
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/database-circuit-breaker-adapter.js.map +1 -1
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/{circuit-breaker-policy.d.ts → internal-circuit-breaker-policy.d.ts} +1 -1
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/{circuit-breaker-policy.js → internal-circuit-breaker-policy.js} +2 -2
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/internal-circuit-breaker-policy.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/types.d.ts +1 -1
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/types.js +1 -1
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/types.js.map +1 -1
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-factory-lua.js +2 -2
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-factory-lua.js.map +1 -1
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-state-manager-lua.js +1 -1
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-storage-lua.d.ts +1 -1
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-storage-lua.js +1 -1
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/{circuit-breaker-policy-lua.js → internal-circuit-breaker-policy-lua.js} +2 -2
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/internal-circuit-breaker-policy-lua.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/redis-circuit-breaker-adapter.d.ts +2 -2
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/redis-circuit-breaker-adapter.js +5 -5
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/redis-circuit-breaker-adapter.js.map +1 -1
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-provider.d.ts +11 -8
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-provider.js +3 -8
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-provider.js.map +1 -1
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-serde-transformer.d.ts +2 -2
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-serde-transformer.js +1 -1
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-serde-transformer.js.map +1 -1
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker.d.ts +4 -4
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker.js +1 -1
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker.js.map +1 -1
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/circuit-breaker-provider-factory.d.ts +2 -2
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/circuit-breaker-provider-factory.js +2 -4
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/circuit-breaker-provider-factory.js.map +1 -1
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/database-circuit-breaker-provider-factory.d.ts +2 -2
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/database-circuit-breaker-provider-factory.js +2 -4
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/database-circuit-breaker-provider-factory.js.map +1 -1
- package/dist/circuit-breaker/implementations/test-utilities/consecutive-breaker.test-suite.d.ts +2 -2
- package/dist/circuit-breaker/implementations/test-utilities/consecutive-breaker.test-suite.js +2 -1
- package/dist/circuit-breaker/implementations/test-utilities/consecutive-breaker.test-suite.js.map +1 -1
- package/dist/circuit-breaker/implementations/test-utilities/count-breaker.test-suite.d.ts +2 -2
- package/dist/circuit-breaker/implementations/test-utilities/count-breaker.test-suite.js +2 -1
- package/dist/circuit-breaker/implementations/test-utilities/count-breaker.test-suite.js.map +1 -1
- package/dist/circuit-breaker/implementations/test-utilities/sampling-breaker.test-suite.d.ts +2 -2
- package/dist/circuit-breaker/implementations/test-utilities/sampling-breaker.test-suite.js +2 -1
- package/dist/circuit-breaker/implementations/test-utilities/sampling-breaker.test-suite.js.map +1 -1
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +2 -8
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +3 -8
- 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 +2 -4
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +2 -6
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
- package/dist/lock/contracts/lock.errors.d.ts +4 -4
- package/dist/lock/contracts/lock.errors.js +1 -1
- package/dist/lock/contracts/lock.errors.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +11 -8
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +3 -8
- 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 +2 -2
- package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js +1 -1
- 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 -4
- package/dist/lock/implementations/derivables/lock-provider/lock.js +1 -1
- 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 +2 -2
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +2 -4
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
- package/dist/namespace/contracts/_module-exports.d.ts +1 -0
- package/dist/namespace/contracts/_module-exports.js +2 -0
- package/dist/namespace/contracts/_module-exports.js.map +1 -0
- package/dist/namespace/contracts/_module.d.ts +1 -0
- package/dist/namespace/contracts/_module.js +2 -0
- package/dist/namespace/contracts/_module.js.map +1 -0
- package/dist/namespace/contracts/namespace.contract.d.ts +17 -0
- package/dist/namespace/contracts/namespace.contract.js +5 -0
- package/dist/namespace/contracts/namespace.contract.js.map +1 -0
- package/dist/namespace/implementations/_module-exports.d.ts +2 -0
- package/dist/namespace/implementations/_module-exports.js +3 -0
- package/dist/namespace/implementations/_module-exports.js.map +1 -0
- package/dist/namespace/implementations/_module.d.ts +2 -0
- package/dist/namespace/implementations/_module.js +3 -0
- package/dist/namespace/implementations/_module.js.map +1 -0
- package/dist/namespace/{namespace.d.ts → implementations/namespace.d.ts} +18 -33
- package/dist/namespace/{namespace.js → implementations/namespace.js} +20 -4
- package/dist/namespace/implementations/namespace.js.map +1 -0
- package/dist/namespace/implementations/no-op-namespace.d.ts +14 -0
- package/dist/namespace/implementations/no-op-namespace.js +34 -0
- package/dist/namespace/implementations/no-op-namespace.js.map +1 -0
- package/dist/rate-limiter/contracts/rate-limiter-adapter.contract.d.ts +2 -2
- package/dist/rate-limiter/contracts/rate-limiter-adapter.contract.js +1 -1
- package/dist/rate-limiter/contracts/rate-limiter-adapter.contract.js.map +1 -1
- package/dist/rate-limiter/contracts/rate-limiter-state.contract.d.ts +13 -3
- package/dist/rate-limiter/contracts/rate-limiter-state.contract.js +2 -1
- package/dist/rate-limiter/contracts/rate-limiter-state.contract.js.map +1 -1
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/database-rate-limiter-adapter.js +18 -16
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/database-rate-limiter-adapter.js.map +1 -1
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/{rate-limiter-policy.d.ts → internal-rate-limiter-policy.d.ts} +3 -3
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/{rate-limiter-policy.js → internal-rate-limiter-policy.js} +10 -9
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/internal-rate-limiter-policy.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/rate-limiter-state-manager.d.ts +2 -2
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/rate-limiter-state-manager.js +1 -1
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/rate-limiter-state-manager.js.map +1 -1
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/rate-limiter-storage.d.ts +5 -4
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/rate-limiter-storage.js +27 -18
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/rate-limiter-storage.js.map +1 -1
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-adapter/no-op-rate-limiter-adapter.js +3 -2
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-adapter/no-op-rate-limiter-adapter.js.map +1 -1
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/fixed-window-limiter-lua.d.ts +1 -1
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/fixed-window-limiter-lua.js +2 -2
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/{rate-limiter-policy-lua.js → internal-rate-limiter-policy-lua.js} +38 -20
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/internal-rate-limiter-policy-lua.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-factory-lua.js +3 -3
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-factory-lua.js.map +1 -1
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-lua.d.ts +1 -1
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-lua.js +21 -5
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-lua.js.map +1 -1
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-state-manager-lua.js +1 -1
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-storage-lua.js +41 -24
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-storage-lua.js.map +1 -1
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/redis-rate-limiter-adapter.d.ts +8 -3
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/redis-rate-limiter-adapter.js +34 -17
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/redis-rate-limiter-adapter.js.map +1 -1
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-provider.d.ts +32 -11
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-provider.js +33 -13
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-provider.js.map +1 -1
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-serde-transformer.d.ts +38 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-serde-transformer.js +75 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-serde-transformer.js.map +1 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.d.ts +21 -2
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.js +35 -18
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.js.map +1 -1
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/database-rate-limiter-provider-factory.d.ts +3 -3
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/database-rate-limiter-provider-factory.js +4 -6
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/database-rate-limiter-provider-factory.js.map +1 -1
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/rate-limiter-provider-factory.d.ts +3 -3
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/rate-limiter-provider-factory.js +4 -6
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/rate-limiter-provider-factory.js.map +1 -1
- package/dist/rate-limiter/implementations/policies/fixed-window-limiter/fixed-window-limiter.js +1 -1
- package/dist/rate-limiter/implementations/policies/fixed-window-limiter/fixed-window-limiter.js.map +1 -1
- package/dist/rate-limiter/implementations/test-utilities/fixed-window-limiter.test-suite.d.ts +2 -2
- package/dist/rate-limiter/implementations/test-utilities/fixed-window-limiter.test-suite.js +171 -11
- package/dist/rate-limiter/implementations/test-utilities/fixed-window-limiter.test-suite.js.map +1 -1
- package/dist/semaphore/contracts/semaphore.errors.d.ts +4 -4
- package/dist/semaphore/contracts/semaphore.errors.js +1 -1
- package/dist/semaphore/contracts/semaphore.errors.js.map +1 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.d.ts +11 -8
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.js +3 -8
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.js.map +1 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.d.ts +2 -2
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.js +1 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.js.map +1 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.d.ts +4 -4
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.js +1 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.js.map +1 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.d.ts +2 -2
- package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.js +2 -4
- package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.js.map +1 -1
- package/dist/shared-lock/contracts/shared-lock.errors.d.ts +7 -7
- package/dist/shared-lock/contracts/shared-lock.errors.js +1 -1
- package/dist/shared-lock/contracts/shared-lock.errors.js.map +1 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.d.ts +11 -8
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.js +3 -8
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.js.map +1 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.d.ts +2 -2
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.js +1 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.js.map +1 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.d.ts +4 -4
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.js +1 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.js.map +1 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.d.ts +2 -2
- package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.js +2 -4
- package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.js.map +1 -1
- package/dist/task/implementations/task.d.ts +1 -1
- package/dist/task/implementations/task.js +1 -1
- package/dist/task/implementations/task.js.map +1 -1
- package/dist/time-span/implementations/time-span.d.ts +17 -0
- package/dist/time-span/implementations/time-span.js +27 -1
- package/dist/time-span/implementations/time-span.js.map +1 -1
- package/dist/utilities/functions/invokable.d.ts +0 -31
- package/dist/utilities/functions/invokable.js.map +1 -1
- package/package.json +53 -52
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/circuit-breaker-policy.js.map +0 -1
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-policy-lua.js.map +0 -1
- package/dist/namespace/_module-exports.d.ts +0 -1
- package/dist/namespace/_module-exports.js +0 -2
- package/dist/namespace/_module-exports.js.map +0 -1
- package/dist/namespace/_module.d.ts +0 -1
- package/dist/namespace/_module.js +0 -2
- package/dist/namespace/_module.js.map +0 -1
- package/dist/namespace/namespace.js.map +0 -1
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/rate-limiter-policy.js.map +0 -1
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-policy-lua.js.map +0 -1
- /package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/{circuit-breaker-policy-lua.d.ts → internal-circuit-breaker-policy-lua.d.ts} +0 -0
- /package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/{rate-limiter-policy-lua.d.ts → internal-rate-limiter-policy-lua.d.ts} +0 -0
package/dist/circuit-breaker/implementations/test-utilities/consecutive-breaker.test-suite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consecutive-breaker.test-suite.js","sourceRoot":"","sources":["../../../../src/circuit-breaker/implementations/test-utilities/consecutive-breaker.test-suite.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"consecutive-breaker.test-suite.js","sourceRoot":"","sources":["../../../../src/circuit-breaker/implementations/test-utilities/consecutive-breaker.test-suite.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { type TestAPI, type SuiteAPI, type ExpectStatic, type beforeEach } from "vitest";
|
|
5
5
|
import { type ConstantBackoffSettingsEnum } from "../../../backoff-policies/_module.js";
|
|
6
6
|
import { type ICircuitBreakerAdapter } from "../../../circuit-breaker/contracts/_module.js";
|
|
7
|
-
import { type
|
|
7
|
+
import { type CountBreakerSettingsEnum } from "../../../circuit-breaker/implementations/policies/_module.js";
|
|
8
8
|
import { type Promisable } from "../../../utilities/_module.js";
|
|
9
9
|
/**
|
|
10
10
|
*
|
|
@@ -55,6 +55,6 @@ export type CountBreakerTestSuiteSettings = {
|
|
|
55
55
|
*/
|
|
56
56
|
export declare function countBreakerTestSuite(settings: CountBreakerTestSuiteSettings): void;
|
|
57
57
|
export declare namespace countBreakerTestSuite {
|
|
58
|
-
var circuitBreakerPolicySettings: Required<
|
|
58
|
+
var circuitBreakerPolicySettings: Required<CountBreakerSettingsEnum>;
|
|
59
59
|
var backoffPolicySettings: Required<ConstantBackoffSettingsEnum>;
|
|
60
60
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import {} from "vitest";
|
|
5
5
|
import { BACKOFFS, } from "../../../backoff-policies/_module.js";
|
|
6
6
|
import { CIRCUIT_BREAKER_STATE, } from "../../../circuit-breaker/contracts/_module.js";
|
|
7
|
-
import {} from "../../../circuit-breaker/implementations/policies/_module.js";
|
|
7
|
+
import { BREAKER_POLICIES, } from "../../../circuit-breaker/implementations/policies/_module.js";
|
|
8
8
|
import { Task } from "../../../task/implementations/_module.js";
|
|
9
9
|
import { TimeSpan } from "../../../time-span/implementations/_module.js";
|
|
10
10
|
import {} from "../../../utilities/_module.js";
|
|
@@ -12,6 +12,7 @@ import {} from "../../../utilities/_module.js";
|
|
|
12
12
|
* @group TestUtilities
|
|
13
13
|
*/
|
|
14
14
|
const circuitBreakerPolicySettings = {
|
|
15
|
+
type: BREAKER_POLICIES.COUNT,
|
|
15
16
|
failureThreshold: 0.2,
|
|
16
17
|
successThreshold: 0.8,
|
|
17
18
|
size: 10,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"count-breaker.test-suite.js","sourceRoot":"","sources":["../../../../src/circuit-breaker/implementations/test-utilities/count-breaker.test-suite.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"count-breaker.test-suite.js","sourceRoot":"","sources":["../../../../src/circuit-breaker/implementations/test-utilities/count-breaker.test-suite.ts"],"names":[],"mappings":"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"}
|
package/dist/circuit-breaker/implementations/test-utilities/sampling-breaker.test-suite.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { type TestAPI, type SuiteAPI, type ExpectStatic, type beforeEach } from "vitest";
|
|
5
5
|
import { type ConstantBackoffSettingsEnum } from "../../../backoff-policies/_module.js";
|
|
6
6
|
import { type ICircuitBreakerAdapter } from "../../../circuit-breaker/contracts/_module.js";
|
|
7
|
-
import { type
|
|
7
|
+
import { type SamplingBreakerSettingsEnum } from "../../../circuit-breaker/implementations/policies/_module.js";
|
|
8
8
|
import { type Promisable } from "../../../utilities/_module.js";
|
|
9
9
|
/**
|
|
10
10
|
*
|
|
@@ -55,6 +55,6 @@ export type SamplingBreakerTestSuiteSettings = {
|
|
|
55
55
|
*/
|
|
56
56
|
export declare function samplingBreakerTestSuite(settings: SamplingBreakerTestSuiteSettings): void;
|
|
57
57
|
export declare namespace samplingBreakerTestSuite {
|
|
58
|
-
var circuitBreakerPolicySettings: Required<
|
|
58
|
+
var circuitBreakerPolicySettings: Required<SamplingBreakerSettingsEnum>;
|
|
59
59
|
var backoffPolicySettings: Required<ConstantBackoffSettingsEnum>;
|
|
60
60
|
}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import {} from "vitest";
|
|
6
6
|
import { BACKOFFS, } from "../../../backoff-policies/_module.js";
|
|
7
7
|
import {} from "../../../circuit-breaker/contracts/_module.js";
|
|
8
|
-
import {} from "../../../circuit-breaker/implementations/policies/_module.js";
|
|
8
|
+
import { BREAKER_POLICIES, } from "../../../circuit-breaker/implementations/policies/_module.js";
|
|
9
9
|
import { Task } from "../../../task/implementations/_module.js";
|
|
10
10
|
import { TimeSpan } from "../../../time-span/implementations/_module.js";
|
|
11
11
|
import {} from "../../../utilities/_module.js";
|
|
@@ -13,6 +13,7 @@ import {} from "../../../utilities/_module.js";
|
|
|
13
13
|
* @group TestUtilities
|
|
14
14
|
*/
|
|
15
15
|
const circuitBreakerPolicySettings = {
|
|
16
|
+
type: BREAKER_POLICIES.SAMPLING,
|
|
16
17
|
failureThreshold: 0.2,
|
|
17
18
|
successThreshold: 0.8,
|
|
18
19
|
timeSpan: TimeSpan.fromMinutes(1),
|
package/dist/circuit-breaker/implementations/test-utilities/sampling-breaker.test-suite.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sampling-breaker.test-suite.js","sourceRoot":"","sources":["../../../../src/circuit-breaker/implementations/test-utilities/sampling-breaker.test-suite.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD;;GAEG;AAEH,OAAO,EAKN,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACH,QAAQ,GAEX,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAA+B,MAAM,wCAAwC,CAAC;AACrF,OAAO,
|
|
1
|
+
{"version":3,"file":"sampling-breaker.test-suite.js","sourceRoot":"","sources":["../../../../src/circuit-breaker/implementations/test-utilities/sampling-breaker.test-suite.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD;;GAEG;AAEH,OAAO,EAKN,MAAM,QAAQ,CAAC;AAEhB,OAAO,EACH,QAAQ,GAEX,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAA+B,MAAM,wCAAwC,CAAC;AACrF,OAAO,EACH,gBAAgB,GAEnB,MAAM,uDAAuD,CAAC;AAC/D,OAAO,EAAE,IAAI,EAAE,MAAM,mCAAmC,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,wCAAwC,CAAC;AAClE,OAAO,EAAmB,MAAM,wBAAwB,CAAC;AAezD;;GAEG;AACH,MAAM,4BAA4B,GAA0C;IACxE,IAAI,EAAE,gBAAgB,CAAC,QAAQ;IAC/B,gBAAgB,EAAE,GAAG;IACrB,gBAAgB,EAAE,GAAG;IACrB,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACjC,cAAc,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;IACxC,UAAU,EAAE,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,MAAM,qBAAqB,GAA0C;IACjE,IAAI,EAAE,QAAQ,CAAC,QAAQ;IACvB,KAAK,EAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;IACpC,MAAM,EAAE,IAAI;CACf,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,MAAM,UAAU,wBAAwB,CACpC,QAA0C;IAE1C,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;IACvE,IAAI,OAA+B,CAAC;IACpC,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACpE,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC7B,UAAU,CAAC,KAAK,IAAI,EAAE;YAClB,OAAO,GAAG,MAAM,aAAa,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,GAAG,CAAC;QAChB,KAAK,UAAU,KAAK,CAAC,QAAkB;YACnC,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;QAED,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC/D,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,8CAA8C,EAAE,GAAG,EAAE;YAC1D,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACxD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC;AAED,wBAAwB,CAAC,4BAA4B;IACjD,4BAA4B,CAAC;AACjC,wBAAwB,CAAC,qBAAqB,GAAG,qBAAqB,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { type StandardSchemaV1 } from "@standard-schema/spec";
|
|
5
5
|
import { type IEventBus, type IEventBusAdapter, type BaseEventMap, type EventListener, type Unsubscribe } from "../../../../event-bus/contracts/_module.js";
|
|
6
|
-
import {
|
|
6
|
+
import { type INamespace } from "../../../../namespace/contracts/_module.js";
|
|
7
7
|
import { type ITask } from "../../../../task/contracts/_module.js";
|
|
8
8
|
/**
|
|
9
9
|
*
|
|
@@ -36,7 +36,7 @@ export type EventBusSettingsBase<TEventMap extends BaseEventMap = BaseEventMap>
|
|
|
36
36
|
* new Namespace("@event-bus")
|
|
37
37
|
* ```
|
|
38
38
|
*/
|
|
39
|
-
namespace?:
|
|
39
|
+
namespace?: INamespace;
|
|
40
40
|
};
|
|
41
41
|
/**
|
|
42
42
|
*
|
|
@@ -51,12 +51,6 @@ export type EventBusSettings<TEventMap extends BaseEventMap = BaseEventMap> = Ev
|
|
|
51
51
|
*/
|
|
52
52
|
__onUncaughtRejection?: (error: unknown) => void;
|
|
53
53
|
};
|
|
54
|
-
/**
|
|
55
|
-
*
|
|
56
|
-
* IMPORT_PATH: `"@daiso-tech/core/event-bus"`
|
|
57
|
-
* @group Derivables
|
|
58
|
-
*/
|
|
59
|
-
export declare const DEFAULT_EVENT_BUS_NAMESPACE: Namespace;
|
|
60
54
|
/**
|
|
61
55
|
* `EventBus` class can be derived from any {@link IEventBusAdapter | `IEventBusAdapter`}.
|
|
62
56
|
*
|
|
@@ -4,16 +4,11 @@
|
|
|
4
4
|
import {} from "@standard-schema/spec";
|
|
5
5
|
import {} from "../../../../event-bus/contracts/_module.js";
|
|
6
6
|
import { ListenerStore } from "../../../../event-bus/implementations/derivables/event-bus/listener-store.js";
|
|
7
|
-
import {
|
|
7
|
+
import {} from "../../../../namespace/contracts/_module.js";
|
|
8
|
+
import { NoOpNamespace } from "../../../../namespace/implementations/_module.js";
|
|
8
9
|
import {} from "../../../../task/contracts/_module.js";
|
|
9
10
|
import { Task } from "../../../../task/implementations/_module.js";
|
|
10
11
|
import { getInvokableName, validate, resolveInvokable, } from "../../../../utilities/_module.js";
|
|
11
|
-
/**
|
|
12
|
-
*
|
|
13
|
-
* IMPORT_PATH: `"@daiso-tech/core/event-bus"`
|
|
14
|
-
* @group Derivables
|
|
15
|
-
*/
|
|
16
|
-
export const DEFAULT_EVENT_BUS_NAMESPACE = new Namespace("@event-bus");
|
|
17
12
|
/**
|
|
18
13
|
* `EventBus` class can be derived from any {@link IEventBusAdapter | `IEventBusAdapter`}.
|
|
19
14
|
*
|
|
@@ -42,7 +37,7 @@ export class EventBus {
|
|
|
42
37
|
* ```
|
|
43
38
|
*/
|
|
44
39
|
constructor(settings) {
|
|
45
|
-
const { __onUncaughtRejection, shouldValidateOutput = true, eventMapSchema, namespace =
|
|
40
|
+
const { __onUncaughtRejection, shouldValidateOutput = true, eventMapSchema, namespace = new NoOpNamespace(), adapter, } = settings;
|
|
46
41
|
this.shouldValidateOutput = shouldValidateOutput;
|
|
47
42
|
this.eventMapSchema = eventMapSchema;
|
|
48
43
|
this.adapter = adapter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/derivables/event-bus/event-bus.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAyB,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAQN,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,oEAAoE,CAAC;AACnG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"event-bus.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/derivables/event-bus/event-bus.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { type IEventBus, type IEventBusFactory, type BaseEventMap, type IEventBusAdapter } from "../../../../event-bus/contracts/_module.js";
|
|
5
5
|
import { type EventBusSettingsBase, type EventMapSchema } from "../../../../event-bus/implementations/derivables/event-bus/_module.js";
|
|
6
|
-
import { type
|
|
6
|
+
import { type INamespace } from "../../../../namespace/contracts/_module.js";
|
|
7
7
|
/**
|
|
8
8
|
*
|
|
9
9
|
* IMPORT_PATH: `"@daiso-tech/core/event-bus"`
|
|
@@ -34,7 +34,6 @@ export declare class EventBusFactory<TAdapters extends string = string, TEventMa
|
|
|
34
34
|
* import { EventBusFactory } from "@daiso-tech/core/event-bus";
|
|
35
35
|
* import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/memory-event-bus-adapter";
|
|
36
36
|
* import { RedisPubSubEventBusAdapter } from "@daiso-tech/core/event-bus/redis-pub-sub-event-bus-adapter";
|
|
37
|
-
* import { type FactoryFn } from "@daiso-tech/core/utilities";
|
|
38
37
|
* import { Serde } from "@daiso-tech/core/serde";
|
|
39
38
|
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/super-json-serde-adapter"
|
|
40
39
|
* import Redis from "ioredis";
|
|
@@ -57,7 +56,7 @@ export declare class EventBusFactory<TAdapters extends string = string, TEventMa
|
|
|
57
56
|
* ```
|
|
58
57
|
*/
|
|
59
58
|
constructor(settings: EventBusFactorySettings<TAdapters, TEventMap>);
|
|
60
|
-
setNamespace(namespace:
|
|
59
|
+
setNamespace(namespace: INamespace): EventBusFactory<TAdapters, TEventMap>;
|
|
61
60
|
setEventMapType<TEventMap extends BaseEventMap>(): EventBusFactory<TAdapters, TEventMap>;
|
|
62
61
|
setEventMapSchema<TEventMap extends BaseEventMap>(eventMapSchema: EventMapSchema<TEventMap>): EventBusFactory<TAdapters, TEventMap>;
|
|
63
62
|
/**
|
|
@@ -67,7 +66,6 @@ export declare class EventBusFactory<TAdapters extends string = string, TEventMa
|
|
|
67
66
|
* import { EventBusFactory } from "@daiso-tech/core/event-bus";
|
|
68
67
|
* import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/memory-event-bus-adapter";
|
|
69
68
|
* import { RedisPubSubEventBusAdapter } from "@daiso-tech/core/event-bus/redis-pub-sub-event-bus-adapter";
|
|
70
|
-
* import { type FactoryFn } from "@daiso-tech/core/utilities";
|
|
71
69
|
* import { Serde } from "@daiso-tech/core/serde";
|
|
72
70
|
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/super-json-serde-adapter"
|
|
73
71
|
* import Redis from "ioredis";
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* @module EventBus
|
|
3
3
|
*/
|
|
4
4
|
import {} from "../../../../event-bus/contracts/_module.js";
|
|
5
|
-
import {
|
|
6
|
-
import {} from "../../../../namespace/_module.js";
|
|
5
|
+
import { EventBus, } from "../../../../event-bus/implementations/derivables/event-bus/_module.js";
|
|
6
|
+
import {} from "../../../../namespace/contracts/_module.js";
|
|
7
7
|
import { DefaultAdapterNotDefinedError, UnregisteredAdapterError, } from "../../../../utilities/_module.js";
|
|
8
8
|
/**
|
|
9
9
|
* The `EventBusFactory` class is immutable.
|
|
@@ -20,7 +20,6 @@ export class EventBusFactory {
|
|
|
20
20
|
* import { EventBusFactory } from "@daiso-tech/core/event-bus";
|
|
21
21
|
* import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/memory-event-bus-adapter";
|
|
22
22
|
* import { RedisPubSubEventBusAdapter } from "@daiso-tech/core/event-bus/redis-pub-sub-event-bus-adapter";
|
|
23
|
-
* import { type FactoryFn } from "@daiso-tech/core/utilities";
|
|
24
23
|
* import { Serde } from "@daiso-tech/core/serde";
|
|
25
24
|
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/super-json-serde-adapter"
|
|
26
25
|
* import Redis from "ioredis";
|
|
@@ -69,7 +68,6 @@ export class EventBusFactory {
|
|
|
69
68
|
* import { EventBusFactory } from "@daiso-tech/core/event-bus";
|
|
70
69
|
* import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/memory-event-bus-adapter";
|
|
71
70
|
* import { RedisPubSubEventBusAdapter } from "@daiso-tech/core/event-bus/redis-pub-sub-event-bus-adapter";
|
|
72
|
-
* import { type FactoryFn } from "@daiso-tech/core/utilities";
|
|
73
71
|
* import { Serde } from "@daiso-tech/core/serde";
|
|
74
72
|
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/super-json-serde-adapter"
|
|
75
73
|
* import Redis from "ioredis";
|
|
@@ -114,11 +112,9 @@ export class EventBusFactory {
|
|
|
114
112
|
if (adapter === undefined) {
|
|
115
113
|
throw new UnregisteredAdapterError(adapterName);
|
|
116
114
|
}
|
|
117
|
-
const { namespace = DEFAULT_EVENT_BUS_NAMESPACE } = this.settings;
|
|
118
115
|
return new EventBus({
|
|
119
116
|
...this.settings,
|
|
120
117
|
adapter,
|
|
121
|
-
namespace: namespace.appendRoot(adapterName),
|
|
122
118
|
});
|
|
123
119
|
}
|
|
124
120
|
}
|
package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus-factory.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAKN,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACH,
|
|
1
|
+
{"version":3,"file":"event-bus-factory.js","sourceRoot":"","sources":["../../../../../src/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAKN,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACH,QAAQ,GAGX,MAAM,6DAA6D,CAAC;AACrE,OAAO,EAAmB,MAAM,kCAAkC,CAAC;AACnE,OAAO,EACH,6BAA6B,EAC7B,wBAAwB,GAC3B,MAAM,wBAAwB,CAAC;AAyBhC;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAkCH;IA7BrB;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,YACqB,QAGhB;QAHgB,aAAQ,GAAR,QAAQ,CAGxB;IACF,CAAC;IAEJ,YAAY,CAAC,SAAqB;QAC9B,OAAO,IAAI,eAAe,CAAC;YACvB,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,eAAe;QAIX,OAAO,IAAI,eAAe,CAAC;YACvB,GAAG,IAAI,CAAC,QAAQ;SAC8B,CAAC,CAAC;IACxD,CAAC;IAED,iBAAiB,CACb,cAAyC;QAEzC,OAAO,IAAI,eAAe,CAAC;YACvB,GAAG,IAAI,CAAC,QAAQ;YAChB,cAAc;SACjB,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;IACH,GAAG,CACC,cAAqC,IAAI,CAAC,QAAQ,CAAC,cAAc;QAEjE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,6BAA6B,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,QAAQ,CAAC;YAChB,GAAG,IAAI,CAAC,QAAQ;YAChB,OAAO;SACV,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Lock
|
|
3
3
|
*/
|
|
4
|
-
import { type
|
|
4
|
+
import { type IKey } from "../../namespace/contracts/_module.js";
|
|
5
5
|
/**
|
|
6
6
|
* The error is thrown when trying to acquire a lock that is owned by a different owner.
|
|
7
7
|
*
|
|
@@ -9,7 +9,7 @@ import { type Key } from "../../namespace/_module.js";
|
|
|
9
9
|
* @group Errors
|
|
10
10
|
*/
|
|
11
11
|
export declare class FailedAcquireLockError extends Error {
|
|
12
|
-
static create(key:
|
|
12
|
+
static create(key: IKey, cause?: unknown): FailedAcquireLockError;
|
|
13
13
|
/**
|
|
14
14
|
* Note: Do not instantiate `FailedAcquireLockError` directly via the constructor. Use the static `create()` factory method instead.
|
|
15
15
|
* The constructor remains public only to maintain compatibility with errorPolicy types and prevent type errors.
|
|
@@ -24,7 +24,7 @@ export declare class FailedAcquireLockError extends Error {
|
|
|
24
24
|
* @group Errors
|
|
25
25
|
*/
|
|
26
26
|
export declare class FailedReleaseLockError extends Error {
|
|
27
|
-
static create(key:
|
|
27
|
+
static create(key: IKey, lockId: string, cause?: unknown): FailedReleaseLockError;
|
|
28
28
|
/**
|
|
29
29
|
* Note: Do not instantiate `FailedReleaseLockError` directly via the constructor. Use the static `create()` factory method instead.
|
|
30
30
|
* The constructor remains public only to maintain compatibility with errorPolicy types and prevent type errors.
|
|
@@ -39,7 +39,7 @@ export declare class FailedReleaseLockError extends Error {
|
|
|
39
39
|
* @group Errors
|
|
40
40
|
*/
|
|
41
41
|
export declare class FailedRefreshLockError extends Error {
|
|
42
|
-
static create(key:
|
|
42
|
+
static create(key: IKey, lockId: string, cause?: unknown): FailedRefreshLockError;
|
|
43
43
|
/**
|
|
44
44
|
* Note: Do not instantiate `FailedRefreshLockError` directly via the constructor. Use the static `create()` factory method instead.
|
|
45
45
|
* The constructor remains public only to maintain compatibility with errorPolicy types and prevent type errors.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lock.errors.js","sourceRoot":"","sources":["../../../src/lock/contracts/lock.errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"lock.errors.js","sourceRoot":"","sources":["../../../src/lock/contracts/lock.errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAa,MAAM,kCAAkC,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC7C,MAAM,CAAC,MAAM,CAAC,GAAS,EAAE,KAAe;QACpC,OAAO,IAAI,sBAAsB,CAC7B,QAAQ,GAAG,CAAC,GAAG,EAAE,oBAAoB,EACrC,KAAK,CACR,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC;IAC5C,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC7C,MAAM,CAAC,MAAM,CACT,GAAS,EACT,MAAc,EACd,KAAe;QAEf,OAAO,IAAI,sBAAsB,CAC7B,2BAA2B,GAAG,CAAC,GAAG,EAAE,eAAe,MAAM,GAAG,EAC5D,KAAK,CACR,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC;IAC5C,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAC7C,MAAM,CAAC,MAAM,CACT,GAAS,EACT,MAAc,EACd,KAAe;QAEf,OAAO,IAAI,sBAAsB,CAC7B,2BAA2B,GAAG,CAAC,GAAG,EAAE,eAAe,MAAM,GAAG,EAC5D,KAAK,CACR,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC;IAC5C,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACvB,aAAa,EAAE,sBAAsB;IACrC,aAAa,EAAE,sBAAsB;IACrC,aAAa,EAAE,sBAAsB;CAC/B,CAAC;AAYX;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACtC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QAClD,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { type EventListener, type IEventBus, type Unsubscribe } from "../../../../event-bus/contracts/_module.js";
|
|
5
5
|
import { type ILock, type LockProviderCreateSettings, type ILockProvider, type LockAdapterVariants, type LockEventMap } from "../../../../lock/contracts/_module.js";
|
|
6
|
-
import {
|
|
6
|
+
import { type INamespace } from "../../../../namespace/contracts/_module.js";
|
|
7
7
|
import { type ISerderRegister } from "../../../../serde/contracts/_module.js";
|
|
8
8
|
import { type ITask } from "../../../../task/contracts/_module.js";
|
|
9
9
|
import { type ITimeSpan } from "../../../../time-span/contracts/_module.js";
|
|
@@ -22,7 +22,16 @@ export type LockProviderSettingsBase = {
|
|
|
22
22
|
* new Namespace("@lock")
|
|
23
23
|
* ```
|
|
24
24
|
*/
|
|
25
|
-
namespace?:
|
|
25
|
+
namespace?: INamespace;
|
|
26
|
+
/**
|
|
27
|
+
* @default
|
|
28
|
+
* ```ts
|
|
29
|
+
* import { Serde } from "@daiso-tech/serde";
|
|
30
|
+
* import { NoOpSerdeAdapter } from "@daiso-tech/serde/no-op-serde-adapter";
|
|
31
|
+
*
|
|
32
|
+
* new Serde(new NoOpSerdeAdapter())
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
26
35
|
serde?: OneOrMore<ISerderRegister>;
|
|
27
36
|
/**
|
|
28
37
|
* @default ""
|
|
@@ -97,12 +106,6 @@ export type LockProviderSettingsBase = {
|
|
|
97
106
|
export type LockProviderSettings = LockProviderSettingsBase & {
|
|
98
107
|
adapter: LockAdapterVariants;
|
|
99
108
|
};
|
|
100
|
-
/**
|
|
101
|
-
*
|
|
102
|
-
* IMPORT_PATH: `"@daiso-tech/core/lock"`
|
|
103
|
-
* @group Derivables
|
|
104
|
-
*/
|
|
105
|
-
export declare const DEFAULT_LOCK_PROVIDER_NAMESPACE: Namespace;
|
|
106
109
|
/**
|
|
107
110
|
* `LockProvider` class can be derived from any {@link ILockAdapter | `ILockAdapter`} or {@link IDatabaseLockAdapter | `IDatabaseLockAdapter`}.
|
|
108
111
|
*
|