@warlock.js/cache 3.0.18 → 3.0.21

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 (107) hide show
  1. package/cjs/cache-manager.d.ts +72 -7
  2. package/cjs/cache-manager.d.ts.map +1 -1
  3. package/cjs/cache-manager.js +175 -15
  4. package/cjs/cache-manager.js.map +1 -1
  5. package/cjs/drivers/base-cache-driver.d.ts +70 -7
  6. package/cjs/drivers/base-cache-driver.d.ts.map +1 -1
  7. package/cjs/drivers/base-cache-driver.js +189 -9
  8. package/cjs/drivers/base-cache-driver.js.map +1 -1
  9. package/cjs/drivers/file-cache-driver.d.ts +8 -5
  10. package/cjs/drivers/file-cache-driver.d.ts.map +1 -1
  11. package/cjs/drivers/file-cache-driver.js +34 -7
  12. package/cjs/drivers/file-cache-driver.js.map +1 -1
  13. package/cjs/drivers/index.d.ts +0 -1
  14. package/cjs/drivers/index.d.ts.map +1 -1
  15. package/cjs/drivers/lru-memory-cache-driver.d.ts +20 -6
  16. package/cjs/drivers/lru-memory-cache-driver.d.ts.map +1 -1
  17. package/cjs/drivers/lru-memory-cache-driver.js +109 -8
  18. package/cjs/drivers/lru-memory-cache-driver.js.map +1 -1
  19. package/cjs/drivers/memory-cache-driver.d.ts +34 -5
  20. package/cjs/drivers/memory-cache-driver.d.ts.map +1 -1
  21. package/cjs/drivers/memory-cache-driver.js +116 -8
  22. package/cjs/drivers/memory-cache-driver.js.map +1 -1
  23. package/cjs/drivers/memory-extended-cache-driver.d.ts +2 -3
  24. package/cjs/drivers/memory-extended-cache-driver.d.ts.map +1 -1
  25. package/cjs/drivers/memory-extended-cache-driver.js +1 -1
  26. package/cjs/drivers/memory-extended-cache-driver.js.map +1 -1
  27. package/cjs/drivers/null-cache-driver.d.ts +5 -5
  28. package/cjs/drivers/null-cache-driver.d.ts.map +1 -1
  29. package/cjs/drivers/null-cache-driver.js +1 -1
  30. package/cjs/drivers/null-cache-driver.js.map +1 -1
  31. package/cjs/drivers/redis-cache-driver.d.ts +23 -5
  32. package/cjs/drivers/redis-cache-driver.d.ts.map +1 -1
  33. package/cjs/drivers/redis-cache-driver.js +120 -10
  34. package/cjs/drivers/redis-cache-driver.js.map +1 -1
  35. package/cjs/index.d.ts +1 -0
  36. package/cjs/index.d.ts.map +1 -1
  37. package/cjs/index.js +1 -1
  38. package/cjs/tagged-cache.d.ts +77 -0
  39. package/cjs/tagged-cache.d.ts.map +1 -0
  40. package/cjs/tagged-cache.js +160 -0
  41. package/cjs/tagged-cache.js.map +1 -0
  42. package/cjs/types.d.ts +186 -19
  43. package/cjs/types.d.ts.map +1 -1
  44. package/cjs/types.js +36 -0
  45. package/cjs/types.js.map +1 -0
  46. package/cjs/utils.d.ts +3 -3
  47. package/cjs/utils.d.ts.map +1 -1
  48. package/cjs/utils.js +13 -13
  49. package/cjs/utils.js.map +1 -1
  50. package/esm/cache-manager.d.ts +72 -7
  51. package/esm/cache-manager.d.ts.map +1 -1
  52. package/esm/cache-manager.js +175 -15
  53. package/esm/cache-manager.js.map +1 -1
  54. package/esm/drivers/base-cache-driver.d.ts +70 -7
  55. package/esm/drivers/base-cache-driver.d.ts.map +1 -1
  56. package/esm/drivers/base-cache-driver.js +189 -9
  57. package/esm/drivers/base-cache-driver.js.map +1 -1
  58. package/esm/drivers/file-cache-driver.d.ts +8 -5
  59. package/esm/drivers/file-cache-driver.d.ts.map +1 -1
  60. package/esm/drivers/file-cache-driver.js +34 -7
  61. package/esm/drivers/file-cache-driver.js.map +1 -1
  62. package/esm/drivers/index.d.ts +0 -1
  63. package/esm/drivers/index.d.ts.map +1 -1
  64. package/esm/drivers/lru-memory-cache-driver.d.ts +20 -6
  65. package/esm/drivers/lru-memory-cache-driver.d.ts.map +1 -1
  66. package/esm/drivers/lru-memory-cache-driver.js +109 -8
  67. package/esm/drivers/lru-memory-cache-driver.js.map +1 -1
  68. package/esm/drivers/memory-cache-driver.d.ts +34 -5
  69. package/esm/drivers/memory-cache-driver.d.ts.map +1 -1
  70. package/esm/drivers/memory-cache-driver.js +117 -9
  71. package/esm/drivers/memory-cache-driver.js.map +1 -1
  72. package/esm/drivers/memory-extended-cache-driver.d.ts +2 -3
  73. package/esm/drivers/memory-extended-cache-driver.d.ts.map +1 -1
  74. package/esm/drivers/memory-extended-cache-driver.js +1 -1
  75. package/esm/drivers/memory-extended-cache-driver.js.map +1 -1
  76. package/esm/drivers/null-cache-driver.d.ts +5 -5
  77. package/esm/drivers/null-cache-driver.d.ts.map +1 -1
  78. package/esm/drivers/null-cache-driver.js +1 -1
  79. package/esm/drivers/null-cache-driver.js.map +1 -1
  80. package/esm/drivers/redis-cache-driver.d.ts +23 -5
  81. package/esm/drivers/redis-cache-driver.d.ts.map +1 -1
  82. package/esm/drivers/redis-cache-driver.js +120 -10
  83. package/esm/drivers/redis-cache-driver.js.map +1 -1
  84. package/esm/index.d.ts +1 -0
  85. package/esm/index.d.ts.map +1 -1
  86. package/esm/index.js +1 -1
  87. package/esm/tagged-cache.d.ts +77 -0
  88. package/esm/tagged-cache.d.ts.map +1 -0
  89. package/esm/tagged-cache.js +160 -0
  90. package/esm/tagged-cache.js.map +1 -0
  91. package/esm/types.d.ts +186 -19
  92. package/esm/types.d.ts.map +1 -1
  93. package/esm/types.js +36 -0
  94. package/esm/types.js.map +1 -0
  95. package/esm/utils.d.ts +3 -3
  96. package/esm/utils.d.ts.map +1 -1
  97. package/esm/utils.js +13 -13
  98. package/esm/utils.js.map +1 -1
  99. package/package.json +2 -2
  100. package/cjs/drivers/database-cache-driver.d.ts +0 -39
  101. package/cjs/drivers/database-cache-driver.d.ts.map +0 -1
  102. package/cjs/drivers/database-cache-driver.js +0 -92
  103. package/cjs/drivers/database-cache-driver.js.map +0 -1
  104. package/esm/drivers/database-cache-driver.d.ts +0 -39
  105. package/esm/drivers/database-cache-driver.d.ts.map +0 -1
  106. package/esm/drivers/database-cache-driver.js +0 -92
  107. package/esm/drivers/database-cache-driver.js.map +0 -1
