@nestjs-redisx/cache 1.0.4 → 1.1.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/dist/cache/api/decorators/cached.decorator.d.ts.map +1 -1
- package/dist/cache/application/services/cache-decorator-initializer.service.d.ts.map +1 -1
- package/dist/cache/application/services/cache.service.d.ts.map +1 -1
- package/dist/cache/infrastructure/adapters/l2-redis-store.adapter.d.ts.map +1 -1
- package/dist/cache.plugin.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +65 -44
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +31 -11
- package/dist/index.mjs.map +1 -1
- package/dist/invalidation/application/services/event-invalidation.service.d.ts.map +1 -1
- package/dist/shared/constants/index.d.ts +5 -0
- package/dist/shared/constants/index.d.ts.map +1 -1
- package/dist/shared/types/index.d.ts +2 -0
- package/dist/shared/types/index.d.ts.map +1 -1
- package/dist/stampede/infrastructure/stampede-protection.service.d.ts.map +1 -1
- package/dist/tags/infrastructure/repositories/tag-index.repository.d.ts.map +1 -1
- package/dist/tags/infrastructure/services/lua-script-loader.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cached.decorator.d.ts","sourceRoot":"","sources":["../../../../src/cache/api/decorators/cached.decorator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"cached.decorator.d.ts","sourceRoot":"","sources":["../../../../src/cache/api/decorators/cached.decorator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache-decorator-initializer.service.d.ts","sourceRoot":"","sources":["../../../../src/cache/application/services/cache-decorator-initializer.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAc,YAAY,EAA4B,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,iEAAiE,CAAC;AAG5G,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBACa,gCAAiC,YAAW,YAAY;
|
|
1
|
+
{"version":3,"file":"cache-decorator-initializer.service.d.ts","sourceRoot":"","sources":["../../../../src/cache/application/services/cache-decorator-initializer.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAc,YAAY,EAA4B,MAAM,gBAAgB,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,yBAAyB,EAAE,MAAM,iEAAiE,CAAC;AAG5G,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,qBACa,gCAAiC,YAAW,YAAY;IAI9C,OAAO,CAAC,QAAQ,CAAC,SAAS;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY;IACtB,OAAO,CAAC,QAAQ,CAAC,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAC;IAN5F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqD;gBAGtC,SAAS,EAAE,SAAS,EAChB,YAAY,EAAE,aAAa,EACpB,aAAa,EAAE,mBAAmB,EAChB,wBAAwB,CAAC,EAAE,yBAAyB,YAAA;IAGvH;;;OAGG;IAEG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAkBpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.service.d.ts","sourceRoot":"","sources":["../../../../src/cache/application/services/cache.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"cache.service.d.ts","sourceRoot":"","sources":["../../../../src/cache/application/services/cache.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"l2-redis-store.adapter.d.ts","sourceRoot":"","sources":["../../../../src/cache/infrastructure/adapters/l2-redis-store.adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"l2-redis-store.adapter.d.ts","sourceRoot":"","sources":["../../../../src/cache/infrastructure/adapters/l2-redis-store.adapter.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAa,MAAM,qBAAqB,CAAC;AAI9D,OAAO,EAAE,mBAAmB,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,0CAA0C,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAKvE,qBACa,mBAAoB,YAAW,aAAa;IAOzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU;IARjD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,MAAM,CAAK;gBAG4B,MAAM,EAAE,YAAY,EAClB,OAAO,EAAE,mBAAmB,EACtC,UAAU,EAAE,UAAU;IAMvD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAmBlD,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYtE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUrC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBtB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWlC,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUjC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAUlD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,GAAE,MAA2B,GAAG,OAAO,CAAC,UAAU,CAAC;IAiB9E,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAyBhE,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBpG,OAAO,CAAC,QAAQ;YAIF,QAAQ;IAiBhB,QAAQ,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAOrD,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IAmBnD,MAAM,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAqBnE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.plugin.d.ts","sourceRoot":"","sources":["../src/cache.plugin.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,mBAAmB,
|
|
1
|
+
{"version":3,"file":"cache.plugin.d.ts","sourceRoot":"","sources":["../src/cache.plugin.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAEjF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAoE,MAAM,qBAAqB,CAAC;AAe3I,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAMrD,qBAAa,WAAY,YAAW,aAAa;IAOnC,OAAO,CAAC,QAAQ,CAAC,OAAO;IANpC,QAAQ,CAAC,IAAI,WAAW;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAW;IACnC,QAAQ,CAAC,WAAW,2EAA2E;IAE/F,OAAO,CAAC,YAAY,CAAC,CAA2C;gBAEnC,OAAO,GAAE,mBAAwB;IAE9D;;;;;;;;;;;;;;OAcG;IACH,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,GAAG,WAAW;IAMzF,OAAO,CAAC,MAAM,CAAC,aAAa;IAc5B,UAAU,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,aAAa,GAAG,gBAAgB,CAAC;IAIrE,YAAY,IAAI,QAAQ,EAAE;IAgH1B,UAAU,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;CAGhD"}
|
package/dist/index.d.ts
CHANGED
|
@@ -30,7 +30,7 @@ export { generateKey, generateKeys, getParameterNames, getNestedValue, evaluateT
|
|
|
30
30
|
export { CacheInterceptor as DeclarativeCacheInterceptor } from './decorators/cache.interceptor';
|
|
31
31
|
export type { ICachePluginOptions, IContextProvider, IWarmupKey, CacheSetOptions, CacheGetOrSetOptions, CacheStats, SwrEntry, StampedeResult, StampedeOptions, ScanResult, IInvalidationOptions, IInvalidationRuleProps } from './shared/types';
|
|
32
32
|
export { CacheError, CacheKeyError, SerializationError, LoaderError, StampedeError, TagInvalidationError } from './shared/errors';
|
|
33
|
-
export { CACHE_PLUGIN_OPTIONS, CACHE_SERVICE, L1_CACHE_STORE, L2_CACHE_STORE, STAMPEDE_PROTECTION, TAG_INDEX, SWR_MANAGER, SERIALIZER, LUA_SCRIPT_LOADER, INVALIDATION_REGISTRY, EVENT_INVALIDATION_SERVICE, AMQP_CONNECTION, CACHE_OPTIONS_KEY, INVALIDATE_TAGS_KEY, DEFAULT_CACHE_CONFIG } from './shared/constants';
|
|
33
|
+
export { CACHE_PLUGIN_OPTIONS, CACHE_REDIS_DRIVER, CACHE_SERVICE, L1_CACHE_STORE, L2_CACHE_STORE, STAMPEDE_PROTECTION, TAG_INDEX, SWR_MANAGER, SERIALIZER, LUA_SCRIPT_LOADER, INVALIDATION_REGISTRY, EVENT_INVALIDATION_SERVICE, AMQP_CONNECTION, CACHE_OPTIONS_KEY, INVALIDATE_TAGS_KEY, DEFAULT_CACHE_CONFIG } from './shared/constants';
|
|
34
34
|
export type { IEvictionStrategy } from './strategies';
|
|
35
35
|
export { LruStrategy, FifoStrategy, LfuStrategy } from './strategies';
|
|
36
36
|
export type { ISerializer } from './serializers';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,2BAA2B,EAAE,MAAM,mEAAmE,CAAC;AAChH,OAAO,EAAE,wBAAwB,EAAE,MAAM,gEAAgE,CAAC;AAG1G,YAAY,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAClF,YAAY,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AACnF,YAAY,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AACnF,YAAY,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AACjG,YAAY,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,YAAY,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAC;AAC5E,YAAY,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AAChI,YAAY,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,0DAA0D,CAAC;AAGpJ,OAAO,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,6CAA6C,CAAC;AACzE,OAAO,EAAE,GAAG,EAAE,MAAM,qCAAqC,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sDAAsD,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,qDAAqD,CAAC;AAGlF,OAAO,EAAE,gBAAgB,EAAE,MAAM,yDAAyD,CAAC;AAG3F,OAAO,EAAE,MAAM,EAAE,KAAK,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,KAAK,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC/G,OAAO,EAAE,YAAY,EAAE,KAAK,oBAAoB,EAAE,MAAM,kEAAkE,CAAC;AAC3H,OAAO,EAAE,SAAS,EAAE,KAAK,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,KAAK,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,KAAK,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAGzF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAGhJ;;;GAGG;AACH,OAAO,EAAE,gBAAgB,IAAI,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAGjG,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,UAAU,EAAE,eAAe,EAAE,oBAAoB,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,eAAe,EAAE,UAAU,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAGhP,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,WAAW,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAGlI,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,mBAAmB,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var core
|
|
3
|
+
var core = require('@nestjs/core');
|
|
4
|
+
var core$1 = require('@nestjs-redisx/core');
|
|
4
5
|
var common = require('@nestjs/common');
|
|
5
6
|
require('reflect-metadata');
|
|
6
|
-
var core = require('@nestjs-redisx/core');
|
|
7
7
|
var crypto = require('crypto');
|
|
8
8
|
var events = require('events');
|
|
9
9
|
var rxjs = require('rxjs');
|
|
@@ -26,7 +26,7 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
26
26
|
var __decorateParam = (index, decorator) => (target, key) => decorator(target, key, index);
|
|
27
27
|
|
|
28
28
|
// package.json
|
|
29
|
-
var version = "1.0
|
|
29
|
+
var version = "1.1.0";
|
|
30
30
|
|
|
31
31
|
// src/shared/constants/index.ts
|
|
32
32
|
var CACHE_PLUGIN_OPTIONS = /* @__PURE__ */ Symbol.for("CACHE_PLUGIN_OPTIONS");
|
|
@@ -42,6 +42,7 @@ var EVENT_INVALIDATION_SERVICE = /* @__PURE__ */ Symbol.for("EVENT_INVALIDATION_
|
|
|
42
42
|
var LUA_SCRIPT_LOADER = /* @__PURE__ */ Symbol.for("LUA_SCRIPT_LOADER");
|
|
43
43
|
var INVALIDATION_RULES_INIT = /* @__PURE__ */ Symbol.for("INVALIDATION_RULES_INIT");
|
|
44
44
|
var AMQP_CONNECTION = /* @__PURE__ */ Symbol.for("AMQP_CONNECTION");
|
|
45
|
+
var CACHE_REDIS_DRIVER = /* @__PURE__ */ Symbol.for("CACHE_REDIS_DRIVER");
|
|
45
46
|
var CACHE_OPTIONS_KEY = "cache:options";
|
|
46
47
|
var INVALIDATE_TAGS_KEY = "cache:invalidate:tags";
|
|
47
48
|
var DEFAULT_CACHE_CONFIG = {
|
|
@@ -210,13 +211,17 @@ function serializeArg(arg) {
|
|
|
210
211
|
}
|
|
211
212
|
if (typeof arg === "object") {
|
|
212
213
|
try {
|
|
213
|
-
|
|
214
|
+
const stable = stableStringify(arg);
|
|
215
|
+
return hashForKey(stable);
|
|
214
216
|
} catch {
|
|
215
217
|
return "object";
|
|
216
218
|
}
|
|
217
219
|
}
|
|
218
220
|
return "unknown";
|
|
219
221
|
}
|
|
222
|
+
function hashForKey(input) {
|
|
223
|
+
return crypto.createHash("sha256").update(input).digest("hex").slice(0, 16);
|
|
224
|
+
}
|
|
220
225
|
function stableStringify(value) {
|
|
221
226
|
if (value === null || value === void 0) {
|
|
222
227
|
return "null";
|
|
@@ -352,40 +357,41 @@ var CacheDecoratorInitializerService = class {
|
|
|
352
357
|
};
|
|
353
358
|
CacheDecoratorInitializerService = __decorateClass([
|
|
354
359
|
common.Injectable(),
|
|
360
|
+
__decorateParam(0, common.Inject(core.ModuleRef)),
|
|
355
361
|
__decorateParam(1, common.Inject(CACHE_SERVICE)),
|
|
356
362
|
__decorateParam(2, common.Inject(CACHE_PLUGIN_OPTIONS)),
|
|
357
363
|
__decorateParam(3, common.Optional()),
|
|
358
364
|
__decorateParam(3, common.Inject(EVENT_INVALIDATION_SERVICE))
|
|
359
365
|
], CacheDecoratorInitializerService);
|
|
360
|
-
var CacheError = class extends core.RedisXError {
|
|
361
|
-
constructor(message, code = core.ErrorCode.OPERATION_FAILED, cause) {
|
|
366
|
+
var CacheError = class extends core$1.RedisXError {
|
|
367
|
+
constructor(message, code = core$1.ErrorCode.OPERATION_FAILED, cause) {
|
|
362
368
|
super(message, code, cause);
|
|
363
369
|
this.name = "CacheError";
|
|
364
370
|
}
|
|
365
371
|
};
|
|
366
372
|
var CacheKeyError = class extends CacheError {
|
|
367
373
|
constructor(key, message) {
|
|
368
|
-
super(`Invalid cache key "${key}": ${message}`, core.ErrorCode.CACHE_KEY_INVALID);
|
|
374
|
+
super(`Invalid cache key "${key}": ${message}`, core$1.ErrorCode.CACHE_KEY_INVALID);
|
|
369
375
|
this.key = key;
|
|
370
376
|
this.name = "CacheKeyError";
|
|
371
377
|
}
|
|
372
378
|
};
|
|
373
379
|
var SerializationError = class extends CacheError {
|
|
374
380
|
constructor(message, cause) {
|
|
375
|
-
super(`Serialization error: ${message}`, core.ErrorCode.SERIALIZATION_FAILED, cause);
|
|
381
|
+
super(`Serialization error: ${message}`, core$1.ErrorCode.SERIALIZATION_FAILED, cause);
|
|
376
382
|
this.name = "SerializationError";
|
|
377
383
|
}
|
|
378
384
|
};
|
|
379
385
|
var LoaderError = class extends CacheError {
|
|
380
386
|
constructor(key, cause) {
|
|
381
|
-
super(`Loader failed for key "${key}": ${cause.message}`, core.ErrorCode.OPERATION_FAILED, cause);
|
|
387
|
+
super(`Loader failed for key "${key}": ${cause.message}`, core$1.ErrorCode.OPERATION_FAILED, cause);
|
|
382
388
|
this.key = key;
|
|
383
389
|
this.name = "LoaderError";
|
|
384
390
|
}
|
|
385
391
|
};
|
|
386
392
|
var StampedeError = class extends CacheError {
|
|
387
393
|
constructor(key, timeout) {
|
|
388
|
-
super(`Stampede protection timeout for key "${key}" after ${timeout}ms`, core.ErrorCode.OPERATION_TIMEOUT);
|
|
394
|
+
super(`Stampede protection timeout for key "${key}" after ${timeout}ms`, core$1.ErrorCode.OPERATION_TIMEOUT);
|
|
389
395
|
this.key = key;
|
|
390
396
|
this.timeout = timeout;
|
|
391
397
|
this.name = "StampedeError";
|
|
@@ -393,7 +399,7 @@ var StampedeError = class extends CacheError {
|
|
|
393
399
|
};
|
|
394
400
|
var TagInvalidationError = class extends CacheError {
|
|
395
401
|
constructor(tag, message, cause) {
|
|
396
|
-
super(`Tag invalidation failed for "${tag}": ${message}`, core.ErrorCode.OPERATION_FAILED, cause);
|
|
402
|
+
super(`Tag invalidation failed for "${tag}": ${message}`, core$1.ErrorCode.OPERATION_FAILED, cause);
|
|
397
403
|
this.tag = tag;
|
|
398
404
|
this.name = "TagInvalidationError";
|
|
399
405
|
}
|
|
@@ -571,20 +577,20 @@ var Tag = class _Tag {
|
|
|
571
577
|
*/
|
|
572
578
|
static create(value, maxLength = DEFAULT_MAX_LENGTH) {
|
|
573
579
|
if (!value || value.length === 0) {
|
|
574
|
-
throw new CacheError("Tag cannot be empty", core.ErrorCode.CACHE_KEY_INVALID);
|
|
580
|
+
throw new CacheError("Tag cannot be empty", core$1.ErrorCode.CACHE_KEY_INVALID);
|
|
575
581
|
}
|
|
576
582
|
const normalized = value.trim().toLowerCase();
|
|
577
583
|
if (normalized.length === 0) {
|
|
578
|
-
throw new CacheError("Tag cannot be empty after normalization", core.ErrorCode.CACHE_KEY_INVALID);
|
|
584
|
+
throw new CacheError("Tag cannot be empty after normalization", core$1.ErrorCode.CACHE_KEY_INVALID);
|
|
579
585
|
}
|
|
580
586
|
if (/\s/.test(normalized)) {
|
|
581
|
-
throw new CacheError("Tag cannot contain whitespace", core.ErrorCode.CACHE_KEY_INVALID);
|
|
587
|
+
throw new CacheError("Tag cannot contain whitespace", core$1.ErrorCode.CACHE_KEY_INVALID);
|
|
582
588
|
}
|
|
583
589
|
if (!/^[a-z0-9\-_:.]+$/.test(normalized)) {
|
|
584
|
-
throw new CacheError("Invalid tag characters. Only lowercase alphanumeric, hyphens, underscores, colons, and dots allowed", core.ErrorCode.CACHE_KEY_INVALID);
|
|
590
|
+
throw new CacheError("Invalid tag characters. Only lowercase alphanumeric, hyphens, underscores, colons, and dots allowed", core$1.ErrorCode.CACHE_KEY_INVALID);
|
|
585
591
|
}
|
|
586
592
|
if (normalized.length > maxLength) {
|
|
587
|
-
throw new CacheError(`Tag exceeds maximum length (${normalized.length} > ${maxLength})`, core.ErrorCode.CACHE_KEY_INVALID);
|
|
593
|
+
throw new CacheError(`Tag exceeds maximum length (${normalized.length} > ${maxLength})`, core$1.ErrorCode.CACHE_KEY_INVALID);
|
|
588
594
|
}
|
|
589
595
|
return new _Tag(normalized);
|
|
590
596
|
}
|
|
@@ -628,7 +634,7 @@ var Tags = class _Tags {
|
|
|
628
634
|
*/
|
|
629
635
|
static create(values, maxTags = DEFAULT_MAX_TAGS) {
|
|
630
636
|
if (values.length > maxTags) {
|
|
631
|
-
throw new CacheError(`Too many tags (${values.length} > ${maxTags})`, core.ErrorCode.CACHE_KEY_INVALID);
|
|
637
|
+
throw new CacheError(`Too many tags (${values.length} > ${maxTags})`, core$1.ErrorCode.CACHE_KEY_INVALID);
|
|
632
638
|
}
|
|
633
639
|
const tagObjects = values.map((v) => Tag.create(v));
|
|
634
640
|
const uniqueValues = Array.from(new Set(tagObjects.map((t) => t.toString())));
|
|
@@ -699,10 +705,10 @@ var TTL = class _TTL {
|
|
|
699
705
|
*/
|
|
700
706
|
static create(seconds, maxTtl = DEFAULT_MAX_TTL_SECONDS) {
|
|
701
707
|
if (seconds <= 0) {
|
|
702
|
-
throw new CacheError(`TTL must be positive (got ${seconds})`, core.ErrorCode.CACHE_KEY_INVALID);
|
|
708
|
+
throw new CacheError(`TTL must be positive (got ${seconds})`, core$1.ErrorCode.CACHE_KEY_INVALID);
|
|
703
709
|
}
|
|
704
710
|
if (seconds > maxTtl) {
|
|
705
|
-
throw new CacheError(`TTL exceeds maximum (${seconds} > ${maxTtl})`, core.ErrorCode.CACHE_KEY_INVALID);
|
|
711
|
+
throw new CacheError(`TTL exceeds maximum (${seconds} > ${maxTtl})`, core$1.ErrorCode.CACHE_KEY_INVALID);
|
|
706
712
|
}
|
|
707
713
|
const rounded = Math.round(seconds);
|
|
708
714
|
return new _TTL(rounded);
|
|
@@ -880,7 +886,7 @@ var CacheService = class {
|
|
|
880
886
|
if (error instanceof CacheKeyError || error instanceof CacheError) {
|
|
881
887
|
throw error;
|
|
882
888
|
}
|
|
883
|
-
throw new CacheError(`Failed to set cache for key "${key}": ${error.message}`, core.ErrorCode.CACHE_SET_FAILED, error);
|
|
889
|
+
throw new CacheError(`Failed to set cache for key "${key}": ${error.message}`, core$1.ErrorCode.CACHE_SET_FAILED, error);
|
|
884
890
|
} finally {
|
|
885
891
|
span?.end();
|
|
886
892
|
}
|
|
@@ -985,7 +991,7 @@ var CacheService = class {
|
|
|
985
991
|
if (error instanceof CacheKeyError) {
|
|
986
992
|
throw error;
|
|
987
993
|
}
|
|
988
|
-
throw new CacheError(`Failed to delete cache for key "${key}": ${error.message}`, core.ErrorCode.CACHE_DELETE_FAILED, error);
|
|
994
|
+
throw new CacheError(`Failed to delete cache for key "${key}": ${error.message}`, core$1.ErrorCode.CACHE_DELETE_FAILED, error);
|
|
989
995
|
}
|
|
990
996
|
}
|
|
991
997
|
async deleteMany(keys) {
|
|
@@ -1033,7 +1039,7 @@ var CacheService = class {
|
|
|
1033
1039
|
}
|
|
1034
1040
|
return deleted.filter(Boolean).length;
|
|
1035
1041
|
} catch (error) {
|
|
1036
|
-
throw new CacheError(`Failed to delete multiple keys: ${error.message}`, core.ErrorCode.CACHE_DELETE_FAILED, error);
|
|
1042
|
+
throw new CacheError(`Failed to delete multiple keys: ${error.message}`, core$1.ErrorCode.CACHE_DELETE_FAILED, error);
|
|
1037
1043
|
}
|
|
1038
1044
|
}
|
|
1039
1045
|
async clear() {
|
|
@@ -1048,7 +1054,7 @@ var CacheService = class {
|
|
|
1048
1054
|
await this.tagIndex.clearAllTags();
|
|
1049
1055
|
}
|
|
1050
1056
|
} catch (error) {
|
|
1051
|
-
throw new CacheError(`Failed to clear cache: ${error.message}`, core.ErrorCode.CACHE_CLEAR_FAILED, error);
|
|
1057
|
+
throw new CacheError(`Failed to clear cache: ${error.message}`, core$1.ErrorCode.CACHE_CLEAR_FAILED, error);
|
|
1052
1058
|
}
|
|
1053
1059
|
}
|
|
1054
1060
|
async has(key) {
|
|
@@ -1082,7 +1088,7 @@ var CacheService = class {
|
|
|
1082
1088
|
}
|
|
1083
1089
|
return await this.tagIndex.invalidateTag(tag);
|
|
1084
1090
|
} catch (error) {
|
|
1085
|
-
throw new CacheError(`Failed to invalidate tag "${tag}": ${error.message}`, core.ErrorCode.CACHE_TAG_INVALIDATION_FAILED, error);
|
|
1091
|
+
throw new CacheError(`Failed to invalidate tag "${tag}": ${error.message}`, core$1.ErrorCode.CACHE_TAG_INVALIDATION_FAILED, error);
|
|
1086
1092
|
}
|
|
1087
1093
|
}
|
|
1088
1094
|
async invalidateTags(tags) {
|
|
@@ -1097,7 +1103,7 @@ var CacheService = class {
|
|
|
1097
1103
|
}
|
|
1098
1104
|
return total;
|
|
1099
1105
|
} catch (error) {
|
|
1100
|
-
throw new CacheError(`Failed to invalidate tags: ${error.message}`, core.ErrorCode.CACHE_TAG_INVALIDATION_FAILED, error);
|
|
1106
|
+
throw new CacheError(`Failed to invalidate tags: ${error.message}`, core$1.ErrorCode.CACHE_TAG_INVALIDATION_FAILED, error);
|
|
1101
1107
|
}
|
|
1102
1108
|
}
|
|
1103
1109
|
async getKeysByTag(tag) {
|
|
@@ -1192,7 +1198,7 @@ var CacheService = class {
|
|
|
1192
1198
|
if (error instanceof CacheKeyError) {
|
|
1193
1199
|
throw error;
|
|
1194
1200
|
}
|
|
1195
|
-
throw new CacheError(`Failed to setMany: ${error.message}`, core.ErrorCode.CACHE_SET_FAILED, error);
|
|
1201
|
+
throw new CacheError(`Failed to setMany: ${error.message}`, core$1.ErrorCode.CACHE_SET_FAILED, error);
|
|
1196
1202
|
}
|
|
1197
1203
|
}
|
|
1198
1204
|
async ttl(key) {
|
|
@@ -1243,7 +1249,7 @@ var CacheService = class {
|
|
|
1243
1249
|
}
|
|
1244
1250
|
return deleted;
|
|
1245
1251
|
} catch (error) {
|
|
1246
|
-
throw new CacheError(`Failed to invalidate by pattern "${pattern}": ${error.message}`, core.ErrorCode.CACHE_DELETE_FAILED, error);
|
|
1252
|
+
throw new CacheError(`Failed to invalidate by pattern "${pattern}": ${error.message}`, core$1.ErrorCode.CACHE_DELETE_FAILED, error);
|
|
1247
1253
|
}
|
|
1248
1254
|
}
|
|
1249
1255
|
/**
|
|
@@ -1324,7 +1330,7 @@ var CacheService = class {
|
|
|
1324
1330
|
};
|
|
1325
1331
|
CacheService = __decorateClass([
|
|
1326
1332
|
common.Injectable(),
|
|
1327
|
-
__decorateParam(0, common.Inject(
|
|
1333
|
+
__decorateParam(0, common.Inject(CACHE_REDIS_DRIVER)),
|
|
1328
1334
|
__decorateParam(1, common.Inject(L1_CACHE_STORE)),
|
|
1329
1335
|
__decorateParam(2, common.Inject(L2_CACHE_STORE)),
|
|
1330
1336
|
__decorateParam(3, common.Inject(STAMPEDE_PROTECTION)),
|
|
@@ -1645,7 +1651,7 @@ var L2RedisStoreAdapter = class {
|
|
|
1645
1651
|
const ttlSeconds = ttl ?? this.defaultTtl;
|
|
1646
1652
|
await this.driver.setex(fullKey, ttlSeconds, serialized);
|
|
1647
1653
|
} catch (error) {
|
|
1648
|
-
throw new CacheError(`Failed to set cache entry for key "${key}": ${error.message}`, core.ErrorCode.CACHE_SET_FAILED, error);
|
|
1654
|
+
throw new CacheError(`Failed to set cache entry for key "${key}": ${error.message}`, core$1.ErrorCode.CACHE_SET_FAILED, error);
|
|
1649
1655
|
}
|
|
1650
1656
|
}
|
|
1651
1657
|
async delete(key) {
|
|
@@ -1654,7 +1660,7 @@ var L2RedisStoreAdapter = class {
|
|
|
1654
1660
|
const result = await this.driver.del(fullKey);
|
|
1655
1661
|
return result > 0;
|
|
1656
1662
|
} catch (error) {
|
|
1657
|
-
throw new CacheError(`Failed to delete cache entry for key "${key}": ${error.message}`, core.ErrorCode.CACHE_DELETE_FAILED, error);
|
|
1663
|
+
throw new CacheError(`Failed to delete cache entry for key "${key}": ${error.message}`, core$1.ErrorCode.CACHE_DELETE_FAILED, error);
|
|
1658
1664
|
}
|
|
1659
1665
|
}
|
|
1660
1666
|
async clear() {
|
|
@@ -1670,7 +1676,7 @@ var L2RedisStoreAdapter = class {
|
|
|
1670
1676
|
await Promise.all(batch.map((key) => this.driver.del(key)));
|
|
1671
1677
|
}
|
|
1672
1678
|
} catch (error) {
|
|
1673
|
-
throw new CacheError(`Failed to clear cache: ${error.message}`, core.ErrorCode.CACHE_CLEAR_FAILED, error);
|
|
1679
|
+
throw new CacheError(`Failed to clear cache: ${error.message}`, core$1.ErrorCode.CACHE_CLEAR_FAILED, error);
|
|
1674
1680
|
}
|
|
1675
1681
|
}
|
|
1676
1682
|
async has(key) {
|
|
@@ -1697,7 +1703,7 @@ var L2RedisStoreAdapter = class {
|
|
|
1697
1703
|
const result = await this.driver.expire(fullKey, ttl);
|
|
1698
1704
|
return result === 1;
|
|
1699
1705
|
} catch (error) {
|
|
1700
|
-
throw new CacheError(`Failed to set expiration for key "${key}": ${error.message}`, core.ErrorCode.CACHE_OPERATION_FAILED, error);
|
|
1706
|
+
throw new CacheError(`Failed to set expiration for key "${key}": ${error.message}`, core$1.ErrorCode.CACHE_OPERATION_FAILED, error);
|
|
1701
1707
|
}
|
|
1702
1708
|
}
|
|
1703
1709
|
async scan(pattern, count = DEFAULT_BATCH_SIZE) {
|
|
@@ -1711,7 +1717,7 @@ var L2RedisStoreAdapter = class {
|
|
|
1711
1717
|
// Simplified: full scan completed
|
|
1712
1718
|
};
|
|
1713
1719
|
} catch (error) {
|
|
1714
|
-
throw new CacheError(`Failed to scan keys with pattern "${pattern}": ${error.message}`, core.ErrorCode.CACHE_OPERATION_FAILED, error);
|
|
1720
|
+
throw new CacheError(`Failed to scan keys with pattern "${pattern}": ${error.message}`, core$1.ErrorCode.CACHE_OPERATION_FAILED, error);
|
|
1715
1721
|
}
|
|
1716
1722
|
}
|
|
1717
1723
|
async getMany(keys) {
|
|
@@ -1747,7 +1753,7 @@ var L2RedisStoreAdapter = class {
|
|
|
1747
1753
|
})
|
|
1748
1754
|
);
|
|
1749
1755
|
} catch (error) {
|
|
1750
|
-
throw new CacheError(`Failed to set multiple cache entries: ${error.message}`, core.ErrorCode.CACHE_SET_FAILED, error);
|
|
1756
|
+
throw new CacheError(`Failed to set multiple cache entries: ${error.message}`, core$1.ErrorCode.CACHE_SET_FAILED, error);
|
|
1751
1757
|
}
|
|
1752
1758
|
}
|
|
1753
1759
|
buildKey(key) {
|
|
@@ -1800,13 +1806,13 @@ var L2RedisStoreAdapter = class {
|
|
|
1800
1806
|
const ttlSeconds = Math.max(1, Math.ceil(ttlMs / 1e3));
|
|
1801
1807
|
await this.driver.setex(fullKey, ttlSeconds, serialized);
|
|
1802
1808
|
} catch (error) {
|
|
1803
|
-
throw new CacheError(`Failed to set SWR entry for key "${key}": ${error.message}`, core.ErrorCode.CACHE_SET_FAILED, error);
|
|
1809
|
+
throw new CacheError(`Failed to set SWR entry for key "${key}": ${error.message}`, core$1.ErrorCode.CACHE_SET_FAILED, error);
|
|
1804
1810
|
}
|
|
1805
1811
|
}
|
|
1806
1812
|
};
|
|
1807
1813
|
L2RedisStoreAdapter = __decorateClass([
|
|
1808
1814
|
common.Injectable(),
|
|
1809
|
-
__decorateParam(0, common.Inject(
|
|
1815
|
+
__decorateParam(0, common.Inject(CACHE_REDIS_DRIVER)),
|
|
1810
1816
|
__decorateParam(1, common.Inject(CACHE_PLUGIN_OPTIONS)),
|
|
1811
1817
|
__decorateParam(2, common.Inject(SERIALIZER))
|
|
1812
1818
|
], L2RedisStoreAdapter);
|
|
@@ -2201,7 +2207,7 @@ exports.EventInvalidationService = __decorateClass([
|
|
|
2201
2207
|
common.Injectable(),
|
|
2202
2208
|
__decorateParam(0, common.Inject(INVALIDATION_REGISTRY)),
|
|
2203
2209
|
__decorateParam(1, common.Inject(CACHE_SERVICE)),
|
|
2204
|
-
__decorateParam(2, common.Inject(
|
|
2210
|
+
__decorateParam(2, common.Inject(CACHE_REDIS_DRIVER)),
|
|
2205
2211
|
__decorateParam(3, common.Inject(CACHE_PLUGIN_OPTIONS))
|
|
2206
2212
|
], exports.EventInvalidationService);
|
|
2207
2213
|
exports.InvalidationRegistryService = class InvalidationRegistryService {
|
|
@@ -2286,11 +2292,11 @@ var EventPattern = class _EventPattern {
|
|
|
2286
2292
|
*/
|
|
2287
2293
|
static create(pattern) {
|
|
2288
2294
|
if (!pattern || pattern.trim().length === 0) {
|
|
2289
|
-
throw new CacheError("Event pattern cannot be empty", core.ErrorCode.VALIDATION_FAILED);
|
|
2295
|
+
throw new CacheError("Event pattern cannot be empty", core$1.ErrorCode.VALIDATION_FAILED);
|
|
2290
2296
|
}
|
|
2291
2297
|
const normalized = pattern.trim();
|
|
2292
2298
|
if (!/^[a-z0-9*#._-]+$/i.test(normalized)) {
|
|
2293
|
-
throw new CacheError(`Invalid event pattern "${normalized}". Only alphanumeric, dots, dashes, underscores, *, and # are allowed`, core.ErrorCode.VALIDATION_FAILED);
|
|
2299
|
+
throw new CacheError(`Invalid event pattern "${normalized}". Only alphanumeric, dots, dashes, underscores, *, and # are allowed`, core$1.ErrorCode.VALIDATION_FAILED);
|
|
2294
2300
|
}
|
|
2295
2301
|
let regexStr = normalized.replace(/\./g, "\\.").replace(/\*/g, "[^.]+").replace(/#/g, ".*");
|
|
2296
2302
|
regexStr = regexStr.replace(/\\\.\.\*$/, "(?:\\..*)?");
|
|
@@ -2329,7 +2335,7 @@ var TagTemplate = class _TagTemplate {
|
|
|
2329
2335
|
*/
|
|
2330
2336
|
static create(template) {
|
|
2331
2337
|
if (!template || template.trim().length === 0) {
|
|
2332
|
-
throw new CacheError("Tag template cannot be empty", core.ErrorCode.VALIDATION_FAILED);
|
|
2338
|
+
throw new CacheError("Tag template cannot be empty", core$1.ErrorCode.VALIDATION_FAILED);
|
|
2333
2339
|
}
|
|
2334
2340
|
const normalized = template.trim();
|
|
2335
2341
|
const placeholders = [];
|
|
@@ -2713,7 +2719,7 @@ var StampedeProtectionService = class {
|
|
|
2713
2719
|
StampedeProtectionService = __decorateClass([
|
|
2714
2720
|
common.Injectable(),
|
|
2715
2721
|
__decorateParam(0, common.Inject(CACHE_PLUGIN_OPTIONS)),
|
|
2716
|
-
__decorateParam(1, common.Inject(
|
|
2722
|
+
__decorateParam(1, common.Inject(CACHE_REDIS_DRIVER))
|
|
2717
2723
|
], StampedeProtectionService);
|
|
2718
2724
|
var SwrManagerService = class {
|
|
2719
2725
|
constructor(options) {
|
|
@@ -2953,7 +2959,7 @@ var TagIndexRepository = class {
|
|
|
2953
2959
|
};
|
|
2954
2960
|
TagIndexRepository = __decorateClass([
|
|
2955
2961
|
common.Injectable(),
|
|
2956
|
-
__decorateParam(0, common.Inject(
|
|
2962
|
+
__decorateParam(0, common.Inject(CACHE_REDIS_DRIVER)),
|
|
2957
2963
|
__decorateParam(1, common.Inject(CACHE_PLUGIN_OPTIONS)),
|
|
2958
2964
|
__decorateParam(2, common.Inject(LUA_SCRIPT_LOADER))
|
|
2959
2965
|
], TagIndexRepository);
|
|
@@ -3062,7 +3068,7 @@ var LuaScriptLoader = class {
|
|
|
3062
3068
|
};
|
|
3063
3069
|
LuaScriptLoader = __decorateClass([
|
|
3064
3070
|
common.Injectable(),
|
|
3065
|
-
__decorateParam(0, common.Inject(
|
|
3071
|
+
__decorateParam(0, common.Inject(CACHE_REDIS_DRIVER))
|
|
3066
3072
|
], LuaScriptLoader);
|
|
3067
3073
|
|
|
3068
3074
|
// src/cache.plugin.ts
|
|
@@ -3096,6 +3102,7 @@ var CachePlugin = class _CachePlugin {
|
|
|
3096
3102
|
}
|
|
3097
3103
|
static mergeDefaults(options) {
|
|
3098
3104
|
return {
|
|
3105
|
+
client: options.client,
|
|
3099
3106
|
l1: { ...DEFAULT_CACHE_CONFIG.l1, ...options.l1 },
|
|
3100
3107
|
l2: { ...DEFAULT_CACHE_CONFIG.l2, ...options.l2 },
|
|
3101
3108
|
stampede: { ...DEFAULT_CACHE_CONFIG.stampede, ...options.stampede },
|
|
@@ -3123,6 +3130,19 @@ var CachePlugin = class _CachePlugin {
|
|
|
3123
3130
|
};
|
|
3124
3131
|
return [
|
|
3125
3132
|
optionsProvider,
|
|
3133
|
+
// Plugin-specific Redis driver (resolves named client)
|
|
3134
|
+
{
|
|
3135
|
+
provide: CACHE_REDIS_DRIVER,
|
|
3136
|
+
useFactory: async (manager, _init, options) => {
|
|
3137
|
+
const clientName = options.client ?? "default";
|
|
3138
|
+
try {
|
|
3139
|
+
return await manager.getClient(clientName);
|
|
3140
|
+
} catch (error) {
|
|
3141
|
+
throw new Error(`CachePlugin: Redis client "${clientName}" not found. Available clients are configured in RedisModule.forRoot({ clients: { ... } }). Either add a "${clientName}" client or remove the "client" option to use the default connection.`);
|
|
3142
|
+
}
|
|
3143
|
+
},
|
|
3144
|
+
inject: [core$1.CLIENT_MANAGER, core$1.REDIS_CLIENTS_INITIALIZATION, CACHE_PLUGIN_OPTIONS]
|
|
3145
|
+
},
|
|
3126
3146
|
// Domain services
|
|
3127
3147
|
{
|
|
3128
3148
|
provide: SERIALIZER,
|
|
@@ -3176,7 +3196,7 @@ var CachePlugin = class _CachePlugin {
|
|
|
3176
3196
|
// Cache warmup (runs on OnModuleInit if enabled)
|
|
3177
3197
|
WarmupService,
|
|
3178
3198
|
// Reflector is needed for decorator metadata
|
|
3179
|
-
core
|
|
3199
|
+
core.Reflector,
|
|
3180
3200
|
// Factory for registering static invalidation rules
|
|
3181
3201
|
{
|
|
3182
3202
|
provide: INVALIDATION_RULES_INIT,
|
|
@@ -4201,6 +4221,7 @@ var KeyBuilder = class _KeyBuilder {
|
|
|
4201
4221
|
exports.AMQP_CONNECTION = AMQP_CONNECTION;
|
|
4202
4222
|
exports.CACHE_OPTIONS_KEY = CACHE_OPTIONS_KEY;
|
|
4203
4223
|
exports.CACHE_PLUGIN_OPTIONS = CACHE_PLUGIN_OPTIONS;
|
|
4224
|
+
exports.CACHE_REDIS_DRIVER = CACHE_REDIS_DRIVER;
|
|
4204
4225
|
exports.CACHE_SERVICE = CACHE_SERVICE;
|
|
4205
4226
|
exports.CacheEntry = CacheEntry;
|
|
4206
4227
|
exports.CacheError = CacheError;
|