@daiso-tech/core 0.49.1 → 0.50.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 +1 -1
- package/dist/cache/contracts/_module-exports.d.ts +1 -1
- package/dist/cache/contracts/_module.d.ts +1 -1
- package/dist/cache/contracts/{cache-factory.contract.d.ts → cache-resolver.contract.d.ts} +2 -2
- package/dist/cache/contracts/{cache-factory.contract.js → cache-resolver.contract.js} +1 -1
- package/dist/cache/contracts/cache-resolver.contract.js.map +1 -0
- package/dist/cache/contracts/cache.contract.d.ts +2 -2
- package/dist/cache/contracts/cache.errors.d.ts +3 -1
- package/dist/cache/contracts/cache.errors.js +5 -3
- package/dist/cache/contracts/cache.errors.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 +1 -2
- package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/derivables/_module-exports.d.ts +1 -1
- package/dist/cache/implementations/derivables/_module-exports.js +1 -1
- package/dist/cache/implementations/derivables/_module-exports.js.map +1 -1
- package/dist/cache/implementations/derivables/_module.d.ts +1 -1
- package/dist/cache/implementations/derivables/_module.js +1 -1
- package/dist/cache/implementations/derivables/_module.js.map +1 -1
- package/dist/cache/implementations/derivables/{cache-factory → cache-resolver}/_module.d.ts +1 -1
- package/dist/cache/implementations/derivables/cache-resolver/_module.js +2 -0
- package/dist/cache/implementations/derivables/cache-resolver/_module.js.map +1 -0
- package/dist/cache/implementations/derivables/{cache-factory/cache-factory.d.ts → cache-resolver/cache-resolver.d.ts} +18 -18
- package/dist/cache/implementations/derivables/{cache-factory/cache-factory.js → cache-resolver/cache-resolver.js} +17 -17
- package/dist/cache/implementations/derivables/cache-resolver/cache-resolver.js.map +1 -0
- package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.d.ts +10 -0
- package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js +47 -43
- package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js.map +1 -1
- package/dist/cache/implementations/test-utilities/cache.test-suite.d.ts +10 -0
- package/dist/cache/implementations/test-utilities/cache.test-suite.js +34 -34
- package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
- package/dist/circuit-breaker/contracts/_module-exports.d.ts +2 -2
- package/dist/circuit-breaker/contracts/_module-exports.js +1 -1
- package/dist/circuit-breaker/contracts/_module-exports.js.map +1 -1
- package/dist/circuit-breaker/contracts/_module.d.ts +2 -2
- package/dist/circuit-breaker/contracts/_module.js +1 -1
- package/dist/circuit-breaker/contracts/_module.js.map +1 -1
- package/dist/circuit-breaker/contracts/circuit-breaker-adapter.contract.d.ts +1 -1
- package/dist/circuit-breaker/contracts/circuit-breaker-adapter.contract.js +1 -1
- package/dist/circuit-breaker/contracts/circuit-breaker-adapter.contract.js.map +1 -1
- package/dist/circuit-breaker/contracts/{circuit-breaker-provider-factory.contract.d.ts → circuit-breaker-factory-resolver.contract.d.ts} +4 -4
- package/dist/circuit-breaker/contracts/{circuit-breaker-provider-factory.contract.js → circuit-breaker-factory-resolver.contract.js} +2 -2
- package/dist/circuit-breaker/contracts/circuit-breaker-factory-resolver.contract.js.map +1 -0
- package/dist/circuit-breaker/contracts/{circuit-breaker-provider.contract.d.ts → circuit-breaker-factory.contract.d.ts} +4 -4
- package/dist/circuit-breaker/contracts/{circuit-breaker-provider.contract.js → circuit-breaker-factory.contract.js} +1 -1
- package/dist/circuit-breaker/contracts/circuit-breaker-factory.contract.js.map +1 -0
- package/dist/circuit-breaker/contracts/circuit-breaker.errors.d.ts +2 -1
- package/dist/circuit-breaker/contracts/circuit-breaker.errors.js +4 -3
- package/dist/circuit-breaker/contracts/circuit-breaker.errors.js.map +1 -1
- package/dist/circuit-breaker/implementations/adapters/memory-circuit-breaker-storage-adapter/memory-circuit-breaker-storage-adapter.d.ts +1 -1
- package/dist/circuit-breaker/implementations/adapters/memory-circuit-breaker-storage-adapter/memory-circuit-breaker-storage-adapter.js +1 -1
- package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-adapter/no-op-circuit-breaker-adapter.d.ts +1 -1
- package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-adapter/no-op-circuit-breaker-adapter.js +1 -1
- package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-storage-adapter/no-op-circuit-breaker-storage-adapter.d.ts +1 -1
- package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-storage-adapter/no-op-circuit-breaker-storage-adapter.js +1 -1
- package/dist/circuit-breaker/implementations/derivables/_module-exports.d.ts +2 -2
- package/dist/circuit-breaker/implementations/derivables/_module-exports.js +2 -2
- package/dist/circuit-breaker/implementations/derivables/_module-exports.js.map +1 -1
- package/dist/circuit-breaker/implementations/derivables/_module.d.ts +2 -2
- package/dist/circuit-breaker/implementations/derivables/_module.js +2 -2
- package/dist/circuit-breaker/implementations/derivables/_module.js.map +1 -1
- package/dist/circuit-breaker/implementations/derivables/{circuit-breaker-provider → circuit-breaker-factory}/_module.d.ts +1 -1
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-factory/_module.js +2 -0
- package/dist/circuit-breaker/implementations/derivables/{circuit-breaker-provider → circuit-breaker-factory}/_module.js.map +1 -1
- package/dist/circuit-breaker/implementations/derivables/{circuit-breaker-provider/circuit-breaker-provider.d.ts → circuit-breaker-factory/circuit-breaker-factory.d.ts} +9 -9
- package/dist/circuit-breaker/implementations/derivables/{circuit-breaker-provider/circuit-breaker-provider.js → circuit-breaker-factory/circuit-breaker-factory.js} +7 -7
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-factory/circuit-breaker-factory.js.map +1 -0
- package/dist/circuit-breaker/implementations/derivables/{circuit-breaker-provider → circuit-breaker-factory}/circuit-breaker-serde-transformer.d.ts +1 -1
- package/dist/circuit-breaker/implementations/derivables/{circuit-breaker-provider → circuit-breaker-factory}/circuit-breaker-serde-transformer.js +1 -1
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-factory/circuit-breaker-serde-transformer.js.map +1 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-factory/circuit-breaker.js.map +1 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-factory-resolver/_module.d.ts +2 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-factory-resolver/_module.js +3 -0
- package/dist/circuit-breaker/implementations/derivables/{circuit-breaker-provider-factory → circuit-breaker-factory-resolver}/_module.js.map +1 -1
- package/dist/circuit-breaker/implementations/derivables/{circuit-breaker-provider-factory/circuit-breaker-provider-factory.d.ts → circuit-breaker-factory-resolver/circuit-breaker-factory-resolver.d.ts} +18 -18
- package/dist/circuit-breaker/implementations/derivables/{circuit-breaker-provider-factory/circuit-breaker-provider-factory.js → circuit-breaker-factory-resolver/circuit-breaker-factory-resolver.js} +17 -17
- package/dist/circuit-breaker/implementations/derivables/{circuit-breaker-provider-factory/circuit-breaker-provider-factory.js.map → circuit-breaker-factory-resolver/circuit-breaker-factory-resolver.js.map} +1 -1
- package/dist/circuit-breaker/implementations/derivables/{circuit-breaker-provider-factory/database-circuit-breaker-provider-factory.d.ts → circuit-breaker-factory-resolver/database-circuit-breaker-factory-resolver.d.ts} +20 -20
- package/dist/circuit-breaker/implementations/derivables/{circuit-breaker-provider-factory/database-circuit-breaker-provider-factory.js → circuit-breaker-factory-resolver/database-circuit-breaker-factory-resolver.js} +19 -19
- package/dist/circuit-breaker/implementations/derivables/{circuit-breaker-provider-factory/database-circuit-breaker-provider-factory.js.map → circuit-breaker-factory-resolver/database-circuit-breaker-factory-resolver.js.map} +1 -1
- package/dist/circuit-breaker/implementations/test-utilities/consecutive-breaker.test-suite.d.ts +10 -0
- package/dist/circuit-breaker/implementations/test-utilities/consecutive-breaker.test-suite.js +12 -11
- package/dist/circuit-breaker/implementations/test-utilities/consecutive-breaker.test-suite.js.map +1 -1
- package/dist/circuit-breaker/implementations/test-utilities/count-breaker.test-suite.d.ts +10 -0
- package/dist/circuit-breaker/implementations/test-utilities/count-breaker.test-suite.js +13 -12
- package/dist/circuit-breaker/implementations/test-utilities/count-breaker.test-suite.js.map +1 -1
- package/dist/circuit-breaker/implementations/test-utilities/sampling-breaker.test-suite.d.ts +10 -0
- package/dist/circuit-breaker/implementations/test-utilities/sampling-breaker.test-suite.js +3 -2
- package/dist/circuit-breaker/implementations/test-utilities/sampling-breaker.test-suite.js.map +1 -1
- package/dist/codec/contracts/codec.errors.d.ts +2 -1
- package/dist/codec/contracts/codec.errors.js +4 -3
- package/dist/codec/contracts/codec.errors.js.map +1 -1
- package/dist/collection/contracts/collection.errors.d.ts +11 -0
- package/dist/collection/contracts/collection.errors.js +13 -0
- package/dist/collection/contracts/collection.errors.js.map +1 -1
- package/dist/event-bus/contracts/_module-exports.d.ts +1 -1
- package/dist/event-bus/contracts/_module.d.ts +1 -1
- package/dist/event-bus/contracts/{event-bus-factory.contract.d.ts → event-bus-resolver.contract.d.ts} +2 -2
- package/dist/event-bus/contracts/{event-bus-factory.contract.js → event-bus-resolver.contract.js} +1 -1
- package/dist/event-bus/contracts/event-bus-resolver.contract.js.map +1 -0
- package/dist/event-bus/contracts/event-bus.contract.d.ts +1 -1
- package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +1 -1
- package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +1 -1
- package/dist/event-bus/implementations/derivables/_module-exports.d.ts +1 -1
- package/dist/event-bus/implementations/derivables/_module-exports.js +1 -1
- package/dist/event-bus/implementations/derivables/_module-exports.js.map +1 -1
- package/dist/event-bus/implementations/derivables/_module.d.ts +1 -1
- package/dist/event-bus/implementations/derivables/_module.js +1 -1
- package/dist/event-bus/implementations/derivables/_module.js.map +1 -1
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +0 -2
- 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-resolver}/_module.d.ts +1 -1
- package/dist/event-bus/implementations/derivables/event-bus-resolver/_module.js +2 -0
- package/dist/event-bus/implementations/derivables/event-bus-resolver/_module.js.map +1 -0
- package/dist/event-bus/implementations/derivables/{event-bus-factory/event-bus-factory.d.ts → event-bus-resolver/event-bus-resolver.d.ts} +18 -16
- package/dist/event-bus/implementations/derivables/{event-bus-factory/event-bus-factory.js → event-bus-resolver/event-bus-resolver.js} +17 -15
- package/dist/event-bus/implementations/derivables/event-bus-resolver/event-bus-resolver.js.map +1 -0
- package/dist/file-storage/contracts/_module-exports.d.ts +1 -1
- package/dist/file-storage/contracts/_module.d.ts +1 -1
- package/dist/file-storage/contracts/{file-storage-factory.contract.d.ts → file-storage-resolver.contract.d.ts} +2 -2
- package/dist/file-storage/contracts/{file-storage-factory.contract.js → file-storage-resolver.contract.js} +1 -1
- package/dist/file-storage/contracts/file-storage-resolver.contract.js.map +1 -0
- package/dist/file-storage/contracts/file-storage.contract.d.ts +2 -2
- package/dist/file-storage/contracts/file.errors.d.ts +2 -1
- package/dist/file-storage/contracts/file.errors.js +4 -3
- package/dist/file-storage/contracts/file.errors.js.map +1 -1
- package/dist/file-storage/implementations/derivables/_module-exports.d.ts +2 -2
- package/dist/file-storage/implementations/derivables/_module-exports.js +2 -2
- package/dist/file-storage/implementations/derivables/_module-exports.js.map +1 -1
- package/dist/file-storage/implementations/derivables/_module.d.ts +1 -1
- package/dist/file-storage/implementations/derivables/_module.js +1 -1
- package/dist/file-storage/implementations/derivables/_module.js.map +1 -1
- package/dist/file-storage/implementations/derivables/{file-storage-factory → file-storage-resolver}/_module.d.ts +1 -1
- package/dist/file-storage/implementations/derivables/file-storage-resolver/_module.js +2 -0
- package/dist/file-storage/implementations/derivables/{file-storage-factory → file-storage-resolver}/_module.js.map +1 -1
- package/dist/file-storage/implementations/derivables/{file-storage-factory/file-storage-factory.d.ts → file-storage-resolver/file-storage-resolver.d.ts} +16 -16
- package/dist/file-storage/implementations/derivables/{file-storage-factory/file-storage-factory.js → file-storage-resolver/file-storage-resolver.js} +15 -15
- package/dist/file-storage/implementations/derivables/file-storage-resolver/file-storage-resolver.js.map +1 -0
- package/dist/file-storage/implementations/test-utilities/file-storage-adapter.test-suite.js +1 -42
- package/dist/file-storage/implementations/test-utilities/file-storage-adapter.test-suite.js.map +1 -1
- package/dist/file-storage/implementations/test-utilities/file-storage.test-suite.js +1 -59
- package/dist/file-storage/implementations/test-utilities/file-storage.test-suite.js.map +1 -1
- package/dist/lock/contracts/_module-exports.d.ts +2 -2
- package/dist/lock/contracts/_module.d.ts +2 -2
- package/dist/lock/contracts/database-lock-adapter.contract.d.ts +7 -7
- package/dist/lock/contracts/lock-adapter.contract.d.ts +1 -1
- package/dist/lock/contracts/lock-adapter.contract.js +1 -1
- package/dist/lock/contracts/lock-adapter.contract.js.map +1 -1
- package/dist/lock/contracts/{lock-provider-factory.contract.d.ts → lock-factory-resolver.contract.d.ts} +4 -4
- package/dist/lock/contracts/{lock-provider-factory.contract.js → lock-factory-resolver.contract.js} +2 -2
- package/dist/lock/contracts/lock-factory-resolver.contract.js.map +1 -0
- package/dist/lock/contracts/{lock-provider.contract.d.ts → lock-factory.contract.d.ts} +6 -6
- package/dist/lock/contracts/{lock-provider.contract.js → lock-factory.contract.js} +1 -1
- package/dist/lock/contracts/lock-factory.contract.js.map +1 -0
- package/dist/lock/contracts/lock.contract.d.ts +2 -1
- package/dist/lock/contracts/lock.contract.js +1 -0
- package/dist/lock/contracts/lock.contract.js.map +1 -1
- package/dist/lock/contracts/lock.errors.d.ts +3 -2
- package/dist/lock/contracts/lock.errors.js +5 -4
- package/dist/lock/contracts/lock.errors.js.map +1 -1
- package/dist/lock/contracts/lock.events.d.ts +2 -2
- package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.d.ts +1 -1
- package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js +1 -1
- package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.d.ts +1 -1
- package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js +1 -1
- package/dist/lock/implementations/derivables/_module-exports.d.ts +2 -2
- package/dist/lock/implementations/derivables/_module-exports.js +2 -2
- package/dist/lock/implementations/derivables/_module-exports.js.map +1 -1
- package/dist/lock/implementations/derivables/_module.d.ts +2 -2
- package/dist/lock/implementations/derivables/_module.js +2 -2
- package/dist/lock/implementations/derivables/_module.js.map +1 -1
- package/dist/lock/implementations/derivables/{lock-provider → lock-factory}/_module.d.ts +2 -2
- package/dist/lock/implementations/derivables/{lock-provider → lock-factory}/_module.js +2 -2
- package/dist/lock/implementations/derivables/lock-factory/_module.js.map +1 -0
- package/dist/lock/implementations/derivables/lock-factory/database-lock-adapter.js.map +1 -0
- package/dist/lock/implementations/derivables/lock-factory/is-database-lock-adapter.js.map +1 -0
- package/dist/lock/implementations/derivables/{lock-provider/lock-provider.d.ts → lock-factory/lock-factory.d.ts} +14 -14
- package/dist/lock/implementations/derivables/{lock-provider/lock-provider.js → lock-factory/lock-factory.js} +12 -12
- package/dist/lock/implementations/derivables/lock-factory/lock-factory.js.map +1 -0
- package/dist/lock/implementations/derivables/{lock-provider → lock-factory}/lock-serde-transformer.d.ts +1 -1
- package/dist/lock/implementations/derivables/{lock-provider → lock-factory}/lock-serde-transformer.js +1 -1
- package/dist/lock/implementations/derivables/lock-factory/lock-serde-transformer.js.map +1 -0
- package/dist/lock/implementations/derivables/lock-factory/lock.js.map +1 -0
- package/dist/lock/implementations/derivables/{lock-provider → lock-factory}/resolve-lock-adapter.js +2 -2
- package/dist/lock/implementations/derivables/lock-factory/resolve-lock-adapter.js.map +1 -0
- package/dist/lock/implementations/derivables/{lock-provider-factory → lock-factory-resolver}/_module.d.ts +1 -1
- package/dist/lock/implementations/derivables/lock-factory-resolver/_module.js +2 -0
- package/dist/lock/implementations/derivables/lock-factory-resolver/_module.js.map +1 -0
- package/dist/lock/implementations/derivables/{lock-provider-factory/lock-provider-factory.d.ts → lock-factory-resolver/lock-factory-resolver.d.ts} +20 -20
- package/dist/lock/implementations/derivables/{lock-provider-factory/lock-provider-factory.js → lock-factory-resolver/lock-factory-resolver.js} +19 -19
- package/dist/lock/implementations/derivables/lock-factory-resolver/lock-factory-resolver.js.map +1 -0
- package/dist/lock/implementations/test-utilities/_module-exports.d.ts +1 -1
- package/dist/lock/implementations/test-utilities/_module-exports.js +1 -1
- package/dist/lock/implementations/test-utilities/_module-exports.js.map +1 -1
- package/dist/lock/implementations/test-utilities/_module.d.ts +1 -1
- package/dist/lock/implementations/test-utilities/_module.js +1 -1
- package/dist/lock/implementations/test-utilities/_module.js.map +1 -1
- package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.d.ts +10 -0
- package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js +147 -164
- 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 → lock-factory.test-suite.d.ts} +37 -13
- package/dist/lock/implementations/test-utilities/{lock-provider.test-suite.js → lock-factory.test-suite.js} +488 -549
- package/dist/lock/implementations/test-utilities/lock-factory.test-suite.js.map +1 -0
- package/dist/rate-limiter/contracts/_module-exports.d.ts +2 -2
- package/dist/rate-limiter/contracts/_module.d.ts +2 -2
- package/dist/rate-limiter/contracts/rate-limiter-adapter.contract.d.ts +1 -1
- package/dist/rate-limiter/contracts/rate-limiter-adapter.contract.js +1 -1
- package/dist/rate-limiter/contracts/rate-limiter-adapter.contract.js.map +1 -1
- package/dist/rate-limiter/contracts/{rate-limiter-provider-factory.contract.d.ts → rate-limiter-factory-resolver.contract.d.ts} +4 -4
- package/dist/rate-limiter/contracts/{rate-limiter-provider-factory.contract.js → rate-limiter-factory-resolver.contract.js} +2 -2
- package/dist/rate-limiter/contracts/rate-limiter-factory-resolver.contract.js.map +1 -0
- package/dist/rate-limiter/contracts/{rate-limiter-provider.contract.d.ts → rate-limiter-factory.contract.d.ts} +4 -4
- package/dist/rate-limiter/contracts/{rate-limiter-provider.contract.js → rate-limiter-factory.contract.js} +1 -1
- package/dist/rate-limiter/contracts/rate-limiter-factory.contract.js.map +1 -0
- package/dist/rate-limiter/contracts/rate-limiter.errors.d.ts +3 -2
- package/dist/rate-limiter/contracts/rate-limiter.errors.js +6 -5
- package/dist/rate-limiter/contracts/rate-limiter.errors.js.map +1 -1
- package/dist/rate-limiter/implementations/adapters/memory-rate-limiter-storage-adapter/memory-rate-limiter-storage-adapter.d.ts +1 -1
- package/dist/rate-limiter/implementations/adapters/memory-rate-limiter-storage-adapter/memory-rate-limiter-storage-adapter.js +1 -1
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-adapter/no-op-rate-limiter-adapter.d.ts +1 -1
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-adapter/no-op-rate-limiter-adapter.js +1 -1
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-storage-adapter/no-op-rate-limiter-storage-adapter.d.ts +1 -1
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-storage-adapter/no-op-rate-limiter-storage-adapter.js +1 -1
- package/dist/rate-limiter/implementations/derivables/_module-exports.d.ts +2 -2
- package/dist/rate-limiter/implementations/derivables/_module-exports.js +2 -2
- package/dist/rate-limiter/implementations/derivables/_module-exports.js.map +1 -1
- package/dist/rate-limiter/implementations/derivables/_module.d.ts +2 -2
- package/dist/rate-limiter/implementations/derivables/_module.js +2 -2
- package/dist/rate-limiter/implementations/derivables/_module.js.map +1 -1
- package/dist/rate-limiter/implementations/derivables/{rate-limiter-provider → rate-limiter-factory}/_module.d.ts +1 -1
- package/dist/rate-limiter/implementations/derivables/rate-limiter-factory/_module.js +2 -0
- package/dist/rate-limiter/implementations/derivables/{rate-limiter-provider → rate-limiter-factory}/_module.js.map +1 -1
- package/dist/rate-limiter/implementations/derivables/{rate-limiter-provider/rate-limiter-provider.d.ts → rate-limiter-factory/rate-limiter-factory.d.ts} +8 -8
- package/dist/rate-limiter/implementations/derivables/{rate-limiter-provider/rate-limiter-provider.js → rate-limiter-factory/rate-limiter-factory.js} +6 -6
- package/dist/rate-limiter/implementations/derivables/rate-limiter-factory/rate-limiter-factory.js.map +1 -0
- package/dist/rate-limiter/implementations/derivables/{rate-limiter-provider → rate-limiter-factory}/rate-limiter-serde-transformer.d.ts +1 -1
- package/dist/rate-limiter/implementations/derivables/{rate-limiter-provider → rate-limiter-factory}/rate-limiter-serde-transformer.js +1 -1
- package/dist/rate-limiter/implementations/derivables/rate-limiter-factory/rate-limiter-serde-transformer.js.map +1 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-factory/rate-limiter.js.map +1 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-factory-resolver/_module.d.ts +2 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-factory-resolver/_module.js +3 -0
- package/dist/rate-limiter/implementations/derivables/{rate-limiter-provider-factory → rate-limiter-factory-resolver}/_module.js.map +1 -1
- package/dist/rate-limiter/implementations/derivables/{rate-limiter-provider-factory/database-rate-limiter-provider-factory.d.ts → rate-limiter-factory-resolver/database-rate-limiter-factory-resolver.d.ts} +19 -19
- package/dist/rate-limiter/implementations/derivables/{rate-limiter-provider-factory/database-rate-limiter-provider-factory.js → rate-limiter-factory-resolver/database-rate-limiter-factory-resolver.js} +18 -18
- package/dist/rate-limiter/implementations/derivables/{rate-limiter-provider-factory/database-rate-limiter-provider-factory.js.map → rate-limiter-factory-resolver/database-rate-limiter-factory-resolver.js.map} +1 -1
- package/dist/rate-limiter/implementations/derivables/{rate-limiter-provider-factory/rate-limiter-provider-factory.d.ts → rate-limiter-factory-resolver/rate-limiter-factory-resolver.d.ts} +17 -17
- package/dist/rate-limiter/implementations/derivables/{rate-limiter-provider-factory/rate-limiter-provider-factory.js → rate-limiter-factory-resolver/rate-limiter-factory-resolver.js} +16 -16
- package/dist/rate-limiter/implementations/derivables/{rate-limiter-provider-factory/rate-limiter-provider-factory.js.map → rate-limiter-factory-resolver/rate-limiter-factory-resolver.js.map} +1 -1
- package/dist/rate-limiter/implementations/test-utilities/fixed-window-limiter.test-suite.d.ts +10 -0
- package/dist/rate-limiter/implementations/test-utilities/fixed-window-limiter.test-suite.js +7 -6
- package/dist/rate-limiter/implementations/test-utilities/fixed-window-limiter.test-suite.js.map +1 -1
- package/dist/rate-limiter/implementations/test-utilities/sliding-window-limiter.test-suite.d.ts +10 -0
- package/dist/rate-limiter/implementations/test-utilities/sliding-window-limiter.test-suite.js +3 -2
- package/dist/rate-limiter/implementations/test-utilities/sliding-window-limiter.test-suite.js.map +1 -1
- package/dist/resilience/middlewares/timeout/timeout.middleware.js.map +1 -1
- package/dist/semaphore/contracts/_module-exports.d.ts +2 -2
- package/dist/semaphore/contracts/_module.d.ts +2 -2
- package/dist/semaphore/contracts/semaphore-adapter.contract.d.ts +1 -1
- package/dist/semaphore/contracts/semaphore-adapter.contract.js +1 -1
- package/dist/semaphore/contracts/semaphore-adapter.contract.js.map +1 -1
- package/dist/semaphore/contracts/{semaphore-provider-factory.contract.d.ts → semaphore-factory-resolver.contract.d.ts} +4 -4
- package/dist/semaphore/contracts/{semaphore-provider-factory.contract.js → semaphore-factory-resolver.contract.js} +2 -2
- package/dist/semaphore/contracts/semaphore-factory-resolver.contract.js.map +1 -0
- package/dist/semaphore/contracts/{semaphore-provider.contract.d.ts → semaphore-factory.contract.d.ts} +6 -6
- package/dist/semaphore/contracts/{semaphore-provider.contract.js → semaphore-factory.contract.js} +1 -1
- package/dist/semaphore/contracts/semaphore-factory.contract.js.map +1 -0
- package/dist/semaphore/contracts/semaphore.contract.d.ts +2 -1
- package/dist/semaphore/contracts/semaphore.contract.js +1 -0
- package/dist/semaphore/contracts/semaphore.contract.js.map +1 -1
- package/dist/semaphore/contracts/semaphore.errors.d.ts +3 -2
- package/dist/semaphore/contracts/semaphore.errors.js +4 -3
- package/dist/semaphore/contracts/semaphore.errors.js.map +1 -1
- package/dist/semaphore/contracts/semaphore.events.d.ts +4 -4
- package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/memory-semaphore-adapter.d.ts +1 -1
- package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/memory-semaphore-adapter.js +1 -1
- package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/no-op-semaphore-adapter.d.ts +1 -1
- package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/no-op-semaphore-adapter.js +1 -1
- package/dist/semaphore/implementations/derivables/_module-exports.d.ts +2 -2
- package/dist/semaphore/implementations/derivables/_module-exports.js +1 -1
- package/dist/semaphore/implementations/derivables/_module-exports.js.map +1 -1
- package/dist/semaphore/implementations/derivables/_module.d.ts +2 -2
- package/dist/semaphore/implementations/derivables/_module.js +1 -1
- package/dist/semaphore/implementations/derivables/_module.js.map +1 -1
- package/dist/semaphore/implementations/derivables/{semaphore-provider → semaphore-factory}/_module.d.ts +1 -1
- package/dist/semaphore/implementations/derivables/semaphore-factory/_module.js +2 -0
- package/dist/{event-bus/implementations/derivables/event-bus-factory → semaphore/implementations/derivables/semaphore-factory}/_module.js.map +1 -1
- package/dist/semaphore/implementations/derivables/{semaphore-provider → semaphore-factory}/database-semaphore-adapter.js +8 -8
- package/dist/semaphore/implementations/derivables/semaphore-factory/database-semaphore-adapter.js.map +1 -0
- package/dist/semaphore/implementations/derivables/semaphore-factory/is-database-semaphore-adapter.js.map +1 -0
- package/dist/semaphore/implementations/derivables/{semaphore-provider → semaphore-factory}/resolve-semaphore-adapter.js +2 -2
- package/dist/semaphore/implementations/derivables/semaphore-factory/resolve-semaphore-adapter.js.map +1 -0
- package/dist/semaphore/implementations/derivables/{semaphore-provider/semaphore-provider.d.ts → semaphore-factory/semaphore-factory.d.ts} +11 -11
- package/dist/semaphore/implementations/derivables/{semaphore-provider/semaphore-provider.js → semaphore-factory/semaphore-factory.js} +9 -9
- package/dist/semaphore/implementations/derivables/semaphore-factory/semaphore-factory.js.map +1 -0
- package/dist/semaphore/implementations/derivables/{semaphore-provider → semaphore-factory}/semaphore-serde-transformer.d.ts +1 -1
- package/dist/semaphore/implementations/derivables/{semaphore-provider → semaphore-factory}/semaphore-serde-transformer.js +1 -1
- package/dist/semaphore/implementations/derivables/semaphore-factory/semaphore-serde-transformer.js.map +1 -0
- package/dist/semaphore/implementations/derivables/{semaphore-provider → semaphore-factory}/semaphore.js +0 -1
- package/dist/semaphore/implementations/derivables/semaphore-factory/semaphore.js.map +1 -0
- package/dist/semaphore/implementations/derivables/{semaphore-provider-factory → semaphore-factory-resolver}/_module.d.ts +1 -1
- package/dist/semaphore/implementations/derivables/semaphore-factory-resolver/_module.js.map +1 -0
- package/dist/semaphore/implementations/derivables/{semaphore-provider-factory/semaphore-provider-factory.d.ts → semaphore-factory-resolver/semaphore-factory-resolver.d.ts} +19 -19
- package/dist/semaphore/implementations/derivables/{semaphore-provider-factory/semaphore-provider-factory.js → semaphore-factory-resolver/semaphore-factory-resolver.js} +18 -18
- package/dist/semaphore/implementations/derivables/semaphore-factory-resolver/semaphore-factory-resolver.js.map +1 -0
- package/dist/semaphore/implementations/test-utilities/_module-exports.d.ts +1 -1
- package/dist/semaphore/implementations/test-utilities/_module-exports.js +1 -1
- package/dist/semaphore/implementations/test-utilities/_module-exports.js.map +1 -1
- package/dist/semaphore/implementations/test-utilities/_module.d.ts +1 -1
- package/dist/semaphore/implementations/test-utilities/_module.js +1 -1
- package/dist/semaphore/implementations/test-utilities/_module.js.map +1 -1
- package/dist/semaphore/implementations/test-utilities/semaphore-adapter.test-suite.d.ts +10 -0
- package/dist/semaphore/implementations/test-utilities/semaphore-adapter.test-suite.js +11 -42
- package/dist/semaphore/implementations/test-utilities/semaphore-adapter.test-suite.js.map +1 -1
- package/dist/semaphore/implementations/test-utilities/{semaphore-provider.test-suite.d.ts → semaphore-factory.test-suite.d.ts} +37 -13
- package/dist/semaphore/implementations/test-utilities/{semaphore-provider.test-suite.js → semaphore-factory.test-suite.js} +453 -476
- package/dist/semaphore/implementations/test-utilities/semaphore-factory.test-suite.js.map +1 -0
- package/dist/shared-lock/contracts/_module-exports.d.ts +2 -3
- package/dist/shared-lock/contracts/_module-exports.js.map +1 -1
- package/dist/shared-lock/contracts/_module.d.ts +2 -3
- package/dist/shared-lock/contracts/_module.js.map +1 -1
- package/dist/shared-lock/contracts/database-shared-lock-adapter.contract.d.ts +6 -6
- package/dist/shared-lock/contracts/shared-lock-adapter.contract.d.ts +1 -1
- package/dist/shared-lock/contracts/shared-lock-adapter.contract.js +1 -1
- package/dist/shared-lock/contracts/shared-lock-adapter.contract.js.map +1 -1
- package/dist/shared-lock/contracts/{shared-lock-provider-factory.contract.d.ts → shared-lock-factory-resolver.contract.d.ts} +4 -4
- package/dist/shared-lock/contracts/{shared-lock-provider-factory.contract.js → shared-lock-factory-resolver.contract.js} +2 -2
- package/dist/shared-lock/contracts/shared-lock-factory-resolver.contract.js.map +1 -0
- package/dist/shared-lock/contracts/{shared-lock-provider.contract.d.ts → shared-lock-factory.contract.d.ts} +6 -6
- package/dist/shared-lock/contracts/{shared-lock-provider.contract.js → shared-lock-factory.contract.js} +1 -1
- package/dist/shared-lock/contracts/shared-lock-factory.contract.js.map +1 -0
- package/dist/shared-lock/contracts/shared-lock.errors.d.ts +20 -17
- package/dist/shared-lock/contracts/shared-lock.errors.js +17 -16
- package/dist/shared-lock/contracts/shared-lock.errors.js.map +1 -1
- package/dist/shared-lock/contracts/shared-lock.events.d.ts +17 -19
- package/dist/shared-lock/contracts/shared-lock.events.js +0 -1
- package/dist/shared-lock/contracts/shared-lock.events.js.map +1 -1
- package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/memory-shared-lock-adapter.d.ts +1 -1
- package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/memory-shared-lock-adapter.js +1 -1
- package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/no-op-shared-lock-adapter.d.ts +1 -1
- package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/no-op-shared-lock-adapter.js +1 -1
- package/dist/shared-lock/implementations/derivables/_module-exports.d.ts +2 -2
- package/dist/shared-lock/implementations/derivables/_module-exports.js +2 -2
- package/dist/shared-lock/implementations/derivables/_module-exports.js.map +1 -1
- package/dist/shared-lock/implementations/derivables/_module.d.ts +2 -2
- package/dist/shared-lock/implementations/derivables/_module.js +2 -2
- package/dist/shared-lock/implementations/derivables/_module.js.map +1 -1
- package/dist/shared-lock/implementations/derivables/{shared-lock-provider → shared-lock-factory}/_module.d.ts +1 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-factory/_module.js +2 -0
- package/dist/shared-lock/implementations/derivables/{shared-lock-provider → shared-lock-factory}/_module.js.map +1 -1
- package/dist/shared-lock/implementations/derivables/{shared-lock-provider → shared-lock-factory}/database-shared-lock-adapter.js +8 -8
- package/dist/shared-lock/implementations/derivables/shared-lock-factory/database-shared-lock-adapter.js.map +1 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-factory/is-database-shared-lock-adapter.js.map +1 -0
- package/dist/shared-lock/implementations/derivables/{shared-lock-provider → shared-lock-factory}/resolve-shared-lock-adapter.js +2 -2
- package/dist/shared-lock/implementations/derivables/shared-lock-factory/resolve-shared-lock-adapter.js.map +1 -0
- package/dist/shared-lock/implementations/derivables/{shared-lock-provider/shared-lock-provider.d.ts → shared-lock-factory/shared-lock-factory.d.ts} +14 -14
- package/dist/shared-lock/implementations/derivables/{shared-lock-provider/shared-lock-provider.js → shared-lock-factory/shared-lock-factory.js} +12 -12
- package/dist/shared-lock/implementations/derivables/shared-lock-factory/shared-lock-factory.js.map +1 -0
- package/dist/shared-lock/implementations/derivables/{shared-lock-provider → shared-lock-factory}/shared-lock-serde-transformer.d.ts +1 -1
- package/dist/shared-lock/implementations/derivables/{shared-lock-provider → shared-lock-factory}/shared-lock-serde-transformer.js +1 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-factory/shared-lock-serde-transformer.js.map +1 -0
- package/dist/shared-lock/implementations/derivables/{shared-lock-provider → shared-lock-factory}/shared-lock.js +1 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-factory/shared-lock.js.map +1 -0
- package/dist/shared-lock/implementations/derivables/{shared-lock-provider-factory → shared-lock-factory-resolver}/_module.d.ts +1 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-factory-resolver/_module.js +2 -0
- package/dist/shared-lock/implementations/derivables/{shared-lock-provider-factory → shared-lock-factory-resolver}/_module.js.map +1 -1
- package/dist/shared-lock/implementations/derivables/{shared-lock-provider-factory/shared-lock-provider-factory.d.ts → shared-lock-factory-resolver/shared-lock-factory-resolver.d.ts} +18 -18
- package/dist/shared-lock/implementations/derivables/{shared-lock-provider-factory/shared-lock-provider-factory.js → shared-lock-factory-resolver/shared-lock-factory-resolver.js} +17 -17
- package/dist/shared-lock/implementations/derivables/shared-lock-factory-resolver/shared-lock-factory-resolver.js.map +1 -0
- package/dist/shared-lock/implementations/test-utilities/_module-exports.d.ts +1 -1
- package/dist/shared-lock/implementations/test-utilities/_module-exports.js +1 -1
- package/dist/shared-lock/implementations/test-utilities/_module-exports.js.map +1 -1
- package/dist/shared-lock/implementations/test-utilities/_module.d.ts +1 -1
- package/dist/shared-lock/implementations/test-utilities/_module.js +1 -1
- package/dist/shared-lock/implementations/test-utilities/_module.js.map +1 -1
- package/dist/shared-lock/implementations/test-utilities/shared-lock-adapter.test-suite.d.ts +10 -0
- package/dist/shared-lock/implementations/test-utilities/shared-lock-adapter.test-suite.js +206 -276
- package/dist/shared-lock/implementations/test-utilities/shared-lock-adapter.test-suite.js.map +1 -1
- package/dist/shared-lock/implementations/test-utilities/{shared-lock-provider.test-suite.d.ts → shared-lock-factory.test-suite.d.ts} +37 -13
- package/dist/shared-lock/implementations/test-utilities/{shared-lock-provider.test-suite.js → shared-lock-factory.test-suite.js} +1642 -1318
- package/dist/shared-lock/implementations/test-utilities/shared-lock-factory.test-suite.js.map +1 -0
- package/dist/test-utilities/_module.d.ts +18 -0
- package/dist/test-utilities/_module.js +96 -0
- package/dist/test-utilities/_module.js.map +1 -0
- package/dist/utilities/types/_module.d.ts +1 -0
- package/dist/utilities/types/infer-instance.type.d.ts +9 -0
- package/dist/utilities/types/infer-instance.type.js +5 -0
- package/dist/utilities/types/infer-instance.type.js.map +1 -0
- package/package.json +2 -2
- package/dist/cache/contracts/cache-factory.contract.js.map +0 -1
- package/dist/cache/implementations/derivables/cache-factory/_module.js +0 -2
- package/dist/cache/implementations/derivables/cache-factory/_module.js.map +0 -1
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +0 -1
- package/dist/circuit-breaker/contracts/circuit-breaker-provider-factory.contract.js.map +0 -1
- package/dist/circuit-breaker/contracts/circuit-breaker-provider.contract.js.map +0 -1
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/_module.js +0 -2
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-provider.js.map +0 -1
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-serde-transformer.js.map +0 -1
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker.js.map +0 -1
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/_module.d.ts +0 -2
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/_module.js +0 -3
- package/dist/event-bus/contracts/event-bus-factory.contract.js.map +0 -1
- package/dist/event-bus/implementations/derivables/event-bus-factory/_module.js +0 -2
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +0 -1
- package/dist/file-storage/contracts/file-storage-factory.contract.js.map +0 -1
- package/dist/file-storage/implementations/derivables/file-storage-factory/_module.js +0 -2
- package/dist/file-storage/implementations/derivables/file-storage-factory/file-storage-factory.js.map +0 -1
- package/dist/lock/contracts/lock-provider-factory.contract.js.map +0 -1
- package/dist/lock/contracts/lock-provider.contract.js.map +0 -1
- package/dist/lock/implementations/derivables/lock-provider/_module.js.map +0 -1
- package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js.map +0 -1
- package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js.map +0 -1
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +0 -1
- package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js.map +0 -1
- package/dist/lock/implementations/derivables/lock-provider/lock.js.map +0 -1
- package/dist/lock/implementations/derivables/lock-provider/resolve-lock-adapter.js.map +0 -1
- package/dist/lock/implementations/derivables/lock-provider-factory/_module.js +0 -2
- package/dist/lock/implementations/derivables/lock-provider-factory/_module.js.map +0 -1
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +0 -1
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +0 -1
- package/dist/rate-limiter/contracts/rate-limiter-provider-factory.contract.js.map +0 -1
- package/dist/rate-limiter/contracts/rate-limiter-provider.contract.js.map +0 -1
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/_module.js +0 -2
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-provider.js.map +0 -1
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-serde-transformer.js.map +0 -1
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.js.map +0 -1
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/_module.d.ts +0 -2
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/_module.js +0 -3
- package/dist/semaphore/contracts/semaphore-provider-factory.contract.js.map +0 -1
- package/dist/semaphore/contracts/semaphore-provider.contract.js.map +0 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider/_module.js +0 -2
- package/dist/semaphore/implementations/derivables/semaphore-provider/_module.js.map +0 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider/database-semaphore-adapter.js.map +0 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider/is-database-semaphore-adapter.js.map +0 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider/resolve-semaphore-adapter.js.map +0 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.js.map +0 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.js.map +0 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.js.map +0 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider-factory/_module.js.map +0 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.js.map +0 -1
- package/dist/semaphore/implementations/test-utilities/semaphore-provider.test-suite.js.map +0 -1
- package/dist/shared-lock/contracts/shared-lock-provider-factory.contract.js.map +0 -1
- package/dist/shared-lock/contracts/shared-lock-provider.contract.js.map +0 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/_module.js +0 -2
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/database-shared-lock-adapter.js.map +0 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/is-database-shared-lock-adapter.js.map +0 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/resolve-shared-lock-adapter.js.map +0 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.js.map +0 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.js.map +0 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.js.map +0 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/_module.js +0 -2
- package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.js.map +0 -1
- package/dist/shared-lock/implementations/test-utilities/shared-lock-provider.test-suite.js.map +0 -1
- /package/dist/circuit-breaker/implementations/derivables/{circuit-breaker-provider → circuit-breaker-factory}/circuit-breaker.d.ts +0 -0
- /package/dist/circuit-breaker/implementations/derivables/{circuit-breaker-provider → circuit-breaker-factory}/circuit-breaker.js +0 -0
- /package/dist/lock/implementations/derivables/{lock-provider → lock-factory}/database-lock-adapter.d.ts +0 -0
- /package/dist/lock/implementations/derivables/{lock-provider → lock-factory}/database-lock-adapter.js +0 -0
- /package/dist/lock/implementations/derivables/{lock-provider → lock-factory}/is-database-lock-adapter.d.ts +0 -0
- /package/dist/lock/implementations/derivables/{lock-provider → lock-factory}/is-database-lock-adapter.js +0 -0
- /package/dist/lock/implementations/derivables/{lock-provider → lock-factory}/lock.d.ts +0 -0
- /package/dist/lock/implementations/derivables/{lock-provider → lock-factory}/lock.js +0 -0
- /package/dist/lock/implementations/derivables/{lock-provider → lock-factory}/resolve-lock-adapter.d.ts +0 -0
- /package/dist/rate-limiter/implementations/derivables/{rate-limiter-provider → rate-limiter-factory}/rate-limiter.d.ts +0 -0
- /package/dist/rate-limiter/implementations/derivables/{rate-limiter-provider → rate-limiter-factory}/rate-limiter.js +0 -0
- /package/dist/semaphore/implementations/derivables/{semaphore-provider → semaphore-factory}/database-semaphore-adapter.d.ts +0 -0
- /package/dist/semaphore/implementations/derivables/{semaphore-provider → semaphore-factory}/is-database-semaphore-adapter.d.ts +0 -0
- /package/dist/semaphore/implementations/derivables/{semaphore-provider → semaphore-factory}/is-database-semaphore-adapter.js +0 -0
- /package/dist/semaphore/implementations/derivables/{semaphore-provider → semaphore-factory}/resolve-semaphore-adapter.d.ts +0 -0
- /package/dist/semaphore/implementations/derivables/{semaphore-provider → semaphore-factory}/semaphore.d.ts +0 -0
- /package/dist/semaphore/implementations/derivables/{semaphore-provider-factory → semaphore-factory-resolver}/_module.js +0 -0
- /package/dist/shared-lock/implementations/derivables/{shared-lock-provider → shared-lock-factory}/database-shared-lock-adapter.d.ts +0 -0
- /package/dist/shared-lock/implementations/derivables/{shared-lock-provider → shared-lock-factory}/is-database-shared-lock-adapter.d.ts +0 -0
- /package/dist/shared-lock/implementations/derivables/{shared-lock-provider → shared-lock-factory}/is-database-shared-lock-adapter.js +0 -0
- /package/dist/shared-lock/implementations/derivables/{shared-lock-provider → shared-lock-factory}/resolve-shared-lock-adapter.d.ts +0 -0
- /package/dist/shared-lock/implementations/derivables/{shared-lock-provider → shared-lock-factory}/shared-lock.d.ts +0 -0
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { vi, } from "vitest";
|
|
5
5
|
import {} from "../../../shared-lock/contracts/_module.js";
|
|
6
6
|
import { Task } from "../../../task/implementations/_module.js";
|
|
7
|
+
import {} from "../../../time-span/contracts/_module.js";
|
|
7
8
|
import { TimeSpan } from "../../../time-span/implementations/_module.js";
|
|
8
9
|
import {} from "../../../utilities/_module.js";
|
|
9
10
|
/**
|
|
@@ -47,10 +48,10 @@ import {} from "../../../utilities/_module.js";
|
|
|
47
48
|
* ```
|
|
48
49
|
*/
|
|
49
50
|
export function sharedLockAdapterTestSuite(settings) {
|
|
50
|
-
const { expect, test, createAdapter, describe, beforeEach } = settings;
|
|
51
|
+
const { expect, test, createAdapter, describe, beforeEach, delayBuffer = TimeSpan.fromMilliseconds(10), } = settings;
|
|
51
52
|
let adapter;
|
|
52
53
|
async function delay(time) {
|
|
53
|
-
await Task.delay(time.
|
|
54
|
+
await Task.delay(TimeSpan.fromTimeSpan(time).addTimeSpan(delayBuffer));
|
|
54
55
|
}
|
|
55
56
|
describe("ISharedLockAdapter tests:", () => {
|
|
56
57
|
beforeEach(async () => {
|
|
@@ -59,54 +60,52 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
59
60
|
describe("method: acquireWriter", () => {
|
|
60
61
|
test("Should return true when key doesnt exists", async () => {
|
|
61
62
|
const key = "a";
|
|
62
|
-
const
|
|
63
|
+
const sharedLockId = "b";
|
|
63
64
|
const ttl = null;
|
|
64
|
-
const result = await adapter.acquireWriter(key,
|
|
65
|
+
const result = await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
65
66
|
expect(result).toBe(true);
|
|
66
67
|
});
|
|
67
|
-
test("Should return true when key is expired", {
|
|
68
|
-
retry: 10,
|
|
69
|
-
}, async () => {
|
|
68
|
+
test("Should return true when key is expired", async () => {
|
|
70
69
|
const key = "a";
|
|
71
|
-
const
|
|
70
|
+
const sharedLockId = "b";
|
|
72
71
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
73
|
-
await adapter.acquireWriter(key,
|
|
72
|
+
await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
74
73
|
await delay(ttl);
|
|
75
|
-
const result = await adapter.acquireWriter(key,
|
|
74
|
+
const result = await adapter.acquireWriter(key, sharedLockId, null);
|
|
76
75
|
expect(result).toBe(true);
|
|
77
76
|
});
|
|
78
|
-
test("Should return true when key is unexpireable and acquired by same
|
|
77
|
+
test("Should return true when key is unexpireable and acquired by same shared-lock-id", async () => {
|
|
79
78
|
const key = "a";
|
|
80
|
-
const
|
|
79
|
+
const sharedLockId = "b";
|
|
81
80
|
const ttl = null;
|
|
82
|
-
await adapter.acquireWriter(key,
|
|
83
|
-
const result = await adapter.acquireWriter(key,
|
|
81
|
+
await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
82
|
+
const result = await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
84
83
|
expect(result).toBe(true);
|
|
85
84
|
});
|
|
86
|
-
test("Should return true when key is unexpired and acquired by same
|
|
85
|
+
test("Should return true when key is unexpired and acquired by same shared-lock-id", async () => {
|
|
87
86
|
const key = "a";
|
|
88
|
-
const
|
|
87
|
+
const sharedLockId = "b";
|
|
89
88
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
90
|
-
await adapter.acquireWriter(key,
|
|
91
|
-
const result = await adapter.acquireWriter(key,
|
|
89
|
+
await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
90
|
+
const result = await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
92
91
|
expect(result).toBe(true);
|
|
93
92
|
});
|
|
94
|
-
test("Should return false when key is unexpireable and acquired by different
|
|
93
|
+
test("Should return false when key is unexpireable and acquired by different shared-lock-id", async () => {
|
|
95
94
|
const key = "a";
|
|
96
|
-
const
|
|
95
|
+
const sharedLockId1 = "b";
|
|
97
96
|
const ttl = null;
|
|
98
|
-
await adapter.acquireWriter(key,
|
|
99
|
-
const
|
|
100
|
-
const result = await adapter.acquireWriter(key,
|
|
97
|
+
await adapter.acquireWriter(key, sharedLockId1, ttl);
|
|
98
|
+
const sharedLockId2 = "c";
|
|
99
|
+
const result = await adapter.acquireWriter(key, sharedLockId2, ttl);
|
|
101
100
|
expect(result).toBe(false);
|
|
102
101
|
});
|
|
103
|
-
test("Should return false when key is unexpired and acquired by different
|
|
102
|
+
test("Should return false when key is unexpired and acquired by different shared-lock-id", async () => {
|
|
104
103
|
const key = "a";
|
|
105
|
-
const
|
|
104
|
+
const sharedLockId1 = "b";
|
|
106
105
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
107
|
-
await adapter.acquireWriter(key,
|
|
108
|
-
const
|
|
109
|
-
const result = await adapter.acquireWriter(key,
|
|
106
|
+
await adapter.acquireWriter(key, sharedLockId1, ttl);
|
|
107
|
+
const sharedLockId2 = "c";
|
|
108
|
+
const result = await adapter.acquireWriter(key, sharedLockId2, ttl);
|
|
110
109
|
expect(result).toBe(false);
|
|
111
110
|
});
|
|
112
111
|
test("Should return false when key is acquired as reader", async () => {
|
|
@@ -156,105 +155,101 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
156
155
|
describe("method: releaseWriter", () => {
|
|
157
156
|
test("Should return false when key doesnt exists", async () => {
|
|
158
157
|
const key = "a";
|
|
159
|
-
const
|
|
160
|
-
const result = await adapter.releaseWriter(key,
|
|
158
|
+
const sharedLockId = "b";
|
|
159
|
+
const result = await adapter.releaseWriter(key, sharedLockId);
|
|
161
160
|
expect(result).toBe(false);
|
|
162
161
|
});
|
|
163
|
-
test("Should return false when key is unexpireable and released by different
|
|
162
|
+
test("Should return false when key is unexpireable and released by different shared-lock-id", async () => {
|
|
164
163
|
const key = "a";
|
|
165
|
-
const
|
|
164
|
+
const sharedLockId1 = "b";
|
|
166
165
|
const ttl = null;
|
|
167
|
-
await adapter.acquireWriter(key,
|
|
168
|
-
const
|
|
169
|
-
const result = await adapter.releaseWriter(key,
|
|
166
|
+
await adapter.acquireWriter(key, sharedLockId1, ttl);
|
|
167
|
+
const sharedLockId2 = "c";
|
|
168
|
+
const result = await adapter.releaseWriter(key, sharedLockId2);
|
|
170
169
|
expect(result).toBe(false);
|
|
171
170
|
});
|
|
172
|
-
test("Should return false when key is unexpired and released by different
|
|
171
|
+
test("Should return false when key is unexpired and released by different shared-lock-id", async () => {
|
|
173
172
|
const key = "a";
|
|
174
|
-
const
|
|
173
|
+
const sharedLockId1 = "b";
|
|
175
174
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
176
|
-
await adapter.acquireWriter(key,
|
|
177
|
-
const
|
|
178
|
-
const result = await adapter.releaseWriter(key,
|
|
175
|
+
await adapter.acquireWriter(key, sharedLockId1, ttl);
|
|
176
|
+
const sharedLockId2 = "c";
|
|
177
|
+
const result = await adapter.releaseWriter(key, sharedLockId2);
|
|
179
178
|
expect(result).toBe(false);
|
|
180
179
|
});
|
|
181
|
-
test("Should return false when key is expired and released by different
|
|
182
|
-
retry: 10,
|
|
183
|
-
}, async () => {
|
|
180
|
+
test("Should return false when key is expired and released by different shared-lock-id", async () => {
|
|
184
181
|
const key = "a";
|
|
185
|
-
const
|
|
182
|
+
const sharedLockId1 = "b";
|
|
186
183
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
187
|
-
await adapter.acquireWriter(key,
|
|
188
|
-
const owner2 = "c";
|
|
189
|
-
const result = await adapter.releaseWriter(key, owner2);
|
|
184
|
+
await adapter.acquireWriter(key, sharedLockId1, ttl);
|
|
190
185
|
await delay(ttl);
|
|
186
|
+
const sharedLockId2 = "c";
|
|
187
|
+
const result = await adapter.releaseWriter(key, sharedLockId2);
|
|
191
188
|
expect(result).toBe(false);
|
|
192
189
|
});
|
|
193
|
-
test("Should return false when key is expired and released by same
|
|
194
|
-
retry: 10,
|
|
195
|
-
}, async () => {
|
|
190
|
+
test("Should return false when key is expired and released by same shared-lock-id", async () => {
|
|
196
191
|
const key = "a";
|
|
197
|
-
const
|
|
192
|
+
const sharedLockId = "b";
|
|
198
193
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
199
|
-
await adapter.acquireWriter(key,
|
|
194
|
+
await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
200
195
|
await delay(ttl);
|
|
201
|
-
const result = await adapter.releaseWriter(key,
|
|
196
|
+
const result = await adapter.releaseWriter(key, sharedLockId);
|
|
202
197
|
expect(result).toBe(false);
|
|
203
198
|
});
|
|
204
|
-
test("Should return true when key is unexpireable and released by same
|
|
199
|
+
test("Should return true when key is unexpireable and released by same shared-lock-id", async () => {
|
|
205
200
|
const key = "a";
|
|
206
|
-
const
|
|
201
|
+
const sharedLockId = "b";
|
|
207
202
|
const ttl = null;
|
|
208
|
-
await adapter.acquireWriter(key,
|
|
209
|
-
const result = await adapter.releaseWriter(key,
|
|
203
|
+
await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
204
|
+
const result = await adapter.releaseWriter(key, sharedLockId);
|
|
210
205
|
expect(result).toBe(true);
|
|
211
206
|
});
|
|
212
|
-
test("Should return true when key is unexpired and released by same
|
|
207
|
+
test("Should return true when key is unexpired and released by same shared-lock-id", async () => {
|
|
213
208
|
const key = "a";
|
|
214
|
-
const
|
|
209
|
+
const sharedLockId = "b";
|
|
215
210
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
216
|
-
await adapter.acquireWriter(key,
|
|
217
|
-
const result = await adapter.releaseWriter(key,
|
|
211
|
+
await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
212
|
+
const result = await adapter.releaseWriter(key, sharedLockId);
|
|
218
213
|
expect(result).toBe(true);
|
|
219
214
|
});
|
|
220
|
-
test("Should not be reacquirable when key is unexpireable and released by different
|
|
215
|
+
test("Should not be reacquirable when key is unexpireable and released by different shared-lock-id", async () => {
|
|
221
216
|
const key = "a";
|
|
222
|
-
const
|
|
217
|
+
const sharedLockId1 = "b";
|
|
223
218
|
const ttl = null;
|
|
224
|
-
await adapter.acquireWriter(key,
|
|
225
|
-
const
|
|
226
|
-
await adapter.releaseWriter(key,
|
|
227
|
-
const result = await adapter.acquireWriter(key,
|
|
219
|
+
await adapter.acquireWriter(key, sharedLockId1, ttl);
|
|
220
|
+
const sharedLockId2 = "c";
|
|
221
|
+
await adapter.releaseWriter(key, sharedLockId2);
|
|
222
|
+
const result = await adapter.acquireWriter(key, sharedLockId2, ttl);
|
|
228
223
|
expect(result).toBe(false);
|
|
229
224
|
});
|
|
230
|
-
test("Should not be reacquirable when key is unexpired and released by different
|
|
225
|
+
test("Should not be reacquirable when key is unexpired and released by different shared-lock-id", async () => {
|
|
231
226
|
const key = "a";
|
|
232
|
-
const
|
|
227
|
+
const sharedLockId1 = "b";
|
|
233
228
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
234
|
-
await adapter.acquireWriter(key,
|
|
235
|
-
const
|
|
236
|
-
await adapter.releaseWriter(key,
|
|
237
|
-
const result = await adapter.acquireWriter(key,
|
|
229
|
+
await adapter.acquireWriter(key, sharedLockId1, ttl);
|
|
230
|
+
const sharedLockId2 = "c";
|
|
231
|
+
await adapter.releaseWriter(key, sharedLockId2);
|
|
232
|
+
const result = await adapter.acquireWriter(key, sharedLockId2, ttl);
|
|
238
233
|
expect(result).toBe(false);
|
|
239
234
|
});
|
|
240
|
-
test("Should be reacquirable when key is unexpireable and released by same
|
|
235
|
+
test("Should be reacquirable when key is unexpireable and released by same shared-lock-id", async () => {
|
|
241
236
|
const key = "a";
|
|
242
|
-
const
|
|
237
|
+
const sharedLockId1 = "b";
|
|
243
238
|
const ttl = null;
|
|
244
|
-
await adapter.acquireWriter(key,
|
|
245
|
-
await adapter.releaseWriter(key,
|
|
246
|
-
const
|
|
247
|
-
const result = await adapter.acquireWriter(key,
|
|
239
|
+
await adapter.acquireWriter(key, sharedLockId1, ttl);
|
|
240
|
+
await adapter.releaseWriter(key, sharedLockId1);
|
|
241
|
+
const sharedLockId2 = "c";
|
|
242
|
+
const result = await adapter.acquireWriter(key, sharedLockId2, ttl);
|
|
248
243
|
expect(result).toBe(true);
|
|
249
244
|
});
|
|
250
|
-
test("Should be reacquirable when key is unexpired and released by same
|
|
245
|
+
test("Should be reacquirable when key is unexpired and released by same shared-lock-id", async () => {
|
|
251
246
|
const key = "a";
|
|
252
|
-
const
|
|
247
|
+
const sharedLockId1 = "b";
|
|
253
248
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
254
|
-
await adapter.acquireWriter(key,
|
|
255
|
-
await adapter.releaseWriter(key,
|
|
256
|
-
const
|
|
257
|
-
const result = await adapter.acquireWriter(key,
|
|
249
|
+
await adapter.acquireWriter(key, sharedLockId1, ttl);
|
|
250
|
+
await adapter.releaseWriter(key, sharedLockId1);
|
|
251
|
+
const sharedLockId2 = "c";
|
|
252
|
+
const result = await adapter.acquireWriter(key, sharedLockId2, ttl);
|
|
258
253
|
expect(result).toBe(true);
|
|
259
254
|
});
|
|
260
255
|
test("Should return false when key is acquired as reader", async () => {
|
|
@@ -307,41 +302,39 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
307
302
|
const result = await adapter.forceReleaseWriter(key);
|
|
308
303
|
expect(result).toBe(false);
|
|
309
304
|
});
|
|
310
|
-
test("Should return false when key is expired", {
|
|
311
|
-
retry: 10,
|
|
312
|
-
}, async () => {
|
|
305
|
+
test("Should return false when key is expired", async () => {
|
|
313
306
|
const key = "a";
|
|
314
|
-
const
|
|
307
|
+
const sharedLockId = "b";
|
|
315
308
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
316
|
-
await adapter.acquireWriter(key,
|
|
309
|
+
await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
317
310
|
await delay(ttl);
|
|
318
311
|
const result = await adapter.forceReleaseWriter(key);
|
|
319
312
|
expect(result).toBe(false);
|
|
320
313
|
});
|
|
321
314
|
test("Should return true when key is uenxpired", async () => {
|
|
322
315
|
const key = "a";
|
|
323
|
-
const
|
|
316
|
+
const sharedLockId = "b";
|
|
324
317
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
325
|
-
await adapter.acquireWriter(key,
|
|
318
|
+
await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
326
319
|
const result = await adapter.forceReleaseWriter(key);
|
|
327
320
|
expect(result).toBe(true);
|
|
328
321
|
});
|
|
329
322
|
test("Should return true when key is unexpireable", async () => {
|
|
330
323
|
const key = "a";
|
|
331
|
-
const
|
|
324
|
+
const sharedLockId = "b";
|
|
332
325
|
const ttl = null;
|
|
333
|
-
await adapter.acquireWriter(key,
|
|
326
|
+
await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
334
327
|
const result = await adapter.forceReleaseWriter(key);
|
|
335
328
|
expect(result).toBe(true);
|
|
336
329
|
});
|
|
337
330
|
test("Should be reacquirable when key is force released", async () => {
|
|
338
331
|
const key = "a";
|
|
339
|
-
const
|
|
332
|
+
const sharedLockId1 = "b";
|
|
340
333
|
const ttl = null;
|
|
341
|
-
await adapter.acquireWriter(key,
|
|
334
|
+
await adapter.acquireWriter(key, sharedLockId1, ttl);
|
|
342
335
|
await adapter.forceReleaseWriter(key);
|
|
343
|
-
const
|
|
344
|
-
const result = await adapter.acquireWriter(key,
|
|
336
|
+
const sharedLockId2 = "c";
|
|
337
|
+
const result = await adapter.acquireWriter(key, sharedLockId2, ttl);
|
|
345
338
|
expect(result).toBe(true);
|
|
346
339
|
});
|
|
347
340
|
test("Should return false when key is acquired as reader", async () => {
|
|
@@ -391,103 +384,95 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
391
384
|
describe("method: refreshWriter", () => {
|
|
392
385
|
test("Should return false when key doesnt exists", async () => {
|
|
393
386
|
const key = "a";
|
|
394
|
-
const
|
|
387
|
+
const sharedLockId = "b";
|
|
395
388
|
const newTtl = TimeSpan.fromMinutes(1);
|
|
396
|
-
const result = await adapter.refreshWriter(key,
|
|
389
|
+
const result = await adapter.refreshWriter(key, sharedLockId, newTtl);
|
|
397
390
|
expect(result).toBe(false);
|
|
398
391
|
});
|
|
399
|
-
test("Should return false when key is unexpireable and refreshed by different
|
|
392
|
+
test("Should return false when key is unexpireable and refreshed by different shared-lock-id", async () => {
|
|
400
393
|
const key = "a";
|
|
401
|
-
const
|
|
394
|
+
const sharedLockId1 = "b";
|
|
402
395
|
const ttl = null;
|
|
403
|
-
await adapter.acquireWriter(key,
|
|
396
|
+
await adapter.acquireWriter(key, sharedLockId1, ttl);
|
|
404
397
|
const newTtl = TimeSpan.fromMinutes(1);
|
|
405
|
-
const
|
|
406
|
-
const result = await adapter.refreshWriter(key,
|
|
398
|
+
const sharedLockId2 = "c";
|
|
399
|
+
const result = await adapter.refreshWriter(key, sharedLockId2, newTtl);
|
|
407
400
|
expect(result).toBe(false);
|
|
408
401
|
});
|
|
409
|
-
test("Should return false when key is unexpired and refreshed by different
|
|
402
|
+
test("Should return false when key is unexpired and refreshed by different shared-lock-id", async () => {
|
|
410
403
|
const key = "a";
|
|
411
|
-
const
|
|
404
|
+
const sharedLockId1 = "b";
|
|
412
405
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
413
|
-
await adapter.acquireWriter(key,
|
|
406
|
+
await adapter.acquireWriter(key, sharedLockId1, ttl);
|
|
414
407
|
const newTtl = TimeSpan.fromMinutes(1);
|
|
415
|
-
const
|
|
416
|
-
const result = await adapter.refreshWriter(key,
|
|
408
|
+
const sharedLockId2 = "c";
|
|
409
|
+
const result = await adapter.refreshWriter(key, sharedLockId2, newTtl);
|
|
417
410
|
expect(result).toBe(false);
|
|
418
411
|
});
|
|
419
|
-
test("Should return false when key is expired and refreshed by different
|
|
420
|
-
retry: 10,
|
|
421
|
-
}, async () => {
|
|
412
|
+
test("Should return false when key is expired and refreshed by different shared-lock-id", async () => {
|
|
422
413
|
const key = "a";
|
|
423
|
-
const
|
|
414
|
+
const sharedLockId1 = "b";
|
|
424
415
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
425
|
-
await adapter.acquireWriter(key,
|
|
416
|
+
await adapter.acquireWriter(key, sharedLockId1, ttl);
|
|
426
417
|
await delay(ttl);
|
|
427
418
|
const newTtl = TimeSpan.fromMinutes(1);
|
|
428
|
-
const
|
|
429
|
-
const result = await adapter.refreshWriter(key,
|
|
419
|
+
const sharedLockId2 = "c";
|
|
420
|
+
const result = await adapter.refreshWriter(key, sharedLockId2, newTtl);
|
|
430
421
|
expect(result).toBe(false);
|
|
431
422
|
});
|
|
432
|
-
test("Should return false when key is expired and refreshed by same
|
|
433
|
-
retry: 10,
|
|
434
|
-
}, async () => {
|
|
423
|
+
test("Should return false when key is expired and refreshed by same shared-lock-id", async () => {
|
|
435
424
|
const key = "a";
|
|
436
|
-
const
|
|
425
|
+
const sharedLockId = "b";
|
|
437
426
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
438
|
-
await adapter.acquireWriter(key,
|
|
427
|
+
await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
439
428
|
await delay(ttl);
|
|
440
429
|
const newTtl = TimeSpan.fromMinutes(1);
|
|
441
|
-
const result = await adapter.refreshWriter(key,
|
|
430
|
+
const result = await adapter.refreshWriter(key, sharedLockId, newTtl);
|
|
442
431
|
expect(result).toBe(false);
|
|
443
432
|
});
|
|
444
|
-
test("Should return false when key is unexpireable and refreshed by same
|
|
433
|
+
test("Should return false when key is unexpireable and refreshed by same shared-lock-id", async () => {
|
|
445
434
|
const key = "a";
|
|
446
|
-
const
|
|
435
|
+
const sharedLockId = "b";
|
|
447
436
|
const ttl = null;
|
|
448
|
-
await adapter.acquireWriter(key,
|
|
437
|
+
await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
449
438
|
const newTtl = TimeSpan.fromMinutes(1);
|
|
450
|
-
const result = await adapter.refreshWriter(key,
|
|
439
|
+
const result = await adapter.refreshWriter(key, sharedLockId, newTtl);
|
|
451
440
|
expect(result).toBe(false);
|
|
452
441
|
});
|
|
453
|
-
test("Should return true when key is unexpired and refreshed by same
|
|
442
|
+
test("Should return true when key is unexpired and refreshed by same shared-lock-id", async () => {
|
|
454
443
|
const key = "a";
|
|
455
|
-
const
|
|
444
|
+
const sharedLockId = "b";
|
|
456
445
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
457
|
-
await adapter.acquireWriter(key,
|
|
446
|
+
await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
458
447
|
const newTtl = TimeSpan.fromMinutes(1);
|
|
459
|
-
const result = await adapter.refreshWriter(key,
|
|
448
|
+
const result = await adapter.refreshWriter(key, sharedLockId, newTtl);
|
|
460
449
|
expect(result).toBe(true);
|
|
461
450
|
});
|
|
462
|
-
test("Should not update expiration when key is unexpireable and refreshed by same
|
|
463
|
-
retry: 10,
|
|
464
|
-
}, async () => {
|
|
451
|
+
test("Should not update expiration when key is unexpireable and refreshed by same shared-lock-id", async () => {
|
|
465
452
|
const key = "a";
|
|
466
|
-
const
|
|
453
|
+
const sharedLockId1 = "1";
|
|
467
454
|
const ttl = null;
|
|
468
|
-
await adapter.acquireWriter(key,
|
|
455
|
+
await adapter.acquireWriter(key, sharedLockId1, ttl);
|
|
469
456
|
const newTtl = TimeSpan.fromMilliseconds(50);
|
|
470
|
-
await adapter.refreshWriter(key,
|
|
457
|
+
await adapter.refreshWriter(key, sharedLockId1, newTtl);
|
|
471
458
|
await delay(newTtl);
|
|
472
|
-
const
|
|
473
|
-
const result = await adapter.acquireWriter(key,
|
|
459
|
+
const sharedLockId2 = "2";
|
|
460
|
+
const result = await adapter.acquireWriter(key, sharedLockId2, ttl);
|
|
474
461
|
expect(result).toBe(false);
|
|
475
462
|
});
|
|
476
|
-
test("Should update expiration when key is unexpired and refreshed by same
|
|
477
|
-
retry: 10,
|
|
478
|
-
}, async () => {
|
|
463
|
+
test("Should update expiration when key is unexpired and refreshed by same shared-lock-id", async () => {
|
|
479
464
|
const key = "a";
|
|
480
|
-
const
|
|
465
|
+
const sharedLockId1 = "b";
|
|
481
466
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
482
|
-
await adapter.acquireWriter(key,
|
|
467
|
+
await adapter.acquireWriter(key, sharedLockId1, ttl);
|
|
483
468
|
const newTtl = TimeSpan.fromMilliseconds(100);
|
|
484
|
-
await adapter.refreshWriter(key,
|
|
469
|
+
await adapter.refreshWriter(key, sharedLockId1, newTtl);
|
|
485
470
|
await delay(newTtl.divide(2));
|
|
486
|
-
const
|
|
487
|
-
const result1 = await adapter.acquireWriter(key,
|
|
471
|
+
const sharedLockId2 = "c";
|
|
472
|
+
const result1 = await adapter.acquireWriter(key, sharedLockId2, ttl);
|
|
488
473
|
expect(result1).toBe(false);
|
|
489
474
|
await delay(newTtl.divide(2));
|
|
490
|
-
const result2 = await adapter.acquireWriter(key,
|
|
475
|
+
const result2 = await adapter.acquireWriter(key, sharedLockId2, ttl);
|
|
491
476
|
expect(result2).toBe(true);
|
|
492
477
|
});
|
|
493
478
|
test("Should return false when key is acquired as reader", async () => {
|
|
@@ -550,9 +535,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
550
535
|
});
|
|
551
536
|
expect(result).toBe(true);
|
|
552
537
|
});
|
|
553
|
-
test("Should return true when key exists and slot is expired", {
|
|
554
|
-
retry: 10,
|
|
555
|
-
}, async () => {
|
|
538
|
+
test("Should return true when key exists and shared-lock-slot is expired", async () => {
|
|
556
539
|
const key = "a";
|
|
557
540
|
const lockId = "b";
|
|
558
541
|
const limit = 2;
|
|
@@ -619,9 +602,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
619
602
|
});
|
|
620
603
|
expect(result).toBe(false);
|
|
621
604
|
});
|
|
622
|
-
test("Should return true when one slot is expired", {
|
|
623
|
-
retry: 10,
|
|
624
|
-
}, async () => {
|
|
605
|
+
test("Should return true when one shared-lock-slot is expired", async () => {
|
|
625
606
|
const key = "a";
|
|
626
607
|
const limit = 2;
|
|
627
608
|
const lockId1 = "1";
|
|
@@ -651,7 +632,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
651
632
|
});
|
|
652
633
|
expect(result).toBe(true);
|
|
653
634
|
});
|
|
654
|
-
test("Should return true when slot exists, is unexpireable and acquired multiple times", async () => {
|
|
635
|
+
test("Should return true when shared-lock-slot exists, is unexpireable and acquired multiple times", async () => {
|
|
655
636
|
const key = "a";
|
|
656
637
|
const lockId = "b";
|
|
657
638
|
const limit = 2;
|
|
@@ -670,7 +651,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
670
651
|
});
|
|
671
652
|
expect(result).toBe(true);
|
|
672
653
|
});
|
|
673
|
-
test("Should return true when slot exists, is unexpired and acquired multiple times", async () => {
|
|
654
|
+
test("Should return true when shared-lock-slot exists, is unexpired and acquired multiple times", async () => {
|
|
674
655
|
const key = "a";
|
|
675
656
|
const lockId = "b";
|
|
676
657
|
const limit = 2;
|
|
@@ -689,7 +670,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
689
670
|
});
|
|
690
671
|
expect(result).toBe(true);
|
|
691
672
|
});
|
|
692
|
-
test("Should not acquire a slot when slot exists, is unexpireable and acquired multiple times", async () => {
|
|
673
|
+
test("Should not acquire a shared-lock-slot when shared-lock-slot exists, is unexpireable and acquired multiple times", async () => {
|
|
693
674
|
const key = "a";
|
|
694
675
|
const limit = 2;
|
|
695
676
|
const ttl = null;
|
|
@@ -715,7 +696,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
715
696
|
});
|
|
716
697
|
expect(result).toBe(true);
|
|
717
698
|
});
|
|
718
|
-
test("Should not acquire a slot when slot exists, is unexpired and acquired multiple times", async () => {
|
|
699
|
+
test("Should not acquire a shared-lock-slot when shared-lock-slot exists, is unexpired and acquired multiple times", async () => {
|
|
719
700
|
const key = "a";
|
|
720
701
|
const limit = 2;
|
|
721
702
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
@@ -741,7 +722,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
741
722
|
});
|
|
742
723
|
expect(result).toBe(true);
|
|
743
724
|
});
|
|
744
|
-
test("Should not update limit when slot count is more than 0", async () => {
|
|
725
|
+
test("Should not update limit when shared-lock-slot count is more than 0", async () => {
|
|
745
726
|
const key = "a";
|
|
746
727
|
const limit = 2;
|
|
747
728
|
const ttl = null;
|
|
@@ -823,7 +804,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
823
804
|
const result = await adapter.releaseReader(noneExistingKey, lockId);
|
|
824
805
|
expect(result).toBe(false);
|
|
825
806
|
});
|
|
826
|
-
test("Should return false when slot doesnt exists", async () => {
|
|
807
|
+
test("Should return false when shared-lock-slot doesnt exists", async () => {
|
|
827
808
|
const key = "a";
|
|
828
809
|
const ttl = null;
|
|
829
810
|
const limit = 2;
|
|
@@ -838,34 +819,14 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
838
819
|
const result = await adapter.releaseReader(key, noneExistingLockId);
|
|
839
820
|
expect(result).toBe(false);
|
|
840
821
|
});
|
|
841
|
-
test("Should return false when slot is expired", {
|
|
842
|
-
retry: 10,
|
|
843
|
-
}, async () => {
|
|
822
|
+
test("Should return false when shared-lock-slot is expired", async () => {
|
|
844
823
|
const key = "a";
|
|
845
824
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
846
825
|
const limit = 2;
|
|
847
|
-
const
|
|
848
|
-
await adapter.acquireReader({
|
|
849
|
-
key,
|
|
850
|
-
lockId: lockId1,
|
|
851
|
-
ttl,
|
|
852
|
-
limit,
|
|
853
|
-
});
|
|
854
|
-
await delay(ttl);
|
|
855
|
-
const lockId2 = "2";
|
|
856
|
-
const result = await adapter.releaseReader(key, lockId2);
|
|
857
|
-
expect(result).toBe(false);
|
|
858
|
-
});
|
|
859
|
-
test("Should return false when slot exists, is expired", {
|
|
860
|
-
retry: 10,
|
|
861
|
-
}, async () => {
|
|
862
|
-
const key = "a";
|
|
863
|
-
const lockId = "b";
|
|
864
|
-
const ttl = TimeSpan.fromMilliseconds(50);
|
|
865
|
-
const limit = 2;
|
|
826
|
+
const lockId = "1";
|
|
866
827
|
await adapter.acquireReader({
|
|
867
828
|
key,
|
|
868
|
-
lockId,
|
|
829
|
+
lockId: lockId,
|
|
869
830
|
ttl,
|
|
870
831
|
limit,
|
|
871
832
|
});
|
|
@@ -873,7 +834,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
873
834
|
const result = await adapter.releaseReader(key, lockId);
|
|
874
835
|
expect(result).toBe(false);
|
|
875
836
|
});
|
|
876
|
-
test("Should return true when slot exists
|
|
837
|
+
test("Should return true when shared-lock-slot exists and is unexpired", async () => {
|
|
877
838
|
const key = "a";
|
|
878
839
|
const lockId = "b";
|
|
879
840
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
@@ -887,7 +848,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
887
848
|
const result = await adapter.releaseReader(key, lockId);
|
|
888
849
|
expect(result).toBe(true);
|
|
889
850
|
});
|
|
890
|
-
test("Should return true when slot exists
|
|
851
|
+
test("Should return true when shared-lock-slot exists and is unexpireable", async () => {
|
|
891
852
|
const key = "a";
|
|
892
853
|
const lockId = "b";
|
|
893
854
|
const ttl = null;
|
|
@@ -901,7 +862,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
901
862
|
const result = await adapter.releaseReader(key, lockId);
|
|
902
863
|
expect(result).toBe(true);
|
|
903
864
|
});
|
|
904
|
-
test("Should update limit when slot count is 0", async () => {
|
|
865
|
+
test("Should update limit when shared-lock-slot count is 0", async () => {
|
|
905
866
|
const key = "a";
|
|
906
867
|
const limit = 2;
|
|
907
868
|
const ttl = null;
|
|
@@ -955,7 +916,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
955
916
|
});
|
|
956
917
|
expect(result3).toBe(false);
|
|
957
918
|
});
|
|
958
|
-
test("Should decrement slot count when one slot is released", async () => {
|
|
919
|
+
test("Should decrement shared-lock-slot count when one shared-lock-slot is released", async () => {
|
|
959
920
|
const key = "a";
|
|
960
921
|
const limit = 2;
|
|
961
922
|
const ttl = null;
|
|
@@ -1034,9 +995,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1034
995
|
const result = await adapter.forceReleaseAllReaders(noneExistingKey);
|
|
1035
996
|
expect(result).toBe(false);
|
|
1036
997
|
});
|
|
1037
|
-
test("Should return false when slot is expired", {
|
|
1038
|
-
retry: 10,
|
|
1039
|
-
}, async () => {
|
|
998
|
+
test("Should return false when shared-lock-slot is expired", async () => {
|
|
1040
999
|
const key = "a";
|
|
1041
1000
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
1042
1001
|
const limit = 2;
|
|
@@ -1051,7 +1010,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1051
1010
|
const result = await adapter.forceReleaseAllReaders(key);
|
|
1052
1011
|
expect(result).toBe(false);
|
|
1053
1012
|
});
|
|
1054
|
-
test("Should return false when no slots are acquired", async () => {
|
|
1013
|
+
test("Should return false when no shared-lock-slots are acquired", async () => {
|
|
1055
1014
|
const key = "a";
|
|
1056
1015
|
const ttl = null;
|
|
1057
1016
|
const lockId1 = "1";
|
|
@@ -1074,7 +1033,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1074
1033
|
const result = await adapter.forceReleaseAllReaders(key);
|
|
1075
1034
|
expect(result).toBe(false);
|
|
1076
1035
|
});
|
|
1077
|
-
test("Should return true when at least 1 slot is acquired", async () => {
|
|
1036
|
+
test("Should return true when at least 1 shared-lock-slot is acquired", async () => {
|
|
1078
1037
|
const key = "a";
|
|
1079
1038
|
const ttl = null;
|
|
1080
1039
|
const limit = 2;
|
|
@@ -1088,7 +1047,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1088
1047
|
const result = await adapter.forceReleaseAllReaders(key);
|
|
1089
1048
|
expect(result).toBe(true);
|
|
1090
1049
|
});
|
|
1091
|
-
test("Should make all slots reacquirable", async () => {
|
|
1050
|
+
test("Should make all shared-lock-slots reacquirable", async () => {
|
|
1092
1051
|
const key = "a";
|
|
1093
1052
|
const limit = 2;
|
|
1094
1053
|
const lockId1 = "1";
|
|
@@ -1127,7 +1086,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1127
1086
|
});
|
|
1128
1087
|
expect(result2).toBe(true);
|
|
1129
1088
|
});
|
|
1130
|
-
test("Should update limit when slot count is 0", async () => {
|
|
1089
|
+
test("Should update limit when shared-lock-slot count is 0", async () => {
|
|
1131
1090
|
const key = "a";
|
|
1132
1091
|
const limit = 2;
|
|
1133
1092
|
const ttl = null;
|
|
@@ -1221,7 +1180,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1221
1180
|
const result = await adapter.refreshReader(noneExistingKey, lockId, newTtl);
|
|
1222
1181
|
expect(result).toBe(false);
|
|
1223
1182
|
});
|
|
1224
|
-
test("Should return false when slot doesnt exists", async () => {
|
|
1183
|
+
test("Should return false when shared-lock-slot doesnt exists", async () => {
|
|
1225
1184
|
const key = "a";
|
|
1226
1185
|
const ttl = null;
|
|
1227
1186
|
const limit = 2;
|
|
@@ -1237,9 +1196,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1237
1196
|
const result = await adapter.refreshReader(key, noneExistingLockId, newTtl);
|
|
1238
1197
|
expect(result).toBe(false);
|
|
1239
1198
|
});
|
|
1240
|
-
test("Should return false when slot is expired", {
|
|
1241
|
-
retry: 10,
|
|
1242
|
-
}, async () => {
|
|
1199
|
+
test("Should return false when shared-lock-slot is expired", async () => {
|
|
1243
1200
|
const key = "a";
|
|
1244
1201
|
const lockId = "b";
|
|
1245
1202
|
const limit = 2;
|
|
@@ -1255,25 +1212,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1255
1212
|
const result = await adapter.refreshReader(key, lockId, newTtl);
|
|
1256
1213
|
expect(result).toBe(false);
|
|
1257
1214
|
});
|
|
1258
|
-
test("Should return false when slot exists
|
|
1259
|
-
retry: 10,
|
|
1260
|
-
}, async () => {
|
|
1261
|
-
const key = "a";
|
|
1262
|
-
const lockId = "b";
|
|
1263
|
-
const ttl = TimeSpan.fromMilliseconds(50);
|
|
1264
|
-
const limit = 2;
|
|
1265
|
-
await adapter.acquireReader({
|
|
1266
|
-
key,
|
|
1267
|
-
lockId,
|
|
1268
|
-
ttl,
|
|
1269
|
-
limit,
|
|
1270
|
-
});
|
|
1271
|
-
await delay(ttl);
|
|
1272
|
-
const newTtl = TimeSpan.fromMilliseconds(100);
|
|
1273
|
-
const result = await adapter.refreshReader(key, lockId, newTtl);
|
|
1274
|
-
expect(result).toBe(false);
|
|
1275
|
-
});
|
|
1276
|
-
test("Should return false when slot exists, is unexpireable", async () => {
|
|
1215
|
+
test("Should return false when shared-lock-slot exists and is unexpireable", async () => {
|
|
1277
1216
|
const key = "a";
|
|
1278
1217
|
const lockId = "b";
|
|
1279
1218
|
const ttl = null;
|
|
@@ -1288,7 +1227,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1288
1227
|
const result = await adapter.refreshReader(key, lockId, newTtl);
|
|
1289
1228
|
expect(result).toBe(false);
|
|
1290
1229
|
});
|
|
1291
|
-
test("Should return true when slot exists
|
|
1230
|
+
test("Should return true when shared-lock-slot exists and is unexpired", async () => {
|
|
1292
1231
|
const key = "a";
|
|
1293
1232
|
const lockId = "b";
|
|
1294
1233
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
@@ -1303,9 +1242,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1303
1242
|
const result = await adapter.refreshReader(key, lockId, newTtl);
|
|
1304
1243
|
expect(result).toBe(true);
|
|
1305
1244
|
});
|
|
1306
|
-
test("Should not update expiration when slot exists
|
|
1307
|
-
retry: 10,
|
|
1308
|
-
}, async () => {
|
|
1245
|
+
test("Should not update expiration when shared-lock-slot exists and is unexpireable", async () => {
|
|
1309
1246
|
const key = "a";
|
|
1310
1247
|
const limit = 2;
|
|
1311
1248
|
const ttl1 = null;
|
|
@@ -1336,9 +1273,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1336
1273
|
});
|
|
1337
1274
|
expect(result1).toBe(false);
|
|
1338
1275
|
});
|
|
1339
|
-
test("Should update expiration when slot exists
|
|
1340
|
-
retry: 10,
|
|
1341
|
-
}, async () => {
|
|
1276
|
+
test("Should update expiration when shared-lock-slot exists and is unexpired", async () => {
|
|
1342
1277
|
const key = "a";
|
|
1343
1278
|
const limit = 2;
|
|
1344
1279
|
const ttl1 = null;
|
|
@@ -1409,46 +1344,42 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1409
1344
|
const result = await adapter.forceRelease(key);
|
|
1410
1345
|
expect(result).toBe(false);
|
|
1411
1346
|
});
|
|
1412
|
-
test("Should return false when key is acquired as writer and is expired", {
|
|
1413
|
-
retry: 10,
|
|
1414
|
-
}, async () => {
|
|
1347
|
+
test("Should return false when key is acquired as writer and is expired", async () => {
|
|
1415
1348
|
const key = "a";
|
|
1416
|
-
const
|
|
1349
|
+
const sharedLockId = "b";
|
|
1417
1350
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
1418
|
-
await adapter.acquireWriter(key,
|
|
1351
|
+
await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
1419
1352
|
await delay(ttl);
|
|
1420
1353
|
const result = await adapter.forceRelease(key);
|
|
1421
1354
|
expect(result).toBe(false);
|
|
1422
1355
|
});
|
|
1423
1356
|
test("Should return true when key is acquired as writer and is uenxpired", async () => {
|
|
1424
1357
|
const key = "a";
|
|
1425
|
-
const
|
|
1358
|
+
const sharedLockId = "b";
|
|
1426
1359
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
1427
|
-
await adapter.acquireWriter(key,
|
|
1360
|
+
await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
1428
1361
|
const result = await adapter.forceRelease(key);
|
|
1429
1362
|
expect(result).toBe(true);
|
|
1430
1363
|
});
|
|
1431
1364
|
test("Should return true when key is acquired as writer and is unexpireable", async () => {
|
|
1432
1365
|
const key = "a";
|
|
1433
|
-
const
|
|
1366
|
+
const sharedLockId = "b";
|
|
1434
1367
|
const ttl = null;
|
|
1435
|
-
await adapter.acquireWriter(key,
|
|
1368
|
+
await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
1436
1369
|
const result = await adapter.forceRelease(key);
|
|
1437
1370
|
expect(result).toBe(true);
|
|
1438
1371
|
});
|
|
1439
1372
|
test("Should be reacquirable when key is acquired as writer and is force released", async () => {
|
|
1440
1373
|
const key = "a";
|
|
1441
|
-
const
|
|
1374
|
+
const sharedLockId1 = "b";
|
|
1442
1375
|
const ttl = null;
|
|
1443
|
-
await adapter.acquireWriter(key,
|
|
1376
|
+
await adapter.acquireWriter(key, sharedLockId1, ttl);
|
|
1444
1377
|
await adapter.forceRelease(key);
|
|
1445
|
-
const
|
|
1446
|
-
const result = await adapter.acquireWriter(key,
|
|
1378
|
+
const sharedLockId2 = "c";
|
|
1379
|
+
const result = await adapter.acquireWriter(key, sharedLockId2, ttl);
|
|
1447
1380
|
expect(result).toBe(true);
|
|
1448
1381
|
});
|
|
1449
|
-
test("Should return false when key is acquired as reader and slot is expired", {
|
|
1450
|
-
retry: 10,
|
|
1451
|
-
}, async () => {
|
|
1382
|
+
test("Should return false when key is acquired as reader and shared-lock-slot is expired", async () => {
|
|
1452
1383
|
const key = "a";
|
|
1453
1384
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
1454
1385
|
const limit = 2;
|
|
@@ -1463,7 +1394,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1463
1394
|
const result = await adapter.forceRelease(key);
|
|
1464
1395
|
expect(result).toBe(false);
|
|
1465
1396
|
});
|
|
1466
|
-
test("Should return false when key is acquired as reader and no slots are acquired", async () => {
|
|
1397
|
+
test("Should return false when key is acquired as reader and no shared-lock-slots are acquired", async () => {
|
|
1467
1398
|
const key = "a";
|
|
1468
1399
|
const ttl = null;
|
|
1469
1400
|
const lockId1 = "1";
|
|
@@ -1486,7 +1417,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1486
1417
|
const result = await adapter.forceRelease(key);
|
|
1487
1418
|
expect(result).toBe(false);
|
|
1488
1419
|
});
|
|
1489
|
-
test("Should return true when key is acquired as reader and at least 1 slot is acquired", async () => {
|
|
1420
|
+
test("Should return true when key is acquired as reader and at least 1 shared-lock-slot is acquired", async () => {
|
|
1490
1421
|
const key = "a";
|
|
1491
1422
|
const ttl = null;
|
|
1492
1423
|
const limit = 2;
|
|
@@ -1500,7 +1431,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1500
1431
|
const result = await adapter.forceRelease(key);
|
|
1501
1432
|
expect(result).toBe(true);
|
|
1502
1433
|
});
|
|
1503
|
-
test("Should make all slots reacquirable when key is acquired as reader", async () => {
|
|
1434
|
+
test("Should make all shared-lock-slots reacquirable when key is acquired as reader", async () => {
|
|
1504
1435
|
const key = "a";
|
|
1505
1436
|
const limit = 2;
|
|
1506
1437
|
const lockId1 = "1";
|
|
@@ -1539,7 +1470,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1539
1470
|
});
|
|
1540
1471
|
expect(result2).toBe(true);
|
|
1541
1472
|
});
|
|
1542
|
-
test("Should update limit when key is reader mode and slot count is 0", async () => {
|
|
1473
|
+
test("Should update limit when key is reader mode and shared-lock-slot count is 0", async () => {
|
|
1543
1474
|
const key = "a";
|
|
1544
1475
|
const limit = 2;
|
|
1545
1476
|
const ttl = null;
|
|
@@ -1600,13 +1531,11 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1600
1531
|
expect(sharedLockData).toBeNull();
|
|
1601
1532
|
});
|
|
1602
1533
|
describe("Writer state:", () => {
|
|
1603
|
-
test("Should return null when writer lock is expired", {
|
|
1604
|
-
retry: 10,
|
|
1605
|
-
}, async () => {
|
|
1534
|
+
test("Should return null when writer lock is expired", async () => {
|
|
1606
1535
|
const key = "a";
|
|
1607
|
-
const
|
|
1536
|
+
const sharedLockId = "b";
|
|
1608
1537
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
1609
|
-
await adapter.acquireWriter(key,
|
|
1538
|
+
await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
1610
1539
|
await delay(ttl);
|
|
1611
1540
|
const sharedLockData = await adapter.getState(key);
|
|
1612
1541
|
expect(sharedLockData).toBeNull();
|
|
@@ -1614,8 +1543,8 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1614
1543
|
test("Should return null when writer lock is released with forceReleaseWriter method", async () => {
|
|
1615
1544
|
const key = "a";
|
|
1616
1545
|
const ttl = null;
|
|
1617
|
-
const
|
|
1618
|
-
await adapter.acquireWriter(key,
|
|
1546
|
+
const sharedLockId = "1";
|
|
1547
|
+
await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
1619
1548
|
await adapter.forceReleaseWriter(key);
|
|
1620
1549
|
const sharedLockData = await adapter.getState(key);
|
|
1621
1550
|
expect(sharedLockData).toBeNull();
|
|
@@ -1623,8 +1552,8 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1623
1552
|
test("Should return null when writer lock is released with forceRelease method", async () => {
|
|
1624
1553
|
const key = "a";
|
|
1625
1554
|
const ttl = null;
|
|
1626
|
-
const
|
|
1627
|
-
await adapter.acquireWriter(key,
|
|
1555
|
+
const sharedLockId = "1";
|
|
1556
|
+
await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
1628
1557
|
await adapter.forceRelease(key);
|
|
1629
1558
|
const sharedLockData = await adapter.getState(key);
|
|
1630
1559
|
expect(sharedLockData).toBeNull();
|
|
@@ -1632,35 +1561,35 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1632
1561
|
test("Should return null when lock is released with releaseWriter method", async () => {
|
|
1633
1562
|
const key = "a";
|
|
1634
1563
|
const ttl = null;
|
|
1635
|
-
const
|
|
1636
|
-
await adapter.acquireWriter(key,
|
|
1637
|
-
await adapter.releaseWriter(key,
|
|
1564
|
+
const sharedLockId = "1";
|
|
1565
|
+
await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
1566
|
+
await adapter.releaseWriter(key, sharedLockId);
|
|
1638
1567
|
const sharedLockData = await adapter.getState(key);
|
|
1639
1568
|
expect(sharedLockData).toBeNull();
|
|
1640
1569
|
});
|
|
1641
1570
|
test("Should return unactive reader and active writer when writer lock exists and is uenxpireable", async () => {
|
|
1642
1571
|
const key = "a";
|
|
1643
1572
|
const ttl = null;
|
|
1644
|
-
const
|
|
1645
|
-
await adapter.acquireWriter(key,
|
|
1573
|
+
const sharedLockId = "1";
|
|
1574
|
+
await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
1646
1575
|
const state = await adapter.getState(key);
|
|
1647
1576
|
expect(state).toEqual({
|
|
1648
1577
|
reader: null,
|
|
1649
1578
|
writer: {
|
|
1650
|
-
owner,
|
|
1579
|
+
owner: sharedLockId,
|
|
1651
1580
|
expiration: ttl,
|
|
1652
1581
|
},
|
|
1653
1582
|
});
|
|
1654
1583
|
});
|
|
1655
1584
|
test("Should return unactive reader and active writer when writer lock exists and is unexpired", async () => {
|
|
1656
1585
|
const key = "a";
|
|
1657
|
-
const
|
|
1586
|
+
const sharedLockId = "1";
|
|
1658
1587
|
const ttl = TimeSpan.fromMinutes(5);
|
|
1659
1588
|
let expiration;
|
|
1660
1589
|
try {
|
|
1661
1590
|
vi.useFakeTimers();
|
|
1662
1591
|
expiration = ttl.toEndDate();
|
|
1663
|
-
await adapter.acquireWriter(key,
|
|
1592
|
+
await adapter.acquireWriter(key, sharedLockId, ttl);
|
|
1664
1593
|
}
|
|
1665
1594
|
finally {
|
|
1666
1595
|
vi.useRealTimers();
|
|
@@ -1668,7 +1597,10 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1668
1597
|
const state = await adapter.getState(key);
|
|
1669
1598
|
expect(state).toEqual({
|
|
1670
1599
|
reader: null,
|
|
1671
|
-
writer: {
|
|
1600
|
+
writer: {
|
|
1601
|
+
owner: sharedLockId,
|
|
1602
|
+
expiration,
|
|
1603
|
+
},
|
|
1672
1604
|
});
|
|
1673
1605
|
});
|
|
1674
1606
|
test("Should return active reader and unactive writer when acquired as reader first", async () => {
|
|
@@ -1683,8 +1615,8 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1683
1615
|
ttl,
|
|
1684
1616
|
});
|
|
1685
1617
|
const keyB = "a";
|
|
1686
|
-
const
|
|
1687
|
-
await adapter.acquireWriter(keyB,
|
|
1618
|
+
const sharedLockId = "2";
|
|
1619
|
+
await adapter.acquireWriter(keyB, sharedLockId, ttl);
|
|
1688
1620
|
const state = await adapter.getState(keyB);
|
|
1689
1621
|
expect({
|
|
1690
1622
|
...state,
|
|
@@ -1704,9 +1636,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1704
1636
|
});
|
|
1705
1637
|
});
|
|
1706
1638
|
describe("Reader state:", () => {
|
|
1707
|
-
test("Should return null when slot is expired", {
|
|
1708
|
-
retry: 10,
|
|
1709
|
-
}, async () => {
|
|
1639
|
+
test("Should return null when shared-lock-slot is expired", async () => {
|
|
1710
1640
|
const key = "a";
|
|
1711
1641
|
const lockId = "b";
|
|
1712
1642
|
const ttl = TimeSpan.fromMilliseconds(50);
|
|
@@ -1721,7 +1651,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1721
1651
|
const result = await adapter.getState(key);
|
|
1722
1652
|
expect(result).toBeNull();
|
|
1723
1653
|
});
|
|
1724
|
-
test("Should return null when all slots are released with forceReleaseAllReaders method", async () => {
|
|
1654
|
+
test("Should return null when all shared-lock-slots are released with forceReleaseAllReaders method", async () => {
|
|
1725
1655
|
const key = "a";
|
|
1726
1656
|
const limit = 2;
|
|
1727
1657
|
const ttl1 = null;
|
|
@@ -1744,7 +1674,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1744
1674
|
const result = await adapter.getState(key);
|
|
1745
1675
|
expect(result).toBeNull();
|
|
1746
1676
|
});
|
|
1747
|
-
test("Should return null when all slots are released with forceRelease method", async () => {
|
|
1677
|
+
test("Should return null when all shared-lock-slots are released with forceRelease method", async () => {
|
|
1748
1678
|
const key = "a";
|
|
1749
1679
|
const limit = 2;
|
|
1750
1680
|
const ttl1 = null;
|
|
@@ -1767,7 +1697,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1767
1697
|
const result = await adapter.getState(key);
|
|
1768
1698
|
expect(result).toBeNull();
|
|
1769
1699
|
});
|
|
1770
|
-
test("Should return null when all slots are released with releaseReader method", async () => {
|
|
1700
|
+
test("Should return null when all shared-lock-slots are released with releaseReader method", async () => {
|
|
1771
1701
|
const key = "a";
|
|
1772
1702
|
const limit = 2;
|
|
1773
1703
|
const ttl1 = null;
|
|
@@ -1805,7 +1735,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1805
1735
|
const state = await adapter.getState(key);
|
|
1806
1736
|
expect(state?.reader?.limit).toBe(limit);
|
|
1807
1737
|
});
|
|
1808
|
-
test("Should return slot count when key exists", async () => {
|
|
1738
|
+
test("Should return shared-lock-slot count when key exists", async () => {
|
|
1809
1739
|
const key = "a";
|
|
1810
1740
|
const limit = 3;
|
|
1811
1741
|
const lockId1 = "1";
|
|
@@ -1827,7 +1757,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1827
1757
|
const state = await adapter.getState(key);
|
|
1828
1758
|
expect(state?.reader?.acquiredSlots.size).toBe(2);
|
|
1829
1759
|
});
|
|
1830
|
-
test("Should return slot when key exists, slot exists and slot is unexpired", async () => {
|
|
1760
|
+
test("Should return shared-lock-slot when key exists, shared-lock-slot exists and shared-lock-slot is unexpired", async () => {
|
|
1831
1761
|
const key = "a";
|
|
1832
1762
|
const limit = 3;
|
|
1833
1763
|
const lockId = "a";
|
|
@@ -1855,7 +1785,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1855
1785
|
},
|
|
1856
1786
|
});
|
|
1857
1787
|
});
|
|
1858
|
-
test("Should return slot when key exists, slot exists and slot is unexpireable", async () => {
|
|
1788
|
+
test("Should return shared-lock-slot when key exists, shared-lock-slot exists and shared-lock-slot is unexpireable", async () => {
|
|
1859
1789
|
const key = "a";
|
|
1860
1790
|
const limit = 3;
|
|
1861
1791
|
const lockId = "a";
|
|
@@ -1894,8 +1824,8 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1894
1824
|
test("Should return unactive reader and active writer when acquired as reader first", async () => {
|
|
1895
1825
|
const ttl = null;
|
|
1896
1826
|
const keyB = "a";
|
|
1897
|
-
const
|
|
1898
|
-
await adapter.acquireWriter(keyB,
|
|
1827
|
+
const sharedLockId = "2";
|
|
1828
|
+
await adapter.acquireWriter(keyB, sharedLockId, ttl);
|
|
1899
1829
|
const keyA = "a";
|
|
1900
1830
|
const lockId = "1";
|
|
1901
1831
|
const limit = 4;
|
|
@@ -1908,7 +1838,7 @@ export function sharedLockAdapterTestSuite(settings) {
|
|
|
1908
1838
|
const state = await adapter.getState(keyB);
|
|
1909
1839
|
expect(state).toEqual({
|
|
1910
1840
|
writer: {
|
|
1911
|
-
owner,
|
|
1841
|
+
owner: sharedLockId,
|
|
1912
1842
|
expiration: ttl,
|
|
1913
1843
|
},
|
|
1914
1844
|
reader: null,
|