@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.
Files changed (131) hide show
  1. package/dist/async/_module-exports.d.ts +1 -0
  2. package/dist/async/_module-exports.js +1 -0
  3. package/dist/async/_module-exports.js.map +1 -1
  4. package/dist/async/async.errors.d.ts +14 -0
  5. package/dist/async/async.errors.js +14 -0
  6. package/dist/async/async.errors.js.map +1 -1
  7. package/dist/async/async.events.d.ts +105 -0
  8. package/dist/async/async.events.js +82 -0
  9. package/dist/async/async.events.js.map +1 -0
  10. package/dist/async/backof-policies/_shared.d.ts +1 -1
  11. package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.d.ts +2 -2
  12. package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js +1 -1
  13. package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.d.ts +2 -2
  14. package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js +1 -1
  15. package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.d.ts +2 -2
  16. package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js +1 -1
  17. package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.d.ts +2 -2
  18. package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +1 -1
  19. package/dist/async/utilities/lazy-promise/lazy-promise-event-bus.d.ts +15 -0
  20. package/dist/async/utilities/lazy-promise/lazy-promise-event-bus.js +50 -0
  21. package/dist/async/utilities/lazy-promise/lazy-promise-event-bus.js.map +1 -0
  22. package/dist/async/utilities/lazy-promise/lazy-promise-listener.contract.d.ts +23 -0
  23. package/dist/async/utilities/lazy-promise/lazy-promise-listener.contract.js +44 -0
  24. package/dist/async/utilities/lazy-promise/lazy-promise-listener.contract.js.map +1 -0
  25. package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +66 -54
  26. package/dist/async/utilities/lazy-promise/lazy-promise.js +148 -94
  27. package/dist/async/utilities/lazy-promise/lazy-promise.js.map +1 -1
  28. package/dist/async/utilities/retry/retry-or-fail.d.ts +1 -1
  29. package/dist/async/utilities/retry/retry-or-fail.js +1 -1
  30. package/dist/async/utilities/retry/retry-or-fail.js.map +1 -1
  31. package/dist/async/utilities/retry/retry.d.ts +1 -1
  32. package/dist/async/utilities/retry/retry.js.map +1 -1
  33. package/dist/cache/contracts/cache.errors.d.ts +13 -0
  34. package/dist/cache/contracts/cache.errors.js +13 -0
  35. package/dist/cache/contracts/cache.errors.js.map +1 -1
  36. package/dist/cache/contracts/cache.events.d.ts +26 -2
  37. package/dist/cache/contracts/cache.events.js +26 -2
  38. package/dist/cache/contracts/cache.events.js.map +1 -1
  39. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.js +3 -3
  40. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter-serde.js.map +1 -1
  41. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.js +3 -3
  42. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter-serde.js.map +1 -1
  43. package/dist/cache/implementations/derivables/cache/cache.d.ts +13 -8
  44. package/dist/cache/implementations/derivables/cache/cache.js +17 -33
  45. package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
  46. package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +3 -22
  47. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +2 -42
  48. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
  49. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.d.ts +2 -2
  50. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js +1 -1
  51. package/dist/cache/implementations/test-utilities/cache.test-suite.d.ts +2 -2
  52. package/dist/cache/implementations/test-utilities/cache.test-suite.js +1 -1
  53. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.d.ts +2 -2
  54. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js +1 -1
  55. package/dist/collection/contracts/collection.errors.d.ts +17 -0
  56. package/dist/collection/contracts/collection.errors.js +17 -0
  57. package/dist/collection/contracts/collection.errors.js.map +1 -1
  58. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +5 -8
  59. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +5 -19
  60. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  61. package/dist/event-bus/contracts/event-bus.errors.d.ts +15 -0
  62. package/dist/event-bus/contracts/event-bus.errors.js +15 -0
  63. package/dist/event-bus/contracts/event-bus.errors.js.map +1 -1
  64. package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +13 -8
  65. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +9 -28
  66. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
  67. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +3 -29
  68. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +2 -48
  69. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
  70. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.d.ts +2 -2
  71. package/dist/event-bus/implementations/test-utilities/event-bus-adapter.test-suite.js +1 -1
  72. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.d.ts +2 -2
  73. package/dist/event-bus/implementations/test-utilities/event-bus.test-suite.js +1 -1
  74. package/dist/lock/contracts/lock.errors.d.ts +18 -0
  75. package/dist/lock/contracts/lock.errors.js +18 -0
  76. package/dist/lock/contracts/lock.errors.js.map +1 -1
  77. package/dist/lock/contracts/lock.events.d.ts +22 -0
  78. package/dist/lock/contracts/lock.events.js +22 -0
  79. package/dist/lock/contracts/lock.events.js.map +1 -1
  80. package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +14 -8
  81. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +7 -24
  82. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
  83. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +3 -25
  84. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +2 -47
  85. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
  86. package/dist/serde/contracts/deserializer.contract.d.ts +1 -1
  87. package/dist/serde/contracts/deserializer.contract.js +1 -1
  88. package/dist/serde/contracts/deserializer.contract.js.map +1 -1
  89. package/dist/serde/contracts/serde.errors.d.ts +14 -2
  90. package/dist/serde/contracts/serde.errors.js +16 -4
  91. package/dist/serde/contracts/serde.errors.js.map +1 -1
  92. package/dist/serde/contracts/serializer.contract.d.ts +1 -1
  93. package/dist/serde/contracts/serializer.contract.js +1 -1
  94. package/dist/serde/contracts/serializer.contract.js.map +1 -1
  95. package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.js +3 -3
  96. package/dist/serde/implementations/adapters/mongodb-serde/mongodb-serde.js.map +1 -1
  97. package/dist/serde/implementations/adapters/redis-serde/redis-serde.js +3 -3
  98. package/dist/serde/implementations/adapters/redis-serde/redis-serde.js.map +1 -1
  99. package/dist/serde/implementations/adapters/sql-serde/sql-serde.js +3 -3
  100. package/dist/serde/implementations/adapters/sql-serde/sql-serde.js.map +1 -1
  101. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js +3 -3
  102. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js.map +1 -1
  103. package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.d.ts +2 -2
  104. package/dist/serde/implementations/test-utilities/flexible-serde-adapter.test-suite.js +1 -1
  105. package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.d.ts +2 -2
  106. package/dist/serde/implementations/test-utilities/flexible-serde.test-suite.js +1 -1
  107. package/dist/utilities/classes/_module.d.ts +1 -0
  108. package/dist/utilities/classes/_module.js +1 -0
  109. package/dist/utilities/classes/_module.js.map +1 -1
  110. package/dist/utilities/classes/key-prefixer/key-prefixer.d.ts +20 -2
  111. package/dist/utilities/classes/key-prefixer/key-prefixer.js +20 -2
  112. package/dist/utilities/classes/key-prefixer/key-prefixer.js.map +1 -1
  113. package/dist/utilities/classes/sync-event-bus/_module.d.ts +1 -0
  114. package/dist/utilities/classes/sync-event-bus/_module.js +2 -0
  115. package/dist/utilities/classes/sync-event-bus/_module.js.map +1 -0
  116. package/dist/utilities/classes/sync-event-bus/sync-event-bus.d.ts +16 -0
  117. package/dist/utilities/classes/sync-event-bus/sync-event-bus.js +53 -0
  118. package/dist/utilities/classes/sync-event-bus/sync-event-bus.js.map +1 -0
  119. package/dist/utilities/contracts/_module.d.ts +1 -0
  120. package/dist/utilities/contracts/_module.js +1 -0
  121. package/dist/utilities/contracts/_module.js.map +1 -1
  122. package/dist/utilities/contracts/sync-event-bus-listenable.d.ts +13 -0
  123. package/dist/utilities/contracts/sync-event-bus-listenable.js +5 -0
  124. package/dist/utilities/contracts/sync-event-bus-listenable.js.map +1 -0
  125. package/dist/utilities/errors.d.ts +2 -0
  126. package/dist/utilities/errors.js +2 -0
  127. package/dist/utilities/errors.js.map +1 -1
  128. package/dist/utilities/functions/invokable.d.ts +4 -0
  129. package/dist/utilities/functions/invokable.js +9 -0
  130. package/dist/utilities/functions/invokable.js.map +1 -1
  131. 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;;;;GAIG;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;;;;GAIG;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;;;;;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"}
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 UnexpectedCacheErrorEvent extends BaseEvent<{
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 type CacheEvents<TType = unknown> = KeyFoundCacheEvent<TType> | KeyNotFoundCacheEvent | KeyAddedCacheEvent<TType> | KeyUpdatedCacheEvent<TType> | KeyRemovedCacheEvent | KeyIncrementedCacheEvent | KeyDecrementedCacheEvent | KeysClearedCacheEvent | UnexpectedCacheErrorEvent;
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 UnexpectedCacheErrorEvent extends BaseEvent {
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(UnexpectedCacheErrorEvent, CORE);
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;;;;GAIG;AACH,MAAM,OAAO,kBAAoC,SAAQ,SAIvD;CAAG;AAEL;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,SAGzC;CAAG;AAEL;;;;GAIG;AACH,MAAM,OAAO,kBAAoC,SAAQ,SAKvD;CAAG;AAEL;;;;GAIG;AACH,MAAM,OAAO,oBAAsC,SAAQ,SAIzD;CAAG;AAEL;;;;GAIG;AACH,MAAM,OAAO,oBAAqB,SAAQ,SAGxC;CAAG;AAEL;;;;GAIG;AACH,MAAM,OAAO,wBAAyB,SAAQ,SAI5C;CAAG;AAEL;;;;GAIG;AACH,MAAM,OAAO,wBAAyB,SAAQ,SAI5C;CAAG;AAEL;;;;GAIG;AACH,MAAM,OAAO,qBAAsB,SAAQ,SAEzC;CAAG;AAEL;;;;GAIG;AACH,MAAM,OAAO,yBAA0B,SAAQ,SAM7C;CAAG;AAkBL;;;;;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"}
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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @module Serde
3
3
  */
4
- import { DeserializationError, SerializationError, } from "../../../../serde/contracts/_module-exports.js";
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 SerializationError(`Serialization error "${String(error)}" occured`, error);
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 DeserializationError(`Serialization error "${String(error)}" occured`, error);
34
+ throw new DeserializationSerdeError(`Serialization error "${String(error)}" occured`, error);
35
35
  }
36
36
  }
