@warlock.js/cache 4.0.156 → 4.0.158
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/package.json +2 -2
- package/cjs/cache-manager.d.ts +0 -159
- package/cjs/cache-manager.d.ts.map +0 -1
- package/cjs/cache-manager.js +0 -311
- package/cjs/cache-manager.js.map +0 -1
- package/cjs/drivers/base-cache-driver.d.ts +0 -144
- package/cjs/drivers/base-cache-driver.d.ts.map +0 -1
- package/cjs/drivers/base-cache-driver.js +0 -308
- package/cjs/drivers/base-cache-driver.js.map +0 -1
- package/cjs/drivers/file-cache-driver.d.ts +0 -45
- package/cjs/drivers/file-cache-driver.d.ts.map +0 -1
- package/cjs/drivers/file-cache-driver.js +0 -133
- package/cjs/drivers/file-cache-driver.js.map +0 -1
- package/cjs/drivers/index.d.ts +0 -8
- package/cjs/drivers/index.d.ts.map +0 -1
- package/cjs/drivers/lru-memory-cache-driver.d.ts +0 -98
- package/cjs/drivers/lru-memory-cache-driver.d.ts.map +0 -1
- package/cjs/drivers/lru-memory-cache-driver.js +0 -252
- package/cjs/drivers/lru-memory-cache-driver.js.map +0 -1
- package/cjs/drivers/memory-cache-driver.d.ts +0 -82
- package/cjs/drivers/memory-cache-driver.d.ts.map +0 -1
- package/cjs/drivers/memory-cache-driver.js +0 -218
- package/cjs/drivers/memory-cache-driver.js.map +0 -1
- package/cjs/drivers/memory-extended-cache-driver.d.ts +0 -13
- package/cjs/drivers/memory-extended-cache-driver.d.ts.map +0 -1
- package/cjs/drivers/memory-extended-cache-driver.js +0 -25
- package/cjs/drivers/memory-extended-cache-driver.js.map +0 -1
- package/cjs/drivers/null-cache-driver.d.ts +0 -58
- package/cjs/drivers/null-cache-driver.d.ts.map +0 -1
- package/cjs/drivers/null-cache-driver.js +0 -84
- package/cjs/drivers/null-cache-driver.js.map +0 -1
- package/cjs/drivers/redis-cache-driver.d.ts +0 -57
- package/cjs/drivers/redis-cache-driver.d.ts.map +0 -1
- package/cjs/drivers/redis-cache-driver.js +0 -263
- package/cjs/drivers/redis-cache-driver.js.map +0 -1
- package/cjs/index.d.ts +0 -6
- package/cjs/index.d.ts.map +0 -1
- package/cjs/index.js +0 -1
- package/cjs/index.js.map +0 -1
- package/cjs/tagged-cache.d.ts +0 -77
- package/cjs/tagged-cache.d.ts.map +0 -1
- package/cjs/tagged-cache.js +0 -160
- package/cjs/tagged-cache.js.map +0 -1
- package/cjs/types.d.ts +0 -381
- package/cjs/types.d.ts.map +0 -1
- package/cjs/types.js +0 -36
- package/cjs/types.js.map +0 -1
- package/cjs/utils.d.ts +0 -50
- package/cjs/utils.d.ts.map +0 -1
- package/cjs/utils.js +0 -55
- package/cjs/utils.js.map +0 -1
- package/esm/cache-manager.d.ts +0 -159
- package/esm/cache-manager.d.ts.map +0 -1
- package/esm/cache-manager.js +0 -311
- package/esm/cache-manager.js.map +0 -1
- package/esm/drivers/base-cache-driver.d.ts +0 -144
- package/esm/drivers/base-cache-driver.d.ts.map +0 -1
- package/esm/drivers/base-cache-driver.js +0 -308
- package/esm/drivers/base-cache-driver.js.map +0 -1
- package/esm/drivers/file-cache-driver.d.ts +0 -45
- package/esm/drivers/file-cache-driver.d.ts.map +0 -1
- package/esm/drivers/file-cache-driver.js +0 -133
- package/esm/drivers/file-cache-driver.js.map +0 -1
- package/esm/drivers/index.d.ts +0 -8
- package/esm/drivers/index.d.ts.map +0 -1
- package/esm/drivers/lru-memory-cache-driver.d.ts +0 -98
- package/esm/drivers/lru-memory-cache-driver.d.ts.map +0 -1
- package/esm/drivers/lru-memory-cache-driver.js +0 -252
- package/esm/drivers/lru-memory-cache-driver.js.map +0 -1
- package/esm/drivers/memory-cache-driver.d.ts +0 -82
- package/esm/drivers/memory-cache-driver.d.ts.map +0 -1
- package/esm/drivers/memory-cache-driver.js +0 -218
- package/esm/drivers/memory-cache-driver.js.map +0 -1
- package/esm/drivers/memory-extended-cache-driver.d.ts +0 -13
- package/esm/drivers/memory-extended-cache-driver.d.ts.map +0 -1
- package/esm/drivers/memory-extended-cache-driver.js +0 -25
- package/esm/drivers/memory-extended-cache-driver.js.map +0 -1
- package/esm/drivers/null-cache-driver.d.ts +0 -58
- package/esm/drivers/null-cache-driver.d.ts.map +0 -1
- package/esm/drivers/null-cache-driver.js +0 -84
- package/esm/drivers/null-cache-driver.js.map +0 -1
- package/esm/drivers/redis-cache-driver.d.ts +0 -57
- package/esm/drivers/redis-cache-driver.d.ts.map +0 -1
- package/esm/drivers/redis-cache-driver.js +0 -263
- package/esm/drivers/redis-cache-driver.js.map +0 -1
- package/esm/index.d.ts +0 -6
- package/esm/index.d.ts.map +0 -1
- package/esm/index.js +0 -1
- package/esm/index.js.map +0 -1
- package/esm/tagged-cache.d.ts +0 -77
- package/esm/tagged-cache.d.ts.map +0 -1
- package/esm/tagged-cache.js +0 -160
- package/esm/tagged-cache.js.map +0 -1
- package/esm/types.d.ts +0 -381
- package/esm/types.d.ts.map +0 -1
- package/esm/types.js +0 -36
- package/esm/types.js.map +0 -1
- package/esm/utils.d.ts +0 -50
- package/esm/utils.d.ts.map +0 -1
- package/esm/utils.js +0 -55
- package/esm/utils.js.map +0 -1
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import type { GenericObject } from "@mongez/reinforcements";
|
|
2
|
-
import type { CacheDriver, CacheKey, NullCacheDriverOptions } from "../types";
|
|
3
|
-
import { BaseCacheDriver } from "./base-cache-driver";
|
|
4
|
-
export declare class NullCacheDriver extends BaseCacheDriver<NullCacheDriver, NullCacheDriverOptions> implements CacheDriver<NullCacheDriver, NullCacheDriverOptions> {
|
|
5
|
-
/**
|
|
6
|
-
* Options list
|
|
7
|
-
*/
|
|
8
|
-
options: GenericObject;
|
|
9
|
-
/**
|
|
10
|
-
* {@inheritdoc}
|
|
11
|
-
*/
|
|
12
|
-
name: string;
|
|
13
|
-
/**
|
|
14
|
-
* Cached data
|
|
15
|
-
*/
|
|
16
|
-
data: GenericObject;
|
|
17
|
-
/**
|
|
18
|
-
* {@inheritdoc}
|
|
19
|
-
*/
|
|
20
|
-
get client(): this;
|
|
21
|
-
/**
|
|
22
|
-
* Constructor
|
|
23
|
-
*/
|
|
24
|
-
constructor(options?: GenericObject);
|
|
25
|
-
/**
|
|
26
|
-
* {@inheritdoc}
|
|
27
|
-
*/
|
|
28
|
-
setOptions(options: GenericObject): this;
|
|
29
|
-
/**
|
|
30
|
-
* {@inheritdoc}
|
|
31
|
-
*/
|
|
32
|
-
parseKey(_key: CacheKey): string;
|
|
33
|
-
/**
|
|
34
|
-
* {@inheritdoc}
|
|
35
|
-
*/
|
|
36
|
-
removeNamespace(namespace: string): Promise<this>;
|
|
37
|
-
/**
|
|
38
|
-
* {@inheritdoc}
|
|
39
|
-
*/
|
|
40
|
-
set(key: CacheKey, _value: any): Promise<this>;
|
|
41
|
-
/**
|
|
42
|
-
* {@inheritdoc}
|
|
43
|
-
*/
|
|
44
|
-
get(key: CacheKey): Promise<any>;
|
|
45
|
-
/**
|
|
46
|
-
* {@inheritdoc}
|
|
47
|
-
*/
|
|
48
|
-
remove(key: CacheKey): Promise<void>;
|
|
49
|
-
/**
|
|
50
|
-
* {@inheritdoc}
|
|
51
|
-
*/
|
|
52
|
-
flush(): Promise<void>;
|
|
53
|
-
/**
|
|
54
|
-
* {@inheritdoc}
|
|
55
|
-
*/
|
|
56
|
-
connect(): Promise<void>;
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=null-cache-driver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"null-cache-driver.d.ts","sourceRoot":"","sources":["../../src/drivers/null-cache-driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,eACX,SAAQ,eAAe,CAAC,eAAe,EAAE,sBAAsB,CAC/D,YAAW,WAAW,CAAC,eAAe,EAAE,sBAAsB,CAAC;IAE/D;;OAEG;IACI,OAAO,EAAE,aAAa,CAAM;IAEnC;;OAEG;IACI,IAAI,SAAU;IAErB;;OAEG;IACI,IAAI,EAAE,aAAa,CAAM;IAEhC;;OAEG;IACH,IAAW,MAAM,SAEhB;IAED;;OAEG;gBACgB,OAAO,GAAE,aAAkB;IAK9C;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,aAAa;IAKxC;;OAEG;IACI,QAAQ,CAAC,IAAI,EAAE,QAAQ;IAI9B;;OAEG;IACU,eAAe,CAAC,SAAS,EAAE,MAAM;IAQ9C;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG;IAQ3C;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,QAAQ;IAQ9B;;OAEG;IACU,MAAM,CAAC,GAAG,EAAE,QAAQ;IAMjC;;OAEG;IACU,KAAK;IAMlB;;OAEG;IACU,OAAO;CAGrB"}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import {log}from'@warlock.js/logger';import {BaseCacheDriver}from'./base-cache-driver.js';class NullCacheDriver extends BaseCacheDriver {
|
|
2
|
-
/**
|
|
3
|
-
* Options list
|
|
4
|
-
*/
|
|
5
|
-
options = {};
|
|
6
|
-
/**
|
|
7
|
-
* {@inheritdoc}
|
|
8
|
-
*/
|
|
9
|
-
name = "null";
|
|
10
|
-
/**
|
|
11
|
-
* Cached data
|
|
12
|
-
*/
|
|
13
|
-
data = {};
|
|
14
|
-
/**
|
|
15
|
-
* {@inheritdoc}
|
|
16
|
-
*/
|
|
17
|
-
get client() {
|
|
18
|
-
return this;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Constructor
|
|
22
|
-
*/
|
|
23
|
-
constructor(options = {}) {
|
|
24
|
-
super();
|
|
25
|
-
this.setOptions(options);
|
|
26
|
-
}
|
|
27
|
-
/**
|
|
28
|
-
* {@inheritdoc}
|
|
29
|
-
*/
|
|
30
|
-
setOptions(options) {
|
|
31
|
-
this.options = options;
|
|
32
|
-
return this;
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* {@inheritdoc}
|
|
36
|
-
*/
|
|
37
|
-
parseKey(_key) {
|
|
38
|
-
return "";
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* {@inheritdoc}
|
|
42
|
-
*/
|
|
43
|
-
async removeNamespace(namespace) {
|
|
44
|
-
log.info("cache", "clearing namespace", namespace);
|
|
45
|
-
log.success("cache", "namespace cleared", namespace);
|
|
46
|
-
return this;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* {@inheritdoc}
|
|
50
|
-
*/
|
|
51
|
-
async set(key, _value) {
|
|
52
|
-
log.info("cache", "setting key", key);
|
|
53
|
-
log.success("cache", "key set", key);
|
|
54
|
-
return this;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* {@inheritdoc}
|
|
58
|
-
*/
|
|
59
|
-
async get(key) {
|
|
60
|
-
log.info("cache", "fetching", key);
|
|
61
|
-
log.success("cache", "fetched", key);
|
|
62
|
-
return null;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* {@inheritdoc}
|
|
66
|
-
*/
|
|
67
|
-
async remove(key) {
|
|
68
|
-
log.info("cache", "removing", key);
|
|
69
|
-
log.success("cache", "removed", key);
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* {@inheritdoc}
|
|
73
|
-
*/
|
|
74
|
-
async flush() {
|
|
75
|
-
log.info("cache", "flushing", "all");
|
|
76
|
-
log.success("cache", "flushed", "all");
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* {@inheritdoc}
|
|
80
|
-
*/
|
|
81
|
-
async connect() {
|
|
82
|
-
log.success("cache", "connected", "Connected to null cache driver");
|
|
83
|
-
}
|
|
84
|
-
}export{NullCacheDriver};//# sourceMappingURL=null-cache-driver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"null-cache-driver.js","sources":["../../src/drivers/null-cache-driver.ts"],"sourcesContent":[null],"names":[],"mappings":"0FAKM,MAAO,eACX,SAAQ,eAAwD,CAAA;AAGhE;;AAEG;IACI,OAAO,GAAkB,EAAE,CAAC;AAEnC;;AAEG;IACI,IAAI,GAAG,MAAM,CAAC;AAErB;;AAEG;IACI,IAAI,GAAkB,EAAE,CAAC;AAEhC;;AAEG;AACH,IAAA,IAAW,MAAM,GAAA;AACf,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACH,IAAA,WAAA,CAAmB,UAAyB,EAAE,EAAA;AAC5C,QAAA,KAAK,EAAE,CAAC;AACR,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;KAC1B;AAED;;AAEG;AACI,IAAA,UAAU,CAAC,OAAsB,EAAA;AACtC,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,QAAQ,CAAC,IAAc,EAAA;AAC5B,QAAA,OAAO,EAAE,CAAC;KACX;AAED;;AAEG;IACI,MAAM,eAAe,CAAC,SAAiB,EAAA;QAC5C,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,SAAS,CAAC,CAAC;QAEnD,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,EAAE,SAAS,CAAC,CAAC;AAErD,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,MAAM,GAAG,CAAC,GAAa,EAAE,MAAW,EAAA;QACzC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAEtC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;AAErC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,MAAM,GAAG,CAAC,GAAa,EAAA;QAC5B,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAEnC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;AAErC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,MAAM,MAAM,CAAC,GAAa,EAAA;QAC/B,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAEnC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;KACtC;AAED;;AAEG;AACI,IAAA,MAAM,KAAK,GAAA;QAChB,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAErC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;KACxC;AAED;;AAEG;AACI,IAAA,MAAM,OAAO,GAAA;QAClB,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,gCAAgC,CAAC,CAAC;KACrE;AACF"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import type { createClient } from "redis";
|
|
2
|
-
import type { CacheDriver, CacheKey, RedisOptions } from "../types";
|
|
3
|
-
import { BaseCacheDriver } from "./base-cache-driver";
|
|
4
|
-
export declare class RedisCacheDriver extends BaseCacheDriver<ReturnType<typeof createClient>, RedisOptions> implements CacheDriver<ReturnType<typeof createClient>, RedisOptions> {
|
|
5
|
-
/**
|
|
6
|
-
* Cache driver name
|
|
7
|
-
*/
|
|
8
|
-
name: string;
|
|
9
|
-
/**
|
|
10
|
-
* {@inheritdoc}
|
|
11
|
-
*/
|
|
12
|
-
setOptions(options: RedisOptions): this;
|
|
13
|
-
/**
|
|
14
|
-
* {@inheritDoc}
|
|
15
|
-
*/
|
|
16
|
-
removeNamespace(namespace: string): Promise<any>;
|
|
17
|
-
/**
|
|
18
|
-
* {@inheritDoc}
|
|
19
|
-
*/
|
|
20
|
-
set(key: CacheKey, value: any, ttl?: number): Promise<any>;
|
|
21
|
-
/**
|
|
22
|
-
* {@inheritDoc}
|
|
23
|
-
*/
|
|
24
|
-
get(key: CacheKey): Promise<any>;
|
|
25
|
-
/**
|
|
26
|
-
* {@inheritDoc}
|
|
27
|
-
*/
|
|
28
|
-
remove(key: CacheKey): Promise<void>;
|
|
29
|
-
/**
|
|
30
|
-
* {@inheritDoc}
|
|
31
|
-
*/
|
|
32
|
-
flush(): Promise<void>;
|
|
33
|
-
/**
|
|
34
|
-
* {@inheritDoc}
|
|
35
|
-
*/
|
|
36
|
-
connect(): Promise<void>;
|
|
37
|
-
/**
|
|
38
|
-
* {@inheritDoc}
|
|
39
|
-
*/
|
|
40
|
-
disconnect(): Promise<void>;
|
|
41
|
-
/**
|
|
42
|
-
* Atomic increment using Redis native INCRBY command
|
|
43
|
-
* {@inheritdoc}
|
|
44
|
-
*/
|
|
45
|
-
increment(key: CacheKey, value?: number): Promise<number>;
|
|
46
|
-
/**
|
|
47
|
-
* Atomic decrement using Redis native DECRBY command
|
|
48
|
-
* {@inheritdoc}
|
|
49
|
-
*/
|
|
50
|
-
decrement(key: CacheKey, value?: number): Promise<number>;
|
|
51
|
-
/**
|
|
52
|
-
* Set if not exists (atomic operation)
|
|
53
|
-
* Returns true if key was set, false if key already existed
|
|
54
|
-
*/
|
|
55
|
-
setNX(key: CacheKey, value: any, ttl?: number): Promise<boolean>;
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=redis-cache-driver.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"redis-cache-driver.d.ts","sourceRoot":"","sources":["../../src/drivers/redis-cache-driver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEpE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AA8CtD,qBAAa,gBACX,SAAQ,eAAe,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,EAAE,YAAY,CACrE,YAAW,WAAW,CAAC,UAAU,CAAC,OAAO,YAAY,CAAC,EAAE,YAAY,CAAC;IAErE;;OAEG;IACI,IAAI,SAAW;IAEtB;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,YAAY;IAUvC;;OAEG;IACU,eAAe,CAAC,SAAS,EAAE,MAAM;IAmB9C;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM;IAwBxD;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,QAAQ;IA4C9B;;OAEG;IACU,MAAM,CAAC,GAAG,EAAE,QAAQ;IAajC;;OAEG;IACU,KAAK;IAelB;;OAEG;IACU,OAAO;IA4CpB;;OAEG;IACU,UAAU;IAWvB;;;OAGG;IACU,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAezE;;;OAGG;IACU,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAezE;;;OAGG;IACU,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAmC9E"}
|
|
@@ -1,263 +0,0 @@
|
|
|
1
|
-
import {log}from'@warlock.js/logger';import {CacheConfigurationError}from'../types.js';import {BaseCacheDriver}from'./base-cache-driver.js';// ============================================================
|
|
2
|
-
// Lazy-loaded Redis SDK Types
|
|
3
|
-
// ============================================================
|
|
4
|
-
/**
|
|
5
|
-
* Cached Redis module (loaded once, reused)
|
|
6
|
-
*/
|
|
7
|
-
let RedisClient;
|
|
8
|
-
let isModuleExists = null;
|
|
9
|
-
/**
|
|
10
|
-
* Installation instructions for Redis package
|
|
11
|
-
*/
|
|
12
|
-
const REDIS_INSTALL_INSTRUCTIONS = `
|
|
13
|
-
Redis cache driver requires the redis package.
|
|
14
|
-
Install it with:
|
|
15
|
-
|
|
16
|
-
npm install redis
|
|
17
|
-
|
|
18
|
-
Or with your preferred package manager:
|
|
19
|
-
|
|
20
|
-
pnpm add redis
|
|
21
|
-
yarn add redis
|
|
22
|
-
`.trim();
|
|
23
|
-
/**
|
|
24
|
-
* Load Redis module
|
|
25
|
-
*/
|
|
26
|
-
async function loadRedis() {
|
|
27
|
-
try {
|
|
28
|
-
RedisClient = await import('redis');
|
|
29
|
-
isModuleExists = true;
|
|
30
|
-
}
|
|
31
|
-
catch {
|
|
32
|
-
isModuleExists = false;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
loadRedis();
|
|
36
|
-
// ============================================================
|
|
37
|
-
// RedisCacheDriver Class
|
|
38
|
-
// ============================================================
|
|
39
|
-
class RedisCacheDriver extends BaseCacheDriver {
|
|
40
|
-
/**
|
|
41
|
-
* Cache driver name
|
|
42
|
-
*/
|
|
43
|
-
name = "redis";
|
|
44
|
-
/**
|
|
45
|
-
* {@inheritdoc}
|
|
46
|
-
*/
|
|
47
|
-
setOptions(options) {
|
|
48
|
-
if (!options.url && !options.host) {
|
|
49
|
-
throw new CacheConfigurationError("Redis driver requires either 'url' or 'host' option to be configured.");
|
|
50
|
-
}
|
|
51
|
-
return super.setOptions(options);
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* {@inheritDoc}
|
|
55
|
-
*/
|
|
56
|
-
async removeNamespace(namespace) {
|
|
57
|
-
namespace = this.parseKey(namespace);
|
|
58
|
-
this.log("clearing", namespace);
|
|
59
|
-
const keys = await this.client?.keys(`${namespace}*`);
|
|
60
|
-
if (!keys || keys.length === 0) {
|
|
61
|
-
this.log("notFound", namespace);
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
await this.client?.del(keys);
|
|
65
|
-
this.log("cleared", namespace);
|
|
66
|
-
return keys;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* {@inheritDoc}
|
|
70
|
-
*/
|
|
71
|
-
async set(key, value, ttl) {
|
|
72
|
-
key = this.parseKey(key);
|
|
73
|
-
this.log("caching", key);
|
|
74
|
-
if (ttl === undefined) {
|
|
75
|
-
ttl = this.ttl;
|
|
76
|
-
}
|
|
77
|
-
// Use Redis native expiration instead of manual checking
|
|
78
|
-
if (ttl && ttl !== Infinity) {
|
|
79
|
-
await this.client?.set(key, JSON.stringify(value), { EX: ttl });
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
await this.client?.set(key, JSON.stringify(value));
|
|
83
|
-
}
|
|
84
|
-
this.log("cached", key);
|
|
85
|
-
// Emit set event
|
|
86
|
-
await this.emit("set", { key, value, ttl });
|
|
87
|
-
return value;
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* {@inheritDoc}
|
|
91
|
-
*/
|
|
92
|
-
async get(key) {
|
|
93
|
-
key = this.parseKey(key);
|
|
94
|
-
this.log("fetching", key);
|
|
95
|
-
const value = await this.client?.get(key);
|
|
96
|
-
if (!value) {
|
|
97
|
-
this.log("notFound", key);
|
|
98
|
-
// Emit miss event
|
|
99
|
-
await this.emit("miss", { key });
|
|
100
|
-
return null;
|
|
101
|
-
}
|
|
102
|
-
this.log("fetched", key);
|
|
103
|
-
// Parse and return the value directly (Redis handles expiration natively)
|
|
104
|
-
const parsedValue = JSON.parse(value);
|
|
105
|
-
// Apply cloning for immutability protection
|
|
106
|
-
if (parsedValue === null || parsedValue === undefined) {
|
|
107
|
-
// Emit hit event
|
|
108
|
-
await this.emit("hit", { key, value: parsedValue });
|
|
109
|
-
return parsedValue;
|
|
110
|
-
}
|
|
111
|
-
const type = typeof parsedValue;
|
|
112
|
-
if (type === "string" || type === "number" || type === "boolean") {
|
|
113
|
-
// Emit hit event
|
|
114
|
-
await this.emit("hit", { key, value: parsedValue });
|
|
115
|
-
return parsedValue;
|
|
116
|
-
}
|
|
117
|
-
try {
|
|
118
|
-
const clonedValue = structuredClone(parsedValue);
|
|
119
|
-
// Emit hit event
|
|
120
|
-
await this.emit("hit", { key, value: clonedValue });
|
|
121
|
-
return clonedValue;
|
|
122
|
-
}
|
|
123
|
-
catch (error) {
|
|
124
|
-
this.logError(`Failed to clone cached value for ${key}`, error);
|
|
125
|
-
throw error;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
/**
|
|
129
|
-
* {@inheritDoc}
|
|
130
|
-
*/
|
|
131
|
-
async remove(key) {
|
|
132
|
-
key = this.parseKey(key);
|
|
133
|
-
this.log("removing", key);
|
|
134
|
-
await this.client?.del(key);
|
|
135
|
-
this.log("removed", key);
|
|
136
|
-
// Emit removed event
|
|
137
|
-
await this.emit("removed", { key });
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* {@inheritDoc}
|
|
141
|
-
*/
|
|
142
|
-
async flush() {
|
|
143
|
-
this.log("flushing");
|
|
144
|
-
if (this.options.globalPrefix) {
|
|
145
|
-
await this.removeNamespace("");
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
await this.client?.flushAll();
|
|
149
|
-
}
|
|
150
|
-
this.log("flushed");
|
|
151
|
-
// Emit flushed event
|
|
152
|
-
await this.emit("flushed");
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* {@inheritDoc}
|
|
156
|
-
*/
|
|
157
|
-
async connect() {
|
|
158
|
-
if (this.clientDriver)
|
|
159
|
-
return;
|
|
160
|
-
if (!isModuleExists) {
|
|
161
|
-
throw new Error(REDIS_INSTALL_INSTRUCTIONS);
|
|
162
|
-
}
|
|
163
|
-
const options = this.options;
|
|
164
|
-
if (options && !options.url && options.host) {
|
|
165
|
-
const auth = options.password || options.username ? `${options.username}:${options.password}@` : "";
|
|
166
|
-
if (!options.url) {
|
|
167
|
-
const host = options.host || "localhost";
|
|
168
|
-
const port = options.port || 6379;
|
|
169
|
-
options.url = `redis://${auth}${host}:${port}`;
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
const clientOptions = {
|
|
173
|
-
...options,
|
|
174
|
-
...(this.options.clientOptions || {}),
|
|
175
|
-
};
|
|
176
|
-
this.log("connecting");
|
|
177
|
-
const { createClient } = RedisClient;
|
|
178
|
-
this.client = createClient(clientOptions);
|
|
179
|
-
this.client.on("error", (error) => {
|
|
180
|
-
this.log("error", error.message);
|
|
181
|
-
});
|
|
182
|
-
try {
|
|
183
|
-
await this.client.connect();
|
|
184
|
-
this.log("connected");
|
|
185
|
-
await this.emit("connected");
|
|
186
|
-
}
|
|
187
|
-
catch (error) {
|
|
188
|
-
log.error("cache", "redis", error);
|
|
189
|
-
await this.emit("error", { error });
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* {@inheritDoc}
|
|
194
|
-
*/
|
|
195
|
-
async disconnect() {
|
|
196
|
-
if (!this.client)
|
|
197
|
-
return;
|
|
198
|
-
this.log("disconnecting");
|
|
199
|
-
await this.client.quit();
|
|
200
|
-
this.log("disconnected");
|
|
201
|
-
await this.emit("disconnected");
|
|
202
|
-
}
|
|
203
|
-
/**
|
|
204
|
-
* Atomic increment using Redis native INCRBY command
|
|
205
|
-
* {@inheritdoc}
|
|
206
|
-
*/
|
|
207
|
-
async increment(key, value = 1) {
|
|
208
|
-
const parsedKey = this.parseKey(key);
|
|
209
|
-
this.log("caching", parsedKey);
|
|
210
|
-
const result = await this.client?.incrBy(parsedKey, value);
|
|
211
|
-
this.log("cached", parsedKey);
|
|
212
|
-
// Emit set event
|
|
213
|
-
await this.emit("set", { key: parsedKey, value: result, ttl: undefined });
|
|
214
|
-
return result || 0;
|
|
215
|
-
}
|
|
216
|
-
/**
|
|
217
|
-
* Atomic decrement using Redis native DECRBY command
|
|
218
|
-
* {@inheritdoc}
|
|
219
|
-
*/
|
|
220
|
-
async decrement(key, value = 1) {
|
|
221
|
-
const parsedKey = this.parseKey(key);
|
|
222
|
-
this.log("caching", parsedKey);
|
|
223
|
-
const result = await this.client?.decrBy(parsedKey, value);
|
|
224
|
-
this.log("cached", parsedKey);
|
|
225
|
-
// Emit set event
|
|
226
|
-
await this.emit("set", { key: parsedKey, value: result, ttl: undefined });
|
|
227
|
-
return result || 0;
|
|
228
|
-
}
|
|
229
|
-
/**
|
|
230
|
-
* Set if not exists (atomic operation)
|
|
231
|
-
* Returns true if key was set, false if key already existed
|
|
232
|
-
*/
|
|
233
|
-
async setNX(key, value, ttl) {
|
|
234
|
-
const parsedKey = this.parseKey(key);
|
|
235
|
-
this.log("caching", parsedKey);
|
|
236
|
-
if (ttl === undefined) {
|
|
237
|
-
ttl = this.ttl;
|
|
238
|
-
}
|
|
239
|
-
let result;
|
|
240
|
-
// Use Redis native SET with NX option
|
|
241
|
-
if (ttl && ttl !== Infinity) {
|
|
242
|
-
result = await this.client?.set(parsedKey, JSON.stringify(value), {
|
|
243
|
-
NX: true,
|
|
244
|
-
EX: ttl,
|
|
245
|
-
});
|
|
246
|
-
}
|
|
247
|
-
else {
|
|
248
|
-
result = await this.client?.set(parsedKey, JSON.stringify(value), {
|
|
249
|
-
NX: true,
|
|
250
|
-
});
|
|
251
|
-
}
|
|
252
|
-
const wasSet = result === "OK";
|
|
253
|
-
if (wasSet) {
|
|
254
|
-
this.log("cached", parsedKey);
|
|
255
|
-
// Emit set event
|
|
256
|
-
await this.emit("set", { key: parsedKey, value, ttl });
|
|
257
|
-
}
|
|
258
|
-
else {
|
|
259
|
-
this.log("notFound", parsedKey);
|
|
260
|
-
}
|
|
261
|
-
return wasSet;
|
|
262
|
-
}
|
|
263
|
-
}export{RedisCacheDriver};//# sourceMappingURL=redis-cache-driver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"redis-cache-driver.js","sources":["../../src/drivers/redis-cache-driver.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/esm/index.d.ts
DELETED
package/esm/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
package/esm/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{CacheManager,cache}from'./cache-manager.js';export{BaseCacheDriver}from'./drivers/base-cache-driver.js';export{FileCacheDriver}from'./drivers/file-cache-driver.js';export{LRUMemoryCacheDriver}from'./drivers/lru-memory-cache-driver.js';export{MemoryCacheDriver}from'./drivers/memory-cache-driver.js';export{MemoryExtendedCacheDriver}from'./drivers/memory-extended-cache-driver.js';export{NullCacheDriver}from'./drivers/null-cache-driver.js';export{RedisCacheDriver}from'./drivers/redis-cache-driver.js';export{TaggedCache}from'./tagged-cache.js';export{CacheConfigurationError,CacheConnectionError,CacheDriverNotInitializedError,CacheError}from'./types.js';export{CACHE_FOR,parseCacheKey}from'./utils.js';//# sourceMappingURL=index.js.map
|
package/esm/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/esm/tagged-cache.d.ts
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import type { CacheDriver, CacheKey, TaggedCacheDriver } from "./types";
|
|
2
|
-
/**
|
|
3
|
-
* Tagged Cache Wrapper
|
|
4
|
-
* Wraps a cache driver to automatically manage tag relationships
|
|
5
|
-
*/
|
|
6
|
-
export declare class TaggedCache implements TaggedCacheDriver {
|
|
7
|
-
/**
|
|
8
|
-
* The tags associated with this tagged cache instance
|
|
9
|
-
*/
|
|
10
|
-
protected cacheTags: string[];
|
|
11
|
-
/**
|
|
12
|
-
* The underlying cache driver
|
|
13
|
-
*/
|
|
14
|
-
protected driver: CacheDriver<any, any>;
|
|
15
|
-
/**
|
|
16
|
-
* Constructor
|
|
17
|
-
*/
|
|
18
|
-
constructor(tags: string[], driver: CacheDriver<any, any>);
|
|
19
|
-
/**
|
|
20
|
-
* Get the tag key prefix for storing tag-key relationships
|
|
21
|
-
*/
|
|
22
|
-
protected tagKey(tag: string): string;
|
|
23
|
-
/**
|
|
24
|
-
* Store tag-key relationship
|
|
25
|
-
*/
|
|
26
|
-
protected storeTaggedKey(key: string): Promise<void>;
|
|
27
|
-
/**
|
|
28
|
-
* Get all keys associated with tags
|
|
29
|
-
*/
|
|
30
|
-
protected getTaggedKeys(): Promise<Set<string>>;
|
|
31
|
-
/**
|
|
32
|
-
* {@inheritdoc}
|
|
33
|
-
*/
|
|
34
|
-
set(key: CacheKey, value: any, ttl?: number): Promise<any>;
|
|
35
|
-
/**
|
|
36
|
-
* {@inheritdoc}
|
|
37
|
-
*/
|
|
38
|
-
get(key: CacheKey): Promise<any | null>;
|
|
39
|
-
/**
|
|
40
|
-
* {@inheritdoc}
|
|
41
|
-
*/
|
|
42
|
-
remove(key: CacheKey): Promise<void>;
|
|
43
|
-
/**
|
|
44
|
-
* Invalidate (clear) all keys associated with the current tags
|
|
45
|
-
*/
|
|
46
|
-
invalidate(): Promise<void>;
|
|
47
|
-
/**
|
|
48
|
-
* Flush all keys associated with the current tags
|
|
49
|
-
* @deprecated Use invalidate() instead for better semantics
|
|
50
|
-
*/
|
|
51
|
-
flush(): Promise<void>;
|
|
52
|
-
/**
|
|
53
|
-
* {@inheritdoc}
|
|
54
|
-
*/
|
|
55
|
-
has(key: CacheKey): Promise<boolean>;
|
|
56
|
-
/**
|
|
57
|
-
* {@inheritdoc}
|
|
58
|
-
*/
|
|
59
|
-
remember(key: CacheKey, ttl: number, callback: () => Promise<any>): Promise<any>;
|
|
60
|
-
/**
|
|
61
|
-
* {@inheritdoc}
|
|
62
|
-
*/
|
|
63
|
-
pull(key: CacheKey): Promise<any | null>;
|
|
64
|
-
/**
|
|
65
|
-
* {@inheritdoc}
|
|
66
|
-
*/
|
|
67
|
-
forever(key: CacheKey, value: any): Promise<any>;
|
|
68
|
-
/**
|
|
69
|
-
* {@inheritdoc}
|
|
70
|
-
*/
|
|
71
|
-
increment(key: CacheKey, value?: number): Promise<number>;
|
|
72
|
-
/**
|
|
73
|
-
* {@inheritdoc}
|
|
74
|
-
*/
|
|
75
|
-
decrement(key: CacheKey, value?: number): Promise<number>;
|
|
76
|
-
}
|
|
77
|
-
//# sourceMappingURL=tagged-cache.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tagged-cache.d.ts","sourceRoot":"","sources":["../src/tagged-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAExE;;;GAGG;AACH,qBAAa,WAAY,YAAW,iBAAiB;IACnD;;OAEG;IACH,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAE9B;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAExC;;OAEG;gBACgB,IAAI,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;IAKhE;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIrC;;OAEG;cACa,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa1D;;OAEG;cACa,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAerD;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAYvE;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAIpD;;OAEG;IACU,MAAM,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAejD;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAcxC;;;OAGG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAIjD;;OAEG;IACU,QAAQ,CACnB,GAAG,EAAE,QAAQ,EACb,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,GAC3B,OAAO,CAAC,GAAG,CAAC;IAaf;;OAEG;IACU,IAAI,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC;IAUrD;;OAEG;IACU,OAAO,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAI7D;;OAEG;IACU,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAezE;;OAEG;IACU,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC,MAAM,CAAC;CAG1E"}
|