@daiso-tech/core 0.45.0 → 0.46.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 (21) hide show
  1. package/README.md +50 -44
  2. package/dist/cache/contracts/database-cache-adapter.contract.d.ts +10 -48
  3. package/dist/cache/contracts/database-cache-adapter.contract.js +1 -1
  4. package/dist/cache/contracts/database-cache-adapter.contract.js.map +1 -1
  5. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.d.ts +24 -19
  6. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js +138 -134
  7. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js.map +1 -1
  8. package/dist/cache/implementations/derivables/cache/database-cache-adapter.d.ts +3 -1
  9. package/dist/cache/implementations/derivables/cache/database-cache-adapter.js +49 -64
  10. package/dist/cache/implementations/derivables/cache/database-cache-adapter.js.map +1 -1
  11. package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.js +5 -10
  12. package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.js.map +1 -1
  13. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js +240 -238
  14. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js.map +1 -1
  15. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.d.ts +0 -1
  16. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js +215 -630
  17. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js.map +1 -1
  18. package/dist/utilities/functions/error-policy.d.ts +1 -1
  19. package/dist/utilities/functions/error-policy.js +1 -2
  20. package/dist/utilities/functions/error-policy.js.map +1 -1
  21. package/package.json +38 -56
@@ -55,246 +55,248 @@ export function cacheAdapterTestSuite(settings) {
55
55
  const { expect, test, createAdapter, describe, beforeEach } = settings;
56
56
  let adapter;
57
57
  beforeEach(async () => {
58
- adapter = await createAdapter();
58
+ adapter = (await createAdapter());
59
59
  });
60
60
  const TTL = TimeSpan.fromMilliseconds(50);
61
- describe("method: get", () => {
62
- test("Should return the value when key exists", async () => {
63
- await adapter.add("a", 1, null);
64
- await Task.delay(TTL.divide(4));
65
- expect(await adapter.get("a")).toBe(1);
66
- });
67
- test("Should return null when keys doesnt exists", async () => {
68
- expect(await adapter.get("a")).toBeNull();
69
- });
70
- test("Should return null when key is experied", async () => {
71
- await adapter.add("a", 1, TTL);
72
- await Task.delay(TTL.addTimeSpan(TTL.divide(4)));
73
- expect(await adapter.get("a")).toBeNull();
74
- });
75
- });
76
- describe("method: getAndRemove", () => {
77
- test("Should return value when key exists", async () => {
78
- await adapter.add("a", 1, null);
79
- await Task.delay(TTL.divide(4));
80
- expect(await adapter.getAndRemove("a")).toBe(1);
81
- });
82
- test("Should return null when key doesnt exists", async () => {
83
- expect(await adapter.getAndRemove("a")).toBeNull();
84
- });
85
- test("Should return null when key is expired", async () => {
86
- await adapter.add("a", 1, TTL);
87
- await Task.delay(TTL.addTimeSpan(TTL.divide(4)));
88
- expect(await adapter.getAndRemove("a")).toBeNull();
89
- });
90
- test("Should persist removal when key exists", async () => {
91
- await adapter.add("a", 1, null);
92
- await Task.delay(TTL.divide(4));
93
- await adapter.getAndRemove("a");
94
- await Task.delay(TTL.divide(4));
95
- expect(await adapter.get("a")).toBeNull();
96
- });
97
- });
98
- describe("method: add", () => {
99
- test("Should return true when key doesnt exists", async () => {
100
- const result = await adapter.add("a", 1, null);
101
- await Task.delay(TTL.divide(4));
102
- expect(result).toBe(true);
103
- });
104
- test("Should return true when key is expired", async () => {
105
- await adapter.add("a", 1, TTL);
106
- await Task.delay(TTL.addTimeSpan(TTL.divide(4)));
107
- expect(await adapter.add("a", 1, null)).toBe(true);
108
- });
109
- test("Should persist values when key doesnt exist", async () => {
110
- await adapter.add("a", 1, null);
111
- await Task.delay(TTL.divide(4));
112
- expect(await adapter.get("a")).toBe(1);
113
- });
114
- test("Should persist values when key is expired", async () => {
115
- await adapter.add("a", -1, TTL);
116
- await Task.delay(TTL.addTimeSpan(TTL.divide(4)));
117
- await adapter.add("a", 1, null);
118
- expect(await adapter.get("a")).toBe(1);
119
- });
120
- test("Should return false when key exists", async () => {
121
- await adapter.add("a", 1, null);
122
- await Task.delay(TTL.divide(4));
123
- expect(await adapter.add("a", 1, null)).toBe(false);
124
- });
125
- test("Should not persist value when key exist", async () => {
126
- await adapter.add("a", 1, null);
127
- await Task.delay(TTL.divide(4));
128
- await adapter.add("a", 2, null);
129
- await Task.delay(TTL.divide(4));
130
- expect(await adapter.get("a")).toBe(1);
131
- });
132
- });
133
- describe("method: put", () => {
134
- test("Should return true when key exists", async () => {
135
- await adapter.add("a", 1, null);
136
- await Task.delay(TTL.divide(4));
137
- expect(await adapter.put("a", -1, null)).toBe(true);
138
- });
139
- test("Should persist value when key exist", async () => {
140
- await adapter.add("a", 1, null);
141
- await Task.delay(TTL.divide(4));
142
- await adapter.put("a", -1, null);
143
- await Task.delay(TTL.divide(4));
144
- expect(await adapter.get("a")).toBe(-1);
145
- });
146
- test("Should return false when key doesnt exists", async () => {
147
- expect(await adapter.put("a", -1, null)).toBe(false);
148
- });
149
- test("Should return false when key is expired", async () => {
150
- await adapter.add("a", 1, TTL);
151
- await Task.delay(TTL.addTimeSpan(TTL.divide(4)));
152
- expect(await adapter.put("a", -1, null)).toBe(false);
153
- });
154
- test("Should persist values when key doesnt exist", async () => {
155
- await adapter.put("a", -1, null);
156
- await Task.delay(TTL.divide(4));
157
- expect(await adapter.get("a")).toBe(-1);
158
- });
159
- test("Should persist values when key is expired", async () => {
160
- await adapter.add("a", 1, TTL);
161
- await Task.delay(TTL.addTimeSpan(TTL.divide(4)));
162
- await adapter.put("a", -1, null);
163
- await Task.delay(TTL.divide(4));
164
- expect(await adapter.get("a")).toBe(-1);
165
- });
166
- test("Should replace the ttl value", async () => {
167
- const ttlA = TimeSpan.fromMilliseconds(100);
168
- await adapter.add("a", 1, ttlA);
169
- await Task.delay(TTL.divide(4));
170
- const ttlB = TimeSpan.fromMilliseconds(50);
171
- await adapter.put("a", -1, ttlB);
172
- await Task.delay(ttlB);
173
- expect(await adapter.get("a")).toBeNull();
174
- });
175
- });
176
- describe("method: update", () => {
177
- test("Should return true when key exists", async () => {
178
- await adapter.add("a", 1, null);
179
- await Task.delay(TTL.divide(4));
180
- expect(await adapter.update("a", -1)).toBe(true);
181
- });
182
- test("Should persist value when key exist", async () => {
183
- await adapter.add("a", 1, null);
184
- await Task.delay(TTL.divide(4));
185
- await adapter.update("a", -1);
186
- await Task.delay(TTL.divide(4));
187
- expect(await adapter.get("a")).toBe(-1);
188
- });
189
- test("Should return false when key doesnt exists", async () => {
190
- expect(await adapter.update("a", -1)).toBe(false);
191
- });
192
- test("Should return false when key is expired", async () => {
193
- await adapter.add("a", 1, TTL);
194
- await Task.delay(TTL.addTimeSpan(TTL.divide(4)));
195
- expect(await adapter.update("a", -1)).toBe(false);
196
- });
197
- test("Should not persist value when key doesnt exist", async () => {
198
- await adapter.update("a", -1);
199
- await Task.delay(TTL.divide(4));
200
- expect(await adapter.get("a")).toBeNull();
201
- });
202
- test("Should not persist value when key is expired", async () => {
203
- await adapter.add("a", 1, TTL);
204
- await Task.delay(TTL.addTimeSpan(TTL.divide(4)));
205
- await adapter.update("a", -1);
206
- expect(await adapter.get("a")).toBeNull();
207
- });
208
- });
209
- describe("method: increment", () => {
210
- test("Should return true when key exists", async () => {
211
- await adapter.add("a", 1, null);
212
- await Task.delay(TTL.divide(4));
213
- expect(await adapter.increment("a", 1)).toBe(true);
214
- });
215
- test("Should persist increment when key exists", async () => {
216
- await adapter.add("a", 1, null);
217
- await Task.delay(TTL.divide(4));
218
- await adapter.increment("a", 1);
219
- await Task.delay(TTL.divide(4));
220
- expect(await adapter.get("a")).toBe(2);
221
- });
222
- test("Should return false when key doesnt exists", async () => {
223
- expect(await adapter.increment("a", 1)).toBe(false);
224
- });
225
- test("Should return false when key is expired", async () => {
226
- await adapter.add("a", 1, TTL);
227
- await Task.delay(TTL.addTimeSpan(TTL.divide(4)));
228
- expect(await adapter.increment("a", 1)).toBe(false);
229
- });
230
- test("Should not persist increment when key doesnt exists", async () => {
231
- await adapter.increment("a", 1);
232
- await Task.delay(TTL.divide(4));
233
- expect(await adapter.get("a")).toBeNull();
234
- });
235
- test("Should not persist increment when key is expired", async () => {
236
- await adapter.add("a", 1, TTL);
237
- await Task.delay(TTL.addTimeSpan(TTL.divide(4)));
238
- await adapter.increment("a", 1);
239
- expect(await adapter.get("a")).toBeNull();
240
- });
241
- test("Should throw TypeError key value is not number type", async () => {
242
- await adapter.add("a", "str", null);
243
- await Task.delay(TTL.divide(4));
244
- await expect(adapter.increment("a", 1)).rejects.toBeInstanceOf(TypeError);
245
- });
246
- });
247
- describe("method: removeMany", () => {
248
- test("Should return true when one key exists", async () => {
249
- await adapter.add("a", 1, null);
250
- await Task.delay(TTL.divide(4));
251
- const result = await adapter.removeMany(["a", "b", "c"]);
252
- expect(result).toBe(true);
253
- });
254
- test("Should persist removal of the keys that exists", async () => {
255
- await adapter.add("a", 1, null);
256
- await adapter.add("b", 2, null);
257
- await adapter.add("c", 3, null);
258
- await Task.delay(TTL.divide(4));
259
- await adapter.removeMany(["a", "b"]);
260
- await Task.delay(TTL.divide(4));
261
- const result = [
262
- await adapter.get("a"),
263
- await adapter.get("b"),
264
- await adapter.get("c"),
265
- ];
266
- expect(result).toEqual([null, null, 3]);
267
- });
268
- });
269
- describe("method: removeAll", () => {
270
- test("Should remove all keys", async () => {
271
- await adapter.add("cache/a", 1, null);
272
- await adapter.add("cache/b", 2, null);
273
- await adapter.add("c", 3, null);
274
- await Task.delay(TTL.divide(4));
275
- await adapter.removeAll();
276
- await Task.delay(TTL.divide(4));
277
- expect([
278
- await adapter.get("cache/a"),
279
- await adapter.get("cache/b"),
280
- await adapter.get("c"),
281
- ]).toEqual([null, null, null]);
282
- });
283
- });
284
- describe("method: removeByKeyPrefix", () => {
285
- test(`Should remove all keys that start with prefix "cache"`, async () => {
286
- await adapter.add("cache/a", 1, null);
287
- await adapter.add("cache/b", 2, null);
288
- await adapter.add("c", 3, null);
289
- await Task.delay(TTL.divide(4));
290
- await adapter.removeByKeyPrefix("cache");
291
- await Task.delay(TTL.divide(4));
292
- const result = [
293
- await adapter.get("cache/a"),
294
- await adapter.get("cache/b"),
295
- await adapter.get("c"),
296
- ];
297
- expect(result).toEqual([null, null, 3]);
61
+ describe("Reusable tests:", () => {
62
+ describe("method: get", () => {
63
+ test("Should return the value when key exists", async () => {
64
+ await adapter.add("a", 1, null);
65
+ await Task.delay(TTL.divide(4));
66
+ expect(await adapter.get("a")).toBe(1);
67
+ });
68
+ test("Should return null when keys doesnt exists", async () => {
69
+ expect(await adapter.get("a")).toBeNull();
70
+ });
71
+ test("Should return null when key is experied", async () => {
72
+ await adapter.add("a", 1, TTL);
73
+ await Task.delay(TTL.addTimeSpan(TTL.divide(4)));
74
+ expect(await adapter.get("a")).toBeNull();
75
+ });
76
+ });
77
+ describe("method: getAndRemove", () => {
78
+ test("Should return value when key exists", async () => {
79
+ await adapter.add("a", 1, null);
80
+ await Task.delay(TTL.divide(4));
81
+ expect(await adapter.getAndRemove("a")).toBe(1);
82
+ });
83
+ test("Should return null when key doesnt exists", async () => {
84
+ expect(await adapter.getAndRemove("a")).toBeNull();
85
+ });
86
+ test("Should return null when key is expired", async () => {
87
+ await adapter.add("a", 1, TTL);
88
+ await Task.delay(TTL.addTimeSpan(TTL.divide(4)));
89
+ expect(await adapter.getAndRemove("a")).toBeNull();
90
+ });
91
+ test("Should persist removal when key exists", async () => {
92
+ await adapter.add("a", 1, null);
93
+ await Task.delay(TTL.divide(4));
94
+ await adapter.getAndRemove("a");
95
+ await Task.delay(TTL.divide(4));
96
+ expect(await adapter.get("a")).toBeNull();
97
+ });
98
+ });
99
+ describe("method: add", () => {
100
+ test("Should return true when key doesnt exists", async () => {
101
+ const result = await adapter.add("a", 1, null);
102
+ await Task.delay(TTL.divide(4));
103
+ expect(result).toBe(true);
104
+ });
105
+ test("Should return true when key is expired", async () => {
106
+ await adapter.add("a", 1, TTL);
107
+ await Task.delay(TTL.addTimeSpan(TTL.divide(4)));
108
+ expect(await adapter.add("a", 1, null)).toBe(true);
109
+ });
110
+ test("Should persist values when key doesnt exist", async () => {
111
+ await adapter.add("a", 1, null);
112
+ await Task.delay(TTL.divide(4));
113
+ expect(await adapter.get("a")).toBe(1);
114
+ });
115
+ test("Should persist values when key is expired", async () => {
116
+ await adapter.add("a", -1, TTL);
117
+ await Task.delay(TTL.addTimeSpan(TTL.divide(4)));
118
+ await adapter.add("a", 1, null);
119
+ expect(await adapter.get("a")).toBe(1);
120
+ });
121
+ test("Should return false when key exists", async () => {
122
+ await adapter.add("a", 1, null);
123
+ await Task.delay(TTL.divide(4));
124
+ expect(await adapter.add("a", 1, null)).toBe(false);
125
+ });
126
+ test("Should not persist value when key exist", async () => {
127
+ await adapter.add("a", 1, null);
128
+ await Task.delay(TTL.divide(4));
129
+ await adapter.add("a", 2, null);
130
+ await Task.delay(TTL.divide(4));
131
+ expect(await adapter.get("a")).toBe(1);
132
+ });
133
+ });
134
+ describe("method: put", () => {
135
+ test("Should return true when key exists", async () => {
136
+ await adapter.add("a", 1, null);
137
+ await Task.delay(TTL.divide(4));
138
+ expect(await adapter.put("a", -1, null)).toBe(true);
139
+ });
140
+ test("Should persist value when key exist", async () => {
141
+ await adapter.add("a", 1, null);
142
+ await Task.delay(TTL.divide(4));
143
+ await adapter.put("a", -1, null);
144
+ await Task.delay(TTL.divide(4));
145
+ expect(await adapter.get("a")).toBe(-1);
146
+ });
147
+ test("Should return false when key doesnt exists", async () => {
148
+ expect(await adapter.put("a", -1, null)).toBe(false);
149
+ });
150
+ test("Should return false when key is expired", async () => {
151
+ await adapter.add("a", 1, TTL);
152
+ await Task.delay(TTL.addTimeSpan(TTL.divide(4)));
153
+ expect(await adapter.put("a", -1, null)).toBe(false);
154
+ });
155
+ test("Should persist values when key doesnt exist", async () => {
156
+ await adapter.put("a", -1, null);
157
+ await Task.delay(TTL.divide(4));
158
+ expect(await adapter.get("a")).toBe(-1);
159
+ });
160
+ test("Should persist values when key is expired", async () => {
161
+ await adapter.add("a", 1, TTL);
162
+ await Task.delay(TTL.addTimeSpan(TTL.divide(4)));
163
+ await adapter.put("a", -1, null);
164
+ await Task.delay(TTL.divide(4));
165
+ expect(await adapter.get("a")).toBe(-1);
166
+ });
167
+ test("Should replace the ttl value", async () => {
168
+ const ttlA = TimeSpan.fromMilliseconds(100);
169
+ await adapter.add("a", 1, ttlA);
170
+ await Task.delay(TTL.divide(4));
171
+ const ttlB = TimeSpan.fromMilliseconds(50);
172
+ await adapter.put("a", -1, ttlB);
173
+ await Task.delay(ttlB);
174
+ expect(await adapter.get("a")).toBeNull();
175
+ });
176
+ });
177
+ describe("method: update", () => {
178
+ test("Should return true when key exists", async () => {
179
+ await adapter.add("a", 1, null);
180
+ await Task.delay(TTL.divide(4));
181
+ expect(await adapter.update("a", -1)).toBe(true);
182
+ });
183
+ test("Should persist value when key exist", async () => {
184
+ await adapter.add("a", 1, null);
185
+ await Task.delay(TTL.divide(4));
186
+ await adapter.update("a", -1);
187
+ await Task.delay(TTL.divide(4));
188
+ expect(await adapter.get("a")).toBe(-1);
189
+ });
190
+ test("Should return false when key doesnt exists", async () => {
191
+ expect(await adapter.update("a", -1)).toBe(false);
192
+ });
193
+ test("Should return false when key is expired", async () => {
194
+ await adapter.add("a", 1, TTL);
195
+ await Task.delay(TTL.addTimeSpan(TTL.divide(4)));
196
+ expect(await adapter.update("a", -1)).toBe(false);
197
+ });
198
+ test("Should not persist value when key doesnt exist", async () => {
199
+ await adapter.update("a", -1);
200
+ await Task.delay(TTL.divide(4));
201
+ expect(await adapter.get("a")).toBeNull();
202
+ });
203
+ test("Should not persist value when key is expired", async () => {
204
+ await adapter.add("a", 1, TTL);
205
+ await Task.delay(TTL.addTimeSpan(TTL.divide(4)));
206
+ await adapter.update("a", -1);
207
+ expect(await adapter.get("a")).toBeNull();
208
+ });
209
+ });
210
+ describe("method: increment", () => {
211
+ test("Should return true when key exists", async () => {
212
+ await adapter.add("a", 1, null);
213
+ await Task.delay(TTL.divide(4));
214
+ expect(await adapter.increment("a", 1)).toBe(true);
215
+ });
216
+ test("Should persist increment when key exists", async () => {
217
+ await adapter.add("a", 1, null);
218
+ await Task.delay(TTL.divide(4));
219
+ await adapter.increment("a", 1);
220
+ await Task.delay(TTL.divide(4));
221
+ expect(await adapter.get("a")).toBe(2);
222
+ });
223
+ test("Should return false when key doesnt exists", async () => {
224
+ expect(await adapter.increment("a", 1)).toBe(false);
225
+ });
226
+ test("Should return false when key is expired", async () => {
227
+ await adapter.add("a", 1, TTL);
228
+ await Task.delay(TTL.addTimeSpan(TTL.divide(4)));
229
+ expect(await adapter.increment("a", 1)).toBe(false);
230
+ });
231
+ test("Should not persist increment when key doesnt exists", async () => {
232
+ await adapter.increment("a", 1);
233
+ await Task.delay(TTL.divide(4));
234
+ expect(await adapter.get("a")).toBeNull();
235
+ });
236
+ test("Should not persist increment when key is expired", async () => {
237
+ await adapter.add("a", 1, TTL);
238
+ await Task.delay(TTL.addTimeSpan(TTL.divide(4)));
239
+ await adapter.increment("a", 1);
240
+ expect(await adapter.get("a")).toBeNull();
241
+ });
242
+ test("Should throw TypeError key value is not number type", async () => {
243
+ await adapter.add("a", "str", null);
244
+ await Task.delay(TTL.divide(4));
245
+ await expect(adapter.increment("a", 1)).rejects.toBeInstanceOf(TypeError);
246
+ });
247
+ });
248
+ describe("method: removeMany", () => {
249
+ test("Should return true when one key exists", async () => {
250
+ await adapter.add("a", 1, null);
251
+ await Task.delay(TTL.divide(4));
252
+ const result = await adapter.removeMany(["a", "b", "c"]);
253
+ expect(result).toBe(true);
254
+ });
255
+ test("Should persist removal of the keys that exists", async () => {
256
+ await adapter.add("a", 1, null);
257
+ await adapter.add("b", 2, null);
258
+ await adapter.add("c", 3, null);
259
+ await Task.delay(TTL.divide(4));
260
+ await adapter.removeMany(["a", "b"]);
261
+ await Task.delay(TTL.divide(4));
262
+ const result = [
263
+ await adapter.get("a"),
264
+ await adapter.get("b"),
265
+ await adapter.get("c"),
266
+ ];
267
+ expect(result).toEqual([null, null, 3]);
268
+ });
269
+ });
270
+ describe("method: removeAll", () => {
271
+ test("Should remove all keys", async () => {
272
+ await adapter.add("cache/a", 1, null);
273
+ await adapter.add("cache/b", 2, null);
274
+ await adapter.add("c", 3, null);
275
+ await Task.delay(TTL.divide(4));
276
+ await adapter.removeAll();
277
+ await Task.delay(TTL.divide(4));
278
+ expect([
279
+ await adapter.get("cache/a"),
280
+ await adapter.get("cache/b"),
281
+ await adapter.get("c"),
282
+ ]).toEqual([null, null, null]);
283
+ });
284
+ });
285
+ describe("method: removeByKeyPrefix", () => {
286
+ test(`Should remove all keys that start with prefix "cache"`, async () => {
287
+ await adapter.add("cache/a", 1, null);
288
+ await adapter.add("cache/b", 2, null);
289
+ await adapter.add("c", 3, null);
290
+ await Task.delay(TTL.divide(4));
291
+ await adapter.removeByKeyPrefix("cache");
292
+ await Task.delay(TTL.divide(4));
293
+ const result = [
294
+ await adapter.get("cache/a"),
295
+ await adapter.get("cache/b"),
296
+ await adapter.get("c"),
297
+ ];
298
+ expect(result).toEqual([null, null, 3]);
299
+ });
298
300
  });
299
301
  });
300
302
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cache-adapter.test-suite.js","sourceRoot":"","sources":["../../../../src/cache/implementations/test-utilities/cache-adapter.test-suite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache-adapter.test-suite.js","sourceRoot":"","sources":["../../../../src/cache/implementations/test-utilities/cache-adapter.test-suite.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,6 @@ import { type TestAPI, type SuiteAPI, type ExpectStatic, type beforeEach } from
5
5
  import { type IDatabaseCacheAdapter } from "../../../cache/contracts/_module.js";
6
6
  import { type Promisable } from "../../../utilities/_module.js";
7
7
  /**
8
- *
9
8
  * IMPORT_PATH: `"@daiso-tech/core/cache/test-utilities"`
10
9
  * @group TestUtilities
11
10
  */