@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
|
@@ -6,7 +6,7 @@ import { type IDeinitizable, type IInitizable, TimeSpan } from "../../../../util
|
|
|
6
6
|
import type { Client } from "@libsql/client";
|
|
7
7
|
/**
|
|
8
8
|
*
|
|
9
|
-
* IMPORT_PATH: ```"@daiso-tech/core/lock/
|
|
9
|
+
* IMPORT_PATH: ```"@daiso-tech/core/lock/adapters"```
|
|
10
10
|
* @group Adapters
|
|
11
11
|
*/
|
|
12
12
|
export type LibsqlLockAdapterSettings = {
|
|
@@ -14,7 +14,6 @@ export type LibsqlLockAdapterSettings = {
|
|
|
14
14
|
tableName?: string;
|
|
15
15
|
expiredKeysRemovalInterval?: TimeSpan;
|
|
16
16
|
shouldRemoveExpiredKeys?: boolean;
|
|
17
|
-
rootGroup: string;
|
|
18
17
|
};
|
|
19
18
|
/**
|
|
20
19
|
* To utilize the <i>LibsqlLockAdapter</i>, you must install the <i>"@libsql/client"</i> package.
|
|
@@ -22,7 +21,7 @@ export type LibsqlLockAdapterSettings = {
|
|
|
22
21
|
* Note in order to use <i>LibsqlLockAdapter</i> correctly, ensure you use a single, consistent database across all server instances.
|
|
23
22
|
* This means you can't use libsql embedded replicas.
|
|
24
23
|
*
|
|
25
|
-
* IMPORT_PATH: ```"@daiso-tech/core/lock/
|
|
24
|
+
* IMPORT_PATH: ```"@daiso-tech/core/lock/adapters"```
|
|
26
25
|
* @group Adapters
|
|
27
26
|
*/
|
|
28
27
|
export declare class LibsqlLockAdapter implements IDatabaseLockAdapter, IDeinitizable, IInitizable {
|
|
@@ -30,28 +29,26 @@ export declare class LibsqlLockAdapter implements IDatabaseLockAdapter, IDeiniti
|
|
|
30
29
|
/***
|
|
31
30
|
* @example
|
|
32
31
|
* ```ts
|
|
33
|
-
* import {
|
|
32
|
+
* import { LibsqlLockAdapter } from "@daiso-tech/core/lock/adapters";
|
|
34
33
|
* import { createClient } from "@libsql/client";
|
|
35
34
|
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* const lockAdapter = new LibsqlCacheAdapter({
|
|
35
|
+
* const database = createClient({ url: "file:local.db" });
|
|
36
|
+
* const lockAdapter = new LibsqlLockAdapter({
|
|
39
37
|
* database,
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
* })();
|
|
38
|
+
* });
|
|
39
|
+
* // You need initialize the adapter once before using it.
|
|
40
|
+
* await lockAdapter.init();
|
|
44
41
|
* ```
|
|
45
42
|
*/
|
|
46
43
|
constructor(settings: LibsqlLockAdapterSettings);
|
|
47
44
|
removeExpiredKeys(): Promise<void>;
|
|
48
45
|
/**
|
|
49
|
-
* Removes the table where the
|
|
50
|
-
* Note all
|
|
46
|
+
* Removes the table where the lock keys are stored and removes the table indexes.
|
|
47
|
+
* Note all lock data will be removed.
|
|
51
48
|
*/
|
|
52
49
|
deInit(): Promise<void>;
|
|
53
50
|
/**
|
|
54
|
-
* Creates the table where the
|
|
51
|
+
* Creates the table where the lock keys are stored and it's related indexes.
|
|
55
52
|
* Note the <i>init</i> method needs to be called before using the adapter.
|
|
56
53
|
*/
|
|
57
54
|
init(): Promise<void>;
|
|
@@ -60,6 +57,4 @@ export declare class LibsqlLockAdapter implements IDatabaseLockAdapter, IDeiniti
|
|
|
60
57
|
remove(key: string, owner: string | null): Promise<void>;
|
|
61
58
|
refresh(key: string, owner: string, expiration: Date): Promise<number>;
|
|
62
59
|
find(key: string): Promise<ILockData | null>;
|
|
63
|
-
getGroup(): string;
|
|
64
|
-
withGroup(group: string): IDatabaseLockAdapter;
|
|
65
60
|
}
|
|
@@ -12,7 +12,7 @@ import { KyselyLockAdapter } from "../../../../lock/implementations/adapters/kys
|
|
|
12
12
|
* Note in order to use <i>LibsqlLockAdapter</i> correctly, ensure you use a single, consistent database across all server instances.
|
|
13
13
|
* This means you can't use libsql embedded replicas.
|
|
14
14
|
*
|
|
15
|
-
* IMPORT_PATH: ```"@daiso-tech/core/lock/
|
|
15
|
+
* IMPORT_PATH: ```"@daiso-tech/core/lock/adapters"```
|
|
16
16
|
* @group Adapters
|
|
17
17
|
*/
|
|
18
18
|
export class LibsqlLockAdapter {
|
|
@@ -20,21 +20,19 @@ export class LibsqlLockAdapter {
|
|
|
20
20
|
/***
|
|
21
21
|
* @example
|
|
22
22
|
* ```ts
|
|
23
|
-
* import {
|
|
23
|
+
* import { LibsqlLockAdapter } from "@daiso-tech/core/lock/adapters";
|
|
24
24
|
* import { createClient } from "@libsql/client";
|
|
25
25
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
* const lockAdapter = new LibsqlCacheAdapter({
|
|
26
|
+
* const database = createClient({ url: "file:local.db" });
|
|
27
|
+
* const lockAdapter = new LibsqlLockAdapter({
|
|
29
28
|
* database,
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* })();
|
|
29
|
+
* });
|
|
30
|
+
* // You need initialize the adapter once before using it.
|
|
31
|
+
* await lockAdapter.init();
|
|
34
32
|
* ```
|
|
35
33
|
*/
|
|
36
34
|
constructor(settings) {
|
|
37
|
-
const { database, tableName = "lock", expiredKeysRemovalInterval = TimeSpan.fromMinutes(1), shouldRemoveExpiredKeys = true,
|
|
35
|
+
const { database, tableName = "lock", expiredKeysRemovalInterval = TimeSpan.fromMinutes(1), shouldRemoveExpiredKeys = true, } = settings;
|
|
38
36
|
this.databaseLockAdapter = new KyselyLockAdapter({
|
|
39
37
|
database: new Kysely({
|
|
40
38
|
dialect: new LibsqlDialect({
|
|
@@ -46,7 +44,6 @@ export class LibsqlLockAdapter {
|
|
|
46
44
|
}),
|
|
47
45
|
],
|
|
48
46
|
}),
|
|
49
|
-
rootGroup,
|
|
50
47
|
expiredKeysRemovalInterval,
|
|
51
48
|
shouldRemoveExpiredKeys,
|
|
52
49
|
});
|
|
@@ -55,14 +52,14 @@ export class LibsqlLockAdapter {
|
|
|
55
52
|
await this.databaseLockAdapter.removeExpiredKeys();
|
|
56
53
|
}
|
|
57
54
|
/**
|
|
58
|
-
* Removes the table where the
|
|
59
|
-
* Note all
|
|
55
|
+
* Removes the table where the lock keys are stored and removes the table indexes.
|
|
56
|
+
* Note all lock data will be removed.
|
|
60
57
|
*/
|
|
61
58
|
async deInit() {
|
|
62
59
|
await this.databaseLockAdapter.deInit();
|
|
63
60
|
}
|
|
64
61
|
/**
|
|
65
|
-
* Creates the table where the
|
|
62
|
+
* Creates the table where the lock keys are stored and it's related indexes.
|
|
66
63
|
* Note the <i>init</i> method needs to be called before using the adapter.
|
|
67
64
|
*/
|
|
68
65
|
async init() {
|
|
@@ -83,11 +80,5 @@ export class LibsqlLockAdapter {
|
|
|
83
80
|
async find(key) {
|
|
84
81
|
return await this.databaseLockAdapter.find(key);
|
|
85
82
|
}
|
|
86
|
-
getGroup() {
|
|
87
|
-
return this.databaseLockAdapter.getGroup();
|
|
88
|
-
}
|
|
89
|
-
withGroup(group) {
|
|
90
|
-
return this.databaseLockAdapter.withGroup(group);
|
|
91
|
-
}
|
|
92
83
|
}
|
|
93
84
|
//# sourceMappingURL=libsql-lock-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libsql-lock-adapter.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAGH,QAAQ,GACX,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAElF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gEAAgE,CAAC;
|
|
1
|
+
{"version":3,"file":"libsql-lock-adapter.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,OAAO,EAGH,QAAQ,GACX,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,gCAAgC,EAAE,MAAM,gCAAgC,CAAC;AAElF,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gEAAgE,CAAC;AAenG;;;;;;;;GAQG;AACH,MAAM,OAAO,iBAAiB;IAGlB,mBAAmB,CAAoB;IAE/C;;;;;;;;;;;;;OAaG;IACH,YAAY,QAAmC;QAC3C,MAAM,EACF,QAAQ,EACR,SAAS,GAAG,MAAM,EAClB,0BAA0B,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,EACpD,uBAAuB,GAAG,IAAI,GACjC,GAAG,QAAQ,CAAC;QAEb,IAAI,CAAC,mBAAmB,GAAG,IAAI,iBAAiB,CAAC;YAC7C,QAAQ,EAAE,IAAI,MAAM,CAAC;gBACjB,OAAO,EAAE,IAAI,aAAa,CAAC;oBACvB,MAAM,EAAE,QAAQ;iBACI,CAAC;gBACzB,OAAO,EAAE;oBACL,IAAI,gCAAgC,CAAC;wBACjC,IAAI,EAAE,SAAS;qBAClB,CAAC;iBACL;aACJ,CAAC;YACF,0BAA0B;YAC1B,uBAAuB;SAC1B,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,iBAAiB;QACnB,MAAM,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;IACvD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,MAAM;QACR,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI;QACN,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,MAAM,CACR,GAAW,EACX,KAAa,EACb,UAAuB;QAEvB,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAClE,CAAC;IAED,KAAK,CAAC,MAAM,CACR,GAAW,EACX,KAAa,EACb,UAAuB;QAEvB,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW,EAAE,KAAoB;QAC1C,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,OAAO,CACT,GAAW,EACX,KAAa,EACb,UAAgB;QAEhB,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAW;QAClB,OAAO,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;CACJ"}
|
|
@@ -3,54 +3,35 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { TimeSpan } from "../../../../utilities/_module-exports.js";
|
|
5
5
|
import type { ILockAdapter, ILockData } from "../../../../lock/contracts/_module-exports.js";
|
|
6
|
-
/**
|
|
7
|
-
*
|
|
8
|
-
* IMPORT_PATH: ```"@daiso-tech/core/lock/implementations/adapters"```
|
|
9
|
-
* @group Adapters
|
|
10
|
-
*/
|
|
11
|
-
export type MemoryLockAdapterSettings = {
|
|
12
|
-
rootGroup: string;
|
|
13
|
-
map?: Map<string, ILockData>;
|
|
14
|
-
};
|
|
15
6
|
/**
|
|
16
7
|
* Note the <i>MemoryLockAdapter</i> is limited to single process usage and cannot be shared across multiple servers or different processes.
|
|
17
8
|
* This adapter is meant to be used for testing.
|
|
18
9
|
*
|
|
19
|
-
* IMPORT_PATH: ```"@daiso-tech/core/lock/
|
|
10
|
+
* IMPORT_PATH: ```"@daiso-tech/core/lock/adapters"```
|
|
20
11
|
* @group Adapters
|
|
21
12
|
*/
|
|
22
13
|
export declare class MemoryLockAdapter implements ILockAdapter {
|
|
23
|
-
private readonly group;
|
|
24
|
-
private readonly timeoutMap;
|
|
25
14
|
private readonly map;
|
|
15
|
+
private readonly timeoutMap;
|
|
26
16
|
/**
|
|
27
17
|
* @example
|
|
28
18
|
* ```ts
|
|
29
|
-
* import { MemoryLockAdapter } from "@daiso-tech/core/lock/
|
|
19
|
+
* import { MemoryLockAdapter } from "@daiso-tech/core/lock/adapters";
|
|
30
20
|
*
|
|
31
|
-
* const lockAdapter = new MemoryLockAdapter(
|
|
32
|
-
* rootGroup: "@cache"
|
|
33
|
-
* });
|
|
21
|
+
* const lockAdapter = new MemoryLockAdapter();
|
|
34
22
|
* ```
|
|
35
23
|
* You can also provide an <i>Map</i>.
|
|
36
24
|
* @example
|
|
37
25
|
* ```ts
|
|
38
|
-
* import { MemoryLockAdapter } from "@daiso-tech/core/lock/
|
|
26
|
+
* import { MemoryLockAdapter } from "@daiso-tech/core/lock/adapters";
|
|
39
27
|
*
|
|
40
28
|
* const map = new Map<any, any>();
|
|
41
|
-
* const lockAdapter = new MemoryLockAdapter(
|
|
42
|
-
* rootGroup: "@cache",
|
|
43
|
-
* map
|
|
44
|
-
* });
|
|
29
|
+
* const lockAdapter = new MemoryLockAdapter(map);
|
|
45
30
|
* ```
|
|
46
31
|
*/
|
|
47
|
-
constructor(
|
|
48
|
-
private getPrefix;
|
|
49
|
-
private withPrefix;
|
|
32
|
+
constructor(map?: Map<string, ILockData>);
|
|
50
33
|
acquire(key: string, owner: string, ttl: TimeSpan | null): Promise<boolean>;
|
|
51
34
|
release(key: string, owner: string): Promise<boolean>;
|
|
52
35
|
forceRelease(key: string): Promise<void>;
|
|
53
36
|
refresh(key: string, owner: string, time: TimeSpan): Promise<boolean>;
|
|
54
|
-
getGroup(): string;
|
|
55
|
-
withGroup(group: string): ILockAdapter;
|
|
56
37
|
}
|
|
@@ -1,53 +1,37 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Lock
|
|
3
3
|
*/
|
|
4
|
-
import { resolveOneOrMoreStr } from "../../../../utilities/_module-exports.js";
|
|
5
4
|
/**
|
|
6
5
|
* Note the <i>MemoryLockAdapter</i> is limited to single process usage and cannot be shared across multiple servers or different processes.
|
|
7
6
|
* This adapter is meant to be used for testing.
|
|
8
7
|
*
|
|
9
|
-
* IMPORT_PATH: ```"@daiso-tech/core/lock/
|
|
8
|
+
* IMPORT_PATH: ```"@daiso-tech/core/lock/adapters"```
|
|
10
9
|
* @group Adapters
|
|
11
10
|
*/
|
|
12
11
|
export class MemoryLockAdapter {
|
|
13
|
-
group;
|
|
14
|
-
timeoutMap = new Map();
|
|
15
12
|
map;
|
|
13
|
+
timeoutMap = new Map();
|
|
16
14
|
/**
|
|
17
15
|
* @example
|
|
18
16
|
* ```ts
|
|
19
|
-
* import { MemoryLockAdapter } from "@daiso-tech/core/lock/
|
|
17
|
+
* import { MemoryLockAdapter } from "@daiso-tech/core/lock/adapters";
|
|
20
18
|
*
|
|
21
|
-
* const lockAdapter = new MemoryLockAdapter(
|
|
22
|
-
* rootGroup: "@cache"
|
|
23
|
-
* });
|
|
19
|
+
* const lockAdapter = new MemoryLockAdapter();
|
|
24
20
|
* ```
|
|
25
21
|
* You can also provide an <i>Map</i>.
|
|
26
22
|
* @example
|
|
27
23
|
* ```ts
|
|
28
|
-
* import { MemoryLockAdapter } from "@daiso-tech/core/lock/
|
|
24
|
+
* import { MemoryLockAdapter } from "@daiso-tech/core/lock/adapters";
|
|
29
25
|
*
|
|
30
26
|
* const map = new Map<any, any>();
|
|
31
|
-
* const lockAdapter = new MemoryLockAdapter(
|
|
32
|
-
* rootGroup: "@cache",
|
|
33
|
-
* map
|
|
34
|
-
* });
|
|
27
|
+
* const lockAdapter = new MemoryLockAdapter(map);
|
|
35
28
|
* ```
|
|
36
29
|
*/
|
|
37
|
-
constructor(
|
|
38
|
-
const { rootGroup, map = new Map() } = settings;
|
|
30
|
+
constructor(map = new Map()) {
|
|
39
31
|
this.map = map;
|
|
40
|
-
this.group = rootGroup;
|
|
41
|
-
}
|
|
42
|
-
getPrefix() {
|
|
43
|
-
return resolveOneOrMoreStr([this.group, "__KEY__"]);
|
|
44
|
-
}
|
|
45
|
-
withPrefix(key) {
|
|
46
|
-
return resolveOneOrMoreStr([this.getPrefix(), key]);
|
|
47
32
|
}
|
|
48
33
|
// eslint-disable-next-line @typescript-eslint/require-await
|
|
49
34
|
async acquire(key, owner, ttl) {
|
|
50
|
-
key = this.withPrefix(key);
|
|
51
35
|
const hasNotKey = !this.map.has(key);
|
|
52
36
|
if (hasNotKey) {
|
|
53
37
|
this.map.set(key, {
|
|
@@ -65,7 +49,6 @@ export class MemoryLockAdapter {
|
|
|
65
49
|
}
|
|
66
50
|
// eslint-disable-next-line @typescript-eslint/require-await
|
|
67
51
|
async release(key, owner) {
|
|
68
|
-
key = this.withPrefix(key);
|
|
69
52
|
const data = this.map.get(key);
|
|
70
53
|
if (data === undefined) {
|
|
71
54
|
return true;
|
|
@@ -80,14 +63,12 @@ export class MemoryLockAdapter {
|
|
|
80
63
|
}
|
|
81
64
|
// eslint-disable-next-line @typescript-eslint/require-await
|
|
82
65
|
async forceRelease(key) {
|
|
83
|
-
key = this.withPrefix(key);
|
|
84
66
|
clearTimeout(this.timeoutMap.get(key));
|
|
85
67
|
this.timeoutMap.delete(key);
|
|
86
68
|
this.map.delete(key);
|
|
87
69
|
}
|
|
88
70
|
// eslint-disable-next-line @typescript-eslint/require-await
|
|
89
71
|
async refresh(key, owner, time) {
|
|
90
|
-
key = this.withPrefix(key);
|
|
91
72
|
const data = this.map.get(key);
|
|
92
73
|
if (data === undefined) {
|
|
93
74
|
return true;
|
|
@@ -109,14 +90,5 @@ export class MemoryLockAdapter {
|
|
|
109
90
|
}, time.toMilliseconds()));
|
|
110
91
|
return true;
|
|
111
92
|
}
|
|
112
|
-
getGroup() {
|
|
113
|
-
return this.group;
|
|
114
|
-
}
|
|
115
|
-
withGroup(group) {
|
|
116
|
-
return new MemoryLockAdapter({
|
|
117
|
-
map: this.map,
|
|
118
|
-
rootGroup: resolveOneOrMoreStr([this.group, group]),
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
93
|
}
|
|
122
94
|
//# sourceMappingURL=memory-lock-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-lock-adapter.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"memory-lock-adapter.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/adapters/memory-lock-adapter/memory-lock-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,12 +6,11 @@ import type { IDatabaseLockAdapter, ILockData } from "../../../../lock/contracts
|
|
|
6
6
|
import type { CollectionOptions, Db } from "mongodb";
|
|
7
7
|
/**
|
|
8
8
|
*
|
|
9
|
-
* IMPORT_PATH: ```"@daiso-tech/core/lock/
|
|
9
|
+
* IMPORT_PATH: ```"@daiso-tech/core/lock/adapters"```
|
|
10
10
|
* @group Adapters
|
|
11
11
|
*/
|
|
12
12
|
export type MongodbLockAdapterSettings = {
|
|
13
13
|
database: Db;
|
|
14
|
-
rootGroup: string;
|
|
15
14
|
collectionName?: string;
|
|
16
15
|
collectionSettings?: CollectionOptions;
|
|
17
16
|
};
|
|
@@ -20,33 +19,29 @@ export type MongodbLockAdapterSettings = {
|
|
|
20
19
|
*
|
|
21
20
|
* Note in order to use <i>MongodbLockAdapter</i> correctly, ensure you use a single, consistent database across all server instances.
|
|
22
21
|
*
|
|
23
|
-
* IMPORT_PATH: ```"@daiso-tech/core/lock/
|
|
22
|
+
* IMPORT_PATH: ```"@daiso-tech/core/lock/adapters"```
|
|
24
23
|
* @group Adapters
|
|
25
24
|
*/
|
|
26
25
|
export declare class MongodbLockAdapter implements IDatabaseLockAdapter, IDeinitizable, IInitizable {
|
|
27
|
-
private readonly group;
|
|
28
26
|
private readonly database;
|
|
29
27
|
private readonly collection;
|
|
30
28
|
private readonly collectionName;
|
|
31
|
-
private readonly collectionSettings?;
|
|
32
29
|
/**
|
|
33
30
|
* @example
|
|
34
31
|
* ```ts
|
|
35
|
-
* import { MongodbLockAdapter } from "@daiso-tech/core/lock/
|
|
32
|
+
* import { MongodbLockAdapter } from "@daiso-tech/core/lock/adapters";
|
|
36
33
|
* import { MongoClient } from "mongodb";
|
|
37
34
|
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
* await lockAdapter.init();
|
|
46
|
-
* })();
|
|
35
|
+
* const client = await MongoClient.connect("YOUR_MONGODB_CONNECTION_STRING");
|
|
36
|
+
* const database = client.db("database");
|
|
37
|
+
* const lockAdapter = new MongodbLockAdapter({
|
|
38
|
+
* database
|
|
39
|
+
* });
|
|
40
|
+
* // You need initialize the adapter once before using it.
|
|
41
|
+
* await lockAdapter.init()
|
|
47
42
|
* ```
|
|
48
43
|
*/
|
|
49
|
-
constructor({ collectionName, collectionSettings, database,
|
|
44
|
+
constructor({ collectionName, collectionSettings, database, }: MongodbLockAdapterSettings);
|
|
50
45
|
removeExpiredKeys(): Promise<void>;
|
|
51
46
|
/**
|
|
52
47
|
* Creates all related indexes.
|
|
@@ -54,8 +49,8 @@ export declare class MongodbLockAdapter implements IDatabaseLockAdapter, IDeinit
|
|
|
54
49
|
*/
|
|
55
50
|
init(): Promise<void>;
|
|
56
51
|
/**
|
|
57
|
-
* Removes the collection where the
|
|
58
|
-
* Note all
|
|
52
|
+
* Removes the collection where the lock keys are stored and all it's related indexes.
|
|
53
|
+
* Note all lock data will be removed.
|
|
59
54
|
*/
|
|
60
55
|
deInit(): Promise<void>;
|
|
61
56
|
insert(key: string, owner: string, expiration: Date | null): Promise<void>;
|
|
@@ -63,6 +58,4 @@ export declare class MongodbLockAdapter implements IDatabaseLockAdapter, IDeinit
|
|
|
63
58
|
remove(key: string, owner: string | null): Promise<void>;
|
|
64
59
|
refresh(key: string, owner: string, expiration: Date): Promise<number>;
|
|
65
60
|
find(key: string): Promise<ILockData | null>;
|
|
66
|
-
getGroup(): string;
|
|
67
|
-
withGroup(group: string): IDatabaseLockAdapter;
|
|
68
61
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Lock
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import {} from "../../../../utilities/_module-exports.js";
|
|
5
5
|
import { UnexpectedLockError } from "../../../../lock/contracts/_module-exports.js";
|
|
6
6
|
import { ObjectId } from "mongodb";
|
|
7
7
|
/**
|
|
@@ -9,38 +9,32 @@ import { ObjectId } from "mongodb";
|
|
|
9
9
|
*
|
|
10
10
|
* Note in order to use <i>MongodbLockAdapter</i> correctly, ensure you use a single, consistent database across all server instances.
|
|
11
11
|
*
|
|
12
|
-
* IMPORT_PATH: ```"@daiso-tech/core/lock/
|
|
12
|
+
* IMPORT_PATH: ```"@daiso-tech/core/lock/adapters"```
|
|
13
13
|
* @group Adapters
|
|
14
14
|
*/
|
|
15
15
|
export class MongodbLockAdapter {
|
|
16
|
-
group;
|
|
17
16
|
database;
|
|
18
17
|
collection;
|
|
19
18
|
collectionName;
|
|
20
|
-
collectionSettings;
|
|
21
19
|
/**
|
|
22
20
|
* @example
|
|
23
21
|
* ```ts
|
|
24
|
-
* import { MongodbLockAdapter } from "@daiso-tech/core/lock/
|
|
22
|
+
* import { MongodbLockAdapter } from "@daiso-tech/core/lock/adapters";
|
|
25
23
|
* import { MongoClient } from "mongodb";
|
|
26
24
|
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* await lockAdapter.init();
|
|
35
|
-
* })();
|
|
25
|
+
* const client = await MongoClient.connect("YOUR_MONGODB_CONNECTION_STRING");
|
|
26
|
+
* const database = client.db("database");
|
|
27
|
+
* const lockAdapter = new MongodbLockAdapter({
|
|
28
|
+
* database
|
|
29
|
+
* });
|
|
30
|
+
* // You need initialize the adapter once before using it.
|
|
31
|
+
* await lockAdapter.init()
|
|
36
32
|
* ```
|
|
37
33
|
*/
|
|
38
|
-
constructor({ collectionName = "
|
|
34
|
+
constructor({ collectionName = "lock", collectionSettings, database, }) {
|
|
39
35
|
this.collectionName = collectionName;
|
|
40
36
|
this.database = database;
|
|
41
37
|
this.collection = database.collection(collectionName, collectionSettings);
|
|
42
|
-
this.collectionSettings = collectionSettings;
|
|
43
|
-
this.group = rootGroup;
|
|
44
38
|
}
|
|
45
39
|
async removeExpiredKeys() {
|
|
46
40
|
await this.collection.deleteMany({
|
|
@@ -56,7 +50,6 @@ export class MongodbLockAdapter {
|
|
|
56
50
|
async init() {
|
|
57
51
|
await this.collection.createIndex({
|
|
58
52
|
key: 1,
|
|
59
|
-
group: 1,
|
|
60
53
|
}, {
|
|
61
54
|
unique: true,
|
|
62
55
|
});
|
|
@@ -65,8 +58,8 @@ export class MongodbLockAdapter {
|
|
|
65
58
|
});
|
|
66
59
|
}
|
|
67
60
|
/**
|
|
68
|
-
* Removes the collection where the
|
|
69
|
-
* Note all
|
|
61
|
+
* Removes the collection where the lock keys are stored and all it's related indexes.
|
|
62
|
+
* Note all lock data will be removed.
|
|
70
63
|
*/
|
|
71
64
|
async deInit() {
|
|
72
65
|
await this.collection.dropIndexes();
|
|
@@ -77,7 +70,6 @@ export class MongodbLockAdapter {
|
|
|
77
70
|
_id: new ObjectId(),
|
|
78
71
|
key,
|
|
79
72
|
owner,
|
|
80
|
-
group: this.group,
|
|
81
73
|
expiresAt: expiration,
|
|
82
74
|
});
|
|
83
75
|
if (!insertResult.acknowledged) {
|
|
@@ -87,7 +79,6 @@ export class MongodbLockAdapter {
|
|
|
87
79
|
async update(key, owner, expiration) {
|
|
88
80
|
const updateResult = await this.collection.updateOne({
|
|
89
81
|
key,
|
|
90
|
-
group: this.group,
|
|
91
82
|
$and: [
|
|
92
83
|
{
|
|
93
84
|
expiresAt: {
|
|
@@ -115,7 +106,6 @@ export class MongodbLockAdapter {
|
|
|
115
106
|
if (owner === null) {
|
|
116
107
|
const deleteResult = await this.collection.deleteOne({
|
|
117
108
|
key,
|
|
118
|
-
group: this.group,
|
|
119
109
|
});
|
|
120
110
|
if (!deleteResult.acknowledged) {
|
|
121
111
|
throw new UnexpectedLockError("Mongodb deletion was not acknowledged");
|
|
@@ -124,7 +114,6 @@ export class MongodbLockAdapter {
|
|
|
124
114
|
}
|
|
125
115
|
const deleteResult = await this.collection.deleteOne({
|
|
126
116
|
key,
|
|
127
|
-
group: this.group,
|
|
128
117
|
owner,
|
|
129
118
|
});
|
|
130
119
|
if (!deleteResult.acknowledged) {
|
|
@@ -134,7 +123,6 @@ export class MongodbLockAdapter {
|
|
|
134
123
|
async refresh(key, owner, expiration) {
|
|
135
124
|
const updateResult = await this.collection.updateOne({
|
|
136
125
|
key,
|
|
137
|
-
group: this.group,
|
|
138
126
|
owner,
|
|
139
127
|
}, {
|
|
140
128
|
$set: {
|
|
@@ -149,7 +137,6 @@ export class MongodbLockAdapter {
|
|
|
149
137
|
async find(key) {
|
|
150
138
|
const document = await this.collection.findOne({
|
|
151
139
|
key: key,
|
|
152
|
-
group: this.group,
|
|
153
140
|
}, {
|
|
154
141
|
projection: {
|
|
155
142
|
_id: 0,
|
|
@@ -165,16 +152,5 @@ export class MongodbLockAdapter {
|
|
|
165
152
|
expiration: document.expiresAt,
|
|
166
153
|
};
|
|
167
154
|
}
|
|
168
|
-
getGroup() {
|
|
169
|
-
return this.group;
|
|
170
|
-
}
|
|
171
|
-
withGroup(group) {
|
|
172
|
-
return new MongodbLockAdapter({
|
|
173
|
-
database: this.database,
|
|
174
|
-
collectionName: this.collectionName,
|
|
175
|
-
collectionSettings: this.collectionSettings,
|
|
176
|
-
rootGroup: resolveOneOrMoreStr([this.group, group]),
|
|
177
|
-
});
|
|
178
|
-
}
|
|
179
155
|
}
|
|
180
156
|
//# sourceMappingURL=mongodb-lock-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongodb-lock-adapter.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"mongodb-lock-adapter.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../../../../lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_module.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/adapters/no-op-lock-adapter/_module.ts"],"names":[],"mappings":"AAAA,cAAc,0EAA0E,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Lock
|
|
3
|
+
*/
|
|
4
|
+
import type { TimeSpan } from "../../../../utilities/_module-exports.js";
|
|
5
|
+
import type { ILockAdapter } from "../../../../lock/contracts/_module-exports.js";
|
|
6
|
+
/**
|
|
7
|
+
* This <i>NoOpLockAdapter</i> will do nothing and is used for easily mocking <i>{@link ILockProvider}</i> for testing.
|
|
8
|
+
*
|
|
9
|
+
* IMPORT_PATH: ```"@daiso-tech/core/lock/adapters"```
|
|
10
|
+
* @group Adapters
|
|
11
|
+
*/
|
|
12
|
+
export declare class NoOpLockAdapter implements ILockAdapter {
|
|
13
|
+
acquire(_key: string, _owner: string, _ttl: TimeSpan | null): PromiseLike<boolean>;
|
|
14
|
+
release(_key: string, _owner: string): PromiseLike<boolean>;
|
|
15
|
+
forceRelease(_key: string): PromiseLike<void>;
|
|
16
|
+
refresh(_key: string, _owner: string, _ttl: TimeSpan): PromiseLike<boolean>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Lock
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* This <i>NoOpLockAdapter</i> will do nothing and is used for easily mocking <i>{@link ILockProvider}</i> for testing.
|
|
6
|
+
*
|
|
7
|
+
* IMPORT_PATH: ```"@daiso-tech/core/lock/adapters"```
|
|
8
|
+
* @group Adapters
|
|
9
|
+
*/
|
|
10
|
+
export class NoOpLockAdapter {
|
|
11
|
+
acquire(_key, _owner, _ttl) {
|
|
12
|
+
return Promise.resolve(true);
|
|
13
|
+
}
|
|
14
|
+
release(_key, _owner) {
|
|
15
|
+
return Promise.resolve(true);
|
|
16
|
+
}
|
|
17
|
+
forceRelease(_key) {
|
|
18
|
+
return Promise.resolve();
|
|
19
|
+
}
|
|
20
|
+
refresh(_key, _owner, _ttl) {
|
|
21
|
+
return Promise.resolve(true);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=no-op-lock-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-op-lock-adapter.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/adapters/no-op-lock-adapter/no-op-lock-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IACxB,OAAO,CACH,IAAY,EACZ,MAAc,EACd,IAAqB;QAErB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,OAAO,CAAC,IAAY,EAAE,MAAc;QAChC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED,YAAY,CAAC,IAAY;QACrB,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO,CACH,IAAY,EACZ,MAAc,EACd,IAAc;QAEd,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACJ"}
|