@stigg/node-server-sdk 4.37.0 → 4.38.1

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.
Files changed (32) hide show
  1. package/dist/api/entitlements/entitlementsApi.d.ts +1 -1
  2. package/dist/api/managementApi.d.ts +1 -1
  3. package/dist/client.d.ts +1 -2
  4. package/dist/client.js +19 -23
  5. package/dist/clientInitialization.js +5 -4
  6. package/dist/configuration.d.ts +1 -1
  7. package/dist/models/index.d.ts +10 -0
  8. package/dist/models/index.js +33 -0
  9. package/dist/services/LegacyEventPayloadMapper.js +3 -3
  10. package/dist/services/entitlementsService.d.ts +6 -3
  11. package/dist/services/entitlementsService.js +26 -91
  12. package/dist/services/identifiers.d.ts +0 -1
  13. package/dist/services/identifiers.js +1 -6
  14. package/dist/services/inMemoryEntitlementsService.d.ts +2 -1
  15. package/dist/services/inMemoryEntitlementsService.js +1 -1
  16. package/dist/services/inMemoryLruCacheService.d.ts +6 -0
  17. package/dist/services/inMemoryLruCacheService.js +20 -0
  18. package/dist/services/redisEntitlementsService.d.ts +1 -1
  19. package/dist/services/redisEntitlementsService.js +1 -1
  20. package/package.json +5 -4
  21. package/dist/models.d.ts +0 -946
  22. package/dist/models.js +0 -80
  23. package/dist/services/entitlementDecisionService.d.ts +0 -20
  24. package/dist/services/entitlementDecisionService.js +0 -80
  25. package/dist/utils/ModelMapper.d.ts +0 -61
  26. package/dist/utils/ModelMapper.js +0 -623
  27. package/dist/utils/entitlementFallbackUtils.d.ts +0 -23
  28. package/dist/utils/entitlementFallbackUtils.js +0 -66
  29. package/dist/utils/entitlementTypeGuards.d.ts +0 -6
  30. package/dist/utils/entitlementTypeGuards.js +0 -11
  31. package/dist/utils/mapGetEntitlementsFallback.d.ts +0 -2
  32. package/dist/utils/mapGetEntitlementsFallback.js +0 -14
@@ -16,9 +16,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.EntitlementsService = void 0;
18
18
  const entitlementsApi_1 = __importDefault(require("../api/entitlements/entitlementsApi"));
19
- const entitlementFallbackUtils_1 = require("../utils/entitlementFallbackUtils");
20
- const ModelMapper_1 = require("../utils/ModelMapper");
21
- const entitlementDecisionService_1 = require("./entitlementDecisionService");
19
+ const sdk_core_1 = require("@stigg/sdk-core");
20
+ const sdk_core_2 = require("@stigg/sdk-core");
22
21
  const cache_core_1 = require("@stigg/cache-core");
23
22
  const lodash_1 = require("lodash");
24
23
  const cache_core_2 = require("@stigg/cache-core");
@@ -28,152 +27,93 @@ class EntitlementsService {
28
27
  this.cacheService = cacheService;
29
28
  this.entitlementsTimeout = entitlementsTimeout;
30
29
  this.isInitialized = false;
31
- this.modelMapper = new ModelMapper_1.ModelMapper();
30
+ this.modelMapper = new sdk_core_1.ModelMapper();
31
+ this.evaluator = new sdk_core_2.EntitlementEvaluator(this.modelMapper);
32
32
  this.entitlementsApi = new entitlementsApi_1.default(client, edgeApiClient, loggerService);
33
33
  }
34
34
  async getBooleanEntitlement(customerId, featureRefId, fallbackEntitlement, resourceId,
35
35
  // eslint-disable-next-line @typescript-eslint/no-unused-vars -- kept for API compatibility
36
36
  options) {
37
37
  const { entitlement, accessDeniedReason } = await this.getCustomerAndEntitlementFromCacheOrRefetch({ type: cache_core_1.EntitlementType.Feature, id: featureRefId }, customerId, resourceId, 'getBooleanEntitlement');
38
- const decision = entitlementDecisionService_1.EntitlementDecisionService.decideEntitlementPolicy({
39
- entitlementType: cache_core_1.EntitlementType.Feature,
40
- accessDeniedReason,
41
- entitlement,
42
- });
43
- if (entitlement && !(0, cache_core_2.isBoolean)(entitlement.calculatedEntitlement.feature)) {
44
- return Object.assign(Object.assign({}, fallbackEntitlement), { accessDeniedReason: cache_core_1.AccessDeniedReason.FeatureTypeMismatch });
45
- }
38
+ const result = this.evaluator.evaluateBooleanEntitlement(entitlement, accessDeniedReason, fallbackEntitlement);
46
39
  if (!entitlement) {
47
40
  this.loggerService.log(`No entitlement for boolean feature found`, {
48
41
  customerId,
49
42
  resourceId,
50
43
  featureRefId,
51
- accessDeniedReason: decision.accessDeniedReason,
44
+ accessDeniedReason: result.accessDeniedReason,
52
45
  });
53
- return Object.assign(Object.assign({ type: 'BOOLEAN' }, decision), { isFallback: false });
54
46
  }
55
- return this.modelMapper.mapBooleanEntitlement(entitlement, decision);
47
+ return result;
56
48
  }
