@daiso-tech/core 0.17.4 → 0.20.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/cache/contracts/cache.errors.js +19 -0
- package/dist/cjs/cache/contracts/cache.errors.js.map +1 -1
- package/dist/cjs/cache/contracts/cache.events.js +0 -12
- package/dist/cjs/cache/contracts/cache.events.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +2 -2
- package/dist/cjs/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +2 -2
- package/dist/cjs/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +2 -2
- package/dist/cjs/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +2 -2
- package/dist/cjs/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js.map +1 -1
- package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +2 -2
- package/dist/cjs/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
- package/dist/cjs/cache/implementations/derivables/_module.js +2 -4
- package/dist/cjs/cache/implementations/derivables/_module.js.map +1 -1
- package/dist/cjs/cache/implementations/derivables/cache/_module.js +19 -0
- package/dist/cjs/cache/implementations/derivables/cache/_module.js.map +1 -0
- package/dist/cjs/cache/implementations/derivables/{cache-settings.js → cache/cache-settings.js} +18 -0
- package/dist/cjs/cache/implementations/derivables/cache/cache-settings.js.map +1 -0
- package/dist/cjs/cache/implementations/derivables/{cache.js → cache/cache.js} +71 -8
- package/dist/cjs/cache/implementations/derivables/cache/cache.js.map +1 -0
- package/dist/cjs/cache/implementations/derivables/cache-factory/_module.js +19 -0
- package/dist/cjs/cache/implementations/derivables/cache-factory/_module.js.map +1 -0
- package/dist/cjs/cache/implementations/derivables/{cache-factory-settings.js → cache-factory/cache-factory-settings.js} +18 -0
- package/dist/cjs/cache/implementations/derivables/cache-factory/cache-factory-settings.js.map +1 -0
- package/dist/cjs/cache/implementations/derivables/cache-factory/cache-factory.js +70 -0
- package/dist/cjs/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -0
- package/dist/cjs/event-bus/contracts/event-bus.errors.js +29 -10
- package/dist/cjs/event-bus/contracts/event-bus.errors.js.map +1 -1
- package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js.map +1 -1
- package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +2 -2
- package/dist/cjs/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
- package/dist/cjs/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -1
- package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js.map +1 -1
- package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +2 -2
- package/dist/cjs/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
- package/dist/cjs/event-bus/implementations/derivables/_module.js +2 -4
- package/dist/cjs/event-bus/implementations/derivables/_module.js.map +1 -1
- package/dist/cjs/event-bus/implementations/derivables/event-bus/_module.js +19 -0
- package/dist/cjs/event-bus/implementations/derivables/event-bus/_module.js.map +1 -0
- package/dist/cjs/event-bus/implementations/derivables/{event-bus-settings.js → event-bus/event-bus-settings.js} +12 -0
- package/dist/cjs/event-bus/implementations/derivables/event-bus/event-bus-settings.js.map +1 -0
- package/dist/cjs/event-bus/implementations/derivables/{event-bus.js → event-bus/event-bus.js} +38 -10
- package/dist/cjs/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -0
- package/dist/cjs/event-bus/implementations/derivables/event-bus-factory/_module.js +19 -0
- package/dist/cjs/event-bus/implementations/derivables/event-bus-factory/_module.js.map +1 -0
- package/dist/cjs/event-bus/implementations/derivables/{event-bus-factory-settings.js → event-bus-factory/event-bus-factory-settings.js} +12 -0
- package/dist/cjs/event-bus/implementations/derivables/event-bus-factory/event-bus-factory-settings.js.map +1 -0
- package/dist/cjs/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +61 -0
- package/dist/cjs/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -0
- package/dist/cjs/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.js +16 -0
- package/dist/cjs/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.js.map +1 -1
- package/dist/cjs/serde/implementations/no-op-serde/no-op-serde.js +3 -0
- package/dist/cjs/serde/implementations/no-op-serde/no-op-serde.js.map +1 -1
- package/dist/cjs/serde/implementations/super-json-serde/super-json-serde.js +54 -111
- package/dist/cjs/serde/implementations/super-json-serde/super-json-serde.js.map +1 -1
- package/dist/cjs/utilities/contracts/_module.js +1 -0
- package/dist/cjs/utilities/contracts/_module.js.map +1 -1
- package/dist/cjs/utilities/contracts/serialized-error.contract.js +3 -0
- package/dist/cjs/utilities/contracts/serialized-error.contract.js.map +1 -0
- package/dist/esm/cache/contracts/cache.errors.js +19 -0
- package/dist/esm/cache/contracts/cache.errors.js.map +1 -1
- package/dist/esm/cache/contracts/cache.events.js +0 -11
- package/dist/esm/cache/contracts/cache.events.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js +2 -2
- package/dist/esm/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js +3 -3
- package/dist/esm/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js +2 -2
- package/dist/esm/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js +2 -2
- package/dist/esm/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.js.map +1 -1
- package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +2 -2
- package/dist/esm/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +1 -1
- package/dist/esm/cache/implementations/derivables/_module.js +2 -4
- package/dist/esm/cache/implementations/derivables/_module.js.map +1 -1
- package/dist/esm/cache/implementations/derivables/cache/_module.js +3 -0
- package/dist/esm/cache/implementations/derivables/cache/_module.js.map +1 -0
- package/dist/esm/cache/implementations/derivables/{cache-settings.js → cache/cache-settings.js} +18 -0
- package/dist/esm/cache/implementations/derivables/cache/cache-settings.js.map +1 -0
- package/dist/esm/cache/implementations/derivables/{cache.js → cache/cache.js} +71 -8
- package/dist/esm/cache/implementations/derivables/cache/cache.js.map +1 -0
- package/dist/esm/cache/implementations/derivables/cache-factory/_module.js +3 -0
- package/dist/esm/cache/implementations/derivables/cache-factory/_module.js.map +1 -0
- package/dist/esm/cache/implementations/derivables/{cache-factory-settings.js → cache-factory/cache-factory-settings.js} +18 -0
- package/dist/esm/cache/implementations/derivables/cache-factory/cache-factory-settings.js.map +1 -0
- package/dist/esm/cache/implementations/derivables/cache-factory/cache-factory.js +66 -0
- package/dist/esm/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -0
- package/dist/esm/event-bus/contracts/event-bus.errors.js +25 -6
- package/dist/esm/event-bus/contracts/event-bus.errors.js.map +1 -1
- package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.js.map +1 -1
- package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +2 -2
- package/dist/esm/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js.map +1 -1
- package/dist/esm/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.js.map +1 -1
- package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.js.map +1 -1
- package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js +2 -2
- package/dist/esm/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.js.map +1 -1
- package/dist/esm/event-bus/implementations/derivables/_module.js +2 -4
- package/dist/esm/event-bus/implementations/derivables/_module.js.map +1 -1
- package/dist/esm/event-bus/implementations/derivables/event-bus/_module.js +3 -0
- package/dist/esm/event-bus/implementations/derivables/event-bus/_module.js.map +1 -0
- package/dist/esm/event-bus/implementations/derivables/{event-bus-settings.js → event-bus/event-bus-settings.js} +12 -0
- package/dist/esm/event-bus/implementations/derivables/event-bus/event-bus-settings.js.map +1 -0
- package/dist/esm/event-bus/implementations/derivables/{event-bus.js → event-bus/event-bus.js} +38 -10
- package/dist/esm/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -0
- package/dist/esm/event-bus/implementations/derivables/event-bus-factory/_module.js +3 -0
- package/dist/esm/event-bus/implementations/derivables/event-bus-factory/_module.js.map +1 -0
- package/dist/esm/event-bus/implementations/derivables/{event-bus-factory-settings.js → event-bus-factory/event-bus-factory-settings.js} +12 -0
- package/dist/esm/event-bus/implementations/derivables/event-bus-factory/event-bus-factory-settings.js.map +1 -0
- package/dist/esm/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +57 -0
- package/dist/esm/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -0
- package/dist/esm/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.js +16 -0
- package/dist/esm/serde/implementations/_shared/test-utilities/flexible-serde.test-suite.js.map +1 -1
- package/dist/esm/serde/implementations/no-op-serde/no-op-serde.js +3 -0
- package/dist/esm/serde/implementations/no-op-serde/no-op-serde.js.map +1 -1
- package/dist/esm/serde/implementations/super-json-serde/super-json-serde.js +54 -111
- package/dist/esm/serde/implementations/super-json-serde/super-json-serde.js.map +1 -1
- package/dist/esm/utilities/contracts/_module.js +1 -0
- package/dist/esm/utilities/contracts/_module.js.map +1 -1
- package/dist/esm/utilities/contracts/serialized-error.contract.js +1 -0
- package/dist/esm/utilities/contracts/serialized-error.contract.js.map +1 -0
- package/dist/types/cache/contracts/cache-adapter.contract.d.ts +2 -2
- package/dist/types/cache/contracts/cache.contract.d.ts +1 -1
- package/dist/types/cache/contracts/cache.errors.d.ts +11 -4
- package/dist/types/cache/contracts/cache.events.d.ts +0 -6
- package/dist/types/cache/implementations/adapters/kysely-sqlite-cache-adapter/kysely-sqlite-cache-adapter.d.ts +3 -3
- package/dist/types/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter-settings.d.ts +4 -4
- package/dist/types/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +2 -2
- package/dist/types/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter-settings.d.ts +3 -4
- package/dist/types/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +2 -2
- package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-settings.d.ts +3 -4
- package/dist/types/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +2 -2
- package/dist/types/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +3 -3
- package/dist/types/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings.d.ts +4 -4
- package/dist/types/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +1 -2
- package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings.d.ts +4 -4
- package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +2 -2
- package/dist/types/cache/implementations/derivables/_module.d.ts +2 -4
- package/dist/types/cache/implementations/derivables/cache/_module.d.ts +2 -0
- package/dist/types/cache/implementations/derivables/{cache-settings.d.ts → cache/cache-settings.d.ts} +37 -5
- package/dist/types/cache/implementations/derivables/{cache.d.ts → cache/cache.d.ts} +40 -10
- package/dist/types/cache/implementations/derivables/cache-factory/_module.d.ts +2 -0
- package/dist/types/cache/implementations/derivables/{cache-factory-settings.d.ts → cache-factory/cache-factory-settings.d.ts} +35 -4
- package/dist/types/cache/implementations/derivables/{cache-factory.d.ts → cache-factory/cache-factory.d.ts} +13 -5
- package/dist/types/event-bus/contracts/event-bus-adapter.contract.d.ts +1 -2
- package/dist/types/event-bus/contracts/event-bus.contract.d.ts +7 -7
- package/dist/types/event-bus/contracts/event-bus.errors.d.ts +11 -4
- package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings.d.ts +3 -4
- package/dist/types/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +1 -2
- package/dist/types/event-bus/implementations/adapters/no-op-event-bus-adapter/no-op-event-bus-adapter.d.ts +1 -2
- package/dist/types/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter-settings.d.ts +4 -4
- package/dist/types/event-bus/implementations/adapters/redis-pub-sub-event-bus-adapter/redis-pub-sub-event-bus-adapter.d.ts +1 -2
- package/dist/types/event-bus/implementations/derivables/_module.d.ts +2 -4
- package/dist/types/event-bus/implementations/derivables/event-bus/_module.d.ts +2 -0
- package/dist/types/event-bus/implementations/derivables/{event-bus-settings.d.ts → event-bus/event-bus-settings.d.ts} +25 -3
- package/dist/types/event-bus/implementations/derivables/{event-bus.d.ts → event-bus/event-bus.d.ts} +18 -6
- package/dist/types/event-bus/implementations/derivables/event-bus-factory/_module.d.ts +2 -0
- package/dist/types/event-bus/implementations/derivables/{event-bus-factory-settings.d.ts → event-bus-factory/event-bus-factory-settings.d.ts} +25 -3
- package/dist/types/event-bus/implementations/derivables/{event-bus-factory.d.ts → event-bus-factory/event-bus-factory.d.ts} +6 -2
- package/dist/types/serde/contracts/flexible-serde.contract.d.ts +65 -1
- package/dist/types/serde/implementations/no-op-serde/no-op-serde.d.ts +2 -1
- package/dist/types/serde/implementations/super-json-serde/super-json-serde.d.ts +22 -1
- package/dist/types/utilities/contracts/_module.d.ts +1 -0
- package/dist/types/utilities/contracts/serialized-error.contract.d.ts +11 -0
- package/dist/types/utilities/types.d.ts +1 -1
- package/package.json +1 -1
- package/dist/cjs/cache/implementations/derivables/cache-factory-settings.js.map +0 -1
- package/dist/cjs/cache/implementations/derivables/cache-factory.js +0 -50
- package/dist/cjs/cache/implementations/derivables/cache-factory.js.map +0 -1
- package/dist/cjs/cache/implementations/derivables/cache-settings.js.map +0 -1
- package/dist/cjs/cache/implementations/derivables/cache.js.map +0 -1
- package/dist/cjs/event-bus/implementations/derivables/event-bus-factory-settings.js.map +0 -1
- package/dist/cjs/event-bus/implementations/derivables/event-bus-factory.js +0 -44
- package/dist/cjs/event-bus/implementations/derivables/event-bus-factory.js.map +0 -1
- package/dist/cjs/event-bus/implementations/derivables/event-bus-settings.js.map +0 -1
- package/dist/cjs/event-bus/implementations/derivables/event-bus.js.map +0 -1
- package/dist/esm/cache/implementations/derivables/cache-factory-settings.js.map +0 -1
- package/dist/esm/cache/implementations/derivables/cache-factory.js +0 -46
- package/dist/esm/cache/implementations/derivables/cache-factory.js.map +0 -1
- package/dist/esm/cache/implementations/derivables/cache-settings.js.map +0 -1
- package/dist/esm/cache/implementations/derivables/cache.js.map +0 -1
- package/dist/esm/event-bus/implementations/derivables/event-bus-factory-settings.js.map +0 -1
- package/dist/esm/event-bus/implementations/derivables/event-bus-factory.js +0 -40
- package/dist/esm/event-bus/implementations/derivables/event-bus-factory.js.map +0 -1
- package/dist/esm/event-bus/implementations/derivables/event-bus-settings.js.map +0 -1
- package/dist/esm/event-bus/implementations/derivables/event-bus.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Cache
|
|
3
3
|
*/
|
|
4
|
-
import type { IBuildable
|
|
4
|
+
import type { IBuildable } from "../../../../utilities/_module";
|
|
5
5
|
import type { Redis } from "ioredis";
|
|
6
6
|
import type { ISerde } from "../../../../serde/contracts/_module";
|
|
7
7
|
/**
|
|
@@ -10,7 +10,7 @@ import type { ISerde } from "../../../../serde/contracts/_module";
|
|
|
10
10
|
export type RedisCacheAdapterSettings = {
|
|
11
11
|
database: Redis;
|
|
12
12
|
serde: ISerde<string>;
|
|
13
|
-
rootGroup:
|
|
13
|
+
rootGroup: string;
|
|
14
14
|
};
|
|
15
15
|
/**
|
|
16
16
|
* The <i>RedisCacheAdapterSettingsBuilder</i> is an immutable builder class, meaning that each method invocation creates a new instance.
|
|
@@ -25,8 +25,8 @@ export declare class RedisCacheAdapterSettingsBuilder<TSettings extends Partial<
|
|
|
25
25
|
setSerde(serde: ISerde<string>): RedisCacheAdapterSettingsBuilder<TSettings & {
|
|
26
26
|
serde: ISerde<string>;
|
|
27
27
|
}>;
|
|
28
|
-
setRootGroup(group:
|
|
29
|
-
rootGroup:
|
|
28
|
+
setRootGroup(group: string): RedisCacheAdapterSettingsBuilder<TSettings & {
|
|
29
|
+
rootGroup: string;
|
|
30
30
|
}>;
|
|
31
31
|
build(this: RedisCacheAdapterSettingsBuilder<RedisCacheAdapterSettings>): RedisCacheAdapterSettings;
|
|
32
32
|
}
|
package/dist/types/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* @module Cache
|
|
3
3
|
*/
|
|
4
4
|
import { type ICacheAdapter } from "../../../../cache/contracts/cache-adapter.contract";
|
|
5
|
-
import type { OneOrMore } from "../../../../utilities/_module";
|
|
6
5
|
import { type TimeSpan } from "../../../../utilities/_module";
|
|
7
6
|
import { type Result } from "ioredis";
|
|
8
7
|
import type { RedisCacheAdapterSettings } from "../../../../cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-settings";
|
|
@@ -67,5 +66,5 @@ export declare class RedisCacheAdapter<TType = unknown> implements ICacheAdapter
|
|
|
67
66
|
increment(key: string, value: number): Promise<boolean>;
|
|
68
67
|
clear(): Promise<void>;
|
|
69
68
|
getGroup(): string;
|
|
70
|
-
withGroup(group:
|
|
69
|
+
withGroup(group: string): ICacheAdapter<TType>;
|
|
71
70
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @module Cache
|
|
3
3
|
*/
|
|
4
4
|
import type { ISerde } from "../../../../serde/contracts/_module";
|
|
5
|
-
import type { TimeSpan,
|
|
5
|
+
import type { TimeSpan, IBuildable } from "../../../../utilities/_module";
|
|
6
6
|
import { type SqliteDatabase } from "kysely";
|
|
7
7
|
/**
|
|
8
8
|
* @group Adapters
|
|
@@ -14,7 +14,7 @@ export type SqliteCacheAdapterSettings = {
|
|
|
14
14
|
enableTransactions?: boolean;
|
|
15
15
|
expiredKeysRemovalInterval?: TimeSpan;
|
|
16
16
|
shouldRemoveExpiredKeys?: boolean;
|
|
17
|
-
rootGroup:
|
|
17
|
+
rootGroup: string;
|
|
18
18
|
};
|
|
19
19
|
/**
|
|
20
20
|
* The <i>SqliteCacheAdapterSettingsBuilder</i> is an immutable builder class, meaning that each method invocation creates a new instance.
|
|
@@ -41,8 +41,8 @@ export declare class SqliteCacheAdapterSettingsBuilder<TSettings extends Partial
|
|
|
41
41
|
setShouldRemoveExpiredKeys(shouldRemove: boolean): SqliteCacheAdapterSettingsBuilder<TSettings & {
|
|
42
42
|
shouldRemoveExpiredKeys: boolean;
|
|
43
43
|
}>;
|
|
44
|
-
setRootGroup(group:
|
|
45
|
-
rootGroup:
|
|
44
|
+
setRootGroup(group: string): SqliteCacheAdapterSettingsBuilder<TSettings & {
|
|
45
|
+
rootGroup: string;
|
|
46
46
|
}>;
|
|
47
47
|
build(this: SqliteCacheAdapterSettingsBuilder<SqliteCacheAdapterSettings>): SqliteCacheAdapterSettings;
|
|
48
48
|
}
|
package/dist/types/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @module Cache
|
|
3
3
|
*/
|
|
4
4
|
import { type ICacheAdapter } from "../../../../cache/contracts/cache-adapter.contract";
|
|
5
|
-
import type { TimeSpan, IInitizable, IDeinitizable
|
|
5
|
+
import type { TimeSpan, IInitizable, IDeinitizable } from "../../../../utilities/_module";
|
|
6
6
|
import type { SqliteCacheAdapterSettings } from "../../../../cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings";
|
|
7
7
|
import { SqliteCacheAdapterSettingsBuilder } from "../../../../cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter-settings";
|
|
8
8
|
/**
|
|
@@ -51,7 +51,7 @@ export declare class SqliteCacheAdapter<TType = unknown> implements ICacheAdapte
|
|
|
51
51
|
*/
|
|
52
52
|
constructor(settings: SqliteCacheAdapterSettings);
|
|
53
53
|
getGroup(): string;
|
|
54
|
-
withGroup(group:
|
|
54
|
+
withGroup(group: string): ICacheAdapter<TType>;
|
|
55
55
|
removeExpiredKeys(): Promise<void>;
|
|
56
56
|
/**
|
|
57
57
|
* Removes the table where the cache values are stored and removes the table indexes.
|
|
@@ -1,4 +1,2 @@
|
|
|
1
|
-
export * from "../../../cache/implementations/derivables/cache-factory
|
|
2
|
-
export * from "../../../cache/implementations/derivables/cache
|
|
3
|
-
export * from "../../../cache/implementations/derivables/cache-settings";
|
|
4
|
-
export * from "../../../cache/implementations/derivables/cache";
|
|
1
|
+
export * from "../../../cache/implementations/derivables/cache-factory/_module";
|
|
2
|
+
export * from "../../../cache/implementations/derivables/cache/_module";
|
|
@@ -1,15 +1,33 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Cache
|
|
3
3
|
*/
|
|
4
|
-
import type { ICacheAdapter } from "
|
|
5
|
-
import type { IBuildable } from "
|
|
6
|
-
import type { TimeSpan } from "
|
|
7
|
-
import type { BackoffPolicy, RetryPolicy } from "
|
|
8
|
-
import type { IGroupableEventBus } from "
|
|
4
|
+
import type { ICacheAdapter } from "../../../../cache/contracts/_module";
|
|
5
|
+
import type { IBuildable, OneOrMore } from "../../../../utilities/_module";
|
|
6
|
+
import type { TimeSpan } from "../../../../utilities/_module";
|
|
7
|
+
import type { BackoffPolicy, RetryPolicy } from "../../../../async/_module";
|
|
8
|
+
import type { IGroupableEventBus } from "../../../../event-bus/contracts/_module";
|
|
9
|
+
import type { IFlexibleSerde } from "../../../../serde/contracts/_module";
|
|
9
10
|
/**
|
|
10
11
|
* @group Derivables
|
|
11
12
|
*/
|
|
12
13
|
export type CacheSettings = {
|
|
14
|
+
/**
|
|
15
|
+
* You can pass one or more <i>{@link IFlexibleSerde}</i> that will be used to register all <i>{@link IGroupableCache}</i> related errors and events.
|
|
16
|
+
* @default {true}
|
|
17
|
+
*/
|
|
18
|
+
serde: OneOrMore<IFlexibleSerde>;
|
|
19
|
+
/**
|
|
20
|
+
* If set to true, all <i>{@link IGroupableCache}</i> related errors will be registered with the specified <i>IFlexibleSerde</i> during constructor initialization.
|
|
21
|
+
* This ensures that all <i>{@link IGroupableCache}</i> related errors will be serialized correctly.
|
|
22
|
+
* @default {true}
|
|
23
|
+
*/
|
|
24
|
+
shouldRegisterErrors?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* If set to true, all <i>{@link IGroupableCache}</i> related events will be registered with the specified <i>IFlexibleSerde</i> during constructor initialization.
|
|
27
|
+
* This ensures that all <i>{@link IGroupableCache}</i> related events will be serialized correctly.
|
|
28
|
+
* @default {true}
|
|
29
|
+
*/
|
|
30
|
+
shouldRegisterEvents?: boolean;
|
|
13
31
|
adapter: ICacheAdapter<any>;
|
|
14
32
|
/**
|
|
15
33
|
* In order to listen to events of <i>{@link Cache}</i> class you must pass in <i>{@link IGroupableEventBus}</i>.
|
|
@@ -17,22 +35,27 @@ export type CacheSettings = {
|
|
|
17
35
|
eventBus?: IGroupableEventBus<any>;
|
|
18
36
|
/**
|
|
19
37
|
* You can decide the default ttl value. If null is passed then no ttl will be used by default.
|
|
38
|
+
* @default {null}
|
|
20
39
|
*/
|
|
21
40
|
defaultTtl?: TimeSpan | null;
|
|
22
41
|
/**
|
|
23
42
|
* The default retry attempt to use in the returned <i>LazyPromise</i>.
|
|
43
|
+
* @default {null}
|
|
24
44
|
*/
|
|
25
45
|
retryAttempts?: number | null;
|
|
26
46
|
/**
|
|
27
47
|
* The default backof policy to use in the returned <i>LazyPromise</i>.
|
|
48
|
+
* @default {null}
|
|
28
49
|
*/
|
|
29
50
|
backoffPolicy?: BackoffPolicy | null;
|
|
30
51
|
/**
|
|
31
52
|
* The default retry policy to use in the returned <i>LazyPromise</i>.
|
|
53
|
+
* @default {null}
|
|
32
54
|
*/
|
|
33
55
|
retryPolicy?: RetryPolicy | null;
|
|
34
56
|
/**
|
|
35
57
|
* The default timeout to use in the returned <i>LazyPromise</i>.
|
|
58
|
+
* @default {null}
|
|
36
59
|
*/
|
|
37
60
|
timeout?: TimeSpan | null;
|
|
38
61
|
};
|
|
@@ -43,6 +66,15 @@ export type CacheSettings = {
|
|
|
43
66
|
export declare class CacheSettingsBuilder<TSettings extends Partial<CacheSettings>> implements IBuildable<CacheSettings> {
|
|
44
67
|
private readonly settings;
|
|
45
68
|
constructor(settings?: TSettings);
|
|
69
|
+
setShouldRegisterErrors(shouldRegisterErrors: boolean): CacheSettingsBuilder<TSettings & {
|
|
70
|
+
shouldRegisterErrors: boolean;
|
|
71
|
+
}>;
|
|
72
|
+
setShouldRegisterEvents(shouldRegisterEvents: boolean): CacheSettingsBuilder<TSettings & {
|
|
73
|
+
shouldRegisterEvents: boolean;
|
|
74
|
+
}>;
|
|
75
|
+
setSerde(serde: OneOrMore<IFlexibleSerde>): CacheSettingsBuilder<TSettings & {
|
|
76
|
+
serde: OneOrMore<IFlexibleSerde>;
|
|
77
|
+
}>;
|
|
46
78
|
setAdapter(adapter: ICacheAdapter<any>): CacheSettingsBuilder<TSettings & {
|
|
47
79
|
adapter: ICacheAdapter<any>;
|
|
48
80
|
}>;
|
|
@@ -1,28 +1,46 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Cache
|
|
3
3
|
*/
|
|
4
|
-
import type { CacheEvents, WithTtlValue } from "
|
|
5
|
-
import { type ICache } from "
|
|
6
|
-
import {
|
|
7
|
-
import
|
|
8
|
-
import type {
|
|
9
|
-
import {
|
|
10
|
-
import
|
|
11
|
-
import type {
|
|
12
|
-
import {
|
|
4
|
+
import type { CacheEvents, WithTtlValue } from "../../../../cache/contracts/_module";
|
|
5
|
+
import { KeyFoundCacheEvent, KeyNotFoundCacheEvent, KeyAddedCacheEvent, KeyUpdatedCacheEvent, KeyRemovedCacheEvent, KeyIncrementedCacheEvent, KeyDecrementedCacheEvent, KeysClearedCacheEvent, type ICache } from "../../../../cache/contracts/_module";
|
|
6
|
+
import { CacheError, KeyNotFoundCacheError, TypeCacheError, UnexpectedCacheError } from "../../../../cache/contracts/_module";
|
|
7
|
+
import { type IGroupableCache } from "../../../../cache/contracts/_module";
|
|
8
|
+
import type { AsyncLazyable, GetOrAddValue, OneOrMore } from "../../../../utilities/_module";
|
|
9
|
+
import type { TimeSpan } from "../../../../utilities/_module";
|
|
10
|
+
import { LazyPromise } from "../../../../async/_module";
|
|
11
|
+
import type { Listener, Unsubscribe, EventClass, EventInstance } from "../../../../event-bus/contracts/_module";
|
|
12
|
+
import type { CacheSettings } from "../../../../cache/implementations/derivables/cache/cache-settings";
|
|
13
|
+
import { CacheSettingsBuilder } from "../../../../cache/implementations/derivables/cache/cache-settings";
|
|
13
14
|
/**
|
|
14
15
|
* <i>Cache</i> class can be derived from any <i>{@link ICacheAdapter}</i>.
|
|
15
16
|
* @group Derivables
|
|
16
17
|
*/
|
|
17
18
|
export declare class Cache<TType = unknown> implements IGroupableCache<TType> {
|
|
19
|
+
static readonly errors: {
|
|
20
|
+
readonly Error: typeof CacheError;
|
|
21
|
+
readonly Unexpected: typeof UnexpectedCacheError;
|
|
22
|
+
readonly Type: typeof TypeCacheError;
|
|
23
|
+
readonly KeyNotFound: typeof KeyNotFoundCacheError;
|
|
24
|
+
};
|
|
25
|
+
static readonly events: {
|
|
26
|
+
readonly KeyFound: typeof KeyFoundCacheEvent;
|
|
27
|
+
readonly KeyNotFound: typeof KeyNotFoundCacheEvent;
|
|
28
|
+
readonly KeyAdded: typeof KeyAddedCacheEvent;
|
|
29
|
+
readonly KeyUpdated: typeof KeyUpdatedCacheEvent;
|
|
30
|
+
readonly KeyRemoved: typeof KeyRemovedCacheEvent;
|
|
31
|
+
readonly KeyIncremented: typeof KeyIncrementedCacheEvent;
|
|
32
|
+
readonly KeyDecremented: typeof KeyDecrementedCacheEvent;
|
|
33
|
+
readonly KeysCleared: typeof KeysClearedCacheEvent;
|
|
34
|
+
};
|
|
18
35
|
/**
|
|
19
36
|
* @example
|
|
20
37
|
* ```ts
|
|
21
|
-
* import { Cache, MemoryCacheAdapter, TimeSpan } from "@daiso-tech/core";
|
|
38
|
+
* import { Cache, MemoryCacheAdapter, TimeSpan, SuperJsonSerde } from "@daiso-tech/core";
|
|
22
39
|
*
|
|
23
40
|
* const cache = new Cache(
|
|
24
41
|
* Cache
|
|
25
42
|
* .settings()
|
|
43
|
+
* .setSerde(new SuperJsonSerde())
|
|
26
44
|
* .setAdapter(new MemoryCacheAdapter({ rootGroup: "@global" }))
|
|
27
45
|
* .setEventBus(new EventBus(new MemoryEventBusAdapter({ rootGroup: "@global" })))
|
|
28
46
|
* .setDefaultTtl(TimeSpan.fromMinutes(2))
|
|
@@ -40,6 +58,9 @@ export declare class Cache<TType = unknown> implements IGroupableCache<TType> {
|
|
|
40
58
|
private readonly backoffPolicy;
|
|
41
59
|
private readonly retryPolicy;
|
|
42
60
|
private readonly timeout;
|
|
61
|
+
private readonly serde;
|
|
62
|
+
private readonly shouldRegisterErrors;
|
|
63
|
+
private readonly shouldRegisterEvents;
|
|
43
64
|
/**
|
|
44
65
|
*@example
|
|
45
66
|
* ```ts
|
|
@@ -49,6 +70,7 @@ export declare class Cache<TType = unknown> implements IGroupableCache<TType> {
|
|
|
49
70
|
* adapter: new MemoryEventBusAdapter({ rootGroup: "@global" })
|
|
50
71
|
* });
|
|
51
72
|
* const cache = new Cache({
|
|
73
|
+
* serde: new SuperJsonSerde();
|
|
52
74
|
* adapter: new MemoryCacheAdapter({
|
|
53
75
|
* rootGroup: "@global"
|
|
54
76
|
* }),
|
|
@@ -57,6 +79,14 @@ export declare class Cache<TType = unknown> implements IGroupableCache<TType> {
|
|
|
57
79
|
* ```
|
|
58
80
|
*/
|
|
59
81
|
constructor(settings: CacheSettings);
|
|
82
|
+
/**
|
|
83
|
+
* Registers all cache-related events within the given <i>IFlexibleSerde</i> contract.
|
|
84
|
+
*/
|
|
85
|
+
private registerEvents;
|
|
86
|
+
/**
|
|
87
|
+
* Registers all cache-related error within the given <i>IFlexibleSerde</i> contract.
|
|
88
|
+
*/
|
|
89
|
+
private registerErrors;
|
|
60
90
|
private createLayPromise;
|
|
61
91
|
private createKeyFoundEvent;
|
|
62
92
|
private createKeyNotFoundEvent;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Cache
|
|
3
3
|
*/
|
|
4
|
-
import type { IGroupableEventBus } from "
|
|
5
|
-
import type { ICacheAdapter } from "
|
|
6
|
-
import type { TimeSpan } from "
|
|
7
|
-
import type { BackoffPolicy, RetryPolicy } from "
|
|
4
|
+
import type { IGroupableEventBus } from "../../../../event-bus/contracts/_module";
|
|
5
|
+
import type { ICacheAdapter } from "../../../../cache/contracts/_module";
|
|
6
|
+
import type { OneOrMore, TimeSpan } from "../../../../utilities/_module";
|
|
7
|
+
import type { BackoffPolicy, RetryPolicy } from "../../../../async/_module";
|
|
8
|
+
import type { IFlexibleSerde } from "../../../../serde/contracts/_module";
|
|
8
9
|
/**
|
|
9
10
|
* @group Derivables
|
|
10
11
|
*/
|
|
@@ -13,6 +14,23 @@ export type CacheAdapters<TAdapters extends string> = Partial<Record<TAdapters,
|
|
|
13
14
|
* @group Derivables
|
|
14
15
|
*/
|
|
15
16
|
export type CacheFactorySettings<TAdapters extends string = string> = {
|
|
17
|
+
/**
|
|
18
|
+
* You can pass one or more <i>{@link IFlexibleSerde}</i> that will be used to register all <i>{@link IGroupableCache}</i> related errors and events.
|
|
19
|
+
* @default {true}
|
|
20
|
+
*/
|
|
21
|
+
serde: OneOrMore<IFlexibleSerde>;
|
|
22
|
+
/**
|
|
23
|
+
* If set to true, all <i>{@link IGroupableCache}</i> related errors will be registered with the specified <i>IFlexibleSerde</i> during constructor initialization.
|
|
24
|
+
* This ensures that all <i>{@link IGroupableCache}</i> related errors will be serialized correctly.
|
|
25
|
+
* @default {true}
|
|
26
|
+
*/
|
|
27
|
+
shouldRegisterErrors?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* If set to true, all <i>{@link IGroupableCache}</i> related events will be registered with the specified <i>IFlexibleSerde</i> during constructor initialization.
|
|
30
|
+
* This ensures that all <i>{@link IGroupableCache}</i> related events will be serialized correctly.
|
|
31
|
+
* @default {true}
|
|
32
|
+
*/
|
|
33
|
+
shouldRegisterEvents?: boolean;
|
|
16
34
|
adapters: CacheAdapters<TAdapters>;
|
|
17
35
|
defaultAdapter?: NoInfer<TAdapters>;
|
|
18
36
|
/**
|
|
@@ -25,18 +43,22 @@ export type CacheFactorySettings<TAdapters extends string = string> = {
|
|
|
25
43
|
eventBus?: IGroupableEventBus<any>;
|
|
26
44
|
/**
|
|
27
45
|
* The default retry attempt to use in the returned <i>LazyPromise</i>.
|
|
46
|
+
* @default {null}
|
|
28
47
|
*/
|
|
29
48
|
retryAttempts?: number | null;
|
|
30
49
|
/**
|
|
31
50
|
* The default backof policy to use in the returned <i>LazyPromise</i>.
|
|
51
|
+
* @default {null}
|
|
32
52
|
*/
|
|
33
53
|
backoffPolicy?: BackoffPolicy | null;
|
|
34
54
|
/**
|
|
35
55
|
* The default retry policy to use in the returned <i>LazyPromise</i>.
|
|
56
|
+
* @default {null}
|
|
36
57
|
*/
|
|
37
58
|
retryPolicy?: RetryPolicy | null;
|
|
38
59
|
/**
|
|
39
60
|
* The default timeout to use in the returned <i>LazyPromise</i>.
|
|
61
|
+
* @default {null}
|
|
40
62
|
*/
|
|
41
63
|
timeout?: TimeSpan | null;
|
|
42
64
|
};
|
|
@@ -47,6 +69,15 @@ export type CacheFactorySettings<TAdapters extends string = string> = {
|
|
|
47
69
|
export declare class CacheFactorySettingsBuilder<TSettings extends CacheFactorySettings> {
|
|
48
70
|
private readonly settings;
|
|
49
71
|
constructor(settings?: TSettings);
|
|
72
|
+
setShouldRegisterErrors(shouldRegisterErrors: boolean): CacheFactorySettingsBuilder<TSettings & {
|
|
73
|
+
shouldRegisterErrors: boolean;
|
|
74
|
+
}>;
|
|
75
|
+
setShouldRegisterEvents(shouldRegisterEvents: boolean): CacheFactorySettingsBuilder<TSettings & {
|
|
76
|
+
shouldRegisterEvents: boolean;
|
|
77
|
+
}>;
|
|
78
|
+
setSerde(serde: OneOrMore<IFlexibleSerde>): CacheFactorySettingsBuilder<TSettings & {
|
|
79
|
+
serde: OneOrMore<IFlexibleSerde>;
|
|
80
|
+
}>;
|
|
50
81
|
setEventBus(eventBus: IGroupableEventBus<any>): CacheFactorySettingsBuilder<TSettings & {
|
|
51
82
|
eventBus: IGroupableEventBus<any>;
|
|
52
83
|
}>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Cache
|
|
3
3
|
*/
|
|
4
|
-
import type { ICacheFactory, IGroupableCache } from "
|
|
5
|
-
import type { CacheFactorySettings } from "
|
|
6
|
-
import { CacheFactorySettingsBuilder } from "
|
|
4
|
+
import type { ICacheFactory, IGroupableCache } from "../../../../cache/contracts/_module";
|
|
5
|
+
import type { CacheFactorySettings } from "../../../../cache/implementations/derivables/cache-factory/cache-factory-settings";
|
|
6
|
+
import { CacheFactorySettingsBuilder } from "../../../../cache/implementations/derivables/cache-factory/cache-factory-settings";
|
|
7
7
|
/**
|
|
8
8
|
* @group Derivables
|
|
9
9
|
*/
|
|
@@ -14,6 +14,7 @@ export declare class CacheFactory<TAdapters extends string = string> implements
|
|
|
14
14
|
* import { CacheFactory, SuperJsonSerde. MemoryCacheAdapter, RedisCacheAdapter, EventBus, MemoryEventBusAdapter } from "@daiso-tech/core";
|
|
15
15
|
* import Redis from "ioredis";
|
|
16
16
|
*
|
|
17
|
+
* const serde = new SuperJsonSerde();
|
|
17
18
|
* const cacheFactory = new CacheFactory(
|
|
18
19
|
* CacheFactory
|
|
19
20
|
* .settings()
|
|
@@ -23,7 +24,7 @@ export declare class CacheFactory<TAdapters extends string = string> implements
|
|
|
23
24
|
* }))
|
|
24
25
|
* .setAdapter("redis", new RedisCacheAdapter({
|
|
25
26
|
* client: new Redis("YOUR_REDIS_CONNECTION"),
|
|
26
|
-
* serde
|
|
27
|
+
* serde,
|
|
27
28
|
* rootGroup: "@global"
|
|
28
29
|
* }))
|
|
29
30
|
* .setDefaultAdapter("memory")
|
|
@@ -32,6 +33,7 @@ export declare class CacheFactory<TAdapters extends string = string> implements
|
|
|
32
33
|
* ```
|
|
33
34
|
*/
|
|
34
35
|
static settings<TAdapters extends string, TSettings extends CacheFactorySettings<TAdapters>>(): CacheFactorySettingsBuilder<TSettings>;
|
|
36
|
+
private readonly caches;
|
|
35
37
|
private readonly adapters;
|
|
36
38
|
private readonly defaultAdapter?;
|
|
37
39
|
private readonly eventBus?;
|
|
@@ -40,6 +42,9 @@ export declare class CacheFactory<TAdapters extends string = string> implements
|
|
|
40
42
|
private readonly backoffPolicy?;
|
|
41
43
|
private readonly retryPolicy?;
|
|
42
44
|
private readonly timeout?;
|
|
45
|
+
private readonly serde;
|
|
46
|
+
private readonly shouldRegisterErrors?;
|
|
47
|
+
private readonly shouldRegisterEvents?;
|
|
43
48
|
/**
|
|
44
49
|
* @example
|
|
45
50
|
* ```ts
|
|
@@ -49,14 +54,16 @@ export declare class CacheFactory<TAdapters extends string = string> implements
|
|
|
49
54
|
* const eventBus = new EventBus({
|
|
50
55
|
* adapter: new MemoryEventBusAdapter({ rootGroup: "@global" })
|
|
51
56
|
* });
|
|
57
|
+
* const serde = new SuperJsonSerde();
|
|
52
58
|
* const cacheFactory = new CacheFactory({
|
|
59
|
+
* serde,
|
|
53
60
|
* adapters: {
|
|
54
61
|
* memory: new MemoryCacheAdapter({
|
|
55
62
|
* rootGroup: "@global"
|
|
56
63
|
* }),
|
|
57
64
|
* redis: new RedisCacheAdapter({
|
|
58
65
|
* client: new Redis("YOUR_REDIS_CONNECTION"),
|
|
59
|
-
* serde
|
|
66
|
+
* serde,
|
|
60
67
|
* rootGroup: "@global"
|
|
61
68
|
* }),
|
|
62
69
|
* },
|
|
@@ -66,5 +73,6 @@ export declare class CacheFactory<TAdapters extends string = string> implements
|
|
|
66
73
|
* ```
|
|
67
74
|
*/
|
|
68
75
|
constructor(settings: CacheFactorySettings<TAdapters>);
|
|
76
|
+
private initCaches;
|
|
69
77
|
use<TType = unknown>(adapterName?: TAdapters | undefined): IGroupableCache<TType>;
|
|
70
78
|
}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
* @module EventBus
|
|
3
3
|
*/
|
|
4
4
|
import type { Listener } from "../../event-bus/contracts/_shared";
|
|
5
|
-
import type { OneOrMore } from "../../utilities/_module";
|
|
6
5
|
import type { BaseEvent } from "../../event-bus/contracts/_shared";
|
|
7
6
|
/**
|
|
8
7
|
* The <i>IEventBusAdapter</i> contract defines a way for dispatching and listening to events independent of underlying technology.
|
|
@@ -23,5 +22,5 @@ export type IEventBusAdapter = {
|
|
|
23
22
|
*/
|
|
24
23
|
dispatch(eventName: string, eventData: BaseEvent): PromiseLike<void>;
|
|
25
24
|
getGroup(): string;
|
|
26
|
-
withGroup(group:
|
|
25
|
+
withGroup(group: string): IEventBusAdapter;
|
|
27
26
|
};
|
|
@@ -28,30 +28,30 @@ export type IEventListener<TEvents extends BaseEvent = BaseEvent> = {
|
|
|
28
28
|
/**
|
|
29
29
|
* The <i>addListener</i> method is used for adding <i>{@link Listener | listener}</i> for certain <i>event</i>.
|
|
30
30
|
* A listener can only be added once for a specific event. Adding the same listener multiple times will have no effect and nothing will occur.
|
|
31
|
-
* @throws {
|
|
31
|
+
* @throws {UnableToAddListenerEventBusError} {@link UnableToAddListenerEventBusError}
|
|
32
32
|
*/
|
|
33
33
|
addListener<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: Listener<EventInstance<TEventClass>>): LazyPromise<void>;
|
|
34
34
|
/**
|
|
35
35
|
* The <i>addListenerMany</i> method is used for adding multiple <i>{@link Listener | listeners}</i> for certain <i>events</i>.
|
|
36
36
|
* A listener can only be added once for a specific event. Adding the same listener multiple times will have no effect and nothing will occur.
|
|
37
|
-
* @throws {
|
|
37
|
+
* @throws {UnableToAddListenerEventBusError} {@link UnableToAddListenerEventBusError}
|
|
38
38
|
*/
|
|
39
39
|
addListenerMany<TEventClass extends EventClass<TEvents>>(events: TEventClass[], listener: Listener<EventInstance<TEventClass>>): LazyPromise<void>;
|
|
40
40
|
/**
|
|
41
41
|
* The <i>removeListener</i> method is used for removing <i>{@link Listener | listener}</i> for certain <i>event</i>.
|
|
42
42
|
* Removing unadded listener will have no effect and nothing will occur.
|
|
43
|
-
* @throws {
|
|
43
|
+
* @throws {UnableToRemoveListenerEventBusError} {@link UnableToRemoveListenerEventBusError}
|
|
44
44
|
*/
|
|
45
45
|
removeListener<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: Listener<EventInstance<TEventClass>>): LazyPromise<void>;
|
|
46
46
|
/**
|
|
47
47
|
* The <i>removeListener</i> method is used for removing multiple <i>{@link Listener | listeners}</i> for certain <i>event</i>.
|
|
48
48
|
* Removing unadded listener will have no effect and nothing will occur.
|
|
49
|
-
* @throws {
|
|
49
|
+
* @throws {UnableToRemoveListenerEventBusError} {@link UnableToRemoveListenerEventBusError}
|
|
50
50
|
*/
|
|
51
51
|
removeListenerMany<TEventClass extends EventClass<TEvents>>(events: TEventClass[], listener: Listener<EventInstance<TEventClass>>): LazyPromise<void>;
|
|
52
52
|
/**
|
|
53
53
|
* The <i>listenOnce</i> method is used for adding <i>{@link Listener | listener}</i> for certain <i>event</i> that is trigged only once.
|
|
54
|
-
* @throws {
|
|
54
|
+
* @throws {UnableToAddListenerEventBusError} {@link UnableToAddListenerEventBusError}
|
|
55
55
|
*/
|
|
56
56
|
listenOnce<TEventClass extends EventClass<TEvents>>(event: TEventClass, listener: Listener<EventInstance<TEventClass>>): LazyPromise<void>;
|
|
57
57
|
/**
|
|
@@ -73,13 +73,13 @@ export type IEventDispatcher<TEvents extends BaseEvent = BaseEvent> = {
|
|
|
73
73
|
/**
|
|
74
74
|
* The <i>dispatch</i> method is used for dispatching a <i>event</i>.
|
|
75
75
|
|
|
76
|
-
* @throws {
|
|
76
|
+
* @throws {UnableToDispatchEventBusError} {@link UnableToDispatchEventBusError}
|
|
77
77
|
*/
|
|
78
78
|
dispatch(event: TEvents): LazyPromise<void>;
|
|
79
79
|
/**
|
|
80
80
|
* The <i>dispatchMany</i> method is used for dispatching multiple <i>event</i>.
|
|
81
81
|
|
|
82
|
-
* @throws {
|
|
82
|
+
* @throws {UnableToDispatchEventBusError} {@link UnableToDispatchEventBusError}
|
|
83
83
|
*/
|
|
84
84
|
dispatchMany(events: TEvents[]): LazyPromise<void>;
|
|
85
85
|
};
|
|
@@ -1,33 +1,40 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module EventBus
|
|
3
3
|
*/
|
|
4
|
+
import type { ISerializable } from "../../serde/contracts/_module";
|
|
5
|
+
import type { ISerializedError } from "../../utilities/_module";
|
|
4
6
|
/**
|
|
5
7
|
* @group Errors
|
|
6
8
|
*/
|
|
7
|
-
export declare class EventBusError extends Error {
|
|
9
|
+
export declare class EventBusError extends Error implements ISerializable<ISerializedError> {
|
|
10
|
+
static deserialize(deserializedValue: ISerializedError): EventBusError;
|
|
8
11
|
constructor(message: string, cause?: unknown);
|
|
12
|
+
serialize(): ISerializedError;
|
|
9
13
|
}
|
|
10
14
|
/**
|
|
11
15
|
* @group Errors
|
|
12
16
|
*/
|
|
13
17
|
export declare class UnexpectedEventBusError extends EventBusError {
|
|
18
|
+
static deserialize(deserializedValue: ISerializedError): EventBusError;
|
|
14
19
|
constructor(message: string, cause?: unknown);
|
|
15
20
|
}
|
|
16
21
|
/**
|
|
17
22
|
* @group Errors
|
|
18
23
|
*/
|
|
19
|
-
export declare class
|
|
24
|
+
export declare class UnableToRemoveListenerEventBusError extends UnexpectedEventBusError {
|
|
25
|
+
static deserialize(deserializedValue: ISerializedError): EventBusError;
|
|
20
26
|
constructor(message: string, cause?: unknown);
|
|
21
27
|
}
|
|
22
28
|
/**
|
|
23
29
|
* @group Errors
|
|
24
30
|
*/
|
|
25
|
-
export declare class
|
|
31
|
+
export declare class UnableToAddListenerEventBusError extends UnexpectedEventBusError {
|
|
32
|
+
static deserialize(deserializedValue: ISerializedError): EventBusError;
|
|
26
33
|
constructor(message: string, cause?: unknown);
|
|
27
34
|
}
|
|
28
35
|
/**
|
|
29
36
|
* @group Errors
|
|
30
37
|
*/
|
|
31
|
-
export declare class
|
|
38
|
+
export declare class UnableToDispatchEventBusError extends UnexpectedEventBusError {
|
|
32
39
|
constructor(message: string, cause?: unknown);
|
|
33
40
|
}
|
|
@@ -2,13 +2,12 @@
|
|
|
2
2
|
* @module EventBus
|
|
3
3
|
*/
|
|
4
4
|
import type { IBuildable } from "../../../../utilities/_module";
|
|
5
|
-
import type { OneOrMore } from "../../../../utilities/_module";
|
|
6
5
|
import type { EventEmitter } from "node:events";
|
|
7
6
|
/**
|
|
8
7
|
* @group Adapters
|
|
9
8
|
*/
|
|
10
9
|
export type MemoryEventBusAdapterSettings = {
|
|
11
|
-
rootGroup:
|
|
10
|
+
rootGroup: string;
|
|
12
11
|
eventEmitter?: EventEmitter;
|
|
13
12
|
};
|
|
14
13
|
/**
|
|
@@ -21,8 +20,8 @@ export declare class MemoryEventBusAdapterSettingsBuilder<TSettings extends Part
|
|
|
21
20
|
setEventEmitter(eventEmitter: EventEmitter): MemoryEventBusAdapterSettingsBuilder<TSettings & {
|
|
22
21
|
eventEmitter: EventEmitter<[never]>;
|
|
23
22
|
}>;
|
|
24
|
-
setRootGroup(group:
|
|
25
|
-
rootGroup:
|
|
23
|
+
setRootGroup(group: string): MemoryEventBusAdapterSettingsBuilder<TSettings & {
|
|
24
|
+
rootGroup: string;
|
|
26
25
|
}>;
|
|
27
26
|
build(this: MemoryEventBusAdapterSettingsBuilder<MemoryEventBusAdapterSettings>): MemoryEventBusAdapterSettings;
|
|
28
27
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module EventBus
|
|
3
3
|
*/
|
|
4
|
-
import { type OneOrMore } from "../../../../utilities/_module";
|
|
5
4
|
import type { BaseEvent, IEventBusAdapter, Listener } from "../../../../event-bus/contracts/_module";
|
|
6
5
|
import type { MemoryEventBusAdapterSettings } from "../../../../event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings";
|
|
7
6
|
import { MemoryEventBusAdapterSettingsBuilder } from "../../../../event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter-settings";
|
|
@@ -54,7 +53,7 @@ export declare class MemoryEventBusAdapter implements IEventBusAdapter {
|
|
|
54
53
|
*/
|
|
55
54
|
constructor(settings: MemoryEventBusAdapterSettings);
|
|
56
55
|
getGroup(): string;
|
|
57
|
-
withGroup(group:
|
|
56
|
+
withGroup(group: string): IEventBusAdapter;
|
|
58
57
|
private withPrefix;
|
|
59
58
|
addListener(eventName: string, listener: Listener<BaseEvent>): Promise<void>;
|
|
60
59
|
removeListener(eventName: string, listener: Listener<BaseEvent>): Promise<void>;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module EventBus
|
|
3
3
|
*/
|
|
4
|
-
import type { OneOrMore } from "../../../../utilities/_module";
|
|
5
4
|
import type { BaseEvent, Listener } from "../../../../event-bus/contracts/_module";
|
|
6
5
|
import type { IEventBusAdapter } from "../../../../event-bus/contracts/_module";
|
|
7
6
|
/**
|
|
@@ -10,7 +9,7 @@ import type { IEventBusAdapter } from "../../../../event-bus/contracts/_module";
|
|
|
10
9
|
*/
|
|
11
10
|
export declare class NoOpEventBusAdapter implements IEventBusAdapter {
|
|
12
11
|
getGroup(): string;
|
|
13
|
-
withGroup(_group:
|
|
12
|
+
withGroup(_group: string): IEventBusAdapter;
|
|
14
13
|
addListener(_eventName: string, _listener: Listener<BaseEvent>): PromiseLike<void>;
|
|
15
14
|
removeListener(_eventName: string, _listener: Listener<BaseEvent>): PromiseLike<void>;
|
|
16
15
|
dispatch(_eventName: string, _eventData: BaseEvent): PromiseLike<void>;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { type ISerde } from "../../../../serde/contracts/_module";
|
|
5
5
|
import type Redis from "ioredis";
|
|
6
|
-
import type { IBuildable
|
|
6
|
+
import type { IBuildable } from "../../../../utilities/_module";
|
|
7
7
|
/**
|
|
8
8
|
* @group Adapters
|
|
9
9
|
*/
|
|
@@ -11,7 +11,7 @@ export type RedisPubSubEventBusAdapterSettings = {
|
|
|
11
11
|
dispatcherClient: Redis;
|
|
12
12
|
listenerClient: Redis;
|
|
13
13
|
serde: ISerde<string>;
|
|
14
|
-
rootGroup:
|
|
14
|
+
rootGroup: string;
|
|
15
15
|
};
|
|
16
16
|
/**
|
|
17
17
|
* The <i>RedisPubSubEventBusAdapterSettingsBuilder</i> is an immutable builder class, meaning that each method invocation creates a new instance.
|
|
@@ -29,8 +29,8 @@ export declare class RedisPubSubEventBusAdapterSettingsBuilder<TSettings extends
|
|
|
29
29
|
setSerde(serde: ISerde<string>): RedisPubSubEventBusAdapterSettingsBuilder<TSettings & {
|
|
30
30
|
serde: ISerde<string>;
|
|
31
31
|
}>;
|
|
32
|
-
setRootGroup(group:
|
|
33
|
-
rootGroup:
|
|
32
|
+
setRootGroup(group: string): RedisPubSubEventBusAdapterSettingsBuilder<TSettings & {
|
|
33
|
+
rootGroup: string;
|
|
34
34
|
}>;
|
|
35
35
|
build(this: RedisPubSubEventBusAdapterSettingsBuilder<RedisPubSubEventBusAdapterSettings>): RedisPubSubEventBusAdapterSettings;
|
|
36
36
|
}
|