@splitsoftware/splitio-commons 1.6.2-rc.0 → 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 (312) hide show
  1. package/cjs/sdkFactory/index.js +1 -0
  2. package/cjs/services/splitApi.js +1 -0
  3. package/cjs/utils/key/index.js +1 -1
  4. package/cjs/utils/settingsValidation/index.js +1 -0
  5. package/esm/sdkFactory/index.js +1 -0
  6. package/esm/services/splitApi.js +1 -0
  7. package/esm/utils/key/index.js +1 -1
  8. package/esm/utils/settingsValidation/index.js +1 -0
  9. package/package.json +2 -2
  10. package/src/consent/sdkUserConsent.ts +4 -3
  11. package/src/dtos/types.ts +0 -8
  12. package/src/evaluator/Engine.ts +3 -3
  13. package/src/evaluator/combiners/and.ts +1 -1
  14. package/src/evaluator/combiners/ifelseif.ts +3 -3
  15. package/src/evaluator/condition/engineUtils.ts +1 -1
  16. package/src/evaluator/condition/index.ts +6 -6
  17. package/src/evaluator/index.ts +10 -10
  18. package/src/evaluator/matchers/all.ts +1 -1
  19. package/src/evaluator/matchers/between.ts +1 -1
  20. package/src/evaluator/matchers/boolean.ts +1 -1
  21. package/src/evaluator/matchers/cont_all.ts +1 -1
  22. package/src/evaluator/matchers/cont_any.ts +1 -1
  23. package/src/evaluator/matchers/cont_str.ts +1 -1
  24. package/src/evaluator/matchers/dependency.ts +1 -1
  25. package/src/evaluator/matchers/eq.ts +1 -1
  26. package/src/evaluator/matchers/eq_set.ts +1 -1
  27. package/src/evaluator/matchers/ew.ts +1 -1
  28. package/src/evaluator/matchers/gte.ts +1 -1
  29. package/src/evaluator/matchers/index.ts +1 -1
  30. package/src/evaluator/matchers/lte.ts +1 -1
  31. package/src/evaluator/matchers/part_of.ts +1 -1
  32. package/src/evaluator/matchers/segment.ts +1 -1
  33. package/src/evaluator/matchers/string.ts +1 -1
  34. package/src/evaluator/matchers/sw.ts +1 -1
  35. package/src/evaluator/matchers/whitelist.ts +1 -1
  36. package/src/evaluator/parser/index.ts +3 -3
  37. package/src/evaluator/types.ts +6 -6
  38. package/src/evaluator/value/index.ts +4 -4
  39. package/src/evaluator/value/sanitize.ts +4 -4
  40. package/src/integrations/ga/GaToSplit.ts +6 -6
  41. package/src/integrations/ga/SplitToGa.ts +10 -10
  42. package/src/integrations/ga/types.ts +4 -4
  43. package/src/integrations/pluggable.ts +3 -3
  44. package/src/integrations/types.ts +2 -2
  45. package/src/logger/index.ts +3 -3
  46. package/src/logger/sdkLogger.ts +1 -2
  47. package/src/logger/types.ts +0 -16
  48. package/src/readiness/sdkReadinessManager.ts +1 -1
  49. package/src/readiness/types.ts +2 -9
  50. package/src/sdkClient/client.ts +13 -13
  51. package/src/sdkClient/clientAttributesDecoration.ts +9 -9
  52. package/src/sdkClient/clientCS.ts +3 -4
  53. package/src/sdkClient/clientInputValidation.ts +15 -15
  54. package/src/sdkClient/sdkClient.ts +2 -2
  55. package/src/sdkClient/sdkClientMethod.ts +2 -2
  56. package/src/sdkClient/sdkClientMethodCS.ts +9 -9
  57. package/src/sdkClient/sdkClientMethodCSWithTT.ts +9 -9
  58. package/src/sdkFactory/index.ts +3 -2
  59. package/src/sdkFactory/types.ts +4 -4
  60. package/src/sdkManager/index.ts +5 -5
  61. package/src/services/splitApi.ts +1 -0
  62. package/src/storages/dataLoader.ts +2 -2
  63. package/src/storages/inLocalStorage/MySegmentsCacheInLocal.ts +1 -1
  64. package/src/storages/inLocalStorage/SplitsCacheInLocal.ts +2 -2
  65. package/src/storages/inLocalStorage/index.ts +3 -2
  66. package/src/storages/inMemory/EventsCacheInMemory.ts +4 -4
  67. package/src/storages/inRedis/EventsCacheInRedis.ts +4 -4
  68. package/src/storages/inRedis/ImpressionsCacheInRedis.ts +1 -1
  69. package/src/storages/inRedis/RedisAdapter.ts +1 -1
  70. package/src/storages/inRedis/SegmentsCacheInRedis.ts +1 -1
  71. package/src/storages/inRedis/SplitsCacheInRedis.ts +1 -1
  72. package/src/storages/inRedis/TelemetryCacheInRedis.ts +1 -1
  73. package/src/storages/inRedis/index.ts +3 -2
  74. package/src/storages/pluggable/EventsCachePluggable.ts +4 -4
  75. package/src/storages/pluggable/ImpressionsCachePluggable.ts +1 -1
  76. package/src/storages/pluggable/SegmentsCachePluggable.ts +1 -1
  77. package/src/storages/pluggable/SplitsCachePluggable.ts +1 -1
  78. package/src/storages/pluggable/TelemetryCachePluggable.ts +1 -1
  79. package/src/storages/pluggable/index.ts +3 -3
  80. package/src/storages/pluggable/wrapperAdapter.ts +1 -1
  81. package/src/storages/types.ts +42 -18
  82. package/src/sync/offline/LocalhostFromObject.ts +4 -4
  83. package/src/sync/offline/splitsParser/splitsParserFromSettings.ts +8 -8
  84. package/src/sync/polling/updaters/mySegmentsUpdater.ts +1 -1
  85. package/src/sync/polling/updaters/segmentChangesUpdater.ts +1 -1
  86. package/src/sync/polling/updaters/splitChangesUpdater.ts +1 -1
  87. package/src/sync/streaming/SSEHandler/index.ts +1 -1
  88. package/src/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.ts +1 -1
  89. package/src/sync/streaming/UpdateWorkers/SplitsUpdateWorker.ts +1 -1
  90. package/src/sync/submitters/submitter.ts +1 -1
  91. package/src/sync/submitters/types.ts +2 -2
  92. package/src/sync/syncTask.ts +1 -1
  93. package/src/trackers/eventTracker.ts +3 -3
  94. package/src/trackers/impressionsTracker.ts +3 -3
  95. package/src/trackers/types.ts +4 -4
  96. package/src/{splitio.d.ts → types.d.ts} +826 -782
  97. package/src/utils/constants/index.ts +1 -1
  98. package/src/utils/inputValidation/apiKey.ts +1 -1
  99. package/src/utils/inputValidation/attribute.ts +1 -1
  100. package/src/utils/inputValidation/attributes.ts +3 -3
  101. package/src/utils/inputValidation/event.ts +1 -1
  102. package/src/utils/inputValidation/eventProperties.ts +3 -3
  103. package/src/utils/inputValidation/eventValue.ts +1 -1
  104. package/src/utils/inputValidation/isOperational.ts +1 -1
  105. package/src/utils/inputValidation/key.ts +3 -3
  106. package/src/utils/inputValidation/preloadedData.ts +3 -3
  107. package/src/utils/inputValidation/split.ts +1 -1
  108. package/src/utils/inputValidation/splitExistance.ts +1 -1
  109. package/src/utils/inputValidation/splits.ts +1 -1
  110. package/src/utils/inputValidation/trafficType.ts +1 -1
  111. package/src/utils/inputValidation/trafficTypeExistance.ts +1 -1
  112. package/src/utils/key/index.ts +9 -9
  113. package/src/utils/settingsValidation/consent.ts +1 -2
  114. package/src/utils/settingsValidation/impressionsMode.ts +3 -3
  115. package/src/utils/settingsValidation/index.ts +1 -0
  116. package/src/utils/settingsValidation/integrations/common.ts +1 -1
  117. package/src/utils/settingsValidation/integrations/configurable.ts +1 -1
  118. package/src/utils/settingsValidation/integrations/pluggable.ts +1 -2
  119. package/src/utils/settingsValidation/localhost/builtin.ts +1 -2
  120. package/src/utils/settingsValidation/localhost/pluggable.ts +1 -2
  121. package/src/utils/settingsValidation/logger/builtinLogger.ts +1 -2
  122. package/src/utils/settingsValidation/logger/pluggableLogger.ts +1 -2
  123. package/src/utils/settingsValidation/splitFilters.ts +7 -9
  124. package/src/utils/settingsValidation/storage/storageCS.ts +1 -2
  125. package/types/consent/sdkUserConsent.d.ts +2 -9
  126. package/types/dtos/types.d.ts +0 -6
  127. package/types/evaluator/Engine.d.ts +3 -3
  128. package/types/evaluator/combiners/and.d.ts +1 -1
  129. package/types/evaluator/combiners/ifelseif.d.ts +1 -1
  130. package/types/evaluator/condition/engineUtils.d.ts +1 -1
  131. package/types/evaluator/condition/index.d.ts +1 -1
  132. package/types/evaluator/index.d.ts +4 -4
  133. package/types/evaluator/matchers/all.d.ts +1 -1
  134. package/types/evaluator/matchers/between.d.ts +1 -1
  135. package/types/evaluator/matchers/boolean.d.ts +1 -1
  136. package/types/evaluator/matchers/cont_all.d.ts +1 -1
  137. package/types/evaluator/matchers/cont_any.d.ts +1 -1
  138. package/types/evaluator/matchers/cont_str.d.ts +1 -1
  139. package/types/evaluator/matchers/dependency.d.ts +1 -1
  140. package/types/evaluator/matchers/eq.d.ts +1 -1
  141. package/types/evaluator/matchers/eq_set.d.ts +1 -1
  142. package/types/evaluator/matchers/ew.d.ts +1 -1
  143. package/types/evaluator/matchers/gte.d.ts +1 -1
  144. package/types/evaluator/matchers/index.d.ts +1 -1
  145. package/types/evaluator/matchers/lte.d.ts +1 -1
  146. package/types/evaluator/matchers/part_of.d.ts +1 -1
  147. package/types/evaluator/matchers/segment.d.ts +1 -1
  148. package/types/evaluator/matchers/string.d.ts +1 -1
  149. package/types/evaluator/matchers/sw.d.ts +1 -1
  150. package/types/evaluator/matchers/whitelist.d.ts +1 -1
  151. package/types/evaluator/parser/index.d.ts +1 -1
  152. package/types/evaluator/types.d.ts +6 -6
  153. package/types/evaluator/value/index.d.ts +3 -3
  154. package/types/evaluator/value/sanitize.d.ts +3 -3
  155. package/types/integrations/ga/GaToSplit.d.ts +4 -4
  156. package/types/integrations/ga/SplitToGa.d.ts +4 -4
  157. package/types/integrations/ga/types.d.ts +4 -4
  158. package/types/integrations/types.d.ts +2 -2
  159. package/types/logger/browser/{debugLogger.d.ts → DebugLogger.d.ts} +0 -0
  160. package/types/logger/browser/{errorLogger.d.ts → ErrorLogger.d.ts} +0 -0
  161. package/types/logger/browser/{infoLogger.d.ts → InfoLogger.d.ts} +0 -0
  162. package/types/logger/browser/{warnLogger.d.ts → WarnLogger.d.ts} +0 -0
  163. package/types/logger/index.d.ts +3 -5
  164. package/types/logger/sdkLogger.d.ts +1 -2
  165. package/types/logger/types.d.ts +0 -11
  166. package/types/readiness/sdkReadinessManager.d.ts +1 -1
  167. package/types/readiness/types.d.ts +2 -8
  168. package/types/sdkClient/client.d.ts +2 -2
  169. package/types/sdkClient/clientAttributesDecoration.d.ts +8 -8
  170. package/types/sdkClient/clientCS.d.ts +2 -3
  171. package/types/sdkClient/clientInputValidation.d.ts +2 -2
  172. package/types/sdkClient/sdkClient.d.ts +2 -2
  173. package/types/sdkClient/sdkClientMethod.d.ts +2 -2
  174. package/types/sdkClient/sdkClientMethodCS.d.ts +2 -2
  175. package/types/sdkClient/sdkClientMethodCSWithTT.d.ts +2 -2
  176. package/types/sdkFactory/index.d.ts +2 -2
  177. package/types/sdkFactory/types.d.ts +6 -6
  178. package/types/sdkManager/index.d.ts +3 -3
  179. package/types/storages/dataLoader.d.ts +2 -2
  180. package/types/storages/inLocalStorage/MySegmentsCacheInLocal.d.ts +1 -1
  181. package/types/storages/inLocalStorage/SplitsCacheInLocal.d.ts +1 -2
  182. package/types/storages/inLocalStorage/index.d.ts +2 -2
  183. package/types/storages/inMemory/EventsCacheInMemory.d.ts +3 -3
  184. package/types/storages/inMemory/InMemoryStorage.d.ts +1 -1
  185. package/types/storages/inMemory/InMemoryStorageCS.d.ts +1 -1
  186. package/types/storages/inRedis/EventsCacheInRedis.d.ts +3 -3
  187. package/types/storages/inRedis/ImpressionsCacheInRedis.d.ts +1 -1
  188. package/types/storages/inRedis/RedisAdapter.d.ts +1 -1
  189. package/types/storages/inRedis/SegmentsCacheInRedis.d.ts +1 -1
  190. package/types/storages/inRedis/SplitsCacheInRedis.d.ts +1 -1
  191. package/types/storages/inRedis/TelemetryCacheInRedis.d.ts +1 -1
  192. package/types/storages/inRedis/index.d.ts +2 -2
  193. package/types/storages/pluggable/EventsCachePluggable.d.ts +3 -3
  194. package/types/storages/pluggable/ImpressionsCachePluggable.d.ts +1 -1
  195. package/types/storages/pluggable/SegmentsCachePluggable.d.ts +1 -1
  196. package/types/storages/pluggable/SplitsCachePluggable.d.ts +1 -1
  197. package/types/storages/pluggable/TelemetryCachePluggable.d.ts +1 -1
  198. package/types/storages/pluggable/index.d.ts +3 -2
  199. package/types/storages/pluggable/wrapperAdapter.d.ts +1 -1
  200. package/types/storages/types.d.ts +42 -16
  201. package/types/sync/offline/LocalhostFromObject.d.ts +2 -2
  202. package/types/sync/polling/updaters/mySegmentsUpdater.d.ts +1 -1
  203. package/types/sync/polling/updaters/segmentChangesUpdater.d.ts +1 -1
  204. package/types/sync/polling/updaters/splitChangesUpdater.d.ts +1 -1
  205. package/types/sync/streaming/SSEHandler/index.d.ts +1 -1
  206. package/types/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.d.ts +1 -1
  207. package/types/sync/streaming/UpdateWorkers/SplitsUpdateWorker.d.ts +1 -1
  208. package/types/sync/submitters/submitter.d.ts +1 -1
  209. package/types/sync/submitters/types.d.ts +2 -2
  210. package/types/sync/syncTask.d.ts +1 -1
  211. package/types/trackers/types.d.ts +4 -4
  212. package/types/utils/constants/index.d.ts +1 -1
  213. package/types/utils/inputValidation/apiKey.d.ts +1 -1
  214. package/types/utils/inputValidation/attribute.d.ts +1 -1
  215. package/types/utils/inputValidation/attributes.d.ts +3 -3
  216. package/types/utils/inputValidation/event.d.ts +1 -1
  217. package/types/utils/inputValidation/eventProperties.d.ts +3 -3
  218. package/types/utils/inputValidation/eventValue.d.ts +1 -1
  219. package/types/utils/inputValidation/isOperational.d.ts +1 -1
  220. package/types/utils/inputValidation/key.d.ts +3 -3
  221. package/types/utils/inputValidation/preloadedData.d.ts +3 -3
  222. package/types/utils/inputValidation/split.d.ts +1 -1
  223. package/types/utils/inputValidation/splitExistance.d.ts +1 -1
  224. package/types/utils/inputValidation/splits.d.ts +1 -1
  225. package/types/utils/inputValidation/trafficType.d.ts +1 -1
  226. package/types/utils/inputValidation/trafficTypeExistance.d.ts +1 -1
  227. package/types/utils/key/index.d.ts +4 -4
  228. package/types/utils/settingsValidation/consent.d.ts +1 -2
  229. package/types/utils/settingsValidation/impressionsMode.d.ts +3 -3
  230. package/types/utils/settingsValidation/integrations/common.d.ts +1 -1
  231. package/types/utils/settingsValidation/integrations/configurable.d.ts +1 -1
  232. package/types/utils/settingsValidation/integrations/pluggable.d.ts +1 -2
  233. package/types/utils/settingsValidation/localhost/builtin.d.ts +1 -2
  234. package/types/utils/settingsValidation/localhost/pluggable.d.ts +1 -2
  235. package/types/utils/settingsValidation/logger/builtinLogger.d.ts +1 -1
  236. package/types/utils/settingsValidation/logger/pluggableLogger.d.ts +1 -1
  237. package/types/utils/settingsValidation/splitFilters.d.ts +1 -2
  238. package/types/utils/settingsValidation/storage/storageCS.d.ts +2 -3
  239. package/cjs/types.js +0 -2
  240. package/esm/types.js +0 -1
  241. package/src/types.ts +0 -1263
  242. package/types/integrations/ga/GaToSplitPlugin.d.ts +0 -3
  243. package/types/integrations/ga/SplitToGaPlugin.d.ts +0 -4
  244. package/types/integrations/ga/autoRequire.d.ts +0 -4
  245. package/types/logger/codes.d.ts +0 -2
  246. package/types/logger/codesConstants.d.ts +0 -117
  247. package/types/logger/codesConstantsBrowser.d.ts +0 -2
  248. package/types/logger/codesConstantsNode.d.ts +0 -14
  249. package/types/logger/codesDebug.d.ts +0 -1
  250. package/types/logger/codesDebugBrowser.d.ts +0 -1
  251. package/types/logger/codesDebugNode.d.ts +0 -1
  252. package/types/logger/codesError.d.ts +0 -1
  253. package/types/logger/codesErrorNode.d.ts +0 -1
  254. package/types/logger/codesInfo.d.ts +0 -1
  255. package/types/logger/codesWarn.d.ts +0 -1
  256. package/types/logger/codesWarnNode.d.ts +0 -1
  257. package/types/logger/debugLogger.d.ts +0 -2
  258. package/types/logger/errorLogger.d.ts +0 -2
  259. package/types/logger/infoLogger.d.ts +0 -2
  260. package/types/logger/messages/debugBrowser.d.ts +0 -1
  261. package/types/logger/messages/debugNode.d.ts +0 -1
  262. package/types/logger/messages/errorNode.d.ts +0 -1
  263. package/types/logger/messages/warnNode.d.ts +0 -1
  264. package/types/logger/noopLogger.d.ts +0 -2
  265. package/types/logger/warnLogger.d.ts +0 -2
  266. package/types/sdkClient/types.d.ts +0 -18
  267. package/types/sdkFactory/userConsentProps.d.ts +0 -6
  268. package/types/sdkManager/sdkManagerMethod.d.ts +0 -6
  269. package/types/storages/getRegisteredSegments.d.ts +0 -10
  270. package/types/storages/inMemory/CountsCacheInMemory.d.ts +0 -20
  271. package/types/storages/inMemory/LatenciesCacheInMemory.d.ts +0 -20
  272. package/types/storages/inMemory/index.d.ts +0 -10
  273. package/types/storages/inRedis/CountsCacheInRedis.d.ts +0 -9
  274. package/types/storages/inRedis/LatenciesCacheInRedis.d.ts +0 -9
  275. package/types/storages/parseSegments.d.ts +0 -6
  276. package/types/sync/offline/LocalhostFromFile.d.ts +0 -2
  277. package/types/sync/offline/splitsParser/splitsParserFromFile.d.ts +0 -2
  278. package/types/sync/polling/syncTasks/splitsSyncTask.copy.d.ts +0 -35
  279. package/types/sync/polling/syncTasks/splitsSyncTask.morelikeoriginal.d.ts +0 -35
  280. package/types/sync/streaming/AuthClient/indexV1.d.ts +0 -12
  281. package/types/sync/streaming/AuthClient/indexV2.d.ts +0 -8
  282. package/types/sync/streaming/pushManagerCS.d.ts +0 -1
  283. package/types/sync/streaming/pushManagerNoUsers.d.ts +0 -13
  284. package/types/sync/streaming/pushManagerSS.d.ts +0 -1
  285. package/types/sync/submitters/eventsSyncTask.d.ts +0 -8
  286. package/types/sync/submitters/impressionCountsSyncTask.d.ts +0 -13
  287. package/types/sync/submitters/impressionsSyncTask.d.ts +0 -14
  288. package/types/sync/submitters/metricsSyncTask.d.ts +0 -12
  289. package/types/sync/submitters/submitterSyncTask.d.ts +0 -10
  290. package/types/sync/submitters/telemetrySyncTask.d.ts +0 -0
  291. package/types/sync/submitters/uniqueKeysSubmitter.d.ts +0 -13
  292. package/types/sync/syncManagerFromFile.d.ts +0 -2
  293. package/types/sync/syncManagerFromObject.d.ts +0 -2
  294. package/types/sync/syncManagerOffline.d.ts +0 -9
  295. package/types/sync/syncTaskComposite.d.ts +0 -5
  296. package/types/trackers/strategy/strategyDebug.d.ts +0 -9
  297. package/types/trackers/strategy/strategyNone.d.ts +0 -10
  298. package/types/trackers/strategy/strategyOptimized.d.ts +0 -11
  299. package/types/trackers/telemetryRecorder.d.ts +0 -0
  300. package/types/trackers/uniqueKeysTracker.d.ts +0 -13
  301. package/types/types.d.ts +0 -1261
  302. package/types/utils/EventEmitter.d.ts +0 -4
  303. package/types/utils/consent.d.ts +0 -2
  304. package/types/utils/lang/errors.d.ts +0 -10
  305. package/types/utils/murmur3/commons.d.ts +0 -12
  306. package/types/utils/settingsValidation/buildMetadata.d.ts +0 -3
  307. package/types/utils/settingsValidation/localhost/index.d.ts +0 -9
  308. package/types/utils/settingsValidation/logger.d.ts +0 -11
  309. package/types/utils/settingsValidation/runtime/browser.d.ts +0 -2
  310. package/types/utils/settingsValidation/runtime/node.d.ts +0 -2
  311. package/types/utils/settingsValidation/userConsent.d.ts +0 -5
  312. package/types/utils/timeTracker/index.d.ts +0 -1
