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