@warlock.js/cache 3.0.19 → 3.0.22

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
package/esm/types.d.ts CHANGED
@@ -1,27 +1,125 @@
1
1
  import type { GenericObject } from "@mongez/reinforcements";
2
- import type { Model } from "@warlock.js/cascade";
3
2
  import type { RedisClientOptions } from "redis";
4
- import type { BaseCacheDriver, DatabaseCacheDriver, FileCacheDriver, LRUMemoryCacheDriver, MemoryCacheDriver, MemoryExtendedCacheDriver, NullCacheDriver, RedisCacheDriver } from "./drivers";
3
+ import type { BaseCacheDriver, FileCacheDriver, LRUMemoryCacheDriver, MemoryCacheDriver, MemoryExtendedCacheDriver, NullCacheDriver, RedisCacheDriver } from "./drivers";
4
+ /**
5
+ * Base error class for cache-related errors
6
+ */
7
+ export declare class CacheError extends Error {
8
+ constructor(message: string);
9
+ }
10
+ /**
11
+ * Error thrown when cache connection fails
12
+ */
13
+ export declare class CacheConnectionError extends CacheError {
14
+ constructor(message: string);
15
+ }
16
+ /**
17
+ * Error thrown when cache driver configuration is invalid
18
+ */
19
+ export declare class CacheConfigurationError extends CacheError {
20
+ constructor(message: string);
21
+ }
22
+ /**
23
+ * Error thrown when cache driver is not initialized
24
+ */
25
+ export declare class CacheDriverNotInitializedError extends CacheError {
26
+ constructor(message?: string);
27
+ }
28
+ /**
29
+ * Cache key type - can be a string or an object
30
+ */
31
+ export type CacheKey = string | GenericObject;
5
32
  export type CacheOperationType = "fetching" | "fetched" | "caching" | "cached" | "flushing" | "flushed" | "removing" | "removed" | "clearing" | "cleared" | "expired" | "notFound" | "connecting" | "error" | "connected" | "disconnecting" | "disconnected";