57
49
  async getNumericEntitlement(customerId, featureRefId, fallbackEntitlement, resourceId,
58
50
  // eslint-disable-next-line @typescript-eslint/no-unused-vars -- kept for API compatibility
59
51
  options) {
60
52
  const { entitlement, accessDeniedReason } = await this.getCustomerAndEntitlementFromCacheOrRefetch({ type: cache_core_1.EntitlementType.Feature, id: featureRefId }, customerId, resourceId, 'getNumericEntitlement');
61
- const decision = entitlementDecisionService_1.EntitlementDecisionService.decideEntitlementPolicy({
62
- entitlementType: cache_core_1.EntitlementType.Feature,
63
- accessDeniedReason,
64
- entitlement,
65
- });
66
- if (entitlement && !(0, cache_core_2.isNumeric)(entitlement.calculatedEntitlement.feature)) {
67
- return Object.assign(Object.assign({}, fallbackEntitlement), { accessDeniedReason: cache_core_1.AccessDeniedReason.FeatureTypeMismatch });
68
- }
53
+ const result = this.evaluator.evaluateNumericEntitlement(entitlement, accessDeniedReason, fallbackEntitlement);
69
54
  if (!entitlement) {
70
55
  this.loggerService.log(`No entitlement for numeric feature found`, {
71
56
  customerId,
72
57
  resourceId,
73
58
  featureRefId,
74
- accessDeniedReason: decision.accessDeniedReason,
59
+ accessDeniedReason: result.accessDeniedReason,
75
60
  });
76
- return Object.assign(Object.assign({ type: 'NUMERIC' }, decision), { isFallback: false, isUnlimited: false });
77
61
  }
78
- return this.modelMapper.mapNumericEntitlement(entitlement, decision);
62
+ return result;
79
63
  }
80
64
  async getMeteredEntitlement(customerId, featureRefId, fallbackEntitlement, resourceId, options) {
81
65
  const requestUsage = options === null || options === void 0 ? void 0 : options.requestedUsage;
82
66
  const { entitlement, accessDeniedReason } = await this.getCustomerAndEntitlementFromCacheOrRefetch({ type: cache_core_1.EntitlementType.Feature, id: featureRefId }, customerId, resourceId, 'getMeteredEntitlement');
83
- const decision = entitlementDecisionService_1.EntitlementDecisionService.decideEntitlementPolicy({
84
- entitlementType: cache_core_1.EntitlementType.Feature,
85
- accessDeniedReason,
86
- entitlement,
87
- requestedUsage: requestUsage,
88
- });
89
- if (entitlement && !(0, cache_core_2.isMetered)(entitlement.calculatedEntitlement.feature)) {
90
- return Object.assign(Object.assign({}, fallbackEntitlement), { accessDeniedReason: cache_core_1.AccessDeniedReason.FeatureTypeMismatch });
91
- }
67
+ const result = this.evaluator.evaluateMeteredEntitlement(entitlement, accessDeniedReason, fallbackEntitlement, requestUsage);
92
68
  if (!entitlement) {
93
69
  this.loggerService.log(`No entitlement for metered feature found`, {
94
70
  customerId,
95
71
  resourceId,
96
72
  featureRefId,
97
- accessDeniedReason: decision.accessDeniedReason,
73
+ accessDeniedReason: result.accessDeniedReason,
98
74
  });
99
- return Object.assign(Object.assign({ type: 'METERED' }, decision), { currentUsage: 0, isFallback: false, isUnlimited: false, hasSoftLimit: false, requestedUsage: requestUsage || 0 });
100
75
  }
101
- return this.modelMapper.mapMeteredEntitlement(entitlement, decision, requestUsage);
76
+ return result;
102
77
  }
103
78
  async getEnumEntitlement(customerId, featureRefId, fallbackEntitlement, resourceId, options) {
104
79
  const requestedValues = options === null || options === void 0 ? void 0 : options.requestedValues;
105
80
  const { entitlement, accessDeniedReason } = await this.getCustomerAndEntitlementFromCacheOrRefetch({ type: cache_core_1.EntitlementType.Feature, id: featureRefId }, customerId, resourceId, 'getEnumEntitlement');
106
- const decision = entitlementDecisionService_1.EntitlementDecisionService.decideEntitlementPolicy({
107
- entitlementType: cache_core_1.EntitlementType.Feature,
108
- accessDeniedReason,
109
- entitlement,
110
- requestedValues,
111
- });
112
- if (entitlement && !(0, cache_core_2.isEnum)(entitlement.calculatedEntitlement.feature)) {
113
- return Object.assign(Object.assign({}, fallbackEntitlement), { accessDeniedReason: cache_core_1.AccessDeniedReason.FeatureTypeMismatch });
114
- }
81
+ const result = this.evaluator.evaluateEnumEntitlement(entitlement, accessDeniedReason, fallbackEntitlement, requestedValues);
115
82
  if (!entitlement) {
116
83
  this.loggerService.log(`No entitlement for enum feature found`, {
117
84
  customerId,
118
85
  resourceId,
119
86
  featureRefId,
120
- accessDeniedReason: decision.accessDeniedReason,
87
+ accessDeniedReason: result.accessDeniedReason,
121
88
  });
122
- return Object.assign(Object.assign({ type: 'ENUM' }, decision), { isFallback: false, enumValues: [], requestedValues: requestedValues || [] });
123
89
  }
124
- return this.modelMapper.mapEnumEntitlement(entitlement, decision, requestedValues);
90
+ return result;
125
91
  }
