@warlock.js/cache 3.0.18 → 3.0.21

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.
Files changed (107) hide show
  1. package/cjs/cache-manager.d.ts +72 -7
  2. package/cjs/cache-manager.d.ts.map +1 -1
  3. package/cjs/cache-manager.js +175 -15
  4. package/cjs/cache-manager.js.map +1 -1
  5. package/cjs/drivers/base-cache-driver.d.ts +70 -7
  6. package/cjs/drivers/base-cache-driver.d.ts.map +1 -1
  7. package/cjs/drivers/base-cache-driver.js +189 -9
  8. package/cjs/drivers/base-cache-driver.js.map +1 -1
  9. package/cjs/drivers/file-cache-driver.d.ts +8 -5
  10. package/cjs/drivers/file-cache-driver.d.ts.map +1 -1
  11. package/cjs/drivers/file-cache-driver.js +34 -7
  12. package/cjs/drivers/file-cache-driver.js.map +1 -1
  13. package/cjs/drivers/index.d.ts +0 -1
  14. package/cjs/drivers/index.d.ts.map +1 -1
  15. package/cjs/drivers/lru-memory-cache-driver.d.ts +20 -6
  16. package/cjs/drivers/lru-memory-cache-driver.d.ts.map +1 -1
  17. package/cjs/drivers/lru-memory-cache-driver.js +109 -8
  18. package/cjs/drivers/lru-memory-cache-driver.js.map +1 -1
  19. package/cjs/drivers/memory-cache-driver.d.ts +34 -5
  20. package/cjs/drivers/memory-cache-driver.d.ts.map +1 -1
  21. package/cjs/drivers/memory-cache-driver.js +116 -8
  22. package/cjs/drivers/memory-cache-driver.js.map +1 -1
  23. package/cjs/drivers/memory-extended-cache-driver.d.ts +2 -3
  24. package/cjs/drivers/memory-extended-cache-driver.d.ts.map +1 -1
  25. package/cjs/drivers/memory-extended-cache-driver.js +1 -1
  26. package/cjs/drivers/memory-extended-cache-driver.js.map +1 -1
  27. package/cjs/drivers/null-cache-driver.d.ts +5 -5
  28. package/cjs/drivers/null-cache-driver.d.ts.map +1 -1
  29. package/cjs/drivers/null-cache-driver.js +1 -1
  30. package/cjs/drivers/null-cache-driver.js.map +1 -1
  31. package/cjs/drivers/redis-cache-driver.d.ts +23 -5
  32. package/cjs/drivers/redis-cache-driver.d.ts.map +1 -1
  33. package/cjs/drivers/redis-cache-driver.js +120 -10
  34. package/cjs/drivers/redis-cache-driver.js.map +1 -1
  35. package/cjs/index.d.ts +1 -0
  36. package/cjs/index.d.ts.map +1 -1
  37. package/cjs/index.js +1 -1
  38. package/cjs/tagged-cache.d.ts +77 -0
  39. package/cjs/tagged-cache.d.ts.map +1 -0
  40. package/cjs/tagged-cache.js +160 -0
  41. package/cjs/tagged-cache.js.map +1 -0
  42. package/cjs/types.d.ts +186 -19
  43. package/cjs/types.d.ts.map +1 -1
  44. package/cjs/types.js +36 -0
  45. package/cjs/types.js.map +1 -0
  46. package/cjs/utils.d.ts +3 -3
  47. package/cjs/utils.d.ts.map +1 -1
  48. package/cjs/utils.js +13 -13
  49. package/cjs/utils.js.map +1 -1
  50. package/esm/cache-manager.d.ts +72 -7
  51. package/esm/cache-manager.d.ts.map +1 -1
  52. package/esm/cache-manager.js +175 -15
  53. package/esm/cache-manager.js.map +1 -1
  54. package/esm/drivers/base-cache-driver.d.ts +70 -7
  55. package/esm/drivers/base-cache-driver.d.ts.map +1 -1
  56. package/esm/drivers/base-cache-driver.js +189 -9
  57. package/esm/drivers/base-cache-driver.js.map +1 -1
  58. package/esm/drivers/file-cache-driver.d.ts +8 -5
  59. package/esm/drivers/file-cache-driver.d.ts.map +1 -1
  60. package/esm/drivers/file-cache-driver.js +34 -7
  61. package/esm/drivers/file-cache-driver.js.map +1 -1
  62. package/esm/drivers/index.d.ts +0 -1
  63. package/esm/drivers/index.d.ts.map +1 -1
  64. package/esm/drivers/lru-memory-cache-driver.d.ts +20 -6
  65. package/esm/drivers/lru-memory-cache-driver.d.ts.map +1 -1
  66. package/esm/drivers/lru-memory-cache-driver.js +109 -8
  67. package/esm/drivers/lru-memory-cache-driver.js.map +1 -1
  68. package/esm/drivers/memory-cache-driver.d.ts +34 -5
  69. package/esm/drivers/memory-cache-driver.d.ts.map +1 -1
  70. package/esm/drivers/memory-cache-driver.js +117 -9
  71. package/esm/drivers/memory-cache-driver.js.map +1 -1
  72. package/esm/drivers/memory-extended-cache-driver.d.ts +2 -3
  73. package/esm/drivers/memory-extended-cache-driver.d.ts.map +1 -1
  74. package/esm/drivers/memory-extended-cache-driver.js +1 -1
  75. package/esm/drivers/memory-extended-cache-driver.js.map +1 -1
  76. package/esm/drivers/null-cache-driver.d.ts +5 -5
  77. package/esm/drivers/null-cache-driver.d.ts.map +1 -1
  78. package/esm/drivers/null-cache-driver.js +1 -1
  79. package/esm/drivers/null-cache-driver.js.map +1 -1
  80. package/esm/drivers/redis-cache-driver.d.ts +23 -5
  81. package/esm/drivers/redis-cache-driver.d.ts.map +1 -1
  82. package/esm/drivers/redis-cache-driver.js +120 -10
  83. package/esm/drivers/redis-cache-driver.js.map +1 -1
  84. package/esm/index.d.ts +1 -0
  85. package/esm/index.d.ts.map +1 -1
  86. package/esm/index.js +1 -1
  87. package/esm/tagged-cache.d.ts +77 -0
  88. package/esm/tagged-cache.d.ts.map +1 -0
  89. package/esm/tagged-cache.js +160 -0
  90. package/esm/tagged-cache.js.map +1 -0
  91. package/esm/types.d.ts +186 -19
  92. package/esm/types.d.ts.map +1 -1
  93. package/esm/types.js +36 -0
  94. package/esm/types.js.map +1 -0
  95. package/esm/utils.d.ts +3 -3
  96. package/esm/utils.d.ts.map +1 -1
  97. package/esm/utils.js +13 -13
  98. package/esm/utils.js.map +1 -1
  99. package/package.json +2 -2
  100. package/cjs/drivers/database-cache-driver.d.ts +0 -39
  101. package/cjs/drivers/database-cache-driver.d.ts.map +0 -1
  102. package/cjs/drivers/database-cache-driver.js +0 -92
  103. package/cjs/drivers/database-cache-driver.js.map +0 -1
  104. package/esm/drivers/database-cache-driver.d.ts +0 -39
  105. package/esm/drivers/database-cache-driver.d.ts.map +0 -1
  106. package/esm/drivers/database-cache-driver.js +0 -92
  107. package/esm/drivers/database-cache-driver.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import {clone}from'@mongez/reinforcements';import {log}from'@warlock.js/logger';import {parseCacheKey}from'../utils.js';const messages = {
1
+ import {log}from'@warlock.js/logger';import {parseCacheKey}from'../utils.js';const messages = {
2
2
  clearing: "Clearing namespace",
3
3
  cleared: "Namespace cleared",
4
4
  fetching: "Fetching key",
@@ -37,12 +37,16 @@ class BaseCacheDriver {
37
37
  /**
38
38
  * Options list
39
39
  */
40
- options = {};
40
+ options;
41
+ /**
42
+ * Event listeners storage
43
+ */
44
+ eventListeners = new Map();
41
45
  /**
42
46
  * {@inheritdoc}
43
47
  */
44
- async parseKey(key) {
45
- return await parseCacheKey(key, this.options);
48
+ parseKey(key) {
49
+ return parseCacheKey(key, this.options);
46
50
  }
47
51
  /**
48
52
  * {@inheritdoc}
@@ -51,6 +55,154 @@ class BaseCacheDriver {
51
55
  this.options = options || {};
52
56
  return this;
53
57
  }
58
+ /**
59
+ * Register an event listener
60
+ */
61
+ on(event, handler) {
62
+ if (!this.eventListeners.has(event)) {
63
+ this.eventListeners.set(event, new Set());
64
+ }
65
+ this.eventListeners.get(event).add(handler);
66
+ return this;
67
+ }
68
+ /**
69
+ * Remove an event listener
70
+ */
71
+ off(event, handler) {
72
+ const handlers = this.eventListeners.get(event);
73
+ if (handlers) {
74
+ handlers.delete(handler);
75
+ }
76
+ return this;
77
+ }
78
+ /**
79
+ * Register a one-time event listener
80
+ */
81
+ once(event, handler) {
82
+ const onceHandler = async (data) => {
83
+ await handler(data);
84
+ this.off(event, onceHandler);
85
+ };
86
+ return this.on(event, onceHandler);
87
+ }
88
+ /**
89
+ * Emit an event to all registered listeners
90
+ */
91
+ async emit(event, data = {}) {
92
+ const handlers = this.eventListeners.get(event);
93
+ if (!handlers || handlers.size === 0)
94
+ return;
95
+ const eventData = {
96
+ driver: this.name,
97
+ ...data,
98
+ };
99
+ // Execute all handlers
100
+ const promises = [];
101
+ for (const handler of handlers) {
102
+ try {
103
+ const result = handler(eventData);
104
+ if (result instanceof Promise) {
105
+ promises.push(result);
106
+ }
107
+ }
108
+ catch (error) {
109
+ this.logError(`Error in event handler for '${event}'`, error);
110
+ }
111
+ }
112
+ // Wait for all async handlers
113
+ if (promises.length > 0) {
114
+ await Promise.allSettled(promises);
115
+ }
116
+ }
117
+ /**
118
+ * {@inheritdoc}
119
+ */
120
+ async has(key) {
121
+ const value = await this.get(key);
122
+ // Event is emitted by get() method
123
+ return value !== null;
124
+ }
125
+ /**
126
+ * Lock storage for preventing cache stampede
127
+ */
128
+ locks = new Map();
129
+ /**
130
+ * {@inheritdoc}
131
+ */
132
+ async remember(key, ttl, callback) {
133
+ const parsedKey = this.parseKey(key);
134
+ // Check cache first
135
+ const cachedValue = await this.get(key);
136
+ if (cachedValue !== null) {
137
+ return cachedValue;
138
+ }
139
+ // Check if another request is already computing this value
140
+ const existingLock = this.locks.get(parsedKey);
141
+ if (existingLock) {
142
+ return existingLock;
143
+ }
144
+ // Create lock and compute value
145
+ const promise = callback()
146
+ .then(async (result) => {
147
+ await this.set(key, result, ttl);
148
+ this.locks.delete(parsedKey);
149
+ return result;
150
+ })
151
+ .catch(err => {
152
+ this.locks.delete(parsedKey);
153
+ throw err;
154
+ });
155
+ this.locks.set(parsedKey, promise);
156
+ return promise;
157
+ }
158
+ /**
159
+ * {@inheritdoc}
160
+ */
161
+ async pull(key) {
162
+ const value = await this.get(key);
163
+ if (value !== null) {
164
+ await this.remove(key);
165
+ }
166
+ // Events are emitted by get() and remove() methods
167
+ return value;
168
+ }
169
+ /**
170
+ * {@inheritdoc}
171
+ */
172
+ async forever(key, value) {
173
+ // Event is emitted by set() method
174
+ return this.set(key, value, Infinity);
175
+ }
176
+ /**
177
+ * {@inheritdoc}
178
+ */
179
+ async increment(key, value = 1) {
180
+ const current = (await this.get(key)) || 0;
181
+ if (typeof current !== "number") {
182
+ throw new Error(`Cannot increment non-numeric value for key: ${this.parseKey(key)}`);
183
+ }
184
+ const newValue = current + value;
185
+ await this.set(key, newValue);
186
+ return newValue;
187
+ }
188
+ /**
189
+ * {@inheritdoc}
190
+ */
191
+ async decrement(key, value = 1) {
192
+ return this.increment(key, -value);
193
+ }
194
+ /**
195
+ * {@inheritdoc}
196
+ */
197
+ async many(keys) {
198
+ return Promise.all(keys.map(key => this.get(key)));
199
+ }
200
+ /**
201
+ * {@inheritdoc}
202
+ */
203
+ async setMany(items, ttl) {
204
+ await Promise.all(Object.entries(items).map(([key, value]) => this.set(key, value, ttl)));
205
+ }
54
206
  /**
55
207
  * Log the operation
56
208
  */
@@ -61,13 +213,22 @@ class BaseCacheDriver {
61
213
  key = key.replaceAll("/", ".");
62
214
  }
63
215
  if (operation == "notFound" || operation == "expired") {
64
- return log.error("cache:" + this.name, operation, (key ? key + " " : "") + messages[operation]);
216
+ return log.warn("cache:" + this.name, operation, (key ? key + " " : "") + messages[operation]);
65
217
  }
66
218
  if (operation.endsWith("ed")) {
67
219
  return log.success("cache:" + this.name, operation, (key ? key + " " : "") + messages[operation]);
68
220
  }
69
221
  log.info("cache:" + this.name, operation, (key ? key + " " : "") + messages[operation]);
70
222
  }
223
+ /**
224
+ * Log error message
225
+ */
226
+ logError(message, error) {
227
+ log.error("cache:" + this.name, "error", message);
228
+ if (error) {
229
+ console.log(error);
230
+ }
231
+ }
71
232
  /**
72
233
  * Get time to live value
73
234
  */
@@ -104,13 +265,21 @@ class BaseCacheDriver {
104
265
  this.remove(key);
105
266
  return null;
106
267
  }
107
- // Make sure to return immutable data
268
+ const value = data.data;
269
+ // Skip cloning for primitives (immutable types)
270
+ if (value === null || value === undefined) {
271
+ return value;
272
+ }
273
+ const type = typeof value;
274
+ if (type === "string" || type === "number" || type === "boolean") {
275
+ return value;
276
+ }
277
+ // Deep clone objects/arrays to prevent cache mutation
108
278
  try {
109
- return data.data ? clone(data.data) : null;
279
+ return structuredClone(value);
110
280
  }
111
281
  catch (error) {
112
- console.log(data);
113
- console.error(error);
282
+ this.logError(`Failed to clone cached value for ${key}`, error);
114
283
  throw error;
115
284
  }
116
285
  }
@@ -120,11 +289,22 @@ class BaseCacheDriver {
120
289
  async connect() {
121
290
  this.log("connecting");
122
291
  this.log("connected");
292
+ await this.emit("connected");
123
293
  }
124
294
  /**
125
295
  * {@inheritdoc}
126
296
  */
127
297
  async disconnect() {
128
298
  this.log("disconnected");
299
+ await this.emit("disconnected");
300
+ }
301
+ /**
302
+ * Create a tagged cache instance for the given tags
303
+ */
304
+ tags(tags) {
305
+ // Lazy import to avoid circular dependency
306
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
307
+ const { TaggedCache } = require("../tagged-cache");
308
+ return new TaggedCache(tags, this);
129
309
  }
130
310
  }export{BaseCacheDriver};//# sourceMappingURL=base-cache-driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"base-cache-driver.js","sources":["../../src/drivers/base-cache-driver.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-cache-driver.js","sources":["../../src/drivers/base-cache-driver.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,11 +1,14 @@
1
- import type { GenericObject } from "@mongez/reinforcements";
2
- import type { CacheDriver, FileCacheOptions } from "../types";
1
+ import type { CacheDriver, CacheKey, FileCacheOptions } from "../types";
3
2
  import { BaseCacheDriver } from "./base-cache-driver";
4
3
  export declare class FileCacheDriver extends BaseCacheDriver<FileCacheDriver, FileCacheOptions> implements CacheDriver<FileCacheDriver, FileCacheOptions> {
5
4
  /**
6
5
  * {@inheritdoc}
7
6
  */
8
7
  name: string;
8
+ /**
9
+ * {@inheritdoc}
10
+ */
11
+ setOptions(options: FileCacheOptions): this;
9
12
  /**
10
13
  * Get the cache directory
11
14
  */
@@ -21,15 +24,15 @@ export declare class FileCacheDriver extends BaseCacheDriver<FileCacheDriver, Fi
21
24
  /**
22
25
  * {@inheritdoc}
23
26
  */
24
- set(key: string | GenericObject, value: any, ttl?: number): Promise<this>;
27
+ set(key: CacheKey, value: any, ttl?: number): Promise<this>;
25
28
  /**
26
29
  * {@inheritdoc}
27
30
  */
28
- get(key: string | GenericObject): Promise<any>;
31
+ get(key: CacheKey): Promise<any>;
29
32
  /**
30
33
  * {@inheritdoc}
31
34
  */
32
- remove(key: string | GenericObject): Promise<void>;
35
+ remove(key: CacheKey): Promise<void>;
33
36
  /**
34
37
  * {@inheritdoc}
35
38
  */
@@ -1 +1 @@
1
- {"version":3,"file":"file-cache-driver.d.ts","sourceRoot":"","sources":["../../src/drivers/file-cache-driver.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,eACX,SAAQ,eAAe,CAAC,eAAe,EAAE,gBAAgB,CACzD,YAAW,WAAW,CAAC,eAAe,EAAE,gBAAgB,CAAC;IAEzD;;OAEG;IACI,IAAI,SAAU;IAErB;;OAEG;IACH,IAAW,SAAS,WAUnB;IAED;;OAEG;IACH,IAAW,QAAQ,WAQlB;IAED;;OAEG;IACU,eAAe,CAAC,SAAS,EAAE,MAAM;IAc9C;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM;IAkBtE;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAoB5C;;OAEG;IACU,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAe/C;;OAEG;IACU,KAAK;IAYlB;;OAEG;IACU,OAAO;CAKrB"}
1
+ {"version":3,"file":"file-cache-driver.d.ts","sourceRoot":"","sources":["../../src/drivers/file-cache-driver.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,eACX,SAAQ,eAAe,CAAC,eAAe,EAAE,gBAAgB,CACzD,YAAW,WAAW,CAAC,eAAe,EAAE,gBAAgB,CAAC;IAEzD;;OAEG;IACI,IAAI,SAAU;IAErB;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,gBAAgB;IAU3C;;OAEG;IACH,IAAW,SAAS,WAUnB;IAED;;OAEG;IACH,IAAW,QAAQ,WAQlB;IAED;;OAEG;IACU,eAAe,CAAC,SAAS,EAAE,MAAM;IAc9C;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM;IAqBxD;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,QAAQ;IAgC9B;;OAEG;IACU,MAAM,CAAC,GAAG,EAAE,QAAQ;IAiBjC;;OAEG;IACU,KAAK;IAelB;;OAEG;IACU,OAAO;CAMrB"}
@@ -1,8 +1,17 @@
1
- import {removeDirectoryAsync,ensureDirectoryAsync,putJsonFileAsync,getJsonFileAsync}from'@mongez/fs';import path from'path';import {BaseCacheDriver}from'./base-cache-driver.js';class FileCacheDriver extends BaseCacheDriver {
1
+ import {removeDirectoryAsync,ensureDirectoryAsync,putJsonFileAsync,getJsonFileAsync}from'@mongez/fs';import path from'path';import {CacheConfigurationError}from'../types.js';import {BaseCacheDriver}from'./base-cache-driver.js';class FileCacheDriver extends BaseCacheDriver {
2
2
  /**
3
3
  * {@inheritdoc}
4
4
  */
5
5
  name = "file";
6
+ /**
7
+ * {@inheritdoc}
8
+ */
9
+ setOptions(options) {
10
+ if (!options.directory) {
11
+ throw new CacheConfigurationError("File driver requires 'directory' option to be configured.");
12
+ }
13
+ return super.setOptions(options);
14
+ }
6
15
  /**
7
16
  * Get the cache directory
8
17
  */
@@ -11,7 +20,7 @@ import {removeDirectoryAsync,ensureDirectoryAsync,putJsonFileAsync,getJsonFileAs
11
20
  if (typeof directory === "function") {
12
21
  return directory();
13
22
  }
14
- throw new Error("Cache directory is not defined, please define it in the file driver options");
23
+ throw new CacheConfigurationError("Cache directory is not defined, please define it in the file driver options");
15
24
  }
16
25
  /**
17
26
  * Get file name
@@ -27,7 +36,7 @@ import {removeDirectoryAsync,ensureDirectoryAsync,putJsonFileAsync,getJsonFileAs
27
36
  * {@inheritdoc}
28
37
  */
29
38
  async removeNamespace(namespace) {
30
- this.log("cleared", namespace);
39
+ this.log("clearing", namespace);
31
40
  try {
32
41
  await removeDirectoryAsync(path.resolve(this.directory, namespace));
33
42
  this.log("cleared", namespace);
@@ -41,28 +50,41 @@ import {removeDirectoryAsync,ensureDirectoryAsync,putJsonFileAsync,getJsonFileAs
41
50
  * {@inheritdoc}
42
51
  */
43
52
  async set(key, value, ttl) {
44
- key = await this.parseKey(key);
53
+ key = this.parseKey(key);
45
54
  this.log("caching", key);
46
55
  const data = this.prepareDataForStorage(value, ttl);
47
56
  const fileDirectory = path.resolve(this.directory, key);
48
57
  await ensureDirectoryAsync(fileDirectory);
49
58
  await putJsonFileAsync(path.resolve(fileDirectory, this.fileName), data);
50
59
  this.log("cached", key);
60
+ // Emit set event
61
+ await this.emit("set", { key, value, ttl });
51
62
  return this;
52
63
  }
53
64
  /**
54
65
  * {@inheritdoc}
55
66
  */
56
67
  async get(key) {
57
- const parsedKey = await this.parseKey(key);
68
+ const parsedKey = this.parseKey(key);
58
69
  this.log("fetching", parsedKey);
59
70
  const fileDirectory = path.resolve(this.directory, parsedKey);
60
71
  try {
61
72
  const value = await getJsonFileAsync(path.resolve(fileDirectory, this.fileName));
62
- return this.parseCachedData(parsedKey, value);
73
+ const result = await this.parseCachedData(parsedKey, value);
74
+ if (result === null) {
75
+ // Expired
76
+ await this.emit("miss", { key: parsedKey });
77
+ }
78
+ else {
79
+ // Emit hit event
80
+ await this.emit("hit", { key: parsedKey, value: result });
81
+ }
82
+ return result;
63
83
  }
64
84
  catch (error) {
65
85
  this.log("notFound", parsedKey);
86
+ // Emit miss event
87
+ await this.emit("miss", { key: parsedKey });
66
88
  this.remove(key);
67
89
  return null;
68
90
  }
@@ -71,12 +93,14 @@ import {removeDirectoryAsync,ensureDirectoryAsync,putJsonFileAsync,getJsonFileAs
71
93
  * {@inheritdoc}
72
94
  */
73
95
  async remove(key) {
74
- const parsedKey = await this.parseKey(key);
96
+ const parsedKey = this.parseKey(key);
75
97
  this.log("removing", parsedKey);
76
98
  const fileDirectory = path.resolve(this.directory, parsedKey);
77
99
  try {
78
100
  await removeDirectoryAsync(fileDirectory);
79
101
  this.log("removed", parsedKey);
102
+ // Emit removed event
103
+ await this.emit("removed", { key: parsedKey });
80
104
  }
81
105
  catch (error) {
82
106
  //
@@ -94,6 +118,8 @@ import {removeDirectoryAsync,ensureDirectoryAsync,putJsonFileAsync,getJsonFileAs
94
118
  await removeDirectoryAsync(this.directory);
95
119
  }
96
120
  this.log("flushed");
121
+ // Emit flushed event
122
+ await this.emit("flushed");
97
123
  }
98
124
  /**
99
125
  * {@inheritdoc}
@@ -102,5 +128,6 @@ import {removeDirectoryAsync,ensureDirectoryAsync,putJsonFileAsync,getJsonFileAs
102
128
  this.log("connecting");
103
129
  await ensureDirectoryAsync(this.directory);
104
130
  this.log("connected");
131
+ await this.emit("connected");
105
132
  }
106
133
  }export{FileCacheDriver};//# sourceMappingURL=file-cache-driver.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-cache-driver.js","sources":["../../src/drivers/file-cache-driver.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file-cache-driver.js","sources":["../../src/drivers/file-cache-driver.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  export * from "./base-cache-driver";
2
- export * from "./database-cache-driver";
3
2
  export * from "./file-cache-driver";
4
3
  export * from "./lru-memory-cache-driver";
5
4
  export * from "./memory-cache-driver";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/drivers/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/drivers/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC"}
@@ -1,12 +1,14 @@
1
- import type { GenericObject } from "@mongez/reinforcements";
2
- import type { CacheDriver, LRUMemoryCacheOptions } from "../types";
1
+ /// <reference types="node" />
2
+ import type { CacheDriver, CacheKey, LRUMemoryCacheOptions } from "../types";
3
3
  import { BaseCacheDriver } from "./base-cache-driver";
4
4
  declare class CacheNode {
5
5
  key: string;
6
6
  value: any;
7
7
  next: CacheNode | null;
8
8
  prev: CacheNode | null;
9
- constructor(key: string, value: any);
9
+ expiresAt?: number;
10
+ constructor(key: string, value: any, ttl?: number);
11
+ get isExpired(): boolean;
10
12
  }
11
13
  /**
12
14
  * LRU Memory Cache Driver
@@ -31,6 +33,10 @@ export declare class LRUMemoryCacheDriver extends BaseCacheDriver<LRUMemoryCache
31
33
  * Tail of the cache
32
34
  */
33
35
  protected tail: CacheNode;
36
+ /**
37
+ * Cleanup interval reference
38
+ */
39
+ protected cleanupInterval?: NodeJS.Timeout;
34
40
  /**
35
41
  * {@inheritdoc}
36
42
  */
@@ -39,6 +45,10 @@ export declare class LRUMemoryCacheDriver extends BaseCacheDriver<LRUMemoryCache
39
45
  * Initialize the cache
40
46
  */
41
47
  init(): void;
48
+ /**
49
+ * Start the cleanup process for expired items
50
+ */
51
+ startCleanup(): void;
42
52
  /**
43
53
  * {@inheritdoc}
44
54
  */
@@ -46,7 +56,7 @@ export declare class LRUMemoryCacheDriver extends BaseCacheDriver<LRUMemoryCache
46
56
  /**
47
57
  * {@inheritdoc}
48
58
  */
49
- set(key: string | GenericObject, value: any, _ttl?: number): Promise<this>;
59
+ set(key: CacheKey, value: any, ttl?: number): Promise<this>;
50
60
  /**
51
61
  * Move the node to the head
52
62
  */
@@ -66,11 +76,11 @@ export declare class LRUMemoryCacheDriver extends BaseCacheDriver<LRUMemoryCache
66
76
  /**
67
77
  * {@inheritdoc}
68
78
  */
69
- get(key: string | GenericObject): Promise<any>;
79
+ get(key: CacheKey): Promise<any>;
70
80
  /**
71
81
  * {@inheritdoc}
72
82
  */
73
- remove(key: string | GenericObject): Promise<void>;
83
+ remove(key: CacheKey): Promise<void>;
74
84
  /**
75
85
  * {@inheritdoc}
76
86
  */
@@ -79,6 +89,10 @@ export declare class LRUMemoryCacheDriver extends BaseCacheDriver<LRUMemoryCache
79
89
  * Get lru capacity
80
90
  */
81
91
  get capacity(): number;
92
+ /**
93
+ * {@inheritdoc}
94
+ */
95
+ disconnect(): Promise<void>;
82
96
  }
83
97
  export {};
84
98
  //# sourceMappingURL=lru-memory-cache-driver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lru-memory-cache-driver.d.ts","sourceRoot":"","sources":["../../src/drivers/lru-memory-cache-driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,cAAM,SAAS;IAIJ,GAAG,EAAE,MAAM;IACX,KAAK,EAAE,GAAG;IAJZ,IAAI,EAAE,SAAS,GAAG,IAAI,CAAQ;IAC9B,IAAI,EAAE,SAAS,GAAG,IAAI,CAAQ;gBAE5B,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG;CAIpB;AAED;;;;;GAKG;AACH,qBAAa,oBACX,SAAQ,eAAe,CAAC,oBAAoB,EAAE,qBAAqB,CACnE,YAAW,WAAW,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IAEnE;;OAEG;IACI,IAAI,SAAS;IAEpB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAa;IAEpD;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,SAAS,CAA2B;IAEpD;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,SAAS,CAA2B;IAEpD;;OAEG;;IAOH;;OAEG;IACI,IAAI;IAKX;;OAEG;IACU,eAAe,CAAC,UAAU,EAAE,MAAM;IAI/C;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM;IA0BvE;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS;IAKlC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS;IAKpC;;OAEG;IACH,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS;IAOjC;;OAEG;IACH,SAAS,CAAC,UAAU;IAQpB;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAmB5C;;OAEG;IACU,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAe/C;;OAEG;IACU,KAAK;IAUlB;;OAEG;IACH,IAAW,QAAQ,WAElB;CACF"}
1
+ {"version":3,"file":"lru-memory-cache-driver.d.ts","sourceRoot":"","sources":["../../src/drivers/lru-memory-cache-driver.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,cAAM,SAAS;IAKJ,GAAG,EAAE,MAAM;IACX,KAAK,EAAE,GAAG;IALZ,IAAI,EAAE,SAAS,GAAG,IAAI,CAAQ;IAC9B,IAAI,EAAE,SAAS,GAAG,IAAI,CAAQ;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEjB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,GAAG,EACjB,GAAG,CAAC,EAAE,MAAM;IAOd,IAAW,SAAS,IAAI,OAAO,CAE9B;CACF;AAED;;;;;GAKG;AACH,qBAAa,oBACX,SAAQ,eAAe,CAAC,oBAAoB,EAAE,qBAAqB,CACnE,YAAW,WAAW,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;IAEnE;;OAEG;IACI,IAAI,SAAS;IAEpB;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAa;IAEpD;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,SAAS,CAA2B;IAEpD;;OAEG;IACH,SAAS,CAAC,IAAI,EAAE,SAAS,CAA2B;IAEpD;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IAE3C;;OAEG;;IAQH;;OAEG;IACI,IAAI;IAKX;;OAEG;IACI,YAAY;IAgCnB;;OAEG;IACU,eAAe,CAAC,UAAU,EAAE,MAAM;IAI/C;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM;IAuCxD;;OAEG;IACH,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS;IAKlC;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS;IAKpC;;OAEG;IACH,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS;IAOjC;;OAEG;IACH,SAAS,CAAC,UAAU;IAQpB;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,QAAQ;IAuD9B;;OAEG;IACU,MAAM,CAAC,GAAG,EAAE,QAAQ;IAkBjC;;OAEG;IACU,KAAK;IAalB;;OAEG;IACH,IAAW,QAAQ,WAElB;IAED;;OAEG;IACU,UAAU;CASxB"}