@splitsoftware/splitio-commons 1.6.2-rc.2 → 1.6.2-rc.3

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 (315) hide show
  1. package/cjs/listeners/browser.js +1 -2
  2. package/cjs/logger/constants.js +1 -2
  3. package/cjs/sdkFactory/index.js +6 -14
  4. package/cjs/services/splitApi.js +1 -20
  5. package/cjs/storages/inLocalStorage/index.js +0 -4
  6. package/cjs/storages/inMemory/InMemoryStorage.js +1 -5
  7. package/cjs/storages/inMemory/InMemoryStorageCS.js +1 -5
  8. package/cjs/sync/submitters/submitterManager.js +0 -3
  9. package/cjs/sync/submitters/telemetrySubmitter.js +0 -1
  10. package/cjs/trackers/impressionsTracker.js +28 -7
  11. package/cjs/utils/constants/index.js +2 -4
  12. package/cjs/utils/key/index.js +1 -1
  13. package/cjs/utils/settingsValidation/impressionsMode.js +2 -2
  14. package/cjs/utils/settingsValidation/index.js +1 -3
  15. package/esm/listeners/browser.js +2 -3
  16. package/esm/logger/constants.js +0 -1
  17. package/esm/sdkFactory/index.js +6 -14
  18. package/esm/services/splitApi.js +1 -20
  19. package/esm/storages/inLocalStorage/index.js +1 -5
  20. package/esm/storages/inMemory/InMemoryStorage.js +2 -6
  21. package/esm/storages/inMemory/InMemoryStorageCS.js +2 -6
  22. package/esm/sync/submitters/submitterManager.js +0 -3
  23. package/esm/sync/submitters/telemetrySubmitter.js +1 -2
  24. package/esm/trackers/impressionsTracker.js +28 -7
  25. package/esm/utils/constants/index.js +0 -2
  26. package/esm/utils/key/index.js +1 -1
  27. package/esm/utils/settingsValidation/impressionsMode.js +3 -3
  28. package/esm/utils/settingsValidation/index.js +1 -3
  29. package/package.json +2 -2
  30. package/src/consent/sdkUserConsent.ts +4 -3
  31. package/src/dtos/types.ts +0 -8
  32. package/src/evaluator/Engine.ts +3 -3
  33. package/src/evaluator/combiners/and.ts +1 -1
  34. package/src/evaluator/combiners/ifelseif.ts +3 -3
  35. package/src/evaluator/condition/engineUtils.ts +1 -1
  36. package/src/evaluator/condition/index.ts +6 -6
  37. package/src/evaluator/index.ts +10 -10
  38. package/src/evaluator/matchers/all.ts +1 -1
  39. package/src/evaluator/matchers/between.ts +1 -1
  40. package/src/evaluator/matchers/boolean.ts +1 -1
  41. package/src/evaluator/matchers/cont_all.ts +1 -1
  42. package/src/evaluator/matchers/cont_any.ts +1 -1
  43. package/src/evaluator/matchers/cont_str.ts +1 -1
  44. package/src/evaluator/matchers/dependency.ts +1 -1
  45. package/src/evaluator/matchers/eq.ts +1 -1
  46. package/src/evaluator/matchers/eq_set.ts +1 -1
  47. package/src/evaluator/matchers/ew.ts +1 -1
  48. package/src/evaluator/matchers/gte.ts +1 -1
  49. package/src/evaluator/matchers/index.ts +1 -1
  50. package/src/evaluator/matchers/lte.ts +1 -1
  51. package/src/evaluator/matchers/part_of.ts +1 -1
  52. package/src/evaluator/matchers/segment.ts +1 -1
  53. package/src/evaluator/matchers/string.ts +1 -1
  54. package/src/evaluator/matchers/sw.ts +1 -1
  55. package/src/evaluator/matchers/whitelist.ts +1 -1
  56. package/src/evaluator/parser/index.ts +3 -3
  57. package/src/evaluator/types.ts +6 -6
  58. package/src/evaluator/value/index.ts +4 -4
  59. package/src/evaluator/value/sanitize.ts +4 -4
  60. package/src/integrations/ga/GaToSplit.ts +6 -6
  61. package/src/integrations/ga/SplitToGa.ts +10 -10
  62. package/src/integrations/ga/types.ts +4 -4
  63. package/src/integrations/pluggable.ts +3 -3
  64. package/src/integrations/types.ts +2 -2
  65. package/src/listeners/browser.ts +2 -3
  66. package/src/logger/.DS_Store +0 -0
  67. package/src/logger/constants.ts +0 -1
  68. package/src/logger/index.ts +3 -3
  69. package/src/logger/sdkLogger.ts +1 -2
  70. package/src/logger/types.ts +0 -16
  71. package/src/readiness/sdkReadinessManager.ts +1 -1
  72. package/src/readiness/types.ts +2 -9
  73. package/src/sdkClient/client.ts +13 -13
  74. package/src/sdkClient/clientAttributesDecoration.ts +9 -9
  75. package/src/sdkClient/clientCS.ts +3 -4
  76. package/src/sdkClient/clientInputValidation.ts +15 -15
  77. package/src/sdkClient/sdkClient.ts +2 -2
  78. package/src/sdkClient/sdkClientMethod.ts +2 -2
  79. package/src/sdkClient/sdkClientMethodCS.ts +9 -9
  80. package/src/sdkClient/sdkClientMethodCSWithTT.ts +9 -9
  81. package/src/sdkFactory/index.ts +8 -18
  82. package/src/sdkFactory/types.ts +8 -11
  83. package/src/sdkManager/index.ts +5 -5
  84. package/src/services/splitApi.ts +1 -22
  85. package/src/services/types.ts +0 -6
  86. package/src/storages/dataLoader.ts +2 -2
  87. package/src/storages/inLocalStorage/MySegmentsCacheInLocal.ts +1 -1
  88. package/src/storages/inLocalStorage/SplitsCacheInLocal.ts +2 -2
  89. package/src/storages/inLocalStorage/index.ts +4 -6
  90. package/src/storages/inMemory/EventsCacheInMemory.ts +4 -4
  91. package/src/storages/inMemory/InMemoryStorage.ts +2 -5
  92. package/src/storages/inMemory/InMemoryStorageCS.ts +2 -6
  93. package/src/storages/inRedis/EventsCacheInRedis.ts +4 -4
  94. package/src/storages/inRedis/ImpressionsCacheInRedis.ts +1 -1
  95. package/src/storages/inRedis/RedisAdapter.ts +1 -1
  96. package/src/storages/inRedis/SegmentsCacheInRedis.ts +1 -1
  97. package/src/storages/inRedis/SplitsCacheInRedis.ts +1 -1
  98. package/src/storages/inRedis/TelemetryCacheInRedis.ts +1 -1
  99. package/src/storages/inRedis/index.ts +3 -2
  100. package/src/storages/pluggable/EventsCachePluggable.ts +4 -4
  101. package/src/storages/pluggable/ImpressionsCachePluggable.ts +1 -1
  102. package/src/storages/pluggable/SegmentsCachePluggable.ts +1 -1
  103. package/src/storages/pluggable/SplitsCachePluggable.ts +1 -1
  104. package/src/storages/pluggable/TelemetryCachePluggable.ts +1 -1
  105. package/src/storages/pluggable/index.ts +3 -3
  106. package/src/storages/pluggable/wrapperAdapter.ts +1 -1
  107. package/src/storages/types.ts +48 -40
  108. package/src/sync/offline/LocalhostFromObject.ts +4 -4
  109. package/src/sync/offline/splitsParser/splitsParserFromSettings.ts +8 -8
  110. package/src/sync/polling/updaters/mySegmentsUpdater.ts +1 -1
  111. package/src/sync/polling/updaters/segmentChangesUpdater.ts +1 -1
  112. package/src/sync/polling/updaters/splitChangesUpdater.ts +1 -1
  113. package/src/sync/streaming/SSEHandler/index.ts +1 -1
  114. package/src/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.ts +1 -1
  115. package/src/sync/streaming/UpdateWorkers/SplitsUpdateWorker.ts +1 -1
  116. package/src/sync/submitters/submitter.ts +1 -1
  117. package/src/sync/submitters/submitterManager.ts +0 -2
  118. package/src/sync/submitters/telemetrySubmitter.ts +3 -4
  119. package/src/sync/submitters/types.ts +3 -22
  120. package/src/sync/syncTask.ts +1 -1
  121. package/src/trackers/eventTracker.ts +3 -3
  122. package/src/trackers/impressionsTracker.ts +38 -15
  123. package/src/trackers/types.ts +4 -30
  124. package/src/types.d.ts +1646 -0
  125. package/src/utils/constants/index.ts +1 -3
  126. package/src/utils/inputValidation/apiKey.ts +1 -1
  127. package/src/utils/inputValidation/attribute.ts +1 -1
  128. package/src/utils/inputValidation/attributes.ts +3 -3
  129. package/src/utils/inputValidation/event.ts +1 -1
  130. package/src/utils/inputValidation/eventProperties.ts +3 -3
  131. package/src/utils/inputValidation/eventValue.ts +1 -1
  132. package/src/utils/inputValidation/isOperational.ts +1 -1
  133. package/src/utils/inputValidation/key.ts +3 -3
  134. package/src/utils/inputValidation/preloadedData.ts +3 -3
  135. package/src/utils/inputValidation/split.ts +1 -1
  136. package/src/utils/inputValidation/splitExistance.ts +1 -1
  137. package/src/utils/inputValidation/splits.ts +1 -1
  138. package/src/utils/inputValidation/trafficType.ts +1 -1
  139. package/src/utils/inputValidation/trafficTypeExistance.ts +1 -1
  140. package/src/utils/key/index.ts +9 -9
  141. package/src/utils/settingsValidation/consent.ts +1 -2
  142. package/src/utils/settingsValidation/impressionsMode.ts +6 -6
  143. package/src/utils/settingsValidation/index.ts +1 -4
  144. package/src/utils/settingsValidation/integrations/common.ts +1 -1
  145. package/src/utils/settingsValidation/integrations/configurable.ts +1 -1
  146. package/src/utils/settingsValidation/integrations/pluggable.ts +1 -2
  147. package/src/utils/settingsValidation/localhost/builtin.ts +1 -2
  148. package/src/utils/settingsValidation/localhost/pluggable.ts +1 -2
  149. package/src/utils/settingsValidation/logger/builtinLogger.ts +1 -2
  150. package/src/utils/settingsValidation/logger/pluggableLogger.ts +1 -2
  151. package/src/utils/settingsValidation/splitFilters.ts +7 -9
  152. package/src/utils/settingsValidation/storage/storageCS.ts +1 -2
  153. package/types/consent/sdkUserConsent.d.ts +2 -9
  154. package/types/dtos/types.d.ts +0 -6
  155. package/types/evaluator/Engine.d.ts +3 -3
  156. package/types/evaluator/combiners/and.d.ts +1 -1
  157. package/types/evaluator/combiners/ifelseif.d.ts +1 -1
  158. package/types/evaluator/condition/engineUtils.d.ts +1 -1
  159. package/types/evaluator/condition/index.d.ts +1 -1
  160. package/types/evaluator/index.d.ts +4 -4
  161. package/types/evaluator/matchers/all.d.ts +1 -1
  162. package/types/evaluator/matchers/between.d.ts +1 -1
  163. package/types/evaluator/matchers/boolean.d.ts +1 -1
  164. package/types/evaluator/matchers/cont_all.d.ts +1 -1
  165. package/types/evaluator/matchers/cont_any.d.ts +1 -1
  166. package/types/evaluator/matchers/cont_str.d.ts +1 -1
  167. package/types/evaluator/matchers/dependency.d.ts +1 -1
  168. package/types/evaluator/matchers/eq.d.ts +1 -1
  169. package/types/evaluator/matchers/eq_set.d.ts +1 -1
  170. package/types/evaluator/matchers/ew.d.ts +1 -1
  171. package/types/evaluator/matchers/gte.d.ts +1 -1
  172. package/types/evaluator/matchers/index.d.ts +1 -1
  173. package/types/evaluator/matchers/lte.d.ts +1 -1
  174. package/types/evaluator/matchers/part_of.d.ts +1 -1
  175. package/types/evaluator/matchers/segment.d.ts +1 -1
  176. package/types/evaluator/matchers/string.d.ts +1 -1
  177. package/types/evaluator/matchers/sw.d.ts +1 -1
  178. package/types/evaluator/matchers/whitelist.d.ts +1 -1
  179. package/types/evaluator/parser/index.d.ts +1 -1
  180. package/types/evaluator/types.d.ts +6 -6
  181. package/types/evaluator/value/index.d.ts +3 -3
  182. package/types/evaluator/value/sanitize.d.ts +3 -3
  183. package/types/integrations/ga/GaToSplit.d.ts +4 -4
  184. package/types/integrations/ga/SplitToGa.d.ts +4 -4
  185. package/types/integrations/ga/types.d.ts +4 -4
  186. package/types/integrations/types.d.ts +2 -2
  187. package/types/logger/constants.d.ts +0 -1
  188. package/types/logger/index.d.ts +3 -5
  189. package/types/logger/sdkLogger.d.ts +1 -2
  190. package/types/logger/types.d.ts +0 -11
  191. package/types/readiness/sdkReadinessManager.d.ts +1 -1
  192. package/types/readiness/types.d.ts +2 -8
  193. package/types/sdkClient/client.d.ts +2 -2
  194. package/types/sdkClient/clientAttributesDecoration.d.ts +8 -8
  195. package/types/sdkClient/clientCS.d.ts +2 -3
  196. package/types/sdkClient/clientInputValidation.d.ts +2 -2
  197. package/types/sdkClient/sdkClient.d.ts +2 -2
  198. package/types/sdkClient/sdkClientMethod.d.ts +2 -2
  199. package/types/sdkClient/sdkClientMethodCS.d.ts +2 -2
  200. package/types/sdkClient/sdkClientMethodCSWithTT.d.ts +2 -2
  201. package/types/sdkFactory/index.d.ts +2 -2
  202. package/types/sdkFactory/types.d.ts +8 -10
  203. package/types/sdkManager/index.d.ts +3 -3
  204. package/types/services/types.d.ts +0 -4
  205. package/types/storages/dataLoader.d.ts +2 -2
  206. package/types/storages/inLocalStorage/MySegmentsCacheInLocal.d.ts +1 -1
  207. package/types/storages/inLocalStorage/SplitsCacheInLocal.d.ts +1 -2
  208. package/types/storages/inLocalStorage/index.d.ts +2 -2
  209. package/types/storages/inMemory/EventsCacheInMemory.d.ts +3 -3
  210. package/types/storages/inMemory/InMemoryStorage.d.ts +1 -1
  211. package/types/storages/inMemory/InMemoryStorageCS.d.ts +1 -1
  212. package/types/storages/inRedis/EventsCacheInRedis.d.ts +3 -3
  213. package/types/storages/inRedis/ImpressionsCacheInRedis.d.ts +1 -1
  214. package/types/storages/inRedis/RedisAdapter.d.ts +1 -1
  215. package/types/storages/inRedis/SegmentsCacheInRedis.d.ts +1 -1
  216. package/types/storages/inRedis/SplitsCacheInRedis.d.ts +1 -1
  217. package/types/storages/inRedis/TelemetryCacheInRedis.d.ts +1 -1
  218. package/types/storages/inRedis/index.d.ts +2 -2
  219. package/types/storages/pluggable/EventsCachePluggable.d.ts +3 -3
  220. package/types/storages/pluggable/ImpressionsCachePluggable.d.ts +1 -1
  221. package/types/storages/pluggable/SegmentsCachePluggable.d.ts +1 -1
  222. package/types/storages/pluggable/SplitsCachePluggable.d.ts +1 -1
  223. package/types/storages/pluggable/TelemetryCachePluggable.d.ts +1 -1
  224. package/types/storages/pluggable/index.d.ts +3 -2
  225. package/types/storages/pluggable/wrapperAdapter.d.ts +1 -1
  226. package/types/storages/types.d.ts +46 -30
  227. package/types/sync/offline/LocalhostFromObject.d.ts +2 -2
  228. package/types/sync/polling/updaters/mySegmentsUpdater.d.ts +1 -1
  229. package/types/sync/polling/updaters/segmentChangesUpdater.d.ts +1 -1
  230. package/types/sync/polling/updaters/splitChangesUpdater.d.ts +1 -1
  231. package/types/sync/streaming/SSEHandler/index.d.ts +1 -1
  232. package/types/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.d.ts +1 -1
  233. package/types/sync/streaming/UpdateWorkers/SplitsUpdateWorker.d.ts +1 -1
  234. package/types/sync/submitters/submitter.d.ts +1 -1
  235. package/types/sync/submitters/types.d.ts +3 -20
  236. package/types/sync/syncTask.d.ts +1 -1
  237. package/types/trackers/impressionsTracker.d.ts +6 -4
  238. package/types/trackers/types.d.ts +4 -25
  239. package/types/utils/constants/index.d.ts +1 -3
  240. package/types/utils/inputValidation/apiKey.d.ts +1 -1
  241. package/types/utils/inputValidation/attribute.d.ts +1 -1
  242. package/types/utils/inputValidation/attributes.d.ts +3 -3
  243. package/types/utils/inputValidation/event.d.ts +1 -1
  244. package/types/utils/inputValidation/eventProperties.d.ts +3 -3
  245. package/types/utils/inputValidation/eventValue.d.ts +1 -1
  246. package/types/utils/inputValidation/isOperational.d.ts +1 -1
  247. package/types/utils/inputValidation/key.d.ts +3 -3
  248. package/types/utils/inputValidation/preloadedData.d.ts +3 -3
  249. package/types/utils/inputValidation/split.d.ts +1 -1
  250. package/types/utils/inputValidation/splitExistance.d.ts +1 -1
  251. package/types/utils/inputValidation/splits.d.ts +1 -1
  252. package/types/utils/inputValidation/trafficType.d.ts +1 -1
  253. package/types/utils/inputValidation/trafficTypeExistance.d.ts +1 -1
  254. package/types/utils/key/index.d.ts +4 -4
  255. package/types/utils/settingsValidation/consent.d.ts +1 -2
  256. package/types/utils/settingsValidation/impressionsMode.d.ts +3 -3
  257. package/types/utils/settingsValidation/index.d.ts +0 -1
  258. package/types/utils/settingsValidation/integrations/common.d.ts +1 -1
  259. package/types/utils/settingsValidation/integrations/configurable.d.ts +1 -1
  260. package/types/utils/settingsValidation/integrations/pluggable.d.ts +1 -2
  261. package/types/utils/settingsValidation/localhost/builtin.d.ts +1 -2
  262. package/types/utils/settingsValidation/localhost/pluggable.d.ts +1 -2
  263. package/types/utils/settingsValidation/logger/builtinLogger.d.ts +1 -1
  264. package/types/utils/settingsValidation/logger/pluggableLogger.d.ts +1 -1
  265. package/types/utils/settingsValidation/splitFilters.d.ts +1 -2
  266. package/types/utils/settingsValidation/storage/storageCS.d.ts +2 -3
  267. package/cjs/storages/inMemory/uniqueKeysCacheInMemory.js +0 -73
  268. package/cjs/storages/inMemory/uniqueKeysCacheInMemoryCS.js +0 -78
  269. package/cjs/sync/submitters/uniqueKeysSubmitter.js +0 -26
  270. package/cjs/trackers/strategy/strategyDebug.js +0 -25
  271. package/cjs/trackers/strategy/strategyNone.js +0 -29
  272. package/cjs/trackers/strategy/strategyOptimized.js +0 -34
  273. package/cjs/trackers/uniqueKeysTracker.js +0 -31
  274. package/cjs/types.js +0 -2
  275. package/esm/storages/inMemory/uniqueKeysCacheInMemory.js +0 -70
  276. package/esm/storages/inMemory/uniqueKeysCacheInMemoryCS.js +0 -75
  277. package/esm/sync/submitters/uniqueKeysSubmitter.js +0 -22
  278. package/esm/trackers/strategy/strategyDebug.js +0 -21
  279. package/esm/trackers/strategy/strategyNone.js +0 -25
  280. package/esm/trackers/strategy/strategyOptimized.js +0 -30
  281. package/esm/trackers/uniqueKeysTracker.js +0 -27
  282. package/esm/types.js +0 -1
  283. package/src/storages/inMemory/uniqueKeysCacheInMemory.ts +0 -83
  284. package/src/storages/inMemory/uniqueKeysCacheInMemoryCS.ts +0 -89
  285. package/src/sync/submitters/uniqueKeysSubmitter.ts +0 -35
  286. package/src/trackers/strategy/strategyDebug.ts +0 -28
  287. package/src/trackers/strategy/strategyNone.ts +0 -34
  288. package/src/trackers/strategy/strategyOptimized.ts +0 -42
  289. package/src/trackers/uniqueKeysTracker.ts +0 -37
  290. package/src/types.ts +0 -1265
  291. package/types/sdkClient/types.d.ts +0 -18
  292. package/types/storages/inMemory/CountsCacheInMemory.d.ts +0 -20
  293. package/types/storages/inMemory/LatenciesCacheInMemory.d.ts +0 -20
  294. package/types/storages/inMemory/uniqueKeysCacheInMemory.d.ts +0 -32
  295. package/types/storages/inMemory/uniqueKeysCacheInMemoryCS.d.ts +0 -37
  296. package/types/storages/inRedis/CountsCacheInRedis.d.ts +0 -9
  297. package/types/storages/inRedis/LatenciesCacheInRedis.d.ts +0 -9
  298. package/types/sync/offline/LocalhostFromFile.d.ts +0 -2
  299. package/types/sync/offline/splitsParser/splitsParserFromFile.d.ts +0 -2
  300. package/types/sync/submitters/eventsSyncTask.d.ts +0 -8
  301. package/types/sync/submitters/impressionCountsSyncTask.d.ts +0 -13
  302. package/types/sync/submitters/impressionsSyncTask.d.ts +0 -14
  303. package/types/sync/submitters/metricsSyncTask.d.ts +0 -12
  304. package/types/sync/submitters/submitterSyncTask.d.ts +0 -10
  305. package/types/sync/submitters/uniqueKeysSubmitter.d.ts +0 -5
  306. package/types/sync/syncTaskComposite.d.ts +0 -5
  307. package/types/trackers/filter/bloomFilter.d.ts +0 -10
  308. package/types/trackers/filter/dictionaryFilter.d.ts +0 -8
  309. package/types/trackers/filter/types.d.ts +0 -5
  310. package/types/trackers/strategy/strategyDebug.d.ts +0 -9
  311. package/types/trackers/strategy/strategyNone.d.ts +0 -10
  312. package/types/trackers/strategy/strategyOptimized.d.ts +0 -11
  313. package/types/trackers/uniqueKeysTracker.d.ts +0 -13
  314. package/types/types.d.ts +0 -1263
  315. package/types/utils/timeTracker/index.d.ts +0 -70