126
92
  async getCreditEntitlement(customerId, currencyId, resourceId) {
127
93
  const { entitlement, accessDeniedReason } = await this.getCustomerAndEntitlementFromCacheOrRefetch({ type: cache_core_1.EntitlementType.Credit, id: currencyId }, customerId, resourceId, 'getCreditEntitlement');
128
- const decision = entitlementDecisionService_1.EntitlementDecisionService.decideEntitlementPolicy({
129
- entitlementType: cache_core_1.EntitlementType.Credit,
130
- accessDeniedReason,
131
- entitlement,
132
- });
94
+ const result = this.evaluator.evaluateCreditEntitlement(entitlement, accessDeniedReason, currencyId);
133
95
  if (!entitlement) {
134
96
  this.loggerService.log(`No entitlement for credit currency found`, {
135
97
  customerId,
136
98
  resourceId,
137
99
  currencyId,
138
- accessDeniedReason: decision.accessDeniedReason,
100
+ accessDeniedReason: result.accessDeniedReason,
139
101
  });
140
- return {
141
- hasAccess: false,
142
- isFallback: false,
143
- accessDeniedReason: decision.accessDeniedReason,
144
- currency: { currencyId },
145
- usageLimit: 0,
146
- currentUsage: 0,
147
- remaining: 0,
148
- };
149
102
  }
150
- return this.modelMapper.mapCreditEntitlement(entitlement, decision);
103
+ return result;
151
104
  }
152
105
  async getEntitlement(entitlementReference, customerRefId, resourceId, options, fallbackEntitlement) {
153
- var _a;
154
- const requestedUsage = (0, entitlementFallbackUtils_1.isMeteredEntitlementOptions)(options) ? options.requestedUsage : undefined;
155
- const requestedValues = (0, entitlementFallbackUtils_1.isEnumEntitlementOptions)(options) ? options.requestedValues : undefined;
156
106
  const { entitlement, accessDeniedReason } = await this.getCustomerAndEntitlementFromCacheOrRefetch(entitlementReference, customerRefId, resourceId, 'getEntitlement');
157
- const decision = entitlementDecisionService_1.EntitlementDecisionService.decideEntitlementPolicy({
158
- entitlementType: entitlementReference.type,
159
- accessDeniedReason,
160
- entitlement,
161
- requestedUsage,
162
- requestedValues,
163
- });
107
+ const result = this.evaluator.evaluateEntitlement(entitlementReference, entitlement, accessDeniedReason, options, fallbackEntitlement);
164
108
  if (!entitlement) {
165
109
  this.loggerService.log(`No entitlement found for reference`, {
166
110
  customerRefId,
167
111
  resourceId,
168
112
  entitlementReference,
169
- accessDeniedReason: decision.accessDeniedReason,
113
+ accessDeniedReason: result.accessDeniedReason,
170
114
  });
171
- if (fallbackEntitlement) {
172
- return Object.assign(Object.assign({}, fallbackEntitlement), { accessDeniedReason: (_a = decision.accessDeniedReason) !== null && _a !== void 0 ? _a : fallbackEntitlement.accessDeniedReason, isFallback: true });
173
- }
174
- return (0, entitlementFallbackUtils_1.getEntitlementV2FallbackFromOptions)(entitlementReference, options, decision.accessDeniedReason);
175
115
  }
176
- return this.modelMapper.mapEntitlement(entitlement, decision, requestedUsage, requestedValues);
116
+ return result;
177
117
  }
178
118
  async getCustomerAndEntitlementFromCacheOrRefetch(query, customerId, resourceId, triggeredBy) {
179
119
  var _a, _b;
@@ -208,14 +148,9 @@ class EntitlementsService {
208
148
  return { entitlements: [], accessDeniedReason: accessDeniedReason !== null && accessDeniedReason !== void 0 ? accessDeniedReason : null };
209
149
  }
210
150
  return {
211
- entitlements: entitlements.values().map((value) => {
212
- const decision = entitlementDecisionService_1.EntitlementDecisionService.decideEntitlementPolicy({
213
- entitlementType: value.getEntitlementQuery().type,
214
- accessDeniedReason,
215
- entitlement: value,
216
- });
217
- return this.modelMapper.mapEntitlement(value, decision);
218
- }),
151
+ entitlements: entitlements
152
+ .values()
153
+ .map((value) => this.evaluator.evaluateEntitlement(value.getEntitlementQuery(), value, accessDeniedReason)),
219
154
  accessDeniedReason: accessDeniedReason !== null && accessDeniedReason !== void 0 ? accessDeniedReason : null,
220
155
  };
221
156
  }
@@ -347,4 +282,4 @@ class EntitlementsService {
347
282
  }
348
283
  }
