@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
- 'use strict';var reinforcements=require('@mongez/reinforcements'),logger=require('@warlock.js/logger'),utils=require('../utils.js');const messages = {
1
+ 'use strict';var logger=require('@warlock.js/logger'),utils=require('../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 utils.parseCacheKey(key, this.options);
48
+ parseKey(key) {
49
+ return utils.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 logger.log.error("cache:" + this.name, operation, (key ? key + " " : "") + messages[operation]);
216
+ return logger.log.warn("cache:" + this.name, operation, (key ? key + " " : "") + messages[operation]);
65
217
  }
66
218
  if (operation.endsWith("ed")) {
67
219
  return logger.log.success("cache:" + this.name, operation, (key ? key + " " : "") + messages[operation]);
68
220
  }
69
221
  logger.log.info("cache:" + this.name, operation, (key ? key + " " : "") + messages[operation]);
70
222
  }
223
+ /**
224
+ * Log error message
225
+ */
226
+ logError(message, error) {
227
+ logger.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 ? reinforcements.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
  }exports.BaseCacheDriver=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":["parseCacheKey","log","clone"],"mappings":"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"}
1
+ {"version":3,"file":"base-cache-driver.js","sources":["../../src/drivers/base-cache-driver.ts"],"sourcesContent":[null],"names":["parseCacheKey","log"],"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
- 'use strict';var fs=require('@mongez/fs'),path=require('path'),baseCacheDriver=require('./base-cache-driver.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var path__default=/*#__PURE__*/_interopDefault(path);class FileCacheDriver extends baseCacheDriver.BaseCacheDriver {
1
+ 'use strict';var fs=require('@mongez/fs'),path=require('path'),types=require('../types.js'),baseCacheDriver=require('./base-cache-driver.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var path__default=/*#__PURE__*/_interopDefault(path);class FileCacheDriver extends baseCacheDriver.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 types.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 @@
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 types.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 @@
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 fs.removeDirectoryAsync(path__default.default.resolve(this.directory, namespace));
33
42
  this.log("cleared", namespace);
@@ -41,28 +50,41 @@
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__default.default.resolve(this.directory, key);
48
57
  await fs.ensureDirectoryAsync(fileDirectory);
49
58
  await fs.putJsonFileAsync(path__default.default.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__default.default.resolve(this.directory, parsedKey);
60
71
  try {
61
72
  const value = await fs.getJsonFileAsync(path__default.default.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 @@
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__default.default.resolve(this.directory, parsedKey);
77
99
  try {
78
100
  await fs.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 @@
94
118
  await fs.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 @@
102
128
  this.log("connecting");
103
129
  await fs.ensureDirectoryAsync(this.directory);
104
130
  this.log("connected");
131
+ await this.emit("connected");
105
132
  }
106
133
  }exports.FileCacheDriver=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":["BaseCacheDriver","removeDirectoryAsync","path","ensureDirectoryAsync","putJsonFileAsync","getJsonFileAsync"],"mappings":"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"}
1
+ {"version":3,"file":"file-cache-driver.js","sources":["../../src/drivers/file-cache-driver.ts"],"sourcesContent":[null],"names":["BaseCacheDriver","CacheConfigurationError","removeDirectoryAsync","path","ensureDirectoryAsync","putJsonFileAsync","getJsonFileAsync"],"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"}