cachimbo 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -40,6 +40,67 @@ var BaseCache = class {
40
40
  }
41
41
  };
42
42
 
43
+ //#endregion
44
+ //#region src/base/local.ts
45
+ var BaseLocalCache = class extends BaseCache {
46
+ disposeListeners = [];
47
+ /**
48
+ * Reads cached resources by their keys. (synchronous version)
49
+ * @protected
50
+ */
51
+ _getMany(keys) {
52
+ return Object.fromEntries(keys.map((key) => [key, this._get(key)]));
53
+ }
54
+ /**
55
+ * Writes resources into cache. (synchronous version)
56
+ * @protected
57
+ */
58
+ _setMany(data, options) {
59
+ for (const [key, value] of Object.entries(data)) this._set(key, value, options);
60
+ }
61
+ /**
62
+ * Deletes many cached resources by their keys. (synchronous version)
63
+ * @protected
64
+ */
65
+ _deleteMany(keys) {
66
+ for (const key of keys) this._delete(key);
67
+ }
68
+ /**
69
+ * Adds a listener that will be called when a cached item is disposed.
70
+ *
71
+ * @param listener The listener function to add.
72
+ * @protected
73
+ */
74
+ _addDisposeListener(listener) {
75
+ this.disposeListeners.push(listener);
76
+ }
77
+ get(key) {
78
+ return Promise.resolve(this._get(key));
79
+ }
80
+ set(key, value, options) {
81
+ this._set(key, value, options);
82
+ return Promise.resolve();
83
+ }
84
+ delete(key) {
85
+ this._delete(key);
86
+ return Promise.resolve();
87
+ }
88
+ getMany(keys) {
89
+ return Promise.resolve(this._getMany(keys));
90
+ }
91
+ setMany(data, options) {
92
+ this._setMany(data, options);
93
+ return Promise.resolve();
94
+ }
95
+ deleteMany(keys) {
96
+ this._deleteMany(keys);
97
+ return Promise.resolve();
98
+ }
99
+ onDispose(key, value, reason) {
100
+ for (const listener of this.disposeListeners) listener(key, value, reason);
101
+ }
102
+ };
103
+
43
104
  //#endregion
44
105
  //#region src/local/lru/index.ts
45
106
  /**
@@ -49,7 +110,7 @@ var BaseCache = class {
49
110
  *
50
111
  * Once the limit of items is reached, the least recently used items will be purged.
51
112
  */
52
- var LocalLRUCache = class extends BaseCache {
113
+ var LocalLRUCache = class extends BaseLocalCache {
53
114
  cache;
54
115
  shouldUseFetch;
55
116
  constructor(options = {}) {
@@ -62,16 +123,29 @@ var LocalLRUCache = class extends BaseCache {
62
123
  ttl: options.ttl ? options.ttl * 1e3 : void 0,
63
124
  max: options.max || 1e4,
64
125
  ttlAutopurge: false,
65
- fetchMethod: (_key, _staleValue, options$1) => options$1.context()
126
+ fetchMethod: (_key, _staleValue, options$1) => options$1.context(),
127
+ disposeAfter: (value, key, reason) => this.onDispose(key, value, reason)
66
128
  });
67
129
  this.shouldUseFetch = true;
68
130
  }
69
131
  }
70
- async get(key) {
132
+ /** @internal */
133
+ _get(key) {
71
134
  this.logger?.debug(this.name, "[get]", "key =", key);
72
135
  const data = this.cache.get(key);
73
136
  return data === void 0 ? null : data;
74
137
  }
138
+ /** @internal */
139
+ _set(key, value, options) {
140
+ this.logger?.debug(this.name, "[set]", "key =", key);
141
+ const ttl = options?.ttl;
142
+ this.cache.set(key, value, { ttl: ttl ? ttl * 1e3 : void 0 });
143
+ }
144
+ /** @internal */
145
+ _delete(key) {
146
+ this.logger?.debug(this.name, "[delete]", "key =", key);
147
+ this.cache.delete(key);
148
+ }
75
149
  getOrLoad(key, load, options) {
76
150
  if (!this.shouldUseFetch) return super.getOrLoad(key, load, options);
77
151
  this.logger?.debug(this.name, "[getOrLoad] Running LRUCache's fetch...", "key =", key);
@@ -81,15 +155,6 @@ var LocalLRUCache = class extends BaseCache {
81
155
  ttl: ttl ? ttl * 1e3 : void 0
82
156
  });
83
157
  }