@@ -1,13 +1,13 @@
1
1
  import { IIntegrationManager, IIntegrationFactoryParams } from '../integrations/types';
2
2
  import { ISignalListener } from '../listeners/types';
3
- import { ILogger } from '../logger/types';
3
+ import { IAsyncClientSS, IAsyncManager, IClientSS, IClientWithKey, ILogger, IManager, SplitKey } from '../types';
4
4
  import { IReadinessManager, ISdkReadinessManager } from '../readiness/types';
5
5
  import { IFetch, ISplitApi, IEventSourceConstructor } from '../services/types';
6
6
  import { IStorageAsync, IStorageSync, ISplitsCacheSync, ISplitsCacheAsync, IStorageFactoryParams } from '../storages/types';
7
7
  import { ISyncManager } from '../sync/types';
8
8
  import { IImpressionObserver } from '../trackers/impressionObserver/types';
9
9
  import { IImpressionsTracker, IEventTracker, ITelemetryTracker } from '../trackers/types';
10
- import { SplitIO, ISettings, IEventEmitter } from '../types';
10
+ import { ISettings, IEventEmitter } from '../types';
11
11
 
12
12
  /**
13
13
  * Environment related dependencies.
@@ -90,11 +90,11 @@ export interface ISdkFactoryParams {
90
90
  log: ILogger,
91
91
  splits: ISplitsCacheSync | ISplitsCacheAsync,
92
92
  sdkReadinessManager: ISdkReadinessManager
93
- ) => SplitIO.IManager | SplitIO.IAsyncManager,
93
+ ) => IManager | IAsyncManager,
94
94
 
95
95
  // Sdk client method factory (ISDK::client method).
96
96
  // It Allows to distinguish SDK clients with the client-side API (`ICsSDK`) or server-side API (`ISDK` or `IAsyncSDK`).
97
- sdkClientMethodFactory: (params: ISdkFactoryContext) => ({ (): SplitIO.ICsClient; (key: SplitIO.SplitKey, trafficType?: string | undefined): SplitIO.ICsClient; } | (() => SplitIO.IClient) | (() => SplitIO.IAsyncClient))
97
+ sdkClientMethodFactory: (params: ISdkFactoryContext) => ({ (): IClientWithKey; (key: SplitKey, trafficType?: string | undefined): IClientWithKey; } | (() => IClientSS) | (() => IAsyncClientSS))
98
98
 
99
99
  // Optional signal listener constructor. Used to handle special app states, like shutdown, app paused or resumed.
100
100
  // Pass only if `syncManager` (used by Node listener) and `splitApi` (used by Browser listener) are passed.
@@ -5,8 +5,8 @@ import { validateSplit, validateSplitExistance, validateIfNotDestroyed, validate
5
5
  import { ISplitsCacheAsync, ISplitsCacheSync } from '../storages/types';
6
6
  import { ISdkReadinessManager } from '../readiness/types';
7
7
  import { ISplit } from '../dtos/types';
8
- import { SplitIO } from '../types';
9
- import { ILogger } from '../logger/types';
8
+ import { IAsyncManager, IManager, SplitView } from '../types';
9
+ import { ILogger } from '../types';
10
10
 
11
11
  function collectTreatments(splitObject: ISplit) {
12
12
  const conditions = splitObject.conditions;
@@ -18,7 +18,7 @@ function collectTreatments(splitObject: ISplit) {
18
18
  return allTreatmentsCondition ? allTreatmentsCondition.partitions.map(v => v.treatment) : [];
19
19
  }
20
20
 
21
- function objectToView(json: string | null): SplitIO.SplitView | null {
21
+ function objectToView(json: string | null): SplitView | null {
22
22
  let splitObject: ISplit | null;
23
23
 
24
24
  try {
@@ -41,7 +41,7 @@ function objectToView(json: string | null): SplitIO.SplitView | null {
41
41
  }
42
42
 
43
43
  function objectsToViews(jsons: string[]) {
44
- let views: SplitIO.SplitView[] = [];
44
+ let views: SplitView[] = [];
45
45
 
46
46
  jsons.forEach(split => {
47
47
  const view = objectToView(split);
@@ -55,7 +55,7 @@ export function sdkManagerFactory<TSplitCache extends ISplitsCacheSync | ISplits
55
55
  log: ILogger,
56
56
  splits: TSplitCache,
57
57
  { readinessManager, sdkStatus }: ISdkReadinessManager
58
- ): TSplitCache extends ISplitsCacheAsync ? SplitIO.IAsyncManager : SplitIO.IManager {
58
+ ): TSplitCache extends ISplitsCacheAsync ? IAsyncManager : IManager {
59
59
  const SPLIT_FN_LABEL = 'split';
60
60
 
61
61
  return objectAssign(
@@ -25,6 +25,7 @@ export function splitApiFactory(
25
25
  ): ISplitApi {
26
26
 
27
27
  const urls = settings.urls;
28
+ // @ts-ignore
28
29
  const filterQueryString = settings.sync.__splitFiltersValidation && settings.sync.__splitFiltersValidation.queryString;
29
30
  const SplitSDKImpressionsMode = settings.sync.impressionsMode;
30
31
  const splitHttpClient = splitHttpClientFactory(settings, platform.getFetch, platform.getOptions);
@@ -1,4 +1,4 @@
1
- import { SplitIO } from '../types';
1
+ import { PreloadedData } from './types';
2
2
  import { DEFAULT_CACHE_EXPIRATION_IN_MILLIS } from '../utils/constants/browser';
3
3
  import { DataLoader, ISegmentsCacheSync, ISplitsCacheSync } from './types';
4
4
 
@@ -9,7 +9,7 @@ import { DataLoader, ISegmentsCacheSync, ISplitsCacheSync } from './types';
9
9
  * and extended with a `mySegmentsData` property.
10
10
  * @returns function to preload the storage
11
11
  */