@@ -1,7 +1,7 @@
1
1
  import { IPluggableStorageWrapper, IEventsCacheAsync } from '../types';
2
2
  import { IMetadata } from '../../dtos/types';
3
- import { SplitIO } from '../../types';
4
- import { ILogger } from '../../logger/types';
3
+ import { EventData } from '../../types';
4
+ import { ILogger } from '../../types';
5
5
  import { StoredEventWithMetadata } from '../../sync/submitters/types';
6
6
  export declare class EventsCachePluggable implements IEventsCacheAsync {
7
7
  private readonly log;
@@ -15,7 +15,7 @@ export declare class EventsCachePluggable implements IEventsCacheAsync {
15
15
  * @returns A promise that is resolved with a boolean value indicating if the push operation succeeded or failed.
16
16
  * Unlike `impressions::track`, The promise will never be rejected.
17
17
  */
18
- track(eventData: SplitIO.EventData): Promise<boolean>;
18
+ track(eventData: EventData): Promise<boolean>;
19
19
  private _toJSON;
20
20
  /**
21
21
  * Returns a promise that resolves with the count of stored events, or 0 if there was some error.
@@ -1,7 +1,7 @@
1
1
  import { IPluggableStorageWrapper, IImpressionsCacheAsync } from '../types';
2
2
  import { IMetadata } from '../../dtos/types';
3
3
  import { ImpressionDTO } from '../../types';
4
- import { ILogger } from '../../logger/types';
4
+ import { ILogger } from '../../types';
5
5
  import { StoredImpressionWithMetadata } from '../../sync/submitters/types';
6
6
  export declare class ImpressionsCachePluggable implements IImpressionsCacheAsync {
7
7
  private readonly log;
@@ -1,6 +1,6 @@
1
1
  import { KeyBuilderSS } from '../KeyBuilderSS';
2
2
  import { IPluggableStorageWrapper, ISegmentsCacheAsync } from '../types';
3
- import { ILogger } from '../../logger/types';
3
+ import { ILogger } from '../../types';
4
4
  /**
5
5
  * ISegmentsCacheAsync implementation for pluggable storages.
6
6
  */
@@ -1,6 +1,6 @@
1
1
  import { KeyBuilder } from '../KeyBuilder';
2
2
  import { IPluggableStorageWrapper } from '../types';
3
- import { ILogger } from '../../logger/types';
3
+ import { ILogger } from '../../types';
4
4
  import { AbstractSplitsCacheAsync } from '../AbstractSplitsCacheAsync';
5
5
  /**
6
6
  * ISplitsCacheAsync implementation for pluggable storages.
@@ -1,4 +1,4 @@
1
- import { ILogger } from '../../logger/types';
1
+ import { ILogger } from '../../types';
2
2
  import { Method } from '../../sync/submitters/types';
3
3
  import { KeyBuilderSS } from '../KeyBuilderSS';
4
4
  import { IPluggableStorageWrapper, ITelemetryCacheAsync } from '../types';
@@ -1,4 +1,5 @@
1
- import { IPluggableStorageWrapper, IStorageAsyncFactory } from '../types';
1
+ import { IPluggableStorageWrapper } from '../types';
2
+ import { StorageAsyncFactory } from '../../types';
2
3
  export interface PluggableStorageOptions {
3
4
  prefix?: string;
4
5
  wrapper: IPluggableStorageWrapper;
@@ -6,4 +7,4 @@ export interface PluggableStorageOptions {
6
7
  /**
7
8
  * Pluggable storage factory for consumer server-side & client-side SplitFactory.
8
9
  */
9
- export declare function PluggableStorage(options: PluggableStorageOptions): IStorageAsyncFactory;
10
+ export declare function PluggableStorage(options: PluggableStorageOptions): StorageAsyncFactory;
@@ -1,4 +1,4 @@
1
- import { ILogger } from '../../logger/types';
1
+ import { ILogger } from '../../types';
2
2
  import { IPluggableStorageWrapper } from '../types';
3
3
  export declare const METHODS_TO_PROMISE_WRAP: string[];
4
4
  /**
@@ -1,7 +1,6 @@
1
- import { MaybeThenable, IMetadata, ISplitFiltersValidation } from '../dtos/types';
2
- import { ILogger } from '../logger/types';
3
- import { EventDataType, HttpErrors, HttpLatencies, ImpressionDataType, LastSync, Method, MethodExceptions, MethodLatencies, OperationType, StoredEventWithMetadata, StoredImpressionWithMetadata, StreamingEvent, UniqueKeysPayloadCs, UniqueKeysPayloadSs } from '../sync/submitters/types';
4
- import { SplitIO, ImpressionDTO, SDKMode } from '../types';
1
+ import { MaybeThenable, IMetadata } from '../dtos/types';
2
+ import { EventDataType, HttpErrors, HttpLatencies, ImpressionDataType, LastSync, Method, MethodExceptions, MethodLatencies, OperationType, StoredEventWithMetadata, StoredImpressionWithMetadata, StreamingEvent } from '../sync/submitters/types';
3
+ import { ImpressionDTO, SDKMode, ILogger, EventData, ISplitFiltersValidation } from '../types';
5
4
  /**
6
5
  * Interface of a pluggable storage wrapper.
7
6
  */
@@ -260,7 +259,7 @@ export interface IImpressionsCacheBase {
260
259
  track(data: ImpressionDTO[]): MaybeThenable<void>;
261
260
  }
262
261
  export interface IEventsCacheBase {
263
- track(data: SplitIO.EventData, size?: number): MaybeThenable<boolean>;
262
+ track(data: EventData, size?: number): MaybeThenable<boolean>;
264
263
  }
265
264
  /** Impressions and events cache for standalone mode (sync) */
266
265
  export interface IRecorderCacheProducerSync<T> {
@@ -272,8 +271,8 @@ export interface IImpressionsCacheSync extends IImpressionsCacheBase, IRecorderC
272
271
  track(data: ImpressionDTO[]): void;
273
272
  setOnFullQueueCb(cb: () => void): void;
274
273
  }
275
- export interface IEventsCacheSync extends IEventsCacheBase, IRecorderCacheProducerSync<SplitIO.EventData[]> {
276
- track(data: SplitIO.EventData, size?: number): boolean;
274
+ export interface IEventsCacheSync extends IEventsCacheBase, IRecorderCacheProducerSync<EventData[]> {
275
+ track(data: EventData, size?: number): boolean;
277
276
  setOnFullQueueCb(cb: () => void): void;
278
277
  }
279
278
  /** Impressions and events cache for consumer and producer mode (async) */
@@ -286,7 +285,7 @@ export interface IImpressionsCacheAsync extends IImpressionsCacheBase, IRecorder
286
285
  track(data: ImpressionDTO[]): Promise<void>;
287
286
  }
288
287
  export interface IEventsCacheAsync extends IEventsCacheBase, IRecorderCacheProducerAsync<StoredEventWithMetadata[]> {
289
- track(data: SplitIO.EventData, size?: number): Promise<boolean>;
288
+ track(data: EventData, size?: number): Promise<boolean>;
290
289
  }
291
290
  /**
292
291
  * Impression counts cache for impressions dedup in standalone and producer mode.
@@ -297,13 +296,6 @@ export interface IImpressionCountsCacheSync extends IRecorderCacheProducerSync<R
297
296
  isEmpty(): boolean;
298
297
  pop(toMerge?: Record<string, number>): Record<string, number>;
299
298
  }
300
- export interface IUniqueKeysCacheBase {
301
- track(key: string, value: string): void;
302
- isEmpty(): boolean;
303
- pop(): UniqueKeysPayloadSs | UniqueKeysPayloadCs;
304
- setOnFullQueueCb(cb: () => void): void;
305
- clear(): void;
306
- }
307
299
  /**
308
300
  * Telemetry storage interface for standalone and partial consumer modes.
309
301
  * Methods are sync because data is stored in memory.
@@ -373,42 +365,66 @@ export interface ITelemetryCacheAsync extends ITelemetryEvaluationProducerAsync
373
365
  /**
374
366
  * Storages
375
367
  */
376
- export interface IStorageBase<TSplitsCache extends ISplitsCacheBase, TSegmentsCache extends ISegmentsCacheBase, TImpressionsCache extends IImpressionsCacheBase, TEventsCache extends IEventsCacheBase, TTelemetryCache extends ITelemetryCacheSync | ITelemetryCacheAsync, TUniqueKeysCache extends IUniqueKeysCacheBase> {
368
+ export interface IStorageBase<TSplitsCache extends ISplitsCacheBase, TSegmentsCache extends ISegmentsCacheBase, TImpressionsCache extends IImpressionsCacheBase, TEventsCache extends IEventsCacheBase, TTelemetryCache extends ITelemetryCacheSync | ITelemetryCacheAsync> {
377
369
  splits: TSplitsCache;
378
370
  segments: TSegmentsCache;
379
371
  impressions: TImpressionsCache;
380
372
  impressionCounts?: IImpressionCountsCacheSync;
381
373
  events: TEventsCache;
382
374
  telemetry?: TTelemetryCache;
383
- uniqueKeys?: TUniqueKeysCache;
384
375
  destroy(): void | Promise<void>;
385
376
  shared?: (matchingKey: string, onReadyCb: (error?: any) => void) => this;
386
377
  }
387
- export interface IStorageSync extends IStorageBase<ISplitsCacheSync, ISegmentsCacheSync, IImpressionsCacheSync, IEventsCacheSync, ITelemetryCacheSync, IUniqueKeysCacheBase> {
378
+ export interface IStorageSync extends IStorageBase<ISplitsCacheSync, ISegmentsCacheSync, IImpressionsCacheSync, IEventsCacheSync, ITelemetryCacheSync> {
388
379
  }
389
- export interface IStorageAsync extends IStorageBase<ISplitsCacheAsync, ISegmentsCacheAsync, IImpressionsCacheAsync | IImpressionsCacheSync, IEventsCacheAsync | IEventsCacheSync, ITelemetryCacheAsync, IUniqueKeysCacheBase> {
380
+ export interface IStorageAsync extends IStorageBase<ISplitsCacheAsync, ISegmentsCacheAsync, IImpressionsCacheAsync | IImpressionsCacheSync, IEventsCacheAsync | IEventsCacheSync, ITelemetryCacheAsync> {
390
381
  }
391
382
  /** StorageFactory */
392
383
  export declare type DataLoader = (storage: IStorageSync, matchingKey: string) => void;
393
384
  export interface IStorageFactoryParams {
394
385
  log: ILogger;
395
386
  impressionsQueueSize?: number;
396
- uniqueKeysCacheSize?: number;
397
387
  eventsQueueSize?: number;
398
388
  optimize?: boolean;
399
389
  mode: SDKMode;
400
- impressionsMode?: string;
401
390
  matchingKey?: string;
402
391
  splitFiltersValidation?: ISplitFiltersValidation;
403
392
  onReadyCb: (error?: any) => void;
404
393
  metadata: IMetadata;
405
394
  }
406
- export declare type StorageType = 'MEMORY' | 'LOCALSTORAGE' | 'REDIS' | 'PLUGGABLE';
407
- export declare type IStorageSyncFactory = {
408
- readonly type: StorageType;
409
- (params: IStorageFactoryParams): IStorageSync;
410
- };
411
- export declare type IStorageAsyncFactory = {
412
- type: StorageType;
413
- (params: IStorageFactoryParams): IStorageAsync;
414
- };
395
+ /**
396
+ * Defines the format of Split data to preload on the factory storage (cache).
397
+ */
398
+ export interface PreloadedData {
399
+ /**
400
+ * Timestamp of the last moment the data was synchronized with Split servers.
401
+ * If this value is older than 10 days ago (expiration time policy), the data is not used to update the storage content.
402
+ * @TODO configurable expiration time policy?
403
+ */
404
+ lastUpdated: number;
405
+ /**
406
+ * Change number of the preloaded data.
407
+ * If this value is older than the current changeNumber at the storage, the data is not used to update the storage content.
408
+ */
409
+ since: number;
410
+ /**
411
+ * Map of splits to their serialized definitions.
412
+ */
413
+ splitsData: {
414
+ [splitName: string]: string;
415
+ };
416
+ /**
417
+ * Optional map of user keys to their list of segments.
418
+ * @TODO remove when releasing first version
419
+ */
420
+ mySegmentsData?: {
421
+ [key: string]: string[];
422
+ };
423
+ /**
424
+ * Optional map of segments to their serialized definitions.
425
+ * This property is ignored if `mySegmentsData` was provided.
426
+ */
427
+ segmentsData?: {
428
+ [segmentName: string]: string;
429
+ };
430
+ }
@@ -1,2 +1,2 @@
1
- import { SplitIO } from '../../types';
2
- export declare function LocalhostFromObject(): SplitIO.LocalhostFactory;
1
+ import { LocalhostFactory } from '../../types';
2
+ export declare function LocalhostFromObject(): LocalhostFactory;
@@ -1,7 +1,7 @@
1
1
  import { IMySegmentsFetcher } from '../fetchers/types';
2
2
  import { ISegmentsCacheSync, ISplitsCacheSync } from '../../../storages/types';
3
3
  import { ISegmentsEventEmitter } from '../../../readiness/types';
4
- import { ILogger } from '../../../logger/types';
4
+ import { ILogger } from '../../../types';
5
5
  declare type IMySegmentsUpdater = (segmentList?: string[], noCache?: boolean) => Promise<boolean>;
6
6
  /**
7
7
  * factory of MySegments updater, a task that:
@@ -1,7 +1,7 @@
1
1
  import { ISegmentChangesFetcher } from '../fetchers/types';
2
2
  import { ISegmentsCacheBase } from '../../../storages/types';
3
3
  import { IReadinessManager } from '../../../readiness/types';
4
- import { ILogger } from '../../../logger/types';
4
+ import { ILogger } from '../../../types';
5
5
  declare type ISegmentChangesUpdater = (fetchOnlyNew?: boolean, segmentName?: string, noCache?: boolean, till?: number) => Promise<boolean>;
6
6
  /**
7
7
  * Factory of SegmentChanges updater, a task that:
@@ -3,7 +3,7 @@ import { ISegmentsCacheBase, ISplitsCacheBase } from '../../../storages/types';
3
3
  import { ISplitChangesFetcher } from '../fetchers/types';
4
4
  import { ISplit } from '../../../dtos/types';
5
5
  import { ISplitsEventEmitter } from '../../../readiness/types';
6
- import { ILogger } from '../../../logger/types';
6
+ import { ILogger } from '../../../types';
7
7
  declare type ISplitChangesUpdater = (noCache?: boolean, till?: number) => Promise<boolean>;
8
8
  /**
9
9
  * Collect segments from a raw split definition.
@@ -1,6 +1,6 @@
1
1
  import { IPushEventEmitter } from '../types';
2
2
  import { ISseEventHandler } from '../SSEClient/types';
3
- import { ILogger } from '../../../logger/types';
3
+ import { ILogger } from '../../../types';
4
4
  import { ITelemetryTracker } from '../../../trackers/types';
5
5
  /**
6
6
  * Factory for SSEHandler, which processes SSEClient messages and emits the corresponding push events.
@@ -1,4 +1,4 @@
1
- import { ILogger } from '../../../logger/types';
1
+ import { ILogger } from '../../../types';
2
2
  import { ISegmentsCacheSync } from '../../../storages/types';
3
3
  import { ISegmentsSyncTask } from '../../polling/types';
4
4
  import { IUpdateWorker } from './types';
@@ -1,4 +1,4 @@
1
- import { ILogger } from '../../../logger/types';
1
+ import { ILogger } from '../../../types';
2
2
  import { ISplitsEventEmitter } from '../../../readiness/types';
3
3
  import { ISplitsCacheSync } from '../../../storages/types';
4
4
  import { ISegmentsSyncTask, ISplitsSyncTask } from '../../polling/types';
@@ -1,6 +1,6 @@
1
1
  import { ISyncTask } from '../types';
2
2
  import { IRecorderCacheProducerSync } from '../../storages/types';
3
- import { ILogger } from '../../logger/types';
3
+ import { ILogger } from '../../types';
4
4
  import { IResponse } from '../../services/types';
5
5
  /**
6
6
  * Base function to create submitters, such as ImpressionsSubmitter and EventsSubmitter
@@ -1,5 +1,5 @@
1
1
  import { IMetadata } from '../../dtos/types';
2
- import { SplitIO } from '../../types';
2
+ import { EventData } from '../../types';
3
3
  import { ISyncTask } from '../types';
4
4
  export declare type ImpressionsPayload = {
5
5
  /** Split name */
@@ -32,22 +32,6 @@ export declare type ImpressionCountsPayload = {
32
32
  rc: number;
33
33
  }[];
34
34
  };
35
- export declare type UniqueKeysPayloadSs = {
36
- keys: {
37
- /** Split name */
38
- f: string;
39
- /** keyNames */
40
- ks: string[];
41
- }[];
42
- };
43
- export declare type UniqueKeysPayloadCs = {
44
- keys: {
45
- /** keyNames */
46
- k: string;
47
- /** Split name */
48
- fs: string[];
49
- }[];
50
- };
51
35
  export declare type StoredImpressionWithMetadata = {
52
36
  /** Metadata */
53
37
  m: IMetadata;
@@ -73,7 +57,7 @@ export declare type StoredEventWithMetadata = {
73
57
  /** Metadata */
74
58
  m: IMetadata;
75
59
  /** Stored event */
76
- e: SplitIO.EventData;
60
+ e: EventData;
77
61
  };
78
62
  /**
79
63
  * Telemetry usage stats
@@ -148,8 +132,7 @@ export declare type CONSUMER_PARTIAL_ENUM = 2;
148
132
  export declare type OperationMode = STANDALONE_ENUM | CONSUMER_ENUM | CONSUMER_PARTIAL_ENUM;
149
133
  export declare type OPTIMIZED_ENUM = 0;
150
134
  export declare type DEBUG_ENUM = 1;
151
- export declare type NONE_ENUM = 2;
152
- export declare type ImpressionsMode = OPTIMIZED_ENUM | DEBUG_ENUM | NONE_ENUM;
135
+ export declare type ImpressionsMode = OPTIMIZED_ENUM | DEBUG_ENUM;
153
136
  export declare type RefreshRates = {
154
137
  sp: number;
155
138
  se?: number;
@@ -1,4 +1,4 @@
1
- import { ILogger } from '../logger/types';
1
+ import { ILogger } from '../types';
2
2
  import { ISyncTask } from './types';
3
3
  /**
4
4
  * Creates an object that handles the periodic execution of a given task via "start" and "stop" methods.
@@ -1,6 +1,7 @@
1
- import { IImpressionsCacheBase, ITelemetryCacheSync, ITelemetryCacheAsync } from '../storages/types';
2
- import { IImpressionsHandler, IImpressionsTracker, IStrategy } from './types';
1
+ import { IImpressionCountsCacheSync, IImpressionsCacheBase, ITelemetryCacheSync, ITelemetryCacheAsync } from '../storages/types';
2
+ import { IImpressionsHandler, IImpressionsTracker } from './types';
3
3
  import { ISettings } from '../types';
4
+ import { IImpressionObserver } from './impressionObserver/types';
4
5
  /**
5
6
  * Impressions tracker stores impressions in cache and pass them to the listener and integrations manager if provided.
6
7
  *
@@ -8,6 +9,7 @@ import { ISettings } from '../types';
8
9
  * @param metadata runtime metadata (ip, hostname and version)
9
10
  * @param impressionListener optional impression listener
10
11
  * @param integrationsManager optional integrations manager
11
- * @param strategy strategy for impressions tracking.
12
+ * @param observer optional impression observer. If provided, previous time (pt property) is included in impression instances
13
+ * @param countsCache optional cache to save impressions count. If provided, impressions will be deduped (OPTIMIZED mode)
12
14
  */
13
- export declare function impressionsTrackerFactory(settings: ISettings, impressionsCache: IImpressionsCacheBase, strategy: IStrategy, integrationsManager?: IImpressionsHandler, telemetryCache?: ITelemetryCacheSync | ITelemetryCacheAsync): IImpressionsTracker;
15
+ export declare function impressionsTrackerFactory(settings: ISettings, impressionsCache: IImpressionsCacheBase, integrationsManager?: IImpressionsHandler, observer?: IImpressionObserver, countsCache?: IImpressionCountsCacheSync, telemetryCache?: ITelemetryCacheSync | ITelemetryCacheAsync): IImpressionsTracker;
@@ -1,18 +1,18 @@
1
- import { SplitIO, ImpressionDTO } from '../types';
1
+ import { ImpressionDTO, EventData, ImpressionData, Attributes } from '../types';
2
2
  import { StreamingEventType, Method, OperationType } from '../sync/submitters/types';
3
3
  import { IEventsCacheBase } from '../storages/types';
4
4
  import { NetworkError } from '../services/types';
5
5
  /** Events tracker */
6
6
  export interface IEventsHandler {
7
- handleEvent(eventData: SplitIO.EventData): any;
7
+ handleEvent(eventData: EventData): any;
8
8
  }
9
9
  export declare type IEventTracker = IEventsCacheBase;
10
10
  /** Impressions tracker */
11
11
  export interface IImpressionsHandler {
12
- handleImpression(impressionData: SplitIO.ImpressionData): any;
12
+ handleImpression(impressionData: ImpressionData): any;
13
13
  }
14
14
  export interface IImpressionsTracker {
15
- track(impressions: ImpressionDTO[], attributes?: SplitIO.Attributes): void;
15
+ track(impressions: ImpressionDTO[], attributes?: Attributes): void;
16
16
  }
17
17
  /** Telemetry tracker */
18
18
  export declare type AUTH_REJECTION = 80;
@@ -34,24 +34,3 @@ export interface ITelemetryTracker {
34
34
  */
35
35
  streamingEvent(e: StreamingEventType | AUTH_REJECTION, d?: number): void;
36
36
  }
37
- export interface IFilterAdapter {
38
- add(key: string, featureName: string): boolean;
39
- contains(key: string, featureName: string): boolean;
40
- clear(): void;
41
- }
42
- export interface IImpressionSenderAdapter {
43
- recordUniqueKeys(data: Object): void;
44
- recordImpressionCounts(data: Object): void;
45
- }
46
- /** Unique keys tracker */
47
- export interface IUniqueKeysTracker {
48
- track(key: string, featureName: string): void;
49
- }
50
- export interface IStrategyResult {
51
- impressionsToStore: ImpressionDTO[];
52
- impressionsToListener: ImpressionDTO[];
53
- deduped: number;
54
- }
55
- export interface IStrategy {
56
- process(impressions: ImpressionDTO[]): IStrategyResult;
57
- }
@@ -1,4 +1,4 @@
1
- import { StorageType } from '../../storages/types';
1
+ import { StorageType } from '../../types';
2
2
  import { SDKMode } from '../../types';
3
3
  export declare const CONTROL = "control";
4
4
  export declare const CONTROL_WITH_CONFIG: {
@@ -11,7 +11,6 @@ export declare const SPLIT_IMPRESSION = "IMPRESSION";
11
11
  export declare const SPLIT_EVENT = "EVENT";
12
12
  export declare const DEBUG = "DEBUG";
13
13
  export declare const OPTIMIZED = "OPTIMIZED";
14
- export declare const NONE = "NONE";
15
14
  export declare const LOCALHOST_MODE: SDKMode;
16
15
  export declare const STANDALONE_MODE: SDKMode;
17
16
  export declare const PRODUCER_MODE = "producer";
@@ -32,7 +31,6 @@ export declare const CONSUMER_ENUM = 1;
32
31
  export declare const CONSUMER_PARTIAL_ENUM = 2;
33
32
  export declare const OPTIMIZED_ENUM = 0;
34
33
  export declare const DEBUG_ENUM = 1;
35
- export declare const NONE_ENUM = 2;
36
34
  export declare const SPLITS = "sp";
37
35
  export declare const IMPRESSIONS = "im";
38
36
  export declare const IMPRESSIONS_COUNT = "ic";
@@ -1,4 +1,4 @@
1
- import { ILogger } from '../../logger/types';
1
+ import { ILogger } from '../../types';
2
2
  /** validates the given api key */
3
3
  export declare function validateApiKey(log: ILogger, maybeApiKey: any): string | false;
4
4
  export declare const usedKeysMap: Record<string, number>;
@@ -1,2 +1,2 @@
1
- import { ILogger } from '../../logger/types';
1
+ import { ILogger } from '../../types';
2
2
  export declare function validateAttribute(log: ILogger, attributeKey: string, attributeValue: Object, method: string): boolean;
@@ -1,4 +1,4 @@
1
- import { SplitIO } from '../../types';
2
- import { ILogger } from '../../logger/types';
3
- export declare function validateAttributes(log: ILogger, maybeAttrs: any, method: string): SplitIO.Attributes | undefined | false;
1
+ import { Attributes } from '../../types';
2
+ import { ILogger } from '../../types';
3
+ export declare function validateAttributes(log: ILogger, maybeAttrs: any, method: string): Attributes | undefined | false;
4
4
  export declare function validateAttributesDeep(log: ILogger, maybeAttributes: Record<string, Object>, method: string): boolean;
@@ -1,2 +1,2 @@
1
- import { ILogger } from '../../logger/types';
1
+ import { ILogger } from '../../types';
2
2
  export declare function validateEvent(log: ILogger, maybeEvent: any, method: string): string | false;
@@ -1,6 +1,6 @@
1
- import { SplitIO } from '../../types';
2
- import { ILogger } from '../../logger/types';
1
+ import { Properties } from '../../types';
2
+ import { ILogger } from '../../types';
3
3
  export declare function validateEventProperties(log: ILogger, maybeProperties: any, method: string): {
4
- properties: SplitIO.Properties | null | false;
4
+ properties: Properties | null | false;
5
5
  size: number;
6
6
  };
@@ -1,2 +1,2 @@
1
- import { ILogger } from '../../logger/types';
1
+ import { ILogger } from '../../types';
2
2
  export declare function validateEventValue(log: ILogger, maybeValue: any, method: string): number | false;
@@ -1,4 +1,4 @@
1
- import { ILogger } from '../../logger/types';
1
+ import { ILogger } from '../../types';
2
2
  import { IReadinessManager } from '../../readiness/types';
3
3
  export declare function validateIfNotDestroyed(log: ILogger, readinessManager: IReadinessManager, method: string): boolean;
4
4
  export declare function validateIfOperational(log: ILogger, readinessManager: IReadinessManager, method: string): boolean;
@@ -1,3 +1,3 @@
1
- import { SplitIO } from '../../types';
2
- import { ILogger } from '../../logger/types';
3
- export declare function validateKey(log: ILogger, maybeKey: any, method: string): SplitIO.SplitKey | false;
1
+ import { SplitKey } from '../../types';
2
+ import { ILogger } from '../../types';
3
+ export declare function validateKey(log: ILogger, maybeKey: any, method: string): SplitKey | false;
@@ -1,3 +1,3 @@
1
- import { SplitIO } from '../../types';
2
- import { ILogger } from '../../logger/types';
3
- export declare function validatePreloadedData(log: ILogger, maybePreloadedData: any, method: string): maybePreloadedData is SplitIO.PreloadedData;
1
+ import { ILogger } from '../../types';
2
+ import { PreloadedData } from '../../storages/types';
3
+ export declare function validatePreloadedData(log: ILogger, maybePreloadedData: any, method: string): maybePreloadedData is PreloadedData;
@@ -1,2 +1,2 @@
1
- import { ILogger } from '../../logger/types';
1
+ import { ILogger } from '../../types';
2
2
  export declare function validateSplit(log: ILogger, maybeSplit: any, method: string, item?: string): string | false;
@@ -1,5 +1,5 @@
1
1
  import { IReadinessManager } from '../../readiness/types';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  /**
4
4
  * This is defined here and in this format mostly because of the logger and the fact that it's considered a validation at product level.
5
5
  * But it's not going to run on the input validation layer. In any case, the most compeling reason to use it as we do is to avoid going to Redis and get a split twice.
@@ -1,2 +1,2 @@
1
- import { ILogger } from '../../logger/types';
1
+ import { ILogger } from '../../types';
2
2
  export declare function validateSplits(log: ILogger, maybeSplits: any, method: string, listName?: string, item?: string): string[] | false;
@@ -1,2 +1,2 @@
1
- import { ILogger } from '../../logger/types';
1
+ import { ILogger } from '../../types';
2
2
  export declare function validateTrafficType(log: ILogger, maybeTT: any, method: string): string | false;
@@ -2,7 +2,7 @@ import { ISplitsCacheBase } from '../../storages/types';
2
2
  import { IReadinessManager } from '../../readiness/types';
3
3
  import { SDKMode } from '../../types';
4
4
  import { MaybeThenable } from '../../dtos/types';
5
- import { ILogger } from '../../logger/types';
5
+ import { ILogger } from '../../types';
6
6
  /**
7
7
  * Separated from the previous method since on some cases it'll be async.
8
8
  */
@@ -1,8 +1,8 @@
1
- import { SplitIO } from '../../types';
2
- export declare function getMatching(key: SplitIO.SplitKey): string;
3
- export declare function getBucketing(key: SplitIO.SplitKey): string | undefined;
1
+ import { SplitKey, SplitKeyObject } from '../../types';
2
+ export declare function getMatching(key?: SplitKey): string;
3
+ export declare function getBucketing(key: SplitKey): string | undefined;
4
4
  /**
5
5
  * Verify type of key and return a valid object key used for get treatment for a
6
6
  * specific split.
7
7
  */
8
- export declare function keyParser(key: SplitIO.SplitKey): SplitIO.SplitKeyObject;
8
+ export declare function keyParser(key: SplitKey): SplitKeyObject;
@@ -1,5 +1,4 @@
1
- import { ILogger } from '../../logger/types';
2
- import { ConsentStatus } from '../../types';
1
+ import { ConsentStatus, ILogger } from '../../types';
3
2
  export declare function validateConsent({ userConsent, log }: {
4
3
  userConsent?: any;
5
4
  log: ILogger;
@@ -1,3 +1,3 @@
1
- import { ILogger } from '../../logger/types';
2
- import { SplitIO } from '../../types';
3
- export declare function validImpressionsMode(log: ILogger, impressionsMode: any): SplitIO.ImpressionsMode;
1
+ import { ILogger } from '../../types';
2
+ import { ImpressionsMode } from '../../types';
3
+ export declare function validImpressionsMode(log: ILogger, impressionsMode: any): ImpressionsMode;
@@ -14,7 +14,6 @@ export declare const base: {
14
14
  segmentsRefreshRate: number;
15
15
  telemetryRefreshRate: number;
16
16
  impressionsRefreshRate: number;
17
- uniqueKeysRefreshRate: number;
18
17
  offlineRefreshRate: number;
19
18
  eventsPushRate: number;
20
19
  eventsQueueSize: number;
@@ -1,4 +1,4 @@
1
- import { ILogger } from '../../../logger/types';
1
+ import { ILogger } from '../../../types';
2
2
  /**
3
3
  * This function validates `settings.integrations` object
4
4
  *
@@ -1,4 +1,4 @@
1
- import { ILogger } from '../../../logger/types';
1
+ import { ILogger } from '../../../types';
2
2
  /**
3
3
  * This function validates `settings.integrations` object that consists of a list of configuration items, used by the isomorphic JS SDK.
4
4
  *
@@ -1,5 +1,4 @@
1
- import { ISettings } from '../../../types';
2
- import { ILogger } from '../../../logger/types';
1
+ import { ISettings, ILogger } from '../../../types';
3
2
  /**
4
3
  * This function validates `settings.integrations` object that consists of a list of pluggable integration factories.
5
4
  *
@@ -1,5 +1,4 @@
1
- import { ILogger } from '../../../logger/types';
2
- import { SDKMode } from '../../../types';
1
+ import { SDKMode, ILogger } from '../../../types';
3
2
  /**
4
3
  * This function validates `settings.sync.localhostMode` object
5
4
  *
@@ -1,5 +1,4 @@
1
- import { ILogger } from '../../../logger/types';
2
- import { SDKMode } from '../../../types';
1
+ import { SDKMode, ILogger } from '../../../types';
3
2
  /**
4
3
  * This function validates `settings.sync.localhostMode` object
5
4
  *
@@ -1,4 +1,4 @@
1
- import { ILogger } from '../../../logger/types';
1
+ import { ILogger } from '../../../types';
2
2
  /**
3
3
  * Validates the `debug` property at config and use it to set the log level.
4
4
  *