@daiso-tech/core 0.21.0 → 0.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/_module.js +2 -0
- package/dist/cjs/_module.js.map +1 -1
- package/dist/cjs/async/utilities/lazy-promise/lazy-promise.js +16 -9
- package/dist/cjs/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
- package/dist/cjs/cache/contracts/cache.events.js +13 -139
- package/dist/cjs/cache/contracts/cache.events.js.map +1 -1
- package/dist/cjs/cache/implementations/_shared/cache-adapter.test-suite.js +5 -24
- package/dist/cjs/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -1
- package/dist/cjs/cache/implementations/_shared/cache.test-suite.js +729 -21
- package/dist/cjs/cache/implementations/_shared/cache.test-suite.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +1 -21
- package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/_module.js +0 -1
- package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/_module.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +0 -7
- package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/_module.js +0 -1
- package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/_module.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +3 -11
- package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/_module.js +0 -1
- package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/_module.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +6 -28
- package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js +0 -3
- package/dist/cjs/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/_module.js +0 -1
- package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/_module.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +5 -13
- package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/_module.js +0 -1
- package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/_module.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +0 -7
- package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
- package/dist/cjs/cache/implementations/derivables/cache/_module.js +0 -1
- package/dist/cjs/cache/implementations/derivables/cache/_module.js.map +1 -1
- package/dist/cjs/cache/implementations/derivables/cache/cache.js +215 -103
- package/dist/cjs/cache/implementations/derivables/cache/cache.js.map +1 -1
- package/dist/cjs/cache/implementations/derivables/cache-factory/_module.js +0 -1
- package/dist/cjs/cache/implementations/derivables/cache-factory/_module.js.map +1 -1
- package/dist/cjs/cache/implementations/derivables/cache-factory/cache-factory.js +0 -4
- package/dist/cjs/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
- package/dist/cjs/event-bus/contracts/_shared.js +3 -2
- package/dist/cjs/event-bus/contracts/_shared.js.map +1 -1
- package/dist/cjs/event-bus/implementations/_shared/event-bus-adapter.test-suite.js +4 -15
- package/dist/cjs/event-bus/implementations/_shared/event-bus-adapter.test-suite.js.map +1 -1
- package/dist/cjs/event-bus/implementations/_shared/event-bus.test-suite.js +6 -27
- package/dist/cjs/event-bus/implementations/_shared/event-bus.test-suite.js.map +1 -1
- package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js +0 -1
- package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js.map +1 -1
- package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +0 -4
- package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
- package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js +0 -1
- package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js.map +1 -1
- package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +0 -4
- package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
- package/dist/cjs/event-bus/implementations/derivables/event-bus/_module.js +0 -1
- package/dist/cjs/event-bus/implementations/derivables/event-bus/_module.js.map +1 -1
- package/dist/cjs/event-bus/implementations/derivables/event-bus/event-bus.js +0 -4
- package/dist/cjs/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
- package/dist/cjs/event-bus/implementations/derivables/event-bus-factory/_module.js +0 -1
- package/dist/cjs/event-bus/implementations/derivables/event-bus-factory/_module.js.map +1 -1
- package/dist/cjs/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +0 -4
- package/dist/cjs/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
- package/dist/cjs/lock/contracts/_module.js +24 -0
- package/dist/cjs/lock/contracts/_module.js.map +1 -0
- package/dist/cjs/lock/contracts/database-lock-adapter.contract.js +3 -0
- package/dist/cjs/lock/contracts/database-lock-adapter.contract.js.map +1 -0
- package/dist/cjs/lock/contracts/lock-adapter.contract.js +3 -0
- package/dist/cjs/lock/contracts/lock-adapter.contract.js.map +1 -0
- package/dist/cjs/lock/contracts/lock-provider-factory.contract.js +3 -0
- package/dist/cjs/lock/contracts/lock-provider-factory.contract.js.map +1 -0
- package/dist/cjs/lock/contracts/lock-provider.contract.js +3 -0
- package/dist/cjs/lock/contracts/lock-provider.contract.js.map +1 -0
- package/dist/cjs/lock/contracts/lock.contract.js +3 -0
- package/dist/cjs/lock/contracts/lock.contract.js.map +1 -0
- package/dist/cjs/lock/contracts/lock.errors.js +131 -0
- package/dist/cjs/lock/contracts/lock.errors.js.map +1 -0
- package/dist/cjs/lock/contracts/lock.events.js +44 -0
- package/dist/cjs/lock/contracts/lock.events.js.map +1 -0
- package/dist/cjs/lock/implementations/_module.js +20 -0
- package/dist/cjs/lock/implementations/_module.js.map +1 -0
- package/dist/cjs/lock/implementations/_shared/_module.js +20 -0
- package/dist/cjs/lock/implementations/_shared/_module.js.map +1 -0
- package/dist/cjs/lock/implementations/_shared/database-lock-adapter.test-suite.js +285 -0
- package/dist/cjs/lock/implementations/_shared/database-lock-adapter.test-suite.js.map +1 -0
- package/dist/cjs/lock/implementations/_shared/lock-adapter.test-suite.js +238 -0
- package/dist/cjs/lock/implementations/_shared/lock-adapter.test-suite.js.map +1 -0
- package/dist/cjs/lock/implementations/_shared/lock-provider.test-suite.js +1841 -0
- package/dist/cjs/lock/implementations/_shared/lock-provider.test-suite.js.map +1 -0
- package/dist/cjs/lock/implementations/adapters/_module.js +22 -0
- package/dist/cjs/lock/implementations/adapters/_module.js.map +1 -0
- package/dist/cjs/lock/implementations/adapters/kysely-lock-adapter/_module.js +18 -0
- package/dist/cjs/lock/implementations/adapters/kysely-lock-adapter/_module.js.map +1 -0
- package/dist/cjs/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +126 -0
- package/dist/cjs/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -0
- package/dist/cjs/lock/implementations/adapters/libsql-lock-adapter/_module.js +18 -0
- package/dist/cjs/lock/implementations/adapters/libsql-lock-adapter/_module.js.map +1 -0
- package/dist/cjs/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js +61 -0
- package/dist/cjs/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js.map +1 -0
- package/dist/cjs/lock/implementations/adapters/memory-lock-adapter/_module.js +18 -0
- package/dist/cjs/lock/implementations/adapters/memory-lock-adapter/_module.js.map +1 -0
- package/dist/cjs/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js +107 -0
- package/dist/cjs/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js.map +1 -0
- package/dist/cjs/lock/implementations/adapters/mongodb-lock-adapter/_module.js +18 -0
- package/dist/cjs/lock/implementations/adapters/mongodb-lock-adapter/_module.js.map +1 -0
- package/dist/cjs/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +148 -0
- package/dist/cjs/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -0
- package/dist/cjs/lock/implementations/adapters/redis-lock-adapter/_module.js +18 -0
- package/dist/cjs/lock/implementations/adapters/redis-lock-adapter/_module.js.map +1 -0
- package/dist/cjs/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js +131 -0
- package/dist/cjs/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js.map +1 -0
- package/dist/cjs/lock/implementations/adapters/sqlite-lock-adapter/_module.js +18 -0
- package/dist/cjs/lock/implementations/adapters/sqlite-lock-adapter/_module.js.map +1 -0
- package/dist/cjs/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js +60 -0
- package/dist/cjs/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js.map +1 -0
- package/dist/cjs/lock/implementations/derivables/_module.js +19 -0
- package/dist/cjs/lock/implementations/derivables/_module.js.map +1 -0
- package/dist/cjs/lock/implementations/derivables/lock-provider/_module.js +18 -0
- package/dist/cjs/lock/implementations/derivables/lock-provider/_module.js.map +1 -0
- package/dist/cjs/lock/implementations/derivables/lock-provider/database-lock-adapter.js +80 -0
- package/dist/cjs/lock/implementations/derivables/lock-provider/database-lock-adapter.js.map +1 -0
- package/dist/cjs/lock/implementations/derivables/lock-provider/lock-provider.js +162 -0
- package/dist/cjs/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -0
- package/dist/cjs/lock/implementations/derivables/lock-provider/lock.js +306 -0
- package/dist/cjs/lock/implementations/derivables/lock-provider/lock.js.map +1 -0
- package/dist/cjs/lock/implementations/derivables/lock-provider-factory/_module.js +18 -0
- package/dist/cjs/lock/implementations/derivables/lock-provider-factory/_module.js.map +1 -0
- package/dist/cjs/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +78 -0
- package/dist/cjs/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -0
- package/dist/cjs/serde/implementations/no-op-serde/no-op-serde.js +3 -0
- package/dist/cjs/serde/implementations/no-op-serde/no-op-serde.js.map +1 -1
- package/dist/cjs/serde/implementations/super-json-serde/super-json-serde.js +15 -0
- package/dist/cjs/serde/implementations/super-json-serde/super-json-serde.js.map +1 -1
- package/dist/cjs/utilities/contracts/_module.js +1 -0
- package/dist/cjs/utilities/contracts/_module.js.map +1 -1
- package/dist/cjs/utilities/contracts/serde-registrable.contract.js +3 -0
- package/dist/cjs/utilities/contracts/serde-registrable.contract.js.map +1 -0
- package/dist/cjs/utilities/functions.js +4 -0
- package/dist/cjs/utilities/functions.js.map +1 -1
- package/dist/esm/_module.js +2 -0
- package/dist/esm/_module.js.map +1 -1
- package/dist/esm/async/utilities/lazy-promise/lazy-promise.js +16 -9
- package/dist/esm/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
- package/dist/esm/cache/contracts/cache.events.js +11 -138
- package/dist/esm/cache/contracts/cache.events.js.map +1 -1
- package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js +5 -24
- package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -1
- package/dist/esm/cache/implementations/_shared/cache.test-suite.js +731 -23
- package/dist/esm/cache/implementations/_shared/cache.test-suite.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +1 -21
- package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/_module.js +0 -1
- package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/_module.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +0 -7
- package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/memory-cache-adapter/_module.js +0 -1
- package/dist/esm/cache/implementations/adapters/memory-cache-adapter/_module.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +3 -11
- package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/_module.js +0 -1
- package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/_module.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +6 -28
- package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js +0 -3
- package/dist/esm/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/redis-cache-adapter/_module.js +0 -1
- package/dist/esm/cache/implementations/adapters/redis-cache-adapter/_module.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +5 -13
- package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/_module.js +0 -1
- package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/_module.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +0 -7
- package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
- package/dist/esm/cache/implementations/derivables/cache/_module.js +0 -1
- package/dist/esm/cache/implementations/derivables/cache/_module.js.map +1 -1
- package/dist/esm/cache/implementations/derivables/cache/cache.js +216 -104
- package/dist/esm/cache/implementations/derivables/cache/cache.js.map +1 -1
- package/dist/esm/cache/implementations/derivables/cache-factory/_module.js +0 -1
- package/dist/esm/cache/implementations/derivables/cache-factory/_module.js.map +1 -1
- package/dist/esm/cache/implementations/derivables/cache-factory/cache-factory.js +0 -4
- package/dist/esm/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
- package/dist/esm/event-bus/contracts/_shared.js +3 -2
- package/dist/esm/event-bus/contracts/_shared.js.map +1 -1
- package/dist/esm/event-bus/implementations/_shared/event-bus-adapter.test-suite.js +4 -15
- package/dist/esm/event-bus/implementations/_shared/event-bus-adapter.test-suite.js.map +1 -1
- package/dist/esm/event-bus/implementations/_shared/event-bus.test-suite.js +7 -28
- package/dist/esm/event-bus/implementations/_shared/event-bus.test-suite.js.map +1 -1
- package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js +0 -1
- package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js.map +1 -1
- package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +0 -4
- package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
- package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js +0 -1
- package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.js.map +1 -1
- package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +0 -4
- package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
- package/dist/esm/event-bus/implementations/derivables/event-bus/_module.js +0 -1
- package/dist/esm/event-bus/implementations/derivables/event-bus/_module.js.map +1 -1
- package/dist/esm/event-bus/implementations/derivables/event-bus/event-bus.js +0 -4
- package/dist/esm/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
- package/dist/esm/event-bus/implementations/derivables/event-bus-factory/_module.js +0 -1
- package/dist/esm/event-bus/implementations/derivables/event-bus-factory/_module.js.map +1 -1
- package/dist/esm/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +0 -4
- package/dist/esm/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
- package/dist/esm/lock/contracts/_module.js +8 -0
- package/dist/esm/lock/contracts/_module.js.map +1 -0
- package/dist/esm/lock/contracts/database-lock-adapter.contract.js +1 -0
- package/dist/esm/lock/contracts/database-lock-adapter.contract.js.map +1 -0
- package/dist/esm/lock/contracts/lock-adapter.contract.js +1 -0
- package/dist/esm/lock/contracts/lock-adapter.contract.js.map +1 -0
- package/dist/esm/lock/contracts/lock-provider-factory.contract.js +1 -0
- package/dist/esm/lock/contracts/lock-provider-factory.contract.js.map +1 -0
- package/dist/esm/lock/contracts/lock-provider.contract.js +1 -0
- package/dist/esm/lock/contracts/lock-provider.contract.js.map +1 -0
- package/dist/esm/lock/contracts/lock.contract.js +1 -0
- package/dist/esm/lock/contracts/lock.contract.js.map +1 -0
- package/dist/esm/lock/contracts/lock.errors.js +120 -0
- package/dist/esm/lock/contracts/lock.errors.js.map +1 -0
- package/dist/esm/lock/contracts/lock.events.js +32 -0
- package/dist/esm/lock/contracts/lock.events.js.map +1 -0
- package/dist/esm/lock/implementations/_module.js +4 -0
- package/dist/esm/lock/implementations/_module.js.map +1 -0
- package/dist/esm/lock/implementations/_shared/_module.js +4 -0
- package/dist/esm/lock/implementations/_shared/_module.js.map +1 -0
- package/dist/esm/lock/implementations/_shared/database-lock-adapter.test-suite.js +282 -0
- package/dist/esm/lock/implementations/_shared/database-lock-adapter.test-suite.js.map +1 -0
- package/dist/esm/lock/implementations/_shared/lock-adapter.test-suite.js +235 -0
- package/dist/esm/lock/implementations/_shared/lock-adapter.test-suite.js.map +1 -0
- package/dist/esm/lock/implementations/_shared/lock-provider.test-suite.js +1838 -0
- package/dist/esm/lock/implementations/_shared/lock-provider.test-suite.js.map +1 -0
- package/dist/esm/lock/implementations/adapters/_module.js +6 -0
- package/dist/esm/lock/implementations/adapters/_module.js.map +1 -0
- package/dist/esm/lock/implementations/adapters/kysely-lock-adapter/_module.js +2 -0
- package/dist/esm/lock/implementations/adapters/kysely-lock-adapter/_module.js.map +1 -0
- package/dist/esm/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +122 -0
- package/dist/esm/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -0
- package/dist/esm/lock/implementations/adapters/libsql-lock-adapter/_module.js +2 -0
- package/dist/esm/lock/implementations/adapters/libsql-lock-adapter/_module.js.map +1 -0
- package/dist/esm/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js +57 -0
- package/dist/esm/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js.map +1 -0
- package/dist/esm/lock/implementations/adapters/memory-lock-adapter/_module.js +2 -0
- package/dist/esm/lock/implementations/adapters/memory-lock-adapter/_module.js.map +1 -0
- package/dist/esm/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js +103 -0
- package/dist/esm/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js.map +1 -0
- package/dist/esm/lock/implementations/adapters/mongodb-lock-adapter/_module.js +2 -0
- package/dist/esm/lock/implementations/adapters/mongodb-lock-adapter/_module.js.map +1 -0
- package/dist/esm/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +144 -0
- package/dist/esm/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -0
- package/dist/esm/lock/implementations/adapters/redis-lock-adapter/_module.js +2 -0
- package/dist/esm/lock/implementations/adapters/redis-lock-adapter/_module.js.map +1 -0
- package/dist/esm/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js +127 -0
- package/dist/esm/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js.map +1 -0
- package/dist/esm/lock/implementations/adapters/sqlite-lock-adapter/_module.js +2 -0
- package/dist/esm/lock/implementations/adapters/sqlite-lock-adapter/_module.js.map +1 -0
- package/dist/esm/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js +56 -0
- package/dist/esm/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js.map +1 -0
- package/dist/esm/lock/implementations/derivables/_module.js +3 -0
- package/dist/esm/lock/implementations/derivables/_module.js.map +1 -0
- package/dist/esm/lock/implementations/derivables/lock-provider/_module.js +2 -0
- package/dist/esm/lock/implementations/derivables/lock-provider/_module.js.map +1 -0
- package/dist/esm/lock/implementations/derivables/lock-provider/database-lock-adapter.js +76 -0
- package/dist/esm/lock/implementations/derivables/lock-provider/database-lock-adapter.js.map +1 -0
- package/dist/esm/lock/implementations/derivables/lock-provider/lock-provider.js +158 -0
- package/dist/esm/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -0
- package/dist/esm/lock/implementations/derivables/lock-provider/lock.js +302 -0
- package/dist/esm/lock/implementations/derivables/lock-provider/lock.js.map +1 -0
- package/dist/esm/lock/implementations/derivables/lock-provider-factory/_module.js +2 -0
- package/dist/esm/lock/implementations/derivables/lock-provider-factory/_module.js.map +1 -0
- package/dist/esm/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +74 -0
- package/dist/esm/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -0
- package/dist/esm/serde/implementations/no-op-serde/no-op-serde.js +3 -0
- package/dist/esm/serde/implementations/no-op-serde/no-op-serde.js.map +1 -1
- package/dist/esm/serde/implementations/super-json-serde/super-json-serde.js +15 -0
- package/dist/esm/serde/implementations/super-json-serde/super-json-serde.js.map +1 -1
- package/dist/esm/utilities/contracts/_module.js +1 -0
- package/dist/esm/utilities/contracts/_module.js.map +1 -1
- package/dist/esm/utilities/contracts/serde-registrable.contract.js +1 -0
- package/dist/esm/utilities/contracts/serde-registrable.contract.js.map +1 -0
- package/dist/esm/utilities/functions.js +4 -0
- package/dist/esm/utilities/functions.js.map +1 -1
- package/dist/types/_module.d.ts +2 -0
- package/dist/types/async/utilities/lazy-promise/lazy-promise.d.ts +2 -2
- package/dist/types/cache/contracts/cache-adapter.contract.d.ts +2 -6
- package/dist/types/cache/contracts/cache-factory.contract.d.ts +1 -2
- package/dist/types/cache/contracts/cache.contract.d.ts +116 -8
- package/dist/types/cache/contracts/cache.events.d.ts +24 -90
- package/dist/types/cache/implementations/_shared/cache-adapter.test-suite.d.ts +2 -9
- package/dist/types/cache/implementations/_shared/cache.test-suite.d.ts +5 -15
- package/dist/types/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.d.ts +0 -1
- package/dist/types/cache/implementations/adapters/libsql-cache-adapter/_module.d.ts +0 -1
- package/dist/types/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +23 -30
- package/dist/types/cache/implementations/adapters/memory-cache-adapter/_module.d.ts +0 -1
- package/dist/types/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +8 -19
- package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/_module.d.ts +0 -1
- package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +16 -27
- package/dist/types/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +0 -1
- package/dist/types/cache/implementations/adapters/redis-cache-adapter/_module.d.ts +0 -1
- package/dist/types/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +12 -23
- package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/_module.d.ts +0 -1
- package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +23 -30
- package/dist/types/cache/implementations/derivables/cache/_module.d.ts +0 -1
- package/dist/types/cache/implementations/derivables/cache/cache.d.ts +38 -27
- package/dist/types/cache/implementations/derivables/cache-factory/_module.d.ts +0 -1
- package/dist/types/cache/implementations/derivables/cache-factory/cache-factory.d.ts +60 -26
- package/dist/types/collection/contracts/async-collection.contract.d.ts +68 -8
- package/dist/types/event-bus/contracts/_shared.d.ts +3 -4
- package/dist/types/event-bus/contracts/event-bus-adapter.contract.d.ts +1 -1
- package/dist/types/event-bus/contracts/event-bus-factory.contract.d.ts +5 -24
- package/dist/types/event-bus/implementations/_shared/event-bus-adapter.test-suite.d.ts +2 -10
- package/dist/types/event-bus/implementations/_shared/event-bus.test-suite.d.ts +3 -13
- package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/_module.d.ts +0 -1
- package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +8 -18
- package/dist/types/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/_module.d.ts +0 -1
- package/dist/types/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +11 -20
- package/dist/types/event-bus/implementations/derivables/event-bus/_module.d.ts +0 -1
- package/dist/types/event-bus/implementations/derivables/event-bus/event-bus.d.ts +29 -20
- package/dist/types/event-bus/implementations/derivables/event-bus-factory/_module.d.ts +0 -1
- package/dist/types/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +49 -46
- package/dist/types/lock/contracts/_module.d.ts +7 -0
- package/dist/types/lock/contracts/database-lock-adapter.contract.d.ts +49 -0
- package/dist/types/lock/contracts/lock-adapter.contract.d.ts +48 -0
- package/dist/types/lock/contracts/lock-provider-factory.contract.d.ts +36 -0
- package/dist/types/lock/contracts/lock-provider.contract.d.ts +92 -0
- package/dist/types/lock/contracts/lock.contract.d.ts +219 -0
- package/dist/types/lock/contracts/lock.errors.d.ts +66 -0
- package/dist/types/lock/contracts/lock.events.d.ts +83 -0
- package/dist/types/lock/implementations/_module.d.ts +3 -0
- package/dist/types/lock/implementations/_shared/_module.d.ts +3 -0
- package/dist/types/lock/implementations/_shared/database-lock-adapter.test-suite.d.ts +21 -0
- package/dist/types/lock/implementations/_shared/lock-adapter.test-suite.d.ts +21 -0
- package/dist/types/lock/implementations/_shared/lock-provider.test-suite.d.ts +23 -0
- package/dist/types/lock/implementations/adapters/_module.d.ts +5 -0
- package/dist/types/lock/implementations/adapters/kysely-lock-adapter/_module.d.ts +1 -0
- package/dist/types/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts +52 -0
- package/dist/types/lock/implementations/adapters/libsql-lock-adapter/_module.d.ts +1 -0
- package/dist/types/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.d.ts +58 -0
- package/dist/types/lock/implementations/adapters/memory-lock-adapter/_module.d.ts +1 -0
- package/dist/types/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.d.ts +52 -0
- package/dist/types/lock/implementations/adapters/mongodb-lock-adapter/_module.d.ts +1 -0
- package/dist/types/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +60 -0
- package/dist/types/lock/implementations/adapters/redis-lock-adapter/_module.d.ts +1 -0
- package/dist/types/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.d.ts +57 -0
- package/dist/types/lock/implementations/adapters/sqlite-lock-adapter/_module.d.ts +1 -0
- package/dist/types/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.d.ts +57 -0
- package/dist/types/lock/implementations/derivables/_module.d.ts +2 -0
- package/dist/types/lock/implementations/derivables/lock-provider/_module.d.ts +1 -0
- package/dist/types/lock/implementations/derivables/lock-provider/database-lock-adapter.d.ts +23 -0
- package/dist/types/lock/implementations/derivables/lock-provider/lock-provider.d.ts +89 -0
- package/dist/types/lock/implementations/derivables/lock-provider/lock.d.ts +73 -0
- package/dist/types/lock/implementations/derivables/lock-provider-factory/_module.d.ts +1 -0
- package/dist/types/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +98 -0
- package/dist/types/serde/contracts/flexible-serde.contract.d.ts +3 -2
- package/dist/types/serde/implementations/no-op-serde/no-op-serde.d.ts +2 -1
- package/dist/types/serde/implementations/super-json-serde/super-json-serde.d.ts +2 -1
- package/dist/types/utilities/contracts/_module.d.ts +1 -0
- package/dist/types/utilities/contracts/serde-registrable.contract.d.ts +11 -0
- package/dist/types/utilities/types.d.ts +3 -1
- package/package.json +5 -3
- package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js +0 -56
- package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js.map +0 -1
- package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js +0 -26
- package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js.map +0 -1
- package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js +0 -44
- package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js.map +0 -1
- package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js +0 -32
- package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js.map +0 -1
- package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js +0 -56
- package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js.map +0 -1
- package/dist/cjs/cache/implementations/derivables/cache/cache-settings.js +0 -56
- package/dist/cjs/cache/implementations/derivables/cache/cache-settings.js.map +0 -1
- package/dist/cjs/cache/implementations/derivables/cache-factory/cache-factory-settings.js +0 -83
- package/dist/cjs/cache/implementations/derivables/cache-factory/cache-factory-settings.js.map +0 -1
- package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js +0 -26
- package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js.map +0 -1
- package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js +0 -38
- package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js.map +0 -1
- package/dist/cjs/event-bus/implementations/derivables/event-bus/event-bus-settings.js +0 -56
- package/dist/cjs/event-bus/implementations/derivables/event-bus/event-bus-settings.js.map +0 -1
- package/dist/cjs/event-bus/implementations/derivables/event-bus-factory/event-bus-factory-settings.js +0 -71
- package/dist/cjs/event-bus/implementations/derivables/event-bus-factory/event-bus-factory-settings.js.map +0 -1
- package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js +0 -52
- package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js.map +0 -1
- package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js +0 -22
- package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js.map +0 -1
- package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js +0 -40
- package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js.map +0 -1
- package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js +0 -28
- package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js.map +0 -1
- package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js +0 -52
- package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js.map +0 -1
- package/dist/esm/cache/implementations/derivables/cache/cache-settings.js +0 -52
- package/dist/esm/cache/implementations/derivables/cache/cache-settings.js.map +0 -1
- package/dist/esm/cache/implementations/derivables/cache-factory/cache-factory-settings.js +0 -79
- package/dist/esm/cache/implementations/derivables/cache-factory/cache-factory-settings.js.map +0 -1
- package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js +0 -22
- package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js.map +0 -1
- package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js +0 -34
- package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js.map +0 -1
- package/dist/esm/event-bus/implementations/derivables/event-bus/event-bus-settings.js +0 -52
- package/dist/esm/event-bus/implementations/derivables/event-bus/event-bus-settings.js.map +0 -1
- package/dist/esm/event-bus/implementations/derivables/event-bus-factory/event-bus-factory-settings.js +0 -67
- package/dist/esm/event-bus/implementations/derivables/event-bus-factory/event-bus-factory-settings.js.map +0 -1
- package/dist/types/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.d.ts +0 -48
- package/dist/types/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.d.ts +0 -26
- package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.d.ts +0 -50
- package/dist/types/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.d.ts +0 -32
- package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.d.ts +0 -48
- package/dist/types/cache/implementations/derivables/cache/cache-settings.d.ts +0 -73
- package/dist/types/cache/implementations/derivables/cache-factory/cache-factory-settings.d.ts +0 -108
- package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.d.ts +0 -27
- package/dist/types/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.d.ts +0 -36
- package/dist/types/event-bus/implementations/derivables/event-bus/event-bus-settings.d.ts +0 -62
- package/dist/types/event-bus/implementations/derivables/event-bus-factory/event-bus-factory-settings.d.ts +0 -92
|
@@ -5,12 +5,13 @@ const _module_1 = require("../../../cache/contracts/_module");
|
|
|
5
5
|
const _module_2 = require("../../../utilities/_module");
|
|
6
6
|
const _module_3 = require("../../../async/_module");
|
|
7
7
|
function cacheTestSuite(settings) {
|
|
8
|
-
const { expect, test,
|
|
8
|
+
const { expect, test, createCache, describe, beforeEach } = settings;
|
|
9
9
|
let cacheA;
|
|
10
10
|
let cacheB;
|
|
11
11
|
beforeEach(async () => {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
const cache = await createCache();
|
|
13
|
+
cacheA = cache;
|
|
14
|
+
cacheB = cache.withGroup("b");
|
|
14
15
|
});
|
|
15
16
|
describe("Api tests:", () => {
|
|
16
17
|
const TTL = _module_2.TimeSpan.fromMilliseconds(50);
|
|
@@ -156,32 +157,40 @@ function cacheTestSuite(settings) {
|
|
|
156
157
|
expect(await cacheA.getOr("a", -1)).toBe(1);
|
|
157
158
|
});
|
|
158
159
|
describe("Should return default value when key doesnt exists", () => {
|
|
159
|
-
test("
|
|
160
|
+
test("Value", async () => {
|
|
160
161
|
expect(await cacheA.getOr("a", -1)).toBe(-1);
|
|
161
162
|
});
|
|
162
|
-
test("
|
|
163
|
+
test("Function", async () => {
|
|
163
164
|
expect(await cacheA.getOr("a", () => -1)).toBe(-1);
|
|
164
165
|
});
|
|
165
|
-
test("Async
|
|
166
|
+
test("Async function", async () => {
|
|
166
167
|
expect(await cacheA.getOr("a", () => Promise.resolve(-1))).toBe(-1);
|
|
167
168
|
});
|
|
169
|
+
test("LazyPromise", async () => {
|
|
170
|
+
expect(await cacheA.getOr("a", new _module_3.LazyPromise(() => Promise.resolve(-1)))).toBe(-1);
|
|
171
|
+
});
|
|
168
172
|
});
|
|
169
173
|
describe("Should return default value when key is expired", () => {
|
|
170
|
-
test("
|
|
174
|
+
test("Value", async () => {
|
|
171
175
|
await cacheA.add("a", 1, TTL);
|
|
172
176
|
await (0, _module_3.delay)(TTL);
|
|
173
177
|
expect(await cacheA.getOr("a", -1)).toBe(-1);
|
|
174
178
|
});
|
|
175
|
-
test("
|
|
179
|
+
test("Function", async () => {
|
|
176
180
|
await cacheA.add("a", 1, TTL);
|
|
177
181
|
await (0, _module_3.delay)(TTL);
|
|
178
182
|
expect(await cacheA.getOr("a", () => -1)).toBe(-1);
|
|
179
183
|
});
|
|
180
|
-
test("Async
|
|
184
|
+
test("Async function", async () => {
|
|
181
185
|
await cacheA.add("a", 1, TTL);
|
|
182
186
|
await (0, _module_3.delay)(TTL);
|
|
183
187
|
expect(await cacheA.getOr("a", () => Promise.resolve(-1))).toBe(-1);
|
|
184
188
|
});
|
|
189
|
+
test("LazyPromise", async () => {
|
|
190
|
+
await cacheA.add("a", 1, TTL);
|
|
191
|
+
await (0, _module_3.delay)(TTL);
|
|
192
|
+
expect(await cacheA.getOr("a", new _module_3.LazyPromise(() => Promise.resolve(-1)))).toBe(-1);
|
|
193
|
+
});
|
|
185
194
|
});
|
|
186
195
|
});
|
|
187
196
|
describe("method: getOrFail", () => {
|
|
@@ -210,19 +219,19 @@ function cacheTestSuite(settings) {
|
|
|
210
219
|
});
|
|
211
220
|
});
|
|
212
221
|
describe("Should return only default values when all keys doesnt exists", () => {
|
|
213
|
-
test("
|
|
222
|
+
test("Value", async () => {
|
|
214
223
|
expect(await cacheA.getOrMany({ a: -1, b: -1 })).toEqual({
|
|
215
224
|
a: -1,
|
|
216
225
|
b: -1,
|
|
217
226
|
});
|
|
218
227
|
});
|
|
219
|
-
test("
|
|
228
|
+
test("Function", async () => {
|
|
220
229
|
expect(await cacheA.getOrMany({ a: () => -1, b: () => -1 })).toEqual({
|
|
221
230
|
a: -1,
|
|
222
231
|
b: -1,
|
|
223
232
|
});
|
|
224
233
|
});
|
|
225
|
-
test("Async
|
|
234
|
+
test("Async function", async () => {
|
|
226
235
|
expect(await cacheA.getOrMany({
|
|
227
236
|
a: () => Promise.resolve(-1),
|
|
228
237
|
b: () => Promise.resolve(-1),
|
|
@@ -231,9 +240,18 @@ function cacheTestSuite(settings) {
|
|
|
231
240
|
b: -1,
|
|
232
241
|
});
|
|
233
242
|
});
|
|
243
|
+
test("LazyPromise", async () => {
|
|
244
|
+
expect(await cacheA.getOrMany({
|
|
245
|
+
a: new _module_3.LazyPromise(() => Promise.resolve(-1)),
|
|
246
|
+
b: new _module_3.LazyPromise(() => Promise.resolve(-1)),
|
|
247
|
+
})).toEqual({
|
|
248
|
+
a: -1,
|
|
249
|
+
b: -1,
|
|
250
|
+
});
|
|
251
|
+
});
|
|
234
252
|
});
|
|
235
253
|
describe("Should return default value when key is expired", () => {
|
|
236
|
-
test("
|
|
254
|
+
test("Value", async () => {
|
|
237
255
|
await cacheA.add("a", 1, TTL);
|
|
238
256
|
await (0, _module_3.delay)(TTL);
|
|
239
257
|
expect(await cacheA.getOrMany({
|
|
@@ -242,7 +260,7 @@ function cacheTestSuite(settings) {
|
|
|
242
260
|
a: -1,
|
|
243
261
|
});
|
|
244
262
|
});
|
|
245
|
-
test("
|
|
263
|
+
test("Function", async () => {
|
|
246
264
|
await cacheA.add("a", 1, TTL);
|
|
247
265
|
await (0, _module_3.delay)(TTL);
|
|
248
266
|
expect(await cacheA.getOrMany({
|
|
@@ -251,7 +269,7 @@ function cacheTestSuite(settings) {
|
|
|
251
269
|
a: -1,
|
|
252
270
|
});
|
|
253
271
|
});
|
|
254
|
-
test("Async
|
|
272
|
+
test("Async function", async () => {
|
|
255
273
|
await cacheA.add("a", 1, TTL);
|
|
256
274
|
await (0, _module_3.delay)(TTL);
|
|
257
275
|
expect(await cacheA.getOrMany({
|
|
@@ -260,6 +278,15 @@ function cacheTestSuite(settings) {
|
|
|
260
278
|
a: -1,
|
|
261
279
|
});
|
|
262
280
|
});
|
|
281
|
+
test("LazyPromise", async () => {
|
|
282
|
+
await cacheA.add("a", 1, TTL);
|
|
283
|
+
await (0, _module_3.delay)(TTL);
|
|
284
|
+
expect(await cacheA.getOrMany({
|
|
285
|
+
a: new _module_3.LazyPromise(() => Promise.resolve(-1)),
|
|
286
|
+
})).toEqual({
|
|
287
|
+
a: -1,
|
|
288
|
+
});
|
|
289
|
+
});
|
|
263
290
|
});
|
|
264
291
|
test("Should return values and default values when some keys exists", async () => {
|
|
265
292
|
await cacheA.add("a", 1);
|
|
@@ -683,38 +710,48 @@ function cacheTestSuite(settings) {
|
|
|
683
710
|
expect(await cacheA.getOrAdd("a", -1)).toBe(1);
|
|
684
711
|
});
|
|
685
712
|
describe("Should persist insertion when key doesnt exists", () => {
|
|
686
|
-
test("
|
|
713
|
+
test("Value", async () => {
|
|
687
714
|
await cacheA.getOrAdd("a", -1);
|
|
688
715
|
expect(await cacheA.get("a")).toBe(-1);
|
|
689
716
|
});
|
|
690
|
-
test("
|
|
717
|
+
test("Function", async () => {
|
|
691
718
|
await cacheA.getOrAdd("a", () => -1);
|
|
692
719
|
expect(await cacheA.get("a")).toBe(-1);
|
|
693
720
|
});
|
|
694
|
-
test("Async
|
|
721
|
+
test("Async function", async () => {
|
|
695
722
|
await cacheA.getOrAdd("a", () => Promise.resolve(-1));
|
|
696
723
|
expect(await cacheA.get("a")).toBe(-1);
|
|
697
724
|
});
|
|
725
|
+
test("LazyPromise", async () => {
|
|
726
|
+
await cacheA.getOrAdd("a", new _module_3.LazyPromise(() => Promise.resolve(-1)));
|
|
727
|
+
expect(await cacheA.get("a")).toBe(-1);
|
|
728
|
+
});
|
|
698
729
|
});
|
|
699
730
|
describe("Should persist insertion when key is expired", () => {
|
|
700
|
-
test("
|
|
731
|
+
test("Value", async () => {
|
|
701
732
|
await cacheA.add("a", 1, TTL);
|
|
702
733
|
await (0, _module_3.delay)(TTL);
|
|
703
734
|
await cacheA.getOrAdd("a", -1);
|
|
704
735
|
expect(await cacheA.get("a")).toBe(-1);
|
|
705
736
|
});
|
|
706
|
-
test("
|
|
737
|
+
test("Function", async () => {
|
|
707
738
|
await cacheA.add("a", 1, TTL);
|
|
708
739
|
await (0, _module_3.delay)(TTL);
|
|
709
740
|
await cacheA.getOrAdd("a", () => -1);
|
|
710
741
|
expect(await cacheA.get("a")).toBe(-1);
|
|
711
742
|
});
|
|
712
|
-
test("Async
|
|
743
|
+
test("Async function", async () => {
|
|
713
744
|
await cacheA.add("a", 1, TTL);
|
|
714
745
|
await (0, _module_3.delay)(TTL);
|
|
715
746
|
await cacheA.getOrAdd("a", () => Promise.resolve(-1));
|
|
716
747
|
expect(await cacheA.get("a")).toBe(-1);
|
|
717
748
|
});
|
|
749
|
+
test("LazyPromise", async () => {
|
|
750
|
+
await cacheA.add("a", 1, TTL);
|
|
751
|
+
await (0, _module_3.delay)(TTL);
|
|
752
|
+
await cacheA.getOrAdd("a", new _module_3.LazyPromise(() => Promise.resolve(-1)));
|
|
753
|
+
expect(await cacheA.get("a")).toBe(-1);
|
|
754
|
+
});
|
|
718
755
|
});
|
|
719
756
|
});
|
|
720
757
|
describe("method: increment", () => {
|
|
@@ -805,6 +842,587 @@ function cacheTestSuite(settings) {
|
|
|
805
842
|
});
|
|
806
843
|
});
|
|
807
844
|
});
|
|
845
|
+
describe("Event tests:", () => {
|
|
846
|
+
const delayTime = _module_2.TimeSpan.fromMilliseconds(50);
|
|
847
|
+
describe("method: exists", () => {
|
|
848
|
+
test("Should dispatch KeyNotFoundCacheEvent when key doesnt exists", async () => {
|
|
849
|
+
let event_ = null;
|
|
850
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyNotFoundCacheEvent, (event) => {
|
|
851
|
+
event_ = event;
|
|
852
|
+
});
|
|
853
|
+
await cacheA.exists("a");
|
|
854
|
+
await (0, _module_3.delay)(delayTime);
|
|
855
|
+
expect(event_).toBeInstanceOf(_module_1.KeyNotFoundCacheEvent);
|
|
856
|
+
expect(event_?.fields.key).toBe("a");
|
|
857
|
+
await unsubscribe();
|
|
858
|
+
});
|
|
859
|
+
test("Should dispatch KeyFoundCacheEvent when key exists", async () => {
|
|
860
|
+
let event_ = null;
|
|
861
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyFoundCacheEvent, (event) => {
|
|
862
|
+
event_ = event;
|
|
863
|
+
});
|
|
864
|
+
await cacheA.add("a", 1);
|
|
865
|
+
await cacheA.exists("a");
|
|
866
|
+
await (0, _module_3.delay)(delayTime);
|
|
867
|
+
expect(event_).toBeInstanceOf(_module_1.KeyFoundCacheEvent);
|
|
868
|
+
expect(event_?.fields.key).toBe("a");
|
|
869
|
+
expect(event_?.fields.value).toBe(1);
|
|
870
|
+
await unsubscribe();
|
|
871
|
+
});
|
|
872
|
+
});
|
|
873
|
+
describe("method: existsMany", () => {
|
|
874
|
+
test("Should dispatch KeyNotFoundCacheEvent when key doesnt exists", async () => {
|
|
875
|
+
let event_ = null;
|
|
876
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyNotFoundCacheEvent, (event) => {
|
|
877
|
+
event_ = event;
|
|
878
|
+
});
|
|
879
|
+
await cacheA.existsMany(["a"]);
|
|
880
|
+
await (0, _module_3.delay)(delayTime);
|
|
881
|
+
expect(event_).toBeInstanceOf(_module_1.KeyNotFoundCacheEvent);
|
|
882
|
+
expect(event_?.fields.key).toBe("a");
|
|
883
|
+
await unsubscribe();
|
|
884
|
+
});
|
|
885
|
+
test("Should dispatch KeyFoundCacheEvent when key exists", async () => {
|
|
886
|
+
let event_ = null;
|
|
887
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyFoundCacheEvent, (event) => {
|
|
888
|
+
event_ = event;
|
|
889
|
+
});
|
|
890
|
+
await cacheA.add("a", 1);
|
|
891
|
+
await cacheA.existsMany(["a"]);
|
|
892
|
+
await (0, _module_3.delay)(delayTime);
|
|
893
|
+
expect(event_).toBeInstanceOf(_module_1.KeyFoundCacheEvent);
|
|
894
|
+
expect(event_?.fields.key).toBe("a");
|
|
895
|
+
expect(event_?.fields.value).toBe(1);
|
|
896
|
+
await unsubscribe();
|
|
897
|
+
});
|
|
898
|
+
});
|
|
899
|
+
describe("method: missing", () => {
|
|
900
|
+
test("Should dispatch KeyNotFoundCacheEvent when key doesnt exists", async () => {
|
|
901
|
+
let event_ = null;
|
|
902
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyNotFoundCacheEvent, (event) => {
|
|
903
|
+
event_ = event;
|
|
904
|
+
});
|
|
905
|
+
await cacheA.missing("a");
|
|
906
|
+
await (0, _module_3.delay)(delayTime);
|
|
907
|
+
expect(event_).toBeInstanceOf(_module_1.KeyNotFoundCacheEvent);
|
|
908
|
+
expect(event_?.fields.key).toBe("a");
|
|
909
|
+
await unsubscribe();
|
|
910
|
+
});
|
|
911
|
+
test("Should dispatch KeyFoundCacheEvent when key exists", async () => {
|
|
912
|
+
let event_ = null;
|
|
913
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyFoundCacheEvent, (event) => {
|
|
914
|
+
event_ = event;
|
|
915
|
+
});
|
|
916
|
+
await cacheA.add("a", 1);
|
|
917
|
+
await cacheA.missing("a");
|
|
918
|
+
await (0, _module_3.delay)(delayTime);
|
|
919
|
+
expect(event_).toBeInstanceOf(_module_1.KeyFoundCacheEvent);
|
|
920
|
+
expect(event_?.fields.key).toBe("a");
|
|
921
|
+
expect(event_?.fields.value).toBe(1);
|
|
922
|
+
await unsubscribe();
|
|
923
|
+
});
|
|
924
|
+
});
|
|
925
|
+
describe("method: missingMany", () => {
|
|
926
|
+
test("Should dispatch KeyNotFoundCacheEvent when key doesnt exists", async () => {
|
|
927
|
+
let event_ = null;
|
|
928
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyNotFoundCacheEvent, (event) => {
|
|
929
|
+
event_ = event;
|
|
930
|
+
});
|
|
931
|
+
await cacheA.missingMany(["a"]);
|
|
932
|
+
await (0, _module_3.delay)(delayTime);
|
|
933
|
+
expect(event_).toBeInstanceOf(_module_1.KeyNotFoundCacheEvent);
|
|
934
|
+
expect(event_?.fields.key).toBe("a");
|
|
935
|
+
await unsubscribe();
|
|
936
|
+
});
|
|
937
|
+
test("Should dispatch KeyFoundCacheEvent when key exists", async () => {
|
|
938
|
+
let event_ = null;
|
|
939
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyFoundCacheEvent, (event) => {
|
|
940
|
+
event_ = event;
|
|
941
|
+
});
|
|
942
|
+
await cacheA.add("a", 1);
|
|
943
|
+
await cacheA.missingMany(["a"]);
|
|
944
|
+
await (0, _module_3.delay)(delayTime);
|
|
945
|
+
expect(event_).toBeInstanceOf(_module_1.KeyFoundCacheEvent);
|
|
946
|
+
expect(event_?.fields.key).toBe("a");
|
|
947
|
+
expect(event_?.fields.value).toBe(1);
|
|
948
|
+
await unsubscribe();
|
|
949
|
+
});
|
|
950
|
+
});
|
|
951
|
+
describe("method: get", () => {
|
|
952
|
+
test("Should dispatch KeyNotFoundCacheEvent when key doesnt exists", async () => {
|
|
953
|
+
let event_ = null;
|
|
954
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyNotFoundCacheEvent, (event) => {
|
|
955
|
+
event_ = event;
|
|
956
|
+
});
|
|
957
|
+
await cacheA.get("a");
|
|
958
|
+
await (0, _module_3.delay)(delayTime);
|
|
959
|
+
expect(event_).toBeInstanceOf(_module_1.KeyNotFoundCacheEvent);
|
|
960
|
+
expect(event_?.fields.key).toBe("a");
|
|
961
|
+
await unsubscribe();
|
|
962
|
+
});
|
|
963
|
+
test("Should dispatch KeyFoundCacheEvent when key exists", async () => {
|
|
964
|
+
let event_ = null;
|
|
965
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyFoundCacheEvent, (event) => {
|
|
966
|
+
event_ = event;
|
|
967
|
+
});
|
|
968
|
+
await cacheA.add("a", 1);
|
|
969
|
+
await cacheA.get("a");
|
|
970
|
+
await (0, _module_3.delay)(delayTime);
|
|
971
|
+
expect(event_).toBeInstanceOf(_module_1.KeyFoundCacheEvent);
|
|
972
|
+
expect(event_?.fields.key).toBe("a");
|
|
973
|
+
expect(event_?.fields.value).toBe(1);
|
|
974
|
+
await unsubscribe();
|
|
975
|
+
});
|
|
976
|
+
});
|
|
977
|
+
describe("method: getMany", () => {
|
|
978
|
+
test("Should dispatch KeyNotFoundCacheEvent when key doesnt exists", async () => {
|
|
979
|
+
let event_ = null;
|
|
980
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyNotFoundCacheEvent, (event) => {
|
|
981
|
+
event_ = event;
|
|
982
|
+
});
|
|
983
|
+
await cacheA.getMany(["a"]);
|
|
984
|
+
await (0, _module_3.delay)(delayTime);
|
|
985
|
+
expect(event_).toBeInstanceOf(_module_1.KeyNotFoundCacheEvent);
|
|
986
|
+
expect(event_?.fields.key).toBe("a");
|
|
987
|
+
await unsubscribe();
|
|
988
|
+
});
|
|
989
|
+
test("Should dispatch KeyFoundCacheEvent when key exists", async () => {
|
|
990
|
+
let event_ = null;
|
|
991
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyFoundCacheEvent, (event) => {
|
|
992
|
+
event_ = event;
|
|
993
|
+
});
|
|
994
|
+
await cacheA.add("a", 1);
|
|
995
|
+
await cacheA.getMany(["a"]);
|
|
996
|
+
await (0, _module_3.delay)(delayTime);
|
|
997
|
+
expect(event_).toBeInstanceOf(_module_1.KeyFoundCacheEvent);
|
|
998
|
+
expect(event_?.fields.key).toBe("a");
|
|
999
|
+
expect(event_?.fields.value).toBe(1);
|
|
1000
|
+
await unsubscribe();
|
|
1001
|
+
});
|
|
1002
|
+
});
|
|
1003
|
+
describe("method: getOr", () => {
|
|
1004
|
+
test("Should dispatch KeyNotFoundCacheEvent when key doesnt exists", async () => {
|
|
1005
|
+
let event_ = null;
|
|
1006
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyNotFoundCacheEvent, (event) => {
|
|
1007
|
+
event_ = event;
|
|
1008
|
+
});
|
|
1009
|
+
await cacheA.getOr("a", 1);
|
|
1010
|
+
await (0, _module_3.delay)(delayTime);
|
|
1011
|
+
expect(event_).toBeInstanceOf(_module_1.KeyNotFoundCacheEvent);
|
|
1012
|
+
expect(event_?.fields.key).toBe("a");
|
|
1013
|
+
await unsubscribe();
|
|
1014
|
+
});
|
|
1015
|
+
test("Should dispatch KeyFoundCacheEvent when key exists", async () => {
|
|
1016
|
+
let event_ = null;
|
|
1017
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyFoundCacheEvent, (event) => {
|
|
1018
|
+
event_ = event;
|
|
1019
|
+
});
|
|
1020
|
+
await cacheA.add("a", 1);
|
|
1021
|
+
await cacheA.getOr("a", 1);
|
|
1022
|
+
await (0, _module_3.delay)(delayTime);
|
|
1023
|
+
expect(event_).toBeInstanceOf(_module_1.KeyFoundCacheEvent);
|
|
1024
|
+
expect(event_?.fields.key).toBe("a");
|
|
1025
|
+
expect(event_?.fields.value).toBe(1);
|
|
1026
|
+
await unsubscribe();
|
|
1027
|
+
});
|
|
1028
|
+
});
|
|
1029
|
+
describe("method: getOrMany", () => {
|
|
1030
|
+
test("Should dispatch KeyNotFoundCacheEvent when key doesnt exists", async () => {
|
|
1031
|
+
let event_ = null;
|
|
1032
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyNotFoundCacheEvent, (event) => {
|
|
1033
|
+
event_ = event;
|
|
1034
|
+
});
|
|
1035
|
+
await cacheA.getOrMany({ a: 1 });
|
|
1036
|
+
await (0, _module_3.delay)(delayTime);
|
|
1037
|
+
expect(event_).toBeInstanceOf(_module_1.KeyNotFoundCacheEvent);
|
|
1038
|
+
expect(event_?.fields.key).toBe("a");
|
|
1039
|
+
await unsubscribe();
|
|
1040
|
+
});
|
|
1041
|
+
test("Should dispatch KeyFoundCacheEvent when key exists", async () => {
|
|
1042
|
+
let event_ = null;
|
|
1043
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyFoundCacheEvent, (event) => {
|
|
1044
|
+
event_ = event;
|
|
1045
|
+
});
|
|
1046
|
+
await cacheA.add("a", 1);
|
|
1047
|
+
await cacheA.getOrMany({ a: 1 });
|
|
1048
|
+
await (0, _module_3.delay)(delayTime);
|
|
1049
|
+
expect(event_).toBeInstanceOf(_module_1.KeyFoundCacheEvent);
|
|
1050
|
+
expect(event_?.fields.key).toBe("a");
|
|
1051
|
+
expect(event_?.fields.value).toBe(1);
|
|
1052
|
+
await unsubscribe();
|
|
1053
|
+
});
|
|
1054
|
+
});
|
|
1055
|
+
describe("method: getOrFail", () => {
|
|
1056
|
+
test("Should dispatch KeyNotFoundCacheEvent when key doesnt exists", async () => {
|
|
1057
|
+
let event_ = null;
|
|
1058
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyNotFoundCacheEvent, (event) => {
|
|
1059
|
+
event_ = event;
|
|
1060
|
+
});
|
|
1061
|
+
try {
|
|
1062
|
+
await cacheA.getOrFail("a");
|
|
1063
|
+
}
|
|
1064
|
+
catch {
|
|
1065
|
+
}
|
|
1066
|
+
await (0, _module_3.delay)(delayTime);
|
|
1067
|
+
expect(event_).toBeInstanceOf(_module_1.KeyNotFoundCacheEvent);
|
|
1068
|
+
expect(event_?.fields.key).toBe("a");
|
|
1069
|
+
await unsubscribe();
|
|
1070
|
+
});
|
|
1071
|
+
test("Should dispatch KeyFoundCacheEvent when key exists", async () => {
|
|
1072
|
+
let event_ = null;
|
|
1073
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyFoundCacheEvent, (event) => {
|
|
1074
|
+
event_ = event;
|
|
1075
|
+
});
|
|
1076
|
+
await cacheA.add("a", 1);
|
|
1077
|
+
await cacheA.getOrFail("a");
|
|
1078
|
+
await (0, _module_3.delay)(delayTime);
|
|
1079
|
+
expect(event_).toBeInstanceOf(_module_1.KeyFoundCacheEvent);
|
|
1080
|
+
expect(event_?.fields.key).toBe("a");
|
|
1081
|
+
expect(event_?.fields.value).toBe(1);
|
|
1082
|
+
await unsubscribe();
|
|
1083
|
+
});
|
|
1084
|
+
});
|
|
1085
|
+
describe("method: add", () => {
|
|
1086
|
+
test("Should dispatch KeyAddedCacheEvent when key doesnt exists", async () => {
|
|
1087
|
+
let event_ = null;
|
|
1088
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyAddedCacheEvent, (event) => {
|
|
1089
|
+
event_ = event;
|
|
1090
|
+
});
|
|
1091
|
+
const ttl = _module_2.TimeSpan.fromMilliseconds(20);
|
|
1092
|
+
await cacheA.add("a", 1, ttl);
|
|
1093
|
+
await (0, _module_3.delay)(delayTime);
|
|
1094
|
+
expect(event_).toBeInstanceOf(_module_1.KeyAddedCacheEvent);
|
|
1095
|
+
expect(event_?.fields.key).toBe("a");
|
|
1096
|
+
expect(event_?.fields.value).toBe(1);
|
|
1097
|
+
expect(event_?.fields.ttl?.toMilliseconds()).toBe(ttl.toMilliseconds());
|
|
1098
|
+
await unsubscribe();
|
|
1099
|
+
});
|
|
1100
|
+
});
|
|
1101
|
+
describe("method: addMany", () => {
|
|
1102
|
+
test("Should dispatch KeyAddedCacheEvent when key doesnt exists", async () => {
|
|
1103
|
+
let event_ = null;
|
|
1104
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyAddedCacheEvent, (event) => {
|
|
1105
|
+
event_ = event;
|
|
1106
|
+
});
|
|
1107
|
+
const ttl = _module_2.TimeSpan.fromMilliseconds(20);
|
|
1108
|
+
await cacheA.addMany({ a: { value: 1, ttl } });
|
|
1109
|
+
await (0, _module_3.delay)(delayTime);
|
|
1110
|
+
expect(event_).toBeInstanceOf(_module_1.KeyAddedCacheEvent);
|
|
1111
|
+
expect(event_?.fields.key).toBe("a");
|
|
1112
|
+
expect(event_?.fields.value).toBe(1);
|
|
1113
|
+
expect(event_?.fields.ttl?.toMilliseconds()).toBe(ttl.toMilliseconds());
|
|
1114
|
+
await unsubscribe();
|
|
1115
|
+
});
|
|
1116
|
+
});
|
|
1117
|
+
describe("method: update", () => {
|
|
1118
|
+
test("Should dispatch KeyUpdatedCacheEvent when key exists", async () => {
|
|
1119
|
+
let event_ = null;
|
|
1120
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyUpdatedCacheEvent, (event) => {
|
|
1121
|
+
event_ = event;
|
|
1122
|
+
});
|
|
1123
|
+
await cacheA.add("a", 1);
|
|
1124
|
+
await cacheA.update("a", 2);
|
|
1125
|
+
await (0, _module_3.delay)(delayTime);
|
|
1126
|
+
expect(event_).toBeInstanceOf(_module_1.KeyUpdatedCacheEvent);
|
|
1127
|
+
expect(event_?.fields.key).toBe("a");
|
|
1128
|
+
expect(event_?.fields.value).toBe(2);
|
|
1129
|
+
await unsubscribe();
|
|
1130
|
+
});
|
|
1131
|
+
test("Should dispatch KeyNotFoundCacheEvent when key doesnt exists", async () => {
|
|
1132
|
+
let event_ = null;
|
|
1133
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyNotFoundCacheEvent, (event) => {
|
|
1134
|
+
event_ = event;
|
|
1135
|
+
});
|
|
1136
|
+
await cacheA.update("a", 2);
|
|
1137
|
+
await (0, _module_3.delay)(delayTime);
|
|
1138
|
+
expect(event_).toBeInstanceOf(_module_1.KeyNotFoundCacheEvent);
|
|
1139
|
+
expect(event_?.fields.key).toBe("a");
|
|
1140
|
+
await unsubscribe();
|
|
1141
|
+
});
|
|
1142
|
+
});
|
|
1143
|
+
describe("method: updateMany", () => {
|
|
1144
|
+
test("Should dispatch KeyUpdatedCacheEvent when key exists", async () => {
|
|
1145
|
+
let event_ = null;
|
|
1146
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyUpdatedCacheEvent, (event) => {
|
|
1147
|
+
event_ = event;
|
|
1148
|
+
});
|
|
1149
|
+
await cacheA.add("a", 1);
|
|
1150
|
+
await cacheA.updateMany({ a: 2 });
|
|
1151
|
+
await (0, _module_3.delay)(delayTime);
|
|
1152
|
+
expect(event_).toBeInstanceOf(_module_1.KeyUpdatedCacheEvent);
|
|
1153
|
+
expect(event_?.fields.key).toBe("a");
|
|
1154
|
+
expect(event_?.fields.value).toBe(2);
|
|
1155
|
+
await unsubscribe();
|
|
1156
|
+
});
|
|
1157
|
+
test("Should dispatch KeyNotFoundCacheEvent when key doesnt exists", async () => {
|
|
1158
|
+
let event_ = null;
|
|
1159
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyNotFoundCacheEvent, (event) => {
|
|
1160
|
+
event_ = event;
|
|
1161
|
+
});
|
|
1162
|
+
await cacheA.updateMany({ a: 2 });
|
|
1163
|
+
await (0, _module_3.delay)(delayTime);
|
|
1164
|
+
expect(event_).toBeInstanceOf(_module_1.KeyNotFoundCacheEvent);
|
|
1165
|
+
expect(event_?.fields.key).toBe("a");
|
|
1166
|
+
await unsubscribe();
|
|
1167
|
+
});
|
|
1168
|
+
});
|
|
1169
|
+
describe("method: put", () => {
|
|
1170
|
+
test("Should dispatch KeyAddedCacheEvent when key doesnt exists", async () => {
|
|
1171
|
+
let event_ = null;
|
|
1172
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyAddedCacheEvent, (event) => {
|
|
1173
|
+
event_ = event;
|
|
1174
|
+
});
|
|
1175
|
+
const ttl = _module_2.TimeSpan.fromMilliseconds(20);
|
|
1176
|
+
await cacheA.put("a", 1, ttl);
|
|
1177
|
+
await (0, _module_3.delay)(delayTime);
|
|
1178
|
+
expect(event_).toBeInstanceOf(_module_1.KeyAddedCacheEvent);
|
|
1179
|
+
expect(event_?.fields.key).toBe("a");
|
|
1180
|
+
expect(event_?.fields.value).toBe(1);
|
|
1181
|
+
expect(event_?.fields.ttl?.toMilliseconds()).toBe(ttl.toMilliseconds());
|
|
1182
|
+
await unsubscribe();
|
|
1183
|
+
});
|
|
1184
|
+
test("Should dispatch KeyUpdatedCacheEvent when key exists", async () => {
|
|
1185
|
+
let event_ = null;
|
|
1186
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyUpdatedCacheEvent, (event) => {
|
|
1187
|
+
event_ = event;
|
|
1188
|
+
});
|
|
1189
|
+
await cacheA.put("a", 1);
|
|
1190
|
+
await cacheA.put("a", 2);
|
|
1191
|
+
await (0, _module_3.delay)(delayTime);
|
|
1192
|
+
expect(event_).toBeInstanceOf(_module_1.KeyUpdatedCacheEvent);
|
|
1193
|
+
expect(event_?.fields.key).toBe("a");
|
|
1194
|
+
expect(event_?.fields.value).toBe(2);
|
|
1195
|
+
await unsubscribe();
|
|
1196
|
+
});
|
|
1197
|
+
});
|
|
1198
|
+
describe("method: putMany", () => {
|
|
1199
|
+
test("Should dispatch KeyAddedCacheEvent when key exists", async () => {
|
|
1200
|
+
let event_ = null;
|
|
1201
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyAddedCacheEvent, (event) => {
|
|
1202
|
+
event_ = event;
|
|
1203
|
+
});
|
|
1204
|
+
const ttl = _module_2.TimeSpan.fromMilliseconds(20);
|
|
1205
|
+
await cacheA.putMany({ a: { value: 1, ttl } });
|
|
1206
|
+
await (0, _module_3.delay)(delayTime);
|
|
1207
|
+
expect(event_).toBeInstanceOf(_module_1.KeyAddedCacheEvent);
|
|
1208
|
+
expect(event_?.fields.key).toBe("a");
|
|
1209
|
+
expect(event_?.fields.value).toBe(1);
|
|
1210
|
+
expect(event_?.fields.ttl?.toMilliseconds()).toBe(ttl.toMilliseconds());
|
|
1211
|
+
await unsubscribe();
|
|
1212
|
+
});
|
|
1213
|
+
test("Should dispatch KeyUpdatedCacheEvent when key exists", async () => {
|
|
1214
|
+
let event_ = null;
|
|
1215
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyUpdatedCacheEvent, (event) => {
|
|
1216
|
+
event_ = event;
|
|
1217
|
+
});
|
|
1218
|
+
const ttl = _module_2.TimeSpan.fromMilliseconds(20);
|
|
1219
|
+
await cacheA.putMany({ a: { value: 1, ttl } });
|
|
1220
|
+
await cacheA.putMany({ a: { value: 2, ttl } });
|
|
1221
|
+
await (0, _module_3.delay)(delayTime);
|
|
1222
|
+
expect(event_).toBeInstanceOf(_module_1.KeyUpdatedCacheEvent);
|
|
1223
|
+
expect(event_?.fields.key).toBe("a");
|
|
1224
|
+
expect(event_?.fields.value).toBe(2);
|
|
1225
|
+
await unsubscribe();
|
|
1226
|
+
});
|
|
1227
|
+
});
|
|
1228
|
+
describe("method: remove", () => {
|
|
1229
|
+
test("Should dispatch KeyRemovedCacheEvent when key exists", async () => {
|
|
1230
|
+
let event_ = null;
|
|
1231
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyRemovedCacheEvent, (event) => {
|
|
1232
|
+
event_ = event;
|
|
1233
|
+
});
|
|
1234
|
+
await cacheA.add("a", 1);
|
|
1235
|
+
await cacheA.remove("a");
|
|
1236
|
+
await (0, _module_3.delay)(delayTime);
|
|
1237
|
+
expect(event_).toBeInstanceOf(_module_1.KeyRemovedCacheEvent);
|
|
1238
|
+
expect(event_?.fields.key).toBe("a");
|
|
1239
|
+
await unsubscribe();
|
|
1240
|
+
});
|
|
1241
|
+
test("Should dispatch KeyNotFoundCacheEvent when key doesnt exists", async () => {
|
|
1242
|
+
let event_ = null;
|
|
1243
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyNotFoundCacheEvent, (event) => {
|
|
1244
|
+
event_ = event;
|
|
1245
|
+
});
|
|
1246
|
+
await cacheA.remove("a");
|
|
1247
|
+
await (0, _module_3.delay)(delayTime);
|
|
1248
|
+
expect(event_).toBeInstanceOf(_module_1.KeyNotFoundCacheEvent);
|
|
1249
|
+
expect(event_?.fields.key).toBe("a");
|
|
1250
|
+
await unsubscribe();
|
|
1251
|
+
});
|
|
1252
|
+
});
|
|
1253
|
+
describe("method: removeMany", () => {
|
|
1254
|
+
test("Should dispatch KeyRemovedCacheEvent when key doesnt exists", async () => {
|
|
1255
|
+
let event_ = null;
|
|
1256
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyRemovedCacheEvent, (event) => {
|
|
1257
|
+
event_ = event;
|
|
1258
|
+
});
|
|
1259
|
+
await cacheA.add("a", 1);
|
|
1260
|
+
await cacheA.removeMany(["a"]);
|
|
1261
|
+
await (0, _module_3.delay)(delayTime);
|
|
1262
|
+
expect(event_).toBeInstanceOf(_module_1.KeyRemovedCacheEvent);
|
|
1263
|
+
expect(event_?.fields.key).toBe("a");
|
|
1264
|
+
await unsubscribe();
|
|
1265
|
+
});
|
|
1266
|
+
test("Should dispatch KeyNotFoundCacheEvent when key doesnt exists", async () => {
|
|
1267
|
+
let event_ = null;
|
|
1268
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyNotFoundCacheEvent, (event) => {
|
|
1269
|
+
event_ = event;
|
|
1270
|
+
});
|
|
1271
|
+
await cacheA.removeMany(["a"]);
|
|
1272
|
+
await (0, _module_3.delay)(delayTime);
|
|
1273
|
+
expect(event_).toBeInstanceOf(_module_1.KeyNotFoundCacheEvent);
|
|
1274
|
+
expect(event_?.fields.key).toBe("a");
|
|
1275
|
+
await unsubscribe();
|
|
1276
|
+
});
|
|
1277
|
+
});
|
|
1278
|
+
describe("method: getAndRemove", () => {
|
|
1279
|
+
test("Should dispatch KeyNotFoundCacheEvent when key doesnt exists", async () => {
|
|
1280
|
+
let event_ = null;
|
|
1281
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyNotFoundCacheEvent, (event) => {
|
|
1282
|
+
event_ = event;
|
|
1283
|
+
});
|
|
1284
|
+
await cacheA.getAndRemove("a");
|
|
1285
|
+
await (0, _module_3.delay)(delayTime);
|
|
1286
|
+
expect(event_).toBeInstanceOf(_module_1.KeyNotFoundCacheEvent);
|
|
1287
|
+
expect(event_?.fields.key).toBe("a");
|
|
1288
|
+
await unsubscribe();
|
|
1289
|
+
});
|
|
1290
|
+
test("Should dispatch KeyFoundCacheEvent when key exists", async () => {
|
|
1291
|
+
let event_ = null;
|
|
1292
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyFoundCacheEvent, (event) => {
|
|
1293
|
+
event_ = event;
|
|
1294
|
+
});
|
|
1295
|
+
await cacheA.add("a", 1);
|
|
1296
|
+
await cacheA.getAndRemove("a");
|
|
1297
|
+
await (0, _module_3.delay)(delayTime);
|
|
1298
|
+
expect(event_).toBeInstanceOf(_module_1.KeyFoundCacheEvent);
|
|
1299
|
+
expect(event_?.fields.key).toBe("a");
|
|
1300
|
+
expect(event_?.fields.value).toBe(1);
|
|
1301
|
+
await unsubscribe();
|
|
1302
|
+
});
|
|
1303
|
+
test("Should dispatch KeyRemovedCacheEvent when key exists", async () => {
|
|
1304
|
+
let event_ = null;
|
|
1305
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyRemovedCacheEvent, (event) => {
|
|
1306
|
+
event_ = event;
|
|
1307
|
+
});
|
|
1308
|
+
await cacheA.add("a", 1);
|
|
1309
|
+
await cacheA.getAndRemove("a");
|
|
1310
|
+
await (0, _module_3.delay)(delayTime);
|
|
1311
|
+
expect(event_).toBeInstanceOf(_module_1.KeyRemovedCacheEvent);
|
|
1312
|
+
expect(event_?.fields.key).toBe("a");
|
|
1313
|
+
await unsubscribe();
|
|
1314
|
+
});
|
|
1315
|
+
});
|
|
1316
|
+
describe("method: getOrAdd", () => {
|
|
1317
|
+
test("Should dispatch KeyNotFoundCacheEvent when key doesnt exists", async () => {
|
|
1318
|
+
let event_ = null;
|
|
1319
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyNotFoundCacheEvent, (event) => {
|
|
1320
|
+
event_ = event;
|
|
1321
|
+
});
|
|
1322
|
+
await cacheA.getOrAdd("a", 1);
|
|
1323
|
+
await (0, _module_3.delay)(delayTime);
|
|
1324
|
+
expect(event_).toBeInstanceOf(_module_1.KeyNotFoundCacheEvent);
|
|
1325
|
+
expect(event_?.fields.key).toBe("a");
|
|
1326
|
+
await unsubscribe();
|
|
1327
|
+
});
|
|
1328
|
+
test("Should dispatch KeyFoundCacheEvent when key exists", async () => {
|
|
1329
|
+
let event_ = null;
|
|
1330
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyFoundCacheEvent, (event) => {
|
|
1331
|
+
event_ = event;
|
|
1332
|
+
});
|
|
1333
|
+
await cacheA.add("a", 1);
|
|
1334
|
+
await cacheA.getOrAdd("a", 1);
|
|
1335
|
+
await (0, _module_3.delay)(delayTime);
|
|
1336
|
+
expect(event_).toBeInstanceOf(_module_1.KeyFoundCacheEvent);
|
|
1337
|
+
expect(event_?.fields.key).toBe("a");
|
|
1338
|
+
expect(event_?.fields.value).toBe(1);
|
|
1339
|
+
await unsubscribe();
|
|
1340
|
+
});
|
|
1341
|
+
test("Should dispatch KeyAddedCacheEvent when key exists", async () => {
|
|
1342
|
+
let event_ = null;
|
|
1343
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyAddedCacheEvent, (event) => {
|
|
1344
|
+
event_ = event;
|
|
1345
|
+
});
|
|
1346
|
+
const ttl = _module_2.TimeSpan.fromMilliseconds(50);
|
|
1347
|
+
await cacheA.getOrAdd("a", 1, ttl);
|
|
1348
|
+
await (0, _module_3.delay)(delayTime);
|
|
1349
|
+
expect(event_).toBeInstanceOf(_module_1.KeyAddedCacheEvent);
|
|
1350
|
+
expect(event_?.fields.key).toBe("a");
|
|
1351
|
+
expect(event_?.fields.value).toBe(1);
|
|
1352
|
+
expect(event_?.fields.ttl?.toMilliseconds()).toBe(ttl.toMilliseconds());
|
|
1353
|
+
await unsubscribe();
|
|
1354
|
+
});
|
|
1355
|
+
});
|
|
1356
|
+
describe("method: increment", () => {
|
|
1357
|
+
test("Should dispatch KeyIncrementedCacheEvent when key exists", async () => {
|
|
1358
|
+
let event_ = null;
|
|
1359
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyIncrementedCacheEvent, (event) => {
|
|
1360
|
+
event_ = event;
|
|
1361
|
+
});
|
|
1362
|
+
await cacheA.add("a", 1);
|
|
1363
|
+
await cacheA.increment("a", 1);
|
|
1364
|
+
await (0, _module_3.delay)(delayTime);
|
|
1365
|
+
expect(event_).toBeInstanceOf(_module_1.KeyIncrementedCacheEvent);
|
|
1366
|
+
expect(event_?.fields.key).toBe("a");
|
|
1367
|
+
expect(event_?.fields.value).toBe(1);
|
|
1368
|
+
await unsubscribe();
|
|
1369
|
+
});
|
|
1370
|
+
test("Should dispatch KeyNotFoundCacheEvent when key doesnt exists", async () => {
|
|
1371
|
+
let event_ = null;
|
|
1372
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyNotFoundCacheEvent, (event) => {
|
|
1373
|
+
event_ = event;
|
|
1374
|
+
});
|
|
1375
|
+
await cacheA.increment("a", 1);
|
|
1376
|
+
await (0, _module_3.delay)(delayTime);
|
|
1377
|
+
expect(event_).toBeInstanceOf(_module_1.KeyNotFoundCacheEvent);
|
|
1378
|
+
expect(event_?.fields.key).toBe("a");
|
|
1379
|
+
await unsubscribe();
|
|
1380
|
+
});
|
|
1381
|
+
});
|
|
1382
|
+
describe("method: decrement", () => {
|
|
1383
|
+
test("Should dispatch KeyDecrementedCacheEvent when key exists", async () => {
|
|
1384
|
+
let event_ = null;
|
|
1385
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyDecrementedCacheEvent, (event) => {
|
|
1386
|
+
event_ = event;
|
|
1387
|
+
});
|
|
1388
|
+
await cacheA.add("a", 1);
|
|
1389
|
+
await cacheA.decrement("a", 1);
|
|
1390
|
+
await (0, _module_3.delay)(delayTime);
|
|
1391
|
+
expect(event_).toBeInstanceOf(_module_1.KeyDecrementedCacheEvent);
|
|
1392
|
+
expect(event_?.fields.key).toBe("a");
|
|
1393
|
+
expect(event_?.fields.value).toBe(1);
|
|
1394
|
+
await unsubscribe();
|
|
1395
|
+
});
|
|
1396
|
+
test("Should dispatch KeyNotFoundCacheEvent when key doesnt exists", async () => {
|
|
1397
|
+
let event_ = null;
|
|
1398
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeyNotFoundCacheEvent, (event) => {
|
|
1399
|
+
event_ = event;
|
|
1400
|
+
});
|
|
1401
|
+
await cacheA.decrement("a", 1);
|
|
1402
|
+
await (0, _module_3.delay)(delayTime);
|
|
1403
|
+
expect(event_).toBeInstanceOf(_module_1.KeyNotFoundCacheEvent);
|
|
1404
|
+
expect(event_?.fields.key).toBe("a");
|
|
1405
|
+
await unsubscribe();
|
|
1406
|
+
});
|
|
1407
|
+
});
|
|
1408
|
+
describe("method: clear", () => {
|
|
1409
|
+
test("Should dispatch KeysClearedCacheEvent when key doesnt exists", async () => {
|
|
1410
|
+
let event_ = null;
|
|
1411
|
+
const unsubscribe = await cacheA.subscribe(_module_1.KeysClearedCacheEvent, (event) => {
|
|
1412
|
+
event_ = event;
|
|
1413
|
+
});
|
|
1414
|
+
await cacheA.addMany({
|
|
1415
|
+
a: { value: 1 },
|
|
1416
|
+
b: { value: 2 },
|
|
1417
|
+
c: { value: 3 },
|
|
1418
|
+
});
|
|
1419
|
+
await cacheA.clear();
|
|
1420
|
+
await (0, _module_3.delay)(delayTime);
|
|
1421
|
+
expect(event_).toBeInstanceOf(_module_1.KeysClearedCacheEvent);
|
|
1422
|
+
await unsubscribe();
|
|
1423
|
+
});
|
|
1424
|
+
});
|
|
1425
|
+
});
|
|
808
1426
|
describe("Group tests:", () => {
|
|
809
1427
|
test("method: exists", async () => {
|
|
810
1428
|
await cacheA.put("a", 1);
|
|
@@ -1026,6 +1644,96 @@ function cacheTestSuite(settings) {
|
|
|
1026
1644
|
b: 2,
|
|
1027
1645
|
});
|
|
1028
1646
|
});
|
|
1647
|
+
test("method: addListener / dispatch", async () => {
|
|
1648
|
+
let result_a = null;
|
|
1649
|
+
await cacheA.addListener(_module_1.KeyAddedCacheEvent, (event) => {
|
|
1650
|
+
result_a = event;
|
|
1651
|
+
});
|
|
1652
|
+
let result_b = null;
|
|
1653
|
+
await cacheB.addListener(_module_1.KeyAddedCacheEvent, (event) => {
|
|
1654
|
+
result_b = event;
|
|
1655
|
+
});
|
|
1656
|
+
await cacheA.add("a", 1);
|
|
1657
|
+
expect(result_a).toBeInstanceOf(_module_1.KeyAddedCacheEvent);
|
|
1658
|
+
expect(result_b).toBeNull();
|
|
1659
|
+
});
|
|
1660
|
+
test("method: addListenerMany / dispatch", async () => {
|
|
1661
|
+
let result_a = null;
|
|
1662
|
+
await cacheA.addListenerMany([_module_1.KeyAddedCacheEvent], (event) => {
|
|
1663
|
+
result_a = event;
|
|
1664
|
+
});
|
|
1665
|
+
let result_b = null;
|
|
1666
|
+
await cacheB.addListenerMany([_module_1.KeyAddedCacheEvent], (event) => {
|
|
1667
|
+
result_b = event;
|
|
1668
|
+
});
|
|
1669
|
+
await cacheA.add("a", 1);
|
|
1670
|
+
expect(result_a).toBeInstanceOf(_module_1.KeyAddedCacheEvent);
|
|
1671
|
+
expect(result_b).toBeNull();
|
|
1672
|
+
});
|
|
1673
|
+
test("method: removeListener / addListener / dispatch", async () => {
|
|
1674
|
+
let result_a = null;
|
|
1675
|
+
await cacheA.addListener(_module_1.KeyAddedCacheEvent, (event) => {
|
|
1676
|
+
result_a = event;
|
|
1677
|
+
});
|
|
1678
|
+
let result_b = null;
|
|
1679
|
+
const listenerB = (event) => {
|
|
1680
|
+
result_b = event;
|
|
1681
|
+
};
|
|
1682
|
+
await cacheB.addListener(_module_1.KeyAddedCacheEvent, listenerB);
|
|
1683
|
+
await cacheB.removeListener(_module_1.KeyAddedCacheEvent, listenerB);
|
|
1684
|
+
await cacheA.add("a", 1);
|
|
1685
|
+
await cacheB.add("a", 1);
|
|
1686
|
+
expect(result_a).toBeInstanceOf(_module_1.KeyAddedCacheEvent);
|
|
1687
|
+
expect(result_b).toBeNull();
|
|
1688
|
+
});
|
|
1689
|
+
test("method: removeListenerMany / addListener / dispatch", async () => {
|
|
1690
|
+
let result_a = null;
|
|
1691
|
+
await cacheA.addListener(_module_1.KeyAddedCacheEvent, (event) => {
|
|
1692
|
+
result_a = event;
|
|
1693
|
+
});
|
|
1694
|
+
let result_b = null;
|
|
1695
|
+
const listenerB = (event) => {
|
|
1696
|
+
result_b = event;
|
|
1697
|
+
};
|
|
1698
|
+
await cacheB.addListener(_module_1.KeyAddedCacheEvent, listenerB);
|
|
1699
|
+
await cacheB.removeListenerMany([_module_1.KeyAddedCacheEvent], listenerB);
|
|
1700
|
+
await cacheA.add("a", 1);
|
|
1701
|
+
await cacheB.add("a", 1);
|
|
1702
|
+
expect(result_a).toBeInstanceOf(_module_1.KeyAddedCacheEvent);
|
|
1703
|
+
expect(result_b).toBeNull();
|
|
1704
|
+
});
|
|
1705
|
+
test("method: subscribe / dispatch", async () => {
|
|
1706
|
+
let result_a = null;
|
|
1707
|
+
await cacheA.subscribe(_module_1.KeyAddedCacheEvent, (event) => {
|
|
1708
|
+
result_a = event;
|
|
1709
|
+
});
|
|
1710
|
+
let result_b = null;
|
|
1711
|
+
const listenerB = (event) => {
|
|
1712
|
+
result_b = event;
|
|
1713
|
+
};
|
|
1714
|
+
const unsubscribe = await cacheB.subscribe(_module_1.KeyAddedCacheEvent, listenerB);
|
|
1715
|
+
await unsubscribe();
|
|
1716
|
+
await cacheA.add("a", 1);
|
|
1717
|
+
await cacheB.add("a", 1);
|
|
1718
|
+
expect(result_a).toBeInstanceOf(_module_1.KeyAddedCacheEvent);
|
|
1719
|
+
expect(result_b).toBeNull();
|
|
1720
|
+
});
|
|
1721
|
+
test("method: subscribeMany / dispatch", async () => {
|
|
1722
|
+
let result_a = null;
|
|
1723
|
+
await cacheA.subscribeMany([_module_1.KeyAddedCacheEvent], (event) => {
|
|
1724
|
+
result_a = event;
|
|
1725
|
+
});
|
|
1726
|
+
let result_b = null;
|
|
1727
|
+
const listenerB = (event) => {
|
|
1728
|
+
result_b = event;
|
|
1729
|
+
};
|
|
1730
|
+
const unsubscribe = await cacheB.subscribeMany([_module_1.KeyAddedCacheEvent], listenerB);
|
|
1731
|
+
await unsubscribe();
|
|
1732
|
+
await cacheA.add("a", 1);
|
|
1733
|
+
await cacheB.add("a", 1);
|
|
1734
|
+
expect(result_a).toBeInstanceOf(_module_1.KeyAddedCacheEvent);
|
|
1735
|
+
expect(result_b).toBeNull();
|
|
1736
|
+
});
|
|
1029
1737
|
});
|
|
1030
1738
|
}
|
|
1031
1739
|
//# sourceMappingURL=cache.test-suite.js.map
|