12
- export function dataLoaderFactory(preloadedData: SplitIO.PreloadedData): DataLoader {
12
+ export function dataLoaderFactory(preloadedData: PreloadedData): DataLoader {
13
13
 
14
14
  /**
15
15
  * Storage-agnostic adaptation of `loadDataIntoLocalStorage` function
@@ -1,4 +1,4 @@
1
- import { ILogger } from '../../logger/types';
1
+ import { ILogger } from '../../types';
2
2
  import { AbstractSegmentsCacheSync } from '../AbstractSegmentsCacheSync';
3
3
  import { KeyBuilderCS } from '../KeyBuilderCS';
4
4
  import { LOG_PREFIX, DEFINED } from './constants';
@@ -1,8 +1,8 @@
1
- import { ISplit, ISplitFiltersValidation } from '../../dtos/types';
1
+ import { ISplit } from '../../dtos/types';
2
2
  import { AbstractSplitsCacheSync, usesSegments } from '../AbstractSplitsCacheSync';
3
3
  import { isFiniteNumber, toNumber, isNaNNumber } from '../../utils/lang';
4
4
  import { KeyBuilderCS } from '../KeyBuilderCS';
5
- import { ILogger } from '../../logger/types';
5
+ import { ILogger, ISplitFiltersValidation } from '../../types';
6
6
  import { LOG_PREFIX } from './constants';
7
7
 
8
8
  /**
@@ -1,7 +1,8 @@
1
1
  import { ImpressionsCacheInMemory } from '../inMemory/ImpressionsCacheInMemory';
2
2
  import { ImpressionCountsCacheInMemory } from '../inMemory/ImpressionCountsCacheInMemory';
3
3
  import { EventsCacheInMemory } from '../inMemory/EventsCacheInMemory';
4
- import { IStorageFactoryParams, IStorageSync, IStorageSyncFactory } from '../types';
4
+ import { IStorageFactoryParams, IStorageSync } from '../types';
5
+ import { StorageSyncFactory } from '../../types';
5
6
  import { validatePrefix } from '../KeyBuilder';
6
7
  import { KeyBuilderCS } from '../KeyBuilderCS';
7
8
  import { isLocalStorageAvailable } from '../../utils/env/isLocalStorageAvailable';
@@ -22,7 +23,7 @@ export interface InLocalStorageOptions {
22
23
  /**
23
24
  * InLocal storage factory for standalone client-side SplitFactory
24
25
  */
25
- export function InLocalStorage(options: InLocalStorageOptions = {}): IStorageSyncFactory {
26
+ export function InLocalStorage(options: InLocalStorageOptions = {}): StorageSyncFactory {
26
27
 
27
28
  const prefix = validatePrefix(options.prefix);
28
29
 
@@ -1,4 +1,4 @@
1
- import { SplitIO } from '../../types';
1
+ import { EventData } from '../../types';
2
2
  import { IEventsCacheSync } from '../types';
3
3
 
4
4
  const MAX_QUEUE_BYTE_SIZE = 5 * 1024 * 1024; // 5M
@@ -7,7 +7,7 @@ export class EventsCacheInMemory implements IEventsCacheSync {
7
7
 
8
8
  private onFullQueue?: () => void;
9
9
  private readonly maxQueue: number;
10
- private queue: SplitIO.EventData[];
10
+ private queue: EventData[];
11
11
  private queueByteSize: number;
12
12
 
13
13
  /**
@@ -28,7 +28,7 @@ export class EventsCacheInMemory implements IEventsCacheSync {
28
28
  /**
29
29
  * Add a new event object at the end of the queue.
30
30
  */
31
- track(data: SplitIO.EventData, size = 0) {
31
+ track(data: EventData, size = 0) {
32
32
  this.queueByteSize += size;
33
33
  this.queue.push(data);
34
34
 
@@ -48,7 +48,7 @@ export class EventsCacheInMemory implements IEventsCacheSync {
48
48
  /**
49
49
  * Pop the collected data, used as payload for posting.
50
50
  */
51
- pop(toMerge?: SplitIO.EventData[]) {
51
+ pop(toMerge?: EventData[]) {
52
52
  const data = this.queue;
53
53
  this.clear();
54
54
  return toMerge ? toMerge.concat(data) : data;
@@ -1,8 +1,8 @@
1
1
  import { IEventsCacheAsync } from '../types';
2
2
  import { IMetadata } from '../../dtos/types';
3
3
  import { Redis } from 'ioredis';
4
- import { SplitIO } from '../../types';
5
- import { ILogger } from '../../logger/types';
4
+ import { EventData } from '../../types';
5
+ import { ILogger } from '../../types';
6
6
  import { LOG_PREFIX } from './constants';
7
7
  import { StoredEventWithMetadata } from '../../sync/submitters/types';
8
8
 
@@ -24,7 +24,7 @@ export class EventsCacheInRedis implements IEventsCacheAsync {
24
24
  * Add a new event object into the queue.
25
25
  * Unlike `impressions::track`, result promise is never rejected.
26
26
  */
27
- track(eventData: SplitIO.EventData): Promise<boolean> {
27
+ track(eventData: EventData): Promise<boolean> {
28
28
  return this.redis.rpush(
29
29
  this.key,
30
30
  this._toJSON(eventData)
@@ -40,7 +40,7 @@ export class EventsCacheInRedis implements IEventsCacheAsync {
40
40
  /**
41
41
  * Generates the JSON as we'll store it on Redis.
42
42
  */
43
- private _toJSON(eventData: SplitIO.EventData): string {
43
+ private _toJSON(eventData: EventData): string {
44
44
  return JSON.stringify({
45
45
  m: this.metadata,
46
46
  e: eventData
@@ -3,7 +3,7 @@ import { IMetadata } from '../../dtos/types';
3
3
  import { ImpressionDTO } from '../../types';
4
4
  import { Redis } from 'ioredis';
5
5
  import { StoredImpressionWithMetadata } from '../../sync/submitters/types';
6
- import { ILogger } from '../../logger/types';
6
+ import { ILogger } from '../../types';
7
7
 
8
8
  const IMPRESSIONS_TTL_REFRESH = 3600; // 1 hr
9
9
 
@@ -1,5 +1,5 @@
1
1
  import ioredis from 'ioredis';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { merge, isString } from '../../utils/lang';
4
4
  import { _Set, setToArray, ISet } from '../../utils/lang/sets';
5
5
  import { thenable } from '../../utils/promise/thenable';
@@ -1,5 +1,5 @@
1
1
  import { Redis } from 'ioredis';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { isNaNNumber } from '../../utils/lang';
4
4
  import { LOG_PREFIX } from '../inLocalStorage/constants';
5
5
  import { KeyBuilderSS } from '../KeyBuilderSS';
@@ -1,7 +1,7 @@
1
1
  import { isFiniteNumber, isNaNNumber } from '../../utils/lang';
2
2
  import { KeyBuilderSS } from '../KeyBuilderSS';
3
3
  import { Redis } from 'ioredis';
4
- import { ILogger } from '../../logger/types';
4
+ import { ILogger } from '../../types';
5
5
  import { LOG_PREFIX } from './constants';
6
6
  import { ISplit } from '../../dtos/types';
7
7
  import { AbstractSplitsCacheAsync } from '../AbstractSplitsCacheAsync';
@@ -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 { ITelemetryCacheAsync } from '../types';
@@ -1,5 +1,6 @@
1
1
  import { RedisAdapter } from './RedisAdapter';
2
- import { IStorageAsync, IStorageAsyncFactory, IStorageFactoryParams } from '../types';
2
+ import { IStorageAsync, IStorageFactoryParams } from '../types';
3
+ import { StorageAsyncFactory } from '../../types';
3
4
  import { validatePrefix } from '../KeyBuilder';
4
5
  import { KeyBuilderSS } from '../KeyBuilderSS';
5
6
  import { SplitsCacheInRedis } from './SplitsCacheInRedis';
@@ -18,7 +19,7 @@ export interface InRedisStorageOptions {
18
19
  * InRedis storage factory for consumer server-side SplitFactory, that uses `Ioredis` Redis client for Node.
19
20
  * @see {@link https://www.npmjs.com/package/ioredis}
20
21
  */
21
- export function InRedisStorage(options: InRedisStorageOptions = {}): IStorageAsyncFactory {
22
+ export function InRedisStorage(options: InRedisStorageOptions = {}): StorageAsyncFactory {
22
23
 
23
24
  const prefix = validatePrefix(options.prefix);
24
25
 
@@ -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 { LOG_PREFIX } from './constants';
6
6
  import { StoredEventWithMetadata } from '../../sync/submitters/types';
7
7
 
@@ -25,7 +25,7 @@ export class EventsCachePluggable implements IEventsCacheAsync {
25
25
  * @returns A promise that is resolved with a boolean value indicating if the push operation succeeded or failed.
26
26
  * Unlike `impressions::track`, The promise will never be rejected.
27
27
  */
28
- track(eventData: SplitIO.EventData): Promise<boolean> {
28
+ track(eventData: EventData): Promise<boolean> {
29
29
  return this.wrapper.pushItems(
30
30
  this.key,
31
31
  [this._toJSON(eventData)]
@@ -38,7 +38,7 @@ export class EventsCachePluggable implements IEventsCacheAsync {
38
38
  });
39
39
  }
40
40
 
41
- private _toJSON(eventData: SplitIO.EventData): string {
41
+ private _toJSON(eventData: EventData): string {
42
42
  return JSON.stringify({
43
43
  m: this.metadata,
44
44
  e: eventData
@@ -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
 
7
7
  export class ImpressionsCachePluggable implements IImpressionsCacheAsync {
@@ -3,7 +3,7 @@
3
3
  import { isNaNNumber } from '../../utils/lang';
4
4
  import { KeyBuilderSS } from '../KeyBuilderSS';
5
5
  import { IPluggableStorageWrapper, ISegmentsCacheAsync } from '../types';
6
- import { ILogger } from '../../logger/types';
6
+ import { ILogger } from '../../types';
7
7
  import { LOG_PREFIX } from './constants';
8
8
  import { _Set } from '../../utils/lang/sets';
9
9
 
@@ -1,7 +1,7 @@
1
1
  import { isFiniteNumber, isNaNNumber } from '../../utils/lang';
2
2
  import { KeyBuilder } from '../KeyBuilder';
3
3
  import { IPluggableStorageWrapper } from '../types';
4
- import { ILogger } from '../../logger/types';
4
+ import { ILogger } from '../../types';
5
5
  import { ISplit } from '../../dtos/types';
6
6
  import { LOG_PREFIX } from './constants';
7
7
  import { AbstractSplitsCacheAsync } from '../AbstractSplitsCacheAsync';
@@ -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,5 +1,5 @@
1
- import { IPluggableStorageWrapper, IStorageAsync, IStorageAsyncFactory, IStorageFactoryParams } from '../types';
2
-
1
+ import { IPluggableStorageWrapper, IStorageAsync, IStorageFactoryParams } from '../types';
2
+ import { StorageAsyncFactory } from '../../types';
3
3
  import { KeyBuilderSS } from '../KeyBuilderSS';
4
4
  import { SplitsCachePluggable } from './SplitsCachePluggable';
5
5
  import { SegmentsCachePluggable } from './SegmentsCachePluggable';
@@ -58,7 +58,7 @@ function promisifyEventsTrack(events: any) {
58
58
  /**
59
59
  * Pluggable storage factory for consumer server-side & client-side SplitFactory.
60
60
  */
61
- export function PluggableStorage(options: PluggableStorageOptions): IStorageAsyncFactory {
61
+ export function PluggableStorage(options: PluggableStorageOptions): StorageAsyncFactory {
62
62
 
63
63
  validatePluggableStorageOptions(options);
64
64
 
@@ -1,4 +1,4 @@
1
- import { ILogger } from '../../logger/types';
1
+ import { ILogger } from '../../types';
2
2
  import { IPluggableStorageWrapper } from '../types';
3
3
  import { LOG_PREFIX } from './constants';
4
4
 
@@ -1,7 +1,6 @@
1
- import { MaybeThenable, IMetadata, ISplitFiltersValidation } from '../dtos/types';
2
- import { ILogger } from '../logger/types';
1
+ import { MaybeThenable, IMetadata } from '../dtos/types';
3
2
  import { EventDataType, HttpErrors, HttpLatencies, ImpressionDataType, LastSync, Method, MethodExceptions, MethodLatencies, OperationType, StoredEventWithMetadata, StoredImpressionWithMetadata, StreamingEvent } from '../sync/submitters/types';
4
- import { SplitIO, ImpressionDTO, SDKMode } from '../types';
3
+ import { ImpressionDTO, SDKMode, ILogger, EventData, ISplitFiltersValidation } from '../types';
5
4
 
6
5
  /**
7
6
  * Interface of a pluggable storage wrapper.
@@ -289,7 +288,7 @@ export interface IImpressionsCacheBase {
289
288
 
290
289
  export interface IEventsCacheBase {
291
290
  // Consumer API method, used by events tracker, in standalone and consumer modes, to push events into the storage.
292
- track(data: SplitIO.EventData, size?: number): MaybeThenable<boolean>
291
+ track(data: EventData, size?: number): MaybeThenable<boolean>
293
292
  }
294
293
 
295
294
  /** Impressions and events cache for standalone mode (sync) */
@@ -312,8 +311,8 @@ export interface IImpressionsCacheSync extends IImpressionsCacheBase, IRecorderC
312
311
  setOnFullQueueCb(cb: () => void): void
313
312
  }
314
313
 
315
- export interface IEventsCacheSync extends IEventsCacheBase, IRecorderCacheProducerSync<SplitIO.EventData[]> {
316
- track(data: SplitIO.EventData, size?: number): boolean
314
+ export interface IEventsCacheSync extends IEventsCacheBase, IRecorderCacheProducerSync<EventData[]> {
315
+ track(data: EventData, size?: number): boolean
317
316
  /* Registers callback for full queue */
318
317
  setOnFullQueueCb(cb: () => void): void
319
318
  }
@@ -339,7 +338,7 @@ export interface IImpressionsCacheAsync extends IImpressionsCacheBase, IRecorder
339
338
  export interface IEventsCacheAsync extends IEventsCacheBase, IRecorderCacheProducerAsync<StoredEventWithMetadata[]> {
340
339
  // Consumer API method, used by events tracker (in standalone and consumer modes) to push data into.
341
340
  // The result promise cannot reject.
342
- track(data: SplitIO.EventData, size?: number): Promise<boolean>
341
+ track(data: EventData, size?: number): Promise<boolean>
343
342
  }
344
343
 
345
344
  /**
@@ -352,7 +351,7 @@ export interface IImpressionCountsCacheSync extends IRecorderCacheProducerSync<R
352
351
 
353
352
  // Used by impressions count submitter in standalone and producer mode
354
353
  isEmpty(): boolean // check if cache is empty. Return true if the cache was just created or cleared.
355
- pop(toMerge?: Record<string, number> ): Record<string, number> // pop cache data
354
+ pop(toMerge?: Record<string, number>): Record<string, number> // pop cache data
356
355
  }
357
356
 
358
357
 
@@ -495,14 +494,39 @@ export interface IStorageFactoryParams {
495
494
  metadata: IMetadata,
496
495
  }
497
496
 
498
- export type StorageType = 'MEMORY' | 'LOCALSTORAGE' | 'REDIS' | 'PLUGGABLE';
499
-
500
- export type IStorageSyncFactory = {
501
- readonly type: StorageType,
502
- (params: IStorageFactoryParams): IStorageSync
503
- }
504
-
505
- export type IStorageAsyncFactory = {
506
- type: StorageType,
507
- (params: IStorageFactoryParams): IStorageAsync
497
+ /**
498
+ * Defines the format of Split data to preload on the factory storage (cache).
499
+ */
500
+ export interface PreloadedData {
501
+ /**
502
+ * Timestamp of the last moment the data was synchronized with Split servers.
503
+ * If this value is older than 10 days ago (expiration time policy), the data is not used to update the storage content.
504
+ * @TODO configurable expiration time policy?
505
+ */
506
+ lastUpdated: number,
507
+ /**
508
+ * Change number of the preloaded data.
509
+ * If this value is older than the current changeNumber at the storage, the data is not used to update the storage content.
510
+ */
511
+ since: number,
512
+ /**
513
+ * Map of splits to their serialized definitions.
514
+ */
515
+ splitsData: {
516
+ [splitName: string]: string
517
+ },
518
+ /**
519
+ * Optional map of user keys to their list of segments.
520
+ * @TODO remove when releasing first version
521
+ */
522
+ mySegmentsData?: {
523
+ [key: string]: string[]
524
+ },
525
+ /**
526
+ * Optional map of segments to their serialized definitions.
527
+ * This property is ignored if `mySegmentsData` was provided.
528
+ */
529
+ segmentsData?: {
530
+ [segmentName: string]: string
531
+ },
508
532
  }
@@ -1,12 +1,12 @@
1
1
  import { splitsParserFromSettingsFactory } from './splitsParser/splitsParserFromSettings';
2
2
  import { syncManagerOfflineFactory } from './syncManagerOffline';
3
- import { SplitIO } from '../../types';
3
+ import { LocalhostFactory } from '../../types';
4
4
 
5
5
  // Singleton instance of the factory function for offline SyncManager from object (a.k.a. localhostFromObject)
6
6
  // SDK instances instantiate their SyncManagers with the same factory
7
- const localhostFromObject = syncManagerOfflineFactory(splitsParserFromSettingsFactory) as SplitIO.LocalhostFactory;
7
+ const localhostFromObject: any = syncManagerOfflineFactory(splitsParserFromSettingsFactory);
8
8
  localhostFromObject.type = 'LocalhostFromObject';
9
9
 
10
- export function LocalhostFromObject(): SplitIO.LocalhostFactory {
11
- return localhostFromObject;
10
+ export function LocalhostFromObject() {
11
+ return localhostFromObject as LocalhostFactory;
12
12
  }
@@ -1,23 +1,23 @@
1
1
  import { ISplitPartial } from '../../../dtos/types';
2
- import { ISettings, SplitIO } from '../../../types';
2
+ import { ISettings, MockedFeaturesMap, TreatmentWithConfig } from '../../../types';
3
3
  import { isObject, forOwn } from '../../../utils/lang';
4
4
  import { parseCondition } from './parseCondition';
5
5
 
6
- function hasTreatmentChanged(prev: string | SplitIO.TreatmentWithConfig, curr: string | SplitIO.TreatmentWithConfig) {
6
+ function hasTreatmentChanged(prev: string | TreatmentWithConfig, curr: string | TreatmentWithConfig) {
7
7
  if (typeof prev !== typeof curr) return true;
8
8
 
9
9
  if (typeof prev === 'string') { // strings treatments, just compare
10
10
  return prev !== curr;
11
11
  } else { // has treatment and config, compare both
12
- return prev.treatment !== (curr as SplitIO.TreatmentWithConfig).treatment || prev.config !== (curr as SplitIO.TreatmentWithConfig).config;
12
+ return prev.treatment !== (curr as TreatmentWithConfig).treatment || prev.config !== (curr as TreatmentWithConfig).config;
13
13
  }
14
14
  }
15
15
 
16
16
  export function splitsParserFromSettingsFactory() {
17
17
 
18
- let previousMock: SplitIO.MockedFeaturesMap = { 'emptyMock': '1' };
18
+ let previousMock: MockedFeaturesMap = { 'emptyMock': '1' };
19
19
 
20
- function mockUpdated(currentData: SplitIO.MockedFeaturesMap) {
20
+ function mockUpdated(currentData: MockedFeaturesMap) {
21
21
  const names = Object.keys(currentData);
22
22
 
23
23
  // Different amount of items
@@ -42,7 +42,7 @@ export function splitsParserFromSettingsFactory() {
42
42
  * @param settings validated object with mocked features mapping.
43
43
  */
44
44
  return function splitsParserFromSettings(settings: ISettings): false | Record<string, ISplitPartial> {
45
- const features = settings.features as SplitIO.MockedFeaturesMap || {};
45
+ const features = settings.features as MockedFeaturesMap || {};
46
46
 
47
47
  if (!mockUpdated(features)) return false;
48
48
 
@@ -53,8 +53,8 @@ export function splitsParserFromSettingsFactory() {
53
53
  let config = null;
54
54
 
55
55
  if (isObject(data)) {
56
- treatment = (data as SplitIO.TreatmentWithConfig).treatment;
57
- config = (data as SplitIO.TreatmentWithConfig).config || config;
56
+ treatment = (data as TreatmentWithConfig).treatment;
57
+ config = (data as TreatmentWithConfig).config || config;
58
58
  }
59
59
  const configurations: Record<string, string> = {};
60
60
  if (config !== null) configurations[treatment as string] = config;
@@ -3,7 +3,7 @@ import { ISegmentsCacheSync, ISplitsCacheSync } from '../../../storages/types';
3
3
  import { ISegmentsEventEmitter } from '../../../readiness/types';
4
4
  import { timeout } from '../../../utils/promise/timeout';
5
5
  import { SDK_SEGMENTS_ARRIVED } from '../../../readiness/constants';
6
- import { ILogger } from '../../../logger/types';
6
+ import { ILogger } from '../../../types';
7
7
  import { SYNC_MYSEGMENTS_FETCH_RETRY } from '../../../logger/constants';
8
8
  import { MySegmentsData } from '../types';
9
9
 
@@ -4,7 +4,7 @@ import { IReadinessManager } from '../../../readiness/types';
4
4
  import { MaybeThenable } from '../../../dtos/types';
5
5
  import { findIndex } from '../../../utils/lang';
6
6
  import { SDK_SEGMENTS_ARRIVED } from '../../../readiness/constants';
7
- import { ILogger } from '../../../logger/types';
7
+ import { ILogger } from '../../../types';
8
8
  import { LOG_PREFIX_INSTANTIATION, LOG_PREFIX_SYNC_SEGMENTS } from '../../../logger/constants';
9
9
  import { thenable } from '../../../utils/promise/thenable';
10
10
 
@@ -5,7 +5,7 @@ import { ISplit, ISplitChangesResponse } from '../../../dtos/types';
5
5
  import { ISplitsEventEmitter } from '../../../readiness/types';
6
6
  import { timeout } from '../../../utils/promise/timeout';
7
7
  import { SDK_SPLITS_ARRIVED, SDK_SPLITS_CACHE_LOADED } from '../../../readiness/constants';
8
- import { ILogger } from '../../../logger/types';
8
+ import { ILogger } from '../../../types';
9
9
  import { SYNC_SPLITS_FETCH, SYNC_SPLITS_NEW, SYNC_SPLITS_REMOVED, SYNC_SPLITS_SEGMENTS, SYNC_SPLITS_FETCH_FAILS, SYNC_SPLITS_FETCH_RETRY } from '../../../logger/constants';
10
10
 
11
11
  type ISplitChangesUpdater = (noCache?: boolean, till?: number) => Promise<boolean>
@@ -4,7 +4,7 @@ import { PUSH_RETRYABLE_ERROR, PUSH_NONRETRYABLE_ERROR, OCCUPANCY, CONTROL, MY_S
4
4
  import { IPushEventEmitter } from '../types';
5
5
  import { ISseEventHandler } from '../SSEClient/types';
6
6
  import { INotificationError, INotificationMessage } from './types';
7
- import { ILogger } from '../../../logger/types';
7
+ import { ILogger } from '../../../types';
8
8
  import { STREAMING_PARSING_ERROR_FAILS, ERROR_STREAMING_SSE, STREAMING_PARSING_MESSAGE_FAILS, STREAMING_NEW_MESSAGE } from '../../../logger/constants';
9
9
  import { ABLY_ERROR, NON_REQUESTED, SSE_CONNECTION_ERROR } from '../../../utils/constants';
10
10
  import { ITelemetryTracker } from '../../../trackers/types';
@@ -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 { Backoff } from '../../../utils/Backoff';
4
4
  import { ISegmentsSyncTask } from '../../polling/types';
@@ -1,4 +1,4 @@
1
- import { ILogger } from '../../../logger/types';
1
+ import { ILogger } from '../../../types';
2
2
  import { SDK_SPLITS_ARRIVED } from '../../../readiness/constants';
3
3
  import { ISplitsEventEmitter } from '../../../readiness/types';
4
4
  import { ISplitsCacheSync } from '../../../storages/types';
@@ -1,7 +1,7 @@
1
1
  import { syncTaskFactory } from '../syncTask';
2
2
  import { ISyncTask } from '../types';
3
3
  import { IRecorderCacheProducerSync } from '../../storages/types';
4
- import { ILogger } from '../../logger/types';
4
+ import { ILogger } from '../../types';
5
5
  import { SUBMITTERS_PUSH, SUBMITTERS_PUSH_FAILS, SUBMITTERS_PUSH_RETRY } from '../../logger/constants';
6
6
  import { IResponse } from '../../services/types';
7
7
 
@@ -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
 
5
5
  export type ImpressionsPayload = {
@@ -61,7 +61,7 @@ export type StoredEventWithMetadata = {
61
61
  /** Metadata */
62
62
  m: IMetadata,
63
63
  /** Stored event */
64
- e: SplitIO.EventData
64
+ e: EventData
65
65
  }
66
66
 
67
67
  /**
@@ -1,5 +1,5 @@
1
1
  import { SYNC_TASK_EXECUTE, SYNC_TASK_START, SYNC_TASK_STOP } from '../logger/constants';
2
- import { ILogger } from '../logger/types';
2
+ import { ILogger } from '../types';
3
3
  import { ISyncTask } from './types';
4
4
 
5
5
  /**
@@ -2,7 +2,7 @@ import { objectAssign } from '../utils/lang/objectAssign';
2
2
  import { thenable } from '../utils/promise/thenable';
3
3
  import { IEventsCacheBase, ITelemetryCacheAsync, ITelemetryCacheSync } from '../storages/types';
4
4
  import { IEventsHandler, IEventTracker } from './types';
5
- import { ISettings, SplitIO } from '../types';
5
+ import { ISettings, EventData } from '../types';
6
6
  import { EVENTS_TRACKER_SUCCESS, ERROR_EVENTS_TRACKER } from '../logger/constants';
7
7
  import { CONSENT_DECLINED, DROPPED, QUEUED } from '../utils/constants';
8
8
  import { isStorageSync } from './impressionObserver/utils';
@@ -23,7 +23,7 @@ export function eventTrackerFactory(
23
23
  const log = settings.log;
24
24
  const isSync = isStorageSync(settings);
25
25
 
26
- function queueEventsCallback(eventData: SplitIO.EventData, tracked: boolean) {
26
+ function queueEventsCallback(eventData: EventData, tracked: boolean) {
27
27
  const { eventTypeId, trafficTypeName, key, value, timestamp, properties } = eventData;
28
28
  // Logging every prop would be too much.
29
29
  const msg = `event of type "${eventTypeId}" for traffic type "${trafficTypeName}". Key: ${key}. Value: ${value}. Timestamp: ${timestamp}. ${properties ? 'With properties.' : 'With no properties.'}`;
@@ -48,7 +48,7 @@ export function eventTrackerFactory(
48
48
  }
49
49
 
50
50
  return {
51
- track(eventData: SplitIO.EventData, size?: number) {
51
+ track(eventData: EventData, size?: number) {
52
52
  if (settings.userConsent === CONSENT_DECLINED) {
53
53
  return isSync ? false : Promise.resolve(false);
54
54
  }