@daiso-tech/core 0.42.0 → 0.44.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 +19 -9
- package/dist/backoff-policies/_module-exports.d.ts +5 -4
- package/dist/backoff-policies/_module-exports.js +5 -4
- package/dist/backoff-policies/_module-exports.js.map +1 -1
- package/dist/backoff-policies/_module.d.ts +7 -0
- package/dist/backoff-policies/_module.js +8 -0
- package/dist/backoff-policies/_module.js.map +1 -0
- package/dist/backoff-policies/_shared.d.ts +8 -3
- package/dist/backoff-policies/_shared.js +57 -2
- package/dist/backoff-policies/_shared.js.map +1 -1
- package/dist/backoff-policies/backoffs-lua.d.ts +7 -0
- package/dist/backoff-policies/backoffs-lua.js +78 -0
- package/dist/backoff-policies/backoffs-lua.js.map +1 -0
- package/dist/backoff-policies/constant-backoff/_module.d.ts +1 -0
- package/dist/backoff-policies/constant-backoff/_module.js +2 -0
- package/dist/backoff-policies/constant-backoff/_module.js.map +1 -0
- package/dist/backoff-policies/constant-backoff/constant-backoff.d.ts +53 -0
- package/dist/backoff-policies/constant-backoff/constant-backoff.js +54 -0
- package/dist/backoff-policies/constant-backoff/constant-backoff.js.map +1 -0
- package/dist/backoff-policies/exponential-backoff/_module.d.ts +1 -0
- package/dist/backoff-policies/exponential-backoff/_module.js +2 -0
- package/dist/backoff-policies/exponential-backoff/_module.js.map +1 -0
- package/dist/backoff-policies/exponential-backoff/exponential-backoff.d.ts +68 -0
- package/dist/backoff-policies/exponential-backoff/exponential-backoff.js +59 -0
- package/dist/backoff-policies/exponential-backoff/exponential-backoff.js.map +1 -0
- package/dist/backoff-policies/linear-backoff/_module.d.ts +1 -0
- package/dist/backoff-policies/linear-backoff/_module.js +2 -0
- package/dist/backoff-policies/linear-backoff/_module.js.map +1 -0
- package/dist/backoff-policies/linear-backoff/linear-backoff.d.ts +63 -0
- package/dist/backoff-policies/linear-backoff/linear-backoff.js +57 -0
- package/dist/backoff-policies/linear-backoff/linear-backoff.js.map +1 -0
- package/dist/backoff-policies/polynomial-backoff/_module.d.ts +1 -0
- package/dist/backoff-policies/polynomial-backoff/_module.js +2 -0
- package/dist/backoff-policies/polynomial-backoff/_module.js.map +1 -0
- package/dist/backoff-policies/polynomial-backoff/polynomial-backoff.d.ts +68 -0
- package/dist/backoff-policies/polynomial-backoff/polynomial-backoff.js +59 -0
- package/dist/backoff-policies/polynomial-backoff/polynomial-backoff.js.map +1 -0
- package/dist/backoff-policies/types.d.ts +83 -0
- package/dist/backoff-policies/types.js +18 -0
- package/dist/backoff-policies/types.js.map +1 -0
- package/dist/cache/contracts/_module-exports.d.ts +5 -4
- package/dist/cache/contracts/_module-exports.js +0 -4
- package/dist/cache/contracts/_module-exports.js.map +1 -1
- package/dist/cache/contracts/_module.d.ts +7 -0
- package/dist/cache/contracts/_module.js +3 -0
- package/dist/cache/contracts/_module.js.map +1 -0
- package/dist/cache/contracts/cache-adapter.contract.d.ts +1 -1
- package/dist/cache/contracts/cache-adapter.contract.js +4 -1
- package/dist/cache/contracts/cache-adapter.contract.js.map +1 -1
- package/dist/cache/contracts/cache-factory.contract.d.ts +1 -1
- package/dist/cache/contracts/cache-factory.contract.js +2 -1
- package/dist/cache/contracts/cache-factory.contract.js.map +1 -1
- package/dist/cache/contracts/cache.contract.d.ts +79 -76
- package/dist/cache/contracts/cache.contract.js +10 -1
- package/dist/cache/contracts/cache.contract.js.map +1 -1
- package/dist/cache/contracts/cache.errors.d.ts +22 -0
- package/dist/cache/contracts/cache.errors.js +29 -0
- package/dist/cache/contracts/cache.errors.js.map +1 -1
- package/dist/cache/contracts/cache.events.d.ts +19 -22
- package/dist/cache/contracts/cache.events.js +8 -1
- package/dist/cache/contracts/cache.events.js.map +1 -1
- package/dist/cache/contracts/types.d.ts +18 -0
- package/dist/cache/contracts/types.js +7 -0
- package/dist/cache/contracts/types.js.map +1 -0
- package/dist/cache/implementations/adapters/_module.d.ts +5 -5
- package/dist/cache/implementations/adapters/_module.js +5 -5
- package/dist/cache/implementations/adapters/_module.js.map +1 -1
- package/dist/cache/implementations/adapters/kysely-cache-adapter/_module.d.ts +1 -0
- package/dist/cache/implementations/adapters/kysely-cache-adapter/_module.js +2 -0
- package/dist/cache/implementations/adapters/kysely-cache-adapter/_module.js.map +1 -0
- package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.d.ts +14 -7
- package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js +13 -5
- package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/adapters/memory-cache-adapter/_module.d.ts +1 -0
- package/dist/cache/implementations/adapters/memory-cache-adapter/_module.js +2 -0
- package/dist/cache/implementations/adapters/memory-cache-adapter/_module.js.map +1 -0
- package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +2 -2
- package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +2 -1
- package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/_module.d.ts +1 -0
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/_module.js +2 -0
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/_module.js.map +1 -0
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.d.ts +1 -1
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.js +1 -1
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.js.map +1 -1
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +5 -6
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +8 -5
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/adapters/no-op-cache-adapter/_module.d.ts +1 -0
- package/dist/cache/implementations/adapters/no-op-cache-adapter/_module.js +2 -0
- package/dist/cache/implementations/adapters/no-op-cache-adapter/_module.js.map +1 -0
- package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +2 -2
- package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js +2 -1
- package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/adapters/redis-cache-adapter/_module.d.ts +1 -0
- package/dist/cache/implementations/adapters/redis-cache-adapter/_module.js +2 -0
- package/dist/cache/implementations/adapters/redis-cache-adapter/_module.js.map +1 -0
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.d.ts +1 -1
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.js +1 -1
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.js.map +1 -1
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +3 -3
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +6 -2
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/adapters/redis-cache-adapter/utilities.js +1 -1
- package/dist/cache/implementations/adapters/redis-cache-adapter/utilities.js.map +1 -1
- package/dist/cache/implementations/derivables/_module.d.ts +2 -0
- package/dist/cache/implementations/derivables/_module.js +3 -0
- package/dist/cache/implementations/derivables/_module.js.map +1 -0
- package/dist/cache/implementations/derivables/cache/_module.d.ts +1 -0
- package/dist/cache/implementations/derivables/cache/_module.js +1 -0
- package/dist/cache/implementations/derivables/cache/_module.js.map +1 -1
- package/dist/cache/implementations/derivables/cache/cache.d.ts +44 -39
- package/dist/cache/implementations/derivables/cache/cache.js +139 -78
- package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
- package/dist/cache/implementations/derivables/cache/database-cache-adapter.d.ts +2 -2
- package/dist/cache/implementations/derivables/cache/database-cache-adapter.js +2 -1
- package/dist/cache/implementations/derivables/cache/database-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.d.ts +2 -3
- package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.js +9 -2
- package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/derivables/cache/resolve-cache-adapter.d.ts +8 -0
- package/dist/cache/implementations/derivables/cache/resolve-cache-adapter.js +16 -0
- package/dist/cache/implementations/derivables/cache/resolve-cache-adapter.js.map +1 -0
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +8 -7
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +13 -2
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
- package/dist/cache/implementations/test-utilities/_module.d.ts +3 -0
- package/dist/cache/implementations/test-utilities/_module.js +4 -0
- package/dist/cache/implementations/test-utilities/_module.js.map +1 -0
- package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.d.ts +2 -2
- package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js +4 -4
- 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 +6 -2
- package/dist/cache/implementations/test-utilities/cache.test-suite.js +1479 -607
- package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
- package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.d.ts +2 -2
- package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js +3 -3
- package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js.map +1 -1
- package/dist/circuit-breaker/contracts/_module-exports.d.ts +9 -0
- package/dist/circuit-breaker/contracts/_module-exports.js +6 -0
- package/dist/circuit-breaker/contracts/_module-exports.js.map +1 -0
- package/dist/circuit-breaker/contracts/_module.d.ts +9 -0
- package/dist/circuit-breaker/contracts/_module.js +6 -0
- package/dist/circuit-breaker/contracts/_module.js.map +1 -0
- package/dist/circuit-breaker/contracts/circuit-breaker-adapter.contract.d.ts +45 -0
- package/dist/circuit-breaker/contracts/circuit-breaker-adapter.contract.js +7 -0
- package/dist/circuit-breaker/contracts/circuit-breaker-adapter.contract.js.map +1 -0
- package/dist/circuit-breaker/contracts/circuit-breaker-policy.contract.d.ts +114 -0
- package/dist/circuit-breaker/contracts/circuit-breaker-policy.contract.js +41 -0
- package/dist/circuit-breaker/contracts/circuit-breaker-policy.contract.js.map +1 -0
- package/dist/circuit-breaker/contracts/circuit-breaker-provider-factory.contract.d.ts +19 -0
- package/dist/circuit-breaker/contracts/circuit-breaker-provider-factory.contract.js +10 -0
- package/dist/circuit-breaker/contracts/circuit-breaker-provider-factory.contract.js.map +1 -0
- package/dist/circuit-breaker/contracts/circuit-breaker-provider.contract.d.ts +63 -0
- package/dist/circuit-breaker/contracts/circuit-breaker-provider.contract.js +19 -0
- package/dist/circuit-breaker/contracts/circuit-breaker-provider.contract.js.map +1 -0
- package/dist/circuit-breaker/contracts/circuit-breaker-state.contract.d.ts +20 -0
- package/dist/circuit-breaker/contracts/circuit-breaker-state.contract.js +15 -0
- package/dist/circuit-breaker/contracts/circuit-breaker-state.contract.js.map +1 -0
- package/dist/circuit-breaker/contracts/circuit-breaker-storage-adapter.contract.d.ts +52 -0
- package/dist/circuit-breaker/contracts/circuit-breaker-storage-adapter.contract.js +5 -0
- package/dist/circuit-breaker/contracts/circuit-breaker-storage-adapter.contract.js.map +1 -0
- package/dist/circuit-breaker/contracts/circuit-breaker.contract.d.ts +40 -0
- package/dist/circuit-breaker/contracts/circuit-breaker.contract.js +9 -0
- package/dist/circuit-breaker/contracts/circuit-breaker.contract.js.map +1 -0
- package/dist/circuit-breaker/contracts/circuit-breaker.errors.d.ts +49 -0
- package/dist/circuit-breaker/contracts/circuit-breaker.errors.js +61 -0
- package/dist/circuit-breaker/contracts/circuit-breaker.errors.js.map +1 -0
- package/dist/circuit-breaker/contracts/circuit-breaker.events.d.ts +96 -0
- package/dist/circuit-breaker/contracts/circuit-breaker.events.js +20 -0
- package/dist/circuit-breaker/contracts/circuit-breaker.events.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/_module.d.ts +7 -0
- package/dist/circuit-breaker/implementations/adapters/_module.js +8 -0
- package/dist/circuit-breaker/implementations/adapters/_module.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/_module-exports.d.ts +1 -0
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/_module-exports.js +2 -0
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/_module-exports.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/_module.d.ts +1 -0
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/_module.js +2 -0
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/_module.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/circuit-breaker-state-manager.d.ts +18 -0
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/circuit-breaker-state-manager.js +57 -0
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/circuit-breaker-state-manager.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/circuit-breaker-storage.d.ts +17 -0
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/circuit-breaker-storage.js +40 -0
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/circuit-breaker-storage.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/database-circuit-breaker-adapter.d.ts +59 -0
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/database-circuit-breaker-adapter.js +57 -0
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/database-circuit-breaker-adapter.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/internal-circuit-breaker-policy.d.ts +65 -0
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/internal-circuit-breaker-policy.js +128 -0
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/internal-circuit-breaker-policy.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/types.d.ts +12 -0
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/types.js +6 -0
- package/dist/circuit-breaker/implementations/adapters/database-circuit-breaker-adapter/types.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/kysely-circuit-breaker-storage-adapter/_module-exports.d.ts +1 -0
- package/dist/circuit-breaker/implementations/adapters/kysely-circuit-breaker-storage-adapter/_module-exports.js +2 -0
- package/dist/circuit-breaker/implementations/adapters/kysely-circuit-breaker-storage-adapter/_module-exports.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/kysely-circuit-breaker-storage-adapter/_module.d.ts +1 -0
- package/dist/circuit-breaker/implementations/adapters/kysely-circuit-breaker-storage-adapter/_module.js +2 -0
- package/dist/circuit-breaker/implementations/adapters/kysely-circuit-breaker-storage-adapter/_module.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/kysely-circuit-breaker-storage-adapter/kysely-circuit-breaker-storage-adapter.d.ts +81 -0
- package/dist/circuit-breaker/implementations/adapters/kysely-circuit-breaker-storage-adapter/kysely-circuit-breaker-storage-adapter.js +149 -0
- package/dist/circuit-breaker/implementations/adapters/kysely-circuit-breaker-storage-adapter/kysely-circuit-breaker-storage-adapter.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/memory-circuit-breaker-storage-adapter/_module-exports.d.ts +1 -0
- package/dist/circuit-breaker/implementations/adapters/memory-circuit-breaker-storage-adapter/_module-exports.js +2 -0
- package/dist/circuit-breaker/implementations/adapters/memory-circuit-breaker-storage-adapter/_module-exports.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/memory-circuit-breaker-storage-adapter/_module.d.ts +1 -0
- package/dist/circuit-breaker/implementations/adapters/memory-circuit-breaker-storage-adapter/_module.js +2 -0
- package/dist/circuit-breaker/implementations/adapters/memory-circuit-breaker-storage-adapter/_module.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/memory-circuit-breaker-storage-adapter/memory-circuit-breaker-storage-adapter.d.ts +42 -0
- package/dist/circuit-breaker/implementations/adapters/memory-circuit-breaker-storage-adapter/memory-circuit-breaker-storage-adapter.js +60 -0
- package/dist/circuit-breaker/implementations/adapters/memory-circuit-breaker-storage-adapter/memory-circuit-breaker-storage-adapter.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/mongodb-circuit-breaker-storage-adapter/_module-exports.d.ts +1 -0
- package/dist/circuit-breaker/implementations/adapters/mongodb-circuit-breaker-storage-adapter/_module-exports.js +2 -0
- package/dist/circuit-breaker/implementations/adapters/mongodb-circuit-breaker-storage-adapter/_module-exports.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/mongodb-circuit-breaker-storage-adapter/_module.d.ts +1 -0
- package/dist/circuit-breaker/implementations/adapters/mongodb-circuit-breaker-storage-adapter/_module.js +2 -0
- package/dist/circuit-breaker/implementations/adapters/mongodb-circuit-breaker-storage-adapter/_module.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/mongodb-circuit-breaker-storage-adapter/mongodb-circuit-breaker-storage-adapter.d.ts +80 -0
- package/dist/circuit-breaker/implementations/adapters/mongodb-circuit-breaker-storage-adapter/mongodb-circuit-breaker-storage-adapter.js +115 -0
- package/dist/circuit-breaker/implementations/adapters/mongodb-circuit-breaker-storage-adapter/mongodb-circuit-breaker-storage-adapter.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-adapter/_module-exports.d.ts +1 -0
- package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-adapter/_module-exports.js +2 -0
- package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-adapter/_module-exports.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-adapter/_module.d.ts +1 -0
- package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-adapter/_module.js +2 -0
- package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-adapter/_module.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-adapter/no-op-circuit-breaker-adapter.d.ts +16 -0
- package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-adapter/no-op-circuit-breaker-adapter.js +32 -0
- package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-adapter/no-op-circuit-breaker-adapter.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-storage-adapter/_module-exports.d.ts +1 -0
- package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-storage-adapter/_module-exports.js +2 -0
- package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-storage-adapter/_module-exports.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-storage-adapter/_module.d.ts +1 -0
- package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-storage-adapter/_module.js +2 -0
- package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-storage-adapter/_module.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-storage-adapter/no-op-circuit-breaker-storage-adapter.d.ts +16 -0
- package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-storage-adapter/no-op-circuit-breaker-storage-adapter.js +24 -0
- package/dist/circuit-breaker/implementations/adapters/no-op-circuit-breaker-storage-adapter/no-op-circuit-breaker-storage-adapter.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/_module-exports.d.ts +1 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/_module-exports.js +2 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/_module-exports.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/_module.d.ts +1 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/_module.js +2 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/_module.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/_module.d.ts +1 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/_module.js +2 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/_module.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-factory-lua.d.ts +4 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-factory-lua.js +76 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-factory-lua.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-lua.d.ts +7 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-lua.js +34 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-lua.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-state-manager-lua.d.ts +7 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-state-manager-lua.js +64 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-state-manager-lua.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-storage-lua.d.ts +7 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-storage-lua.js +39 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/circuit-breaker-storage-lua.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/consecutive-breaker-lua.d.ts +7 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/consecutive-breaker-lua.js +75 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/consecutive-breaker-lua.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/count-breaker-lua.d.ts +7 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/count-breaker-lua.js +136 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/count-breaker-lua.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/internal-circuit-breaker-policy-lua.d.ts +7 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/internal-circuit-breaker-policy-lua.js +144 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/internal-circuit-breaker-policy-lua.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/sampling-breaker-lua.d.ts +7 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/sampling-breaker-lua.js +153 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/lua/sampling-breaker-lua.js.map +1 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/redis-circuit-breaker-adapter.d.ts +68 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/redis-circuit-breaker-adapter.js +131 -0
- package/dist/circuit-breaker/implementations/adapters/redis-circuit-breaker-adapter/redis-circuit-breaker-adapter.js.map +1 -0
- package/dist/circuit-breaker/implementations/derivables/_module-exports.d.ts +2 -0
- package/dist/circuit-breaker/implementations/derivables/_module-exports.js +3 -0
- package/dist/circuit-breaker/implementations/derivables/_module-exports.js.map +1 -0
- package/dist/circuit-breaker/implementations/derivables/_module.d.ts +2 -0
- package/dist/circuit-breaker/implementations/derivables/_module.js +3 -0
- package/dist/circuit-breaker/implementations/derivables/_module.js.map +1 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/_module.d.ts +1 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/_module.js +2 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/_module.js.map +1 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-provider.d.ts +154 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-provider.js +138 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-provider.js.map +1 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-serde-transformer.d.ts +41 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-serde-transformer.js +77 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-serde-transformer.js.map +1 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker.d.ts +62 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker.js +201 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker.js.map +1 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/_module.d.ts +2 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/_module.js +3 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/_module.js.map +1 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/circuit-breaker-provider-factory.d.ts +108 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/circuit-breaker-provider-factory.js +140 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/circuit-breaker-provider-factory.js.map +1 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/database-circuit-breaker-provider-factory.d.ts +137 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/database-circuit-breaker-provider-factory.js +164 -0
- package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/database-circuit-breaker-provider-factory.js.map +1 -0
- package/dist/circuit-breaker/implementations/policies/_module-exports.d.ts +5 -0
- package/dist/circuit-breaker/implementations/policies/_module-exports.js +6 -0
- package/dist/circuit-breaker/implementations/policies/_module-exports.js.map +1 -0
- package/dist/circuit-breaker/implementations/policies/_module.d.ts +5 -0
- package/dist/circuit-breaker/implementations/policies/_module.js +6 -0
- package/dist/circuit-breaker/implementations/policies/_module.js.map +1 -0
- package/dist/circuit-breaker/implementations/policies/_shared.d.ts +12 -0
- package/dist/circuit-breaker/implementations/policies/_shared.js +50 -0
- package/dist/circuit-breaker/implementations/policies/_shared.js.map +1 -0
- package/dist/circuit-breaker/implementations/policies/consecutive-breaker/_module.d.ts +1 -0
- package/dist/circuit-breaker/implementations/policies/consecutive-breaker/_module.js +2 -0
- package/dist/circuit-breaker/implementations/policies/consecutive-breaker/_module.js.map +1 -0
- package/dist/circuit-breaker/implementations/policies/consecutive-breaker/consecutive-breaker.d.ts +51 -0
- package/dist/circuit-breaker/implementations/policies/consecutive-breaker/consecutive-breaker.js +85 -0
- package/dist/circuit-breaker/implementations/policies/consecutive-breaker/consecutive-breaker.js.map +1 -0
- package/dist/circuit-breaker/implementations/policies/count-breaker/_module.d.ts +1 -0
- package/dist/circuit-breaker/implementations/policies/count-breaker/_module.js +2 -0
- package/dist/circuit-breaker/implementations/policies/count-breaker/_module.js.map +1 -0
- package/dist/circuit-breaker/implementations/policies/count-breaker/count-breaker.d.ts +74 -0
- package/dist/circuit-breaker/implementations/policies/count-breaker/count-breaker.js +130 -0
- package/dist/circuit-breaker/implementations/policies/count-breaker/count-breaker.js.map +1 -0
- package/dist/circuit-breaker/implementations/policies/sampling-breaker/_module.d.ts +1 -0
- package/dist/circuit-breaker/implementations/policies/sampling-breaker/_module.js +2 -0
- package/dist/circuit-breaker/implementations/policies/sampling-breaker/_module.js.map +1 -0
- package/dist/circuit-breaker/implementations/policies/sampling-breaker/sampling-breaker.d.ts +112 -0
- package/dist/circuit-breaker/implementations/policies/sampling-breaker/sampling-breaker.js +159 -0
- package/dist/circuit-breaker/implementations/policies/sampling-breaker/sampling-breaker.js.map +1 -0
- package/dist/circuit-breaker/implementations/policies/types.d.ts +51 -0
- package/dist/circuit-breaker/implementations/policies/types.js +16 -0
- package/dist/circuit-breaker/implementations/policies/types.js.map +1 -0
- package/dist/circuit-breaker/implementations/test-utilities/_module-exports.d.ts +4 -0
- package/dist/circuit-breaker/implementations/test-utilities/_module-exports.js +5 -0
- package/dist/circuit-breaker/implementations/test-utilities/_module-exports.js.map +1 -0
- package/dist/circuit-breaker/implementations/test-utilities/_module.d.ts +4 -0
- package/dist/circuit-breaker/implementations/test-utilities/_module.js +5 -0
- package/dist/circuit-breaker/implementations/test-utilities/_module.js.map +1 -0
- package/dist/circuit-breaker/implementations/test-utilities/circuit-breaker-storage-adapter.test-suite.d.ts +45 -0
- package/dist/circuit-breaker/implementations/test-utilities/circuit-breaker-storage-adapter.test-suite.js +110 -0
- package/dist/circuit-breaker/implementations/test-utilities/circuit-breaker-storage-adapter.test-suite.js.map +1 -0
- package/dist/circuit-breaker/implementations/test-utilities/consecutive-breaker.test-suite.d.ts +60 -0
- package/dist/circuit-breaker/implementations/test-utilities/consecutive-breaker.test-suite.js +454 -0
- package/dist/circuit-breaker/implementations/test-utilities/consecutive-breaker.test-suite.js.map +1 -0
- package/dist/circuit-breaker/implementations/test-utilities/count-breaker.test-suite.d.ts +60 -0
- package/dist/circuit-breaker/implementations/test-utilities/count-breaker.test-suite.js +704 -0
- package/dist/circuit-breaker/implementations/test-utilities/count-breaker.test-suite.js.map +1 -0
- package/dist/circuit-breaker/implementations/test-utilities/sampling-breaker.test-suite.d.ts +60 -0
- package/dist/circuit-breaker/implementations/test-utilities/sampling-breaker.test-suite.js +95 -0
- package/dist/circuit-breaker/implementations/test-utilities/sampling-breaker.test-suite.js.map +1 -0
- package/dist/collection/contracts/_module-exports.d.ts +3 -3
- package/dist/collection/contracts/_module-exports.js +0 -3
- package/dist/collection/contracts/_module-exports.js.map +1 -1
- package/dist/collection/contracts/_module.d.ts +4 -0
- package/dist/collection/contracts/_module.js +2 -0
- package/dist/collection/contracts/_module.js.map +1 -0
- package/dist/collection/contracts/_shared/_module.d.ts +11 -11
- package/dist/collection/contracts/_shared/_module.js +1 -11
- package/dist/collection/contracts/_shared/_module.js.map +1 -1
- package/dist/collection/contracts/_shared/compartor.type.d.ts +1 -1
- package/dist/collection/contracts/_shared/compartor.type.js +1 -1
- package/dist/collection/contracts/_shared/compartor.type.js.map +1 -1
- package/dist/collection/contracts/_shared/foreach.type.d.ts +1 -1
- package/dist/collection/contracts/_shared/foreach.type.js +1 -1
- package/dist/collection/contracts/_shared/foreach.type.js.map +1 -1
- package/dist/collection/contracts/_shared/map.type.d.ts +1 -1
- package/dist/collection/contracts/_shared/map.type.js +1 -1
- package/dist/collection/contracts/_shared/map.type.js.map +1 -1
- package/dist/collection/contracts/_shared/modifier.type.d.ts +1 -1
- package/dist/collection/contracts/_shared/modifier.type.js +1 -1
- package/dist/collection/contracts/_shared/modifier.type.js.map +1 -1
- package/dist/collection/contracts/_shared/predicate.type.d.ts +1 -1
- package/dist/collection/contracts/_shared/predicate.type.js +1 -1
- package/dist/collection/contracts/_shared/predicate.type.js.map +1 -1
- package/dist/collection/contracts/_shared/reduce.type.d.ts +1 -1
- package/dist/collection/contracts/_shared/reduce.type.js +1 -1
- package/dist/collection/contracts/_shared/reduce.type.js.map +1 -1
- package/dist/collection/contracts/_shared/tap.type.d.ts +1 -1
- package/dist/collection/contracts/_shared/tap.type.js +1 -1
- package/dist/collection/contracts/_shared/tap.type.js.map +1 -1
- package/dist/collection/contracts/_shared/transform.type.d.ts +1 -1
- package/dist/collection/contracts/_shared/transform.type.js +1 -1
- package/dist/collection/contracts/_shared/transform.type.js.map +1 -1
- package/dist/collection/contracts/async-collection.contract.d.ts +54 -54
- package/dist/collection/contracts/async-collection.contract.js +5 -1
- package/dist/collection/contracts/async-collection.contract.js.map +1 -1
- package/dist/collection/contracts/collection.contract.d.ts +12 -12
- package/dist/collection/contracts/collection.contract.js +5 -1
- package/dist/collection/contracts/collection.contract.js.map +1 -1
- package/dist/collection/contracts/collection.errors.d.ts +18 -10
- package/dist/collection/contracts/collection.errors.js +24 -13
- package/dist/collection/contracts/collection.errors.js.map +1 -1
- package/dist/collection/implementations/_module.d.ts +4 -0
- package/dist/collection/implementations/_module.js +5 -0
- package/dist/collection/implementations/_module.js.map +1 -0
- package/dist/collection/implementations/_shared.d.ts +0 -23
- package/dist/collection/implementations/_shared.js +0 -41
- package/dist/collection/implementations/_shared.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-chunk-iterable.d.ts +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-chunk-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-chunk-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-chunk-while-iterable.d.ts +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-chunk-while-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-chunk-while-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-collapse-iterable.d.ts +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-collapse-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-collapse-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-count-by-iterable.d.ts +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-count-by-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-count-by-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-cross-join-iterable.d.ts +2 -3
- package/dist/collection/implementations/async-iterable-collection/_shared/async-cross-join-iterable.js +3 -4
- package/dist/collection/implementations/async-iterable-collection/_shared/async-cross-join-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-entries-iterable.d.ts +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-entries-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-entries-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-filter-iterable.d.ts +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-filter-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-filter-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-flat-map-iterable.d.ts +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-flat-map-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-flat-map-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-group-by-iterable.d.ts +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-group-by-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-group-by-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-insert-after-iterable.d.ts +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-insert-after-iterable.js +3 -3
- package/dist/collection/implementations/async-iterable-collection/_shared/async-insert-after-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-insert-before-iterable.d.ts +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-insert-before-iterable.js +3 -3
- package/dist/collection/implementations/async-iterable-collection/_shared/async-insert-before-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-map-iterable.d.ts +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-map-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-map-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-merge-iterable.d.ts +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-merge-iterable.js +4 -5
- package/dist/collection/implementations/async-iterable-collection/_shared/async-merge-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-pad-end-iterable.d.ts +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-pad-end-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-pad-end-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-pad-start-iterable.d.ts +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-pad-start-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-pad-start-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-partion-iterable.d.ts +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-partion-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-partion-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-repeat-iterable.d.ts +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-repeat-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-repeat-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-reverse-iterable.d.ts +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-reverse-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-reverse-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-shuffle-iterable.d.ts +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-shuffle-iterable.js +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-shuffle-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-skip-iterable.d.ts +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-skip-iterable.js +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-skip-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-skip-until-iterable.d.ts +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-skip-until-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-skip-until-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-slice-iterable.d.ts +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-slice-iterable.js +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-slice-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-sliding-iterable.d.ts +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-sliding-iterable.js +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-sliding-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-sort-iterable.d.ts +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-sort-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-sort-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-split-iterable.d.ts +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-split-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-split-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-take-iterable.d.ts +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-take-iterable.js +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-take-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-iterable.d.ts +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-take-until-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-tap-iterable.d.ts +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-tap-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-tap-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-unique-iterable.d.ts +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-unique-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-unique-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-update-iterable.d.ts +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-update-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-update-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-validate-iterable.d.ts +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-validate-iterable.js +4 -0
- package/dist/collection/implementations/async-iterable-collection/_shared/async-validate-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-when-iterable.d.ts +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-when-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-when-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-zip-iterable.d.ts +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-zip-iterable.js +3 -16
- package/dist/collection/implementations/async-iterable-collection/_shared/async-zip-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +43 -44
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +32 -32
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/chunk-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/chunk-iterable.js +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/chunk-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/chunk-while-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/chunk-while-iterable.js +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/chunk-while-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/collapse-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/collapse-iterable.js +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/collapse-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/count-by-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/count-by-iterable.js +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/count-by-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/cross-join-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/cross-join-iterable.js +2 -1
- package/dist/collection/implementations/iterable-collection/_shared/cross-join-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/filter-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/filter-iterable.js +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/filter-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/flat-map-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/flat-map-iterable.js +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/flat-map-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/group-by-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/group-by-iterable.js +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/group-by-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/insert-after-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/insert-after-iterable.js +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/insert-after-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/insert-before-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/insert-before-iterable.js +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/insert-before-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/map-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/map-iterable.js +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/map-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/merge-iterable.d.ts +2 -1
- package/dist/collection/implementations/iterable-collection/_shared/merge-iterable.js +3 -2
- package/dist/collection/implementations/iterable-collection/_shared/merge-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/pad-end-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/pad-end-iterable.js +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/pad-end-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/pad-start-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/pad-start-iterable.js +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/pad-start-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/partion-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/partion-iterable.js +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/partion-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/repeat-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/repeat-iterable.js +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/repeat-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/reverse-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/reverse-iterable.js +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/reverse-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/skip-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/skip-iterable.js +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/skip-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/skip-until-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/skip-until-iterable.js +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/skip-until-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/slice-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/slice-iterable.js +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/slice-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/sliding-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/sliding-iterable.js +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/sliding-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/sort-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/sort-iterable.js +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/sort-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/split-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/split-iterable.js +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/split-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/take-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/take-iterable.js +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/take-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/take-until-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/take-until-iterable.js +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/take-until-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/tap-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/tap-iterable.js +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/tap-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/unique-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/unique-iterable.js +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/unique-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/update-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/update-iterable.js +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/update-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/validate-iterable.d.ts +4 -1
- package/dist/collection/implementations/iterable-collection/_shared/validate-iterable.js +2 -1
- package/dist/collection/implementations/iterable-collection/_shared/validate-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/when-iterable.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/_shared/when-iterable.js +2 -2
- package/dist/collection/implementations/iterable-collection/_shared/when-iterable.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/iterable-collection.d.ts +17 -18
- package/dist/collection/implementations/iterable-collection/iterable-collection.js +39 -40
- package/dist/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
- package/dist/collection/implementations/list-collection/list-collection.d.ts +16 -17
- package/dist/collection/implementations/list-collection/list-collection.js +45 -41
- package/dist/collection/implementations/list-collection/list-collection.js.map +1 -1
- package/dist/event-bus/contracts/_module-exports.d.ts +3 -3
- package/dist/event-bus/contracts/_module-exports.js +1 -3
- package/dist/event-bus/contracts/_module-exports.js.map +1 -1
- package/dist/event-bus/contracts/_module.d.ts +3 -0
- package/dist/event-bus/contracts/_module.js +2 -0
- package/dist/event-bus/contracts/_module.js.map +1 -0
- package/dist/event-bus/contracts/event-bus-adapter.contract.d.ts +21 -8
- package/dist/event-bus/contracts/event-bus-adapter.contract.js +1 -1
- package/dist/event-bus/contracts/event-bus-adapter.contract.js.map +1 -1
- package/dist/event-bus/contracts/event-bus-factory.contract.d.ts +1 -1
- package/dist/event-bus/contracts/event-bus-factory.contract.js +2 -1
- package/dist/event-bus/contracts/event-bus-factory.contract.js.map +1 -1
- package/dist/event-bus/contracts/event-bus.contract.d.ts +12 -12
- package/dist/event-bus/contracts/event-bus.contract.js +3 -1
- package/dist/event-bus/contracts/event-bus.contract.js.map +1 -1
- package/dist/event-bus/implementations/adapters/_module.d.ts +3 -3
- package/dist/event-bus/implementations/adapters/_module.js +3 -3
- package/dist/event-bus/implementations/adapters/_module.js.map +1 -1
- package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/_module.d.ts +1 -0
- package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js +2 -0
- package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js.map +1 -0
- 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 -0
- package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
- package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/_module.d.ts +1 -0
- package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/_module.js +2 -0
- package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/_module.js.map +1 -0
- package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts +1 -2
- package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +1 -0
- package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -1
- package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.d.ts +1 -0
- package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js +2 -0
- package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js.map +1 -0
- package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +3 -3
- package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +4 -2
- package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
- package/dist/event-bus/implementations/derivables/_module.d.ts +2 -0
- package/dist/event-bus/implementations/derivables/_module.js +3 -0
- package/dist/event-bus/implementations/derivables/_module.js.map +1 -0
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +11 -13
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +7 -6
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
- package/dist/event-bus/implementations/derivables/event-bus/listener-store.d.ts +1 -1
- package/dist/event-bus/implementations/derivables/event-bus/listener-store.js +2 -1
- package/dist/event-bus/implementations/derivables/event-bus/listener-store.js.map +1 -1
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +3 -5
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +4 -5
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
- package/dist/event-bus/implementations/test-utilities/_module.d.ts +2 -0
- package/dist/event-bus/implementations/test-utilities/_module.js +3 -0
- package/dist/event-bus/implementations/test-utilities/_module.js.map +1 -0
- package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.d.ts +2 -2
- package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js +4 -3
- package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js.map +1 -1
- package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.d.ts +2 -2
- package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js +6 -6
- package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js.map +1 -1
- package/dist/hooks/_module-exports.d.ts +1 -1
- package/dist/hooks/_module-exports.js +0 -1
- package/dist/hooks/_module-exports.js.map +1 -1
- package/dist/hooks/_module.d.ts +3 -0
- package/dist/hooks/_module.js +3 -0
- package/dist/hooks/_module.js.map +1 -0
- package/dist/hooks/async-hooks.d.ts +3 -3
- package/dist/hooks/async-hooks.js +8 -5
- package/dist/hooks/async-hooks.js.map +1 -1
- package/dist/hooks/hooks.d.ts +2 -2
- package/dist/hooks/hooks.js +2 -1
- package/dist/hooks/hooks.js.map +1 -1
- package/dist/lock/contracts/_module-exports.d.ts +6 -6
- package/dist/lock/contracts/_module-exports.js +0 -6
- package/dist/lock/contracts/_module-exports.js.map +1 -1
- package/dist/lock/contracts/_module.d.ts +9 -0
- package/dist/lock/contracts/_module.js +4 -0
- package/dist/lock/contracts/_module.js.map +1 -0
- package/dist/lock/contracts/database-lock-adapter.contract.d.ts +8 -3
- package/dist/lock/contracts/database-lock-adapter.contract.js +1 -1
- package/dist/lock/contracts/database-lock-adapter.contract.js.map +1 -1
- package/dist/lock/contracts/lock-adapter.contract.d.ts +1 -1
- package/dist/lock/contracts/lock-adapter.contract.js +3 -1
- package/dist/lock/contracts/lock-adapter.contract.js.map +1 -1
- package/dist/lock/contracts/lock-provider-factory.contract.d.ts +1 -1
- package/dist/lock/contracts/lock-provider-factory.contract.js +2 -1
- package/dist/lock/contracts/lock-provider-factory.contract.js.map +1 -1
- package/dist/lock/contracts/lock-provider.contract.d.ts +4 -8
- package/dist/lock/contracts/lock-provider.contract.js +4 -1
- package/dist/lock/contracts/lock-provider.contract.js.map +1 -1
- package/dist/lock/contracts/lock-state.contract.d.ts +2 -2
- package/dist/lock/contracts/lock-state.contract.js +1 -0
- package/dist/lock/contracts/lock-state.contract.js.map +1 -1
- package/dist/lock/contracts/lock.contract.d.ts +18 -27
- package/dist/lock/contracts/lock.contract.js +5 -1
- package/dist/lock/contracts/lock.contract.js.map +1 -1
- package/dist/lock/contracts/lock.errors.d.ts +19 -0
- package/dist/lock/contracts/lock.errors.js +25 -0
- package/dist/lock/contracts/lock.errors.js.map +1 -1
- package/dist/lock/contracts/lock.events.d.ts +1 -1
- package/dist/lock/contracts/lock.events.js +2 -0
- package/dist/lock/contracts/lock.events.js.map +1 -1
- package/dist/lock/contracts/types.d.ts +2 -2
- package/dist/lock/contracts/types.js +2 -1
- package/dist/lock/contracts/types.js.map +1 -1
- package/dist/lock/implementations/adapters/_module.d.ts +5 -5
- package/dist/lock/implementations/adapters/_module.js +5 -5
- package/dist/lock/implementations/adapters/_module.js.map +1 -1
- package/dist/lock/implementations/adapters/kysely-lock-adapter/_module.d.ts +1 -0
- package/dist/lock/implementations/adapters/kysely-lock-adapter/_module.js +2 -0
- package/dist/lock/implementations/adapters/kysely-lock-adapter/_module.js.map +1 -0
- package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts +8 -13
- package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +9 -8
- package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/memory-lock-adapter/_module.d.ts +1 -0
- package/dist/lock/implementations/adapters/memory-lock-adapter/_module.js +2 -0
- package/dist/lock/implementations/adapters/memory-lock-adapter/_module.js.map +1 -0
- package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.d.ts +7 -4
- package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js +7 -1
- package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/_module.d.ts +1 -0
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/_module.js +2 -0
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/_module.js.map +1 -0
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +4 -5
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +4 -1
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/no-op-lock-adapter/_module.d.ts +1 -0
- package/dist/lock/implementations/adapters/no-op-lock-adapter/_module.js +2 -0
- package/dist/lock/implementations/adapters/no-op-lock-adapter/_module.js.map +1 -0
- package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.d.ts +2 -2
- package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js +2 -0
- package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/redis-lock-adapter/_module.d.ts +1 -0
- package/dist/lock/implementations/adapters/redis-lock-adapter/_module.js +2 -0
- package/dist/lock/implementations/adapters/redis-lock-adapter/_module.js.map +1 -0
- package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.d.ts +3 -4
- package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js +3 -0
- package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/derivables/_module.d.ts +2 -0
- package/dist/lock/implementations/derivables/_module.js +3 -0
- package/dist/lock/implementations/derivables/_module.js.map +1 -0
- package/dist/lock/implementations/derivables/lock-provider/_module.d.ts +1 -0
- package/dist/lock/implementations/derivables/lock-provider/_module.js +1 -0
- package/dist/lock/implementations/derivables/lock-provider/_module.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.d.ts +2 -2
- package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js +5 -3
- package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.d.ts +1 -2
- package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js +4 -0
- package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +29 -18
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +19 -14
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.d.ts +6 -6
- package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js +6 -2
- package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +19 -23
- package/dist/lock/implementations/derivables/lock-provider/lock.js +13 -37
- package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/resolve-lock-adapter.d.ts +8 -0
- package/dist/lock/implementations/derivables/lock-provider/{resolve-database-lock-adapter.js → resolve-lock-adapter.js} +7 -3
- package/dist/lock/implementations/derivables/lock-provider/resolve-lock-adapter.js.map +1 -0
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +6 -6
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +9 -2
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
- package/dist/lock/implementations/test-utilities/_module.d.ts +3 -0
- package/dist/lock/implementations/test-utilities/_module.js +4 -0
- package/dist/lock/implementations/test-utilities/_module.js.map +1 -0
- package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.d.ts +2 -2
- package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js +3 -3
- package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js.map +1 -1
- package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.d.ts +2 -2
- package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js +4 -4
- 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 +3 -3
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +6 -541
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
- package/dist/namespace/_module.d.ts +1 -0
- package/dist/namespace/_module.js +2 -0
- package/dist/namespace/_module.js.map +1 -0
- package/dist/namespace/namespace.d.ts +1 -1
- package/dist/namespace/namespace.js +1 -1
- package/dist/namespace/namespace.js.map +1 -1
- package/dist/rate-limiter/contracts/_module-exports.d.ts +9 -0
- package/dist/rate-limiter/contracts/_module-exports.js +4 -0
- package/dist/rate-limiter/contracts/_module-exports.js.map +1 -0
- package/dist/rate-limiter/contracts/_module.d.ts +9 -0
- package/dist/rate-limiter/contracts/_module.js +4 -0
- package/dist/rate-limiter/contracts/_module.js.map +1 -0
- package/dist/rate-limiter/contracts/rate-limiter-adapter.contract.d.ts +36 -0
- package/dist/rate-limiter/contracts/rate-limiter-adapter.contract.js +7 -0
- package/dist/rate-limiter/contracts/rate-limiter-adapter.contract.js.map +1 -0
- package/dist/rate-limiter/contracts/rate-limiter-policy.contract.d.ts +28 -0
- package/dist/rate-limiter/contracts/rate-limiter-policy.contract.js +5 -0
- package/dist/rate-limiter/contracts/rate-limiter-policy.contract.js.map +1 -0
- package/dist/rate-limiter/contracts/rate-limiter-provider-factory.contract.d.ts +19 -0
- package/dist/rate-limiter/contracts/rate-limiter-provider-factory.contract.js +10 -0
- package/dist/rate-limiter/contracts/rate-limiter-provider-factory.contract.js.map +1 -0
- package/dist/rate-limiter/contracts/rate-limiter-provider.contract.d.ts +39 -0
- package/dist/rate-limiter/contracts/rate-limiter-provider.contract.js +8 -0
- package/dist/rate-limiter/contracts/rate-limiter-provider.contract.js.map +1 -0
- package/dist/rate-limiter/contracts/rate-limiter-state.contract.d.ts +58 -0
- package/dist/rate-limiter/contracts/rate-limiter-state.contract.js +15 -0
- package/dist/rate-limiter/contracts/rate-limiter-state.contract.js.map +1 -0
- package/dist/rate-limiter/contracts/rate-limiter-storage-adapter.contract.d.ts +65 -0
- package/dist/rate-limiter/contracts/rate-limiter-storage-adapter.contract.js +5 -0
- package/dist/rate-limiter/contracts/rate-limiter-storage-adapter.contract.js.map +1 -0
- package/dist/rate-limiter/contracts/rate-limiter.contract.d.ts +46 -0
- package/dist/rate-limiter/contracts/rate-limiter.contract.js +10 -0
- package/dist/rate-limiter/contracts/rate-limiter.contract.js.map +1 -0
- package/dist/rate-limiter/contracts/rate-limiter.errors.d.ts +34 -0
- package/dist/rate-limiter/contracts/rate-limiter.errors.js +40 -0
- package/dist/rate-limiter/contracts/rate-limiter.errors.js.map +1 -0
- package/dist/rate-limiter/contracts/rate-limiter.events.d.ts +74 -0
- package/dist/rate-limiter/contracts/rate-limiter.events.js +17 -0
- package/dist/rate-limiter/contracts/rate-limiter.events.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/_module.d.ts +7 -0
- package/dist/rate-limiter/implementations/adapters/_module.js +8 -0
- package/dist/rate-limiter/implementations/adapters/_module.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/_module-exports.d.ts +1 -0
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/_module-exports.js +2 -0
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/_module-exports.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/_module.d.ts +1 -0
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/_module.js +2 -0
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/_module.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/database-rate-limiter-adapter.d.ts +56 -0
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/database-rate-limiter-adapter.js +77 -0
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/database-rate-limiter-adapter.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/internal-rate-limiter-policy.d.ts +48 -0
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/internal-rate-limiter-policy.js +70 -0
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/internal-rate-limiter-policy.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/rate-limiter-state-manager.d.ts +15 -0
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/rate-limiter-state-manager.js +33 -0
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/rate-limiter-state-manager.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/rate-limiter-storage.d.ts +46 -0
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/rate-limiter-storage.js +68 -0
- package/dist/rate-limiter/implementations/adapters/database-rate-limiter-adapter/rate-limiter-storage.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/kysely-rate-limiter-storage-adapter/_module-exports.d.ts +1 -0
- package/dist/rate-limiter/implementations/adapters/kysely-rate-limiter-storage-adapter/_module-exports.js +2 -0
- package/dist/rate-limiter/implementations/adapters/kysely-rate-limiter-storage-adapter/_module-exports.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/kysely-rate-limiter-storage-adapter/_module.d.ts +1 -0
- package/dist/rate-limiter/implementations/adapters/kysely-rate-limiter-storage-adapter/_module.js +2 -0
- package/dist/rate-limiter/implementations/adapters/kysely-rate-limiter-storage-adapter/_module.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/kysely-rate-limiter-storage-adapter/kysely-rate-limiter-storage-adapter.d.ts +95 -0
- package/dist/rate-limiter/implementations/adapters/kysely-rate-limiter-storage-adapter/kysely-rate-limiter-storage-adapter.js +186 -0
- package/dist/rate-limiter/implementations/adapters/kysely-rate-limiter-storage-adapter/kysely-rate-limiter-storage-adapter.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/memory-rate-limiter-storage-adapter/_module-exports.d.ts +1 -0
- package/dist/rate-limiter/implementations/adapters/memory-rate-limiter-storage-adapter/_module-exports.js +2 -0
- package/dist/rate-limiter/implementations/adapters/memory-rate-limiter-storage-adapter/_module-exports.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/memory-rate-limiter-storage-adapter/_module.d.ts +1 -0
- package/dist/rate-limiter/implementations/adapters/memory-rate-limiter-storage-adapter/_module.js +2 -0
- package/dist/rate-limiter/implementations/adapters/memory-rate-limiter-storage-adapter/_module.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/memory-rate-limiter-storage-adapter/memory-rate-limiter-storage-adapter.d.ts +37 -0
- package/dist/rate-limiter/implementations/adapters/memory-rate-limiter-storage-adapter/memory-rate-limiter-storage-adapter.js +71 -0
- package/dist/rate-limiter/implementations/adapters/memory-rate-limiter-storage-adapter/memory-rate-limiter-storage-adapter.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/mongodb-rate-limiter-storage-adapter/_module-exports.d.ts +1 -0
- package/dist/rate-limiter/implementations/adapters/mongodb-rate-limiter-storage-adapter/_module-exports.js +2 -0
- package/dist/rate-limiter/implementations/adapters/mongodb-rate-limiter-storage-adapter/_module-exports.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/mongodb-rate-limiter-storage-adapter/_module.d.ts +1 -0
- package/dist/rate-limiter/implementations/adapters/mongodb-rate-limiter-storage-adapter/_module.js +2 -0
- package/dist/rate-limiter/implementations/adapters/mongodb-rate-limiter-storage-adapter/_module.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/mongodb-rate-limiter-storage-adapter/mongodb-rate-limiter-storage-adapter.d.ts +77 -0
- package/dist/rate-limiter/implementations/adapters/mongodb-rate-limiter-storage-adapter/mongodb-rate-limiter-storage-adapter.js +126 -0
- package/dist/rate-limiter/implementations/adapters/mongodb-rate-limiter-storage-adapter/mongodb-rate-limiter-storage-adapter.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-adapter/_module-exports.d.ts +1 -0
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-adapter/_module-exports.js +2 -0
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-adapter/_module-exports.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-adapter/_module.d.ts +1 -0
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-adapter/_module.js +2 -0
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-adapter/_module.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-adapter/no-op-rate-limiter-adapter.d.ts +13 -0
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-adapter/no-op-rate-limiter-adapter.js +30 -0
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-adapter/no-op-rate-limiter-adapter.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-storage-adapter/_module-exports.d.ts +1 -0
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-storage-adapter/_module-exports.js +2 -0
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-storage-adapter/_module-exports.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-storage-adapter/_module.d.ts +1 -0
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-storage-adapter/_module.js +2 -0
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-storage-adapter/_module.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-storage-adapter/no-op-rate-limiter-storage-adapter.d.ts +16 -0
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-storage-adapter/no-op-rate-limiter-storage-adapter.js +33 -0
- package/dist/rate-limiter/implementations/adapters/no-op-rate-limiter-storage-adapter/no-op-rate-limiter-storage-adapter.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/_module-exports.d.ts +1 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/_module-exports.js +2 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/_module-exports.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/_module.d.ts +1 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/_module.js +2 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/_module.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/_module.d.ts +1 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/_module.js +2 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/_module.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/fixed-window-limiter-lua.d.ts +7 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/fixed-window-limiter-lua.js +55 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/fixed-window-limiter-lua.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/internal-rate-limiter-policy-lua.d.ts +7 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/internal-rate-limiter-policy-lua.js +100 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/internal-rate-limiter-policy-lua.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-factory-lua.d.ts +4 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-factory-lua.js +71 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-factory-lua.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-lua.d.ts +4 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-lua.js +45 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-lua.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-state-manager-lua.d.ts +7 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-state-manager-lua.js +51 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-state-manager-lua.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-storage-lua.d.ts +7 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-storage-lua.js +76 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/rate-limiter-storage-lua.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/sliding-window-limiter-lua.d.ts +7 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/sliding-window-limiter-lua.js +113 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/lua/sliding-window-limiter-lua.js.map +1 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/redis-rate-limiter-adapter.d.ts +69 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/redis-rate-limiter-adapter.js +112 -0
- package/dist/rate-limiter/implementations/adapters/redis-rate-limiter-adapter/redis-rate-limiter-adapter.js.map +1 -0
- package/dist/rate-limiter/implementations/derivables/_module-exports.d.ts +2 -0
- package/dist/rate-limiter/implementations/derivables/_module-exports.js +3 -0
- package/dist/rate-limiter/implementations/derivables/_module-exports.js.map +1 -0
- package/dist/rate-limiter/implementations/derivables/_module.d.ts +2 -0
- package/dist/rate-limiter/implementations/derivables/_module.js +3 -0
- package/dist/rate-limiter/implementations/derivables/_module.js.map +1 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/_module.d.ts +1 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/_module.js +2 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/_module.js.map +1 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-provider.d.ts +123 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-provider.js +104 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-provider.js.map +1 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.d.ts +41 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.js +154 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.js.map +1 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/_module.d.ts +2 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/_module.js +3 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/_module.js.map +1 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/database-rate-limiter-provider-factory.d.ts +135 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/database-rate-limiter-provider-factory.js +156 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/database-rate-limiter-provider-factory.js.map +1 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/rate-limiter-provider-factory.d.ts +106 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/rate-limiter-provider-factory.js +132 -0
- package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/rate-limiter-provider-factory.js.map +1 -0
- package/dist/rate-limiter/implementations/policies/_module-exports.d.ts +4 -0
- package/dist/rate-limiter/implementations/policies/_module-exports.js +5 -0
- package/dist/rate-limiter/implementations/policies/_module-exports.js.map +1 -0
- package/dist/rate-limiter/implementations/policies/_module.d.ts +4 -0
- package/dist/rate-limiter/implementations/policies/_module.js +5 -0
- package/dist/rate-limiter/implementations/policies/_module.js.map +1 -0
- package/dist/rate-limiter/implementations/policies/_shared.d.ts +12 -0
- package/dist/rate-limiter/implementations/policies/_shared.js +37 -0
- package/dist/rate-limiter/implementations/policies/_shared.js.map +1 -0
- package/dist/rate-limiter/implementations/policies/fixed-window-limiter/_module.d.ts +1 -0
- package/dist/rate-limiter/implementations/policies/fixed-window-limiter/_module.js +2 -0
- package/dist/rate-limiter/implementations/policies/fixed-window-limiter/_module.js.map +1 -0
- package/dist/rate-limiter/implementations/policies/fixed-window-limiter/fixed-window-limiter.d.ts +74 -0
- package/dist/rate-limiter/implementations/policies/fixed-window-limiter/fixed-window-limiter.js +73 -0
- package/dist/rate-limiter/implementations/policies/fixed-window-limiter/fixed-window-limiter.js.map +1 -0
- package/dist/rate-limiter/implementations/policies/sliding-window-limiter/_module.d.ts +1 -0
- package/dist/rate-limiter/implementations/policies/sliding-window-limiter/_module.js +2 -0
- package/dist/rate-limiter/implementations/policies/sliding-window-limiter/_module.js.map +1 -0
- package/dist/rate-limiter/implementations/policies/sliding-window-limiter/sliding-window-limiter.d.ts +86 -0
- package/dist/rate-limiter/implementations/policies/sliding-window-limiter/sliding-window-limiter.js +106 -0
- package/dist/rate-limiter/implementations/policies/sliding-window-limiter/sliding-window-limiter.js.map +1 -0
- package/dist/rate-limiter/implementations/policies/types.d.ts +47 -0
- package/dist/rate-limiter/implementations/policies/types.js +14 -0
- package/dist/rate-limiter/implementations/policies/types.js.map +1 -0
- package/dist/rate-limiter/implementations/test-utilities/_module-exports.d.ts +3 -0
- package/dist/rate-limiter/implementations/test-utilities/_module-exports.js +4 -0
- package/dist/rate-limiter/implementations/test-utilities/_module-exports.js.map +1 -0
- package/dist/rate-limiter/implementations/test-utilities/_module.d.ts +3 -0
- package/dist/rate-limiter/implementations/test-utilities/_module.js +4 -0
- package/dist/rate-limiter/implementations/test-utilities/_module.js.map +1 -0
- package/dist/rate-limiter/implementations/test-utilities/fixed-window-limiter.test-suite.d.ts +60 -0
- package/dist/rate-limiter/implementations/test-utilities/fixed-window-limiter.test-suite.js +250 -0
- package/dist/rate-limiter/implementations/test-utilities/fixed-window-limiter.test-suite.js.map +1 -0
- package/dist/rate-limiter/implementations/test-utilities/rate-limiter-storage-adapter.test-suite.d.ts +45 -0
- package/dist/rate-limiter/implementations/test-utilities/rate-limiter-storage-adapter.test-suite.js +102 -0
- package/dist/rate-limiter/implementations/test-utilities/rate-limiter-storage-adapter.test-suite.js.map +1 -0
- package/dist/rate-limiter/implementations/test-utilities/sliding-window-limiter.test-suite.d.ts +60 -0
- package/dist/rate-limiter/implementations/test-utilities/sliding-window-limiter.test-suite.js +91 -0
- package/dist/rate-limiter/implementations/test-utilities/sliding-window-limiter.test-suite.js.map +1 -0
- package/dist/resilience/_module.d.ts +2 -0
- package/dist/resilience/_module.js +3 -0
- package/dist/resilience/_module.js.map +1 -0
- package/dist/resilience/middlewares/dynamic/dynamic.middleware.d.ts +2 -2
- package/dist/resilience/middlewares/dynamic/dynamic.middleware.js +2 -1
- package/dist/resilience/middlewares/dynamic/dynamic.middleware.js.map +1 -1
- package/dist/resilience/middlewares/fallback/_module.d.ts +1 -1
- package/dist/resilience/middlewares/fallback/_module.js +0 -1
- package/dist/resilience/middlewares/fallback/_module.js.map +1 -1
- package/dist/resilience/middlewares/fallback/fallback.middleware.d.ts +3 -25
- package/dist/resilience/middlewares/fallback/fallback.middleware.js +6 -32
- package/dist/resilience/middlewares/fallback/fallback.middleware.js.map +1 -1
- package/dist/resilience/middlewares/fallback/fallback.types.d.ts +4 -6
- package/dist/resilience/middlewares/fallback/fallback.types.js +2 -2
- package/dist/resilience/middlewares/fallback/fallback.types.js.map +1 -1
- package/dist/resilience/middlewares/observe/_module.d.ts +1 -1
- package/dist/resilience/middlewares/observe/_module.js +0 -1
- package/dist/resilience/middlewares/observe/_module.js.map +1 -1
- package/dist/resilience/middlewares/observe/observe.middleware.d.ts +3 -39
- package/dist/resilience/middlewares/observe/observe.middleware.js +5 -57
- package/dist/resilience/middlewares/observe/observe.middleware.js.map +1 -1
- package/dist/resilience/middlewares/observe/observe.types.d.ts +4 -5
- package/dist/resilience/middlewares/observe/observe.types.js +3 -1
- package/dist/resilience/middlewares/observe/observe.types.js.map +1 -1
- package/dist/resilience/middlewares/retry/_module.d.ts +1 -1
- package/dist/resilience/middlewares/retry/_module.js +0 -1
- package/dist/resilience/middlewares/retry/_module.js.map +1 -1
- package/dist/resilience/middlewares/retry/retry.middleware.d.ts +3 -33
- package/dist/resilience/middlewares/retry/retry.middleware.js +9 -40
- package/dist/resilience/middlewares/retry/retry.middleware.js.map +1 -1
- package/dist/resilience/middlewares/retry/retry.types.d.ts +7 -9
- package/dist/resilience/middlewares/retry/retry.types.js +4 -3
- package/dist/resilience/middlewares/retry/retry.types.js.map +1 -1
- package/dist/resilience/middlewares/timeout/_module.d.ts +1 -1
- package/dist/resilience/middlewares/timeout/_module.js +0 -1
- package/dist/resilience/middlewares/timeout/_module.js.map +1 -1
- package/dist/resilience/middlewares/timeout/timeout.middleware.d.ts +2 -2
- package/dist/resilience/middlewares/timeout/timeout.middleware.js +4 -2
- package/dist/resilience/middlewares/timeout/timeout.middleware.js.map +1 -1
- package/dist/resilience/middlewares/timeout/timeout.type.d.ts +4 -4
- package/dist/resilience/middlewares/timeout/timeout.type.js +4 -1
- package/dist/resilience/middlewares/timeout/timeout.type.js.map +1 -1
- package/dist/resilience/utilities/timeout-and-fail/timeout-and-fail.d.ts +1 -1
- package/dist/resilience/utilities/timeout-and-fail/timeout-and-fail.js +1 -1
- package/dist/resilience/utilities/timeout-and-fail/timeout-and-fail.js.map +1 -1
- package/dist/semaphore/contracts/_module-exports.d.ts +6 -6
- package/dist/semaphore/contracts/_module-exports.js +0 -6
- package/dist/semaphore/contracts/_module-exports.js.map +1 -1
- package/dist/semaphore/contracts/_module.d.ts +9 -0
- package/dist/semaphore/contracts/_module.js +4 -0
- package/dist/semaphore/contracts/_module.js.map +1 -0
- package/dist/semaphore/contracts/database-semaphore-adapter.contract.d.ts +1 -1
- package/dist/semaphore/contracts/database-semaphore-adapter.contract.js +1 -1
- package/dist/semaphore/contracts/database-semaphore-adapter.contract.js.map +1 -1
- package/dist/semaphore/contracts/semaphore-adapter.contract.d.ts +1 -1
- package/dist/semaphore/contracts/semaphore-adapter.contract.js +3 -1
- package/dist/semaphore/contracts/semaphore-adapter.contract.js.map +1 -1
- package/dist/semaphore/contracts/semaphore-provider-factory.contract.d.ts +1 -1
- package/dist/semaphore/contracts/semaphore-provider-factory.contract.js +2 -1
- package/dist/semaphore/contracts/semaphore-provider-factory.contract.js.map +1 -1
- package/dist/semaphore/contracts/semaphore-provider.contract.d.ts +4 -8
- package/dist/semaphore/contracts/semaphore-provider.contract.js +4 -1
- package/dist/semaphore/contracts/semaphore-provider.contract.js.map +1 -1
- package/dist/semaphore/contracts/semaphore-state.contract.d.ts +2 -2
- package/dist/semaphore/contracts/semaphore-state.contract.js +1 -0
- package/dist/semaphore/contracts/semaphore-state.contract.js.map +1 -1
- package/dist/semaphore/contracts/semaphore.contract.d.ts +18 -28
- package/dist/semaphore/contracts/semaphore.contract.js +5 -1
- package/dist/semaphore/contracts/semaphore.contract.js.map +1 -1
- package/dist/semaphore/contracts/semaphore.errors.d.ts +19 -0
- package/dist/semaphore/contracts/semaphore.errors.js +25 -0
- package/dist/semaphore/contracts/semaphore.errors.js.map +1 -1
- package/dist/semaphore/contracts/semaphore.events.d.ts +1 -1
- package/dist/semaphore/contracts/semaphore.events.js +1 -0
- package/dist/semaphore/contracts/semaphore.events.js.map +1 -1
- package/dist/semaphore/contracts/types.d.ts +2 -2
- package/dist/semaphore/contracts/types.js +2 -1
- package/dist/semaphore/contracts/types.js.map +1 -1
- package/dist/semaphore/implementations/adapters/_module.d.ts +5 -5
- package/dist/semaphore/implementations/adapters/_module.js +5 -5
- package/dist/semaphore/implementations/adapters/_module.js.map +1 -1
- package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/_module.d.ts +1 -0
- package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/_module.js +2 -0
- package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/_module.js.map +1 -0
- package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/kysely-semaphore-adapter.d.ts +12 -5
- package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/kysely-semaphore-adapter.js +11 -4
- package/dist/semaphore/implementations/adapters/kysely-semaphore-adapter/kysely-semaphore-adapter.js.map +1 -1
- package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/_module.d.ts +1 -0
- package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/_module.js +2 -0
- package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/_module.js.map +1 -0
- package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/memory-semaphore-adapter.d.ts +9 -4
- package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/memory-semaphore-adapter.js +19 -1
- package/dist/semaphore/implementations/adapters/memory-semaphore-adapter/memory-semaphore-adapter.js.map +1 -1
- package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/_module.d.ts +1 -0
- package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/_module.js +2 -0
- package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/_module.js.map +1 -0
- package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/mongodb-semaphore-adapter.d.ts +8 -5
- package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/mongodb-semaphore-adapter.js +7 -3
- package/dist/semaphore/implementations/adapters/mongodb-semaphore-adapter/mongodb-semaphore-adapter.js.map +1 -1
- package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/_module.d.ts +1 -0
- package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/_module.js +2 -0
- package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/_module.js.map +1 -0
- package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/no-op-semaphore-adapter.d.ts +2 -2
- package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/no-op-semaphore-adapter.js +2 -0
- package/dist/semaphore/implementations/adapters/no-op-semaphore-adapter/no-op-semaphore-adapter.js.map +1 -1
- package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/_module.d.ts +1 -0
- package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/_module.js +2 -0
- package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/_module.js.map +1 -0
- package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/redis-semaphore-adapter.d.ts +3 -3
- package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/redis-semaphore-adapter.js +3 -0
- package/dist/semaphore/implementations/adapters/redis-semaphore-adapter/redis-semaphore-adapter.js.map +1 -1
- package/dist/semaphore/implementations/derivables/_module-exports.d.ts +1 -1
- package/dist/semaphore/implementations/derivables/_module-exports.js +0 -1
- package/dist/semaphore/implementations/derivables/_module-exports.js.map +1 -1
- package/dist/semaphore/implementations/derivables/_module.d.ts +2 -0
- package/dist/semaphore/implementations/derivables/_module.js +2 -0
- package/dist/semaphore/implementations/derivables/_module.js.map +1 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/database-semaphore-adapter.d.ts +2 -2
- package/dist/semaphore/implementations/derivables/semaphore-provider/database-semaphore-adapter.js +3 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider/database-semaphore-adapter.js.map +1 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider/is-database-semaphore-adapter.d.ts +1 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider/is-database-semaphore-adapter.js +4 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/is-database-semaphore-adapter.js.map +1 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider/resolve-semaphore-adapter.d.ts +8 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/{resolve-database-semaphore-adapter.js → resolve-semaphore-adapter.js} +4 -3
- package/dist/semaphore/implementations/derivables/semaphore-provider/resolve-semaphore-adapter.js.map +1 -0
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.d.ts +30 -18
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.js +19 -12
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.js.map +1 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.d.ts +6 -6
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.js +6 -3
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.js.map +1 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.d.ts +19 -23
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.js +13 -36
- package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.js.map +1 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider-factory/_module.d.ts +1 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider-factory/_module.js +1 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider-factory/_module.js.map +1 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.d.ts +5 -5
- package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.js +9 -2
- package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.js.map +1 -1
- package/dist/semaphore/implementations/test-utilities/_module.d.ts +3 -0
- package/dist/semaphore/implementations/test-utilities/_module.js +4 -0
- package/dist/semaphore/implementations/test-utilities/_module.js.map +1 -0
- package/dist/semaphore/implementations/test-utilities/database-semaphore-adapter.test-suite.d.ts +2 -2
- package/dist/semaphore/implementations/test-utilities/database-semaphore-adapter.test-suite.js +3 -2
- package/dist/semaphore/implementations/test-utilities/database-semaphore-adapter.test-suite.js.map +1 -1
- package/dist/semaphore/implementations/test-utilities/semaphore-adapter.test-suite.d.ts +3 -3
- package/dist/semaphore/implementations/test-utilities/semaphore-adapter.test-suite.js +5 -5
- 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 +3 -3
- package/dist/semaphore/implementations/test-utilities/semaphore-provider.test-suite.js +76 -805
- package/dist/semaphore/implementations/test-utilities/semaphore-provider.test-suite.js.map +1 -1
- package/dist/serde/contracts/_module-exports.d.ts +5 -5
- package/dist/serde/contracts/_module-exports.js +0 -5
- package/dist/serde/contracts/_module-exports.js.map +1 -1
- package/dist/serde/contracts/_module.d.ts +6 -0
- package/dist/serde/contracts/_module.js +2 -0
- package/dist/serde/contracts/_module.js.map +1 -0
- package/dist/serde/contracts/flexible-serde-adapter.contract.d.ts +1 -1
- package/dist/serde/contracts/flexible-serde-adapter.contract.js +1 -1
- package/dist/serde/contracts/flexible-serde-adapter.contract.js.map +1 -1
- package/dist/serde/contracts/flexible-serde.contract.d.ts +2 -2
- package/dist/serde/contracts/flexible-serde.contract.js +2 -1
- package/dist/serde/contracts/flexible-serde.contract.js.map +1 -1
- package/dist/serde/contracts/serde.contract.d.ts +2 -2
- package/dist/serde/contracts/serde.contract.js +2 -1
- package/dist/serde/contracts/serde.contract.js.map +1 -1
- package/dist/serde/contracts/serde.errors.d.ts +12 -0
- package/dist/serde/contracts/serde.errors.js +16 -0
- package/dist/serde/contracts/serde.errors.js.map +1 -1
- package/dist/serde/implementations/adapters/_module.d.ts +2 -2
- package/dist/serde/implementations/adapters/_module.js +2 -2
- package/dist/serde/implementations/adapters/_module.js.map +1 -1
- package/dist/serde/implementations/adapters/no-op-serde-adapter/_module.d.ts +1 -0
- package/dist/serde/implementations/adapters/no-op-serde-adapter/_module.js +2 -0
- package/dist/serde/implementations/adapters/no-op-serde-adapter/_module.js.map +1 -0
- package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.d.ts +1 -1
- package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.js +4 -0
- package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.js.map +1 -1
- package/dist/serde/implementations/adapters/super-json-serde-adapter/_module.d.ts +1 -0
- package/dist/serde/implementations/adapters/super-json-serde-adapter/_module.js +2 -0
- package/dist/serde/implementations/adapters/super-json-serde-adapter/_module.js.map +1 -0
- package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.d.ts +1 -1
- package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js +3 -3
- package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js.map +1 -1
- package/dist/serde/implementations/derivables/_module.d.ts +1 -0
- package/dist/serde/implementations/derivables/_module.js +2 -0
- package/dist/serde/implementations/derivables/_module.js.map +1 -0
- package/dist/serde/implementations/derivables/serde-transformers.d.ts +2 -2
- package/dist/serde/implementations/derivables/serde-transformers.js +5 -1
- package/dist/serde/implementations/derivables/serde-transformers.js.map +1 -1
- package/dist/serde/implementations/derivables/serde.d.ts +2 -2
- package/dist/serde/implementations/derivables/serde.js +2 -1
- package/dist/serde/implementations/derivables/serde.js.map +1 -1
- package/dist/serde/implementations/test-utilities/_module.d.ts +2 -0
- package/dist/serde/implementations/test-utilities/_module.js +3 -0
- package/dist/serde/implementations/test-utilities/_module.js.map +1 -0
- package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.d.ts +1 -1
- package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.js +1 -0
- package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.js.map +1 -1
- package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.d.ts +1 -1
- package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.js +1 -0
- package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.js.map +1 -1
- package/dist/shared-lock/contracts/_module-exports.d.ts +7 -7
- package/dist/shared-lock/contracts/_module-exports.js +0 -7
- package/dist/shared-lock/contracts/_module-exports.js.map +1 -1
- package/dist/shared-lock/contracts/_module.d.ts +10 -0
- package/dist/shared-lock/contracts/_module.js +4 -0
- package/dist/shared-lock/contracts/_module.js.map +1 -0
- package/dist/shared-lock/contracts/database-shared-lock-adapter.contract.d.ts +1 -1
- package/dist/shared-lock/contracts/database-shared-lock-adapter.contract.js +1 -1
- package/dist/shared-lock/contracts/database-shared-lock-adapter.contract.js.map +1 -1
- package/dist/shared-lock/contracts/shared-lock-adapter.contract.d.ts +1 -1
- package/dist/shared-lock/contracts/shared-lock-adapter.contract.js +3 -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 +1 -1
- package/dist/shared-lock/contracts/shared-lock-provider-factory.contract.js +2 -1
- package/dist/shared-lock/contracts/shared-lock-provider-factory.contract.js.map +1 -1
- package/dist/shared-lock/contracts/shared-lock-provider.contract.d.ts +4 -8
- package/dist/shared-lock/contracts/shared-lock-provider.contract.js +4 -1
- package/dist/shared-lock/contracts/shared-lock-provider.contract.js.map +1 -1
- package/dist/shared-lock/contracts/shared-lock-state.contract.d.ts +3 -3
- package/dist/shared-lock/contracts/shared-lock-state.contract.js +1 -0
- package/dist/shared-lock/contracts/shared-lock-state.contract.js.map +1 -1
- package/dist/shared-lock/contracts/shared-lock.contract.d.ts +33 -51
- package/dist/shared-lock/contracts/shared-lock.contract.js +5 -0
- package/dist/shared-lock/contracts/shared-lock.contract.js.map +1 -1
- package/dist/shared-lock/contracts/shared-lock.errors.d.ts +37 -0
- package/dist/shared-lock/contracts/shared-lock.errors.js +52 -0
- package/dist/shared-lock/contracts/shared-lock.errors.js.map +1 -1
- package/dist/shared-lock/contracts/shared-lock.events.d.ts +1 -1
- package/dist/shared-lock/contracts/shared-lock.events.js +1 -0
- package/dist/shared-lock/contracts/shared-lock.events.js.map +1 -1
- package/dist/shared-lock/contracts/types.d.ts +2 -2
- package/dist/shared-lock/contracts/types.js +2 -1
- package/dist/shared-lock/contracts/types.js.map +1 -1
- package/dist/shared-lock/implementations/adapters/_module.d.ts +5 -5
- package/dist/shared-lock/implementations/adapters/_module.js +5 -5
- package/dist/shared-lock/implementations/adapters/_module.js.map +1 -1
- package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/_module.d.ts +1 -0
- package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/_module.js +2 -0
- package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/_module.js.map +1 -0
- package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/kysely-shared-lock-adapter.d.ts +12 -5
- package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/kysely-shared-lock-adapter.js +11 -4
- package/dist/shared-lock/implementations/adapters/kysely-shared-lock-adapter/kysely-shared-lock-adapter.js.map +1 -1
- package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/_module.d.ts +1 -0
- package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/_module.js +2 -0
- package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/_module.js.map +1 -0
- package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/memory-shared-lock-adapter.d.ts +7 -4
- package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/memory-shared-lock-adapter.js +7 -2
- package/dist/shared-lock/implementations/adapters/memory-shared-lock-adapter/memory-shared-lock-adapter.js.map +1 -1
- package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/_module.d.ts +1 -0
- package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/_module.js +2 -0
- package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/_module.js.map +1 -0
- package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/mongodb-shared-lock-adapter.d.ts +6 -6
- package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/mongodb-shared-lock-adapter.js +6 -4
- package/dist/shared-lock/implementations/adapters/mongodb-shared-lock-adapter/mongodb-shared-lock-adapter.js.map +1 -1
- package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/_module.d.ts +1 -0
- package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/_module.js +2 -0
- package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/_module.js.map +1 -0
- package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/no-op-shared-lock-adapter.d.ts +2 -2
- package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/no-op-shared-lock-adapter.js +2 -0
- package/dist/shared-lock/implementations/adapters/no-op-shared-lock-adapter/no-op-shared-lock-adapter.js.map +1 -1
- package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/_module.d.ts +1 -0
- package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/_module.js +2 -0
- package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/_module.js.map +1 -0
- package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/redis-shared-lock-adapter.d.ts +3 -3
- package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/redis-shared-lock-adapter.js +3 -0
- package/dist/shared-lock/implementations/adapters/redis-shared-lock-adapter/redis-shared-lock-adapter.js.map +1 -1
- package/dist/shared-lock/implementations/derivables/_module.d.ts +2 -0
- package/dist/shared-lock/implementations/derivables/_module.js +3 -0
- package/dist/shared-lock/implementations/derivables/_module.js.map +1 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/database-shared-lock-adapter.d.ts +2 -3
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/database-shared-lock-adapter.js +6 -3
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/database-shared-lock-adapter.js.map +1 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/is-database-shared-lock-adapter.d.ts +1 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/is-database-shared-lock-adapter.js +1 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/is-database-shared-lock-adapter.js.map +1 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/resolve-shared-lock-adapter.d.ts +8 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/{resolve-database-shared-lock-adapter.js → resolve-shared-lock-adapter.js} +4 -3
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/resolve-shared-lock-adapter.js.map +1 -0
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.d.ts +29 -17
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.js +18 -12
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.js.map +1 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.d.ts +6 -6
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.js +6 -3
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.js.map +1 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.d.ts +31 -35
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.js +17 -68
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.js.map +1 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.d.ts +6 -6
- package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.js +9 -2
- package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.js.map +1 -1
- package/dist/shared-lock/implementations/test-utilities/_module.d.ts +3 -0
- package/dist/shared-lock/implementations/test-utilities/_module.js +4 -0
- package/dist/shared-lock/implementations/test-utilities/_module.js.map +1 -0
- package/dist/shared-lock/implementations/test-utilities/database-shared-lock-adapter.test-suite.d.ts +3 -3
- package/dist/shared-lock/implementations/test-utilities/database-shared-lock-adapter.test-suite.js +7 -1
- package/dist/shared-lock/implementations/test-utilities/database-shared-lock-adapter.test-suite.js.map +1 -1
- package/dist/shared-lock/implementations/test-utilities/shared-lock-adapter.test-suite.d.ts +2 -2
- package/dist/shared-lock/implementations/test-utilities/shared-lock-adapter.test-suite.js +4 -4
- 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 +3 -3
- package/dist/shared-lock/implementations/test-utilities/shared-lock-provider.test-suite.js +1005 -2495
- package/dist/shared-lock/implementations/test-utilities/shared-lock-provider.test-suite.js.map +1 -1
- package/dist/task/contracts/_module-exports.d.ts +1 -0
- package/dist/task/contracts/_module-exports.js +2 -0
- package/dist/task/contracts/_module-exports.js.map +1 -0
- package/dist/task/contracts/_module.d.ts +1 -0
- package/dist/task/contracts/_module.js +2 -0
- package/dist/task/contracts/_module.js.map +1 -0
- package/dist/task/contracts/task.contract.d.ts +20 -0
- package/dist/task/contracts/task.contract.js +6 -0
- package/dist/task/contracts/task.contract.js.map +1 -0
- package/dist/task/implementations/_module-exports.d.ts +1 -0
- package/dist/task/implementations/_module-exports.js +2 -0
- package/dist/task/implementations/_module-exports.js.map +1 -0
- package/dist/task/implementations/_module.d.ts +1 -0
- package/dist/task/implementations/_module.js +2 -0
- package/dist/task/implementations/_module.js.map +1 -0
- package/dist/task/implementations/abort-and-fail.js.map +1 -0
- package/dist/task/{task.d.ts → implementations/task.d.ts} +27 -25
- package/dist/task/{task.js → implementations/task.js} +19 -10
- package/dist/task/implementations/task.js.map +1 -0
- package/dist/time-span/contracts/_module.d.ts +1 -0
- package/dist/time-span/contracts/_module.js +2 -0
- package/dist/time-span/contracts/_module.js.map +1 -0
- package/dist/time-span/implementations/_module.d.ts +1 -0
- package/dist/time-span/implementations/_module.js +2 -0
- package/dist/time-span/implementations/_module.js.map +1 -0
- package/dist/time-span/implementations/time-span.d.ts +3 -3
- package/dist/time-span/implementations/time-span.js +4 -2
- package/dist/time-span/implementations/time-span.js.map +1 -1
- package/dist/utilities/_module-exports.d.ts +2 -2
- package/dist/utilities/_module-exports.js +0 -2
- package/dist/utilities/_module-exports.js.map +1 -1
- package/dist/utilities/_module.d.ts +5 -0
- package/dist/utilities/_module.js +4 -0
- package/dist/utilities/_module.js.map +1 -0
- package/dist/utilities/contracts/_module.d.ts +5 -5
- package/dist/utilities/contracts/_module.js +1 -5
- package/dist/utilities/contracts/_module.js.map +1 -1
- package/dist/utilities/errors.d.ts +2 -10
- package/dist/utilities/errors.js +2 -13
- package/dist/utilities/errors.js.map +1 -1
- package/dist/utilities/functions/_module.d.ts +9 -2
- package/dist/utilities/functions/_module.js +9 -2
- package/dist/utilities/functions/_module.js.map +1 -1
- package/dist/utilities/functions/array-like-to-iterable.d.ts +7 -0
- package/dist/utilities/functions/array-like-to-iterable.js +20 -0
- package/dist/utilities/functions/array-like-to-iterable.js.map +1 -0
- package/dist/utilities/functions/error-policy.d.ts +7 -7
- package/dist/utilities/functions/error-policy.js +17 -28
- package/dist/utilities/functions/error-policy.js.map +1 -1
- package/dist/utilities/functions/invokable.d.ts +2 -33
- package/dist/utilities/functions/invokable.js +3 -1
- package/dist/utilities/functions/invokable.js.map +1 -1
- package/dist/utilities/functions/is-array-like.d.ts +7 -0
- package/dist/utilities/functions/is-array-like.js +17 -0
- package/dist/utilities/functions/is-array-like.js.map +1 -0
- package/dist/utilities/functions/is-async-iterable.d.ts +7 -0
- package/dist/utilities/functions/is-async-iterable.js +14 -0
- package/dist/utilities/functions/is-async-iterable.js.map +1 -0
- package/dist/utilities/functions/is-class.d.ts +1 -1
- package/dist/utilities/functions/is-class.js +1 -0
- package/dist/utilities/functions/is-class.js.map +1 -1
- package/dist/utilities/functions/is-iterable.d.ts +7 -0
- package/dist/utilities/functions/is-iterable.js +13 -0
- package/dist/utilities/functions/is-iterable.js.map +1 -0
- package/dist/utilities/functions/is-standard-schema.d.ts +1 -1
- package/dist/utilities/functions/is-standard-schema.js +1 -0
- package/dist/utilities/functions/is-standard-schema.js.map +1 -1
- package/dist/utilities/functions/iterable-to-async-iterable.d.ts +7 -0
- package/dist/utilities/functions/iterable-to-async-iterable.js +17 -0
- package/dist/utilities/functions/iterable-to-async-iterable.js.map +1 -0
- package/dist/utilities/functions/lazy.d.ts +4 -4
- package/dist/utilities/functions/lazy.js +5 -3
- package/dist/utilities/functions/lazy.js.map +1 -1
- package/dist/utilities/functions/resolve-async-iterable-value.d.ts +8 -0
- package/dist/utilities/functions/resolve-async-iterable-value.js +21 -0
- package/dist/utilities/functions/resolve-async-iterable-value.js.map +1 -0
- package/dist/utilities/functions/resolve-iterable-value.d.ts +8 -0
- package/dist/utilities/functions/resolve-iterable-value.js +16 -0
- package/dist/utilities/functions/resolve-iterable-value.js.map +1 -0
- package/dist/utilities/functions/resolve-one-or-more.js +1 -1
- package/dist/utilities/functions/resolve-one-or-more.js.map +1 -1
- package/dist/utilities/functions/validate.d.ts +1 -1
- package/dist/utilities/functions/validate.js +1 -0
- package/dist/utilities/functions/validate.js.map +1 -1
- package/dist/utilities/functions/with-jitter.d.ts +15 -0
- package/dist/utilities/functions/with-jitter.js +14 -0
- package/dist/utilities/functions/with-jitter.js.map +1 -0
- package/dist/utilities/types/_module.d.ts +4 -4
- package/dist/utilities/types/_module.js +1 -4
- package/dist/utilities/types/_module.js.map +1 -1
- package/dist/utilities/types/async-iterable-value.type.d.ts +6 -1
- package/package.json +113 -10
- package/dist/backoff-policies/constant-backoff-policy/_module.d.ts +0 -1
- package/dist/backoff-policies/constant-backoff-policy/_module.js +0 -2
- package/dist/backoff-policies/constant-backoff-policy/_module.js.map +0 -1
- package/dist/backoff-policies/constant-backoff-policy/constant-backoff-policy.d.ts +0 -30
- package/dist/backoff-policies/constant-backoff-policy/constant-backoff-policy.js +0 -29
- package/dist/backoff-policies/constant-backoff-policy/constant-backoff-policy.js.map +0 -1
- package/dist/backoff-policies/exponential-backoff-policy/_module.d.ts +0 -1
- package/dist/backoff-policies/exponential-backoff-policy/_module.js +0 -2
- package/dist/backoff-policies/exponential-backoff-policy/_module.js.map +0 -1
- package/dist/backoff-policies/exponential-backoff-policy/exponential-backoff-policy.d.ts +0 -38
- package/dist/backoff-policies/exponential-backoff-policy/exponential-backoff-policy.js +0 -30
- package/dist/backoff-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +0 -1
- package/dist/backoff-policies/linear-backoff-policy/_module.d.ts +0 -1
- package/dist/backoff-policies/linear-backoff-policy/_module.js +0 -2
- package/dist/backoff-policies/linear-backoff-policy/_module.js.map +0 -1
- package/dist/backoff-policies/linear-backoff-policy/linear-backoff-policy.d.ts +0 -34
- package/dist/backoff-policies/linear-backoff-policy/linear-backoff-policy.js +0 -30
- package/dist/backoff-policies/linear-backoff-policy/linear-backoff-policy.js.map +0 -1
- package/dist/backoff-policies/polynomial-backoff-policy/_module.d.ts +0 -1
- package/dist/backoff-policies/polynomial-backoff-policy/_module.js +0 -2
- package/dist/backoff-policies/polynomial-backoff-policy/_module.js.map +0 -1
- package/dist/backoff-policies/polynomial-backoff-policy/polynomial-backoff-policy.d.ts +0 -38
- package/dist/backoff-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +0 -30
- package/dist/backoff-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +0 -1
- package/dist/lock/implementations/derivables/lock-provider/resolve-database-lock-adapter.d.ts +0 -9
- package/dist/lock/implementations/derivables/lock-provider/resolve-database-lock-adapter.js.map +0 -1
- package/dist/semaphore/implementations/derivables/semaphore-provider/resolve-database-semaphore-adapter.d.ts +0 -8
- package/dist/semaphore/implementations/derivables/semaphore-provider/resolve-database-semaphore-adapter.js.map +0 -1
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/resolve-database-shared-lock-adapter.d.ts +0 -8
- package/dist/shared-lock/implementations/derivables/shared-lock-provider/resolve-database-shared-lock-adapter.js.map +0 -1
- package/dist/task/_module-exports.d.ts +0 -1
- package/dist/task/_module-exports.js +0 -2
- package/dist/task/_module-exports.js.map +0 -1
- package/dist/task/abort-and-fail.js.map +0 -1
- package/dist/task/task.js.map +0 -1
- package/dist/utilities/functions/result.d.ts +0 -91
- package/dist/utilities/functions/result.js +0 -59
- package/dist/utilities/functions/result.js.map +0 -1
- /package/dist/task/{abort-and-fail.d.ts → implementations/abort-and-fail.d.ts} +0 -0
- /package/dist/task/{abort-and-fail.js → implementations/abort-and-fail.js} +0 -0
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Cache
|
|
3
3
|
*/
|
|
4
|
-
import {} from "vitest";
|
|
5
|
-
import { KeyNotFoundCacheError, CACHE_EVENTS, } from "../../../cache/contracts/_module
|
|
6
|
-
import {} from "../../../
|
|
7
|
-
import { Task } from "../../../task/_module
|
|
8
|
-
import {
|
|
4
|
+
import { vi, } from "vitest";
|
|
5
|
+
import { KeyNotFoundCacheError, CACHE_EVENTS, KeyExistsCacheError, } from "../../../cache/contracts/_module.js";
|
|
6
|
+
import { Key } from "../../../namespace/_module.js";
|
|
7
|
+
import { Task } from "../../../task/implementations/_module.js";
|
|
8
|
+
import {} from "../../../time-span/contracts/time-span.contract.js";
|
|
9
|
+
import { TimeSpan } from "../../../time-span/implementations/_module.js";
|
|
10
|
+
import {} from "../../../utilities/_module.js";
|
|
9
11
|
/**
|
|
10
12
|
* The `cacheTestSuite` function simplifies the process of testing your custom implementation of {@link ICache | `ICache`} with `vitest`.
|
|
11
13
|
*
|
|
@@ -34,820 +36,1690 @@ import { TimeSpan } from "../../../time-span/implementations/_module-exports.js"
|
|
|
34
36
|
* ```
|
|
35
37
|
*/
|
|
36
38
|
export function cacheTestSuite(settings) {
|
|
37
|
-
const { expect, test, createCache, describe, beforeEach } = settings;
|
|
39
|
+
const { expect, test, createCache, describe, beforeEach, excludeEventTests = false, } = settings;
|
|
38
40
|
let cache;
|
|
39
41
|
beforeEach(async () => {
|
|
40
|
-
cache = await createCache();
|
|
42
|
+
cache = (await createCache());
|
|
41
43
|
});
|
|
44
|
+
async function delay(ttl) {
|
|
45
|
+
await Task.delay(ttl);
|
|
46
|
+
}
|
|
42
47
|
const TTL = TimeSpan.fromMilliseconds(50);
|
|
43
|
-
const
|
|
48
|
+
const LONG_TTL = TimeSpan.fromMinutes(5);
|
|
44
49
|
describe("Api tests:", () => {
|
|
45
50
|
describe("method: exists", () => {
|
|
46
|
-
test("Should return
|
|
47
|
-
|
|
48
|
-
await
|
|
49
|
-
expect(
|
|
51
|
+
test("Should return false when key does not exists", async () => {
|
|
52
|
+
const key = "a";
|
|
53
|
+
const result = await cache.exists(key);
|
|
54
|
+
expect(result).toBe(false);
|
|
50
55
|
});
|
|
51
|
-
test("Should return false when
|
|
52
|
-
|
|
56
|
+
test("Should return false when key is expired", async () => {
|
|
57
|
+
const key = "a";
|
|
58
|
+
await cache.add(key, 1, {
|
|
59
|
+
ttl: TTL,
|
|
60
|
+
});
|
|
61
|
+
await delay(TTL.addMilliseconds(10));
|
|
62
|
+
const result = await cache.exists(key);
|
|
63
|
+
expect(result).toBe(false);
|
|
53
64
|
});
|
|
54
|
-
test("Should return
|
|
55
|
-
|
|
56
|
-
await
|
|
57
|
-
|
|
65
|
+
test("Should return true when key exists", async () => {
|
|
66
|
+
const key = "a";
|
|
67
|
+
await cache.add(key, 1);
|
|
68
|
+
const result = await cache.exists(key);
|
|
69
|
+
expect(result).toBe(true);
|
|
70
|
+
});
|
|
71
|
+
test("Should return true when key is unexpired", async () => {
|
|
72
|
+
const key = "a";
|
|
73
|
+
await cache.add(key, 1, { ttl: LONG_TTL });
|
|
74
|
+
const result = await cache.exists(key);
|
|
75
|
+
expect(result).toBe(true);
|
|
58
76
|
});
|
|
59
77
|
});
|
|
60
78
|
describe("method: missing", () => {
|
|
61
|
-
test("Should return
|
|
62
|
-
|
|
63
|
-
await
|
|
64
|
-
expect(
|
|
79
|
+
test("Should return true when key does not exists", async () => {
|
|
80
|
+
const key = "a";
|
|
81
|
+
const result = await cache.missing(key);
|
|
82
|
+
expect(result).toBe(true);
|
|
65
83
|
});
|
|
66
|
-
test("Should return true when
|
|
67
|
-
|
|
84
|
+
test("Should return true when key is expired", async () => {
|
|
85
|
+
const key = "a";
|
|
86
|
+
await cache.add(key, 1, {
|
|
87
|
+
ttl: TTL,
|
|
88
|
+
});
|
|
89
|
+
await delay(TTL.addMilliseconds(10));
|
|
90
|
+
const result = await cache.missing(key);
|
|
91
|
+
expect(result).toBe(true);
|
|
92
|
+
});
|
|
93
|
+
test("Should return false when key exists", async () => {
|
|
94
|
+
const key = "a";
|
|
95
|
+
await cache.add(key, 1);
|
|
96
|
+
const result = await cache.missing(key);
|
|
97
|
+
expect(result).toBe(false);
|
|
68
98
|
});
|
|
69
|
-
test("Should return
|
|
70
|
-
|
|
71
|
-
await
|
|
72
|
-
|
|
99
|
+
test("Should return false when key is unexpired", async () => {
|
|
100
|
+
const key = "a";
|
|
101
|
+
await cache.add(key, 1, { ttl: LONG_TTL });
|
|
102
|
+
const result = await cache.missing(key);
|
|
103
|
+
expect(result).toBe(false);
|
|
73
104
|
});
|
|
74
105
|
});
|
|
75
106
|
describe("method: get", () => {
|
|
76
|
-
test("Should return
|
|
77
|
-
|
|
78
|
-
await
|
|
79
|
-
expect(
|
|
107
|
+
test("Should return null when key does not exists", async () => {
|
|
108
|
+
const key = "a";
|
|
109
|
+
const result = await cache.get(key);
|
|
110
|
+
expect(result).toBeNull();
|
|
80
111
|
});
|
|
81
|
-
test("Should return null when
|
|
82
|
-
|
|
112
|
+
test("Should return null when key is expired", async () => {
|
|
113
|
+
const key = "a";
|
|
114
|
+
await cache.add(key, 1, {
|
|
115
|
+
ttl: TTL,
|
|
116
|
+
});
|
|
117
|
+
await delay(TTL.addMilliseconds(10));
|
|
118
|
+
const result = await cache.get(key);
|
|
119
|
+
expect(result).toBeNull();
|
|
83
120
|
});
|
|
84
|
-
test("Should return
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
121
|
+
test("Should return value when key exists", async () => {
|
|
122
|
+
const key = "a";
|
|
123
|
+
const value = 1;
|
|
124
|
+
await cache.add(key, value);
|
|
125
|
+
const result = await cache.get(key);
|
|
126
|
+
expect(result).toBe(value);
|
|
127
|
+
});
|
|
128
|
+
test("Should return value when key is unexpired", async () => {
|
|
129
|
+
const key = "a";
|
|
130
|
+
const value = 1;
|
|
131
|
+
await cache.add(key, value, { ttl: LONG_TTL });
|
|
132
|
+
const result = await cache.get(key);
|
|
133
|
+
expect(result).toBe(value);
|
|
88
134
|
});
|
|
89
135
|
});
|
|
90
136
|
describe("method: getOrFail", () => {
|
|
91
|
-
test("Should
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
});
|
|
96
|
-
test("Should throw
|
|
97
|
-
|
|
137
|
+
test("Should throw KeyNotFoundCacheError when key does not exists", async () => {
|
|
138
|
+
const key = "a";
|
|
139
|
+
const result = cache.getOrFail(key);
|
|
140
|
+
await expect(result).rejects.toBeInstanceOf(KeyNotFoundCacheError);
|
|
141
|
+
});
|
|
142
|
+
test("Should throw KeyNotFoundCacheError when key is expired", async () => {
|
|
143
|
+
const key = "a";
|
|
144
|
+
await cache.add(key, 1, {
|
|
145
|
+
ttl: TTL,
|
|
146
|
+
});
|
|
147
|
+
await delay(TTL.addMilliseconds(10));
|
|
148
|
+
const result = cache.getOrFail(key);
|
|
149
|
+
await expect(result).rejects.toBeInstanceOf(KeyNotFoundCacheError);
|
|
98
150
|
});
|
|
99
|
-
test("Should
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
await
|
|
151
|
+
test("Should return value when key exists", async () => {
|
|
152
|
+
const key = "a";
|
|
153
|
+
const value = 1;
|
|
154
|
+
await cache.add(key, value);
|
|
155
|
+
const result = await cache.getOrFail(key);
|
|
156
|
+
expect(result).toBe(value);
|
|
157
|
+
});
|
|
158
|
+
test("Should return value when key is unexpired", async () => {
|
|
159
|
+
const key = "a";
|
|
160
|
+
const value = 1;
|
|
161
|
+
await cache.add(key, value, { ttl: LONG_TTL });
|
|
162
|
+
const result = await cache.getOrFail(key);
|
|
163
|
+
expect(result).toBe(value);
|
|
103
164
|
});
|
|
104
165
|
});
|
|
105
166
|
describe("method: getOr", () => {
|
|
106
|
-
test("Should return value when key exists", async () => {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
});
|
|
117
|
-
test("Async function", async () => {
|
|
118
|
-
expect(await cache.getOr("a", () => Promise.resolve(-1))).toBe(-1);
|
|
119
|
-
});
|
|
120
|
-
test("Task", async () => {
|
|
121
|
-
expect(await cache.getOr("a", new Task(() => Promise.resolve(-1)))).toBe(-1);
|
|
167
|
+
test("Should return default value when key does not exists", async () => {
|
|
168
|
+
const key = "a";
|
|
169
|
+
const defaultValue = -1;
|
|
170
|
+
const result = await cache.getOr(key, defaultValue);
|
|
171
|
+
expect(result).toBe(defaultValue);
|
|
172
|
+
});
|
|
173
|
+
test("Should return default value when key is expired", async () => {
|
|
174
|
+
const key = "a";
|
|
175
|
+
await cache.add(key, 1, {
|
|
176
|
+
ttl: TTL,
|
|
122
177
|
});
|
|
178
|
+
await delay(TTL.addMilliseconds(10));
|
|
179
|
+
const defaultValue = -1;
|
|
180
|
+
const result = await cache.getOr(key, defaultValue);
|
|
181
|
+
expect(result).toBe(defaultValue);
|
|
123
182
|
});
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
});
|
|
140
|
-
test("Task", async () => {
|
|
141
|
-
await cache.add("a", 1, TTL);
|
|
142
|
-
await Task.delay(TTL);
|
|
143
|
-
expect(await cache.getOr("a", new Task(() => Promise.resolve(-1)))).toBe(-1);
|
|
144
|
-
});
|
|
183
|
+
test("Should return value when key exists", async () => {
|
|
184
|
+
const key = "a";
|
|
185
|
+
const value = 1;
|
|
186
|
+
await cache.add(key, value);
|
|
187
|
+
const defaultValue = -1;
|
|
188
|
+
const result = await cache.getOr(key, defaultValue);
|
|
189
|
+
expect(result).toBe(value);
|
|
190
|
+
});
|
|
191
|
+
test("Should return value when key is unexpired", async () => {
|
|
192
|
+
const key = "a";
|
|
193
|
+
const value = 1;
|
|
194
|
+
await cache.add(key, value, { ttl: LONG_TTL });
|
|
195
|
+
const defaultValue = -1;
|
|
196
|
+
const result = await cache.getOr(key, defaultValue);
|
|
197
|
+
expect(result).toBe(value);
|
|
145
198
|
});
|
|
146
199
|
});
|
|
147
200
|
describe("method: getAndRemove", () => {
|
|
148
|
-
test("Should return
|
|
149
|
-
|
|
150
|
-
await
|
|
151
|
-
expect(
|
|
152
|
-
});
|
|
153
|
-
test("Should return null when key doesnt exists", async () => {
|
|
154
|
-
expect(await cache.getAndRemove("a")).toBeNull();
|
|
201
|
+
test("Should return null when key does not exists", async () => {
|
|
202
|
+
const key = "a";
|
|
203
|
+
const result = await cache.getAndRemove(key);
|
|
204
|
+
expect(result).toBeNull();
|
|
155
205
|
});
|
|
156
206
|
test("Should return null when key is expired", async () => {
|
|
157
|
-
|
|
158
|
-
await
|
|
159
|
-
|
|
207
|
+
const key = "a";
|
|
208
|
+
await cache.add(key, 1, {
|
|
209
|
+
ttl: TTL,
|
|
210
|
+
});
|
|
211
|
+
await delay(TTL.addMilliseconds(10));
|
|
212
|
+
const result = await cache.getAndRemove(key);
|
|
213
|
+
expect(result).toBeNull();
|
|
160
214
|
});
|
|
161
|
-
test("Should
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
await cache.
|
|
165
|
-
await
|
|
166
|
-
expect(
|
|
215
|
+
test("Should return value when key exists", async () => {
|
|
216
|
+
const key = "a";
|
|
217
|
+
const value = 1;
|
|
218
|
+
await cache.add(key, value);
|
|
219
|
+
const result = await cache.getAndRemove(key);
|
|
220
|
+
expect(result).toBe(value);
|
|
221
|
+
});
|
|
222
|
+
test("Should return value when key is unexpired", async () => {
|
|
223
|
+
const key = "a";
|
|
224
|
+
const value = 1;
|
|
225
|
+
await cache.add(key, value, { ttl: LONG_TTL });
|
|
226
|
+
const result = await cache.getAndRemove(key);
|
|
227
|
+
expect(result).toBe(value);
|
|
228
|
+
});
|
|
229
|
+
test("Should remove key when exists", async () => {
|
|
230
|
+
const key = "a";
|
|
231
|
+
const value = 1;
|
|
232
|
+
await cache.add(key, value);
|
|
233
|
+
await cache.getAndRemove(key);
|
|
234
|
+
const result = await cache.get(key);
|
|
235
|
+
expect(result).toBeNull();
|
|
236
|
+
});
|
|
237
|
+
test("Should remove key when is unexpired", async () => {
|
|
238
|
+
const key = "a";
|
|
239
|
+
const value = 1;
|
|
240
|
+
await cache.add(key, value, { ttl: LONG_TTL });
|
|
241
|
+
await cache.getAndRemove(key);
|
|
242
|
+
const result = await cache.get(key);
|
|
243
|
+
expect(result).toBeNull();
|
|
167
244
|
});
|
|
168
245
|
});
|
|
169
246
|
describe("method: getOrAdd", () => {
|
|
170
|
-
test("Should return value when key exists", async () => {
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
247
|
+
test("Should return value to add when key does not exists", async () => {
|
|
248
|
+
const key = "a";
|
|
249
|
+
const valueToAdd = -1;
|
|
250
|
+
const result = await cache.getOrAdd(key, valueToAdd);
|
|
251
|
+
expect(result).toBe(valueToAdd);
|
|
252
|
+
});
|
|
253
|
+
test("Should persist value when key does not exists", async () => {
|
|
254
|
+
const key = "a";
|
|
255
|
+
const valueToAdd = -1;
|
|
256
|
+
await cache.getOrAdd(key, valueToAdd);
|
|
257
|
+
const result = await cache.get(key);
|
|
258
|
+
expect(result).toBe(valueToAdd);
|
|
259
|
+
});
|
|
260
|
+
test("Should return value to add when key is expired", async () => {
|
|
261
|
+
const key = "a";
|
|
262
|
+
await cache.add(key, 1, {
|
|
263
|
+
ttl: TTL,
|
|
178
264
|
});
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
await cache.getOrAdd("a", new Task(() => Promise.resolve(-1)));
|
|
189
|
-
expect(await cache.get("a")).toBe(-1);
|
|
265
|
+
await delay(TTL.addMilliseconds(10));
|
|
266
|
+
const valueToAdd = -1;
|
|
267
|
+
const result = await cache.getOrAdd(key, valueToAdd);
|
|
268
|
+
expect(result).toBe(valueToAdd);
|
|
269
|
+
});
|
|
270
|
+
test("Should persist value when key is expired", async () => {
|
|
271
|
+
const key = "a";
|
|
272
|
+
await cache.add(key, 1, {
|
|
273
|
+
ttl: TTL,
|
|
190
274
|
});
|
|
275
|
+
await delay(TTL.addMilliseconds(10));
|
|
276
|
+
const valueToAdd = -1;
|
|
277
|
+
await cache.getOrAdd(key, valueToAdd);
|
|
278
|
+
const result = await cache.get(key);
|
|
279
|
+
expect(result).toBe(valueToAdd);
|
|
191
280
|
});
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
281
|
+
test("Should return value when key exists", async () => {
|
|
282
|
+
const key = "a";
|
|
283
|
+
const value = 1;
|
|
284
|
+
await cache.add(key, value);
|
|
285
|
+
const valueToAdd = -1;
|
|
286
|
+
const result = await cache.getOrAdd(key, valueToAdd);
|
|
287
|
+
expect(result).toBe(value);
|
|
288
|
+
});
|
|
289
|
+
test("Should not persist value when key exists", async () => {
|
|
290
|
+
const key = "a";
|
|
291
|
+
const value = 1;
|
|
292
|
+
await cache.add(key, value);
|
|
293
|
+
const valueToAdd = -1;
|
|
294
|
+
await cache.getOrAdd(key, valueToAdd);
|
|
295
|
+
const result = await cache.get(key);
|
|
296
|
+
expect(result).toBe(value);
|
|
297
|
+
});
|
|
298
|
+
test("Should return value when key is unexpired", async () => {
|
|
299
|
+
const key = "a";
|
|
300
|
+
const value = 1;
|
|
301
|
+
await cache.add(key, value, { ttl: LONG_TTL });
|
|
302
|
+
const valueToAdd = -1;
|
|
303
|
+
const result = await cache.getOrAdd(key, valueToAdd);
|
|
304
|
+
expect(result).toBe(value);
|
|
305
|
+
});
|
|
306
|
+
test("Should not persist when key is unexpired", async () => {
|
|
307
|
+
const key = "a";
|
|
308
|
+
const value = 1;
|
|
309
|
+
await cache.add(key, value, { ttl: LONG_TTL });
|
|
310
|
+
const valueToAdd = -1;
|
|
311
|
+
await cache.getOrAdd(key, valueToAdd);
|
|
312
|
+
const result = await cache.get(key);
|
|
313
|
+
expect(result).toBe(value);
|
|
217
314
|
});
|
|
218
315
|
});
|
|
219
316
|
describe("method: add", () => {
|
|
220
|
-
test("Should return true when key
|
|
221
|
-
const
|
|
222
|
-
|
|
317
|
+
test("Should return true when key does not exists", async () => {
|
|
318
|
+
const key = "a";
|
|
319
|
+
const value = 1;
|
|
320
|
+
const result = await cache.add(key, value);
|
|
223
321
|
expect(result).toBe(true);
|
|
224
322
|
});
|
|
225
|
-
test("Should
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
323
|
+
test("Should persist value when key does not exists", async () => {
|
|
324
|
+
const key = "a";
|
|
325
|
+
const value = 1;
|
|
326
|
+
await cache.add(key, value);
|
|
327
|
+
const result = await cache.get(key);
|
|
328
|
+
expect(result).toBe(value);
|
|
229
329
|
});
|
|
230
|
-
test("Should
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
330
|
+
test("Should return true when key is expired", async () => {
|
|
331
|
+
const key = "a";
|
|
332
|
+
const value1 = 1;
|
|
333
|
+
await cache.add(key, value1, {
|
|
334
|
+
ttl: TTL,
|
|
335
|
+
});
|
|
336
|
+
await delay(TTL.addMilliseconds(10));
|
|
337
|
+
const value2 = 2;
|
|
338
|
+
const result = await cache.add(key, value2);
|
|
339
|
+
expect(result).toBe(true);
|
|
234
340
|
});
|
|
235
|
-
test("Should persist
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
await cache.add(
|
|
239
|
-
|
|
341
|
+
test("Should persist value when key is expired", async () => {
|
|
342
|
+
const key = "a";
|
|
343
|
+
const value1 = 1;
|
|
344
|
+
await cache.add(key, value1, {
|
|
345
|
+
ttl: TTL,
|
|
346
|
+
});
|
|
347
|
+
await delay(TTL.addMilliseconds(10));
|
|
348
|
+
const value2 = 2;
|
|
349
|
+
await cache.add(key, value2);
|
|
350
|
+
const result = await cache.get(key);
|
|
351
|
+
expect(result).toBe(value2);
|
|
240
352
|
});
|
|
241
353
|
test("Should return false when key exists", async () => {
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
354
|
+
const key = "a";
|
|
355
|
+
const value1 = 1;
|
|
356
|
+
await cache.add(key, value1);
|
|
357
|
+
const value2 = 2;
|
|
358
|
+
const result = await cache.add(key, value2);
|
|
359
|
+
expect(result).toBe(false);
|
|
360
|
+
});
|
|
361
|
+
test("Should return false when key is unexpired", async () => {
|
|
362
|
+
const key = "a";
|
|
363
|
+
const value1 = 1;
|
|
364
|
+
await cache.add(key, value1, { ttl: LONG_TTL });
|
|
365
|
+
const value2 = 2;
|
|
366
|
+
const result = await cache.add(key, value2);
|
|
367
|
+
expect(result).toBe(false);
|
|
368
|
+
});
|
|
369
|
+
test("Should not persist value when key exists", async () => {
|
|
370
|
+
const key = "a";
|
|
371
|
+
const value1 = 1;
|
|
372
|
+
await cache.add(key, value1);
|
|
373
|
+
const value2 = 2;
|
|
374
|
+
await cache.add(key, value2);
|
|
375
|
+
const result = await cache.get(key);
|
|
376
|
+
expect(result).toBe(value1);
|
|
377
|
+
});
|
|
378
|
+
test("Should not persist value when key is unexpired", async () => {
|
|
379
|
+
const key = "a";
|
|
380
|
+
const value1 = 1;
|
|
381
|
+
await cache.add(key, value1, { ttl: LONG_TTL });
|
|
382
|
+
const value2 = 2;
|
|
383
|
+
await cache.add(key, value2);
|
|
384
|
+
const result = await cache.get(key);
|
|
385
|
+
expect(result).toBe(value1);
|
|
245
386
|
});
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
387
|
+
});
|
|
388
|
+
describe("method: addOrFail", () => {
|
|
389
|
+
test("Should not throw error when key does not exists", async () => {
|
|
390
|
+
const key = "a";
|
|
391
|
+
const value = 1;
|
|
392
|
+
const result = cache.addOrFail(key, value);
|
|
393
|
+
await expect(result).resolves.toBeUndefined();
|
|
394
|
+
});
|
|
395
|
+
test("Should persist value when key does not exists", async () => {
|
|
396
|
+
const key = "a";
|
|
397
|
+
const value = 1;
|
|
398
|
+
await cache.addOrFail(key, value);
|
|
399
|
+
const result = await cache.get(key);
|
|
400
|
+
expect(result).toBe(value);
|
|
401
|
+
});
|
|
402
|
+
test("Should not throw error when key is expired", async () => {
|
|
403
|
+
const key = "a";
|
|
404
|
+
const value1 = 1;
|
|
405
|
+
await cache.addOrFail(key, value1, {
|
|
406
|
+
ttl: TTL,
|
|
407
|
+
});
|
|
408
|
+
await delay(TTL.addMilliseconds(10));
|
|
409
|
+
const value2 = 2;
|
|
410
|
+
const result = cache.addOrFail(key, value2);
|
|
411
|
+
await expect(result).resolves.toBeUndefined();
|
|
412
|
+
});
|
|
413
|
+
test("Should persist value when key is expired", async () => {
|
|
414
|
+
const key = "a";
|
|
415
|
+
const value1 = 1;
|
|
416
|
+
await cache.addOrFail(key, value1, {
|
|
417
|
+
ttl: TTL,
|
|
418
|
+
});
|
|
419
|
+
await delay(TTL.addMilliseconds(10));
|
|
420
|
+
const value2 = 2;
|
|
421
|
+
await cache.addOrFail(key, value2);
|
|
422
|
+
const result = await cache.get(key);
|
|
423
|
+
expect(result).toBe(value2);
|
|
424
|
+
});
|
|
425
|
+
test("Should throw KeyExistsCacheError when key exists", async () => {
|
|
426
|
+
const key = "a";
|
|
427
|
+
const value1 = 1;
|
|
428
|
+
await cache.addOrFail(key, value1);
|
|
429
|
+
const value2 = 2;
|
|
430
|
+
const result = cache.addOrFail(key, value2);
|
|
431
|
+
await expect(result).rejects.toBeInstanceOf(KeyExistsCacheError);
|
|
432
|
+
});
|
|
433
|
+
test("Should throw KeyExistsCacheError when key is unexpired", async () => {
|
|
434
|
+
const key = "a";
|
|
435
|
+
const value1 = 1;
|
|
436
|
+
await cache.addOrFail(key, value1, {
|
|
437
|
+
ttl: LONG_TTL,
|
|
438
|
+
});
|
|
439
|
+
const value2 = 2;
|
|
440
|
+
const result = cache.addOrFail(key, value2);
|
|
441
|
+
await expect(result).rejects.toBeInstanceOf(KeyExistsCacheError);
|
|
442
|
+
});
|
|
443
|
+
test("Should not persist value when key exists", async () => {
|
|
444
|
+
const key = "a";
|
|
445
|
+
const value1 = 1;
|
|
446
|
+
await cache.addOrFail(key, value1);
|
|
447
|
+
const value2 = 2;
|
|
448
|
+
try {
|
|
449
|
+
await cache.addOrFail(key, value2);
|
|
450
|
+
}
|
|
451
|
+
catch {
|
|
452
|
+
/* EMPTY */
|
|
453
|
+
}
|
|
454
|
+
const result = await cache.get(key);
|
|
455
|
+
expect(result).toBe(value1);
|
|
456
|
+
});
|
|
457
|
+
test("Should not persist value when key is unexpired", async () => {
|
|
458
|
+
const key = "a";
|
|
459
|
+
const value1 = 1;
|
|
460
|
+
await cache.addOrFail(key, value1, {
|
|
461
|
+
ttl: LONG_TTL,
|
|
462
|
+
});
|
|
463
|
+
const value2 = 2;
|
|
464
|
+
try {
|
|
465
|
+
await cache.addOrFail(key, value2);
|
|
466
|
+
}
|
|
467
|
+
catch {
|
|
468
|
+
/* EMPTY */
|
|
469
|
+
}
|
|
470
|
+
const result = await cache.get(key);
|
|
471
|
+
expect(result).toBe(value1);
|
|
252
472
|
});
|
|
253
473
|
});
|
|
254
474
|
describe("method: put", () => {
|
|
255
475
|
test("Should return true when key exists", async () => {
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
476
|
+
const key = "a";
|
|
477
|
+
const value1 = 1;
|
|
478
|
+
await cache.add(key, value1);
|
|
479
|
+
const value2 = 2;
|
|
480
|
+
const result = await cache.put(key, value2);
|
|
481
|
+
expect(result).toBe(true);
|
|
259
482
|
});
|
|
260
|
-
test("Should persist value when key
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
await cache.
|
|
264
|
-
|
|
265
|
-
|
|
483
|
+
test("Should persist value when key exists", async () => {
|
|
484
|
+
const key = "a";
|
|
485
|
+
const value1 = 1;
|
|
486
|
+
await cache.add(key, value1);
|
|
487
|
+
const value2 = 2;
|
|
488
|
+
await cache.put(key, value2);
|
|
489
|
+
const result = await cache.get(key);
|
|
490
|
+
expect(result).toBe(value2);
|
|
491
|
+
});
|
|
492
|
+
test("Should persist ttl when key exists", async () => {
|
|
493
|
+
const key = "a";
|
|
494
|
+
const value1 = 1;
|
|
495
|
+
await cache.add(key, value1);
|
|
496
|
+
const value2 = 2;
|
|
497
|
+
await cache.put(key, value2, { ttl: TTL });
|
|
498
|
+
await delay(TTL.addMilliseconds(10));
|
|
499
|
+
const result = await cache.get(key);
|
|
500
|
+
expect(result).toBeNull();
|
|
501
|
+
});
|
|
502
|
+
test("Should return true when key is unexpired", async () => {
|
|
503
|
+
const key = "a";
|
|
504
|
+
const value1 = 1;
|
|
505
|
+
await cache.add(key, value1, { ttl: LONG_TTL });
|
|
506
|
+
const value2 = 2;
|
|
507
|
+
const result = await cache.put(key, value2);
|
|
508
|
+
expect(result).toBe(true);
|
|
266
509
|
});
|
|
267
|
-
test("Should
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
await
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
await cache.
|
|
282
|
-
await
|
|
283
|
-
await cache.
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
const
|
|
289
|
-
await cache.
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
510
|
+
test("Should persist value when key is unexpired", async () => {
|
|
511
|
+
const key = "a";
|
|
512
|
+
const value1 = 1;
|
|
513
|
+
await cache.add(key, value1, { ttl: LONG_TTL });
|
|
514
|
+
const value2 = 2;
|
|
515
|
+
await cache.put(key, value2);
|
|
516
|
+
const result = await cache.get(key);
|
|
517
|
+
expect(result).toBe(value2);
|
|
518
|
+
});
|
|
519
|
+
test("Should persist ttl when key is unexpired", async () => {
|
|
520
|
+
const key = "a";
|
|
521
|
+
const value1 = 1;
|
|
522
|
+
await cache.add(key, value1, { ttl: LONG_TTL });
|
|
523
|
+
const value2 = 2;
|
|
524
|
+
await cache.put(key, value2, { ttl: TTL });
|
|
525
|
+
await delay(TTL.addMilliseconds(10));
|
|
526
|
+
const result = await cache.get(key);
|
|
527
|
+
expect(result).toBeNull();
|
|
528
|
+
});
|
|
529
|
+
test("Should return false when key does not exist", async () => {
|
|
530
|
+
const key = "a";
|
|
531
|
+
const value = 1;
|
|
532
|
+
const result = await cache.put(key, value);
|
|
533
|
+
expect(result).toBe(false);
|
|
534
|
+
});
|
|
535
|
+
test("Should persist value when key does not exist", async () => {
|
|
536
|
+
const key = "a";
|
|
537
|
+
const value = 2;
|
|
538
|
+
await cache.put(key, value);
|
|
539
|
+
const result = await cache.get(key);
|
|
540
|
+
expect(result).toBe(value);
|
|
541
|
+
});
|
|
542
|
+
test("Should persist ttl when key does not exist", async () => {
|
|
543
|
+
const key = "a";
|
|
544
|
+
const value = 2;
|
|
545
|
+
await cache.put(key, value, { ttl: TTL });
|
|
546
|
+
await delay(TTL.addMilliseconds(10));
|
|
547
|
+
const result = await cache.get(key);
|
|
548
|
+
expect(result).toBeNull();
|
|
295
549
|
});
|
|
296
550
|
});
|
|
297
551
|
describe("method: update", () => {
|
|
298
|
-
test("Should return
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
552
|
+
test("Should return false when key does not exists", async () => {
|
|
553
|
+
const key = "a";
|
|
554
|
+
const value = 1;
|
|
555
|
+
const result = await cache.update(key, value);
|
|
556
|
+
expect(result).toBe(false);
|
|
557
|
+
});
|
|
558
|
+
test("Should not persist value when key does not exists", async () => {
|
|
559
|
+
const key = "a";
|
|
560
|
+
const value = 1;
|
|
561
|
+
await cache.update(key, value);
|
|
562
|
+
const result = await cache.get(key);
|
|
563
|
+
expect(result).toBeNull();
|
|
564
|
+
});
|
|
565
|
+
test("Should return false when key is expired", async () => {
|
|
566
|
+
const key = "a";
|
|
567
|
+
const value1 = 1;
|
|
568
|
+
await cache.add(key, value1, {
|
|
569
|
+
ttl: TTL,
|
|
570
|
+
});
|
|
571
|
+
await delay(TTL.addMilliseconds(10));
|
|
572
|
+
const value2 = 2;
|
|
573
|
+
const result = await cache.update(key, value2);
|
|
574
|
+
expect(result).toBe(false);
|
|
302
575
|
});
|
|
303
|
-
test("Should persist value when key
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
await cache.
|
|
307
|
-
|
|
308
|
-
|
|
576
|
+
test("Should not persist value when key is expired", async () => {
|
|
577
|
+
const key = "a";
|
|
578
|
+
const value1 = 1;
|
|
579
|
+
await cache.add(key, value1, {
|
|
580
|
+
ttl: TTL,
|
|
581
|
+
});
|
|
582
|
+
await delay(TTL.addMilliseconds(10));
|
|
583
|
+
const value2 = 2;
|
|
584
|
+
await cache.update(key, value2);
|
|
585
|
+
const result = await cache.get(key);
|
|
586
|
+
expect(result).toBeNull();
|
|
309
587
|
});
|
|
310
|
-
test("Should return
|
|
311
|
-
|
|
588
|
+
test("Should return true when key exists", async () => {
|
|
589
|
+
const key = "a";
|
|
590
|
+
const value1 = 1;
|
|
591
|
+
await cache.add(key, value1);
|
|
592
|
+
const value2 = 2;
|
|
593
|
+
const result = await cache.update(key, value2);
|
|
594
|
+
expect(result).toBe(true);
|
|
312
595
|
});
|
|
313
|
-
test("Should return
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
596
|
+
test("Should return true when key is unexpired", async () => {
|
|
597
|
+
const key = "a";
|
|
598
|
+
const value1 = 1;
|
|
599
|
+
await cache.add(key, value1, { ttl: LONG_TTL });
|
|
600
|
+
const value2 = 2;
|
|
601
|
+
const result = await cache.update(key, value2);
|
|
602
|
+
expect(result).toBe(true);
|
|
317
603
|
});
|
|
318
|
-
test("Should
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
604
|
+
test("Should persist value when key exists", async () => {
|
|
605
|
+
const key = "a";
|
|
606
|
+
const value1 = 1;
|
|
607
|
+
await cache.add(key, value1);
|
|
608
|
+
const value2 = 2;
|
|
609
|
+
await cache.update(key, value2);
|
|
610
|
+
const result = await cache.get(key);
|
|
611
|
+
expect(result).toBe(value2);
|
|
612
|
+
});
|
|
613
|
+
test("Should persist value when key is unexpired", async () => {
|
|
614
|
+
const key = "a";
|
|
615
|
+
const value1 = 1;
|
|
616
|
+
await cache.add(key, value1, { ttl: LONG_TTL });
|
|
617
|
+
const value2 = 2;
|
|
618
|
+
await cache.update(key, value2);
|
|
619
|
+
const result = await cache.get(key);
|
|
620
|
+
expect(result).toBe(value2);
|
|
621
|
+
});
|
|
622
|
+
});
|
|
623
|
+
describe("method: updateOrFail", () => {
|
|
624
|
+
test("Should throw KeyNotFoundCacheError when key does not exists", async () => {
|
|
625
|
+
const key = "a";
|
|
626
|
+
const value = 1;
|
|
627
|
+
const result = cache.updateOrFail(key, value);
|
|
628
|
+
await expect(result).rejects.toBeInstanceOf(KeyNotFoundCacheError);
|
|
629
|
+
});
|
|
630
|
+
test("Should not persist value when key does not exists", async () => {
|
|
631
|
+
const key = "a";
|
|
632
|
+
const value = 1;
|
|
633
|
+
try {
|
|
634
|
+
await cache.updateOrFail(key, value);
|
|
635
|
+
}
|
|
636
|
+
catch {
|
|
637
|
+
/* EMPTY */
|
|
638
|
+
}
|
|
639
|
+
const result = await cache.get(key);
|
|
640
|
+
expect(result).toBeNull();
|
|
641
|
+
});
|
|
642
|
+
test("Should throw KeyNotFoundCacheError when key is expired", async () => {
|
|
643
|
+
const key = "a";
|
|
644
|
+
const value1 = 1;
|
|
645
|
+
await cache.add(key, value1, {
|
|
646
|
+
ttl: TTL,
|
|
647
|
+
});
|
|
648
|
+
await delay(TTL.addMilliseconds(10));
|
|
649
|
+
const value2 = 2;
|
|
650
|
+
const result = cache.updateOrFail(key, value2);
|
|
651
|
+
await expect(result).rejects.toBeInstanceOf(KeyNotFoundCacheError);
|
|
322
652
|
});
|
|
323
653
|
test("Should not persist value when key is expired", async () => {
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
await cache.
|
|
327
|
-
|
|
654
|
+
const key = "a";
|
|
655
|
+
const value1 = 1;
|
|
656
|
+
await cache.add(key, value1, {
|
|
657
|
+
ttl: TTL,
|
|
658
|
+
});
|
|
659
|
+
await delay(TTL.addMilliseconds(10));
|
|
660
|
+
const value2 = 2;
|
|
661
|
+
try {
|
|
662
|
+
await cache.updateOrFail(key, value2);
|
|
663
|
+
}
|
|
664
|
+
catch {
|
|
665
|
+
/* EMPTY */
|
|
666
|
+
}
|
|
667
|
+
const result = await cache.get(key);
|
|
668
|
+
expect(result).toBeNull();
|
|
669
|
+
});
|
|
670
|
+
test("Should not throw error when key exists", async () => {
|
|
671
|
+
const key = "a";
|
|
672
|
+
const value1 = 1;
|
|
673
|
+
await cache.add(key, value1);
|
|
674
|
+
const value2 = 2;
|
|
675
|
+
const result = cache.updateOrFail(key, value2);
|
|
676
|
+
await expect(result).resolves.toBeUndefined();
|
|
677
|
+
});
|
|
678
|
+
test("Should not throw error when key is unexpired", async () => {
|
|
679
|
+
const key = "a";
|
|
680
|
+
const value1 = 1;
|
|
681
|
+
await cache.add(key, value1, { ttl: LONG_TTL });
|
|
682
|
+
const value2 = 2;
|
|
683
|
+
const result = cache.updateOrFail(key, value2);
|
|
684
|
+
await expect(result).resolves.toBeUndefined();
|
|
685
|
+
});
|
|
686
|
+
test("Should persist value when key exists", async () => {
|
|
687
|
+
const key = "a";
|
|
688
|
+
const value1 = 1;
|
|
689
|
+
await cache.add(key, value1);
|
|
690
|
+
const value2 = 2;
|
|
691
|
+
await cache.updateOrFail(key, value2);
|
|
692
|
+
const result = await cache.get(key);
|
|
693
|
+
expect(result).toBe(value2);
|
|
694
|
+
});
|
|
695
|
+
test("Should persist value when key is unexpired", async () => {
|
|
696
|
+
const key = "a";
|
|
697
|
+
const value1 = 1;
|
|
698
|
+
await cache.add(key, value1, { ttl: LONG_TTL });
|
|
699
|
+
const value2 = 2;
|
|
700
|
+
await cache.updateOrFail(key, value2);
|
|
701
|
+
const result = await cache.get(key);
|
|
702
|
+
expect(result).toBe(value2);
|
|
328
703
|
});
|
|
329
704
|
});
|
|
330
705
|
describe("method: increment", () => {
|
|
331
|
-
test("Should return
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
706
|
+
test("Should return false when key does not exists", async () => {
|
|
707
|
+
const key = "a";
|
|
708
|
+
const value = 1;
|
|
709
|
+
const result = await cache.increment(key, value);
|
|
710
|
+
expect(result).toBe(false);
|
|
711
|
+
});
|
|
712
|
+
test("Should not persist value when key does not exists", async () => {
|
|
713
|
+
const key = "a";
|
|
714
|
+
const value = 1;
|
|
715
|
+
await cache.increment(key, value);
|
|
716
|
+
const result = await cache.get(key);
|
|
717
|
+
expect(result).toBeNull();
|
|
335
718
|
});
|
|
336
|
-
test("Should
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
await cache.
|
|
340
|
-
|
|
341
|
-
|
|
719
|
+
test("Should return false when key is expired", async () => {
|
|
720
|
+
const key = "a";
|
|
721
|
+
const value1 = 1;
|
|
722
|
+
await cache.add(key, value1, {
|
|
723
|
+
ttl: TTL,
|
|
724
|
+
});
|
|
725
|
+
await delay(TTL.addMilliseconds(10));
|
|
726
|
+
const value2 = 2;
|
|
727
|
+
const result = await cache.increment(key, value2);
|
|
728
|
+
expect(result).toBe(false);
|
|
342
729
|
});
|
|
343
|
-
test("Should
|
|
344
|
-
|
|
730
|
+
test("Should not persist value when key is expired", async () => {
|
|
731
|
+
const key = "a";
|
|
732
|
+
const value1 = 1;
|
|
733
|
+
await cache.add(key, value1, {
|
|
734
|
+
ttl: TTL,
|
|
735
|
+
});
|
|
736
|
+
await delay(TTL.addMilliseconds(10));
|
|
737
|
+
const value2 = 2;
|
|
738
|
+
await cache.increment(key, value2);
|
|
739
|
+
const result = await cache.get(key);
|
|
740
|
+
expect(result).toBeNull();
|
|
345
741
|
});
|
|
346
|
-
test("Should return
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
742
|
+
test("Should return true when key exists", async () => {
|
|
743
|
+
const key = "a";
|
|
744
|
+
const value1 = 1;
|
|
745
|
+
await cache.add(key, value1);
|
|
746
|
+
const value2 = 2;
|
|
747
|
+
const result = await cache.increment(key, value2);
|
|
748
|
+
expect(result).toBe(true);
|
|
350
749
|
});
|
|
351
|
-
test("Should
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
750
|
+
test("Should return true when key is unexpired", async () => {
|
|
751
|
+
const key = "a";
|
|
752
|
+
const value1 = 1;
|
|
753
|
+
await cache.add(key, value1, { ttl: LONG_TTL });
|
|
754
|
+
const value2 = 2;
|
|
755
|
+
const result = await cache.increment(key, value2);
|
|
756
|
+
expect(result).toBe(true);
|
|
355
757
|
});
|
|
356
|
-
test("Should
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
await cache.
|
|
360
|
-
|
|
758
|
+
test("Should persist value when key exists", async () => {
|
|
759
|
+
const key = "a";
|
|
760
|
+
const value1 = 1;
|
|
761
|
+
await cache.add(key, value1);
|
|
762
|
+
const value2 = 2;
|
|
763
|
+
await cache.increment(key, value2);
|
|
764
|
+
const result = await cache.get(key);
|
|
765
|
+
expect(result).toBe(3);
|
|
766
|
+
});
|
|
767
|
+
test("Should persist value when key is unexpired", async () => {
|
|
768
|
+
const key = "a";
|
|
769
|
+
const value1 = 1;
|
|
770
|
+
await cache.add(key, value1, { ttl: LONG_TTL });
|
|
771
|
+
const value2 = 2;
|
|
772
|
+
await cache.increment(key, value2);
|
|
773
|
+
const result = await cache.get(key);
|
|
774
|
+
expect(result).toBe(3);
|
|
361
775
|
});
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
776
|
+
});
|
|
777
|
+
describe("method: incrementOrFail", () => {
|
|
778
|
+
test("Should throw KeyNotFoundCacheError when key does not exists", async () => {
|
|
779
|
+
const key = "a";
|
|
780
|
+
const value = 1;
|
|
781
|
+
const result = cache.incrementOrFail(key, value);
|
|
782
|
+
await expect(result).rejects.toBeInstanceOf(KeyNotFoundCacheError);
|
|
783
|
+
});
|
|
784
|
+
test("Should not persist value when key does not exists", async () => {
|
|
785
|
+
const key = "a";
|
|
786
|
+
const value = 1;
|
|
787
|
+
try {
|
|
788
|
+
await cache.incrementOrFail(key, value);
|
|
789
|
+
}
|
|
790
|
+
catch {
|
|
791
|
+
/* EMPTY */
|
|
792
|
+
}
|
|
793
|
+
const result = await cache.get(key);
|
|
794
|
+
expect(result).toBeNull();
|
|
795
|
+
});
|
|
796
|
+
test("Should throw KeyNotFoundCacheError when key is expired", async () => {
|
|
797
|
+
const key = "a";
|
|
798
|
+
const value1 = 1;
|
|
799
|
+
await cache.add(key, value1, {
|
|
800
|
+
ttl: TTL,
|
|
801
|
+
});
|
|
802
|
+
await delay(TTL.addMilliseconds(10));
|
|
803
|
+
const value2 = 2;
|
|
804
|
+
const result = cache.incrementOrFail(key, value2);
|
|
805
|
+
await expect(result).rejects.toBeInstanceOf(KeyNotFoundCacheError);
|
|
806
|
+
});
|
|
807
|
+
test("Should not persist value when key is expired", async () => {
|
|
808
|
+
const key = "a";
|
|
809
|
+
const value1 = 1;
|
|
810
|
+
await cache.add(key, value1, {
|
|
811
|
+
ttl: TTL,
|
|
812
|
+
});
|
|
813
|
+
await delay(TTL.addMilliseconds(10));
|
|
814
|
+
const value2 = 2;
|
|
815
|
+
try {
|
|
816
|
+
await cache.incrementOrFail(key, value2);
|
|
817
|
+
}
|
|
818
|
+
catch {
|
|
819
|
+
/* EMPTY */
|
|
820
|
+
}
|
|
821
|
+
const result = await cache.get(key);
|
|
822
|
+
expect(result).toBeNull();
|
|
823
|
+
});
|
|
824
|
+
test("Should not throw error when key exists", async () => {
|
|
825
|
+
const key = "a";
|
|
826
|
+
const value1 = 1;
|
|
827
|
+
await cache.add(key, value1);
|
|
828
|
+
const value2 = 2;
|
|
829
|
+
const result = cache.incrementOrFail(key, value2);
|
|
830
|
+
await expect(result).resolves.toBeUndefined();
|
|
831
|
+
});
|
|
832
|
+
test("Should not throw error when key is unexpired", async () => {
|
|
833
|
+
const key = "a";
|
|
834
|
+
const value1 = 1;
|
|
835
|
+
await cache.add(key, value1, { ttl: LONG_TTL });
|
|
836
|
+
const value2 = 2;
|
|
837
|
+
const result = cache.incrementOrFail(key, value2);
|
|
838
|
+
await expect(result).resolves.toBeUndefined();
|
|
839
|
+
});
|
|
840
|
+
test("Should persist value when key exists", async () => {
|
|
841
|
+
const key = "a";
|
|
842
|
+
const value1 = 1;
|
|
843
|
+
await cache.add(key, value1);
|
|
844
|
+
const value2 = 2;
|
|
845
|
+
await cache.incrementOrFail(key, value2);
|
|
846
|
+
const result = await cache.get(key);
|
|
847
|
+
expect(result).toBe(3);
|
|
848
|
+
});
|
|
849
|
+
test("Should persist value when key is unexpired", async () => {
|
|
850
|
+
const key = "a";
|
|
851
|
+
const value1 = 1;
|
|
852
|
+
await cache.add(key, value1, { ttl: LONG_TTL });
|
|
853
|
+
const value2 = 2;
|
|
854
|
+
await cache.incrementOrFail(key, value2);
|
|
855
|
+
const result = await cache.get(key);
|
|
856
|
+
expect(result).toBe(3);
|
|
366
857
|
});
|
|
367
858
|
});
|
|
368
859
|
describe("method: decrement", () => {
|
|
369
|
-
test("Should return
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
860
|
+
test("Should return false when key does not exists", async () => {
|
|
861
|
+
const key = "a";
|
|
862
|
+
const value = 1;
|
|
863
|
+
const result = await cache.decrement(key, value);
|
|
864
|
+
expect(result).toBe(false);
|
|
865
|
+
});
|
|
866
|
+
test("Should not persist value when key does not exists", async () => {
|
|
867
|
+
const key = "a";
|
|
868
|
+
const value = 1;
|
|
869
|
+
await cache.decrement(key, value);
|
|
870
|
+
const result = await cache.get(key);
|
|
871
|
+
expect(result).toBeNull();
|
|
373
872
|
});
|
|
374
|
-
test("Should
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
await cache.
|
|
378
|
-
|
|
379
|
-
|
|
873
|
+
test("Should return false when key is expired", async () => {
|
|
874
|
+
const key = "a";
|
|
875
|
+
const value1 = 1;
|
|
876
|
+
await cache.add(key, value1, {
|
|
877
|
+
ttl: TTL,
|
|
878
|
+
});
|
|
879
|
+
await delay(TTL.addMilliseconds(10));
|
|
880
|
+
const value2 = 2;
|
|
881
|
+
const result = await cache.decrement(key, value2);
|
|
882
|
+
expect(result).toBe(false);
|
|
380
883
|
});
|
|
381
|
-
test("Should
|
|
382
|
-
|
|
884
|
+
test("Should not persist value when key is expired", async () => {
|
|
885
|
+
const key = "a";
|
|
886
|
+
const value1 = 1;
|
|
887
|
+
await cache.add(key, value1, {
|
|
888
|
+
ttl: TTL,
|
|
889
|
+
});
|
|
890
|
+
await delay(TTL.addMilliseconds(10));
|
|
891
|
+
const value2 = 2;
|
|
892
|
+
await cache.decrement(key, value2);
|
|
893
|
+
const result = await cache.get(key);
|
|
894
|
+
expect(result).toBeNull();
|
|
383
895
|
});
|
|
384
|
-
test("Should return
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
896
|
+
test("Should return true when key exists", async () => {
|
|
897
|
+
const key = "a";
|
|
898
|
+
const value1 = 1;
|
|
899
|
+
await cache.add(key, value1);
|
|
900
|
+
const value2 = 2;
|
|
901
|
+
const result = await cache.decrement(key, value2);
|
|
902
|
+
expect(result).toBe(true);
|
|
903
|
+
});
|
|
904
|
+
test("Should return true when key is unexpired", async () => {
|
|
905
|
+
const key = "a";
|
|
906
|
+
const value1 = 1;
|
|
907
|
+
await cache.add(key, value1, { ttl: LONG_TTL });
|
|
908
|
+
const value2 = 2;
|
|
909
|
+
const result = await cache.decrement(key, value2);
|
|
910
|
+
expect(result).toBe(true);
|
|
388
911
|
});
|
|
389
|
-
test("Should
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
912
|
+
test("Should persist value when key exists", async () => {
|
|
913
|
+
const key = "a";
|
|
914
|
+
const value1 = 1;
|
|
915
|
+
await cache.add(key, value1);
|
|
916
|
+
const value2 = 2;
|
|
917
|
+
await cache.decrement(key, value2);
|
|
918
|
+
const result = await cache.get(key);
|
|
919
|
+
expect(result).toBe(-1);
|
|
920
|
+
});
|
|
921
|
+
test("Should persist value when key is unexpired", async () => {
|
|
922
|
+
const key = "a";
|
|
923
|
+
const value1 = 1;
|
|
924
|
+
await cache.add(key, value1, { ttl: LONG_TTL });
|
|
925
|
+
const value2 = 2;
|
|
926
|
+
await cache.decrement(key, value2);
|
|
927
|
+
const result = await cache.get(key);
|
|
928
|
+
expect(result).toBe(-1);
|
|
393
929
|
});
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
930
|
+
});
|
|
931
|
+
describe("method: decrementOrFail", () => {
|
|
932
|
+
test("Should throw KeyNotFoundCacheError when key does not exists", async () => {
|
|
933
|
+
const key = "a";
|
|
934
|
+
const value = 1;
|
|
935
|
+
const result = cache.decrementOrFail(key, value);
|
|
936
|
+
await expect(result).rejects.toBeInstanceOf(KeyNotFoundCacheError);
|
|
937
|
+
});
|
|
938
|
+
test("Should not persist value when key does not exists", async () => {
|
|
939
|
+
const key = "a";
|
|
940
|
+
const value = 1;
|
|
941
|
+
try {
|
|
942
|
+
await cache.decrementOrFail(key, value);
|
|
943
|
+
}
|
|
944
|
+
catch {
|
|
945
|
+
/* EMPTY */
|
|
946
|
+
}
|
|
947
|
+
const result = await cache.get(key);
|
|
948
|
+
expect(result).toBeNull();
|
|
949
|
+
});
|
|
950
|
+
test("Should throw KeyNotFoundCacheError when key is expired", async () => {
|
|
951
|
+
const key = "a";
|
|
952
|
+
const value1 = 1;
|
|
953
|
+
await cache.add(key, value1, {
|
|
954
|
+
ttl: TTL,
|
|
955
|
+
});
|
|
956
|
+
await delay(TTL.addMilliseconds(10));
|
|
957
|
+
const value2 = 2;
|
|
958
|
+
const result = cache.decrementOrFail(key, value2);
|
|
959
|
+
await expect(result).rejects.toBeInstanceOf(KeyNotFoundCacheError);
|
|
399
960
|
});
|
|
400
|
-
test("Should
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
await
|
|
961
|
+
test("Should not persist value when key is expired", async () => {
|
|
962
|
+
const key = "a";
|
|
963
|
+
const value1 = 1;
|
|
964
|
+
await cache.add(key, value1, {
|
|
965
|
+
ttl: TTL,
|
|
966
|
+
});
|
|
967
|
+
await delay(TTL.addMilliseconds(10));
|
|
968
|
+
const value2 = 2;
|
|
969
|
+
try {
|
|
970
|
+
await cache.decrementOrFail(key, value2);
|
|
971
|
+
}
|
|
972
|
+
catch {
|
|
973
|
+
/* EMPTY */
|
|
974
|
+
}
|
|
975
|
+
const result = await cache.get(key);
|
|
976
|
+
expect(result).toBeNull();
|
|
977
|
+
});
|
|
978
|
+
test("Should not throw error when key exists", async () => {
|
|
979
|
+
const key = "a";
|
|
980
|
+
const value1 = 1;
|
|
981
|
+
await cache.add(key, value1);
|
|
982
|
+
const value2 = 2;
|
|
983
|
+
const result = cache.decrementOrFail(key, value2);
|
|
984
|
+
await expect(result).resolves.toBeUndefined();
|
|
985
|
+
});
|
|
986
|
+
test("Should not throw error when key is unexpired", async () => {
|
|
987
|
+
const key = "a";
|
|
988
|
+
const value1 = 1;
|
|
989
|
+
await cache.add(key, value1, { ttl: LONG_TTL });
|
|
990
|
+
const value2 = 2;
|
|
991
|
+
const result = cache.decrementOrFail(key, value2);
|
|
992
|
+
await expect(result).resolves.toBeUndefined();
|
|
993
|
+
});
|
|
994
|
+
test("Should persist value when key exists", async () => {
|
|
995
|
+
const key = "a";
|
|
996
|
+
const value1 = 1;
|
|
997
|
+
await cache.add(key, value1);
|
|
998
|
+
const value2 = 2;
|
|
999
|
+
await cache.decrementOrFail(key, value2);
|
|
1000
|
+
const result = await cache.get(key);
|
|
1001
|
+
expect(result).toBe(-1);
|
|
1002
|
+
});
|
|
1003
|
+
test("Should persist value when key is unexpired", async () => {
|
|
1004
|
+
const key = "a";
|
|
1005
|
+
const value1 = 1;
|
|
1006
|
+
await cache.add(key, value1, { ttl: LONG_TTL });
|
|
1007
|
+
const value2 = 2;
|
|
1008
|
+
await cache.decrementOrFail(key, value2);
|
|
1009
|
+
const result = await cache.get(key);
|
|
1010
|
+
expect(result).toBe(-1);
|
|
404
1011
|
});
|
|
405
1012
|
});
|
|
406
1013
|
describe("method: remove", () => {
|
|
1014
|
+
test("Should return false when key does not exists", async () => {
|
|
1015
|
+
const key = "a";
|
|
1016
|
+
const result = await cache.remove(key);
|
|
1017
|
+
expect(result).toBe(false);
|
|
1018
|
+
});
|
|
1019
|
+
test("Should return false when key is expired", async () => {
|
|
1020
|
+
const key = "a";
|
|
1021
|
+
await cache.add(key, 1, {
|
|
1022
|
+
ttl: TTL,
|
|
1023
|
+
});
|
|
1024
|
+
await delay(TTL.addMilliseconds(10));
|
|
1025
|
+
const result = await cache.remove(key);
|
|
1026
|
+
expect(result).toBe(false);
|
|
1027
|
+
});
|
|
407
1028
|
test("Should return true when key exists", async () => {
|
|
408
|
-
|
|
409
|
-
await
|
|
410
|
-
const result = await cache.remove(
|
|
1029
|
+
const key = "a";
|
|
1030
|
+
await cache.add(key, 1);
|
|
1031
|
+
const result = await cache.remove(key);
|
|
1032
|
+
expect(result).toBe(true);
|
|
1033
|
+
});
|
|
1034
|
+
test("Should return true when key is unexpired", async () => {
|
|
1035
|
+
const key = "a";
|
|
1036
|
+
await cache.add(key, 1, { ttl: LONG_TTL });
|
|
1037
|
+
const result = await cache.remove(key);
|
|
411
1038
|
expect(result).toBe(true);
|
|
412
1039
|
});
|
|
413
|
-
test("Should persist
|
|
414
|
-
|
|
415
|
-
await
|
|
416
|
-
await cache.remove(
|
|
417
|
-
await
|
|
418
|
-
expect(
|
|
1040
|
+
test("Should persist removal when key exists", async () => {
|
|
1041
|
+
const key = "a";
|
|
1042
|
+
await cache.add(key, 1);
|
|
1043
|
+
await cache.remove(key);
|
|
1044
|
+
const result = await cache.get(key);
|
|
1045
|
+
expect(result).toBeNull();
|
|
1046
|
+
});
|
|
1047
|
+
test("Should persist removal when key is unexpired", async () => {
|
|
1048
|
+
const key = "a";
|
|
1049
|
+
await cache.add(key, 1, { ttl: LONG_TTL });
|
|
1050
|
+
await cache.remove(key);
|
|
1051
|
+
const result = await cache.get(key);
|
|
1052
|
+
expect(result).toBeNull();
|
|
1053
|
+
});
|
|
1054
|
+
});
|
|
1055
|
+
describe("method: removeOrFail", () => {
|
|
1056
|
+
test("Should throw KeyNotFoundCacheError when key does not exists", async () => {
|
|
1057
|
+
const key = "a";
|
|
1058
|
+
const result = cache.removeOrFail(key);
|
|
1059
|
+
await expect(result).rejects.toBeInstanceOf(KeyNotFoundCacheError);
|
|
1060
|
+
});
|
|
1061
|
+
test("Should throw KeyNotFoundCacheError when key is expired", async () => {
|
|
1062
|
+
const key = "a";
|
|
1063
|
+
await cache.add(key, 1, {
|
|
1064
|
+
ttl: TTL,
|
|
1065
|
+
});
|
|
1066
|
+
await delay(TTL.addMilliseconds(10));
|
|
1067
|
+
const result = cache.removeOrFail(key);
|
|
1068
|
+
await expect(result).rejects.toBeInstanceOf(KeyNotFoundCacheError);
|
|
1069
|
+
});
|
|
1070
|
+
test("Should not throw error when key exists", async () => {
|
|
1071
|
+
const key = "a";
|
|
1072
|
+
await cache.add(key, 1);
|
|
1073
|
+
const result = cache.removeOrFail(key);
|
|
1074
|
+
await expect(result).resolves.toBeUndefined();
|
|
1075
|
+
});
|
|
1076
|
+
test("Should not throw error when key is unexpired", async () => {
|
|
1077
|
+
const key = "a";
|
|
1078
|
+
await cache.add(key, 1, { ttl: LONG_TTL });
|
|
1079
|
+
const result = cache.removeOrFail(key);
|
|
1080
|
+
await expect(result).resolves.toBeUndefined();
|
|
1081
|
+
});
|
|
1082
|
+
test("Should persist removal when key exists", async () => {
|
|
1083
|
+
const key = "a";
|
|
1084
|
+
await cache.add(key, 1);
|
|
1085
|
+
await cache.removeOrFail(key);
|
|
1086
|
+
const result = await cache.get(key);
|
|
1087
|
+
expect(result).toBeNull();
|
|
1088
|
+
});
|
|
1089
|
+
test("Should persist removal when key is unexpired", async () => {
|
|
1090
|
+
const key = "a";
|
|
1091
|
+
await cache.add(key, 1, { ttl: LONG_TTL });
|
|
1092
|
+
await cache.removeOrFail(key);
|
|
1093
|
+
const result = await cache.get(key);
|
|
1094
|
+
expect(result).toBeNull();
|
|
419
1095
|
});
|
|
420
1096
|
});
|
|
421
1097
|
describe("method: removeMany", () => {
|
|
1098
|
+
test("Should return false when all keys dont exists", async () => {
|
|
1099
|
+
const keyA = "a";
|
|
1100
|
+
const keyB = "b";
|
|
1101
|
+
const keyC = "c";
|
|
1102
|
+
await cache.add(keyA, 1, { ttl: TTL });
|
|
1103
|
+
await delay(TTL.addMilliseconds(10));
|
|
1104
|
+
const result = await cache.removeMany([keyA, keyB, keyC]);
|
|
1105
|
+
expect(result).toBe(false);
|
|
1106
|
+
});
|
|
422
1107
|
test("Should return true when one key exists", async () => {
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
const
|
|
1108
|
+
const keyA = "a";
|
|
1109
|
+
const keyB = "b";
|
|
1110
|
+
const keyC = "c";
|
|
1111
|
+
await cache.add(keyA, 1, { ttl: TTL });
|
|
1112
|
+
await delay(TTL.addMilliseconds(10));
|
|
1113
|
+
await cache.add(keyC, 2);
|
|
1114
|
+
const result = await cache.removeMany([keyA, keyB, keyC]);
|
|
426
1115
|
expect(result).toBe(true);
|
|
427
1116
|
});
|
|
428
|
-
test("Should persist removal
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
await
|
|
433
|
-
await
|
|
434
|
-
await
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
});
|
|
443
|
-
describe("method: clear", () => {
|
|
444
|
-
test("Should remove all keys", async () => {
|
|
445
|
-
await cache.add("a", 1);
|
|
446
|
-
await cache.add("b", 2);
|
|
447
|
-
await cache.add("c", 3);
|
|
448
|
-
await cache.add("d", 4);
|
|
449
|
-
await cache.clear();
|
|
450
|
-
const result = [
|
|
451
|
-
await cache.get("a"),
|
|
452
|
-
await cache.get("b"),
|
|
453
|
-
await cache.get("c"),
|
|
454
|
-
await cache.get("d"),
|
|
455
|
-
];
|
|
456
|
-
expect(result).toStrictEqual([null, null, null, null]);
|
|
1117
|
+
test("Should persist removal when one key exists", async () => {
|
|
1118
|
+
const keyA = "a";
|
|
1119
|
+
const keyB = "b";
|
|
1120
|
+
const keyC = "c";
|
|
1121
|
+
await cache.add(keyA, 1, { ttl: TTL });
|
|
1122
|
+
await delay(TTL.addMilliseconds(10));
|
|
1123
|
+
await cache.add(keyC, 2);
|
|
1124
|
+
await cache.removeMany([keyA, keyB, keyC]);
|
|
1125
|
+
const resultA = await cache.get(keyA);
|
|
1126
|
+
expect(resultA).toBeNull();
|
|
1127
|
+
const resultB = await cache.get(keyB);
|
|
1128
|
+
expect(resultB).toBeNull();
|
|
1129
|
+
const resultC = await cache.get(keyC);
|
|
1130
|
+
expect(resultC).toBeNull();
|
|
457
1131
|
});
|
|
458
1132
|
});
|
|
459
1133
|
});
|
|
460
|
-
describe("Event tests:", () => {
|
|
1134
|
+
describe.skipIf(excludeEventTests)("Event tests:", () => {
|
|
461
1135
|
describe("method: exists", () => {
|
|
462
1136
|
test("Should dispatch NotFoundCacheEvent when key doesnt exists", async () => {
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
1137
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1138
|
+
await cache.addListener(CACHE_EVENTS.NOT_FOUND, handlerFn);
|
|
1139
|
+
const key = "a";
|
|
1140
|
+
await cache.exists(key);
|
|
1141
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1142
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1143
|
+
key: expect.any(Key),
|
|
466
1144
|
});
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
expect(event_?.key).toBe("a");
|
|
470
|
-
await unsubscribe();
|
|
1145
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1146
|
+
expect(keyObj?.get()).toBe(key);
|
|
471
1147
|
});
|
|
472
1148
|
test("Should dispatch FoundCacheEvent when key exists", async () => {
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
1149
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1150
|
+
await cache.addListener(CACHE_EVENTS.FOUND, handlerFn);
|
|
1151
|
+
const key = "a";
|
|
1152
|
+
const value = 1;
|
|
1153
|
+
await cache.add(key, value);
|
|
1154
|
+
await cache.exists(key);
|
|
1155
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1156
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1157
|
+
key: expect.any(Key),
|
|
1158
|
+
value,
|
|
476
1159
|
});
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
await Task.delay(DELAY_TIME);
|
|
480
|
-
expect(event_?.key).toBe("a");
|
|
481
|
-
expect(event_?.value).toBe(1);
|
|
482
|
-
await unsubscribe();
|
|
1160
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1161
|
+
expect(keyObj?.get()).toBe(key);
|
|
483
1162
|
});
|
|
484
1163
|
});
|
|
485
1164
|
describe("method: missing", () => {
|
|
486
1165
|
test("Should dispatch NotFoundCacheEvent when key doesnt exists", async () => {
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
1166
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1167
|
+
await cache.addListener(CACHE_EVENTS.NOT_FOUND, handlerFn);
|
|
1168
|
+
const key = "a";
|
|
1169
|
+
await cache.missing(key);
|
|
1170
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1171
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1172
|
+
key: expect.any(Key),
|
|
490
1173
|
});
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
expect(event_?.key).toBe("a");
|
|
494
|
-
await unsubscribe();
|
|
1174
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1175
|
+
expect(keyObj?.get()).toBe(key);
|
|
495
1176
|
});
|
|
496
1177
|
test("Should dispatch FoundCacheEvent when key exists", async () => {
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
1178
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1179
|
+
await cache.addListener(CACHE_EVENTS.FOUND, handlerFn);
|
|
1180
|
+
const key = "a";
|
|
1181
|
+
const value = 1;
|
|
1182
|
+
await cache.add(key, value);
|
|
1183
|
+
await cache.missing(key);
|
|
1184
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1185
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1186
|
+
key: expect.any(Key),
|
|
1187
|
+
value,
|
|
500
1188
|
});
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
await Task.delay(DELAY_TIME);
|
|
504
|
-
expect(event_?.key).toBe("a");
|
|
505
|
-
expect(event_?.value).toBe(1);
|
|
506
|
-
await unsubscribe();
|
|
1189
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1190
|
+
expect(keyObj?.get()).toBe(key);
|
|
507
1191
|
});
|
|
508
1192
|
});
|
|
509
1193
|
describe("method: get", () => {
|
|
510
1194
|
test("Should dispatch NotFoundCacheEvent when key doesnt exists", async () => {
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
1195
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1196
|
+
await cache.addListener(CACHE_EVENTS.NOT_FOUND, handlerFn);
|
|
1197
|
+
const key = "a";
|
|
1198
|
+
await cache.get(key);
|
|
1199
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1200
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1201
|
+
key: expect.any(Key),
|
|
514
1202
|
});
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
expect(event_?.key).toBe("a");
|
|
518
|
-
await unsubscribe();
|
|
1203
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1204
|
+
expect(keyObj?.get()).toBe(key);
|
|
519
1205
|
});
|
|
520
1206
|
test("Should dispatch FoundCacheEvent when key exists", async () => {
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
1207
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1208
|
+
await cache.addListener(CACHE_EVENTS.FOUND, handlerFn);
|
|
1209
|
+
const key = "a";
|
|
1210
|
+
const value = 1;
|
|
1211
|
+
await cache.add(key, value);
|
|
1212
|
+
await cache.get(key);
|
|
1213
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1214
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1215
|
+
key: expect.any(Key),
|
|
1216
|
+
value,
|
|
524
1217
|
});
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
await Task.delay(DELAY_TIME);
|
|
528
|
-
expect(event_?.key).toBe("a");
|
|
529
|
-
expect(event_?.value).toBe(1);
|
|
530
|
-
await unsubscribe();
|
|
1218
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1219
|
+
expect(keyObj?.get()).toBe(key);
|
|
531
1220
|
});
|
|
532
1221
|
});
|
|
533
1222
|
describe("method: getOr", () => {
|
|
534
1223
|
test("Should dispatch NotFoundCacheEvent when key doesnt exists", async () => {
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
1224
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1225
|
+
await cache.addListener(CACHE_EVENTS.NOT_FOUND, handlerFn);
|
|
1226
|
+
const key = "a";
|
|
1227
|
+
await cache.getOr(key, -1);
|
|
1228
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1229
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1230
|
+
key: expect.any(Key),
|
|
538
1231
|
});
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
expect(event_?.key).toBe("a");
|
|
542
|
-
await unsubscribe();
|
|
1232
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1233
|
+
expect(keyObj?.get()).toBe(key);
|
|
543
1234
|
});
|
|
544
1235
|
test("Should dispatch FoundCacheEvent when key exists", async () => {
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
1236
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1237
|
+
await cache.addListener(CACHE_EVENTS.FOUND, handlerFn);
|
|
1238
|
+
const key = "a";
|
|
1239
|
+
const value = 1;
|
|
1240
|
+
await cache.add(key, value);
|
|
1241
|
+
await cache.getOr(key, -1);
|
|
1242
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1243
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1244
|
+
key: expect.any(Key),
|
|
1245
|
+
value,
|
|
548
1246
|
});
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
await Task.delay(DELAY_TIME);
|
|
552
|
-
expect(event_?.key).toBe("a");
|
|
553
|
-
expect(event_?.value).toBe(1);
|
|
554
|
-
await unsubscribe();
|
|
1247
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1248
|
+
expect(keyObj?.get()).toBe(key);
|
|
555
1249
|
});
|
|
556
1250
|
});
|
|
557
1251
|
describe("method: getOrFail", () => {
|
|
558
1252
|
test("Should dispatch NotFoundCacheEvent when key doesnt exists", async () => {
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
});
|
|
1253
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1254
|
+
await cache.addListener(CACHE_EVENTS.NOT_FOUND, handlerFn);
|
|
1255
|
+
const key = "a";
|
|
563
1256
|
try {
|
|
564
|
-
await cache.getOrFail(
|
|
1257
|
+
await cache.getOrFail(key);
|
|
565
1258
|
}
|
|
566
1259
|
catch {
|
|
567
|
-
/*
|
|
1260
|
+
/* EMPTY */
|
|
568
1261
|
}
|
|
569
|
-
|
|
570
|
-
expect(
|
|
571
|
-
|
|
1262
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1263
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1264
|
+
key: expect.any(Key),
|
|
1265
|
+
});
|
|
1266
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1267
|
+
expect(keyObj?.get()).toBe(key);
|
|
572
1268
|
});
|
|
573
1269
|
test("Should dispatch FoundCacheEvent when key exists", async () => {
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
1270
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1271
|
+
await cache.addListener(CACHE_EVENTS.FOUND, handlerFn);
|
|
1272
|
+
const key = "a";
|
|
1273
|
+
const value = 1;
|
|
1274
|
+
await cache.add(key, value);
|
|
1275
|
+
await cache.getOrFail(key);
|
|
1276
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1277
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1278
|
+
key: expect.any(Key),
|
|
1279
|
+
value,
|
|
577
1280
|
});
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
await Task.delay(DELAY_TIME);
|
|
581
|
-
expect(event_?.key).toBe("a");
|
|
582
|
-
expect(event_?.value).toBe(1);
|
|
583
|
-
await unsubscribe();
|
|
1281
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1282
|
+
expect(keyObj?.get()).toBe(key);
|
|
584
1283
|
});
|
|
585
1284
|
});
|
|
586
1285
|
describe("method: add", () => {
|
|
587
1286
|
test("Should dispatch AddedCacheEvent when key doesnt exists", async () => {
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
1287
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1288
|
+
await cache.addListener(CACHE_EVENTS.ADDED, handlerFn);
|
|
1289
|
+
const key = "a";
|
|
1290
|
+
const value = 1;
|
|
1291
|
+
await cache.add(key, value, { ttl: TTL });
|
|
1292
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1293
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1294
|
+
key: expect.any(Key),
|
|
1295
|
+
value,
|
|
1296
|
+
ttl: expect.any(TimeSpan),
|
|
593
1297
|
});
|
|
594
|
-
const
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
expect(
|
|
598
|
-
expect(event_?.value).toBe(1);
|
|
599
|
-
expect(event_?.ttl?.toMilliseconds()).toBe(ttl.toMilliseconds());
|
|
600
|
-
await unsubscribe();
|
|
1298
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1299
|
+
expect(keyObj?.get()).toBe(key);
|
|
1300
|
+
const ttl_ = handlerFn.mock.calls[0]?.[0].ttl;
|
|
1301
|
+
expect(ttl_?.toMilliseconds()).toBe(TTL.toMilliseconds());
|
|
601
1302
|
});
|
|
602
1303
|
});
|
|
603
1304
|
describe("method: update", () => {
|
|
1305
|
+
test("Should dispatch NotFoundCacheEvent when key doesnt exists", async () => {
|
|
1306
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1307
|
+
await cache.addListener(CACHE_EVENTS.NOT_FOUND, handlerFn);
|
|
1308
|
+
const key = "a";
|
|
1309
|
+
const value = 1;
|
|
1310
|
+
await cache.update(key, value);
|
|
1311
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1312
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1313
|
+
key: expect.any(Key),
|
|
1314
|
+
});
|
|
1315
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1316
|
+
expect(keyObj?.get()).toBe(key);
|
|
1317
|
+
});
|
|
604
1318
|
test("Should dispatch UpdatedCacheEvent when key exists", async () => {
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
1319
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1320
|
+
await cache.addListener(CACHE_EVENTS.UPDATED, handlerFn);
|
|
1321
|
+
const key = "a";
|
|
1322
|
+
const value1 = 1;
|
|
1323
|
+
await cache.add(key, value1);
|
|
1324
|
+
const value2 = 2;
|
|
1325
|
+
await cache.update(key, value2);
|
|
1326
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1327
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1328
|
+
key: expect.any(Key),
|
|
1329
|
+
value: value2,
|
|
610
1330
|
});
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
await Task.delay(DELAY_TIME);
|
|
614
|
-
expect(event_?.key).toBe("a");
|
|
615
|
-
expect(event_?.value).toBe(2);
|
|
616
|
-
await unsubscribe();
|
|
1331
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1332
|
+
expect(keyObj?.get()).toBe(key);
|
|
617
1333
|
});
|
|
1334
|
+
});
|
|
1335
|
+
describe("method: updateOrFail", () => {
|
|
618
1336
|
test("Should dispatch NotFoundCacheEvent when key doesnt exists", async () => {
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
1337
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1338
|
+
await cache.addListener(CACHE_EVENTS.NOT_FOUND, handlerFn);
|
|
1339
|
+
const key = "a";
|
|
1340
|
+
const value = 1;
|
|
1341
|
+
try {
|
|
1342
|
+
await cache.updateOrFail(key, value);
|
|
1343
|
+
}
|
|
1344
|
+
catch {
|
|
1345
|
+
/* EMPTY */
|
|
1346
|
+
}
|
|
1347
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1348
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1349
|
+
key: expect.any(Key),
|
|
622
1350
|
});
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
1351
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1352
|
+
expect(keyObj?.get()).toBe(key);
|
|
1353
|
+
});
|
|
1354
|
+
test("Should dispatch UpdatedCacheEvent when key exists", async () => {
|
|
1355
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1356
|
+
await cache.addListener(CACHE_EVENTS.UPDATED, handlerFn);
|
|
1357
|
+
const key = "a";
|
|
1358
|
+
const value1 = 1;
|
|
1359
|
+
await cache.add(key, value1);
|
|
1360
|
+
const value2 = 2;
|
|
1361
|
+
await cache.updateOrFail(key, value2);
|
|
1362
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1363
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1364
|
+
key: expect.any(Key),
|
|
1365
|
+
value: value2,
|
|
1366
|
+
});
|
|
1367
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1368
|
+
expect(keyObj?.get()).toBe(key);
|
|
627
1369
|
});
|
|
628
1370
|
});
|
|
629
1371
|
describe("method: put", () => {
|
|
630
1372
|
test("Should dispatch AddedCacheEvent when key doesnt exists", async () => {
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
1373
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1374
|
+
await cache.addListener(CACHE_EVENTS.ADDED, handlerFn);
|
|
1375
|
+
const key = "a";
|
|
1376
|
+
const value = 1;
|
|
1377
|
+
await cache.put(key, value, { ttl: TTL });
|
|
1378
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1379
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1380
|
+
key: expect.any(Key),
|
|
1381
|
+
value,
|
|
1382
|
+
ttl: expect.any(TimeSpan),
|
|
1383
|
+
});
|
|
1384
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1385
|
+
expect(keyObj?.get()).toBe(key);
|
|
1386
|
+
const ttl = handlerFn.mock.calls[0]?.[0].ttl;
|
|
1387
|
+
expect(ttl?.toMilliseconds()).toBe(ttl?.toMilliseconds());
|
|
644
1388
|
});
|
|
645
1389
|
test("Should dispatch UpdatedCacheEvent when key exists", async () => {
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
1390
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1391
|
+
await cache.addListener(CACHE_EVENTS.UPDATED, handlerFn);
|
|
1392
|
+
const key = "a";
|
|
1393
|
+
const value = 1;
|
|
1394
|
+
await cache.add(key, value);
|
|
1395
|
+
await cache.put(key, value, { ttl: TTL });
|
|
1396
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1397
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1398
|
+
key: expect.any(Key),
|
|
1399
|
+
value,
|
|
651
1400
|
});
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
await Task.delay(DELAY_TIME);
|
|
655
|
-
expect(event_?.key).toBe("a");
|
|
656
|
-
expect(event_?.value).toBe(2);
|
|
657
|
-
await unsubscribe();
|
|
1401
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1402
|
+
expect(keyObj?.get()).toBe(key);
|
|
658
1403
|
});
|
|
659
1404
|
});
|
|
660
1405
|
describe("method: remove", () => {
|
|
1406
|
+
test("Should dispatch NotFoundCacheEvent when key doesnt exists", async () => {
|
|
1407
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1408
|
+
await cache.addListener(CACHE_EVENTS.NOT_FOUND, handlerFn);
|
|
1409
|
+
const key = "a";
|
|
1410
|
+
await cache.remove(key);
|
|
1411
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1412
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1413
|
+
key: expect.any(Key),
|
|
1414
|
+
});
|
|
1415
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1416
|
+
expect(keyObj?.get()).toBe(key);
|
|
1417
|
+
});
|
|
661
1418
|
test("Should dispatch RemovedCacheEvent when key exists", async () => {
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
1419
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1420
|
+
await cache.addListener(CACHE_EVENTS.REMOVED, handlerFn);
|
|
1421
|
+
const key = "a";
|
|
1422
|
+
const value = 1;
|
|
1423
|
+
await cache.add(key, value);
|
|
1424
|
+
await cache.remove(key);
|
|
1425
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1426
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1427
|
+
key: expect.any(Key),
|
|
667
1428
|
});
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
await Task.delay(DELAY_TIME);
|
|
671
|
-
expect(event_?.key).toBe("a");
|
|
672
|
-
await unsubscribe();
|
|
1429
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1430
|
+
expect(keyObj?.get()).toBe(key);
|
|
673
1431
|
});
|
|
1432
|
+
});
|
|
1433
|
+
describe("method: removeOrFail", () => {
|
|
674
1434
|
test("Should dispatch NotFoundCacheEvent when key doesnt exists", async () => {
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
1435
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1436
|
+
await cache.addListener(CACHE_EVENTS.NOT_FOUND, handlerFn);
|
|
1437
|
+
const key = "a";
|
|
1438
|
+
try {
|
|
1439
|
+
await cache.removeOrFail(key);
|
|
1440
|
+
}
|
|
1441
|
+
catch {
|
|
1442
|
+
/* EMPTY */
|
|
1443
|
+
}
|
|
1444
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1445
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1446
|
+
key: expect.any(Key),
|
|
678
1447
|
});
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
1448
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1449
|
+
expect(keyObj?.get()).toBe(key);
|
|
1450
|
+
});
|
|
1451
|
+
test("Should dispatch RemovedCacheEvent when key exists", async () => {
|
|
1452
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1453
|
+
await cache.addListener(CACHE_EVENTS.REMOVED, handlerFn);
|
|
1454
|
+
const key = "a";
|
|
1455
|
+
const value = 1;
|
|
1456
|
+
await cache.add(key, value);
|
|
1457
|
+
await cache.removeOrFail(key);
|
|
1458
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1459
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1460
|
+
key: expect.any(Key),
|
|
1461
|
+
});
|
|
1462
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1463
|
+
expect(keyObj?.get()).toBe(key);
|
|
683
1464
|
});
|
|
684
1465
|
});
|
|
685
1466
|
describe("method: removeMany", () => {
|
|
686
|
-
test("Should dispatch RemovedCacheEvent when key
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
1467
|
+
test("Should dispatch RemovedCacheEvent when one key exists", async () => {
|
|
1468
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1469
|
+
await cache.addListener(CACHE_EVENTS.REMOVED, handlerFn);
|
|
1470
|
+
const key1 = "a";
|
|
1471
|
+
const key2 = "b";
|
|
1472
|
+
const value = 1;
|
|
1473
|
+
await cache.add(key1, value);
|
|
1474
|
+
await cache.removeMany([key1, key2]);
|
|
1475
|
+
expect(handlerFn).toHaveBeenCalledTimes(2);
|
|
1476
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1477
|
+
key: expect.any(Key),
|
|
692
1478
|
});
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
expect(
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
const
|
|
702
|
-
|
|
1479
|
+
const keyObj1 = handlerFn.mock.calls[0]?.[0].key;
|
|
1480
|
+
expect(keyObj1?.get()).toBe("a");
|
|
1481
|
+
const keyObj2 = handlerFn.mock.calls[1]?.[0].key;
|
|
1482
|
+
expect(keyObj2?.get()).toBe("b");
|
|
1483
|
+
});
|
|
1484
|
+
test("Should dispatch NotFoundCacheEvent when all keys doesnt exists", async () => {
|
|
1485
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1486
|
+
await cache.addListener(CACHE_EVENTS.NOT_FOUND, handlerFn);
|
|
1487
|
+
const key1 = "a";
|
|
1488
|
+
const key2 = "b";
|
|
1489
|
+
await cache.removeMany([key1, key2]);
|
|
1490
|
+
expect(handlerFn).toHaveBeenCalledTimes(2);
|
|
1491
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1492
|
+
key: expect.any(Key),
|
|
703
1493
|
});
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
1494
|
+
const keyObj1 = handlerFn.mock.calls[0]?.[0].key;
|
|
1495
|
+
expect(keyObj1?.get()).toBe("a");
|
|
1496
|
+
const keyObj2 = handlerFn.mock.calls[1]?.[0].key;
|
|
1497
|
+
expect(keyObj2?.get()).toBe("b");
|
|
708
1498
|
});
|
|
709
1499
|
});
|
|
710
1500
|
describe("method: getAndRemove", () => {
|
|
711
1501
|
test("Should dispatch NotFoundCacheEvent when key doesnt exists", async () => {
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
1502
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1503
|
+
await cache.addListener(CACHE_EVENTS.NOT_FOUND, handlerFn);
|
|
1504
|
+
const key = "a";
|
|
1505
|
+
await cache.getAndRemove(key);
|
|
1506
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1507
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1508
|
+
key: expect.any(Key),
|
|
715
1509
|
});
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
const
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
await cache.getAndRemove("a");
|
|
728
|
-
await Task.delay(DELAY_TIME);
|
|
729
|
-
expect(event_?.key).toBe("a");
|
|
730
|
-
expect(event_?.value).toBe(1);
|
|
731
|
-
await unsubscribe();
|
|
1510
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1511
|
+
expect(keyObj?.get()).toBe(key);
|
|
1512
|
+
});
|
|
1513
|
+
test("Should not dispatch FoundCacheEvent when key exists", async () => {
|
|
1514
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1515
|
+
await cache.addListener(CACHE_EVENTS.FOUND, handlerFn);
|
|
1516
|
+
const key = "a";
|
|
1517
|
+
const value = 1;
|
|
1518
|
+
await cache.add(key, value);
|
|
1519
|
+
await cache.getAndRemove(key);
|
|
1520
|
+
expect(handlerFn).not.toHaveBeenCalled();
|
|
732
1521
|
});
|
|
733
1522
|
test("Should dispatch RemovedCacheEvent when key exists", async () => {
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
1523
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1524
|
+
await cache.addListener(CACHE_EVENTS.REMOVED, handlerFn);
|
|
1525
|
+
const key = "a";
|
|
1526
|
+
const value = 1;
|
|
1527
|
+
await cache.add(key, value);
|
|
1528
|
+
await cache.getAndRemove(key);
|
|
1529
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1530
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1531
|
+
key: expect.any(Key),
|
|
739
1532
|
});
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
await Task.delay(DELAY_TIME);
|
|
743
|
-
expect(event_?.key).toBe("a");
|
|
744
|
-
await unsubscribe();
|
|
1533
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1534
|
+
expect(keyObj?.get()).toBe(key);
|
|
745
1535
|
});
|
|
746
1536
|
});
|
|
747
1537
|
describe("method: getOrAdd", () => {
|
|
748
|
-
test("Should dispatch NotFoundCacheEvent when key doesnt exists", async () => {
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
await cache.getOrAdd(
|
|
754
|
-
|
|
755
|
-
expect(event_?.key).toBe("a");
|
|
756
|
-
await unsubscribe();
|
|
1538
|
+
test("Should not dispatch NotFoundCacheEvent when key doesnt exists", async () => {
|
|
1539
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1540
|
+
await cache.addListener(CACHE_EVENTS.NOT_FOUND, handlerFn);
|
|
1541
|
+
const key = "a";
|
|
1542
|
+
const value = 1;
|
|
1543
|
+
await cache.getOrAdd(key, value);
|
|
1544
|
+
expect(handlerFn).not.toHaveBeenCalled();
|
|
757
1545
|
});
|
|
758
1546
|
test("Should dispatch FoundCacheEvent when key exists", async () => {
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
1547
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1548
|
+
await cache.addListener(CACHE_EVENTS.FOUND, handlerFn);
|
|
1549
|
+
const key = "a";
|
|
1550
|
+
const value = 1;
|
|
1551
|
+
await cache.add(key, value);
|
|
1552
|
+
await cache.getOrAdd(key, value);
|
|
1553
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1554
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1555
|
+
key: expect.any(Key),
|
|
1556
|
+
value,
|
|
762
1557
|
});
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
await Task.delay(DELAY_TIME);
|
|
766
|
-
expect(event_?.key).toBe("a");
|
|
767
|
-
expect(event_?.value).toBe(1);
|
|
768
|
-
await unsubscribe();
|
|
1558
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1559
|
+
expect(keyObj?.get()).toBe(key);
|
|
769
1560
|
});
|
|
770
1561
|
test("Should dispatch AddedCacheEvent when key exists", async () => {
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
1562
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1563
|
+
await cache.addListener(CACHE_EVENTS.ADDED, handlerFn);
|
|
1564
|
+
const key = "a";
|
|
1565
|
+
const value = 1;
|
|
1566
|
+
await cache.getOrAdd(key, value, { ttl: TTL });
|
|
1567
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1568
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1569
|
+
key: expect.any(Key),
|
|
1570
|
+
value,
|
|
1571
|
+
ttl: expect.any(TimeSpan),
|
|
776
1572
|
});
|
|
777
|
-
const
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
expect(
|
|
781
|
-
expect(event_?.value).toBe(1);
|
|
782
|
-
expect(event_?.ttl?.toMilliseconds()).toBe(ttl.toMilliseconds());
|
|
783
|
-
await unsubscribe();
|
|
1573
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1574
|
+
expect(keyObj?.get()).toBe(key);
|
|
1575
|
+
const ttl = handlerFn.mock.calls[0]?.[0].ttl;
|
|
1576
|
+
expect(ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
|
|
784
1577
|
});
|
|
785
1578
|
});
|
|
786
1579
|
describe("method: increment", () => {
|
|
1580
|
+
test("Should dispatch NotFoundCacheEvent when key doesnt exists", async () => {
|
|
1581
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1582
|
+
await cache.addListener(CACHE_EVENTS.NOT_FOUND, handlerFn);
|
|
1583
|
+
const key = "a";
|
|
1584
|
+
const value = 1;
|
|
1585
|
+
await cache.increment(key, value);
|
|
1586
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1587
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1588
|
+
key: expect.any(Key),
|
|
1589
|
+
});
|
|
1590
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1591
|
+
expect(keyObj?.get()).toBe(key);
|
|
1592
|
+
});
|
|
787
1593
|
test("Should dispatch IncrementedCacheEvent when key exists", async () => {
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
1594
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1595
|
+
await cache.addListener(CACHE_EVENTS.INCREMENTED, handlerFn);
|
|
1596
|
+
const key = "a";
|
|
1597
|
+
const value1 = 1;
|
|
1598
|
+
await cache.add(key, value1);
|
|
1599
|
+
const value2 = 2;
|
|
1600
|
+
await cache.increment(key, value2);
|
|
1601
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1602
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1603
|
+
key: expect.any(Key),
|
|
1604
|
+
value: value2,
|
|
793
1605
|
});
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
await Task.delay(DELAY_TIME);
|
|
797
|
-
expect(event_?.key).toBe("a");
|
|
798
|
-
expect(event_?.value).toBe(1);
|
|
799
|
-
await unsubscribe();
|
|
1606
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1607
|
+
expect(keyObj?.get()).toBe(key);
|
|
800
1608
|
});
|
|
1609
|
+
});
|
|
1610
|
+
describe("method: incrementOrFail", () => {
|
|
801
1611
|
test("Should dispatch NotFoundCacheEvent when key doesnt exists", async () => {
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
1612
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1613
|
+
await cache.addListener(CACHE_EVENTS.NOT_FOUND, handlerFn);
|
|
1614
|
+
const key = "a";
|
|
1615
|
+
const value = 1;
|
|
1616
|
+
try {
|
|
1617
|
+
await cache.incrementOrFail(key, value);
|
|
1618
|
+
}
|
|
1619
|
+
catch {
|
|
1620
|
+
/* EMPTY */
|
|
1621
|
+
}
|
|
1622
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1623
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1624
|
+
key: expect.any(Key),
|
|
1625
|
+
});
|
|
1626
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1627
|
+
expect(keyObj?.get()).toBe(key);
|
|
1628
|
+
});
|
|
1629
|
+
test("Should dispatch IncrementedCacheEvent when key exists", async () => {
|
|
1630
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1631
|
+
await cache.addListener(CACHE_EVENTS.INCREMENTED, handlerFn);
|
|
1632
|
+
const key = "a";
|
|
1633
|
+
const value1 = 1;
|
|
1634
|
+
await cache.add(key, value1);
|
|
1635
|
+
const value2 = 2;
|
|
1636
|
+
await cache.incrementOrFail(key, value2);
|
|
1637
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1638
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1639
|
+
key: expect.any(Key),
|
|
1640
|
+
value: value2,
|
|
805
1641
|
});
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
expect(event_?.key).toBe("a");
|
|
809
|
-
await unsubscribe();
|
|
1642
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1643
|
+
expect(keyObj?.get()).toBe(key);
|
|
810
1644
|
});
|
|
811
1645
|
});
|
|
812
1646
|
describe("method: decrement", () => {
|
|
1647
|
+
test("Should dispatch NotFoundCacheEvent when key doesnt exists", async () => {
|
|
1648
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1649
|
+
await cache.addListener(CACHE_EVENTS.NOT_FOUND, handlerFn);
|
|
1650
|
+
const key = "a";
|
|
1651
|
+
const value = 1;
|
|
1652
|
+
await cache.decrement(key, value);
|
|
1653
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1654
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1655
|
+
key: expect.any(Key),
|
|
1656
|
+
});
|
|
1657
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1658
|
+
expect(keyObj?.get()).toBe(key);
|
|
1659
|
+
});
|
|
813
1660
|
test("Should dispatch DecrementedCacheEvent when key exists", async () => {
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
1661
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1662
|
+
await cache.addListener(CACHE_EVENTS.DECREMENTED, handlerFn);
|
|
1663
|
+
const key = "a";
|
|
1664
|
+
const value1 = 1;
|
|
1665
|
+
await cache.add(key, value1);
|
|
1666
|
+
const value2 = 2;
|
|
1667
|
+
await cache.decrement(key, value2);
|
|
1668
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1669
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1670
|
+
key: expect.any(Key),
|
|
1671
|
+
value: value2,
|
|
819
1672
|
});
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
await Task.delay(DELAY_TIME);
|
|
823
|
-
expect(event_?.key).toBe("a");
|
|
824
|
-
expect(event_?.value).toBe(1);
|
|
825
|
-
await unsubscribe();
|
|
1673
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1674
|
+
expect(keyObj?.get()).toBe(key);
|
|
826
1675
|
});
|
|
1676
|
+
});
|
|
1677
|
+
describe("method: decrementOrFail", () => {
|
|
827
1678
|
test("Should dispatch NotFoundCacheEvent when key doesnt exists", async () => {
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
1679
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1680
|
+
await cache.addListener(CACHE_EVENTS.NOT_FOUND, handlerFn);
|
|
1681
|
+
const key = "a";
|
|
1682
|
+
const value = 1;
|
|
1683
|
+
try {
|
|
1684
|
+
await cache.decrementOrFail(key, value);
|
|
1685
|
+
}
|
|
1686
|
+
catch {
|
|
1687
|
+
/* EMPTY */
|
|
1688
|
+
}
|
|
1689
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1690
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1691
|
+
key: expect.any(Key),
|
|
1692
|
+
});
|
|
1693
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1694
|
+
expect(keyObj?.get()).toBe(key);
|
|
1695
|
+
});
|
|
1696
|
+
test("Should dispatch DecrementedCacheEvent when key exists", async () => {
|
|
1697
|
+
const handlerFn = vi.fn((_event) => { });
|
|
1698
|
+
await cache.addListener(CACHE_EVENTS.DECREMENTED, handlerFn);
|
|
1699
|
+
const key = "a";
|
|
1700
|
+
const value1 = 1;
|
|
1701
|
+
await cache.add(key, value1);
|
|
1702
|
+
const value2 = 2;
|
|
1703
|
+
await cache.decrementOrFail(key, value2);
|
|
1704
|
+
expect(handlerFn).toHaveBeenCalledOnce();
|
|
1705
|
+
expect(handlerFn).toHaveBeenCalledWith({
|
|
1706
|
+
key: expect.any(Key),
|
|
1707
|
+
value: value2,
|
|
831
1708
|
});
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
expect(event_?.key).toBe("a");
|
|
835
|
-
await unsubscribe();
|
|
1709
|
+
const keyObj = handlerFn.mock.calls[0]?.[0].key;
|
|
1710
|
+
expect(keyObj?.get()).toBe(key);
|
|
836
1711
|
});
|
|
837
1712
|
});
|
|
838
1713
|
describe("method: clear", () => {
|
|
839
1714
|
test("Should dispatch ClearedCacheEvent when key doesnt exists", async () => {
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
event_ = event;
|
|
843
|
-
});
|
|
1715
|
+
const handler = vi.fn((_event) => { });
|
|
1716
|
+
await cache.addListener(CACHE_EVENTS.CLEARED, handler);
|
|
844
1717
|
await cache.add("a", 1);
|
|
845
1718
|
await cache.add("b", 2);
|
|
846
1719
|
await cache.add("c", 3);
|
|
847
1720
|
await cache.clear();
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
expect(event_).toStrictEqual({});
|
|
1721
|
+
expect(handler).toHaveBeenCalledOnce();
|
|
1722
|
+
expect(handler).toHaveBeenCalledWith({});
|
|
851
1723
|
});
|
|
852
1724
|
});
|
|
853
1725
|
});
|