cachimbo 0.0.2 → 0.0.4

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.d.cts CHANGED
@@ -119,6 +119,73 @@ 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
+ /**
125
+ * Internal methods for synchronous cache operations.
126
+ * @experimental
127
+ */
128
+ interface LocalCacheInternal {
129
+ _get<T>(key: string): T | null;
130
+ _set<T>(key: string, value: T, options?: SetCacheOptions): void;
131
+ _delete(key: string): void;
132
+ _getMany<T>(keys: string[]): Record<string, T | null>;
133
+ _setMany<T>(data: Record<string, T>, options?: SetCacheOptions): void;
134
+ _deleteMany(keys: string[]): void;
135
+ _addDisposeListener(listener: LocalCacheDisposeListener): void;
136
+ }
137
+ declare abstract class BaseLocalCache extends BaseCache {
138
+ protected disposeListeners: LocalCacheDisposeListener[];
139
+ /**
140
+ * Reads the cached resource from a key (synchronous version)
141
+ */
142
+ protected abstract _get<T>(key: string): T | null;
143
+ /**
144
+ * Writes a resource into cache (synchronous version)
145
+ */
146
+ protected abstract _set<T>(key: string, value: T, options?: SetCacheOptions): void;
147
+ /**
148
+ * Deletes a cached resource by a key. (synchronous version)
149
+ */
150
+ protected abstract _delete(key: string): void;
151
+ /**
152
+ * Reads cached resources by their keys. (synchronous version)
153
+ */
154
+ protected _getMany<T>(keys: string[]): Record<string, T | null>;
155
+ /**
156
+ * Writes resources into cache. (synchronous version)
157
+ */
158
+ protected _setMany<T>(data: Record<string, T>, options?: SetCacheOptions): void;
159
+ /**
160
+ * Deletes many cached resources by their keys. (synchronous version)
161
+ */
162
+ protected _deleteMany(keys: string[]): void;
163
+ /**
164
+ * Adds a listener that will be called when a cached item is disposed.
165
+ *
166
+ * @param listener The listener function to add.
167
+ */
168
+ protected _addDisposeListener(listener: LocalCacheDisposeListener): void;
169
+ /**
170
+ * Gets access to the internal synchronous methods.
171
+ * @experimental
172
+ */
173
+ get internal(): LocalCacheInternal;
174
+ /** @sealed **/
175
+ get<T>(key: string): Promise<T | null>;
176
+ /** @sealed **/
177
+ set<T>(key: string, value: T, options?: SetCacheOptions): Promise<void>;
178
+ /** @sealed **/
179
+ delete(key: string): Promise<void>;
180
+ /** @sealed **/
181
+ getMany<T>(keys: string[]): Promise<Record<string, T | null>>;
182
+ /** @sealed **/
183
+ setMany<T>(data: Record<string, T>, options?: SetCacheOptions): Promise<void>;
184
+ /** @sealed **/
185
+ deleteMany(keys: string[]): Promise<void>;
186
+ protected onDispose(key: string, value: any, reason?: string): void;
187
+ }
188
+ //#endregion
122
189
  //#region src/local/lru/index.d.ts
