@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
|
@@ -1,78 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Cache
|
|
3
3
|
*/
|
|
4
|
-
import { TypeCacheError } from "../../../../cache/contracts/
|
|
5
|
-
import {} from "../../../../cache/contracts/cache-adapter.contract.js";
|
|
6
|
-
import { resolveOneOrMoreStr, } from "../../../../utilities/_module-exports.js";
|
|
4
|
+
import { TypeCacheError, } from "../../../../cache/contracts/_module-exports.js";
|
|
7
5
|
import { ReplyError } from "ioredis";
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
* @internal
|
|
11
|
-
*/
|
|
12
|
-
class ClearIterable {
|
|
13
|
-
client;
|
|
14
|
-
pattern;
|
|
15
|
-
constructor(client, pattern) {
|
|
16
|
-
this.client = client;
|
|
17
|
-
this.pattern = pattern;
|
|
18
|
-
}
|
|
19
|
-
async *[Symbol.asyncIterator]() {
|
|
20
|
-
let coursor = 0;
|
|
21
|
-
do {
|
|
22
|
-
const [_coursor, elements] = await this.client.scan(coursor, "MATCH", this.pattern);
|
|
23
|
-
if (elements.length === 0) {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
await this.client.del(elements);
|
|
27
|
-
coursor++;
|
|
28
|
-
yield undefined;
|
|
29
|
-
} while (coursor !== 0);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* @internal
|
|
34
|
-
*/
|
|
35
|
-
function escapeRedisChars(value) {
|
|
36
|
-
const replacements = {
|
|
37
|
-
",": "\\,",
|
|
38
|
-
".": "\\.",
|
|
39
|
-
"<": "\\<",
|
|
40
|
-
">": "\\>",
|
|
41
|
-
"{": "\\{",
|
|
42
|
-
"}": "\\}",
|
|
43
|
-
"[": "\\[",
|
|
44
|
-
"]": "\\]",
|
|
45
|
-
'"': '\\"',
|
|
46
|
-
"'": "\\'",
|
|
47
|
-
":": "\\:",
|
|
48
|
-
";": "\\;",
|
|
49
|
-
"!": "\\!",
|
|
50
|
-
"@": "\\@",
|
|
51
|
-
"#": "\\#",
|
|
52
|
-
$: "\\$",
|
|
53
|
-
"%": "\\%",
|
|
54
|
-
"^": "\\^",
|
|
55
|
-
"&": "\\&",
|
|
56
|
-
"*": "\\*",
|
|
57
|
-
"(": "\\(",
|
|
58
|
-
")": "\\)",
|
|
59
|
-
"-": "\\-",
|
|
60
|
-
"+": "\\+",
|
|
61
|
-
"=": "\\=",
|
|
62
|
-
"~": "\\~",
|
|
63
|
-
};
|
|
64
|
-
return value.replace(/,|\.|<|>|\{|\}|\[|\]|"|'|:|;|!|@|#|\$|%|\^|&|\*|\(|\)|-|\+|=|~/g, (chunk) => {
|
|
65
|
-
const item = replacements[chunk];
|
|
66
|
-
if (item === undefined) {
|
|
67
|
-
throw new Error("Encounterd none existing field");
|
|
68
|
-
}
|
|
69
|
-
return item;
|
|
70
|
-
});
|
|
71
|
-
}
|
|
6
|
+
import { ClearIterable } from "../../../../cache/implementations/adapters/redis-cache-adapter/utilities.js";
|
|
7
|
+
import { RedisCacheAdapterSerde } from "../../../../cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.js";
|
|
72
8
|
/**
|
|
73
9
|
* To utilize the <i>RedisCacheAdapter</i>, you must install the <i>"ioredis"</i> package and supply a <i>{@link ISerde | ISerde<string> }</i>, with adapter like <i>{@link SuperJsonSerdeAdapter}</i>.
|
|
74
10
|
*
|
|
75
|
-
* IMPORT_PATH: ```"@daiso-tech/core/cache/
|
|
11
|
+
* IMPORT_PATH: ```"@daiso-tech/core/cache/adapters"```
|
|
76
12
|
* @group Adapters
|
|
77
13
|
*/
|
|
78
14
|
export class RedisCacheAdapter {
|
|
@@ -84,16 +20,14 @@ export class RedisCacheAdapter {
|
|
|
84
20
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
|
|
85
21
|
value.message.includes("ERR value is not a valid float"));
|
|
86
22
|
}
|
|
87
|
-
|
|
88
|
-
redisSerde;
|
|
89
|
-
group;
|
|
23
|
+
serde;
|
|
90
24
|
database;
|
|
91
25
|
/**
|
|
92
26
|
* @example
|
|
93
27
|
* ```ts
|
|
94
|
-
* import { RedisCacheAdapter } from "@daiso-tech/core/cache/
|
|
95
|
-
* import { Serde } from "@daiso-tech/core/serde
|
|
96
|
-
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/
|
|
28
|
+
* import { RedisCacheAdapter } from "@daiso-tech/core/cache/adapters";
|
|
29
|
+
* import { Serde } from "@daiso-tech/core/serde";
|
|
30
|
+
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters"
|
|
97
31
|
* import Redis from "ioredis";
|
|
98
32
|
*
|
|
99
33
|
* const database = new Redis("YOUR_REDIS_CONNECTION_STRING");
|
|
@@ -101,81 +35,69 @@ export class RedisCacheAdapter {
|
|
|
101
35
|
* const cacheAdapter = new RedisCacheAdapter({
|
|
102
36
|
* database,
|
|
103
37
|
* serde,
|
|
104
|
-
* rootGroup: "@global"
|
|
105
38
|
* });
|
|
106
39
|
* ```
|
|
107
40
|
*/
|
|
108
41
|
constructor(settings) {
|
|
109
|
-
const { database, serde
|
|
42
|
+
const { database, serde } = settings;
|
|
110
43
|
this.database = database;
|
|
111
|
-
this.
|
|
112
|
-
this.baseSerde = serde;
|
|
113
|
-
this.redisSerde = new RedisSerde(serde);
|
|
44
|
+
this.serde = new RedisCacheAdapterSerde(serde);
|
|
114
45
|
this.initIncrementCommand();
|
|
115
46
|
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
47
|
+
initIncrementCommand() {
|
|
48
|
+
if (typeof this.database.daiso_cache_increment === "function") {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
this.database.defineCommand("daiso_cache_increment", {
|
|
52
|
+
numberOfKeys: 1,
|
|
53
|
+
lua: `
|
|
54
|
+
local hasKey = redis.call("exists", KEYS[1])
|
|
55
|
+
|
|
56
|
+
if hasKey == 1 then
|
|
57
|
+
redis.call("incrbyfloat", KEYS[1], tonumber(ARGV[1]))
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
return hasKey
|
|
61
|
+
`,
|
|
62
|
+
});
|
|
121
63
|
}
|
|
122
64
|
async get(key) {
|
|
123
|
-
key = this.withPrefix(key);
|
|
124
65
|
const value = await this.database.get(key);
|
|
125
66
|
if (value === null) {
|
|
126
67
|
return null;
|
|
127
68
|
}
|
|
128
|
-
return await this.
|
|
69
|
+
return await this.serde.deserialize(value);
|
|
70
|
+
}
|
|
71
|
+
async getAndRemove(key) {
|
|
72
|
+
const value = await this.database.getdel(key);
|
|
73
|
+
if (value === null) {
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
return this.serde.deserialize(value);
|
|
129
77
|
}
|
|
130
78
|
async add(key, value, ttl) {
|
|
131
|
-
key = this.withPrefix(key);
|
|
132
79
|
if (ttl === null) {
|
|
133
|
-
const result = await this.database.set(key, this.
|
|
80
|
+
const result = await this.database.set(key, this.serde.serialize(value), "NX");
|
|
134
81
|
return result === "OK";
|
|
135
82
|
}
|
|
136
|
-
const result = await this.database.set(key, this.
|
|
137
|
-
return result === "OK";
|
|
138
|
-
}
|
|
139
|
-
async update(key, value) {
|
|
140
|
-
key = this.withPrefix(key);
|
|
141
|
-
const result = await this.database.set(key, this.redisSerde.serialize(value), "XX");
|
|
83
|
+
const result = await this.database.set(key, this.serde.serialize(value), "PX", ttl.toMilliseconds(), "NX");
|
|
142
84
|
return result === "OK";
|
|
143
85
|
}
|
|
144
86
|
async put(key, value, ttl) {
|
|
145
|
-
key = this.withPrefix(key);
|
|
146
87
|
if (ttl === null) {
|
|
147
|
-
const result = await this.database.set(key, this.
|
|
88
|
+
const result = await this.database.set(key, this.serde.serialize(value), "GET");
|
|
148
89
|
return result !== null;
|
|
149
90
|
}
|
|
150
|
-
const result = await this.database.set(key, this.
|
|
91
|
+
const result = await this.database.set(key, this.serde.serialize(value), "PX", ttl.toMilliseconds(), "GET");
|
|
151
92
|
return result !== null;
|
|
152
93
|
}
|
|
153
|
-
async
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
return result === 1;
|
|
157
|
-
}
|
|
158
|
-
initIncrementCommand() {
|
|
159
|
-
if (typeof this.database.daiso_cache_increment === "function") {
|
|
160
|
-
return;
|
|
161
|
-
}
|
|
162
|
-
this.database.defineCommand("daiso_cache_increment", {
|
|
163
|
-
numberOfKeys: 1,
|
|
164
|
-
lua: `
|
|
165
|
-
local hasKey = redis.call("exists", KEYS[1])
|
|
166
|
-
|
|
167
|
-
if hasKey == 1 then
|
|
168
|
-
redis.call("incrbyfloat", KEYS[1], tonumber(ARGV[1]))
|
|
169
|
-
end
|
|
170
|
-
|
|
171
|
-
return hasKey
|
|
172
|
-
`,
|
|
173
|
-
});
|
|
94
|
+
async update(key, value) {
|
|
95
|
+
const result = await this.database.set(key, this.serde.serialize(value), "XX");
|
|
96
|
+
return result === "OK";
|
|
174
97
|
}
|
|
175
98
|
async increment(key, value) {
|
|
176
99
|
try {
|
|
177
|
-
|
|
178
|
-
const redisResult = await this.database.daiso_cache_increment(key, this.redisSerde.serialize(value));
|
|
100
|
+
const redisResult = await this.database.daiso_cache_increment(key, this.serde.serialize(value));
|
|
179
101
|
const keyExists = redisResult === 1;
|
|
180
102
|
return keyExists;
|
|
181
103
|
}
|
|
@@ -186,20 +108,17 @@ export class RedisCacheAdapter {
|
|
|
186
108
|
throw new TypeCacheError(`Unable to increment or decrement none number type key "${key}"`);
|
|
187
109
|
}
|
|
188
110
|
}
|
|
189
|
-
async
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
}
|
|
111
|
+
async removeMany(keys) {
|
|
112
|
+
const deleteResult = await this.database.del(...keys);
|
|
113
|
+
return deleteResult > 0;
|
|
193
114
|
}
|
|
194
|
-
|
|
195
|
-
|
|
115
|
+
async removeAll() {
|
|
116
|
+
await this.database.flushdb();
|
|
196
117
|
}
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
rootGroup: resolveOneOrMoreStr([this.group, group]),
|
|
202
|
-
});
|
|
118
|
+
async removeByKeyPrefix(prefix) {
|
|
119
|
+
for await (const _ of new ClearIterable(this.database, prefix)) {
|
|
120
|
+
/* Empty */
|
|
121
|
+
}
|
|
203
122
|
}
|
|
204
123
|
}
|
|
205
124
|
//# sourceMappingURL=redis-cache-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis-cache-adapter.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"redis-cache-adapter.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Cache
|
|
3
|
+
*/
|
|
4
|
+
import { type Redis } from "ioredis";
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export declare class ClearIterable implements AsyncIterable<void> {
|
|
9
|
+
private readonly client;
|
|
10
|
+
private readonly pattern;
|
|
11
|
+
constructor(client: Redis, pattern: string);
|
|
12
|
+
[Symbol.asyncIterator](): AsyncIterator<void>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Cache
|
|
3
|
+
*/
|
|
4
|
+
import {} from "ioredis";
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
function escapeRedisChars(value) {
|
|
9
|
+
const replacements = {
|
|
10
|
+
",": "\\,",
|
|
11
|
+
".": "\\.",
|
|
12
|
+
"<": "\\<",
|
|
13
|
+
">": "\\>",
|
|
14
|
+
"{": "\\{",
|
|
15
|
+
"}": "\\}",
|
|
16
|
+
"[": "\\[",
|
|
17
|
+
"]": "\\]",
|
|
18
|
+
'"': '\\"',
|
|
19
|
+
"'": "\\'",
|
|
20
|
+
":": "\\:",
|
|
21
|
+
";": "\\;",
|
|
22
|
+
"!": "\\!",
|
|
23
|
+
"@": "\\@",
|
|
24
|
+
"#": "\\#",
|
|
25
|
+
$: "\\$",
|
|
26
|
+
"%": "\\%",
|
|
27
|
+
"^": "\\^",
|
|
28
|
+
"&": "\\&",
|
|
29
|
+
"*": "\\*",
|
|
30
|
+
"(": "\\(",
|
|
31
|
+
")": "\\)",
|
|
32
|
+
"-": "\\-",
|
|
33
|
+
"+": "\\+",
|
|
34
|
+
"=": "\\=",
|
|
35
|
+
"~": "\\~",
|
|
36
|
+
};
|
|
37
|
+
return value.replace(/,|\.|<|>|\{|\}|\[|\]|"|'|:|;|!|@|#|\$|%|\^|&|\*|\(|\)|-|\+|=|~/g, (chunk) => {
|
|
38
|
+
const item = replacements[chunk];
|
|
39
|
+
if (item === undefined) {
|
|
40
|
+
throw new Error("Encounterd none existing field");
|
|
41
|
+
}
|
|
42
|
+
return item;
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* @internal
|
|
47
|
+
*/
|
|
48
|
+
export class ClearIterable {
|
|
49
|
+
client;
|
|
50
|
+
pattern;
|
|
51
|
+
constructor(client, pattern) {
|
|
52
|
+
this.client = client;
|
|
53
|
+
this.pattern = pattern;
|
|
54
|
+
this.pattern = `${escapeRedisChars(pattern)}*`;
|
|
55
|
+
}
|
|
56
|
+
async *[Symbol.asyncIterator]() {
|
|
57
|
+
let coursor = 0;
|
|
58
|
+
do {
|
|
59
|
+
const [_coursor, elements] = await this.client.scan(coursor, "MATCH", this.pattern);
|
|
60
|
+
if (elements.length === 0) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
await this.client.del(elements);
|
|
64
|
+
coursor++;
|
|
65
|
+
yield undefined;
|
|
66
|
+
} while (coursor !== 0);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=utilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utilities.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/adapters/redis-cache-adapter/utilities.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAc,MAAM,SAAS,CAAC;AAErC;;GAEG;AACH,SAAS,gBAAgB,CAAC,KAAa;IACnC,MAAM,YAAY,GAA2B;QACzC,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,CAAC,EAAE,KAAK;QACR,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;QACV,GAAG,EAAE,KAAK;KACb,CAAC;IACF,OAAO,KAAK,CAAC,OAAO,CAChB,iEAAiE,EACjE,CAAC,KAAK,EAAE,EAAE;QACN,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC,CACJ,CAAC;AACN,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,aAAa;IAED;IACA;IAFrB,YACqB,MAAa,EACb,OAAe;QADf,WAAM,GAAN,MAAM,CAAO;QACb,YAAO,GAAP,OAAO,CAAQ;QAEhC,IAAI,CAAC,OAAO,GAAG,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;QACzB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,GAAG,CAAC;YACA,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAC/C,OAAO,EACP,OAAO,EACP,IAAI,CAAC,OAAO,CACf,CAAC;YACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,OAAO;YACX,CAAC;YACD,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChC,OAAO,EAAE,CAAC;YACV,MAAM,SAAS,CAAC;QACpB,CAAC,QAAQ,OAAO,KAAK,CAAC,EAAE;IAC5B,CAAC;CACJ"}
|
|
@@ -1,71 +1,60 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Cache
|
|
3
3
|
*/
|
|
4
|
-
import { type
|
|
5
|
-
import type
|
|
6
|
-
import type
|
|
4
|
+
import { type ICacheData, type ICacheInsert, type ICacheUpdate, type IDatabaseCacheAdapter } from "../../../../cache/contracts/_module-exports.js";
|
|
5
|
+
import { type TimeSpan, type IInitizable, type IDeinitizable, type IPrunable } from "../../../../utilities/_module-exports.js";
|
|
6
|
+
import { type SqliteDatabase } from "kysely";
|
|
7
7
|
import type { ISerde } from "../../../../serde/contracts/_module-exports.js";
|
|
8
8
|
/**
|
|
9
9
|
*
|
|
10
|
-
* IMPORT_PATH: ```"@daiso-tech/core/cache/
|
|
10
|
+
* IMPORT_PATH: ```"@daiso-tech/core/cache/adapters"```
|
|
11
11
|
* @group Adapters
|
|
12
12
|
*/
|
|
13
13
|
export type SqliteCacheAdapterSettings = {
|
|
14
14
|
database: SqliteDatabase;
|
|
15
15
|
tableName?: string;
|
|
16
16
|
serde: ISerde<string>;
|
|
17
|
-
enableTransactions?: boolean;
|
|
18
17
|
expiredKeysRemovalInterval?: TimeSpan;
|
|
19
18
|
shouldRemoveExpiredKeys?: boolean;
|
|
20
|
-
rootGroup: string;
|
|
21
19
|
};
|
|
22
20
|
/**
|
|
23
21
|
* To utilize the <i>SqliteCacheAdapter</i>, you must install the <i>"better-sqlite3"</i> package and supply a <i>{@link ISerde | ISerde<string> }</i>, with adapter like <i>{@link SuperJsonSerdeAdapter}</i>.
|
|
24
22
|
*
|
|
25
|
-
* IMPORT_PATH: ```"@daiso-tech/core/cache/
|
|
23
|
+
* IMPORT_PATH: ```"@daiso-tech/core/cache/adapters"```
|
|
26
24
|
* @group Adapters
|
|
27
25
|
*/
|
|
28
|
-
export declare class SqliteCacheAdapter<TType = unknown> implements
|
|
29
|
-
private readonly
|
|
26
|
+
export declare class SqliteCacheAdapter<TType = unknown> implements IDatabaseCacheAdapter<TType>, IInitizable, IDeinitizable, IPrunable {
|
|
27
|
+
private readonly adapter;
|
|
30
28
|
/**
|
|
31
29
|
* @example
|
|
32
30
|
* ```ts
|
|
33
|
-
* import { SqliteCacheAdapter } from "@daiso-tech/core/cache/
|
|
34
|
-
* import { Serde } from "@daiso-tech/core/serde
|
|
35
|
-
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/
|
|
31
|
+
* import { SqliteCacheAdapter } from "@daiso-tech/core/cache/adapters";
|
|
32
|
+
* import { Serde } from "@daiso-tech/core/serde";
|
|
33
|
+
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters"
|
|
36
34
|
* import Sqlite from "better-sqlite3";
|
|
37
35
|
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
* await cacheAdapter.init();
|
|
47
|
-
* })();
|
|
36
|
+
* const database = new Sqlite("local.db");
|
|
37
|
+
* const serde = new Serde(new SuperJsonSerdeAdapter());
|
|
38
|
+
* const cacheAdapter = new SqliteCacheAdapter({
|
|
39
|
+
* database,
|
|
40
|
+
* serde,
|
|
41
|
+
* });
|
|
42
|
+
* // You need initialize the adapter once before using it.
|
|
43
|
+
* await cacheAdapter.init();
|
|
48
44
|
* ```
|
|
49
45
|
*/
|
|
50
46
|
constructor(settings: SqliteCacheAdapterSettings);
|
|
51
|
-
|
|
52
|
-
withGroup(group: string): ICacheAdapter<TType>;
|
|
53
|
-
removeExpiredKeys(): Promise<void>;
|
|
54
|
-
/**
|
|
55
|
-
* Removes the table where the cache values are stored and removes the table indexes.
|
|
56
|
-
* Note all cache data will be removed.
|
|
57
|
-
*/
|
|
47
|
+
removeAllExpired(): Promise<void>;
|
|
58
48
|
deInit(): Promise<void>;
|
|
59
|
-
/**
|
|
60
|
-
* Creates the table where the cache values are stored and it's related indexes.
|
|
61
|
-
* Note the <i>init</i> method needs to be called before using the adapter.
|
|
62
|
-
*/
|
|
63
49
|
init(): Promise<void>;
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
50
|
+
insert(data: ICacheInsert<TType>): Promise<void>;
|
|
51
|
+
upsert(data: ICacheInsert<TType>): Promise<ICacheData<TType> | null>;
|
|
52
|
+
find(key: string): Promise<ICacheData<TType> | null>;
|
|
53
|
+
updateExpired(data: ICacheInsert<TType>): Promise<number>;
|
|
54
|
+
updateUnexpired(data: ICacheUpdate<TType>): Promise<number>;
|
|
55
|
+
incrementUnexpired(data: ICacheUpdate<number>): Promise<number>;
|
|
56
|
+
removeUnexpiredMany(keys: string[]): Promise<number>;
|
|
57
|
+
removeExpiredMany(keys: string[]): Promise<number>;
|
|
58
|
+
removeAll(): Promise<void>;
|
|
59
|
+
removeByKeyPrefix(prefix: string): Promise<void>;
|
|
71
60
|
}
|
|
@@ -1,44 +1,42 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Cache
|
|
3
3
|
*/
|
|
4
|
-
import {} from "../../../../cache/contracts/
|
|
4
|
+
import {} from "../../../../cache/contracts/_module-exports.js";
|
|
5
5
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
6
6
|
import { SuperJsonSerdeAdapter } from "../../../../serde/implementations/adapters/_module-exports.js";
|
|
7
|
-
import {
|
|
7
|
+
import { KyselyTableNameTransformerPlugin, } from "../../../../utilities/_module-exports.js";
|
|
8
8
|
import { Kysely, SqliteDialect } from "kysely";
|
|
9
|
-
import {
|
|
9
|
+
import { KyselyCacheAdapter } from "../../../../cache/implementations/adapters/kysely-cache-adapter/_module.js";
|
|
10
10
|
/**
|
|
11
11
|
* To utilize the <i>SqliteCacheAdapter</i>, you must install the <i>"better-sqlite3"</i> package and supply a <i>{@link ISerde | ISerde<string> }</i>, with adapter like <i>{@link SuperJsonSerdeAdapter}</i>.
|
|
12
12
|
*
|
|
13
|
-
* IMPORT_PATH: ```"@daiso-tech/core/cache/
|
|
13
|
+
* IMPORT_PATH: ```"@daiso-tech/core/cache/adapters"```
|
|
14
14
|
* @group Adapters
|
|
15
15
|
*/
|
|
16
16
|
export class SqliteCacheAdapter {
|
|
17
|
-
|
|
17
|
+
adapter;
|
|
18
18
|
/**
|
|
19
19
|
* @example
|
|
20
20
|
* ```ts
|
|
21
|
-
* import { SqliteCacheAdapter } from "@daiso-tech/core/cache/
|
|
22
|
-
* import { Serde } from "@daiso-tech/core/serde
|
|
23
|
-
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/
|
|
21
|
+
* import { SqliteCacheAdapter } from "@daiso-tech/core/cache/adapters";
|
|
22
|
+
* import { Serde } from "@daiso-tech/core/serde";
|
|
23
|
+
* import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters"
|
|
24
24
|
* import Sqlite from "better-sqlite3";
|
|
25
25
|
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
* await cacheAdapter.init();
|
|
35
|
-
* })();
|
|
26
|
+
* const database = new Sqlite("local.db");
|
|
27
|
+
* const serde = new Serde(new SuperJsonSerdeAdapter());
|
|
28
|
+
* const cacheAdapter = new SqliteCacheAdapter({
|
|
29
|
+
* database,
|
|
30
|
+
* serde,
|
|
31
|
+
* });
|
|
32
|
+
* // You need initialize the adapter once before using it.
|
|
33
|
+
* await cacheAdapter.init();
|
|
36
34
|
* ```
|
|
37
35
|
*/
|
|
38
36
|
constructor(settings) {
|
|
39
|
-
const { database, tableName = "cache", serde,
|
|
40
|
-
this.
|
|
41
|
-
|
|
37
|
+
const { database, tableName = "cache", serde, expiredKeysRemovalInterval, shouldRemoveExpiredKeys, } = settings;
|
|
38
|
+
this.adapter = new KyselyCacheAdapter({
|
|
39
|
+
database: new Kysely({
|
|
42
40
|
dialect: new SqliteDialect({
|
|
43
41
|
database: database,
|
|
44
42
|
}),
|
|
@@ -49,55 +47,48 @@ export class SqliteCacheAdapter {
|
|
|
49
47
|
],
|
|
50
48
|
}),
|
|
51
49
|
serde,
|
|
52
|
-
enableTransactions,
|
|
53
50
|
expiredKeysRemovalInterval,
|
|
54
51
|
shouldRemoveExpiredKeys,
|
|
55
|
-
rootGroup,
|
|
56
52
|
});
|
|
57
53
|
}
|
|
58
|
-
|
|
59
|
-
|
|
54
|
+
async removeAllExpired() {
|
|
55
|
+
await this.adapter.removeAllExpired();
|
|
60
56
|
}
|
|
61
|
-
withGroup(group) {
|
|
62
|
-
return this.cacheAdapter.withGroup(group);
|
|
63
|
-
}
|
|
64
|
-
async removeExpiredKeys() {
|
|
65
|
-
await this.cacheAdapter.removeExpiredKeys();
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Removes the table where the cache values are stored and removes the table indexes.
|
|
69
|
-
* Note all cache data will be removed.
|
|
70
|
-
*/
|
|
71
57
|
async deInit() {
|
|
72
|
-
await this.
|
|
58
|
+
await this.adapter.deInit();
|
|
73
59
|
}
|
|
74
|
-
/**
|
|
75
|
-
* Creates the table where the cache values are stored and it's related indexes.
|
|
76
|
-
* Note the <i>init</i> method needs to be called before using the adapter.
|
|
77
|
-
*/
|
|
78
60
|
async init() {
|
|
79
|
-
await this.
|
|
61
|
+
await this.adapter.init();
|
|
62
|
+
}
|
|
63
|
+
async insert(data) {
|
|
64
|
+
await this.adapter.insert(data);
|
|
65
|
+
}
|
|
66
|
+
async upsert(data) {
|
|
67
|
+
return await this.adapter.upsert(data);
|
|
68
|
+
}
|
|
69
|
+
async find(key) {
|
|
70
|
+
return await this.adapter.find(key);
|
|
80
71
|
}
|
|
81
|
-
async
|
|
82
|
-
return await this.
|
|
72
|
+
async updateExpired(data) {
|
|
73
|
+
return await this.adapter.updateExpired(data);
|
|
83
74
|
}
|
|
84
|
-
async
|
|
85
|
-
return await this.
|
|
75
|
+
async updateUnexpired(data) {
|
|
76
|
+
return await this.adapter.updateUnexpired(data);
|
|
86
77
|
}
|
|
87
|
-
async
|
|
88
|
-
return await this.
|
|
78
|
+
async incrementUnexpired(data) {
|
|
79
|
+
return await this.adapter.incrementUnexpired(data);
|
|
89
80
|
}
|
|
90
|
-
async
|
|
91
|
-
return await this.
|
|
81
|
+
async removeUnexpiredMany(keys) {
|
|
82
|
+
return await this.adapter.removeUnexpiredMany(keys);
|
|
92
83
|
}
|
|
93
|
-
async
|
|
94
|
-
return await this.
|
|
84
|
+
async removeExpiredMany(keys) {
|
|
85
|
+
return await this.adapter.removeExpiredMany(keys);
|
|
95
86
|
}
|
|
96
|
-
async
|
|
97
|
-
|
|
87
|
+
async removeAll() {
|
|
88
|
+
await this.adapter.removeAll();
|
|
98
89
|
}
|
|
99
|
-
async
|
|
100
|
-
await this.
|
|
90
|
+
async removeByKeyPrefix(prefix) {
|
|
91
|
+
await this.adapter.removeByKeyPrefix(prefix);
|
|
101
92
|
}
|
|
102
93
|
}
|
|
103
94
|
//# sourceMappingURL=sqlite-cache-adapter.js.map
|
package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sqlite-cache-adapter.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"sqlite-cache-adapter.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAKN,MAAM,sCAAsC,CAAC;AAC9C,6DAA6D;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qDAAqD,CAAC;AAC5F,OAAO,EAIH,gCAAgC,GAEnC,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAuB,MAAM,QAAQ,CAAC;AAGpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kEAAkE,CAAC;AAetG;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IAOV,OAAO,CAA4B;IAEpD;;;;;;;;;;;;;;;;;OAiBG;IACH,YAAY,QAAoC;QAC5C,MAAM,EACF,QAAQ,EACR,SAAS,GAAG,OAAO,EACnB,KAAK,EACL,0BAA0B,EAC1B,uBAAuB,GAC1B,GAAG,QAAQ,CAAC;QAEb,IAAI,CAAC,OAAO,GAAG,IAAI,kBAAkB,CAAC;YAClC,QAAQ,EAAE,IAAI,MAAM,CAAC;gBACjB,OAAO,EAAE,IAAI,aAAa,CAAC;oBACvB,QAAQ,EAAE,QAAQ;iBACrB,CAAC;gBACF,OAAO,EAAE;oBACL,IAAI,gCAAgC,CAAC;wBACjC,KAAK,EAAE,SAAS;qBACnB,CAAC;iBACL;aACJ,CAAC;YACF,KAAK;YACL,0BAA0B;YAC1B,uBAAuB;SAC1B,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,gBAAgB;QAClB,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,MAAM;QACR,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;IAChC,CAAC;IAED,KAAK,CAAC,IAAI;QACN,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAyB;QAClC,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAyB;QAClC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAW;QAClB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAyB;QACzC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAyB;QAC3C,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAA0B;QAC/C,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAc;QACpC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,IAAc;QAClC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,SAAS;QACX,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAc;QAClC,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC;CACJ"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export * from "../../../cache/implementations/derivables/cache-factory/_module.js";
|
|
2
1
|
export * from "../../../cache/implementations/derivables/cache/_module.js";
|
|
2
|
+
export * from "../../../cache/implementations/derivables/cache-factory/_module.js";
|
|
3
3
|
//# sourceMappingURL=_module-exports.js.map
|