@daiso-tech/core 0.31.1 → 0.32.1
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/async/_module-exports.d.ts +1 -0
- package/dist/async/_module-exports.js +1 -0
- package/dist/async/_module-exports.js.map +1 -1
- package/dist/async/async.errors.d.ts +14 -0
- package/dist/async/async.errors.js +14 -0
- package/dist/async/async.errors.js.map +1 -1
- package/dist/async/async.events.d.ts +105 -0
- package/dist/async/async.events.js +82 -0
- package/dist/async/async.events.js.map +1 -0
- package/dist/async/backof-policies/_shared.d.ts +1 -1
- package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.d.ts +2 -2
- package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js +1 -1
- package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.d.ts +2 -2
- package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js +1 -1
- package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.d.ts +2 -2
- package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js +1 -1
- package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.d.ts +2 -2
- package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +1 -1
- package/dist/async/utilities/lazy-promise/lazy-promise-event-bus.d.ts +15 -0
- package/dist/async/utilities/lazy-promise/lazy-promise-event-bus.js +50 -0
- package/dist/async/utilities/lazy-promise/lazy-promise-event-bus.js.map +1 -0
- package/dist/async/utilities/lazy-promise/lazy-promise-listener.contract.d.ts +23 -0
- package/dist/async/utilities/lazy-promise/lazy-promise-listener.contract.js +44 -0
- package/dist/async/utilities/lazy-promise/lazy-promise-listener.contract.js.map +1 -0
- package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +66 -54
- package/dist/async/utilities/lazy-promise/lazy-promise.js +148 -94
- package/dist/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
- package/dist/async/utilities/retry/retry-or-fail.d.ts +1 -1
- package/dist/async/utilities/retry/retry-or-fail.js +1 -1
- package/dist/async/utilities/retry/retry-or-fail.js.map +1 -1
- package/dist/async/utilities/retry/retry.d.ts +1 -1
- package/dist/async/utilities/retry/retry.js.map +1 -1
- package/dist/cache/contracts/cache.errors.d.ts +13 -0
- package/dist/cache/contracts/cache.errors.js +13 -0
- package/dist/cache/contracts/cache.errors.js.map +1 -1
- package/dist/cache/contracts/cache.events.d.ts +26 -2
- package/dist/cache/contracts/cache.events.js +26 -2
- package/dist/cache/contracts/cache.events.js.map +1 -1
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.js +3 -3
- package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.js.map +1 -1
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.js +3 -3
- package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.js.map +1 -1
- package/dist/cache/implementations/derivables/cache/cache.d.ts +13 -8
- package/dist/cache/implementations/derivables/cache/cache.js +17 -33
- package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +3 -22
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +2 -42
- package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
- package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.d.ts +2 -2
- package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js +1 -1
- package/dist/cache/implementations/test-utilities/cache.test-suite.d.ts +2 -2
- package/dist/cache/implementations/test-utilities/cache.test-suite.js +1 -1
- package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.d.ts +2 -2
- package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js +1 -1
- package/dist/collection/contracts/collection.errors.d.ts +17 -0
- package/dist/collection/contracts/collection.errors.js +17 -0
- package/dist/collection/contracts/collection.errors.js.map +1 -1
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +5 -8
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +5 -19
- package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
- package/dist/event-bus/contracts/event-bus.errors.d.ts +15 -0
- package/dist/event-bus/contracts/event-bus.errors.js +15 -0
- package/dist/event-bus/contracts/event-bus.errors.js.map +1 -1
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +13 -8
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +9 -28
- package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +3 -29
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +2 -48
- package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
- package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.d.ts +2 -2
- package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js +1 -1
- package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.d.ts +2 -2
- package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js +1 -1
- package/dist/lock/contracts/lock.errors.d.ts +18 -0
- package/dist/lock/contracts/lock.errors.js +18 -0
- package/dist/lock/contracts/lock.errors.js.map +1 -1
- package/dist/lock/contracts/lock.events.d.ts +22 -0
- package/dist/lock/contracts/lock.events.js +22 -0
- package/dist/lock/contracts/lock.events.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +14 -8
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +7 -24
- package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +3 -25
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +2 -47
- package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
- package/dist/serde/contracts/deserializer.contract.d.ts +1 -1
- package/dist/serde/contracts/deserializer.contract.js +1 -1
- package/dist/serde/contracts/deserializer.contract.js.map +1 -1
- package/dist/serde/contracts/serde.errors.d.ts +14 -2
- package/dist/serde/contracts/serde.errors.js +16 -4
- package/dist/serde/contracts/serde.errors.js.map +1 -1
- package/dist/serde/contracts/serializer.contract.d.ts +1 -1
- package/dist/serde/contracts/serializer.contract.js +1 -1
- package/dist/serde/contracts/serializer.contract.js.map +1 -1
- package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.js +3 -3
- package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.js.map +1 -1
- package/dist/serde/implementations/adapters/redis-serde/redis-serde.js +3 -3
- package/dist/serde/implementations/adapters/redis-serde/redis-serde.js.map +1 -1
- package/dist/serde/implementations/adapters/sql-serde/sql-serde.js +3 -3
- package/dist/serde/implementations/adapters/sql-serde/sql-serde.js.map +1 -1
- package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js +3 -3
- package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js.map +1 -1
- package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.d.ts +2 -2
- package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.js +1 -1
- package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.d.ts +2 -2
- package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.js +1 -1
- package/dist/utilities/classes/_module.d.ts +1 -0
- package/dist/utilities/classes/_module.js +1 -0
- package/dist/utilities/classes/_module.js.map +1 -1
- package/dist/utilities/classes/key-prefixer/key-prefixer.d.ts +20 -2
- package/dist/utilities/classes/key-prefixer/key-prefixer.js +20 -2
- package/dist/utilities/classes/key-prefixer/key-prefixer.js.map +1 -1
- package/dist/utilities/classes/sync-event-bus/_module.d.ts +1 -0
- package/dist/utilities/classes/sync-event-bus/_module.js +2 -0
- package/dist/utilities/classes/sync-event-bus/_module.js.map +1 -0
- package/dist/utilities/classes/sync-event-bus/sync-event-bus.d.ts +16 -0
- package/dist/utilities/classes/sync-event-bus/sync-event-bus.js +53 -0
- package/dist/utilities/classes/sync-event-bus/sync-event-bus.js.map +1 -0
- package/dist/utilities/contracts/_module.d.ts +1 -0
- package/dist/utilities/contracts/_module.js +1 -0
- package/dist/utilities/contracts/_module.js.map +1 -1
- package/dist/utilities/contracts/sync-event-bus-listenable.d.ts +13 -0
- package/dist/utilities/contracts/sync-event-bus-listenable.js +5 -0
- package/dist/utilities/contracts/sync-event-bus-listenable.js.map +1 -0
- package/dist/utilities/errors.d.ts +2 -0
- package/dist/utilities/errors.js +2 -0
- package/dist/utilities/errors.js.map +1 -1
- package/dist/utilities/functions/invokable.d.ts +4 -0
- package/dist/utilities/functions/invokable.js +9 -0
- package/dist/utilities/functions/invokable.js.map +1 -1
- package/package.json +3 -4
|
@@ -23,6 +23,7 @@ export declare class UnexpectedCacheError extends CacheError implements ISeriali
|
|
|
23
23
|
constructor(message: string, cause?: unknown);
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
|
+
* The error is thrown when attempting to increment or decrement a key that is not of number type.
|
|
26
27
|
*
|
|
27
28
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
28
29
|
* @group Errors
|
|
@@ -32,6 +33,7 @@ export declare class TypeCacheError extends CacheError implements ISerializable<
|
|
|
32
33
|
constructor(message: string, cause?: unknown);
|
|
33
34
|
}
|
|
34
35
|
/**
|
|
36
|
+
* The error is thrown when a key is not found
|
|
35
37
|
*
|
|
36
38
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
37
39
|
* @group Errors
|
|
@@ -40,6 +42,17 @@ export declare class KeyNotFoundCacheError extends CacheError implements ISerial
|
|
|
40
42
|
static deserialize(deserializedValue: ISerializedError): CacheError;
|
|
41
43
|
constructor(message: string, cause?: unknown);
|
|
42
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
*
|
|
47
|
+
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
48
|
+
* @group Errors
|
|
49
|
+
*/
|
|
50
|
+
export declare const CACHE_ERRORS: {
|
|
51
|
+
readonly Base: typeof CacheError;
|
|
52
|
+
readonly Unexpected: typeof UnexpectedCacheError;
|
|
53
|
+
readonly Type: typeof TypeCacheError;
|
|
54
|
+
readonly KeyNotFound: typeof KeyNotFoundCacheError;
|
|
55
|
+
};
|
|
43
56
|
/**
|
|
44
57
|
* The <i>registerCacheErrorsToSerde</i> function registers all <i>{@link IGroupableCache}</i> related errors with <i>IFlexibleSerde</i>, ensuring they will properly be serialized and deserialized.
|
|
45
58
|
*
|
|
@@ -38,6 +38,7 @@ export class UnexpectedCacheError extends CacheError {
|
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
|
+
* The error is thrown when attempting to increment or decrement a key that is not of number type.
|
|
41
42
|
*
|
|
42
43
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
43
44
|
* @group Errors
|
|
@@ -52,6 +53,7 @@ export class TypeCacheError extends CacheError {
|
|
|
52
53
|
}
|
|
53
54
|
}
|
|
54
55
|
/**
|
|
56
|
+
* The error is thrown when a key is not found
|
|
55
57
|
*
|
|
56
58
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
57
59
|
* @group Errors
|
|
@@ -65,6 +67,17 @@ export class KeyNotFoundCacheError extends CacheError {
|
|
|
65
67
|
this.name = KeyNotFoundCacheError.name;
|
|
66
68
|
}
|
|
67
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
*
|
|
72
|
+
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
73
|
+
* @group Errors
|
|
74
|
+
*/
|
|
75
|
+
export const CACHE_ERRORS = {
|
|
76
|
+
Base: CacheError,
|
|
77
|
+
Unexpected: UnexpectedCacheError,
|
|
78
|
+
Type: TypeCacheError,
|
|
79
|
+
KeyNotFound: KeyNotFoundCacheError,
|
|
80
|
+
};
|
|
68
81
|
/**
|
|
69
82
|
* The <i>registerCacheErrorsToSerde</i> function registers all <i>{@link IGroupableCache}</i> related errors with <i>IFlexibleSerde</i>, ensuring they will properly be serialized and deserialized.
|
|
70
83
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.errors.js","sourceRoot":"","sources":["../../../src/cache/contracts/cache.errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,EACH,IAAI,EACJ,gBAAgB,GAGnB,MAAM,gCAAgC,CAAC;AAExC;;;;GAIG;AACH,MAAM,OAAO,UACT,SAAQ,KAAK;IAGb,MAAM,CAAC,WAAW,CAAC,iBAAmC;QAClD,OAAO,IAAI,UAAU,CACjB,iBAAiB,CAAC,OAAO,EACzB,iBAAiB,CAAC,KAAK,CAC1B,CAAC;IACN,CAAC;IAED,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAChC,CAAC;IAED,SAAS;QACL,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC;IACN,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,OAAO,oBACT,SAAQ,UAAU;IAGlB,MAAM,CAAU,WAAW,CACvB,iBAAmC;QAEnC,OAAO,IAAI,oBAAoB,CAC3B,iBAAiB,CAAC,OAAO,EACzB,iBAAiB,CAAC,KAAK,CAC1B,CAAC;IACN,CAAC;IAED,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC;IAC1C,CAAC;CACJ;AAED
|
|
1
|
+
{"version":3,"file":"cache.errors.js","sourceRoot":"","sources":["../../../src/cache/contracts/cache.errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,OAAO,EACH,IAAI,EACJ,gBAAgB,GAGnB,MAAM,gCAAgC,CAAC;AAExC;;;;GAIG;AACH,MAAM,OAAO,UACT,SAAQ,KAAK;IAGb,MAAM,CAAC,WAAW,CAAC,iBAAmC;QAClD,OAAO,IAAI,UAAU,CACjB,iBAAiB,CAAC,OAAO,EACzB,iBAAiB,CAAC,KAAK,CAC1B,CAAC;IACN,CAAC;IAED,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAChC,CAAC;IAED,SAAS;QACL,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC;IACN,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,OAAO,oBACT,SAAQ,UAAU;IAGlB,MAAM,CAAU,WAAW,CACvB,iBAAmC;QAEnC,OAAO,IAAI,oBAAoB,CAC3B,iBAAiB,CAAC,OAAO,EACzB,iBAAiB,CAAC,KAAK,CAC1B,CAAC;IACN,CAAC;IAED,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC,IAAI,CAAC;IAC1C,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,cACT,SAAQ,UAAU;IAGlB,MAAM,CAAU,WAAW,CACvB,iBAAmC;QAEnC,OAAO,IAAI,cAAc,CACrB,iBAAiB,CAAC,OAAO,EACzB,iBAAiB,CAAC,KAAK,CAC1B,CAAC;IACN,CAAC;IAED,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;IACpC,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,qBACT,SAAQ,UAAU;IAGlB,MAAM,CAAU,WAAW,CACvB,iBAAmC;QAEnC,OAAO,IAAI,qBAAqB,CAC5B,iBAAiB,CAAC,OAAO,EACzB,iBAAiB,CAAC,KAAK,CAC1B,CAAC;IACN,CAAC;IAED,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC;IAC3C,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,IAAI,EAAE,UAAU;IAChB,UAAU,EAAE,oBAAoB;IAChC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,qBAAqB;CAC5B,CAAC;AAEX;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACtC,KAAgC;IAEhC,KAAK,MAAM,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM;aACD,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC;aAC/B,aAAa,CAAC,oBAAoB,EAAE,IAAI,CAAC;aACzC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC;aACnC,aAAa,CAAC,qBAAqB,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;AACL,CAAC"}
|
|
@@ -5,6 +5,7 @@ import { BaseEvent } from "../../event-bus/contracts/_module-exports.js";
|
|
|
5
5
|
import type { IFlexibleSerde } from "../../serde/contracts/_module-exports.js";
|
|
6
6
|
import { type OneOrMore, type TimeSpan } from "../../utilities/_module-exports.js";
|
|
7
7
|
/**
|
|
8
|
+
* The event is dispatched when key is found.
|
|
8
9
|
*
|
|
9
10
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
10
11
|
* @group Events
|
|
@@ -16,6 +17,7 @@ export declare class KeyFoundCacheEvent<TType = unknown> extends BaseEvent<{
|
|
|
16
17
|
}> {
|
|
17
18
|
}
|
|
18
19
|
/**
|
|
20
|
+
* The event is dispatched when key is not found.
|
|
19
21
|
*
|
|
20
22
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
21
23
|
* @group Events
|
|
@@ -26,6 +28,7 @@ export declare class KeyNotFoundCacheEvent extends BaseEvent<{
|
|
|
26
28
|
}> {
|
|
27
29
|
}
|
|
28
30
|
/**
|
|
31
|
+
* The event is dispatched when key is added.
|
|
29
32
|
*
|
|
30
33
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
31
34
|
* @group Events
|
|
@@ -38,6 +41,7 @@ export declare class KeyAddedCacheEvent<TType = unknown> extends BaseEvent<{
|
|
|
38
41
|
}> {
|
|
39
42
|
}
|
|
40
43
|
/**
|
|
44
|
+
* The event is dispatched when key is updated.
|
|
41
45
|
*
|
|
42
46
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
43
47
|
* @group Events
|
|
@@ -49,6 +53,7 @@ export declare class KeyUpdatedCacheEvent<TType = unknown> extends BaseEvent<{
|
|
|
49
53
|
}> {
|
|
50
54
|
}
|
|
51
55
|
/**
|
|
56
|
+
* The event is dispatched when key is removed.
|
|
52
57
|
*
|
|
53
58
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
54
59
|
* @group Events
|
|
@@ -59,6 +64,7 @@ export declare class KeyRemovedCacheEvent extends BaseEvent<{
|
|
|
59
64
|
}> {
|
|
60
65
|
}
|
|
61
66
|
/**
|
|
67
|
+
* The event is dispatched when key is incremented.
|
|
62
68
|
*
|
|
63
69
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
64
70
|
* @group Events
|
|
@@ -70,6 +76,7 @@ export declare class KeyIncrementedCacheEvent extends BaseEvent<{
|
|
|
70
76
|
}> {
|
|
71
77
|
}
|
|
72
78
|
/**
|
|
79
|
+
* The event is dispatched when key is decremented.
|
|
73
80
|
*
|
|
74
81
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
75
82
|
* @group Events
|
|
@@ -81,6 +88,7 @@ export declare class KeyDecrementedCacheEvent extends BaseEvent<{
|
|
|
81
88
|
}> {
|
|
82
89
|
}
|
|
83
90
|
/**
|
|
91
|
+
* The event is dispatched when all keys all cleared.
|
|
84
92
|
*
|
|
85
93
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
86
94
|
* @group Events
|
|
@@ -94,7 +102,7 @@ export declare class KeysClearedCacheEvent extends BaseEvent<{
|
|
|
94
102
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
95
103
|
* @group Events
|
|
96
104
|
*/
|
|
97
|
-
export declare class
|
|
105
|
+
export declare class UnexpectedErrorCacheEvent extends BaseEvent<{
|
|
98
106
|
group: string | null;
|
|
99
107
|
keys?: string[];
|
|
100
108
|
value?: unknown;
|
|
@@ -107,7 +115,23 @@ export declare class UnexpectedCacheErrorEvent extends BaseEvent<{
|
|
|
107
115
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
108
116
|
* @group Events
|
|
109
117
|
*/
|
|
110
|
-
export
|
|
118
|
+
export declare const CACHE_EVENTS: {
|
|
119
|
+
KeyFound: typeof KeyFoundCacheEvent;
|
|
120
|
+
KeyNotFound: typeof KeyNotFoundCacheEvent;
|
|
121
|
+
KeyAdded: typeof KeyAddedCacheEvent;
|
|
122
|
+
KeyUpdated: typeof KeyUpdatedCacheEvent;
|
|
123
|
+
KeyRemoved: typeof KeyRemovedCacheEvent;
|
|
124
|
+
KeyIncremented: typeof KeyIncrementedCacheEvent;
|
|
125
|
+
KeyDecremented: typeof KeyDecrementedCacheEvent;
|
|
126
|
+
KeysCleared: typeof KeysClearedCacheEvent;
|
|
127
|
+
UnexpectedError: typeof UnexpectedErrorCacheEvent;
|
|
128
|
+
};
|
|
129
|
+
/**
|
|
130
|
+
*
|
|
131
|
+
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
132
|
+
* @group Events
|
|
133
|
+
*/
|
|
134
|
+
export type CacheEvents<TType = unknown> = KeyFoundCacheEvent<TType> | KeyNotFoundCacheEvent | KeyAddedCacheEvent<TType> | KeyUpdatedCacheEvent<TType> | KeyRemovedCacheEvent | KeyIncrementedCacheEvent | KeyDecrementedCacheEvent | KeysClearedCacheEvent | UnexpectedErrorCacheEvent;
|
|
111
135
|
/**
|
|
112
136
|
* The <i>registerCacheEventsToSerde</i> function registers all <i>{@link IGroupableCache}</i> related events with <i>IFlexibleSerde</i>, ensuring they will properly be serialized and deserialized.
|
|
113
137
|
*
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { BaseEvent } from "../../event-bus/contracts/_module-exports.js";
|
|
5
5
|
import { CORE, resolveOneOrMore, } from "../../utilities/_module-exports.js";
|
|
6
6
|
/**
|
|
7
|
+
* The event is dispatched when key is found.
|
|
7
8
|
*
|
|
8
9
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
9
10
|
* @group Events
|
|
@@ -11,6 +12,7 @@ import { CORE, resolveOneOrMore, } from "../../utilities/_module-exports.js";
|
|
|
11
12
|
export class KeyFoundCacheEvent extends BaseEvent {
|
|
12
13
|
}
|
|
13
14
|
/**
|
|
15
|
+
* The event is dispatched when key is not found.
|
|
14
16
|
*
|
|
15
17
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
16
18
|
* @group Events
|
|
@@ -18,6 +20,7 @@ export class KeyFoundCacheEvent extends BaseEvent {
|
|
|
18
20
|
export class KeyNotFoundCacheEvent extends BaseEvent {
|
|
19
21
|
}
|
|
20
22
|
/**
|
|
23
|
+
* The event is dispatched when key is added.
|
|
21
24
|
*
|
|
22
25
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
23
26
|
* @group Events
|
|
@@ -25,6 +28,7 @@ export class KeyNotFoundCacheEvent extends BaseEvent {
|
|
|
25
28
|
export class KeyAddedCacheEvent extends BaseEvent {
|
|
26
29
|
}
|
|
27
30
|
/**
|
|
31
|
+
* The event is dispatched when key is updated.
|
|
28
32
|
*
|
|
29
33
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
30
34
|
* @group Events
|
|
@@ -32,6 +36,7 @@ export class KeyAddedCacheEvent extends BaseEvent {
|
|
|
32
36
|
export class KeyUpdatedCacheEvent extends BaseEvent {
|
|
33
37
|
}
|
|
34
38
|
/**
|
|
39
|
+
* The event is dispatched when key is removed.
|
|
35
40
|
*
|
|
36
41
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
37
42
|
* @group Events
|
|
@@ -39,6 +44,7 @@ export class KeyUpdatedCacheEvent extends BaseEvent {
|
|
|
39
44
|
export class KeyRemovedCacheEvent extends BaseEvent {
|
|
40
45
|
}
|
|
41
46
|
/**
|
|
47
|
+
* The event is dispatched when key is incremented.
|
|
42
48
|
*
|
|
43
49
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
44
50
|
* @group Events
|
|
@@ -46,6 +52,7 @@ export class KeyRemovedCacheEvent extends BaseEvent {
|
|
|
46
52
|
export class KeyIncrementedCacheEvent extends BaseEvent {
|
|
47
53
|
}
|
|
48
54
|
/**
|
|
55
|
+
* The event is dispatched when key is decremented.
|
|
49
56
|
*
|
|
50
57
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
51
58
|
* @group Events
|
|
@@ -53,6 +60,7 @@ export class KeyIncrementedCacheEvent extends BaseEvent {
|
|
|
53
60
|
export class KeyDecrementedCacheEvent extends BaseEvent {
|
|
54
61
|
}
|
|
55
62
|
/**
|
|
63
|
+
* The event is dispatched when all keys all cleared.
|
|
56
64
|
*
|
|
57
65
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
58
66
|
* @group Events
|
|
@@ -64,8 +72,24 @@ export class KeysClearedCacheEvent extends BaseEvent {
|
|
|
64
72
|
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
65
73
|
* @group Events
|
|
66
74
|
*/
|
|
67
|
-
export class
|
|
75
|
+
export class UnexpectedErrorCacheEvent extends BaseEvent {
|
|
68
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
*
|
|
79
|
+
* IMPORT_PATH: ```"@daiso-tech/core/cache/contracts"```
|
|
80
|
+
* @group Events
|
|
81
|
+
*/
|
|
82
|
+
export const CACHE_EVENTS = {
|
|
83
|
+
KeyFound: KeyFoundCacheEvent,
|
|
84
|
+
KeyNotFound: KeyNotFoundCacheEvent,
|
|
85
|
+
KeyAdded: KeyAddedCacheEvent,
|
|
86
|
+
KeyUpdated: KeyUpdatedCacheEvent,
|
|
87
|
+
KeyRemoved: KeyRemovedCacheEvent,
|
|
88
|
+
KeyIncremented: KeyIncrementedCacheEvent,
|
|
89
|
+
KeyDecremented: KeyDecrementedCacheEvent,
|
|
90
|
+
KeysCleared: KeysClearedCacheEvent,
|
|
91
|
+
UnexpectedError: UnexpectedErrorCacheEvent,
|
|
92
|
+
};
|
|
69
93
|
/**
|
|
70
94
|
* The <i>registerCacheEventsToSerde</i> function registers all <i>{@link IGroupableCache}</i> related events with <i>IFlexibleSerde</i>, ensuring they will properly be serialized and deserialized.
|
|
71
95
|
*
|
|
@@ -83,7 +107,7 @@ export function registerCacheEventsToSerde(serde) {
|
|
|
83
107
|
.registerEvent(KeyIncrementedCacheEvent, CORE)
|
|
84
108
|
.registerEvent(KeyDecrementedCacheEvent, CORE)
|
|
85
109
|
.registerEvent(KeysClearedCacheEvent, CORE)
|
|
86
|
-
.registerEvent(
|
|
110
|
+
.registerEvent(UnexpectedErrorCacheEvent, CORE);
|
|
87
111
|
}
|
|
88
112
|
}
|
|
89
113
|
//# sourceMappingURL=cache.events.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.events.js","sourceRoot":"","sources":["../../../src/cache/contracts/cache.events.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAErE,OAAO,EACH,IAAI,EACJ,gBAAgB,GAGnB,MAAM,gCAAgC,CAAC;AAExC
|
|
1
|
+
{"version":3,"file":"cache.events.js","sourceRoot":"","sources":["../../../src/cache/contracts/cache.events.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AAErE,OAAO,EACH,IAAI,EACJ,gBAAgB,GAGnB,MAAM,gCAAgC,CAAC;AAExC;;;;;GAKG;AACH,MAAM,OAAO,kBAAoC,SAAQ,SAIvD;CAAG;AAEL;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,SAGzC;CAAG;AAEL;;;;;GAKG;AACH,MAAM,OAAO,kBAAoC,SAAQ,SAKvD;CAAG;AAEL;;;;;GAKG;AACH,MAAM,OAAO,oBAAsC,SAAQ,SAIzD;CAAG;AAEL;;;;;GAKG;AACH,MAAM,OAAO,oBAAqB,SAAQ,SAGxC;CAAG;AAEL;;;;;GAKG;AACH,MAAM,OAAO,wBAAyB,SAAQ,SAI5C;CAAG;AAEL;;;;;GAKG;AACH,MAAM,OAAO,wBAAyB,SAAQ,SAI5C;CAAG;AAEL;;;;;GAKG;AACH,MAAM,OAAO,qBAAsB,SAAQ,SAEzC;CAAG;AAEL;;;;GAIG;AACH,MAAM,OAAO,yBAA0B,SAAQ,SAM7C;CAAG;AAEL;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,QAAQ,EAAE,kBAAkB;IAC5B,WAAW,EAAE,qBAAqB;IAClC,QAAQ,EAAE,kBAAkB;IAC5B,UAAU,EAAE,oBAAoB;IAChC,UAAU,EAAE,oBAAoB;IAChC,cAAc,EAAE,wBAAwB;IACxC,cAAc,EAAE,wBAAwB;IACxC,WAAW,EAAE,qBAAqB;IAClC,eAAe,EAAE,yBAAyB;CAC7C,CAAC;AAkBF;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACtC,KAAgC;IAEhC,KAAK,MAAM,MAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3C,MAAM;aACD,aAAa,CAAC,kBAAkB,EAAE,IAAI,CAAC;aACvC,aAAa,CAAC,qBAAqB,EAAE,IAAI,CAAC;aAC1C,aAAa,CAAC,kBAAkB,EAAE,IAAI,CAAC;aACvC,aAAa,CAAC,oBAAoB,EAAE,IAAI,CAAC;aACzC,aAAa,CAAC,oBAAoB,EAAE,IAAI,CAAC;aACzC,aAAa,CAAC,wBAAwB,EAAE,IAAI,CAAC;aAC7C,aAAa,CAAC,wBAAwB,EAAE,IAAI,CAAC;aAC7C,aAAa,CAAC,qBAAqB,EAAE,IAAI,CAAC;aAC1C,aAAa,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;AACL,CAAC"}
|
package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Serde
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { DeserializationSerdeError, SerializationSerdeError, } from "../../../../serde/contracts/_module-exports.js";
|
|
5
5
|
/**
|
|
6
6
|
* @internal
|
|
7
7
|
*/
|
|
@@ -20,7 +20,7 @@ export class MongodbCacheAdapterSerde {
|
|
|
20
20
|
return this.serde.serialize(value);
|
|
21
21
|
}
|
|
22
22
|
catch (error) {
|
|
23
|
-
throw new
|
|
23
|
+
throw new SerializationSerdeError(`Serialization error "${String(error)}" occured`, error);
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
deserialize(value) {
|
|
@@ -31,7 +31,7 @@ export class MongodbCacheAdapterSerde {
|
|
|
31
31
|
return this.serde.deserialize(value);
|
|
32
32
|
}
|
|
33
33
|
catch (error) {
|
|
34
|
-
throw new
|
|
34
|
+
throw new DeserializationSerdeError(`Serialization error "${String(error)}" occured`, error);
|
|
35
35
|
}
|
|
36
36
|
}
|
|
37
37
|
}
|
package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mongodb-cache-adapter-serde.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAEH,
|
|
1
|
+
{"version":3,"file":"mongodb-cache-adapter-serde.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAEH,yBAAyB,EACzB,uBAAuB,GAC1B,MAAM,sCAAsC,CAAC;AAE9C;;GAEG;AACH,MAAM,OAAO,wBAAwB;IACJ;IAA7B,YAA6B,KAAqB;QAArB,UAAK,GAAL,KAAK,CAAgB;IAAG,CAAC;IAEtD,SAAS,CAAS,KAAa;QAC3B,IAAI,CAAC;YACD,IACI,OAAO,KAAK,KAAK,QAAQ;gBACzB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;gBACpB,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EACxB,CAAC;gBACC,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,MAAM,IAAI,uBAAuB,CAC7B,wBAAwB,MAAM,CAAC,KAAK,CAAC,WAAW,EAChD,KAAK,CACR,CAAC;QACN,CAAC;IACL,CAAC;IAED,WAAW,CAAS,KAAsB;QACtC,IAAI,CAAC;YACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC5B,OAAO,KAAe,CAAC;YAC3B,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,MAAM,IAAI,yBAAyB,CAC/B,wBAAwB,MAAM,CAAC,KAAK,CAAC,WAAW,EAChD,KAAK,CACR,CAAC;QACN,CAAC;IACL,CAAC;CACJ"}
|
package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @module Serde
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { DeserializationSerdeError, SerializationSerdeError, } from "../../../../serde/contracts/_module-exports.js";
|
|
5
5
|
/**
|
|
6
6
|
* @internal
|
|
7
7
|
*/
|
|
@@ -20,7 +20,7 @@ export class RedisCacheAdapterSerde {
|
|
|
20
20
|
return this.serde.serialize(value);
|
|
21
21
|
}
|
|
22
22
|
catch (error) {
|
|
23
|
-
throw new
|
|
23
|
+
throw new SerializationSerdeError(`Serialization error "${String(error)}" occured`, error);
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
deserialize(value) {
|
|
@@ -32,7 +32,7 @@ export class RedisCacheAdapterSerde {
|
|
|
32
32
|
return this.serde.deserialize(value);
|
|
33
33
|
}
|
|
34
34
|
catch (error) {
|
|
35
|
-
throw new
|
|
35
|
+
throw new DeserializationSerdeError(`Deserialization error "${String(error)}" occured`, error);
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
}
|
package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redis-cache-adapter-serde.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAEH,
|
|
1
|
+
{"version":3,"file":"redis-cache-adapter-serde.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAEH,yBAAyB,EACzB,uBAAuB,GAC1B,MAAM,sCAAsC,CAAC;AAE9C;;GAEG;AACH,MAAM,OAAO,sBAAsB;IACF;IAA7B,YAA6B,KAAqB;QAArB,UAAK,GAAL,KAAK,CAAgB;IAAG,CAAC;IAEtD,SAAS,CAAS,KAAa;QAC3B,IAAI,CAAC;YACD,IACI,OAAO,KAAK,KAAK,QAAQ;gBACzB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;gBACpB,QAAQ,CAAC,KAAK,CAAC,EACjB,CAAC;gBACC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,MAAM,IAAI,uBAAuB,CAC7B,wBAAwB,MAAM,CAAC,KAAK,CAAC,WAAW,EAChD,KAAK,CACR,CAAC;QACN,CAAC;IACL,CAAC;IAED,WAAW,CAAS,KAAa;QAC7B,IAAI,CAAC;YACD,MAAM,aAAa,GAAG,4BAA4B,CAAC;YACnD,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO,MAAM,CAAC,KAAK,CAAW,CAAC;YACnC,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,MAAM,IAAI,yBAAyB,CAC/B,0BAA0B,MAAM,CAAC,KAAK,CAAC,WAAW,EAClD,KAAK,CACR,CAAC;QACN,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -6,17 +6,26 @@ import { type ICache, type ICacheAdapter } from "../../../../cache/contracts/_mo
|
|
|
6
6
|
import { type IGroupableCache } from "../../../../cache/contracts/_module-exports.js";
|
|
7
7
|
import { type AsyncLazyable, type OneOrMore } from "../../../../utilities/_module-exports.js";
|
|
8
8
|
import { type NoneFunc, type TimeSpan, type AsyncFactoryable } from "../../../../utilities/_module-exports.js";
|
|
9
|
-
import type { LazyPromiseSettingsBase } from "../../../../async/_module-exports.js";
|
|
10
9
|
import { LazyPromise } from "../../../../async/_module-exports.js";
|
|
11
10
|
import type { IGroupableEventBus, Unsubscribe, EventClass, EventInstance, EventListener } from "../../../../event-bus/contracts/_module-exports.js";
|
|
12
|
-
import type { IKeyPrefixer, Items } from "../../../../utilities/_module-exports.js";
|
|
11
|
+
import type { AsyncLazy, Factory, IKeyPrefixer, Items } from "../../../../utilities/_module-exports.js";
|
|
13
12
|
/**
|
|
14
13
|
*
|
|
15
14
|
* IMPORT_PATH: ```"@daiso-tech/core/cache"```
|
|
16
15
|
* @group Derivables
|
|
17
16
|
*/
|
|
18
|
-
export type CacheSettingsBase =
|
|
17
|
+
export type CacheSettingsBase = {
|
|
19
18
|
keyPrefixer: IKeyPrefixer;
|
|
19
|
+
/**
|
|
20
|
+
* You can pass a <i>{@link Factory}</i> of <i>{@link LazyPromise}</i> to configure default settings for all <i>{@link LazyPromise}</i> instances used in the <i>Cache</i> class.
|
|
21
|
+
* @default
|
|
22
|
+
* ```ts
|
|
23
|
+
* import { LazyPromise } from "@daiso-tech/core/async";
|
|
24
|
+
*
|
|
25
|
+
* (invokable) => new LazyPromise(invokable)
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
lazyPromiseFactory?: Factory<AsyncLazy<any>, LazyPromise<any>>;
|
|
20
29
|
/**
|
|
21
30
|
* @default
|
|
22
31
|
* ```ts
|
|
@@ -65,12 +74,8 @@ export declare class Cache<TType = unknown> implements IGroupableCache<TType> {
|
|
|
65
74
|
private readonly adapterFactoryable;
|
|
66
75
|
private readonly adapterPromise;
|
|
67
76
|
private readonly defaultTtl;
|
|
68
|
-
private readonly retryAttempts;
|
|
69
|
-
private readonly backoffPolicy;
|
|
70
|
-
private readonly retryPolicy;
|
|
71
|
-
private readonly retryTimeout;
|
|
72
|
-
private readonly totalTimeout;
|
|
73
77
|
private readonly keyPrefixer;
|
|
78
|
+
private readonly lazyPromiseFactory;
|
|
74
79
|
/**
|
|
75
80
|
*
|
|
76
81
|
* @example
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-empty-object-type */
|
|
1
2
|
/**
|
|
2
3
|
* @module Cache
|
|
3
4
|
*/
|
|
4
|
-
import { KeyFoundCacheEvent, KeyNotFoundCacheEvent, KeyAddedCacheEvent, KeyUpdatedCacheEvent, KeyRemovedCacheEvent, KeyIncrementedCacheEvent, KeyDecrementedCacheEvent, KeysClearedCacheEvent,
|
|
5
|
+
import { KeyFoundCacheEvent, KeyNotFoundCacheEvent, KeyAddedCacheEvent, KeyUpdatedCacheEvent, KeyRemovedCacheEvent, KeyIncrementedCacheEvent, KeyDecrementedCacheEvent, KeysClearedCacheEvent, UnexpectedErrorCacheEvent, } from "../../../../cache/contracts/_module-exports.js";
|
|
5
6
|
import { KeyNotFoundCacheError, TypeCacheError, } from "../../../../cache/contracts/_module-exports.js";
|
|
6
7
|
import {} from "../../../../cache/contracts/_module-exports.js";
|
|
7
|
-
import { isAsyncFactory, resolveAsyncFactoryable, resolveAsyncLazyable, } from "../../../../utilities/_module-exports.js";
|
|
8
|
+
import { isAsyncFactory, resolveAsyncFactoryable, resolveAsyncLazyable, resolveFactory, } from "../../../../utilities/_module-exports.js";
|
|
8
9
|
import {} from "../../../../utilities/_module-exports.js";
|
|
9
10
|
import { KeyPrefixer, } from "../../../../utilities/_module-exports.js";
|
|
10
11
|
import { LazyPromise } from "../../../../async/_module-exports.js";
|
|
@@ -37,12 +38,8 @@ export class Cache {
|
|
|
37
38
|
adapterFactoryable;
|
|
38
39
|
adapterPromise;
|
|
39
40
|
defaultTtl;
|
|
40
|
-
retryAttempts;
|
|
41
|
-
backoffPolicy;
|
|
42
|
-
retryPolicy;
|
|
43
|
-
retryTimeout;
|
|
44
|
-
totalTimeout;
|
|
45
41
|
keyPrefixer;
|
|
42
|
+
lazyPromiseFactory;
|
|
46
43
|
/**
|
|
47
44
|
*
|
|
48
45
|
* @example
|
|
@@ -139,16 +136,12 @@ export class Cache {
|
|
|
139
136
|
const { keyPrefixer, adapter, eventBus: groupdEventBus = new EventBus({
|
|
140
137
|
keyPrefixer: new KeyPrefixer("event-bus"),
|
|
141
138
|
adapter: new MemoryEventBusAdapter(),
|
|
142
|
-
}), defaultTtl = null,
|
|
139
|
+
}), defaultTtl = null, lazyPromiseFactory = (invokable) => new LazyPromise(invokable), } = settings;
|
|
143
140
|
this.keyPrefixer = keyPrefixer;
|
|
144
141
|
this.groupdEventBus = groupdEventBus;
|
|
145
142
|
this.adapterFactoryable = adapter;
|
|
146
143
|
this.defaultTtl = defaultTtl;
|
|
147
|
-
this.
|
|
148
|
-
this.backoffPolicy = backoffPolicy;
|
|
149
|
-
this.retryPolicy = retryPolicy;
|
|
150
|
-
this.retryTimeout = retryTimeout;
|
|
151
|
-
this.totalTimeout = totalTimeout;
|
|
144
|
+
this.lazyPromiseFactory = resolveFactory(lazyPromiseFactory);
|
|
152
145
|
this.eventBus = this.groupdEventBus.withGroup(this.keyPrefixer.resolvedRootPrefix);
|
|
153
146
|
if (this.keyPrefixer.resolvedGroup) {
|
|
154
147
|
this.eventBus = this.groupdEventBus.withGroup([
|
|
@@ -222,13 +215,7 @@ export class Cache {
|
|
|
222
215
|
return this.eventBus.subscribeMany(events, listener);
|
|
223
216
|
}
|
|
224
217
|
createLazyPromise(asyncFn) {
|
|
225
|
-
return
|
|
226
|
-
retryAttempts: this.retryAttempts,
|
|
227
|
-
backoffPolicy: this.backoffPolicy,
|
|
228
|
-
retryPolicy: this.retryPolicy,
|
|
229
|
-
retryTimeout: this.retryTimeout,
|
|
230
|
-
totalTimeout: this.totalTimeout,
|
|
231
|
-
});
|
|
218
|
+
return this.lazyPromiseFactory(asyncFn).setRetryPolicy(Cache.defaultRetryPolicy);
|
|
232
219
|
}
|
|
233
220
|
exists(key) {
|
|
234
221
|
return new LazyPromise(async () => {
|
|
@@ -269,7 +256,7 @@ export class Cache {
|
|
|
269
256
|
}
|
|
270
257
|
catch (error) {
|
|
271
258
|
this.eventBus
|
|
272
|
-
.dispatch(new
|
|
259
|
+
.dispatch(new UnexpectedErrorCacheEvent({
|
|
273
260
|
group: this.getGroup(),
|
|
274
261
|
keys: [keyObj.resolved],
|
|
275
262
|
method: this.get.name,
|
|
@@ -322,7 +309,7 @@ export class Cache {
|
|
|
322
309
|
}
|
|
323
310
|
catch (error) {
|
|
324
311
|
this.eventBus
|
|
325
|
-
.dispatch(new
|
|
312
|
+
.dispatch(new UnexpectedErrorCacheEvent({
|
|
326
313
|
group: this.getGroup(),
|
|
327
314
|
keys: [keyObj.resolved],
|
|
328
315
|
method: this.get.name,
|
|
@@ -374,7 +361,7 @@ export class Cache {
|
|
|
374
361
|
}
|
|
375
362
|
catch (error) {
|
|
376
363
|
this.eventBus
|
|
377
|
-
.dispatch(new
|
|
364
|
+
.dispatch(new UnexpectedErrorCacheEvent({
|
|
378
365
|
group: this.getGroup(),
|
|
379
366
|
keys: [keyObj.resolved],
|
|
380
367
|
value,
|
|
@@ -415,7 +402,7 @@ export class Cache {
|
|
|
415
402
|
}
|
|
416
403
|
catch (error) {
|
|
417
404
|
this.eventBus
|
|
418
|
-
.dispatch(new
|
|
405
|
+
.dispatch(new UnexpectedErrorCacheEvent({
|
|
419
406
|
group: this.getGroup(),
|
|
420
407
|
keys: [keyObj.resolved],
|
|
421
408
|
value,
|
|
@@ -454,7 +441,7 @@ export class Cache {
|
|
|
454
441
|
}
|
|
455
442
|
catch (error) {
|
|
456
443
|
this.eventBus
|
|
457
|
-
.dispatch(new
|
|
444
|
+
.dispatch(new UnexpectedErrorCacheEvent({
|
|
458
445
|
group: this.getGroup(),
|
|
459
446
|
keys: [keyObj.resolved],
|
|
460
447
|
value,
|
|
@@ -502,7 +489,7 @@ export class Cache {
|
|
|
502
489
|
}
|
|
503
490
|
catch (error) {
|
|
504
491
|
this.eventBus
|
|
505
|
-
.dispatch(new
|
|
492
|
+
.dispatch(new UnexpectedErrorCacheEvent({
|
|
506
493
|
group: this.getGroup(),
|
|
507
494
|
keys: [keyObj.resolved],
|
|
508
495
|
value,
|
|
@@ -545,7 +532,7 @@ export class Cache {
|
|
|
545
532
|
}
|
|
546
533
|
catch (error) {
|
|
547
534
|
this.eventBus
|
|
548
|
-
.dispatch(new
|
|
535
|
+
.dispatch(new UnexpectedErrorCacheEvent({
|
|
549
536
|
group: this.getGroup(),
|
|
550
537
|
keys: [keyObj.resolved],
|
|
551
538
|
method: this.remove.name,
|
|
@@ -584,7 +571,7 @@ export class Cache {
|
|
|
584
571
|
}
|
|
585
572
|
catch (error) {
|
|
586
573
|
this.eventBus
|
|
587
|
-
.dispatch(new
|
|
574
|
+
.dispatch(new UnexpectedErrorCacheEvent({
|
|
588
575
|
group: this.getGroup(),
|
|
589
576
|
keys: keyObjArr.map((keyObj) => keyObj.resolved),
|
|
590
577
|
method: this.remove.name,
|
|
@@ -612,7 +599,7 @@ export class Cache {
|
|
|
612
599
|
}
|
|
613
600
|
catch (error) {
|
|
614
601
|
this.eventBus
|
|
615
|
-
.dispatch(new
|
|
602
|
+
.dispatch(new UnexpectedErrorCacheEvent({
|
|
616
603
|
group: this.getGroup(),
|
|
617
604
|
method: this.clear.name,
|
|
618
605
|
error,
|
|
@@ -677,10 +664,7 @@ export class Cache {
|
|
|
677
664
|
adapter: this.adapterFactoryable,
|
|
678
665
|
eventBus: this.groupdEventBus,
|
|
679
666
|
defaultTtl: this.defaultTtl,
|
|
680
|
-
|
|
681
|
-
backoffPolicy: this.backoffPolicy,
|
|
682
|
-
retryPolicy: this.retryPolicy,
|
|
683
|
-
retryTimeout: this.retryTimeout,
|
|
667
|
+
lazyPromiseFactory: this.lazyPromiseFactory,
|
|
684
668
|
});
|
|
685
669
|
return cache;
|
|
686
670
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/derivables/cache/cache.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/derivables/cache/cache.ts"],"names":[],"mappings":"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"}
|