@@ -1,4 +1,4 @@
1
- class CacheManager {
1
+ import {CacheConfigurationError,CacheDriverNotInitializedError}from'./types.js';class CacheManager {
2
2
  /**
3
3
  * Cache Driver
4
4
  */
@@ -12,7 +12,12 @@ class CacheManager {
12
12
  */
13
13
  configurations = {
14
14
  drivers: {},
15
+ options: {},
15
16
  };
17
+ /**
18
+ * Global event listeners
19
+ */
20
+ globalEventListeners = new Map();
16
21
  /**
17
22
  * {@inheritdoc}
18
23
  */
@@ -38,18 +43,29 @@ class CacheManager {
38
43
  if (typeof driver === "string") {
39
44
  const driverInstance = await this.load(driver);
40
45
  if (!driverInstance) {
41
- throw new Error(`Cache driver ${driver} is not found, please declare it in the cache drivers in the configurations list.`);
46
+ throw new CacheConfigurationError(`Cache driver ${driver} is not found, please declare it in the cache drivers in the configurations list.`);
42
47
  }
43
48
  driver = driverInstance;
44
49
  }
50
+ // Attach global listeners to the new driver
51
+ this.attachGlobalListeners(driver);
45
52
  this.currentDriver = driver;
46
53
  return this;
47
54
  }
55
+ /**
56
+ * Ensure driver is initialized before operations
57
+ */
58
+ ensureDriverInitialized() {
59
+ if (!this.currentDriver) {
60
+ throw new CacheDriverNotInitializedError();
61
+ }
62
+ }
48
63
  /**
49
64
  * {@inheritdoc}
50
65
  */
51
66
  async get(key) {
52
- return this.currentDriver?.get(key);
67
+ this.ensureDriverInitialized();
68
+ return this.currentDriver.get(key);
53
69
  }
54
70
  /**
55
71
  * Set a value in the cache
@@ -59,49 +75,57 @@ class CacheManager {
59
75
  * @param ttl The time to live in seconds
60
76
  */
61
77
  async set(key, value, ttl) {
62
- return this.currentDriver?.set(key, value, ttl);
78
+ this.ensureDriverInitialized();
79
+ return this.currentDriver.set(key, value, ttl);
63
80
  }
64
81
  /**
65
82
  * {@inheritdoc}
66
83
  */
67
84
  async remove(key) {
68
- return this.currentDriver?.remove(key);
85
+ this.ensureDriverInitialized();
86
+ return this.currentDriver.remove(key);
69
87
  }
70
88
  /**
71
89
  * {@inheritdoc}
72
90
  */
73
91
  async removeNamespace(namespace) {
74
- return this.currentDriver?.removeNamespace(namespace);
92
+ this.ensureDriverInitialized();
93
+ return this.currentDriver.removeNamespace(namespace);
75
94
  }
76
95
  /**
77
96
  * {@inheritdoc}
78
97
  */
79
98
  async flush() {
80
- return this.currentDriver?.flush();
99
+ this.ensureDriverInitialized();
100
+ return this.currentDriver.flush();
81
101
  }
82
102
  /**
83
103
  * {@inheritdoc}
84
104
  */
85
105
  async connect() {
86
- return this.currentDriver?.connect();
106
+ this.ensureDriverInitialized();
107
+ return this.currentDriver.connect();
87
108
  }
88
109
  /**
89
110
  * {@inheritdoc}
90
111
  */
91
- async parseKey(key) {
92
- return (await this.currentDriver?.parseKey(key)) || JSON.stringify(key);
112
+ parseKey(key) {
113
+ this.ensureDriverInitialized();
114
+ return this.currentDriver.parseKey(key);
93
115
  }
94
116
  /**
95
117
  * {@inheritdoc}
96
118
  */
97
119
  get options() {
98
- return this.currentDriver?.options;
120
+ this.ensureDriverInitialized();
121
+ return this.currentDriver.options;
99
122
  }
100
123
  /**
101
124
  * {@inheritdoc}
102
125
  */
103
126
  setOptions(options) {
104
- return this.currentDriver?.setOptions(options || {});
127
+ this.ensureDriverInitialized();
128
+ return this.currentDriver.setOptions(options || {});
105
129
  }
106
130
  /**
107
131
  * Get an instance of the cache driver
@@ -128,11 +152,13 @@ class CacheManager {
128
152
  return this.loadedDrivers[driver];
129
153
  const Driver = this.configurations.drivers[driver];
130
154
  if (!Driver) {
131
- throw new Error(`Cache driver ${driver} is not found, please declare it in the cache drivers in the configurations list.`);
155
+ throw new CacheConfigurationError(`Cache driver ${driver} is not found, please declare it in the cache drivers in the configurations list.`);
132
156
  }
133
157
  const driverInstance = new Driver();
134
158
  driverInstance.setOptions(this.configurations.options[driver] || {});
135
159
  await driverInstance.connect();
160
+ // Attach global listeners to newly loaded driver
161
+ this.attachGlobalListeners(driverInstance);
136
162
  this.loadedDrivers[driver] = driverInstance;
137
163
  return driverInstance;
138
164
  }
@@ -140,13 +166,147 @@ class CacheManager {
140
166
  * Register and bind a driver
141
167
  */
142
168
  registerDriver(driverName, driverClass) {
143
- this.configurations.drivers[driverName] = driverClass;
169
+ this.configurations.drivers[driverName] =
170
+ driverClass;
144
171
  }
145
172
  /**
146
173
  * Disconnect the cache manager
147
174
  */
148
175
  async disconnect() {
149
- await this.currentDriver?.disconnect();
176
+ if (this.currentDriver) {
177
+ await this.currentDriver.disconnect();
178
+ }
179
+ }
180
+ /**
181
+ * {@inheritdoc}
182
+ */
183
+ async has(key) {
184
+ this.ensureDriverInitialized();
185
+ return this.currentDriver.has(key);
186
+ }
187
+ /**
188
+ * {@inheritdoc}
189
+ */
190
+ async remember(key, ttl, callback) {
191
+ this.ensureDriverInitialized();
192
+ return this.currentDriver.remember(key, ttl, callback);
193
+ }
194
+ /**
195
+ * {@inheritdoc}
196
+ */
197
+ async pull(key) {
198
+ this.ensureDriverInitialized();
199
+ return this.currentDriver.pull(key);
200
+ }
201
+ /**
202
+ * {@inheritdoc}
203
+ */
204
+ async forever(key, value) {
205
+ this.ensureDriverInitialized();
206
+ return this.currentDriver.forever(key, value);
207
+ }
208
+ /**
209
+ * {@inheritdoc}
210
+ */
211
+ async increment(key, value) {
212
+ this.ensureDriverInitialized();
213
+ return this.currentDriver.increment(key, value);
214
+ }
215
+ /**
216
+ * {@inheritdoc}
217
+ */
218
+ async decrement(key, value) {
219
+ this.ensureDriverInitialized();
220
+ return this.currentDriver.decrement(key, value);
221
+ }
222
+ /**
223
+ * {@inheritdoc}
224
+ */
225
+ async many(keys) {
226
+ this.ensureDriverInitialized();
227
+ return this.currentDriver.many(keys);
228
+ }
229
+ /**
230
+ * {@inheritdoc}
231
+ */
232
+ async setMany(items, ttl) {
233
+ this.ensureDriverInitialized();
234
+ return this.currentDriver.setMany(items, ttl);
235
+ }
236
+ /**
237
+ * Register a global event listener (applies to all drivers)
238
+ */
239
+ on(event, handler) {
240
+ if (!this.globalEventListeners.has(event)) {
241
+ this.globalEventListeners.set(event, new Set());
242
+ }
243
+ this.globalEventListeners.get(event).add(handler);
244
+ // Also attach to current driver if exists
245
+ if (this.currentDriver) {
246
+ this.currentDriver.on(event, handler);
247
+ }
248
+ // Attach to all loaded drivers
249
+ for (const driver of Object.values(this.loadedDrivers)) {
250
+ driver.on(event, handler);
251
+ }
252
+ return this;
253
+ }
254
+ /**
255
+ * Remove a global event listener
256
+ */
257
+ off(event, handler) {
258
+ const handlers = this.globalEventListeners.get(event);
259
+ if (handlers) {
260
+ handlers.delete(handler);
261
+ }
262
+ // Also remove from current driver
263
+ if (this.currentDriver) {
264
+ this.currentDriver.off(event, handler);
265
+ }
266
+ // Remove from all loaded drivers
267
+ for (const driver of Object.values(this.loadedDrivers)) {
268
+ driver.off(event, handler);
269
+ }
270
+ return this;
271
+ }
272
+ /**
273
+ * Register a one-time global event listener
274
+ */
275
+ once(event, handler) {
276
+ const onceHandler = async (data) => {
277
+ await handler(data);
278
+ this.off(event, onceHandler);
279
+ };
280
+ return this.on(event, onceHandler);
281
+ }
282
+ /**
283
+ * Attach global listeners to a driver
284
+ */
285
+ attachGlobalListeners(driver) {
286
+ for (const [event, handlers] of this.globalEventListeners) {
287
+ for (const handler of handlers) {
288
+ driver.on(event, handler);
289
+ }
290
+ }
291
+ }
292
+ /**
293
+ * Set if not exists (atomic operation)
294
+ * Returns true if key was set, false if key already existed
295
+ * Note: Only supported by drivers that implement setNX (e.g., Redis)
296
+ */
297
+ async setNX(key, value, ttl) {
298
+ this.ensureDriverInitialized();
299
+ if (!this.currentDriver.setNX) {
300
+ throw new Error(`setNX is not supported by the current cache driver: ${this.currentDriver.name}`);
301
+ }
302
+ return this.currentDriver.setNX(key, value, ttl);
303
+ }
304
+ /**
305
+ * Create a tagged cache instance for the given tags
306
+ */
307
+ tags(tags) {
308
+ this.ensureDriverInitialized();
309
+ return this.currentDriver.tags(tags);
150
310
  }
151
311
  }
152
312
  const cache = new CacheManager();export{CacheManager,cache};//# sourceMappingURL=cache-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache-manager.js","sources":["../src/cache-manager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache-manager.js","sources":["../src/cache-manager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
- import { type GenericObject } from "@mongez/reinforcements";
2
- import type { CacheData, CacheDriver, CacheOperationType } from "../types";
3
- export declare abstract class BaseCacheDriver<ClientType, Options extends GenericObject> implements CacheDriver<ClientType, Options> {
1
+ import type { CacheData, CacheDriver, CacheEventData, CacheEventHandler, CacheEventType, CacheKey, CacheOperationType } from "../types";
2
+ export declare abstract class BaseCacheDriver<ClientType, Options extends Record<string, any>> implements CacheDriver<ClientType, Options> {
4
3
  /**
5
4
  * CLient driver
6
5
  */
@@ -21,14 +20,34 @@ export declare abstract class BaseCacheDriver<ClientType, Options extends Generi
21
20
  * Options list
22
21
  */
23
22
  options: Options;
23
+ /**
24
+ * Event listeners storage
25
+ */
26
+ protected eventListeners: Map<CacheEventType, Set<CacheEventHandler>>;
24
27
  /**
25
28
  * {@inheritdoc}
26
29
  */
27
- parseKey(key: string | GenericObject): Promise<string>;
30
+ parseKey(key: CacheKey): string;
28
31
  /**
29
32
  * {@inheritdoc}
30
33
  */
31
34
  setOptions(options: Options): this;
35
+ /**
36
+ * Register an event listener
37
+ */
38
+ on(event: CacheEventType, handler: CacheEventHandler): this;
39
+ /**
40
+ * Remove an event listener
41
+ */
42
+ off(event: CacheEventType, handler: CacheEventHandler): this;
43
+ /**
44
+ * Register a one-time event listener
45
+ */
46
+ once(event: CacheEventType, handler: CacheEventHandler): this;
47
+ /**
48
+ * Emit an event to all registered listeners
49
+ */
50
+ protected emit(event: CacheEventType, data?: Partial<CacheEventData>): Promise<void>;
32
51
  /**
33
52
  * {@inheritdoc}
34
53
  */
@@ -36,23 +55,63 @@ export declare abstract class BaseCacheDriver<ClientType, Options extends Generi
36
55
  /**
37
56
  * {@inheritdoc}
38
57
  */
39
- abstract set(key: string | GenericObject, value: any): Promise<any>;
58
+ abstract set(key: CacheKey, value: any, ttl?: number): Promise<any>;
40
59
  /**
41
60
  * {@inheritdoc}
42
61
  */
43
- abstract get(key: string | GenericObject): Promise<any>;
62
+ abstract get(key: CacheKey): Promise<any>;
44
63
  /**
45
64
  * {@inheritdoc}
46
65
  */
47
- abstract remove(key: string | GenericObject): Promise<void>;
66
+ abstract remove(key: CacheKey): Promise<void>;
48
67
  /**
49
68
  * {@inheritdoc}
50
69
  */
51
70
  abstract flush(): Promise<void>;
71
+ /**
72
+ * {@inheritdoc}
73
+ */
74
+ has(key: CacheKey): Promise<boolean>;
75
+ /**
76
+ * Lock storage for preventing cache stampede
77
+ */
78
+ protected locks: Map<string, Promise<any>>;
79
+ /**
80
+ * {@inheritdoc}
81
+ */
82
+ remember(key: CacheKey, ttl: number, callback: () => Promise<any>): Promise<any>;
83
+ /**
84
+ * {@inheritdoc}
85
+ */
86
+ pull(key: CacheKey): Promise<any | null>;
87
+ /**
88
+ * {@inheritdoc}
89
+ */
90
+ forever(key: CacheKey, value: any): Promise<any>;
91
+ /**
92
+ * {@inheritdoc}
93
+ */
94
+ increment(key: CacheKey, value?: number): Promise<number>;
95
+ /**
96
+ * {@inheritdoc}
97
+ */
98
+ decrement(key: CacheKey, value?: number): Promise<number>;
99
+ /**
100
+ * {@inheritdoc}
101
+ */
102
+ many(keys: CacheKey[]): Promise<any[]>;
103
+ /**
104
+ * {@inheritdoc}
105
+ */
106
+ setMany(items: Record<string, any>, ttl?: number): Promise<void>;
52
107
  /**
53
108
  * Log the operation
54
109
  */
55
110
  protected log(operation: CacheOperationType, key?: string): any;
111
+ /**
112
+ * Log error message
113
+ */
114
+ protected logError(message: string, error?: any): void;
56
115
  /**
57
116
  * Get time to live value
58
117
  */
@@ -77,5 +136,9 @@ export declare abstract class BaseCacheDriver<ClientType, Options extends Generi
77
136
  * {@inheritdoc}
78
137
  */
79
138
  disconnect(): Promise<void>;
139
+ /**
140
+ * Create a tagged cache instance for the given tags
141
+ */
142
+ tags(tags: string[]): any;
80
143
  }
81
144
  //# sourceMappingURL=base-cache-driver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-cache-driver.d.ts","sourceRoot":"","sources":["../../src/drivers/base-cache-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEnE,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAuB3E,8BAAsB,eAAe,CAAC,UAAU,EAAE,OAAO,SAAS,aAAa,CAC7E,YAAW,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC;IAE3C;;OAEG;IACH,SAAS,CAAC,YAAY,EAAG,UAAU,CAAC;IAEpC;;OAEG;IACH,IAAW,MAAM,IAOS,UAAU,CALnC;IAED;;OAEG;IACH,IAAW,MAAM,CAAC,MAAM,EAAE,UAAU,EAEnC;IAED;;OAEG;IACH,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACI,OAAO,EAAE,OAAO,CAAa;IAEpC;;OAEG;IACU,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAIjD;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO;IAKlC;;OAEG;aACa,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAEhE;;OAEG;aACa,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAE1E;;OAEG;aACa,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC;IAE9D;;OAEG;aACa,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAElE;;OAEG;aACa,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAEtC;;OAEG;IACH,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,kBAAkB,EAAE,GAAG,CAAC,EAAE,MAAM;IA8BzD;;OAEG;IACH,IAAW,GAAG,QAEb;IAED;;OAEG;IACI,YAAY,CAAC,GAAG,GAAE,MAAiB;IAM1C;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM;IAavD;;OAEG;cACa,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS;IAmB5D;;OAEG;IACU,OAAO;IAKpB;;OAEG;IACU,UAAU;CAGxB"}
1
+ {"version":3,"file":"base-cache-driver.d.ts","sourceRoot":"","sources":["../../src/drivers/base-cache-driver.ts"],"names":[],"mappings":"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"}