@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
package/dist/index.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Reflector } from '@nestjs/core';
|
|
1
|
+
import { ModuleRef, Reflector } from '@nestjs/core';
|
|
2
|
+
import { RedisXError, ErrorCode, CLIENT_MANAGER, REDIS_CLIENTS_INITIALIZATION } from '@nestjs-redisx/core';
|
|
2
3
|
import { Logger, Injectable, Inject, Optional, SetMetadata } from '@nestjs/common';
|
|
3
4
|
import 'reflect-metadata';
|
|
4
|
-
import { REDIS_DRIVER, RedisXError, ErrorCode } from '@nestjs-redisx/core';
|
|
5
5
|
import { createHash } from 'crypto';
|
|
6
6
|
import { EventEmitter } from 'events';
|
|
7
7
|
import { from, of } from 'rxjs';
|
|
@@ -24,7 +24,7 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
24
24
|
var __decorateParam = (index, decorator) => (target, key) => decorator(target, key, index);
|
|
25
25
|
|
|
26
26
|
// package.json
|
|
27
|
-
var version = "1.0
|
|
27
|
+
var version = "1.1.0";
|
|
28
28
|
|
|
29
29
|
// src/shared/constants/index.ts
|
|
30
30
|
var CACHE_PLUGIN_OPTIONS = /* @__PURE__ */ Symbol.for("CACHE_PLUGIN_OPTIONS");
|
|
@@ -40,6 +40,7 @@ var EVENT_INVALIDATION_SERVICE = /* @__PURE__ */ Symbol.for("EVENT_INVALIDATION_
|
|
|
40
40
|
var LUA_SCRIPT_LOADER = /* @__PURE__ */ Symbol.for("LUA_SCRIPT_LOADER");
|
|
41
41
|
var INVALIDATION_RULES_INIT = /* @__PURE__ */ Symbol.for("INVALIDATION_RULES_INIT");
|
|
42
42
|
var AMQP_CONNECTION = /* @__PURE__ */ Symbol.for("AMQP_CONNECTION");
|
|
43
|
+
var CACHE_REDIS_DRIVER = /* @__PURE__ */ Symbol.for("CACHE_REDIS_DRIVER");
|
|
43
44
|
var CACHE_OPTIONS_KEY = "cache:options";
|
|
44
45
|
var INVALIDATE_TAGS_KEY = "cache:invalidate:tags";
|
|
45
46
|
var DEFAULT_CACHE_CONFIG = {
|
|
@@ -208,13 +209,17 @@ function serializeArg(arg) {
|
|
|
208
209
|
}
|
|
209
210
|
if (typeof arg === "object") {
|
|
210
211
|
try {
|
|
211
|
-
|
|
212
|
+
const stable = stableStringify(arg);
|
|
213
|
+
return hashForKey(stable);
|
|
212
214
|
} catch {
|
|
213
215
|
return "object";
|
|
214
216
|
}
|
|
215
217
|
}
|
|
216
218
|
return "unknown";
|
|
217
219
|
}
|
|
220
|
+
function hashForKey(input) {
|
|
221
|
+
return createHash("sha256").update(input).digest("hex").slice(0, 16);
|
|
222
|
+
}
|
|
218
223
|
function stableStringify(value) {
|
|
219
224
|
if (value === null || value === void 0) {
|
|
220
225
|
return "null";
|
|
@@ -350,6 +355,7 @@ var CacheDecoratorInitializerService = class {
|
|
|
350
355
|
};
|
|
351
356
|
CacheDecoratorInitializerService = __decorateClass([
|
|
352
357
|
Injectable(),
|
|
358
|
+
__decorateParam(0, Inject(ModuleRef)),
|
|
353
359
|
__decorateParam(1, Inject(CACHE_SERVICE)),
|
|
354
360
|
__decorateParam(2, Inject(CACHE_PLUGIN_OPTIONS)),
|
|
355
361
|
__decorateParam(3, Optional()),
|
|
@@ -1322,7 +1328,7 @@ var CacheService = class {
|
|
|
1322
1328
|
};
|
|
1323
1329
|
CacheService = __decorateClass([
|
|
1324
1330
|
Injectable(),
|
|
1325
|
-
__decorateParam(0, Inject(
|
|
1331
|
+
__decorateParam(0, Inject(CACHE_REDIS_DRIVER)),
|
|
1326
1332
|
__decorateParam(1, Inject(L1_CACHE_STORE)),
|
|
1327
1333
|
__decorateParam(2, Inject(L2_CACHE_STORE)),
|
|
1328
1334
|
__decorateParam(3, Inject(STAMPEDE_PROTECTION)),
|
|
@@ -1804,7 +1810,7 @@ var L2RedisStoreAdapter = class {
|
|
|
1804
1810
|
};
|
|
1805
1811
|
L2RedisStoreAdapter = __decorateClass([
|
|
1806
1812
|
Injectable(),
|
|
1807
|
-
__decorateParam(0, Inject(
|
|
1813
|
+
__decorateParam(0, Inject(CACHE_REDIS_DRIVER)),
|
|
1808
1814
|
__decorateParam(1, Inject(CACHE_PLUGIN_OPTIONS)),
|
|
1809
1815
|
__decorateParam(2, Inject(SERIALIZER))
|
|
1810
1816
|
], L2RedisStoreAdapter);
|
|
@@ -2199,7 +2205,7 @@ EventInvalidationService = __decorateClass([
|
|
|
2199
2205
|
Injectable(),
|
|
2200
2206
|
__decorateParam(0, Inject(INVALIDATION_REGISTRY)),
|
|
2201
2207
|
__decorateParam(1, Inject(CACHE_SERVICE)),
|
|
2202
|
-
__decorateParam(2, Inject(
|
|
2208
|
+
__decorateParam(2, Inject(CACHE_REDIS_DRIVER)),
|
|
2203
2209
|
__decorateParam(3, Inject(CACHE_PLUGIN_OPTIONS))
|
|
2204
2210
|
], EventInvalidationService);
|
|
2205
2211
|
var InvalidationRegistryService = class {
|
|
@@ -2711,7 +2717,7 @@ var StampedeProtectionService = class {
|
|
|
2711
2717
|
StampedeProtectionService = __decorateClass([
|
|
2712
2718
|
Injectable(),
|
|
2713
2719
|
__decorateParam(0, Inject(CACHE_PLUGIN_OPTIONS)),
|
|
2714
|
-
__decorateParam(1, Inject(
|
|
2720
|
+
__decorateParam(1, Inject(CACHE_REDIS_DRIVER))
|
|
2715
2721
|
], StampedeProtectionService);
|
|
2716
2722
|
var SwrManagerService = class {
|
|
2717
2723
|
constructor(options) {
|
|
@@ -2951,7 +2957,7 @@ var TagIndexRepository = class {
|
|
|
2951
2957
|
};
|
|
2952
2958
|
TagIndexRepository = __decorateClass([
|
|
2953
2959
|
Injectable(),
|
|
2954
|
-
__decorateParam(0, Inject(
|
|
2960
|
+
__decorateParam(0, Inject(CACHE_REDIS_DRIVER)),
|
|
2955
2961
|
__decorateParam(1, Inject(CACHE_PLUGIN_OPTIONS)),
|
|
2956
2962
|
__decorateParam(2, Inject(LUA_SCRIPT_LOADER))
|
|
2957
2963
|
], TagIndexRepository);
|
|
@@ -3060,7 +3066,7 @@ var LuaScriptLoader = class {
|
|
|
3060
3066
|
};
|
|
3061
3067
|
LuaScriptLoader = __decorateClass([
|
|
3062
3068
|
Injectable(),
|
|
3063
|
-
__decorateParam(0, Inject(
|
|
3069
|
+
__decorateParam(0, Inject(CACHE_REDIS_DRIVER))
|
|
3064
3070
|
], LuaScriptLoader);
|
|
3065
3071
|
|
|
3066
3072
|
// src/cache.plugin.ts
|
|
@@ -3094,6 +3100,7 @@ var CachePlugin = class _CachePlugin {
|
|
|
3094
3100
|
}
|
|
3095
3101
|
static mergeDefaults(options) {
|
|
3096
3102
|
return {
|
|
3103
|
+
client: options.client,
|
|
3097
3104
|
l1: { ...DEFAULT_CACHE_CONFIG.l1, ...options.l1 },
|
|
3098
3105
|
l2: { ...DEFAULT_CACHE_CONFIG.l2, ...options.l2 },
|
|
3099
3106
|
stampede: { ...DEFAULT_CACHE_CONFIG.stampede, ...options.stampede },
|
|
@@ -3121,6 +3128,19 @@ var CachePlugin = class _CachePlugin {
|
|
|
3121
3128
|
};
|
|
3122
3129
|
return [
|
|
3123
3130
|
optionsProvider,
|
|
3131
|
+
// Plugin-specific Redis driver (resolves named client)
|
|
3132
|
+
{
|
|
3133
|
+
provide: CACHE_REDIS_DRIVER,
|
|
3134
|
+
useFactory: async (manager, _init, options) => {
|
|
3135
|
+
const clientName = options.client ?? "default";
|
|
3136
|
+
try {
|
|
3137
|
+
return await manager.getClient(clientName);
|
|
3138
|
+
} catch (error) {
|
|
3139
|
+
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.`);
|
|
3140
|
+
}
|
|
3141
|
+
},
|
|
3142
|
+
inject: [CLIENT_MANAGER, REDIS_CLIENTS_INITIALIZATION, CACHE_PLUGIN_OPTIONS]
|
|
3143
|
+
},
|
|
3124
3144
|
// Domain services
|
|
3125
3145
|
{
|
|
3126
3146
|
provide: SERIALIZER,
|
|
@@ -4196,6 +4216,6 @@ var KeyBuilder = class _KeyBuilder {
|
|
|
4196
4216
|
}
|
|
4197
4217
|
};
|
|
4198
4218
|
|
|
4199
|
-
export { AMQP_CONNECTION, CACHE_OPTIONS_KEY, CACHE_PLUGIN_OPTIONS, CACHE_SERVICE, CacheEntry, CacheError, CacheEvict, CacheKey, CacheKeyError, CachePlugin, CachePut, CacheService2 as CacheService, Cacheable, Cached, DEFAULT_CACHE_CONFIG, CacheInterceptor as DeclarativeCacheInterceptor, EVENT_INVALIDATION_SERVICE, EventInvalidationService, EventPattern, FifoStrategy, INVALIDATE_TAGS_KEY, INVALIDATION_REGISTRY, InvalidateOn, InvalidateTags, InvalidationRegistryService, InvalidationRule, JsonSerializer, KeyBuilder, L1_CACHE_STORE, L2_CACHE_STORE, LUA_SCRIPT_LOADER, LfuStrategy, LoaderError, LruStrategy, MsgpackSerializer, SERIALIZER, STAMPEDE_PROTECTION, SWR_MANAGER, SerializationError, StampedeError, TAG_INDEX, TTL, TagInvalidationError, TagTemplate, evaluateCondition, evaluateTags, generateKey, generateKeys, getNestedValue, getParameterNames };
|
|
4219
|
+
export { AMQP_CONNECTION, CACHE_OPTIONS_KEY, CACHE_PLUGIN_OPTIONS, CACHE_REDIS_DRIVER, CACHE_SERVICE, CacheEntry, CacheError, CacheEvict, CacheKey, CacheKeyError, CachePlugin, CachePut, CacheService2 as CacheService, Cacheable, Cached, DEFAULT_CACHE_CONFIG, CacheInterceptor as DeclarativeCacheInterceptor, EVENT_INVALIDATION_SERVICE, EventInvalidationService, EventPattern, FifoStrategy, INVALIDATE_TAGS_KEY, INVALIDATION_REGISTRY, InvalidateOn, InvalidateTags, InvalidationRegistryService, InvalidationRule, JsonSerializer, KeyBuilder, L1_CACHE_STORE, L2_CACHE_STORE, LUA_SCRIPT_LOADER, LfuStrategy, LoaderError, LruStrategy, MsgpackSerializer, SERIALIZER, STAMPEDE_PROTECTION, SWR_MANAGER, SerializationError, StampedeError, TAG_INDEX, TTL, TagInvalidationError, TagTemplate, evaluateCondition, evaluateTags, generateKey, generateKeys, getNestedValue, getParameterNames };
|
|
4200
4220
|
//# sourceMappingURL=index.mjs.map
|
|
4201
4221
|
//# sourceMappingURL=index.mjs.map
|