37
37
  }
@@ -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,oBAAoB,EACpB,kBAAkB,GACrB,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,kBAAkB,CACxB,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,oBAAoB,CAC1B,wBAAwB,MAAM,CAAC,KAAK,CAAC,WAAW,EAChD,KAAK,CACR,CAAC;QACN,CAAC;IACL,CAAC;CACJ"}
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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @module Serde
3
3
  */
4
- import { DeserializationError, SerializationError, } from "../../../../serde/contracts/_module-exports.js";
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 SerializationError(`Serialization error "${String(error)}" occured`, error);
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 DeserializationError(`Deserialization error "${String(error)}" occured`, error);
35
+ throw new DeserializationSerdeError(`Deserialization error "${String(error)}" occured`, error);
36
36
  }
37
37
  }
38
38
  }
@@ -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,oBAAoB,EACpB,kBAAkB,GACrB,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,kBAAkB,CACxB,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,oBAAoB,CAC1B,0BAA0B,MAAM,CAAC,KAAK,CAAC,WAAW,EAClD,KAAK,CACR,CAAC;QACN,CAAC;IACL,CAAC;CACJ"}
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 = LazyPromiseSettingsBase & {
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, UnexpectedCacheErrorEvent, } from "../../../../cache/contracts/_module-exports.js";
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, retryAttempts = null, backoffPolicy = null, retryPolicy = Cache.defaultRetryPolicy, retryTimeout = null, totalTimeout = null, } = settings;
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.retryAttempts = retryAttempts;
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 new LazyPromise(asyncFn, {
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 UnexpectedCacheErrorEvent({
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 UnexpectedCacheErrorEvent({
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 UnexpectedCacheErrorEvent({
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 UnexpectedCacheErrorEvent({
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 UnexpectedCacheErrorEvent({
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 UnexpectedCacheErrorEvent({
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 UnexpectedCacheErrorEvent({
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 UnexpectedCacheErrorEvent({
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 UnexpectedCacheErrorEvent({
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
- retryAttempts: this.retryAttempts,
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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"}