@daiso-tech/core 0.40.0 → 0.41.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/backoff-policies/_module-exports.d.ts +5 -0
- package/dist/backoff-policies/_module-exports.js +6 -0
- package/dist/backoff-policies/_module-exports.js.map +1 -0
- package/dist/{async/backof-policies → backoff-policies}/_shared.d.ts +6 -7
- package/dist/{async/backof-policies → backoff-policies}/_shared.js +1 -1
- package/dist/backoff-policies/_shared.js.map +1 -0
- package/dist/backoff-policies/constant-backoff-policy/_module.d.ts +1 -0
- package/dist/backoff-policies/constant-backoff-policy/_module.js +2 -0
- package/dist/backoff-policies/constant-backoff-policy/_module.js.map +1 -0
- package/dist/{async/backof-policies → backoff-policies}/constant-backoff-policy/constant-backoff-policy.d.ts +6 -8
- package/dist/{async/backof-policies → backoff-policies}/constant-backoff-policy/constant-backoff-policy.js +8 -10
- package/dist/backoff-policies/constant-backoff-policy/constant-backoff-policy.js.map +1 -0
- package/dist/backoff-policies/exponential-backoff-policy/_module.d.ts +1 -0
- package/dist/backoff-policies/exponential-backoff-policy/_module.js +2 -0
- package/dist/backoff-policies/exponential-backoff-policy/_module.js.map +1 -0
- package/dist/{async/backof-policies → backoff-policies}/exponential-backoff-policy/exponential-backoff-policy.d.ts +7 -9
- package/dist/backoff-policies/exponential-backoff-policy/exponential-backoff-policy.js +30 -0
- package/dist/backoff-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +1 -0
- package/dist/backoff-policies/linear-backoff-policy/_module.d.ts +1 -0
- package/dist/backoff-policies/linear-backoff-policy/_module.js +2 -0
- package/dist/backoff-policies/linear-backoff-policy/_module.js.map +1 -0
- package/dist/{async/backof-policies → backoff-policies}/linear-backoff-policy/linear-backoff-policy.d.ts +7 -9
- package/dist/backoff-policies/linear-backoff-policy/linear-backoff-policy.js +30 -0
- package/dist/backoff-policies/linear-backoff-policy/linear-backoff-policy.js.map +1 -0
- package/dist/backoff-policies/polynomial-backoff-policy/_module.d.ts +1 -0
- package/dist/backoff-policies/polynomial-backoff-policy/_module.js +2 -0
- package/dist/backoff-policies/polynomial-backoff-policy/_module.js.map +1 -0
- package/dist/{async/backof-policies → backoff-policies}/polynomial-backoff-policy/polynomial-backoff-policy.d.ts +7 -9
- package/dist/backoff-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +30 -0
- package/dist/backoff-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +1 -0
- package/dist/cache/contracts/cache-adapter.contract.d.ts +3 -3
- package/dist/cache/contracts/cache.contract.d.ts +22 -22
- package/dist/cache/contracts/cache.errors.d.ts +7 -14
- package/dist/cache/contracts/cache.errors.js +12 -24
- package/dist/cache/contracts/cache.errors.js.map +1 -1
- package/dist/cache/contracts/cache.events.d.ts +1 -1
- package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.d.ts +1 -1
- package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js +4 -4
- package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +1 -1
- package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +2 -2
- 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 +3 -2
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +3 -3
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +1 -1
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +1 -1
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +2 -2
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/derivables/cache/cache.d.ts +38 -43
- package/dist/cache/implementations/derivables/cache/cache.js +106 -101
- package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
- package/dist/cache/implementations/derivables/cache/database-cache-adapter.d.ts +1 -1
- package/dist/cache/implementations/derivables/cache/database-cache-adapter.js +3 -3
- package/dist/cache/implementations/derivables/cache/database-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +6 -8
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +5 -15
- 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 +1 -1
- package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js +48 -48
- package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js.map +1 -1
- package/dist/cache/implementations/test-utilities/cache.test-suite.js +107 -107
- package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
- package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js +2 -1
- package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js.map +1 -1
- package/dist/collection/contracts/async-collection.contract.d.ts +43 -43
- package/dist/collection/contracts/collection.contract.d.ts +15 -1
- package/dist/collection/contracts/collection.contract.js +1 -3
- package/dist/collection/contracts/collection.contract.js.map +1 -1
- package/dist/collection/contracts/collection.errors.d.ts +4 -13
- package/dist/collection/contracts/collection.errors.js +4 -16
- package/dist/collection/contracts/collection.errors.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-validate-iterable.d.ts +6 -0
- package/dist/collection/implementations/async-iterable-collection/_shared/async-validate-iterable.js +3 -0
- package/dist/collection/implementations/async-iterable-collection/_shared/async-validate-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +40 -51
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +31 -37
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/validate-iterable.d.ts +3 -0
- package/dist/collection/implementations/iterable-collection/_shared/validate-iterable.js +6 -0
- package/dist/collection/implementations/iterable-collection/_shared/validate-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/iterable-collection.d.ts +3 -3
- package/dist/collection/implementations/iterable-collection/iterable-collection.js +5 -2
- package/dist/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
- package/dist/collection/implementations/list-collection/list-collection.d.ts +3 -3
- package/dist/collection/implementations/list-collection/list-collection.js +5 -2
- package/dist/collection/implementations/list-collection/list-collection.js.map +1 -1
- package/dist/event-bus/contracts/event-bus.contract.d.ts +10 -10
- package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +3 -6
- package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +7 -9
- package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +17 -24
- 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 +1 -3
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +4 -8
- 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.js +34 -32
- 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.js +195 -190
- package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js.map +1 -1
- package/dist/hooks/_module-exports.d.ts +3 -0
- package/dist/hooks/_module-exports.js +4 -0
- package/dist/hooks/_module-exports.js.map +1 -0
- package/dist/{utilities/classes/hooks → hooks}/async-hooks.d.ts +15 -26
- package/dist/{utilities/classes/hooks → hooks}/async-hooks.js +4 -6
- package/dist/hooks/async-hooks.js.map +1 -0
- package/dist/{utilities/classes/hooks → hooks}/hooks.d.ts +11 -18
- package/dist/{utilities/classes/hooks → hooks}/hooks.js +4 -5
- package/dist/hooks/hooks.js.map +1 -0
- package/dist/{utilities/classes/hooks → hooks}/types.d.ts +2 -3
- package/dist/hooks/types.js +5 -0
- package/dist/hooks/types.js.map +1 -0
- package/dist/lock/contracts/_module-exports.d.ts +4 -2
- package/dist/lock/contracts/_module-exports.js +4 -2
- package/dist/lock/contracts/_module-exports.js.map +1 -1
- package/dist/lock/contracts/database-lock-adapter.contract.d.ts +24 -17
- package/dist/lock/contracts/lock-adapter.contract.d.ts +15 -24
- package/dist/lock/contracts/lock-adapter.contract.js +1 -10
- package/dist/lock/contracts/lock-adapter.contract.js.map +1 -1
- package/dist/lock/contracts/lock-provider.contract.d.ts +5 -5
- package/dist/lock/contracts/lock-state.contract.d.ts +52 -0
- package/dist/lock/contracts/lock-state.contract.js +14 -0
- package/dist/lock/contracts/lock-state.contract.js.map +1 -0
- package/dist/lock/contracts/lock.contract.d.ts +64 -55
- package/dist/lock/contracts/lock.errors.d.ts +13 -20
- package/dist/lock/contracts/lock.errors.js +19 -26
- package/dist/lock/contracts/lock.errors.js.map +1 -1
- package/dist/lock/contracts/lock.events.d.ts +21 -49
- package/dist/lock/contracts/lock.events.js +2 -3
- package/dist/lock/contracts/lock.events.js.map +1 -1
- package/dist/lock/contracts/types.d.ts +11 -0
- package/dist/lock/contracts/types.js +5 -0
- package/dist/lock/contracts/types.js.map +1 -0
- package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts +21 -19
- package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +92 -61
- package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.d.ts +8 -5
- package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js +33 -13
- package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +7 -8
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +33 -20
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.d.ts +6 -5
- package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js +7 -5
- package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.d.ts +26 -8
- package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js +61 -28
- package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.d.ts +6 -5
- package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js +33 -33
- package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.d.ts +2 -2
- package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js +4 -6
- package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +29 -39
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +31 -35
- 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 +5 -8
- package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js +27 -23
- package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +38 -34
- package/dist/lock/implementations/derivables/lock-provider/lock.js +182 -257
- package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/resolve-database-lock-adapter.d.ts +9 -0
- package/dist/lock/implementations/derivables/lock-provider/resolve-database-lock-adapter.js +12 -0
- package/dist/lock/implementations/derivables/lock-provider/resolve-database-lock-adapter.js.map +1 -0
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +12 -13
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +7 -16
- 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.js +310 -207
- package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js.map +1 -1
- package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.d.ts +1 -1
- package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js +376 -292
- package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js.map +1 -1
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.d.ts +15 -5
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +3285 -2976
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
- package/dist/namespace/_module-exports.d.ts +1 -0
- package/dist/namespace/_module-exports.js +2 -0
- package/dist/namespace/_module-exports.js.map +1 -0
- package/dist/namespace/namespace.d.ts +87 -0
- package/dist/namespace/namespace.js +117 -0
- package/dist/namespace/namespace.js.map +1 -0
- package/dist/resilience/_module-exports.d.ts +2 -0
- package/dist/resilience/_module-exports.js +3 -0
- package/dist/resilience/_module-exports.js.map +1 -0
- package/dist/resilience/middlewares/_module.d.ts +5 -0
- package/dist/resilience/middlewares/_module.js +6 -0
- package/dist/resilience/middlewares/_module.js.map +1 -0
- package/dist/resilience/middlewares/dynamic/_module.d.ts +1 -0
- package/dist/resilience/middlewares/dynamic/_module.js +2 -0
- package/dist/resilience/middlewares/dynamic/_module.js.map +1 -0
- package/dist/{async → resilience}/middlewares/dynamic/dynamic.middleware.d.ts +6 -6
- package/dist/{async → resilience}/middlewares/dynamic/dynamic.middleware.js +5 -5
- package/dist/resilience/middlewares/dynamic/dynamic.middleware.js.map +1 -0
- package/dist/resilience/middlewares/fallback/_module.d.ts +2 -0
- package/dist/resilience/middlewares/fallback/_module.js +3 -0
- package/dist/resilience/middlewares/fallback/_module.js.map +1 -0
- package/dist/{async → resilience}/middlewares/fallback/fallback.middleware.d.ts +9 -9
- package/dist/{async → resilience}/middlewares/fallback/fallback.middleware.js +7 -6
- package/dist/resilience/middlewares/fallback/fallback.middleware.js.map +1 -0
- package/dist/{async → resilience}/middlewares/fallback/fallback.types.d.ts +7 -6
- package/dist/{async → resilience}/middlewares/fallback/fallback.types.js +1 -1
- package/dist/resilience/middlewares/fallback/fallback.types.js.map +1 -0
- package/dist/resilience/middlewares/observe/_module.d.ts +2 -0
- package/dist/resilience/middlewares/observe/_module.js +3 -0
- package/dist/resilience/middlewares/observe/_module.js.map +1 -0
- package/dist/{async → resilience}/middlewares/observe/observe.middleware.d.ts +13 -11
- package/dist/{async → resilience}/middlewares/observe/observe.middleware.js +14 -10
- package/dist/resilience/middlewares/observe/observe.middleware.js.map +1 -0
- package/dist/{async → resilience}/middlewares/observe/observe.types.d.ts +13 -12
- package/dist/resilience/middlewares/observe/observe.types.js +5 -0
- package/dist/resilience/middlewares/observe/observe.types.js.map +1 -0
- package/dist/resilience/middlewares/retry/_module.d.ts +2 -0
- package/dist/resilience/middlewares/retry/_module.js +3 -0
- package/dist/resilience/middlewares/retry/_module.js.map +1 -0
- package/dist/{async → resilience}/middlewares/retry/retry.middleware.d.ts +12 -9
- package/dist/{async → resilience}/middlewares/retry/retry.middleware.js +19 -15
- package/dist/resilience/middlewares/retry/retry.middleware.js.map +1 -0
- package/dist/{async → resilience}/middlewares/retry/retry.types.d.ts +14 -12
- package/dist/resilience/middlewares/retry/retry.types.js +7 -0
- package/dist/resilience/middlewares/retry/retry.types.js.map +1 -0
- package/dist/resilience/middlewares/timeout/_module.d.ts +2 -0
- package/dist/resilience/middlewares/timeout/_module.js +3 -0
- package/dist/resilience/middlewares/timeout/_module.js.map +1 -0
- package/dist/{async → resilience}/middlewares/timeout/timeout.middleware.d.ts +9 -7
- package/dist/{async → resilience}/middlewares/timeout/timeout.middleware.js +12 -11
- package/dist/resilience/middlewares/timeout/timeout.middleware.js.map +1 -0
- package/dist/{async → resilience}/middlewares/timeout/timeout.type.d.ts +10 -9
- package/dist/resilience/middlewares/timeout/timeout.type.js +5 -0
- package/dist/resilience/middlewares/timeout/timeout.type.js.map +1 -0
- package/dist/resilience/resilience.errors.d.ts +40 -0
- package/dist/resilience/resilience.errors.js +48 -0
- package/dist/resilience/resilience.errors.js.map +1 -0
- package/dist/resilience/utilities/_module.d.ts +2 -0
- package/dist/resilience/utilities/_module.js +3 -0
- package/dist/resilience/utilities/_module.js.map +1 -0
- package/dist/resilience/utilities/abort-and-fail/_module.d.ts +1 -0
- package/dist/resilience/utilities/abort-and-fail/_module.js +2 -0
- package/dist/resilience/utilities/abort-and-fail/_module.js.map +1 -0
- package/dist/resilience/utilities/abort-and-fail/abort-and-fail.d.ts +7 -0
- package/dist/resilience/utilities/abort-and-fail/abort-and-fail.js +51 -0
- package/dist/resilience/utilities/abort-and-fail/abort-and-fail.js.map +1 -0
- package/dist/resilience/utilities/timeout-and-fail/_module.d.ts +1 -0
- package/dist/resilience/utilities/timeout-and-fail/_module.js +2 -0
- package/dist/resilience/utilities/timeout-and-fail/_module.js.map +1 -0
- package/dist/resilience/utilities/timeout-and-fail/timeout-and-fail.d.ts +7 -0
- package/dist/resilience/utilities/timeout-and-fail/timeout-and-fail.js +23 -0
- package/dist/resilience/utilities/timeout-and-fail/timeout-and-fail.js.map +1 -0
- package/dist/semaphore/contracts/_module-exports.d.ts +9 -0
- package/dist/semaphore/contracts/_module-exports.js +10 -0
- package/dist/semaphore/contracts/_module-exports.js.map +1 -0
- package/dist/semaphore/contracts/database-semaphore-adapter.contract.d.ts +90 -0
- package/dist/semaphore/contracts/database-semaphore-adapter.contract.js +5 -0
- package/dist/semaphore/contracts/database-semaphore-adapter.contract.js.map +1 -0
- package/dist/semaphore/contracts/semaphore-adapter.contract.d.ts +61 -0
- package/dist/semaphore/contracts/semaphore-adapter.contract.js +5 -0
- package/dist/semaphore/contracts/semaphore-adapter.contract.js.map +1 -0
- package/dist/semaphore/contracts/semaphore-provider-factory.contract.d.ts +19 -0
- package/dist/semaphore/contracts/semaphore-provider-factory.contract.js +9 -0
- package/dist/semaphore/contracts/semaphore-provider-factory.contract.js.map +1 -0
- package/dist/semaphore/contracts/semaphore-provider.contract.d.ts +50 -0
- package/dist/semaphore/contracts/semaphore-provider.contract.js +5 -0
- package/dist/semaphore/contracts/semaphore-provider.contract.js.map +1 -0
- package/dist/semaphore/contracts/semaphore-state.contract.d.ts +70 -0
- package/dist/semaphore/contracts/semaphore-state.contract.js +15 -0
- package/dist/semaphore/contracts/semaphore-state.contract.js.map +1 -0
- package/dist/semaphore/contracts/semaphore.contract.d.ts +127 -0
- package/dist/semaphore/contracts/semaphore.contract.js +5 -0
- package/dist/semaphore/contracts/semaphore.contract.js.map +1 -0
- package/dist/semaphore/contracts/semaphore.errors.d.ts +52 -0
- package/dist/semaphore/contracts/semaphore.errors.js +63 -0
- package/dist/semaphore/contracts/semaphore.errors.js.map +1 -0
- package/dist/semaphore/contracts/semaphore.events.d.ts +101 -0
- package/dist/semaphore/contracts/semaphore.events.js +19 -0
- package/dist/semaphore/contracts/semaphore.events.js.map +1 -0
- package/dist/semaphore/contracts/types.d.ts +11 -0
- package/dist/semaphore/contracts/types.js +5 -0
- package/dist/semaphore/contracts/types.js.map +1 -0
- package/dist/semaphore/implementations/adapters/_module-exports.d.ts +5 -0
- package/dist/semaphore/implementations/adapters/_module-exports.js +6 -0
- package/dist/semaphore/implementations/adapters/_module-exports.js.map +1 -0
- package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/_module.d.ts +1 -0
- package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/_module.js +2 -0
- package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/_module.js.map +1 -0
- package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/kysely-semaphore-adapter.d.ts +97 -0
- package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/kysely-semaphore-adapter.js +313 -0
- package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/kysely-semaphore-adapter.js.map +1 -0
- package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/_module.d.ts +1 -0
- package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/_module.js +2 -0
- package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/_module.js.map +1 -0
- package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/memory-semaphore-adapter.d.ts +49 -0
- package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/memory-semaphore-adapter.js +141 -0
- package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/memory-semaphore-adapter.js.map +1 -0
- package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/_module.d.ts +1 -0
- package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/_module.js +2 -0
- package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/_module.js.map +1 -0
- package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/mongodb-semaphore-adapter.d.ts +80 -0
- package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/mongodb-semaphore-adapter.js +390 -0
- package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/mongodb-semaphore-adapter.js.map +1 -0
- package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/_module.d.ts +1 -0
- package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/_module.js +2 -0
- package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/_module.js.map +1 -0
- package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/no-op-semaphore-adapter.d.ts +18 -0
- package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/no-op-semaphore-adapter.js +30 -0
- package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/no-op-semaphore-adapter.js.map +1 -0
- package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/_module.d.ts +1 -0
- package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/_module.js +2 -0
- package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/_module.js.map +1 -0
- package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/redis-semaphore-adapter.d.ts +48 -0
- package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/redis-semaphore-adapter.js +338 -0
- package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/redis-semaphore-adapter.js.map +1 -0
- package/dist/semaphore/implementations/derivables/_module-exports.d.ts +2 -0
- package/dist/semaphore/implementations/derivables/_module-exports.js +3 -0
- package/dist/semaphore/implementations/derivables/_module-exports.js.map +1 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/_module.d.ts +1 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/_module.js +2 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/_module.js.map +1 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/database-semaphore-adapter.d.ts +17 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/database-semaphore-adapter.js +74 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/database-semaphore-adapter.js.map +1 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/is-database-semaphore-adapter.d.ts +8 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/is-database-semaphore-adapter.js +15 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/is-database-semaphore-adapter.js.map +1 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/resolve-database-semaphore-adapter.d.ts +8 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/resolve-database-semaphore-adapter.js +15 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/resolve-database-semaphore-adapter.js.map +1 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.d.ts +149 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.js +135 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.js.map +1 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.d.ts +41 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.js +77 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.js.map +1 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.d.ts +83 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.js +336 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.js.map +1 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider-factory/_module.d.ts +1 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider-factory/_module.js +2 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider-factory/_module.js.map +1 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.d.ts +40 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.js +67 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.js.map +1 -0
- package/dist/semaphore/implementations/test-utilities/_module-exports.d.ts +3 -0
- package/dist/semaphore/implementations/test-utilities/_module-exports.js +4 -0
- package/dist/semaphore/implementations/test-utilities/_module-exports.js.map +1 -0
- package/dist/semaphore/implementations/test-utilities/database-semaphore-adapter.test-suite.d.ts +59 -0
- package/dist/semaphore/implementations/test-utilities/database-semaphore-adapter.test-suite.js +536 -0
- package/dist/semaphore/implementations/test-utilities/database-semaphore-adapter.test-suite.js.map +1 -0
- package/dist/semaphore/implementations/test-utilities/semaphore-adapter.test-suite.d.ts +59 -0
- package/dist/semaphore/implementations/test-utilities/semaphore-adapter.test-suite.js +961 -0
- package/dist/semaphore/implementations/test-utilities/semaphore-adapter.test-suite.js.map +1 -0
- package/dist/semaphore/implementations/test-utilities/semaphore-provider.test-suite.d.ts +67 -0
- package/dist/semaphore/implementations/test-utilities/semaphore-provider.test-suite.js +4981 -0
- package/dist/semaphore/implementations/test-utilities/semaphore-provider.test-suite.js.map +1 -0
- package/dist/serde/contracts/_module-exports.d.ts +0 -1
- package/dist/serde/contracts/_module-exports.js +0 -1
- package/dist/serde/contracts/_module-exports.js.map +1 -1
- package/dist/serde/contracts/flexible-serde.contract.d.ts +21 -5
- package/dist/serde/contracts/serde.errors.d.ts +14 -11
- package/dist/serde/contracts/serde.errors.js +15 -14
- package/dist/serde/contracts/serde.errors.js.map +1 -1
- package/dist/serde/implementations/adapters/_module-exports.d.ts +0 -3
- package/dist/serde/implementations/adapters/_module-exports.js +0 -3
- package/dist/serde/implementations/adapters/_module-exports.js.map +1 -1
- package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js +6 -0
- package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js.map +1 -1
- package/dist/serde/implementations/derivables/serde-transformers.d.ts +38 -30
- package/dist/serde/implementations/derivables/serde-transformers.js +62 -20
- package/dist/serde/implementations/derivables/serde-transformers.js.map +1 -1
- package/dist/serde/implementations/derivables/serde.d.ts +12 -3
- package/dist/serde/implementations/derivables/serde.js +5 -2
- package/dist/serde/implementations/derivables/serde.js.map +1 -1
- package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.js +85 -1
- package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.js.map +1 -1
- package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.js +85 -1
- package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.js.map +1 -1
- package/dist/shared-lock/contracts/_module-exports.d.ts +10 -0
- package/dist/shared-lock/contracts/_module-exports.js +11 -0
- package/dist/shared-lock/contracts/_module-exports.js.map +1 -0
- package/dist/shared-lock/contracts/database-shared-lock-adapter.contract.d.ts +145 -0
- package/dist/shared-lock/contracts/database-shared-lock-adapter.contract.js +5 -0
- package/dist/shared-lock/contracts/database-shared-lock-adapter.contract.js.map +1 -0
- package/dist/shared-lock/contracts/shared-lock-adapter.contract.d.ts +96 -0
- package/dist/shared-lock/contracts/shared-lock-adapter.contract.js +5 -0
- package/dist/shared-lock/contracts/shared-lock-adapter.contract.js.map +1 -0
- package/dist/shared-lock/contracts/shared-lock-provider-factory.contract.d.ts +19 -0
- package/dist/shared-lock/contracts/shared-lock-provider-factory.contract.js +9 -0
- package/dist/shared-lock/contracts/shared-lock-provider-factory.contract.js.map +1 -0
- package/dist/shared-lock/contracts/shared-lock-provider.contract.d.ts +53 -0
- package/dist/shared-lock/contracts/shared-lock-provider.contract.js +5 -0
- package/dist/shared-lock/contracts/shared-lock-provider.contract.js.map +1 -0
- package/dist/shared-lock/contracts/shared-lock-state.contract.d.ts +133 -0
- package/dist/shared-lock/contracts/shared-lock-state.contract.js +33 -0
- package/dist/shared-lock/contracts/shared-lock-state.contract.js.map +1 -0
- package/dist/shared-lock/contracts/shared-lock.contract.d.ts +222 -0
- package/dist/shared-lock/contracts/shared-lock.contract.js +13 -0
- package/dist/shared-lock/contracts/shared-lock.contract.js.map +1 -0
- package/dist/shared-lock/contracts/shared-lock.errors.d.ts +124 -0
- package/dist/shared-lock/contracts/shared-lock.errors.js +136 -0
- package/dist/shared-lock/contracts/shared-lock.errors.js.map +1 -0
- package/dist/shared-lock/contracts/shared-lock.events.d.ts +205 -0
- package/dist/shared-lock/contracts/shared-lock.events.js +43 -0
- package/dist/shared-lock/contracts/shared-lock.events.js.map +1 -0
- package/dist/shared-lock/contracts/types.d.ts +10 -0
- package/dist/shared-lock/contracts/types.js +5 -0
- package/dist/shared-lock/contracts/types.js.map +1 -0
- package/dist/shared-lock/implementations/adapters/_module-exports.d.ts +5 -0
- package/dist/shared-lock/implementations/adapters/_module-exports.js +6 -0
- package/dist/shared-lock/implementations/adapters/_module-exports.js.map +1 -0
- package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/_module.d.ts +1 -0
- package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/_module.js +2 -0
- package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/_module.js.map +1 -0
- package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/kysely-shared-lock-adapter.d.ts +114 -0
- package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/kysely-shared-lock-adapter.js +496 -0
- package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/kysely-shared-lock-adapter.js.map +1 -0
- package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/_module.d.ts +1 -0
- package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/_module.js +2 -0
- package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/_module.js.map +1 -0
- package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/memory-shared-lock-adapter.d.ts +79 -0
- package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/memory-shared-lock-adapter.js +347 -0
- package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/memory-shared-lock-adapter.js.map +1 -0
- package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/_module.d.ts +1 -0
- package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/_module.js +2 -0
- package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/_module.js.map +1 -0
- package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/mongodb-shared-lock-adapter.d.ts +112 -0
- package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/mongodb-shared-lock-adapter.js +805 -0
- package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/mongodb-shared-lock-adapter.js.map +1 -0
- package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/_module.d.ts +1 -0
- package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/_module.js +2 -0
- package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/_module.js.map +1 -0
- package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/no-op-shared-lock-adapter.d.ts +23 -0
- package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/no-op-shared-lock-adapter.js +42 -0
- package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/no-op-shared-lock-adapter.js.map +1 -0
- package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/_module.d.ts +1 -0
- package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/_module.js +2 -0
- package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/_module.js.map +1 -0
- package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/redis-shared-lock-adapter.d.ts +79 -0
- package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/redis-shared-lock-adapter.js +630 -0
- package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/redis-shared-lock-adapter.js.map +1 -0
- package/dist/shared-lock/implementations/derivables/_module-exports.d.ts +2 -0
- package/dist/shared-lock/implementations/derivables/_module-exports.js +3 -0
- package/dist/shared-lock/implementations/derivables/_module-exports.js.map +1 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/_module.d.ts +1 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/_module.js +2 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/_module.js.map +1 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/database-shared-lock-adapter.d.ts +27 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/database-shared-lock-adapter.js +208 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/database-shared-lock-adapter.js.map +1 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/is-database-shared-lock-adapter.d.ts +8 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/is-database-shared-lock-adapter.js +12 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/is-database-shared-lock-adapter.js.map +1 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/resolve-database-shared-lock-adapter.d.ts +8 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/resolve-database-shared-lock-adapter.js +15 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/resolve-database-shared-lock-adapter.js.map +1 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.d.ts +190 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.js +177 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.js.map +1 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.d.ts +41 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.js +77 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.js.map +1 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.d.ts +95 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.js +542 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.js.map +1 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/_module.d.ts +1 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/_module.js +2 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/_module.js.map +1 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.d.ts +97 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.js +128 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.js.map +1 -0
- package/dist/shared-lock/implementations/test-utilities/_module-exports.d.ts +3 -0
- package/dist/shared-lock/implementations/test-utilities/_module-exports.js +4 -0
- package/dist/shared-lock/implementations/test-utilities/_module-exports.js.map +1 -0
- package/dist/shared-lock/implementations/test-utilities/database-shared-lock-adapter.test-suite.d.ts +59 -0
- package/dist/shared-lock/implementations/test-utilities/database-shared-lock-adapter.test-suite.js +944 -0
- package/dist/shared-lock/implementations/test-utilities/database-shared-lock-adapter.test-suite.js.map +1 -0
- package/dist/shared-lock/implementations/test-utilities/shared-lock-adapter.test-suite.d.ts +59 -0
- package/dist/shared-lock/implementations/test-utilities/shared-lock-adapter.test-suite.js +1921 -0
- package/dist/shared-lock/implementations/test-utilities/shared-lock-adapter.test-suite.js.map +1 -0
- package/dist/shared-lock/implementations/test-utilities/shared-lock-provider.test-suite.d.ts +67 -0
- package/dist/shared-lock/implementations/test-utilities/shared-lock-provider.test-suite.js +9833 -0
- package/dist/shared-lock/implementations/test-utilities/shared-lock-provider.test-suite.js.map +1 -0
- package/dist/task/_module-exports.d.ts +1 -0
- package/dist/task/_module-exports.js +2 -0
- package/dist/task/_module-exports.js.map +1 -0
- package/dist/{async/utilities/abort-and-fail → task}/abort-and-fail.d.ts +1 -1
- package/dist/{async/utilities/abort-and-fail → task}/abort-and-fail.js +1 -1
- package/dist/task/abort-and-fail.js.map +1 -0
- package/dist/task/task.d.ts +194 -0
- package/dist/task/task.js +212 -0
- package/dist/task/task.js.map +1 -0
- package/dist/time-span/contracts/_module-exports.d.ts +1 -0
- package/dist/time-span/contracts/_module-exports.js +2 -0
- package/dist/time-span/contracts/_module-exports.js.map +1 -0
- package/dist/time-span/contracts/time-span.contract.d.ts +19 -0
- package/dist/time-span/contracts/time-span.contract.js +10 -0
- package/dist/time-span/contracts/time-span.contract.js.map +1 -0
- package/dist/time-span/implementations/_module-exports.d.ts +1 -0
- package/dist/time-span/implementations/_module-exports.js +2 -0
- package/dist/time-span/implementations/_module-exports.js.map +1 -0
- package/dist/{utilities/classes/time-span → time-span/implementations}/time-span.d.ts +49 -11
- package/dist/{utilities/classes/time-span → time-span/implementations}/time-span.js +33 -11
- package/dist/time-span/implementations/time-span.js.map +1 -0
- package/dist/utilities/classes/_module.d.ts +0 -3
- package/dist/utilities/classes/_module.js +0 -3
- package/dist/utilities/classes/_module.js.map +1 -1
- package/dist/utilities/contracts/_module.d.ts +1 -1
- package/dist/utilities/contracts/_module.js +1 -1
- package/dist/utilities/contracts/_module.js.map +1 -1
- package/dist/utilities/contracts/comparable.contract.d.ts +49 -0
- package/dist/utilities/contracts/comparable.contract.js +5 -0
- package/dist/utilities/contracts/comparable.contract.js.map +1 -0
- package/dist/utilities/functions/is-standard-schema.d.ts +6 -0
- package/dist/utilities/functions/is-standard-schema.js +6 -0
- package/dist/utilities/functions/is-standard-schema.js.map +1 -1
- package/dist/utilities/functions/lazy.d.ts +3 -3
- package/dist/utilities/functions/lazy.js +3 -3
- package/dist/utilities/functions/lazy.js.map +1 -1
- package/dist/utilities/functions/option.d.ts +3 -0
- package/dist/utilities/functions/option.js +3 -0
- package/dist/utilities/functions/option.js.map +1 -1
- package/dist/utilities/functions/validate.d.ts +5 -0
- package/dist/utilities/functions/validate.js +5 -0
- package/dist/utilities/functions/validate.js.map +1 -1
- package/dist/utilities/types/any-class.type.d.ts +6 -0
- package/dist/utilities/types/any-class.type.js +3 -0
- package/dist/utilities/types/any-class.type.js.map +1 -1
- package/package.json +67 -5
- package/dist/async/_module-exports.d.ts +0 -4
- package/dist/async/_module-exports.js +0 -5
- package/dist/async/_module-exports.js.map +0 -1
- package/dist/async/async.errors.d.ts +0 -47
- package/dist/async/async.errors.js +0 -61
- package/dist/async/async.errors.js.map +0 -1
- package/dist/async/backof-policies/_module.d.ts +0 -5
- package/dist/async/backof-policies/_module.js +0 -6
- package/dist/async/backof-policies/_module.js.map +0 -1
- package/dist/async/backof-policies/_shared.js.map +0 -1
- package/dist/async/backof-policies/constant-backoff-policy/_module.d.ts +0 -1
- package/dist/async/backof-policies/constant-backoff-policy/_module.js +0 -2
- package/dist/async/backof-policies/constant-backoff-policy/_module.js.map +0 -1
- package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js.map +0 -1
- package/dist/async/backof-policies/exponential-backoff-policy/_module.d.ts +0 -1
- package/dist/async/backof-policies/exponential-backoff-policy/_module.js +0 -2
- package/dist/async/backof-policies/exponential-backoff-policy/_module.js.map +0 -1
- package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js +0 -35
- package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +0 -1
- package/dist/async/backof-policies/linear-backoff-policy/_module.d.ts +0 -1
- package/dist/async/backof-policies/linear-backoff-policy/_module.js +0 -2
- package/dist/async/backof-policies/linear-backoff-policy/_module.js.map +0 -1
- package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js +0 -35
- package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js.map +0 -1
- package/dist/async/backof-policies/polynomial-backoff-policy/_module.d.ts +0 -1
- package/dist/async/backof-policies/polynomial-backoff-policy/_module.js +0 -2
- package/dist/async/backof-policies/polynomial-backoff-policy/_module.js.map +0 -1
- package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +0 -35
- package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +0 -1
- package/dist/async/middlewares/_module.d.ts +0 -7
- package/dist/async/middlewares/_module.js +0 -8
- package/dist/async/middlewares/_module.js.map +0 -1
- package/dist/async/middlewares/bulkhead/_module.d.ts +0 -1
- package/dist/async/middlewares/bulkhead/_module.js +0 -2
- package/dist/async/middlewares/bulkhead/_module.js.map +0 -1
- package/dist/async/middlewares/bulkhead/bulkhead.middleware.d.ts +0 -80
- package/dist/async/middlewares/bulkhead/bulkhead.middleware.js +0 -46
- package/dist/async/middlewares/bulkhead/bulkhead.middleware.js.map +0 -1
- package/dist/async/middlewares/dynamic/_module.d.ts +0 -1
- package/dist/async/middlewares/dynamic/_module.js +0 -2
- package/dist/async/middlewares/dynamic/_module.js.map +0 -1
- package/dist/async/middlewares/dynamic/dynamic.middleware.js.map +0 -1
- package/dist/async/middlewares/fallback/_module.d.ts +0 -2
- package/dist/async/middlewares/fallback/_module.js +0 -3
- package/dist/async/middlewares/fallback/_module.js.map +0 -1
- package/dist/async/middlewares/fallback/fallback.middleware.js.map +0 -1
- package/dist/async/middlewares/fallback/fallback.types.js.map +0 -1
- package/dist/async/middlewares/hedging/_module.d.ts +0 -2
- package/dist/async/middlewares/hedging/_module.js +0 -3
- package/dist/async/middlewares/hedging/_module.js.map +0 -1
- package/dist/async/middlewares/hedging/hedging.types.d.ts +0 -121
- package/dist/async/middlewares/hedging/hedging.types.js +0 -6
- package/dist/async/middlewares/hedging/hedging.types.js.map +0 -1
- package/dist/async/middlewares/hedging/sequential-hedging.middleware.d.ts +0 -51
- package/dist/async/middlewares/hedging/sequential-hedging.middleware.js +0 -133
- package/dist/async/middlewares/hedging/sequential-hedging.middleware.js.map +0 -1
- package/dist/async/middlewares/observe/_module.d.ts +0 -2
- package/dist/async/middlewares/observe/_module.js +0 -3
- package/dist/async/middlewares/observe/_module.js.map +0 -1
- package/dist/async/middlewares/observe/observe.middleware.js.map +0 -1
- package/dist/async/middlewares/observe/observe.types.js +0 -6
- package/dist/async/middlewares/observe/observe.types.js.map +0 -1
- package/dist/async/middlewares/retry/_module.d.ts +0 -2
- package/dist/async/middlewares/retry/_module.js +0 -3
- package/dist/async/middlewares/retry/_module.js.map +0 -1
- package/dist/async/middlewares/retry/retry.middleware.js.map +0 -1
- package/dist/async/middlewares/retry/retry.types.js +0 -7
- package/dist/async/middlewares/retry/retry.types.js.map +0 -1
- package/dist/async/middlewares/timeout/_module.d.ts +0 -2
- package/dist/async/middlewares/timeout/_module.js +0 -3
- package/dist/async/middlewares/timeout/_module.js.map +0 -1
- package/dist/async/middlewares/timeout/timeout.middleware.js.map +0 -1
- package/dist/async/middlewares/timeout/timeout.type.js +0 -6
- package/dist/async/middlewares/timeout/timeout.type.js.map +0 -1
- package/dist/async/utilities/_module.d.ts +0 -4
- package/dist/async/utilities/_module.js +0 -5
- package/dist/async/utilities/_module.js.map +0 -1
- package/dist/async/utilities/abort-and-fail/_module.d.ts +0 -1
- package/dist/async/utilities/abort-and-fail/_module.js +0 -2
- package/dist/async/utilities/abort-and-fail/_module.js.map +0 -1
- package/dist/async/utilities/abort-and-fail/abort-and-fail.js.map +0 -1
- package/dist/async/utilities/lazy-promise/_module.d.ts +0 -1
- package/dist/async/utilities/lazy-promise/_module.js +0 -2
- package/dist/async/utilities/lazy-promise/_module.js.map +0 -1
- package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +0 -153
- package/dist/async/utilities/lazy-promise/lazy-promise.js +0 -176
- package/dist/async/utilities/lazy-promise/lazy-promise.js.map +0 -1
- package/dist/async/utilities/promise-queue/_module.d.ts +0 -1
- package/dist/async/utilities/promise-queue/_module.js +0 -2
- package/dist/async/utilities/promise-queue/_module.js.map +0 -1
- package/dist/async/utilities/promise-queue/promise-queue.d.ts +0 -32
- package/dist/async/utilities/promise-queue/promise-queue.js +0 -118
- package/dist/async/utilities/promise-queue/promise-queue.js.map +0 -1
- package/dist/async/utilities/timeout-and-fail/_module.d.ts +0 -1
- package/dist/async/utilities/timeout-and-fail/_module.js +0 -2
- package/dist/async/utilities/timeout-and-fail/_module.js.map +0 -1
- package/dist/async/utilities/timeout-and-fail/timeout-and-fail.d.ts +0 -7
- package/dist/async/utilities/timeout-and-fail/timeout-and-fail.js +0 -22
- package/dist/async/utilities/timeout-and-fail/timeout-and-fail.js.map +0 -1
- package/dist/lock/implementations/derivables/lock-provider/lock-state.d.ts +0 -40
- package/dist/lock/implementations/derivables/lock-provider/lock-state.js +0 -60
- package/dist/lock/implementations/derivables/lock-provider/lock-state.js.map +0 -1
- package/dist/serde/contracts/serializable.contract.d.ts +0 -12
- package/dist/serde/contracts/serializable.contract.js +0 -5
- package/dist/serde/contracts/serializable.contract.js.map +0 -1
- package/dist/serde/implementations/adapters/mongodb-serde/_module.d.ts +0 -1
- package/dist/serde/implementations/adapters/mongodb-serde/_module.js +0 -2
- package/dist/serde/implementations/adapters/mongodb-serde/_module.js.map +0 -1
- package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.d.ts +0 -13
- package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.js +0 -38
- package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.js.map +0 -1
- package/dist/serde/implementations/adapters/redis-serde/_module.d.ts +0 -1
- package/dist/serde/implementations/adapters/redis-serde/_module.js +0 -2
- package/dist/serde/implementations/adapters/redis-serde/_module.js.map +0 -1
- package/dist/serde/implementations/adapters/redis-serde/redis-serde.d.ts +0 -13
- package/dist/serde/implementations/adapters/redis-serde/redis-serde.js +0 -39
- package/dist/serde/implementations/adapters/redis-serde/redis-serde.js.map +0 -1
- package/dist/serde/implementations/adapters/sql-serde/_module.d.ts +0 -1
- package/dist/serde/implementations/adapters/sql-serde/_module.js +0 -2
- package/dist/serde/implementations/adapters/sql-serde/_module.js.map +0 -1
- package/dist/serde/implementations/adapters/sql-serde/sql-serde.d.ts +0 -13
- package/dist/serde/implementations/adapters/sql-serde/sql-serde.js +0 -39
- package/dist/serde/implementations/adapters/sql-serde/sql-serde.js.map +0 -1
- package/dist/utilities/classes/hooks/_module.d.ts +0 -3
- package/dist/utilities/classes/hooks/_module.js +0 -4
- package/dist/utilities/classes/hooks/_module.js.map +0 -1
- package/dist/utilities/classes/hooks/async-hooks.js.map +0 -1
- package/dist/utilities/classes/hooks/hooks.js.map +0 -1
- package/dist/utilities/classes/hooks/types.js +0 -5
- package/dist/utilities/classes/hooks/types.js.map +0 -1
- package/dist/utilities/classes/namespace/_module.d.ts +0 -1
- package/dist/utilities/classes/namespace/_module.js +0 -2
- package/dist/utilities/classes/namespace/_module.js.map +0 -1
- package/dist/utilities/classes/namespace/namespace.d.ts +0 -85
- package/dist/utilities/classes/namespace/namespace.js +0 -125
- package/dist/utilities/classes/namespace/namespace.js.map +0 -1
- package/dist/utilities/classes/time-span/_module.d.ts +0 -1
- package/dist/utilities/classes/time-span/_module.js +0 -2
- package/dist/utilities/classes/time-span/_module.js.map +0 -1
- package/dist/utilities/classes/time-span/time-span.js.map +0 -1
- package/dist/utilities/contracts/serialized-error.contract.d.ts +0 -13
- package/dist/utilities/contracts/serialized-error.contract.js +0 -5
- package/dist/utilities/contracts/serialized-error.contract.js.map +0 -1
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module SharedLock
|
|
3
|
+
*/
|
|
4
|
+
import type { TimeSpan } from "../../time-span/implementations/_module-exports.js";
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
8
|
+
* @group Contracts
|
|
9
|
+
*/
|
|
10
|
+
export declare const SHARED_LOCK_WRITER_STATE: {
|
|
11
|
+
readonly WRITER_UNAVAILABLE: "WRITER_UNAVAILABLE";
|
|
12
|
+
readonly WRITER_ACQUIRED: "WRITER_ACQUIRED";
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
*
|
|
16
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
17
|
+
* @group Contracts
|
|
18
|
+
*/
|
|
19
|
+
export type SharedLockWriterState = (typeof SHARED_LOCK_WRITER_STATE)[keyof typeof SHARED_LOCK_WRITER_STATE];
|
|
20
|
+
/**
|
|
21
|
+
*
|
|
22
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
23
|
+
* @group Contracts
|
|
24
|
+
*/
|
|
25
|
+
export declare const SHARED_LOCK_READER_STATE: {
|
|
26
|
+
readonly READER_LIMIT_REACHED: "READER_LIMIT_REACHED";
|
|
27
|
+
readonly READER_ACQUIRED: "READER_ACQUIRED";
|
|
28
|
+
readonly READER_UNACQUIRED: "READER_UNACQUIRED";
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
*
|
|
32
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
33
|
+
* @group Contracts
|
|
34
|
+
*/
|
|
35
|
+
export type SharedLockReaderState = (typeof SHARED_LOCK_READER_STATE)[keyof typeof SHARED_LOCK_READER_STATE];
|
|
36
|
+
/**
|
|
37
|
+
*
|
|
38
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
39
|
+
* @group Contracts
|
|
40
|
+
*/
|
|
41
|
+
export declare const SHARED_LOCK_STATE: {
|
|
42
|
+
readonly READER_LIMIT_REACHED: "READER_LIMIT_REACHED";
|
|
43
|
+
readonly READER_ACQUIRED: "READER_ACQUIRED";
|
|
44
|
+
readonly READER_UNACQUIRED: "READER_UNACQUIRED";
|
|
45
|
+
readonly WRITER_UNAVAILABLE: "WRITER_UNAVAILABLE";
|
|
46
|
+
readonly WRITER_ACQUIRED: "WRITER_ACQUIRED";
|
|
47
|
+
readonly EXPIRED: "EXPIRED";
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
*
|
|
51
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
52
|
+
* @group Contracts
|
|
53
|
+
*/
|
|
54
|
+
export type SharedLockState = (typeof SHARED_LOCK_STATE)[keyof typeof SHARED_LOCK_STATE];
|
|
55
|
+
/**
|
|
56
|
+
*
|
|
57
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
58
|
+
* @group Contracts
|
|
59
|
+
*/
|
|
60
|
+
export type ISharedLockExpiredState = {
|
|
61
|
+
type: (typeof SHARED_LOCK_STATE)["EXPIRED"];
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
*
|
|
65
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
66
|
+
* @group Contracts
|
|
67
|
+
*/
|
|
68
|
+
export type ISharedLockWriterUnavailableState = {
|
|
69
|
+
type: (typeof SHARED_LOCK_WRITER_STATE)["WRITER_UNAVAILABLE"];
|
|
70
|
+
owner: string;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
*
|
|
74
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
75
|
+
* @group Contracts
|
|
76
|
+
*/
|
|
77
|
+
export type ISharedLockWriterAcquiredState = {
|
|
78
|
+
type: (typeof SHARED_LOCK_WRITER_STATE)["WRITER_ACQUIRED"];
|
|
79
|
+
remainingTime: TimeSpan | null;
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
*
|
|
83
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
84
|
+
* @group Contracts
|
|
85
|
+
*/
|
|
86
|
+
export type ISharedLockWriterState = ISharedLockWriterUnavailableState | ISharedLockWriterAcquiredState;
|
|
87
|
+
/**
|
|
88
|
+
*
|
|
89
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
90
|
+
* @group Contracts
|
|
91
|
+
*/
|
|
92
|
+
export type ISharedLockReaderUnacquiredState = {
|
|
93
|
+
type: (typeof SHARED_LOCK_READER_STATE)["READER_UNACQUIRED"];
|
|
94
|
+
limit: number;
|
|
95
|
+
freeSlotsCount: number;
|
|
96
|
+
acquiredSlotsCount: number;
|
|
97
|
+
acquiredSlots: string[];
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
*
|
|
101
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
102
|
+
* @group Contracts
|
|
103
|
+
*/
|
|
104
|
+
export type ISharedLockReaderAcquiredState = {
|
|
105
|
+
type: (typeof SHARED_LOCK_READER_STATE)["READER_ACQUIRED"];
|
|
106
|
+
limit: number;
|
|
107
|
+
remainingTime: TimeSpan | null;
|
|
108
|
+
freeSlotsCount: number;
|
|
109
|
+
acquiredSlotsCount: number;
|
|
110
|
+
acquiredSlots: string[];
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
*
|
|
114
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
115
|
+
* @group Contracts
|
|
116
|
+
*/
|
|
117
|
+
export type ISharedLockReaderLimitReachedState = {
|
|
118
|
+
type: (typeof SHARED_LOCK_READER_STATE)["READER_LIMIT_REACHED"];
|
|
119
|
+
limit: number;
|
|
120
|
+
acquiredSlots: string[];
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
*
|
|
124
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
125
|
+
* @group Contracts
|
|
126
|
+
*/
|
|
127
|
+
export type ISharedLockReaderState = ISharedLockReaderUnacquiredState | ISharedLockReaderAcquiredState | ISharedLockReaderLimitReachedState;
|
|
128
|
+
/**
|
|
129
|
+
*
|
|
130
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
131
|
+
* @group Contracts
|
|
132
|
+
*/
|
|
133
|
+
export type ISharedLockState = ISharedLockExpiredState | ISharedLockWriterState | ISharedLockReaderState;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module SharedLock
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
*
|
|
6
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
7
|
+
* @group Contracts
|
|
8
|
+
*/
|
|
9
|
+
export const SHARED_LOCK_WRITER_STATE = {
|
|
10
|
+
WRITER_UNAVAILABLE: "WRITER_UNAVAILABLE",
|
|
11
|
+
WRITER_ACQUIRED: "WRITER_ACQUIRED",
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
16
|
+
* @group Contracts
|
|
17
|
+
*/
|
|
18
|
+
export const SHARED_LOCK_READER_STATE = {
|
|
19
|
+
READER_LIMIT_REACHED: "READER_LIMIT_REACHED",
|
|
20
|
+
READER_ACQUIRED: "READER_ACQUIRED",
|
|
21
|
+
READER_UNACQUIRED: "READER_UNACQUIRED",
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
*
|
|
25
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
26
|
+
* @group Contracts
|
|
27
|
+
*/
|
|
28
|
+
export const SHARED_LOCK_STATE = {
|
|
29
|
+
EXPIRED: "EXPIRED",
|
|
30
|
+
...SHARED_LOCK_WRITER_STATE,
|
|
31
|
+
...SHARED_LOCK_READER_STATE,
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=shared-lock-state.contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-lock-state.contract.js","sourceRoot":"","sources":["../../../src/shared-lock/contracts/shared-lock-state.contract.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACpC,kBAAkB,EAAE,oBAAoB;IACxC,eAAe,EAAE,iBAAiB;CAC5B,CAAC;AAUX;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACpC,oBAAoB,EAAE,sBAAsB;IAC5C,eAAe,EAAE,iBAAiB;IAClC,iBAAiB,EAAE,mBAAmB;CAChC,CAAC;AAUX;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,OAAO,EAAE,SAAS;IAClB,GAAG,wBAAwB;IAC3B,GAAG,wBAAwB;CACrB,CAAC"}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module SharedLock
|
|
3
|
+
*/
|
|
4
|
+
import type { Task } from "../../task/_module-exports.js";
|
|
5
|
+
import type { AsyncLazy, Result } from "../../utilities/_module-exports.js";
|
|
6
|
+
import type { LimitReachedReaderSemaphoreError, FailedAcquireWriterLockError } from "../../shared-lock/contracts/shared-lock.errors.js";
|
|
7
|
+
import type { ISharedLockState } from "../../shared-lock/contracts/shared-lock-state.contract.js";
|
|
8
|
+
import type { TimeSpan } from "../../time-span/implementations/_module-exports.js";
|
|
9
|
+
import type { ITimeSpan } from "../../time-span/contracts/_module-exports.js";
|
|
10
|
+
/**
|
|
11
|
+
*
|
|
12
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
13
|
+
* @group Contracts
|
|
14
|
+
*/
|
|
15
|
+
export type SharedLockAquireBlockingSettings = {
|
|
16
|
+
time?: ITimeSpan;
|
|
17
|
+
interval?: ITimeSpan;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
22
|
+
* @group Contracts
|
|
23
|
+
*/
|
|
24
|
+
export type IReaderSemaphore = {
|
|
25
|
+
/**
|
|
26
|
+
* The `runReader` method wraps an {@link Invokable | `Invokable`} or {@link Task | `Task`} with the `acquire` and `release` method.
|
|
27
|
+
*
|
|
28
|
+
*/
|
|
29
|
+
runReader<TValue = void>(asyncFn: AsyncLazy<TValue>): Task<Result<TValue, LimitReachedReaderSemaphoreError>>;
|
|
30
|
+
/**
|
|
31
|
+
* The `runReaderOrFail` method wraps an {@link Invokable | `Invokable`} or {@link Task | `Task`} with the `acquireOrFail` and `release` method.
|
|
32
|
+
* @throws {LimitReachedReaderSemaphoreError} {@link LimitReachedReaderSemaphoreError}
|
|
33
|
+
*/
|
|
34
|
+
runReaderOrFail<TValue = void>(asyncFn: AsyncLazy<TValue>): Task<TValue>;
|
|
35
|
+
/**
|
|
36
|
+
* The `runReaderBlocking` method wraps an {@link Invokable | `Invokable`} or {@link Task | `Task`} with the `acquireBlocking` and `release` method.
|
|
37
|
+
*/
|
|
38
|
+
runReaderBlocking<TValue = void>(asyncFn: AsyncLazy<TValue>, settings?: SharedLockAquireBlockingSettings): Task<Result<TValue, LimitReachedReaderSemaphoreError>>;
|
|
39
|
+
/**
|
|
40
|
+
* The `runReaderBlockingOrFail` method wraps an {@link Invokable | `Invokable`} or {@link Task | `Task`} with the `acquireBlockingOrFail` and `release` method.
|
|
41
|
+
* @throws {LimitReachedReaderSemaphoreError} {@link LimitReachedReaderSemaphoreError}
|
|
42
|
+
*/
|
|
43
|
+
runReaderBlockingOrFail<TValue = void>(asyncFn: AsyncLazy<TValue>, settings?: SharedLockAquireBlockingSettings): Task<TValue>;
|
|
44
|
+
/**
|
|
45
|
+
* The `acquireReader` method acquires an slots only if the slot limit is not reached.
|
|
46
|
+
*
|
|
47
|
+
* @returns Returns true if the slot limit is not reached otherwise false is returned.
|
|
48
|
+
*/
|
|
49
|
+
acquireReader(): Task<boolean>;
|
|
50
|
+
/**
|
|
51
|
+
* The `acquireReaderOrFail` method acquires an slots only if the slot limit is not reached.
|
|
52
|
+
* Throws an error if the slot limit is reached.
|
|
53
|
+
*
|
|
54
|
+
* @throws {LimitReachedReaderSemaphoreError} {@link LimitReachedReaderSemaphoreError}
|
|
55
|
+
*/
|
|
56
|
+
acquireReaderOrFail(): Task<void>;
|
|
57
|
+
/**
|
|
58
|
+
* The `acquireReaderBlocking` method acquires an slots only if the slot limit is not reached.
|
|
59
|
+
* If the slot limit is reached, it retries every `settings.interval` until `settings.time` is reached.
|
|
60
|
+
*
|
|
61
|
+
* @returns Returns true if the slot limit is not reached otherwise false is returned.
|
|
62
|
+
*/
|
|
63
|
+
acquireReaderBlocking(settings?: SharedLockAquireBlockingSettings): Task<boolean>;
|
|
64
|
+
/**
|
|
65
|
+
* The `acquireReaderBlockingOrFail` method acquires an slots only if the slot limit is not reached.
|
|
66
|
+
* If the slot limit is reached, it retries every `settings.interval` until `settings.time` is reached.
|
|
67
|
+
* Throws an error if the slot limit is reached after the given `settings.time`.
|
|
68
|
+
*
|
|
69
|
+
* @throws {LimitReachedReaderSemaphoreError} {@link LimitReachedReaderSemaphoreError}
|
|
70
|
+
*/
|
|
71
|
+
acquireReaderBlockingOrFail(settings?: SharedLockAquireBlockingSettings): Task<void>;
|
|
72
|
+
/**
|
|
73
|
+
* The `releaseReader` method releases the current slot.
|
|
74
|
+
*
|
|
75
|
+
* @returns Returns true if the semaphore exists and has at least one busy slot or false.
|
|
76
|
+
*/
|
|
77
|
+
releaseReader(): Task<boolean>;
|
|
78
|
+
/**
|
|
79
|
+
* The `releaseReaderOrFail` method releases the current slot.
|
|
80
|
+
* Throws an error if the slot is not acquired.
|
|
81
|
+
* @throws {FailedReleaseReaderSemaphoreError} {@link FailedReleaseReaderSemaphoreError}
|
|
82
|
+
*/
|
|
83
|
+
releaseReaderOrFail(): Task<void>;
|
|
84
|
+
/**
|
|
85
|
+
* The `forceReleaseAllReaders` method releases the all slots.
|
|
86
|
+
*
|
|
87
|
+
* @returns Returns true if the semaphore exists and has at least one unavailable slot or false if all slots are available.
|
|
88
|
+
*/
|
|
89
|
+
forceReleaseAllReaders(): Task<boolean>;
|
|
90
|
+
/**
|
|
91
|
+
* The `refreshReader` method updates the `ttl` of the slot when acquired.
|
|
92
|
+
*
|
|
93
|
+
* @returns Returns true if the slot is refreshed otherwise false is returned.
|
|
94
|
+
*/
|
|
95
|
+
refreshReader(ttl?: ITimeSpan): Task<boolean>;
|
|
96
|
+
/**
|
|
97
|
+
* The `refreshReaderOrFail` method updates the `ttl` of the slot when acquired.
|
|
98
|
+
* Throws an error if the slot is not acquired.
|
|
99
|
+
* @throws {FailedRefreshReaderSemaphoreError} {@link FailedRefreshReaderSemaphoreError}
|
|
100
|
+
*/
|
|
101
|
+
refreshReaderOrFail(ttl?: ITimeSpan): Task<void>;
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
*
|
|
105
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
106
|
+
* @group Contracts
|
|
107
|
+
*/
|
|
108
|
+
export type IWriterLock = {
|
|
109
|
+
/**
|
|
110
|
+
* The `runWriter` method wraps an {@link Invokable | `Invokable`} or {@link Task | `Task`} with the `acquire` and `release` method.
|
|
111
|
+
*/
|
|
112
|
+
runWriter<TValue = void>(asyncFn: AsyncLazy<TValue>): Task<Result<TValue, FailedAcquireWriterLockError>>;
|
|
113
|
+
/**
|
|
114
|
+
* The `runWriterOrFail` method wraps an {@link Invokable | `Invokable`} or {@link Task | `Task`} with the `acquireOrFail` and `release` method.
|
|
115
|
+
* @throws {FailedAcquireWriterLockError} {@link FailedAcquireWriterLockError}
|
|
116
|
+
*/
|
|
117
|
+
runWriterOrFail<TValue = void>(asyncFn: AsyncLazy<TValue>): Task<TValue>;
|
|
118
|
+
/**
|
|
119
|
+
* The `runWriterBlocking` method wraps an {@link Invokable | `Invokable`} or {@link Task | `Task`} with the `acquireBlocking` and `release` method.
|
|
120
|
+
*/
|
|
121
|
+
runWriterBlocking<TValue = void>(asyncFn: AsyncLazy<TValue>, settings?: SharedLockAquireBlockingSettings): Task<Result<TValue, FailedAcquireWriterLockError>>;
|
|
122
|
+
/**
|
|
123
|
+
* The `runWriterBlockingOrFail` method wraps an {@link Invokable | `Invokable`} or {@link Task | `Task`} with the `acquireBlockingOrFail` and `release` method.
|
|
124
|
+
* @throws {FailedAcquireWriterLockError} {@link FailedAcquireWriterLockError}
|
|
125
|
+
*/
|
|
126
|
+
runWriterBlockingOrFail<TValue = void>(asyncFn: AsyncLazy<TValue>, settings?: SharedLockAquireBlockingSettings): Task<TValue>;
|
|
127
|
+
/**
|
|
128
|
+
* The `acquireWriter` method acquires a lock only if the key is not already acquired by different owner.
|
|
129
|
+
*
|
|
130
|
+
* @returns Returns true if the lock is not already acquired otherwise false is returned.
|
|
131
|
+
*/
|
|
132
|
+
acquireWriter(): Task<boolean>;
|
|
133
|
+
/**
|
|
134
|
+
* The `acquireWriterOrFail` method acquires a lock only if the key is not already acquired by different owner.
|
|
135
|
+
* Throws an error if the lock is already acquired by different owner.
|
|
136
|
+
*
|
|
137
|
+
* @throws {FailedAcquireWriterLockError} {@link FailedAcquireWriterLockError}
|
|
138
|
+
*/
|
|
139
|
+
acquireWriterOrFail(): Task<void>;
|
|
140
|
+
/**
|
|
141
|
+
* The `acquireWriterBlocking` method acquires a lock only if the key is not already acquired by different owner.
|
|
142
|
+
* If the lock is not acquired, it retries every `settings.interval` until `settings.time` is reached.
|
|
143
|
+
*
|
|
144
|
+
* @returns Returns true if the lock is not already acquired otherwise false is returned.
|
|
145
|
+
*/
|
|
146
|
+
acquireWriterBlocking(settings?: SharedLockAquireBlockingSettings): Task<boolean>;
|
|
147
|
+
/**
|
|
148
|
+
* The `acquireWriterBlockingOrFail` method acquires a lock only if the key is not already acquired by different owner.
|
|
149
|
+
* If the lock is not acquired, it retries every `settings.interval` until `settings.time` is reached.
|
|
150
|
+
* Throws an error if the lock is already acquired by different owner.
|
|
151
|
+
*
|
|
152
|
+
* @throws {FailedAcquireWriterLockError} {@link FailedAcquireWriterLockError}
|
|
153
|
+
*/
|
|
154
|
+
acquireWriterBlockingOrFail(settings?: SharedLockAquireBlockingSettings): Task<void>;
|
|
155
|
+
/**
|
|
156
|
+
* The `releaseWriter` method releases a lock if owned by the same owner.
|
|
157
|
+
*
|
|
158
|
+
* @returns Returns true if the lock is released otherwise false is returned.
|
|
159
|
+
*/
|
|
160
|
+
releaseWriter(): Task<boolean>;
|
|
161
|
+
/**
|
|
162
|
+
* The `releaseWriterOrFail` method releases a lock if owned by the same owner.
|
|
163
|
+
* Throws an error if the lock is not owned by same owner.
|
|
164
|
+
*
|
|
165
|
+
* @throws {FailedReleaseWriterLockError} {@link FailedReleaseWriterLockError}
|
|
166
|
+
*/
|
|
167
|
+
releaseWriterOrFail(): Task<void>;
|
|
168
|
+
/**
|
|
169
|
+
* The `forceReleaseWriter` method releases a lock regardless of the owner.
|
|
170
|
+
*
|
|
171
|
+
* @returns Returns true if the lock exists or false if the lock doesnt exists.
|
|
172
|
+
*/
|
|
173
|
+
forceReleaseWriter(): Task<boolean>;
|
|
174
|
+
/**
|
|
175
|
+
* The `refreshWriter` method updates the `ttl` of the lock if expireable and owned by the same owner.
|
|
176
|
+
*
|
|
177
|
+
* @returns Returns true if the lock is refreshed otherwise false is returned.
|
|
178
|
+
*/
|
|
179
|
+
refreshWriter(ttl?: ITimeSpan): Task<boolean>;
|
|
180
|
+
/**
|
|
181
|
+
* The `refreshWriterOrFail` method updates the `ttl` of the lock if expireable and owned by the same owner.
|
|
182
|
+
* Throws an error if the lock is not owned by same owner.
|
|
183
|
+
* Throws an error if the key is unexpirable.
|
|
184
|
+
*
|
|
185
|
+
* @throws {FailedRefreshWriterLockError} {@link FailedRefreshWriterLockError}
|
|
186
|
+
*/
|
|
187
|
+
refreshWriterOrFail(ttl?: ITimeSpan): Task<void>;
|
|
188
|
+
};
|
|
189
|
+
/**
|
|
190
|
+
*
|
|
191
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
192
|
+
* @group Contracts
|
|
193
|
+
*/
|
|
194
|
+
export type ISharedLockStateMethods = {
|
|
195
|
+
getState(): Task<ISharedLockState>;
|
|
196
|
+
/**
|
|
197
|
+
* The `key` of the `ISharedLock` instance.
|
|
198
|
+
*/
|
|
199
|
+
readonly key: string;
|
|
200
|
+
/**
|
|
201
|
+
* The `id` of the `ISharedLock` instance.
|
|
202
|
+
*/
|
|
203
|
+
readonly id: string;
|
|
204
|
+
/**
|
|
205
|
+
* The `ttl` of `ISharedLock` instance.
|
|
206
|
+
*/
|
|
207
|
+
readonly ttl: TimeSpan | null;
|
|
208
|
+
};
|
|
209
|
+
/**
|
|
210
|
+
*
|
|
211
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
212
|
+
* @group Contracts
|
|
213
|
+
*/
|
|
214
|
+
export type ISharedLockBase = IReaderSemaphore & IWriterLock & {
|
|
215
|
+
forceRelease(): Task<boolean>;
|
|
216
|
+
};
|
|
217
|
+
/**
|
|
218
|
+
*
|
|
219
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
220
|
+
* @group Contracts
|
|
221
|
+
*/
|
|
222
|
+
export type ISharedLock = ISharedLockBase & ISharedLockStateMethods;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module SharedLock
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6
|
+
FailedRefreshReaderSemaphoreError,
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
8
|
+
FailedReleaseReaderSemaphoreError,
|
|
9
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
10
|
+
FailedReleaseWriterLockError,
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
12
|
+
FailedRefreshWriterLockError, } from "../../shared-lock/contracts/shared-lock.errors.js";
|
|
13
|
+
//# sourceMappingURL=shared-lock.contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-lock.contract.js","sourceRoot":"","sources":["../../../src/shared-lock/contracts/shared-lock.contract.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH,OAAO;AACH,6DAA6D;AAC7D,iCAAiC;AACjC,6DAA6D;AAC7D,iCAAiC;AACjC,6DAA6D;AAC7D,4BAA4B;AAC5B,6DAA6D;AAC7D,4BAA4B,GAC/B,MAAM,+CAA+C,CAAC"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module SharedLock
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* The error is thrown when trying to acquire a semaphore slot, but all slots are already taken.
|
|
6
|
+
*
|
|
7
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
8
|
+
* @group Errors
|
|
9
|
+
*/
|
|
10
|
+
export declare class LimitReachedReaderSemaphoreError extends Error {
|
|
11
|
+
constructor(message: string, cause?: unknown);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* The error is thrown when trying to referesh a semaphore slot that is already expired.
|
|
15
|
+
*
|
|
16
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
17
|
+
* @group Errors
|
|
18
|
+
*/
|
|
19
|
+
export declare class FailedRefreshReaderSemaphoreError extends Error {
|
|
20
|
+
constructor(message: string, cause?: unknown);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The error is thrown when trying to release a semaphore slot that is already expired.
|
|
24
|
+
*
|
|
25
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
26
|
+
* @group Errors
|
|
27
|
+
*/
|
|
28
|
+
export declare class FailedReleaseReaderSemaphoreError extends Error {
|
|
29
|
+
constructor(message: string, cause?: unknown);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
*
|
|
33
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
34
|
+
* @group Errors
|
|
35
|
+
*/
|
|
36
|
+
export declare const READER_SEMAPHORE_ERRORS: {
|
|
37
|
+
readonly ReachedLimit: typeof LimitReachedReaderSemaphoreError;
|
|
38
|
+
readonly FailedRefresh: typeof FailedRefreshReaderSemaphoreError;
|
|
39
|
+
readonly FailedRelease: typeof FailedReleaseReaderSemaphoreError;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
*
|
|
43
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
44
|
+
* @group Errors
|
|
45
|
+
*/
|
|
46
|
+
export type AllReaderSemaphoreErrors = LimitReachedReaderSemaphoreError | FailedRefreshReaderSemaphoreError | FailedReleaseReaderSemaphoreError;
|
|
47
|
+
/**
|
|
48
|
+
*
|
|
49
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
50
|
+
* @group Errors
|
|
51
|
+
*/
|
|
52
|
+
export declare function isReaderSemaphoreError(value: unknown): value is AllReaderSemaphoreErrors;
|
|
53
|
+
/**
|
|
54
|
+
* The error is thrown when trying to acquire a lock that is owned by a different owner.
|
|
55
|
+
*
|
|
56
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
57
|
+
* @group Errors
|
|
58
|
+
*/
|
|
59
|
+
export declare class FailedAcquireWriterLockError extends Error {
|
|
60
|
+
constructor(message: string, cause?: unknown);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* The error is thrown when trying to release a lock that is owned by a different owner.
|
|
64
|
+
*
|
|
65
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
66
|
+
* @group Errors
|
|
67
|
+
*/
|
|
68
|
+
export declare class FailedReleaseWriterLockError extends Error {
|
|
69
|
+
constructor(message: string, cause?: unknown);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* The error is thrown when trying to referesh a lock that is owned by a different owner.
|
|
73
|
+
*
|
|
74
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
75
|
+
* @group Errors
|
|
76
|
+
*/
|
|
77
|
+
export declare class FailedRefreshWriterLockError extends Error {
|
|
78
|
+
constructor(message: string, cause?: unknown);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
*
|
|
82
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
83
|
+
* @group Errors
|
|
84
|
+
*/
|
|
85
|
+
export declare const WRITER_LOCK_ERRORS: {
|
|
86
|
+
readonly FailedAcquire: typeof FailedAcquireWriterLockError;
|
|
87
|
+
readonly FailedRelease: typeof FailedReleaseWriterLockError;
|
|
88
|
+
readonly FailedRefresh: typeof FailedRefreshWriterLockError;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
*
|
|
92
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
93
|
+
* @group Errors
|
|
94
|
+
*/
|
|
95
|
+
export type AllWriterLockErrors = FailedAcquireWriterLockError | FailedReleaseWriterLockError | FailedRefreshWriterLockError;
|
|
96
|
+
/**
|
|
97
|
+
*
|
|
98
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
99
|
+
* @group Errors
|
|
100
|
+
*/
|
|
101
|
+
export declare function isWriterLockError(value: unknown): value is AllWriterLockErrors;
|
|
102
|
+
/**
|
|
103
|
+
*
|
|
104
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
105
|
+
* @group Errors
|
|
106
|
+
*/
|
|
107
|
+
export declare const SHARED_LOCK_ERRORS: {
|
|
108
|
+
readonly FailedAcquire: typeof FailedAcquireWriterLockError;
|
|
109
|
+
readonly FailedRelease: typeof FailedReleaseWriterLockError;
|
|
110
|
+
readonly FailedRefresh: typeof FailedRefreshWriterLockError;
|
|
111
|
+
readonly ReachedLimit: typeof LimitReachedReaderSemaphoreError;
|
|
112
|
+
};
|
|
113
|
+
/**
|
|
114
|
+
*
|
|
115
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
116
|
+
* @group Errors
|
|
117
|
+
*/
|
|
118
|
+
export type AllSharedLockErrors = AllWriterLockErrors | AllReaderSemaphoreErrors;
|
|
119
|
+
/**
|
|
120
|
+
*
|
|
121
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
122
|
+
* @group Errors
|
|
123
|
+
*/
|
|
124
|
+
export declare function isSharedLockError(value: unknown): value is AllSharedLockErrors;
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module SharedLock
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* The error is thrown when trying to acquire a semaphore slot, but all slots are already taken.
|
|
6
|
+
*
|
|
7
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
8
|
+
* @group Errors
|
|
9
|
+
*/
|
|
10
|
+
export class LimitReachedReaderSemaphoreError extends Error {
|
|
11
|
+
constructor(message, cause) {
|
|
12
|
+
super(message, { cause });
|
|
13
|
+
this.name = LimitReachedReaderSemaphoreError.name;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The error is thrown when trying to referesh a semaphore slot that is already expired.
|
|
18
|
+
*
|
|
19
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
20
|
+
* @group Errors
|
|
21
|
+
*/
|
|
22
|
+
export class FailedRefreshReaderSemaphoreError extends Error {
|
|
23
|
+
constructor(message, cause) {
|
|
24
|
+
super(message, { cause });
|
|
25
|
+
this.name = FailedRefreshReaderSemaphoreError.name;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* The error is thrown when trying to release a semaphore slot that is already expired.
|
|
30
|
+
*
|
|
31
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
32
|
+
* @group Errors
|
|
33
|
+
*/
|
|
34
|
+
export class FailedReleaseReaderSemaphoreError extends Error {
|
|
35
|
+
constructor(message, cause) {
|
|
36
|
+
super(message, { cause });
|
|
37
|
+
this.name = FailedReleaseReaderSemaphoreError.name;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
*
|
|
42
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
43
|
+
* @group Errors
|
|
44
|
+
*/
|
|
45
|
+
export const READER_SEMAPHORE_ERRORS = {
|
|
46
|
+
ReachedLimit: LimitReachedReaderSemaphoreError,
|
|
47
|
+
FailedRefresh: FailedRefreshReaderSemaphoreError,
|
|
48
|
+
FailedRelease: FailedReleaseReaderSemaphoreError,
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
*
|
|
52
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
53
|
+
* @group Errors
|
|
54
|
+
*/
|
|
55
|
+
export function isReaderSemaphoreError(value) {
|
|
56
|
+
for (const ErrorClass of Object.values(READER_SEMAPHORE_ERRORS)) {
|
|
57
|
+
if (!(value instanceof ErrorClass)) {
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* The error is thrown when trying to acquire a lock that is owned by a different owner.
|
|
65
|
+
*
|
|
66
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
67
|
+
* @group Errors
|
|
68
|
+
*/
|
|
69
|
+
export class FailedAcquireWriterLockError extends Error {
|
|
70
|
+
constructor(message, cause) {
|
|
71
|
+
super(message, { cause });
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* The error is thrown when trying to release a lock that is owned by a different owner.
|
|
76
|
+
*
|
|
77
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
78
|
+
* @group Errors
|
|
79
|
+
*/
|
|
80
|
+
export class FailedReleaseWriterLockError extends Error {
|
|
81
|
+
constructor(message, cause) {
|
|
82
|
+
super(message, { cause });
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* The error is thrown when trying to referesh a lock that is owned by a different owner.
|
|
87
|
+
*
|
|
88
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
89
|
+
* @group Errors
|
|
90
|
+
*/
|
|
91
|
+
export class FailedRefreshWriterLockError extends Error {
|
|
92
|
+
constructor(message, cause) {
|
|
93
|
+
super(message, { cause });
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
*
|
|
98
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
99
|
+
* @group Errors
|
|
100
|
+
*/
|
|
101
|
+
export const WRITER_LOCK_ERRORS = {
|
|
102
|
+
FailedAcquire: FailedAcquireWriterLockError,
|
|
103
|
+
FailedRelease: FailedReleaseWriterLockError,
|
|
104
|
+
FailedRefresh: FailedRefreshWriterLockError,
|
|
105
|
+
};
|
|
106
|
+
/**
|
|
107
|
+
*
|
|
108
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
109
|
+
* @group Errors
|
|
110
|
+
*/
|
|
111
|
+
export function isWriterLockError(value) {
|
|
112
|
+
for (const ErrorClass of Object.values(WRITER_LOCK_ERRORS)) {
|
|
113
|
+
if (!(value instanceof ErrorClass)) {
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return true;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
*
|
|
121
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
122
|
+
* @group Errors
|
|
123
|
+
*/
|
|
124
|
+
export const SHARED_LOCK_ERRORS = {
|
|
125
|
+
...READER_SEMAPHORE_ERRORS,
|
|
126
|
+
...WRITER_LOCK_ERRORS,
|
|
127
|
+
};
|
|
128
|
+
/**
|
|
129
|
+
*
|
|
130
|
+
* IMPORT_PATH: `"@daiso-tech/core/shared-lock/contracts"`
|
|
131
|
+
* @group Errors
|
|
132
|
+
*/
|
|
133
|
+
export function isSharedLockError(value) {
|
|
134
|
+
return isReaderSemaphoreError(value) || isWriterLockError(value);
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=shared-lock.errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-lock.errors.js","sourceRoot":"","sources":["../../../src/shared-lock/contracts/shared-lock.errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AACH,MAAM,OAAO,gCAAiC,SAAQ,KAAK;IACvD,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC,IAAI,CAAC;IACtD,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,iCAAkC,SAAQ,KAAK;IACxD,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC,IAAI,CAAC;IACvD,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,iCAAkC,SAAQ,KAAK;IACxD,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,iCAAiC,CAAC,IAAI,CAAC;IACvD,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACnC,YAAY,EAAE,gCAAgC;IAC9C,aAAa,EAAE,iCAAiC;IAChD,aAAa,EAAE,iCAAiC;CAC1C,CAAC;AAYX;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAClC,KAAc;IAEd,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,EAAE,CAAC;QAC9D,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;GAKG;AACH,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACnD,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACnD,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACnD,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9B,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,aAAa,EAAE,4BAA4B;IAC3C,aAAa,EAAE,4BAA4B;IAC3C,aAAa,EAAE,4BAA4B;CACrC,CAAC;AAYX;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC7B,KAAc;IAEd,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACzD,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAC9B,GAAG,uBAAuB;IAC1B,GAAG,kBAAkB;CACf,CAAC;AAWX;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC7B,KAAc;IAEd,OAAO,sBAAsB,CAAC,KAAK,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,CAAC;AACrE,CAAC"}
|