@commandkit/cache 1.2.0-rc.12 → 1.2.0-rc.13
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/{COPYING.md → LICENSE.md} +3 -3
- package/README.md +1 -1
- package/dist/cache-plugin.js +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -2
- package/dist/{memory-cache.d.ts → providers/memory-cache.d.ts} +1 -1
- package/dist/{memory-cache.js → providers/memory-cache.js} +2 -2
- package/dist/providers/redis.d.ts +74 -0
- package/dist/providers/redis.js +94 -0
- package/dist/use-cache.js +6 -25
- package/package.json +22 -7
|
@@ -639,8 +639,8 @@ attach them to the start of each source file to most effectively state
|
|
|
639
639
|
the exclusion of warranty; and each file should have at least the
|
|
640
640
|
"copyright" line and a pointer to where the full notice is found.
|
|
641
641
|
|
|
642
|
-
|
|
643
|
-
Copyright (C)
|
|
642
|
+
CommandKit is a discord.js metaframework
|
|
643
|
+
Copyright (C) 2026 Neplex
|
|
644
644
|
|
|
645
645
|
This program is free software: you can redistribute it and/or modify
|
|
646
646
|
it under the terms of the GNU General Public License as published by
|
|
@@ -661,7 +661,7 @@ mail.
|
|
|
661
661
|
If the program does terminal interaction, make it output a short
|
|
662
662
|
notice like this when it starts in an interactive mode:
|
|
663
663
|
|
|
664
|
-
|
|
664
|
+
CommandKit Copyright (C) 2026 Neplex
|
|
665
665
|
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
|
666
666
|
This is free software, and you are welcome to redistribute it
|
|
667
667
|
under certain conditions; type `show c' for details.
|
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ Next, you can define advanced configurations for the plugin if needed. For examp
|
|
|
24
24
|
|
|
25
25
|
```ts
|
|
26
26
|
import { setCacheProvider } from '@commandkit/cache';
|
|
27
|
-
import { RedisCache } from '@commandkit/redis';
|
|
27
|
+
import { RedisCache } from '@commandkit/cache/providers/redis';
|
|
28
28
|
|
|
29
29
|
setCacheProvider(new RedisCache({...}));
|
|
30
30
|
```
|
package/dist/cache-plugin.js
CHANGED
|
@@ -4,7 +4,7 @@ exports.CachePlugin = void 0;
|
|
|
4
4
|
exports.setCacheProvider = setCacheProvider;
|
|
5
5
|
exports.getCacheProvider = getCacheProvider;
|
|
6
6
|
const commandkit_1 = require("commandkit");
|
|
7
|
-
const memory_cache_1 = require("./memory-cache");
|
|
7
|
+
const memory_cache_1 = require("./providers/memory-cache");
|
|
8
8
|
let cacheProvider = null;
|
|
9
9
|
/**
|
|
10
10
|
* Sets the cache provider for CommandKit.
|
|
@@ -40,4 +40,4 @@ class CachePlugin extends commandkit_1.RuntimePlugin {
|
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
42
|
exports.CachePlugin = CachePlugin;
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FjaGUtcGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NhY2hlLXBsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFVQSw0Q0FFQztBQU9ELDRDQU1DO0FBekJELDJDQUFtRDtBQUVuRCwyREFBdUQ7QUFFdkQsSUFBSSxhQUFhLEdBQXlCLElBQUksQ0FBQztBQUUvQzs7O0dBR0c7QUFDSCxTQUFnQixnQkFBZ0IsQ0FBQyxRQUF1QjtJQUN0RCxhQUFhLEdBQUcsUUFBUSxDQUFDO0FBQzNCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsZ0JBQWdCO0lBQzlCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNuQixNQUFNLElBQUksS0FBSyxDQUFDLHlEQUF5RCxDQUFDLENBQUM7SUFDN0UsQ0FBQztJQUVELE9BQU8sYUFBYSxDQUFDO0FBQ3ZCLENBQUM7QUFFRCxNQUFhLFdBQVksU0FBUSwwQkFBYTtJQUE5Qzs7UUFDUyxTQUFJLEdBQUcsdUJBQXVCLENBQUM7SUFheEMsQ0FBQztJQVhRLEtBQUssQ0FBQyxRQUFRO1FBQ25CLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNuQixhQUFhLEdBQUcsSUFBSSwwQkFBVyxFQUFFLENBQUM7UUFDcEMsQ0FBQztRQUVELG1CQUFNLENBQUMsSUFBSSxDQUFDLDRDQUE0QyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVNLEtBQUssQ0FBQyxVQUFVO1FBQ3JCLGFBQWEsR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQztDQUNGO0FBZEQsa0NBY0MifQ==
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CommonDirectiveTransformerOptions, CommandKitPlugin } from 'commandkit';
|
|
2
2
|
export * from './cache-provider';
|
|
3
|
-
export * from './memory-cache';
|
|
3
|
+
export * from './providers/memory-cache';
|
|
4
4
|
export * from './use-cache';
|
|
5
5
|
export * from './use-cache-directive';
|
|
6
6
|
export * from './cache-plugin';
|
package/dist/index.js
CHANGED
|
@@ -18,7 +18,7 @@ exports.cache = cache;
|
|
|
18
18
|
const use_cache_directive_1 = require("./use-cache-directive");
|
|
19
19
|
const cache_plugin_1 = require("./cache-plugin");
|
|
20
20
|
__exportStar(require("./cache-provider"), exports);
|
|
21
|
-
__exportStar(require("./memory-cache"), exports);
|
|
21
|
+
__exportStar(require("./providers/memory-cache"), exports);
|
|
22
22
|
__exportStar(require("./use-cache"), exports);
|
|
23
23
|
__exportStar(require("./use-cache-directive"), exports);
|
|
24
24
|
__exportStar(require("./cache-plugin"), exports);
|
|
@@ -32,4 +32,4 @@ function cache(options) {
|
|
|
32
32
|
const runtime = new cache_plugin_1.CachePlugin(options?.runtime ?? {});
|
|
33
33
|
return [compiler, runtime];
|
|
34
34
|
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQWtCQSxzQkFVQztBQXhCRCwrREFBZ0U7QUFDaEUsaURBQTZDO0FBRTdDLG1EQUFpQztBQUNqQywyREFBeUM7QUFDekMsOENBQTRCO0FBQzVCLHdEQUFzQztBQUN0QyxpREFBK0I7QUFFL0I7Ozs7R0FJRztBQUNILFNBQWdCLEtBQUssQ0FDbkIsT0FHRTtJQUVGLE1BQU0sUUFBUSxHQUFHLElBQUksNkNBQXVCLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ2hFLE1BQU0sT0FBTyxHQUFHLElBQUksMEJBQVcsQ0FBQyxPQUFPLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRXhELE9BQU8sQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDN0IsQ0FBQyJ9
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CacheEntry, CacheProvider } from '
|
|
1
|
+
import { CacheEntry, CacheProvider } from '../cache-provider';
|
|
2
2
|
/**
|
|
3
3
|
* MemoryCache is an in-memory cache provider that implements the CacheProvider interface.
|
|
4
4
|
* It stores cache entries in a Map and supports basic operations like get, set, exists, delete, clear, and expire.
|
|
@@ -7,7 +7,7 @@ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (
|
|
|
7
7
|
var _MemoryCache_cache;
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.MemoryCache = void 0;
|
|
10
|
-
const cache_provider_1 = require("
|
|
10
|
+
const cache_provider_1 = require("../cache-provider");
|
|
11
11
|
/**
|
|
12
12
|
* MemoryCache is an in-memory cache provider that implements the CacheProvider interface.
|
|
13
13
|
* It stores cache entries in a Map and supports basic operations like get, set, exists, delete, clear, and expire.
|
|
@@ -88,4 +88,4 @@ class MemoryCache extends cache_provider_1.CacheProvider {
|
|
|
88
88
|
}
|
|
89
89
|
exports.MemoryCache = MemoryCache;
|
|
90
90
|
_MemoryCache_cache = new WeakMap();
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtb3J5LWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Byb3ZpZGVycy9tZW1vcnktY2FjaGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsc0RBQThEO0FBRTlEOzs7R0FHRztBQUNILE1BQWEsV0FBWSxTQUFRLDhCQUFhO0lBQTlDOztRQUNFLDZCQUFTLElBQUksR0FBRyxFQUFzQixFQUFDO0lBa0Z6QyxDQUFDO0lBaEZDOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsR0FBRyxDQUFJLEdBQVc7UUFDN0IsTUFBTSxLQUFLLEdBQUcsdUJBQUEsSUFBSSwwQkFBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVuQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDWCxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDeEMsdUJBQUEsSUFBSSwwQkFBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4QixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsT0FBTyxLQUFzQixDQUFDO0lBQ2hDLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyxHQUFHLENBQUksR0FBVyxFQUFFLEtBQVEsRUFBRSxHQUFZO1FBQ3JELE1BQU0sS0FBSyxHQUFrQjtZQUMzQixLQUFLO1lBQ0wsR0FBRyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDaEQsQ0FBQztRQUVGLHVCQUFBLElBQUksMEJBQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFXO1FBQzdCLE9BQU8sdUJBQUEsSUFBSSwwQkFBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFXO1FBQzdCLHVCQUFBLElBQUksMEJBQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVEOzs7T0FHRztJQUNJLEtBQUssQ0FBQyxLQUFLO1FBQ2hCLHVCQUFBLElBQUksMEJBQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBVyxFQUFFLEdBQVc7UUFDMUMsTUFBTSxLQUFLLEdBQUcsdUJBQUEsSUFBSSwwQkFBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUVuQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU87UUFFbkIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUU5QixnQ0FBZ0M7UUFDaEMsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDdEIsdUJBQUEsSUFBSSwwQkFBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN4QixPQUFPO1FBQ1QsQ0FBQztRQUVELEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQW5GRCxrQ0FtRkMifQ==
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Redis, type RedisOptions } from 'ioredis';
|
|
2
|
+
import { CacheProvider, CacheEntry } from '../cache-provider';
|
|
3
|
+
export type Awaitable<T> = T | Promise<T>;
|
|
4
|
+
export type SerializeFunction = (value: any) => Awaitable<string>;
|
|
5
|
+
export type DeserializeFunction = (value: string) => Awaitable<any>;
|
|
6
|
+
/**
|
|
7
|
+
* A cache provider that uses Redis as the cache store.
|
|
8
|
+
* @example const redisCache = new RedisCache();
|
|
9
|
+
* new CommandKit({
|
|
10
|
+
* ...
|
|
11
|
+
* cacheProvider: redisCache,
|
|
12
|
+
* });
|
|
13
|
+
*/
|
|
14
|
+
export declare class RedisCache extends CacheProvider {
|
|
15
|
+
redis: Redis;
|
|
16
|
+
/**
|
|
17
|
+
* Serialize function used to serialize values before storing them in the cache.
|
|
18
|
+
* By default, it uses `JSON.stringify`.
|
|
19
|
+
*/
|
|
20
|
+
serialize: SerializeFunction;
|
|
21
|
+
/**
|
|
22
|
+
* Deserialize function used to deserialize values before returning them from the cache.
|
|
23
|
+
* By default, it uses `JSON.parse`.
|
|
24
|
+
*/
|
|
25
|
+
deserialize: DeserializeFunction;
|
|
26
|
+
/**
|
|
27
|
+
* Create a new RedisCache instance.
|
|
28
|
+
*/
|
|
29
|
+
constructor();
|
|
30
|
+
/**
|
|
31
|
+
* Create a new RedisCache instance with the provided Redis client.
|
|
32
|
+
* @param redis The Redis client to use.
|
|
33
|
+
*/
|
|
34
|
+
constructor(redis: Redis);
|
|
35
|
+
/**
|
|
36
|
+
* Create a new RedisCache instance with the provided Redis options.
|
|
37
|
+
* @param redis The Redis client to use.
|
|
38
|
+
*/
|
|
39
|
+
constructor(redis: RedisOptions);
|
|
40
|
+
/**
|
|
41
|
+
* Retrieve a value from the cache.
|
|
42
|
+
* @param key The key to retrieve the value for.
|
|
43
|
+
* @returns The value stored in the cache, or `undefined` if it does not exist.
|
|
44
|
+
*/
|
|
45
|
+
get<T>(key: string): Promise<CacheEntry<T> | undefined>;
|
|
46
|
+
/**
|
|
47
|
+
* Store a value in the cache.
|
|
48
|
+
* @param key The key to store the value under.
|
|
49
|
+
* @param value The value to store in the cache.
|
|
50
|
+
* @param ttl The time-to-live for the cache entry in milliseconds.
|
|
51
|
+
*/
|
|
52
|
+
set<T>(key: string, value: T, ttl?: number): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Clear all entries from the cache.
|
|
55
|
+
*/
|
|
56
|
+
clear(): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Delete a value from the cache.
|
|
59
|
+
* @param key The key to delete the value for.
|
|
60
|
+
*/
|
|
61
|
+
delete(key: string): Promise<void>;
|
|
62
|
+
/**
|
|
63
|
+
* Check if a value exists in the cache.
|
|
64
|
+
* @param key The key to check for.
|
|
65
|
+
* @returns True if the key exists in the cache, false otherwise.
|
|
66
|
+
*/
|
|
67
|
+
exists(key: string): Promise<boolean>;
|
|
68
|
+
/**
|
|
69
|
+
* Set the time-to-live for a cache entry.
|
|
70
|
+
* @param key The key to set the time-to-live for.
|
|
71
|
+
* @param ttl The time-to-live value in milliseconds.
|
|
72
|
+
*/
|
|
73
|
+
expire(key: string, ttl: number): Promise<void>;
|
|
74
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RedisCache = void 0;
|
|
4
|
+
const ioredis_1 = require("ioredis");
|
|
5
|
+
const cache_provider_1 = require("../cache-provider");
|
|
6
|
+
/**
|
|
7
|
+
* A cache provider that uses Redis as the cache store.
|
|
8
|
+
* @example const redisCache = new RedisCache();
|
|
9
|
+
* new CommandKit({
|
|
10
|
+
* ...
|
|
11
|
+
* cacheProvider: redisCache,
|
|
12
|
+
* });
|
|
13
|
+
*/
|
|
14
|
+
class RedisCache extends cache_provider_1.CacheProvider {
|
|
15
|
+
constructor(redis) {
|
|
16
|
+
super();
|
|
17
|
+
if (redis instanceof ioredis_1.Redis) {
|
|
18
|
+
this.redis = redis;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
this.redis = new ioredis_1.Redis(redis ?? {});
|
|
22
|
+
}
|
|
23
|
+
this.serialize = JSON.stringify;
|
|
24
|
+
this.deserialize = JSON.parse;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Retrieve a value from the cache.
|
|
28
|
+
* @param key The key to retrieve the value for.
|
|
29
|
+
* @returns The value stored in the cache, or `undefined` if it does not exist.
|
|
30
|
+
*/
|
|
31
|
+
async get(key) {
|
|
32
|
+
const value = await this.redis.get(key);
|
|
33
|
+
if (value === null) {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
const entry = this.deserialize(value);
|
|
37
|
+
if (entry.ttl && Date.now() > entry.ttl) {
|
|
38
|
+
await this.delete(key);
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
return entry;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Store a value in the cache.
|
|
45
|
+
* @param key The key to store the value under.
|
|
46
|
+
* @param value The value to store in the cache.
|
|
47
|
+
* @param ttl The time-to-live for the cache entry in milliseconds.
|
|
48
|
+
*/
|
|
49
|
+
async set(key, value, ttl) {
|
|
50
|
+
const entry = {
|
|
51
|
+
value,
|
|
52
|
+
ttl: ttl != null ? Date.now() + ttl : undefined,
|
|
53
|
+
};
|
|
54
|
+
const serialized = this.serialize(entry);
|
|
55
|
+
const finalValue = serialized instanceof Promise ? await serialized : serialized;
|
|
56
|
+
if (typeof ttl === 'number') {
|
|
57
|
+
await this.redis.set(key, finalValue, 'PX', ttl);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
await this.redis.set(key, finalValue);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Clear all entries from the cache.
|
|
65
|
+
*/
|
|
66
|
+
async clear() {
|
|
67
|
+
await this.redis.flushall();
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Delete a value from the cache.
|
|
71
|
+
* @param key The key to delete the value for.
|
|
72
|
+
*/
|
|
73
|
+
async delete(key) {
|
|
74
|
+
await this.redis.del(key);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Check if a value exists in the cache.
|
|
78
|
+
* @param key The key to check for.
|
|
79
|
+
* @returns True if the key exists in the cache, false otherwise.
|
|
80
|
+
*/
|
|
81
|
+
async exists(key) {
|
|
82
|
+
return Boolean(await this.redis.exists(key));
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Set the time-to-live for a cache entry.
|
|
86
|
+
* @param key The key to set the time-to-live for.
|
|
87
|
+
* @param ttl The time-to-live value in milliseconds.
|
|
88
|
+
*/
|
|
89
|
+
async expire(key, ttl) {
|
|
90
|
+
await this.redis.pexpire(key, ttl);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.RedisCache = RedisCache;
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmlkZXJzL3JlZGlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFDQUFtRDtBQUNuRCxzREFBOEQ7QUFNOUQ7Ozs7Ozs7R0FPRztBQUNILE1BQWEsVUFBVyxTQUFRLDhCQUFhO0lBNkIzQyxZQUFtQixLQUE0QjtRQUM3QyxLQUFLLEVBQUUsQ0FBQztRQUVSLElBQUksS0FBSyxZQUFZLGVBQUssRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLGVBQUssQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUVELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsR0FBRyxDQUFJLEdBQVc7UUFDN0IsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUV4QyxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNuQixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQWtCLENBQUM7UUFDdkQsSUFBSSxLQUFLLENBQUMsR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDeEMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZCLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLEtBQUssQ0FBQyxHQUFHLENBQUksR0FBVyxFQUFFLEtBQVEsRUFBRSxHQUFZO1FBQ3JELE1BQU0sS0FBSyxHQUFrQjtZQUMzQixLQUFLO1lBQ0wsR0FBRyxFQUFFLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVM7U0FDaEQsQ0FBQztRQUVGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekMsTUFBTSxVQUFVLEdBQ2QsVUFBVSxZQUFZLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztRQUVoRSxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzVCLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDbkQsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksS0FBSyxDQUFDLEtBQUs7UUFDaEIsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQVc7UUFDN0IsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBVztRQUM3QixPQUFPLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQVcsRUFBRSxHQUFXO1FBQzFDLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7Q0FDRjtBQXRIRCxnQ0FzSEMifQ==
|
package/dist/use-cache.js
CHANGED
|
@@ -12,16 +12,12 @@ exports.cleanup = cleanup;
|
|
|
12
12
|
const node_async_hooks_1 = require("node:async_hooks");
|
|
13
13
|
const commandkit_1 = require("commandkit");
|
|
14
14
|
const analytics_1 = require("commandkit/analytics");
|
|
15
|
-
const node_crypto_1 = require("node:crypto");
|
|
16
15
|
const ms_1 = __importDefault(require("ms"));
|
|
17
16
|
const cache_plugin_1 = require("./cache-plugin");
|
|
18
17
|
const utils_1 = require("./utils");
|
|
19
18
|
const cacheContext = new node_async_hooks_1.AsyncLocalStorage();
|
|
20
19
|
const fnStore = new Map();
|
|
21
|
-
const CACHE_FN_ID = `__cache_fn_id_${Date.now()}__${Math.random()}__`;
|
|
22
20
|
const CACHED_FN_SYMBOL = Symbol('commandkit.cache.sentinel');
|
|
23
|
-
// WeakMap to store function metadata without preventing garbage collection
|
|
24
|
-
const fnMetadata = new WeakMap();
|
|
25
21
|
/**
|
|
26
22
|
* Internal cache implementation
|
|
27
23
|
* @internal
|
|
@@ -36,29 +32,16 @@ const fnMetadata = new WeakMap();
|
|
|
36
32
|
* }
|
|
37
33
|
* ```
|
|
38
34
|
*/
|
|
39
|
-
function useCache(fn
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
throw new Error('Illegal use of cache function.');
|
|
43
|
-
}
|
|
44
|
-
// Get or create function metadata
|
|
45
|
-
let metadata = fnMetadata.get(fn);
|
|
46
|
-
if (!metadata) {
|
|
47
|
-
metadata = (0, node_crypto_1.randomUUID)();
|
|
48
|
-
fnMetadata.set(fn, metadata);
|
|
49
|
-
}
|
|
35
|
+
function useCache(fn) {
|
|
36
|
+
// assign unique id to the function to avoid collisions with other functions
|
|
37
|
+
const metadata = crypto.randomUUID();
|
|
50
38
|
const memo = (async (...args) => {
|
|
51
39
|
const analytics = (0, commandkit_1.getCommandKit)()?.analytics;
|
|
52
40
|
const keyHash = (0, utils_1.createHash)(metadata, args);
|
|
53
|
-
const resolvedTTL = isLocal && params?.ttl != null
|
|
54
|
-
? typeof params.ttl === 'string'
|
|
55
|
-
? (0, ms_1.default)(params.ttl)
|
|
56
|
-
: params.ttl
|
|
57
|
-
: null;
|
|
58
41
|
return cacheContext.run({
|
|
59
42
|
params: {
|
|
60
|
-
ttl:
|
|
61
|
-
tags: new Set(
|
|
43
|
+
ttl: null,
|
|
44
|
+
tags: new Set(),
|
|
62
45
|
},
|
|
63
46
|
}, async () => {
|
|
64
47
|
const provider = (0, cache_plugin_1.getCacheProvider)();
|
|
@@ -96,8 +79,6 @@ function useCache(fn, id, params) {
|
|
|
96
79
|
key: keyHash,
|
|
97
80
|
hash: keyHash,
|
|
98
81
|
ttl: ttl ?? undefined,
|
|
99
|
-
original: fn,
|
|
100
|
-
memo,
|
|
101
82
|
tags: context.params.tags,
|
|
102
83
|
lastAccess: Date.now(),
|
|
103
84
|
});
|
|
@@ -229,4 +210,4 @@ if (!('$ckitiucw' in globalThis)) {
|
|
|
229
210
|
writable: false,
|
|
230
211
|
});
|
|
231
212
|
}
|
|
232
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
213
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlLWNhY2hlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3VzZS1jYWNoZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUErS0EsNEJBWUM7QUFjRCw4QkFZQztBQVVELHNDQWNDO0FBYUQsNENBRUM7QUFNRCwwQkFlQztBQWpSRCx1REFBcUQ7QUFDckQsMkNBS29CO0FBQ3BCLG9EQUF1RDtBQUN2RCw0Q0FBMEM7QUFDMUMsaURBQWtEO0FBQ2xELG1DQUFxQztBQUVyQyxNQUFNLFlBQVksR0FBRyxJQUFJLG9DQUFpQixFQUFnQixDQUFDO0FBQzNELE1BQU0sT0FBTyxHQUFHLElBQUksR0FBRyxFQVNwQixDQUFDO0FBQ0osTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsMkJBQTJCLENBQUMsQ0FBQztBQTBCN0Q7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILFNBQVMsUUFBUSxDQUE4QyxFQUFLO0lBQ2xFLDRFQUE0RTtJQUM1RSxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUM7SUFFckMsTUFBTSxJQUFJLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRTtRQUM5QixNQUFNLFNBQVMsR0FBRyxJQUFBLDBCQUFhLEdBQUUsRUFBRSxTQUFTLENBQUM7UUFDN0MsTUFBTSxPQUFPLEdBQUcsSUFBQSxrQkFBVSxFQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUUzQyxPQUFPLFlBQVksQ0FBQyxHQUFHLENBQ3JCO1lBQ0UsTUFBTSxFQUFFO2dCQUNOLEdBQUcsRUFBRSxJQUFJO2dCQUNULElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRTthQUNoQjtTQUNGLEVBQ0QsS0FBSyxJQUFJLEVBQUU7WUFDVCxNQUFNLFFBQVEsR0FBRyxJQUFBLCtCQUFnQixHQUFFLENBQUM7WUFDcEMsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBRXhDLElBQUksQ0FBQyxPQUFP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
|
package/package.json
CHANGED
|
@@ -1,15 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@commandkit/cache",
|
|
3
|
-
"version": "1.2.0-rc.
|
|
3
|
+
"version": "1.2.0-rc.13",
|
|
4
4
|
"description": "CommandKit plugin that provides caching apis",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"files": [
|
|
8
8
|
"dist"
|
|
9
9
|
],
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"types": "./dist/index.d.ts"
|
|
14
|
+
},
|
|
15
|
+
"./redis": {
|
|
16
|
+
"import": "./dist/providers/redis.js",
|
|
17
|
+
"types": "./dist/providers/redis.d.ts"
|
|
18
|
+
},
|
|
19
|
+
"./memory-cache": {
|
|
20
|
+
"import": "./dist/providers/memory-cache.js",
|
|
21
|
+
"types": "./dist/providers/memory-cache.d.ts"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
10
24
|
"repository": {
|
|
11
25
|
"type": "git",
|
|
12
|
-
"url": "git+https://github.com/
|
|
26
|
+
"url": "git+https://github.com/neplextech/commandkit.git"
|
|
13
27
|
},
|
|
14
28
|
"keywords": [
|
|
15
29
|
"commandkit",
|
|
@@ -24,14 +38,15 @@
|
|
|
24
38
|
],
|
|
25
39
|
"license": "GPL-3.0-only",
|
|
26
40
|
"bugs": {
|
|
27
|
-
"url": "https://github.com/
|
|
41
|
+
"url": "https://github.com/neplextech/commandkit/issues"
|
|
28
42
|
},
|
|
29
|
-
"homepage": "https://github.com/
|
|
43
|
+
"homepage": "https://github.com/neplextech/commandkit#readme",
|
|
30
44
|
"devDependencies": {
|
|
31
45
|
"@types/ms": "^2.0.0",
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
46
|
+
"ioredis": "^5.8.1",
|
|
47
|
+
"typescript": "^5.9.3",
|
|
48
|
+
"commandkit": "1.2.0-rc.13",
|
|
49
|
+
"tsconfig": "0.0.0-rc.13"
|
|
35
50
|
},
|
|
36
51
|
"dependencies": {
|
|
37
52
|
"ms": "^2.1.3",
|