@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.
- package/cjs/cache-manager.d.ts +72 -7
- package/cjs/cache-manager.d.ts.map +1 -1
- package/cjs/cache-manager.js +175 -15
- package/cjs/cache-manager.js.map +1 -1
- package/cjs/drivers/base-cache-driver.d.ts +70 -7
- package/cjs/drivers/base-cache-driver.d.ts.map +1 -1
- package/cjs/drivers/base-cache-driver.js +189 -9
- package/cjs/drivers/base-cache-driver.js.map +1 -1
- package/cjs/drivers/file-cache-driver.d.ts +8 -5
- package/cjs/drivers/file-cache-driver.d.ts.map +1 -1
- package/cjs/drivers/file-cache-driver.js +34 -7
- package/cjs/drivers/file-cache-driver.js.map +1 -1
- package/cjs/drivers/index.d.ts +0 -1
- package/cjs/drivers/index.d.ts.map +1 -1
- package/cjs/drivers/lru-memory-cache-driver.d.ts +20 -6
- package/cjs/drivers/lru-memory-cache-driver.d.ts.map +1 -1
- package/cjs/drivers/lru-memory-cache-driver.js +109 -8
- package/cjs/drivers/lru-memory-cache-driver.js.map +1 -1
- package/cjs/drivers/memory-cache-driver.d.ts +34 -5
- package/cjs/drivers/memory-cache-driver.d.ts.map +1 -1
- package/cjs/drivers/memory-cache-driver.js +116 -8
- package/cjs/drivers/memory-cache-driver.js.map +1 -1
- package/cjs/drivers/memory-extended-cache-driver.d.ts +2 -3
- package/cjs/drivers/memory-extended-cache-driver.d.ts.map +1 -1
- package/cjs/drivers/memory-extended-cache-driver.js +1 -1
- package/cjs/drivers/memory-extended-cache-driver.js.map +1 -1
- package/cjs/drivers/null-cache-driver.d.ts +5 -5
- package/cjs/drivers/null-cache-driver.d.ts.map +1 -1
- package/cjs/drivers/null-cache-driver.js +1 -1
- package/cjs/drivers/null-cache-driver.js.map +1 -1
- package/cjs/drivers/redis-cache-driver.d.ts +23 -5
- package/cjs/drivers/redis-cache-driver.d.ts.map +1 -1
- package/cjs/drivers/redis-cache-driver.js +120 -10
- package/cjs/drivers/redis-cache-driver.js.map +1 -1
- package/cjs/index.d.ts +1 -0
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +1 -1
- package/cjs/tagged-cache.d.ts +77 -0
- package/cjs/tagged-cache.d.ts.map +1 -0
- package/cjs/tagged-cache.js +160 -0
- package/cjs/tagged-cache.js.map +1 -0
- package/cjs/types.d.ts +186 -19
- package/cjs/types.d.ts.map +1 -1
- package/cjs/types.js +36 -0
- package/cjs/types.js.map +1 -0
- package/cjs/utils.d.ts +3 -3
- package/cjs/utils.d.ts.map +1 -1
- package/cjs/utils.js +13 -13
- package/cjs/utils.js.map +1 -1
- package/esm/cache-manager.d.ts +72 -7
- package/esm/cache-manager.d.ts.map +1 -1
- package/esm/cache-manager.js +175 -15
- package/esm/cache-manager.js.map +1 -1
- package/esm/drivers/base-cache-driver.d.ts +70 -7
- package/esm/drivers/base-cache-driver.d.ts.map +1 -1
- package/esm/drivers/base-cache-driver.js +189 -9
- package/esm/drivers/base-cache-driver.js.map +1 -1
- package/esm/drivers/file-cache-driver.d.ts +8 -5
- package/esm/drivers/file-cache-driver.d.ts.map +1 -1
- package/esm/drivers/file-cache-driver.js +34 -7
- package/esm/drivers/file-cache-driver.js.map +1 -1
- package/esm/drivers/index.d.ts +0 -1
- package/esm/drivers/index.d.ts.map +1 -1
- package/esm/drivers/lru-memory-cache-driver.d.ts +20 -6
- package/esm/drivers/lru-memory-cache-driver.d.ts.map +1 -1
- package/esm/drivers/lru-memory-cache-driver.js +109 -8
- package/esm/drivers/lru-memory-cache-driver.js.map +1 -1
- package/esm/drivers/memory-cache-driver.d.ts +34 -5
- package/esm/drivers/memory-cache-driver.d.ts.map +1 -1
- package/esm/drivers/memory-cache-driver.js +117 -9
- package/esm/drivers/memory-cache-driver.js.map +1 -1
- package/esm/drivers/memory-extended-cache-driver.d.ts +2 -3
- package/esm/drivers/memory-extended-cache-driver.d.ts.map +1 -1
- package/esm/drivers/memory-extended-cache-driver.js +1 -1
- package/esm/drivers/memory-extended-cache-driver.js.map +1 -1
- package/esm/drivers/null-cache-driver.d.ts +5 -5
- package/esm/drivers/null-cache-driver.d.ts.map +1 -1
- package/esm/drivers/null-cache-driver.js +1 -1
- package/esm/drivers/null-cache-driver.js.map +1 -1
- package/esm/drivers/redis-cache-driver.d.ts +23 -5
- package/esm/drivers/redis-cache-driver.d.ts.map +1 -1
- package/esm/drivers/redis-cache-driver.js +120 -10
- package/esm/drivers/redis-cache-driver.js.map +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -1
- package/esm/tagged-cache.d.ts +77 -0
- package/esm/tagged-cache.d.ts.map +1 -0
- package/esm/tagged-cache.js +160 -0
- package/esm/tagged-cache.js.map +1 -0
- package/esm/types.d.ts +186 -19
- package/esm/types.d.ts.map +1 -1
- package/esm/types.js +36 -0
- package/esm/types.js.map +1 -0
- package/esm/utils.d.ts +3 -3
- package/esm/utils.d.ts.map +1 -1
- package/esm/utils.js +13 -13
- package/esm/utils.js.map +1 -1
- package/package.json +2 -2
- package/cjs/drivers/database-cache-driver.d.ts +0 -39
- package/cjs/drivers/database-cache-driver.d.ts.map +0 -1
- package/cjs/drivers/database-cache-driver.js +0 -92
- package/cjs/drivers/database-cache-driver.js.map +0 -1
- package/esm/drivers/database-cache-driver.d.ts +0 -39
- package/esm/drivers/database-cache-driver.d.ts.map +0 -1
- package/esm/drivers/database-cache-driver.js +0 -92
- package/esm/drivers/database-cache-driver.js.map +0 -1
|
@@ -3,10 +3,16 @@
|
|
|
3
3
|
value;
|
|
4
4
|
next = null;
|
|
5
5
|
prev = null;
|
|
6
|
-
|
|
6
|
+
expiresAt;
|
|
7
|
+
constructor(key, value, ttl) {
|
|
7
8
|
this.key = key;
|
|
8
9
|
this.value = value;
|
|
9
|
-
|
|
10
|
+
if (ttl && ttl !== Infinity) {
|
|
11
|
+
this.expiresAt = Date.now() + ttl * 1000;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
get isExpired() {
|
|
15
|
+
return this.expiresAt !== undefined && this.expiresAt < Date.now();
|
|
10
16
|
}
|
|
11
17
|
}
|
|
12
18
|
/**
|
|
@@ -32,12 +38,17 @@ class LRUMemoryCacheDriver extends baseCacheDriver.BaseCacheDriver {
|
|
|
32
38
|
* Tail of the cache
|
|
33
39
|
*/
|
|
34
40
|
tail = new CacheNode("", null);
|
|
41
|
+
/**
|
|
42
|
+
* Cleanup interval reference
|
|
43
|
+
*/
|
|
44
|
+
cleanupInterval;
|
|
35
45
|
/**
|
|
36
46
|
* {@inheritdoc}
|
|
37
47
|
*/
|
|
38
48
|
constructor() {
|
|
39
49
|
super();
|
|
40
50
|
this.init();
|
|
51
|
+
this.startCleanup();
|
|
41
52
|
}
|
|
42
53
|
/**
|
|
43
54
|
* Initialize the cache
|
|
@@ -46,6 +57,36 @@ class LRUMemoryCacheDriver extends baseCacheDriver.BaseCacheDriver {
|
|
|
46
57
|
this.head.next = this.tail;
|
|
47
58
|
this.tail.prev = this.head;
|
|
48
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Start the cleanup process for expired items
|
|
62
|
+
*/
|
|
63
|
+
startCleanup() {
|
|
64
|
+
// Clear existing interval if any
|
|
65
|
+
if (this.cleanupInterval) {
|
|
66
|
+
clearInterval(this.cleanupInterval);
|
|
67
|
+
}
|
|
68
|
+
this.cleanupInterval = setInterval(async () => {
|
|
69
|
+
const now = Date.now();
|
|
70
|
+
const expiredKeys = [];
|
|
71
|
+
for (const [key, node] of this.cache) {
|
|
72
|
+
if (node.expiresAt && node.expiresAt <= now) {
|
|
73
|
+
expiredKeys.push(key);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
for (const key of expiredKeys) {
|
|
77
|
+
const node = this.cache.get(key);
|
|
78
|
+
if (node) {
|
|
79
|
+
this.removeNode(node);
|
|
80
|
+
this.cache.delete(key);
|
|
81
|
+
this.log("expired", key);
|
|
82
|
+
// Emit expired event
|
|
83
|
+
await this.emit("expired", { key });
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}, 1000);
|
|
87
|
+
// do not block the process from exiting
|
|
88
|
+
this.cleanupInterval.unref();
|
|
89
|
+
}
|
|
49
90
|
/**
|
|
50
91
|
* {@inheritdoc}
|
|
51
92
|
*/
|
|
@@ -55,16 +96,26 @@ class LRUMemoryCacheDriver extends baseCacheDriver.BaseCacheDriver {
|
|
|
55
96
|
/**
|
|
56
97
|
* {@inheritdoc}
|
|
57
98
|
*/
|
|
58
|
-
async set(key, value,
|
|
59
|
-
key =
|
|
99
|
+
async set(key, value, ttl) {
|
|
100
|
+
key = this.parseKey(key);
|
|
60
101
|
this.log("caching", key);
|
|
102
|
+
if (ttl === undefined) {
|
|
103
|
+
ttl = this.ttl;
|
|
104
|
+
}
|
|
61
105
|
const existingNode = this.cache.get(key);
|
|
62
106
|
if (existingNode) {
|
|
63
107
|
existingNode.value = value;
|
|
108
|
+
// Update TTL
|
|
109
|
+
if (ttl && ttl !== Infinity) {
|
|
110
|
+
existingNode.expiresAt = Date.now() + ttl * 1000;
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
existingNode.expiresAt = undefined;
|
|
114
|
+
}
|
|
64
115
|
this.moveHead(existingNode);
|
|
65
116
|
}
|
|
66
117
|
else {
|
|
67
|
-
const newNode = new CacheNode(key, value);
|
|
118
|
+
const newNode = new CacheNode(key, value, ttl);
|
|
68
119
|
this.cache.set(key, newNode);
|
|
69
120
|
this.addNode(newNode);
|
|
70
121
|
if (this.cache.size > this.capacity) {
|
|
@@ -72,6 +123,8 @@ class LRUMemoryCacheDriver extends baseCacheDriver.BaseCacheDriver {
|
|
|
72
123
|
}
|
|
73
124
|
}
|
|
74
125
|
this.log("cached", key);
|
|
126
|
+
// Emit set event
|
|
127
|
+
await this.emit("set", { key, value, ttl });
|
|
75
128
|
return this;
|
|
76
129
|
}
|
|
77
130
|
/**
|
|
@@ -109,22 +162,55 @@ class LRUMemoryCacheDriver extends baseCacheDriver.BaseCacheDriver {
|
|
|
109
162
|
* {@inheritdoc}
|
|
110
163
|
*/
|
|
111
164
|
async get(key) {
|
|
112
|
-
const parsedKey =
|
|
165
|
+
const parsedKey = this.parseKey(key);
|
|
113
166
|
this.log("fetching", parsedKey);
|
|
114
167
|
const node = this.cache.get(parsedKey);
|
|
115
168
|
if (!node) {
|
|
116
169
|
this.log("notFound", parsedKey);
|
|
170
|
+
// Emit miss event
|
|
171
|
+
await this.emit("miss", { key: parsedKey });
|
|
172
|
+
return null;
|
|
173
|
+
}
|
|
174
|
+
// Check if expired
|
|
175
|
+
if (node.isExpired) {
|
|
176
|
+
this.removeNode(node);
|
|
177
|
+
this.cache.delete(parsedKey);
|
|
178
|
+
this.log("expired", parsedKey);
|
|
179
|
+
// Emit expired event
|
|
180
|
+
await this.emit("expired", { key: parsedKey });
|
|
181
|
+
// Also emit miss since we're returning null
|
|
182
|
+
await this.emit("miss", { key: parsedKey });
|
|
117
183
|
return null;
|
|
118
184
|
}
|
|
119
185
|
this.moveHead(node);
|
|
120
186
|
this.log("fetched", parsedKey);
|
|
121
|
-
|
|
187
|
+
const value = node.value;
|
|
188
|
+
// Apply cloning for immutability protection
|
|
189
|
+
if (value === null || value === undefined) {
|
|
190
|
+
return value;
|
|
191
|
+
}
|
|
192
|
+
const type = typeof value;
|
|
193
|
+
if (type === "string" || type === "number" || type === "boolean") {
|
|
194
|
+
// Emit hit event
|
|
195
|
+
await this.emit("hit", { key: parsedKey, value });
|
|
196
|
+
return value;
|
|
197
|
+
}
|
|
198
|
+
try {
|
|
199
|
+
const clonedValue = structuredClone(value);
|
|
200
|
+
// Emit hit event
|
|
201
|
+
await this.emit("hit", { key: parsedKey, value: clonedValue });
|
|
202
|
+
return clonedValue;
|
|
203
|
+
}
|
|
204
|
+
catch (error) {
|
|
205
|
+
this.logError(`Failed to clone cached value for ${parsedKey}`, error);
|
|
206
|
+
throw error;
|
|
207
|
+
}
|
|
122
208
|
}
|
|
123
209
|
/**
|
|
124
210
|
* {@inheritdoc}
|
|
125
211
|
*/
|
|
126
212
|
async remove(key) {
|
|
127
|
-
const parsedKey =
|
|
213
|
+
const parsedKey = this.parseKey(key);
|
|
128
214
|
this.log("removing", parsedKey);
|
|
129
215
|
const node = this.cache.get(parsedKey);
|
|
130
216
|
if (node) {
|
|
@@ -132,6 +218,8 @@ class LRUMemoryCacheDriver extends baseCacheDriver.BaseCacheDriver {
|
|
|
132
218
|
this.cache.delete(parsedKey);
|
|
133
219
|
}
|
|
134
220
|
this.log("removed", parsedKey);
|
|
221
|
+
// Emit removed event
|
|
222
|
+
await this.emit("removed", { key: parsedKey });
|
|
135
223
|
}
|
|
136
224
|
/**
|
|
137
225
|
* {@inheritdoc}
|
|
@@ -141,6 +229,8 @@ class LRUMemoryCacheDriver extends baseCacheDriver.BaseCacheDriver {
|
|
|
141
229
|
this.cache.clear();
|
|
142
230
|
this.init();
|
|
143
231
|
this.log("flushed");
|
|
232
|
+
// Emit flushed event
|
|
233
|
+
await this.emit("flushed");
|
|
144
234
|
}
|
|
145
235
|
/**
|
|
146
236
|
* Get lru capacity
|
|
@@ -148,4 +238,15 @@ class LRUMemoryCacheDriver extends baseCacheDriver.BaseCacheDriver {
|
|
|
148
238
|
get capacity() {
|
|
149
239
|
return this.options.capacity || 1000;
|
|
150
240
|
}
|
|
241
|
+
/**
|
|
242
|
+
* {@inheritdoc}
|
|
243
|
+
*/
|
|
244
|
+
async disconnect() {
|
|
245
|
+
// Clear the cleanup interval to prevent memory leaks
|
|
246
|
+
if (this.cleanupInterval) {
|
|
247
|
+
clearInterval(this.cleanupInterval);
|
|
248
|
+
this.cleanupInterval = undefined;
|
|
249
|
+
}
|
|
250
|
+
await super.disconnect();
|
|
251
|
+
}
|
|
151
252
|
}exports.LRUMemoryCacheDriver=LRUMemoryCacheDriver;//# sourceMappingURL=lru-memory-cache-driver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lru-memory-cache-driver.js","sources":["../../src/drivers/lru-memory-cache-driver.ts"],"sourcesContent":[null],"names":["BaseCacheDriver"],"mappings":"
|
|
1
|
+
{"version":3,"file":"lru-memory-cache-driver.js","sources":["../../src/drivers/lru-memory-cache-driver.ts"],"sourcesContent":[null],"names":["BaseCacheDriver"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import type { GenericObject } from "@mongez/reinforcements";
|
|
2
|
-
import type { CacheDriver, MemoryCacheOptions } from "../types";
|
|
3
|
+
import type { CacheDriver, CacheKey, MemoryCacheOptions } from "../types";
|
|
3
4
|
import { BaseCacheDriver } from "./base-cache-driver";
|
|
4
5
|
export declare class MemoryCacheDriver extends BaseCacheDriver<MemoryCacheDriver, MemoryCacheOptions> implements CacheDriver<MemoryCacheDriver, MemoryCacheOptions> {
|
|
5
6
|
/**
|
|
@@ -17,6 +18,14 @@ export declare class MemoryCacheDriver extends BaseCacheDriver<MemoryCacheDriver
|
|
|
17
18
|
key: string;
|
|
18
19
|
expiresAt: number;
|
|
19
20
|
}>;
|
|
21
|
+
/**
|
|
22
|
+
* Cleanup interval reference
|
|
23
|
+
*/
|
|
24
|
+
protected cleanupInterval?: NodeJS.Timeout;
|
|
25
|
+
/**
|
|
26
|
+
* Access order tracking for LRU eviction (when maxSize is set)
|
|
27
|
+
*/
|
|
28
|
+
protected accessOrder: string[];
|
|
20
29
|
/**
|
|
21
30
|
* {@inheritdoc}
|
|
22
31
|
*/
|
|
@@ -32,15 +41,15 @@ export declare class MemoryCacheDriver extends BaseCacheDriver<MemoryCacheDriver
|
|
|
32
41
|
/**
|
|
33
42
|
* {@inheritdoc}
|
|
34
43
|
*/
|
|
35
|
-
set(key:
|
|
44
|
+
set(key: CacheKey, value: any, ttl?: number): Promise<this>;
|
|
36
45
|
/**
|
|
37
46
|
* {@inheritdoc}
|
|
38
47
|
*/
|
|
39
|
-
get(key:
|
|
48
|
+
get(key: CacheKey): Promise<any>;
|
|
40
49
|
/**
|
|
41
50
|
* {@inheritdoc}
|
|
42
51
|
*/
|
|
43
|
-
remove(key:
|
|
52
|
+
remove(key: CacheKey): Promise<void>;
|
|
44
53
|
/**
|
|
45
54
|
* {@inheritdoc}
|
|
46
55
|
*/
|
|
@@ -48,6 +57,26 @@ export declare class MemoryCacheDriver extends BaseCacheDriver<MemoryCacheDriver
|
|
|
48
57
|
/**
|
|
49
58
|
* Set the temporary data
|
|
50
59
|
*/
|
|
51
|
-
protected setTemporaryData(key:
|
|
60
|
+
protected setTemporaryData(key: CacheKey, parsedKey: string, ttl: number): void;
|
|
61
|
+
/**
|
|
62
|
+
* Track access for LRU eviction
|
|
63
|
+
*/
|
|
64
|
+
protected trackAccess(key: string): void;
|
|
65
|
+
/**
|
|
66
|
+
* Remove key from access order tracking
|
|
67
|
+
*/
|
|
68
|
+
protected removeFromAccessOrder(key: string): void;
|
|
69
|
+
/**
|
|
70
|
+
* Enforce max size by evicting least recently used items
|
|
71
|
+
*/
|
|
72
|
+
protected enforceMaxSize(): Promise<void>;
|
|
73
|
+
/**
|
|
74
|
+
* Get current cache size (number of cached items)
|
|
75
|
+
*/
|
|
76
|
+
protected getCacheSize(): number;
|
|
77
|
+
/**
|
|
78
|
+
* {@inheritdoc}
|
|
79
|
+
*/
|
|
80
|
+
disconnect(): Promise<void>;
|
|
52
81
|
}
|
|
53
82
|
//# sourceMappingURL=memory-cache-driver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-cache-driver.d.ts","sourceRoot":"","sources":["../../src/drivers/memory-cache-driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"memory-cache-driver.d.ts","sourceRoot":"","sources":["../../src/drivers/memory-cache-driver.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE5D,OAAO,KAAK,EAEV,WAAW,EACX,QAAQ,EACR,kBAAkB,EACnB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,iBACX,SAAQ,eAAe,CAAC,iBAAiB,EAAE,kBAAkB,CAC7D,YAAW,WAAW,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IAE7D;;OAEG;IACI,IAAI,SAAY;IAEvB;;OAEG;IACI,IAAI,EAAE,aAAa,CAAM;IAEhC;;OAEG;IACH,SAAS,CAAC,aAAa,EAAE,MAAM,CAC7B,MAAM,EACN;QACE,GAAG,EAAE,MAAM,CAAC;QACZ,SAAS,EAAE,MAAM,CAAC;KACnB,CACF,CAAM;IAEP;;OAEG;IACH,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IAE3C;;OAEG;IACH,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,CAAM;IAErC;;OAEG;;IAOH;;OAEG;IACI,YAAY;IAyBnB;;OAEG;IACU,eAAe,CAAC,SAAS,EAAE,MAAM;IAY9C;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM;IAsCxD;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,QAAQ;IA6B9B;;OAEG;IACU,MAAM,CAAC,GAAG,EAAE,QAAQ;IAmBjC;;OAEG;IACU,KAAK;IAelB;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAOxE;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM;IAajC;;OAEG;IACH,SAAS,CAAC,qBAAqB,CAAC,GAAG,EAAE,MAAM;IAO3C;;OAEG;cACa,cAAc;IAmB9B;;OAEG;IACH,SAAS,CAAC,YAAY,IAAI,MAAM;IAKhC;;OAEG;IACU,UAAU;CASxB"}
|
|
@@ -11,6 +11,14 @@
|
|
|
11
11
|
* List of data that will be cleared from cache
|
|
12
12
|
*/
|
|
13
13
|
temporaryData = {};
|
|
14
|
+
/**
|
|
15
|
+
* Cleanup interval reference
|
|
16
|
+
*/
|
|
17
|
+
cleanupInterval;
|
|
18
|
+
/**
|
|
19
|
+
* Access order tracking for LRU eviction (when maxSize is set)
|
|
20
|
+
*/
|
|
21
|
+
accessOrder = [];
|
|
14
22
|
/**
|
|
15
23
|
* {@inheritdoc}
|
|
16
24
|
*/
|
|
@@ -22,25 +30,31 @@
|
|
|
22
30
|
* Start the cleanup process whenever a data that has a cache key is set
|
|
23
31
|
*/
|
|
24
32
|
startCleanup() {
|
|
25
|
-
|
|
33
|
+
// Clear existing interval if any
|
|
34
|
+
if (this.cleanupInterval) {
|
|
35
|
+
clearInterval(this.cleanupInterval);
|
|
36
|
+
}
|
|
37
|
+
this.cleanupInterval = setInterval(async () => {
|
|
26
38
|
const now = Date.now();
|
|
27
39
|
for (const key in this.temporaryData) {
|
|
28
40
|
if (this.temporaryData[key].expiresAt <= now) {
|
|
29
|
-
this.remove(this.temporaryData[key].key);
|
|
41
|
+
await this.remove(this.temporaryData[key].key);
|
|
30
42
|
delete this.temporaryData[key];
|
|
31
43
|
this.log("expired", key);
|
|
44
|
+
// Emit expired event
|
|
45
|
+
await this.emit("expired", { key });
|
|
32
46
|
}
|
|
33
47
|
}
|
|
34
48
|
}, 1000);
|
|
35
49
|
// do not block the process from exiting
|
|
36
|
-
|
|
50
|
+
this.cleanupInterval.unref();
|
|
37
51
|
}
|
|
38
52
|
/**
|
|
39
53
|
* {@inheritdoc}
|
|
40
54
|
*/
|
|
41
55
|
async removeNamespace(namespace) {
|
|
42
56
|
this.log("clearing", namespace);
|
|
43
|
-
namespace =
|
|
57
|
+
namespace = this.parseKey(namespace);
|
|
44
58
|
reinforcements.unset(this.data, [namespace]);
|
|
45
59
|
this.log("cleared", namespace);
|
|
46
60
|
return this;
|
|
@@ -49,7 +63,7 @@
|
|
|
49
63
|
* {@inheritdoc}
|
|
50
64
|
*/
|
|
51
65
|
async set(key, value, ttl) {
|
|
52
|
-
const parsedKey =
|
|
66
|
+
const parsedKey = this.parseKey(key);
|
|
53
67
|
this.log("caching", parsedKey);
|
|
54
68
|
if (ttl === undefined) {
|
|
55
69
|
ttl = this.ttl;
|
|
@@ -59,31 +73,61 @@
|
|
|
59
73
|
// it means we need to check for expiration
|
|
60
74
|
this.setTemporaryData(key, parsedKey, ttl);
|
|
61
75
|
}
|
|
76
|
+
// Check if key already exists
|
|
77
|
+
const existingData = reinforcements.get(this.data, parsedKey);
|
|
78
|
+
const isNewKey = !existingData;
|
|
62
79
|
reinforcements.set(this.data, parsedKey, data);
|
|
80
|
+
// Track access for LRU eviction
|
|
81
|
+
this.trackAccess(parsedKey);
|
|
82
|
+
// Check size limit and evict if necessary
|
|
83
|
+
if (isNewKey && this.options.maxSize) {
|
|
84
|
+
await this.enforceMaxSize();
|
|
85
|
+
}
|
|
63
86
|
this.log("cached", parsedKey);
|
|
87
|
+
// Emit set event
|
|
88
|
+
await this.emit("set", { key: parsedKey, value, ttl });
|
|
64
89
|
return this;
|
|
65
90
|
}
|
|
66
91
|
/**
|
|
67
92
|
* {@inheritdoc}
|
|
68
93
|
*/
|
|
69
94
|
async get(key) {
|
|
70
|
-
const parsedKey =
|
|
95
|
+
const parsedKey = this.parseKey(key);
|
|
71
96
|
this.log("fetching", parsedKey);
|
|
72
97
|
const value = reinforcements.get(this.data, parsedKey);
|
|
73
98
|
if (!value) {
|
|
74
99
|
this.log("notFound", parsedKey);
|
|
100
|
+
// Emit miss event
|
|
101
|
+
await this.emit("miss", { key: parsedKey });
|
|
75
102
|
return null;
|
|
76
103
|
}
|
|
77
|
-
|
|
104
|
+
const result = await this.parseCachedData(parsedKey, value);
|
|
105
|
+
if (result === null) {
|
|
106
|
+
// Expired
|
|
107
|
+
await this.emit("miss", { key: parsedKey });
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
// Track access for LRU
|
|
111
|
+
this.trackAccess(parsedKey);
|
|
112
|
+
// Emit hit event
|
|
113
|
+
await this.emit("hit", { key: parsedKey, value: result });
|
|
114
|
+
}
|
|
115
|
+
return result;
|
|
78
116
|
}
|
|
79
117
|
/**
|
|
80
118
|
* {@inheritdoc}
|
|
81
119
|
*/
|
|
82
120
|
async remove(key) {
|
|
83
|
-
const parsedKey =
|
|
121
|
+
const parsedKey = this.parseKey(key);
|
|
84
122
|
this.log("removing", parsedKey);
|
|
85
123
|
reinforcements.unset(this.data, [parsedKey]);
|
|
124
|
+
// Clean up from temporaryData as well
|
|
125
|
+
delete this.temporaryData[parsedKey];
|
|
126
|
+
// Remove from access order
|
|
127
|
+
this.removeFromAccessOrder(parsedKey);
|
|
86
128
|
this.log("removed", parsedKey);
|
|
129
|
+
// Emit removed event
|
|
130
|
+
await this.emit("removed", { key: parsedKey });
|
|
87
131
|
}
|
|
88
132
|
/**
|
|
89
133
|
* {@inheritdoc}
|
|
@@ -95,8 +139,11 @@
|
|
|
95
139
|
}
|
|
96
140
|
else {
|
|
97
141
|
this.data = {};
|
|
142
|
+
this.accessOrder = [];
|
|
98
143
|
}
|
|
99
144
|
this.log("flushed");
|
|
145
|
+
// Emit flushed event
|
|
146
|
+
await this.emit("flushed");
|
|
100
147
|
}
|
|
101
148
|
/**
|
|
102
149
|
* Set the temporary data
|
|
@@ -107,4 +154,65 @@
|
|
|
107
154
|
expiresAt: Date.now() + ttl * 1000,
|
|
108
155
|
};
|
|
109
156
|
}
|
|
157
|
+
/**
|
|
158
|
+
* Track access for LRU eviction
|
|
159
|
+
*/
|
|
160
|
+
trackAccess(key) {
|
|
161
|
+
if (!this.options.maxSize)
|
|
162
|
+
return;
|
|
163
|
+
// Remove key from current position
|
|
164
|
+
const index = this.accessOrder.indexOf(key);
|
|
165
|
+
if (index > -1) {
|
|
166
|
+
this.accessOrder.splice(index, 1);
|
|
167
|
+
}
|
|
168
|
+
// Add to end (most recently used)
|
|
169
|
+
this.accessOrder.push(key);
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Remove key from access order tracking
|
|
173
|
+
*/
|
|
174
|
+
removeFromAccessOrder(key) {
|
|
175
|
+
const index = this.accessOrder.indexOf(key);
|
|
176
|
+
if (index > -1) {
|
|
177
|
+
this.accessOrder.splice(index, 1);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Enforce max size by evicting least recently used items
|
|
182
|
+
*/
|
|
183
|
+
async enforceMaxSize() {
|
|
184
|
+
if (!this.options.maxSize)
|
|
185
|
+
return;
|
|
186
|
+
// Count actual cache items (excluding internal metadata)
|
|
187
|
+
const cacheSize = this.getCacheSize();
|
|
188
|
+
while (cacheSize > this.options.maxSize && this.accessOrder.length > 0) {
|
|
189
|
+
// Evict least recently used (first in array)
|
|
190
|
+
const lruKey = this.accessOrder.shift();
|
|
191
|
+
if (lruKey) {
|
|
192
|
+
this.log("removing", lruKey);
|
|
193
|
+
reinforcements.unset(this.data, [lruKey]);
|
|
194
|
+
delete this.temporaryData[lruKey];
|
|
195
|
+
this.log("removed", lruKey);
|
|
196
|
+
// Could emit 'evicted' event if we add that type
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Get current cache size (number of cached items)
|
|
202
|
+
*/
|
|
203
|
+
getCacheSize() {
|
|
204
|
+
// Count top-level keys in data object
|
|
205
|
+
return Object.keys(this.data).length;
|
|
206
|
+
}
|
|
207
|
+
/**
|
|
208
|
+
* {@inheritdoc}
|
|
209
|
+
*/
|
|
210
|
+
async disconnect() {
|
|
211
|
+
// Clear the cleanup interval to prevent memory leaks
|
|
212
|
+
if (this.cleanupInterval) {
|
|
213
|
+
clearInterval(this.cleanupInterval);
|
|
214
|
+
this.cleanupInterval = undefined;
|
|
215
|
+
}
|
|
216
|
+
await super.disconnect();
|
|
217
|
+
}
|
|
110
218
|
}exports.MemoryCacheDriver=MemoryCacheDriver;//# sourceMappingURL=memory-cache-driver.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-cache-driver.js","sources":["../../src/drivers/memory-cache-driver.ts"],"sourcesContent":[null],"names":["BaseCacheDriver","unset","
|
|
1
|
+
{"version":3,"file":"memory-cache-driver.js","sources":["../../src/drivers/memory-cache-driver.ts"],"sourcesContent":[null],"names":["BaseCacheDriver","unset","get","set"],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type { CacheDriver, MemoryExtendedCacheOptions } from "../types";
|
|
1
|
+
import type { CacheDriver, CacheKey, MemoryExtendedCacheOptions } from "../types";
|
|
3
2
|
import { MemoryCacheDriver } from "./memory-cache-driver";
|
|
4
3
|
export declare class MemoryExtendedCacheDriver extends MemoryCacheDriver implements CacheDriver<MemoryExtendedCacheDriver, MemoryExtendedCacheOptions> {
|
|
5
4
|
/**
|
|
@@ -9,6 +8,6 @@ export declare class MemoryExtendedCacheDriver extends MemoryCacheDriver impleme
|
|
|
9
8
|
/**
|
|
10
9
|
* {@inheritdoc}
|
|
11
10
|
*/
|
|
12
|
-
get(key:
|
|
11
|
+
get(key: CacheKey): Promise<any>;
|
|
13
12
|
}
|
|
14
13
|
//# sourceMappingURL=memory-extended-cache-driver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-extended-cache-driver.d.ts","sourceRoot":"","sources":["../../src/drivers/memory-extended-cache-driver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"memory-extended-cache-driver.d.ts","sourceRoot":"","sources":["../../src/drivers/memory-extended-cache-driver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,WAAW,EACX,QAAQ,EACR,0BAA0B,EAC3B,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,qBAAa,yBACX,SAAQ,iBACR,YAAW,WAAW,CAAC,yBAAyB,EAAE,0BAA0B,CAAC;IAE7E;;OAEG;IACI,IAAI,SAAoB;IAE/B;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,QAAQ;CAsB/B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-extended-cache-driver.js","sources":["../../src/drivers/memory-extended-cache-driver.ts"],"sourcesContent":[null],"names":["MemoryCacheDriver","get"],"mappings":"wHASM,MAAO,yBACX,SAAQA,mCAAiB,CAAA;AAGzB;;AAEG;IACI,IAAI,GAAG,gBAAgB,CAAC;AAE/B;;AAEG;IACI,MAAM,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"memory-extended-cache-driver.js","sources":["../../src/drivers/memory-extended-cache-driver.ts"],"sourcesContent":[null],"names":["MemoryCacheDriver","get"],"mappings":"wHASM,MAAO,yBACX,SAAQA,mCAAiB,CAAA;AAGzB;;AAEG;IACI,IAAI,GAAG,gBAAgB,CAAC;AAE/B;;AAEG;IACI,MAAM,GAAG,CAAC,GAAa,EAAA;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAErC,QAAA,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAEhC,MAAM,KAAK,GAAcC,kBAAG,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAEnD,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AAChC,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;QAED,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;AAE1C,QAAA,IAAI,GAAG,EAAE;;YAEP,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YAC3C,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;AAC1C,SAAA;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;KAC/C;AACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { GenericObject } from "@mongez/reinforcements";
|
|
2
|
-
import type { CacheDriver, NullCacheDriverOptions } from "../types";
|
|
2
|
+
import type { CacheDriver, CacheKey, NullCacheDriverOptions } from "../types";
|
|
3
3
|
import { BaseCacheDriver } from "./base-cache-driver";
|
|
4
4
|
export declare class NullCacheDriver extends BaseCacheDriver<NullCacheDriver, NullCacheDriverOptions> implements CacheDriver<NullCacheDriver, NullCacheDriverOptions> {
|
|
5
5
|
/**
|
|
@@ -29,7 +29,7 @@ export declare class NullCacheDriver extends BaseCacheDriver<NullCacheDriver, Nu
|
|
|
29
29
|
/**
|
|
30
30
|
* {@inheritdoc}
|
|
31
31
|
*/
|
|
32
|
-
parseKey(_key:
|
|
32
|
+
parseKey(_key: CacheKey): string;
|
|
33
33
|
/**
|
|
34
34
|
* {@inheritdoc}
|
|
35
35
|
*/
|
|
@@ -37,15 +37,15 @@ export declare class NullCacheDriver extends BaseCacheDriver<NullCacheDriver, Nu
|
|
|
37
37
|
/**
|
|
38
38
|
* {@inheritdoc}
|
|
39
39
|
*/
|
|
40
|
-
set(key:
|
|
40
|
+
set(key: CacheKey, _value: any): Promise<this>;
|
|
41
41
|
/**
|
|
42
42
|
* {@inheritdoc}
|
|
43
43
|
*/
|
|
44
|
-
get(key:
|
|
44
|
+
get(key: CacheKey): Promise<any>;
|
|
45
45
|
/**
|
|
46
46
|
* {@inheritdoc}
|
|
47
47
|
*/
|
|
48
|
-
remove(key:
|
|
48
|
+
remove(key: CacheKey): Promise<void>;
|
|
49
49
|
/**
|
|
50
50
|
* {@inheritdoc}
|
|
51
51
|
*/
|
|
@@ -1 +1 @@
|
|
|
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,sBAAsB,EAAE,MAAM,UAAU,CAAC;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"null-cache-driver.js","sources":["../../src/drivers/null-cache-driver.ts"],"sourcesContent":[null],"names":["BaseCacheDriver","log"],"mappings":"wGAKM,MAAO,eACX,SAAQA,+BAAwD,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;
|
|
1
|
+
{"version":3,"file":"null-cache-driver.js","sources":["../../src/drivers/null-cache-driver.ts"],"sourcesContent":[null],"names":["BaseCacheDriver","log"],"mappings":"wGAKM,MAAO,eACX,SAAQA,+BAAwD,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;QAC5CC,UAAG,CAAC,IAAI,CAAC,OAAO,EAAE,oBAAoB,EAAE,SAAS,CAAC,CAAC;QAEnDA,UAAG,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;QACzCA,UAAG,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC;QAEtCA,UAAG,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;AAErC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;IACI,MAAM,GAAG,CAAC,GAAa,EAAA;QAC5BA,UAAG,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAEnCA,UAAG,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/BA,UAAG,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;QAEnCA,UAAG,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;KACtC;AAED;;AAEG;AACI,IAAA,MAAM,KAAK,GAAA;QAChBA,UAAG,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAErCA,UAAG,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;KACxC;AAED;;AAEG;AACI,IAAA,MAAM,OAAO,GAAA;QAClBA,UAAG,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,gCAAgC,CAAC,CAAC;KACrE;AACF"}
|