cachimbo 0.0.3 → 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 +132 -5
- package/dist/index.d.cts +93 -15
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +93 -15
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +131 -6
- package/dist/index.js.map +1 -1
- package/package.json +5 -3
package/README.md
CHANGED
|
@@ -18,6 +18,7 @@ Cachimbo is an advanced caching library that allows you to layer different strat
|
|
|
18
18
|
- Least Recently Used (LRU) eviction
|
|
19
19
|
- Time-based (TTL) eviction
|
|
20
20
|
- FIFO eviction
|
|
21
|
+
- Weak References (garbage collectable cached items)
|
|
21
22
|
- Supports intermediary cache strategies
|
|
22
23
|
- Request coalescing (deduplication)
|
|
23
24
|
- Multi-layer caching (tiered cache)
|
package/dist/index.cjs
CHANGED
|
@@ -46,21 +46,18 @@ var BaseLocalCache = class extends BaseCache {
|
|
|
46
46
|
disposeListeners = [];
|
|
47
47
|
/**
|
|
48
48
|
* Reads cached resources by their keys. (synchronous version)
|
|
49
|
-
* @protected
|
|
50
49
|
*/
|
|
51
50
|
_getMany(keys) {
|
|
52
51
|
return Object.fromEntries(keys.map((key) => [key, this._get(key)]));
|
|
53
52
|
}
|
|
54
53
|
/**
|
|
55
54
|
* Writes resources into cache. (synchronous version)
|
|
56
|
-
* @protected
|
|
57
55
|
*/
|
|
58
56
|
_setMany(data, options) {
|
|
59
57
|
for (const [key, value] of Object.entries(data)) this._set(key, value, options);
|
|
60
58
|
}
|
|
61
59
|
/**
|
|
62
60
|
* Deletes many cached resources by their keys. (synchronous version)
|
|
63
|
-
* @protected
|
|
64
61
|
*/
|
|
65
62
|
_deleteMany(keys) {
|
|
66
63
|
for (const key of keys) this._delete(key);
|
|
@@ -69,29 +66,41 @@ var BaseLocalCache = class extends BaseCache {
|
|
|
69
66
|
* Adds a listener that will be called when a cached item is disposed.
|
|
70
67
|
*
|
|
71
68
|
* @param listener The listener function to add.
|
|
72
|
-
* @protected
|
|
73
69
|
*/
|
|
74
70
|
_addDisposeListener(listener) {
|
|
75
71
|
this.disposeListeners.push(listener);
|
|
76
72
|
}
|
|
73
|
+
/**
|
|
74
|
+
* Gets access to the internal synchronous methods.
|
|
75
|
+
* @experimental
|
|
76
|
+
*/
|
|
77
|
+
get internal() {
|
|
78
|
+
return this;
|
|
79
|
+
}
|
|
80
|
+
/** @sealed **/
|
|
77
81
|
get(key) {
|
|
78
82
|
return Promise.resolve(this._get(key));
|
|
79
83
|
}
|
|
84
|
+
/** @sealed **/
|
|
80
85
|
set(key, value, options) {
|
|
81
86
|
this._set(key, value, options);
|
|
82
87
|
return Promise.resolve();
|
|
83
88
|
}
|
|
89
|
+
/** @sealed **/
|
|
84
90
|
delete(key) {
|
|
85
91
|
this._delete(key);
|
|
86
92
|
return Promise.resolve();
|
|
87
93
|
}
|
|
94
|
+
/** @sealed **/
|
|
88
95
|
getMany(keys) {
|
|
89
96
|
return Promise.resolve(this._getMany(keys));
|
|
90
97
|
}
|
|
98
|
+
/** @sealed **/
|
|
91
99
|
setMany(data, options) {
|
|
92
100
|
this._setMany(data, options);
|
|
93
101
|
return Promise.resolve();
|
|
94
102
|
}
|
|
103
|
+
/** @sealed **/
|
|
95
104
|
deleteMany(keys) {
|
|
96
105
|
this._deleteMany(keys);
|
|
97
106
|
return Promise.resolve();
|
|
@@ -265,6 +274,119 @@ var LocalMapCache = class extends BaseLocalCache {
|
|
|
265
274
|
}
|
|
266
275
|
};
|
|
267
276
|
|
|
277
|
+
//#endregion
|
|
278
|
+
//#region src/local/weak/index.ts
|
|
279
|
+
/**
|
|
280
|
+
* A cache layer that stores objects as weak references.
|
|
281
|
+
*
|
|
282
|
+
* When an object is garbage collected, its entry is automatically removed from the underlying cache.
|
|
283
|
+
*
|
|
284
|
+
* This implementation requires support for both `WeakRef` and `FinalizationRegistry`.
|
|
285
|
+
*
|
|
286
|
+
* @see https://caniuse.com/mdn-javascript_builtins_finalizationregistry
|
|
287
|
+
* @see https://caniuse.com/mdn-javascript_builtins_weakref
|
|
288
|
+
*/
|
|
289
|
+
var WeakCache = class extends BaseLocalCache {
|
|
290
|
+
cache;
|
|
291
|
+
cacheInternal;
|
|
292
|
+
registry;
|
|
293
|
+
constructor(options) {
|
|
294
|
+
super(options);
|
|
295
|
+
this.cache = options.cache;
|
|
296
|
+
this.cacheInternal = options.cache.internal;
|
|
297
|
+
this.cacheInternal._addDisposeListener(this.onCacheDispose);
|
|
298
|
+
this.registry = new FinalizationRegistry(this.onGarbageCollect);
|
|
299
|
+
}
|
|
300
|
+
onGarbageCollect = (key) => this.cacheInternal._delete(key);
|
|
301
|
+
onCacheDispose = (key, value, reason) => {
|
|
302
|
+
this.unregister(value);
|
|
303
|
+
this.onDispose(key, this.unwrap(value), reason);
|
|
304
|
+
};
|
|
305
|
+
/** @internal */
|
|
306
|
+
_get(key) {
|
|
307
|
+
return this.unwrap(this.cacheInternal._get(key));
|
|
308
|
+
}
|
|
309
|
+
/** @internal */
|
|
310
|
+
_set(key, value, options) {
|
|
311
|
+
this.cacheInternal._set(key, this.wrapAndRegister(key, value), options);
|
|
312
|
+
}
|
|
313
|
+
/** @internal */
|
|
314
|
+
_delete(key) {
|
|
315
|
+
this.unregisterByKey(key);
|
|
316
|
+
this.cacheInternal._delete(key);
|
|
317
|
+
}
|
|
318
|
+
/** @internal */
|
|
319
|
+
_getMany(keys) {
|
|
320
|
+
const data = this.cacheInternal._getMany(keys);
|
|
321
|
+
for (const key of keys) data[key] = this.unwrap(data[key]);
|
|
322
|
+
return data;
|
|
323
|
+
}
|
|
324
|
+
/** @internal */
|
|
325
|
+
_setMany(data, options) {
|
|
326
|
+
Object.keys(data).forEach((key) => this.unregisterByKey(key));
|
|
327
|
+
const wrappedData = {};
|
|
328
|
+
for (const [key, value] of Object.entries(data)) wrappedData[key] = this.wrapAndRegister(key, value);
|
|
329
|
+
this.cacheInternal._setMany(wrappedData, options);
|
|
330
|
+
}
|
|
331
|
+
/** @internal */
|
|
332
|
+
_deleteMany(keys) {
|
|
333
|
+
keys.forEach((key) => this.unregisterByKey(key));
|
|
334
|
+
this.cacheInternal._deleteMany(keys);
|
|
335
|
+
}
|
|
336
|
+
async getOrLoad(key, load, options) {
|
|
337
|
+
const wrappedLoad = async () => this.wrapAndRegister(key, await load());
|
|
338
|
+
return this.unwrap(await this.cache.getOrLoad(key, wrappedLoad, options));
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Wraps the value in a WeakRef and registers it in the FinalizationRegistry if it's an object.
|
|
342
|
+
*
|
|
343
|
+
* @param key The key to reference the value in the FinalizationRegistry
|
|
344
|
+
* @param value The value to wrap
|
|
345
|
+
* @returns The wrapped value
|
|
346
|
+
*/
|
|
347
|
+
wrapAndRegister(key, value) {
|
|
348
|
+
this.unregisterByKey(key);
|
|
349
|
+
if (value !== null && typeof value === "object") {
|
|
350
|
+
this.registry.register(value, key);
|
|
351
|
+
return {
|
|
352
|
+
v: new WeakRef(value),
|
|
353
|
+
w: true
|
|
354
|
+
};
|
|
355
|
+
}
|
|
356
|
+
return {
|
|
357
|
+
v: value,
|
|
358
|
+
w: false
|
|
359
|
+
};
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Unwraps the value from a WeakRef if it's an object.
|
|
363
|
+
*
|
|
364
|
+
* @param data The data to unwrap
|
|
365
|
+
* @returns The unwrapped value
|
|
366
|
+
*/
|
|
367
|
+
unwrap(data) {
|
|
368
|
+
if (data === null) return null;
|
|
369
|
+
if (data.w) return data.v.deref() ?? null;
|
|
370
|
+
return data.v;
|
|
371
|
+
}
|
|
372
|
+
/**
|
|
373
|
+
* Unregisters the value from the FinalizationRegistry if it's an object.
|
|
374
|
+
*
|
|
375
|
+
* @param value The value to unregister
|
|
376
|
+
*/
|
|
377
|
+
unregister(value) {
|
|
378
|
+
if (value && value.w) this.registry.unregister(value.v);
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* Unregisters the value associated with the given key from the FinalizationRegistry.
|
|
382
|
+
*
|
|
383
|
+
* @param key The key
|
|
384
|
+
*/
|
|
385
|
+
unregisterByKey(key) {
|
|
386
|
+
this.unregister(this.cacheInternal._get(key));
|
|
387
|
+
}
|
|
388
|
+
};
|
|
389
|
+
|
|
268
390
|
//#endregion
|
|
269
391
|
//#region src/local/noop/index.ts
|
|
270
392
|
/**
|
|
@@ -568,7 +690,10 @@ var WorkersKVCache = class extends BaseCache {
|
|
|
568
690
|
return this.kv.delete(key);
|
|
569
691
|
}
|
|
570
692
|
async getMany(keys) {
|
|
571
|
-
const data = await this.kv.get(keys, {
|
|
693
|
+
const data = await this.kv.get(keys, {
|
|
694
|
+
type: "json",
|
|
695
|
+
cacheTtl: this.edgeCacheTTL
|
|
696
|
+
});
|
|
572
697
|
return Object.fromEntries(data);
|
|
573
698
|
}
|
|
574
699
|
};
|
|
@@ -1217,6 +1342,7 @@ var MetricsCollectingCache = class {
|
|
|
1217
1342
|
//#endregion
|
|
1218
1343
|
exports.AsyncLazyCache = AsyncLazyCache;
|
|
1219
1344
|
exports.BaseCache = BaseCache;
|
|
1345
|
+
exports.BaseLocalCache = BaseLocalCache;
|
|
1220
1346
|
exports.CoalescingCache = CoalescingCache;
|
|
1221
1347
|
exports.IORedisCache = IORedisCache;
|
|
1222
1348
|
exports.JitteringCache = JitteringCache;
|
|
@@ -1233,4 +1359,5 @@ exports.RedisCache = RedisCache;
|
|
|
1233
1359
|
exports.SWRCache = SWRCache;
|
|
1234
1360
|
exports.TieredCache = TieredCache;
|
|
1235
1361
|
exports.ValkeyGlideCache = ValkeyGlideCache;
|
|
1362
|
+
exports.WeakCache = WeakCache;
|
|
1236
1363
|
exports.WorkersKVCache = WorkersKVCache;
|
package/dist/index.d.cts
CHANGED
|
@@ -121,50 +121,67 @@ declare abstract class BaseCache implements ICache {
|
|
|
121
121
|
//#endregion
|
|
122
122
|
//#region src/base/local.d.ts
|
|
123
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
|
+
}
|
|
124
137
|
declare abstract class BaseLocalCache extends BaseCache {
|
|
125
138
|
protected disposeListeners: LocalCacheDisposeListener[];
|
|
126
139
|
/**
|
|
127
140
|
* Reads the cached resource from a key (synchronous version)
|
|
128
|
-
* @protected
|
|
129
141
|
*/
|
|
130
|
-
abstract _get<T>(key: string): T | null;
|
|
142
|
+
protected abstract _get<T>(key: string): T | null;
|
|
131
143
|
/**
|
|
132
144
|
* Writes a resource into cache (synchronous version)
|
|
133
|
-
* @protected
|
|
134
145
|
*/
|
|
135
|
-
abstract _set<T>(key: string, value: T, options?: SetCacheOptions): void;
|
|
146
|
+
protected abstract _set<T>(key: string, value: T, options?: SetCacheOptions): void;
|
|
136
147
|
/**
|
|
137
148
|
* Deletes a cached resource by a key. (synchronous version)
|
|
138
|
-
* @protected
|
|
139
149
|
*/
|
|
140
|
-
abstract _delete(key: string): void;
|
|
150
|
+
protected abstract _delete(key: string): void;
|
|
141
151
|
/**
|
|
142
152
|
* Reads cached resources by their keys. (synchronous version)
|
|
143
|
-
* @protected
|
|
144
153
|
*/
|
|
145
|
-
_getMany<T>(keys: string[]): Record<string, T | null>;
|
|
154
|
+
protected _getMany<T>(keys: string[]): Record<string, T | null>;
|
|
146
155
|
/**
|
|
147
156
|
* Writes resources into cache. (synchronous version)
|
|
148
|
-
* @protected
|
|
149
157
|
*/
|
|
150
|
-
_setMany<T>(data: Record<string, T>, options?: SetCacheOptions): void;
|
|
158
|
+
protected _setMany<T>(data: Record<string, T>, options?: SetCacheOptions): void;
|
|
151
159
|
/**
|
|
152
160
|
* Deletes many cached resources by their keys. (synchronous version)
|
|
153
|
-
* @protected
|
|
154
161
|
*/
|
|
155
|
-
_deleteMany(keys: string[]): void;
|
|
162
|
+
protected _deleteMany(keys: string[]): void;
|
|
156
163
|
/**
|
|
157
164
|
* Adds a listener that will be called when a cached item is disposed.
|
|
158
165
|
*
|
|
159
166
|
* @param listener The listener function to add.
|
|
160
|
-
* @protected
|
|
161
167
|
*/
|
|
162
|
-
_addDisposeListener(listener: LocalCacheDisposeListener): void;
|
|
168
|
+
protected _addDisposeListener(listener: LocalCacheDisposeListener): void;
|
|
169
|
+
/**
|
|
170
|
+
* Gets access to the internal synchronous methods.
|
|
171
|
+
* @experimental
|
|
172
|
+
*/
|
|
173
|
+
get internal(): LocalCacheInternal;
|
|
174
|
+
/** @sealed **/
|
|
163
175
|
get<T>(key: string): Promise<T | null>;
|
|
176
|
+
/** @sealed **/
|
|
164
177
|
set<T>(key: string, value: T, options?: SetCacheOptions): Promise<void>;
|
|
178
|
+
/** @sealed **/
|
|
165
179
|
delete(key: string): Promise<void>;
|
|
180
|
+
/** @sealed **/
|
|
166
181
|
getMany<T>(keys: string[]): Promise<Record<string, T | null>>;
|
|
182
|
+
/** @sealed **/
|
|
167
183
|
setMany<T>(data: Record<string, T>, options?: SetCacheOptions): Promise<void>;
|
|
184
|
+
/** @sealed **/
|
|
168
185
|
deleteMany(keys: string[]): Promise<void>;
|
|
169
186
|
protected onDispose(key: string, value: any, reason?: string): void;
|
|
170
187
|
}
|
|
@@ -277,6 +294,67 @@ declare class LocalMapCache extends BaseLocalCache {
|
|
|
277
294
|
protected evict(length: number): void;
|
|
278
295
|
}
|
|
279
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
|
|
280
358
|
//#region src/local/noop/index.d.ts
|
|
281
359
|
/**
|
|
282
360
|
* A cache implementation that does nothing.
|
|
@@ -830,5 +908,5 @@ declare class MetricsCollectingCache implements ICache {
|
|
|
830
908
|
resetMetrics(): void;
|
|
831
909
|
}
|
|
832
910
|
//#endregion
|
|
833
|
-
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 };
|
|
834
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/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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"}
|
|
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
|
@@ -121,50 +121,67 @@ declare abstract class BaseCache implements ICache {
|
|
|
121
121
|
//#endregion
|
|
122
122
|
//#region src/base/local.d.ts
|
|
123
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
|
+
}
|
|
124
137
|
declare abstract class BaseLocalCache extends BaseCache {
|
|
125
138
|
protected disposeListeners: LocalCacheDisposeListener[];
|
|
126
139
|
/**
|
|
127
140
|
* Reads the cached resource from a key (synchronous version)
|
|
128
|
-
* @protected
|
|
129
141
|
*/
|
|
130
|
-
abstract _get<T>(key: string): T | null;
|
|
142
|
+
protected abstract _get<T>(key: string): T | null;
|
|
131
143
|
/**
|
|
132
144
|
* Writes a resource into cache (synchronous version)
|
|
133
|
-
* @protected
|
|
134
145
|
*/
|
|
135
|
-
abstract _set<T>(key: string, value: T, options?: SetCacheOptions): void;
|
|
146
|
+
protected abstract _set<T>(key: string, value: T, options?: SetCacheOptions): void;
|
|
136
147
|
/**
|
|
137
148
|
* Deletes a cached resource by a key. (synchronous version)
|
|
138
|
-
* @protected
|
|
139
149
|
*/
|
|
140
|
-
abstract _delete(key: string): void;
|
|
150
|
+
protected abstract _delete(key: string): void;
|
|
141
151
|
/**
|
|
142
152
|
* Reads cached resources by their keys. (synchronous version)
|
|
143
|
-
* @protected
|
|
144
153
|
*/
|
|
145
|
-
_getMany<T>(keys: string[]): Record<string, T | null>;
|
|
154
|
+
protected _getMany<T>(keys: string[]): Record<string, T | null>;
|
|
146
155
|
/**
|
|
147
156
|
* Writes resources into cache. (synchronous version)
|
|
148
|
-
* @protected
|
|
149
157
|
*/
|
|
150
|
-
_setMany<T>(data: Record<string, T>, options?: SetCacheOptions): void;
|
|
158
|
+
protected _setMany<T>(data: Record<string, T>, options?: SetCacheOptions): void;
|
|
151
159
|
/**
|
|
152
160
|
* Deletes many cached resources by their keys. (synchronous version)
|
|
153
|
-
* @protected
|
|
154
161
|
*/
|
|
155
|
-
_deleteMany(keys: string[]): void;
|
|
162
|
+
protected _deleteMany(keys: string[]): void;
|
|
156
163
|
/**
|
|
157
164
|
* Adds a listener that will be called when a cached item is disposed.
|
|
158
165
|
*
|
|
159
166
|
* @param listener The listener function to add.
|
|
160
|
-
* @protected
|
|
161
167
|
*/
|
|
162
|
-
_addDisposeListener(listener: LocalCacheDisposeListener): void;
|
|
168
|
+
protected _addDisposeListener(listener: LocalCacheDisposeListener): void;
|
|
169
|
+
/**
|
|
170
|
+
* Gets access to the internal synchronous methods.
|
|
171
|
+
* @experimental
|
|
172
|
+
*/
|
|
173
|
+
get internal(): LocalCacheInternal;
|
|
174
|
+
/** @sealed **/
|
|
163
175
|
get<T>(key: string): Promise<T | null>;
|
|
176
|
+
/** @sealed **/
|
|
164
177
|
set<T>(key: string, value: T, options?: SetCacheOptions): Promise<void>;
|
|
178
|
+
/** @sealed **/
|
|
165
179
|
delete(key: string): Promise<void>;
|
|
180
|
+
/** @sealed **/
|
|
166
181
|
getMany<T>(keys: string[]): Promise<Record<string, T | null>>;
|
|
182
|
+
/** @sealed **/
|
|
167
183
|
setMany<T>(data: Record<string, T>, options?: SetCacheOptions): Promise<void>;
|
|
184
|
+
/** @sealed **/
|
|
168
185
|
deleteMany(keys: string[]): Promise<void>;
|
|
169
186
|
protected onDispose(key: string, value: any, reason?: string): void;
|
|
170
187
|
}
|
|
@@ -277,6 +294,67 @@ declare class LocalMapCache extends BaseLocalCache {
|
|
|
277
294
|
protected evict(length: number): void;
|
|
278
295
|
}
|
|
279
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
|
|
280
358
|
//#region src/local/noop/index.d.ts
|
|
281
359
|
/**
|
|
282
360
|
* A cache implementation that does nothing.
|
|
@@ -830,5 +908,5 @@ declare class MetricsCollectingCache implements ICache {
|
|
|
830
908
|
resetMetrics(): void;
|
|
831
909
|
}
|
|
832
910
|
//#endregion
|
|
833
|
-
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 };
|
|
834
912
|
//# sourceMappingURL=index.d.ts.map
|