@daiso-tech/core 0.10.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/_shared/utilities.js +7 -0
- package/dist/cjs/_shared/utilities.js.map +1 -1
- package/dist/cjs/cache/contracts/_module.js +22 -0
- package/dist/cjs/cache/contracts/_module.js.map +1 -0
- package/dist/cjs/{storage/contracts/storage-adapter.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-manager.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/cache/contracts/cache.events.js +14 -0
- package/dist/cjs/cache/contracts/cache.events.js.map +1 -0
- package/dist/cjs/cache/implementations/_module.js +20 -0
- package/dist/cjs/cache/implementations/_module.js.map +1 -0
- package/dist/cjs/{event-bus/implementations/memory-event-bus-adapter → 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/cache/implementations/adapters/_module.js +22 -0
- 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/{event-bus/implementations/redis-event-bus-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/cache/implementations/adapters/memory-cache-adapter/_module.js +18 -0
- package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/_module.js.map +1 -0
- package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +72 -0
- package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -0
- package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/_module.js +18 -0
- 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/{event-bus/implementations/no-op-event-bus-adapter → cache/implementations/adapters/redis-cache-adapter}/_module.js +1 -1
- 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/cache/implementations/derivables/base-cache.js +262 -0
- package/dist/cjs/cache/implementations/derivables/base-cache.js.map +1 -0
- package/dist/cjs/cache/implementations/derivables/cache-factory.js +39 -0
- 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/cjs/event-bus/contracts/_module.js +2 -1
- package/dist/cjs/event-bus/contracts/_module.js.map +1 -1
- package/dist/cjs/event-bus/contracts/_shared.js +0 -36
- package/dist/cjs/event-bus/contracts/_shared.js.map +1 -1
- package/dist/cjs/event-bus/contracts/{event-bus-manager.contract.js → event-bus-factory.contract.js} +1 -1
- package/dist/cjs/event-bus/contracts/event-bus-factory.contract.js.map +1 -0
- package/dist/cjs/event-bus/contracts/event-bus.errors.js +39 -0
- package/dist/cjs/event-bus/contracts/event-bus.errors.js.map +1 -0
- package/dist/cjs/event-bus/implementations/_module.js +2 -4
- package/dist/cjs/event-bus/implementations/_module.js.map +1 -1
- package/dist/cjs/event-bus/implementations/adapters/_module.js +20 -0
- package/dist/cjs/event-bus/implementations/adapters/_module.js.map +1 -0
- package/dist/cjs/{storage/implementations/redis-storage-adapter → event-bus/implementations/adapters/memory-event-bus-adapter}/_module.js +1 -1
- package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js.map +1 -0
- package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -0
- package/dist/cjs/{storage/implementations/_shared/test-utilities → event-bus/implementations/adapters/no-op-event-bus-adapter}/_module.js +1 -1
- package/dist/cjs/event-bus/implementations/adapters/no-op-event-bus-adapter/_module.js.map +1 -0
- package/dist/cjs/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -0
- package/dist/cjs/{storage/implementations/memory-storage-adapter → event-bus/implementations/adapters/redis-event-bus-adapter}/_module.js +1 -1
- package/dist/cjs/event-bus/implementations/adapters/redis-event-bus-adapter/_module.js.map +1 -0
- package/dist/cjs/event-bus/implementations/{redis-event-bus-adapter → adapters/redis-event-bus-adapter}/redis-event-bus-adapter.js +2 -2
- package/dist/cjs/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js.map +1 -0
- package/dist/cjs/event-bus/implementations/{event-bus → derivables}/_module.js +2 -2
- package/dist/cjs/event-bus/implementations/derivables/_module.js.map +1 -0
- package/dist/cjs/event-bus/implementations/derivables/event-bus-factory.js +39 -0
- package/dist/cjs/event-bus/implementations/derivables/event-bus-factory.js.map +1 -0
- package/dist/cjs/event-bus/implementations/{event-bus → derivables}/event-bus.js +11 -8
- package/dist/cjs/event-bus/implementations/derivables/event-bus.js.map +1 -0
- package/dist/cjs/event-bus/implementations/{event-bus → derivables}/with-namespace-event-bus-adapter.js +1 -0
- package/dist/cjs/event-bus/implementations/derivables/with-namespace-event-bus-adapter.js.map +1 -0
- package/dist/cjs/event-bus/implementations/derivables/with-validation-event-bus-adapter.js.map +1 -0
- package/dist/cjs/serializer/contracts/_module.js +1 -0
- package/dist/cjs/serializer/contracts/_module.js.map +1 -1
- package/dist/cjs/serializer/contracts/serializer.contract.js +0 -22
- package/dist/cjs/serializer/contracts/serializer.contract.js.map +1 -1
- package/dist/cjs/serializer/contracts/serializer.errors.js +25 -0
- package/dist/cjs/serializer/contracts/serializer.errors.js.map +1 -0
- package/dist/cjs/serializer/implementations/mongodb-serializer/mongodb-serializer.js +3 -3
- package/dist/cjs/serializer/implementations/mongodb-serializer/mongodb-serializer.js.map +1 -1
- package/dist/cjs/serializer/implementations/redis-serializer/redis-serializer.js +3 -3
- package/dist/cjs/serializer/implementations/redis-serializer/redis-serializer.js.map +1 -1
- package/dist/cjs/serializer/implementations/sql-serializer/sql-serializer.js +3 -3
- package/dist/cjs/serializer/implementations/sql-serializer/sql-serializer.js.map +1 -1
- package/dist/cjs/serializer/implementations/super-json-serializer/super-json-serializer.js +21 -21
- package/dist/cjs/serializer/implementations/super-json-serializer/super-json-serializer.js.map +1 -1
- package/dist/cjs/utilities/_module.js +1 -0
- package/dist/cjs/utilities/_module.js.map +1 -1
- package/dist/cjs/utilities/global-errors.js +25 -0
- package/dist/cjs/utilities/global-errors.js.map +1 -0
- package/dist/cjs/utilities/time-span/time-span.js.map +1 -1
- package/dist/esm/_module.js +2 -2
- package/dist/esm/_module.js.map +1 -1
- package/dist/esm/_shared/utilities.js +6 -0
- package/dist/esm/_shared/utilities.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/cache/contracts/cache.events.js +11 -0
- 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/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +68 -0
- 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/cache/implementations/derivables/cache-factory.js +35 -0
- 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/esm/event-bus/contracts/_module.js +2 -1
- package/dist/esm/event-bus/contracts/_module.js.map +1 -1
- package/dist/esm/event-bus/contracts/_shared.js +0 -30
- package/dist/esm/event-bus/contracts/_shared.js.map +1 -1
- package/dist/esm/event-bus/contracts/event-bus-factory.contract.js +1 -0
- package/dist/esm/event-bus/contracts/event-bus-factory.contract.js.map +1 -0
- package/dist/esm/event-bus/contracts/event-bus.errors.js +31 -0
- package/dist/esm/event-bus/contracts/event-bus.errors.js.map +1 -0
- package/dist/esm/event-bus/implementations/_module.js +2 -4
- package/dist/esm/event-bus/implementations/_module.js.map +1 -1
- package/dist/esm/event-bus/implementations/adapters/_module.js +4 -0
- package/dist/esm/event-bus/implementations/adapters/_module.js.map +1 -0
- package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js +2 -0
- package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/_module.js.map +1 -0
- package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -0
- package/dist/esm/event-bus/implementations/adapters/no-op-event-bus-adapter/_module.js +2 -0
- package/dist/esm/event-bus/implementations/adapters/no-op-event-bus-adapter/_module.js.map +1 -0
- package/dist/esm/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -0
- package/dist/esm/event-bus/implementations/adapters/redis-event-bus-adapter/_module.js +2 -0
- package/dist/esm/event-bus/implementations/adapters/redis-event-bus-adapter/_module.js.map +1 -0
- package/dist/esm/event-bus/implementations/{redis-event-bus-adapter → adapters/redis-event-bus-adapter}/redis-event-bus-adapter.js +2 -2
- package/dist/esm/event-bus/implementations/adapters/redis-event-bus-adapter/redis-event-bus-adapter.js.map +1 -0
- package/dist/esm/event-bus/implementations/derivables/_module.js +3 -0
- package/dist/esm/event-bus/implementations/derivables/_module.js.map +1 -0
- package/dist/esm/event-bus/implementations/derivables/event-bus-factory.js +35 -0
- package/dist/esm/event-bus/implementations/derivables/event-bus-factory.js.map +1 -0
- package/dist/esm/event-bus/implementations/{event-bus → derivables}/event-bus.js +12 -9
- package/dist/esm/event-bus/implementations/derivables/event-bus.js.map +1 -0
- package/dist/esm/event-bus/implementations/{event-bus → derivables}/with-namespace-event-bus-adapter.js +1 -0
- package/dist/esm/event-bus/implementations/derivables/with-namespace-event-bus-adapter.js.map +1 -0
- package/dist/esm/event-bus/implementations/derivables/with-validation-event-bus-adapter.js.map +1 -0
- package/dist/esm/serializer/contracts/_module.js +1 -0
- package/dist/esm/serializer/contracts/_module.js.map +1 -1
- package/dist/esm/serializer/contracts/serializer.contract.js +0 -18
- package/dist/esm/serializer/contracts/serializer.contract.js.map +1 -1
- package/dist/esm/serializer/contracts/serializer.errors.js +19 -0
- package/dist/esm/serializer/contracts/serializer.errors.js.map +1 -0
- package/dist/esm/serializer/implementations/mongodb-serializer/mongodb-serializer.js +1 -1
- package/dist/esm/serializer/implementations/mongodb-serializer/mongodb-serializer.js.map +1 -1
- package/dist/esm/serializer/implementations/redis-serializer/redis-serializer.js +1 -1
- package/dist/esm/serializer/implementations/redis-serializer/redis-serializer.js.map +1 -1
- package/dist/esm/serializer/implementations/sql-serializer/sql-serializer.js +1 -1
- package/dist/esm/serializer/implementations/sql-serializer/sql-serializer.js.map +1 -1
- package/dist/esm/serializer/implementations/super-json-serializer/super-json-serializer.js +1 -1
- package/dist/esm/serializer/implementations/super-json-serializer/super-json-serializer.js.map +1 -1
- package/dist/esm/utilities/_module.js +1 -0
- package/dist/esm/utilities/_module.js.map +1 -1
- package/dist/esm/utilities/global-errors.js +19 -0
- package/dist/esm/utilities/global-errors.js.map +1 -0
- package/dist/esm/utilities/time-span/time-span.js.map +1 -1
- package/dist/types/_module.d.ts +2 -2
- package/dist/types/_shared/types.d.ts +4 -0
- package/dist/types/_shared/utilities.d.ts +5 -1
- package/dist/types/cache/contracts/_module.d.ts +5 -0
- package/dist/types/cache/contracts/cache-adapter.contract.d.ts +44 -0
- package/dist/types/cache/contracts/cache-factory.contract.d.ts +48 -0
- package/dist/types/cache/contracts/cache.contract.d.ts +195 -0
- package/dist/types/{storage/contracts/_shared.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/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +37 -0
- 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/_module.d.ts +2 -1
- package/dist/types/event-bus/contracts/_shared.d.ts +0 -30
- package/dist/types/event-bus/contracts/event-bus-factory.contract.d.ts +78 -0
- package/dist/types/event-bus/contracts/event-bus.contract.d.ts +21 -18
- package/dist/types/event-bus/contracts/event-bus.errors.d.ts +33 -0
- package/dist/types/event-bus/implementations/_module.d.ts +2 -4
- package/dist/types/event-bus/implementations/adapters/_module.d.ts +3 -0
- package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/_module.d.ts +1 -0
- package/dist/types/event-bus/implementations/{memory-event-bus-adapter → adapters/memory-event-bus-adapter}/memory-event-bus-adapter.d.ts +1 -1
- package/dist/types/event-bus/implementations/adapters/no-op-event-bus-adapter/_module.d.ts +1 -0
- package/dist/types/event-bus/implementations/{no-op-event-bus-adapter → adapters/no-op-event-bus-adapter}/no-op-event-bus-adapter.d.ts +3 -3
- package/dist/types/event-bus/implementations/adapters/redis-event-bus-adapter/_module.d.ts +1 -0
- package/dist/types/event-bus/implementations/{redis-event-bus-adapter → adapters/redis-event-bus-adapter}/redis-event-bus-adapter.d.ts +2 -2
- package/dist/types/event-bus/implementations/derivables/_module.d.ts +2 -0
- package/dist/types/event-bus/implementations/derivables/event-bus-factory.d.ts +47 -0
- package/dist/types/event-bus/implementations/{event-bus → derivables}/event-bus.d.ts +8 -7
- package/dist/types/serializer/contracts/_module.d.ts +1 -0
- package/dist/types/serializer/contracts/serializer.contract.d.ts +0 -18
- package/dist/types/serializer/contracts/serializer.errors.d.ts +21 -0
- package/dist/types/utilities/_module.d.ts +1 -0
- package/dist/types/utilities/global-errors.d.ts +12 -0
- package/dist/types/utilities/time-span/time-span.d.ts +2 -0
- package/package.json +12 -2
- package/dist/cjs/event-bus/contracts/event-bus-manager.contract.js.map +0 -1
- package/dist/cjs/event-bus/implementations/event-bus/_module.js.map +0 -1
- package/dist/cjs/event-bus/implementations/event-bus/event-bus-manager.js +0 -31
- package/dist/cjs/event-bus/implementations/event-bus/event-bus-manager.js.map +0 -1
- package/dist/cjs/event-bus/implementations/event-bus/event-bus.js.map +0 -1
- package/dist/cjs/event-bus/implementations/event-bus/with-namespace-event-bus-adapter.js.map +0 -1
- package/dist/cjs/event-bus/implementations/event-bus/with-validation-event-bus-adapter.js.map +0 -1
- package/dist/cjs/event-bus/implementations/memory-event-bus-adapter/_module.js.map +0 -1
- package/dist/cjs/event-bus/implementations/memory-event-bus-adapter/memory-event-bus-adapter.js.map +0 -1
- package/dist/cjs/event-bus/implementations/no-op-event-bus-adapter/_module.js.map +0 -1
- package/dist/cjs/event-bus/implementations/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +0 -1
- package/dist/cjs/event-bus/implementations/redis-event-bus-adapter/_module.js.map +0 -1
- package/dist/cjs/event-bus/implementations/redis-event-bus-adapter/redis-event-bus-adapter.js.map +0 -1
- package/dist/cjs/storage/contracts/_module.js +0 -22
- package/dist/cjs/storage/contracts/_module.js.map +0 -1
- package/dist/cjs/storage/contracts/_shared.js +0 -32
- package/dist/cjs/storage/contracts/_shared.js.map +0 -1
- package/dist/cjs/storage/contracts/storage-adapter.contract.js.map +0 -1
- package/dist/cjs/storage/contracts/storage-events.contract.js +0 -14
- package/dist/cjs/storage/contracts/storage-events.contract.js.map +0 -1
- package/dist/cjs/storage/contracts/storage-manager.contract.js.map +0 -1
- package/dist/cjs/storage/contracts/storage.contract.js.map +0 -1
- package/dist/cjs/storage/implementations/_module.js +0 -23
- 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 -298
- package/dist/cjs/storage/implementations/_shared/test-utilities/storage-adapter.test-suite.js.map +0 -1
- package/dist/cjs/storage/implementations/memory-storage-adapter/_module.js.map +0 -1
- package/dist/cjs/storage/implementations/memory-storage-adapter/memory-storage-adapter.js +0 -85
- package/dist/cjs/storage/implementations/memory-storage-adapter/memory-storage-adapter.js.map +0 -1
- package/dist/cjs/storage/implementations/mongodb-storage-adapter/_module.js +0 -6
- package/dist/cjs/storage/implementations/mongodb-storage-adapter/_module.js.map +0 -1
- package/dist/cjs/storage/implementations/mongodb-storage-adapter/mongodb-storage-adapter.js +0 -203
- package/dist/cjs/storage/implementations/mongodb-storage-adapter/mongodb-storage-adapter.js.map +0 -1
- package/dist/cjs/storage/implementations/redis-storage-adapter/_module.js.map +0 -1
- package/dist/cjs/storage/implementations/redis-storage-adapter/redis-storage-adapter.js +0 -228
- package/dist/cjs/storage/implementations/redis-storage-adapter/redis-storage-adapter.js.map +0 -1
- package/dist/cjs/storage/implementations/sqlite/_module.js +0 -19
- package/dist/cjs/storage/implementations/sqlite/_module.js.map +0 -1
- package/dist/cjs/storage/implementations/sqlite/_shared/_module.js +0 -18
- package/dist/cjs/storage/implementations/sqlite/_shared/_module.js.map +0 -1
- package/dist/cjs/storage/implementations/sqlite/_shared/base-sqlite-storage-adapter.js +0 -190
- package/dist/cjs/storage/implementations/sqlite/_shared/base-sqlite-storage-adapter.js.map +0 -1
- package/dist/cjs/storage/implementations/sqlite/libsql-storage-adapter/_module.js +0 -18
- package/dist/cjs/storage/implementations/sqlite/libsql-storage-adapter/_module.js.map +0 -1
- package/dist/cjs/storage/implementations/sqlite/libsql-storage-adapter/libsql-storage-adapter.js +0 -53
- package/dist/cjs/storage/implementations/sqlite/libsql-storage-adapter/libsql-storage-adapter.js.map +0 -1
- package/dist/cjs/storage/implementations/sqlite/sqlite-storage-adapter/_module.js +0 -18
- package/dist/cjs/storage/implementations/sqlite/sqlite-storage-adapter/_module.js.map +0 -1
- package/dist/cjs/storage/implementations/sqlite/sqlite-storage-adapter/sqlite-storage-adapter.js +0 -52
- package/dist/cjs/storage/implementations/sqlite/sqlite-storage-adapter/sqlite-storage-adapter.js.map +0 -1
- package/dist/cjs/storage/implementations/storage/_module.js +0 -19
- package/dist/cjs/storage/implementations/storage/_module.js.map +0 -1
- package/dist/cjs/storage/implementations/storage/storage-manager.js +0 -34
- package/dist/cjs/storage/implementations/storage/storage-manager.js.map +0 -1
- package/dist/cjs/storage/implementations/storage/storage.js +0 -265
- package/dist/cjs/storage/implementations/storage/storage.js.map +0 -1
- package/dist/cjs/storage/implementations/storage/with-event-storage-adapter.js +0 -255
- package/dist/cjs/storage/implementations/storage/with-event-storage-adapter.js.map +0 -1
- package/dist/cjs/storage/implementations/storage/with-namespace-storage-adapter.js +0 -53
- package/dist/cjs/storage/implementations/storage/with-namespace-storage-adapter.js.map +0 -1
- package/dist/cjs/storage/implementations/storage/with-validation-storage-adapter.js +0 -48
- package/dist/cjs/storage/implementations/storage/with-validation-storage-adapter.js.map +0 -1
- package/dist/esm/event-bus/contracts/event-bus-manager.contract.js +0 -1
- package/dist/esm/event-bus/contracts/event-bus-manager.contract.js.map +0 -1
- package/dist/esm/event-bus/implementations/event-bus/_module.js +0 -3
- package/dist/esm/event-bus/implementations/event-bus/_module.js.map +0 -1
- package/dist/esm/event-bus/implementations/event-bus/event-bus-manager.js +0 -27
- package/dist/esm/event-bus/implementations/event-bus/event-bus-manager.js.map +0 -1
- package/dist/esm/event-bus/implementations/event-bus/event-bus.js.map +0 -1
- package/dist/esm/event-bus/implementations/event-bus/with-namespace-event-bus-adapter.js.map +0 -1
- package/dist/esm/event-bus/implementations/event-bus/with-validation-event-bus-adapter.js.map +0 -1
- package/dist/esm/event-bus/implementations/memory-event-bus-adapter/_module.js +0 -2
- package/dist/esm/event-bus/implementations/memory-event-bus-adapter/_module.js.map +0 -1
- package/dist/esm/event-bus/implementations/memory-event-bus-adapter/memory-event-bus-adapter.js.map +0 -1
- package/dist/esm/event-bus/implementations/no-op-event-bus-adapter/_module.js +0 -2
- package/dist/esm/event-bus/implementations/no-op-event-bus-adapter/_module.js.map +0 -1
- package/dist/esm/event-bus/implementations/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +0 -1
- package/dist/esm/event-bus/implementations/redis-event-bus-adapter/_module.js +0 -2
- package/dist/esm/event-bus/implementations/redis-event-bus-adapter/_module.js.map +0 -1
- package/dist/esm/event-bus/implementations/redis-event-bus-adapter/redis-event-bus-adapter.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/_shared.js +0 -25
- package/dist/esm/storage/contracts/_shared.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-events.contract.js +0 -11
- package/dist/esm/storage/contracts/storage-events.contract.js.map +0 -1
- package/dist/esm/storage/contracts/storage-manager.contract.js +0 -1
- package/dist/esm/storage/contracts/storage-manager.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/implementations/_module.js +0 -7
- 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 -295
- package/dist/esm/storage/implementations/_shared/test-utilities/storage-adapter.test-suite.js.map +0 -1
- package/dist/esm/storage/implementations/memory-storage-adapter/_module.js +0 -2
- package/dist/esm/storage/implementations/memory-storage-adapter/_module.js.map +0 -1
- package/dist/esm/storage/implementations/memory-storage-adapter/memory-storage-adapter.js +0 -81
- package/dist/esm/storage/implementations/memory-storage-adapter/memory-storage-adapter.js.map +0 -1
- package/dist/esm/storage/implementations/mongodb-storage-adapter/_module.js +0 -2
- package/dist/esm/storage/implementations/mongodb-storage-adapter/_module.js.map +0 -1
- package/dist/esm/storage/implementations/mongodb-storage-adapter/mongodb-storage-adapter.js +0 -196
- package/dist/esm/storage/implementations/mongodb-storage-adapter/mongodb-storage-adapter.js.map +0 -1
- package/dist/esm/storage/implementations/redis-storage-adapter/_module.js +0 -2
- package/dist/esm/storage/implementations/redis-storage-adapter/_module.js.map +0 -1
- package/dist/esm/storage/implementations/redis-storage-adapter/redis-storage-adapter.js +0 -224
- package/dist/esm/storage/implementations/redis-storage-adapter/redis-storage-adapter.js.map +0 -1
- package/dist/esm/storage/implementations/sqlite/_module.js +0 -3
- package/dist/esm/storage/implementations/sqlite/_module.js.map +0 -1
- package/dist/esm/storage/implementations/sqlite/_shared/_module.js +0 -2
- package/dist/esm/storage/implementations/sqlite/_shared/_module.js.map +0 -1
- package/dist/esm/storage/implementations/sqlite/_shared/base-sqlite-storage-adapter.js +0 -186
- package/dist/esm/storage/implementations/sqlite/_shared/base-sqlite-storage-adapter.js.map +0 -1
- package/dist/esm/storage/implementations/sqlite/libsql-storage-adapter/_module.js +0 -2
- package/dist/esm/storage/implementations/sqlite/libsql-storage-adapter/_module.js.map +0 -1
- package/dist/esm/storage/implementations/sqlite/libsql-storage-adapter/libsql-storage-adapter.js +0 -49
- package/dist/esm/storage/implementations/sqlite/libsql-storage-adapter/libsql-storage-adapter.js.map +0 -1
- package/dist/esm/storage/implementations/sqlite/sqlite-storage-adapter/_module.js +0 -2
- package/dist/esm/storage/implementations/sqlite/sqlite-storage-adapter/_module.js.map +0 -1
- package/dist/esm/storage/implementations/sqlite/sqlite-storage-adapter/sqlite-storage-adapter.js +0 -48
- package/dist/esm/storage/implementations/sqlite/sqlite-storage-adapter/sqlite-storage-adapter.js.map +0 -1
- package/dist/esm/storage/implementations/storage/_module.js +0 -3
- package/dist/esm/storage/implementations/storage/_module.js.map +0 -1
- package/dist/esm/storage/implementations/storage/storage-manager.js +0 -30
- package/dist/esm/storage/implementations/storage/storage-manager.js.map +0 -1
- package/dist/esm/storage/implementations/storage/storage.js +0 -261
- package/dist/esm/storage/implementations/storage/storage.js.map +0 -1
- package/dist/esm/storage/implementations/storage/with-event-storage-adapter.js +0 -251
- package/dist/esm/storage/implementations/storage/with-event-storage-adapter.js.map +0 -1
- package/dist/esm/storage/implementations/storage/with-namespace-storage-adapter.js +0 -49
- package/dist/esm/storage/implementations/storage/with-namespace-storage-adapter.js.map +0 -1
- package/dist/esm/storage/implementations/storage/with-validation-storage-adapter.js +0 -44
- package/dist/esm/storage/implementations/storage/with-validation-storage-adapter.js.map +0 -1
- package/dist/types/event-bus/contracts/event-bus-manager.contract.d.ts +0 -120
- package/dist/types/event-bus/implementations/event-bus/_module.d.ts +0 -2
- package/dist/types/event-bus/implementations/event-bus/event-bus-manager.d.ts +0 -26
- package/dist/types/event-bus/implementations/memory-event-bus-adapter/_module.d.ts +0 -1
- package/dist/types/event-bus/implementations/no-op-event-bus-adapter/_module.d.ts +0 -1
- package/dist/types/event-bus/implementations/redis-event-bus-adapter/_module.d.ts +0 -1
- package/dist/types/storage/contracts/_module.d.ts +0 -5
- package/dist/types/storage/contracts/storage-adapter.contract.d.ts +0 -41
- package/dist/types/storage/contracts/storage-events.contract.d.ts +0 -91
- package/dist/types/storage/contracts/storage-manager.contract.d.ts +0 -100
- package/dist/types/storage/contracts/storage.contract.d.ts +0 -185
- package/dist/types/storage/implementations/_module.d.ts +0 -6
- 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/memory-storage-adapter/_module.d.ts +0 -1
- package/dist/types/storage/implementations/memory-storage-adapter/memory-storage-adapter.d.ts +0 -18
- package/dist/types/storage/implementations/mongodb-storage-adapter/_module.d.ts +0 -1
- package/dist/types/storage/implementations/mongodb-storage-adapter/mongodb-storage-adapter.d.ts +0 -43
- package/dist/types/storage/implementations/redis-storage-adapter/_module.d.ts +0 -1
- package/dist/types/storage/implementations/redis-storage-adapter/redis-storage-adapter.d.ts +0 -38
- package/dist/types/storage/implementations/sqlite/_module.d.ts +0 -2
- package/dist/types/storage/implementations/sqlite/_shared/_module.d.ts +0 -1
- package/dist/types/storage/implementations/sqlite/_shared/base-sqlite-storage-adapter.d.ts +0 -39
- package/dist/types/storage/implementations/sqlite/libsql-storage-adapter/_module.d.ts +0 -1
- package/dist/types/storage/implementations/sqlite/libsql-storage-adapter/libsql-storage-adapter.d.ts +0 -30
- package/dist/types/storage/implementations/sqlite/sqlite-storage-adapter/_module.d.ts +0 -1
- package/dist/types/storage/implementations/sqlite/sqlite-storage-adapter/sqlite-storage-adapter.d.ts +0 -30
- package/dist/types/storage/implementations/storage/_module.d.ts +0 -2
- package/dist/types/storage/implementations/storage/storage-manager.d.ts +0 -29
- package/dist/types/storage/implementations/storage/storage.d.ts +0 -114
- package/dist/types/storage/implementations/storage/with-event-storage-adapter.d.ts +0 -31
- package/dist/types/storage/implementations/storage/with-namespace-storage-adapter.d.ts +0 -24
- package/dist/types/storage/implementations/storage/with-validation-storage-adapter.d.ts +0 -22
- /package/dist/cjs/event-bus/implementations/{memory-event-bus-adapter → adapters/memory-event-bus-adapter}/memory-event-bus-adapter.js +0 -0
- /package/dist/cjs/event-bus/implementations/{no-op-event-bus-adapter → adapters/no-op-event-bus-adapter}/no-op-event-bus-adapter.js +0 -0
- /package/dist/cjs/event-bus/implementations/{event-bus → derivables}/with-validation-event-bus-adapter.js +0 -0
- /package/dist/esm/event-bus/implementations/{memory-event-bus-adapter → adapters/memory-event-bus-adapter}/memory-event-bus-adapter.js +0 -0
- /package/dist/esm/event-bus/implementations/{no-op-event-bus-adapter → adapters/no-op-event-bus-adapter}/no-op-event-bus-adapter.js +0 -0
- /package/dist/esm/event-bus/implementations/{event-bus → derivables}/with-validation-event-bus-adapter.js +0 -0
- /package/dist/types/event-bus/implementations/{event-bus → derivables}/with-namespace-event-bus-adapter.d.ts +0 -0
- /package/dist/types/event-bus/implementations/{event-bus → derivables}/with-validation-event-bus-adapter.d.ts +0 -0
package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Cache
|
|
3
|
+
*/
|
|
4
|
+
import type { IDeinitizable, IInitizable } from "../../../../_shared/types";
|
|
5
|
+
import { type ICacheAdapter } from "../../../../cache/contracts/cache-adapter.contract";
|
|
6
|
+
import type { ISerializer } from "../../../../serializer/contracts/_module";
|
|
7
|
+
import type { TimeSpan } from "../../../../utilities/_module";
|
|
8
|
+
import { type Database } from "better-sqlite3";
|
|
9
|
+
/**
|
|
10
|
+
* @group Adapters
|
|
11
|
+
*/
|
|
12
|
+
export type SqliteStorageAdapterSettings = {
|
|
13
|
+
tableName?: string;
|
|
14
|
+
serializer?: ISerializer<string>;
|
|
15
|
+
enableTransactions?: boolean;
|
|
16
|
+
expiredKeysRemovalInterval?: TimeSpan;
|
|
17
|
+
shouldRemoveExpiredKeys?: boolean;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* @group Adapters
|
|
21
|
+
*/
|
|
22
|
+
export declare class SqliteCacheAdapter<TType> implements ICacheAdapter<TType>, IInitizable, IDeinitizable {
|
|
23
|
+
private readonly cacheAdapter;
|
|
24
|
+
constructor(database: Database, settings: SqliteStorageAdapterSettings);
|
|
25
|
+
removeExpiredKeys(): Promise<void>;
|
|
26
|
+
deInit(): Promise<void>;
|
|
27
|
+
init(): Promise<void>;
|
|
28
|
+
get(key: string): Promise<TType | null>;
|
|
29
|
+
add(key: string, value: TType, ttl: TimeSpan | null): Promise<boolean>;
|
|
30
|
+
update(key: string, value: TType): Promise<boolean>;
|
|
31
|
+
put(key: string, value: TType, ttl: TimeSpan | null): Promise<boolean>;
|
|
32
|
+
remove(key: string): Promise<boolean>;
|
|
33
|
+
increment(key: string, value: number): Promise<boolean>;
|
|
34
|
+
clear(prefix: string): Promise<void>;
|
|
35
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Cache
|
|
3
|
+
*/
|
|
4
|
+
import type { CacheEventNames, WithTtlValue } from "../../../cache/contracts/_module";
|
|
5
|
+
import { type ICache } from "../../../cache/contracts/_module";
|
|
6
|
+
import { type INamespacedCache, type AllCacheEvents } from "../../../cache/contracts/_module";
|
|
7
|
+
import type { OneOrMore } from "../../../_shared/types";
|
|
8
|
+
import { type AsyncLazyable, type GetOrAddValue } from "../../../_shared/types";
|
|
9
|
+
import type { TimeSpan } from "../../../utilities/_module";
|
|
10
|
+
import { LazyPromise } from "../../../utilities/_module";
|
|
11
|
+
import type { Listener, SelectEvent, Unsubscribe, INamespacedEventBus } from "../../../event-bus/contracts/_module";
|
|
12
|
+
/**
|
|
13
|
+
* @group Derivables
|
|
14
|
+
*/
|
|
15
|
+
export type BaseCacheSettings<TType> = {
|
|
16
|
+
namespace: string;
|
|
17
|
+
eventBus: INamespacedEventBus<AllCacheEvents<TType>>;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* The BaseCache class serves as an abstract base class that provides implementations for redundant methods.
|
|
21
|
+
* It simplifies implementing the {@link INamespacedCache} interface without using an {@link ICacheAdapter}.
|
|
22
|
+
* @group Derivables
|
|
23
|
+
*/
|
|
24
|
+
export declare abstract class BaseCache<TType = unknown> implements INamespacedCache<TType> {
|
|
25
|
+
private readonly listenable;
|
|
26
|
+
constructor(settings: BaseCacheSettings<TType>);
|
|
27
|
+
addListener<TEventType extends CacheEventNames>(event: TEventType, listener: Listener<SelectEvent<AllCacheEvents<TType>, TEventType>>): LazyPromise<void>;
|
|
28
|
+
addListenerMany<TEventType extends CacheEventNames>(events: TEventType[], listener: Listener<SelectEvent<AllCacheEvents<TType>, TEventType>>): LazyPromise<void>;
|
|
29
|
+
removeListener<TEventType extends CacheEventNames>(event: TEventType, listener: Listener<SelectEvent<AllCacheEvents<TType>, TEventType>>): LazyPromise<void>;
|
|
30
|
+
removeListenerMany<TEventType extends CacheEventNames>(events: TEventType[], listener: Listener<SelectEvent<AllCacheEvents<TType>, TEventType>>): LazyPromise<void>;
|
|
31
|
+
subscribe<TEventType extends CacheEventNames>(event: TEventType, listener: Listener<SelectEvent<AllCacheEvents<TType>, TEventType>>): LazyPromise<Unsubscribe>;
|
|
32
|
+
subscribeMany<TEventType extends CacheEventNames>(events: TEventType[], listener: Listener<SelectEvent<AllCacheEvents<TType>, TEventType>>): LazyPromise<Unsubscribe>;
|
|
33
|
+
abstract withNamespace(namespace: OneOrMore<string>): ICache<TType>;
|
|
34
|
+
abstract getNamespace(): string;
|
|
35
|
+
exists(key: string): LazyPromise<boolean>;
|
|
36
|
+
existsMany<TKeys extends string>(keys: TKeys[]): LazyPromise<Record<TKeys, boolean>>;
|
|
37
|
+
missing(key: string): LazyPromise<boolean>;
|
|
38
|
+
missingMany<TKeys extends string>(keys: TKeys[]): LazyPromise<Record<TKeys, boolean>>;
|
|
39
|
+
abstract get(key: string): LazyPromise<TType | null>;
|
|
40
|
+
getMany<TKeys extends string>(keys: TKeys[]): LazyPromise<Record<TKeys, TType | null>>;
|
|
41
|
+
getOr(key: string, defaultValue: AsyncLazyable<TType>): LazyPromise<TType>;
|
|
42
|
+
getOrMany<TKeys extends string>(keysWithDefaults: Record<TKeys, AsyncLazyable<TType>>): LazyPromise<Record<TKeys, TType>>;
|
|
43
|
+
getOrFail(key: string): LazyPromise<TType>;
|
|
44
|
+
abstract add(key: string, value: TType, ttl?: TimeSpan | null): LazyPromise<boolean>;
|
|
45
|
+
addMany<TKeys extends string>(values: Record<TKeys, WithTtlValue<TType>>): LazyPromise<Record<TKeys, boolean>>;
|
|
46
|
+
abstract update(key: string, value: TType): LazyPromise<boolean>;
|
|
47
|
+
updateMany<TKeys extends string>(values: Record<TKeys, TType>): LazyPromise<Record<TKeys, boolean>>;
|
|
48
|
+
abstract put(key: string, value: TType, ttl?: TimeSpan | null): LazyPromise<boolean>;
|
|
49
|
+
putMany<TKeys extends string>(values: Record<TKeys, WithTtlValue<TType>>): LazyPromise<Record<TKeys, boolean>>;
|
|
50
|
+
abstract remove(key: string): LazyPromise<boolean>;
|
|
51
|
+
removeMany<TKeys extends string>(keys: TKeys[]): LazyPromise<Record<TKeys, boolean>>;
|
|
52
|
+
getAndRemove(key: string): LazyPromise<TType | null>;
|
|
53
|
+
getOrAdd(key: string, valueToAdd: AsyncLazyable<GetOrAddValue<TType>>, ttl?: TimeSpan): LazyPromise<TType>;
|
|
54
|
+
abstract increment(key: string, value?: Extract<TType, number>): LazyPromise<boolean>;
|
|
55
|
+
decrement(key: string, value?: Extract<TType, number>): LazyPromise<boolean>;
|
|
56
|
+
abstract clear(): LazyPromise<void>;
|
|
57
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Cache
|
|
3
|
+
*/
|
|
4
|
+
import type { INamespacedEventBus } from "../../../event-bus/contracts/_module";
|
|
5
|
+
import type { ICacheFactory, INamespacedCache, ICacheAdapter } from "../../../cache/contracts/_module";
|
|
6
|
+
import type { TimeSpan } from "../../../utilities/_module";
|
|
7
|
+
/**
|
|
8
|
+
* @group Derivables
|
|
9
|
+
*/
|
|
10
|
+
export type CacheDrivers<TDrivers extends string> = Partial<Record<TDrivers, ICacheAdapter<any>>>;
|
|
11
|
+
/**
|
|
12
|
+
* @group Derivables
|
|
13
|
+
*/
|
|
14
|
+
export type CacheFactorySettings<TDrivers extends string = string> = {
|
|
15
|
+
drivers: CacheDrivers<TDrivers>;
|
|
16
|
+
defaultDriver?: NoInfer<TDrivers>;
|
|
17
|
+
/**
|
|
18
|
+
* You can decide the default ttl value. If null is passed then no ttl will be used by default.
|
|
19
|
+
*/
|
|
20
|
+
defaultTtl?: TimeSpan;
|
|
21
|
+
/**
|
|
22
|
+
* In order to listen to events of <i>{@link Cache}</i> class you must pass in <i>{@link INamespacedEventBus}</i>.
|
|
23
|
+
*/
|
|
24
|
+
eventBus?: INamespacedEventBus<any>;
|
|
25
|
+
/**
|
|
26
|
+
* You can prefix all keys with a given <i>rootNamespace</i>.
|
|
27
|
+
*/
|
|
28
|
+
rootNamespace?: string;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* @group Derivables
|
|
32
|
+
* @example
|
|
33
|
+
* ```ts
|
|
34
|
+
* import { CacheFactory } from "@daiso-tech/core";
|
|
35
|
+
* import Redis from "ioredis"
|
|
36
|
+
*
|
|
37
|
+
* const cacheFactory = new CacheFactory({
|
|
38
|
+
* drivers: {
|
|
39
|
+
* memory: new MemoryCacheAdapter(),
|
|
40
|
+
* redis: new RedisCacheAdapter(new Redis()),
|
|
41
|
+
* },
|
|
42
|
+
* defaultDriver: "memory",
|
|
43
|
+
* rootNamespace: "@events"
|
|
44
|
+
* });
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare class CacheFactory<TDrivers extends string = string, TType = unknown> implements ICacheFactory<TDrivers, TType> {
|
|
48
|
+
private readonly rootNamespace?;
|
|
49
|
+
private readonly drivers;
|
|
50
|
+
private readonly defaultDriver?;
|
|
51
|
+
private readonly eventBus?;
|
|
52
|
+
private defaultTtl;
|
|
53
|
+
constructor(settings: CacheFactorySettings<TDrivers>);
|
|
54
|
+
use(driverName?: TDrivers | undefined): INamespacedCache<TType>;
|
|
55
|
+
withType<TOutput extends TType = TType>(): ICacheFactory<TDrivers, TOutput>;
|
|
56
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Cache
|
|
3
|
+
*/
|
|
4
|
+
import { type ICache, type ICacheAdapter } from "../../../cache/contracts/_module";
|
|
5
|
+
import { type INamespacedCache, type AllCacheEvents } from "../../../cache/contracts/_module";
|
|
6
|
+
import type { OneOrMore } from "../../../_shared/types";
|
|
7
|
+
import type { TimeSpan } from "../../../utilities/_module";
|
|
8
|
+
import { LazyPromise } from "../../../utilities/_module";
|
|
9
|
+
import type { INamespacedEventBus } from "../../../event-bus/contracts/_module";
|
|
10
|
+
import { BaseCache } from "../../../cache/implementations/derivables/base-cache";
|
|
11
|
+
/**
|
|
12
|
+
* @group Derivables
|
|
13
|
+
*/
|
|
14
|
+
export type CacheSettings<TType> = {
|
|
15
|
+
/**
|
|
16
|
+
* You can prefix all keys with a given <i>rootNamespace</i>.
|
|
17
|
+
* This useful if you want to add multitenancy but still use the same database.
|
|
18
|
+
* @default {""}
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* import { Cache, MemoryCacheAdapter } from "@daiso-tech/core";
|
|
22
|
+
*
|
|
23
|
+
* const memoryCacheAdapter = new MemoryCacheAdapter();
|
|
24
|
+
* const cacheA = new Cache(memoryCacheAdapter, {
|
|
25
|
+
* rootNamespace: "@a"
|
|
26
|
+
* });
|
|
27
|
+
* const cacheB = new Cache(memoryCacheAdapter, {
|
|
28
|
+
* rootNamespace: "@b"
|
|
29
|
+
* });
|
|
30
|
+
*
|
|
31
|
+
* (async () => {
|
|
32
|
+
* await cacheA.add("a", 1);
|
|
33
|
+
*
|
|
34
|
+
* // Will be "a"
|
|
35
|
+
* console.log(await cacheA.get("a"));
|
|
36
|
+
*
|
|
37
|
+
* // Will be "null"
|
|
38
|
+
* console.log(await cacheB.get("a"));
|
|
39
|
+
* })();
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
rootNamespace?: OneOrMore<string>;
|
|
43
|
+
/**
|
|
44
|
+
* In order to listen to events of <i>{@link Cache}</i> class you must pass in <i>{@link INamespacedEventBus}</i>.
|
|
45
|
+
*/
|
|
46
|
+
eventBus?: INamespacedEventBus<AllCacheEvents<TType>>;
|
|
47
|
+
/**
|
|
48
|
+
* You can decide the default ttl value. If null is passed then no ttl will be used by default.
|
|
49
|
+
*/
|
|
50
|
+
defaultTtl?: TimeSpan | null;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* <i>Cache</i> class can be derived from any <i>{@link ICacheAdapter}</i>.
|
|
54
|
+
* @group Derivables
|
|
55
|
+
* @example
|
|
56
|
+
* ```ts
|
|
57
|
+
* import { Cache, MemoryCacheAdapter } from "@daiso-tech/core";
|
|
58
|
+
*
|
|
59
|
+
* const cache = new Cache(new MemoryCacheAdapter());
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare class Cache<TType = unknown> extends BaseCache<TType> implements INamespacedCache<TType> {
|
|
63
|
+
private readonly namespace;
|
|
64
|
+
private readonly namespacedEventBus;
|
|
65
|
+
private readonly eventBus;
|
|
66
|
+
private readonly cacheAdapter;
|
|
67
|
+
private readonly eventAttributes;
|
|
68
|
+
private readonly defaultTtl;
|
|
69
|
+
constructor(cacheAdapter: ICacheAdapter<any>, settings?: CacheSettings<TType>);
|
|
70
|
+
private createKeyFoundEvent;
|
|
71
|
+
private createKeyNotFoundEvent;
|
|
72
|
+
private createKeyAddedEvent;
|
|
73
|
+
private createKeyUpdatedEvent;
|
|
74
|
+
private createKeyRemovedEvent;
|
|
75
|
+
private createKeysClearedEvent;
|
|
76
|
+
private createKeyIncrementedEvent;
|
|
77
|
+
private createKeyDecrementedEvent;
|
|
78
|
+
private keyWithNamespace;
|
|
79
|
+
withNamespace(namespace: OneOrMore<string>): ICache<TType>;
|
|
80
|
+
getNamespace(): string;
|
|
81
|
+
get(key: string): LazyPromise<TType | null>;
|
|
82
|
+
add(key: string, value: TType, ttl?: TimeSpan | null): LazyPromise<boolean>;
|
|
83
|
+
update(key: string, value: TType): LazyPromise<boolean>;
|
|
84
|
+
put(key: string, value: TType, ttl?: TimeSpan | null): LazyPromise<boolean>;
|
|
85
|
+
remove(key: string): LazyPromise<boolean>;
|
|
86
|
+
increment(key: string, value?: Extract<TType, number>): LazyPromise<boolean>;
|
|
87
|
+
clear(): LazyPromise<void>;
|
|
88
|
+
}
|
package/dist/types/collection/implementations/iterable-collection/_shared/cross-join-iterable.d.ts
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
* @module Collection
|
|
3
3
|
*/
|
|
4
4
|
import type { CrossJoinResult, ICollection } from "../../../../collection/contracts/_module";
|
|
5
|
+
/**
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
5
8
|
export declare class CrossJoinIterable<TInput, TExtended = TInput> implements Iterable<CrossJoinResult<TInput, TExtended>> {
|
|
6
9
|
private collection;
|
|
7
10
|
private iterable;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export * from "../../event-bus/contracts/_shared";
|
|
2
|
+
export * from "../../event-bus/contracts/event-bus.errors";
|
|
2
3
|
export * from "../../event-bus/contracts/event-bus.contract";
|
|
3
4
|
export * from "../../event-bus/contracts/event-bus-adapter.contract";
|
|
4
|
-
export * from "../../event-bus/contracts/event-bus-
|
|
5
|
+
export * from "../../event-bus/contracts/event-bus-factory.contract";
|
|
@@ -6,33 +6,3 @@ export type IBaseEvent = {
|
|
|
6
6
|
type: string;
|
|
7
7
|
};
|
|
8
8
|
export type Listener<TEvent extends IBaseEvent> = (event: TEvent) => Promisable<void>;
|
|
9
|
-
/**
|
|
10
|
-
* @group Errors
|
|
11
|
-
*/
|
|
12
|
-
export declare class EventBusError extends Error {
|
|
13
|
-
constructor(message: string, cause?: unknown);
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* @group Errors
|
|
17
|
-
*/
|
|
18
|
-
export declare class UnexpectedEventBusError extends EventBusError {
|
|
19
|
-
constructor(message: string, cause?: unknown);
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* @group Errors
|
|
23
|
-
*/
|
|
24
|
-
export declare class RemoveListenerEventBusError extends Error {
|
|
25
|
-
constructor(message: string, cause?: unknown);
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* @group Errors
|
|
29
|
-
*/
|
|
30
|
-
export declare class AddListenerEventBusError extends Error {
|
|
31
|
-
constructor(message: string, cause?: unknown);
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* @group Errors
|
|
35
|
-
*/
|
|
36
|
-
export declare class DispatchEventBusError extends Error {
|
|
37
|
-
constructor(message: string, cause?: unknown);
|
|
38
|
-
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module EventBus
|
|
3
|
+
*/
|
|
4
|
+
import type { Validator } from "../../utilities/_module";
|
|
5
|
+
import type { INamespacedEventBus } from "../../event-bus/contracts/event-bus.contract";
|
|
6
|
+
import type { IBaseEvent } from "../../event-bus/contracts/_shared";
|
|
7
|
+
/**
|
|
8
|
+
* The <i>IEventBusFactory</i> contract makes it easy to configure and switch between different <i>{@link INamespacedEventBus}</i> dynamically.
|
|
9
|
+
* @group Contracts
|
|
10
|
+
*/
|
|
11
|
+
export type IEventBusFactory<TDrivers extends string = string, TEvents extends IBaseEvent = IBaseEvent> = {
|
|
12
|
+
/**
|
|
13
|
+
* The <i>use</i> method will throw an error if you provide it unregisted driver.
|
|
14
|
+
* If no default driver is defined an error will be thrown by <i>use</i> method.
|
|
15
|
+
* @throws {UnregisteredDriverError} {@link UnregisteredDriverError}
|
|
16
|
+
* @throws {DefaultDriverNotDefinedError} {@link DefaultDriverNotDefinedError}
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* import { type IEventBusFactory } from "@daiso-tech/core";
|
|
20
|
+
*
|
|
21
|
+
* async function main(eventFactory: IEventBusFactory): Promise<void> {
|
|
22
|
+
* // Will dispatch envent using the default driver
|
|
23
|
+
* await eventBusFactory
|
|
24
|
+
* .use()
|
|
25
|
+
* .dispatch({ type: "add", a: 1, b: 2 });
|
|
26
|
+
* // Will dispatch envent using the redis addapter
|
|
27
|
+
* await eventBusFactory
|
|
28
|
+
* .use("redis")
|
|
29
|
+
* .dispatch({ type: "add", a: 1, b: 2 });
|
|
30
|
+
* }
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
use(driverName?: TDrivers): INamespacedEventBus<TEvents>;
|
|
34
|
+
/**
|
|
35
|
+
* The <i>withValidation</i> method is used to set a <i>validator</i>, which validates the event during runtime.
|
|
36
|
+
* The type is inferred from the provided <i>validator</i>.
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* import { type IEventBusFactory, zodValidator } from "@daiso-tech/core";
|
|
40
|
+
* import { z } from "zod"
|
|
41
|
+
*
|
|
42
|
+
* async function main(eventBusFactory: IEventBusFactory): Promise<void> {
|
|
43
|
+
* const addEventSchema = z.zod({
|
|
44
|
+
* type: z.literal("add"),
|
|
45
|
+
* a: z.number(),
|
|
46
|
+
* b: z.number(),
|
|
47
|
+
* });
|
|
48
|
+
* await eventBusFactory
|
|
49
|
+
* .withValidation(zodValidator(addEventSchema))
|
|
50
|
+
* .use()
|
|
51
|
+
* // You will se an typescript error and get runtime erorr
|
|
52
|
+
* .dispatch({ type: "add" });
|
|
53
|
+
* }
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
withValidation<TOutput extends TEvents = TEvents>(validator: Validator<TOutput>): IEventBusFactory<TDrivers, TOutput>;
|
|
57
|
+
/**
|
|
58
|
+
* The <i>withTypes</i> method is used to set the event types of the <i>{@link IEventBus}</i>.
|
|
59
|
+
* @example
|
|
60
|
+
* ```ts
|
|
61
|
+
* import { type IEventBusFactory, zodValidator } from "@daiso-tech/core";
|
|
62
|
+
*
|
|
63
|
+
* async function main(eventBusFactory: IEventBusFactory): Promise<void> {
|
|
64
|
+
* type AddEvent = {
|
|
65
|
+
* type: "add";
|
|
66
|
+
* a: number;
|
|
67
|
+
* b: number;
|
|
68
|
+
* };
|
|
69
|
+
* await eventBusFactory
|
|
70
|
+
* .withTypes<AddEvent>()
|
|
71
|
+
* .use()
|
|
72
|
+
* // You will se an typescript error
|
|
73
|
+
* .dispatch({ type: "add" });
|
|
74
|
+
* }
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
withType<TOutput extends TEvents = TEvents>(): IEventBusFactory<TDrivers, TOutput>;
|
|
78
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module EventBus
|
|
3
3
|
*/
|
|
4
|
-
import type { LazyPromise } from "../../_module";
|
|
4
|
+
import type { LazyPromise } from "../../utilities/_module";
|
|
5
5
|
import type { OneOrMore } from "../../_shared/types";
|
|
6
6
|
import type { IBaseEvent, Listener } from "../../event-bus/contracts/_shared";
|
|
7
7
|
export type SelectEvent<TEvents extends IBaseEvent, TEventType extends TEvents["type"]> = Extract<TEvents, {
|
|
@@ -49,32 +49,38 @@ export type IListenable<TEvents extends IBaseEvent = IBaseEvent> = {
|
|
|
49
49
|
subscribeMany<TEventType extends TEvents["type"]>(events: TEventType[], listener: Listener<SelectEvent<TEvents, TEventType>>): LazyPromise<Unsubscribe>;
|
|
50
50
|
};
|
|
51
51
|
/**
|
|
52
|
-
* The <i>
|
|
53
|
-
* It commes with more convient methods compared to <i>IEventBusAdapter</i>.
|
|
52
|
+
* The <i>IDispatcher</i> contract defines a way for dispatching to events independent of underlying technology.
|
|
54
53
|
* @group Contracts
|
|
55
54
|
*/
|
|
56
|
-
export type
|
|
55
|
+
export type IDispatcher<TEvents extends IBaseEvent = IBaseEvent> = {
|
|
57
56
|
/**
|
|
58
57
|
* The <i>dispatch</i> method is used for dispatching one or multiple <i>events</i>.
|
|
59
58
|
|
|
60
59
|
* @throws {DispatchEventBusError} {@link DispatchEventBusError}
|
|
61
60
|
*/
|
|
62
61
|
dispatch(events: OneOrMore<TEvents>): LazyPromise<void>;
|
|
62
|
+
};
|
|
63
|
+
/**
|
|
64
|
+
* The <i>IEventBus</i> contract defines a way for dispatching and listening to events independent of underlying technology.
|
|
65
|
+
* It commes with more convient methods compared to <i>IEventBusAdapter</i>.
|
|
66
|
+
* @group Contracts
|
|
67
|
+
*/
|
|
68
|
+
export type IEventBus<TEvents extends IBaseEvent = IBaseEvent> = IListenable<TEvents> & IDispatcher<TEvents> & {
|
|
63
69
|
/**
|
|
64
|
-
* The <i>getNamespace</i> method
|
|
70
|
+
* The <i>getNamespace</i> method returns the complete namespace.
|
|
65
71
|
* @example
|
|
66
72
|
* ```ts
|
|
67
|
-
*
|
|
68
|
-
* rootNamespace: "@root/"
|
|
69
|
-
* });
|
|
73
|
+
* import { type IEventBus } from "@daiso-tech/core";
|
|
70
74
|
*
|
|
71
|
-
*
|
|
75
|
+
* async function main(eventBus: IEventBus): Promise<void> {
|
|
76
|
+
* // Will be "@root"
|
|
72
77
|
* console.log(eventBus.getNamespace())
|
|
73
78
|
*
|
|
74
|
-
* const eventBusA = eventBus.withNamespace("a
|
|
79
|
+
* const eventBusA = eventBus.withNamespace("a");
|
|
75
80
|
*
|
|
76
|
-
* // Will be "@root/a
|
|
81
|
+
* // Will be "@root/a"
|
|
77
82
|
* console.log(eventBusA.getNamespace())
|
|
83
|
+
* }
|
|
78
84
|
* ```
|
|
79
85
|
*/
|
|
80
86
|
getNamespace(): string;
|
|
@@ -90,11 +96,9 @@ export type INamespacedEventBus<TEvents extends IBaseEvent = IBaseEvent> = IEven
|
|
|
90
96
|
* This useful for multitennat applications.
|
|
91
97
|
* @example
|
|
92
98
|
* ```ts
|
|
93
|
-
* import {
|
|
94
|
-
*
|
|
95
|
-
* (async () => {
|
|
96
|
-
* const eventBus = new EventBus(new MemoryEventBusAdapter());
|
|
99
|
+
* import { type IEventBus } from "@daiso-tech/core";
|
|
97
100
|
*
|
|
101
|
+
* async function main(eventBus: IEventBus): Promise<void> {
|
|
98
102
|
* const eventBusA = eventBus.withNamespace("a");
|
|
99
103
|
* await eventBusA.subscribe("add", (event) => {
|
|
100
104
|
* // This will be logged
|
|
@@ -112,9 +116,8 @@ export type INamespacedEventBus<TEvents extends IBaseEvent = IBaseEvent> = IEven
|
|
|
112
116
|
* a: 1,
|
|
113
117
|
* b: 2
|
|
114
118
|
* })
|
|
115
|
-
* }
|
|
116
|
-
*
|
|
119
|
+
* }
|
|
117
120
|
* ```
|
|
118
121
|
*/
|
|
119
|
-
withNamespace(namespace: string): IEventBus<TEvents>;
|
|
122
|
+
withNamespace(namespace: OneOrMore<string>): IEventBus<TEvents>;
|
|
120
123
|
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module EventBus
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* @group Errors
|
|
6
|
+
*/
|
|
7
|
+
export declare class EventBusError extends Error {
|
|
8
|
+
constructor(message: string, cause?: unknown);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* @group Errors
|
|
12
|
+
*/
|
|
13
|
+
export declare class UnexpectedEventBusError extends EventBusError {
|
|
14
|
+
constructor(message: string, cause?: unknown);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* @group Errors
|
|
18
|
+
*/
|
|
19
|
+
export declare class RemoveListenerEventBusError extends Error {
|
|
20
|
+
constructor(message: string, cause?: unknown);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* @group Errors
|
|
24
|
+
*/
|
|
25
|
+
export declare class AddListenerEventBusError extends Error {
|
|
26
|
+
constructor(message: string, cause?: unknown);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* @group Errors
|
|
30
|
+
*/
|
|
31
|
+
export declare class DispatchEventBusError extends Error {
|
|
32
|
+
constructor(message: string, cause?: unknown);
|
|
33
|
+
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
1
|
export * from "../../event-bus/implementations/_shared/test-utilities/_module";
|
|
2
|
-
export * from "../../event-bus/implementations/
|
|
3
|
-
export * from "../../event-bus/implementations/
|
|
4
|
-
export * from "../../event-bus/implementations/redis-event-bus-adapter/_module";
|
|
5
|
-
export * from "../../event-bus/implementations/no-op-event-bus-adapter/_module";
|
|
2
|
+
export * from "../../event-bus/implementations/derivables/_module";
|
|
3
|
+
export * from "../../event-bus/implementations/adapters/_module";
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from "../../../event-bus/implementations/adapters/memory-event-bus-adapter/_module";
|
|
2
|
+
export * from "../../../event-bus/implementations/adapters/no-op-event-bus-adapter/_module";
|
|
3
|
+
export * from "../../../event-bus/implementations/adapters/redis-event-bus-adapter/_module";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../../../../event-bus/implementations/adapters/memory-event-bus-adapter/_module";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module EventBus
|
|
3
3
|
*/
|
|
4
|
-
import type { IBaseEvent, IEventBusAdapter, Listener } from "
|
|
4
|
+
import type { IBaseEvent, IEventBusAdapter, Listener } from "../../../../event-bus/contracts/_module";
|
|
5
5
|
import { EventEmitter } from "node:events";
|
|
6
6
|
/**
|
|
7
7
|
* @group Adapters
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../../../../event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module EventBus
|
|
3
3
|
*/
|
|
4
|
-
import type { Listener, IBaseEvent } from "
|
|
5
|
-
import type { IEventBusAdapter } from "
|
|
4
|
+
import type { Listener, IBaseEvent } from "../../../../event-bus/contracts/_module";
|
|
5
|
+
import type { IEventBusAdapter } from "../../../../event-bus/contracts/_module";
|
|
6
6
|
/**
|
|
7
|
-
* This <i>NoOpEventBusAdapter</i> will do nothing and is used for easily mocking IEventBus for testing.
|
|
7
|
+
* This <i>NoOpEventBusAdapter</i> will do nothing and is used for easily mocking {@link IEventBus} for testing.
|
|
8
8
|
* @group Adapters
|
|
9
9
|
*/
|
|
10
10
|
export declare class NoOpEventBusAdapter implements IEventBusAdapter {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "../../../../event-bus/implementations/adapters/memory-event-bus-adapter/_module";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module EventBus
|
|
3
3
|
*/
|
|
4
|
-
import { type ISerializer } from "
|
|
5
|
-
import type { IBaseEvent, IEventBusAdapter, Listener } from "
|
|
4
|
+
import { type ISerializer } from "../../../../serializer/contracts/_module";
|
|
5
|
+
import type { IBaseEvent, IEventBusAdapter, Listener } from "../../../../event-bus/contracts/_module";
|
|
6
6
|
import type Redis from "ioredis";
|
|
7
7
|
/**
|
|
8
8
|
* @group Adapters
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module EventBus
|
|
3
|
+
*/
|
|
4
|
+
import type { Validator } from "../../../utilities/_module";
|
|
5
|
+
import type { INamespacedEventBus, IEventBusAdapter, IBaseEvent, IEventBusFactory } from "../../../event-bus/contracts/_module";
|
|
6
|
+
/**
|
|
7
|
+
* @group Derivables
|
|
8
|
+
*/
|
|
9
|
+
export type EventBusDrivers<TAdapters extends string = string> = Partial<Record<TAdapters, IEventBusAdapter>>;
|
|
10
|
+
/**
|
|
11
|
+
* @group Derivables
|
|
12
|
+
*/
|
|
13
|
+
export type EventBusFactorySettings<TAdapters extends string = string> = {
|
|
14
|
+
drivers: EventBusDrivers<TAdapters>;
|
|
15
|
+
defaultDriver?: NoInfer<TAdapters>;
|
|
16
|
+
rootNamespace?: string;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* @group Derivables
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* import { EventBusFactory } from "@daiso-tech/core";
|
|
23
|
+
* import Redis from "ioredis"
|
|
24
|
+
*
|
|
25
|
+
* const eventBusFactory = new EventBusFactory({
|
|
26
|
+
* drivers: {
|
|
27
|
+
* memory: new MemoryEventBusAdapter(),
|
|
28
|
+
* redis: new RedisEventBusAdapter({
|
|
29
|
+
* dispatcherClient: new Redis(),
|
|
30
|
+
* listenerClient: new Redis(),
|
|
31
|
+
* }),
|
|
32
|
+
* },
|
|
33
|
+
* defaultDriver: "memory",
|
|
34
|
+
* rootNamespace: "@events"
|
|
35
|
+
* });
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare class EventBusFactory<TAdapters extends string = string, TEvent extends IBaseEvent = IBaseEvent> implements IEventBusFactory<TAdapters> {
|
|
39
|
+
private readonly drivers;
|
|
40
|
+
private readonly defaultDriver?;
|
|
41
|
+
private readonly rootNamespace?;
|
|
42
|
+
private validator;
|
|
43
|
+
constructor(settings: EventBusFactorySettings<TAdapters>);
|
|
44
|
+
use(driverName?: TAdapters | undefined): INamespacedEventBus<TEvent>;
|
|
45
|
+
withValidation<TOutput extends IBaseEvent = IBaseEvent>(validator: Validator<TOutput>): IEventBusFactory<TAdapters, TOutput>;
|
|
46
|
+
withType<TOutput extends IBaseEvent = IBaseEvent>(): IEventBusFactory<TAdapters, TOutput>;
|
|
47
|
+
}
|