@daiso-tech/core 0.26.1 → 0.28.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -3
- package/dist/async/utilities/delay/delay.d.ts +1 -12
- package/dist/async/utilities/delay/delay.js +1 -12
- package/dist/async/utilities/delay/delay.js.map +1 -1
- package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +143 -71
- package/dist/async/utilities/lazy-promise/lazy-promise.js +223 -142
- package/dist/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
- package/dist/async/utilities/retry/retry-or-fail.d.ts +2 -0
- package/dist/async/utilities/retry/retry-or-fail.js.map +1 -1
- package/dist/cache/contracts/_module-exports.d.ts +1 -0
- package/dist/cache/contracts/_module-exports.js +1 -0
- package/dist/cache/contracts/_module-exports.js.map +1 -1
- package/dist/cache/contracts/cache-adapter.contract.d.ts +19 -21
- package/dist/cache/contracts/cache-adapter.contract.js +1 -4
- package/dist/cache/contracts/cache-adapter.contract.js.map +1 -1
- package/dist/cache/contracts/cache-factory.contract.d.ts +1 -1
- package/dist/cache/contracts/cache.contract.d.ts +144 -96
- package/dist/cache/contracts/cache.contract.js +1 -2
- package/dist/cache/contracts/cache.contract.js.map +1 -1
- package/dist/cache/contracts/cache.errors.js +2 -5
- package/dist/cache/contracts/cache.errors.js.map +1 -1
- package/dist/cache/contracts/cache.events.d.ts +10 -10
- package/dist/cache/contracts/cache.events.js +2 -5
- package/dist/cache/contracts/cache.events.js.map +1 -1
- package/dist/cache/contracts/database-cache-adapter.contract.d.ts +89 -0
- package/dist/cache/contracts/database-cache-adapter.contract.js +5 -0
- package/dist/cache/contracts/database-cache-adapter.contract.js.map +1 -0
- package/dist/cache/implementations/adapters/{kysely-sqlite-cache-adapter → kysely-cache-adapter}/_module.d.ts +1 -1
- package/dist/cache/implementations/adapters/kysely-cache-adapter/_module.js +2 -0
- package/dist/cache/implementations/adapters/kysely-cache-adapter/_module.js.map +1 -0
- package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.d.ts +73 -0
- package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js +224 -0
- package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js.map +1 -0
- package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +29 -39
- package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +45 -54
- package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +17 -33
- package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +43 -52
- package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.d.ts +13 -0
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.js +38 -0
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.js.map +1 -0
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +27 -33
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +145 -197
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +14 -13
- package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js +19 -17
- package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.d.ts +13 -0
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.js +39 -0
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.js.map +1 -0
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +16 -22
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +51 -132
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/adapters/redis-cache-adapter/utilities.d.ts +13 -0
- package/dist/cache/implementations/adapters/redis-cache-adapter/utilities.js +69 -0
- package/dist/cache/implementations/adapters/redis-cache-adapter/utilities.js.map +1 -0
- package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +29 -41
- package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +46 -55
- package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
- package/dist/cache/implementations/derivables/_module-exports.d.ts +1 -1
- package/dist/cache/implementations/derivables/_module-exports.js +1 -1
- package/dist/cache/implementations/derivables/_module-exports.js.map +1 -1
- package/dist/cache/implementations/derivables/cache/_module.d.ts +1 -0
- package/dist/cache/implementations/derivables/cache/_module.js +1 -0
- package/dist/cache/implementations/derivables/cache/_module.js.map +1 -1
- package/dist/cache/implementations/derivables/cache/cache.d.ts +269 -507
- package/dist/cache/implementations/derivables/cache/cache.js +538 -822
- package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
- package/dist/cache/implementations/derivables/cache/database-cache-adapter.d.ts +21 -0
- package/dist/cache/implementations/derivables/cache/database-cache-adapter.js +110 -0
- package/dist/cache/implementations/derivables/cache/database-cache-adapter.js.map +1 -0
- package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.d.ts +9 -0
- package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.js +20 -0
- package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.js.map +1 -0
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +69 -105
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +117 -87
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
- package/dist/cache/implementations/test-utilities/_module-exports.d.ts +1 -0
- package/dist/cache/implementations/test-utilities/_module-exports.js +1 -0
- package/dist/cache/implementations/test-utilities/_module-exports.js.map +1 -1
- package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.d.ts +9 -11
- package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js +246 -247
- package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js.map +1 -1
- package/dist/cache/implementations/test-utilities/cache.test-suite.d.ts +16 -30
- package/dist/cache/implementations/test-utilities/cache.test-suite.js +271 -996
- package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
- package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.d.ts +60 -0
- package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js +698 -0
- package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js.map +1 -0
- package/dist/collection/contracts/async-collection.contract.d.ts +2 -3
- package/dist/collection/contracts/async-collection.contract.js +1 -12
- package/dist/collection/contracts/async-collection.contract.js.map +1 -1
- package/dist/collection/contracts/collection.contract.d.ts +1 -1
- package/dist/collection/contracts/collection.errors.d.ts +1 -1
- package/dist/collection/contracts/collection.errors.js +3 -6
- package/dist/collection/contracts/collection.errors.js.map +1 -1
- package/dist/collection/implementations/_shared.d.ts +4 -4
- package/dist/collection/implementations/_shared.js +6 -9
- package/dist/collection/implementations/_shared.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js +2 -2
- package/dist/collection/implementations/async-iterable-collection/_shared/async-delay-iterable.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +5 -21
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +12 -8
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
- package/dist/collection/implementations/iterable-collection/iterable-collection.d.ts +1 -1
- package/dist/collection/implementations/iterable-collection/iterable-collection.js +1 -1
- package/dist/collection/implementations/list-collection/list-collection.d.ts +1 -1
- package/dist/collection/implementations/list-collection/list-collection.js +1 -1
- package/dist/event-bus/contracts/event-bus-adapter.contract.d.ts +0 -9
- package/dist/event-bus/contracts/event-bus.contract.d.ts +5 -5
- package/dist/event-bus/contracts/event-bus.contract.js.map +1 -1
- package/dist/event-bus/contracts/event-bus.errors.js +2 -5
- package/dist/event-bus/contracts/event-bus.errors.js.map +1 -1
- package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +9 -29
- package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +14 -35
- package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
- package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts +2 -4
- package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +2 -8
- package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -1
- package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +8 -15
- package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +15 -34
- package/dist/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +85 -289
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +128 -325
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
- package/dist/event-bus/implementations/derivables/event-bus/listener-store.d.ts +13 -0
- package/dist/event-bus/implementations/derivables/event-bus/listener-store.js +42 -0
- package/dist/event-bus/implementations/derivables/event-bus/listener-store.js.map +1 -0
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +103 -86
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +135 -77
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
- package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.d.ts +2 -48
- package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js +31 -122
- package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js.map +1 -1
- package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.d.ts +2 -50
- package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js +41 -89
- package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js.map +1 -1
- package/dist/lock/contracts/database-lock-adapter.contract.d.ts +0 -9
- package/dist/lock/contracts/lock-adapter.contract.d.ts +0 -9
- package/dist/lock/contracts/lock-provider.contract.d.ts +20 -6
- package/dist/lock/contracts/lock.contract.d.ts +37 -8
- package/dist/lock/contracts/lock.errors.js +2 -5
- package/dist/lock/contracts/lock.errors.js.map +1 -1
- package/dist/lock/contracts/lock.events.js +2 -5
- package/dist/lock/contracts/lock.events.js.map +1 -1
- package/dist/lock/implementations/adapters/_module-exports.d.ts +1 -0
- package/dist/lock/implementations/adapters/_module-exports.js +1 -0
- package/dist/lock/implementations/adapters/_module-exports.js.map +1 -1
- package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts +0 -5
- package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +2 -21
- package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.d.ts +11 -16
- package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js +11 -20
- package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.d.ts +7 -26
- package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js +7 -35
- package/dist/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +13 -20
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +13 -37
- package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/no-op-lock-adapter/_module.d.ts +1 -0
- package/dist/lock/implementations/adapters/no-op-lock-adapter/_module.js +2 -0
- package/dist/lock/implementations/adapters/no-op-lock-adapter/_module.js.map +1 -0
- package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.d.ts +17 -0
- package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js +24 -0
- package/dist/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js.map +1 -0
- package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.d.ts +4 -22
- package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js +4 -31
- package/dist/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.d.ts +14 -20
- package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js +12 -21
- package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.d.ts +0 -2
- package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js +2 -8
- package/dist/lock/implementations/derivables/lock-provider/database-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js +1 -5
- package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +181 -369
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +259 -407
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.d.ts +15 -17
- package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js +42 -40
- package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock-state.d.ts +3 -3
- package/dist/lock/implementations/derivables/lock-provider/lock-state.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +194 -680
- package/dist/lock/implementations/derivables/lock-provider/lock.js +284 -744
- package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +106 -143
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +173 -101
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
- package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.d.ts +4 -5
- package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js +172 -247
- package/dist/lock/implementations/test-utilities/database-lock-adapter.test-suite.js.map +1 -1
- package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.d.ts +5 -8
- package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js +93 -98
- package/dist/lock/implementations/test-utilities/lock-adapter.test-suite.js.map +1 -1
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.d.ts +15 -20
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +295 -145
- package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
- package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.js +1 -2
- package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.js.map +1 -1
- package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.d.ts +3 -2
- package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.js +2 -1
- package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.js.map +1 -1
- package/dist/serde/implementations/adapters/redis-serde/redis-serde.js +1 -2
- package/dist/serde/implementations/adapters/redis-serde/redis-serde.js.map +1 -1
- package/dist/serde/implementations/adapters/sql-serde/sql-serde.js +1 -2
- package/dist/serde/implementations/adapters/sql-serde/sql-serde.js.map +1 -1
- package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.d.ts +2 -2
- package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js +2 -2
- package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js.map +1 -1
- package/dist/serde/implementations/derivables/serde.d.ts +14 -14
- package/dist/serde/implementations/derivables/serde.js +14 -15
- package/dist/serde/implementations/derivables/serde.js.map +1 -1
- package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.d.ts +4 -4
- package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.js +3 -3
- package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.d.ts +5 -5
- package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.js +4 -4
- package/dist/utilities/_module-exports.d.ts +2 -3
- package/dist/utilities/_module-exports.js +2 -3
- package/dist/utilities/_module-exports.js.map +1 -1
- package/dist/utilities/classes/_module.d.ts +4 -0
- package/dist/utilities/classes/_module.js +5 -0
- package/dist/utilities/classes/_module.js.map +1 -0
- package/dist/utilities/classes/key-prefixer/_module.d.ts +2 -0
- package/dist/utilities/classes/key-prefixer/_module.js +3 -0
- package/dist/utilities/classes/key-prefixer/_module.js.map +1 -0
- package/dist/utilities/classes/key-prefixer/key-prefixer.contract.d.ts +28 -0
- package/dist/utilities/classes/key-prefixer/key-prefixer.contract.js +5 -0
- package/dist/utilities/classes/key-prefixer/key-prefixer.contract.js.map +1 -0
- package/dist/utilities/classes/key-prefixer/key-prefixer.d.ts +73 -0
- package/dist/utilities/classes/key-prefixer/key-prefixer.js +135 -0
- package/dist/utilities/classes/key-prefixer/key-prefixer.js.map +1 -0
- package/dist/utilities/classes/kysely-table-name-transformer-plugin/_module.d.ts +1 -0
- package/dist/utilities/classes/kysely-table-name-transformer-plugin/_module.js +2 -0
- package/dist/utilities/classes/kysely-table-name-transformer-plugin/_module.js.map +1 -0
- package/dist/utilities/classes/kysely-table-name-transformer-plugin/kysely-table-name-transformer-plugin.js.map +1 -0
- package/dist/utilities/classes/pipeline/_module.d.ts +1 -0
- package/dist/utilities/classes/pipeline/_module.js +2 -0
- package/dist/utilities/classes/pipeline/_module.js.map +1 -0
- package/dist/utilities/{pipeline → classes/pipeline}/pipeline.d.ts +3 -2
- package/dist/utilities/{pipeline → classes/pipeline}/pipeline.js +3 -2
- package/dist/utilities/classes/pipeline/pipeline.js.map +1 -0
- package/dist/utilities/classes/time-span/_module.d.ts +1 -0
- package/dist/utilities/classes/time-span/_module.js +2 -0
- package/dist/utilities/classes/time-span/_module.js.map +1 -0
- package/dist/utilities/{time-span → classes/time-span}/time-span.d.ts +2 -1
- package/dist/utilities/{time-span → classes/time-span}/time-span.js +1 -0
- package/dist/utilities/classes/time-span/time-span.js.map +1 -0
- package/dist/utilities/{_constants.d.ts → constants.d.ts} +0 -3
- package/dist/utilities/constants.js +5 -0
- package/dist/utilities/constants.js.map +1 -0
- package/dist/utilities/contracts/_module.d.ts +3 -1
- package/dist/utilities/contracts/_module.js +3 -1
- package/dist/utilities/contracts/_module.js.map +1 -1
- package/dist/utilities/contracts/prunable.contract.d.ts +11 -0
- package/dist/utilities/contracts/prunable.contract.js +5 -0
- package/dist/utilities/contracts/prunable.contract.js.map +1 -0
- package/dist/utilities/contracts/sqlite-database.contract.d.ts +26 -0
- package/dist/utilities/contracts/sqlite-database.contract.js +5 -0
- package/dist/utilities/contracts/sqlite-database.contract.js.map +1 -0
- package/dist/utilities/functions.d.ts +34 -2
- package/dist/utilities/functions.js +72 -4
- package/dist/utilities/functions.js.map +1 -1
- package/dist/utilities/types.d.ts +49 -16
- package/package.json +14 -13
- package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.js +0 -2
- package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.js.map +0 -1
- package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.d.ts +0 -61
- package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +0 -318
- package/dist/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +0 -1
- package/dist/utilities/_constants.js +0 -8
- package/dist/utilities/_constants.js.map +0 -1
- package/dist/utilities/kysely/_module.d.ts +0 -1
- package/dist/utilities/kysely/_module.js +0 -2
- package/dist/utilities/kysely/_module.js.map +0 -1
- package/dist/utilities/kysely/kysely-table-name-transformer-plugin.js.map +0 -1
- package/dist/utilities/pipeline/_module.d.ts +0 -1
- package/dist/utilities/pipeline/_module.js +0 -2
- package/dist/utilities/pipeline/_module.js.map +0 -1
- package/dist/utilities/pipeline/pipeline.js.map +0 -1
- package/dist/utilities/time-span/_module.d.ts +0 -1
- package/dist/utilities/time-span/_module.js +0 -2
- package/dist/utilities/time-span/_module.js.map +0 -1
- package/dist/utilities/time-span/time-span.js.map +0 -1
- /package/dist/utilities/{kysely → classes/kysely-table-name-transformer-plugin}/kysely-table-name-transformer-plugin.d.ts +0 -0
- /package/dist/utilities/{kysely → classes/kysely-table-name-transformer-plugin}/kysely-table-name-transformer-plugin.js +0 -0
|
@@ -1,18 +1,53 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Cache
|
|
3
3
|
*/
|
|
4
|
-
import { TypeCacheError, UnexpectedCacheError, } from "../../../../cache/contracts/
|
|
5
|
-
import {} from "../../../../cache/
|
|
6
|
-
import { resolveOneOrMoreStr, } from "../../../../utilities/_module-exports.js";
|
|
4
|
+
import { TypeCacheError, UnexpectedCacheError, } from "../../../../cache/contracts/_module-exports.js";
|
|
5
|
+
import { MongodbCacheAdapterSerde } from "../../../../cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.js";
|
|
7
6
|
import { MongoServerError } from "mongodb";
|
|
8
|
-
import {
|
|
7
|
+
import {} from "mongodb";
|
|
8
|
+
import escapeStringRegexp from "escape-string-regexp";
|
|
9
9
|
/**
|
|
10
10
|
* To utilize the <i>MongodbCacheAdapter</i>, you must install the <i>"mongodb"</i> package and supply a <i>{@link ISerde | ISerde<string> }</i>, with an adapter like <i>{@link SuperJsonSerdeAdapter}</i>.
|
|
11
11
|
*
|
|
12
|
-
* IMPORT_PATH: ```"@daiso-tech/core/cache/
|
|
12
|
+
* IMPORT_PATH: ```"@daiso-tech/core/cache/adapters"```
|
|
13
13
|
* @group Adapters
|
|
14
14
|
*/
|
|
15
15
|
export class MongodbCacheAdapter {
|
|
16
|
+
static filterUnexpiredKeys(keys) {
|
|
17
|
+
const hasNoExpiration = {
|
|
18
|
+
expiration: {
|
|
19
|
+
$eq: null,
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
const hasExpiration = {
|
|
23
|
+
expiration: {
|
|
24
|
+
$ne: null,
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
const hasNotExpired = {
|
|
28
|
+
expiration: {
|
|
29
|
+
$gt: new Date(),
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
const keysMatch = {
|
|
33
|
+
key: {
|
|
34
|
+
$in: keys,
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
return {
|
|
38
|
+
$and: [
|
|
39
|
+
keysMatch,
|
|
40
|
+
{
|
|
41
|
+
$or: [
|
|
42
|
+
hasNoExpiration,
|
|
43
|
+
{
|
|
44
|
+
$and: [hasExpiration, hasNotExpired],
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
},
|
|
48
|
+
],
|
|
49
|
+
};
|
|
50
|
+
}
|
|
16
51
|
static isMongodbIncrementError(value) {
|
|
17
52
|
return (value instanceof MongoServerError &&
|
|
18
53
|
value.code !== undefined &&
|
|
@@ -20,70 +55,51 @@ export class MongodbCacheAdapter {
|
|
|
20
55
|
typeof value.code === "number") &&
|
|
21
56
|
String(value.code) === "14");
|
|
22
57
|
}
|
|
23
|
-
|
|
24
|
-
group;
|
|
25
|
-
baseSerde;
|
|
26
|
-
database;
|
|
58
|
+
serde;
|
|
27
59
|
collection;
|
|
28
|
-
collectionName;
|
|
29
|
-
collectionSettings;
|
|
30
60
|
/**
|
|
31
61
|
* @example
|
|
32
62
|
* ```ts
|
|
33
|
-
* import { MongodbCacheAdapter } from "@daiso-tech/core/cache/
|
|
34
|
-
* import { Serde } from "@daiso-tech/core/serde
|
|
35
|
-
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/
|
|
63
|
+
* import { MongodbCacheAdapter } from "@daiso-tech/core/cache/adapters";
|
|
64
|
+
* import { Serde } from "@daiso-tech/core/serde";
|
|
65
|
+
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters"
|
|
36
66
|
* import { MongoClient } from "mongodb";
|
|
37
67
|
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* await cacheAdapter.init();
|
|
48
|
-
* })();
|
|
68
|
+
* const client = await MongoClient.connect("YOUR_MONGODB_CONNECTION_STRING");
|
|
69
|
+
* const database = client.db("database");
|
|
70
|
+
* const serde = new Serde(new SuperJsonSerdeAdapter());
|
|
71
|
+
* const cacheAdapter = new MongodbCacheAdapter({
|
|
72
|
+
* database,
|
|
73
|
+
* serde,
|
|
74
|
+
* });
|
|
75
|
+
* // You need initialize the adapter once before using it.
|
|
76
|
+
* await cacheAdapter.init();
|
|
49
77
|
* ```
|
|
50
78
|
*/
|
|
51
79
|
constructor(settings) {
|
|
52
|
-
const { collectionName = "cache", collectionSettings, database, serde,
|
|
53
|
-
this.collectionName = collectionName;
|
|
54
|
-
this.database = database;
|
|
80
|
+
const { collectionName = "cache", collectionSettings, database, serde, } = settings;
|
|
55
81
|
this.collection = database.collection(collectionName, collectionSettings);
|
|
56
|
-
this.
|
|
57
|
-
this.baseSerde = serde;
|
|
58
|
-
this.group = rootGroup;
|
|
59
|
-
this.mongodbSerde = new MongodbSerde(this.baseSerde);
|
|
60
|
-
}
|
|
61
|
-
getGroup() {
|
|
62
|
-
return this.group;
|
|
63
|
-
}
|
|
64
|
-
withGroup(group) {
|
|
65
|
-
return new MongodbCacheAdapter({
|
|
66
|
-
database: this.database,
|
|
67
|
-
serde: this.baseSerde,
|
|
68
|
-
collectionName: this.collectionName,
|
|
69
|
-
collectionSettings: this.collectionSettings,
|
|
70
|
-
rootGroup: resolveOneOrMoreStr([this.group, group]),
|
|
71
|
-
});
|
|
82
|
+
this.serde = new MongodbCacheAdapterSerde(serde);
|
|
72
83
|
}
|
|
73
84
|
/**
|
|
74
85
|
* Creates all related indexes.
|
|
75
86
|
* Note the <i>init</i> method needs to be called before using the adapter.
|
|
76
87
|
*/
|
|
77
88
|
async init() {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
89
|
+
try {
|
|
90
|
+
await this.collection.createIndex({
|
|
91
|
+
key: 1,
|
|
92
|
+
group: 1,
|
|
93
|
+
}, {
|
|
94
|
+
unique: true,
|
|
95
|
+
});
|
|
96
|
+
await this.collection.createIndex("expiration", {
|
|
97
|
+
expireAfterSeconds: 0,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
/* Empty */
|
|
102
|
+
}
|
|
87
103
|
}
|
|
88
104
|
/**
|
|
89
105
|
* Removes the collection where the cache values are stored and all it's related indexes.
|
|
@@ -91,50 +107,73 @@ export class MongodbCacheAdapter {
|
|
|
91
107
|
*/
|
|
92
108
|
async deInit() {
|
|
93
109
|
await this.collection.dropIndexes();
|
|
94
|
-
await this.
|
|
110
|
+
await this.collection.drop();
|
|
111
|
+
}
|
|
112
|
+
getDocValue(document) {
|
|
113
|
+
if (document === null) {
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
const { expiration, value } = document;
|
|
117
|
+
if (expiration === null) {
|
|
118
|
+
return this.serde.deserialize(value);
|
|
119
|
+
}
|
|
120
|
+
const hasExpired = expiration.getTime() <= new Date().getTime();
|
|
121
|
+
if (hasExpired) {
|
|
122
|
+
return null;
|
|
123
|
+
}
|
|
124
|
+
return this.serde.deserialize(value);
|
|
95
125
|
}
|
|
96
126
|
async get(key) {
|
|
97
127
|
const document = await this.collection.findOne({
|
|
98
128
|
key,
|
|
99
|
-
group: this.group,
|
|
100
129
|
}, {
|
|
101
130
|
projection: {
|
|
102
131
|
_id: 0,
|
|
103
|
-
|
|
132
|
+
expiration: 1,
|
|
133
|
+
value: 1,
|
|
134
|
+
},
|
|
135
|
+
});
|
|
136
|
+
return this.getDocValue(document);
|
|
137
|
+
}
|
|
138
|
+
async getAndRemove(key) {
|
|
139
|
+
const document = await this.collection.findOneAndDelete({
|
|
140
|
+
key,
|
|
141
|
+
}, {
|
|
142
|
+
projection: {
|
|
143
|
+
_id: 0,
|
|
144
|
+
expiration: 1,
|
|
104
145
|
value: 1,
|
|
105
146
|
},
|
|
106
147
|
});
|
|
148
|
+
return this.getDocValue(document);
|
|
149
|
+
}
|
|
150
|
+
isDocExpired(document) {
|
|
107
151
|
if (document === null) {
|
|
108
|
-
return
|
|
109
|
-
}
|
|
110
|
-
const { expiresAt, value } = document;
|
|
111
|
-
if (expiresAt === null) {
|
|
112
|
-
return await this.mongodbSerde.deserialize(value);
|
|
152
|
+
return true;
|
|
113
153
|
}
|
|
114
|
-
const
|
|
115
|
-
if (
|
|
116
|
-
return
|
|
154
|
+
const { expiration } = document;
|
|
155
|
+
if (expiration === null) {
|
|
156
|
+
return false;
|
|
117
157
|
}
|
|
118
|
-
|
|
158
|
+
const hasExpired = expiration.getTime() <= new Date().getTime();
|
|
159
|
+
return hasExpired;
|
|
119
160
|
}
|
|
120
161
|
async add(key, value, ttl) {
|
|
121
162
|
const hasExpirationQuery = {
|
|
122
|
-
$ne: ["$
|
|
163
|
+
$ne: ["$expiration", null],
|
|
123
164
|
};
|
|
124
165
|
const hasExpiredQuery = {
|
|
125
|
-
$lte: ["$
|
|
166
|
+
$lte: ["$expiration", new Date()],
|
|
126
167
|
};
|
|
127
168
|
const hasExpirationAndExpiredQuery = {
|
|
128
169
|
$and: [hasExpirationQuery, hasExpiredQuery],
|
|
129
170
|
};
|
|
130
|
-
const serializedValue = this.
|
|
171
|
+
const serializedValue = this.serde.serialize(value);
|
|
131
172
|
const document = await this.collection.findOneAndUpdate({
|
|
132
173
|
key,
|
|
133
|
-
group: this.group,
|
|
134
174
|
}, [
|
|
135
175
|
{
|
|
136
176
|
$set: {
|
|
137
|
-
group: this.group,
|
|
138
177
|
value: {
|
|
139
178
|
$cond: {
|
|
140
179
|
if: hasExpirationAndExpiredQuery,
|
|
@@ -142,11 +181,11 @@ export class MongodbCacheAdapter {
|
|
|
142
181
|
else: "$value",
|
|
143
182
|
},
|
|
144
183
|
},
|
|
145
|
-
|
|
184
|
+
expiration: {
|
|
146
185
|
$cond: {
|
|
147
186
|
if: hasExpirationAndExpiredQuery,
|
|
148
187
|
then: ttl?.toEndDate() ?? null,
|
|
149
|
-
else: "$
|
|
188
|
+
else: "$expiration",
|
|
150
189
|
},
|
|
151
190
|
},
|
|
152
191
|
},
|
|
@@ -155,156 +194,50 @@ export class MongodbCacheAdapter {
|
|
|
155
194
|
upsert: true,
|
|
156
195
|
projection: {
|
|
157
196
|
_id: 0,
|
|
158
|
-
|
|
197
|
+
expiration: 1,
|
|
159
198
|
},
|
|
160
199
|
});
|
|
161
|
-
|
|
162
|
-
return true;
|
|
163
|
-
}
|
|
164
|
-
const { expiresAt } = document;
|
|
165
|
-
if (expiresAt === null) {
|
|
166
|
-
return false;
|
|
167
|
-
}
|
|
168
|
-
const hasExpired = expiresAt.getTime() <= new Date().getTime();
|
|
169
|
-
return hasExpired;
|
|
170
|
-
}
|
|
171
|
-
async update(key, value) {
|
|
172
|
-
const hasNoExpiration = {
|
|
173
|
-
expiresAt: {
|
|
174
|
-
$eq: null,
|
|
175
|
-
},
|
|
176
|
-
};
|
|
177
|
-
const hasExpiration = {
|
|
178
|
-
expiresAt: {
|
|
179
|
-
$ne: null,
|
|
180
|
-
},
|
|
181
|
-
};
|
|
182
|
-
const hasNotExpired = {
|
|
183
|
-
expiresAt: {
|
|
184
|
-
$lte: new Date(),
|
|
185
|
-
},
|
|
186
|
-
};
|
|
187
|
-
const document = await this.collection.findOneAndUpdate({
|
|
188
|
-
key,
|
|
189
|
-
group: this.group,
|
|
190
|
-
$or: [
|
|
191
|
-
hasNoExpiration,
|
|
192
|
-
{
|
|
193
|
-
$and: [hasExpiration, hasNotExpired],
|
|
194
|
-
},
|
|
195
|
-
],
|
|
196
|
-
}, {
|
|
197
|
-
$set: {
|
|
198
|
-
value: this.mongodbSerde.serialize(value),
|
|
199
|
-
},
|
|
200
|
-
}, {
|
|
201
|
-
projection: {
|
|
202
|
-
_id: 0,
|
|
203
|
-
expiresAt: 1,
|
|
204
|
-
},
|
|
205
|
-
});
|
|
206
|
-
if (document === null) {
|
|
207
|
-
return false;
|
|
208
|
-
}
|
|
209
|
-
const { expiresAt } = document;
|
|
210
|
-
if (expiresAt === null) {
|
|
211
|
-
return true;
|
|
212
|
-
}
|
|
213
|
-
const hasExpired = expiresAt.getTime() <= new Date().getTime();
|
|
214
|
-
return !hasExpired;
|
|
200
|
+
return this.isDocExpired(document);
|
|
215
201
|
}
|
|
216
202
|
async put(key, value, ttl) {
|
|
217
203
|
const document = await this.collection.findOneAndUpdate({
|
|
218
204
|
key,
|
|
219
|
-
group: this.group,
|
|
220
205
|
}, {
|
|
221
206
|
$set: {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
expiresAt: ttl?.toEndDate() ?? null,
|
|
207
|
+
value: this.serde.serialize(value),
|
|
208
|
+
expiration: ttl?.toEndDate() ?? null,
|
|
225
209
|
},
|
|
226
210
|
}, {
|
|
227
211
|
upsert: true,
|
|
228
212
|
projection: {
|
|
229
213
|
_id: 0,
|
|
230
|
-
|
|
214
|
+
expiration: 1,
|
|
231
215
|
},
|
|
232
216
|
});
|
|
233
|
-
|
|
234
|
-
return false;
|
|
235
|
-
}
|
|
236
|
-
const { expiresAt } = document;
|
|
237
|
-
if (expiresAt === null) {
|
|
238
|
-
return true;
|
|
239
|
-
}
|
|
240
|
-
const hasExpired = expiresAt.getTime() <= new Date().getTime();
|
|
241
|
-
return !hasExpired;
|
|
217
|
+
return !this.isDocExpired(document);
|
|
242
218
|
}
|
|
243
|
-
async
|
|
244
|
-
const
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
}, {
|
|
248
|
-
projection: {
|
|
249
|
-
_id: 0,
|
|
250
|
-
expiresAt: 1,
|
|
219
|
+
async update(key, value) {
|
|
220
|
+
const updateResult = await this.collection.updateOne(MongodbCacheAdapter.filterUnexpiredKeys([key]), {
|
|
221
|
+
$set: {
|
|
222
|
+
value: this.serde.serialize(value),
|
|
251
223
|
},
|
|
252
224
|
});
|
|
253
|
-
if (
|
|
254
|
-
|
|
255
|
-
}
|
|
256
|
-
const { expiresAt } = document;
|
|
257
|
-
if (expiresAt === null) {
|
|
258
|
-
return true;
|
|
225
|
+
if (!updateResult.acknowledged) {
|
|
226
|
+
throw new UnexpectedCacheError("Mongodb update was not acknowledged");
|
|
259
227
|
}
|
|
260
|
-
|
|
261
|
-
return !hasExpired;
|
|
228
|
+
return updateResult.modifiedCount > 0;
|
|
262
229
|
}
|
|
263
230
|
async increment(key, value) {
|
|
264
231
|
try {
|
|
265
|
-
const
|
|
266
|
-
expiresAt: {
|
|
267
|
-
$eq: null,
|
|
268
|
-
},
|
|
269
|
-
};
|
|
270
|
-
const hasExpiration = {
|
|
271
|
-
expiresAt: {
|
|
272
|
-
$ne: null,
|
|
273
|
-
},
|
|
274
|
-
};
|
|
275
|
-
const hasNotExpired = {
|
|
276
|
-
expiresAt: {
|
|
277
|
-
$lte: new Date(),
|
|
278
|
-
},
|
|
279
|
-
};
|
|
280
|
-
const document = await this.collection.findOneAndUpdate({
|
|
281
|
-
key,
|
|
282
|
-
group: this.group,
|
|
283
|
-
$or: [
|
|
284
|
-
hasNoExpiration,
|
|
285
|
-
{
|
|
286
|
-
$and: [hasExpiration, hasNotExpired],
|
|
287
|
-
},
|
|
288
|
-
],
|
|
289
|
-
}, {
|
|
232
|
+
const updateResult = await this.collection.updateOne(MongodbCacheAdapter.filterUnexpiredKeys([key]), {
|
|
290
233
|
$inc: {
|
|
291
234
|
value,
|
|
292
235
|
},
|
|
293
|
-
}, {
|
|
294
|
-
projection: {
|
|
295
|
-
_id: 0,
|
|
296
|
-
expiresAt: 1,
|
|
297
|
-
},
|
|
298
236
|
});
|
|
299
|
-
if (
|
|
300
|
-
|
|
237
|
+
if (!updateResult.acknowledged) {
|
|
238
|
+
throw new UnexpectedCacheError("Mongodb update was not acknowledged");
|
|
301
239
|
}
|
|
302
|
-
|
|
303
|
-
if (expiresAt === null) {
|
|
304
|
-
return true;
|
|
305
|
-
}
|
|
306
|
-
const hasExpired = expiresAt.getTime() <= new Date().getTime();
|
|
307
|
-
return !hasExpired;
|
|
240
|
+
return updateResult.modifiedCount > 0;
|
|
308
241
|
}
|
|
309
242
|
catch (error) {
|
|
310
243
|
if (MongodbCacheAdapter.isMongodbIncrementError(error)) {
|
|
@@ -313,9 +246,24 @@ export class MongodbCacheAdapter {
|
|
|
313
246
|
throw error;
|
|
314
247
|
}
|
|
315
248
|
}
|
|
316
|
-
async
|
|
249
|
+
async removeMany(keys) {
|
|
250
|
+
const deleteResult = await this.collection.deleteMany(MongodbCacheAdapter.filterUnexpiredKeys(keys));
|
|
251
|
+
if (!deleteResult.acknowledged) {
|
|
252
|
+
throw new UnexpectedCacheError("Mongodb deletion was not acknowledged");
|
|
253
|
+
}
|
|
254
|
+
return deleteResult.deletedCount > 0;
|
|
255
|
+
}
|
|
256
|
+
async removeAll() {
|
|
257
|
+
const mongodbResult = await this.collection.deleteMany();
|
|
258
|
+
if (!mongodbResult.acknowledged) {
|
|
259
|
+
throw new UnexpectedCacheError("Mongodb deletion was not acknowledged");
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
async removeByKeyPrefix(prefix) {
|
|
317
263
|
const mongodbResult = await this.collection.deleteMany({
|
|
318
|
-
|
|
264
|
+
key: {
|
|
265
|
+
$regex: new RegExp(`^${escapeStringRegexp(prefix)}`),
|
|
266
|
+
},
|
|
319
267
|
});
|
|
320
268
|
if (!mongodbResult.acknowledged) {
|
|
321
269
|
throw new UnexpectedCacheError("Mongodb deletion was not acknowledged");
|
package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongodb-cache-adapter.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACH,cAAc,EACd,oBAAoB,
|
|
1
|
+
{"version":3,"file":"mongodb-cache-adapter.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Cache
|
|
3
3
|
*/
|
|
4
|
-
import type
|
|
4
|
+
import { type ICacheAdapter } from "../../../../cache/contracts/_module-exports.js";
|
|
5
5
|
import type { TimeSpan } from "../../../../utilities/_module-exports.js";
|
|
6
6
|
/**
|
|
7
|
-
* This <i>NoOpCacheAdapter</i> will do nothing and is used for easily mocking {@link
|
|
7
|
+
* This <i>NoOpCacheAdapter</i> will do nothing and is used for easily mocking <i>{@link ICache}</i> for testing.
|
|
8
8
|
*
|
|
9
|
-
*
|
|
9
|
+
*
|
|
10
|
+
* IMPORT_PATH: ```"@daiso-tech/core/cache/adapters"```
|
|
10
11
|
* @group Adapters
|
|
11
12
|
*/
|
|
12
|
-
export declare class NoOpCacheAdapter<TType
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
update(_key: string, _value: TType):
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
13
|
+
export declare class NoOpCacheAdapter<TType> implements ICacheAdapter<TType> {
|
|
14
|
+
get(_key: string): PromiseLike<TType | null>;
|
|
15
|
+
getAndRemove(_key: string): PromiseLike<TType | null>;
|
|
16
|
+
add(_key: string, _value: TType, _ttl: TimeSpan | null): PromiseLike<boolean>;
|
|
17
|
+
put(_key: string, _value: TType, _ttl: TimeSpan | null): PromiseLike<boolean>;
|
|
18
|
+
update(_key: string, _value: TType): PromiseLike<boolean>;
|
|
19
|
+
increment(_key: string, _value: number): PromiseLike<boolean>;
|
|
20
|
+
removeMany(_keys: string[]): PromiseLike<boolean>;
|
|
21
|
+
removeAll(): PromiseLike<void>;
|
|
22
|
+
removeByKeyPrefix(_prefix: string): PromiseLike<void>;
|
|
22
23
|
}
|
|
@@ -1,38 +1,40 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Cache
|
|
3
3
|
*/
|
|
4
|
+
import {} from "../../../../cache/contracts/_module-exports.js";
|
|
4
5
|
/**
|
|
5
|
-
* This <i>NoOpCacheAdapter</i> will do nothing and is used for easily mocking {@link
|
|
6
|
+
* This <i>NoOpCacheAdapter</i> will do nothing and is used for easily mocking <i>{@link ICache}</i> for testing.
|
|
6
7
|
*
|
|
7
|
-
*
|
|
8
|
+
*
|
|
9
|
+
* IMPORT_PATH: ```"@daiso-tech/core/cache/adapters"```
|
|
8
10
|
* @group Adapters
|
|
9
11
|
*/
|
|
10
12
|
export class NoOpCacheAdapter {
|
|
11
|
-
getGroup() {
|
|
12
|
-
return "";
|
|
13
|
-
}
|
|
14
|
-
withGroup(_group) {
|
|
15
|
-
return new NoOpCacheAdapter();
|
|
16
|
-
}
|
|
17
13
|
get(_key) {
|
|
18
14
|
return Promise.resolve(null);
|
|
19
15
|
}
|
|
20
|
-
|
|
21
|
-
return Promise.resolve(
|
|
16
|
+
getAndRemove(_key) {
|
|
17
|
+
return Promise.resolve(null);
|
|
22
18
|
}
|
|
23
|
-
|
|
24
|
-
return Promise.resolve(
|
|
19
|
+
add(_key, _value, _ttl) {
|
|
20
|
+
return Promise.resolve(true);
|
|
25
21
|
}
|
|
26
22
|
put(_key, _value, _ttl) {
|
|
27
|
-
return Promise.resolve(
|
|
23
|
+
return Promise.resolve(true);
|
|
28
24
|
}
|
|
29
|
-
|
|
30
|
-
return Promise.resolve(
|
|
25
|
+
update(_key, _value) {
|
|
26
|
+
return Promise.resolve(true);
|
|
31
27
|
}
|
|
32
28
|
increment(_key, _value) {
|
|
33
|
-
return Promise.resolve(
|
|
29
|
+
return Promise.resolve(true);
|
|
30
|
+
}
|
|
31
|
+
removeMany(_keys) {
|
|
32
|
+
return Promise.resolve(true);
|
|
33
|
+
}
|
|
34
|
+
removeAll() {
|
|
35
|
+
return Promise.resolve();
|
|
34
36
|
}
|
|
35
|
-
|
|
37
|
+
removeByKeyPrefix(_prefix) {
|
|
36
38
|
return Promise.resolve();
|
|
37
39
|
}
|
|
38
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"no-op-cache-adapter.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"no-op-cache-adapter.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAIN,MAAM,sCAAsC,CAAC;AAG9C;;;;;;GAMG;AACH,MAAM,OAAO,gBAAgB;IACzB,GAAG,CAAC,IAAY;QACZ,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,YAAY,CAAC,IAAY;QACrB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,GAAG,CACC,IAAY,EACZ,MAAa,EACb,IAAqB;QAErB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,GAAG,CACC,IAAY,EACZ,MAAa,EACb,IAAqB;QAErB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,MAAM,CAAC,IAAY,EAAE,MAAa;QAC9B,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,IAAY,EAAE,MAAc;QAClC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,UAAU,CAAC,KAAe;QACtB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,SAAS;QACL,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,iBAAiB,CAAC,OAAe;QAC7B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;CACJ"}
|
package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Serde
|
|
3
|
+
*/
|
|
4
|
+
import { type ISerde } from "../../../../serde/contracts/_module-exports.js";
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export declare class RedisCacheAdapterSerde implements ISerde<string> {
|
|
9
|
+
private readonly serde;
|
|
10
|
+
constructor(serde: ISerde<string>);
|
|
11
|
+
serialize<TValue>(value: TValue): string;
|
|
12
|
+
deserialize<TValue>(value: string): TValue;
|
|
13
|
+
}
|