349
284
  exports.EntitlementsService = EntitlementsService;
350
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRsZW1lbnRzU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9lbnRpdGxlbWVudHNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMEZBQWtFO0FBbUJsRSxnRkFJMkM7QUFDM0Msc0RBQW1EO0FBQ25ELDZFQUEwRTtBQUMxRSxrREFXMkI7QUFDM0IsbUNBQXdDO0FBVXhDLGtEQVUyQjtBQU8zQixNQUFzQixtQkFBbUI7SUFNdkMsWUFDRSxNQUEyQyxFQUN4QixhQUE0QixFQUMvQyxhQUFtQyxFQUNoQixZQUFnRCxFQUNsRCxtQkFBMkI7UUFIekIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFFNUIsaUJBQVksR0FBWixZQUFZLENBQW9DO1FBQ2xELHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBUTtRQVBwQyxrQkFBYSxHQUFHLEtBQUssQ0FBQztRQVM5QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUkseUJBQVcsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSx5QkFBZSxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDbkYsQ0FBQztJQUVELEtBQUssQ0FBQyxxQkFBcUIsQ0FDekIsVUFBa0IsRUFDbEIsWUFBb0IsRUFDcEIsbUJBQXVDLEVBQ3ZDLFVBQW1CO0lBQ25CLDJGQUEyRjtJQUMzRixPQUFtQztRQUVuQyxNQUFNLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsMkNBQTJDLENBQ2hHLEVBQUUsSUFBSSxFQUFFLDRCQUFlLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsRUFDbkQsVUFBVSxFQUNWLFVBQVUsRUFDVix1QkFBdUIsQ0FDeEIsQ0FBQztRQUVGLE1BQU0sUUFBUSxHQUFHLHVEQUEwQixDQUFDLHVCQUF1QixDQUFDO1lBQ2xFLGVB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
285
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW50aXRsZW1lbnRzU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zZXJ2aWNlcy9lbnRpdGxlbWVudHNTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMEZBQWtFO0FBbUJsRSw4Q0FBOEM7QUFDOUMsOENBQXVEO0FBQ3ZELGtEQVUyQjtBQUMzQixtQ0FBd0M7QUFVeEMsa0RBSzJCO0FBUTNCLE1BQXNCLG1CQUFtQjtJQU92QyxZQUNFLE1BQTJDLEVBQ3hCLGFBQTRCLEVBQy9DLGFBQW1DLEVBQ2hCLFlBQWdELEVBQ2xELG1CQUEyQjtRQUh6QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUU1QixpQkFBWSxHQUFaLFlBQVksQ0FBb0M7UUFDbEQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFRO1FBUHBDLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBUzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxzQkFBVyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLCtCQUFvQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUkseUJBQWUsQ0FBQyxNQUFNLEVBQUUsYUFBYSxFQUFFLGFBQWEsQ0FBQyxDQUFDO0lBQ25GLENBQUM7SUFFRCxLQUFLLENBQUMscUJBQXFCLENBQ3pCLFVBQWtCLEVBQ2xCLFlBQW9CLEVBQ3BCLG1CQUF1QyxFQUN2QyxVQUFtQjtJQUNuQiwyRkFBMkY7SUFDM0YsT0FBbUM7UUFFbkMsTUFBTSxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLE1BQU0sSUFBSSxDQUFDLDJDQUEyQyxDQUNoRyxFQUFFLElBQUksRUFBRSw0QkFBZSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsWUFBWSxFQUFFLEVBQ25ELFVBQVUsRUFDVixVQUFVLEVBQ1YsdUJBQXVCLENBQ3hCLENB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
@@ -1,2 +1 @@
1
- export declare function generateRandomSlug(): string;
2
1
  export declare function generateRandomUUID(): string;
@@ -1,13 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateRandomSlug = generateRandomSlug;
4
3
  exports.generateRandomUUID = generateRandomUUID;
5
4
  const nanoid_1 = require("nanoid");
6
- const slugNanoid = (0, nanoid_1.customAlphabet)('1234567890abcdef', 6);
7
- function generateRandomSlug() {
8
- return slugNanoid();
9
- }
10
5
  function generateRandomUUID() {
11
6
  return (0, nanoid_1.nanoid)();
12
7
  }
13
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpZmllcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvaWRlbnRpZmllcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFJQSxnREFFQztBQUVELGdEQUVDO0FBVkQsbUNBQWdEO0FBRWhELE1BQU0sVUFBVSxHQUFHLElBQUEsdUJBQWMsRUFBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUV6RCxTQUFnQixrQkFBa0I7SUFDaEMsT0FBTyxVQUFVLEVBQUUsQ0FBQztBQUN0QixDQUFDO0FBRUQsU0FBZ0Isa0JBQWtCO0lBQ2hDLE9BQU8sSUFBQSxlQUFNLEdBQUUsQ0FBQztBQUNsQixDQUFDIn0=
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWRlbnRpZmllcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvaWRlbnRpZmllcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxnREFFQztBQUpELG1DQUFnQztBQUVoQyxTQUFnQixrQkFBa0I7SUFDaEMsT0FBTyxJQUFBLGVBQU0sR0FBRSxDQUFDO0FBQ2xCLENBQUMifQ==
@@ -2,7 +2,8 @@ import { ApolloClient, NormalizedCacheObject } from '@apollo/client/core';
2
2
  import { LoggerService } from './loggerService';
