@daiso-tech/core 0.11.0 → 0.12.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/dist/cjs/_module.js +2 -2
- package/dist/cjs/_module.js.map +1 -1
- package/dist/cjs/{storage/implementations/adapters/sqlite/libsql-storage-adapter → cache/contracts}/_module.js +5 -1
- package/dist/cjs/cache/contracts/_module.js.map +1 -0
- package/dist/cjs/{storage/contracts/storage-factory.contract.js → cache/contracts/cache-adapter.contract.js} +1 -1
- package/dist/cjs/cache/contracts/cache-adapter.contract.js.map +1 -0
- package/dist/cjs/{storage/contracts/storage-adapter.contract.js → cache/contracts/cache-factory.contract.js} +1 -1
- package/dist/cjs/cache/contracts/cache-factory.contract.js.map +1 -0
- package/dist/cjs/{storage/contracts/storage.contract.js → cache/contracts/cache.contract.js} +1 -1
- package/dist/cjs/cache/contracts/cache.contract.js.map +1 -0
- package/dist/cjs/cache/contracts/cache.errors.js +32 -0
- package/dist/cjs/cache/contracts/cache.errors.js.map +1 -0
- package/dist/cjs/{storage/contracts/storage.events.js → cache/contracts/cache.events.js} +3 -3
- package/dist/cjs/cache/contracts/cache.events.js.map +1 -0
- package/dist/cjs/{storage → cache}/implementations/_module.js +3 -3
- package/dist/cjs/cache/implementations/_module.js.map +1 -0
- package/dist/cjs/{storage/implementations/_shared/test-utilities → cache/implementations/_shared}/_module.js +1 -1
- package/dist/cjs/cache/implementations/_shared/_module.js.map +1 -0
- package/dist/cjs/cache/implementations/_shared/cache-adapter.test-suite.js +192 -0
- package/dist/cjs/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -0
- package/dist/cjs/cache/implementations/_shared/cache.test-suite.js +1009 -0
- package/dist/cjs/cache/implementations/_shared/cache.test-suite.js.map +1 -0
- package/dist/cjs/{storage/contracts → cache/implementations/adapters}/_module.js +5 -5
- package/dist/cjs/cache/implementations/adapters/_module.js.map +1 -0
- package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.js +18 -0
- package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.js.map +1 -0
- package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +291 -0
- package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -0
- package/dist/cjs/{storage/implementations/adapters/redis-storage-adapter → cache/implementations/adapters/libsql-cache-adapter}/_module.js +1 -1
- package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/_module.js.map +1 -0
- package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +61 -0
- package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -0
- package/dist/cjs/{storage/implementations/adapters/memory-storage-adapter → cache/implementations/adapters/memory-cache-adapter}/_module.js +1 -1
- package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/_module.js.map +1 -0
- package/dist/{esm/storage/implementations/adapters/memory-storage-adapter/memory-storage-adapter.js → cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js} +24 -6
- package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -0
- package/dist/cjs/{storage/implementations/adapters/sqlite/_shared → cache/implementations/adapters/mongodb-cache-adapter}/_module.js +1 -1
- package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/_module.js.map +1 -0
- package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +262 -0
- package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -0
- package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/_module.js +18 -0
- package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/_module.js.map +1 -0
- package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +147 -0
- package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -0
- package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/_module.js +18 -0
- package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/_module.js.map +1 -0
- package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +60 -0
- package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -0
- package/dist/cjs/cache/implementations/derivables/_module.js +20 -0
- package/dist/cjs/cache/implementations/derivables/_module.js.map +1 -0
- package/dist/cjs/{storage/implementations/derivables/storage.js → cache/implementations/derivables/base-cache.js} +30 -197
- package/dist/cjs/cache/implementations/derivables/base-cache.js.map +1 -0
- package/dist/cjs/{storage/implementations/derivables/storage-factory.js → cache/implementations/derivables/cache-factory.js} +11 -14
- package/dist/cjs/cache/implementations/derivables/cache-factory.js.map +1 -0
- package/dist/cjs/cache/implementations/derivables/cache.js +191 -0
- package/dist/cjs/cache/implementations/derivables/cache.js.map +1 -0
- package/dist/cjs/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.js.map +1 -1
- package/dist/cjs/collection/implementations/iterable-collection/_shared/cross-join-iterable.js.map +1 -1
- package/dist/esm/_module.js +2 -2
- package/dist/esm/_module.js.map +1 -1
- package/dist/esm/cache/contracts/_module.js +6 -0
- package/dist/esm/cache/contracts/_module.js.map +1 -0
- package/dist/esm/cache/contracts/cache-adapter.contract.js +1 -0
- package/dist/esm/cache/contracts/cache-adapter.contract.js.map +1 -0
- package/dist/esm/cache/contracts/cache-factory.contract.js +1 -0
- package/dist/esm/cache/contracts/cache-factory.contract.js.map +1 -0
- package/dist/esm/cache/contracts/cache.contract.js +1 -0
- package/dist/esm/cache/contracts/cache.contract.js.map +1 -0
- package/dist/esm/cache/contracts/cache.errors.js +25 -0
- package/dist/esm/cache/contracts/cache.errors.js.map +1 -0
- package/dist/esm/{storage/contracts/storage.events.js → cache/contracts/cache.events.js} +2 -2
- package/dist/esm/cache/contracts/cache.events.js.map +1 -0
- package/dist/esm/cache/implementations/_module.js +4 -0
- package/dist/esm/cache/implementations/_module.js.map +1 -0
- package/dist/esm/cache/implementations/_shared/_module.js +2 -0
- package/dist/esm/cache/implementations/_shared/_module.js.map +1 -0
- package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js +189 -0
- package/dist/esm/cache/implementations/_shared/cache-adapter.test-suite.js.map +1 -0
- package/dist/esm/cache/implementations/_shared/cache.test-suite.js +1006 -0
- package/dist/esm/cache/implementations/_shared/cache.test-suite.js.map +1 -0
- package/dist/esm/cache/implementations/adapters/_module.js +6 -0
- package/dist/esm/cache/implementations/adapters/_module.js.map +1 -0
- package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.js +2 -0
- package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.js.map +1 -0
- package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +287 -0
- package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -0
- package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/_module.js +2 -0
- package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/_module.js.map +1 -0
- package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +57 -0
- package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -0
- package/dist/esm/cache/implementations/adapters/memory-cache-adapter/_module.js +2 -0
- package/dist/esm/cache/implementations/adapters/memory-cache-adapter/_module.js.map +1 -0
- package/dist/{cjs/storage/implementations/adapters/memory-storage-adapter/memory-storage-adapter.js → esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js} +20 -10
- package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -0
- package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/_module.js +2 -0
- package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/_module.js.map +1 -0
- package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +255 -0
- package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -0
- package/dist/esm/cache/implementations/adapters/redis-cache-adapter/_module.js +2 -0
- package/dist/esm/cache/implementations/adapters/redis-cache-adapter/_module.js.map +1 -0
- package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +143 -0
- package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -0
- package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/_module.js +2 -0
- package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/_module.js.map +1 -0
- package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +56 -0
- package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -0
- package/dist/esm/cache/implementations/derivables/_module.js +4 -0
- package/dist/esm/cache/implementations/derivables/_module.js.map +1 -0
- package/dist/esm/cache/implementations/derivables/base-cache.js +258 -0
- package/dist/esm/cache/implementations/derivables/base-cache.js.map +1 -0
- package/dist/esm/{storage/implementations/derivables/storage-factory.js → cache/implementations/derivables/cache-factory.js} +9 -12
- package/dist/esm/cache/implementations/derivables/cache-factory.js.map +1 -0
- package/dist/esm/cache/implementations/derivables/cache.js +187 -0
- package/dist/esm/cache/implementations/derivables/cache.js.map +1 -0
- package/dist/esm/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.js.map +1 -1
- package/dist/esm/collection/implementations/iterable-collection/_shared/cross-join-iterable.js.map +1 -1
- package/dist/types/_module.d.ts +2 -2
- package/dist/types/cache/contracts/_module.d.ts +5 -0
- package/dist/types/{storage/contracts/storage-adapter.contract.d.ts → cache/contracts/cache-adapter.contract.d.ts} +10 -7
- package/dist/types/cache/contracts/cache-factory.contract.d.ts +48 -0
- package/dist/types/{storage/contracts/storage.contract.d.ts → cache/contracts/cache.contract.d.ts} +69 -56
- package/dist/types/{storage/contracts/storage.errors.d.ts → cache/contracts/cache.errors.d.ts} +5 -5
- package/dist/types/cache/contracts/cache.events.d.ts +96 -0
- package/dist/types/cache/implementations/_module.d.ts +3 -0
- package/dist/types/cache/implementations/_shared/_module.d.ts +1 -0
- package/dist/types/cache/implementations/_shared/cache-adapter.test-suite.d.ts +51 -0
- package/dist/types/cache/implementations/_shared/cache.test-suite.d.ts +60 -0
- package/dist/types/cache/implementations/adapters/_module.d.ts +5 -0
- package/dist/types/cache/implementations/adapters/kysely-sqlite-cache-adapter/_module.d.ts +1 -0
- package/dist/types/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.d.ts +55 -0
- package/dist/types/cache/implementations/adapters/libsql-cache-adapter/_module.d.ts +1 -0
- package/dist/types/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +35 -0
- package/dist/types/cache/implementations/adapters/memory-cache-adapter/_module.d.ts +1 -0
- package/dist/types/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +20 -0
- package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/_module.d.ts +1 -0
- package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +41 -0
- package/dist/types/cache/implementations/adapters/redis-cache-adapter/_module.d.ts +1 -0
- package/dist/types/{storage/implementations/adapters/redis-storage-adapter/redis-storage-adapter.d.ts → cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts} +11 -11
- package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/_module.d.ts +1 -0
- package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +35 -0
- package/dist/types/cache/implementations/derivables/_module.d.ts +3 -0
- package/dist/types/cache/implementations/derivables/base-cache.d.ts +57 -0
- package/dist/types/cache/implementations/derivables/cache-factory.d.ts +56 -0
- package/dist/types/cache/implementations/derivables/cache.d.ts +88 -0
- package/dist/types/collection/implementations/async-iterable-collection/_shared/async-error-handler-iterable.d.ts +3 -0
- package/dist/types/collection/implementations/iterable-collection/_shared/cross-join-iterable.d.ts +3 -0
- package/dist/types/event-bus/contracts/event-bus-factory.contract.d.ts +1 -1
- package/package.json +1 -1
- package/dist/cjs/storage/contracts/_module.js.map +0 -1
- package/dist/cjs/storage/contracts/storage-adapter.contract.js.map +0 -1
- package/dist/cjs/storage/contracts/storage-factory.contract.js.map +0 -1
- package/dist/cjs/storage/contracts/storage.contract.js.map +0 -1
- package/dist/cjs/storage/contracts/storage.errors.js +0 -32
- package/dist/cjs/storage/contracts/storage.errors.js.map +0 -1
- package/dist/cjs/storage/contracts/storage.events.js.map +0 -1
- package/dist/cjs/storage/implementations/_module.js.map +0 -1
- package/dist/cjs/storage/implementations/_shared/test-utilities/_module.js.map +0 -1
- package/dist/cjs/storage/implementations/_shared/test-utilities/storage-adapter.test-suite.js +0 -130
- package/dist/cjs/storage/implementations/_shared/test-utilities/storage-adapter.test-suite.js.map +0 -1
- package/dist/cjs/storage/implementations/adapters/_module.js +0 -21
- package/dist/cjs/storage/implementations/adapters/_module.js.map +0 -1
- package/dist/cjs/storage/implementations/adapters/memory-storage-adapter/_module.js.map +0 -1
- package/dist/cjs/storage/implementations/adapters/memory-storage-adapter/memory-storage-adapter.js.map +0 -1
- package/dist/cjs/storage/implementations/adapters/mongodb-storage-adapter/_module.js +0 -6
- package/dist/cjs/storage/implementations/adapters/mongodb-storage-adapter/_module.js.map +0 -1
- package/dist/cjs/storage/implementations/adapters/mongodb-storage-adapter/mongodb-storage-adapter.js +0 -132
- package/dist/cjs/storage/implementations/adapters/mongodb-storage-adapter/mongodb-storage-adapter.js.map +0 -1
- package/dist/cjs/storage/implementations/adapters/redis-storage-adapter/_module.js.map +0 -1
- package/dist/cjs/storage/implementations/adapters/redis-storage-adapter/redis-storage-adapter.js +0 -89
- package/dist/cjs/storage/implementations/adapters/redis-storage-adapter/redis-storage-adapter.js.map +0 -1
- package/dist/cjs/storage/implementations/adapters/sqlite/_module.js +0 -19
- package/dist/cjs/storage/implementations/adapters/sqlite/_module.js.map +0 -1
- package/dist/cjs/storage/implementations/adapters/sqlite/_shared/_module.js.map +0 -1
- package/dist/cjs/storage/implementations/adapters/sqlite/_shared/base-sqlite-storage-adapter.js +0 -119
- package/dist/cjs/storage/implementations/adapters/sqlite/_shared/base-sqlite-storage-adapter.js.map +0 -1
- package/dist/cjs/storage/implementations/adapters/sqlite/libsql-storage-adapter/_module.js.map +0 -1
- package/dist/cjs/storage/implementations/adapters/sqlite/libsql-storage-adapter/libsql-storage-adapter.js +0 -53
- package/dist/cjs/storage/implementations/adapters/sqlite/libsql-storage-adapter/libsql-storage-adapter.js.map +0 -1
- package/dist/cjs/storage/implementations/adapters/sqlite/sqlite-storage-adapter/_module.js +0 -18
- package/dist/cjs/storage/implementations/adapters/sqlite/sqlite-storage-adapter/_module.js.map +0 -1
- package/dist/cjs/storage/implementations/adapters/sqlite/sqlite-storage-adapter/sqlite-storage-adapter.js +0 -52
- package/dist/cjs/storage/implementations/adapters/sqlite/sqlite-storage-adapter/sqlite-storage-adapter.js.map +0 -1
- package/dist/cjs/storage/implementations/derivables/_module.js +0 -19
- package/dist/cjs/storage/implementations/derivables/_module.js.map +0 -1
- package/dist/cjs/storage/implementations/derivables/storage-factory.js.map +0 -1
- package/dist/cjs/storage/implementations/derivables/storage.js.map +0 -1
- package/dist/esm/storage/contracts/_module.js +0 -6
- package/dist/esm/storage/contracts/_module.js.map +0 -1
- package/dist/esm/storage/contracts/storage-adapter.contract.js +0 -1
- package/dist/esm/storage/contracts/storage-adapter.contract.js.map +0 -1
- package/dist/esm/storage/contracts/storage-factory.contract.js +0 -1
- package/dist/esm/storage/contracts/storage-factory.contract.js.map +0 -1
- package/dist/esm/storage/contracts/storage.contract.js +0 -1
- package/dist/esm/storage/contracts/storage.contract.js.map +0 -1
- package/dist/esm/storage/contracts/storage.errors.js +0 -25
- package/dist/esm/storage/contracts/storage.errors.js.map +0 -1
- package/dist/esm/storage/contracts/storage.events.js.map +0 -1
- package/dist/esm/storage/implementations/_module.js +0 -4
- package/dist/esm/storage/implementations/_module.js.map +0 -1
- package/dist/esm/storage/implementations/_shared/test-utilities/_module.js +0 -2
- package/dist/esm/storage/implementations/_shared/test-utilities/_module.js.map +0 -1
- package/dist/esm/storage/implementations/_shared/test-utilities/storage-adapter.test-suite.js +0 -127
- package/dist/esm/storage/implementations/_shared/test-utilities/storage-adapter.test-suite.js.map +0 -1
- package/dist/esm/storage/implementations/adapters/_module.js +0 -5
- package/dist/esm/storage/implementations/adapters/_module.js.map +0 -1
- package/dist/esm/storage/implementations/adapters/memory-storage-adapter/_module.js +0 -2
- package/dist/esm/storage/implementations/adapters/memory-storage-adapter/_module.js.map +0 -1
- package/dist/esm/storage/implementations/adapters/memory-storage-adapter/memory-storage-adapter.js.map +0 -1
- package/dist/esm/storage/implementations/adapters/mongodb-storage-adapter/_module.js +0 -2
- package/dist/esm/storage/implementations/adapters/mongodb-storage-adapter/_module.js.map +0 -1
- package/dist/esm/storage/implementations/adapters/mongodb-storage-adapter/mongodb-storage-adapter.js +0 -125
- package/dist/esm/storage/implementations/adapters/mongodb-storage-adapter/mongodb-storage-adapter.js.map +0 -1
- package/dist/esm/storage/implementations/adapters/redis-storage-adapter/_module.js +0 -2
- package/dist/esm/storage/implementations/adapters/redis-storage-adapter/_module.js.map +0 -1
- package/dist/esm/storage/implementations/adapters/redis-storage-adapter/redis-storage-adapter.js +0 -85
- package/dist/esm/storage/implementations/adapters/redis-storage-adapter/redis-storage-adapter.js.map +0 -1
- package/dist/esm/storage/implementations/adapters/sqlite/_module.js +0 -3
- package/dist/esm/storage/implementations/adapters/sqlite/_module.js.map +0 -1
- package/dist/esm/storage/implementations/adapters/sqlite/_shared/_module.js +0 -2
- package/dist/esm/storage/implementations/adapters/sqlite/_shared/_module.js.map +0 -1
- package/dist/esm/storage/implementations/adapters/sqlite/_shared/base-sqlite-storage-adapter.js +0 -115
- package/dist/esm/storage/implementations/adapters/sqlite/_shared/base-sqlite-storage-adapter.js.map +0 -1
- package/dist/esm/storage/implementations/adapters/sqlite/libsql-storage-adapter/_module.js +0 -2
- package/dist/esm/storage/implementations/adapters/sqlite/libsql-storage-adapter/_module.js.map +0 -1
- package/dist/esm/storage/implementations/adapters/sqlite/libsql-storage-adapter/libsql-storage-adapter.js +0 -49
- package/dist/esm/storage/implementations/adapters/sqlite/libsql-storage-adapter/libsql-storage-adapter.js.map +0 -1
- package/dist/esm/storage/implementations/adapters/sqlite/sqlite-storage-adapter/_module.js +0 -2
- package/dist/esm/storage/implementations/adapters/sqlite/sqlite-storage-adapter/_module.js.map +0 -1
- package/dist/esm/storage/implementations/adapters/sqlite/sqlite-storage-adapter/sqlite-storage-adapter.js +0 -48
- package/dist/esm/storage/implementations/adapters/sqlite/sqlite-storage-adapter/sqlite-storage-adapter.js.map +0 -1
- package/dist/esm/storage/implementations/derivables/_module.js +0 -3
- package/dist/esm/storage/implementations/derivables/_module.js.map +0 -1
- package/dist/esm/storage/implementations/derivables/storage-factory.js.map +0 -1
- package/dist/esm/storage/implementations/derivables/storage.js +0 -425
- package/dist/esm/storage/implementations/derivables/storage.js.map +0 -1
- package/dist/types/storage/contracts/_module.d.ts +0 -5
- package/dist/types/storage/contracts/storage-factory.contract.d.ts +0 -67
- package/dist/types/storage/contracts/storage.events.d.ts +0 -94
- package/dist/types/storage/implementations/_module.d.ts +0 -3
- package/dist/types/storage/implementations/_shared/test-utilities/_module.d.ts +0 -1
- package/dist/types/storage/implementations/_shared/test-utilities/storage-adapter.test-suite.d.ts +0 -36
- package/dist/types/storage/implementations/adapters/_module.d.ts +0 -4
- package/dist/types/storage/implementations/adapters/memory-storage-adapter/_module.d.ts +0 -1
- package/dist/types/storage/implementations/adapters/memory-storage-adapter/memory-storage-adapter.d.ts +0 -18
- package/dist/types/storage/implementations/adapters/mongodb-storage-adapter/_module.d.ts +0 -1
- package/dist/types/storage/implementations/adapters/mongodb-storage-adapter/mongodb-storage-adapter.d.ts +0 -40
- package/dist/types/storage/implementations/adapters/redis-storage-adapter/_module.d.ts +0 -1
- package/dist/types/storage/implementations/adapters/sqlite/_module.d.ts +0 -2
- package/dist/types/storage/implementations/adapters/sqlite/_shared/_module.d.ts +0 -1
- package/dist/types/storage/implementations/adapters/sqlite/_shared/base-sqlite-storage-adapter.d.ts +0 -45
- package/dist/types/storage/implementations/adapters/sqlite/libsql-storage-adapter/_module.d.ts +0 -1
- package/dist/types/storage/implementations/adapters/sqlite/libsql-storage-adapter/libsql-storage-adapter.d.ts +0 -37
- package/dist/types/storage/implementations/adapters/sqlite/sqlite-storage-adapter/_module.d.ts +0 -1
- package/dist/types/storage/implementations/adapters/sqlite/sqlite-storage-adapter/sqlite-storage-adapter.d.ts +0 -37
- package/dist/types/storage/implementations/derivables/_module.d.ts +0 -2
- package/dist/types/storage/implementations/derivables/storage-factory.d.ts +0 -47
- package/dist/types/storage/implementations/derivables/storage.d.ts +0 -119
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module Storage
|
|
3
|
-
*/
|
|
4
|
-
import type { IStorageAdapter } from "../../storage/contracts/storage-adapter.contract";
|
|
5
|
-
/**
|
|
6
|
-
* Name of all the events of <i>{@link IStorage}</i>.
|
|
7
|
-
* @group Events
|
|
8
|
-
*/
|
|
9
|
-
export declare const STORAGE_EVENTS: {
|
|
10
|
-
readonly KEY_FOUND: "key_found";
|
|
11
|
-
readonly KEY_NOT_FOUND: "key_not_found";
|
|
12
|
-
readonly KEY_ADDED: "key_added";
|
|
13
|
-
readonly KEY_UPDATED: "key_updated";
|
|
14
|
-
readonly KEY_REMOVED: "key_removed";
|
|
15
|
-
readonly KEYS_CLEARED: "keys_cleared";
|
|
16
|
-
readonly KEY_INCREMENTED: "key_incremented";
|
|
17
|
-
readonly KEY_DECREMENTED: "key_decremented";
|
|
18
|
-
};
|
|
19
|
-
/**
|
|
20
|
-
* @group Events
|
|
21
|
-
*/
|
|
22
|
-
export type StorageEventNames = (typeof STORAGE_EVENTS)[keyof typeof STORAGE_EVENTS];
|
|
23
|
-
/**
|
|
24
|
-
* @group Events
|
|
25
|
-
*/
|
|
26
|
-
export type StorageEvent = {
|
|
27
|
-
namespace: string;
|
|
28
|
-
adapter: IStorageAdapter<any>;
|
|
29
|
-
};
|
|
30
|
-
/**
|
|
31
|
-
* @group Events
|
|
32
|
-
*/
|
|
33
|
-
export type KeyFoundStorageEvent<TType = unknown> = StorageEvent & {
|
|
34
|
-
type: (typeof STORAGE_EVENTS)["KEY_FOUND"];
|
|
35
|
-
key: string;
|
|
36
|
-
value: TType;
|
|
37
|
-
};
|
|
38
|
-
/**
|
|
39
|
-
* @group Events
|
|
40
|
-
*/
|
|
41
|
-
export type KeyNotFoundStorageEvent = StorageEvent & {
|
|
42
|
-
type: (typeof STORAGE_EVENTS)["KEY_NOT_FOUND"];
|
|
43
|
-
key: string;
|
|
44
|
-
};
|
|
45
|
-
/**
|
|
46
|
-
* @group Events
|
|
47
|
-
*/
|
|
48
|
-
export type KeyAddedStorageEvent<TType = unknown> = StorageEvent & {
|
|
49
|
-
type: (typeof STORAGE_EVENTS)["KEY_ADDED"];
|
|
50
|
-
key: string;
|
|
51
|
-
value: TType;
|
|
52
|
-
};
|
|
53
|
-
/**
|
|
54
|
-
* @group Events
|
|
55
|
-
*/
|
|
56
|
-
export type KeyUpdatedStorageEvent<TType = unknown> = StorageEvent & {
|
|
57
|
-
type: (typeof STORAGE_EVENTS)["KEY_UPDATED"];
|
|
58
|
-
key: string;
|
|
59
|
-
value: TType;
|
|
60
|
-
};
|
|
61
|
-
/**
|
|
62
|
-
* @group Events
|
|
63
|
-
*/
|
|
64
|
-
export type KeyIncrementedStorageEvent = StorageEvent & {
|
|
65
|
-
type: (typeof STORAGE_EVENTS)["KEY_INCREMENTED"];
|
|
66
|
-
key: string;
|
|
67
|
-
value: number;
|
|
68
|
-
};
|
|
69
|
-
/**
|
|
70
|
-
* @group Events
|
|
71
|
-
*/
|
|
72
|
-
export type KeyDecrementedStorageEvent = StorageEvent & {
|
|
73
|
-
type: (typeof STORAGE_EVENTS)["KEY_DECREMENTED"];
|
|
74
|
-
key: string;
|
|
75
|
-
value: number;
|
|
76
|
-
};
|
|
77
|
-
/**
|
|
78
|
-
* @group Events
|
|
79
|
-
*/
|
|
80
|
-
export type KeyRemovedStorageEvent = StorageEvent & {
|
|
81
|
-
type: (typeof STORAGE_EVENTS)["KEY_REMOVED"];
|
|
82
|
-
key: string;
|
|
83
|
-
};
|
|
84
|
-
/**
|
|
85
|
-
* This event will be triggered when storage is cleared.
|
|
86
|
-
* @group Events
|
|
87
|
-
*/
|
|
88
|
-
export type KeysClearedStorageEvent = StorageEvent & {
|
|
89
|
-
type: (typeof STORAGE_EVENTS)["KEYS_CLEARED"];
|
|
90
|
-
};
|
|
91
|
-
/**
|
|
92
|
-
* @group Events
|
|
93
|
-
*/
|
|
94
|
-
export type AllStorageEvents<TType> = KeyFoundStorageEvent<TType> | KeyNotFoundStorageEvent | KeyAddedStorageEvent<TType> | KeyUpdatedStorageEvent<TType> | KeyRemovedStorageEvent | KeysClearedStorageEvent | KeyIncrementedStorageEvent | KeyDecrementedStorageEvent;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "../../../../storage/implementations/_shared/test-utilities/storage-adapter.test-suite";
|
package/dist/types/storage/implementations/_shared/test-utilities/storage-adapter.test-suite.d.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module Storage
|
|
3
|
-
*/
|
|
4
|
-
import { type TestAPI, type SuiteAPI, type ExpectStatic, type beforeEach } from "vitest";
|
|
5
|
-
import { type IStorageAdapter } from "../../../../storage/contracts/_module";
|
|
6
|
-
import { type Promisable } from "../../../../_shared/types";
|
|
7
|
-
/**
|
|
8
|
-
* @group Utilities
|
|
9
|
-
*/
|
|
10
|
-
export type StorageAdapterTestSuiteSettings = {
|
|
11
|
-
expect: ExpectStatic;
|
|
12
|
-
test: TestAPI;
|
|
13
|
-
describe: SuiteAPI;
|
|
14
|
-
beforeEach: typeof beforeEach;
|
|
15
|
-
createAdapter: () => Promisable<IStorageAdapter>;
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* The <i>storageAdapterTestSuite</i> function simplifies the process of testing your custom implementation of <i>{@link IStorageAdapter}</i>.
|
|
19
|
-
* @example
|
|
20
|
-
* ```ts
|
|
21
|
-
* import { storageAdapterTestSuite, MemoryStorageAdapter } from "@daiso-tech/core";
|
|
22
|
-
* import { expext, test, describe, beforeEach } from "vitest";
|
|
23
|
-
*
|
|
24
|
-
* describe("class: MemoryStorageAdapter", () => {
|
|
25
|
-
* storageAdapterTestSuite({
|
|
26
|
-
* createAdapter: () => new MemoryStorageAdapter(),
|
|
27
|
-
* test,
|
|
28
|
-
* beforeEach,
|
|
29
|
-
* expect,
|
|
30
|
-
* describe,
|
|
31
|
-
* });
|
|
32
|
-
* });
|
|
33
|
-
* ```
|
|
34
|
-
* @group Utilities
|
|
35
|
-
*/
|
|
36
|
-
export declare function storageAdapterTestSuite(settings: StorageAdapterTestSuiteSettings): void;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
export * from "../../../storage/implementations/adapters/memory-storage-adapter/_module";
|
|
2
|
-
export * from "../../../storage/implementations/adapters/mongodb-storage-adapter/_module";
|
|
3
|
-
export * from "../../../storage/implementations/adapters/redis-storage-adapter/_module";
|
|
4
|
-
export * from "../../../storage/implementations/adapters/sqlite/_module";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "../../../../storage/implementations/adapters/memory-storage-adapter/memory-storage-adapter";
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module Storage
|
|
3
|
-
*/
|
|
4
|
-
import { type IStorageAdapter } from "../../../../storage/contracts/storage-adapter.contract";
|
|
5
|
-
/**
|
|
6
|
-
* @group Adapters
|
|
7
|
-
*/
|
|
8
|
-
export declare class MemoryStorageAdapter<TType> implements IStorageAdapter<TType> {
|
|
9
|
-
private readonly map;
|
|
10
|
-
constructor(map?: Map<string, TType>);
|
|
11
|
-
get(key: string): Promise<TType | null>;
|
|
12
|
-
add(key: string, value: TType): Promise<boolean>;
|
|
13
|
-
update(key: string, value: TType): Promise<boolean>;
|
|
14
|
-
put(key: string, value: TType): Promise<boolean>;
|
|
15
|
-
remove(key: string): Promise<boolean>;
|
|
16
|
-
increment(key: string, value: number): Promise<boolean>;
|
|
17
|
-
clear(prefix: string): Promise<void>;
|
|
18
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { MongodbStorageAdapter, type MongodbStorageAdapterSettings, } from "../../../../storage/implementations/adapters/mongodb-storage-adapter/mongodb-storage-adapter";
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module Storage
|
|
3
|
-
*/
|
|
4
|
-
import { type ISerializer } from "../../../../serializer/contracts/_module";
|
|
5
|
-
import { type IInitizable } from "../../../../_shared/types";
|
|
6
|
-
import { type IStorageAdapter } from "../../../../storage/contracts/_module";
|
|
7
|
-
import { ObjectId } from "mongodb";
|
|
8
|
-
import { type Collection } from "mongodb";
|
|
9
|
-
/**
|
|
10
|
-
* @group Adapters
|
|
11
|
-
*/
|
|
12
|
-
export type MongodbStorageDocument = {
|
|
13
|
-
_id: ObjectId;
|
|
14
|
-
key: string;
|
|
15
|
-
value: number | string;
|
|
16
|
-
};
|
|
17
|
-
/**
|
|
18
|
-
* @group Adapters
|
|
19
|
-
*/
|
|
20
|
-
export type MongodbStorageAdapterSettings = {
|
|
21
|
-
serializer?: ISerializer<string>;
|
|
22
|
-
};
|
|
23
|
-
/**
|
|
24
|
-
* @group Adapters
|
|
25
|
-
*/
|
|
26
|
-
export declare class MongodbStorageAdapter<TType> implements IStorageAdapter<TType>, IInitizable {
|
|
27
|
-
private readonly collection;
|
|
28
|
-
private static isMongodbIncrementError;
|
|
29
|
-
private static isMongoDuplicateError;
|
|
30
|
-
private serializer;
|
|
31
|
-
constructor(collection: Collection<MongodbStorageDocument>, { serializer, }?: MongodbStorageAdapterSettings);
|
|
32
|
-
init(): Promise<void>;
|
|
33
|
-
get(key: string): Promise<TType | null>;
|
|
34
|
-
add(key: string, value: TType): Promise<boolean>;
|
|
35
|
-
update(key: string, value: unknown): Promise<boolean>;
|
|
36
|
-
put(key: string, value: unknown): Promise<boolean>;
|
|
37
|
-
remove(key: string): Promise<boolean>;
|
|
38
|
-
increment(key: string, value: number): Promise<boolean>;
|
|
39
|
-
clear(prefix: string): Promise<void>;
|
|
40
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "../../../../storage/implementations/adapters/redis-storage-adapter/redis-storage-adapter";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "../../../../../storage/implementations/adapters/sqlite/_shared/base-sqlite-storage-adapter";
|
package/dist/types/storage/implementations/adapters/sqlite/_shared/base-sqlite-storage-adapter.d.ts
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module Storage
|
|
3
|
-
*/
|
|
4
|
-
import { type IStorageAdapter } from "../../../../../storage/contracts/storage-adapter.contract";
|
|
5
|
-
import { type Kysely } from "kysely";
|
|
6
|
-
import { type ISerializer } from "../../../../../serializer/contracts/_module";
|
|
7
|
-
import type { IDeinitizable } from "../../../../../_shared/types";
|
|
8
|
-
import { type IInitizable } from "../../../../../_shared/types";
|
|
9
|
-
/**
|
|
10
|
-
* @internal
|
|
11
|
-
*/
|
|
12
|
-
type BaseSqliteStorageTable = {
|
|
13
|
-
key: string;
|
|
14
|
-
value: string;
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* @internal
|
|
18
|
-
*/
|
|
19
|
-
type BaseSqliteTables = {
|
|
20
|
-
storage: BaseSqliteStorageTable;
|
|
21
|
-
};
|
|
22
|
-
/**
|
|
23
|
-
* @internal
|
|
24
|
-
*/
|
|
25
|
-
export declare class BaseSqliteStorageAdapter<TType> implements IStorageAdapter<TType>, IInitizable, IDeinitizable {
|
|
26
|
-
private readonly db;
|
|
27
|
-
private readonly serializer;
|
|
28
|
-
constructor(db: Kysely<BaseSqliteTables>, serializer: ISerializer<string>);
|
|
29
|
-
/**
|
|
30
|
-
* Creates the table
|
|
31
|
-
*/
|
|
32
|
-
init(): Promise<void>;
|
|
33
|
-
/**
|
|
34
|
-
* Removes the table
|
|
35
|
-
*/
|
|
36
|
-
deInit(): Promise<void>;
|
|
37
|
-
get(key: string): Promise<TType | null>;
|
|
38
|
-
add(key: string, value: TType): Promise<boolean>;
|
|
39
|
-
update(key: string, value: TType): Promise<boolean>;
|
|
40
|
-
put(key: string, value: TType): Promise<boolean>;
|
|
41
|
-
remove(key: string): Promise<boolean>;
|
|
42
|
-
increment(key: string, value: number): Promise<boolean>;
|
|
43
|
-
clear(prefix: string): Promise<void>;
|
|
44
|
-
}
|
|
45
|
-
export {};
|
package/dist/types/storage/implementations/adapters/sqlite/libsql-storage-adapter/_module.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "../../../../../storage/implementations/adapters/sqlite/libsql-storage-adapter/libsql-storage-adapter";
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module Storage
|
|
3
|
-
*/
|
|
4
|
-
import type { ISerializer } from "../../../../../serializer/contracts/_module";
|
|
5
|
-
import { type IStorageAdapter } from "../../../../../storage/contracts/_module";
|
|
6
|
-
import type { IDeinitizable } from "../../../../../_shared/types";
|
|
7
|
-
import { type IInitizable } from "../../../../../_shared/types";
|
|
8
|
-
import type { Client } from "@libsql/client";
|
|
9
|
-
/**
|
|
10
|
-
* @group Adapters
|
|
11
|
-
*/
|
|
12
|
-
export type LibsqlStorageAdapterSettings = {
|
|
13
|
-
tableName?: string;
|
|
14
|
-
serializer?: ISerializer<string>;
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* @group Adapters
|
|
18
|
-
*/
|
|
19
|
-
export declare class LibsqlStorageAdapter<TType> implements IStorageAdapter<TType>, IInitizable, IDeinitizable {
|
|
20
|
-
private readonly storageAdapter;
|
|
21
|
-
constructor(client: Client, { tableName, serializer, }?: LibsqlStorageAdapterSettings);
|
|
22
|
-
/**
|
|
23
|
-
* Creates the table
|
|
24
|
-
*/
|
|
25
|
-
init(): Promise<void>;
|
|
26
|
-
/**
|
|
27
|
-
* Removes the table
|
|
28
|
-
*/
|
|
29
|
-
deInit(): Promise<void>;
|
|
30
|
-
get(key: string): Promise<TType | null>;
|
|
31
|
-
add(key: string, value: TType): Promise<boolean>;
|
|
32
|
-
update(key: string, value: TType): Promise<boolean>;
|
|
33
|
-
put(key: string, value: TType): Promise<boolean>;
|
|
34
|
-
remove(key: string): Promise<boolean>;
|
|
35
|
-
increment(key: string, value: number): Promise<boolean>;
|
|
36
|
-
clear(prefix: string): Promise<void>;
|
|
37
|
-
}
|
package/dist/types/storage/implementations/adapters/sqlite/sqlite-storage-adapter/_module.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "../../../../../storage/implementations/adapters/sqlite/sqlite-storage-adapter/sqlite-storage-adapter";
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module Storage
|
|
3
|
-
*/
|
|
4
|
-
import type { ISerializer } from "../../../../../serializer/contracts/_module";
|
|
5
|
-
import { type IStorageAdapter } from "../../../../../storage/contracts/_module";
|
|
6
|
-
import { type Database } from "better-sqlite3";
|
|
7
|
-
import type { IDeinitizable } from "../../../../../_shared/types";
|
|
8
|
-
import { type IInitizable } from "../../../../../_shared/types";
|
|
9
|
-
/**
|
|
10
|
-
* @group Adapters
|
|
11
|
-
*/
|
|
12
|
-
export type SqliteStorageAdapterSettings = {
|
|
13
|
-
tableName?: string;
|
|
14
|
-
serializer?: ISerializer<string>;
|
|
15
|
-
};
|
|
16
|
-
/**
|
|
17
|
-
* @group Adapters
|
|
18
|
-
*/
|
|
19
|
-
export declare class SqliteStorageAdapter<TType> implements IStorageAdapter<TType>, IInitizable, IDeinitizable {
|
|
20
|
-
private readonly storageAdapter;
|
|
21
|
-
constructor(database: Database, { tableName, serializer, }?: SqliteStorageAdapterSettings);
|
|
22
|
-
/**
|
|
23
|
-
* Creates the table
|
|
24
|
-
*/
|
|
25
|
-
init(): Promise<void>;
|
|
26
|
-
/**
|
|
27
|
-
* Removes the table
|
|
28
|
-
*/
|
|
29
|
-
deInit(): Promise<void>;
|
|
30
|
-
get(key: string): Promise<TType | null>;
|
|
31
|
-
add(key: string, value: TType): Promise<boolean>;
|
|
32
|
-
update(key: string, value: TType): Promise<boolean>;
|
|
33
|
-
put(key: string, value: TType): Promise<boolean>;
|
|
34
|
-
remove(key: string): Promise<boolean>;
|
|
35
|
-
increment(key: string, value: number): Promise<boolean>;
|
|
36
|
-
clear(prefix: string): Promise<void>;
|
|
37
|
-
}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module Storage
|
|
3
|
-
*/
|
|
4
|
-
import type { INamespacedEventBus } from "../../../event-bus/contracts/_module";
|
|
5
|
-
import type { IStorageFactory, INamespacedStorage, IStorageAdapter } from "../../../storage/contracts/_module";
|
|
6
|
-
import type { Validator } from "../../../utilities/_module";
|
|
7
|
-
/**
|
|
8
|
-
* @group Derivables
|
|
9
|
-
*/
|
|
10
|
-
export type StorageDrivers<TDrivers extends string> = Partial<Record<TDrivers, IStorageAdapter<any>>>;
|
|
11
|
-
/**
|
|
12
|
-
* @group Derivables
|
|
13
|
-
*/
|
|
14
|
-
export type StorageFactorySettings<TDrivers extends string = string> = {
|
|
15
|
-
drivers: StorageDrivers<TDrivers>;
|
|
16
|
-
defaultDriver?: NoInfer<TDrivers>;
|
|
17
|
-
eventBus?: INamespacedEventBus<any>;
|
|
18
|
-
rootNamespace?: string;
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* @group Derivables
|
|
22
|
-
* @example
|
|
23
|
-
* ```ts
|
|
24
|
-
* import { StorageFactory } from "@daiso-tech/core";
|
|
25
|
-
* import Redis from "ioredis"
|
|
26
|
-
*
|
|
27
|
-
* const storageFactory = new StorageFactory({
|
|
28
|
-
* drivers: {
|
|
29
|
-
* memory: new MemoryStorageAdapter(),
|
|
30
|
-
* redis: new RedisStorageAdapter(new Redis()),
|
|
31
|
-
* },
|
|
32
|
-
* defaultDriver: "memory",
|
|
33
|
-
* rootNamespace: "@events"
|
|
34
|
-
* });
|
|
35
|
-
* ```
|
|
36
|
-
*/
|
|
37
|
-
export declare class StorageFactory<TDrivers extends string = string, TType = unknown> implements IStorageFactory<TDrivers, TType> {
|
|
38
|
-
private readonly rootNamespace?;
|
|
39
|
-
private readonly drivers;
|
|
40
|
-
private readonly defaultDriver?;
|
|
41
|
-
private readonly eventBus?;
|
|
42
|
-
private validator;
|
|
43
|
-
constructor(settings: StorageFactorySettings<TDrivers>);
|
|
44
|
-
use(driverName?: TDrivers | undefined): INamespacedStorage<TType>;
|
|
45
|
-
withValidation<TOutput extends TType = TType>(validator: Validator<TOutput>): IStorageFactory<TDrivers, TOutput>;
|
|
46
|
-
withType<TOutput extends TType = TType>(): IStorageFactory<TDrivers, TOutput>;
|
|
47
|
-
}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @module Storage
|
|
3
|
-
*/
|
|
4
|
-
import type { StorageEventNames } from "../../../storage/contracts/_module";
|
|
5
|
-
import { type IStorage, type IStorageAdapter } from "../../../storage/contracts/_module";
|
|
6
|
-
import { type INamespacedStorage, type AllStorageEvents } from "../../../storage/contracts/_module";
|
|
7
|
-
import type { OneOrMore } from "../../../_shared/types";
|
|
8
|
-
import { type AsyncLazyable, type GetOrAddValue } from "../../../_shared/types";
|
|
9
|
-
import type { Validator } from "../../../utilities/_module";
|
|
10
|
-
import { LazyPromise } from "../../../utilities/_module";
|
|
11
|
-
import type { INamespacedEventBus, Listener, SelectEvent, Unsubscribe } from "../../../event-bus/contracts/_module";
|
|
12
|
-
/**
|
|
13
|
-
* @group Derivables
|
|
14
|
-
*/
|
|
15
|
-
export type StorageSettings<TType> = {
|
|
16
|
-
/**
|
|
17
|
-
* You can prefix all keys with a given <i>rootNamespace</i>.
|
|
18
|
-
* This useful if you want to add multitenancy but still use the same database.
|
|
19
|
-
* @default {""}
|
|
20
|
-
* @example
|
|
21
|
-
* ```ts
|
|
22
|
-
* import { Storage, MemoryStorageAdapter } from "@daiso-tech/core";
|
|
23
|
-
*
|
|
24
|
-
* const memoryStorageAdapter = new MemoryStorageAdapter();
|
|
25
|
-
* const storageA = new Storage(memoryStorageAdapter, {
|
|
26
|
-
* rootNamespace: "@a"
|
|
27
|
-
* });
|
|
28
|
-
* const storageB = new Storage(memoryStorageAdapter, {
|
|
29
|
-
* rootNamespace: "@b"
|
|
30
|
-
* });
|
|
31
|
-
*
|
|
32
|
-
* (async () => {
|
|
33
|
-
* await storageA.add("a", 1);
|
|
34
|
-
*
|
|
35
|
-
* // Will be "a"
|
|
36
|
-
* console.log(await storageA.get("a"));
|
|
37
|
-
*
|
|
38
|
-
* // Will be "null"
|
|
39
|
-
* console.log(await storageB.get("a"));
|
|
40
|
-
* })();
|
|
41
|
-
* ```
|
|
42
|
-
*/
|
|
43
|
-
rootNamespace?: OneOrMore<string>;
|
|
44
|
-
/**
|
|
45
|
-
* You can pass a custom <i>{@link Validator}</i> to validate, transform and sanitize your data.
|
|
46
|
-
* You could also use <i>{@link zodValidator}</i> which enables you to use zod for validating, transforming, and sanitizing.
|
|
47
|
-
* @example
|
|
48
|
-
* ```ts
|
|
49
|
-
* import { Storage, MemoryStorageAdapter, zodValidator } from "@daiso-tech/core";
|
|
50
|
-
* import { z } from "zod";
|
|
51
|
-
*
|
|
52
|
-
* const storage = new Storage(new MemoryStorageAdapter(), {
|
|
53
|
-
* // Type will be infered from validator
|
|
54
|
-
* validator: zodValidator(z.string())
|
|
55
|
-
* });
|
|
56
|
-
*
|
|
57
|
-
* (async () => {
|
|
58
|
-
* // An Typescript error will be seen and ValidationError will be thrown during runtime.
|
|
59
|
-
* await storageA.add("a", 1);
|
|
60
|
-
* })();
|
|
61
|
-
* ```
|
|
62
|
-
*/
|
|
63
|
-
validator?: Validator<TType>;
|
|
64
|
-
/**
|
|
65
|
-
* In order to listen to events of <i>{@link Storage}</i> class you must pass in <i>{@link INamespacedEventBus}</i>.
|
|
66
|
-
*/
|
|
67
|
-
eventBus?: INamespacedEventBus<AllStorageEvents<TType>>;
|
|
68
|
-
};
|
|
69
|
-
/**
|
|
70
|
-
* <i>Storage</i> class can be derived from any <i>{@link IStorageAdapter}</i>.
|
|
71
|
-
* @group Derivables
|
|
72
|
-
*/
|
|
73
|
-
export declare class Storage<TType = unknown> implements INamespacedStorage<TType> {
|
|
74
|
-
private readonly namespace;
|
|
75
|
-
private readonly validator;
|
|
76
|
-
private readonly eventBus;
|
|
77
|
-
private readonly storageAdapter;
|
|
78
|
-
private readonly eventAttributes;
|
|
79
|
-
constructor(storageAdapter: IStorageAdapter<any>, settings?: StorageSettings<TType>);
|
|
80
|
-
addListener<TEventType extends StorageEventNames>(event: TEventType, listener: Listener<SelectEvent<AllStorageEvents<TType>, TEventType>>): LazyPromise<void>;
|
|
81
|
-
addListenerMany<TEventType extends StorageEventNames>(events: TEventType[], listener: Listener<SelectEvent<AllStorageEvents<TType>, TEventType>>): LazyPromise<void>;
|
|
82
|
-
removeListener<TEventType extends StorageEventNames>(event: TEventType, listener: Listener<SelectEvent<AllStorageEvents<TType>, TEventType>>): LazyPromise<void>;
|
|
83
|
-
removeListenerMany<TEventType extends StorageEventNames>(events: TEventType[], listener: Listener<SelectEvent<AllStorageEvents<TType>, TEventType>>): LazyPromise<void>;
|
|
84
|
-
subscribe<TEventType extends StorageEventNames>(event: TEventType, listener: Listener<SelectEvent<AllStorageEvents<TType>, TEventType>>): LazyPromise<Unsubscribe>;
|
|
85
|
-
subscribeMany<TEventType extends StorageEventNames>(events: TEventType[], listener: Listener<SelectEvent<AllStorageEvents<TType>, TEventType>>): LazyPromise<Unsubscribe>;
|
|
86
|
-
withNamespace(namespace: OneOrMore<string>): IStorage<TType>;
|
|
87
|
-
getNamespace(): string;
|
|
88
|
-
private createKeyFoundEvent;
|
|
89
|
-
private createKeyNotFoundEvent;
|
|
90
|
-
private createKeyAddedEvent;
|
|
91
|
-
private createKeyUpdatedEvent;
|
|
92
|
-
private createKeyRemovedEvent;
|
|
93
|
-
private createKeysClearedEvent;
|
|
94
|
-
private createKeyIncrementedEvent;
|
|
95
|
-
private createKeyDecrementedEvent;
|
|
96
|
-
private keyWithNamespace;
|
|
97
|
-
exists(key: string): LazyPromise<boolean>;
|
|
98
|
-
existsMany<TKeys extends string>(keys: TKeys[]): LazyPromise<Record<TKeys, boolean>>;
|
|
99
|
-
missing(key: string): LazyPromise<boolean>;
|
|
100
|
-
missingMany<TKeys extends string>(keys: TKeys[]): LazyPromise<Record<TKeys, boolean>>;
|
|
101
|
-
get(key: string): LazyPromise<TType | null>;
|
|
102
|
-
getMany<TKeys extends string>(keys: TKeys[]): LazyPromise<Record<TKeys, TType | null>>;
|
|
103
|
-
getOr(key: string, defaultValue: AsyncLazyable<TType>): LazyPromise<TType>;
|
|
104
|
-
getOrMany<TKeys extends string>(keysWithDefaults: Record<TKeys, AsyncLazyable<TType>>): LazyPromise<Record<TKeys, TType>>;
|
|
105
|
-
getOrFail(key: string): LazyPromise<TType>;
|
|
106
|
-
add(key: string, value: TType): LazyPromise<boolean>;
|
|
107
|
-
addMany<TKeys extends string>(values: Record<TKeys, TType>): LazyPromise<Record<TKeys, boolean>>;
|
|
108
|
-
update(key: string, value: TType): LazyPromise<boolean>;
|
|
109
|
-
updateMany<TKeys extends string>(values: Record<TKeys, TType>): LazyPromise<Record<TKeys, boolean>>;
|
|
110
|
-
put(key: string, value: TType): LazyPromise<boolean>;
|
|
111
|
-
putMany<TKeys extends string>(values: Record<TKeys, TType>): LazyPromise<Record<TKeys, boolean>>;
|
|
112
|
-
remove(key: string): LazyPromise<boolean>;
|
|
113
|
-
removeMany<TKeys extends string>(keys: TKeys[]): LazyPromise<Record<TKeys, boolean>>;
|
|
114
|
-
getAndRemove(key: string): LazyPromise<TType | null>;
|
|
115
|
-
getOrAdd(key: string, valueToAdd: AsyncLazyable<GetOrAddValue<TType>>): LazyPromise<TType>;
|
|
116
|
-
increment(key: string, value?: Extract<TType, number>): LazyPromise<boolean>;
|
|
117
|
-
decrement(key: string, value?: Extract<TType, number>): LazyPromise<boolean>;
|
|
118
|
-
clear(): LazyPromise<void>;
|
|
119
|
-
}
|