@daiso-tech/core 0.33.0 → 0.35.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 +66 -45
- 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 +27 -19
- package/dist/async/async.errors.js +33 -20
- package/dist/async/async.errors.js.map +1 -1
- package/dist/async/backof-policies/_shared.d.ts +6 -2
- package/dist/async/backof-policies/_shared.js +1 -0
- package/dist/async/backof-policies/_shared.js.map +1 -1
- package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.d.ts +2 -2
- package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js +1 -1
- package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.d.ts +2 -2
- package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js +1 -1
- package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.d.ts +2 -2
- package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js +1 -1
- package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.d.ts +2 -2
- package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +1 -1
- package/dist/async/middlewares/_module.d.ts +8 -0
- package/dist/async/middlewares/_module.js +9 -0
- package/dist/async/middlewares/_module.js.map +1 -0
- package/dist/async/middlewares/_shared.d.ts +10 -0
- package/dist/async/middlewares/_shared.js +5 -0
- package/dist/async/middlewares/_shared.js.map +1 -0
- package/dist/async/middlewares/bulkhead/_module.d.ts +1 -0
- package/dist/async/middlewares/bulkhead/_module.js +2 -0
- package/dist/async/middlewares/bulkhead/_module.js.map +1 -0
- package/dist/async/middlewares/bulkhead/bulkhead.middleware.d.ts +80 -0
- package/dist/async/middlewares/bulkhead/bulkhead.middleware.js +46 -0
- package/dist/async/middlewares/bulkhead/bulkhead.middleware.js.map +1 -0
- package/dist/async/middlewares/dynamic/_module.d.ts +1 -0
- package/dist/async/middlewares/dynamic/_module.js +2 -0
- package/dist/async/middlewares/dynamic/_module.js.map +1 -0
- package/dist/async/middlewares/dynamic/dynamic.middleware.d.ts +34 -0
- package/dist/async/middlewares/dynamic/dynamic.middleware.js +36 -0
- package/dist/async/middlewares/dynamic/dynamic.middleware.js.map +1 -0
- package/dist/async/middlewares/fallback/_module.d.ts +1 -0
- package/dist/async/middlewares/fallback/_module.js +2 -0
- package/dist/async/middlewares/fallback/_module.js.map +1 -0
- package/dist/async/middlewares/fallback/fallback.middleware.d.ts +78 -0
- package/dist/async/middlewares/fallback/fallback.middleware.js +52 -0
- package/dist/async/middlewares/fallback/fallback.middleware.js.map +1 -0
- package/dist/async/middlewares/hedging/_module.d.ts +2 -0
- package/dist/async/middlewares/hedging/_module.js +3 -0
- package/dist/async/middlewares/hedging/_module.js.map +1 -0
- package/dist/async/middlewares/hedging/_shared.d.ts +93 -0
- package/dist/async/middlewares/hedging/_shared.js +5 -0
- package/dist/async/middlewares/hedging/_shared.js.map +1 -0
- package/dist/async/middlewares/hedging/concurrent-hedging/_module.d.ts +1 -0
- package/dist/async/middlewares/hedging/concurrent-hedging/_module.js +2 -0
- package/dist/async/middlewares/hedging/concurrent-hedging/_module.js.map +1 -0
- package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.d.ts +51 -0
- package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.js +138 -0
- package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.js.map +1 -0
- package/dist/async/middlewares/hedging/sequential-hedging/_module.d.ts +1 -0
- package/dist/async/middlewares/hedging/sequential-hedging/_module.js +2 -0
- package/dist/async/middlewares/hedging/sequential-hedging/_module.js.map +1 -0
- package/dist/async/middlewares/hedging/sequential-hedging/sequential-hedging.middleware.d.ts +51 -0
- package/dist/async/middlewares/hedging/sequential-hedging/sequential-hedging.middleware.js +104 -0
- package/dist/async/middlewares/hedging/sequential-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 +2 -0
- package/dist/async/middlewares/observe/_module.js.map +1 -0
- package/dist/async/middlewares/observe/observe.middleware.d.ts +130 -0
- package/dist/async/middlewares/observe/observe.middleware.js +80 -0
- package/dist/async/middlewares/observe/observe.middleware.js.map +1 -0
- package/dist/async/middlewares/retry/_module.d.ts +1 -0
- package/dist/async/middlewares/retry/_module.js +2 -0
- package/dist/async/middlewares/retry/_module.js.map +1 -0
- package/dist/async/middlewares/retry/retry.middleware.d.ts +117 -0
- package/dist/async/middlewares/retry/retry.middleware.js +82 -0
- package/dist/async/middlewares/retry/retry.middleware.js.map +1 -0
- package/dist/async/middlewares/timeout/_module.d.ts +1 -0
- package/dist/async/middlewares/timeout/_module.js +2 -0
- package/dist/async/middlewares/timeout/_module.js.map +1 -0
- package/dist/async/middlewares/timeout/timeout.middleware.d.ts +83 -0
- package/dist/async/middlewares/timeout/timeout.middleware.js +60 -0
- package/dist/async/middlewares/timeout/timeout.middleware.js.map +1 -0
- package/dist/async/utilities/_module.d.ts +3 -4
- package/dist/async/utilities/_module.js +3 -4
- package/dist/async/utilities/_module.js.map +1 -1
- package/dist/async/utilities/abort-and-fail/_module.d.ts +1 -0
- package/dist/async/utilities/abort-and-fail/_module.js +2 -0
- package/dist/async/utilities/abort-and-fail/_module.js.map +1 -0
- package/dist/async/utilities/abort-and-fail/abort-and-fail.d.ts +7 -0
- package/dist/async/utilities/{abort → abort-and-fail}/abort-and-fail.js +6 -6
- package/dist/async/utilities/abort-and-fail/abort-and-fail.js.map +1 -0
- package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +37 -194
- package/dist/async/utilities/lazy-promise/lazy-promise.js +62 -359
- package/dist/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
- package/dist/async/utilities/promise-queue/_module.d.ts +1 -0
- package/dist/async/utilities/promise-queue/_module.js +2 -0
- package/dist/async/utilities/promise-queue/_module.js.map +1 -0
- package/dist/async/utilities/promise-queue/promise-queue.d.ts +32 -0
- package/dist/async/utilities/promise-queue/promise-queue.js +107 -0
- package/dist/async/utilities/promise-queue/promise-queue.js.map +1 -0
- package/dist/async/utilities/timeout-and-fail/_module.d.ts +1 -0
- package/dist/async/utilities/timeout-and-fail/_module.js +2 -0
- package/dist/async/utilities/timeout-and-fail/_module.js.map +1 -0
- package/dist/async/utilities/timeout-and-fail/timeout-and-fail.d.ts +7 -0
- package/dist/async/utilities/timeout-and-fail/timeout-and-fail.js +19 -0
- package/dist/async/utilities/timeout-and-fail/timeout-and-fail.js.map +1 -0
- package/dist/cache/contracts/cache-adapter.contract.d.ts +14 -14
- package/dist/cache/contracts/cache-factory.contract.d.ts +3 -3
- package/dist/cache/contracts/cache.contract.d.ts +73 -73
- package/dist/cache/contracts/cache.errors.d.ts +7 -7
- package/dist/cache/contracts/cache.errors.js +7 -7
- package/dist/cache/contracts/cache.events.d.ts +54 -58
- package/dist/cache/contracts/cache.events.js +6 -104
- package/dist/cache/contracts/cache.events.js.map +1 -1
- package/dist/cache/contracts/database-cache-adapter.contract.d.ts +16 -16
- package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +3 -3
- package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +2 -2
- package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +3 -9
- package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +3 -9
- package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +4 -4
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +3 -3
- package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +2 -2
- package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js +2 -2
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +3 -3
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +2 -2
- package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +3 -3
- package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +2 -2
- package/dist/cache/implementations/derivables/cache/cache.d.ts +26 -27
- package/dist/cache/implementations/derivables/cache/cache.js +102 -91
- package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +5 -4
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +2 -1
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
- package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.d.ts +3 -3
- package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js +2 -2
- package/dist/cache/implementations/test-utilities/cache.test-suite.d.ts +3 -3
- package/dist/cache/implementations/test-utilities/cache.test-suite.js +140 -149
- package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
- package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.d.ts +3 -3
- package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js +2 -2
- package/dist/collection/contracts/_shared/compartor.type.d.ts +1 -1
- package/dist/collection/contracts/_shared/cross-join-result.type.d.ts +1 -1
- package/dist/collection/contracts/_shared/ensure-map.type.d.ts +1 -1
- package/dist/collection/contracts/_shared/ensure-record.type.d.ts +1 -1
- package/dist/collection/contracts/_shared/foreach.type.d.ts +2 -2
- package/dist/collection/contracts/_shared/map.type.d.ts +2 -2
- package/dist/collection/contracts/_shared/modifier.type.d.ts +2 -2
- package/dist/collection/contracts/_shared/predicate.type.d.ts +7 -7
- package/dist/collection/contracts/_shared/reduce.type.d.ts +2 -2
- package/dist/collection/contracts/_shared/tap.type.d.ts +2 -2
- package/dist/collection/contracts/_shared/transform.type.d.ts +2 -2
- package/dist/collection/contracts/async-collection.contract.d.ts +109 -198
- package/dist/collection/contracts/collection.contract.d.ts +103 -103
- package/dist/collection/contracts/collection.errors.d.ts +11 -11
- package/dist/collection/contracts/collection.errors.js +11 -11
- package/dist/collection/implementations/_shared.d.ts +8 -8
- package/dist/collection/implementations/_shared.js +8 -8
- package/dist/collection/implementations/async-iterable-collection/_shared/_module.d.ts +0 -4
- package/dist/collection/implementations/async-iterable-collection/_shared/_module.js +0 -4
- package/dist/collection/implementations/async-iterable-collection/_shared/_module.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-cross-join-iterable.js +21 -19
- package/dist/collection/implementations/async-iterable-collection/_shared/async-cross-join-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +15 -19
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +15 -30
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/cross-join-iterable.d.ts +3 -3
- package/dist/collection/implementations/iterable-collection/_shared/cross-join-iterable.js +18 -20
- package/dist/collection/implementations/iterable-collection/_shared/cross-join-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/iterable-collection.d.ts +11 -12
- package/dist/collection/implementations/iterable-collection/iterable-collection.js +11 -12
- package/dist/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
- package/dist/collection/implementations/list-collection/list-collection.d.ts +11 -11
- package/dist/collection/implementations/list-collection/list-collection.js +24 -30
- package/dist/collection/implementations/list-collection/list-collection.js.map +1 -1
- package/dist/event-bus/contracts/_module-exports.d.ts +0 -1
- package/dist/event-bus/contracts/_module-exports.js +0 -1
- package/dist/event-bus/contracts/_module-exports.js.map +1 -1
- package/dist/event-bus/contracts/event-bus-adapter.contract.d.ts +13 -8
- package/dist/event-bus/contracts/event-bus-factory.contract.d.ts +6 -7
- package/dist/event-bus/contracts/event-bus-factory.contract.js.map +1 -1
- package/dist/event-bus/contracts/event-bus.contract.d.ts +30 -41
- package/dist/event-bus/contracts/event-bus.errors.d.ts +8 -8
- package/dist/event-bus/contracts/event-bus.errors.js +8 -8
- package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +3 -3
- package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +3 -3
- package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts +2 -2
- package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +2 -2
- package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +3 -3
- package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +2 -2
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +15 -15
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +32 -32
- 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 +17 -10
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +13 -6
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
- package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.d.ts +3 -5
- package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js +15 -22
- package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js.map +1 -1
- package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.d.ts +3 -5
- package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js +189 -209
- package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js.map +1 -1
- package/dist/lock/contracts/database-lock-adapter.contract.d.ts +9 -9
- package/dist/lock/contracts/lock-adapter.contract.d.ts +7 -7
- package/dist/lock/contracts/lock-provider-factory.contract.d.ts +4 -4
- package/dist/lock/contracts/lock-provider.contract.d.ts +14 -14
- package/dist/lock/contracts/lock.contract.d.ts +22 -22
- package/dist/lock/contracts/lock.errors.d.ts +10 -10
- package/dist/lock/contracts/lock.errors.js +10 -10
- package/dist/lock/contracts/lock.events.d.ts +45 -54
- package/dist/lock/contracts/lock.events.js +9 -91
- package/dist/lock/contracts/lock.events.js.map +1 -1
- package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.d.ts +5 -5
- package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js +4 -4
- package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.d.ts +3 -3
- package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js +3 -3
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +5 -5
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +4 -4
- package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.d.ts +2 -2
- package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js +2 -2
- package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.d.ts +3 -3
- package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js +3 -3
- package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.d.ts +5 -5
- package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js +4 -4
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +33 -33
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +30 -30
- 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.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +3 -3
- package/dist/lock/implementations/derivables/lock-provider/lock.js +77 -58
- 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 +5 -4
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +2 -1
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
- package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.d.ts +3 -3
- package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js +2 -2
- package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.d.ts +3 -3
- package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js +2 -2
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.d.ts +3 -3
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +214 -214
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
- package/dist/serde/contracts/deserializer.contract.d.ts +2 -2
- package/dist/serde/contracts/flexible-serde-adapter.contract.d.ts +4 -4
- package/dist/serde/contracts/flexible-serde.contract.d.ts +8 -19
- package/dist/serde/contracts/serde.contract.d.ts +2 -2
- package/dist/serde/contracts/serde.errors.d.ts +4 -4
- package/dist/serde/contracts/serde.errors.js +4 -4
- package/dist/serde/contracts/serializable.contract.d.ts +2 -2
- package/dist/serde/contracts/serializer.contract.d.ts +2 -2
- package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.d.ts +2 -2
- package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.js +2 -2
- package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.d.ts +1 -1
- package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js +1 -1
- package/dist/serde/implementations/derivables/serde.d.ts +4 -35
- package/dist/serde/implementations/derivables/serde.js +2 -47
- package/dist/serde/implementations/derivables/serde.js.map +1 -1
- package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.d.ts +3 -3
- package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.js +2 -2
- package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.d.ts +3 -3
- package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.js +2 -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/_module.d.ts +3 -0
- package/dist/utilities/classes/hooks/_module.js +4 -0
- package/dist/utilities/classes/hooks/_module.js.map +1 -0
- package/dist/utilities/classes/hooks/async-hooks.d.ts +209 -0
- package/dist/utilities/classes/hooks/async-hooks.js +145 -0
- package/dist/utilities/classes/hooks/async-hooks.js.map +1 -0
- package/dist/utilities/classes/hooks/hooks.d.ts +139 -0
- package/dist/utilities/classes/hooks/hooks.js +116 -0
- package/dist/utilities/classes/hooks/hooks.js.map +1 -0
- package/dist/utilities/classes/hooks/types.d.ts +9 -0
- package/dist/utilities/classes/hooks/types.js +5 -0
- package/dist/utilities/classes/hooks/types.js.map +1 -0
- package/dist/utilities/classes/key-prefixer/key-prefixer.d.ts +3 -3
- package/dist/utilities/classes/key-prefixer/key-prefixer.js +4 -4
- package/dist/utilities/classes/key-prefixer/key-prefixer.js.map +1 -1
- package/dist/utilities/classes/time-span/time-span.d.ts +5 -5
- package/dist/utilities/classes/time-span/time-span.js +5 -5
- package/dist/utilities/contracts/_module.d.ts +0 -1
- package/dist/utilities/contracts/_module.js +0 -1
- package/dist/utilities/contracts/_module.js.map +1 -1
- package/dist/utilities/contracts/deinitizable.contract.d.ts +1 -1
- package/dist/utilities/contracts/initizable.contract.d.ts +1 -1
- package/dist/utilities/contracts/prunable.contract.d.ts +1 -1
- package/dist/utilities/contracts/serialized-error.contract.d.ts +1 -1
- package/dist/utilities/contracts/sqlite-database.contract.d.ts +2 -2
- package/dist/utilities/errors.d.ts +5 -5
- package/dist/utilities/errors.js +5 -5
- package/dist/utilities/functions/factory.js +3 -3
- package/dist/utilities/functions/factory.js.map +1 -1
- package/dist/utilities/functions/invokable.d.ts +9 -5
- package/dist/utilities/functions/invokable.js +12 -2
- package/dist/utilities/functions/invokable.js.map +1 -1
- package/dist/utilities/functions/lazy.d.ts +5 -0
- package/dist/utilities/functions/lazy.js +12 -3
- package/dist/utilities/functions/lazy.js.map +1 -1
- package/dist/utilities/types/async-iterable-value.type.d.ts +1 -1
- package/dist/utilities/types/at-least-one.type.d.ts +1 -1
- package/dist/utilities/types/factory.type.d.ts +8 -8
- package/dist/utilities/types/invokable.type.d.ts +3 -3
- package/dist/utilities/types/items.type.d.ts +1 -1
- package/dist/utilities/types/lazy.type.d.ts +5 -5
- package/dist/utilities/types/none-func.type.d.ts +1 -1
- package/dist/utilities/types/one-or-more.type.d.ts +1 -1
- package/dist/utilities/types/promiseable.type.d.ts +1 -1
- package/dist/utilities/types/result.type.d.ts +1 -1
- package/package.json +22 -2
- package/dist/async/async.events.d.ts +0 -105
- package/dist/async/async.events.js +0 -82
- package/dist/async/async.events.js.map +0 -1
- package/dist/async/utilities/abort/_module.d.ts +0 -2
- package/dist/async/utilities/abort/_module.js +0 -3
- package/dist/async/utilities/abort/_module.js.map +0 -1
- package/dist/async/utilities/abort/abort-and-fail.d.ts +0 -4
- package/dist/async/utilities/abort/abort-and-fail.js.map +0 -1
- package/dist/async/utilities/abort/abort.d.ts +0 -9
- package/dist/async/utilities/abort/abort.js +0 -18
- package/dist/async/utilities/abort/abort.js.map +0 -1
- package/dist/async/utilities/delay/_module.d.ts +0 -1
- package/dist/async/utilities/delay/_module.js +0 -2
- package/dist/async/utilities/delay/_module.js.map +0 -1
- package/dist/async/utilities/delay/delay.d.ts +0 -10
- package/dist/async/utilities/delay/delay.js +0 -34
- package/dist/async/utilities/delay/delay.js.map +0 -1
- package/dist/async/utilities/retry/_module.d.ts +0 -2
- package/dist/async/utilities/retry/_module.js +0 -3
- package/dist/async/utilities/retry/_module.js.map +0 -1
- package/dist/async/utilities/retry/retry-or-fail.d.ts +0 -29
- package/dist/async/utilities/retry/retry-or-fail.js +0 -39
- package/dist/async/utilities/retry/retry-or-fail.js.map +0 -1
- package/dist/async/utilities/retry/retry.d.ts +0 -10
- package/dist/async/utilities/retry/retry.js +0 -21
- package/dist/async/utilities/retry/retry.js.map +0 -1
- package/dist/async/utilities/timeout/_module.d.ts +0 -2
- package/dist/async/utilities/timeout/_module.js +0 -3
- package/dist/async/utilities/timeout/_module.js.map +0 -1
- package/dist/async/utilities/timeout/timeout-and-fail.d.ts +0 -5
- package/dist/async/utilities/timeout/timeout-and-fail.js +0 -28
- package/dist/async/utilities/timeout/timeout-and-fail.js.map +0 -1
- package/dist/async/utilities/timeout/timeout.d.ts +0 -10
- package/dist/async/utilities/timeout/timeout.js +0 -21
- package/dist/async/utilities/timeout/timeout.js.map +0 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.d.ts +0 -13
- package/dist/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js +0 -30
- package/dist/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js.map +0 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.d.ts +0 -13
- package/dist/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js +0 -36
- package/dist/collection/implementations/async-iterable-collection/_shared/async-retry-iterable.js.map +0 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.d.ts +0 -9
- package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js +0 -39
- package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-abort-iterable.js.map +0 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.d.ts +0 -13
- package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js +0 -52
- package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-timeout-iterable.js.map +0 -1
- package/dist/event-bus/contracts/_shared.d.ts +0 -12
- package/dist/event-bus/contracts/_shared.js +0 -15
- package/dist/event-bus/contracts/_shared.js.map +0 -1
- package/dist/utilities/classes/sync-event-bus/_module.d.ts +0 -1
- package/dist/utilities/classes/sync-event-bus/_module.js +0 -2
- package/dist/utilities/classes/sync-event-bus/_module.js.map +0 -1
- package/dist/utilities/classes/sync-event-bus/sync-event-bus.d.ts +0 -16
- package/dist/utilities/classes/sync-event-bus/sync-event-bus.js +0 -53
- package/dist/utilities/classes/sync-event-bus/sync-event-bus.js.map +0 -1
- package/dist/utilities/contracts/sync-event-bus-listenable.d.ts +0 -13
- package/dist/utilities/contracts/sync-event-bus-listenable.js +0 -5
- package/dist/utilities/contracts/sync-event-bus-listenable.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-bus.test-suite.js","sourceRoot":"","sources":["../../../../src/event-bus/implementations/test-utilities/event-bus.test-suite.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"event-bus.test-suite.js","sourceRoot":"","sources":["../../../../src/event-bus/implementations/test-utilities/event-bus.test-suite.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
/**
|
|
5
5
|
*
|
|
6
|
-
* IMPORT_PATH:
|
|
6
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
7
7
|
* @group Contracts
|
|
8
8
|
*/
|
|
9
9
|
export type ILockData = {
|
|
@@ -11,33 +11,33 @@ export type ILockData = {
|
|
|
11
11
|
expiration: Date | null;
|
|
12
12
|
};
|
|
13
13
|
/**
|
|
14
|
-
* The
|
|
15
|
-
* This contract is not meant to be used directly, instead you should use
|
|
14
|
+
* The `ILockAdapter` contract defines a way for managing locks independent of data storage.
|
|
15
|
+
* This contract is not meant to be used directly, instead you should use {@link ILockProvider | `ILockProvider`} contract.
|
|
16
16
|
*
|
|
17
|
-
* IMPORT_PATH:
|
|
17
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
18
18
|
* @group Contracts
|
|
19
19
|
*/
|
|
20
20
|
export type IDatabaseLockAdapter = {
|
|
21
21
|
/**
|
|
22
|
-
* The
|
|
22
|
+
* The `insert` method will create a lock if one does not already exist.
|
|
23
23
|
*/
|
|
24
24
|
insert(key: string, owner: string, expiration: Date | null): PromiseLike<void>;
|
|
25
25
|
/**
|
|
26
|
-
* The
|
|
26
|
+
* The `update` method will update a lock if it has expired, matches the given `key` and matches the given `owner`.
|
|
27
27
|
* Returns number of updated rows or documents.
|
|
28
28
|
*/
|
|
29
29
|
update(key: string, owner: string, expiration: Date | null): PromiseLike<number>;
|
|
30
30
|
/**
|
|
31
|
-
* The
|
|
31
|
+
* The `remove` method will remove a lock if it matches the given `key` and matches the given `owner`.
|
|
32
32
|
*/
|
|
33
33
|
remove(key: string, owner: string | null): PromiseLike<void>;
|
|
34
34
|
/**
|
|
35
|
-
* The
|
|
35
|
+
* The `refresh` method will upadte expiration of lock if it matches the given `key` and matches the given `owner`.
|
|
36
36
|
* Returns number of updated rows or documents.
|
|
37
37
|
*/
|
|
38
38
|
refresh(key: string, owner: string, expiration: Date): PromiseLike<number>;
|
|
39
39
|
/**
|
|
40
|
-
* The
|
|
40
|
+
* The `find` method will return a lock by the given `key`.
|
|
41
41
|
*/
|
|
42
42
|
find(key: string): PromiseLike<ILockData | null>;
|
|
43
43
|
};
|
|
@@ -3,29 +3,29 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { TimeSpan } from "../../utilities/_module-exports.js";
|
|
5
5
|
/**
|
|
6
|
-
* The
|
|
7
|
-
* This contract is not meant to be used directly, instead you should use
|
|
6
|
+
* The `ILockAdapter` contract defines a way for managing locks independent of the underlying technology.
|
|
7
|
+
* This contract is not meant to be used directly, instead you should use {@link ILockProvider | `ILockProvider`} contract.
|
|
8
8
|
*
|
|
9
|
-
* IMPORT_PATH:
|
|
9
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
10
10
|
* @group Contracts
|
|
11
11
|
*/
|
|
12
12
|
export type ILockAdapter = {
|
|
13
13
|
/**
|
|
14
|
-
* The
|
|
14
|
+
* The `acquire` method acquires a lock only if the lock is not already acquired.
|
|
15
15
|
* Returns true if not already acquired othewise false is returned.
|
|
16
16
|
*/
|
|
17
17
|
acquire(key: string, owner: string, ttl: TimeSpan | null): PromiseLike<boolean>;
|
|
18
18
|
/**
|
|
19
|
-
* The
|
|
19
|
+
* The `release` method releases a lock if the owner matches.
|
|
20
20
|
* Returns true if released otherwise false is returned.
|
|
21
21
|
*/
|
|
22
22
|
release(key: string, owner: string): PromiseLike<boolean>;
|
|
23
23
|
/**
|
|
24
|
-
* The
|
|
24
|
+
* The `forceRelease` method releases a lock regardless of the owner.
|
|
25
25
|
*/
|
|
26
26
|
forceRelease(key: string): PromiseLike<void>;
|
|
27
27
|
/**
|
|
28
|
-
* The
|
|
28
|
+
* The `refresh` method will upadte ttl of lock if it matches the given `key` and matches the given `owner`.
|
|
29
29
|
* Returns true if the update occured otherwise false is returned.
|
|
30
30
|
*/
|
|
31
31
|
refresh(key: string, owner: string, ttl: TimeSpan): PromiseLike<boolean>;
|
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { ILockProvider } from "../../lock/contracts/lock-provider.contract.js";
|
|
5
5
|
/**
|
|
6
|
-
* The
|
|
6
|
+
* The `ILockProviderFactory` contract makes it easy to configure and switch between different {@link ILockProvider | `ILockProvider`} dynamically.
|
|
7
7
|
*
|
|
8
|
-
* IMPORT_PATH:
|
|
8
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
9
9
|
* @group Contracts
|
|
10
10
|
*/
|
|
11
11
|
export type ILockProviderFactory<TAdapters extends string = string> = {
|
|
12
12
|
/**
|
|
13
|
-
* The
|
|
14
|
-
* If no default adapter is defined an error will be thrown by
|
|
13
|
+
* The `use` method will throw an error if you provide it unregisted adapter.
|
|
14
|
+
* If no default adapter is defined an error will be thrown by `use` method.
|
|
15
15
|
* @throws {UnregisteredAdapterError} {@link UnregisteredAdapterError}
|
|
16
16
|
* @throws {DefaultAdapterNotDefinedError} {@link DefaultAdapterNotDefinedError}
|
|
17
17
|
*/
|
|
@@ -4,22 +4,22 @@
|
|
|
4
4
|
import type { OneOrMore, TimeSpan } from "../../utilities/_module-exports.js";
|
|
5
5
|
import type { ILock } from "../../lock/contracts/lock.contract.js";
|
|
6
6
|
import type { IEventListenable } from "../../event-bus/contracts/_module-exports.js";
|
|
7
|
-
import type {
|
|
7
|
+
import type { LockEventMap } from "../../lock/contracts/lock.events.js";
|
|
8
8
|
/**
|
|
9
|
-
* The
|
|
9
|
+
* The `ILockListenable` contract defines a way for listening {@link ILock | `ILock`} operations.
|
|
10
10
|
*
|
|
11
|
-
* IMPORT_PATH:
|
|
11
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
12
12
|
* @group Contracts
|
|
13
13
|
*/
|
|
14
|
-
export type ILockListenable = IEventListenable<
|
|
14
|
+
export type ILockListenable = IEventListenable<LockEventMap>;
|
|
15
15
|
/**
|
|
16
16
|
*
|
|
17
|
-
* IMPORT_PATH:
|
|
17
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
18
18
|
* @group Contracts
|
|
19
19
|
*/
|
|
20
20
|
export type LockProviderCreateSettings = {
|
|
21
21
|
/**
|
|
22
|
-
* You can also provide a
|
|
22
|
+
* You can also provide a `settings.ttl` value using. If not specified it defaults to null, meaning no TTL is applied.
|
|
23
23
|
*/
|
|
24
24
|
ttl?: TimeSpan | null;
|
|
25
25
|
/**
|
|
@@ -29,24 +29,24 @@ export type LockProviderCreateSettings = {
|
|
|
29
29
|
};
|
|
30
30
|
/**
|
|
31
31
|
*
|
|
32
|
-
* IMPORT_PATH:
|
|
32
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
33
33
|
* @group Contracts
|
|
34
34
|
*/
|
|
35
35
|
export type ILockProviderBase = {
|
|
36
36
|
/**
|
|
37
|
-
* The
|
|
37
|
+
* The `create` method is used to create an instance of {@link ILock | `ILock`}.
|
|
38
38
|
*
|
|
39
|
-
* @param key - can be a string or an
|
|
40
|
-
* If it's an
|
|
41
|
-
* Think of an
|
|
39
|
+
* @param key - can be a string or an `Iterable` of strings.
|
|
40
|
+
* If it's an `Iterable`, it will be joined into a single string.
|
|
41
|
+
* Think of an `Iterable` as representing a path.
|
|
42
42
|
*/
|
|
43
43
|
create(key: OneOrMore<string>, settings?: LockProviderCreateSettings): ILock;
|
|
44
44
|
};
|
|
45
45
|
/**
|
|
46
|
-
* The
|
|
47
|
-
* It commes with more convient methods compared to
|
|
46
|
+
* The `ILockProvider` contract defines a way for managing locks independent of the underlying technology.
|
|
47
|
+
* It commes with more convient methods compared to `ILockAdapter`.
|
|
48
48
|
*
|
|
49
|
-
* IMPORT_PATH:
|
|
49
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
50
50
|
* @group Contracts
|
|
51
51
|
*/
|
|
52
52
|
export type ILockProvider = ILockListenable & ILockProviderBase;
|
|
@@ -6,7 +6,7 @@ import type { LazyPromise } from "../../async/_module-exports.js";
|
|
|
6
6
|
import type { KeyAlreadyAcquiredLockError } from "../../lock/contracts/lock.errors.js";
|
|
7
7
|
/**
|
|
8
8
|
*
|
|
9
|
-
* IMPORT_PATH:
|
|
9
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
10
10
|
* @group Contracts
|
|
11
11
|
*/
|
|
12
12
|
export type AquireBlockingSettings = {
|
|
@@ -15,38 +15,38 @@ export type AquireBlockingSettings = {
|
|
|
15
15
|
};
|
|
16
16
|
/**
|
|
17
17
|
*
|
|
18
|
-
* IMPORT_PATH:
|
|
18
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
19
19
|
* @group Contracts
|
|
20
20
|
*/
|
|
21
21
|
export type ILock = {
|
|
22
22
|
/**
|
|
23
|
-
* The
|
|
23
|
+
* The `run` method wraps an {@link Invokable | `Invokable`} or {@link LazyPromise| `LazyPromise`} with the `acquire` and `release` method.
|
|
24
24
|
* @throws {UnableToAquireLockError} {@link UnableToAquireLockError}
|
|
25
25
|
* @throws {UnableToReleaseLockError} {@link UnableToReleaseLockError}
|
|
26
26
|
*/
|
|
27
27
|
run<TValue = void>(asyncFn: AsyncLazy<TValue>): LazyPromise<Result<TValue, KeyAlreadyAcquiredLockError>>;
|
|
28
28
|
/**
|
|
29
|
-
* The
|
|
29
|
+
* The `runOrFail` method wraps an {@link Invokable | `Invokable`} or {@link LazyPromise| `LazyPromise`} with the `acquireOrFail` and `release` method.
|
|
30
30
|
* @throws {UnableToAquireLockError} {@link UnableToAquireLockError}
|
|
31
31
|
* @throws {UnableToReleaseLockError} {@link UnableToReleaseLockError}
|
|
32
32
|
* @throws {KeyAlreadyAcquiredLockError} {@link KeyAlreadyAcquiredLockError}
|
|
33
33
|
*/
|
|
34
34
|
runOrFail<TValue = void>(asyncFn: AsyncLazy<TValue>): LazyPromise<TValue>;
|
|
35
35
|
/**
|
|
36
|
-
* The
|
|
36
|
+
* The `runBlocking` method wraps an {@link Invokable | `Invokable`} or {@link LazyPromise| `LazyPromise`} with the `acquireBlocking` and `release` method.
|
|
37
37
|
* @throws {UnableToAquireLockError} {@link UnableToAquireLockError}
|
|
38
38
|
* @throws {UnableToReleaseLockError} {@link UnableToReleaseLockError}
|
|
39
39
|
*/
|
|
40
40
|
runBlocking<TValue = void>(asyncFn: AsyncLazy<TValue>, settings?: AquireBlockingSettings): LazyPromise<Result<TValue, KeyAlreadyAcquiredLockError>>;
|
|
41
41
|
/**
|
|
42
|
-
* The
|
|
42
|
+
* The `runBlockingOrFail` method wraps an {@link Invokable | `Invokable`} or {@link LazyPromise| `LazyPromise`} with the `acquireBlockingOrFail` and `release` method.
|
|
43
43
|
* @throws {UnableToAquireLockError} {@link UnableToAquireLockError}
|
|
44
44
|
* @throws {UnableToReleaseLockError} {@link UnableToReleaseLockError}
|
|
45
45
|
* @throws {KeyAlreadyAcquiredLockError} {@link KeyAlreadyAcquiredLockError}
|
|
46
46
|
*/
|
|
47
47
|
runBlockingOrFail<TValue = void>(asyncFn: AsyncLazy<TValue>, settings?: AquireBlockingSettings): LazyPromise<TValue>;
|
|
48
48
|
/**
|
|
49
|
-
* The
|
|
49
|
+
* The `acquire` method acquires a lock only if the lock is not already acquired.
|
|
50
50
|
*
|
|
51
51
|
* @returns true if the lock is already acquired otherwise false is returned.
|
|
52
52
|
*
|
|
@@ -54,8 +54,8 @@ export type ILock = {
|
|
|
54
54
|
*/
|
|
55
55
|
acquire(): LazyPromise<boolean>;
|
|
56
56
|
/**
|
|
57
|
-
* The
|
|
58
|
-
* If the lock is acquired, it retries every
|
|
57
|
+
* The `acquireBlocking` method acquires a lock only if the lock is not already acquired.
|
|
58
|
+
* If the lock is acquired, it retries every `settings.interval` until `settings.time` is reached.
|
|
59
59
|
*
|
|
60
60
|
* @returns true if the lock is already acquired otherwise false is returned.
|
|
61
61
|
*
|
|
@@ -63,23 +63,23 @@ export type ILock = {
|
|
|
63
63
|
*/
|
|
64
64
|
acquireBlocking(settings?: AquireBlockingSettings): LazyPromise<boolean>;
|
|
65
65
|
/**
|
|
66
|
-
* The
|
|
67
|
-
* If the lock is acquired, it retries every
|
|
68
|
-
* Throws an error if not lock cannot be acquired after the given
|
|
66
|
+
* The `acquireBlockingOrFail` method acquires a lock only if the lock is not already acquired.
|
|
67
|
+
* If the lock is acquired, it retries every `settings.interval` until `settings.time` is reached.
|
|
68
|
+
* Throws an error if not lock cannot be acquired after the given `settings.time`.
|
|
69
69
|
*
|
|
70
70
|
* @throws {UnableToAquireLockError} {@link UnableToAquireLockError}
|
|
71
71
|
* @throws {KeyAlreadyAcquiredLockError} {@link KeyAlreadyAcquiredLockError}
|
|
72
72
|
*/
|
|
73
73
|
acquireBlockingOrFail(settings?: AquireBlockingSettings): LazyPromise<void>;
|
|
74
74
|
/**
|
|
75
|
-
* The
|
|
75
|
+
* The `acquireOrFail` method acquires a lock only if the lock is not already acquired.
|
|
76
76
|
* Throws an error if already acquired.
|
|
77
77
|
* @throws {UnableToAquireLockError} {@link UnableToAquireLockError}
|
|
78
78
|
* @throws {KeyAlreadyAcquiredLockError} {@link KeyAlreadyAcquiredLockError}
|
|
79
79
|
*/
|
|
80
80
|
acquireOrFail(): LazyPromise<void>;
|
|
81
81
|
/**
|
|
82
|
-
* The
|
|
82
|
+
* The `release` method releases a lock if owned by the same owner.
|
|
83
83
|
*
|
|
84
84
|
* @returns true if the lock is released otherwise false is returned.
|
|
85
85
|
*
|
|
@@ -87,45 +87,45 @@ export type ILock = {
|
|
|
87
87
|
*/
|
|
88
88
|
release(): LazyPromise<boolean>;
|
|
89
89
|
/**
|
|
90
|
-
* The
|
|
90
|
+
* The `releaseOrFail` method releases a lock if owned by the same owner.
|
|
91
91
|
* Throws an error if a different owner attempts to release the lock.
|
|
92
92
|
* @throws {UnableToReleaseLockError} {@link UnableToReleaseLockError}
|
|
93
93
|
* @throws {UnownedReleaseLockError} {@link UnownedReleaseLockError}
|
|
94
94
|
*/
|
|
95
95
|
releaseOrFail(): LazyPromise<void>;
|
|
96
96
|
/**
|
|
97
|
-
* The
|
|
97
|
+
* The `forceRelease` method releases a lock regardless of the owner.
|
|
98
98
|
* @throws {UnableToReleaseLockError} {@link UnableToReleaseLockError}
|
|
99
99
|
*/
|
|
100
100
|
forceRelease(): LazyPromise<void>;
|
|
101
101
|
/**
|
|
102
|
-
* The
|
|
102
|
+
* The `isExpired` method returns true if the expired otherwise false is returned.
|
|
103
103
|
*/
|
|
104
104
|
isExpired(): LazyPromise<boolean>;
|
|
105
105
|
/**
|
|
106
|
-
* The
|
|
106
|
+
* The `isLocked` method returns true if the locked otherwise false is returned.
|
|
107
107
|
*/
|
|
108
108
|
isLocked(): LazyPromise<boolean>;
|
|
109
109
|
/**
|
|
110
|
-
* The
|
|
110
|
+
* The `refresh` method updates the TTL of the lock if owned by the same owner.
|
|
111
111
|
*
|
|
112
112
|
* @returns true if the lock is refreshed occurs otherwise false is returned.
|
|
113
113
|
*/
|
|
114
114
|
refresh(ttl?: TimeSpan): LazyPromise<boolean>;
|
|
115
115
|
/**
|
|
116
|
-
* The
|
|
116
|
+
* The `refreshOrFail` method updates the TTL of the lock if owned by the same owner.
|
|
117
117
|
* Throws an error if a different owner attempts to refresh the lock.
|
|
118
118
|
* @throws {UnownedRefreshLockError} {@link UnownedRefreshLockError}
|
|
119
119
|
*/
|
|
120
120
|
refreshOrFail(ttl?: TimeSpan): LazyPromise<void>;
|
|
121
121
|
/**
|
|
122
|
-
* The
|
|
122
|
+
* The `getRemainingTime` return the reaming time as {@link TimeSpan | `TimeSpan`}.
|
|
123
123
|
*
|
|
124
124
|
* @returns null if the key doesnt exist, key has no expiration and key has expired.
|
|
125
125
|
*/
|
|
126
126
|
getRemainingTime(): LazyPromise<TimeSpan | null>;
|
|
127
127
|
/**
|
|
128
|
-
* The
|
|
128
|
+
* The `getOwner` method return the current owner.
|
|
129
129
|
*/
|
|
130
130
|
getOwner(): LazyPromise<string>;
|
|
131
131
|
};
|
|
@@ -5,7 +5,7 @@ import { type ISerializedError, type OneOrMore } from "../../utilities/_module-e
|
|
|
5
5
|
import type { IFlexibleSerde, ISerializable } from "../../serde/contracts/_module-exports.js";
|
|
6
6
|
/**
|
|
7
7
|
*
|
|
8
|
-
* IMPORT_PATH:
|
|
8
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
9
9
|
* @group Errors
|
|
10
10
|
*/
|
|
11
11
|
export declare class LockError extends Error implements ISerializable<ISerializedError> {
|
|
@@ -15,7 +15,7 @@ export declare class LockError extends Error implements ISerializable<ISerialize
|
|
|
15
15
|
}
|
|
16
16
|
/**
|
|
17
17
|
*
|
|
18
|
-
* IMPORT_PATH:
|
|
18
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
19
19
|
* @group Errors
|
|
20
20
|
*/
|
|
21
21
|
export declare class UnexpectedLockError extends LockError implements ISerializable<ISerializedError> {
|
|
@@ -26,7 +26,7 @@ export declare class UnexpectedLockError extends LockError implements ISerializa
|
|
|
26
26
|
/**
|
|
27
27
|
* The error is thrown when an unexpected error occurs while acquiring a lock.
|
|
28
28
|
*
|
|
29
|
-
* IMPORT_PATH:
|
|
29
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
30
30
|
* @group Errors
|
|
31
31
|
*/
|
|
32
32
|
export declare class UnableToAquireLockError extends UnexpectedLockError implements ISerializable<ISerializedError> {
|
|
@@ -37,7 +37,7 @@ export declare class UnableToAquireLockError extends UnexpectedLockError impleme
|
|
|
37
37
|
/**
|
|
38
38
|
* The error is thrown when an unexpected error occurs while releasing a lock.
|
|
39
39
|
*
|
|
40
|
-
* IMPORT_PATH:
|
|
40
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
41
41
|
* @group Errors
|
|
42
42
|
*/
|
|
43
43
|
export declare class UnableToReleaseLockError extends UnexpectedLockError implements ISerializable<ISerializedError> {
|
|
@@ -48,7 +48,7 @@ export declare class UnableToReleaseLockError extends UnexpectedLockError implem
|
|
|
48
48
|
/**
|
|
49
49
|
* The error is thrown when trying to acquire a lock that is owned by a different owner.
|
|
50
50
|
*
|
|
51
|
-
* IMPORT_PATH:
|
|
51
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
52
52
|
* @group Errors
|
|
53
53
|
*/
|
|
54
54
|
export declare class KeyAlreadyAcquiredLockError extends LockError implements ISerializable<ISerializedError> {
|
|
@@ -59,7 +59,7 @@ export declare class KeyAlreadyAcquiredLockError extends LockError implements IS
|
|
|
59
59
|
/**
|
|
60
60
|
* The error is thrown when trying to release a lock that is owned by a different owner.
|
|
61
61
|
*
|
|
62
|
-
* IMPORT_PATH:
|
|
62
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
63
63
|
* @group Errors
|
|
64
64
|
*/
|
|
65
65
|
export declare class UnownedReleaseLockError extends LockError implements ISerializable<ISerializedError> {
|
|
@@ -70,7 +70,7 @@ export declare class UnownedReleaseLockError extends LockError implements ISeria
|
|
|
70
70
|
/**
|
|
71
71
|
* The error is thrown when trying to referesh a lock that is owned by a different owner.
|
|
72
72
|
*
|
|
73
|
-
* IMPORT_PATH:
|
|
73
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
74
74
|
* @group Errors
|
|
75
75
|
*/
|
|
76
76
|
export declare class UnownedRefreshLockError extends LockError implements ISerializable<ISerializedError> {
|
|
@@ -80,7 +80,7 @@ export declare class UnownedRefreshLockError extends LockError implements ISeria
|
|
|
80
80
|
}
|
|
81
81
|
/**
|
|
82
82
|
*
|
|
83
|
-
* IMPORT_PATH:
|
|
83
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
84
84
|
* @group Errors
|
|
85
85
|
*/
|
|
86
86
|
export declare const LOCK_ERRORS: {
|
|
@@ -92,9 +92,9 @@ export declare const LOCK_ERRORS: {
|
|
|
92
92
|
readonly UnownedRelease: typeof UnownedReleaseLockError;
|
|
93
93
|
};
|
|
94
94
|
/**
|
|
95
|
-
* The
|
|
95
|
+
* The `registerLockErrorsToSerde` function registers all {@link ILock | `ILock`} related errors with `IFlexibleSerde`, ensuring they will properly be serialized and deserialized.
|
|
96
96
|
*
|
|
97
|
-
* IMPORT_PATH:
|
|
97
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
98
98
|
* @group Errors
|
|
99
99
|
*/
|
|
100
100
|
export declare function registerLockErrorsToSerde(serde: OneOrMore<IFlexibleSerde>): void;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { CORE, resolveOneOrMore, } from "../../utilities/_module-exports.js";
|
|
5
5
|
/**
|
|
6
6
|
*
|
|
7
|
-
* IMPORT_PATH:
|
|
7
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
8
8
|
* @group Errors
|
|
9
9
|
*/
|
|
10
10
|
export class LockError extends Error {
|
|
@@ -24,7 +24,7 @@ export class LockError extends Error {
|
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
*
|
|
27
|
-
* IMPORT_PATH:
|
|
27
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
28
28
|
* @group Errors
|
|
29
29
|
*/
|
|
30
30
|
export class UnexpectedLockError extends LockError {
|
|
@@ -45,7 +45,7 @@ export class UnexpectedLockError extends LockError {
|
|
|
45
45
|
/**
|
|
46
46
|
* The error is thrown when an unexpected error occurs while acquiring a lock.
|
|
47
47
|
*
|
|
48
|
-
* IMPORT_PATH:
|
|
48
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
49
49
|
* @group Errors
|
|
50
50
|
*/
|
|
51
51
|
export class UnableToAquireLockError extends UnexpectedLockError {
|
|
@@ -66,7 +66,7 @@ export class UnableToAquireLockError extends UnexpectedLockError {
|
|
|
66
66
|
/**
|
|
67
67
|
* The error is thrown when an unexpected error occurs while releasing a lock.
|
|
68
68
|
*
|
|
69
|
-
* IMPORT_PATH:
|
|
69
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
70
70
|
* @group Errors
|
|
71
71
|
*/
|
|
72
72
|
export class UnableToReleaseLockError extends UnexpectedLockError {
|
|
@@ -87,7 +87,7 @@ export class UnableToReleaseLockError extends UnexpectedLockError {
|
|
|
87
87
|
/**
|
|
88
88
|
* The error is thrown when trying to acquire a lock that is owned by a different owner.
|
|
89
89
|
*
|
|
90
|
-
* IMPORT_PATH:
|
|
90
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
91
91
|
* @group Errors
|
|
92
92
|
*/
|
|
93
93
|
export class KeyAlreadyAcquiredLockError extends LockError {
|
|
@@ -108,7 +108,7 @@ export class KeyAlreadyAcquiredLockError extends LockError {
|
|
|
108
108
|
/**
|
|
109
109
|
* The error is thrown when trying to release a lock that is owned by a different owner.
|
|
110
110
|
*
|
|
111
|
-
* IMPORT_PATH:
|
|
111
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
112
112
|
* @group Errors
|
|
113
113
|
*/
|
|
114
114
|
export class UnownedReleaseLockError extends LockError {
|
|
@@ -129,7 +129,7 @@ export class UnownedReleaseLockError extends LockError {
|
|
|
129
129
|
/**
|
|
130
130
|
* The error is thrown when trying to referesh a lock that is owned by a different owner.
|
|
131
131
|
*
|
|
132
|
-
* IMPORT_PATH:
|
|
132
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
133
133
|
* @group Errors
|
|
134
134
|
*/
|
|
135
135
|
export class UnownedRefreshLockError extends LockError {
|
|
@@ -149,7 +149,7 @@ export class UnownedRefreshLockError extends LockError {
|
|
|
149
149
|
}
|
|
150
150
|
/**
|
|
151
151
|
*
|
|
152
|
-
* IMPORT_PATH:
|
|
152
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
153
153
|
* @group Errors
|
|
154
154
|
*/
|
|
155
155
|
export const LOCK_ERRORS = {
|
|
@@ -161,9 +161,9 @@ export const LOCK_ERRORS = {
|
|
|
161
161
|
UnownedRelease: UnownedReleaseLockError,
|
|
162
162
|
};
|
|
163
163
|
/**
|
|
164
|
-
* The
|
|
164
|
+
* The `registerLockErrorsToSerde` function registers all {@link ILock | `ILock`} related errors with `IFlexibleSerde`, ensuring they will properly be serialized and deserialized.
|
|
165
165
|
*
|
|
166
|
-
* IMPORT_PATH:
|
|
166
|
+
* IMPORT_PATH: `"@daiso-tech/core/lock/contracts"`
|
|
167
167
|
* @group Errors
|
|
168
168
|
*/
|
|
169
169
|
export function registerLockErrorsToSerde(serde) {
|