@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
|
@@ -8,7 +8,7 @@ import type { CacheEvents } from "../../cache/contracts/_module";
|
|
|
8
8
|
import type { TimeSpan } from "../../utilities/_module";
|
|
9
9
|
import type { LazyPromise } from "../../async/_module";
|
|
10
10
|
/**
|
|
11
|
-
* The <i>ICacheListener</i> contract defines a way for listening <i>{@link ICache}</i>
|
|
11
|
+
* The <i>ICacheListener</i> contract defines a way for listening <i>{@link ICache}</i> operations.
|
|
12
12
|
* @group Contracts
|
|
13
13
|
*/
|
|
14
14
|
export type ICacheListener<TType = unknown> = IEventListener<CacheEvents<TType>>;
|
|
@@ -124,6 +124,43 @@ export type ICache<TType = unknown> = ICacheListener & {
|
|
|
124
124
|
* // -1
|
|
125
125
|
* }
|
|
126
126
|
* ```
|
|
127
|
+
* You can pass a function as default value.
|
|
128
|
+
* @example
|
|
129
|
+
* ```ts
|
|
130
|
+
* import type { ICache } from "@daiso-tech/core";
|
|
131
|
+
*
|
|
132
|
+
* // Asume the inputed cache is empty
|
|
133
|
+
* async function main(cache: ICache): Promise<void> {
|
|
134
|
+
* await cache.getOr("a", () => -1);
|
|
135
|
+
* // -1
|
|
136
|
+
* }
|
|
137
|
+
* ```
|
|
138
|
+
* You can pass an async function as default value.
|
|
139
|
+
* @example
|
|
140
|
+
* ```ts
|
|
141
|
+
* import type { ICache } from "@daiso-tech/core";
|
|
142
|
+
*
|
|
143
|
+
* // Asume the inputed cache is empty
|
|
144
|
+
* async function main(cache: ICache): Promise<void> {
|
|
145
|
+
* await cache.getOr("a", async () => -1);
|
|
146
|
+
* // -1
|
|
147
|
+
* }
|
|
148
|
+
* ```
|
|
149
|
+
* You can pass an <i>{@link LazyPromise}</i> as default value.
|
|
150
|
+
* @example
|
|
151
|
+
* ```ts
|
|
152
|
+
* import type { ICache, IAsyncCollection } from "@daiso-tech/core";
|
|
153
|
+
*
|
|
154
|
+
* type IPerson = {
|
|
155
|
+
* name: string;
|
|
156
|
+
* age: number;
|
|
157
|
+
* };
|
|
158
|
+
*
|
|
159
|
+
* // Asume the inputed cache is empty
|
|
160
|
+
* async function main(cache: ICache, collection: IAsyncCollection<IPerson>): Promise<void> {
|
|
161
|
+
* await cache.getOr("a", collection.first(person => person.name === "a"));
|
|
162
|
+
* }
|
|
163
|
+
* ```
|
|
127
164
|
*/
|
|
128
165
|
getOr(key: string, defaultValue: AsyncLazyable<TType>): LazyPromise<TType>;
|
|
129
166
|
/**
|
|
@@ -138,6 +175,43 @@ export type ICache<TType = unknown> = ICacheListener & {
|
|
|
138
175
|
* // { a: -1, b: -2, c: -3 }
|
|
139
176
|
* }
|
|
140
177
|
* ```
|
|
178
|
+
* You can pass a function as default value.
|
|
179
|
+
* @example
|
|
180
|
+
* ```ts
|
|
181
|
+
* import type { ICache } from "@daiso-tech/core";
|
|
182
|
+
*
|
|
183
|
+
* // Asume the inputed cache is empty
|
|
184
|
+
* async function main(cache: ICache): Promise<void> {
|
|
185
|
+
* await cache.getOrMany({ a: () => -1 });
|
|
186
|
+
* // -1
|
|
187
|
+
* }
|
|
188
|
+
* ```
|
|
189
|
+
* You can pass an async function as default value.
|
|
190
|
+
* @example
|
|
191
|
+
* ```ts
|
|
192
|
+
* import type { ICache } from "@daiso-tech/core";
|
|
193
|
+
*
|
|
194
|
+
* // Asume the inputed cache is empty
|
|
195
|
+
* async function main(cache: ICache): Promise<void> {
|
|
196
|
+
* await cache.getOrMany({ a: async () => -1 });
|
|
197
|
+
* // -1
|
|
198
|
+
* }
|
|
199
|
+
* ```
|
|
200
|
+
* You can pass an <i>{@link LazyPromise}</i> as default value.
|
|
201
|
+
* @example
|
|
202
|
+
* ```ts
|
|
203
|
+
* import type { ICache, IAsyncCollection } from "@daiso-tech/core";
|
|
204
|
+
*
|
|
205
|
+
* type IPerson = {
|
|
206
|
+
* name: string;
|
|
207
|
+
* age: number;
|
|
208
|
+
* };
|
|
209
|
+
*
|
|
210
|
+
* // Asume the inputed cache is empty
|
|
211
|
+
* async function main(cache: ICache, collection: IAsyncCollection<IPerson>): Promise<void> {
|
|
212
|
+
* await cache.getOrMany({ a: collection.first(person => person.name === "a") });
|
|
213
|
+
* }
|
|
214
|
+
* ```
|
|
141
215
|
*/
|
|
142
216
|
getOrMany<TKeys extends string>(keysWithDefaults: Record<TKeys, AsyncLazyable<TType>>): LazyPromise<Record<TKeys, TType>>;
|
|
143
217
|
/**
|
|
@@ -420,9 +494,43 @@ export type ICache<TType = unknown> = ICacheListener & {
|
|
|
420
494
|
* async function main(cache: ICache): Promise<void> {
|
|
421
495
|
* await cache.getOrAdd("a", 1);
|
|
422
496
|
* // 1
|
|
497
|
+
* }
|
|
498
|
+
* ```
|
|
499
|
+
* You can pass a function as default value.
|
|
500
|
+
* @example
|
|
501
|
+
* ```ts
|
|
502
|
+
* import type { ICache } from "@daiso-tech/core";
|
|
423
503
|
*
|
|
504
|
+
* // Asume the inputed cache is empty
|
|
505
|
+
* async function main(cache: ICache): Promise<void> {
|
|
506
|
+
* await cache.getOrAdd("a", () => -1);
|
|
507
|
+
* // -1
|
|
508
|
+
* }
|
|
509
|
+
* ```
|
|
510
|
+
* You can pass an async function as default value.
|
|
511
|
+
* @example
|
|
512
|
+
* ```ts
|
|
513
|
+
* import type { ICache } from "@daiso-tech/core";
|
|
514
|
+
*
|
|
515
|
+
* // Asume the inputed cache is empty
|
|
516
|
+
* async function main(cache: ICache): Promise<void> {
|
|
424
517
|
* await cache.getOrAdd("a", async () => -1);
|
|
425
|
-
* // 1
|
|
518
|
+
* // -1
|
|
519
|
+
* }
|
|
520
|
+
* ```
|
|
521
|
+
* You can pass an <i>{@link LazyPromise}</i> as default value.
|
|
522
|
+
* @example
|
|
523
|
+
* ```ts
|
|
524
|
+
* import type { ICache, IAsyncCollection } from "@daiso-tech/core";
|
|
525
|
+
*
|
|
526
|
+
* type IPerson = {
|
|
527
|
+
* name: string;
|
|
528
|
+
* age: number;
|
|
529
|
+
* };
|
|
530
|
+
*
|
|
531
|
+
* // Asume the inputed cache is empty
|
|
532
|
+
* async function main(cache: ICache, collection: IAsyncCollection<IPerson>): Promise<void> {
|
|
533
|
+
* await cache.getOrAdd("a", collection.first(person => person.name === "a"));
|
|
426
534
|
* }
|
|
427
535
|
* ```
|
|
428
536
|
*/
|
|
@@ -485,10 +593,10 @@ export type ICache<TType = unknown> = ICacheListener & {
|
|
|
485
593
|
* The <i>getGroup</i> method returns the group name.
|
|
486
594
|
* @example
|
|
487
595
|
* ```ts
|
|
488
|
-
* import type {
|
|
596
|
+
* import type { IGroupableCache } from "@daiso-tech/core";
|
|
489
597
|
*
|
|
490
598
|
* // Asume the inputed cache is empty and the default rootGroup is "@global"
|
|
491
|
-
* async function main(cache:
|
|
599
|
+
* async function main(cache: IGroupableCache): Promise<void> {
|
|
492
600
|
* console.log(cache.getGroup())
|
|
493
601
|
*
|
|
494
602
|
* const cacheA = cache.withGroup("a");
|
|
@@ -502,20 +610,20 @@ export type ICache<TType = unknown> = ICacheListener & {
|
|
|
502
610
|
};
|
|
503
611
|
/**
|
|
504
612
|
* The <i>IGroupableCache</i> contract defines a way for storing data as key-value pairs independent of data storage.
|
|
505
|
-
* It commes with one extra method which is useful for multitennat applications compared to <i>ICache</i>.
|
|
613
|
+
* It commes with one extra method which is useful for multitennat applications compared to <i>{@link ICache}</i>.
|
|
506
614
|
* @group Contracts
|
|
507
615
|
*/
|
|
508
616
|
export type IGroupableCache<TType = unknown> = ICache<TType> & {
|
|
509
617
|
/**
|
|
510
618
|
* The <i>withGroup</i> method returns a new <i>{@link ICache}</i> instance that groups keys together.
|
|
511
|
-
* Only keys in the group
|
|
619
|
+
* Only keys in the same group will be updated, removed, or retrieved, leaving keys outside the group unaffected.
|
|
512
620
|
* This useful for multitennat applications.
|
|
513
621
|
* @example
|
|
514
622
|
* ```ts
|
|
515
|
-
* import type {
|
|
623
|
+
* import type { IGroupableCache } from "@daiso-tech/core";
|
|
516
624
|
*
|
|
517
625
|
* // Asume the inputed cache is empty and the default rootGroup is "@global"
|
|
518
|
-
* async function main(cache:
|
|
626
|
+
* async function main(cache: IGroupableCache): Promise<void> {
|
|
519
627
|
* const cacheA = cache.withGroup("a");
|
|
520
628
|
* await cacheA.add("a", 1);
|
|
521
629
|
*
|
|
@@ -7,153 +7,87 @@ import type { OneOrMore, TimeSpan } from "../../utilities/_module";
|
|
|
7
7
|
/**
|
|
8
8
|
* @group Events
|
|
9
9
|
*/
|
|
10
|
-
export
|
|
10
|
+
export declare class KeyFoundCacheEvent<TType = unknown> extends BaseEvent<{
|
|
11
11
|
group: string;
|
|
12
12
|
key: string;
|
|
13
13
|
value: TType;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* @group Events
|
|
17
|
-
*/
|
|
18
|
-
export declare class KeyFoundCacheEvent<TType = unknown> extends BaseEvent<KeyFoundCacheEventFields<TType>> {
|
|
19
|
-
group: string;
|
|
20
|
-
key: string;
|
|
21
|
-
value: TType;
|
|
22
|
-
static deserialize<TType>(serializedEvent: KeyFoundCacheEventFields<TType>): KeyFoundCacheEvent<TType>;
|
|
23
|
-
constructor(fields: KeyFoundCacheEventFields<TType>);
|
|
24
|
-
serialize(): KeyFoundCacheEventFields<TType>;
|
|
14
|
+
}> {
|
|
25
15
|
}
|
|
26
16
|
/**
|
|
27
17
|
* @group Events
|
|
28
18
|
*/
|
|
29
|
-
export
|
|
30
|
-
group: string;
|
|
31
|
-
key: string;
|
|
32
|
-
};
|
|
33
|
-
/**
|
|
34
|
-
* @group Events
|
|
35
|
-
*/
|
|
36
|
-
export declare class KeyNotFoundCacheEvent extends BaseEvent<KeyNotFoundCacheEventFields> {
|
|
19
|
+
export declare class KeyNotFoundCacheEvent extends BaseEvent<{
|
|
37
20
|
group: string;
|
|
38
21
|
key: string;
|
|
39
|
-
|
|
40
|
-
constructor(fields: KeyNotFoundCacheEventFields);
|
|
41
|
-
serialize(): KeyNotFoundCacheEventFields;
|
|
22
|
+
}> {
|
|
42
23
|
}
|
|
43
24
|
/**
|
|
44
25
|
* @group Events
|
|
45
26
|
*/
|
|
46
|
-
export
|
|
27
|
+
export declare class KeyAddedCacheEvent<TType = unknown> extends BaseEvent<{
|
|
47
28
|
group: string;
|
|
48
29
|
key: string;
|
|
49
30
|
value: TType;
|
|
50
31
|
ttl: TimeSpan | null;
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* @group Events
|
|
54
|
-
*/
|
|
55
|
-
export declare class KeyAddedCacheEvent<TType = unknown> extends BaseEvent<KeyAddedCacheEventFields<TType>> {
|
|
56
|
-
group: string;
|
|
57
|
-
key: string;
|
|
58
|
-
value: TType;
|
|
59
|
-
ttl: TimeSpan | null;
|
|
60
|
-
static deserialize<TType>(serializedEvent: KeyAddedCacheEventFields<TType>): KeyAddedCacheEvent<TType>;
|
|
61
|
-
constructor(fields: KeyAddedCacheEventFields<TType>);
|
|
62
|
-
serialize(): KeyAddedCacheEventFields<TType>;
|
|
32
|
+
}> {
|
|
63
33
|
}
|
|
64
34
|
/**
|
|
65
35
|
* @group Events
|
|
66
36
|
*/
|
|
67
|
-
export
|
|
68
|
-
group: string;
|
|
69
|
-
key: string;
|
|
70
|
-
value: TType;
|
|
71
|
-
};
|
|
72
|
-
/**
|
|
73
|
-
* @group Events
|
|
74
|
-
*/
|
|
75
|
-
export declare class KeyUpdatedCacheEvent<TType = unknown> extends BaseEvent<KeyUpdatedCacheEventFields<TType>> {
|
|
37
|
+
export declare class KeyUpdatedCacheEvent<TType = unknown> extends BaseEvent<{
|
|
76
38
|
group: string;
|
|
77
39
|
key: string;
|
|
78
40
|
value: TType;
|
|
79
|
-
|
|
80
|
-
constructor(fields: KeyUpdatedCacheEventFields<TType>);
|
|
81
|
-
serialize(): KeyUpdatedCacheEventFields<TType>;
|
|
41
|
+
}> {
|
|
82
42
|
}
|
|
83
43
|
/**
|
|
84
44
|
* @group Events
|
|
85
45
|
*/
|
|
86
|
-
export
|
|
46
|
+
export declare class KeyRemovedCacheEvent extends BaseEvent<{
|
|
87
47
|
group: string;
|
|
88
48
|
key: string;
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* @group Events
|
|
92
|
-
*/
|
|
93
|
-
export declare class KeyRemovedCacheEvent extends BaseEvent<KeyRemovedCacheEventFields> {
|
|
94
|
-
group: string;
|
|
95
|
-
key: string;
|
|
96
|
-
static deserialize(serializedEvent: KeyRemovedCacheEventFields): KeyRemovedCacheEvent;
|
|
97
|
-
constructor(fields: KeyRemovedCacheEventFields);
|
|
98
|
-
serialize(): KeyRemovedCacheEventFields;
|
|
49
|
+
}> {
|
|
99
50
|
}
|
|
100
51
|
/**
|
|
101
52
|
* @group Events
|
|
102
53
|
*/
|
|
103
|
-
export
|
|
54
|
+
export declare class KeyIncrementedCacheEvent extends BaseEvent<{
|
|
104
55
|
group: string;
|
|
105
56
|
key: string;
|
|
106
57
|
value: number;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* @group Events
|
|
110
|
-
*/
|
|
111
|
-
export declare class KeyIncrementedCacheEvent extends BaseEvent<KeyIncrementedCacheEventFields> {
|
|
112
|
-
group: string;
|
|
113
|
-
key: string;
|
|
114
|
-
value: number;
|
|
115
|
-
static deserialize(serializedEvent: KeyIncrementedCacheEventFields): KeyIncrementedCacheEvent;
|
|
116
|
-
constructor(fields: KeyIncrementedCacheEventFields);
|
|
117
|
-
serialize(): KeyIncrementedCacheEventFields;
|
|
58
|
+
}> {
|
|
118
59
|
}
|
|
119
60
|
/**
|
|
120
61
|
* @group Events
|
|
121
62
|
*/
|
|
122
|
-
export
|
|
123
|
-
group: string;
|
|
124
|
-
key: string;
|
|
125
|
-
value: number;
|
|
126
|
-
};
|
|
127
|
-
/**
|
|
128
|
-
* @group Events
|
|
129
|
-
*/
|
|
130
|
-
export declare class KeyDecrementedCacheEvent extends BaseEvent<KeyDecrementedCacheEventFields> {
|
|
63
|
+
export declare class KeyDecrementedCacheEvent extends BaseEvent<{
|
|
131
64
|
group: string;
|
|
132
65
|
key: string;
|
|
133
66
|
value: number;
|
|
134
|
-
|
|
135
|
-
constructor(fields: KeyDecrementedCacheEventFields);
|
|
136
|
-
serialize(): KeyDecrementedCacheEventFields;
|
|
67
|
+
}> {
|
|
137
68
|
}
|
|
138
69
|
/**
|
|
139
70
|
* @group Events
|
|
140
71
|
*/
|
|
141
|
-
export
|
|
72
|
+
export declare class KeysClearedCacheEvent extends BaseEvent<{
|
|
142
73
|
group: string;
|
|
143
|
-
}
|
|
74
|
+
}> {
|
|
75
|
+
}
|
|
144
76
|
/**
|
|
145
77
|
* @group Events
|
|
146
78
|
*/
|
|
147
|
-
export declare class
|
|
79
|
+
export declare class UnexpectedCacheErrorEvent extends BaseEvent<{
|
|
148
80
|
group: string;
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
81
|
+
key?: string;
|
|
82
|
+
value?: unknown;
|
|
83
|
+
method: string;
|
|
84
|
+
error: unknown;
|
|
85
|
+
}> {
|
|
152
86
|
}
|
|
153
87
|
/**
|
|
154
88
|
* @group Events
|
|
155
89
|
*/
|
|
156
|
-
export type CacheEvents<TType = unknown> = KeyFoundCacheEvent<TType> | KeyNotFoundCacheEvent | KeyAddedCacheEvent<TType> | KeyUpdatedCacheEvent<TType> | KeyRemovedCacheEvent | KeyIncrementedCacheEvent | KeyDecrementedCacheEvent | KeysClearedCacheEvent;
|
|
90
|
+
export type CacheEvents<TType = unknown> = KeyFoundCacheEvent<TType> | KeyNotFoundCacheEvent | KeyAddedCacheEvent<TType> | KeyUpdatedCacheEvent<TType> | KeyRemovedCacheEvent | KeyIncrementedCacheEvent | KeyDecrementedCacheEvent | KeysClearedCacheEvent | UnexpectedCacheErrorEvent;
|
|
157
91
|
/**
|
|
158
92
|
* The <i>registerCacheEvents</i> function registers all <i>{@link IGroupableCache}</i> related events with <i>IFlexibleSerde</i>, ensuring they will properly be serialized and deserialized.
|
|
159
93
|
* @group Events
|
|
@@ -12,8 +12,7 @@ export type CacheAdapterTestSuiteSettings = {
|
|
|
12
12
|
test: TestAPI;
|
|
13
13
|
describe: SuiteAPI;
|
|
14
14
|
beforeEach: typeof beforeEach;
|
|
15
|
-
|
|
16
|
-
createAdapterB: () => Promisable<ICacheAdapter>;
|
|
15
|
+
createAdapter: () => Promisable<ICacheAdapter>;
|
|
17
16
|
};
|
|
18
17
|
/**
|
|
19
18
|
* The <i>cacheAdapterTestSuite</i> function simplifies the process of testing your custom implementation of <i>{@link ICacheAdapter}</i> with <i>vitest</i>.
|
|
@@ -39,18 +38,12 @@ export type CacheAdapterTestSuiteSettings = {
|
|
|
39
38
|
* await startedContainer.stop();
|
|
40
39
|
* }, TIMEOUT.toMilliseconds());
|
|
41
40
|
* cacheAdapterTestSuite({
|
|
42
|
-
*
|
|
41
|
+
* createAdapter: () =>
|
|
43
42
|
* new RedisCacheAdapter({
|
|
44
43
|
* database,
|
|
45
44
|
* serde,
|
|
46
45
|
* rootGroup: "@a"
|
|
47
46
|
* }),
|
|
48
|
-
* createAdapterB: () =>
|
|
49
|
-
* new RedisCacheAdapter({
|
|
50
|
-
* database,
|
|
51
|
-
* serde,
|
|
52
|
-
* rootGroup: "@b"
|
|
53
|
-
* }),
|
|
54
47
|
* test,
|
|
55
48
|
* beforeEach,
|
|
56
49
|
* expect,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @module Cache
|
|
3
3
|
*/
|
|
4
4
|
import { type TestAPI, type SuiteAPI, type ExpectStatic, type beforeEach } from "vitest";
|
|
5
|
-
import { type
|
|
5
|
+
import { type IGroupableCache } from "../../../cache/contracts/_module";
|
|
6
6
|
import { type Promisable } from "../../../utilities/_module";
|
|
7
7
|
/**
|
|
8
8
|
* @group Utilities
|
|
@@ -12,8 +12,7 @@ export type CacheTestSuiteSettings = {
|
|
|
12
12
|
test: TestAPI;
|
|
13
13
|
describe: SuiteAPI;
|
|
14
14
|
beforeEach: typeof beforeEach;
|
|
15
|
-
|
|
16
|
-
createCacheB: () => Promisable<ICache>;
|
|
15
|
+
createCache: () => Promisable<IGroupableCache>;
|
|
17
16
|
};
|
|
18
17
|
/**
|
|
19
18
|
* The <i>cacheTestSuite</i> function simplifies the process of testing your custom implementation of <i>{@link ICache}</i> with <i>vitest</i>.
|
|
@@ -23,14 +22,14 @@ export type CacheTestSuiteSettings = {
|
|
|
23
22
|
* import Redis from "ioredis";
|
|
24
23
|
* import { afterEach, beforeEach, describe, expect, test } from "vitest";
|
|
25
24
|
* import { RedisContainer, type StartedRedisContainer } from "@testcontainers/redis";
|
|
26
|
-
* import { SuperJsonSerde, TimeSpan, RedisCacheAdapter, cacheTestSuite,
|
|
25
|
+
* import { SuperJsonSerde, TimeSpan, RedisCacheAdapter, cacheTestSuite, MemorycacheAdapter } from "@daiso-tech/core";
|
|
27
26
|
*
|
|
28
27
|
* const TIMEOUT = TimeSpan.fromMinutes(2);
|
|
29
28
|
* describe("class: Cache", () => {
|
|
30
29
|
* let database: Redis;
|
|
31
30
|
* let startedContainer: StartedRedisContainer;
|
|
32
31
|
* const eventBus = new EventBus({
|
|
33
|
-
* adapter: new
|
|
32
|
+
* adapter: new MemorycacheAdapter({
|
|
34
33
|
* rootGroup: "@global"
|
|
35
34
|
* })
|
|
36
35
|
* }):
|
|
@@ -44,7 +43,7 @@ export type CacheTestSuiteSettings = {
|
|
|
44
43
|
* await startedContainer.stop();
|
|
45
44
|
* }, TIMEOUT.toMilliseconds());
|
|
46
45
|
* cacheTestSuite({
|
|
47
|
-
*
|
|
46
|
+
* createCache: () =>
|
|
48
47
|
* new Cache(
|
|
49
48
|
* new RedisCacheAdapter({
|
|
50
49
|
* database,
|
|
@@ -53,15 +52,6 @@ export type CacheTestSuiteSettings = {
|
|
|
53
52
|
* }),
|
|
54
53
|
* { eventBus }
|
|
55
54
|
* ),
|
|
56
|
-
* createCacheB: () =>
|
|
57
|
-
* new Cache(
|
|
58
|
-
* new RedisCacheAdapter({
|
|
59
|
-
* database,
|
|
60
|
-
* serde,
|
|
61
|
-
* rootGroup: "@b",
|
|
62
|
-
* }),
|
|
63
|
-
* { eventBus }
|
|
64
|
-
* ),
|
|
65
55
|
* test,
|
|
66
56
|
* beforeEach,
|
|
67
57
|
* expect,
|
|
@@ -50,7 +50,6 @@ export declare class KyselySqliteCacheAdapter<TType = unknown> implements ICache
|
|
|
50
50
|
removeExpiredKeys(): Promise<void>;
|
|
51
51
|
init(): Promise<void>;
|
|
52
52
|
deInit(): Promise<void>;
|
|
53
|
-
exists(key: string): Promise<boolean>;
|
|
54
53
|
get(key: string): Promise<TType | null>;
|
|
55
54
|
add(key: string, value: TType, ttl: TimeSpan | null): Promise<boolean>;
|
|
56
55
|
update(key: string, value: TType): Promise<boolean>;
|
package/dist/types/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts
CHANGED
|
@@ -3,30 +3,25 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { type ICacheAdapter } from "../../../../cache/contracts/cache-adapter.contract";
|
|
5
5
|
import type { TimeSpan, IDeinitizable, IInitizable } from "../../../../utilities/_module";
|
|
6
|
-
import type {
|
|
7
|
-
import {
|
|
6
|
+
import type { ISerde } from "../../../../serde/contracts/_module";
|
|
7
|
+
import type { Client } from "@libsql/client";
|
|
8
|
+
/**
|
|
9
|
+
* @group Adapters
|
|
10
|
+
*/
|
|
11
|
+
export type LibsqlCacheAdapterSettings = {
|
|
12
|
+
database: Client;
|
|
13
|
+
tableName?: string;
|
|
14
|
+
serde: ISerde<string>;
|
|
15
|
+
enableTransactions?: boolean;
|
|
16
|
+
expiredKeysRemovalInterval?: TimeSpan;
|
|
17
|
+
shouldRemoveExpiredKeys?: boolean;
|
|
18
|
+
rootGroup: string;
|
|
19
|
+
};
|
|
8
20
|
/**
|
|
9
21
|
* To utilize the <i>LibsqlCacheAdapter</i>, you must install the <i>"@libsql/client"</i> package and supply a <i>{@link ISerde | ISerde<string> }</i>, such as <i>{@link SuperJsonSerde}</i>.
|
|
10
22
|
* @group Adapters
|
|
11
23
|
*/
|
|
12
24
|
export declare class LibsqlCacheAdapter<TType = unknown> implements ICacheAdapter<TType>, IInitizable, IDeinitizable {
|
|
13
|
-
/**
|
|
14
|
-
* @example
|
|
15
|
-
* ```ts
|
|
16
|
-
* import { LibsqlCacheAdapter, SuperJsonSerde } from "@daiso-tech/core";
|
|
17
|
-
* import { createClient } from "@libsql/client";
|
|
18
|
-
*
|
|
19
|
-
* const cacheAdapter = new LibsqlCacheAdapter(
|
|
20
|
-
* LibsqlCacheAdapter
|
|
21
|
-
* .settings()
|
|
22
|
-
* .setDatabase(createClient({ url: "file:local.db" }))
|
|
23
|
-
* .setSerde(new SuperJsonSerde())
|
|
24
|
-
* .setRootGroup("@global")
|
|
25
|
-
* .build()
|
|
26
|
-
* );
|
|
27
|
-
* ```
|
|
28
|
-
*/
|
|
29
|
-
static settings<TSettings extends Partial<LibsqlCacheAdapterSettings>>(): LibsqlCacheAdapterSettingsBuilder<TSettings>;
|
|
30
25
|
private readonly cacheAdapter;
|
|
31
26
|
/***
|
|
32
27
|
* @example
|
|
@@ -34,18 +29,15 @@ export declare class LibsqlCacheAdapter<TType = unknown> implements ICacheAdapte
|
|
|
34
29
|
* import { LibsqlCacheAdapter, SuperJsonSerde } from "@daiso-tech/core";
|
|
35
30
|
* import { createClient } from "@libsql/client";
|
|
36
31
|
*
|
|
37
|
-
* const database = createClient({ url: "file:local.db" });
|
|
38
|
-
* const serde = new SuperJsonSerde();
|
|
39
|
-
* const cacheAdapter = new LibsqlCacheAdapter({
|
|
40
|
-
* database,
|
|
41
|
-
* serde,
|
|
42
|
-
* rootGroup: "@global"
|
|
43
|
-
* });
|
|
44
|
-
*
|
|
45
32
|
* (async () => {
|
|
33
|
+
* const database = createClient({ url: "file:local.db" });
|
|
34
|
+
* const serde = new SuperJsonSerde();
|
|
35
|
+
* const cacheAdapter = new LibsqlCacheAdapter({
|
|
36
|
+
* database,
|
|
37
|
+
* serde,
|
|
38
|
+
* rootGroup: "@global"
|
|
39
|
+
* });
|
|
46
40
|
* await cacheAdapter.init();
|
|
47
|
-
* await cacheAdapter.add("a", 1);
|
|
48
|
-
* await cacheAdapter.deInit();
|
|
49
41
|
* })();
|
|
50
42
|
* ```
|
|
51
43
|
*/
|
|
@@ -55,13 +47,14 @@ export declare class LibsqlCacheAdapter<TType = unknown> implements ICacheAdapte
|
|
|
55
47
|
removeExpiredKeys(): Promise<void>;
|
|
56
48
|
/**
|
|
57
49
|
* Removes the table where the cache values are stored and removes the table indexes.
|
|
50
|
+
* Note all cache data will be removed.
|
|
58
51
|
*/
|
|
59
52
|
deInit(): Promise<void>;
|
|
60
53
|
/**
|
|
61
54
|
* Creates the table where the cache values are stored and it's related indexes.
|
|
55
|
+
* Note the <i>init</i> method needs to be called before using the adapter.
|
|
62
56
|
*/
|
|
63
57
|
init(): Promise<void>;
|
|
64
|
-
exists(key: string): Promise<boolean>;
|
|
65
58
|
get(key: string): Promise<TType | null>;
|
|
66
59
|
add(key: string, value: TType, ttl: TimeSpan | null): Promise<boolean>;
|
|
67
60
|
update(key: string, value: TType): Promise<boolean>;
|
package/dist/types/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts
CHANGED
|
@@ -3,28 +3,18 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { type ICacheAdapter } from "../../../../cache/contracts/cache-adapter.contract";
|
|
5
5
|
import { type TimeSpan } from "../../../../utilities/_module";
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
/**
|
|
7
|
+
* @group Adapters
|
|
8
|
+
*/
|
|
9
|
+
export type MemoryCacheAdapterSettings = {
|
|
10
|
+
rootGroup: string;
|
|
11
|
+
map?: Map<string, unknown>;
|
|
12
|
+
};
|
|
8
13
|
/**
|
|
9
14
|
* To utilize the <i>MemoryCacheAdapter</i>, you must create instance of it.
|
|
10
15
|
* @group Adapters
|
|
11
16
|
*/
|
|
12
17
|
export declare class MemoryCacheAdapter<TType = unknown> implements ICacheAdapter<TType> {
|
|
13
|
-
/**
|
|
14
|
-
* @example
|
|
15
|
-
* ```ts
|
|
16
|
-
* import { MemoryCacheAdapter, SuperJsonSerde } from "@daiso-tech/core";
|
|
17
|
-
*
|
|
18
|
-
* const cacheAdapter = new MemoryCacheAdapter(
|
|
19
|
-
* MemoryCacheAdapter
|
|
20
|
-
* .settings()
|
|
21
|
-
* .setMap(new Map())
|
|
22
|
-
* .setRootGroup("@global")
|
|
23
|
-
* .build()
|
|
24
|
-
* );
|
|
25
|
-
* ```
|
|
26
|
-
*/
|
|
27
|
-
static settings<TSettings extends Partial<MemoryCacheAdapterSettings>>(): MemoryCacheAdapterSettingsBuilder<TSettings>;
|
|
28
18
|
private readonly group;
|
|
29
19
|
private readonly timeoutMap;
|
|
30
20
|
private readonly map;
|
|
@@ -50,9 +40,8 @@ export declare class MemoryCacheAdapter<TType = unknown> implements ICacheAdapte
|
|
|
50
40
|
* ```
|
|
51
41
|
*/
|
|
52
42
|
constructor(settings: MemoryCacheAdapterSettings);
|
|
53
|
-
private
|
|
43
|
+
private getPrefix;
|
|
54
44
|
private withPrefix;
|
|
55
|
-
exists(key: string): Promise<boolean>;
|
|
56
45
|
get(key: string): Promise<TType | null>;
|
|
57
46
|
add(key: string, value: TType, ttl: TimeSpan | null): Promise<boolean>;
|
|
58
47
|
update(key: string, value: TType): Promise<boolean>;
|