cachimbo 0.0.4 → 0.0.6
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 +17 -4
- package/dist/index.cjs +168 -18
- package/dist/index.d.cts +156 -3
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.ts +156 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +166 -19
- package/dist/index.js.map +1 -1
- package/package.json +6 -5
package/README.md
CHANGED
|
@@ -4,7 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
<h1 align="center">Cachimbo</h1>
|
|
6
6
|
|
|
7
|
-
Cachimbo is
|
|
7
|
+
Cachimbo is a composable caching library that allows layering different strategies in order to maximize the performance.
|
|
8
|
+
|
|
9
|
+
[](https://www.npmjs.com/package/cachimbo)
|
|
10
|
+
[](https://app.codecov.io/gh/Guichaguri/cachimbo)
|
|
8
11
|
|
|
9
12
|
## Features
|
|
10
13
|
|
|
@@ -13,17 +16,19 @@ Cachimbo is an advanced caching library that allows you to layer different strat
|
|
|
13
16
|
- Valkey
|
|
14
17
|
- Memcached
|
|
15
18
|
- Cloudflare Workers KV
|
|
19
|
+
- Hazelcast
|
|
16
20
|
- Keyv
|
|
17
21
|
- Supports in-memory cache stores
|
|
18
22
|
- Least Recently Used (LRU) eviction
|
|
19
23
|
- Time-based (TTL) eviction
|
|
20
24
|
- FIFO eviction
|
|
21
25
|
- Weak References (garbage collectable cached items)
|
|
22
|
-
- Supports
|
|
26
|
+
- Supports composable cache strategies
|
|
23
27
|
- Request coalescing (deduplication)
|
|
24
28
|
- Multi-layer caching (tiered cache)
|
|
25
29
|
- Stale-While-Revalidate
|
|
26
30
|
- TTL jittering
|
|
31
|
+
- Fail-safety
|
|
27
32
|
- Metrics collection
|
|
28
33
|
- Easily extendable
|
|
29
34
|
|
|
@@ -69,27 +74,35 @@ const data = await cache.getOrLoad<MyData>(
|
|
|
69
74
|
|
|
70
75
|
In-memory caches offer extremely low latency since data is stored directly in the application’s process. They reduce external round-trips, improve performance under load, and are ideal for fast, frequently accessed data.
|
|
71
76
|
|
|
72
|
-
External caches (like Redis, Memcached, etc) provide fast, scalable, shared storage that can be accessed across multiple application instances. They offer high throughput, larger memory capacity, and centralized cache management beyond what in-memory caches can reliably provide.
|
|
77
|
+
External caches (like Redis, Memcached, etc.) provide fast, scalable, shared storage that can be accessed across multiple application instances. They offer high throughput, larger memory capacity, and centralized cache management beyond what in-memory caches can reliably provide.
|
|
73
78
|
|
|
74
79
|
- [In-memory](/docs/stores/in-memory.md)
|
|
75
80
|
- [Redis](/docs/stores/redis-valkey.md) (and Valkey)
|
|
76
81
|
- [Memcached](/docs/stores/memcached.md)
|
|
77
82
|
- [Cloudflare Workers KV](/docs/stores/cloudflare-workers-kv.md)
|
|
83
|
+
- [Hazelcast](/docs/stores/hazelcast.md)
|
|
78
84
|
- [Keyv](/docs/stores/keyv.md)
|
|
79
85
|
|
|
80
86
|
## Cache Layers
|
|
81
87
|
|
|
82
|
-
|
|
88
|
+
Cache layers are composable components that sit between your code and the cache store. While cache stores define *where* data is stored, cache layers define *how* the cache is accessed.
|
|
89
|
+
|
|
90
|
+
Each layer intercepts cache operations to add behavior. Layers can be stacked to form a pipeline, allowing advanced caching strategies to be reused across different cache backends.
|
|
83
91
|
|
|
84
92
|
- [Request Coalescing](/docs/layers/request-coalescing.md) (deduplication)
|
|
85
93
|
- [Tiered Caching](/docs/layers/tiered.md) (multi-layer caching)
|
|
86
94
|
- [Stale-While-Revalidate](/docs/layers/stale-while-revalidate.md)
|
|
87
95
|
- [TTL Jittering](/docs/layers/jittering.md)
|
|
96
|
+
- [Fail-safety](/docs/layers/fail-safe.md)
|
|
88
97
|
- [Async/Lazy Initialization](/docs/layers/async-lazy.md)
|
|
89
98
|
- [Key Transformation](/docs/layers/key-transformation.md)
|
|
90
99
|
- [Metrics Collection](/docs/layers/metrics-collection.md)
|
|
91
100
|
|
|
92
101
|
## Guides
|
|
102
|
+
- [Getting Started](/docs/guides/getting-started.md)
|
|
93
103
|
- [Choosing the right combination of layers](/docs/guides/choosing-layers.md)
|
|
94
104
|
- [Disabling cache](/docs/guides/disabling.md)
|
|
105
|
+
- [Testing](/docs/guides/testing.md)
|
|
95
106
|
- [Extending](/docs/guides/extending.md)
|
|
107
|
+
- [Design Principles](/docs/guides/design-principles.md)
|
|
108
|
+
- [Samples](/samples)
|
package/dist/index.cjs
CHANGED
|
@@ -214,61 +214,61 @@ var LocalTTLCache = class extends BaseLocalCache {
|
|
|
214
214
|
* Once the limit of items is reached, the first inserted keys will be purged.
|
|
215
215
|
*/
|
|
216
216
|
var LocalMapCache = class extends BaseLocalCache {
|
|
217
|
-
|
|
217
|
+
map;
|
|
218
218
|
max;
|
|
219
219
|
constructor(options = {}) {
|
|
220
220
|
super(options);
|
|
221
|
-
this.
|
|
221
|
+
this.map = options.map ?? /* @__PURE__ */ new Map();
|
|
222
222
|
this.max = options.max ?? Infinity;
|
|
223
223
|
}
|
|
224
224
|
/** @internal */
|
|
225
225
|
_get(key) {
|
|
226
226
|
this.logger?.debug(this.name, "[get]", "key =", key);
|
|
227
|
-
const data = this.
|
|
227
|
+
const data = this.map.get(key);
|
|
228
228
|
return data === void 0 ? null : data;
|
|
229
229
|
}
|
|
230
230
|
/** @internal */
|
|
231
231
|
_set(key, value, options) {
|
|
232
232
|
this.logger?.debug(this.name, "[set]", "key =", key);
|
|
233
|
-
const previousValue = this.
|
|
234
|
-
if (this.
|
|
235
|
-
this.
|
|
233
|
+
const previousValue = this.map.get(key);
|
|
234
|
+
if (this.map.size >= this.max && previousValue === void 0) this.evict(1);
|
|
235
|
+
this.map.set(key, value);
|
|
236
236
|
this.onDispose(key, previousValue, "set");
|
|
237
237
|
}
|
|
238
238
|
/** @internal */
|
|
239
239
|
_delete(key) {
|
|
240
240
|
this.logger?.debug(this.name, "[delete]", "key =", key);
|
|
241
|
-
const previousValue = this.
|
|
242
|
-
this.
|
|
241
|
+
const previousValue = this.map.get(key);
|
|
242
|
+
this.map.delete(key);
|
|
243
243
|
this.onDispose(key, previousValue, "delete");
|
|
244
244
|
}
|
|
245
245
|
async setMany(data, options) {
|
|
246
246
|
this.logger?.debug(this.name, "[setMany]", "data =", data);
|
|
247
247
|
const entries = Object.entries(data);
|
|
248
|
-
const newEntries = entries.filter(([key]) => !this.
|
|
249
|
-
if (this.
|
|
248
|
+
const newEntries = entries.filter(([key]) => !this.map.has(key)).length;
|
|
249
|
+
if (this.map.size + newEntries > this.max) this.evict(this.map.size + newEntries - this.max);
|
|
250
250
|
for (const [key, value] of entries) {
|
|
251
|
-
const previousValue = this.
|
|
252
|
-
this.
|
|
251
|
+
const previousValue = this.map.get(key);
|
|
252
|
+
this.map.set(key, value);
|
|
253
253
|
this.onDispose(key, previousValue, "set");
|
|
254
254
|
}
|
|
255
255
|
}
|
|
256
256
|
clear() {
|
|
257
257
|
this.logger?.debug(this.name, "[clear]");
|
|
258
|
-
for (const key of this.
|
|
259
|
-
this.
|
|
258
|
+
for (const key of this.map.keys()) this.onDispose(key, this.map.get(key), "delete");
|
|
259
|
+
this.map.clear();
|
|
260
260
|
}
|
|
261
261
|
onDispose(key, value, reason) {
|
|
262
262
|
if (value !== void 0) super.onDispose(key, value, reason);
|
|
263
263
|
}
|
|
264
264
|
evict(length) {
|
|
265
|
-
const keys = this.
|
|
265
|
+
const keys = this.map.keys();
|
|
266
266
|
for (let i = 0; i < length; i++) {
|
|
267
267
|
const key = keys.next();
|
|
268
268
|
if (key.done) break;
|
|
269
269
|
this.logger?.debug(this.name, "[evict]", "key = ", key);
|
|
270
|
-
const previousValue = this.
|
|
271
|
-
this.
|
|
270
|
+
const previousValue = this.map.get(key.value);
|
|
271
|
+
this.map.delete(key.value);
|
|
272
272
|
this.onDispose(key.value, previousValue, "evict");
|
|
273
273
|
}
|
|
274
274
|
}
|
|
@@ -387,6 +387,56 @@ var WeakCache = class extends BaseLocalCache {
|
|
|
387
387
|
}
|
|
388
388
|
};
|
|
389
389
|
|
|
390
|
+
//#endregion
|
|
391
|
+
//#region src/local/cloning/index.ts
|
|
392
|
+
/**
|
|
393
|
+
* A cache layer that deep clones data when reading and writing.
|
|
394
|
+
*
|
|
395
|
+
* This is useful when you mutate the objects retrieved from cache,
|
|
396
|
+
* and you don't want them to also change in cache.
|
|
397
|
+
*
|
|
398
|
+
* Do not use this layer if you do not intend to mutate cached objects,
|
|
399
|
+
* as the cloning process adds unnecessary overhead.
|
|
400
|
+
*/
|
|
401
|
+
var DeepCloningCache = class extends BaseLocalCache {
|
|
402
|
+
cache;
|
|
403
|
+
cacheInternal;
|
|
404
|
+
deepClone;
|
|
405
|
+
constructor(options) {
|
|
406
|
+
super(options);
|
|
407
|
+
this.cache = options.cache;
|
|
408
|
+
this.cacheInternal = options.cache.internal;
|
|
409
|
+
if (options.deepClone) this.deepClone = options.deepClone;
|
|
410
|
+
else if (typeof structuredClone === "function") this.deepClone = structuredClone;
|
|
411
|
+
else this.deepClone = (data) => JSON.parse(JSON.stringify(data));
|
|
412
|
+
}
|
|
413
|
+
_get(key) {
|
|
414
|
+
return this.deepClone(this.cacheInternal._get(key));
|
|
415
|
+
}
|
|
416
|
+
_set(key, value, options) {
|
|
417
|
+
this.cacheInternal._set(key, this.deepClone(value), options);
|
|
418
|
+
}
|
|
419
|
+
_delete(key) {
|
|
420
|
+
this.cacheInternal._delete(key);
|
|
421
|
+
}
|
|
422
|
+
_getMany(keys) {
|
|
423
|
+
return this.deepClone(this.cacheInternal._getMany(keys));
|
|
424
|
+
}
|
|
425
|
+
_setMany(data, options) {
|
|
426
|
+
this.cacheInternal._setMany(this.deepClone(data), options);
|
|
427
|
+
}
|
|
428
|
+
_deleteMany(keys) {
|
|
429
|
+
this.cacheInternal._deleteMany(keys);
|
|
430
|
+
}
|
|
431
|
+
_addDisposeListener(listener) {
|
|
432
|
+
this.cacheInternal._addDisposeListener(listener);
|
|
433
|
+
}
|
|
434
|
+
async getOrLoad(key, load, options) {
|
|
435
|
+
const loadWrapped = async () => this.deepClone(await load());
|
|
436
|
+
return this.deepClone(await this.cache.getOrLoad(key, loadWrapped, options));
|
|
437
|
+
}
|
|
438
|
+
};
|
|
439
|
+
|
|
390
440
|
//#endregion
|
|
391
441
|
//#region src/local/noop/index.ts
|
|
392
442
|
/**
|
|
@@ -698,6 +748,34 @@ var WorkersKVCache = class extends BaseCache {
|
|
|
698
748
|
}
|
|
699
749
|
};
|
|
700
750
|
|
|
751
|
+
//#endregion
|
|
752
|
+
//#region src/remote/hazelcast/index.ts
|
|
753
|
+
/**
|
|
754
|
+
* A Hazelcast cache implementation using an IMap
|
|
755
|
+
*/
|
|
756
|
+
var HazelcastCache = class extends BaseCache {
|
|
757
|
+
map;
|
|
758
|
+
constructor(options) {
|
|
759
|
+
super(options);
|
|
760
|
+
this.map = options.map;
|
|
761
|
+
}
|
|
762
|
+
get(key) {
|
|
763
|
+
return this.map.get(key);
|
|
764
|
+
}
|
|
765
|
+
set(key, value, options) {
|
|
766
|
+
return this.map.set(key, value, options?.ttl);
|
|
767
|
+
}
|
|
768
|
+
delete(key) {
|
|
769
|
+
return this.map.delete(key);
|
|
770
|
+
}
|
|
771
|
+
async getMany(keys) {
|
|
772
|
+
const entries = await this.map.getAll(keys);
|
|
773
|
+
const data = {};
|
|
774
|
+
for (const [key, value] of entries) data[key] = value;
|
|
775
|
+
return data;
|
|
776
|
+
}
|
|
777
|
+
};
|
|
778
|
+
|
|
701
779
|
//#endregion
|
|
702
780
|
//#region src/remote/keyv/index.ts
|
|
703
781
|
var KeyvCache = class extends BaseCache {
|
|
@@ -925,6 +1003,75 @@ var CoalescingCache = class {
|
|
|
925
1003
|
}
|
|
926
1004
|
};
|
|
927
1005
|
|
|
1006
|
+
//#endregion
|
|
1007
|
+
//#region src/layers/fail-safe/index.ts
|
|
1008
|
+
/**
|
|
1009
|
+
* Handles errors from an underlying cache according to a specified policy.
|
|
1010
|
+
*
|
|
1011
|
+
* @see https://read.thecoder.cafe/p/fail-open-fail-closed
|
|
1012
|
+
*/
|
|
1013
|
+
var FailSafeCache = class {
|
|
1014
|
+
cache;
|
|
1015
|
+
policy;
|
|
1016
|
+
onError;
|
|
1017
|
+
constructor(options) {
|
|
1018
|
+
this.cache = options.cache;
|
|
1019
|
+
this.policy = {
|
|
1020
|
+
get: "fail-open",
|
|
1021
|
+
set: "fail-open",
|
|
1022
|
+
delete: "fail-closed",
|
|
1023
|
+
getOrLoad: "fail-open",
|
|
1024
|
+
...options.policy || {}
|
|
1025
|
+
};
|
|
1026
|
+
this.onError = options.onError;
|
|
1027
|
+
}
|
|
1028
|
+
get(key) {
|
|
1029
|
+
return this.cache.get(key).catch((error) => this.handleError("get", error, null));
|
|
1030
|
+
}
|
|
1031
|
+
getMany(keys) {
|
|
1032
|
+
return this.cache.getMany(keys).catch((error) => this.handleError("get", error, {}));
|
|
1033
|
+
}
|
|
1034
|
+
set(key, value, options) {
|
|
1035
|
+
return this.cache.set(key, value, options).catch((error) => this.handleError("set", error, void 0));
|
|
1036
|
+
}
|
|
1037
|
+
setMany(data, options) {
|
|
1038
|
+
return this.cache.setMany(data, options).catch((error) => this.handleError("set", error, void 0));
|
|
1039
|
+
}
|
|
1040
|
+
delete(key) {
|
|
1041
|
+
return this.cache.delete(key).catch((error) => this.handleError("delete", error, void 0));
|
|
1042
|
+
}
|
|
1043
|
+
deleteMany(keys) {
|
|
1044
|
+
return this.cache.deleteMany(keys).catch((error) => this.handleError("delete", error, void 0));
|
|
1045
|
+
}
|
|
1046
|
+
async getOrLoad(key, load, options) {
|
|
1047
|
+
let loadResult;
|
|
1048
|
+
let loadErrored = false;
|
|
1049
|
+
let loadSuccessful = false;
|
|
1050
|
+
const loadWithErrorHandling = async () => {
|
|
1051
|
+
try {
|
|
1052
|
+
loadResult = await load();
|
|
1053
|
+
loadSuccessful = true;
|
|
1054
|
+
return loadResult;
|
|
1055
|
+
} catch (error) {
|
|
1056
|
+
loadErrored = true;
|
|
1057
|
+
throw error;
|
|
1058
|
+
}
|
|
1059
|
+
};
|
|
1060
|
+
try {
|
|
1061
|
+
return await this.cache.getOrLoad(key, loadWithErrorHandling, options);
|
|
1062
|
+
} catch (error) {
|
|
1063
|
+
if (loadErrored) throw error;
|
|
1064
|
+
await this.handleError("getOrLoad", error, null);
|
|
1065
|
+
return loadSuccessful ? loadResult : await load();
|
|
1066
|
+
}
|
|
1067
|
+
}
|
|
1068
|
+
handleError(operation, error, failOpenValue) {
|
|
1069
|
+
this.onError?.(operation, error);
|
|
1070
|
+
if (this.policy[operation] === "fail-open") return Promise.resolve(failOpenValue);
|
|
1071
|
+
else return Promise.reject(error);
|
|
1072
|
+
}
|
|
1073
|
+
};
|
|
1074
|
+
|
|
928
1075
|
//#endregion
|
|
929
1076
|
//#region src/layers/jittering/index.ts
|
|
930
1077
|
/**
|
|
@@ -987,7 +1134,7 @@ var KeyTransformingCache = class {
|
|
|
987
1134
|
transform;
|
|
988
1135
|
constructor(options) {
|
|
989
1136
|
this.cache = options.cache;
|
|
990
|
-
if ("transform" in options) this.transform = options.transform;
|
|
1137
|
+
if ("transform" in options && typeof options.transform === "function") this.transform = options.transform;
|
|
991
1138
|
else {
|
|
992
1139
|
const prefix = options.prefix || "";
|
|
993
1140
|
const suffix = options.suffix || "";
|
|
@@ -1344,6 +1491,9 @@ exports.AsyncLazyCache = AsyncLazyCache;
|
|
|
1344
1491
|
exports.BaseCache = BaseCache;
|
|
1345
1492
|
exports.BaseLocalCache = BaseLocalCache;
|
|
1346
1493
|
exports.CoalescingCache = CoalescingCache;
|
|
1494
|
+
exports.DeepCloningCache = DeepCloningCache;
|
|
1495
|
+
exports.FailSafeCache = FailSafeCache;
|
|
1496
|
+
exports.HazelcastCache = HazelcastCache;
|
|
1347
1497
|
exports.IORedisCache = IORedisCache;
|
|
1348
1498
|
exports.JitteringCache = JitteringCache;
|
|
1349
1499
|
exports.KeyTransformingCache = KeyTransformingCache;
|
package/dist/index.d.cts
CHANGED
|
@@ -7,6 +7,7 @@ import { BaseClient, GlideClient, GlideClusterClient } from "@valkey/valkey-glid
|
|
|
7
7
|
import Memcache from "memcache";
|
|
8
8
|
import { Client } from "memjs";
|
|
9
9
|
import { KVNamespace } from "@cloudflare/workers-types";
|
|
10
|
+
import { IMap } from "hazelcast-client";
|
|
10
11
|
import Keyv from "keyv";
|
|
11
12
|
|
|
12
13
|
//#region src/types/logger.d.ts
|
|
@@ -50,6 +51,8 @@ interface ICache {
|
|
|
50
51
|
* Reads the cached resource from a key.
|
|
51
52
|
* If the cached resource is not found, fetches it by calling the `load` function and then saves it into cache.
|
|
52
53
|
*
|
|
54
|
+
* This method implements the Cache-Aside pattern.
|
|
55
|
+
*
|
|
53
56
|
* @param key The cache key
|
|
54
57
|
* @param load The function which should fetch the fresh data from origin
|
|
55
58
|
* @param options The options used to save the cache
|
|
@@ -260,7 +263,7 @@ interface LocalMapCacheOptions extends BaseCacheOptions {
|
|
|
260
263
|
/**
|
|
261
264
|
* The underlying map.
|
|
262
265
|
*/
|
|
263
|
-
|
|
266
|
+
map?: MapLike<string, any>;
|
|
264
267
|
/**
|
|
265
268
|
* The maximum size of the cache.
|
|
266
269
|
* When not set, the cache can grow indefinitely.
|
|
@@ -285,7 +288,7 @@ interface MapLike<K, V> {
|
|
|
285
288
|
* Once the limit of items is reached, the first inserted keys will be purged.
|
|
286
289
|
*/
|
|
287
290
|
declare class LocalMapCache extends BaseLocalCache {
|
|
288
|
-
protected readonly
|
|
291
|
+
protected readonly map: MapLike<string, any>;
|
|
289
292
|
protected max: number;
|
|
290
293
|
constructor(options?: LocalMapCacheOptions);
|
|
291
294
|
setMany(data: Record<string, any>, options?: SetCacheOptions): Promise<void>;
|
|
@@ -355,6 +358,47 @@ declare class WeakCache extends BaseLocalCache {
|
|
|
355
358
|
protected unregisterByKey(key: string): void;
|
|
356
359
|
}
|
|
357
360
|
//#endregion
|
|
361
|
+
//#region src/local/cloning/index.d.ts
|
|
362
|
+
interface DeepCloningCacheOptions extends BaseCacheOptions {
|
|
363
|
+
/**
|
|
364
|
+
* The underlying cache. This must be an in-memory cache.
|
|
365
|
+
*/
|
|
366
|
+
cache: BaseLocalCache;
|
|
367
|
+
/**
|
|
368
|
+
* The deep clone function to use.
|
|
369
|
+
*
|
|
370
|
+
* By default, it will try to use `structuredClone()` if available,
|
|
371
|
+
* otherwise it will use a JSON.parse/stringify-based implementation.
|
|
372
|
+
*
|
|
373
|
+
* @param data The data to deep clone
|
|
374
|
+
* @returns The cloned data
|
|
375
|
+
*/
|
|
376
|
+
deepClone?: <T>(data: T) => T;
|
|
377
|
+
}
|
|
378
|
+
/**
|
|
379
|
+
* A cache layer that deep clones data when reading and writing.
|
|
380
|
+
*
|
|
381
|
+
* This is useful when you mutate the objects retrieved from cache,
|
|
382
|
+
* and you don't want them to also change in cache.
|
|
383
|
+
*
|
|
384
|
+
* Do not use this layer if you do not intend to mutate cached objects,
|
|
385
|
+
* as the cloning process adds unnecessary overhead.
|
|
386
|
+
*/
|
|
387
|
+
declare class DeepCloningCache extends BaseLocalCache {
|
|
388
|
+
protected readonly cache: BaseLocalCache;
|
|
389
|
+
protected readonly cacheInternal: LocalCacheInternal;
|
|
390
|
+
protected deepClone: <T>(data: T) => T;
|
|
391
|
+
constructor(options: DeepCloningCacheOptions);
|
|
392
|
+
protected _get<T>(key: string): T | null;
|
|
393
|
+
protected _set<T>(key: string, value: T, options?: SetCacheOptions): void;
|
|
394
|
+
protected _delete(key: string): void;
|
|
395
|
+
protected _getMany<T>(keys: string[]): Record<string, T | null>;
|
|
396
|
+
protected _setMany<T>(data: Record<string, T>, options?: SetCacheOptions): void;
|
|
397
|
+
protected _deleteMany(keys: string[]): void;
|
|
398
|
+
protected _addDisposeListener(listener: any): void;
|
|
399
|
+
getOrLoad<T>(key: string, load: () => Promise<T>, options?: SetCacheOptions): Promise<T>;
|
|
400
|
+
}
|
|
401
|
+
//#endregion
|
|
358
402
|
//#region src/local/noop/index.d.ts
|
|
359
403
|
/**
|
|
360
404
|
* A cache implementation that does nothing.
|
|
@@ -578,6 +622,36 @@ declare class WorkersKVCache extends BaseCache {
|
|
|
578
622
|
getMany<T>(keys: string[]): Promise<Record<string, T | null>>;
|
|
579
623
|
}
|
|
580
624
|
//#endregion
|
|
625
|
+
//#region src/remote/hazelcast/index.d.ts
|
|
626
|
+
interface HazelcastCacheOptions extends BaseCacheOptions {
|
|
627
|
+
/**
|
|
628
|
+
* Hazelcast map instance.
|
|
629
|
+
*
|
|
630
|
+
* Obtain it through a Hazelcast client:
|
|
631
|
+
*
|
|
632
|
+
* ```ts
|
|
633
|
+
* import { Client } from 'hazelcast-client';
|
|
634
|
+
*
|
|
635
|
+
* const client = await Client.newHazelcastClient();
|
|
636
|
+
* const map = await client.getMap('my-cache');
|
|
637
|
+
*
|
|
638
|
+
* const cache = new HazelcastCache({ map });
|
|
639
|
+
* ```
|
|
640
|
+
*/
|
|
641
|
+
map: IMap<string, any>;
|
|
642
|
+
}
|
|
643
|
+
/**
|
|
644
|
+
* A Hazelcast cache implementation using an IMap
|
|
645
|
+
*/
|
|
646
|
+
declare class HazelcastCache extends BaseCache {
|
|
647
|
+
protected readonly map: IMap<string, any>;
|
|
648
|
+
constructor(options: HazelcastCacheOptions);
|
|
649
|
+
get<T>(key: string): Promise<T | null>;
|
|
650
|
+
set<T>(key: string, value: T, options?: SetCacheOptions): Promise<void>;
|
|
651
|
+
delete(key: string): Promise<void>;
|
|
652
|
+
getMany<T>(keys: string[]): Promise<Record<string, T | null>>;
|
|
653
|
+
}
|
|
654
|
+
//#endregion
|
|
581
655
|
//#region src/remote/keyv/index.d.ts
|
|
582
656
|
interface KeyvCacheOptions extends BaseCacheOptions {
|
|
583
657
|
/**
|
|
@@ -687,6 +761,85 @@ declare class CoalescingCache implements ICache {
|
|
|
687
761
|
deleteMany(keys: string[]): Promise<void>;
|
|
688
762
|
}
|
|
689
763
|
//#endregion
|
|
764
|
+
//#region src/layers/fail-safe/index.d.ts
|
|
765
|
+
interface FailSafeCacheOptions extends BaseCacheOptions {
|
|
766
|
+
/**
|
|
767
|
+
* The underlying cache
|
|
768
|
+
*/
|
|
769
|
+
cache: ICache;
|
|
770
|
+
/**
|
|
771
|
+
* The error policy
|
|
772
|
+
*/
|
|
773
|
+
policy?: ErrorPolicy;
|
|
774
|
+
/**
|
|
775
|
+
* A callback that is called when an error occurs.
|
|
776
|
+
* This is useful for logging or metrics.
|
|
777
|
+
*
|
|
778
|
+
* @param operation In which operation call the error occurred
|
|
779
|
+
* @param error The error that occurred
|
|
780
|
+
*/
|
|
781
|
+
onError?: (operation: ErrorPolicyOperation, error: unknown) => void;
|
|
782
|
+
}
|
|
783
|
+
type ErrorPolicyOperation = 'get' | 'set' | 'delete' | 'getOrLoad';
|
|
784
|
+
interface ErrorPolicy {
|
|
785
|
+
/**
|
|
786
|
+
* Policy for when the {@link ICache#get} and {@link ICache#getMany} throw errors
|
|
787
|
+
*
|
|
788
|
+
* - 'fail-open': return null on error
|
|
789
|
+
* - 'fail-closed': throw on error
|
|
790
|
+
*
|
|
791
|
+
* @defaultValue 'fail-open'
|
|
792
|
+
*/
|
|
793
|
+
get?: 'fail-open' | 'fail-closed';
|
|
794
|
+
/**
|
|
795
|
+
* Policy for when the {@link ICache#set} and {@link ICache#setMany} throws errors
|
|
796
|
+
*
|
|
797
|
+
* - 'fail-open': does nothing on error
|
|
798
|
+
* - 'fail-closed': throw on error
|
|
799
|
+
*
|
|
800
|
+
* @defaultValue 'fail-open'
|
|
801
|
+
*/
|
|
802
|
+
set?: 'fail-open' | 'fail-closed';
|
|
803
|
+
/**
|
|
804
|
+
* Policy for when the {@link ICache#delete} and {@link ICache#deleteMany} throws errors
|
|
805
|
+
*
|
|
806
|
+
* - 'fail-open': does nothing on error
|
|
807
|
+
* - 'fail-closed': throw on error
|
|
808
|
+
*
|
|
809
|
+
* @defaultValue 'fail-closed'
|
|
810
|
+
*/
|
|
811
|
+
delete?: 'fail-open' | 'fail-closed';
|
|
812
|
+
/**
|
|
813
|
+
* Policy for when the {@link ICache#getOrLoad} throws errors.
|
|
814
|
+
* This does not include errors from the `load` function, only the cache operations.
|
|
815
|
+
*
|
|
816
|
+
* - 'fail-open': loads from origin on error
|
|
817
|
+
* - 'fail-closed': throw on error
|
|
818
|
+
*
|
|
819
|
+
* @defaultValue 'fail-open'
|
|
820
|
+
*/
|
|
821
|
+
getOrLoad?: 'fail-open' | 'fail-closed';
|
|
822
|
+
}
|
|
823
|
+
/**
|
|
824
|
+
* Handles errors from an underlying cache according to a specified policy.
|
|
825
|
+
*
|
|
826
|
+
* @see https://read.thecoder.cafe/p/fail-open-fail-closed
|
|
827
|
+
*/
|
|
828
|
+
declare class FailSafeCache implements ICache {
|
|
829
|
+
protected readonly cache: ICache;
|
|
830
|
+
protected readonly policy: ErrorPolicy;
|
|
831
|
+
protected readonly onError?: (operation: ErrorPolicyOperation, error: unknown) => void;
|
|
832
|
+
constructor(options: FailSafeCacheOptions);
|
|
833
|
+
get<T>(key: string): Promise<T | null>;
|
|
834
|
+
getMany<T>(keys: string[]): Promise<Record<string, T | null>>;
|
|
835
|
+
set<T>(key: string, value: T, options?: SetCacheOptions): Promise<void>;
|
|
836
|
+
setMany<T>(data: Record<string, T>, options?: SetCacheOptions): Promise<void>;
|
|
837
|
+
delete(key: string): Promise<void>;
|
|
838
|
+
deleteMany(keys: string[]): Promise<void>;
|
|
839
|
+
getOrLoad<T>(key: string, load: () => Promise<T>, options?: SetCacheOptions): Promise<T>;
|
|
840
|
+
protected handleError<T>(operation: ErrorPolicyOperation, error: unknown, failOpenValue: T): Promise<T>;
|
|
841
|
+
}
|
|
842
|
+
//#endregion
|
|
690
843
|
//#region src/layers/jittering/index.d.ts
|
|
691
844
|
interface JitteringCacheOptions {
|
|
692
845
|
/**
|
|
@@ -908,5 +1061,5 @@ declare class MetricsCollectingCache implements ICache {
|
|
|
908
1061
|
resetMetrics(): void;
|
|
909
1062
|
}
|
|
910
1063
|
//#endregion
|
|
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 };
|
|
1064
|
+
export { AsyncLazyCache, AsyncLazyCacheOptions, BaseCache, BaseCacheOptions, BaseLocalCache, CacheMetrics, CacheTier, CoalescingCache, CoalescingCacheOptions, DeepCloningCache, DeepCloningCacheOptions, ErrorPolicy, ExistingLRUCacheOptions, ExistingTTLCacheOptions, FailSafeCache, FailSafeCacheOptions, HazelcastCache, HazelcastCacheOptions, 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 };
|
|
912
1065
|
//# 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/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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"}
|
|
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/cloning/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/hazelcast/index.ts","../src/remote/keyv/index.ts","../src/layers/async-lazy/index.ts","../src/layers/coalescing/index.ts","../src/layers/fail-safe/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 * This method implements the Cache-Aside pattern.\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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"}
|