@daiso-tech/core 0.35.4 → 0.37.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.
Files changed (194) hide show
  1. package/README.md +22 -54
  2. package/dist/async/backof-policies/_shared.d.ts +8 -2
  3. package/dist/async/backof-policies/_shared.js +0 -1
  4. package/dist/async/backof-policies/_shared.js.map +1 -1
  5. package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.d.ts +3 -3
  6. package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js +10 -4
  7. package/dist/async/backof-policies/constant-backoff-policy/constant-backoff-policy.js.map +1 -1
  8. package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.d.ts +3 -3
  9. package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js +10 -4
  10. package/dist/async/backof-policies/exponential-backoff-policy/exponential-backoff-policy.js.map +1 -1
  11. package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.d.ts +3 -3
  12. package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js +10 -4
  13. package/dist/async/backof-policies/linear-backoff-policy/linear-backoff-policy.js.map +1 -1
  14. package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.d.ts +3 -3
  15. package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js +10 -4
  16. package/dist/async/backof-policies/polynomial-backoff-policy/polynomial-backoff-policy.js.map +1 -1
  17. package/dist/async/middlewares/_shared.d.ts +6 -1
  18. package/dist/async/middlewares/_shared.js +11 -1
  19. package/dist/async/middlewares/_shared.js.map +1 -1
  20. package/dist/async/middlewares/fallback/fallback.middleware.d.ts +3 -3
  21. package/dist/async/middlewares/fallback/fallback.middleware.js +3 -2
  22. package/dist/async/middlewares/fallback/fallback.middleware.js.map +1 -1
  23. package/dist/async/middlewares/hedging/_shared.d.ts +7 -7
  24. package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.js +7 -7
  25. package/dist/async/middlewares/hedging/concurrent-hedging/concurrent-hedging.middleware.js.map +1 -1
  26. package/dist/async/middlewares/hedging/sequential-hedging/sequential-hedging.middleware.js +6 -6
  27. package/dist/async/middlewares/hedging/sequential-hedging/sequential-hedging.middleware.js.map +1 -1
  28. package/dist/async/middlewares/observe/observe.middleware.d.ts +4 -4
  29. package/dist/async/middlewares/retry/retry.middleware.d.ts +5 -4
  30. package/dist/async/middlewares/retry/retry.middleware.js +10 -10
  31. package/dist/async/middlewares/retry/retry.middleware.js.map +1 -1
  32. package/dist/async/middlewares/timeout/timeout.middleware.d.ts +4 -2
  33. package/dist/async/middlewares/timeout/timeout.middleware.js +3 -1
  34. package/dist/async/middlewares/timeout/timeout.middleware.js.map +1 -1
  35. package/dist/async/utilities/lazy-promise/lazy-promise.d.ts +1 -1
  36. package/dist/async/utilities/lazy-promise/lazy-promise.js +1 -1
  37. package/dist/async/utilities/promise-queue/promise-queue.js.map +1 -1
  38. package/dist/cache/contracts/cache-factory.contract.d.ts +2 -2
  39. package/dist/cache/contracts/cache.errors.d.ts +3 -3
  40. package/dist/cache/contracts/cache.errors.js +1 -1
  41. package/dist/cache/contracts/cache.errors.js.map +1 -1
  42. package/dist/cache/implementations/adapters/_module-exports.d.ts +1 -2
  43. package/dist/cache/implementations/adapters/_module-exports.js +1 -2
  44. package/dist/cache/implementations/adapters/_module-exports.js.map +1 -1
  45. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.d.ts +41 -16
  46. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js +102 -57
  47. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js.map +1 -1
  48. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.d.ts +1 -1
  49. package/dist/cache/implementations/adapters/memory-cache-adapter/memory-cache-adapter.js.map +1 -1
  50. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.d.ts +4 -1
  51. package/dist/cache/implementations/adapters/mongodb-cache-adapter/mongodb-cache-adapter.js.map +1 -1
  52. package/dist/cache/implementations/adapters/no-op-cache-adapter/no-op-cache-adapter.d.ts +1 -1
  53. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.d.ts +1 -1
  54. package/dist/cache/implementations/adapters/redis-cache-adapter/redis-cache-adapter.js.map +1 -1
  55. package/dist/cache/implementations/derivables/cache/cache.d.ts +27 -11
  56. package/dist/cache/implementations/derivables/cache/cache.js +38 -34
  57. package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
  58. package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +15 -47
  59. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +19 -45
  60. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
  61. package/dist/cache/implementations/test-utilities/cache.test-suite.d.ts +4 -5
  62. package/dist/cache/implementations/test-utilities/cache.test-suite.js +4 -5
  63. package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
  64. package/dist/collection/contracts/async-collection.contract.d.ts +127 -121
  65. package/dist/collection/contracts/collection.contract.d.ts +126 -120
  66. package/dist/collection/contracts/collection.errors.d.ts +3 -3
  67. package/dist/collection/contracts/collection.errors.js +1 -1
  68. package/dist/collection/contracts/collection.errors.js.map +1 -1
  69. package/dist/collection/implementations/_shared.d.ts +4 -4
  70. package/dist/collection/implementations/_shared.js +2 -2
  71. package/dist/collection/implementations/_shared.js.map +1 -1
  72. package/dist/collection/implementations/async-iterable-collection/_shared/_module.d.ts +1 -0
  73. package/dist/collection/implementations/async-iterable-collection/_shared/_module.js +1 -0
  74. package/dist/collection/implementations/async-iterable-collection/_shared/_module.js.map +1 -1
  75. package/dist/collection/implementations/async-iterable-collection/_shared/async-validate-iterable.d.ts +7 -0
  76. package/dist/collection/implementations/async-iterable-collection/_shared/async-validate-iterable.js +17 -0
  77. package/dist/collection/implementations/async-iterable-collection/_shared/async-validate-iterable.js.map +1 -0
  78. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.d.ts +15 -13
  79. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js +19 -16
  80. package/dist/collection/implementations/async-iterable-collection/async-iterable-collection.js.map +1 -1
  81. package/dist/collection/implementations/iterable-collection/_shared/_module.d.ts +1 -0
  82. package/dist/collection/implementations/iterable-collection/_shared/_module.js +1 -0
  83. package/dist/collection/implementations/iterable-collection/_shared/_module.js.map +1 -1
  84. package/dist/collection/implementations/iterable-collection/_shared/validate-iterable.d.ts +7 -0
  85. package/dist/collection/implementations/iterable-collection/_shared/validate-iterable.js +21 -0
  86. package/dist/collection/implementations/iterable-collection/_shared/validate-iterable.js.map +1 -0
  87. package/dist/collection/implementations/iterable-collection/iterable-collection.d.ts +14 -12
  88. package/dist/collection/implementations/iterable-collection/iterable-collection.js +16 -13
  89. package/dist/collection/implementations/iterable-collection/iterable-collection.js.map +1 -1
  90. package/dist/collection/implementations/list-collection/list-collection.d.ts +14 -12
  91. package/dist/collection/implementations/list-collection/list-collection.js +26 -13
  92. package/dist/collection/implementations/list-collection/list-collection.js.map +1 -1
  93. package/dist/event-bus/contracts/event-bus-factory.contract.d.ts +2 -2
  94. package/dist/event-bus/contracts/event-bus.contract.d.ts +2 -2
  95. package/dist/event-bus/contracts/event-bus.errors.d.ts +3 -3
  96. package/dist/event-bus/contracts/event-bus.errors.js +1 -1
  97. package/dist/event-bus/contracts/event-bus.errors.js.map +1 -1
  98. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.d.ts +1 -1
  99. package/dist/event-bus/implementations/adapters/memory-event-bus-adapter/memory-event-bus-adapter.js +1 -1
  100. package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +46 -9
  101. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +64 -22
  102. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
  103. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +12 -41
  104. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +15 -35
  105. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
  106. package/dist/lock/contracts/lock.errors.d.ts +2 -2
  107. package/dist/lock/contracts/lock.errors.js.map +1 -1
  108. package/dist/lock/implementations/adapters/_module-exports.d.ts +1 -2
  109. package/dist/lock/implementations/adapters/_module-exports.js +1 -2
  110. package/dist/lock/implementations/adapters/_module-exports.js.map +1 -1
  111. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.d.ts +40 -15
  112. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js +75 -34
  113. package/dist/lock/implementations/adapters/kysely-lock-adapter/kysely-lock-adapter.js.map +1 -1
  114. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.d.ts +6 -3
  115. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js +1 -1
  116. package/dist/lock/implementations/adapters/mongodb-lock-adapter/mongodb-lock-adapter.js.map +1 -1
  117. package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +22 -18
  118. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +20 -22
  119. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
  120. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.d.ts +3 -3
  121. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js +12 -6
  122. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js.map +1 -1
  123. package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +4 -2
  124. package/dist/lock/implementations/derivables/lock-provider/lock.js +16 -18
  125. package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
  126. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +6 -50
  127. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +10 -54
  128. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
  129. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.d.ts +1 -9
  130. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js +1 -9
  131. package/dist/lock/implementations/test-utilities/lock-provider.test-suite.js.map +1 -1
  132. package/dist/serde/contracts/flexible-serde.contract.d.ts +9 -2
  133. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js +1 -1
  134. package/dist/serde/implementations/adapters/super-json-serde-adapter/super-json-serde-adapter.js.map +1 -1
  135. package/dist/utilities/classes/_module.d.ts +1 -1
  136. package/dist/utilities/classes/_module.js +1 -1
  137. package/dist/utilities/classes/_module.js.map +1 -1
  138. package/dist/utilities/classes/hooks/hooks.d.ts +2 -2
  139. package/dist/utilities/classes/hooks/hooks.js +2 -2
  140. package/dist/utilities/classes/namespace/_module.d.ts +1 -0
  141. package/dist/utilities/classes/namespace/_module.js +2 -0
  142. package/dist/utilities/classes/namespace/_module.js.map +1 -0
  143. package/dist/utilities/classes/{key-prefixer/key-prefixer.d.ts → namespace/namespace.d.ts} +38 -17
  144. package/dist/utilities/classes/{key-prefixer/key-prefixer.js → namespace/namespace.js} +51 -19
  145. package/dist/utilities/classes/namespace/namespace.js.map +1 -0
  146. package/dist/utilities/classes/time-span/time-span.d.ts +1 -2
  147. package/dist/utilities/classes/time-span/time-span.js +1 -4
  148. package/dist/utilities/classes/time-span/time-span.js.map +1 -1
  149. package/dist/utilities/functions/_module-exports.d.ts +2 -1
  150. package/dist/utilities/functions/_module-exports.js +2 -1
  151. package/dist/utilities/functions/_module-exports.js.map +1 -1
  152. package/dist/utilities/functions/lazy.d.ts +4 -0
  153. package/dist/utilities/functions/lazy.js +9 -3
  154. package/dist/utilities/functions/lazy.js.map +1 -1
  155. package/dist/utilities/functions/result.d.ts +11 -0
  156. package/dist/utilities/functions/result.js +15 -0
  157. package/dist/utilities/functions/result.js.map +1 -0
  158. package/dist/utilities/functions/validate.d.ts +8 -0
  159. package/dist/utilities/functions/validate.js +17 -0
  160. package/dist/utilities/functions/validate.js.map +1 -0
  161. package/dist/utilities/types/factory.type.d.ts +13 -18
  162. package/dist/utilities/types/result.type.d.ts +11 -1
  163. package/package.json +15 -11
  164. package/dist/cache/implementations/adapters/libsql-cache-adapter/_module.d.ts +0 -1
  165. package/dist/cache/implementations/adapters/libsql-cache-adapter/_module.js +0 -2
  166. package/dist/cache/implementations/adapters/libsql-cache-adapter/_module.js.map +0 -1
  167. package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.d.ts +0 -61
  168. package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js +0 -95
  169. package/dist/cache/implementations/adapters/libsql-cache-adapter/libsql-cache-adapter.js.map +0 -1
  170. package/dist/cache/implementations/adapters/sqlite-cache-adapter/_module.d.ts +0 -1
  171. package/dist/cache/implementations/adapters/sqlite-cache-adapter/_module.js +0 -2
  172. package/dist/cache/implementations/adapters/sqlite-cache-adapter/_module.js.map +0 -1
  173. package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.d.ts +0 -59
  174. package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js +0 -94
  175. package/dist/cache/implementations/adapters/sqlite-cache-adapter/sqlite-cache-adapter.js.map +0 -1
  176. package/dist/lock/implementations/adapters/libsql-lock-adapter/_module.d.ts +0 -1
  177. package/dist/lock/implementations/adapters/libsql-lock-adapter/_module.js +0 -2
  178. package/dist/lock/implementations/adapters/libsql-lock-adapter/_module.js.map +0 -1
  179. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.d.ts +0 -60
  180. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js +0 -84
  181. package/dist/lock/implementations/adapters/libsql-lock-adapter/libsql-lock-adapter.js.map +0 -1
  182. package/dist/lock/implementations/adapters/sqlite-lock-adapter/_module.d.ts +0 -1
  183. package/dist/lock/implementations/adapters/sqlite-lock-adapter/_module.js +0 -2
  184. package/dist/lock/implementations/adapters/sqlite-lock-adapter/_module.js.map +0 -1
  185. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.d.ts +0 -59
  186. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js +0 -83
  187. package/dist/lock/implementations/adapters/sqlite-lock-adapter/sqlite-lock-adapter.js.map +0 -1
  188. package/dist/utilities/classes/key-prefixer/_module.d.ts +0 -1
  189. package/dist/utilities/classes/key-prefixer/_module.js +0 -2
  190. package/dist/utilities/classes/key-prefixer/_module.js.map +0 -1
  191. package/dist/utilities/classes/key-prefixer/key-prefixer.js.map +0 -1
  192. package/dist/utilities/functions/factory.d.ts +0 -44
  193. package/dist/utilities/functions/factory.js +0 -80
  194. package/dist/utilities/functions/factory.js.map +0 -1
