@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
|
@@ -5,46 +5,41 @@ import {} from "vitest";
|
|
|
5
5
|
import { UnownedRefreshLockEvent, KeyForceReleasedLockEvent, KeyAlreadyAcquiredLockEvent, UnownedReleaseLockEvent, KeyReleasedLockEvent, KeyAcquiredLockEvent, KeyAlreadyAcquiredLockError, UnownedRefreshLockError, UnownedReleaseLockError, KeyRefreshedLockEvent, } from "../../../lock/contracts/_module-exports.js";
|
|
6
6
|
import {} from "../../../utilities/_module-exports.js";
|
|
7
7
|
import { TimeSpan } from "../../../utilities/_module-exports.js";
|
|
8
|
-
import {
|
|
8
|
+
import { LazyPromise } from "../../../async/_module-exports.js";
|
|
9
9
|
import { NoOpSerdeAdapter } from "../../../serde/implementations/adapters/_module-exports.js";
|
|
10
10
|
import { Serde } from "../../../serde/implementations/derivables/_module-exports.js";
|
|
11
11
|
/**
|
|
12
12
|
* The <i>lockProviderTestSuite</i> function simplifies the process of testing your custom implementation of <i>{@link ILock}</i> with <i>vitest</i>.
|
|
13
13
|
*
|
|
14
|
-
* IMPORT_PATH: ```"@daiso-tech/core/lock/
|
|
14
|
+
* IMPORT_PATH: ```"@daiso-tech/core/lock/test-utilities"```
|
|
15
15
|
* @group Utilities
|
|
16
16
|
* @example
|
|
17
17
|
* ```ts
|
|
18
|
-
* import {
|
|
19
|
-
* import { MemoryLockAdapter } from "@daiso-tech/core/lock/
|
|
20
|
-
* import { LockProvider } from "@daiso-tech/core/lock
|
|
21
|
-
* import { EventBus } from "@daiso-tech/core/event-bus
|
|
22
|
-
* import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/
|
|
23
|
-
* import { lockProviderTestSuite } from "@daiso-tech/core/lock/
|
|
24
|
-
* import { Serde } from "@daiso-tech/core/serde
|
|
25
|
-
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/
|
|
18
|
+
* import { describe, expect, test } from "vitest";
|
|
19
|
+
* import { MemoryLockAdapter } from "@daiso-tech/core/lock/adapters";
|
|
20
|
+
* import { LockProvider } from "@daiso-tech/core/lock";
|
|
21
|
+
* import { EventBus } from "@daiso-tech/core/event-bus";
|
|
22
|
+
* import { MemoryEventBusAdapter } from "@daiso-tech/core/event-bus/adapters";
|
|
23
|
+
* import { lockProviderTestSuite } from "@daiso-tech/core/lock/test-utilities";
|
|
24
|
+
* import { Serde } from "@daiso-tech/core/serde";
|
|
25
|
+
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters";
|
|
26
26
|
* import type { ILockData } from "@daiso-tech/core/lock/contracts";
|
|
27
|
+
* import { KeyPrefixer } from "@daiso-tech/core/utilities";
|
|
27
28
|
*
|
|
28
29
|
* describe("class: LockProvider", () => {
|
|
29
30
|
* const eventBus = new EventBus({
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
* }),
|
|
31
|
+
* keyPrefixer: new KeyPrefixer("event-bus"),
|
|
32
|
+
* adapter: new MemoryEventBusAdapter(),
|
|
33
33
|
* });
|
|
34
34
|
* const serde = new Serde(new SuperJsonSerdeAdapter());
|
|
35
35
|
* let map: Map<string, ILockData>;
|
|
36
|
-
* beforeEach(() => {
|
|
37
|
-
* map = new Map();
|
|
38
|
-
* });
|
|
39
36
|
* lockProviderTestSuite({
|
|
40
37
|
* createLockProvider: () => {
|
|
41
38
|
* const lockProvider = new LockProvider({
|
|
42
39
|
* serde,
|
|
43
|
-
* adapter: new MemoryLockAdapter(
|
|
44
|
-
* rootGroup: "@a",
|
|
45
|
-
* map,
|
|
46
|
-
* }),
|
|
40
|
+
* adapter: new MemoryLockAdapter(),
|
|
47
41
|
* eventBus,
|
|
42
|
+
* keyPrefixer: new KeyPrefixer("lock"),
|
|
48
43
|
* });
|
|
49
44
|
* return lockProvider;
|
|
50
45
|
* },
|
|
@@ -67,6 +62,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
67
62
|
lockProviderB = lockProvider.withGroup("b");
|
|
68
63
|
});
|
|
69
64
|
const TTL = TimeSpan.fromMilliseconds(50);
|
|
65
|
+
const DELAY_TIME = TimeSpan.fromMilliseconds(50);
|
|
70
66
|
describe("Api tests:", () => {
|
|
71
67
|
describe("method: run", () => {
|
|
72
68
|
test("Should return string when lock is available", async () => {
|
|
@@ -76,7 +72,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
76
72
|
ttl,
|
|
77
73
|
});
|
|
78
74
|
const [result, error] = await lock.run(async () => {
|
|
79
|
-
await delay(
|
|
75
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
80
76
|
return "a";
|
|
81
77
|
});
|
|
82
78
|
expect(result).toBe("a");
|
|
@@ -90,7 +86,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
90
86
|
});
|
|
91
87
|
await lock.acquire();
|
|
92
88
|
const [result, error] = await lock.run(async () => {
|
|
93
|
-
await delay(
|
|
89
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
94
90
|
return "a";
|
|
95
91
|
});
|
|
96
92
|
expect(result).toBeNull();
|
|
@@ -103,7 +99,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
103
99
|
ttl,
|
|
104
100
|
});
|
|
105
101
|
const [result, error] = await lock.run(new LazyPromise(async () => {
|
|
106
|
-
await delay(
|
|
102
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
107
103
|
return "a";
|
|
108
104
|
}));
|
|
109
105
|
expect(result).toBe("a");
|
|
@@ -118,7 +114,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
118
114
|
ttl,
|
|
119
115
|
});
|
|
120
116
|
const result = await lock.runOrFail(async () => {
|
|
121
|
-
await delay(
|
|
117
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
122
118
|
return "a";
|
|
123
119
|
});
|
|
124
120
|
expect(result).toBe("a");
|
|
@@ -131,7 +127,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
131
127
|
});
|
|
132
128
|
await lock.acquire();
|
|
133
129
|
const result = lock.runOrFail(async () => {
|
|
134
|
-
await delay(
|
|
130
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
135
131
|
return "a";
|
|
136
132
|
});
|
|
137
133
|
await expect(result).rejects.toBeInstanceOf(KeyAlreadyAcquiredLockError);
|
|
@@ -143,7 +139,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
143
139
|
ttl,
|
|
144
140
|
});
|
|
145
141
|
const result = await lock.runOrFail(new LazyPromise(async () => {
|
|
146
|
-
await delay(
|
|
142
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
147
143
|
return "a";
|
|
148
144
|
}));
|
|
149
145
|
expect(result).toBe("a");
|
|
@@ -157,7 +153,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
157
153
|
ttl,
|
|
158
154
|
});
|
|
159
155
|
const [result, error] = await lock.runBlocking(async () => {
|
|
160
|
-
await delay(
|
|
156
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
161
157
|
return "a";
|
|
162
158
|
}, {
|
|
163
159
|
time: TimeSpan.fromMilliseconds(5),
|
|
@@ -174,7 +170,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
174
170
|
});
|
|
175
171
|
await lock.acquire();
|
|
176
172
|
const [result, error] = await lock.runBlocking(async () => {
|
|
177
|
-
await delay(
|
|
173
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
178
174
|
return "a";
|
|
179
175
|
}, {
|
|
180
176
|
time: TimeSpan.fromMilliseconds(5),
|
|
@@ -190,7 +186,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
190
186
|
ttl,
|
|
191
187
|
});
|
|
192
188
|
const [result, error] = await lock.runBlocking(new LazyPromise(async () => {
|
|
193
|
-
await delay(
|
|
189
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
194
190
|
return "a";
|
|
195
191
|
}), {
|
|
196
192
|
time: TimeSpan.fromMilliseconds(5),
|
|
@@ -211,7 +207,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
211
207
|
index++;
|
|
212
208
|
});
|
|
213
209
|
await lock.runBlocking(async () => {
|
|
214
|
-
await delay(
|
|
210
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
215
211
|
}, {
|
|
216
212
|
time: TimeSpan.fromMilliseconds(55),
|
|
217
213
|
interval: TimeSpan.fromMilliseconds(5),
|
|
@@ -219,6 +215,78 @@ export function lockProviderTestSuite(settings) {
|
|
|
219
215
|
expect(index).toBeGreaterThan(1);
|
|
220
216
|
});
|
|
221
217
|
});
|
|
218
|
+
describe("method: runBlockingOrFail", () => {
|
|
219
|
+
test("Should return string when lock is available", async () => {
|
|
220
|
+
const key = "a";
|
|
221
|
+
const ttl = null;
|
|
222
|
+
const lock = lockProviderA.create(key, {
|
|
223
|
+
ttl,
|
|
224
|
+
});
|
|
225
|
+
const result = await lock.runBlockingOrFail(async () => {
|
|
226
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
227
|
+
return "a";
|
|
228
|
+
}, {
|
|
229
|
+
time: TimeSpan.fromMilliseconds(5),
|
|
230
|
+
interval: TimeSpan.fromMilliseconds(5),
|
|
231
|
+
});
|
|
232
|
+
expect(result).toBe("a");
|
|
233
|
+
});
|
|
234
|
+
test("Should throw KeyAlreadyAcquiredLockError when lock is already acquired", async () => {
|
|
235
|
+
const key = "a";
|
|
236
|
+
const ttl = null;
|
|
237
|
+
const lock = lockProviderA.create(key, {
|
|
238
|
+
ttl,
|
|
239
|
+
});
|
|
240
|
+
await lock.acquire();
|
|
241
|
+
const promise = lock.runBlockingOrFail(async () => {
|
|
242
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
243
|
+
return "a";
|
|
244
|
+
}, {
|
|
245
|
+
time: TimeSpan.fromMilliseconds(5),
|
|
246
|
+
interval: TimeSpan.fromMilliseconds(5),
|
|
247
|
+
});
|
|
248
|
+
await expect(promise).rejects.toBeInstanceOf(KeyAlreadyAcquiredLockError);
|
|
249
|
+
});
|
|
250
|
+
test("Should work with LazyPromise", async () => {
|
|
251
|
+
const key = "a";
|
|
252
|
+
const ttl = null;
|
|
253
|
+
const lock = lockProviderA.create(key, {
|
|
254
|
+
ttl,
|
|
255
|
+
});
|
|
256
|
+
const result = await lock.runBlockingOrFail(new LazyPromise(async () => {
|
|
257
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
258
|
+
return "a";
|
|
259
|
+
}), {
|
|
260
|
+
time: TimeSpan.fromMilliseconds(5),
|
|
261
|
+
interval: TimeSpan.fromMilliseconds(5),
|
|
262
|
+
});
|
|
263
|
+
expect(result).toBe("a");
|
|
264
|
+
});
|
|
265
|
+
test("Should retry acquire the lock", async () => {
|
|
266
|
+
const key = "a";
|
|
267
|
+
const ttl = TimeSpan.fromMilliseconds(50);
|
|
268
|
+
const lock = lockProviderA.create(key, {
|
|
269
|
+
ttl,
|
|
270
|
+
});
|
|
271
|
+
await lock.acquire();
|
|
272
|
+
let index = 0;
|
|
273
|
+
await lock.addListener(KeyAlreadyAcquiredLockEvent, (_event) => {
|
|
274
|
+
index++;
|
|
275
|
+
});
|
|
276
|
+
try {
|
|
277
|
+
await lock.runBlockingOrFail(async () => {
|
|
278
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
279
|
+
}, {
|
|
280
|
+
time: TimeSpan.fromMilliseconds(55),
|
|
281
|
+
interval: TimeSpan.fromMilliseconds(5),
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
catch {
|
|
285
|
+
/* Empty */
|
|
286
|
+
}
|
|
287
|
+
expect(index).toBeGreaterThan(1);
|
|
288
|
+
});
|
|
289
|
+
});
|
|
222
290
|
describe("method: acquire", () => {
|
|
223
291
|
test("Should return true when lock is available", async () => {
|
|
224
292
|
const key = "a";
|
|
@@ -305,12 +373,12 @@ export function lockProviderTestSuite(settings) {
|
|
|
305
373
|
ttl,
|
|
306
374
|
});
|
|
307
375
|
await lock.acquireBlocking({
|
|
308
|
-
time: TimeSpan.fromMilliseconds(
|
|
309
|
-
interval: TimeSpan.fromMilliseconds(
|
|
376
|
+
time: TimeSpan.fromMilliseconds(5),
|
|
377
|
+
interval: TimeSpan.fromMilliseconds(5),
|
|
310
378
|
});
|
|
311
379
|
const result = await lock.acquireBlocking({
|
|
312
|
-
time: TimeSpan.fromMilliseconds(
|
|
313
|
-
interval: TimeSpan.fromMilliseconds(
|
|
380
|
+
time: TimeSpan.fromMilliseconds(5),
|
|
381
|
+
interval: TimeSpan.fromMilliseconds(5),
|
|
314
382
|
});
|
|
315
383
|
expect(result).toBe(false);
|
|
316
384
|
});
|
|
@@ -323,8 +391,8 @@ export function lockProviderTestSuite(settings) {
|
|
|
323
391
|
owner,
|
|
324
392
|
});
|
|
325
393
|
await lock.acquireBlocking({
|
|
326
|
-
time: TimeSpan.fromMilliseconds(
|
|
327
|
-
interval: TimeSpan.fromMilliseconds(
|
|
394
|
+
time: TimeSpan.fromMilliseconds(5),
|
|
395
|
+
interval: TimeSpan.fromMilliseconds(5),
|
|
328
396
|
});
|
|
329
397
|
const result = await lock.isExpired();
|
|
330
398
|
expect(result).toBe(false);
|
|
@@ -338,8 +406,8 @@ export function lockProviderTestSuite(settings) {
|
|
|
338
406
|
owner,
|
|
339
407
|
});
|
|
340
408
|
await lock.acquireBlocking({
|
|
341
|
-
time: TimeSpan.fromMilliseconds(
|
|
342
|
-
interval: TimeSpan.fromMilliseconds(
|
|
409
|
+
time: TimeSpan.fromMilliseconds(5),
|
|
410
|
+
interval: TimeSpan.fromMilliseconds(5),
|
|
343
411
|
});
|
|
344
412
|
const result = await lock.isLocked();
|
|
345
413
|
expect(result).toBe(true);
|
|
@@ -362,6 +430,88 @@ export function lockProviderTestSuite(settings) {
|
|
|
362
430
|
expect(index).toBeGreaterThan(1);
|
|
363
431
|
});
|
|
364
432
|
});
|
|
433
|
+
describe("method: acquireBlockingOrFail", () => {
|
|
434
|
+
test("Should not throw KeyAlreadyAcquiredLockError when lock is available", async () => {
|
|
435
|
+
const key = "a";
|
|
436
|
+
const ttl = null;
|
|
437
|
+
const lock = lockProviderA.create(key, {
|
|
438
|
+
ttl,
|
|
439
|
+
});
|
|
440
|
+
const promise = lock.acquireBlockingOrFail({
|
|
441
|
+
time: TimeSpan.fromMilliseconds(5),
|
|
442
|
+
interval: TimeSpan.fromMilliseconds(5),
|
|
443
|
+
});
|
|
444
|
+
await expect(promise).resolves.toBeUndefined();
|
|
445
|
+
});
|
|
446
|
+
test("Should throw KeyAlreadyAcquiredLockError when lock is already acquired", async () => {
|
|
447
|
+
const key = "a";
|
|
448
|
+
const ttl = null;
|
|
449
|
+
const lock = lockProviderA.create(key, {
|
|
450
|
+
ttl,
|
|
451
|
+
});
|
|
452
|
+
await lock.acquireBlockingOrFail({
|
|
453
|
+
time: TimeSpan.fromMilliseconds(5),
|
|
454
|
+
interval: TimeSpan.fromMilliseconds(5),
|
|
455
|
+
});
|
|
456
|
+
const promise = lock.acquireBlockingOrFail({
|
|
457
|
+
time: TimeSpan.fromMilliseconds(5),
|
|
458
|
+
interval: TimeSpan.fromMilliseconds(5),
|
|
459
|
+
});
|
|
460
|
+
await expect(promise).rejects.toBeInstanceOf(KeyAlreadyAcquiredLockError);
|
|
461
|
+
});
|
|
462
|
+
test("Should not be expired when released by same owner", async () => {
|
|
463
|
+
const key = "a";
|
|
464
|
+
const ttl = null;
|
|
465
|
+
const owner = "b";
|
|
466
|
+
const lock = lockProviderA.create(key, {
|
|
467
|
+
ttl,
|
|
468
|
+
owner,
|
|
469
|
+
});
|
|
470
|
+
await lock.acquireBlockingOrFail({
|
|
471
|
+
time: TimeSpan.fromMilliseconds(5),
|
|
472
|
+
interval: TimeSpan.fromMilliseconds(5),
|
|
473
|
+
});
|
|
474
|
+
const result = await lock.isExpired();
|
|
475
|
+
expect(result).toBe(false);
|
|
476
|
+
});
|
|
477
|
+
test("Should be loked when released by same owner", async () => {
|
|
478
|
+
const key = "a";
|
|
479
|
+
const ttl = null;
|
|
480
|
+
const owner = "b";
|
|
481
|
+
const lock = lockProviderA.create(key, {
|
|
482
|
+
ttl,
|
|
483
|
+
owner,
|
|
484
|
+
});
|
|
485
|
+
await lock.acquireBlockingOrFail({
|
|
486
|
+
time: TimeSpan.fromMilliseconds(5),
|
|
487
|
+
interval: TimeSpan.fromMilliseconds(5),
|
|
488
|
+
});
|
|
489
|
+
const result = await lock.isLocked();
|
|
490
|
+
expect(result).toBe(true);
|
|
491
|
+
});
|
|
492
|
+
test("Should retry acquire the lock", async () => {
|
|
493
|
+
const key = "a";
|
|
494
|
+
const ttl = TimeSpan.fromMilliseconds(50);
|
|
495
|
+
const lock = lockProviderA.create(key, {
|
|
496
|
+
ttl,
|
|
497
|
+
});
|
|
498
|
+
await lock.acquire();
|
|
499
|
+
let index = 0;
|
|
500
|
+
await lock.addListener(KeyAlreadyAcquiredLockEvent, (_event) => {
|
|
501
|
+
index++;
|
|
502
|
+
});
|
|
503
|
+
try {
|
|
504
|
+
await lock.acquireBlockingOrFail({
|
|
505
|
+
time: TimeSpan.fromMilliseconds(55),
|
|
506
|
+
interval: TimeSpan.fromMilliseconds(5),
|
|
507
|
+
});
|
|
508
|
+
}
|
|
509
|
+
catch {
|
|
510
|
+
/* Empty */
|
|
511
|
+
}
|
|
512
|
+
expect(index).toBeGreaterThan(1);
|
|
513
|
+
});
|
|
514
|
+
});
|
|
365
515
|
describe("method: release", () => {
|
|
366
516
|
test("Should return true when released by same owner", async () => {
|
|
367
517
|
const key = "a";
|
|
@@ -556,7 +706,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
556
706
|
owner,
|
|
557
707
|
});
|
|
558
708
|
await lock.acquire();
|
|
559
|
-
await delay(ttl.addMilliseconds(25));
|
|
709
|
+
await LazyPromise.delay(ttl.addMilliseconds(25));
|
|
560
710
|
const result = await lock.isExpired();
|
|
561
711
|
expect(result).toBe(true);
|
|
562
712
|
});
|
|
@@ -595,7 +745,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
595
745
|
owner,
|
|
596
746
|
});
|
|
597
747
|
await lock.acquire();
|
|
598
|
-
await delay(ttl.addMilliseconds(25));
|
|
748
|
+
await LazyPromise.delay(ttl.addMilliseconds(25));
|
|
599
749
|
const result = await lock.isLocked();
|
|
600
750
|
expect(result).toBe(false);
|
|
601
751
|
});
|
|
@@ -610,7 +760,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
610
760
|
owner,
|
|
611
761
|
});
|
|
612
762
|
await lock.acquire();
|
|
613
|
-
await delay(ttl);
|
|
763
|
+
await LazyPromise.delay(ttl);
|
|
614
764
|
const result = await lock.refresh();
|
|
615
765
|
expect(result).toBe(true);
|
|
616
766
|
});
|
|
@@ -640,7 +790,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
640
790
|
owner,
|
|
641
791
|
});
|
|
642
792
|
await lock.acquire();
|
|
643
|
-
await delay(ttl.subtractMilliseconds(10));
|
|
793
|
+
await LazyPromise.delay(ttl.subtractMilliseconds(10));
|
|
644
794
|
await lock.refresh();
|
|
645
795
|
const time = await lock.getRemainingTime();
|
|
646
796
|
expect(time?.toMilliseconds()).toBeGreaterThan(0);
|
|
@@ -656,7 +806,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
656
806
|
owner,
|
|
657
807
|
});
|
|
658
808
|
await lock.acquire();
|
|
659
|
-
await delay(ttl);
|
|
809
|
+
await LazyPromise.delay(ttl);
|
|
660
810
|
const result = lock.refreshOrFail();
|
|
661
811
|
await expect(result).resolves.toBeUndefined();
|
|
662
812
|
});
|
|
@@ -686,7 +836,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
686
836
|
owner,
|
|
687
837
|
});
|
|
688
838
|
await lock.acquireOrFail();
|
|
689
|
-
await delay(ttl.subtractMilliseconds(10));
|
|
839
|
+
await LazyPromise.delay(ttl.subtractMilliseconds(10));
|
|
690
840
|
await lock.refresh();
|
|
691
841
|
const time = await lock.getRemainingTime();
|
|
692
842
|
expect(time?.toMilliseconds()).toBeGreaterThan(0);
|
|
@@ -763,9 +913,9 @@ export function lockProviderTestSuite(settings) {
|
|
|
763
913
|
event_ = event;
|
|
764
914
|
});
|
|
765
915
|
await lock.run(async () => {
|
|
766
|
-
await delay(
|
|
916
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
767
917
|
});
|
|
768
|
-
await delay(
|
|
918
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
769
919
|
expect(event_?.fields.key).toBe("a");
|
|
770
920
|
expect(event_?.fields.owner).toBe(owner);
|
|
771
921
|
expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
|
|
@@ -783,9 +933,9 @@ export function lockProviderTestSuite(settings) {
|
|
|
783
933
|
event_ = event;
|
|
784
934
|
});
|
|
785
935
|
await lock.run(async () => {
|
|
786
|
-
await delay(
|
|
936
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
787
937
|
});
|
|
788
|
-
await delay(
|
|
938
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
789
939
|
expect(event_?.fields.key).toBe(key);
|
|
790
940
|
expect(event_?.fields.owner).toBe(owner);
|
|
791
941
|
await unsubscribe();
|
|
@@ -802,9 +952,9 @@ export function lockProviderTestSuite(settings) {
|
|
|
802
952
|
event_ = event;
|
|
803
953
|
});
|
|
804
954
|
await lock.run(async () => {
|
|
805
|
-
await delay(
|
|
955
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
806
956
|
});
|
|
807
|
-
await delay(
|
|
957
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
808
958
|
expect(event_?.fields.key).toBe("a");
|
|
809
959
|
expect(event_?.fields.owner).toBe(owner);
|
|
810
960
|
await unsubscribe();
|
|
@@ -823,12 +973,12 @@ export function lockProviderTestSuite(settings) {
|
|
|
823
973
|
event_ = event;
|
|
824
974
|
});
|
|
825
975
|
await lock.runBlocking(async () => {
|
|
826
|
-
await delay(
|
|
976
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
827
977
|
}, {
|
|
828
978
|
time: TimeSpan.fromMilliseconds(5),
|
|
829
979
|
interval: TimeSpan.fromMilliseconds(5),
|
|
830
980
|
});
|
|
831
|
-
await delay(
|
|
981
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
832
982
|
expect(event_?.fields.key).toBe("a");
|
|
833
983
|
expect(event_?.fields.owner).toBe(owner);
|
|
834
984
|
expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
|
|
@@ -846,12 +996,12 @@ export function lockProviderTestSuite(settings) {
|
|
|
846
996
|
event_ = event;
|
|
847
997
|
});
|
|
848
998
|
await lock.runBlocking(async () => {
|
|
849
|
-
await delay(
|
|
999
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
850
1000
|
}, {
|
|
851
1001
|
time: TimeSpan.fromMilliseconds(5),
|
|
852
1002
|
interval: TimeSpan.fromMilliseconds(5),
|
|
853
1003
|
});
|
|
854
|
-
await delay(
|
|
1004
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
855
1005
|
expect(event_?.fields.key).toBe(key);
|
|
856
1006
|
expect(event_?.fields.owner).toBe(owner);
|
|
857
1007
|
await unsubscribe();
|
|
@@ -868,12 +1018,12 @@ export function lockProviderTestSuite(settings) {
|
|
|
868
1018
|
event_ = event;
|
|
869
1019
|
});
|
|
870
1020
|
await lock.runBlocking(async () => {
|
|
871
|
-
await delay(
|
|
1021
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
872
1022
|
}, {
|
|
873
1023
|
time: TimeSpan.fromMilliseconds(5),
|
|
874
1024
|
interval: TimeSpan.fromMilliseconds(5),
|
|
875
1025
|
});
|
|
876
|
-
await delay(
|
|
1026
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
877
1027
|
expect(event_?.fields.key).toBe("a");
|
|
878
1028
|
expect(event_?.fields.owner).toBe(owner);
|
|
879
1029
|
await unsubscribe();
|
|
@@ -892,9 +1042,9 @@ export function lockProviderTestSuite(settings) {
|
|
|
892
1042
|
event_ = event;
|
|
893
1043
|
});
|
|
894
1044
|
await lock.runOrFail(async () => {
|
|
895
|
-
await delay(
|
|
1045
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
896
1046
|
});
|
|
897
|
-
await delay(
|
|
1047
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
898
1048
|
expect(event_?.fields.key).toBe("a");
|
|
899
1049
|
expect(event_?.fields.owner).toBe(owner);
|
|
900
1050
|
expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
|
|
@@ -912,9 +1062,9 @@ export function lockProviderTestSuite(settings) {
|
|
|
912
1062
|
event_ = event;
|
|
913
1063
|
});
|
|
914
1064
|
await lock.runOrFail(async () => {
|
|
915
|
-
await delay(
|
|
1065
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
916
1066
|
});
|
|
917
|
-
await delay(
|
|
1067
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
918
1068
|
expect(event_?.fields.key).toBe(key);
|
|
919
1069
|
expect(event_?.fields.owner).toBe(owner);
|
|
920
1070
|
await unsubscribe();
|
|
@@ -932,9 +1082,9 @@ export function lockProviderTestSuite(settings) {
|
|
|
932
1082
|
});
|
|
933
1083
|
try {
|
|
934
1084
|
await lock.runOrFail(async () => {
|
|
935
|
-
await delay(
|
|
1085
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
936
1086
|
});
|
|
937
|
-
await delay(
|
|
1087
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
938
1088
|
}
|
|
939
1089
|
catch {
|
|
940
1090
|
/* Empty */
|
|
@@ -957,7 +1107,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
957
1107
|
event_ = event;
|
|
958
1108
|
});
|
|
959
1109
|
await lock.acquire();
|
|
960
|
-
await delay(
|
|
1110
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
961
1111
|
expect(event_?.fields.key).toBe("a");
|
|
962
1112
|
expect(event_?.fields.owner).toBe(owner);
|
|
963
1113
|
expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
|
|
@@ -975,7 +1125,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
975
1125
|
event_ = event;
|
|
976
1126
|
});
|
|
977
1127
|
await lock.acquire();
|
|
978
|
-
await delay(
|
|
1128
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
979
1129
|
expect(event_?.fields.key).toBe("a");
|
|
980
1130
|
expect(event_?.fields.owner).toBe(owner);
|
|
981
1131
|
await unsubscribe();
|
|
@@ -997,7 +1147,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
997
1147
|
time: TimeSpan.fromMilliseconds(5),
|
|
998
1148
|
interval: TimeSpan.fromMilliseconds(5),
|
|
999
1149
|
});
|
|
1000
|
-
await delay(
|
|
1150
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1001
1151
|
expect(event_?.fields.key).toBe("a");
|
|
1002
1152
|
expect(event_?.fields.owner).toBe(owner);
|
|
1003
1153
|
expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
|
|
@@ -1021,7 +1171,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1021
1171
|
time: TimeSpan.fromMilliseconds(5),
|
|
1022
1172
|
interval: TimeSpan.fromMilliseconds(5),
|
|
1023
1173
|
});
|
|
1024
|
-
await delay(
|
|
1174
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1025
1175
|
expect(event_?.fields.key).toBe("a");
|
|
1026
1176
|
expect(event_?.fields.owner).toBe(owner);
|
|
1027
1177
|
await unsubscribe();
|
|
@@ -1040,7 +1190,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1040
1190
|
event_ = event;
|
|
1041
1191
|
});
|
|
1042
1192
|
await lock.acquireOrFail();
|
|
1043
|
-
await delay(
|
|
1193
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1044
1194
|
expect(event_?.fields.key).toBe("a");
|
|
1045
1195
|
expect(event_?.fields.owner).toBe(owner);
|
|
1046
1196
|
expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
|
|
@@ -1059,7 +1209,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1059
1209
|
});
|
|
1060
1210
|
try {
|
|
1061
1211
|
await lock.acquireOrFail();
|
|
1062
|
-
await delay(
|
|
1212
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1063
1213
|
}
|
|
1064
1214
|
catch {
|
|
1065
1215
|
/* Empty */
|
|
@@ -1082,7 +1232,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1082
1232
|
event_ = event;
|
|
1083
1233
|
});
|
|
1084
1234
|
await lock.release();
|
|
1085
|
-
await delay(
|
|
1235
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1086
1236
|
expect(event_?.fields.key).toBe(key);
|
|
1087
1237
|
expect(event_?.fields.owner).toBe(owner);
|
|
1088
1238
|
await unsubscribe();
|
|
@@ -1103,7 +1253,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1103
1253
|
event_ = event;
|
|
1104
1254
|
});
|
|
1105
1255
|
await lock2.release();
|
|
1106
|
-
await delay(
|
|
1256
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1107
1257
|
expect(event_?.fields.key).toBe(key);
|
|
1108
1258
|
expect(event_?.fields.owner).toBe(owner2);
|
|
1109
1259
|
await unsubscribe();
|
|
@@ -1122,7 +1272,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1122
1272
|
event_ = event;
|
|
1123
1273
|
});
|
|
1124
1274
|
await lock.releaseOrFail();
|
|
1125
|
-
await delay(
|
|
1275
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1126
1276
|
expect(event_?.fields.key).toBe(key);
|
|
1127
1277
|
expect(event_?.fields.owner).toBe(owner);
|
|
1128
1278
|
await unsubscribe();
|
|
@@ -1144,7 +1294,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1144
1294
|
});
|
|
1145
1295
|
try {
|
|
1146
1296
|
await lock2.releaseOrFail();
|
|
1147
|
-
await delay(
|
|
1297
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1148
1298
|
}
|
|
1149
1299
|
catch {
|
|
1150
1300
|
/* Empty */
|
|
@@ -1171,7 +1321,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1171
1321
|
event_ = event;
|
|
1172
1322
|
});
|
|
1173
1323
|
await lock2.forceRelease();
|
|
1174
|
-
await delay(
|
|
1324
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1175
1325
|
expect(event_?.fields.key).toBe(key);
|
|
1176
1326
|
await unsubscribe();
|
|
1177
1327
|
});
|
|
@@ -1189,10 +1339,10 @@ export function lockProviderTestSuite(settings) {
|
|
|
1189
1339
|
const unsubscribe = await lock.subscribe(KeyRefreshedLockEvent, (event) => {
|
|
1190
1340
|
event_ = event;
|
|
1191
1341
|
});
|
|
1192
|
-
await delay(TTL.divide(2));
|
|
1342
|
+
await LazyPromise.delay(TTL.divide(2));
|
|
1193
1343
|
const newTTL = TTL.multiply(2);
|
|
1194
1344
|
await lock.refresh(newTTL);
|
|
1195
|
-
await delay(
|
|
1345
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1196
1346
|
expect(event_?.fields.key).toBe(key);
|
|
1197
1347
|
expect(event_?.fields.owner).toBe(owner);
|
|
1198
1348
|
expect(event_?.fields.ttl.toMilliseconds()).toBe(newTTL.toMilliseconds());
|
|
@@ -1214,10 +1364,10 @@ export function lockProviderTestSuite(settings) {
|
|
|
1214
1364
|
const unsubscribe = await lock1.subscribe(UnownedRefreshLockEvent, (event) => {
|
|
1215
1365
|
event_ = event;
|
|
1216
1366
|
});
|
|
1217
|
-
await delay(TTL.divide(2));
|
|
1367
|
+
await LazyPromise.delay(TTL.divide(2));
|
|
1218
1368
|
const newTTL = TTL.multiply(2);
|
|
1219
1369
|
await lock2.refresh(newTTL);
|
|
1220
|
-
await delay(
|
|
1370
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1221
1371
|
expect(event_?.fields.key).toBe(key);
|
|
1222
1372
|
expect(event_?.fields.owner).toBe(owner2);
|
|
1223
1373
|
await unsubscribe();
|
|
@@ -1236,10 +1386,10 @@ export function lockProviderTestSuite(settings) {
|
|
|
1236
1386
|
const unsubscribe = await lock.subscribe(KeyRefreshedLockEvent, (event) => {
|
|
1237
1387
|
event_ = event;
|
|
1238
1388
|
});
|
|
1239
|
-
await delay(TTL.divide(2));
|
|
1389
|
+
await LazyPromise.delay(TTL.divide(2));
|
|
1240
1390
|
const newTTL = TTL.multiply(2);
|
|
1241
1391
|
await lock.refreshOrFail(newTTL);
|
|
1242
|
-
await delay(
|
|
1392
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1243
1393
|
expect(event_?.fields.key).toBe(key);
|
|
1244
1394
|
expect(event_?.fields.owner).toBe(owner);
|
|
1245
1395
|
expect(event_?.fields.ttl.toMilliseconds()).toBe(newTTL.toMilliseconds());
|
|
@@ -1261,11 +1411,11 @@ export function lockProviderTestSuite(settings) {
|
|
|
1261
1411
|
const unsubscribe = await lock1.subscribe(UnownedRefreshLockEvent, (event) => {
|
|
1262
1412
|
event_ = event;
|
|
1263
1413
|
});
|
|
1264
|
-
await delay(TTL.divide(2));
|
|
1414
|
+
await LazyPromise.delay(TTL.divide(2));
|
|
1265
1415
|
const newTTL = TTL.multiply(2);
|
|
1266
1416
|
try {
|
|
1267
1417
|
await lock2.refreshOrFail(newTTL);
|
|
1268
|
-
await delay(
|
|
1418
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1269
1419
|
}
|
|
1270
1420
|
catch {
|
|
1271
1421
|
/* Empty */
|
|
@@ -1290,9 +1440,9 @@ export function lockProviderTestSuite(settings) {
|
|
|
1290
1440
|
event_ = event;
|
|
1291
1441
|
});
|
|
1292
1442
|
await lock.run(async () => {
|
|
1293
|
-
await delay(
|
|
1443
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1294
1444
|
});
|
|
1295
|
-
await delay(
|
|
1445
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1296
1446
|
expect(event_?.fields.key).toBe("a");
|
|
1297
1447
|
expect(event_?.fields.owner).toBe(owner);
|
|
1298
1448
|
expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
|
|
@@ -1310,9 +1460,9 @@ export function lockProviderTestSuite(settings) {
|
|
|
1310
1460
|
event_ = event;
|
|
1311
1461
|
});
|
|
1312
1462
|
await lock.run(async () => {
|
|
1313
|
-
await delay(
|
|
1463
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1314
1464
|
});
|
|
1315
|
-
await delay(
|
|
1465
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1316
1466
|
expect(event_?.fields.key).toBe(key);
|
|
1317
1467
|
expect(event_?.fields.owner).toBe(owner);
|
|
1318
1468
|
await unsubscribe();
|
|
@@ -1329,9 +1479,9 @@ export function lockProviderTestSuite(settings) {
|
|
|
1329
1479
|
event_ = event;
|
|
1330
1480
|
});
|
|
1331
1481
|
await lock.run(async () => {
|
|
1332
|
-
await delay(
|
|
1482
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1333
1483
|
});
|
|
1334
|
-
await delay(
|
|
1484
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1335
1485
|
expect(event_?.fields.key).toBe("a");
|
|
1336
1486
|
expect(event_?.fields.owner).toBe(owner);
|
|
1337
1487
|
await unsubscribe();
|
|
@@ -1350,12 +1500,12 @@ export function lockProviderTestSuite(settings) {
|
|
|
1350
1500
|
event_ = event;
|
|
1351
1501
|
});
|
|
1352
1502
|
await lock.runBlocking(async () => {
|
|
1353
|
-
await delay(
|
|
1503
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1354
1504
|
}, {
|
|
1355
1505
|
time: TimeSpan.fromMilliseconds(5),
|
|
1356
1506
|
interval: TimeSpan.fromMilliseconds(5),
|
|
1357
1507
|
});
|
|
1358
|
-
await delay(
|
|
1508
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1359
1509
|
expect(event_?.fields.key).toBe("a");
|
|
1360
1510
|
expect(event_?.fields.owner).toBe(owner);
|
|
1361
1511
|
expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
|
|
@@ -1373,12 +1523,12 @@ export function lockProviderTestSuite(settings) {
|
|
|
1373
1523
|
event_ = event;
|
|
1374
1524
|
});
|
|
1375
1525
|
await lock.runBlocking(async () => {
|
|
1376
|
-
await delay(
|
|
1526
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1377
1527
|
}, {
|
|
1378
1528
|
time: TimeSpan.fromMilliseconds(5),
|
|
1379
1529
|
interval: TimeSpan.fromMilliseconds(5),
|
|
1380
1530
|
});
|
|
1381
|
-
await delay(
|
|
1531
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1382
1532
|
expect(event_?.fields.key).toBe(key);
|
|
1383
1533
|
expect(event_?.fields.owner).toBe(owner);
|
|
1384
1534
|
await unsubscribe();
|
|
@@ -1395,12 +1545,12 @@ export function lockProviderTestSuite(settings) {
|
|
|
1395
1545
|
event_ = event;
|
|
1396
1546
|
});
|
|
1397
1547
|
await lock.runBlocking(async () => {
|
|
1398
|
-
await delay(
|
|
1548
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1399
1549
|
}, {
|
|
1400
1550
|
time: TimeSpan.fromMilliseconds(5),
|
|
1401
1551
|
interval: TimeSpan.fromMilliseconds(5),
|
|
1402
1552
|
});
|
|
1403
|
-
await delay(
|
|
1553
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1404
1554
|
expect(event_?.fields.key).toBe("a");
|
|
1405
1555
|
expect(event_?.fields.owner).toBe(owner);
|
|
1406
1556
|
await unsubscribe();
|
|
@@ -1419,9 +1569,9 @@ export function lockProviderTestSuite(settings) {
|
|
|
1419
1569
|
event_ = event;
|
|
1420
1570
|
});
|
|
1421
1571
|
await lock.runOrFail(async () => {
|
|
1422
|
-
await delay(
|
|
1572
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1423
1573
|
});
|
|
1424
|
-
await delay(
|
|
1574
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1425
1575
|
expect(event_?.fields.key).toBe("a");
|
|
1426
1576
|
expect(event_?.fields.owner).toBe(owner);
|
|
1427
1577
|
expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
|
|
@@ -1439,9 +1589,9 @@ export function lockProviderTestSuite(settings) {
|
|
|
1439
1589
|
event_ = event;
|
|
1440
1590
|
});
|
|
1441
1591
|
await lock.runOrFail(async () => {
|
|
1442
|
-
await delay(
|
|
1592
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1443
1593
|
});
|
|
1444
|
-
await delay(
|
|
1594
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1445
1595
|
expect(event_?.fields.key).toBe(key);
|
|
1446
1596
|
expect(event_?.fields.owner).toBe(owner);
|
|
1447
1597
|
await unsubscribe();
|
|
@@ -1459,9 +1609,9 @@ export function lockProviderTestSuite(settings) {
|
|
|
1459
1609
|
});
|
|
1460
1610
|
try {
|
|
1461
1611
|
await lock.runOrFail(async () => {
|
|
1462
|
-
await delay(
|
|
1612
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1463
1613
|
});
|
|
1464
|
-
await delay(
|
|
1614
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1465
1615
|
}
|
|
1466
1616
|
catch {
|
|
1467
1617
|
/* Empty */
|
|
@@ -1484,7 +1634,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1484
1634
|
event_ = event;
|
|
1485
1635
|
});
|
|
1486
1636
|
await lock.acquire();
|
|
1487
|
-
await delay(
|
|
1637
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1488
1638
|
expect(event_?.fields.key).toBe("a");
|
|
1489
1639
|
expect(event_?.fields.owner).toBe(owner);
|
|
1490
1640
|
expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
|
|
@@ -1502,7 +1652,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1502
1652
|
event_ = event;
|
|
1503
1653
|
});
|
|
1504
1654
|
await lock.acquire();
|
|
1505
|
-
await delay(
|
|
1655
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1506
1656
|
expect(event_?.fields.key).toBe("a");
|
|
1507
1657
|
expect(event_?.fields.owner).toBe(owner);
|
|
1508
1658
|
await unsubscribe();
|
|
@@ -1521,7 +1671,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1521
1671
|
event_ = event;
|
|
1522
1672
|
});
|
|
1523
1673
|
await lock.acquire();
|
|
1524
|
-
await delay(
|
|
1674
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1525
1675
|
expect(event_?.fields.key).toBe("a");
|
|
1526
1676
|
expect(event_?.fields.owner).toBe(owner);
|
|
1527
1677
|
expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
|
|
@@ -1539,7 +1689,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1539
1689
|
event_ = event;
|
|
1540
1690
|
});
|
|
1541
1691
|
await lock.acquire();
|
|
1542
|
-
await delay(
|
|
1692
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1543
1693
|
expect(event_?.fields.key).toBe("a");
|
|
1544
1694
|
expect(event_?.fields.owner).toBe(owner);
|
|
1545
1695
|
await unsubscribe();
|
|
@@ -1558,7 +1708,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1558
1708
|
event_ = event;
|
|
1559
1709
|
});
|
|
1560
1710
|
await lock.acquireOrFail();
|
|
1561
|
-
await delay(
|
|
1711
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1562
1712
|
expect(event_?.fields.key).toBe("a");
|
|
1563
1713
|
expect(event_?.fields.owner).toBe(owner);
|
|
1564
1714
|
expect(event_?.fields.ttl?.toMilliseconds()).toBe(TTL.toMilliseconds());
|
|
@@ -1577,7 +1727,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1577
1727
|
});
|
|
1578
1728
|
try {
|
|
1579
1729
|
await lock.acquireOrFail();
|
|
1580
|
-
await delay(
|
|
1730
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1581
1731
|
}
|
|
1582
1732
|
catch {
|
|
1583
1733
|
/* Empty */
|
|
@@ -1600,7 +1750,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1600
1750
|
event_ = event;
|
|
1601
1751
|
});
|
|
1602
1752
|
await lock.release();
|
|
1603
|
-
await delay(
|
|
1753
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1604
1754
|
expect(event_?.fields.key).toBe(key);
|
|
1605
1755
|
expect(event_?.fields.owner).toBe(owner);
|
|
1606
1756
|
await unsubscribe();
|
|
@@ -1621,7 +1771,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1621
1771
|
event_ = event;
|
|
1622
1772
|
});
|
|
1623
1773
|
await lock2.release();
|
|
1624
|
-
await delay(
|
|
1774
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1625
1775
|
expect(event_?.fields.key).toBe(key);
|
|
1626
1776
|
expect(event_?.fields.owner).toBe(owner2);
|
|
1627
1777
|
await unsubscribe();
|
|
@@ -1640,7 +1790,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1640
1790
|
event_ = event;
|
|
1641
1791
|
});
|
|
1642
1792
|
await lock.releaseOrFail();
|
|
1643
|
-
await delay(
|
|
1793
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1644
1794
|
expect(event_?.fields.key).toBe(key);
|
|
1645
1795
|
expect(event_?.fields.owner).toBe(owner);
|
|
1646
1796
|
await unsubscribe();
|
|
@@ -1662,7 +1812,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1662
1812
|
});
|
|
1663
1813
|
try {
|
|
1664
1814
|
await lock2.releaseOrFail();
|
|
1665
|
-
await delay(
|
|
1815
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1666
1816
|
}
|
|
1667
1817
|
catch {
|
|
1668
1818
|
/* Empty */
|
|
@@ -1689,7 +1839,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1689
1839
|
event_ = event;
|
|
1690
1840
|
});
|
|
1691
1841
|
await lock2.forceRelease();
|
|
1692
|
-
await delay(
|
|
1842
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1693
1843
|
expect(event_?.fields.key).toBe(key);
|
|
1694
1844
|
await unsubscribe();
|
|
1695
1845
|
});
|
|
@@ -1707,10 +1857,10 @@ export function lockProviderTestSuite(settings) {
|
|
|
1707
1857
|
const unsubscribe = await lockProviderA.subscribe(KeyRefreshedLockEvent, (event) => {
|
|
1708
1858
|
event_ = event;
|
|
1709
1859
|
});
|
|
1710
|
-
await delay(TTL.divide(2));
|
|
1860
|
+
await LazyPromise.delay(TTL.divide(2));
|
|
1711
1861
|
const newTTL = TTL.multiply(2);
|
|
1712
1862
|
await lock.refresh(newTTL);
|
|
1713
|
-
await delay(
|
|
1863
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1714
1864
|
expect(event_?.fields.key).toBe(key);
|
|
1715
1865
|
expect(event_?.fields.owner).toBe(owner);
|
|
1716
1866
|
expect(event_?.fields.ttl.toMilliseconds()).toBe(newTTL.toMilliseconds());
|
|
@@ -1732,10 +1882,10 @@ export function lockProviderTestSuite(settings) {
|
|
|
1732
1882
|
const unsubscribe = await lock1.subscribe(UnownedRefreshLockEvent, (event) => {
|
|
1733
1883
|
event_ = event;
|
|
1734
1884
|
});
|
|
1735
|
-
await delay(TTL.divide(2));
|
|
1885
|
+
await LazyPromise.delay(TTL.divide(2));
|
|
1736
1886
|
const newTTL = TTL.multiply(2);
|
|
1737
1887
|
await lock2.refresh(newTTL);
|
|
1738
|
-
await delay(
|
|
1888
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1739
1889
|
expect(event_?.fields.key).toBe(key);
|
|
1740
1890
|
expect(event_?.fields.owner).toBe(owner2);
|
|
1741
1891
|
await unsubscribe();
|
|
@@ -1754,10 +1904,10 @@ export function lockProviderTestSuite(settings) {
|
|
|
1754
1904
|
const unsubscribe = await lockProviderA.subscribe(KeyRefreshedLockEvent, (event) => {
|
|
1755
1905
|
event_ = event;
|
|
1756
1906
|
});
|
|
1757
|
-
await delay(TTL.divide(2));
|
|
1907
|
+
await LazyPromise.delay(TTL.divide(2));
|
|
1758
1908
|
const newTTL = TTL.multiply(2);
|
|
1759
1909
|
await lock.refreshOrFail(newTTL);
|
|
1760
|
-
await delay(
|
|
1910
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1761
1911
|
expect(event_?.fields.key).toBe(key);
|
|
1762
1912
|
expect(event_?.fields.owner).toBe(owner);
|
|
1763
1913
|
expect(event_?.fields.ttl.toMilliseconds()).toBe(newTTL.toMilliseconds());
|
|
@@ -1779,11 +1929,11 @@ export function lockProviderTestSuite(settings) {
|
|
|
1779
1929
|
const unsubscribe = await lock1.subscribe(UnownedRefreshLockEvent, (event) => {
|
|
1780
1930
|
event_ = event;
|
|
1781
1931
|
});
|
|
1782
|
-
await delay(TTL.divide(2));
|
|
1932
|
+
await LazyPromise.delay(TTL.divide(2));
|
|
1783
1933
|
const newTTL = TTL.multiply(2);
|
|
1784
1934
|
try {
|
|
1785
1935
|
await lock2.refreshOrFail(newTTL);
|
|
1786
|
-
await delay(
|
|
1936
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1787
1937
|
}
|
|
1788
1938
|
catch {
|
|
1789
1939
|
/* Empty */
|
|
@@ -1803,7 +1953,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1803
1953
|
owner: ownerA,
|
|
1804
1954
|
});
|
|
1805
1955
|
const promiseA = lockA.run(async () => {
|
|
1806
|
-
await delay(
|
|
1956
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1807
1957
|
return "a";
|
|
1808
1958
|
});
|
|
1809
1959
|
const ownerB = "c";
|
|
@@ -1811,7 +1961,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1811
1961
|
owner: ownerB,
|
|
1812
1962
|
});
|
|
1813
1963
|
const promiseB = lockB.run(async () => {
|
|
1814
|
-
await delay(
|
|
1964
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1815
1965
|
return "a";
|
|
1816
1966
|
});
|
|
1817
1967
|
const [[resultA, errorA], [resultB, errorB]] = await Promise.all([
|
|
@@ -1830,7 +1980,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1830
1980
|
owner: ownerA,
|
|
1831
1981
|
});
|
|
1832
1982
|
const promiseA = lockA.run(async () => {
|
|
1833
|
-
await delay(
|
|
1983
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1834
1984
|
return "a";
|
|
1835
1985
|
});
|
|
1836
1986
|
const ownerB = "c";
|
|
@@ -1838,7 +1988,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1838
1988
|
owner: ownerB,
|
|
1839
1989
|
});
|
|
1840
1990
|
const promiseB = lockB.runBlocking(async () => {
|
|
1841
|
-
await delay(
|
|
1991
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1842
1992
|
return "a";
|
|
1843
1993
|
}, {
|
|
1844
1994
|
time: TimeSpan.fromMilliseconds(5),
|
|
@@ -1860,7 +2010,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1860
2010
|
owner: ownerA,
|
|
1861
2011
|
});
|
|
1862
2012
|
const promiseA = lockA.runOrFail(async () => {
|
|
1863
|
-
await delay(
|
|
2013
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1864
2014
|
return "a";
|
|
1865
2015
|
});
|
|
1866
2016
|
const ownerB = "c";
|
|
@@ -1868,7 +2018,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
1868
2018
|
owner: ownerB,
|
|
1869
2019
|
});
|
|
1870
2020
|
const promiseB = lockB.runOrFail(async () => {
|
|
1871
|
-
await delay(
|
|
2021
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
1872
2022
|
return "a";
|
|
1873
2023
|
});
|
|
1874
2024
|
const [resultA, resultB] = await Promise.all([promiseA, promiseB]);
|
|
@@ -2013,9 +2163,9 @@ export function lockProviderTestSuite(settings) {
|
|
|
2013
2163
|
ttl,
|
|
2014
2164
|
});
|
|
2015
2165
|
await Promise.all([lockA.acquire(), lockB.acquire()]);
|
|
2016
|
-
await delay(ttl.divide(2));
|
|
2166
|
+
await LazyPromise.delay(ttl.divide(2));
|
|
2017
2167
|
await lockA.refresh();
|
|
2018
|
-
await delay(ttl.divide(2));
|
|
2168
|
+
await LazyPromise.delay(ttl.divide(2));
|
|
2019
2169
|
const resultA = await lockA.isExpired();
|
|
2020
2170
|
const resultB = await lockB.isExpired();
|
|
2021
2171
|
expect(resultA).toBe(false);
|
|
@@ -2034,9 +2184,9 @@ export function lockProviderTestSuite(settings) {
|
|
|
2034
2184
|
ttl,
|
|
2035
2185
|
});
|
|
2036
2186
|
await Promise.all([lockA.acquire(), lockB.acquire()]);
|
|
2037
|
-
await delay(ttl.divide(2));
|
|
2187
|
+
await LazyPromise.delay(ttl.divide(2));
|
|
2038
2188
|
await lockA.refreshOrFail();
|
|
2039
|
-
await delay(ttl.divide(2));
|
|
2189
|
+
await LazyPromise.delay(ttl.divide(2));
|
|
2040
2190
|
const resultA = await lockA.isExpired();
|
|
2041
2191
|
const resultB = await lockB.isExpired();
|
|
2042
2192
|
expect(resultA).toBe(false);
|
|
@@ -2056,7 +2206,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
2056
2206
|
result_b = event;
|
|
2057
2207
|
});
|
|
2058
2208
|
await lockA.acquire();
|
|
2059
|
-
await delay(
|
|
2209
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
2060
2210
|
expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
|
|
2061
2211
|
expect(result_b).toBeNull();
|
|
2062
2212
|
});
|
|
@@ -2073,7 +2223,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
2073
2223
|
result_b = event;
|
|
2074
2224
|
});
|
|
2075
2225
|
await lockA.acquire();
|
|
2076
|
-
await delay(
|
|
2226
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
2077
2227
|
expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
|
|
2078
2228
|
expect(result_b).toBeNull();
|
|
2079
2229
|
});
|
|
@@ -2093,7 +2243,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
2093
2243
|
await lockB.removeListener(KeyAcquiredLockEvent, listenerB);
|
|
2094
2244
|
await lockA.acquire();
|
|
2095
2245
|
await lockB.acquire();
|
|
2096
|
-
await delay(
|
|
2246
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
2097
2247
|
expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
|
|
2098
2248
|
expect(result_b).toBeNull();
|
|
2099
2249
|
});
|
|
@@ -2113,7 +2263,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
2113
2263
|
await lockB.removeListenerMany([KeyAcquiredLockEvent], listenerB);
|
|
2114
2264
|
await lockA.acquire();
|
|
2115
2265
|
await lockB.acquire();
|
|
2116
|
-
await delay(
|
|
2266
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
2117
2267
|
expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
|
|
2118
2268
|
expect(result_b).toBeNull();
|
|
2119
2269
|
});
|
|
@@ -2133,7 +2283,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
2133
2283
|
await unsubscribe();
|
|
2134
2284
|
await lockA.acquire();
|
|
2135
2285
|
await lockB.acquire();
|
|
2136
|
-
await delay(
|
|
2286
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
2137
2287
|
expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
|
|
2138
2288
|
expect(result_b).toBeNull();
|
|
2139
2289
|
});
|
|
@@ -2153,7 +2303,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
2153
2303
|
await unsubscribe();
|
|
2154
2304
|
await lockA.acquire();
|
|
2155
2305
|
await lockB.acquire();
|
|
2156
|
-
await delay(
|
|
2306
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
2157
2307
|
expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
|
|
2158
2308
|
expect(result_b).toBeNull();
|
|
2159
2309
|
});
|
|
@@ -2171,7 +2321,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
2171
2321
|
result_b = event;
|
|
2172
2322
|
});
|
|
2173
2323
|
await lockA.acquire();
|
|
2174
|
-
await delay(
|
|
2324
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
2175
2325
|
expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
|
|
2176
2326
|
expect(result_b).toBeNull();
|
|
2177
2327
|
});
|
|
@@ -2187,7 +2337,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
2187
2337
|
result_b = event;
|
|
2188
2338
|
});
|
|
2189
2339
|
await lockA.acquire();
|
|
2190
|
-
await delay(
|
|
2340
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
2191
2341
|
expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
|
|
2192
2342
|
expect(result_b).toBeNull();
|
|
2193
2343
|
});
|
|
@@ -2207,7 +2357,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
2207
2357
|
await lockProviderB.removeListener(KeyAcquiredLockEvent, listenerB);
|
|
2208
2358
|
await lockA.acquire();
|
|
2209
2359
|
await lockB.acquire();
|
|
2210
|
-
await delay(
|
|
2360
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
2211
2361
|
expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
|
|
2212
2362
|
expect(result_b).toBeNull();
|
|
2213
2363
|
});
|
|
@@ -2227,7 +2377,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
2227
2377
|
await lockProviderB.removeListenerMany([KeyAcquiredLockEvent], listenerB);
|
|
2228
2378
|
await lockA.acquire();
|
|
2229
2379
|
await lockB.acquire();
|
|
2230
|
-
await delay(
|
|
2380
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
2231
2381
|
expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
|
|
2232
2382
|
expect(result_b).toBeNull();
|
|
2233
2383
|
});
|
|
@@ -2247,7 +2397,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
2247
2397
|
await unsubscribe();
|
|
2248
2398
|
await lockA.acquire();
|
|
2249
2399
|
await lockB.acquire();
|
|
2250
|
-
await delay(
|
|
2400
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
2251
2401
|
expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
|
|
2252
2402
|
expect(result_b).toBeNull();
|
|
2253
2403
|
});
|
|
@@ -2267,7 +2417,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
2267
2417
|
await unsubscribe();
|
|
2268
2418
|
await lockA.acquire();
|
|
2269
2419
|
await lockB.acquire();
|
|
2270
|
-
await delay(
|
|
2420
|
+
await LazyPromise.delay(DELAY_TIME);
|
|
2271
2421
|
expect(result_a).toBeInstanceOf(KeyAcquiredLockEvent);
|
|
2272
2422
|
expect(result_b).toBeNull();
|
|
2273
2423
|
});
|
|
@@ -2277,7 +2427,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
2277
2427
|
test("Should preserve state", async () => {
|
|
2278
2428
|
const key = "a";
|
|
2279
2429
|
const owner = "b";
|
|
2280
|
-
const lock =
|
|
2430
|
+
const lock = lockProviderA.create(key, {
|
|
2281
2431
|
owner,
|
|
2282
2432
|
});
|
|
2283
2433
|
await lock.acquire();
|
|
@@ -2288,7 +2438,7 @@ export function lockProviderTestSuite(settings) {
|
|
|
2288
2438
|
test("Should preserve owner", async () => {
|
|
2289
2439
|
const key = "a";
|
|
2290
2440
|
const owner = "b";
|
|
2291
|
-
const lock =
|
|
2441
|
+
const lock = lockProviderA.create(key, {
|
|
2292
2442
|
owner,
|
|
2293
2443
|
});
|
|
2294
2444
|
const deserializedLock = serde.deserialize(serde.serialize(lock));
|
|
@@ -2298,16 +2448,16 @@ export function lockProviderTestSuite(settings) {
|
|
|
2298
2448
|
const key = "a";
|
|
2299
2449
|
const owner = "b";
|
|
2300
2450
|
const ttl = TTL.multiply(2);
|
|
2301
|
-
const lock =
|
|
2451
|
+
const lock = lockProviderA.create(key, {
|
|
2302
2452
|
owner,
|
|
2303
2453
|
ttl,
|
|
2304
2454
|
});
|
|
2305
2455
|
await lock.acquire();
|
|
2306
2456
|
const deserializedLock = serde.deserialize(serde.serialize(lock));
|
|
2307
2457
|
const delayTime = TTL;
|
|
2308
|
-
await delay(delayTime);
|
|
2458
|
+
await LazyPromise.delay(delayTime);
|
|
2309
2459
|
expect(await deserializedLock.isLocked()).toBe(true);
|
|
2310
|
-
await delay(delayTime);
|
|
2460
|
+
await LazyPromise.delay(delayTime);
|
|
2311
2461
|
expect(await deserializedLock.isLocked()).toBe(false);
|
|
2312
2462
|
});
|
|
2313
2463
|
});
|