@xfe-repo/bff-cache 1.0.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/README.md +3 -0
- package/dist/cache-router.decorator.d.mts +3 -0
- package/dist/cache-router.decorator.d.ts +3 -0
- package/dist/cache-router.decorator.js +45 -0
- package/dist/cache-router.decorator.mjs +7 -0
- package/dist/cache-router.interceptor.d.mts +23 -0
- package/dist/cache-router.interceptor.d.ts +23 -0
- package/dist/cache-router.interceptor.js +372 -0
- package/dist/cache-router.interceptor.mjs +11 -0
- package/dist/cache-service.decorator.d.mts +7 -0
- package/dist/cache-service.decorator.d.ts +7 -0
- package/dist/cache-service.decorator.js +349 -0
- package/dist/cache-service.decorator.mjs +9 -0
- package/dist/cache.constants.d.mts +24 -0
- package/dist/cache.constants.d.ts +24 -0
- package/dist/cache.constants.js +66 -0
- package/dist/cache.constants.mjs +18 -0
- package/dist/cache.manager.service.d.mts +29 -0
- package/dist/cache.manager.service.d.ts +29 -0
- package/dist/cache.manager.service.js +298 -0
- package/dist/cache.manager.service.mjs +8 -0
- package/dist/cache.memory.service.d.mts +20 -0
- package/dist/cache.memory.service.d.ts +20 -0
- package/dist/cache.memory.service.js +144 -0
- package/dist/cache.memory.service.mjs +7 -0
- package/dist/cache.module.d.mts +15 -0
- package/dist/cache.module.d.ts +15 -0
- package/dist/cache.module.js +479 -0
- package/dist/cache.module.mjs +10 -0
- package/dist/chunk-4UPXDJBM.mjs +20 -0
- package/dist/chunk-6MEAHBZM.mjs +127 -0
- package/dist/chunk-DNWAJ23C.mjs +159 -0
- package/dist/chunk-FNYHTBRP.mjs +43 -0
- package/dist/chunk-IJR6EHQT.mjs +50 -0
- package/dist/chunk-JZT4EYON.mjs +107 -0
- package/dist/chunk-P44QFEDZ.mjs +83 -0
- package/dist/index.d.mts +11 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +551 -0
- package/dist/index.mjs +36 -0
- package/package.json +54 -0
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
22
|
+
|
|
23
|
+
// src/cache.manager.service.ts
|
|
24
|
+
var cache_manager_service_exports = {};
|
|
25
|
+
__export(cache_manager_service_exports, {
|
|
26
|
+
CacheManagerService: () => CacheManagerService
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(cache_manager_service_exports);
|
|
29
|
+
var import_bff_utils = require("@xfe-repo/bff-utils");
|
|
30
|
+
var import_common2 = require("@nestjs/common");
|
|
31
|
+
var import_microservices2 = require("@nestjs/microservices");
|
|
32
|
+
var import_cacheable = require("cacheable");
|
|
33
|
+
|
|
34
|
+
// src/cache.constants.ts
|
|
35
|
+
var CACHE_MANAGER = "CACHE_MANAGER";
|
|
36
|
+
var MEMORY_CACHE_SERVICE = "MEMORY_CACHE_SERVICE";
|
|
37
|
+
var REDIS_CLIENT_SERVICE = "REDIS_CLIENT_SERVICE";
|
|
38
|
+
var REDIS_PUB = {
|
|
39
|
+
/** Redis 发布订阅频道 */
|
|
40
|
+
CHANNEL: "CACHE_CHANNEL",
|
|
41
|
+
/** Redis 发布订阅事件 */
|
|
42
|
+
EVENTS: {
|
|
43
|
+
SET: "SET",
|
|
44
|
+
MSET: "MSET",
|
|
45
|
+
DEL: "DEL",
|
|
46
|
+
MDEL: "MDEL",
|
|
47
|
+
CLEAR: "CLEAR"
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
var CachePrefix = /* @__PURE__ */ function(CachePrefix2) {
|
|
51
|
+
CachePrefix2["User"] = "User";
|
|
52
|
+
CachePrefix2["QRCode"] = "QRCode";
|
|
53
|
+
CachePrefix2["Router"] = "Router";
|
|
54
|
+
CachePrefix2["Service"] = "Service";
|
|
55
|
+
CachePrefix2["UnionQuery"] = "UnionQuery";
|
|
56
|
+
return CachePrefix2;
|
|
57
|
+
}({});
|
|
58
|
+
|
|
59
|
+
// src/cache.memory.service.ts
|
|
60
|
+
var import_common = require("@nestjs/common");
|
|
61
|
+
var import_microservices = require("@nestjs/microservices");
|
|
62
|
+
var import_keyv = require("keyv");
|
|
63
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
64
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
65
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
66
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
67
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
68
|
+
}
|
|
69
|
+
__name(_ts_decorate, "_ts_decorate");
|
|
70
|
+
function _ts_metadata(k, v) {
|
|
71
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
72
|
+
}
|
|
73
|
+
__name(_ts_metadata, "_ts_metadata");
|
|
74
|
+
function _ts_param(paramIndex, decorator) {
|
|
75
|
+
return function(target, key) {
|
|
76
|
+
decorator(target, key, paramIndex);
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
__name(_ts_param, "_ts_param");
|
|
80
|
+
var _CacheMemoryService = class _CacheMemoryService extends import_keyv.Keyv {
|
|
81
|
+
constructor(keyvOptions) {
|
|
82
|
+
super(keyvOptions);
|
|
83
|
+
__publicField(this, "logger", new import_common.Logger(_CacheMemoryService.name));
|
|
84
|
+
}
|
|
85
|
+
setEventPattern(item) {
|
|
86
|
+
this.logger.log(`EventPattern set: ${item.key}`);
|
|
87
|
+
this.set(item.key, item.value, item.ttl);
|
|
88
|
+
}
|
|
89
|
+
msetEventPattern(list) {
|
|
90
|
+
this.logger.log(`EventPattern mset: ${list.map((item) => item.key).join(", ")}`);
|
|
91
|
+
this.setMany(list);
|
|
92
|
+
}
|
|
93
|
+
delEventPattern(key) {
|
|
94
|
+
this.logger.log(`EventPattern del: ${key}`);
|
|
95
|
+
return this.delete(key);
|
|
96
|
+
}
|
|
97
|
+
mdelEventPattern(keys) {
|
|
98
|
+
this.logger.log(`EventPattern mdel: ${keys.join(", ")}`);
|
|
99
|
+
return this.deleteMany(keys);
|
|
100
|
+
}
|
|
101
|
+
clearEventPattern() {
|
|
102
|
+
this.logger.log(`EventPattern clear`);
|
|
103
|
+
return this.clear();
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
__name(_CacheMemoryService, "CacheMemoryService");
|
|
107
|
+
var CacheMemoryService = _CacheMemoryService;
|
|
108
|
+
_ts_decorate([
|
|
109
|
+
(0, import_microservices.EventPattern)(REDIS_PUB.EVENTS.SET),
|
|
110
|
+
_ts_metadata("design:type", Function),
|
|
111
|
+
_ts_metadata("design:paramtypes", [
|
|
112
|
+
typeof SetOptions === "undefined" ? Object : SetOptions
|
|
113
|
+
]),
|
|
114
|
+
_ts_metadata("design:returntype", void 0)
|
|
115
|
+
], CacheMemoryService.prototype, "setEventPattern", null);
|
|
116
|
+
_ts_decorate([
|
|
117
|
+
(0, import_microservices.EventPattern)(REDIS_PUB.EVENTS.MSET),
|
|
118
|
+
_ts_metadata("design:type", Function),
|
|
119
|
+
_ts_metadata("design:paramtypes", [
|
|
120
|
+
typeof MSetOptions === "undefined" ? Object : MSetOptions
|
|
121
|
+
]),
|
|
122
|
+
_ts_metadata("design:returntype", void 0)
|
|
123
|
+
], CacheMemoryService.prototype, "msetEventPattern", null);
|
|
124
|
+
_ts_decorate([
|
|
125
|
+
(0, import_microservices.EventPattern)(REDIS_PUB.EVENTS.DEL),
|
|
126
|
+
_ts_metadata("design:type", Function),
|
|
127
|
+
_ts_metadata("design:paramtypes", [
|
|
128
|
+
String
|
|
129
|
+
]),
|
|
130
|
+
_ts_metadata("design:returntype", void 0)
|
|
131
|
+
], CacheMemoryService.prototype, "delEventPattern", null);
|
|
132
|
+
_ts_decorate([
|
|
133
|
+
(0, import_microservices.EventPattern)(REDIS_PUB.EVENTS.MDEL),
|
|
134
|
+
_ts_metadata("design:type", Function),
|
|
135
|
+
_ts_metadata("design:paramtypes", [
|
|
136
|
+
Array
|
|
137
|
+
]),
|
|
138
|
+
_ts_metadata("design:returntype", void 0)
|
|
139
|
+
], CacheMemoryService.prototype, "mdelEventPattern", null);
|
|
140
|
+
_ts_decorate([
|
|
141
|
+
(0, import_microservices.EventPattern)(REDIS_PUB.EVENTS.CLEAR),
|
|
142
|
+
_ts_metadata("design:type", Function),
|
|
143
|
+
_ts_metadata("design:paramtypes", []),
|
|
144
|
+
_ts_metadata("design:returntype", void 0)
|
|
145
|
+
], CacheMemoryService.prototype, "clearEventPattern", null);
|
|
146
|
+
CacheMemoryService = _ts_decorate([
|
|
147
|
+
(0, import_common.Injectable)(),
|
|
148
|
+
(0, import_common.Controller)(),
|
|
149
|
+
_ts_param(0, (0, import_common.Inject)(MEMORY_CACHE_SERVICE)),
|
|
150
|
+
_ts_metadata("design:type", Function),
|
|
151
|
+
_ts_metadata("design:paramtypes", [
|
|
152
|
+
typeof import_keyv.KeyvOptions === "undefined" ? Object : import_keyv.KeyvOptions
|
|
153
|
+
])
|
|
154
|
+
], CacheMemoryService);
|
|
155
|
+
|
|
156
|
+
// src/cache.manager.service.ts
|
|
157
|
+
function _ts_decorate2(decorators, target, key, desc) {
|
|
158
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
159
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
160
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
161
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
162
|
+
}
|
|
163
|
+
__name(_ts_decorate2, "_ts_decorate");
|
|
164
|
+
function _ts_metadata2(k, v) {
|
|
165
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
166
|
+
}
|
|
167
|
+
__name(_ts_metadata2, "_ts_metadata");
|
|
168
|
+
function _ts_param2(paramIndex, decorator) {
|
|
169
|
+
return function(target, key) {
|
|
170
|
+
decorator(target, key, paramIndex);
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
__name(_ts_param2, "_ts_param");
|
|
174
|
+
var _CacheManagerService = class _CacheManagerService {
|
|
175
|
+
constructor(redisPublisher, cacheRedis, cacheMemory) {
|
|
176
|
+
__publicField(this, "redisPublisher");
|
|
177
|
+
__publicField(this, "cacheRedis");
|
|
178
|
+
__publicField(this, "cacheMemory");
|
|
179
|
+
this.redisPublisher = redisPublisher;
|
|
180
|
+
this.cacheRedis = cacheRedis;
|
|
181
|
+
this.cacheMemory = cacheMemory;
|
|
182
|
+
}
|
|
183
|
+
getKey(prefix, key) {
|
|
184
|
+
return `${prefix}:${key}`;
|
|
185
|
+
}
|
|
186
|
+
getMKey(prefix, key) {
|
|
187
|
+
return key.map((_key) => this.getKey(prefix, _key));
|
|
188
|
+
}
|
|
189
|
+
async get(prefix, key) {
|
|
190
|
+
const keyWithPrefix = this.getKey(prefix, key);
|
|
191
|
+
const memoryResult = await this.cacheMemory.getRaw(keyWithPrefix);
|
|
192
|
+
if (memoryResult !== void 0) return memoryResult.value;
|
|
193
|
+
const redisResult = await this.cacheRedis.getRaw(keyWithPrefix);
|
|
194
|
+
if (redisResult !== void 0) {
|
|
195
|
+
this.redisPublisher.emit(REDIS_PUB.EVENTS.SET, {
|
|
196
|
+
key: this.getKey(prefix, key),
|
|
197
|
+
value: redisResult.value,
|
|
198
|
+
ttl: redisResult.expires
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
return redisResult?.value;
|
|
202
|
+
}
|
|
203
|
+
async mget(prefix, key) {
|
|
204
|
+
const keyWithPrefix = this.getMKey(prefix, key);
|
|
205
|
+
const memoryResult = await this.cacheMemory.getManyRaw(keyWithPrefix);
|
|
206
|
+
if (memoryResult.every((item) => item !== void 0)) {
|
|
207
|
+
return memoryResult.map((item) => item?.value);
|
|
208
|
+
}
|
|
209
|
+
const missingKeys = keyWithPrefix.filter((_, i) => memoryResult[i] === void 0);
|
|
210
|
+
const redisResult = await this.cacheRedis.getManyRaw(missingKeys);
|
|
211
|
+
const missingMemoryCaches = [];
|
|
212
|
+
for (const [i, key2] of keyWithPrefix.entries()) {
|
|
213
|
+
if (memoryResult[i] === void 0 && redisResult[i] !== void 0) {
|
|
214
|
+
memoryResult[i] = redisResult[i];
|
|
215
|
+
missingMemoryCaches.push({
|
|
216
|
+
key: key2,
|
|
217
|
+
value: redisResult[i].value,
|
|
218
|
+
ttl: redisResult[i].expires
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
if (missingMemoryCaches.length > 0) {
|
|
223
|
+
this.redisPublisher.emit(REDIS_PUB.EVENTS.MSET, missingMemoryCaches);
|
|
224
|
+
}
|
|
225
|
+
return memoryResult.map((item) => item?.value);
|
|
226
|
+
}
|
|
227
|
+
set(prefix, key, value, ttl) {
|
|
228
|
+
const keyWithPrefix = this.getKey(prefix, key);
|
|
229
|
+
this.redisPublisher.emit(REDIS_PUB.EVENTS.SET, {
|
|
230
|
+
key: keyWithPrefix,
|
|
231
|
+
value,
|
|
232
|
+
ttl
|
|
233
|
+
});
|
|
234
|
+
return this.cacheRedis.set(keyWithPrefix, value, ttl);
|
|
235
|
+
}
|
|
236
|
+
mset(prefix, list, ttl) {
|
|
237
|
+
const listItems = list.map((item) => ({
|
|
238
|
+
key: this.getKey(prefix, item.key),
|
|
239
|
+
value: item.value,
|
|
240
|
+
ttl
|
|
241
|
+
}));
|
|
242
|
+
this.redisPublisher.emit(REDIS_PUB.EVENTS.MSET, listItems);
|
|
243
|
+
return this.cacheRedis.setMany(listItems);
|
|
244
|
+
}
|
|
245
|
+
del(prefix, key) {
|
|
246
|
+
const keyWithPrefix = this.getKey(prefix, key);
|
|
247
|
+
this.redisPublisher.emit(REDIS_PUB.EVENTS.DEL, {
|
|
248
|
+
key: keyWithPrefix
|
|
249
|
+
});
|
|
250
|
+
return this.cacheRedis.delete(keyWithPrefix);
|
|
251
|
+
}
|
|
252
|
+
mdel(prefix, key) {
|
|
253
|
+
const keyWithPrefix = this.getMKey(prefix, key);
|
|
254
|
+
this.redisPublisher.emit(REDIS_PUB.EVENTS.MDEL, {
|
|
255
|
+
keys: keyWithPrefix
|
|
256
|
+
});
|
|
257
|
+
return this.cacheRedis.deleteMany(keyWithPrefix);
|
|
258
|
+
}
|
|
259
|
+
clear() {
|
|
260
|
+
this.redisPublisher.emit(REDIS_PUB.EVENTS.CLEAR, {});
|
|
261
|
+
return this.cacheRedis.clear();
|
|
262
|
+
}
|
|
263
|
+
};
|
|
264
|
+
__name(_CacheManagerService, "CacheManagerService");
|
|
265
|
+
var CacheManagerService = _CacheManagerService;
|
|
266
|
+
_ts_decorate2([
|
|
267
|
+
(0, import_bff_utils.timeIt)(),
|
|
268
|
+
_ts_metadata2("design:type", Function),
|
|
269
|
+
_ts_metadata2("design:paramtypes", [
|
|
270
|
+
typeof CachePrefix === "undefined" ? Object : CachePrefix,
|
|
271
|
+
String
|
|
272
|
+
]),
|
|
273
|
+
_ts_metadata2("design:returntype", Promise)
|
|
274
|
+
], CacheManagerService.prototype, "get", null);
|
|
275
|
+
_ts_decorate2([
|
|
276
|
+
(0, import_bff_utils.timeIt)(),
|
|
277
|
+
_ts_metadata2("design:type", Function),
|
|
278
|
+
_ts_metadata2("design:paramtypes", [
|
|
279
|
+
typeof CachePrefix === "undefined" ? Object : CachePrefix,
|
|
280
|
+
Array
|
|
281
|
+
]),
|
|
282
|
+
_ts_metadata2("design:returntype", Promise)
|
|
283
|
+
], CacheManagerService.prototype, "mget", null);
|
|
284
|
+
CacheManagerService = _ts_decorate2([
|
|
285
|
+
(0, import_common2.Injectable)(),
|
|
286
|
+
_ts_param2(0, (0, import_common2.Inject)(REDIS_CLIENT_SERVICE)),
|
|
287
|
+
_ts_param2(1, (0, import_common2.Inject)(CACHE_MANAGER)),
|
|
288
|
+
_ts_metadata2("design:type", Function),
|
|
289
|
+
_ts_metadata2("design:paramtypes", [
|
|
290
|
+
typeof import_microservices2.ClientProxy === "undefined" ? Object : import_microservices2.ClientProxy,
|
|
291
|
+
typeof import_cacheable.Cacheable === "undefined" ? Object : import_cacheable.Cacheable,
|
|
292
|
+
typeof CacheMemoryService === "undefined" ? Object : CacheMemoryService
|
|
293
|
+
])
|
|
294
|
+
], CacheManagerService);
|
|
295
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
296
|
+
0 && (module.exports = {
|
|
297
|
+
CacheManagerService
|
|
298
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Keyv, KeyvOptions } from 'keyv';
|
|
2
|
+
|
|
3
|
+
type Milliseconds = number;
|
|
4
|
+
type SetOptions<T> = {
|
|
5
|
+
key: string;
|
|
6
|
+
value: T;
|
|
7
|
+
ttl?: Milliseconds;
|
|
8
|
+
};
|
|
9
|
+
type MSetOptions<T> = SetOptions<T>[];
|
|
10
|
+
declare class CacheMemoryService extends Keyv {
|
|
11
|
+
private readonly logger;
|
|
12
|
+
constructor(keyvOptions: KeyvOptions);
|
|
13
|
+
protected setEventPattern<T>(item: SetOptions<T>): void;
|
|
14
|
+
protected msetEventPattern<T>(list: MSetOptions<T>): void;
|
|
15
|
+
protected delEventPattern(key: string): Promise<boolean>;
|
|
16
|
+
protected mdelEventPattern(keys: string[]): Promise<boolean>;
|
|
17
|
+
protected clearEventPattern(): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { CacheMemoryService, type MSetOptions };
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Keyv, KeyvOptions } from 'keyv';
|
|
2
|
+
|
|
3
|
+
type Milliseconds = number;
|
|
4
|
+
type SetOptions<T> = {
|
|
5
|
+
key: string;
|
|
6
|
+
value: T;
|
|
7
|
+
ttl?: Milliseconds;
|
|
8
|
+
};
|
|
9
|
+
type MSetOptions<T> = SetOptions<T>[];
|
|
10
|
+
declare class CacheMemoryService extends Keyv {
|
|
11
|
+
private readonly logger;
|
|
12
|
+
constructor(keyvOptions: KeyvOptions);
|
|
13
|
+
protected setEventPattern<T>(item: SetOptions<T>): void;
|
|
14
|
+
protected msetEventPattern<T>(list: MSetOptions<T>): void;
|
|
15
|
+
protected delEventPattern(key: string): Promise<boolean>;
|
|
16
|
+
protected mdelEventPattern(keys: string[]): Promise<boolean>;
|
|
17
|
+
protected clearEventPattern(): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export { CacheMemoryService, type MSetOptions };
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
7
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
21
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
22
|
+
|
|
23
|
+
// src/cache.memory.service.ts
|
|
24
|
+
var cache_memory_service_exports = {};
|
|
25
|
+
__export(cache_memory_service_exports, {
|
|
26
|
+
CacheMemoryService: () => CacheMemoryService
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(cache_memory_service_exports);
|
|
29
|
+
var import_common = require("@nestjs/common");
|
|
30
|
+
var import_microservices = require("@nestjs/microservices");
|
|
31
|
+
var import_keyv = require("keyv");
|
|
32
|
+
|
|
33
|
+
// src/cache.constants.ts
|
|
34
|
+
var MEMORY_CACHE_SERVICE = "MEMORY_CACHE_SERVICE";
|
|
35
|
+
var REDIS_PUB = {
|
|
36
|
+
/** Redis 发布订阅频道 */
|
|
37
|
+
CHANNEL: "CACHE_CHANNEL",
|
|
38
|
+
/** Redis 发布订阅事件 */
|
|
39
|
+
EVENTS: {
|
|
40
|
+
SET: "SET",
|
|
41
|
+
MSET: "MSET",
|
|
42
|
+
DEL: "DEL",
|
|
43
|
+
MDEL: "MDEL",
|
|
44
|
+
CLEAR: "CLEAR"
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
// src/cache.memory.service.ts
|
|
49
|
+
function _ts_decorate(decorators, target, key, desc) {
|
|
50
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
51
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
52
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
53
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
54
|
+
}
|
|
55
|
+
__name(_ts_decorate, "_ts_decorate");
|
|
56
|
+
function _ts_metadata(k, v) {
|
|
57
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
58
|
+
}
|
|
59
|
+
__name(_ts_metadata, "_ts_metadata");
|
|
60
|
+
function _ts_param(paramIndex, decorator) {
|
|
61
|
+
return function(target, key) {
|
|
62
|
+
decorator(target, key, paramIndex);
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
__name(_ts_param, "_ts_param");
|
|
66
|
+
var _CacheMemoryService = class _CacheMemoryService extends import_keyv.Keyv {
|
|
67
|
+
constructor(keyvOptions) {
|
|
68
|
+
super(keyvOptions);
|
|
69
|
+
__publicField(this, "logger", new import_common.Logger(_CacheMemoryService.name));
|
|
70
|
+
}
|
|
71
|
+
setEventPattern(item) {
|
|
72
|
+
this.logger.log(`EventPattern set: ${item.key}`);
|
|
73
|
+
this.set(item.key, item.value, item.ttl);
|
|
74
|
+
}
|
|
75
|
+
msetEventPattern(list) {
|
|
76
|
+
this.logger.log(`EventPattern mset: ${list.map((item) => item.key).join(", ")}`);
|
|
77
|
+
this.setMany(list);
|
|
78
|
+
}
|
|
79
|
+
delEventPattern(key) {
|
|
80
|
+
this.logger.log(`EventPattern del: ${key}`);
|
|
81
|
+
return this.delete(key);
|
|
82
|
+
}
|
|
83
|
+
mdelEventPattern(keys) {
|
|
84
|
+
this.logger.log(`EventPattern mdel: ${keys.join(", ")}`);
|
|
85
|
+
return this.deleteMany(keys);
|
|
86
|
+
}
|
|
87
|
+
clearEventPattern() {
|
|
88
|
+
this.logger.log(`EventPattern clear`);
|
|
89
|
+
return this.clear();
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
__name(_CacheMemoryService, "CacheMemoryService");
|
|
93
|
+
var CacheMemoryService = _CacheMemoryService;
|
|
94
|
+
_ts_decorate([
|
|
95
|
+
(0, import_microservices.EventPattern)(REDIS_PUB.EVENTS.SET),
|
|
96
|
+
_ts_metadata("design:type", Function),
|
|
97
|
+
_ts_metadata("design:paramtypes", [
|
|
98
|
+
typeof SetOptions === "undefined" ? Object : SetOptions
|
|
99
|
+
]),
|
|
100
|
+
_ts_metadata("design:returntype", void 0)
|
|
101
|
+
], CacheMemoryService.prototype, "setEventPattern", null);
|
|
102
|
+
_ts_decorate([
|
|
103
|
+
(0, import_microservices.EventPattern)(REDIS_PUB.EVENTS.MSET),
|
|
104
|
+
_ts_metadata("design:type", Function),
|
|
105
|
+
_ts_metadata("design:paramtypes", [
|
|
106
|
+
typeof MSetOptions === "undefined" ? Object : MSetOptions
|
|
107
|
+
]),
|
|
108
|
+
_ts_metadata("design:returntype", void 0)
|
|
109
|
+
], CacheMemoryService.prototype, "msetEventPattern", null);
|
|
110
|
+
_ts_decorate([
|
|
111
|
+
(0, import_microservices.EventPattern)(REDIS_PUB.EVENTS.DEL),
|
|
112
|
+
_ts_metadata("design:type", Function),
|
|
113
|
+
_ts_metadata("design:paramtypes", [
|
|
114
|
+
String
|
|
115
|
+
]),
|
|
116
|
+
_ts_metadata("design:returntype", void 0)
|
|
117
|
+
], CacheMemoryService.prototype, "delEventPattern", null);
|
|
118
|
+
_ts_decorate([
|
|
119
|
+
(0, import_microservices.EventPattern)(REDIS_PUB.EVENTS.MDEL),
|
|
120
|
+
_ts_metadata("design:type", Function),
|
|
121
|
+
_ts_metadata("design:paramtypes", [
|
|
122
|
+
Array
|
|
123
|
+
]),
|
|
124
|
+
_ts_metadata("design:returntype", void 0)
|
|
125
|
+
], CacheMemoryService.prototype, "mdelEventPattern", null);
|
|
126
|
+
_ts_decorate([
|
|
127
|
+
(0, import_microservices.EventPattern)(REDIS_PUB.EVENTS.CLEAR),
|
|
128
|
+
_ts_metadata("design:type", Function),
|
|
129
|
+
_ts_metadata("design:paramtypes", []),
|
|
130
|
+
_ts_metadata("design:returntype", void 0)
|
|
131
|
+
], CacheMemoryService.prototype, "clearEventPattern", null);
|
|
132
|
+
CacheMemoryService = _ts_decorate([
|
|
133
|
+
(0, import_common.Injectable)(),
|
|
134
|
+
(0, import_common.Controller)(),
|
|
135
|
+
_ts_param(0, (0, import_common.Inject)(MEMORY_CACHE_SERVICE)),
|
|
136
|
+
_ts_metadata("design:type", Function),
|
|
137
|
+
_ts_metadata("design:paramtypes", [
|
|
138
|
+
typeof import_keyv.KeyvOptions === "undefined" ? Object : import_keyv.KeyvOptions
|
|
139
|
+
])
|
|
140
|
+
], CacheMemoryService);
|
|
141
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
142
|
+
0 && (module.exports = {
|
|
143
|
+
CacheMemoryService
|
|
144
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EnvConfigService } from '@xfe-repo/bff-utils';
|
|
2
|
+
import { Type, OnModuleInit, DynamicModule } from '@nestjs/common';
|
|
3
|
+
|
|
4
|
+
interface CacheModuleOptions {
|
|
5
|
+
global?: boolean;
|
|
6
|
+
ttl?: number;
|
|
7
|
+
RedisEnvConfig: Type<EnvConfigService>;
|
|
8
|
+
}
|
|
9
|
+
declare class CacheModule implements OnModuleInit {
|
|
10
|
+
static redisEnvConfigFromForRoot: EnvConfigService;
|
|
11
|
+
static forRoot(options: CacheModuleOptions): DynamicModule;
|
|
12
|
+
onModuleInit(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { CacheModule, type CacheModuleOptions };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EnvConfigService } from '@xfe-repo/bff-utils';
|
|
2
|
+
import { Type, OnModuleInit, DynamicModule } from '@nestjs/common';
|
|
3
|
+
|
|
4
|
+
interface CacheModuleOptions {
|
|
5
|
+
global?: boolean;
|
|
6
|
+
ttl?: number;
|
|
7
|
+
RedisEnvConfig: Type<EnvConfigService>;
|
|
8
|
+
}
|
|
9
|
+
declare class CacheModule implements OnModuleInit {
|
|
10
|
+
static redisEnvConfigFromForRoot: EnvConfigService;
|
|
11
|
+
static forRoot(options: CacheModuleOptions): DynamicModule;
|
|
12
|
+
onModuleInit(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export { CacheModule, type CacheModuleOptions };
|