6
- export type MemoryCacheOptions = {
33
+ /**
34
+ * Cache event types for observability
35
+ */
36
+ export type CacheEventType = "hit" | "miss" | "set" | "removed" | "flushed" | "expired" | "connected" | "disconnected" | "error";
37
+ /**
38
+ * Cache event data structure
39
+ */
40
+ export type CacheEventData = {
7
41
  /**
8
- * The global prefix for the cache key
42
+ * The cache key involved in the event
9
43
  */
10
- globalPrefix?: string | (() => string);
44
+ key?: string;
11
45
  /**
12
- * The default TTL for the cache in seconds
13
- *
14
- * @default Infinity
46
+ * The value (for set/hit events)
47
+ */
48
+ value?: any;
49
+ /**
50
+ * TTL in seconds (for set events)
15
51
  */
16
52
  ttl?: number;
53
+ /**
54
+ * Driver name that emitted the event
55
+ */
56
+ driver: string;
57
+ /**
58
+ * Error object (for error events)
59
+ */
60
+ error?: any;
61
+ /**
62
+ * Namespace (for namespace operations)
63
+ */
64
+ namespace?: string;
17
65
  };
18
- export type DatabaseCacheOptions = {
66
+ /**
67
+ * Event handler function type
68
+ */
69
+ export type CacheEventHandler = (eventData: CacheEventData) => void | Promise<void>;
70
+ /**
71
+ * Tagged cache interface for working with cache tags
72
+ */
73
+ export interface TaggedCacheDriver {
19
74
  /**
20
- * Database model class
75
+ * Set a value in cache with tags
21
76
  */
22
- model: typeof Model;
77
+ set(key: CacheKey, value: any, ttl?: number): Promise<any>;
23
78
  /**
24
- * Global prefix for the cache key
79
+ * Get a value from cache (checks tags)
80
+ */
81
+ get(key: CacheKey): Promise<any | null>;
82
+ /**
83
+ * Remove a specific key
84
+ */
85
+ remove(key: CacheKey): Promise<void>;
86
+ /**
87
+ * Invalidate (clear) all keys associated with the current tags
88
+ */
89
+ invalidate(): Promise<void>;
90
+ /**
91
+ * Flush all keys associated with the current tags
92
+ * @deprecated Use invalidate() instead
93
+ */
94
+ flush(): Promise<void>;
95
+ /**
96
+ * Check if a key exists
97
+ */
98
+ has(key: CacheKey): Promise<boolean>;
99
+ /**
100
+ * Remember pattern with tags
101
+ */
102
+ remember(key: CacheKey, ttl: number, callback: () => Promise<any>): Promise<any>;
103
+ /**
104
+ * Pull value with tags
105
+ */
106
+ pull(key: CacheKey): Promise<any | null>;
107
+ /**
108
+ * Forever with tags
109
+ */
110
+ forever(key: CacheKey, value: any): Promise<any>;
111
+ /**
112
+ * Increment with tags
113
+ */
114
+ increment(key: CacheKey, value?: number): Promise<number>;
115
+ /**
116
+ * Decrement with tags
117
+ */
118
+ decrement(key: CacheKey, value?: number): Promise<number>;
119
+ }
120
+ export type MemoryCacheOptions = {
121
+ /**
122
+ * The global prefix for the cache key
25
123
  */
26
124
  globalPrefix?: string | (() => string);
27
125
  /**
@@ -30,6 +128,13 @@ export type DatabaseCacheOptions = {
30
128
  * @default Infinity
31
129
  */
32
130
  ttl?: number;
131
+ /**
132
+ * Maximum number of items in cache
133
+ * When exceeded, least recently used items will be evicted
134
+ *
135
+ * @default undefined (no limit)
136
+ */
137
+ maxSize?: number;
33
138
  };
34
139
  export type MemoryExtendedCacheOptions = MemoryCacheOptions;
35
140
  export type LRUMemoryCacheOptions = {
@@ -125,7 +230,7 @@ export interface CacheDriver<ClientType, Options> {
125
230
  /**
126
231
  * Parse the key to be used in the cache
127
232
  */
128
- parseKey(key: string | GenericObject): Promise<string>;
233
+ parseKey(key: CacheKey): string;
129
234
  /**
130
235
  * Set a value in the cache
131
236
  *
@@ -133,15 +238,15 @@ export interface CacheDriver<ClientType, Options> {
133
238
  * @param value The value to be stored in the cache
134
239
  * @param ttl The time to live in seconds
135
240
  */
136
- set(key: string | GenericObject, value: any, ttl?: number): Promise<any>;
241
+ set(key: CacheKey, value: any, ttl?: number): Promise<any>;
137
242
  /**
138
243
  * Get a value from the cache
139
244
  */
140
- get(key: string | GenericObject): Promise<any | null>;
245
+ get(key: CacheKey): Promise<any | null>;
141
246
  /**
142
247
  * Remove a value from the cache
143
248
  */
144
- remove(key: string | GenericObject): Promise<void>;
249
+ remove(key: CacheKey): Promise<void>;
145
250
  /**
146
251
  * Flush the entire cache
147
252
  */
@@ -158,6 +263,70 @@ export interface CacheDriver<ClientType, Options> {
158
263
  * Disconnect the cache driver
159
264
  */
160
265
  disconnect(): Promise<void>;
266
+ /**
267
+ * Check if a key exists in the cache without fetching its value
268
+ */
269
+ has(key: CacheKey): Promise<boolean>;
270
+ /**
271
+ * Get value from cache or execute callback and cache the result
272
+ *
273
+ * @param key The cache key
274
+ * @param ttl Time to live in seconds
275
+ * @param callback Function to execute if cache miss
276
+ */
277
+ remember(key: CacheKey, ttl: number, callback: () => Promise<any>): Promise<any>;
278
+ /**
279
+ * Get value and remove it from cache (atomic operation)
280
+ */
281
+ pull(key: CacheKey): Promise<any | null>;
282
+ /**
283
+ * Set a value in cache permanently (no expiration)
284
+ */
285
+ forever(key: CacheKey, value: any): Promise<any>;
286
+ /**
287
+ * Increment a numeric value in cache
288
+ *
289
+ * @param key The cache key
290
+ * @param value The value to increment by (default 1)
291
+ */
292
+ increment(key: CacheKey, value?: number): Promise<number>;
293
+ /**
294
+ * Decrement a numeric value in cache
295
+ *
296
+ * @param key The cache key
297
+ * @param value The value to decrement by (default 1)
298
+ */
299
+ decrement(key: CacheKey, value?: number): Promise<number>;
300
+ /**
301
+ * Get multiple values from cache at once
302
+ */
303
+ many(keys: CacheKey[]): Promise<any[]>;
304
+ /**
305
+ * Set multiple values in cache at once
306
+ */
307
+ setMany(items: Record<string, any>, ttl?: number): Promise<void>;
308
+ /**
309
+ * Register an event listener
310
+ */
311
+ on(event: CacheEventType, handler: CacheEventHandler): this;
312
+ /**
313
+ * Remove an event listener
314
+ */
315
+ off(event: CacheEventType, handler: CacheEventHandler): this;
316
+ /**
317
+ * Register a one-time event listener
318
+ */
319
+ once(event: CacheEventType, handler: CacheEventHandler): this;
320
+ /**
321
+ * Set if not exists (atomic operation)
322
+ * Returns true if key was set, false if key already existed
323
+ * Note: Not all drivers support this operation
324
+ */
325
+ setNX?(key: CacheKey, value: any, ttl?: number): Promise<boolean>;
326
+ /**
327
+ * Create a tagged cache instance for the given tags
328
+ */
329
+ tags(tags: string[]): TaggedCacheDriver;
161
330
  }
162
331
  export type CacheData = {
163
332
  /**
@@ -174,7 +343,7 @@ export type CacheData = {
174
343
  ttl?: number;
175
344
  };
176
345
  export type DriverClass = new () => CacheDriver<any, any>;
177
- type DefaultDrivers = "redis" | "file" | "memory" | "memoryExtended" | "null" | "lru" | "database";
346
+ type DefaultDrivers = "redis" | "file" | "memory" | "memoryExtended" | "null" | "lru";
178
347
  type MergeWithDefaultDrivers<T> = T extends undefined ? DefaultDrivers : DefaultDrivers | T;
179
348
  export type CacheConfigurations<T extends string | undefined = undefined, DriverName = MergeWithDefaultDrivers<T>> = {
180
349
  /**
@@ -191,7 +360,6 @@ export type CacheConfigurations<T extends string | undefined = undefined, Driver
191
360
  memory?: typeof MemoryCacheDriver;
192
361
  memoryExtended?: typeof MemoryExtendedCacheDriver;
193
362
  lru?: typeof LRUMemoryCacheDriver;
194
- database?: typeof DatabaseCacheDriver;
195
363
  } & {
196
364
  [key in Extract<T, string>]?: typeof BaseCacheDriver<any, any> | undefined;
197
365
  };
@@ -205,7 +373,6 @@ export type CacheConfigurations<T extends string | undefined = undefined, Driver
205
373
  memoryExtended?: MemoryExtendedCacheOptions;
206
374
  null?: NullCacheDriverOptions;
207
375
  lru?: LRUMemoryCacheOptions;
208
- database?: DatabaseCacheOptions;
209
376
  } & {
210
377
  [key in Extract<T, string>]?: GenericObject;
211
378
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/esm/types.js ADDED
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Base error class for cache-related errors
3
+ */
4
+ class CacheError extends Error {
5
+ constructor(message) {
6
+ super(message);
7
+ this.name = "CacheError";
8
+ }
9
+ }
10
+ /**
11
+ * Error thrown when cache connection fails
12
+ */
13
+ class CacheConnectionError extends CacheError {
14
+ constructor(message) {
15
+ super(message);
16
+ this.name = "CacheConnectionError";
17
+ }
18
+ }
19
+ /**
20
+ * Error thrown when cache driver configuration is invalid
21
+ */
22
+ class CacheConfigurationError extends CacheError {
23
+ constructor(message) {
24
+ super(message);
25
+ this.name = "CacheConfigurationError";
26
+ }
27
+ }
28
+ /**
29
+ * Error thrown when cache driver is not initialized
30
+ */
31
+ class CacheDriverNotInitializedError extends CacheError {
32
+ constructor(message = "No cache driver initialized. Call cache.init() or cache.use() first.") {
33
+ super(message);
34
+ this.name = "CacheDriverNotInitializedError";
35
+ }
36
+ }export{CacheConfigurationError,CacheConnectionError,CacheDriverNotInitializedError,CacheError};//# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":["../src/types.ts"],"sourcesContent":[null],"names":[],"mappings":"AAYA;;AAEG;AACG,MAAO,UAAW,SAAQ,KAAK,CAAA;AACnC,IAAA,WAAA,CAAmB,OAAe,EAAA;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;AACf,QAAA,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;KAC1B;AACF,CAAA;AAED;;AAEG;AACG,MAAO,oBAAqB,SAAQ,UAAU,CAAA;AAClD,IAAA,WAAA,CAAmB,OAAe,EAAA;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;AACf,QAAA,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;KACpC;AACF,CAAA;AAED;;AAEG;AACG,MAAO,uBAAwB,SAAQ,UAAU,CAAA;AACrD,IAAA,WAAA,CAAmB,OAAe,EAAA;QAChC,KAAK,CAAC,OAAO,CAAC,CAAC;AACf,QAAA,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;KACvC;AACF,CAAA;AAED;;AAEG;AACG,MAAO,8BAA+B,SAAQ,UAAU,CAAA;AAC5D,IAAA,WAAA,CACE,UAAkB,sEAAsE,EAAA;QAExF,KAAK,CAAC,OAAO,CAAC,CAAC;AACf,QAAA,IAAI,CAAC,IAAI,GAAG,gCAAgC,CAAC;KAC9C;AACF"}
package/esm/utils.d.ts CHANGED
@@ -1,11 +1,11 @@
1
- import type { GenericObject } from "@mongez/reinforcements";
1
+ import type { CacheKey } from "./types";
2
2
  /**
3
3
  * Make a proper key for the cache
4
4
  */
5
- export declare function parseCacheKey(key: string | GenericObject, options?: {
5
+ export declare function parseCacheKey(key: CacheKey, options?: {
6
6
  globalPrefix?: string | (() => string);
7
7
  }): string;
8
- export declare enum EXPIRES_AFTER {
8
+ export declare enum CACHE_FOR {
9
9
  HALF_HOUR = 1800,
10
10
  ONE_HOUR = 3600,
11
11
  HALF_DAY = 43200,
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG5D;;GAEG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,MAAM,GAAG,aAAa,EAC3B,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAA;CAAO,UAezD;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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAExC;;GAEG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,QAAQ,EACb,OAAO,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAA;CAAO,UAezD;AAED,oBAAY,SAAS;IACnB,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 CHANGED
@@ -12,16 +12,16 @@ function parseCacheKey(key, options = {}) {
12
12
  : options.globalPrefix;
13
13
  return String(cachePrefix ? rtrim(cachePrefix, ".") + "." + key : key);
14
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
15
+ var CACHE_FOR;
16
+ (function (CACHE_FOR) {
17
+ CACHE_FOR[CACHE_FOR["HALF_HOUR"] = 1800] = "HALF_HOUR";
18
+ CACHE_FOR[CACHE_FOR["ONE_HOUR"] = 3600] = "ONE_HOUR";
19
+ CACHE_FOR[CACHE_FOR["HALF_DAY"] = 43200] = "HALF_DAY";
20
+ CACHE_FOR[CACHE_FOR["ONE_DAY"] = 86400] = "ONE_DAY";
21
+ CACHE_FOR[CACHE_FOR["ONE_WEEK"] = 604800] = "ONE_WEEK";
22
+ CACHE_FOR[CACHE_FOR["HALF_MONTH"] = 1296000] = "HALF_MONTH";
23
+ CACHE_FOR[CACHE_FOR["ONE_MONTH"] = 2592000] = "ONE_MONTH";
24
+ CACHE_FOR[CACHE_FOR["TWO_MONTHS"] = 5184000] = "TWO_MONTHS";
25
+ CACHE_FOR[CACHE_FOR["SIX_MONTHS"] = 15768000] = "SIX_MONTHS";
26
+ CACHE_FOR[CACHE_FOR["ONE_YEAR"] = 31536000] = "ONE_YEAR";
27
+ })(CACHE_FOR || (CACHE_FOR = {}));export{CACHE_FOR,parseCacheKey};//# sourceMappingURL=utils.js.map
package/esm/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../src/utils.ts"],"sourcesContent":[null],"names":[],"mappings":"2CAGA;;AAEG;SACa,aAAa,CAC3B,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;;AAGD,IAAA,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAE5D,IAAA,MAAM,WAAW,GACf,OAAO,OAAO,CAAC,YAAY,KAAK,UAAU;AACxC,UAAE,OAAO,CAAC,YAAY,EAAE;AACxB,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"}
1
+ {"version":3,"file":"utils.js","sources":["../src/utils.ts"],"sourcesContent":[null],"names":[],"mappings":"2CAGA;;AAEG;SACa,aAAa,CAC3B,GAAa,EACb,UAAsD,EAAE,EAAA;AAExD,IAAA,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAC3B,QAAA,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC3B,KAAA;;AAGD,IAAA,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAE5D,IAAA,MAAM,WAAW,GACf,OAAO,OAAO,CAAC,YAAY,KAAK,UAAU;AACxC,UAAE,OAAO,CAAC,YAAY,EAAE;AACxB,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,UAWX;AAXD,CAAA,UAAY,SAAS,EAAA;AACnB,IAAA,SAAA,CAAA,SAAA,CAAA,WAAA,CAAA,GAAA,IAAA,CAAA,GAAA,WAAgB,CAAA;AAChB,IAAA,SAAA,CAAA,SAAA,CAAA,UAAA,CAAA,GAAA,IAAA,CAAA,GAAA,UAAe,CAAA;AACf,IAAA,SAAA,CAAA,SAAA,CAAA,UAAA,CAAA,GAAA,KAAA,CAAA,GAAA,UAAgB,CAAA;AAChB,IAAA,SAAA,CAAA,SAAA,CAAA,SAAA,CAAA,GAAA,KAAA,CAAA,GAAA,SAAe,CAAA;AACf,IAAA,SAAA,CAAA,SAAA,CAAA,UAAA,CAAA,GAAA,MAAA,CAAA,GAAA,UAAiB,CAAA;AACjB,IAAA,SAAA,CAAA,SAAA,CAAA,YAAA,CAAA,GAAA,OAAA,CAAA,GAAA,YAAoB,CAAA;AACpB,IAAA,SAAA,CAAA,SAAA,CAAA,WAAA,CAAA,GAAA,OAAA,CAAA,GAAA,WAAmB,CAAA;AACnB,IAAA,SAAA,CAAA,SAAA,CAAA,YAAA,CAAA,GAAA,OAAA,CAAA,GAAA,YAAoB,CAAA;AACpB,IAAA,SAAA,CAAA,SAAA,CAAA,YAAA,CAAA,GAAA,QAAA,CAAA,GAAA,YAAqB,CAAA;AACrB,IAAA,SAAA,CAAA,SAAA,CAAA,UAAA,CAAA,GAAA,QAAA,CAAA,GAAA,UAAmB,CAAA;AACrB,CAAC,EAXW,SAAS,KAAT,SAAS,GAWpB,EAAA,CAAA,CAAA"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@warlock.js/cache",
3
- "version": "3.0.19",
3
+ "version": "3.0.22",
4
4
  "description": "A Robust Cache Manager for Nodejs",
5
5
  "main": "./cjs/index.js",
6
6
  "dependencies": {
7
7
  "@mongez/fs": "^3.0.4",
8
8
  "redis": "^4.6.10",
9
- "@warlock.js/logger": "3.0.19",
9
+ "@warlock.js/logger": "3.0.22",
10
10
  "@mongez/reinforcements": "^2.3.9",
11
11
  "@mongez/supportive-is": "^2.0.3"
12
12
  },
@@ -1,39 +0,0 @@
1
- import type { GenericObject } from "@mongez/reinforcements";
2
- import type { Model } from "@warlock.js/cascade";
3
- import type { CacheDriver, DatabaseCacheOptions } from "../types";
4
- import { BaseCacheDriver } from "./base-cache-driver";
5
- export declare class DatabaseCacheDriver extends BaseCacheDriver<DatabaseCacheDriver, DatabaseCacheOptions> implements CacheDriver<DatabaseCacheDriver, DatabaseCacheOptions> {
6
- /**
7
- * {@inheritdoc}
8
- */
9
- name: string;
10
- /**
11
- * Database model class
12
- */
13
- model: typeof Model;
14
- /**
15
- * {@inheritdoc}
16
- */
17
- setOptions(options: DatabaseCacheOptions): this;
18
- /**
19
- * {@inheritdoc}
20
- */
21
- removeNamespace(namespace: string): Promise<this>;
22
- /**
23
- * {@inheritdoc}
24
- */
25
- set(key: string | GenericObject, value: any, ttl?: number): Promise<this>;
26
- /**
27
- * {@inheritdoc}
28
- */
29
- get(key: string | GenericObject): Promise<any>;
30
- /**
31
- * {@inheritdoc}
32
- */
33
- remove(key: string | GenericObject): Promise<void>;
34
- /**
35
- * {@inheritdoc}
36
- */
37
- flush(): Promise<void>;
38
- }
39
- //# sourceMappingURL=database-cache-driver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"database-cache-driver.d.ts","sourceRoot":"","sources":["../../src/drivers/database-cache-driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAa,WAAW,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,mBACX,SAAQ,eAAe,CAAC,mBAAmB,EAAE,oBAAoB,CACjE,YAAW,WAAW,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAEjE;;OAEG;IACI,IAAI,SAAc;IAEzB;;OAEG;IACI,KAAK,EAAG,OAAO,KAAK,CAAC;IAE5B;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,oBAAoB;IAc/C;;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;IAsBtE;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAmB5C;;OAEG;IACU,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAY/C;;OAEG;IACU,KAAK;CAUnB"}
@@ -1,92 +0,0 @@
1
- 'use strict';var baseCacheDriver=require('./base-cache-driver.js');class DatabaseCacheDriver extends baseCacheDriver.BaseCacheDriver {
2
- /**
3
- * {@inheritdoc}
4
- */
5
- name = "database";
6
- /**
7
- * Database model class
8
- */
9
- model;
10
- /**
11
- * {@inheritdoc}
12
- */
13
- setOptions(options) {
14
- super.setOptions(options);
15
- if (!options.model) {
16
- throw new Error("Model is required for database cache driver, please pass the model class to the options");
17
- }
18
- this.model = options.model;
19
- return this;
20
- }
21
- /**
22
- * {@inheritdoc}
23
- */
24
- async removeNamespace(namespace) {
25
- this.log("clearing", namespace);
26
- namespace = await this.parseKey(namespace);
27
- await this.model.delete({
28
- namespace,
29
- });
30
- this.log("cleared", namespace);
31
- return this;
32
- }
33
- /**
34
- * {@inheritdoc}
35
- */
36
- async set(key, value, ttl) {
37
- const parsedKey = await this.parseKey(key);
38
- this.log("caching", parsedKey);
39
- if (ttl === undefined) {
40
- ttl = this.ttl;
41
- }
42
- await this.model.create({
43
- key: parsedKey,
44
- namespace: parsedKey.split(".")[0],
45
- data: value,
46
- ttl,
47
- expiresAt: this.getExpiresAt(ttl) || null,
48
- });
49
- this.log("cached", parsedKey);
50
- return this;
51
- }
52
- /**
53
- * {@inheritdoc}
54
- */
55
- async get(key) {
56
- const parsedKey = await this.parseKey(key);
57
- this.log("fetching", parsedKey);
58
- const model = await this.model.first({
59
- key: parsedKey,
60
- });
61
- if (!model) {
62
- this.log("notFound", parsedKey);
63
- return null;
64
- }
65
- const data = model.only(["data", "expiresAt", "ttl"]);
66
- return this.parseCachedData(parsedKey, data);
67
- }
68
- /**
69
- * {@inheritdoc}
70
- */
71
- async remove(key) {
72
- const parsedKey = await this.parseKey(key);
73
- this.log("removing", parsedKey);
74
- await this.model.delete({
75
- key: parsedKey,
76
- });
77
- this.log("removed", parsedKey);
78
- }
79
- /**
80
- * {@inheritdoc}
81
- */
82
- async flush() {
83
- this.log("flushing");
84
- if (this.options.globalPrefix) {
85
- this.removeNamespace("");
86
- }
87
- else {
88
- await this.model.delete();
89
- }
90
- this.log("flushed");
91
- }
92
- }exports.DatabaseCacheDriver=DatabaseCacheDriver;//# sourceMappingURL=database-cache-driver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"database-cache-driver.js","sources":["../../src/drivers/database-cache-driver.ts"],"sourcesContent":[null],"names":["BaseCacheDriver"],"mappings":"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"}
@@ -1,39 +0,0 @@
1
- import type { GenericObject } from "@mongez/reinforcements";
2
- import type { Model } from "@warlock.js/cascade";
3
- import type { CacheDriver, DatabaseCacheOptions } from "../types";
4
- import { BaseCacheDriver } from "./base-cache-driver";
5
- export declare class DatabaseCacheDriver extends BaseCacheDriver<DatabaseCacheDriver, DatabaseCacheOptions> implements CacheDriver<DatabaseCacheDriver, DatabaseCacheOptions> {
6
- /**
7
- * {@inheritdoc}
8
- */
9
- name: string;
10
- /**
11
- * Database model class
12
- */
13
- model: typeof Model;
14
- /**
15
- * {@inheritdoc}
16
- */
17
- setOptions(options: DatabaseCacheOptions): this;
18
- /**
19
- * {@inheritdoc}
20
- */
21
- removeNamespace(namespace: string): Promise<this>;
22
- /**
23
- * {@inheritdoc}
24
- */
25
- set(key: string | GenericObject, value: any, ttl?: number): Promise<this>;
26
- /**
27
- * {@inheritdoc}
28
- */
29
- get(key: string | GenericObject): Promise<any>;
30
- /**
31
- * {@inheritdoc}
32
- */
33
- remove(key: string | GenericObject): Promise<void>;
34
- /**
35
- * {@inheritdoc}
36
- */
37
- flush(): Promise<void>;
38
- }
39
- //# sourceMappingURL=database-cache-driver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"database-cache-driver.d.ts","sourceRoot":"","sources":["../../src/drivers/database-cache-driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,KAAK,EAAa,WAAW,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,mBACX,SAAQ,eAAe,CAAC,mBAAmB,EAAE,oBAAoB,CACjE,YAAW,WAAW,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;IAEjE;;OAEG;IACI,IAAI,SAAc;IAEzB;;OAEG;IACI,KAAK,EAAG,OAAO,KAAK,CAAC;IAE5B;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,oBAAoB;IAc/C;;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;IAsBtE;;OAEG;IACU,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAmB5C;;OAEG;IACU,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa;IAY/C;;OAEG;IACU,KAAK;CAUnB"}