@@ -4,9 +4,9 @@
4
4
  */
5
5
  import { CACHE_EVENTS, } from "../../../../cache/contracts/_module-exports.js";
6
6
  import { KeyNotFoundCacheError, TypeCacheError, } from "../../../../cache/contracts/_module-exports.js";
7
- import { isAsyncFactory, resolveAsyncLazyable, resolveFactory, } from "../../../../utilities/_module-exports.js";
7
+ import { resolveAsyncLazyable, resolveInvokable, validate, } from "../../../../utilities/_module-exports.js";
8
8
  import {} from "../../../../utilities/_module-exports.js";
9
- import { KeyPrefixer, } from "../../../../utilities/_module-exports.js";
9
+ import { Namespace, } from "../../../../utilities/_module-exports.js";
10
10
  import { LazyPromise } from "../../../../async/_module-exports.js";
11
11
  import { EventBus } from "../../../../event-bus/implementations/derivables/_module-exports.js";
12
12
  import { MemoryEventBusAdapter } from "../../../../event-bus/implementations/adapters/_module-exports.js";
@@ -19,11 +19,12 @@ import { DatabaseCacheAdapter } from "../../../../cache/implementations/derivabl
19
19
  */
20
20
  export class Cache {
21
21
  eventBus;
22
- adapterFactoryable;
23
22
  adapter;
24
23
  defaultTtl;
25
- keyPrefixer;
24
+ namespace;
26
25
  lazyPromiseFactory;
26
+ schema;
27
+ shouldValidateOutput;
27
28
  /**
28
29
  *
29
30
  * @example
@@ -33,7 +34,7 @@ export class Cache {
33
34
  * import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters"
34
35
  * import Sqlite from "better-sqlite3";
35
36
  * import { Cache } from "@daiso-tech/core/cache";
36
- * import { KeyPrefixer } from "@daiso-tech/core/utilities";
37
+ * import { Namespace } from "@daiso-tech/core/utilities";
37
38
  *
38
39
  * const database = new Sqlite("local.db");
39
40
  * const serde = new Serde(new SuperJsonSerdeAdapter());
@@ -45,20 +46,19 @@ export class Cache {
45
46
  * await cacheAdapter.init();
46
47
  *
47
48
  * const cache = new Cache({
48
- * keyPrefixer: new KeyPrefixer("cache"),
49
49
  * adapter: cacheAdapter,
50
50
  * });
51
51
  * ```
52
52
  */
53
53
  constructor(settings) {
54
- const { keyPrefixer, adapter, eventBus = new EventBus({
55
- keyPrefixer: new KeyPrefixer("event-bus"),
54
+ const { shouldValidateOutput = true, schema, namespace = new Namespace(["@", "cache"]), adapter, eventBus = new EventBus({
56
55
  adapter: new MemoryEventBusAdapter(),
57
56
  }), defaultTtl = null, lazyPromiseFactory = (invokable) => new LazyPromise(invokable), } = settings;
58
- this.keyPrefixer = keyPrefixer;
59
- this.adapterFactoryable = adapter;
57
+ this.shouldValidateOutput = shouldValidateOutput;
58
+ this.schema = schema;
59
+ this.namespace = namespace;
60
60
  this.defaultTtl = defaultTtl;
61
- this.lazyPromiseFactory = resolveFactory(lazyPromiseFactory);
61
+ this.lazyPromiseFactory = resolveInvokable(lazyPromiseFactory);
62
62
  this.eventBus = eventBus;
63
63
  if (isDatabaseCacheAdapter(adapter)) {
64
64
  this.adapter = new DatabaseCacheAdapter(adapter);
@@ -126,9 +126,12 @@ export class Cache {
126
126
  }
127
127
  get(key) {
128
128
  return this.createLazyPromise(async () => {
129
- const keyObj = this.keyPrefixer.create(key);
129
+ const keyObj = this.namespace._getInternal().create(key);
130
130
  try {
131
- const value = await this.adapter.get(keyObj.prefixed);
131
+ const value = await this.adapter.get(keyObj.namespaced);
132
+ if (this.shouldValidateOutput && value !== null) {
133
+ await validate(this.schema, value);
134
+ }
132
135
  if (value === null) {
133
136
  this.eventBus
134
137
  .dispatch(CACHE_EVENTS.NOT_FOUND, {
@@ -162,16 +165,19 @@ export class Cache {
162
165
  return this.createLazyPromise(async () => {
163
166
  const value = await this.get(key);
164
167
  if (value === null) {
165
- throw new KeyNotFoundCacheError(`Key "${this.keyPrefixer.create(key).resolved}" is not found`);
168
+ throw new KeyNotFoundCacheError(`Key "${this.namespace._getInternal().create(key).resolved}" is not found`);
166
169
  }
167
170
  return value;
168
171
  });
169
172
  }
170
173
  getAndRemove(key) {
171
174
  return this.createLazyPromise(async () => {
172
- const keyObj = this.keyPrefixer.create(key);
175
+ const keyObj = this.namespace._getInternal().create(key);
173
176
  try {
174
- const value = await this.adapter.getAndRemove(keyObj.prefixed);
177
+ const value = await this.adapter.getAndRemove(keyObj.namespaced);
178
+ if (this.shouldValidateOutput && value !== null) {
179
+ await validate(this.schema, value);
180
+ }
175
181
  if (value === null) {
176
182
  this.eventBus
177
183
  .dispatch(CACHE_EVENTS.NOT_FOUND, {
@@ -230,9 +236,10 @@ export class Cache {
230
236
  }
231
237
  add(key, value, ttl = this.defaultTtl) {
232
238
  return this.createLazyPromise(async () => {
233
- const keyObj = this.keyPrefixer.create(key);
239
+ const keyObj = this.namespace._getInternal().create(key);
234
240
  try {
235
- const hasAdded = await this.adapter.add(keyObj.prefixed, value, ttl);
241
+ await validate(this.schema, value);
242
+ const hasAdded = await this.adapter.add(keyObj.namespaced, value, ttl);
236
243
  if (hasAdded) {
237
244
  this.eventBus
238
245
  .dispatch(CACHE_EVENTS.WRITTEN, {
@@ -260,9 +267,10 @@ export class Cache {
260
267
  }
261
268
  put(key, value, ttl = this.defaultTtl) {
262
269
  return this.createLazyPromise(async () => {
263
- const keyObj = this.keyPrefixer.create(key);
270
+ const keyObj = this.namespace._getInternal().create(key);
264
271
  try {
265
- const hasUpdated = await this.adapter.put(keyObj.prefixed, value, ttl);
272
+ await validate(this.schema, value);
273
+ const hasUpdated = await this.adapter.put(keyObj.namespaced, value, ttl);
266
274
  if (hasUpdated) {
267
275
  this.eventBus
268
276
  .dispatch(CACHE_EVENTS.WRITTEN, {
@@ -299,9 +307,10 @@ export class Cache {
299
307
  }
300
308
  update(key, value) {
301
309
  return this.createLazyPromise(async () => {
302
- const keyObj = this.keyPrefixer.create(key);
310
+ const keyObj = this.namespace._getInternal().create(key);
303
311
  try {
304
- const hasUpdated = await this.adapter.update(keyObj.prefixed, value);
312
+ await validate(this.schema, value);
313
+ const hasUpdated = await this.adapter.update(keyObj.namespaced, value);
305
314
  if (hasUpdated) {
306
315
  this.eventBus
307
316
  .dispatch(CACHE_EVENTS.WRITTEN, {
@@ -335,9 +344,9 @@ export class Cache {
335
344
  }
336
345
  increment(key, value = 0) {
337
346
  return this.createLazyPromise(async () => {
338
- const keyObj = this.keyPrefixer.create(key);
347
+ const keyObj = this.namespace._getInternal().create(key);
339
348
  try {
340
- const hasUpdated = await this.adapter.increment(keyObj.prefixed, value);
349
+ const hasUpdated = await this.adapter.increment(keyObj.namespaced, value);
341
350
  if (hasUpdated && value > 0) {
342
351
  this.eventBus
343
352
  .dispatch(CACHE_EVENTS.WRITTEN, {
@@ -385,10 +394,10 @@ export class Cache {
385
394
  }
386
395
  remove(key) {
387
396
  return this.createLazyPromise(async () => {
388
- const keyObj = this.keyPrefixer.create(key);
397
+ const keyObj = this.namespace._getInternal().create(key);
389
398
  try {
390
399
  const hasRemoved = await this.adapter.removeMany([
391
- keyObj.prefixed,
400
+ keyObj.namespaced,
392
401
  ]);
393
402
  if (hasRemoved) {
394
403
  this.eventBus
@@ -425,9 +434,9 @@ export class Cache {
425
434
  if (keysArr.length === 0) {
426
435
  return true;
427
436
  }
428
- const keyObjArr = keysArr.map((key) => this.keyPrefixer.create(key));
437
+ const keyObjArr = keysArr.map((key) => this.namespace._getInternal().create(key));
429
438
  try {
430
- const hasRemovedAtLeastOne = await this.adapter.removeMany(keyObjArr.map((keyObj) => keyObj.prefixed));
439
+ const hasRemovedAtLeastOne = await this.adapter.removeMany(keyObjArr.map((keyObj) => keyObj.namespaced));
431
440
  if (hasRemovedAtLeastOne) {
432
441
  const events = keyObjArr.map((keyObj) => [
433
442
  CACHE_EVENTS.WRITTEN,
@@ -469,12 +478,7 @@ export class Cache {
469
478
  return this.createLazyPromise(async () => {
470
479
  try {
471
480
  const promise = this.eventBus.dispatch(CACHE_EVENTS.CLEARED, {});
472
- if (isAsyncFactory(this.adapterFactoryable)) {
473
- await this.adapter.removeAll();
474
- promise.defer();
475
- return;
476
- }
477
- await this.adapter.removeByKeyPrefix(this.keyPrefixer.keyPrefix);
481
+ await this.adapter.removeByKeyPrefix(this.namespace._getInternal().namespaced);
478
482
  promise.defer();
479
483
  }
480
484
  catch (error) {
@@ -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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"}
@@ -5,8 +5,9 @@ import { type AsyncLazy, type Factory } from "../../../../utilities/_module-expo
5
5
  import type { IEventBus } from "../../../../event-bus/contracts/_module-exports.js";
6
6
  import type { ICache, ICacheFactory } from "../../../../cache/contracts/_module-exports.js";
7
7
  import { type CacheSettingsBase, type CacheAdapter } from "../../../../cache/implementations/derivables/cache/_module.js";
8
- import { KeyPrefixer, type TimeSpan } from "../../../../utilities/_module-exports.js";
8
+ import { Namespace, type TimeSpan } from "../../../../utilities/_module-exports.js";
9
9
  import type { LazyPromise } from "../../../../async/_module-exports.js";
10
+ import type { StandardSchemaV1 } from "@standard-schema/spec";
10
11
  /**
11
12
  *
12
13
  * IMPORT_PATH: `"@daiso-tech/core/cache"`
@@ -18,7 +19,7 @@ export type CacheAdapters<TAdapters extends string = string> = Partial<Record<TA
18
19
  * IMPORT_PATH: `"@daiso-tech/core/cache"`
19
20
  * @group Derivables
20
21
  */
21
- export type CacheFactorySettings<TAdapters extends string = string> = CacheSettingsBase & {
22
+ export type CacheFactorySettings<TAdapters extends string = string, TType = unknown> = CacheSettingsBase<TType> & {
22
23
  adapters: CacheAdapters<TAdapters>;
23
24
  defaultAdapter?: NoInfer<TAdapters>;
24
25
  };
@@ -28,39 +29,21 @@ export type CacheFactorySettings<TAdapters extends string = string> = CacheSetti
28
29
  * IMPORT_PATH: `"@daiso-tech/core/cache"`
29
30
  * @group Derivables
30
31
  */
31
- export declare class CacheFactory<TAdapters extends string = string> implements ICacheFactory<TAdapters> {
32
+ export declare class CacheFactory<TAdapters extends string = string, TType = unknown> implements ICacheFactory<TAdapters, TType> {
32
33
  private readonly settings;
33
34
  /**
34
35
  * @example
35
36
  * ```ts
36
37
  * import { CacheFactory } from "@daiso-tech/core/cache";
37
- * import type { IDatabaseCacheAdapter } from "@daiso-tech/core/cache/contracts";
38
- * import { MemoryCacheAdapter, RedisCacheAdapter, SqliteCacheAdapter } from "@daiso-tech/core/cache/adapters";
38
+ * import { MemoryCacheAdapter, RedisCacheAdapter } from "@daiso-tech/core/cache/adapters";
39
39
  * import { Serde } from "@daiso-tech/core/serde";
40
40
  * import type { ISerde } from "@daiso-tech/core/serde/contracts";
41
41
  * import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters";
42
- * import { KeyPrefixer, type ISqliteDatabase, type AsyncFactoryFn } from "@daiso-tech/core/utilities";
43
42
  * import Redis from "ioredis"
44
- * import Sqlite from "better-sqlite3";
45
43
  *
46
- * function cahceAdapterFactory(database: ISqliteDatabase, serde: ISerde<string>): AsyncFactoryFn<string, IDatabaseCacheAdapter> {
47
- * return async (prefix) => {
48
- * const cacheAdapter = new SqliteCacheAdapter({
49
- * database,
50
- * serde,
51
- * tableName: `cache_${prefix}`
52
- * });
53
- * await cacheAdapter.init();
54
- * return cacheAdapter;
55
- * }
56
- * }
57
- *
58
- * const database = new Sqlite("local.db");
59
44
  * const serde = new Serde(new SuperJsonSerdeAdapter());
60
45
  * const cacheFactory = new CacheFactory({
61
- * keyPrefixer: new KeyPrefixer("cache"),
62
46
  * adapters: {
63
- * sqlite: cahceAdapterFactory(database, serde),
64
47
  * memory: new MemoryCacheAdapter(),
65
48
  * redis: new RedisCacheAdapter({
66
49
  * database: new Redis("YOUR_REDIS_CONNECTION"),
@@ -70,42 +53,27 @@ export declare class CacheFactory<TAdapters extends string = string> implements
70
53
  * defaultAdapter: "memory",
71
54
  * });
72
55
  */
73
- constructor(settings: CacheFactorySettings<TAdapters>);
74
- setKeyPrefixer(keyPrefixer: KeyPrefixer): CacheFactory<TAdapters>;
75
- setDefaultTtl(ttl: TimeSpan): CacheFactory<TAdapters>;
76
- setEventBus(eventBus: IEventBus): CacheFactory<TAdapters>;
77
- setlazyPromiseFactory(factory: Factory<AsyncLazy<any>, LazyPromise<any>>): CacheFactory<TAdapters>;
56
+ constructor(settings: CacheFactorySettings<TAdapters, TType>);
57
+ setNamespace(namespace: Namespace): CacheFactory<TAdapters, TType>;
58
+ setDefaultTtl(ttl: TimeSpan): CacheFactory<TAdapters, TType>;
59
+ setEventBus(eventBus: IEventBus): CacheFactory<TAdapters, TType>;
60
+ setLazyPromiseFactory(factory: Factory<AsyncLazy<any>, LazyPromise<any>>): CacheFactory<TAdapters, TType>;
61
+ setSchema<TSchemaOutputType>(schema: StandardSchemaV1<TSchemaOutputType>): CacheFactory<TAdapters, TSchemaOutputType>;
62
+ setType<TOutputType>(): CacheFactory<TAdapters, TOutputType>;
78
63
  /**
79
64
  * @example
80
65
  * ```ts
81
66
  * import { CacheFactory } from "@daiso-tech/core/cache";
82
- * import type { IDatabaseCacheAdapter } from "@daiso-tech/core/cache/contracts";
83
- * import { MemoryCacheAdapter, RedisCacheAdapter, SqliteCacheAdapter } from "@daiso-tech/core/cache/adapters";
67
+ * import { MemoryCacheAdapter, RedisCacheAdapter } from "@daiso-tech/core/cache/adapters";
84
68
  * import { Serde } from "@daiso-tech/core/serde";
85
69
  * import type { ISerde } from "@daiso-tech/core/serde/contracts";
86
70
  * import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters";
87
- * import { KeyPrefixer, TimeSpan, type ISqliteDatabase, type AsyncFactoryFn } from "@daiso-tech/core/utilities";
71
+ * import { TimeSpan } from "@daiso-tech/core/utilities";
88
72
  * import Redis from "ioredis"
89
- * import Sqlite from "better-sqlite3";
90
- *
91
- * function cahceAdapterFactory(database: ISqliteDatabase, serde: ISerde<string>): AsyncFactoryFn<string, IDatabaseCacheAdapter> {
92
- * return async (prefix) => {
93
- * const cacheAdapter = new SqliteCacheAdapter({
94
- * database,
95
- * serde,
96
- * tableName: `cache_${prefix}`
97
- * });
98
- * await cacheAdapter.init();
99
- * return cacheAdapter;
100
- * }
101
- * }
102
73
  *
103
- * const database = new Sqlite("local.db");
104
74
  * const serde = new Serde(new SuperJsonSerdeAdapter());
105
75
  * const cacheFactory = new CacheFactory({
106
- * keyPrefixer: new KeyPrefixer("cache"),
107
76
  * adapters: {
108
- * sqlite: cahceAdapterFactory(database, serde),
109
77
  * memory: new MemoryCacheAdapter(),
110
78
  * redis: new RedisCacheAdapter({
111
79
  * database: new Redis("YOUR_REDIS_CONNECTION"),
@@ -132,5 +100,5 @@ export declare class CacheFactory<TAdapters extends string = string> implements
132
100
  * .add("a", 1);
133
101
  * ```
134
102
  */
135
- use<TType = unknown>(adapterName?: TAdapters | undefined): ICache<TType>;
103
+ use(adapterName?: TAdapters | undefined): ICache<TType>;
136
104
  }
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { DefaultAdapterNotDefinedError, resolveOneOrMore, UnregisteredAdapterError, } from "../../../../utilities/_module-exports.js";
5
5
  import { Cache, } from "../../../../cache/implementations/derivables/cache/_module.js";
6
- import { KeyPrefixer } from "../../../../utilities/_module-exports.js";
6
+ import { Namespace } from "../../../../utilities/_module-exports.js";
7
7
  /**
8
8
  * The `CacheFactory` class is immutable.
9
9
  *
@@ -16,33 +16,15 @@ export class CacheFactory {
16
16
  * @example
17
17
  * ```ts
18
18
  * import { CacheFactory } from "@daiso-tech/core/cache";
19
- * import type { IDatabaseCacheAdapter } from "@daiso-tech/core/cache/contracts";
20
- * import { MemoryCacheAdapter, RedisCacheAdapter, SqliteCacheAdapter } from "@daiso-tech/core/cache/adapters";
19
+ * import { MemoryCacheAdapter, RedisCacheAdapter } from "@daiso-tech/core/cache/adapters";
21
20
  * import { Serde } from "@daiso-tech/core/serde";
22
21
  * import type { ISerde } from "@daiso-tech/core/serde/contracts";
23
22
  * import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters";
24
- * import { KeyPrefixer, type ISqliteDatabase, type AsyncFactoryFn } from "@daiso-tech/core/utilities";
25
23
  * import Redis from "ioredis"
26
- * import Sqlite from "better-sqlite3";
27
24
  *
28
- * function cahceAdapterFactory(database: ISqliteDatabase, serde: ISerde<string>): AsyncFactoryFn<string, IDatabaseCacheAdapter> {
29
- * return async (prefix) => {
30
- * const cacheAdapter = new SqliteCacheAdapter({
31
- * database,
32
- * serde,
33
- * tableName: `cache_${prefix}`
34
- * });
35
- * await cacheAdapter.init();
36
- * return cacheAdapter;
37
- * }
38
- * }
39
- *
40
- * const database = new Sqlite("local.db");
41
25
  * const serde = new Serde(new SuperJsonSerdeAdapter());
42
26
  * const cacheFactory = new CacheFactory({
43
- * keyPrefixer: new KeyPrefixer("cache"),
44
27
  * adapters: {
45
- * sqlite: cahceAdapterFactory(database, serde),
46
28
  * memory: new MemoryCacheAdapter(),
47
29
  * redis: new RedisCacheAdapter({
48
30
  * database: new Redis("YOUR_REDIS_CONNECTION"),
@@ -55,10 +37,10 @@ export class CacheFactory {
55
37
  constructor(settings) {
56
38
  this.settings = settings;
57
39
  }
58
- setKeyPrefixer(keyPrefixer) {
40
+ setNamespace(namespace) {
59
41
  return new CacheFactory({
60
42
  ...this.settings,
61
- keyPrefixer,
43
+ namespace,
62
44
  });
63
45
  }
64
46
  setDefaultTtl(ttl) {
@@ -73,43 +55,35 @@ export class CacheFactory {
73
55
  eventBus,
74
56
  });
75
57
  }
76
- setlazyPromiseFactory(factory) {
58
+ setLazyPromiseFactory(factory) {
77
59
  return new CacheFactory({
78
60
  ...this.settings,
79
61
  lazyPromiseFactory: factory,
80
62
  });
81
63
  }
64
+ setSchema(schema) {
65
+ return new CacheFactory({
66
+ ...this.settings,
67
+ schema,
68
+ });
69
+ }
70
+ setType() {
71
+ return new CacheFactory(this.settings);
72
+ }
82
73
  /**
83
74
  * @example
84
75
  * ```ts
85
76
  * import { CacheFactory } from "@daiso-tech/core/cache";
86
- * import type { IDatabaseCacheAdapter } from "@daiso-tech/core/cache/contracts";
87
- * import { MemoryCacheAdapter, RedisCacheAdapter, SqliteCacheAdapter } from "@daiso-tech/core/cache/adapters";
77
+ * import { MemoryCacheAdapter, RedisCacheAdapter } from "@daiso-tech/core/cache/adapters";
88
78
  * import { Serde } from "@daiso-tech/core/serde";
89
79
  * import type { ISerde } from "@daiso-tech/core/serde/contracts";
90
80
  * import { SuperJsonSerdeAdapter } from "@daiso-tech/core/serde/adapters";
91
- * import { KeyPrefixer, TimeSpan, type ISqliteDatabase, type AsyncFactoryFn } from "@daiso-tech/core/utilities";
81
+ * import { TimeSpan } from "@daiso-tech/core/utilities";
92
82
  * import Redis from "ioredis"
93
- * import Sqlite from "better-sqlite3";
94
- *
95
- * function cahceAdapterFactory(database: ISqliteDatabase, serde: ISerde<string>): AsyncFactoryFn<string, IDatabaseCacheAdapter> {
96
- * return async (prefix) => {
97
- * const cacheAdapter = new SqliteCacheAdapter({
98
- * database,
99
- * serde,
100
- * tableName: `cache_${prefix}`
101
- * });
102
- * await cacheAdapter.init();
103
- * return cacheAdapter;
104
- * }
105
- * }
106
83
  *
107
- * const database = new Sqlite("local.db");
108
84
  * const serde = new Serde(new SuperJsonSerdeAdapter());
109
85
  * const cacheFactory = new CacheFactory({
110
- * keyPrefixer: new KeyPrefixer("cache"),
111
86
  * adapters: {
112
- * sqlite: cahceAdapterFactory(database, serde),
113
87
  * memory: new MemoryCacheAdapter(),
114
88
  * redis: new RedisCacheAdapter({
115
89
  * database: new Redis("YOUR_REDIS_CONNECTION"),
@@ -144,12 +118,12 @@ export class CacheFactory {
144
118
  if (adapter === undefined) {
145
119
  throw new UnregisteredAdapterError(adapterName);
146
120
  }
147
- const { keyPrefixer } = this.settings;
121
+ const { namespace = new Namespace(["@", "cache"]) } = this.settings;
148
122
  return new Cache({
149
123
  ...this.settings,
150
124
  adapter,
151
- keyPrefixer: new KeyPrefixer([
152
- ...resolveOneOrMore(keyPrefixer.originalRootPrefix),
125
+ namespace: new Namespace([
126
+ ...resolveOneOrMore(namespace._getInternal().original),
153
127
  adapterName,
154
128
  ]),
155
129
  });
@@ -1 +1 @@
1
- {"version":3,"file":"cache-factory.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/derivables/cache-factory/cache-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACH,6BAA6B,EAC7B,gBAAgB,EAChB,wBAAwB,GAG3B,MAAM,gCAAgC,CAAC;AAMxC,OAAO,EACH,KAAK,GAGR,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAiB,MAAM,gCAAgC,CAAC;AAwB5E;;;;;GAKG;AACH,MAAM,OAAO,YAAY;IA2CQ;IAxC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACH,YAA6B,QAAyC;QAAzC,aAAQ,GAAR,QAAQ,CAAiC;IAAG,CAAC;IAE1E,cAAc,CAAC,WAAwB;QACnC,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,WAAW;SACd,CAAC,CAAC;IACP,CAAC;IAED,aAAa,CAAC,GAAa;QACvB,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,UAAU,EAAE,GAAG;SAClB,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,QAAmB;QAC3B,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB,CACjB,OAAkD;QAElD,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,kBAAkB,EAAE,OAAO;SAC9B,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwDG;IACH,GAAG,CACC,cAAqC,IAAI,CAAC,QAAQ,CAAC,cAAc;QAEjE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,6BAA6B,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QACtC,OAAO,IAAI,KAAK,CAAC;YACb,GAAG,IAAI,CAAC,QAAQ;YAChB,OAAO;YACP,WAAW,EAAE,IAAI,WAAW,CAAC;gBACzB,GAAG,gBAAgB,CAAC,WAAW,CAAC,kBAAkB,CAAC;gBACnD,WAAW;aACd,CAAC;SACL,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"cache-factory.js","sourceRoot":"","sources":["../../../../../src/cache/implementations/derivables/cache-factory/cache-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACH,6BAA6B,EAC7B,gBAAgB,EAChB,wBAAwB,GAG3B,MAAM,gCAAgC,CAAC;AAMxC,OAAO,EACH,KAAK,GAGR,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAiB,MAAM,gCAAgC,CAAC;AA2B1E;;;;;GAKG;AACH,MAAM,OAAO,YAAY;IA0BA;IAvBrB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,YACqB,QAAgD;QAAhD,aAAQ,GAAR,QAAQ,CAAwC;IAClE,CAAC;IAEJ,YAAY,CAAC,SAAoB;QAC7B,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,aAAa,CAAC,GAAa;QACvB,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,UAAU,EAAE,GAAG;SAClB,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,QAAmB;QAC3B,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB,CACjB,OAAkD;QAElD,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,kBAAkB,EAAE,OAAO;SAC9B,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CACL,MAA2C;QAE3C,OAAO,IAAI,YAAY,CAAC;YACpB,GAAG,IAAI,CAAC,QAAQ;YAChB,MAAM;SACT,CAAC,CAAC;IACP,CAAC;IAED,OAAO;QACH,OAAO,IAAI,YAAY,CACnB,IAAI,CAAC,QAAwD,CAChE,CAAC;IACN,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;IACH,GAAG,CACC,cAAqC,IAAI,CAAC,QAAQ,CAAC,cAAc;QAEjE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,6BAA6B,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,EAAE,SAAS,GAAG,IAAI,SAAS,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QACpE,OAAO,IAAI,KAAK,CAAC;YACb,GAAG,IAAI,CAAC,QAAQ;YAChB,OAAO;YACP,SAAS,EAAE,IAAI,SAAS,CAAC;gBACrB,GAAG,gBAAgB,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC;gBACtD,WAAW;aACd,CAAC;SACL,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -27,15 +27,14 @@ export type CacheTestSuiteSettings = {
27
27
  * import { cacheTestSuite } from "@daiso-tech/core/cache/test-utilities";
28
28
  * import { MemoryCacheAdapter } from "@daiso-tech/core/cache/adapters";
29
29
  * import { Cache } from "@daiso-tech/core/cache";
30
- * import { KeyPrefixer } from "@daiso-tech/core/utilities";
31
30
  *
32
31
  * describe("class: Cache", () => {
33
32
  * cacheTestSuite({
34
- * createCache: () =>
35
- * new Cache({
36
- * keyPrefixer: new KeyPrefixer("cache"),
33
+ * createCache: () => {
34
+ * return new Cache({
37
35
  * adapter: new MemoryCacheAdapter(),
38
- * }),
36
+ * });
37
+ * },
39
38
  * test,
40
39
  * beforeEach,
41
40
  * expect,
@@ -17,15 +17,14 @@ import { LazyPromise } from "../../../async/_module-exports.js";
17
17
  * import { cacheTestSuite } from "@daiso-tech/core/cache/test-utilities";
18
18
  * import { MemoryCacheAdapter } from "@daiso-tech/core/cache/adapters";
19
19
  * import { Cache } from "@daiso-tech/core/cache";
20
- * import { KeyPrefixer } from "@daiso-tech/core/utilities";
21
20
  *
22
21
  * describe("class: Cache", () => {
23
22
  * cacheTestSuite({
24
- * createCache: () =>
25
- * new Cache({
26
- * keyPrefixer: new KeyPrefixer("cache"),
23
+ * createCache: () => {
24
+ * return new Cache({
27
25
  * adapter: new MemoryCacheAdapter(),
28
- * }),
26
+ * });
27
+ * },
29
28
  * test,
30
29
  * beforeEach,
31
30
  * expect,