84
- async set(key, value, options) {
85
- this.logger?.debug(this.name, "[set]", "key =", key);
86
- const ttl = options?.ttl;
87
- this.cache.set(key, value, { ttl: ttl ? ttl * 1e3 : void 0 });
88
- }
89
- async delete(key) {
90
- this.logger?.debug(this.name, "[delete]", "key =", key);
91
- this.cache.delete(key);
92
- }
93
158
  };
94
159
 
95
160
  //#endregion
@@ -99,27 +164,31 @@ var LocalLRUCache = class extends BaseCache {
99
164
  *
100
165
  * Once the limit of items is reached, the soonest expiring items will be purged.
101
166
  */
102
- var LocalTTLCache = class extends BaseCache {
167
+ var LocalTTLCache = class extends BaseLocalCache {
103
168
  cache;
104
169
  constructor(options = {}) {
105
170
  super(options);
106
171
  if ("cache" in options) this.cache = options.cache;
107
172
  else this.cache = new __isaacs_ttlcache.TTLCache({
108
173
  max: options.max,
109
- ttl: options.ttl ? options.ttl * 1e3 : void 0
174
+ ttl: options.ttl ? options.ttl * 1e3 : void 0,
175
+ dispose: (value, key, reason) => this.onDispose(key, value, reason)
110
176
  });
111
177
  }
112
- async get(key) {
178
+ /** @internal */
179
+ _get(key) {
113
180
  this.logger?.debug(this.name, "[get]", "key =", key);
114
181
  const data = this.cache.get(key);
115
182
  return data === void 0 ? null : data;
116
183
  }
117
- async set(key, value, options) {
184
+ /** @internal */
185
+ _set(key, value, options) {
118
186
  this.logger?.debug(this.name, "[set]", "key =", key);
119
187
  const ttl = options?.ttl;
120
188
  this.cache.set(key, value, { ttl: ttl ? ttl * 1e3 : void 0 });
121
189
  }
122
- async delete(key) {
190
+ /** @internal */
191
+ _delete(key) {
123
192
  this.logger?.debug(this.name, "[delete]", "key =", key);
124
193
  this.cache.delete(key);
125
194
  }
@@ -135,7 +204,7 @@ var LocalTTLCache = class extends BaseCache {
135
204
  * It implements a simple FIFO eviction policy:
136
205
  * Once the limit of items is reached, the first inserted keys will be purged.
137
206
  */
138
- var LocalMapCache = class extends BaseCache {
207
+ var LocalMapCache = class extends BaseLocalCache {
139
208
  cache;
140
209
  max;
141
210
  constructor(options = {}) {
@@ -143,38 +212,55 @@ var LocalMapCache = class extends BaseCache {
143
212
  this.cache = options.cache ?? /* @__PURE__ */ new Map();
144
213
  this.max = options.max ?? Infinity;
145
214
  }
146
- async get(key) {
215
+ /** @internal */
216
+ _get(key) {
147
217
  this.logger?.debug(this.name, "[get]", "key =", key);
148
218
  const data = this.cache.get(key);
149
219
  return data === void 0 ? null : data;
150
220
  }
151
- async set(key, value, options) {
221
+ /** @internal */
222
+ _set(key, value, options) {
152
223
  this.logger?.debug(this.name, "[set]", "key =", key);
153
- if (this.cache.size >= this.max && !this.cache.has(key)) this.evict(1);
224
+ const previousValue = this.cache.get(key);
225
+ if (this.cache.size >= this.max && previousValue === void 0) this.evict(1);
154
226
  this.cache.set(key, value);
227
+ this.onDispose(key, previousValue, "set");
155
228
  }
156
- async delete(key) {
229
+ /** @internal */
230
+ _delete(key) {
157
231
  this.logger?.debug(this.name, "[delete]", "key =", key);
232
+ const previousValue = this.cache.get(key);
158
233
  this.cache.delete(key);
234
+ this.onDispose(key, previousValue, "delete");
159
235
  }
160
236
  async setMany(data, options) {
161
237
  this.logger?.debug(this.name, "[setMany]", "data =", data);
162
238
  const entries = Object.entries(data);
163
239
  const newEntries = entries.filter(([key]) => !this.cache.has(key)).length;
164
240
  if (this.cache.size + newEntries > this.max) this.evict(this.cache.size + newEntries - this.max);
165
- for (const [key, value] of entries) this.cache.set(key, value);
241
+ for (const [key, value] of entries) {
242
+ const previousValue = this.cache.get(key);
243
+ this.cache.set(key, value);
244
+ this.onDispose(key, previousValue, "set");
245
+ }
166
246
  }
167
247
  clear() {
168
248
  this.logger?.debug(this.name, "[clear]");
249
+ for (const key of this.cache.keys()) this.onDispose(key, this.cache.get(key), "delete");
169
250
  this.cache.clear();
170
251
  }
252
+ onDispose(key, value, reason) {
253
+ if (value !== void 0) super.onDispose(key, value, reason);
254
+ }
171
255
  evict(length) {
172
256
  const keys = this.cache.keys();
173
257
  for (let i = 0; i < length; i++) {
174
258
  const key = keys.next();
175
259
  if (key.done) break;
176
260
  this.logger?.debug(this.name, "[evict]", "key = ", key);
261
+ const previousValue = this.cache.get(key.value);
177
262
  this.cache.delete(key.value);
263
+ this.onDispose(key.value, previousValue, "evict");
178
264
  }
179
265
  }
180
266
  };
@@ -183,7 +269,7 @@ var LocalMapCache = class extends BaseCache {
183
269
  //#region src/local/noop/index.ts
184
270
  /**
185
271
  * A cache implementation that does nothing.
186
- * It's useful for disabling cache.
272
+ * It's useful for disabling cache and unit testing.
187
273
  *
188
274
  * @example
189
275
  * ```ts
@@ -215,12 +301,14 @@ var NoOpCache = class {
215
301
  var IORedisCache = class extends BaseCache {
216
302
  client;
217
303
  defaultTTL;
304
+ isUNLINKSupported;
218
305
  isMSETEXSupported;
219
306
  constructor(options) {
220
307
  super(options);
221
308
  this.client = options.client;
222
309
  this.defaultTTL = options.defaultTTL;
223
- this.isMSETEXSupported = options.isMSETEXSupported;
310
+ this.isUNLINKSupported = options.isUNLINKSupported ?? true;
311
+ this.isMSETEXSupported = options.isMSETEXSupported ?? false;
224
312
  }
225
313
  async get(key) {
226
314
  this.logger?.debug(this.name, "[get] Running \"GET\" command...", "key =", key);
@@ -235,8 +323,13 @@ var IORedisCache = class extends BaseCache {
235
323
  else await this.client.set(key, raw);
236
324
  }
237
325
  async delete(key) {
238
- this.logger?.debug(this.name, "[delete] Running \"DEL\" command...", "key =", key);
239
- await this.client.del(key);
326
+ if (this.isUNLINKSupported) {
327
+ this.logger?.debug(this.name, "[delete] Running \"UNLINK\" command...", "key =", key);
328
+ await this.client.unlink(key);
329
+ } else {
330
+ this.logger?.debug(this.name, "[delete] Running \"DEL\" command...", "key =", key);
331
+ await this.client.del(key);
332
+ }
240
333
  }
241
334
  async getMany(keys) {
242
335
  this.logger?.debug(this.name, "[getMany] Running \"MGET\" command...", "keys =", keys);
@@ -257,8 +350,13 @@ var IORedisCache = class extends BaseCache {
257
350
  await this.client.call("MSETEX", entries.length, ...raw, ...ttl ? ["EX", ttl] : []);
258
351
  }
259
352
  async deleteMany(keys) {
260
- this.logger?.debug(this.name, "[deleteMany] Running \"DEL\" command...", "keys =", keys);
261
- await this.client.del(keys);
353
+ if (this.isUNLINKSupported) {
354
+ this.logger?.debug(this.name, "[deleteMany] Running \"UNLINK\" command...", "keys =", keys);
355
+ await this.client.unlink(keys);
356
+ } else {
357
+ this.logger?.debug(this.name, "[deleteMany] Running \"DEL\" command...", "keys =", keys);
358
+ await this.client.del(keys);
359
+ }
262
360
  }
263
361
  };
264
362
 
@@ -270,12 +368,14 @@ var IORedisCache = class extends BaseCache {
270
368
  var RedisCache = class extends BaseCache {
271
369
  client;
272
370
  defaultTTL;
371
+ isUNLINKSupported;
273
372
  isMSETEXSupported;
274
373
  constructor(options) {
275
374
  super(options);
276
375
  this.client = options.client;
277
376
  this.defaultTTL = options.defaultTTL;
278
- this.isMSETEXSupported = options.isMSETEXSupported;
377
+ this.isUNLINKSupported = options.isUNLINKSupported ?? true;
378
+ this.isMSETEXSupported = options.isMSETEXSupported ?? false;
279
379
  }
280
380
  async get(key) {
281
381
  this.logger?.debug(this.name, "[get] Running \"GET\" command...", "key =", key);
@@ -291,8 +391,13 @@ var RedisCache = class extends BaseCache {
291
391
  } : void 0 });
292
392
  }
293
393
  async delete(key) {
294
- this.logger?.debug(this.name, "[delete] Running \"DEL\" command...", "key =", key);
295
- await this.client.del(key);
394
+ if (this.isUNLINKSupported) {
395
+ this.logger?.debug(this.name, "[delete] Running \"UNLINK\" command...", "key =", key);
396
+ await this.client.unlink(key);
397
+ } else {
398
+ this.logger?.debug(this.name, "[delete] Running \"DEL\" command...", "key =", key);
399
+ await this.client.del(key);
400
+ }
296
401
  }
297
402
  async getMany(keys) {
298
403
  this.logger?.debug(this.name, "[getMany] Running \"MGET\" command...", "keys =", keys);
@@ -316,8 +421,13 @@ var RedisCache = class extends BaseCache {
316
421
  } : void 0 });
317
422
  }
318
423
  async deleteMany(keys) {
319
- this.logger?.debug(this.name, "[deleteMany] Running \"DEL\" command...", "keys =", keys);
320
- await this.client.del(keys);
424
+ if (this.isUNLINKSupported) {
425
+ this.logger?.debug(this.name, "[deleteMany] Running \"UNLINK\" command...", "keys =", keys);
426
+ await this.client.unlink(keys);
427
+ } else {
428
+ this.logger?.debug(this.name, "[deleteMany] Running \"DEL\" command...", "keys =", keys);
429
+ await this.client.del(keys);
430
+ }
321
431
  }
322
432
  };
323
433
 
@@ -348,8 +458,8 @@ var ValkeyGlideCache = class extends BaseCache {
348
458
  } : void 0 });
349
459
  }
350
460
  async delete(key) {
351
- this.logger?.debug(this.name, "[delete] Running \"DEL\" command...", "key =", key);
352
- await this.client.del([key]);
461
+ this.logger?.debug(this.name, "[delete] Running \"UNLINK\" command...", "key =", key);
462
+ await this.client.unlink([key]);
353
463
  }
354
464
  async getMany(keys) {
355
465
  this.logger?.debug(this.name, "[getMany] Running \"MGET\" command...", "keys =", keys);
@@ -362,8 +472,8 @@ var ValkeyGlideCache = class extends BaseCache {
362
472
  return data;
363
473
  }
364
474
  async deleteMany(keys) {
365
- this.logger?.debug(this.name, "[deleteMany] Running \"DEL\" command...", "keys =", keys);
366
- await this.client.del(keys);
475
+ this.logger?.debug(this.name, "[deleteMany] Running \"UNLINK\" command...", "keys =", keys);
476
+ await this.client.unlink(keys);
367
477
  }
368
478
  };
369
479
 
package/dist/index.d.cts CHANGED
@@ -119,6 +119,56 @@ declare abstract class BaseCache implements ICache {
119
119
  deleteMany(keys: string[]): Promise<void>;
120
120
  }
121
121
  //#endregion
122
+ //#region src/base/local.d.ts
123
+ type LocalCacheDisposeListener<T = any> = (key: string, value: T, reason?: string) => void;
124
+ declare abstract class BaseLocalCache extends BaseCache {
125
+ protected disposeListeners: LocalCacheDisposeListener[];
126
+ /**
127
+ * Reads the cached resource from a key (synchronous version)
128
+ * @protected
129
+ */
130
+ abstract _get<T>(key: string): T | null;
131
+ /**
132
+ * Writes a resource into cache (synchronous version)
133
+ * @protected
134
+ */
135
+ abstract _set<T>(key: string, value: T, options?: SetCacheOptions): void;
136
+ /**
137
+ * Deletes a cached resource by a key. (synchronous version)
138
+ * @protected
139
+ */
140
+ abstract _delete(key: string): void;
141
+ /**
142
+ * Reads cached resources by their keys. (synchronous version)
143
+ * @protected
144
+ */
145
+ _getMany<T>(keys: string[]): Record<string, T | null>;
146
+ /**
147
+ * Writes resources into cache. (synchronous version)
148
+ * @protected
149
+ */
150
+ _setMany<T>(data: Record<string, T>, options?: SetCacheOptions): void;
151
+ /**
152
+ * Deletes many cached resources by their keys. (synchronous version)
153
+ * @protected
154
+ */
155
+ _deleteMany(keys: string[]): void;
156
+ /**
157
+ * Adds a listener that will be called when a cached item is disposed.
158
+ *
159
+ * @param listener The listener function to add.
160
+ * @protected
161
+ */
162
+ _addDisposeListener(listener: LocalCacheDisposeListener): void;
163
+ get<T>(key: string): Promise<T | null>;
164
+ set<T>(key: string, value: T, options?: SetCacheOptions): Promise<void>;
165
+ delete(key: string): Promise<void>;
166
+ getMany<T>(keys: string[]): Promise<Record<string, T | null>>;
167
+ setMany<T>(data: Record<string, T>, options?: SetCacheOptions): Promise<void>;
168
+ deleteMany(keys: string[]): Promise<void>;
169
+ protected onDispose(key: string, value: any, reason?: string): void;
170
+ }
171
+ //#endregion
122
172
  //#region src/local/lru/index.d.ts
123
173
  interface ExistingLRUCacheOptions extends BaseCacheOptions {
124
174
  /**
@@ -154,14 +204,11 @@ interface LocalLRUCacheOptions extends BaseCacheOptions {
154
204
  *
155
205
  * Once the limit of items is reached, the least recently used items will be purged.
156
206
  */
157
- declare class LocalLRUCache extends BaseCache {
207
+ declare class LocalLRUCache extends BaseLocalCache {
158
208
  protected readonly cache: LRUCache<string, any, () => Promise<any>>;
159
209
  protected shouldUseFetch?: boolean;
160
210
  constructor(options?: LocalLRUCacheOptions | ExistingLRUCacheOptions);
161
- get<T>(key: string): Promise<T | null>;
162
211
  getOrLoad<T>(key: string, load: () => Promise<T>, options?: SetCacheOptions): Promise<T>;
163
- set<T>(key: string, value: T, options?: SetCacheOptions): Promise<void>;
164
- delete(key: string): Promise<void>;
165
212
  }
166
213
  //#endregion
167
214
  //#region src/local/ttl/index.d.ts
@@ -186,12 +233,9 @@ interface LocalTTLCacheOptions extends BaseCacheOptions {
186
233
  *
187
234
  * Once the limit of items is reached, the soonest expiring items will be purged.
188
235
  */
189
- declare class LocalTTLCache extends BaseCache {
236
+ declare class LocalTTLCache extends BaseLocalCache {
190
237
  protected readonly cache: TTLCache<string, any>;
191
238
  constructor(options?: LocalTTLCacheOptions | ExistingTTLCacheOptions);
192
- get<T>(key: string): Promise<T | null>;
193
- set<T>(key: string, value: T, options?: SetCacheOptions): Promise<void>;
194
- delete(key: string): Promise<void>;
195
239
  }
196
240
  //#endregion
197
241
  //#region src/local/map/index.d.ts
@@ -223,22 +267,20 @@ interface MapLike<K, V> {
223
267
  * It implements a simple FIFO eviction policy:
224
268
  * Once the limit of items is reached, the first inserted keys will be purged.
225
269
  */
226
- declare class LocalMapCache extends BaseCache {
270
+ declare class LocalMapCache extends BaseLocalCache {
227
271
  protected readonly cache: MapLike<string, any>;
228
272
  protected max: number;
229
273
  constructor(options?: LocalMapCacheOptions);
230
- get<T>(key: string): Promise<T | null>;
231
- set<T>(key: string, value: T, options?: SetCacheOptions): Promise<void>;
232
- delete(key: string): Promise<void>;
233
274
  setMany(data: Record<string, any>, options?: SetCacheOptions): Promise<void>;
234
275
  clear(): void;
276
+ protected onDispose(key: string, value: any, reason?: string): void;
235
277
  protected evict(length: number): void;
236
278
  }
237
279
  //#endregion
238
280
  //#region src/local/noop/index.d.ts
239
281
  /**
240
282
  * A cache implementation that does nothing.
241
- * It's useful for disabling cache.
283
+ * It's useful for disabling cache and unit testing.
242
284
  *
243
285
  * @example
244
286
  * ```ts
@@ -266,6 +308,17 @@ interface IORedisCacheOptions extends BaseCacheOptions {
266
308
  * The default Time To Live in seconds
267
309
  */
268
310
  defaultTTL?: number;
311
+ /**
312
+ * Indicates whether the Redis server supports the UNLINK command.
313
+ *
314
+ * {@link IORedisCache#delete} and {@link IORedisCache#deleteMany} will use UNLINK instead of DEL if this
315
+ * option is set to `true`. This is recommended to improve the deletion performance.
316
+ *
317
+ * This option should be set to `true` if the server runs Redis OSS 4.0.0 or above.
318
+ *
319
+ * @defaultValue true
320
+ */
321
+ isUNLINKSupported?: boolean;
269
322
  /**
270
323
  * Indicates whether the Redis server supports the MSETEX command.
271
324
  *
@@ -273,6 +326,8 @@ interface IORedisCacheOptions extends BaseCacheOptions {
273
326
  *
274
327
  * This option should be set to `true` if the server runs Redis OSS 8.4.0 or above.
275
328
  * Valkey does not support this yet. (see https://github.com/valkey-io/valkey/issues/2592)
329
+ *
330
+ * @defaultValue false
276
331
  */
277
332
  isMSETEXSupported?: boolean;
278
333
  }
@@ -282,7 +337,8 @@ interface IORedisCacheOptions extends BaseCacheOptions {
282
337
  declare class IORedisCache extends BaseCache {
283
338
  protected readonly client: Redis | Redis$1;
284
339
  protected defaultTTL?: number;
285
- protected isMSETEXSupported?: boolean;
340
+ protected isUNLINKSupported: boolean;
341
+ protected isMSETEXSupported: boolean;
286
342
  constructor(options: IORedisCacheOptions);
287
343
  get<T>(key: string): Promise<T | null>;
288
344
  set<T>(key: string, value: T, options?: SetCacheOptions): Promise<void>;
@@ -304,12 +360,26 @@ interface RedisCacheOptions extends BaseCacheOptions {
304
360
  */
305
361
  defaultTTL?: number;
306
362
  /**
307
- * Indicates whether the Redis server supports MSETEX command.
363
+ * Indicates whether the Redis server supports the UNLINK command.
364
+ *
365
+ * {@link RedisCache#delete} and {@link RedisCache#deleteMany} will use UNLINK instead of DEL if this
366
+ * option is set to `true`. This is recommended to improve the deletion performance.
367
+ *
368
+ * This option should be set to `true` if the server runs Redis OSS 4.0.0 or above.
369
+ *
370
+ * @defaultValue true
371
+ */
372
+ isUNLINKSupported?: boolean;
373
+ /**
374
+ * Indicates whether the Redis server supports the MSETEX command.
308
375
  *
309
376
  * {@link RedisCache#setMany} will use MSETEX if this option is set to `true`.
377
+ * This is recommended to improve the performance of setting multiple items.
310
378
  *
311
379
  * This option should be set to `true` if the server runs Redis OSS 8.4.0 or above.
312
380
  * Valkey does not support this yet. (see https://github.com/valkey-io/valkey/issues/2592)
381
+ *
382
+ * @defaultValue false
313
383
  */
314
384
  isMSETEXSupported?: boolean;
315
385
  }
@@ -319,7 +389,8 @@ interface RedisCacheOptions extends BaseCacheOptions {
319
389
  declare class RedisCache extends BaseCache {
320
390
  protected readonly client: Redis$2;
321
391
  protected defaultTTL?: number;
322
- protected isMSETEXSupported?: boolean;
392
+ protected isUNLINKSupported: boolean;
393
+ protected isMSETEXSupported: boolean;
323
394
  constructor(options: RedisCacheOptions);
324
395
  get<T>(key: string): Promise<T | null>;
325
396
  set<T>(key: string, value: T, options?: SetCacheOptions): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":["Logger","Logger","SetCacheOptions","BaseCacheOptions","ICache","T","Promise","Record"],"sources":["../src/types/logger.d.ts","../src/types/cache.d.ts","../src/base/index.ts","../src/local/lru/index.ts","../src/local/ttl/index.ts","../src/local/map/index.ts","../src/local/noop/index.ts","../src/remote/ioredis/index.ts","../src/remote/redis/index.ts","../src/remote/valkey-glide/index.ts","../src/remote/memcache/index.ts","../src/remote/memjs/index.ts","../src/remote/workers-kv/index.ts","../src/remote/keyv/index.ts","../src/layers/async-lazy/index.ts","../src/layers/coalescing/index.ts","../src/layers/jittering/index.ts","../src/layers/key-transforming/index.ts","../src/layers/swr/index.ts","../src/layers/tiered/index.ts","../src/layers/metrics/index.ts"],"sourcesContent":["\r\nexport interface Logger {\r\n /**\r\n * Sends a debug log\r\n * @param name The cache name\r\n * @param message The log message\r\n */\r\n debug: (name?: string, ...message: any[]) => void;\r\n}\r\n","import type { Logger } from './logger.js';\r\n\r\nexport interface SetCacheOptions {\r\n /**\r\n * Time to Live in seconds\r\n */\r\n ttl?: number;\r\n}\r\n\r\nexport interface BaseCacheOptions {\r\n /**\r\n * The name of this strategy. Used for logging\r\n */\r\n name?: string;\r\n\r\n /**\r\n * A logger that is useful for debugging the cache chain\r\n */\r\n logger?: Logger;\r\n}\r\n\r\nexport interface ICache {\r\n\r\n /**\r\n * Reads the cached resource from a key.\r\n * Returns `null` when the resource is not found.\r\n *\r\n * @param key The cache key\r\n */\r\n get<T>(key: string): Promise<T | null>;\r\n\r\n /**\r\n * Reads the cached resource from a key.\r\n * If the cached resource is not found, fetches it by calling the `load` function and then saves it into cache.\r\n *\r\n * @param key The cache key\r\n * @param load The function which should fetch the fresh data from origin\r\n * @param options The options used to save the cache\r\n */\r\n getOrLoad<T>(key: string, load: () => Promise<T>, options?: SetCacheOptions): Promise<T>;\r\n\r\n /**\r\n * Writes a resource into cache.\r\n *\r\n * The value **must** be JSON stringifiable.\r\n *\r\n * @param key The cache key\r\n * @param value The resource value\r\n * @param options The options to save the cache\r\n */\r\n set<T>(key: string, value: T, options?: SetCacheOptions): Promise<void>;\r\n\r\n /**\r\n * Deletes a cached resource by a key.\r\n *\r\n * @param key The cache key to delete\r\n */\r\n delete(key: string): Promise<void>;\r\n\r\n /**\r\n * Reads cached resources in batch.\r\n *\r\n * @param keys The list of cache keys.\r\n */\r\n getMany<T>(keys: string[]): Promise<Record<string, T | null>>;\r\n\r\n /**\r\n * Writes cache resources in batch.\r\n *\r\n * The values **must** be JSON stringifiable.\r\n *\r\n * @param data The cache keys and values\r\n * @param options The options to save the cache\r\n */\r\n setMany<T>(data: Record<string, T>, options?: SetCacheOptions): Promise<void>;\r\n\r\n /**\r\n * Deletes cached resources by their keys in batch.\r\n *\r\n * @param keys The list of keys to delete\r\n */\r\n deleteMany(keys: string[]): Promise<void>;\r\n\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":["Logger","Logger","SetCacheOptions","BaseCacheOptions","ICache","T","Promise","Record"],"sources":["../src/types/logger.d.ts","../src/types/cache.d.ts","../src/base/index.ts","../src/base/local.ts","../src/local/lru/index.ts","../src/local/ttl/index.ts","../src/local/map/index.ts","../src/local/noop/index.ts","../src/remote/ioredis/index.ts","../src/remote/redis/index.ts","../src/remote/valkey-glide/index.ts","../src/remote/memcache/index.ts","../src/remote/memjs/index.ts","../src/remote/workers-kv/index.ts","../src/remote/keyv/index.ts","../src/layers/async-lazy/index.ts","../src/layers/coalescing/index.ts","../src/layers/jittering/index.ts","../src/layers/key-transforming/index.ts","../src/layers/swr/index.ts","../src/layers/tiered/index.ts","../src/layers/metrics/index.ts"],"sourcesContent":["\r\nexport interface Logger {\r\n /**\r\n * Sends a debug log\r\n * @param name The cache name\r\n * @param message The log message\r\n */\r\n debug: (name?: string, ...message: any[]) => void;\r\n}\r\n","import type { Logger } from './logger.js';\r\n\r\nexport interface SetCacheOptions {\r\n /**\r\n * Time to Live in seconds\r\n */\r\n ttl?: number;\r\n}\r\n\r\nexport interface BaseCacheOptions {\r\n /**\r\n * The name of this strategy. Used for logging\r\n */\r\n name?: string;\r\n\r\n /**\r\n * A logger that is useful for debugging the cache chain\r\n */\r\n logger?: Logger;\r\n}\r\n\r\nexport interface ICache {\r\n\r\n /**\r\n * Reads the cached resource from a key.\r\n * Returns `null` when the resource is not found.\r\n *\r\n * @param key The cache key\r\n */\r\n get<T>(key: string): Promise<T | null>;\r\n\r\n /**\r\n * Reads the cached resource from a key.\r\n * If the cached resource is not found, fetches it by calling the `load` function and then saves it into cache.\r\n *\r\n * @param key The cache key\r\n * @param load The function which should fetch the fresh data from origin\r\n * @param options The options used to save the cache\r\n */\r\n getOrLoad<T>(key: string, load: () => Promise<T>, options?: SetCacheOptions): Promise<T>;\r\n\r\n /**\r\n * Writes a resource into cache.\r\n *\r\n * The value **must** be JSON stringifiable.\r\n *\r\n * @param key The cache key\r\n * @param value The resource value\r\n * @param options The options to save the cache\r\n */\r\n set<T>(key: string, value: T, options?: SetCacheOptions): Promise<void>;\r\n\r\n /**\r\n * Deletes a cached resource by a key.\r\n *\r\n * @param key The cache key to delete\r\n */\r\n delete(key: string): Promise<void>;\r\n\r\n /**\r\n * Reads cached resources in batch.\r\n *\r\n * @param keys The list of cache keys.\r\n */\r\n getMany<T>(keys: string[]): Promise<Record<string, T | null>>;\r\n\r\n /**\r\n * Writes cache resources in batch.\r\n *\r\n * The values **must** be JSON stringifiable.\r\n *\r\n * @param data The cache keys and values\r\n * @param options The options to save the cache\r\n */\r\n setMany<T>(data: Record<string, T>, options?: SetCacheOptions): Promise<void>;\r\n\r\n /**\r\n * Deletes cached resources by their keys in batch.\r\n *\r\n * @param keys The list of keys to delete\r\n */\r\n deleteMany(keys: string[]): Promise<void>;\r\n\r\n}\r\n"],"mappings":"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"}