@tsed/platform-cache 6.103.0 → 6.103.3
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.
|
@@ -98,9 +98,9 @@ let PlatformCache = class PlatformCache {
|
|
|
98
98
|
// @ts-ignore
|
|
99
99
|
await ((_a = this.cache) === null || _a === void 0 ? void 0 : _a.reset());
|
|
100
100
|
}
|
|
101
|
-
async keys() {
|
|
101
|
+
async keys(...args) {
|
|
102
102
|
if (this.cache && "store" in this.cache && this.cache.store.keys) {
|
|
103
|
-
return this.cache.store.keys();
|
|
103
|
+
return this.cache.store.keys(...args);
|
|
104
104
|
}
|
|
105
105
|
// istanbul ignore next
|
|
106
106
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformCache.js","sourceRoot":"","sources":["../../../src/services/PlatformCache.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PlatformCache.js","sourceRoot":"","sources":["../../../src/services/PlatformCache.ts"],"names":[],"mappings":"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","sourcesContent":["import {isClass, isFunction} from \"@tsed/core\";\nimport {Configuration, Inject, InjectorService, Module} from \"@tsed/di\";\nimport {deserialize, JsonDeserializerOptions, serialize} from \"@tsed/json-mapper\";\nimport type {Cache, CachingConfig, MultiCache, TtlFunction} from \"cache-manager\";\nimport {PlatformCachedObject} from \"../interfaces/PlatformCachedObject\";\nimport {PlatformCacheSettings} from \"../interfaces/interfaces\";\nimport {Logger} from \"@tsed/logger\";\n\nconst defaultKeyResolver = (args: any[]) => {\n return args.map((arg: any) => (isClass(arg) ? JSON.stringify(serialize(arg)) : arg)).join(\":\");\n};\n\nexport type CacheManager = Cache | MultiCache;\n\n/**\n * @platform\n */\n@Module()\nexport class PlatformCache {\n @Configuration()\n protected settings: Configuration;\n\n @Inject()\n protected injector: InjectorService;\n\n @Inject()\n protected logger: Logger;\n\n #cache: CacheManager | undefined;\n\n get cache() {\n return this.#cache;\n }\n\n async $onInit() {\n const settings = this.settings.get<PlatformCacheSettings>(\"cache\");\n\n if (settings) {\n this.#cache = await this.createCacheManager(settings);\n\n await this.injector.emit(\"$onCreateCacheManager\", this.#cache);\n }\n }\n\n disabled(): boolean {\n return !this.settings.get<PlatformCacheSettings>(\"cache\");\n }\n\n defaultKeyResolver() {\n return this.settings.get<(args: any[], ctx?: any) => string>(\"cache.keyResolver\", defaultKeyResolver);\n }\n\n defaultTtl() {\n return this.settings.get<number | TtlFunction>(\"cache.ttl\");\n }\n\n calculateTTL(result?: any, currentTtl?: number | TtlFunction) {\n const ttl = currentTtl === undefined ? this.defaultTtl() : currentTtl;\n\n return isFunction(ttl) ? ttl(result) : ttl;\n }\n\n async ttl(key: string) {\n if (this.cache && \"store\" in this.cache && this.cache.store.ttl) {\n return this.cache.store.ttl(key);\n }\n }\n\n wrap<T>(key: string, fetch: () => Promise<T>, options?: CachingConfig): Promise<T> {\n if (!this.cache) {\n return fetch();\n }\n\n return this.cache?.wrap<T>(key, fetch, options as any);\n }\n\n async get<T>(key: string, options: JsonDeserializerOptions = {}): Promise<T | undefined> {\n return deserialize(this.cache?.get<T>(key), options);\n }\n\n async set<T>(key: string, value: any, options?: CachingConfig): Promise<T | undefined> {\n return this.cache?.set<T>(key, value, options);\n }\n\n async getCachedObject(key: string) {\n try {\n return await this.get<PlatformCachedObject>(key);\n } catch (er) {\n this.logger.error({\n event: \"CACHE_ERROR\",\n method: \"getCachedObject\",\n error: er\n });\n }\n }\n\n async setCachedObject(key: string, data: any, opts: {ttl: number} & Record<string, any>) {\n try {\n await this.set<PlatformCachedObject>(\n key,\n {\n ...opts,\n data: JSON.stringify(data)\n },\n {\n ttl: opts.ttl\n }\n );\n } catch (er) {\n this.logger.error({\n event: \"CACHE_ERROR\",\n method: \"setCachedObject\",\n error: er\n });\n }\n }\n\n async del(key: string): Promise<void> {\n await this.cache?.del(key);\n }\n\n async reset(): Promise<void> {\n // @ts-ignore\n await this.cache?.reset();\n }\n\n async keys(...args: any[]): Promise<string[]> {\n if (this.cache && \"store\" in this.cache && this.cache.store.keys) {\n return this.cache.store.keys(...args);\n }\n\n // istanbul ignore next\n return [];\n }\n\n async getMatchingKeys(patterns: string): Promise<string[]> {\n const [keys, {default: micromatch}] = await Promise.all([this.keys(), import(\"micromatch\")]);\n\n return micromatch(keys, patterns);\n }\n\n async deleteMatchingKeys(patterns: string): Promise<string[]> {\n const keys = await this.getMatchingKeys(patterns);\n\n await Promise.all(keys.map((key: string) => this.del(key)));\n\n return keys;\n }\n\n protected async createCacheManager(settings: PlatformCacheSettings) {\n const {caches, store = \"memory\", ttl, ...props} = settings;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {default: cacheManager} = await import(\"cache-manager\");\n\n return caches?.length\n ? cacheManager.multiCaching(caches, {...props})\n : cacheManager.caching({\n ...props,\n ttl,\n store: isFunction(store) ? await store() : store\n });\n }\n}\n"]}
|
|
@@ -95,9 +95,9 @@ let PlatformCache = class PlatformCache {
|
|
|
95
95
|
// @ts-ignore
|
|
96
96
|
await ((_a = this.cache) === null || _a === void 0 ? void 0 : _a.reset());
|
|
97
97
|
}
|
|
98
|
-
async keys() {
|
|
98
|
+
async keys(...args) {
|
|
99
99
|
if (this.cache && "store" in this.cache && this.cache.store.keys) {
|
|
100
|
-
return this.cache.store.keys();
|
|
100
|
+
return this.cache.store.keys(...args);
|
|
101
101
|
}
|
|
102
102
|
// istanbul ignore next
|
|
103
103
|
return [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformCache.js","sourceRoot":"","sources":["../../../src/services/PlatformCache.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"PlatformCache.js","sourceRoot":"","sources":["../../../src/services/PlatformCache.ts"],"names":[],"mappings":"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","sourcesContent":["import {isClass, isFunction} from \"@tsed/core\";\nimport {Configuration, Inject, InjectorService, Module} from \"@tsed/di\";\nimport {deserialize, JsonDeserializerOptions, serialize} from \"@tsed/json-mapper\";\nimport type {Cache, CachingConfig, MultiCache, TtlFunction} from \"cache-manager\";\nimport {PlatformCachedObject} from \"../interfaces/PlatformCachedObject\";\nimport {PlatformCacheSettings} from \"../interfaces/interfaces\";\nimport {Logger} from \"@tsed/logger\";\n\nconst defaultKeyResolver = (args: any[]) => {\n return args.map((arg: any) => (isClass(arg) ? JSON.stringify(serialize(arg)) : arg)).join(\":\");\n};\n\nexport type CacheManager = Cache | MultiCache;\n\n/**\n * @platform\n */\n@Module()\nexport class PlatformCache {\n @Configuration()\n protected settings: Configuration;\n\n @Inject()\n protected injector: InjectorService;\n\n @Inject()\n protected logger: Logger;\n\n #cache: CacheManager | undefined;\n\n get cache() {\n return this.#cache;\n }\n\n async $onInit() {\n const settings = this.settings.get<PlatformCacheSettings>(\"cache\");\n\n if (settings) {\n this.#cache = await this.createCacheManager(settings);\n\n await this.injector.emit(\"$onCreateCacheManager\", this.#cache);\n }\n }\n\n disabled(): boolean {\n return !this.settings.get<PlatformCacheSettings>(\"cache\");\n }\n\n defaultKeyResolver() {\n return this.settings.get<(args: any[], ctx?: any) => string>(\"cache.keyResolver\", defaultKeyResolver);\n }\n\n defaultTtl() {\n return this.settings.get<number | TtlFunction>(\"cache.ttl\");\n }\n\n calculateTTL(result?: any, currentTtl?: number | TtlFunction) {\n const ttl = currentTtl === undefined ? this.defaultTtl() : currentTtl;\n\n return isFunction(ttl) ? ttl(result) : ttl;\n }\n\n async ttl(key: string) {\n if (this.cache && \"store\" in this.cache && this.cache.store.ttl) {\n return this.cache.store.ttl(key);\n }\n }\n\n wrap<T>(key: string, fetch: () => Promise<T>, options?: CachingConfig): Promise<T> {\n if (!this.cache) {\n return fetch();\n }\n\n return this.cache?.wrap<T>(key, fetch, options as any);\n }\n\n async get<T>(key: string, options: JsonDeserializerOptions = {}): Promise<T | undefined> {\n return deserialize(this.cache?.get<T>(key), options);\n }\n\n async set<T>(key: string, value: any, options?: CachingConfig): Promise<T | undefined> {\n return this.cache?.set<T>(key, value, options);\n }\n\n async getCachedObject(key: string) {\n try {\n return await this.get<PlatformCachedObject>(key);\n } catch (er) {\n this.logger.error({\n event: \"CACHE_ERROR\",\n method: \"getCachedObject\",\n error: er\n });\n }\n }\n\n async setCachedObject(key: string, data: any, opts: {ttl: number} & Record<string, any>) {\n try {\n await this.set<PlatformCachedObject>(\n key,\n {\n ...opts,\n data: JSON.stringify(data)\n },\n {\n ttl: opts.ttl\n }\n );\n } catch (er) {\n this.logger.error({\n event: \"CACHE_ERROR\",\n method: \"setCachedObject\",\n error: er\n });\n }\n }\n\n async del(key: string): Promise<void> {\n await this.cache?.del(key);\n }\n\n async reset(): Promise<void> {\n // @ts-ignore\n await this.cache?.reset();\n }\n\n async keys(...args: any[]): Promise<string[]> {\n if (this.cache && \"store\" in this.cache && this.cache.store.keys) {\n return this.cache.store.keys(...args);\n }\n\n // istanbul ignore next\n return [];\n }\n\n async getMatchingKeys(patterns: string): Promise<string[]> {\n const [keys, {default: micromatch}] = await Promise.all([this.keys(), import(\"micromatch\")]);\n\n return micromatch(keys, patterns);\n }\n\n async deleteMatchingKeys(patterns: string): Promise<string[]> {\n const keys = await this.getMatchingKeys(patterns);\n\n await Promise.all(keys.map((key: string) => this.del(key)));\n\n return keys;\n }\n\n protected async createCacheManager(settings: PlatformCacheSettings) {\n const {caches, store = \"memory\", ttl, ...props} = settings;\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const {default: cacheManager} = await import(\"cache-manager\");\n\n return caches?.length\n ? cacheManager.multiCaching(caches, {...props})\n : cacheManager.caching({\n ...props,\n ttl,\n store: isFunction(store) ? await store() : store\n });\n }\n}\n"]}
|
|
@@ -29,7 +29,7 @@ export declare class PlatformCache {
|
|
|
29
29
|
} & Record<string, any>): Promise<void>;
|
|
30
30
|
del(key: string): Promise<void>;
|
|
31
31
|
reset(): Promise<void>;
|
|
32
|
-
keys(): Promise<string[]>;
|
|
32
|
+
keys(...args: any[]): Promise<string[]>;
|
|
33
33
|
getMatchingKeys(patterns: string): Promise<string[]>;
|
|
34
34
|
deleteMatchingKeys(patterns: string): Promise<string[]>;
|
|
35
35
|
protected createCacheManager(settings: PlatformCacheSettings): Promise<MultiCache>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tsed/platform-cache",
|
|
3
|
-
"version": "6.103.
|
|
3
|
+
"version": "6.103.3",
|
|
4
4
|
"description": "Platform cache module for Ts.ED Framework",
|
|
5
5
|
"private": false,
|
|
6
6
|
"source": "./src/index.ts",
|
|
@@ -27,18 +27,18 @@
|
|
|
27
27
|
"tslib": "2.2.0"
|
|
28
28
|
},
|
|
29
29
|
"devDependencies": {
|
|
30
|
-
"@tsed/core": "6.103.
|
|
31
|
-
"@tsed/di": "6.103.
|
|
32
|
-
"@tsed/json-mapper": "6.103.
|
|
33
|
-
"@tsed/schema": "6.103.
|
|
30
|
+
"@tsed/core": "6.103.3",
|
|
31
|
+
"@tsed/di": "6.103.3",
|
|
32
|
+
"@tsed/json-mapper": "6.103.3",
|
|
33
|
+
"@tsed/schema": "6.103.3",
|
|
34
34
|
"@types/cache-manager": "^3.4.2",
|
|
35
35
|
"@types/micromatch": "^4.0.1"
|
|
36
36
|
},
|
|
37
37
|
"peerDependencies": {
|
|
38
|
-
"@tsed/core": "^6.103.
|
|
39
|
-
"@tsed/di": "^6.103.
|
|
40
|
-
"@tsed/json-mapper": "^6.103.
|
|
41
|
-
"@tsed/schema": "^6.103.
|
|
38
|
+
"@tsed/core": "^6.103.3",
|
|
39
|
+
"@tsed/di": "^6.103.3",
|
|
40
|
+
"@tsed/json-mapper": "^6.103.3",
|
|
41
|
+
"@tsed/schema": "^6.103.3"
|
|
42
42
|
},
|
|
43
43
|
"repository": "https://github.com/tsedio/tsed",
|
|
44
44
|
"bugs": {
|