3
3
  import { TypedEventEmitter } from './eventEmitter';
4
4
  import { EntitlementsService } from './entitlementsService';
5
- import { InMemoryCacheService, CacheableEntitlement } from '@stigg/cache-core';
5
+ import { InMemoryCacheService } from '@stigg/cache-core';
6
+ import { CacheableEntitlement } from '@stigg/sdk-core';
6
7
  import { EdgeApiClient } from './EdgeApiClient';
7
8
  import { RefetchEntityEntitlementsAfterCacheMissParams } from './entitlementsService.utils';
8
9
  export declare class InMemoryEntitlementsService extends EntitlementsService {
@@ -174,4 +174,4 @@ exports.InMemoryEntitlementsService = InMemoryEntitlementsService;
174
174
  __decorate([
175
175
  (0, cache_core_1.ReuseOngoingExecution)(({ customerId, resourceId }) => (0, lodash_1.compact)([customerId, resourceId]).join(':'))
176
176
  ], InMemoryEntitlementsService.prototype, "refetchEntityEntitlementsAfterCacheMiss", null);
177
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5NZW1vcnlFbnRpdGxlbWVudHNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL2luTWVtb3J5RW50aXRsZW1lbnRzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSx3REFLOEI7QUFHOUIsK0RBQTREO0FBRTVELGtEQUsyQjtBQUUzQixtQ0FBaUM7QUFFakMseUVBQXNHO0FBRXRHLE1BQU0sOEJBQThCLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztBQUVoRCxNQUFhLDJCQUE0QixTQUFRLHlDQUFtQjtJQUtsRSxZQUNxQixZQUF3RCxFQUMzRSxNQUEyQyxFQUMxQixZQUErQixFQUNoRCxhQUE0QixFQUM1QixhQUFtQyxFQUNuQyxtQkFBMkI7UUFFM0IsS0FBSyxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBUDVELGlCQUFZLEdBQVosWUFBWSxDQUE0QztRQUUxRCxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFQMUMsNkJBQXdCLEdBQWtDLElBQUksQ0FBQztRQUMvRCxzQkFBaUIsR0FBa0MsSUFBSSxDQUFDO1FBQ3hELHFCQUFnQixHQUFrQyxJQUFJLENBQUM7SUFXL0QsQ0FBQztJQUVRLElBQUk7UUFDWCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBRTNELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVmLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLDRCQUE0QixFQUFFLENBQUMsU0FBUyxDQUMzRixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxFQUM1QyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUMx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
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5NZW1vcnlFbnRpdGxlbWVudHNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL2luTWVtb3J5RW50aXRsZW1lbnRzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQSx3REFLOEI7QUFHOUIsK0RBQTREO0FBRTVELGtEQUFzRztBQUd0RyxtQ0FBaUM7QUFFakMseUVBQXNHO0FBRXRHLE1BQU0sOEJBQThCLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztBQUVoRCxNQUFhLDJCQUE0QixTQUFRLHlDQUFtQjtJQUtsRSxZQUNxQixZQUF3RCxFQUMzRSxNQUEyQyxFQUMxQixZQUErQixFQUNoRCxhQUE0QixFQUM1QixhQUFtQyxFQUNuQyxtQkFBMkI7UUFFM0IsS0FBSyxDQUFDLE1BQU0sRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBUDVELGlCQUFZLEdBQVosWUFBWSxDQUE0QztRQUUxRCxpQkFBWSxHQUFaLFlBQVksQ0FBbUI7UUFQMUMsNkJBQXdCLEdBQWtDLElBQUksQ0FBQztRQUMvRCxzQkFBaUIsR0FBa0MsSUFBSSxDQUFDO1FBQ3hELHFCQUFnQixHQUFrQyxJQUFJLENBQUM7SUFXL0QsQ0FBQztJQUVRLElBQUk7UUFDWCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBRTNELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVmLElBQUksQ0FBQyx3QkFBd0IsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLDRCQUE0QixFQUFFLENBQUMsU0FBUyxDQUMzRixDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxFQUM1QyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUMxQyxDQUFDO1FBRUYsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxTQUFTLENBQzdFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUNyQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxDQUMxQyxDQUFDO1FBRUYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMseUJBQXlCLEVBQUUsQ0FBQyxTQUFTLENBQ2hGLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLEVBQ3pDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsR0FBRyxDQUFDLENBQzFDLENBQUM7UUFFRixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQztJQUM1QixDQUFDO0lBRU8sc0JBQXNCLENBQUMsR0FBUTtRQUNyQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4RCxNQUFNLGlCQUFpQixHQUFHLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUM7UUFDL0YsTUFBTSxXQUFXLEdBQUcsR0FBRyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQzlDLE1BQU0sVUFBVSxHQUFHLDBEQUEwRCxXQUFXLE1BQU0saUJBQWlCLEVBQUUsQ0FBQztRQUNsSCxNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDbkUsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNyQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2YsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSw4QkFBOEIsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7SUFDSCxDQUFDO0lBRVEsT0FBTzs7UUFDZCxNQUFBLElBQUksQ0FBQyx3QkFBd0IsMENBQUUsV0FBVyxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQztRQUNyQyxNQUFBLElBQUksQ0FBQyxpQkFBaUIsMENBQUUsV0FBVyxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztRQUM5QixNQUFBLElBQUksQ0FBQyxnQkFBZ0IsMENBQUUsV0FBVyxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxNQUF3RDtRQUNwRixJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsd0RBQXdELE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDaEcsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQzthQUN0QyxDQUFDLENBQUM7WUFDSCxPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sbUJBQW1CLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQztRQUM5RCxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsR0FBRyxtQkFBbUIsQ0FBQztRQUV6RixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxxQ0FBcUMsRUFBRTtZQUM5RCxVQUFVO1lBQ1YsVUFBVTtZQUNWLGtCQUFrQjtZQUNsQixpQkFBaUIsRUFBRSxZQUFZLENBQUMsTUFBTTtTQUN2QyxDQUFDLENBQUM7UUFFSCxzREFBc0Q7UUFDdEQsSUFBSSxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDckQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsZ0ZBQWdGLEVBQUU7Z0JBQ3pHLFVBQVU7Z0JBQ1YsVUFBVTtnQkFDVixrQkFBa0I7YUFDbkIsQ0FBQyxDQUFDO1lBQ0gsdUZBQXVGO1lBQ3ZGLDJDQUEyQztZQUMzQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBQ3BELE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsaUNBQWlDLENBQUM7WUFDbkUsWUFBWTtZQUNaLFVBQVU7WUFDVixVQUFVO1NBQ1gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUM7WUFDNUIsVUFBVTtZQUNWLFVBQVU7WUFDVixZQUFZO1lBQ1osa0JBQWtCO1lBQ2xCLHFCQUFxQixFQUFFLHFCQUFxQixDQUFDLE9BQU8sRUFBRTtTQUN2RCxDQUFDLENBQUM7UUFFSCxrRUFBa0U7UUFDbEUsTUFBTSxTQUFTLEdBQUcsSUFBQSx1REFBNEIsRUFBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLHFCQUFxQixFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFFTyxjQUFjLENBQUMsTUFBaUQ7UUFDdEUsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGlEQUFpRCxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3pGLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUM7YUFDdEMsQ0FBQyxDQUFDO1lBQ0gsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMzRixNQUFNLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFFakYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsOEJBQThCLEVBQUU7WUFDdkQsVUFBVSxFQUFFLFVBQVU7WUFDdEIsVUFBVSxFQUFFLFVBQVU7WUFDdEIsZUFBZSxFQUFFLG9CQUFvQixDQUFDLElBQUk7WUFDMUMsYUFBYSxFQUFFLG9CQUFvQixDQUFDLEVBQUU7WUFDdEMsWUFBWSxFQUFFLFlBQVk7WUFDMUIsZ0JBQWdCLEVBQUUsZ0JBQWdCO1lBQ2xDLGNBQWMsRUFBRSxjQUFjO1NBQy9CLENBQUMsQ0FBQztRQUVILE1BQU0sY0FBYyxHQUFHLGNBQWMsYUFBZCxjQUFjLGNBQWQsY0FBYyxHQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUVwRCxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQztZQUM1QixVQUFVO1lBQ1YsVUFBVTtZQUNWLG9CQUFvQjtZQUNwQixjQUFjO1lBQ2QsS0FBSyxFQUFFO2dCQUNMLFlBQVk7Z0JBQ1osZ0JBQWdCO2dCQUNoQixjQUFjO2FBQ2Y7U0FDRixDQUFDLENBQUM7UUFFSCxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUM7WUFDbEUsS0FBSyxFQUFFLG9CQUFvQjtZQUMzQixVQUFVO1lBQ1YsVUFBVTtTQUNYLENBQUMsQ0FBQztRQUVILHlFQUF5RTtRQUN6RSxJQUFJLGtCQUFrQixDQUFDLFdBQVcsSUFBSSxJQUFBLGlDQUFvQixFQUFDLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDM0YsTUFBTSxTQUFTLEdBQUcsSUFBQSxxREFBMEIsRUFBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3JHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNwRCxDQUFDO0lBQ0gsQ0FBQztJQUVPLGtCQUFrQixDQUFDLEdBQVE7UUFDakMsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDO1FBQzlELE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQztJQUMvQixDQUFDO0lBRVEsVUFBVTtRQUNqQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVPLGtCQUFrQixDQUFDLE1BQW1EOztRQUM1RSxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMscURBQXFELE1BQU0sQ0FBQyxNQUFNLEVBQUUsRUFBRTtnQkFDN0YsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQzthQUN0QyxDQUFDLENBQUM7WUFDSCxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLGtDQUFrQyxFQUFFO1lBQzNELElBQUksRUFBRSxNQUFBLE1BQU0sQ0FBQyxJQUFJLDBDQUFFLGdCQUFnQjtTQUNwQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUEsTUFBQSxNQUFNLENBQUMsSUFBSSwwQ0FBRSxnQkFBZ0IsQ0FBQyxhQUFhLE1BQUssb0NBQW9CLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsK0NBQStDLENBQUMsQ0FBQztZQUN4RSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQztRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUMzRSxDQUFDO0lBS3dCLEFBQU4sS0FBSyxDQUFDLHVDQUF1QyxDQUM5RCxNQUFxRDtRQUVyRCxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMxQyxDQUFDO0NBQ0Y7QUExTUQsa0VBME1DO0FBTDBCO0lBSHhCLElBQUEsa0NBQXFCLEVBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQWlELEVBQUUsRUFBRSxDQUNuRyxJQUFBLGdCQUFPLEVBQUMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQzVDOzBGQUtBIn0=
@@ -0,0 +1,6 @@
1
+ import { InMemoryCacheService, CacheInstrumentation, CacheMapper } from '@stigg/cache-core';
2
+ export declare class InMemoryLruCacheService<Input> extends InMemoryCacheService<Input> {
3
+ private static readonly textEncoder;
4
+ static getApproxSizeBytes(obj: any): number;
5
+ constructor(maxSizeBytes: number, instrumentation: CacheInstrumentation, cacheMapper: CacheMapper<Input>);
6
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InMemoryLruCacheService = void 0;
4
+ const lru_cache_1 = require("lru-cache");
5
+ const cache_core_1 = require("@stigg/cache-core");
6
+ class InMemoryLruCacheService extends cache_core_1.InMemoryCacheService {
7
+ static getApproxSizeBytes(obj) {
8
+ return InMemoryLruCacheService.textEncoder.encode(typeof obj === 'string' ? obj : JSON.stringify(obj)).length;
9
+ }
10
+ constructor(maxSizeBytes, instrumentation, cacheMapper) {
11
+ const store = new lru_cache_1.LRUCache({
12
+ maxSize: maxSizeBytes,
13
+ sizeCalculation: (value) => InMemoryLruCacheService.getApproxSizeBytes(value),
14
+ });
15
+ super(store, instrumentation, cacheMapper);
16
+ }
17
+ }
18
+ exports.InMemoryLruCacheService = InMemoryLruCacheService;
19
+ InMemoryLruCacheService.textEncoder = new TextEncoder();
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5NZW1vcnlMcnVDYWNoZVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VydmljZXMvaW5NZW1vcnlMcnVDYWNoZVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUNBQXFDO0FBQ3JDLGtEQUF3SDtBQUV4SCxNQUFhLHVCQUErQixTQUFRLGlDQUEyQjtJQUc3RSxNQUFNLENBQUMsa0JBQWtCLENBQUMsR0FBUTtRQUNoQyxPQUFPLHVCQUF1QixDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDaEgsQ0FBQztJQUVELFlBQVksWUFBb0IsRUFBRSxlQUFxQyxFQUFFLFdBQStCO1FBQ3RHLE1BQU0sS0FBSyxHQUFHLElBQUksb0JBQVEsQ0FBcUM7WUFDN0QsT0FBTyxFQUFFLFlBQVk7WUFDckIsZUFBZSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7U0FDOUUsQ0FBQyxDQUFDO1FBQ0gsS0FBSyxDQUFDLEtBQUssRUFBRSxlQUFlLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDN0MsQ0FBQzs7QUFiSCwwREFjQztBQWJ5QixtQ0FBVyxHQUFHLElBQUksV0FBVyxFQUFFLENBQUMifQ==
@@ -4,7 +4,7 @@ import { ApolloClient, NormalizedCacheObject } from '@apollo/client/core';
4
4
  import { LoggerService } from './loggerService';
5
5
  import { RedisCacheService } from '@stigg/cache-redis-store';
6
6
  import { EdgeApiClient } from './EdgeApiClient';
7
- import { CacheableEntitlement } from '@stigg/cache-core';
7
+ import { CacheableEntitlement } from '@stigg/sdk-core';
8
8
  export declare class RedisEntitlementsService extends EntitlementsService {
9
9
  protected readonly cacheService: RedisCacheService<CacheableEntitlement>;
10
10
  protected readonly graphqlClient: ApolloClient<NormalizedCacheObject>;
@@ -52,4 +52,4 @@ exports.RedisEntitlementsService = RedisEntitlementsService;
52
52
  __decorate([
53
53
  (0, cache_core_1.ReuseOngoingExecution)(({ customerId, resourceId }) => (0, lodash_1.compact)([customerId, resourceId]).join(':'))
54
54
  ], RedisEntitlementsService.prototype, "refetchEntityEntitlementsAfterCacheMiss", null);
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXNFbnRpdGxlbWVudHNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL3JlZGlzRW50aXRsZW1lbnRzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSwrREFBNEQ7QUFNNUQsa0RBQWdGO0FBQ2hGLG1DQUFpQztBQUVqQyxNQUFhLHdCQUF5QixTQUFRLHlDQUFtQjtJQUMvRCxZQUNxQixZQUFxRCxFQUNyRCxhQUFrRCxFQUNsRCxhQUE0QixFQUMvQyxhQUFtQyxFQUNuQyxtQkFBMkI7UUFFM0IsS0FBSyxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBTm5FLGlCQUFZLEdBQVosWUFBWSxDQUF5QztRQUNyRCxrQkFBYSxHQUFiLGFBQWEsQ0FBcUM7UUFDbEQsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFLL0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsQ0FBQyw0Q0FBNEM7SUFDekUsQ0FBQztJQUt3QixBQUFOLEtBQUssQ0FBQyx1Q0FBdUMsQ0FDOUQsTUFBcUQ7UUFFckQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDO1lBQzNDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBRUQsTUFBTSxFQUFFLHFDQUFxQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUNwRSxJQUFJLENBQUMscUNBQXFDLEVBQUUsQ0FBQztZQUMzQyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBRUQsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsR0FBRyxNQUFNLENBQUM7UUFDMUMsTUFBTSxhQUFhLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdELE1BQU0sYUFBYSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUVsRyxPQUFPLHFDQUFxQyxDQUFDLGtDQUFrQyxDQUFDO1lBQzlFLFVBQVU7WUFDVixVQUFVO1lBQ1YsYUFBYTtZQUNiLGFBQWE7U0FDZCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVEsVUFBVTtRQUNqQiw0Q0FBNEM7UUFDNUMsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVRLElBQUk7UUFDWCxrRUFBa0U7UUFDbEUsT0FBTztJQUNULENBQUM7SUFFUSxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JDLENBQUM7Q0FDRjtBQXBERCw0REFvREM7QUFyQzBCO0lBSHhCLElBQUEsa0NBQXFCLEVBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQWlELEVBQUUsRUFBRSxDQUNuRyxJQUFBLGdCQUFPLEVBQUMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQzVDO3VGQXVCQSJ9
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXNFbnRpdGxlbWVudHNTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NlcnZpY2VzL3JlZGlzRW50aXRsZW1lbnRzU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSwrREFBNEQ7QUFNNUQsa0RBQTBEO0FBRTFELG1DQUFpQztBQUVqQyxNQUFhLHdCQUF5QixTQUFRLHlDQUFtQjtJQUMvRCxZQUNxQixZQUFxRCxFQUNyRCxhQUFrRCxFQUNsRCxhQUE0QixFQUMvQyxhQUFtQyxFQUNuQyxtQkFBMkI7UUFFM0IsS0FBSyxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBTm5FLGlCQUFZLEdBQVosWUFBWSxDQUF5QztRQUNyRCxrQkFBYSxHQUFiLGFBQWEsQ0FBcUM7UUFDbEQsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFLL0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsQ0FBQyw0Q0FBNEM7SUFDekUsQ0FBQztJQUt3QixBQUFOLEtBQUssQ0FBQyx1Q0FBdUMsQ0FDOUQsTUFBcUQ7UUFFckQsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLEVBQUUsRUFBRSxDQUFDO1lBQzNDLE1BQU0sSUFBSSxLQUFLLENBQUMsc0RBQXNELENBQUMsQ0FBQztRQUMxRSxDQUFDO1FBRUQsTUFBTSxFQUFFLHFDQUFxQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUNwRSxJQUFJLENBQUMscUNBQXFDLEVBQUUsQ0FBQztZQUMzQyxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBRUQsTUFBTSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsR0FBRyxNQUFNLENBQUM7UUFDMUMsTUFBTSxhQUFhLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzdELE1BQU0sYUFBYSxHQUFHLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsdUJBQXVCLENBQUMsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUVsRyxPQUFPLHFDQUFxQyxDQUFDLGtDQUFrQyxDQUFDO1lBQzlFLFVBQVU7WUFDVixVQUFVO1lBQ1YsYUFBYTtZQUNiLGFBQWE7U0FDZCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRVEsVUFBVTtRQUNqQiw0Q0FBNEM7UUFDNUMsT0FBTyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVRLElBQUk7UUFDWCxrRUFBa0U7UUFDbEUsT0FBTztJQUNULENBQUM7SUFFUSxPQUFPO1FBQ2QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JDLENBQUM7Q0FDRjtBQXBERCw0REFvREM7QUFyQzBCO0lBSHhCLElBQUEsa0NBQXFCLEVBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQWlELEVBQUUsRUFBRSxDQUNuRyxJQUFBLGdCQUFPLEVBQUMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQzVDO3VGQXVCQSJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stigg/node-server-sdk",
3
- "version": "4.37.0",
3
+ "version": "4.38.1",
4
4
  "description": "Stigg server-side node SDK",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -31,9 +31,10 @@
31
31
  "dependencies": {
32
32
  "@apollo/client": "~3.14.0",
33
33
  "@bitauth/libauth": "^1.17.1",
34
- "@stigg/api-client-js": "6.10.0",
35
- "@stigg/cache-core": "1.10.0",
36
- "@stigg/cache-redis-store": "1.10.0",
34
+ "@stigg/api-client-js": "6.10.1",
35
+ "@stigg/cache-core": "1.11.1",
36
+ "@stigg/cache-redis-store": "1.11.1",
37
+ "@stigg/sdk-core": "2.0.1",
37
38
  "@types/ws": "^8.2.3",
38
39
  "axios": "^1.8.2",
39
40
  "axios-retry": "^4.0.0",