@splitsoftware/splitio-commons 1.6.2-rc.7 → 1.6.2-rc.8

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.
@@ -35,9 +35,6 @@ function sdkFactory(params) {
35
35
  impressionsQueueSize: settings.scheduler.impressionsQueueSize,
36
36
  eventsQueueSize: settings.scheduler.eventsQueueSize,
37
37
  uniqueKeysCacheSize: settings.scheduler.uniqueKeysCacheSize,
38
- impressionCountsQueueSize: settings.scheduler.impressionCountsQueueSize,
39
- impressionCountsRefreshRate: settings.scheduler.impressionCountsRefreshRate,
40
- uniqueKeysRefreshRate: settings.scheduler.uniqueKeysRefreshRate,
41
38
  optimize: (0, utils_1.shouldBeOptimized)(settings),
42
39
  // ATM, only used by InLocalStorage
43
40
  matchingKey: (0, key_1.getMatching)(settings.core.key),
@@ -19,9 +19,9 @@ var ImpressionCountsCacheInRedis = /** @class */ (function (_super) {
19
19
  ImpressionCountsCacheInRedis.prototype.postImpressionCountsInRedis = function () {
20
20
  var _this = this;
21
21
  var counts = this.pop();
22
- if (!counts)
23
- return false;
24
22
  var keys = Object.keys(counts);
23
+ if (!keys)
24
+ return Promise.resolve(false);
25
25
  var pipeline = this.redis.pipeline();
26
26
  keys.forEach(function (key) {
27
27
  pipeline.hincrby(_this.key, key, counts[key]);
@@ -35,7 +35,7 @@ var ImpressionCountsCacheInRedis = /** @class */ (function (_super) {
35
35
  })
36
36
  .catch(function (err) {
37
37
  _this.log.error(constants_1.LOG_PREFIX + "Error in impression counts pipeline: " + err + ".");
38
- return false;
38
+ return Promise.resolve(false);
39
39
  });
40
40
  };
41
41
  ImpressionCountsCacheInRedis.prototype.start = function () {
@@ -43,6 +43,7 @@ var ImpressionCountsCacheInRedis = /** @class */ (function (_super) {
43
43
  };
44
44
  ImpressionCountsCacheInRedis.prototype.stop = function () {
45
45
  clearInterval(this.intervalId);
46
+ return this.postImpressionCountsInRedis();
46
47
  };
47
48
  return ImpressionCountsCacheInRedis;
48
49
  }(ImpressionCountsCacheInMemory_1.ImpressionCountsCacheInMemory));
@@ -20,12 +20,12 @@ function InRedisStorage(options) {
20
20
  if (options === void 0) { options = {}; }
21
21
  var prefix = (0, KeyBuilder_1.validatePrefix)(options.prefix);
22
22
  function InRedisStorageFactory(_a) {
23
- var log = _a.log, metadata = _a.metadata, onReadyCb = _a.onReadyCb, impressionsMode = _a.impressionsMode, impressionCountsQueueSize = _a.impressionCountsQueueSize, impressionCountsRefreshRate = _a.impressionCountsRefreshRate, uniqueKeysCacheSize = _a.uniqueKeysCacheSize, uniqueKeysRefreshRate = _a.uniqueKeysRefreshRate;
23
+ var log = _a.log, metadata = _a.metadata, onReadyCb = _a.onReadyCb, impressionsMode = _a.impressionsMode;
24
24
  var keys = new KeyBuilderSS_1.KeyBuilderSS(prefix, metadata);
25
25
  var redisClient = new RedisAdapter_1.RedisAdapter(log, options.options || {});
26
26
  var telemetry = new TelemetryCacheInRedis_1.TelemetryCacheInRedis(log, keys, redisClient);
27
- var impressionCountsCache = impressionsMode !== constants_1.DEBUG ? new ImpressionCountsCacheInRedis_1.ImpressionCountsCacheInRedis(log, keys.buildImpressionsCountKey(), redisClient, impressionCountsQueueSize, impressionCountsRefreshRate) : undefined;
28
- var uniqueKeysCache = impressionsMode === constants_1.NONE ? new uniqueKeysCacheInRedis_1.UniqueKeysCacheInRedis(log, keys.buildUniqueKeysKey(), redisClient, uniqueKeysCacheSize, uniqueKeysRefreshRate) : undefined;
27
+ var impressionCountsCache = impressionsMode !== constants_1.DEBUG ? new ImpressionCountsCacheInRedis_1.ImpressionCountsCacheInRedis(log, keys.buildImpressionsCountKey(), redisClient) : undefined;
28
+ var uniqueKeysCache = impressionsMode === constants_1.NONE ? new uniqueKeysCacheInRedis_1.UniqueKeysCacheInRedis(log, keys.buildUniqueKeysKey(), redisClient) : undefined;
29
29
  // subscription to Redis connect event in order to emit SDK_READY event on consumer mode
30
30
  redisClient.on('connect', function () {
31
31
  onReadyCb();
@@ -47,11 +47,12 @@ function InRedisStorage(options) {
47
47
  // When using REDIS we should:
48
48
  // 1- Disconnect from the storage
49
49
  destroy: function () {
50
- redisClient.disconnect();
50
+ var promises = [];
51
51
  if (impressionCountsCache)
52
- impressionCountsCache.stop();
52
+ promises.push(impressionCountsCache.stop());
53
53
  if (uniqueKeysCache)
54
- uniqueKeysCache.stop();
54
+ promises.push(uniqueKeysCache.stop());
55
+ return Promise.all(promises).then(function () { redisClient.disconnect(); });
55
56
  // @TODO check that caches works as expected when redisClient is disconnected
56
57
  }
57
58
  };
@@ -21,8 +21,10 @@ var UniqueKeysCacheInRedis = /** @class */ (function (_super) {
21
21
  }
22
22
  UniqueKeysCacheInRedis.prototype.postUniqueKeysInRedis = function () {
23
23
  var _this = this;
24
- var pipeline = this.redis.pipeline();
25
24
  var featureNames = Object.keys(this.uniqueKeysTracker);
25
+ if (!featureNames)
26
+ return Promise.resolve(false);
27
+ var pipeline = this.redis.pipeline();
26
28
  for (var i = 0; i < featureNames.length; i++) {
27
29
  var featureName = featureNames[i];
28
30
  var featureKeys = (0, sets_1.setToArray)(this.uniqueKeysTracker[featureName]);
@@ -42,7 +44,7 @@ var UniqueKeysCacheInRedis = /** @class */ (function (_super) {
42
44
  })
43
45
  .catch(function (err) {
44
46
  _this.log.error(constants_2.LOG_PREFIX + "Error in uniqueKeys pipeline: " + err + ".");
45
- return false;
47
+ return Promise.resolve(false);
46
48
  });
47
49
  };
48
50
  UniqueKeysCacheInRedis.prototype.start = function () {
@@ -50,6 +52,7 @@ var UniqueKeysCacheInRedis = /** @class */ (function (_super) {
50
52
  };
51
53
  UniqueKeysCacheInRedis.prototype.stop = function () {
52
54
  clearInterval(this.intervalId);
55
+ return this.postUniqueKeysInRedis();
53
56
  };
54
57
  return UniqueKeysCacheInRedis;
55
58
  }(uniqueKeysCacheInMemory_1.UniqueKeysCacheInMemory));
@@ -115,7 +115,6 @@ function settingsValidation(config, validationParams) {
115
115
  scheduler.offlineRefreshRate = fromSecondsToMillis(scheduler.offlineRefreshRate);
116
116
  scheduler.eventsPushRate = fromSecondsToMillis(scheduler.eventsPushRate);
117
117
  scheduler.uniqueKeysRefreshRate = fromSecondsToMillis(scheduler.uniqueKeysRefreshRate);
118
- scheduler.impressionCountsRefreshRate = fromSecondsToMillis(scheduler.impressionCountsRefreshRate);
119
118
  scheduler.telemetryRefreshRate = fromSecondsToMillis(validateMinValue('telemetryRefreshRate', scheduler.telemetryRefreshRate, 60));
120
119
  // Default impressionsRefreshRate for DEBUG mode is 60 secs
121
120
  if ((0, lang_1.get)(config, 'scheduler.impressionsRefreshRate') === undefined && withDefaults.sync.impressionsMode === constants_1.DEBUG)
@@ -32,9 +32,6 @@ export function sdkFactory(params) {
32
32
  impressionsQueueSize: settings.scheduler.impressionsQueueSize,
33
33
  eventsQueueSize: settings.scheduler.eventsQueueSize,
34
34
  uniqueKeysCacheSize: settings.scheduler.uniqueKeysCacheSize,
35
- impressionCountsQueueSize: settings.scheduler.impressionCountsQueueSize,
36
- impressionCountsRefreshRate: settings.scheduler.impressionCountsRefreshRate,
37
- uniqueKeysRefreshRate: settings.scheduler.uniqueKeysRefreshRate,
38
35
  optimize: shouldBeOptimized(settings),
39
36
  // ATM, only used by InLocalStorage
40
37
  matchingKey: getMatching(settings.core.key),
@@ -16,9 +16,9 @@ var ImpressionCountsCacheInRedis = /** @class */ (function (_super) {
16
16
  ImpressionCountsCacheInRedis.prototype.postImpressionCountsInRedis = function () {
17
17
  var _this = this;
18
18
  var counts = this.pop();
19
- if (!counts)
20
- return false;
21
19
  var keys = Object.keys(counts);
20
+ if (!keys)
21
+ return Promise.resolve(false);
22
22
  var pipeline = this.redis.pipeline();
23
23
  keys.forEach(function (key) {
24
24
  pipeline.hincrby(_this.key, key, counts[key]);
@@ -32,7 +32,7 @@ var ImpressionCountsCacheInRedis = /** @class */ (function (_super) {
32
32
  })
33
33
  .catch(function (err) {
34
34
  _this.log.error(LOG_PREFIX + "Error in impression counts pipeline: " + err + ".");
35
- return false;
35
+ return Promise.resolve(false);
36
36
  });
37
37
  };
38
38
  ImpressionCountsCacheInRedis.prototype.start = function () {
@@ -40,6 +40,7 @@ var ImpressionCountsCacheInRedis = /** @class */ (function (_super) {
40
40
  };
41
41
  ImpressionCountsCacheInRedis.prototype.stop = function () {
42
42
  clearInterval(this.intervalId);
43
+ return this.postImpressionCountsInRedis();
43
44
  };
44
45
  return ImpressionCountsCacheInRedis;
45
46
  }(ImpressionCountsCacheInMemory));
@@ -17,12 +17,12 @@ export function InRedisStorage(options) {
17
17
  if (options === void 0) { options = {}; }
18
18
  var prefix = validatePrefix(options.prefix);
19
19
  function InRedisStorageFactory(_a) {
20
- var log = _a.log, metadata = _a.metadata, onReadyCb = _a.onReadyCb, impressionsMode = _a.impressionsMode, impressionCountsQueueSize = _a.impressionCountsQueueSize, impressionCountsRefreshRate = _a.impressionCountsRefreshRate, uniqueKeysCacheSize = _a.uniqueKeysCacheSize, uniqueKeysRefreshRate = _a.uniqueKeysRefreshRate;
20
+ var log = _a.log, metadata = _a.metadata, onReadyCb = _a.onReadyCb, impressionsMode = _a.impressionsMode;
21
21
  var keys = new KeyBuilderSS(prefix, metadata);
22
22
  var redisClient = new RedisAdapter(log, options.options || {});
23
23
  var telemetry = new TelemetryCacheInRedis(log, keys, redisClient);
24
- var impressionCountsCache = impressionsMode !== DEBUG ? new ImpressionCountsCacheInRedis(log, keys.buildImpressionsCountKey(), redisClient, impressionCountsQueueSize, impressionCountsRefreshRate) : undefined;
25
- var uniqueKeysCache = impressionsMode === NONE ? new UniqueKeysCacheInRedis(log, keys.buildUniqueKeysKey(), redisClient, uniqueKeysCacheSize, uniqueKeysRefreshRate) : undefined;
24
+ var impressionCountsCache = impressionsMode !== DEBUG ? new ImpressionCountsCacheInRedis(log, keys.buildImpressionsCountKey(), redisClient) : undefined;
25
+ var uniqueKeysCache = impressionsMode === NONE ? new UniqueKeysCacheInRedis(log, keys.buildUniqueKeysKey(), redisClient) : undefined;
26
26
  // subscription to Redis connect event in order to emit SDK_READY event on consumer mode
27
27
  redisClient.on('connect', function () {
28
28
  onReadyCb();
@@ -44,11 +44,12 @@ export function InRedisStorage(options) {
44
44
  // When using REDIS we should:
45
45
  // 1- Disconnect from the storage
46
46
  destroy: function () {
47
- redisClient.disconnect();
47
+ var promises = [];
48
48
  if (impressionCountsCache)
49
- impressionCountsCache.stop();
49
+ promises.push(impressionCountsCache.stop());
50
50
  if (uniqueKeysCache)
51
- uniqueKeysCache.stop();
51
+ promises.push(uniqueKeysCache.stop());
52
+ return Promise.all(promises).then(function () { redisClient.disconnect(); });
52
53
  // @TODO check that caches works as expected when redisClient is disconnected
53
54
  }
54
55
  };
@@ -18,8 +18,10 @@ var UniqueKeysCacheInRedis = /** @class */ (function (_super) {
18
18
  }
19
19
  UniqueKeysCacheInRedis.prototype.postUniqueKeysInRedis = function () {
20
20
  var _this = this;
21
- var pipeline = this.redis.pipeline();
22
21
  var featureNames = Object.keys(this.uniqueKeysTracker);
22
+ if (!featureNames)
23
+ return Promise.resolve(false);
24
+ var pipeline = this.redis.pipeline();
23
25
  for (var i = 0; i < featureNames.length; i++) {
24
26
  var featureName = featureNames[i];
25
27
  var featureKeys = setToArray(this.uniqueKeysTracker[featureName]);
@@ -39,7 +41,7 @@ var UniqueKeysCacheInRedis = /** @class */ (function (_super) {
39
41
  })
40
42
  .catch(function (err) {
41
43
  _this.log.error(LOG_PREFIX + "Error in uniqueKeys pipeline: " + err + ".");
42
- return false;
44
+ return Promise.resolve(false);
43
45
  });
44
46
  };
45
47
  UniqueKeysCacheInRedis.prototype.start = function () {
@@ -47,6 +49,7 @@ var UniqueKeysCacheInRedis = /** @class */ (function (_super) {
47
49
  };
48
50
  UniqueKeysCacheInRedis.prototype.stop = function () {
49
51
  clearInterval(this.intervalId);
52
+ return this.postUniqueKeysInRedis();
50
53
  };
51
54
  return UniqueKeysCacheInRedis;
52
55
  }(UniqueKeysCacheInMemory));
@@ -112,7 +112,6 @@ export function settingsValidation(config, validationParams) {
112
112
  scheduler.offlineRefreshRate = fromSecondsToMillis(scheduler.offlineRefreshRate);
113
113
  scheduler.eventsPushRate = fromSecondsToMillis(scheduler.eventsPushRate);
114
114
  scheduler.uniqueKeysRefreshRate = fromSecondsToMillis(scheduler.uniqueKeysRefreshRate);
115
- scheduler.impressionCountsRefreshRate = fromSecondsToMillis(scheduler.impressionCountsRefreshRate);
116
115
  scheduler.telemetryRefreshRate = fromSecondsToMillis(validateMinValue('telemetryRefreshRate', scheduler.telemetryRefreshRate, 60));
117
116
  // Default impressionsRefreshRate for DEBUG mode is 60 secs
118
117
  if (get(config, 'scheduler.impressionsRefreshRate') === undefined && withDefaults.sync.impressionsMode === DEBUG)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@splitsoftware/splitio-commons",
3
- "version": "1.6.2-rc.7",
3
+ "version": "1.6.2-rc.8",
4
4
  "description": "Split Javascript SDK common components",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
@@ -44,9 +44,6 @@ export function sdkFactory(params: ISdkFactoryParams): SplitIO.ICsSDK | SplitIO.
44
44
  impressionsQueueSize: settings.scheduler.impressionsQueueSize,
45
45
  eventsQueueSize: settings.scheduler.eventsQueueSize,
46
46
  uniqueKeysCacheSize: settings.scheduler.uniqueKeysCacheSize,
47
- impressionCountsQueueSize: settings.scheduler.impressionCountsQueueSize,
48
- impressionCountsRefreshRate: settings.scheduler.impressionCountsRefreshRate,
49
- uniqueKeysRefreshRate: settings.scheduler.uniqueKeysRefreshRate,
50
47
  optimize: shouldBeOptimized(settings),
51
48
 
52
49
  // ATM, only used by InLocalStorage
@@ -22,8 +22,8 @@ export class ImpressionCountsCacheInRedis extends ImpressionCountsCacheInMemory
22
22
 
23
23
  postImpressionCountsInRedis(){
24
24
  const counts = this.pop();
25
- if (!counts) return false;
26
25
  const keys = Object.keys(counts);
26
+ if (!keys) return Promise.resolve(false);
27
27
  const pipeline = this.redis.pipeline();
28
28
  keys.forEach(key => {
29
29
  pipeline.hincrby(this.key, key, counts[key]);
@@ -37,7 +37,7 @@ export class ImpressionCountsCacheInRedis extends ImpressionCountsCacheInMemory
37
37
  })
38
38
  .catch(err => {
39
39
  this.log.error(`${LOG_PREFIX}Error in impression counts pipeline: ${err}.`);
40
- return false;
40
+ return Promise.resolve(false);
41
41
  });
42
42
  }
43
43
 
@@ -47,5 +47,6 @@ export class ImpressionCountsCacheInRedis extends ImpressionCountsCacheInMemory
47
47
 
48
48
  stop() {
49
49
  clearInterval(this.intervalId);
50
+ return this.postImpressionCountsInRedis();
50
51
  }
51
52
  }
@@ -24,12 +24,12 @@ export function InRedisStorage(options: InRedisStorageOptions = {}): IStorageAsy
24
24
 
25
25
  const prefix = validatePrefix(options.prefix);
26
26
 
27
- function InRedisStorageFactory({ log, metadata, onReadyCb, impressionsMode, impressionCountsQueueSize, impressionCountsRefreshRate, uniqueKeysCacheSize, uniqueKeysRefreshRate }: IStorageFactoryParams): IStorageAsync {
27
+ function InRedisStorageFactory({ log, metadata, onReadyCb, impressionsMode }: IStorageFactoryParams): IStorageAsync {
28
28
  const keys = new KeyBuilderSS(prefix, metadata);
29
29
  const redisClient = new RedisAdapter(log, options.options || {});
30
30
  const telemetry = new TelemetryCacheInRedis(log, keys, redisClient);
31
- const impressionCountsCache = impressionsMode !== DEBUG ? new ImpressionCountsCacheInRedis(log, keys.buildImpressionsCountKey(), redisClient, impressionCountsQueueSize, impressionCountsRefreshRate) : undefined;
32
- const uniqueKeysCache = impressionsMode === NONE ? new UniqueKeysCacheInRedis(log, keys.buildUniqueKeysKey(), redisClient, uniqueKeysCacheSize, uniqueKeysRefreshRate) : undefined;
31
+ const impressionCountsCache = impressionsMode !== DEBUG ? new ImpressionCountsCacheInRedis(log, keys.buildImpressionsCountKey(), redisClient) : undefined;
32
+ const uniqueKeysCache = impressionsMode === NONE ? new UniqueKeysCacheInRedis(log, keys.buildUniqueKeysKey(), redisClient) : undefined;
33
33
 
34
34
  // subscription to Redis connect event in order to emit SDK_READY event on consumer mode
35
35
  redisClient.on('connect', () => {
@@ -52,10 +52,11 @@ export function InRedisStorage(options: InRedisStorageOptions = {}): IStorageAsy
52
52
 
53
53
  // When using REDIS we should:
54
54
  // 1- Disconnect from the storage
55
- destroy() {
56
- redisClient.disconnect();
57
- if (impressionCountsCache) impressionCountsCache.stop();
58
- if (uniqueKeysCache) uniqueKeysCache.stop();
55
+ destroy(): Promise<void>{
56
+ let promises = [];
57
+ if (impressionCountsCache) promises.push(impressionCountsCache.stop());
58
+ if (uniqueKeysCache) promises.push(uniqueKeysCache.stop());
59
+ return Promise.all(promises).then(() => { redisClient.disconnect(); });
59
60
  // @TODO check that caches works as expected when redisClient is disconnected
60
61
  }
61
62
  };
@@ -24,9 +24,9 @@ export class UniqueKeysCacheInRedis extends UniqueKeysCacheInMemory implements I
24
24
  }
25
25
 
26
26
  postUniqueKeysInRedis() {
27
- const pipeline = this.redis.pipeline();
28
-
29
27
  const featureNames = Object.keys(this.uniqueKeysTracker);
28
+ if (!featureNames) return Promise.resolve(false);
29
+ const pipeline = this.redis.pipeline();
30
30
  for (let i = 0; i < featureNames.length; i++) {
31
31
  const featureName = featureNames[i];
32
32
  const featureKeys = setToArray(this.uniqueKeysTracker[featureName]);
@@ -47,7 +47,7 @@ export class UniqueKeysCacheInRedis extends UniqueKeysCacheInMemory implements I
47
47
  })
48
48
  .catch(err => {
49
49
  this.log.error(`${LOG_PREFIX}Error in uniqueKeys pipeline: ${err}.`);
50
- return false;
50
+ return Promise.resolve(false);
51
51
  });
52
52
  }
53
53
 
@@ -58,6 +58,7 @@ export class UniqueKeysCacheInRedis extends UniqueKeysCacheInMemory implements I
58
58
 
59
59
  stop() {
60
60
  clearInterval(this.intervalId);
61
+ return this.postUniqueKeysInRedis();
61
62
  }
62
63
 
63
64
  }
@@ -498,10 +498,7 @@ export type DataLoader = (storage: IStorageSync, matchingKey: string) => void
498
498
  export interface IStorageFactoryParams {
499
499
  log: ILogger,
500
500
  impressionsQueueSize?: number,
501
- impressionCountsQueueSize?: number,
502
- impressionCountsRefreshRate?: number,
503
- uniqueKeysRefreshRate?: number,
504
- uniqueKeysCacheSize?: number,
501
+ uniqueKeysCacheSize?: number;
505
502
  eventsQueueSize?: number,
506
503
  optimize?: boolean /* whether create the `impressionCounts` cache (OPTIMIZED impression mode) or not (DEBUG impression mode) */,
507
504
  mode: SDKMode,
package/src/types.ts CHANGED
@@ -80,8 +80,6 @@ export interface ISettings {
80
80
  featuresRefreshRate: number,
81
81
  impressionsRefreshRate: number,
82
82
  impressionsQueueSize: number,
83
- impressionCountsRefreshRate: number,
84
- impressionCountsQueueSize: number,
85
83
  uniqueKeysRefreshRate: number,
86
84
  uniqueKeysCacheSize: number,
87
85
  /**
@@ -133,7 +133,6 @@ export function settingsValidation(config: unknown, validationParams: ISettingsV
133
133
  scheduler.offlineRefreshRate = fromSecondsToMillis(scheduler.offlineRefreshRate);
134
134
  scheduler.eventsPushRate = fromSecondsToMillis(scheduler.eventsPushRate);
135
135
  scheduler.uniqueKeysRefreshRate = fromSecondsToMillis(scheduler.uniqueKeysRefreshRate);
136
- scheduler.impressionCountsRefreshRate = fromSecondsToMillis(scheduler.impressionCountsRefreshRate);
137
136
  scheduler.telemetryRefreshRate = fromSecondsToMillis(validateMinValue('telemetryRefreshRate', scheduler.telemetryRefreshRate, 60));
138
137
 
139
138
  // Default impressionsRefreshRate for DEBUG mode is 60 secs
@@ -8,7 +8,7 @@ export declare class ImpressionCountsCacheInRedis extends ImpressionCountsCacheI
8
8
  private readonly refreshRate;
9
9
  private intervalId;
10
10
  constructor(log: ILogger, key: string, redis: Redis, impressionCountsCacheSize?: number, refreshRate?: number);
11
- postImpressionCountsInRedis(): false | Promise<boolean | import("ioredis").BooleanResponse | undefined>;
11
+ postImpressionCountsInRedis(): Promise<boolean | import("ioredis").BooleanResponse | undefined>;
12
12
  start(): void;
13
- stop(): void;
13
+ stop(): Promise<boolean | import("ioredis").BooleanResponse | undefined>;
14
14
  }
@@ -11,5 +11,5 @@ export declare class UniqueKeysCacheInRedis extends UniqueKeysCacheInMemory impl
11
11
  constructor(log: ILogger, key: string, redis: Redis, uniqueKeysQueueSize?: number, refreshRate?: number);
12
12
  postUniqueKeysInRedis(): Promise<boolean | import("ioredis").BooleanResponse | undefined>;
13
13
  start(): void;
14
- stop(): void;
14
+ stop(): Promise<boolean | import("ioredis").BooleanResponse | undefined>;
15
15
  }
@@ -393,9 +393,6 @@ export declare type DataLoader = (storage: IStorageSync, matchingKey: string) =>
393
393
  export interface IStorageFactoryParams {
394
394
  log: ILogger;
395
395
  impressionsQueueSize?: number;
396
- impressionCountsQueueSize?: number;
397
- impressionCountsRefreshRate?: number;
398
- uniqueKeysRefreshRate?: number;
399
396
  uniqueKeysCacheSize?: number;
400
397
  eventsQueueSize?: number;
401
398
  optimize?: boolean;
package/types/types.d.ts CHANGED
@@ -74,8 +74,6 @@ export interface ISettings {
74
74
  featuresRefreshRate: number;
75
75
  impressionsRefreshRate: number;
76
76
  impressionsQueueSize: number;
77
- impressionCountsRefreshRate: number;
78
- impressionCountsQueueSize: number;
79
77
  uniqueKeysRefreshRate: number;
80
78
  uniqueKeysCacheSize: number;
81
79
  /**