@daiso-tech/core 0.26.0 → 0.27.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 +10 -0
- 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 +99 -65
- package/dist/async/utilities/lazy-promise/lazy-promise.js +151 -111
- package/dist/async/utilities/lazy-promise/lazy-promise.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 +52 -88
- 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/_module-exports.d.ts +0 -1
- package/dist/cache/implementations/adapters/_module-exports.js +0 -1
- package/dist/cache/implementations/adapters/_module-exports.js.map +1 -1
- 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/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 -40
- 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 +122 -565
- package/dist/cache/implementations/derivables/cache/cache.js +342 -854
- 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 +65 -104
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +101 -85
- 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 +1 -1
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +6 -5
- 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 +1 -3
- package/dist/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js +1 -7
- 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 +78 -267
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +119 -323
- 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 +70 -96
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +100 -90
- 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 +1 -1
- 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/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/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 +12 -17
- 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.d.ts +9 -0
- package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js +17 -0
- package/dist/lock/implementations/derivables/lock-provider/is-database-lock-adapter.js.map +1 -0
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +115 -372
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +197 -455
- 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 +30 -754
- package/dist/lock/implementations/derivables/lock-provider/lock.js +94 -812
- 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 +58 -161
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +116 -122
- 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 +133 -137
- 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 +2 -2
- package/dist/serde/implementations/adapters/no-op-serde-adapter/no-op-serde-adapter.js +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 +1 -2
- package/dist/utilities/_module-exports.js +1 -2
- 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/contracts/_module.d.ts +2 -1
- package/dist/utilities/contracts/_module.js +2 -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/functions.d.ts +30 -2
- package/dist/utilities/functions.js +66 -4
- package/dist/utilities/functions.js.map +1 -1
- package/dist/utilities/types.d.ts +47 -14
- 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/cache/implementations/adapters/no-op-cache-adapter/_module.d.ts +0 -1
- package/dist/cache/implementations/adapters/no-op-cache-adapter/_module.js +0 -2
- package/dist/cache/implementations/adapters/no-op-cache-adapter/_module.js.map +0 -1
- package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +0 -22
- package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js +0 -39
- package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.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
|
@@ -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":"AAAA;;GAEG;AAQH;;;;;;GAMG;AACH,MAAM,OAAO,iBAAiB;IAsBG;IArBZ,UAAU,GAAG,IAAI,GAAG,EAGlC,CAAC;IAEJ;;;;;;;;;;;;;;;OAeG;IACH,YAA6B,MAAM,IAAI,GAAG,EAAqB;QAAlC,QAAG,GAAH,GAAG,CAA+B;IAAG,CAAC;IAEnE,4DAA4D;IAC5D,KAAK,CAAC,OAAO,CACT,GAAW,EACX,KAAa,EACb,GAAoB;QAEpB,MAAM,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,SAAS,EAAE,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE;gBACd,KAAK;gBACL,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,IAAI;aACvC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CACf,GAAG,EACH,UAAU,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChC,CAAC,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,CAC3B,CAAC;QACN,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,KAAa;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,YAAY,CAAC,GAAW;QAC1B,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,4DAA4D;IAC5D,KAAK,CAAC,OAAO,CACT,GAAW,EACX,KAAa,EACb,IAAc;QAEd,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE;YACd,GAAG,IAAI;YACP,UAAU,EAAE,IAAI,CAAC,SAAS,EAAE;SAC/B,CAAC,CAAC;QACH,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,GAAG,CACf,GAAG,EACH,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,CAAC,CAC5B,CAAC;QACF,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
|
|
@@ -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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"}
|
|
@@ -12,51 +12,33 @@ declare module "ioredis" {
|
|
|
12
12
|
daiso_lock_refresh(key: string, owner: string, ttl: string): Result<number, Context>;
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
-
/**
|
|
16
|
-
*
|
|
17
|
-
* IMPORT_PATH: ```"@daiso-tech/core/lock/implementations/adapters"```
|
|
18
|
-
* @group Adapters
|
|
19
|
-
*/
|
|
20
|
-
export type RedisLockAdapterSettings = {
|
|
21
|
-
database: Redis;
|
|
22
|
-
rootGroup: string;
|
|
23
|
-
};
|
|
24
15
|
/**
|
|
25
16
|
* To utilize the <i>RedisLockAdapter</i>, you must install the <i>"ioredis"</i> package.
|
|
26
17
|
*
|
|
27
18
|
* Note in order to use <i>RedisLockAdapter</i> correctly, ensure you use a single, consistent database across all server instances.
|
|
28
19
|
*
|
|
29
|
-
* IMPORT_PATH: ```"@daiso-tech/core/lock/
|
|
20
|
+
* IMPORT_PATH: ```"@daiso-tech/core/lock/adapters"```
|
|
30
21
|
* @group Adapters
|
|
31
22
|
*/
|
|
32
23
|
export declare class RedisLockAdapter implements ILockAdapter {
|
|
33
|
-
private readonly group;
|
|
34
24
|
private readonly database;
|
|
35
25
|
/**
|
|
36
26
|
* @example
|
|
37
27
|
* ```ts
|
|
38
|
-
* import { RedisLockAdapter, SuperJsonSerde } from "@daiso-tech/core/lock/
|
|
28
|
+
* import { RedisLockAdapter, SuperJsonSerde } from "@daiso-tech/core/lock/adapters";
|
|
39
29
|
* import Redis from "ioredis";
|
|
40
30
|
*
|
|
41
31
|
* const database = new Redis("YOUR_REDIS_CONNECTION_STRING");
|
|
42
32
|
* const serde = new SuperJsonSerde();
|
|
43
|
-
* const lockAdapter = new RedisLockAdapter(
|
|
44
|
-
* database,
|
|
45
|
-
* serde,
|
|
46
|
-
* rootGroup: "@global"
|
|
47
|
-
* });
|
|
33
|
+
* const lockAdapter = new RedisLockAdapter(database);
|
|
48
34
|
* ```
|
|
49
35
|
*/
|
|
50
|
-
constructor(
|
|
36
|
+
constructor(database: Redis);
|
|
51
37
|
private initAquireCommand;
|
|
52
38
|
private initReleaseCommand;
|
|
53
39
|
private initRefreshComand;
|
|
54
|
-
private getPrefix;
|
|
55
|
-
private withPrefix;
|
|
56
40
|
acquire(key: string, owner: string, ttl: TimeSpan | null): Promise<boolean>;
|
|
57
41
|
release(key: string, owner: string): Promise<boolean>;
|
|
58
42
|
forceRelease(key: string): Promise<void>;
|
|
59
43
|
refresh(key: string, owner: string, ttl: TimeSpan): Promise<boolean>;
|
|
60
|
-
getGroup(): string;
|
|
61
|
-
withGroup(group: string): ILockAdapter;
|
|
62
44
|
}
|
|
@@ -1,37 +1,29 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Lock
|
|
3
3
|
*/
|
|
4
|
-
import { resolveOneOrMoreStr } from "../../../../utilities/_module-exports.js";
|
|
5
4
|
/**
|
|
6
5
|
* To utilize the <i>RedisLockAdapter</i>, you must install the <i>"ioredis"</i> package.
|
|
7
6
|
*
|
|
8
7
|
* Note in order to use <i>RedisLockAdapter</i> correctly, ensure you use a single, consistent database across all server instances.
|
|
9
8
|
*
|
|
10
|
-
* IMPORT_PATH: ```"@daiso-tech/core/lock/
|
|
9
|
+
* IMPORT_PATH: ```"@daiso-tech/core/lock/adapters"```
|
|
11
10
|
* @group Adapters
|
|
12
11
|
*/
|
|
13
12
|
export class RedisLockAdapter {
|
|
14
|
-
group;
|
|
15
13
|
database;
|
|
16
14
|
/**
|
|
17
15
|
* @example
|
|
18
16
|
* ```ts
|
|
19
|
-
* import { RedisLockAdapter, SuperJsonSerde } from "@daiso-tech/core/lock/
|
|
17
|
+
* import { RedisLockAdapter, SuperJsonSerde } from "@daiso-tech/core/lock/adapters";
|
|
20
18
|
* import Redis from "ioredis";
|
|
21
19
|
*
|
|
22
20
|
* const database = new Redis("YOUR_REDIS_CONNECTION_STRING");
|
|
23
21
|
* const serde = new SuperJsonSerde();
|
|
24
|
-
* const lockAdapter = new RedisLockAdapter(
|
|
25
|
-
* database,
|
|
26
|
-
* serde,
|
|
27
|
-
* rootGroup: "@global"
|
|
28
|
-
* });
|
|
22
|
+
* const lockAdapter = new RedisLockAdapter(database);
|
|
29
23
|
* ```
|
|
30
24
|
*/
|
|
31
|
-
constructor(
|
|
32
|
-
const { database, rootGroup } = settings;
|
|
25
|
+
constructor(database) {
|
|
33
26
|
this.database = database;
|
|
34
|
-
this.group = rootGroup;
|
|
35
27
|
this.initAquireCommand();
|
|
36
28
|
this.initReleaseCommand();
|
|
37
29
|
this.initRefreshComand();
|
|
@@ -102,39 +94,20 @@ export class RedisLockAdapter {
|
|
|
102
94
|
`,
|
|
103
95
|
});
|
|
104
96
|
}
|
|
105
|
-
getPrefix() {
|
|
106
|
-
return resolveOneOrMoreStr([this.group, "__KEY__"]);
|
|
107
|
-
}
|
|
108
|
-
withPrefix(key) {
|
|
109
|
-
return resolveOneOrMoreStr([this.getPrefix(), key]);
|
|
110
|
-
}
|
|
111
97
|
async acquire(key, owner, ttl) {
|
|
112
|
-
key = this.withPrefix(key);
|
|
113
98
|
const result = await this.database.daiso_lock_acquire(key, owner, String(ttl?.toMilliseconds() ?? null));
|
|
114
99
|
return result > 0;
|
|
115
100
|
}
|
|
116
101
|
async release(key, owner) {
|
|
117
|
-
key = this.withPrefix(key);
|
|
118
102
|
const result = await this.database.daiso_lock_release(key, owner);
|
|
119
103
|
return result === 1;
|
|
120
104
|
}
|
|
121
105
|
async forceRelease(key) {
|
|
122
|
-
key = this.withPrefix(key);
|
|
123
106
|
await this.database.del(key);
|
|
124
107
|
}
|
|
125
108
|
async refresh(key, owner, ttl) {
|
|
126
|
-
key = this.withPrefix(key);
|
|
127
109
|
const result = await this.database.daiso_lock_refresh(key, owner, ttl.toMilliseconds().toString());
|
|
128
110
|
return Boolean(result);
|
|
129
111
|
}
|
|
130
|
-
getGroup() {
|
|
131
|
-
return this.group;
|
|
132
|
-
}
|
|
133
|
-
withGroup(group) {
|
|
134
|
-
return new RedisLockAdapter({
|
|
135
|
-
database: this.database,
|
|
136
|
-
rootGroup: resolveOneOrMoreStr([this.group, group]),
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
112
|
}
|
|
140
113
|
//# sourceMappingURL=redis-lock-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis-lock-adapter.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"redis-lock-adapter.js","sourceRoot":"","sources":["../../../../../src/lock/implementations/adapters/redis-lock-adapter/redis-lock-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAuBH;;;;;;;GAOG;AACH,MAAM,OAAO,gBAAgB;IAYI;IAX7B;;;;;;;;;;OAUG;IACH,YAA6B,QAAe;QAAf,aAAQ,GAAR,QAAQ,CAAO;QACxC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAEO,iBAAiB;QACrB,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,KAAK,UAAU,EAAE,CAAC;YACzD,OAAO;QACX,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,oBAAoB,EAAE;YAC9C,YAAY,EAAE,CAAC;YACf,GAAG,EAAE;;;;;;;;;;;;;;;;;iBAiBA;SACR,CAAC,CAAC;IACP,CAAC;IAEO,kBAAkB;QACtB,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,KAAK,UAAU,EAAE,CAAC;YACzD,OAAO;QACX,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,oBAAoB,EAAE;YAC9C,YAAY,EAAE,CAAC;YACf,GAAG,EAAE;;;;;;;;;;;iBAWA;SACR,CAAC,CAAC;IACP,CAAC;IAEO,iBAAiB;QACrB,IAAI,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,KAAK,UAAU,EAAE,CAAC;YACzD,OAAO;QACX,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,oBAAoB,EAAE;YAC9C,YAAY,EAAE,CAAC;YACf,GAAG,EAAE;;;;;;;;;;;aAWJ;SACJ,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,OAAO,CACT,GAAW,EACX,KAAa,EACb,GAAoB;QAEpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CACjD,GAAG,EACH,KAAK,EACL,MAAM,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,IAAI,CAAC,CACxC,CAAC;QACF,OAAO,MAAM,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,KAAa;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAClE,OAAO,MAAM,KAAK,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,GAAW;QAC1B,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAW,EAAE,KAAa,EAAE,GAAa;QACnD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CACjD,GAAG,EACH,KAAK,EACL,GAAG,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,CAClC,CAAC;QACF,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;CACJ"}
|
|
@@ -6,7 +6,7 @@ import { type IDeinitizable, type IInitizable, TimeSpan } from "../../../../util
|
|
|
6
6
|
import type { SqliteDatabase } from "kysely";
|
|
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 SqliteLockAdapterSettings = {
|
|
@@ -14,7 +14,6 @@ export type SqliteLockAdapterSettings = {
|
|
|
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>SqliteLockAdapter</i>, you must install the <i>"better-sqlite3"</i> and <i>"@types/better-sqlite3"</i> packages.
|
|
@@ -22,7 +21,7 @@ export type SqliteLockAdapterSettings = {
|
|
|
22
21
|
* Note the <i>SqliteLockAdapter</i> is limited to single server usage and cannot be shared across multiple servers but it can be shared between different processes.
|
|
23
22
|
* To use it correctly, ensure all process instances access the same consistent, persisted database.
|
|
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 SqliteLockAdapter implements IDatabaseLockAdapter, IDeinitizable, IInitizable {
|
|
@@ -30,28 +29,26 @@ export declare class SqliteLockAdapter implements IDatabaseLockAdapter, IDeiniti
|
|
|
30
29
|
/**
|
|
31
30
|
* @example
|
|
32
31
|
* ```ts
|
|
33
|
-
* import { SqliteLockAdapter } from "@daiso-tech/core/lock/
|
|
32
|
+
* import { SqliteLockAdapter } from "@daiso-tech/core/lock/adapters";
|
|
34
33
|
* import Sqlite from "better-sqlite3";
|
|
35
34
|
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* await lockAdapter.init();
|
|
43
|
-
* })();
|
|
35
|
+
* const database = new Sqlite("local.db");
|
|
36
|
+
* const lockAdapter = new SqliteLockAdapter({
|
|
37
|
+
* database,
|
|
38
|
+
* });
|
|
39
|
+
* // You need initialize the adapter once before using it.
|
|
40
|
+
* await lockAdapter.init();
|
|
44
41
|
* ```
|
|
45
42
|
*/
|
|
46
43
|
constructor(settings: SqliteLockAdapterSettings);
|
|
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 SqliteLockAdapter 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
|
}
|