@warlock.js/cache 1.0.0
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 +527 -0
- package/cjs/cache-manager.d.ts +90 -0
- package/cjs/cache-manager.d.ts.map +1 -0
- package/cjs/cache-manager.js +148 -0
- package/cjs/cache-manager.js.map +1 -0
- package/cjs/drivers/base-cache-driver.d.ts +81 -0
- package/cjs/drivers/base-cache-driver.d.ts.map +1 -0
- package/cjs/drivers/base-cache-driver.js +123 -0
- package/cjs/drivers/base-cache-driver.js.map +1 -0
- package/cjs/drivers/file-cache-driver.d.ts +42 -0
- package/cjs/drivers/file-cache-driver.d.ts.map +1 -0
- package/cjs/drivers/file-cache-driver.js +106 -0
- package/cjs/drivers/file-cache-driver.js.map +1 -0
- package/cjs/drivers/index.d.ts +8 -0
- package/cjs/drivers/index.d.ts.map +1 -0
- package/cjs/drivers/lru-memory-cache-driver.d.ts +84 -0
- package/cjs/drivers/lru-memory-cache-driver.d.ts.map +1 -0
- package/cjs/drivers/lru-memory-cache-driver.js +151 -0
- package/cjs/drivers/lru-memory-cache-driver.js.map +1 -0
- package/cjs/drivers/memory-cache-driver.d.ts +53 -0
- package/cjs/drivers/memory-cache-driver.d.ts.map +1 -0
- package/cjs/drivers/memory-cache-driver.js +107 -0
- package/cjs/drivers/memory-cache-driver.js.map +1 -0
- package/cjs/drivers/memory-extended-cache-driver.d.ts +14 -0
- package/cjs/drivers/memory-extended-cache-driver.d.ts.map +1 -0
- package/cjs/drivers/memory-extended-cache-driver.js +25 -0
- package/cjs/drivers/memory-extended-cache-driver.js.map +1 -0
- package/cjs/drivers/null-cache-driver.d.ts +58 -0
- package/cjs/drivers/null-cache-driver.d.ts.map +1 -0
- package/cjs/drivers/null-cache-driver.js +84 -0
- package/cjs/drivers/null-cache-driver.js.map +1 -0
- package/cjs/drivers/redis-cache-driver.d.ts +39 -0
- package/cjs/drivers/redis-cache-driver.d.ts.map +1 -0
- package/cjs/drivers/redis-cache-driver.js +113 -0
- package/cjs/drivers/redis-cache-driver.js.map +1 -0
- package/cjs/index.d.ts +5 -0
- package/cjs/index.d.ts.map +1 -0
- package/cjs/index.js +1 -0
- package/cjs/index.js.map +1 -0
- package/cjs/types.d.ts +193 -0
- package/cjs/types.d.ts.map +1 -0
- package/cjs/utils.d.ts +20 -0
- package/cjs/utils.d.ts.map +1 -0
- package/cjs/utils.js +27 -0
- package/cjs/utils.js.map +1 -0
- package/esm/cache-manager.d.ts +90 -0
- package/esm/cache-manager.d.ts.map +1 -0
- package/esm/cache-manager.js +148 -0
- package/esm/cache-manager.js.map +1 -0
- package/esm/drivers/base-cache-driver.d.ts +81 -0
- package/esm/drivers/base-cache-driver.d.ts.map +1 -0
- package/esm/drivers/base-cache-driver.js +123 -0
- package/esm/drivers/base-cache-driver.js.map +1 -0
- package/esm/drivers/file-cache-driver.d.ts +42 -0
- package/esm/drivers/file-cache-driver.d.ts.map +1 -0
- package/esm/drivers/file-cache-driver.js +106 -0
- package/esm/drivers/file-cache-driver.js.map +1 -0
- package/esm/drivers/index.d.ts +8 -0
- package/esm/drivers/index.d.ts.map +1 -0
- package/esm/drivers/lru-memory-cache-driver.d.ts +84 -0
- package/esm/drivers/lru-memory-cache-driver.d.ts.map +1 -0
- package/esm/drivers/lru-memory-cache-driver.js +151 -0
- package/esm/drivers/lru-memory-cache-driver.js.map +1 -0
- package/esm/drivers/memory-cache-driver.d.ts +53 -0
- package/esm/drivers/memory-cache-driver.d.ts.map +1 -0
- package/esm/drivers/memory-cache-driver.js +107 -0
- package/esm/drivers/memory-cache-driver.js.map +1 -0
- package/esm/drivers/memory-extended-cache-driver.d.ts +14 -0
- package/esm/drivers/memory-extended-cache-driver.d.ts.map +1 -0
- package/esm/drivers/memory-extended-cache-driver.js +25 -0
- package/esm/drivers/memory-extended-cache-driver.js.map +1 -0
- package/esm/drivers/null-cache-driver.d.ts +58 -0
- package/esm/drivers/null-cache-driver.d.ts.map +1 -0
- package/esm/drivers/null-cache-driver.js +84 -0
- package/esm/drivers/null-cache-driver.js.map +1 -0
- package/esm/drivers/redis-cache-driver.d.ts +39 -0
- package/esm/drivers/redis-cache-driver.d.ts.map +1 -0
- package/esm/drivers/redis-cache-driver.js +113 -0
- package/esm/drivers/redis-cache-driver.js.map +1 -0
- package/esm/index.d.ts +5 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -0
- package/esm/types.d.ts +193 -0
- package/esm/types.d.ts.map +1 -0
- package/esm/utils.d.ts +20 -0
- package/esm/utils.d.ts.map +1 -0
- package/esm/utils.js +27 -0
- package/esm/utils.js.map +1 -0
- package/package.json +39 -0
package/esm/types.d.ts
ADDED
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import type { GenericObject } from "@mongez/reinforcements";
|
|
2
|
+
import type { RedisClientOptions } from "redis";
|
|
3
|
+
import type { BaseCacheDriver, FileCacheDriver, MemoryCacheDriver, MemoryExtendedCacheDriver, NullCacheDriver, RedisCacheDriver } from "./drivers";
|
|
4
|
+
export type CacheOperationType = "fetching" | "fetched" | "caching" | "cached" | "flushing" | "flushed" | "removing" | "removed" | "clearing" | "cleared" | "expired" | "notFound" | "connecting" | "error" | "connected" | "disconnecting" | "disconnected";
|
|
5
|
+
export type MemoryCacheOptions = {
|
|
6
|
+
/**
|
|
7
|
+
* The global prefix for the cache key
|
|
8
|
+
*/
|
|
9
|
+
globalPrefix?: string | (() => string);
|
|
10
|
+
/**
|
|
11
|
+
* The default TTL for the cache in seconds
|
|
12
|
+
*
|
|
13
|
+
* @default Infinity
|
|
14
|
+
*/
|
|
15
|
+
ttl?: number;
|
|
16
|
+
};
|
|
17
|
+
export type MemoryExtendedCacheOptions = MemoryCacheOptions;
|
|
18
|
+
export type LRUMemoryCacheOptions = {
|
|
19
|
+
/**
|
|
20
|
+
* The maximum number of items in the cache
|
|
21
|
+
*
|
|
22
|
+
* @default 1000
|
|
23
|
+
*/
|
|
24
|
+
capacity?: number;
|
|
25
|
+
};
|
|
26
|
+
export type FileCacheOptions = {
|
|
27
|
+
/**
|
|
28
|
+
* The global prefix for the cache key
|
|
29
|
+
*/
|
|
30
|
+
globalPrefix?: string | (() => string);
|
|
31
|
+
/**
|
|
32
|
+
* The default TTL for the cache in seconds
|
|
33
|
+
*
|
|
34
|
+
* @default 0
|
|
35
|
+
*/
|
|
36
|
+
ttl?: number;
|
|
37
|
+
/**
|
|
38
|
+
* Storage cache directory
|
|
39
|
+
*
|
|
40
|
+
* @default storagePath("cache")
|
|
41
|
+
*/
|
|
42
|
+
directory: string | (() => string);
|
|
43
|
+
/**
|
|
44
|
+
* File name
|
|
45
|
+
*
|
|
46
|
+
* @default cache.json
|
|
47
|
+
*/
|
|
48
|
+
fileName?: string | (() => string);
|
|
49
|
+
};
|
|
50
|
+
export type RedisOptions = {
|
|
51
|
+
/**
|
|
52
|
+
* Redis Port
|
|
53
|
+
*
|
|
54
|
+
* @default 6379
|
|
55
|
+
*/
|
|
56
|
+
port?: number;
|
|
57
|
+
/**
|
|
58
|
+
* Redis Host
|
|
59
|
+
*/
|
|
60
|
+
host?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Redis Username
|
|
63
|
+
*/
|
|
64
|
+
username?: string;
|
|
65
|
+
/**
|
|
66
|
+
* Redis Password
|
|
67
|
+
*/
|
|
68
|
+
password?: string;
|
|
69
|
+
/**
|
|
70
|
+
* Redis URL
|
|
71
|
+
*
|
|
72
|
+
* If used, it will override the host and port options
|
|
73
|
+
*/
|
|
74
|
+
url?: string;
|
|
75
|
+
/**
|
|
76
|
+
* Global prefix for the cache key
|
|
77
|
+
*/
|
|
78
|
+
globalPrefix?: string | (() => string);
|
|
79
|
+
/**
|
|
80
|
+
* Time to live in seconds
|
|
81
|
+
*
|
|
82
|
+
* @default Infinity
|
|
83
|
+
*/
|
|
84
|
+
ttl?: number;
|
|
85
|
+
/**
|
|
86
|
+
* Redis client options
|
|
87
|
+
*/
|
|
88
|
+
clientOptions?: RedisClientOptions;
|
|
89
|
+
};
|
|
90
|
+
export type NullCacheDriverOptions = GenericObject;
|
|
91
|
+
export interface CacheDriver<ClientType, Options> {
|
|
92
|
+
/**
|
|
93
|
+
* The cache driver options
|
|
94
|
+
*/
|
|
95
|
+
options: Options;
|
|
96
|
+
/**
|
|
97
|
+
* Cache driver name
|
|
98
|
+
*/
|
|
99
|
+
name: string;
|
|
100
|
+
/**
|
|
101
|
+
* Remove all cached items by namespace
|
|
102
|
+
*/
|
|
103
|
+
removeNamespace(namespace: string): Promise<any>;
|
|
104
|
+
/**
|
|
105
|
+
* Set the cache driver options
|
|
106
|
+
*/
|
|
107
|
+
setOptions(options: Options): any;
|
|
108
|
+
/**
|
|
109
|
+
* Parse the key to be used in the cache
|
|
110
|
+
*/
|
|
111
|
+
parseKey(key: string | GenericObject): Promise<string>;
|
|
112
|
+
/**
|
|
113
|
+
* Set a value in the cache
|
|
114
|
+
*
|
|
115
|
+
* @param key The cache key, could be an object or string
|
|
116
|
+
* @param value The value to be stored in the cache
|
|
117
|
+
* @param ttl The time to live in seconds
|
|
118
|
+
*/
|
|
119
|
+
set(key: string | GenericObject, value: any, ttl?: number): Promise<any>;
|
|
120
|
+
/**
|
|
121
|
+
* Get a value from the cache
|
|
122
|
+
*/
|
|
123
|
+
get(key: string | GenericObject): Promise<any | null>;
|
|
124
|
+
/**
|
|
125
|
+
* Remove a value from the cache
|
|
126
|
+
*/
|
|
127
|
+
remove(key: string | GenericObject): Promise<void>;
|
|
128
|
+
/**
|
|
129
|
+
* Flush the entire cache
|
|
130
|
+
*/
|
|
131
|
+
flush(): Promise<void>;
|
|
132
|
+
/**
|
|
133
|
+
* Connect to the cache driver
|
|
134
|
+
*/
|
|
135
|
+
connect(): Promise<any>;
|
|
136
|
+
/**
|
|
137
|
+
* The cache client
|
|
138
|
+
*/
|
|
139
|
+
client?: ClientType;
|
|
140
|
+
/**
|
|
141
|
+
* Disconnect the cache driver
|
|
142
|
+
*/
|
|
143
|
+
disconnect(): Promise<void>;
|
|
144
|
+
}
|
|
145
|
+
export type CacheData = {
|
|
146
|
+
/**
|
|
147
|
+
* Value stored in the cache
|
|
148
|
+
*/
|
|
149
|
+
data: any;
|
|
150
|
+
/**
|
|
151
|
+
* The expiration date in milliseconds
|
|
152
|
+
*/
|
|
153
|
+
expiresAt?: number;
|
|
154
|
+
/**
|
|
155
|
+
* Time to live in seconds
|
|
156
|
+
*/
|
|
157
|
+
ttl?: number;
|
|
158
|
+
};
|
|
159
|
+
export type DriverClass = new () => CacheDriver<any, any>;
|
|
160
|
+
type DefaultDrivers = "redis" | "file" | "memory" | "memoryExtended" | "null" | "lru";
|
|
161
|
+
type MergeWithDefaultDrivers<T> = T extends undefined ? DefaultDrivers : DefaultDrivers | T;
|
|
162
|
+
export type CacheConfigurations<T extends string | undefined = undefined, DriverName = MergeWithDefaultDrivers<T>> = {
|
|
163
|
+
/**
|
|
164
|
+
* The default cache driver name
|
|
165
|
+
*/
|
|
166
|
+
default?: DriverName;
|
|
167
|
+
/**
|
|
168
|
+
* The cache drivers list
|
|
169
|
+
*/
|
|
170
|
+
drivers: {
|
|
171
|
+
redis?: typeof RedisCacheDriver;
|
|
172
|
+
file?: typeof FileCacheDriver;
|
|
173
|
+
null?: typeof NullCacheDriver;
|
|
174
|
+
memory?: typeof MemoryCacheDriver;
|
|
175
|
+
memoryExtended?: typeof MemoryExtendedCacheDriver;
|
|
176
|
+
} & {
|
|
177
|
+
[key in Extract<T, string>]?: typeof BaseCacheDriver<any, any> | undefined;
|
|
178
|
+
};
|
|
179
|
+
/**
|
|
180
|
+
* The cache driver options
|
|
181
|
+
*/
|
|
182
|
+
options: {
|
|
183
|
+
redis?: RedisOptions;
|
|
184
|
+
file?: FileCacheOptions;
|
|
185
|
+
memory?: MemoryCacheOptions;
|
|
186
|
+
memoryExtended?: MemoryExtendedCacheOptions;
|
|
187
|
+
null?: NullCacheDriverOptions;
|
|
188
|
+
} & {
|
|
189
|
+
[key in Extract<T, string>]?: GenericObject;
|
|
190
|
+
};
|
|
191
|
+
};
|
|
192
|
+
export {};
|
|
193
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/esm/utils.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { GenericObject } from "@mongez/reinforcements";
|
|
2
|
+
/**
|
|
3
|
+
* Make a proper key for the cache
|
|
4
|
+
*/
|
|
5
|
+
export declare function parseCacheKey(key: string | GenericObject, options?: {
|
|
6
|
+
globalPrefix?: string | (() => string);
|
|
7
|
+
}): Promise<string>;
|
|
8
|
+
export declare enum EXPIRES_AFTER {
|
|
9
|
+
HALF_HOUR = 1800,
|
|
10
|
+
ONE_HOUR = 3600,
|
|
11
|
+
HALF_DAY = 43200,
|
|
12
|
+
ONE_DAY = 86400,
|
|
13
|
+
ONE_WEEK = 604800,
|
|
14
|
+
HALF_MONTH = 1296000,
|
|
15
|
+
ONE_MONTH = 2592000,
|
|
16
|
+
TWO_MONTHS = 5184000,
|
|
17
|
+
SIX_MONTHS = 15768000,
|
|
18
|
+
ONE_YEAR = 31536000
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAS,MAAM,wBAAwB,CAAC;AAE9D;;GAEG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,GAAG,aAAa,EAC3B,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAA;CAAO,mBAezD;AAED,oBAAY,aAAa;IACvB,SAAS,OAAO;IAChB,QAAQ,OAAO;IACf,QAAQ,QAAQ;IAChB,OAAO,QAAQ;IACf,QAAQ,SAAS;IACjB,UAAU,UAAU;IACpB,SAAS,UAAU;IACnB,UAAU,UAAU;IACpB,UAAU,WAAW;IACrB,QAAQ,WAAW;CACpB"}
|
package/esm/utils.js
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {rtrim}from'@mongez/reinforcements';/**
|
|
2
|
+
* Make a proper key for the cache
|
|
3
|
+
*/
|
|
4
|
+
async function parseCacheKey(key, options = {}) {
|
|
5
|
+
if (typeof key === "object") {
|
|
6
|
+
key = JSON.stringify(key);
|
|
7
|
+
}
|
|
8
|
+
// remove any curly braces and double quotes
|
|
9
|
+
key = key.replace(/[{}"]/g, "").replaceAll(":", ".").replaceAll(",", ".");
|
|
10
|
+
const cachePrefix = typeof options.globalPrefix === "function"
|
|
11
|
+
? await options.globalPrefix()
|
|
12
|
+
: options.globalPrefix;
|
|
13
|
+
return String(cachePrefix ? rtrim(cachePrefix, ".") + "." + key : key);
|
|
14
|
+
}
|
|
15
|
+
var EXPIRES_AFTER;
|
|
16
|
+
(function (EXPIRES_AFTER) {
|
|
17
|
+
EXPIRES_AFTER[EXPIRES_AFTER["HALF_HOUR"] = 1800] = "HALF_HOUR";
|
|
18
|
+
EXPIRES_AFTER[EXPIRES_AFTER["ONE_HOUR"] = 3600] = "ONE_HOUR";
|
|
19
|
+
EXPIRES_AFTER[EXPIRES_AFTER["HALF_DAY"] = 43200] = "HALF_DAY";
|
|
20
|
+
EXPIRES_AFTER[EXPIRES_AFTER["ONE_DAY"] = 86400] = "ONE_DAY";
|
|
21
|
+
EXPIRES_AFTER[EXPIRES_AFTER["ONE_WEEK"] = 604800] = "ONE_WEEK";
|
|
22
|
+
EXPIRES_AFTER[EXPIRES_AFTER["HALF_MONTH"] = 1296000] = "HALF_MONTH";
|
|
23
|
+
EXPIRES_AFTER[EXPIRES_AFTER["ONE_MONTH"] = 2592000] = "ONE_MONTH";
|
|
24
|
+
EXPIRES_AFTER[EXPIRES_AFTER["TWO_MONTHS"] = 5184000] = "TWO_MONTHS";
|
|
25
|
+
EXPIRES_AFTER[EXPIRES_AFTER["SIX_MONTHS"] = 15768000] = "SIX_MONTHS";
|
|
26
|
+
EXPIRES_AFTER[EXPIRES_AFTER["ONE_YEAR"] = 31536000] = "ONE_YEAR";
|
|
27
|
+
})(EXPIRES_AFTER || (EXPIRES_AFTER = {}));export{EXPIRES_AFTER,parseCacheKey};//# sourceMappingURL=utils.js.map
|
package/esm/utils.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sources":["../src/utils.ts"],"sourcesContent":[null],"names":[],"mappings":"2CAEA;;AAEG;AACI,eAAe,aAAa,CACjC,GAA2B,EAC3B,UAAsD,EAAE,EAAA;AAExD,IAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAC3B,QAAA,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC3B,KAAA;;IAGD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAE1E,IAAA,MAAM,WAAW,GACf,OAAO,OAAO,CAAC,YAAY,KAAK,UAAU;AACxC,UAAE,MAAM,OAAO,CAAC,YAAY,EAAE;AAC9B,UAAE,OAAO,CAAC,YAAY,CAAC;IAE3B,OAAO,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;AACzE,CAAC;IAEW,cAWX;AAXD,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,aAAA,CAAA,WAAA,CAAA,GAAA,IAAA,CAAA,GAAA,WAAgB,CAAA;AAChB,IAAA,aAAA,CAAA,aAAA,CAAA,UAAA,CAAA,GAAA,IAAA,CAAA,GAAA,UAAe,CAAA;AACf,IAAA,aAAA,CAAA,aAAA,CAAA,UAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAgB,CAAA;AAChB,IAAA,aAAA,CAAA,aAAA,CAAA,SAAA,CAAA,GAAA,KAAA,CAAA,GAAA,SAAe,CAAA;AACf,IAAA,aAAA,CAAA,aAAA,CAAA,UAAA,CAAA,GAAA,MAAA,CAAA,GAAA,UAAiB,CAAA;AACjB,IAAA,aAAA,CAAA,aAAA,CAAA,YAAA,CAAA,GAAA,OAAA,CAAA,GAAA,YAAoB,CAAA;AACpB,IAAA,aAAA,CAAA,aAAA,CAAA,WAAA,CAAA,GAAA,OAAA,CAAA,GAAA,WAAmB,CAAA;AACnB,IAAA,aAAA,CAAA,aAAA,CAAA,YAAA,CAAA,GAAA,OAAA,CAAA,GAAA,YAAoB,CAAA;AACpB,IAAA,aAAA,CAAA,aAAA,CAAA,YAAA,CAAA,GAAA,QAAA,CAAA,GAAA,YAAqB,CAAA;AACrB,IAAA,aAAA,CAAA,aAAA,CAAA,UAAA,CAAA,GAAA,QAAA,CAAA,GAAA,UAAmB,CAAA;AACrB,CAAC,EAXW,aAAa,KAAb,aAAa,GAWxB,EAAA,CAAA,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@warlock.js/cache",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "A Robust Cache Manager for Nodejs",
|
|
5
|
+
"main": "./cjs/index.js",
|
|
6
|
+
"dependencies": {
|
|
7
|
+
"@mongez/fs": "^3.0.4",
|
|
8
|
+
"redis": "^4.6.10",
|
|
9
|
+
"@warlock.js/logger": "^1.0.0",
|
|
10
|
+
"@mongez/reinforcements": "^2.3.9",
|
|
11
|
+
"@mongez/supportive-is": "^2.0.3"
|
|
12
|
+
},
|
|
13
|
+
"repository": {
|
|
14
|
+
"type": "git",
|
|
15
|
+
"url": "https://github.com/warlockjs/cache"
|
|
16
|
+
},
|
|
17
|
+
"keywords": [
|
|
18
|
+
"nodejs",
|
|
19
|
+
"cache",
|
|
20
|
+
"redis",
|
|
21
|
+
"lru",
|
|
22
|
+
"memory",
|
|
23
|
+
"caching",
|
|
24
|
+
"warlockjs",
|
|
25
|
+
"warlock.js",
|
|
26
|
+
"cache-manager",
|
|
27
|
+
"cache-manager-nodejs",
|
|
28
|
+
"cache-manager-node",
|
|
29
|
+
"cache-manager-nodejs-redis",
|
|
30
|
+
"cache-manager-node-redis",
|
|
31
|
+
"cache-manager-nodejs-memory",
|
|
32
|
+
"cache-manager-node-memory",
|
|
33
|
+
"cache-manager-nodejs-memcached"
|
|
34
|
+
],
|
|
35
|
+
"author": "hassanzohdy",
|
|
36
|
+
"license": "MIT",
|
|
37
|
+
"module": "./esm/index.js",
|
|
38
|
+
"typings": "./cjs/index.d.ts"
|
|
39
|
+
}
|