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/README.md +1 -0
- package/dist/index.cjs +276 -39
- package/dist/index.d.cts +166 -17
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +166 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +275 -40
- package/dist/index.js.map +1 -1
- package/package.json +22 -20
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
package/dist/index.d.cts.map
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|