123
190
  interface ExistingLRUCacheOptions extends BaseCacheOptions {
124
191
  /**
@@ -154,14 +221,11 @@ interface LocalLRUCacheOptions extends BaseCacheOptions {
154
221
  *
155
222
  * Once the limit of items is reached, the least recently used items will be purged.
156
223
  */
157
- declare class LocalLRUCache extends BaseCache {
224
+ declare class LocalLRUCache extends BaseLocalCache {
158
225
  protected readonly cache: LRUCache<string, any, () => Promise<any>>;
159
226
  protected shouldUseFetch?: boolean;
160
227
  constructor(options?: LocalLRUCacheOptions | ExistingLRUCacheOptions);
161
- get<T>(key: string): Promise<T | null>;
162
228
  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
229
  }
166
230
  //#endregion
167
231
  //#region src/local/ttl/index.d.ts
@@ -186,12 +250,9 @@ interface LocalTTLCacheOptions extends BaseCacheOptions {
186
250
  *
187
251
  * Once the limit of items is reached, the soonest expiring items will be purged.
188
252
  */
189
- declare class LocalTTLCache extends BaseCache {
253
+ declare class LocalTTLCache extends BaseLocalCache {
190
254
  protected readonly cache: TTLCache<string, any>;
191
255
  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
256
  }
196
257
  //#endregion
197
258
  //#region src/local/map/index.d.ts
@@ -223,22 +284,81 @@ interface MapLike<K, V> {
223
284
  * It implements a simple FIFO eviction policy:
224
285
  * Once the limit of items is reached, the first inserted keys will be purged.
225
286
  */
226
- declare class LocalMapCache extends BaseCache {
287
+ declare class LocalMapCache extends BaseLocalCache {
227
288
  protected readonly cache: MapLike<string, any>;
228
289
  protected max: number;
229
290
  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
291
  setMany(data: Record<string, any>, options?: SetCacheOptions): Promise<void>;
234
292
  clear(): void;
293
+ protected onDispose(key: string, value: any, reason?: string): void;
235
294
  protected evict(length: number): void;
236
295
  }
237
296
  //#endregion
297
+ //#region src/local/weak/index.d.ts
298
+ interface WeakCacheOptions extends BaseCacheOptions {
299
+ /**
300
+ * The underlying cache. This must be an in-memory cache.
301
+ */
302
+ cache: BaseLocalCache;
303
+ }
304
+ type WeakValue = {
305
+ v: WeakRef<any>;
306
+ w: true;
307
+ } | {
308
+ v: any;
309
+ w: false;
310
+ };
311
+ /**
312
+ * A cache layer that stores objects as weak references.
313
+ *
314
+ * When an object is garbage collected, its entry is automatically removed from the underlying cache.
315
+ *
316
+ * This implementation requires support for both `WeakRef` and `FinalizationRegistry`.
317
+ *
318
+ * @see https://caniuse.com/mdn-javascript_builtins_finalizationregistry
319
+ * @see https://caniuse.com/mdn-javascript_builtins_weakref
320
+ */
321
+ declare class WeakCache extends BaseLocalCache {
322
+ protected readonly cache: BaseLocalCache;
323
+ protected readonly cacheInternal: LocalCacheInternal;
324
+ protected readonly registry: FinalizationRegistry<string>;
325
+ constructor(options: WeakCacheOptions);
326
+ protected onGarbageCollect: (key: string) => void;
327
+ protected onCacheDispose: (key: string, value: any, reason?: string) => void;
328
+ getOrLoad<T>(key: string, load: () => Promise<T>, options?: SetCacheOptions): Promise<T>;
329
+ /**
330
+ * Wraps the value in a WeakRef and registers it in the FinalizationRegistry if it's an object.
331
+ *
332
+ * @param key The key to reference the value in the FinalizationRegistry
333
+ * @param value The value to wrap
334
+ * @returns The wrapped value
335
+ */
336
+ protected wrapAndRegister(key: string, value: any): WeakValue;
337
+ /**
338
+ * Unwraps the value from a WeakRef if it's an object.
339
+ *
340
+ * @param data The data to unwrap
341
+ * @returns The unwrapped value
342
+ */
343
+ protected unwrap<T>(data: WeakValue | null): T | null;
344
+ /**
345
+ * Unregisters the value from the FinalizationRegistry if it's an object.
346
+ *
347
+ * @param value The value to unregister
348
+ */
349
+ protected unregister(value: WeakValue | null): void;
350
+ /**
351
+ * Unregisters the value associated with the given key from the FinalizationRegistry.
352
+ *
353
+ * @param key The key
354
+ */
355
+ protected unregisterByKey(key: string): void;
356
+ }
357
+ //#endregion
238
358
  //#region src/local/noop/index.d.ts
239
359
  /**
240
360
  * A cache implementation that does nothing.
241
- * It's useful for disabling cache.
361
+ * It's useful for disabling cache and unit testing.
242
362
  *
243
363
  * @example
244
364
  * ```ts
@@ -266,6 +386,17 @@ interface IORedisCacheOptions extends BaseCacheOptions {
266
386
  * The default Time To Live in seconds
267
387
  */
268
388
  defaultTTL?: number;
389
+ /**
390
+ * Indicates whether the Redis server supports the UNLINK command.
391
+ *
392
+ * {@link IORedisCache#delete} and {@link IORedisCache#deleteMany} will use UNLINK instead of DEL if this
393
+ * option is set to `true`. This is recommended to improve the deletion performance.
394
+ *
395
+ * This option should be set to `true` if the server runs Redis OSS 4.0.0 or above.
396
+ *
397
+ * @defaultValue true
398
+ */
399
+ isUNLINKSupported?: boolean;
269
400
  /**
270
401
  * Indicates whether the Redis server supports the MSETEX command.
271
402
  *
@@ -273,6 +404,8 @@ interface IORedisCacheOptions extends BaseCacheOptions {
273
404
  *
274
405
  * This option should be set to `true` if the server runs Redis OSS 8.4.0 or above.
275
406
  * Valkey does not support this yet. (see https://github.com/valkey-io/valkey/issues/2592)
407
+ *
408
+ * @defaultValue false
276
409
  */
277
410
  isMSETEXSupported?: boolean;
278
411
  }
@@ -282,7 +415,8 @@ interface IORedisCacheOptions extends BaseCacheOptions {
282
415
  declare class IORedisCache extends BaseCache {
283
416
  protected readonly client: Redis | Redis$1;
284
417
  protected defaultTTL?: number;
285
- protected isMSETEXSupported?: boolean;
418
+ protected isUNLINKSupported: boolean;
419
+ protected isMSETEXSupported: boolean;
286
420
  constructor(options: IORedisCacheOptions);
287
421
  get<T>(key: string): Promise<T | null>;
288
422
  set<T>(key: string, value: T, options?: SetCacheOptions): Promise<void>;
@@ -304,12 +438,26 @@ interface RedisCacheOptions extends BaseCacheOptions {
304
438
  */
305
439
  defaultTTL?: number;
306
440
  /**
307
- * Indicates whether the Redis server supports MSETEX command.
441
+ * Indicates whether the Redis server supports the UNLINK command.
442
+ *
443
+ * {@link RedisCache#delete} and {@link RedisCache#deleteMany} will use UNLINK instead of DEL if this
444
+ * option is set to `true`. This is recommended to improve the deletion performance.
445
+ *
446
+ * This option should be set to `true` if the server runs Redis OSS 4.0.0 or above.
447
+ *
448
+ * @defaultValue true
449
+ */
450
+ isUNLINKSupported?: boolean;
451
+ /**
452
+ * Indicates whether the Redis server supports the MSETEX command.
308
453
  *
309
454
  * {@link RedisCache#setMany} will use MSETEX if this option is set to `true`.
455
+ * This is recommended to improve the performance of setting multiple items.
310
456
  *
311
457
  * This option should be set to `true` if the server runs Redis OSS 8.4.0 or above.
312
458
  * Valkey does not support this yet. (see https://github.com/valkey-io/valkey/issues/2592)
459
+ *
460
+ * @defaultValue false
313
461
  */
314
462
  isMSETEXSupported?: boolean;
315
463
  }
@@ -319,7 +467,8 @@ interface RedisCacheOptions extends BaseCacheOptions {
319
467
  declare class RedisCache extends BaseCache {
320
468
  protected readonly client: Redis$2;
321
469
  protected defaultTTL?: number;
322
- protected isMSETEXSupported?: boolean;
470
+ protected isUNLINKSupported: boolean;
471
+ protected isMSETEXSupported: boolean;
323
472
  constructor(options: RedisCacheOptions);
324
473
  get<T>(key: string): Promise<T | null>;
325
474
  set<T>(key: string, value: T, options?: SetCacheOptions): Promise<void>;
@@ -759,5 +908,5 @@ declare class MetricsCollectingCache implements ICache {
759
908
  resetMetrics(): void;
760
909
  }
761
910
  //#endregion
762
- export { AsyncLazyCache, AsyncLazyCacheOptions, BaseCache, BaseCacheOptions, CacheMetrics, CacheTier, CoalescingCache, CoalescingCacheOptions, ExistingLRUCacheOptions, ExistingTTLCacheOptions, ICache, IORedisCache, IORedisCacheOptions, JitteringCache, JitteringCacheOptions, KeyTransformingCache, KeyTransformingCacheOptions, KeyvCache, KeyvCacheOptions, LocalLRUCache, LocalLRUCacheOptions, LocalMapCache, LocalMapCacheOptions, LocalTTLCache, LocalTTLCacheOptions, Logger, MapLike, MemJSCache, MemJSCacheOptions, MemcacheCache, MemcacheCacheOptions, MetricsCollectingCache, MetricsCollectingCacheOptions, NoOpCache, RedisCache, RedisCacheOptions, SWRCache, SWRCacheOptions, SetCacheOptions, TieredCache, TieredCacheOptions, ValkeyGlideCache, ValkeyGlideCacheOptions, WorkersKVCache, WorkersKVCacheOptions };
911
+ export { AsyncLazyCache, AsyncLazyCacheOptions, BaseCache, BaseCacheOptions, BaseLocalCache, CacheMetrics, CacheTier, CoalescingCache, CoalescingCacheOptions, ExistingLRUCacheOptions, ExistingTTLCacheOptions, ICache, IORedisCache, IORedisCacheOptions, JitteringCache, JitteringCacheOptions, KeyTransformingCache, KeyTransformingCacheOptions, KeyvCache, KeyvCacheOptions, LocalCacheInternal, LocalLRUCache, LocalLRUCacheOptions, LocalMapCache, LocalMapCacheOptions, LocalTTLCache, LocalTTLCacheOptions, Logger, MapLike, MemJSCache, MemJSCacheOptions, MemcacheCache, MemcacheCacheOptions, MetricsCollectingCache, MetricsCollectingCacheOptions, NoOpCache, RedisCache, RedisCacheOptions, SWRCache, SWRCacheOptions, SetCacheOptions, TieredCache, TieredCacheOptions, ValkeyGlideCache, ValkeyGlideCacheOptions, WeakCache, WeakCacheOptions, WorkersKVCache, WorkersKVCacheOptions };
763
912
  //# sourceMappingURL=index.d.cts.map
@@ -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/weak/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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"}
package/dist/index.d.ts CHANGED
@@ -119,6 +119,73 @@ 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
+ /**
125
+ * Internal methods for synchronous cache operations.
126
+ * @experimental
127
+ */
128
+ interface LocalCacheInternal {
129
+ _get<T>(key: string): T | null;
130
+ _set<T>(key: string, value: T, options?: SetCacheOptions): void;
131
+ _delete(key: string): void;
132
+ _getMany<T>(keys: string[]): Record<string, T | null>;
133
+ _setMany<T>(data: Record<string, T>, options?: SetCacheOptions): void;
134
+ _deleteMany(keys: string[]): void;
135
+ _addDisposeListener(listener: LocalCacheDisposeListener): void;
136
+ }
137
+ declare abstract class BaseLocalCache extends BaseCache {
138
+ protected disposeListeners: LocalCacheDisposeListener[];
139
+ /**
140
+ * Reads the cached resource from a key (synchronous version)
141
+ */
142
+ protected abstract _get<T>(key: string): T | null;
143
+ /**
144
+ * Writes a resource into cache (synchronous version)
145
+ */
146
+ protected abstract _set<T>(key: string, value: T, options?: SetCacheOptions): void;
147
+ /**
148
+ * Deletes a cached resource by a key. (synchronous version)
149
+ */
150
+ protected abstract _delete(key: string): void;
151
+ /**
152
+ * Reads cached resources by their keys. (synchronous version)
153
+ */
154
+ protected _getMany<T>(keys: string[]): Record<string, T | null>;
155
+ /**
156
+ * Writes resources into cache. (synchronous version)
157
+ */
158
+ protected _setMany<T>(data: Record<string, T>, options?: SetCacheOptions): void;
159
+ /**
160
+ * Deletes many cached resources by their keys. (synchronous version)
161
+ */
162
+ protected _deleteMany(keys: string[]): void;
163
+ /**
164
+ * Adds a listener that will be called when a cached item is disposed.
165
+ *
166
+ * @param listener The listener function to add.
167
+ */
168
+ protected _addDisposeListener(listener: LocalCacheDisposeListener): void;
169
+ /**
170
+ * Gets access to the internal synchronous methods.
171
+ * @experimental
172
+ */
173
+ get internal(): LocalCacheInternal;
174
+ /** @sealed **/
175
+ get<T>(key: string): Promise<T | null>;
176
+ /** @sealed **/
177
+ set<T>(key: string, value: T, options?: SetCacheOptions): Promise<void>;
178
+ /** @sealed **/
179
+ delete(key: string): Promise<void>;
180
+ /** @sealed **/
181
+ getMany<T>(keys: string[]): Promise<Record<string, T | null>>;
182
+ /** @sealed **/
183
+ setMany<T>(data: Record<string, T>, options?: SetCacheOptions): Promise<void>;
184
+ /** @sealed **/
185
+ deleteMany(keys: string[]): Promise<void>;
186
+ protected onDispose(key: string, value: any, reason?: string): void;
187
+ }
188
+ //#endregion
122
189
  //#region src/local/lru/index.d.ts
123
190
  interface ExistingLRUCacheOptions extends BaseCacheOptions {
124
191
  /**
@@ -154,14 +221,11 @@ interface LocalLRUCacheOptions extends BaseCacheOptions {
154
221
  *
155
222
  * Once the limit of items is reached, the least recently used items will be purged.
156
223
  */
157
- declare class LocalLRUCache extends BaseCache {
224
+ declare class LocalLRUCache extends BaseLocalCache {
158
225
  protected readonly cache: LRUCache<string, any, () => Promise<any>>;
159
226
  protected shouldUseFetch?: boolean;
160
227
  constructor(options?: LocalLRUCacheOptions | ExistingLRUCacheOptions);
161
- get<T>(key: string): Promise<T | null>;
162
228
  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
229
  }
166
230
  //#endregion
167
231
  //#region src/local/ttl/index.d.ts
@@ -186,12 +250,9 @@ interface LocalTTLCacheOptions extends BaseCacheOptions {
186
250
  *
187
251
  * Once the limit of items is reached, the soonest expiring items will be purged.
188
252
  */
189
- declare class LocalTTLCache extends BaseCache {
253
+ declare class LocalTTLCache extends BaseLocalCache {
190
254
  protected readonly cache: TTLCache<string, any>;
191
255
  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
256
  }
196
257
  //#endregion
197
258
  //#region src/local/map/index.d.ts
@@ -223,22 +284,81 @@ interface MapLike<K, V> {
223
284
  * It implements a simple FIFO eviction policy:
224
285
  * Once the limit of items is reached, the first inserted keys will be purged.
225
286
  */
226
- declare class LocalMapCache extends BaseCache {
287
+ declare class LocalMapCache extends BaseLocalCache {
227
288
  protected readonly cache: MapLike<string, any>;
228
289
  protected max: number;
229
290
  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
291
  setMany(data: Record<string, any>, options?: SetCacheOptions): Promise<void>;
234
292
  clear(): void;
293
+ protected onDispose(key: string, value: any, reason?: string): void;
235
294
  protected evict(length: number): void;
236
295
  }
237
296
  //#endregion
297
+ //#region src/local/weak/index.d.ts
298
+ interface WeakCacheOptions extends BaseCacheOptions {
299
+ /**
300
+ * The underlying cache. This must be an in-memory cache.
301
+ */
302
+ cache: BaseLocalCache;
303
+ }
304
+ type WeakValue = {
305
+ v: WeakRef<any>;
306
+ w: true;
307
+ } | {
308
+ v: any;
309
+ w: false;
310
+ };
311
+ /**
312
+ * A cache layer that stores objects as weak references.
313
+ *
314
+ * When an object is garbage collected, its entry is automatically removed from the underlying cache.
315
+ *
316
+ * This implementation requires support for both `WeakRef` and `FinalizationRegistry`.
317
+ *
318
+ * @see https://caniuse.com/mdn-javascript_builtins_finalizationregistry
319
+ * @see https://caniuse.com/mdn-javascript_builtins_weakref
320
+ */
321
+ declare class WeakCache extends BaseLocalCache {
322
+ protected readonly cache: BaseLocalCache;
323
+ protected readonly cacheInternal: LocalCacheInternal;
324
+ protected readonly registry: FinalizationRegistry<string>;
325
+ constructor(options: WeakCacheOptions);
326
+ protected onGarbageCollect: (key: string) => void;
327
+ protected onCacheDispose: (key: string, value: any, reason?: string) => void;
328
+ getOrLoad<T>(key: string, load: () => Promise<T>, options?: SetCacheOptions): Promise<T>;
329
+ /**
330
+ * Wraps the value in a WeakRef and registers it in the FinalizationRegistry if it's an object.
331
+ *
332
+ * @param key The key to reference the value in the FinalizationRegistry
333
+ * @param value The value to wrap
334
+ * @returns The wrapped value
335
+ */
336
+ protected wrapAndRegister(key: string, value: any): WeakValue;
337
+ /**
338
+ * Unwraps the value from a WeakRef if it's an object.
339
+ *
340
+ * @param data The data to unwrap
341
+ * @returns The unwrapped value
342
+ */
343
+ protected unwrap<T>(data: WeakValue | null): T | null;
344
+ /**
345
+ * Unregisters the value from the FinalizationRegistry if it's an object.
346
+ *
347
+ * @param value The value to unregister
348
+ */
349
+ protected unregister(value: WeakValue | null): void;
350
+ /**
351
+ * Unregisters the value associated with the given key from the FinalizationRegistry.
352
+ *
353
+ * @param key The key
354
+ */
355
+ protected unregisterByKey(key: string): void;
356
+ }
357
+ //#endregion
238
358
  //#region src/local/noop/index.d.ts
239
359
  /**
240
360
  * A cache implementation that does nothing.
241
- * It's useful for disabling cache.
361
+ * It's useful for disabling cache and unit testing.
242
362
  *
243
363
  * @example
244
364
  * ```ts
@@ -266,6 +386,17 @@ interface IORedisCacheOptions extends BaseCacheOptions {
266
386
  * The default Time To Live in seconds
267
387
  */
268
388
  defaultTTL?: number;
389
+ /**
390
+ * Indicates whether the Redis server supports the UNLINK command.
391
+ *
392
+ * {@link IORedisCache#delete} and {@link IORedisCache#deleteMany} will use UNLINK instead of DEL if this
393
+ * option is set to `true`. This is recommended to improve the deletion performance.
394
+ *
395
+ * This option should be set to `true` if the server runs Redis OSS 4.0.0 or above.
396
+ *
397
+ * @defaultValue true
398
+ */
399
+ isUNLINKSupported?: boolean;
269
400
  /**
270
401
  * Indicates whether the Redis server supports the MSETEX command.
271
402
  *
@@ -273,6 +404,8 @@ interface IORedisCacheOptions extends BaseCacheOptions {
273
404
  *
274
405
  * This option should be set to `true` if the server runs Redis OSS 8.4.0 or above.
275
406
  * Valkey does not support this yet. (see https://github.com/valkey-io/valkey/issues/2592)
407
+ *
408
+ * @defaultValue false
276
409
  */
277
410
  isMSETEXSupported?: boolean;
278
411
  }
@@ -282,7 +415,8 @@ interface IORedisCacheOptions extends BaseCacheOptions {
282
415
  declare class IORedisCache extends BaseCache {
283
416
  protected readonly client: Redis | Redis$1;
284
417
  protected defaultTTL?: number;
285
- protected isMSETEXSupported?: boolean;
418
+ protected isUNLINKSupported: boolean;
419
+ protected isMSETEXSupported: boolean;
286
420
  constructor(options: IORedisCacheOptions);
287
421
  get<T>(key: string): Promise<T | null>;
288
422
  set<T>(key: string, value: T, options?: SetCacheOptions): Promise<void>;
@@ -304,12 +438,26 @@ interface RedisCacheOptions extends BaseCacheOptions {
304
438
  */
305
439
  defaultTTL?: number;
306
440
  /**
307
- * Indicates whether the Redis server supports MSETEX command.
441
+ * Indicates whether the Redis server supports the UNLINK command.
442
+ *
443
+ * {@link RedisCache#delete} and {@link RedisCache#deleteMany} will use UNLINK instead of DEL if this
444
+ * option is set to `true`. This is recommended to improve the deletion performance.
445
+ *
446
+ * This option should be set to `true` if the server runs Redis OSS 4.0.0 or above.
447
+ *
448
+ * @defaultValue true
449
+ */
450
+ isUNLINKSupported?: boolean;
451
+ /**
452
+ * Indicates whether the Redis server supports the MSETEX command.
308
453
  *
309
454
  * {@link RedisCache#setMany} will use MSETEX if this option is set to `true`.
455
+ * This is recommended to improve the performance of setting multiple items.
310
456
  *
311
457
  * This option should be set to `true` if the server runs Redis OSS 8.4.0 or above.
312
458
  * Valkey does not support this yet. (see https://github.com/valkey-io/valkey/issues/2592)
459
+ *
460
+ * @defaultValue false
313
461
  */
314
462
  isMSETEXSupported?: boolean;
315
463
  }
@@ -319,7 +467,8 @@ interface RedisCacheOptions extends BaseCacheOptions {
319
467
  declare class RedisCache extends BaseCache {
320
468
  protected readonly client: Redis$2;
321
469
  protected defaultTTL?: number;
322
- protected isMSETEXSupported?: boolean;
470
+ protected isUNLINKSupported: boolean;
471
+ protected isMSETEXSupported: boolean;
323
472
  constructor(options: RedisCacheOptions);
324
473
  get<T>(key: string): Promise<T | null>;
325
474
  set<T>(key: string, value: T, options?: SetCacheOptions): Promise<void>;
@@ -759,5 +908,5 @@ declare class MetricsCollectingCache implements ICache {
759
908
  resetMetrics(): void;
760
909
  }
761
910
  //#endregion
762
- export { AsyncLazyCache, AsyncLazyCacheOptions, BaseCache, BaseCacheOptions, CacheMetrics, CacheTier, CoalescingCache, CoalescingCacheOptions, ExistingLRUCacheOptions, ExistingTTLCacheOptions, ICache, IORedisCache, IORedisCacheOptions, JitteringCache, JitteringCacheOptions, KeyTransformingCache, KeyTransformingCacheOptions, KeyvCache, KeyvCacheOptions, LocalLRUCache, LocalLRUCacheOptions, LocalMapCache, LocalMapCacheOptions, LocalTTLCache, LocalTTLCacheOptions, Logger, MapLike, MemJSCache, MemJSCacheOptions, MemcacheCache, MemcacheCacheOptions, MetricsCollectingCache, MetricsCollectingCacheOptions, NoOpCache, RedisCache, RedisCacheOptions, SWRCache, SWRCacheOptions, SetCacheOptions, TieredCache, TieredCacheOptions, ValkeyGlideCache, ValkeyGlideCacheOptions, WorkersKVCache, WorkersKVCacheOptions };
911
+ export { AsyncLazyCache, AsyncLazyCacheOptions, BaseCache, BaseCacheOptions, BaseLocalCache, CacheMetrics, CacheTier, CoalescingCache, CoalescingCacheOptions, ExistingLRUCacheOptions, ExistingTTLCacheOptions, ICache, IORedisCache, IORedisCacheOptions, JitteringCache, JitteringCacheOptions, KeyTransformingCache, KeyTransformingCacheOptions, KeyvCache, KeyvCacheOptions, LocalCacheInternal, LocalLRUCache, LocalLRUCacheOptions, LocalMapCache, LocalMapCacheOptions, LocalTTLCache, LocalTTLCacheOptions, Logger, MapLike, MemJSCache, MemJSCacheOptions, MemcacheCache, MemcacheCacheOptions, MetricsCollectingCache, MetricsCollectingCacheOptions, NoOpCache, RedisCache, RedisCacheOptions, SWRCache, SWRCacheOptions, SetCacheOptions, TieredCache, TieredCacheOptions, ValkeyGlideCache, ValkeyGlideCacheOptions, WeakCache, WeakCacheOptions, WorkersKVCache, WorkersKVCacheOptions };
763
912
  //# sourceMappingURL=index.d.ts.map