@tsed/platform-cache 7.35.0-beta.5 → 7.35.0
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/jest.config.js +1 -1
- package/lib/cjs/index.js +3 -0
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/interceptors/PlatformCacheInterceptor.js +18 -12
- package/lib/cjs/interceptors/PlatformCacheInterceptor.js.map +1 -1
- package/lib/cjs/services/PlatformCache.js +20 -6
- package/lib/cjs/services/PlatformCache.js.map +1 -1
- package/lib/cjs/utils/getInterceptorOptions.js +10 -0
- package/lib/cjs/utils/getInterceptorOptions.js.map +1 -0
- package/lib/cjs/utils/getPrefix.js +14 -0
- package/lib/cjs/utils/getPrefix.js.map +1 -0
- package/lib/cjs/utils/isEndpoint.js +10 -0
- package/lib/cjs/utils/isEndpoint.js.map +1 -0
- package/lib/esm/index.js +3 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/interceptors/PlatformCacheInterceptor.js +19 -13
- package/lib/esm/interceptors/PlatformCacheInterceptor.js.map +1 -1
- package/lib/esm/services/PlatformCache.js +20 -6
- package/lib/esm/services/PlatformCache.js.map +1 -1
- package/lib/esm/utils/getInterceptorOptions.js +6 -0
- package/lib/esm/utils/getInterceptorOptions.js.map +1 -0
- package/lib/esm/utils/getPrefix.js +10 -0
- package/lib/esm/utils/getPrefix.js.map +1 -0
- package/lib/esm/utils/isEndpoint.js +6 -0
- package/lib/esm/utils/isEndpoint.js.map +1 -0
- package/lib/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/index.d.ts +3 -0
- package/lib/types/interceptors/PlatformCacheInterceptor.d.ts +2 -1
- package/lib/types/interfaces/PlatformCacheOptions.d.ts +16 -0
- package/lib/types/services/PlatformCache.d.ts +9 -2
- package/lib/types/utils/getInterceptorOptions.d.ts +3 -0
- package/lib/types/utils/getPrefix.d.ts +2 -0
- package/lib/types/utils/isEndpoint.d.ts +2 -0
- package/package.json +12 -15
package/jest.config.js
CHANGED
package/lib/cjs/index.js
CHANGED
|
@@ -10,4 +10,7 @@ tslib_1.__exportStar(require("./interfaces/PlatformCacheOptions"), exports);
|
|
|
10
10
|
tslib_1.__exportStar(require("./interfaces/PlatformCachedObject"), exports);
|
|
11
11
|
tslib_1.__exportStar(require("./interfaces/interfaces"), exports);
|
|
12
12
|
tslib_1.__exportStar(require("./services/PlatformCache"), exports);
|
|
13
|
+
tslib_1.__exportStar(require("./utils/getInterceptorOptions"), exports);
|
|
14
|
+
tslib_1.__exportStar(require("./utils/getPrefix"), exports);
|
|
15
|
+
tslib_1.__exportStar(require("./utils/isEndpoint"), exports);
|
|
13
16
|
//# sourceMappingURL=index.js.map
|
package/lib/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,gEAAsC;AACtC,kFAAwD;AACxD,4EAAkD;AAClD,4EAAkD;AAClD,kEAAwC;AACxC,mEAAyC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,gEAAsC;AACtC,kFAAwD;AACxD,4EAAkD;AAClD,4EAAkD;AAClD,kEAAwC;AACxC,mEAAyC;AACzC,wEAA8C;AAC9C,4DAAkC;AAClC,6DAAmC"}
|
|
@@ -6,9 +6,10 @@ const core_1 = require("@tsed/core");
|
|
|
6
6
|
const di_1 = require("@tsed/di");
|
|
7
7
|
const json_mapper_1 = require("@tsed/json-mapper");
|
|
8
8
|
const logger_1 = require("@tsed/logger");
|
|
9
|
-
const schema_1 = require("@tsed/schema");
|
|
10
9
|
const http_1 = require("http");
|
|
11
10
|
const PlatformCache_1 = require("../services/PlatformCache");
|
|
11
|
+
const getPrefix_1 = require("../utils/getPrefix");
|
|
12
|
+
const isEndpoint_1 = require("../utils/isEndpoint");
|
|
12
13
|
const cleanHeaders = (headers) => {
|
|
13
14
|
return Object.entries(headers)
|
|
14
15
|
.filter(([key]) => !["content-length", "x-request-id", "cache-control"].includes(key))
|
|
@@ -29,7 +30,7 @@ let PlatformCacheInterceptor = class PlatformCacheInterceptor {
|
|
|
29
30
|
if (this.cache.disabled()) {
|
|
30
31
|
return next();
|
|
31
32
|
}
|
|
32
|
-
if (!
|
|
33
|
+
if (!(0, isEndpoint_1.isEndpoint)(context.target, context.propertyKey)) {
|
|
33
34
|
return this.cacheMethod(context, next);
|
|
34
35
|
}
|
|
35
36
|
return this.cacheResponse(context, next);
|
|
@@ -47,8 +48,7 @@ let PlatformCacheInterceptor = class PlatformCacheInterceptor {
|
|
|
47
48
|
}
|
|
48
49
|
}
|
|
49
50
|
async cacheMethod(context, next) {
|
|
50
|
-
const { type, ttl, collectionType, refreshThreshold, keyArgs, args, canCache } = this.getOptions(context);
|
|
51
|
-
const key = [(0, core_1.nameOf)(context.target), context.propertyKey, keyArgs].join(":");
|
|
51
|
+
const { key, type, ttl, collectionType, refreshThreshold, keyArgs, args, canCache } = this.getOptions(context);
|
|
52
52
|
const set = (result) => {
|
|
53
53
|
if (!canCache || (canCache && canCache(result))) {
|
|
54
54
|
const calculatedTTL = this.cache.calculateTTL(result, ttl);
|
|
@@ -80,13 +80,11 @@ let PlatformCacheInterceptor = class PlatformCacheInterceptor {
|
|
|
80
80
|
return (0, json_mapper_1.deserialize)(JSON.parse(data), { collectionType, type });
|
|
81
81
|
}
|
|
82
82
|
async cacheResponse(context, next) {
|
|
83
|
-
const
|
|
84
|
-
const { request, response } = $ctx;
|
|
83
|
+
const { request, response } = context.args[context.args.length - 1];
|
|
85
84
|
if (request.method !== "GET") {
|
|
86
85
|
return next();
|
|
87
86
|
}
|
|
88
|
-
const { ttl, args,
|
|
89
|
-
const key = [request.method, request.url, keyArgs].join(":");
|
|
87
|
+
const { key, ttl, args, $ctx } = this.getOptions(context);
|
|
90
88
|
const cachedObject = await this.cache.getCachedObject(key);
|
|
91
89
|
if (cachedObject && !(request.get("cache-control") === "no-cache")) {
|
|
92
90
|
return this.sendResponse(cachedObject, $ctx);
|
|
@@ -118,6 +116,7 @@ let PlatformCacheInterceptor = class PlatformCacheInterceptor {
|
|
|
118
116
|
}, []);
|
|
119
117
|
}
|
|
120
118
|
getOptions(context) {
|
|
119
|
+
const $ctx = context.args[context.args.length - 1];
|
|
121
120
|
const { ttl, type, collectionType, key: k = this.cache.defaultKeyResolver(), refreshThreshold } = context.options || {};
|
|
122
121
|
let { canCache } = context.options || {};
|
|
123
122
|
const args = this.getArgs(context);
|
|
@@ -125,10 +124,17 @@ let PlatformCacheInterceptor = class PlatformCacheInterceptor {
|
|
|
125
124
|
if (canCache && canCache === "no-nullish") {
|
|
126
125
|
canCache = (item) => ![null, undefined].includes(item);
|
|
127
126
|
}
|
|
128
|
-
return {
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
127
|
+
return {
|
|
128
|
+
key: [...(0, getPrefix_1.getPrefix)(context.target, context.propertyKey), keyArgs].join(":"),
|
|
129
|
+
refreshThreshold,
|
|
130
|
+
ttl,
|
|
131
|
+
type,
|
|
132
|
+
args,
|
|
133
|
+
collectionType,
|
|
134
|
+
keyArgs,
|
|
135
|
+
canCache,
|
|
136
|
+
$ctx
|
|
137
|
+
};
|
|
132
138
|
}
|
|
133
139
|
async hasKeyInQueue(key) {
|
|
134
140
|
return !!(await this.cache.get(`$$queue:${key}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformCacheInterceptor.js","sourceRoot":"","sources":["../../../src/interceptors/PlatformCacheInterceptor.ts"],"names":[],"mappings":";;;;AAAA,qCAA4D;AAC5D,iCAA8H;AAC9H,mDAAyD;AACzD,yCAAoC;
|
|
1
|
+
{"version":3,"file":"PlatformCacheInterceptor.js","sourceRoot":"","sources":["../../../src/interceptors/PlatformCacheInterceptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ const di_1 = require("@tsed/di");
|
|
|
7
7
|
const json_mapper_1 = require("@tsed/json-mapper");
|
|
8
8
|
const logger_1 = require("@tsed/logger");
|
|
9
9
|
const async_hooks_1 = require("async_hooks");
|
|
10
|
+
const getPrefix_1 = require("../utils/getPrefix");
|
|
10
11
|
const defaultKeyResolver = (args) => {
|
|
11
12
|
return args.map((arg) => ((0, core_1.isClass)(arg) ? JSON.stringify((0, json_mapper_1.serialize)(arg)) : arg)).join(":");
|
|
12
13
|
};
|
|
@@ -29,6 +30,10 @@ let PlatformCache = class PlatformCache {
|
|
|
29
30
|
await this.injector.emit("$onCreateCacheManager", this.#cache);
|
|
30
31
|
}
|
|
31
32
|
}
|
|
33
|
+
getKeysOf(target, propertyKey) {
|
|
34
|
+
const prefix = (0, getPrefix_1.getPrefix)(target, propertyKey);
|
|
35
|
+
return this.keys(`${prefix.join(":")}:*`);
|
|
36
|
+
}
|
|
32
37
|
disabled() {
|
|
33
38
|
return !this.settings.get("cache");
|
|
34
39
|
}
|
|
@@ -103,6 +108,15 @@ let PlatformCache = class PlatformCache {
|
|
|
103
108
|
}
|
|
104
109
|
return Promise.resolve([]);
|
|
105
110
|
}
|
|
111
|
+
async deleteKeys(patterns) {
|
|
112
|
+
const keys = await this.keys(patterns);
|
|
113
|
+
await Promise.all(keys.map((key) => this.del(key)));
|
|
114
|
+
return keys;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Use micromatch instead native patterns. Use this method if the native store method doesn't support glob patterns
|
|
118
|
+
* @param patterns
|
|
119
|
+
*/
|
|
106
120
|
async getMatchingKeys(patterns) {
|
|
107
121
|
const [keys, { default: micromatch }] = await Promise.all([this.keys(), Promise.resolve().then(() => tslib_1.__importStar(require("micromatch")))]);
|
|
108
122
|
return micromatch(keys, patterns);
|
|
@@ -112,6 +126,12 @@ let PlatformCache = class PlatformCache {
|
|
|
112
126
|
await Promise.all(keys.map((key) => this.del(key)));
|
|
113
127
|
return keys;
|
|
114
128
|
}
|
|
129
|
+
refresh(callback) {
|
|
130
|
+
return storage.run({ forceRefresh: true }, callback);
|
|
131
|
+
}
|
|
132
|
+
isForceRefresh() {
|
|
133
|
+
return !!storage.getStore()?.forceRefresh;
|
|
134
|
+
}
|
|
115
135
|
async createCacheManager(settings) {
|
|
116
136
|
const { caches, store = "memory", ttl, ...props } = settings;
|
|
117
137
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -129,12 +149,6 @@ let PlatformCache = class PlatformCache {
|
|
|
129
149
|
}
|
|
130
150
|
return store;
|
|
131
151
|
}
|
|
132
|
-
refresh(callback) {
|
|
133
|
-
return storage.run({ forceRefresh: true }, callback);
|
|
134
|
-
}
|
|
135
|
-
isForceRefresh() {
|
|
136
|
-
return !!storage.getStore()?.forceRefresh;
|
|
137
|
-
}
|
|
138
152
|
};
|
|
139
153
|
tslib_1.__decorate([
|
|
140
154
|
(0, di_1.Configuration)(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformCache.js","sourceRoot":"","sources":["../../../src/services/PlatformCache.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"PlatformCache.js","sourceRoot":"","sources":["../../../src/services/PlatformCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getInterceptorOptions = void 0;
|
|
4
|
+
const core_1 = require("@tsed/core");
|
|
5
|
+
const di_1 = require("@tsed/di");
|
|
6
|
+
function getInterceptorOptions(target, propertyKey) {
|
|
7
|
+
return core_1.Store.from(target).get(di_1.INJECTABLE_PROP)?.[propertyKey]?.options;
|
|
8
|
+
}
|
|
9
|
+
exports.getInterceptorOptions = getInterceptorOptions;
|
|
10
|
+
//# sourceMappingURL=getInterceptorOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getInterceptorOptions.js","sourceRoot":"","sources":["../../../src/utils/getInterceptorOptions.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,iCAAyC;AAGzC,SAAgB,qBAAqB,CAAC,MAAiB,EAAE,WAA4B;IACnF,OAAO,YAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,oBAAe,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AACzE,CAAC;AAFD,sDAEC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPrefix = void 0;
|
|
4
|
+
const core_1 = require("@tsed/core");
|
|
5
|
+
const getInterceptorOptions_1 = require("./getInterceptorOptions");
|
|
6
|
+
function getPrefix(target, propertyKey) {
|
|
7
|
+
const { prefix } = (0, getInterceptorOptions_1.getInterceptorOptions)(target, propertyKey);
|
|
8
|
+
if (prefix) {
|
|
9
|
+
return [prefix];
|
|
10
|
+
}
|
|
11
|
+
return [(0, core_1.nameOf)(target), propertyKey];
|
|
12
|
+
}
|
|
13
|
+
exports.getPrefix = getPrefix;
|
|
14
|
+
//# sourceMappingURL=getPrefix.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPrefix.js","sourceRoot":"","sources":["../../../src/utils/getPrefix.ts"],"names":[],"mappings":";;;AAAA,qCAAwC;AACxC,mEAA8D;AAE9D,SAAgB,SAAS,CAAC,MAAiB,EAAE,WAA4B;IACvE,MAAM,EAAC,MAAM,EAAC,GAAG,IAAA,6CAAqB,EAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC5D,IAAI,MAAM,EAAE;QACV,OAAO,CAAC,MAAM,CAAC,CAAC;KACjB;IAED,OAAO,CAAC,IAAA,aAAM,EAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;AACvC,CAAC;AAPD,8BAOC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isEndpoint = void 0;
|
|
4
|
+
const core_1 = require("@tsed/core");
|
|
5
|
+
const schema_1 = require("@tsed/schema");
|
|
6
|
+
function isEndpoint(target, propertyKey) {
|
|
7
|
+
return core_1.Store.fromMethod(target, propertyKey).has(schema_1.JsonEntityStore);
|
|
8
|
+
}
|
|
9
|
+
exports.isEndpoint = isEndpoint;
|
|
10
|
+
//# sourceMappingURL=isEndpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isEndpoint.js","sourceRoot":"","sources":["../../../src/utils/isEndpoint.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,yCAA6C;AAE7C,SAAgB,UAAU,CAAC,MAAiB,EAAE,WAA4B;IACxE,OAAO,YAAK,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,wBAAe,CAAC,CAAC;AACpE,CAAC;AAFD,gCAEC"}
|
package/lib/esm/index.js
CHANGED
|
@@ -7,4 +7,7 @@ export * from "./interfaces/PlatformCacheOptions.js";
|
|
|
7
7
|
export * from "./interfaces/PlatformCachedObject.js";
|
|
8
8
|
export * from "./interfaces/interfaces.js";
|
|
9
9
|
export * from "./services/PlatformCache.js";
|
|
10
|
+
export * from "./utils/getInterceptorOptions.js";
|
|
11
|
+
export * from "./utils/getPrefix.js";
|
|
12
|
+
export * from "./utils/isEndpoint.js";
|
|
10
13
|
//# sourceMappingURL=index.js.map
|
package/lib/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,uBAAuB,CAAC;AACtC,cAAc,yCAAyC,CAAC;AACxD,cAAc,mCAAmC,CAAC;AAClD,cAAc,mCAAmC,CAAC;AAClD,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { __decorate, __metadata } from "tslib";
|
|
2
|
-
import { isClass, isString, nameOf
|
|
2
|
+
import { isClass, isString, nameOf } from "@tsed/core";
|
|
3
3
|
import { DIContext, Inject, Interceptor } from "@tsed/di";
|
|
4
4
|
import { deserialize, serialize } from "@tsed/json-mapper";
|
|
5
5
|
import { Logger } from "@tsed/logger";
|
|
6
|
-
import { JsonEntityStore } from "@tsed/schema";
|
|
7
6
|
import { IncomingMessage, ServerResponse } from "http";
|
|
8
7
|
import { PlatformCache } from "../services/PlatformCache.js";
|
|
8
|
+
import { getPrefix } from "../utils/getPrefix.js";
|
|
9
|
+
import { isEndpoint } from "../utils/isEndpoint.js";
|
|
9
10
|
const cleanHeaders = (headers) => {
|
|
10
11
|
return Object.entries(headers)
|
|
11
12
|
.filter(([key]) => !["content-length", "x-request-id", "cache-control"].includes(key))
|
|
@@ -26,7 +27,7 @@ let PlatformCacheInterceptor = class PlatformCacheInterceptor {
|
|
|
26
27
|
if (this.cache.disabled()) {
|
|
27
28
|
return next();
|
|
28
29
|
}
|
|
29
|
-
if (!
|
|
30
|
+
if (!isEndpoint(context.target, context.propertyKey)) {
|
|
30
31
|
return this.cacheMethod(context, next);
|
|
31
32
|
}
|
|
32
33
|
return this.cacheResponse(context, next);
|
|
@@ -44,8 +45,7 @@ let PlatformCacheInterceptor = class PlatformCacheInterceptor {
|
|
|
44
45
|
}
|
|
45
46
|
}
|
|
46
47
|
async cacheMethod(context, next) {
|
|
47
|
-
const { type, ttl, collectionType, refreshThreshold, keyArgs, args, canCache } = this.getOptions(context);
|
|
48
|
-
const key = [nameOf(context.target), context.propertyKey, keyArgs].join(":");
|
|
48
|
+
const { key, type, ttl, collectionType, refreshThreshold, keyArgs, args, canCache } = this.getOptions(context);
|
|
49
49
|
const set = (result) => {
|
|
50
50
|
if (!canCache || (canCache && canCache(result))) {
|
|
51
51
|
const calculatedTTL = this.cache.calculateTTL(result, ttl);
|
|
@@ -77,13 +77,11 @@ let PlatformCacheInterceptor = class PlatformCacheInterceptor {
|
|
|
77
77
|
return deserialize(JSON.parse(data), { collectionType, type });
|
|
78
78
|
}
|
|
79
79
|
async cacheResponse(context, next) {
|
|
80
|
-
const
|
|
81
|
-
const { request, response } = $ctx;
|
|
80
|
+
const { request, response } = context.args[context.args.length - 1];
|
|
82
81
|
if (request.method !== "GET") {
|
|
83
82
|
return next();
|
|
84
83
|
}
|
|
85
|
-
const { ttl, args,
|
|
86
|
-
const key = [request.method, request.url, keyArgs].join(":");
|
|
84
|
+
const { key, ttl, args, $ctx } = this.getOptions(context);
|
|
87
85
|
const cachedObject = await this.cache.getCachedObject(key);
|
|
88
86
|
if (cachedObject && !(request.get("cache-control") === "no-cache")) {
|
|
89
87
|
return this.sendResponse(cachedObject, $ctx);
|
|
@@ -115,6 +113,7 @@ let PlatformCacheInterceptor = class PlatformCacheInterceptor {
|
|
|
115
113
|
}, []);
|
|
116
114
|
}
|
|
117
115
|
getOptions(context) {
|
|
116
|
+
const $ctx = context.args[context.args.length - 1];
|
|
118
117
|
const { ttl, type, collectionType, key: k = this.cache.defaultKeyResolver(), refreshThreshold } = context.options || {};
|
|
119
118
|
let { canCache } = context.options || {};
|
|
120
119
|
const args = this.getArgs(context);
|
|
@@ -122,10 +121,17 @@ let PlatformCacheInterceptor = class PlatformCacheInterceptor {
|
|
|
122
121
|
if (canCache && canCache === "no-nullish") {
|
|
123
122
|
canCache = (item) => ![null, undefined].includes(item);
|
|
124
123
|
}
|
|
125
|
-
return {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
124
|
+
return {
|
|
125
|
+
key: [...getPrefix(context.target, context.propertyKey), keyArgs].join(":"),
|
|
126
|
+
refreshThreshold,
|
|
127
|
+
ttl,
|
|
128
|
+
type,
|
|
129
|
+
args,
|
|
130
|
+
collectionType,
|
|
131
|
+
keyArgs,
|
|
132
|
+
canCache,
|
|
133
|
+
$ctx
|
|
134
|
+
};
|
|
129
135
|
}
|
|
130
136
|
async hasKeyInQueue(key) {
|
|
131
137
|
return !!(await this.cache.get(`$$queue:${key}`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformCacheInterceptor.js","sourceRoot":"","sources":["../../../src/interceptors/PlatformCacheInterceptor.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"PlatformCacheInterceptor.js","sourceRoot":"","sources":["../../../src/interceptors/PlatformCacheInterceptor.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { Configuration, Inject, InjectorService, Module } from "@tsed/di";
|
|
|
4
4
|
import { deserialize, serialize } from "@tsed/json-mapper";
|
|
5
5
|
import { Logger } from "@tsed/logger";
|
|
6
6
|
import { AsyncLocalStorage } from "async_hooks";
|
|
7
|
+
import { getPrefix } from "../utils/getPrefix.js";
|
|
7
8
|
const defaultKeyResolver = (args) => {
|
|
8
9
|
return args.map((arg) => (isClass(arg) ? JSON.stringify(serialize(arg)) : arg)).join(":");
|
|
9
10
|
};
|
|
@@ -26,6 +27,10 @@ let PlatformCache = class PlatformCache {
|
|
|
26
27
|
await this.injector.emit("$onCreateCacheManager", this.#cache);
|
|
27
28
|
}
|
|
28
29
|
}
|
|
30
|
+
getKeysOf(target, propertyKey) {
|
|
31
|
+
const prefix = getPrefix(target, propertyKey);
|
|
32
|
+
return this.keys(`${prefix.join(":")}:*`);
|
|
33
|
+
}
|
|
29
34
|
disabled() {
|
|
30
35
|
return !this.settings.get("cache");
|
|
31
36
|
}
|
|
@@ -100,6 +105,15 @@ let PlatformCache = class PlatformCache {
|
|
|
100
105
|
}
|
|
101
106
|
return Promise.resolve([]);
|
|
102
107
|
}
|
|
108
|
+
async deleteKeys(patterns) {
|
|
109
|
+
const keys = await this.keys(patterns);
|
|
110
|
+
await Promise.all(keys.map((key) => this.del(key)));
|
|
111
|
+
return keys;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Use micromatch instead native patterns. Use this method if the native store method doesn't support glob patterns
|
|
115
|
+
* @param patterns
|
|
116
|
+
*/
|
|
103
117
|
async getMatchingKeys(patterns) {
|
|
104
118
|
const [keys, { default: micromatch }] = await Promise.all([this.keys(), import("micromatch")]);
|
|
105
119
|
return micromatch(keys, patterns);
|
|
@@ -109,6 +123,12 @@ let PlatformCache = class PlatformCache {
|
|
|
109
123
|
await Promise.all(keys.map((key) => this.del(key)));
|
|
110
124
|
return keys;
|
|
111
125
|
}
|
|
126
|
+
refresh(callback) {
|
|
127
|
+
return storage.run({ forceRefresh: true }, callback);
|
|
128
|
+
}
|
|
129
|
+
isForceRefresh() {
|
|
130
|
+
return !!storage.getStore()?.forceRefresh;
|
|
131
|
+
}
|
|
112
132
|
async createCacheManager(settings) {
|
|
113
133
|
const { caches, store = "memory", ttl, ...props } = settings;
|
|
114
134
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
@@ -126,12 +146,6 @@ let PlatformCache = class PlatformCache {
|
|
|
126
146
|
}
|
|
127
147
|
return store;
|
|
128
148
|
}
|
|
129
|
-
refresh(callback) {
|
|
130
|
-
return storage.run({ forceRefresh: true }, callback);
|
|
131
|
-
}
|
|
132
|
-
isForceRefresh() {
|
|
133
|
-
return !!storage.getStore()?.forceRefresh;
|
|
134
|
-
}
|
|
135
149
|
};
|
|
136
150
|
__decorate([
|
|
137
151
|
Configuration(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlatformCache.js","sourceRoot":"","sources":["../../../src/services/PlatformCache.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"PlatformCache.js","sourceRoot":"","sources":["../../../src/services/PlatformCache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Store } from "@tsed/core";
|
|
2
|
+
import { INJECTABLE_PROP } from "@tsed/di";
|
|
3
|
+
export function getInterceptorOptions(target, propertyKey) {
|
|
4
|
+
return Store.from(target).get(INJECTABLE_PROP)?.[propertyKey]?.options;
|
|
5
|
+
}
|
|
6
|
+
//# sourceMappingURL=getInterceptorOptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getInterceptorOptions.js","sourceRoot":"","sources":["../../../src/utils/getInterceptorOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAO,MAAM,YAAY,CAAC;AACvC,OAAO,EAAC,eAAe,EAAC,MAAM,UAAU,CAAC;AAGzC,MAAM,UAAU,qBAAqB,CAAC,MAAiB,EAAE,WAA4B;IACnF,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;AACzE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { nameOf } from "@tsed/core";
|
|
2
|
+
import { getInterceptorOptions } from "./getInterceptorOptions.js";
|
|
3
|
+
export function getPrefix(target, propertyKey) {
|
|
4
|
+
const { prefix } = getInterceptorOptions(target, propertyKey);
|
|
5
|
+
if (prefix) {
|
|
6
|
+
return [prefix];
|
|
7
|
+
}
|
|
8
|
+
return [nameOf(target), propertyKey];
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=getPrefix.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPrefix.js","sourceRoot":"","sources":["../../../src/utils/getPrefix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAO,MAAM,YAAY,CAAC;AACxC,OAAO,EAAC,qBAAqB,EAAC,MAAM,yBAAyB,CAAC;AAE9D,MAAM,UAAU,SAAS,CAAC,MAAiB,EAAE,WAA4B;IACvE,MAAM,EAAC,MAAM,EAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC5D,IAAI,MAAM,EAAE;QACV,OAAO,CAAC,MAAM,CAAC,CAAC;KACjB;IAED,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isEndpoint.js","sourceRoot":"","sources":["../../../src/utils/isEndpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAO,MAAM,YAAY,CAAC;AACvC,OAAO,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAE7C,MAAM,UAAU,UAAU,CAAC,MAAiB,EAAE,WAA4B;IACxE,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AACpE,CAAC"}
|