@splitsoftware/splitio-commons 1.6.2-rc.1 → 1.6.2-rc.4

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 (433) hide show
  1. package/cjs/listeners/browser.js +1 -2
  2. package/cjs/logger/constants.js +1 -2
  3. package/cjs/sdkClient/clientAttributesDecoration.js +1 -1
  4. package/cjs/sdkFactory/index.js +6 -13
  5. package/cjs/services/splitApi.js +1 -20
  6. package/cjs/storages/inMemory/AttributesCacheInMemory.js +1 -1
  7. package/cjs/sync/submitters/submitterManager.js +0 -3
  8. package/cjs/trackers/impressionsTracker.js +28 -7
  9. package/cjs/utils/constants/index.js +2 -3
  10. package/cjs/utils/key/index.js +1 -1
  11. package/cjs/utils/settingsValidation/impressionsMode.js +2 -2
  12. package/cjs/utils/settingsValidation/index.js +1 -3
  13. package/esm/listeners/browser.js +2 -3
  14. package/esm/logger/constants.js +0 -1
  15. package/esm/sdkClient/clientAttributesDecoration.js +1 -1
  16. package/esm/sdkFactory/index.js +6 -13
  17. package/esm/services/splitApi.js +1 -20
  18. package/esm/storages/inMemory/AttributesCacheInMemory.js +1 -1
  19. package/esm/sync/submitters/submitterManager.js +0 -3
  20. package/esm/trackers/impressionsTracker.js +28 -7
  21. package/esm/utils/constants/index.js +0 -1
  22. package/esm/utils/key/index.js +1 -1
  23. package/esm/utils/settingsValidation/impressionsMode.js +3 -3
  24. package/esm/utils/settingsValidation/index.js +1 -3
  25. package/package.json +4 -5
  26. package/src/consent/sdkUserConsent.ts +4 -3
  27. package/src/dtos/types.ts +0 -8
  28. package/src/evaluator/Engine.ts +3 -3
  29. package/src/evaluator/combiners/and.ts +1 -1
  30. package/src/evaluator/combiners/ifelseif.ts +3 -3
  31. package/src/evaluator/condition/engineUtils.ts +1 -1
  32. package/src/evaluator/condition/index.ts +6 -6
  33. package/src/evaluator/index.ts +10 -10
  34. package/src/evaluator/matchers/all.ts +1 -1
  35. package/src/evaluator/matchers/between.ts +1 -1
  36. package/src/evaluator/matchers/boolean.ts +1 -1
  37. package/src/evaluator/matchers/cont_all.ts +1 -1
  38. package/src/evaluator/matchers/cont_any.ts +1 -1
  39. package/src/evaluator/matchers/cont_str.ts +1 -1
  40. package/src/evaluator/matchers/dependency.ts +1 -1
  41. package/src/evaluator/matchers/eq.ts +1 -1
  42. package/src/evaluator/matchers/eq_set.ts +1 -1
  43. package/src/evaluator/matchers/ew.ts +1 -1
  44. package/src/evaluator/matchers/gte.ts +1 -1
  45. package/src/evaluator/matchers/index.ts +1 -1
  46. package/src/evaluator/matchers/lte.ts +1 -1
  47. package/src/evaluator/matchers/part_of.ts +1 -1
  48. package/src/evaluator/matchers/segment.ts +1 -1
  49. package/src/evaluator/matchers/string.ts +1 -1
  50. package/src/evaluator/matchers/sw.ts +1 -1
  51. package/src/evaluator/matchers/whitelist.ts +1 -1
  52. package/src/evaluator/parser/index.ts +3 -3
  53. package/src/evaluator/types.ts +6 -6
  54. package/src/evaluator/value/index.ts +4 -4
  55. package/src/evaluator/value/sanitize.ts +4 -4
  56. package/src/integrations/ga/GaToSplit.ts +6 -6
  57. package/src/integrations/ga/SplitToGa.ts +10 -10
  58. package/src/integrations/ga/types.ts +4 -4
  59. package/src/integrations/pluggable.ts +3 -3
  60. package/src/integrations/types.ts +2 -2
  61. package/src/listeners/browser.ts +2 -3
  62. package/src/logger/.DS_Store +0 -0
  63. package/src/logger/constants.ts +0 -1
  64. package/src/logger/index.ts +3 -3
  65. package/src/logger/sdkLogger.ts +1 -2
  66. package/src/logger/types.ts +0 -16
  67. package/src/readiness/sdkReadinessManager.ts +1 -1
  68. package/src/readiness/types.ts +2 -9
  69. package/src/sdkClient/client.ts +13 -13
  70. package/src/sdkClient/clientAttributesDecoration.ts +13 -13
  71. package/src/sdkClient/clientCS.ts +3 -4
  72. package/src/sdkClient/clientInputValidation.ts +15 -15
  73. package/src/sdkClient/sdkClient.ts +2 -2
  74. package/src/sdkClient/sdkClientMethod.ts +2 -2
  75. package/src/sdkClient/sdkClientMethodCS.ts +9 -9
  76. package/src/sdkClient/sdkClientMethodCSWithTT.ts +9 -9
  77. package/src/sdkFactory/index.ts +8 -17
  78. package/src/sdkFactory/types.ts +8 -11
  79. package/src/sdkManager/index.ts +5 -5
  80. package/src/services/splitApi.ts +1 -22
  81. package/src/services/types.ts +0 -6
  82. package/src/storages/dataLoader.ts +2 -2
  83. package/src/storages/inLocalStorage/MySegmentsCacheInLocal.ts +1 -1
  84. package/src/storages/inLocalStorage/SplitsCacheInLocal.ts +2 -2
  85. package/src/storages/inLocalStorage/index.ts +3 -2
  86. package/src/storages/inMemory/AttributesCacheInMemory.ts +13 -12
  87. package/src/storages/inMemory/EventsCacheInMemory.ts +4 -4
  88. package/src/storages/inRedis/EventsCacheInRedis.ts +4 -4
  89. package/src/storages/inRedis/ImpressionsCacheInRedis.ts +1 -1
  90. package/src/storages/inRedis/RedisAdapter.ts +1 -1
  91. package/src/storages/inRedis/SegmentsCacheInRedis.ts +1 -1
  92. package/src/storages/inRedis/SplitsCacheInRedis.ts +1 -1
  93. package/src/storages/inRedis/TelemetryCacheInRedis.ts +1 -1
  94. package/src/storages/inRedis/index.ts +3 -2
  95. package/src/storages/pluggable/EventsCachePluggable.ts +4 -4
  96. package/src/storages/pluggable/ImpressionsCachePluggable.ts +1 -1
  97. package/src/storages/pluggable/SegmentsCachePluggable.ts +1 -1
  98. package/src/storages/pluggable/SplitsCachePluggable.ts +1 -1
  99. package/src/storages/pluggable/TelemetryCachePluggable.ts +1 -1
  100. package/src/storages/pluggable/index.ts +3 -3
  101. package/src/storages/pluggable/wrapperAdapter.ts +1 -1
  102. package/src/storages/types.ts +46 -35
  103. package/src/sync/offline/LocalhostFromObject.ts +4 -4
  104. package/src/sync/offline/splitsParser/splitsParserFromSettings.ts +8 -8
  105. package/src/sync/polling/updaters/mySegmentsUpdater.ts +1 -1
  106. package/src/sync/polling/updaters/segmentChangesUpdater.ts +1 -1
  107. package/src/sync/polling/updaters/splitChangesUpdater.ts +1 -1
  108. package/src/sync/streaming/SSEHandler/index.ts +1 -1
  109. package/src/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.ts +1 -1
  110. package/src/sync/streaming/UpdateWorkers/SplitsUpdateWorker.ts +1 -1
  111. package/src/sync/submitters/submitter.ts +1 -1
  112. package/src/sync/submitters/submitterManager.ts +0 -2
  113. package/src/sync/submitters/types.ts +3 -22
  114. package/src/sync/syncTask.ts +1 -1
  115. package/src/trackers/eventTracker.ts +3 -3
  116. package/src/trackers/impressionsTracker.ts +37 -15
  117. package/src/trackers/types.ts +4 -34
  118. package/src/types.d.ts +1581 -0
  119. package/src/utils/constants/index.ts +1 -2
  120. package/src/utils/inputValidation/apiKey.ts +1 -1
  121. package/src/utils/inputValidation/attribute.ts +1 -1
  122. package/src/utils/inputValidation/attributes.ts +3 -3
  123. package/src/utils/inputValidation/event.ts +1 -1
  124. package/src/utils/inputValidation/eventProperties.ts +3 -3
  125. package/src/utils/inputValidation/eventValue.ts +1 -1
  126. package/src/utils/inputValidation/isOperational.ts +1 -1
  127. package/src/utils/inputValidation/key.ts +3 -3
  128. package/src/utils/inputValidation/preloadedData.ts +3 -3
  129. package/src/utils/inputValidation/split.ts +1 -1
  130. package/src/utils/inputValidation/splitExistance.ts +1 -1
  131. package/src/utils/inputValidation/splits.ts +1 -1
  132. package/src/utils/inputValidation/trafficType.ts +1 -1
  133. package/src/utils/inputValidation/trafficTypeExistance.ts +1 -1
  134. package/src/utils/key/index.ts +9 -9
  135. package/src/utils/settingsValidation/consent.ts +1 -2
  136. package/src/utils/settingsValidation/impressionsMode.ts +6 -6
  137. package/src/utils/settingsValidation/index.ts +1 -4
  138. package/src/utils/settingsValidation/integrations/common.ts +1 -1
  139. package/src/utils/settingsValidation/integrations/configurable.ts +1 -1
  140. package/src/utils/settingsValidation/integrations/pluggable.ts +1 -2
  141. package/src/utils/settingsValidation/localhost/builtin.ts +1 -2
  142. package/src/utils/settingsValidation/localhost/pluggable.ts +1 -2
  143. package/src/utils/settingsValidation/logger/builtinLogger.ts +1 -2
  144. package/src/utils/settingsValidation/logger/pluggableLogger.ts +1 -2
  145. package/src/utils/settingsValidation/splitFilters.ts +7 -9
  146. package/src/utils/settingsValidation/storage/storageCS.ts +1 -2
  147. package/cjs/sync/submitters/uniqueKeysSubmitter.js +0 -70
  148. package/cjs/trackers/strategy/strategyDebug.js +0 -25
  149. package/cjs/trackers/strategy/strategyNone.js +0 -29
  150. package/cjs/trackers/strategy/strategyOptimized.js +0 -34
  151. package/cjs/trackers/uniqueKeysTracker.js +0 -69
  152. package/cjs/types.js +0 -2
  153. package/esm/sync/submitters/uniqueKeysSubmitter.js +0 -64
  154. package/esm/trackers/strategy/strategyDebug.js +0 -21
  155. package/esm/trackers/strategy/strategyNone.js +0 -25
  156. package/esm/trackers/strategy/strategyOptimized.js +0 -30
  157. package/esm/trackers/uniqueKeysTracker.js +0 -65
  158. package/esm/types.js +0 -1
  159. package/src/sync/submitters/uniqueKeysSubmitter.ts +0 -79
  160. package/src/trackers/strategy/strategyDebug.ts +0 -28
  161. package/src/trackers/strategy/strategyNone.ts +0 -34
  162. package/src/trackers/strategy/strategyOptimized.ts +0 -42
  163. package/src/trackers/uniqueKeysTracker.ts +0 -80
  164. package/src/types.ts +0 -1264
  165. package/types/consent/index.d.ts +0 -2
  166. package/types/consent/sdkUserConsent.d.ts +0 -13
  167. package/types/dtos/types.d.ts +0 -172
  168. package/types/evaluator/Engine.d.ts +0 -15
  169. package/types/evaluator/combiners/and.d.ts +0 -4
  170. package/types/evaluator/combiners/ifelseif.d.ts +0 -3
  171. package/types/evaluator/condition/engineUtils.d.ts +0 -11
  172. package/types/evaluator/condition/index.d.ts +0 -6
  173. package/types/evaluator/convertions/index.d.ts +0 -2
  174. package/types/evaluator/index.d.ts +0 -7
  175. package/types/evaluator/matchers/all.d.ts +0 -2
  176. package/types/evaluator/matchers/between.d.ts +0 -3
  177. package/types/evaluator/matchers/boolean.d.ts +0 -2
  178. package/types/evaluator/matchers/cont_all.d.ts +0 -2
  179. package/types/evaluator/matchers/cont_any.d.ts +0 -2
  180. package/types/evaluator/matchers/cont_str.d.ts +0 -2
  181. package/types/evaluator/matchers/dependency.d.ts +0 -5
  182. package/types/evaluator/matchers/eq.d.ts +0 -2
  183. package/types/evaluator/matchers/eq_set.d.ts +0 -2
  184. package/types/evaluator/matchers/ew.d.ts +0 -2
  185. package/types/evaluator/matchers/gte.d.ts +0 -2
  186. package/types/evaluator/matchers/index.d.ts +0 -7
  187. package/types/evaluator/matchers/lte.d.ts +0 -2
  188. package/types/evaluator/matchers/matcherTypes.d.ts +0 -10
  189. package/types/evaluator/matchers/part_of.d.ts +0 -2
  190. package/types/evaluator/matchers/segment.d.ts +0 -6
  191. package/types/evaluator/matchers/string.d.ts +0 -2
  192. package/types/evaluator/matchers/sw.d.ts +0 -2
  193. package/types/evaluator/matchers/whitelist.d.ts +0 -3
  194. package/types/evaluator/matchersTransform/index.d.ts +0 -6
  195. package/types/evaluator/matchersTransform/segment.d.ts +0 -5
  196. package/types/evaluator/matchersTransform/set.d.ts +0 -5
  197. package/types/evaluator/matchersTransform/unaryNumeric.d.ts +0 -5
  198. package/types/evaluator/matchersTransform/whitelist.d.ts +0 -5
  199. package/types/evaluator/parser/index.d.ts +0 -5
  200. package/types/evaluator/treatments/index.d.ts +0 -8
  201. package/types/evaluator/types.d.ts +0 -28
  202. package/types/evaluator/value/index.d.ts +0 -7
  203. package/types/evaluator/value/sanitize.d.ts +0 -7
  204. package/types/index.d.ts +0 -5
  205. package/types/integrations/browser.d.ts +0 -12
  206. package/types/integrations/ga/GaToSplit.d.ts +0 -40
  207. package/types/integrations/ga/GoogleAnalyticsToSplit.d.ts +0 -3
  208. package/types/integrations/ga/SplitToGa.d.ts +0 -34
  209. package/types/integrations/ga/SplitToGoogleAnalytics.d.ts +0 -3
  210. package/types/integrations/ga/types.d.ts +0 -148
  211. package/types/integrations/pluggable.d.ts +0 -11
  212. package/types/integrations/types.d.ts +0 -17
  213. package/types/listeners/browser.d.ts +0 -40
  214. package/types/listeners/node.d.ts +0 -22
  215. package/types/listeners/types.d.ts +0 -4
  216. package/types/logger/browser/DebugLogger.d.ts +0 -2
  217. package/types/logger/browser/ErrorLogger.d.ts +0 -2
  218. package/types/logger/browser/InfoLogger.d.ts +0 -2
  219. package/types/logger/browser/WarnLogger.d.ts +0 -2
  220. package/types/logger/constants.d.ts +0 -142
  221. package/types/logger/index.d.ts +0 -22
  222. package/types/logger/messages/debug.d.ts +0 -1
  223. package/types/logger/messages/error.d.ts +0 -1
  224. package/types/logger/messages/info.d.ts +0 -1
  225. package/types/logger/messages/warn.d.ts +0 -1
  226. package/types/logger/sdkLogger.d.ts +0 -8
  227. package/types/logger/types.d.ts +0 -17
  228. package/types/readiness/constants.d.ts +0 -7
  229. package/types/readiness/readinessManager.d.ts +0 -6
  230. package/types/readiness/sdkReadinessManager.d.ts +0 -11
  231. package/types/readiness/types.d.ts +0 -60
  232. package/types/sdkClient/client.d.ts +0 -6
  233. package/types/sdkClient/clientAttributesDecoration.d.ts +0 -51
  234. package/types/sdkClient/clientCS.d.ts +0 -10
  235. package/types/sdkClient/clientInputValidation.d.ts +0 -7
  236. package/types/sdkClient/sdkClient.d.ts +0 -6
  237. package/types/sdkClient/sdkClientMethod.d.ts +0 -6
  238. package/types/sdkClient/sdkClientMethodCS.d.ts +0 -7
  239. package/types/sdkClient/sdkClientMethodCSWithTT.d.ts +0 -8
  240. package/types/sdkClient/types.d.ts +0 -18
  241. package/types/sdkFactory/index.d.ts +0 -6
  242. package/types/sdkFactory/types.d.ts +0 -82
  243. package/types/sdkManager/index.d.ts +0 -5
  244. package/types/services/splitApi.d.ts +0 -11
  245. package/types/services/splitHttpClient.d.ts +0 -10
  246. package/types/services/types.d.ts +0 -54
  247. package/types/storages/AbstractSegmentsCacheSync.d.ts +0 -55
  248. package/types/storages/AbstractSplitsCacheAsync.d.ts +0 -36
  249. package/types/storages/AbstractSplitsCacheSync.d.ts +0 -42
  250. package/types/storages/KeyBuilder.d.ts +0 -14
  251. package/types/storages/KeyBuilderCS.d.ts +0 -16
  252. package/types/storages/KeyBuilderSS.d.ts +0 -15
  253. package/types/storages/dataLoader.d.ts +0 -10
  254. package/types/storages/findLatencyIndex.d.ts +0 -7
  255. package/types/storages/inLocalStorage/MySegmentsCacheInLocal.d.ts +0 -25
  256. package/types/storages/inLocalStorage/SplitsCacheInLocal.d.ts +0 -51
  257. package/types/storages/inLocalStorage/constants.d.ts +0 -2
  258. package/types/storages/inLocalStorage/index.d.ts +0 -8
  259. package/types/storages/inMemory/AttributesCacheInMemory.d.ts +0 -43
  260. package/types/storages/inMemory/CountsCacheInMemory.d.ts +0 -20
  261. package/types/storages/inMemory/EventsCacheInMemory.d.ts +0 -35
  262. package/types/storages/inMemory/ImpressionCountsCacheInMemory.d.ts +0 -24
  263. package/types/storages/inMemory/ImpressionsCacheInMemory.d.ts +0 -30
  264. package/types/storages/inMemory/InMemoryStorage.d.ts +0 -10
  265. package/types/storages/inMemory/InMemoryStorageCS.d.ts +0 -10
  266. package/types/storages/inMemory/LatenciesCacheInMemory.d.ts +0 -20
  267. package/types/storages/inMemory/MySegmentsCacheInMemory.d.ts +0 -22
  268. package/types/storages/inMemory/SegmentsCacheInMemory.d.ts +0 -19
  269. package/types/storages/inMemory/SplitsCacheInMemory.d.ts +0 -20
  270. package/types/storages/inMemory/TelemetryCacheInMemory.d.ts +0 -53
  271. package/types/storages/inRedis/CountsCacheInRedis.d.ts +0 -9
  272. package/types/storages/inRedis/EventsCacheInRedis.d.ts +0 -32
  273. package/types/storages/inRedis/ImpressionsCacheInRedis.d.ts +0 -18
  274. package/types/storages/inRedis/LatenciesCacheInRedis.d.ts +0 -9
  275. package/types/storages/inRedis/RedisAdapter.d.ts +0 -24
  276. package/types/storages/inRedis/SegmentsCacheInRedis.d.ts +0 -18
  277. package/types/storages/inRedis/SplitsCacheInRedis.d.ts +0 -91
  278. package/types/storages/inRedis/TelemetryCacheInRedis.d.ts +0 -20
  279. package/types/storages/inRedis/constants.d.ts +0 -1
  280. package/types/storages/inRedis/index.d.ts +0 -10
  281. package/types/storages/metadataBuilder.d.ts +0 -3
  282. package/types/storages/pluggable/EventsCachePluggable.d.ts +0 -38
  283. package/types/storages/pluggable/ImpressionsCachePluggable.d.ts +0 -35
  284. package/types/storages/pluggable/SegmentsCachePluggable.d.ts +0 -54
  285. package/types/storages/pluggable/SplitsCachePluggable.d.ts +0 -89
  286. package/types/storages/pluggable/TelemetryCachePluggable.d.ts +0 -18
  287. package/types/storages/pluggable/constants.d.ts +0 -1
  288. package/types/storages/pluggable/inMemoryWrapper.d.ts +0 -13
  289. package/types/storages/pluggable/index.d.ts +0 -9
  290. package/types/storages/pluggable/wrapperAdapter.d.ts +0 -12
  291. package/types/storages/types.d.ts +0 -417
  292. package/types/sync/offline/LocalhostFromFile.d.ts +0 -2
  293. package/types/sync/offline/LocalhostFromObject.d.ts +0 -2
  294. package/types/sync/offline/splitsParser/parseCondition.d.ts +0 -7
  295. package/types/sync/offline/splitsParser/splitsParserFromFile.d.ts +0 -2
  296. package/types/sync/offline/splitsParser/splitsParserFromSettings.d.ts +0 -3
  297. package/types/sync/offline/splitsParser/types.d.ts +0 -3
  298. package/types/sync/offline/syncManagerOffline.d.ts +0 -10
  299. package/types/sync/offline/syncTasks/fromObjectSyncTask.d.ts +0 -17
  300. package/types/sync/polling/fetchers/mySegmentsFetcher.d.ts +0 -7
  301. package/types/sync/polling/fetchers/segmentChangesFetcher.d.ts +0 -7
  302. package/types/sync/polling/fetchers/splitChangesFetcher.d.ts +0 -7
  303. package/types/sync/polling/fetchers/types.d.ts +0 -5
  304. package/types/sync/polling/pollingManagerCS.d.ts +0 -7
  305. package/types/sync/polling/pollingManagerSS.d.ts +0 -6
  306. package/types/sync/polling/syncTasks/mySegmentsSyncTask.d.ts +0 -9
  307. package/types/sync/polling/syncTasks/segmentsSyncTask.d.ts +0 -9
  308. package/types/sync/polling/syncTasks/splitsSyncTask.d.ts +0 -9
  309. package/types/sync/polling/types.d.ts +0 -26
  310. package/types/sync/polling/updaters/mySegmentsUpdater.d.ts +0 -13
  311. package/types/sync/polling/updaters/segmentChangesUpdater.d.ts +0 -18
  312. package/types/sync/polling/updaters/splitChangesUpdater.d.ts +0 -39
  313. package/types/sync/streaming/AuthClient/index.d.ts +0 -12
  314. package/types/sync/streaming/AuthClient/types.d.ts +0 -17
  315. package/types/sync/streaming/SSEClient/index.d.ts +0 -34
  316. package/types/sync/streaming/SSEClient/types.d.ts +0 -11
  317. package/types/sync/streaming/SSEHandler/NotificationKeeper.d.ts +0 -14
  318. package/types/sync/streaming/SSEHandler/NotificationParser.d.ts +0 -20
  319. package/types/sync/streaming/SSEHandler/index.d.ts +0 -11
  320. package/types/sync/streaming/SSEHandler/types.d.ts +0 -67
  321. package/types/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.d.ts +0 -6
  322. package/types/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.d.ts +0 -8
  323. package/types/sync/streaming/UpdateWorkers/SplitsUpdateWorker.d.ts +0 -12
  324. package/types/sync/streaming/UpdateWorkers/constants.d.ts +0 -3
  325. package/types/sync/streaming/UpdateWorkers/types.d.ts +0 -4
  326. package/types/sync/streaming/constants.d.ts +0 -34
  327. package/types/sync/streaming/mySegmentsV2utils.d.ts +0 -27
  328. package/types/sync/streaming/pushManager.d.ts +0 -9
  329. package/types/sync/streaming/types.d.ts +0 -35
  330. package/types/sync/submitters/eventsSubmitter.d.ts +0 -5
  331. package/types/sync/submitters/eventsSyncTask.d.ts +0 -8
  332. package/types/sync/submitters/impressionCountsSubmitter.d.ts +0 -10
  333. package/types/sync/submitters/impressionCountsSyncTask.d.ts +0 -13
  334. package/types/sync/submitters/impressionsSubmitter.d.ts +0 -11
  335. package/types/sync/submitters/impressionsSyncTask.d.ts +0 -14
  336. package/types/sync/submitters/metricsSyncTask.d.ts +0 -12
  337. package/types/sync/submitters/submitter.d.ts +0 -12
  338. package/types/sync/submitters/submitterManager.d.ts +0 -3
  339. package/types/sync/submitters/submitterSyncTask.d.ts +0 -10
  340. package/types/sync/submitters/telemetrySubmitter.d.ts +0 -25
  341. package/types/sync/submitters/types.d.ts +0 -194
  342. package/types/sync/submitters/uniqueKeysSubmitter.d.ts +0 -19
  343. package/types/sync/syncManagerOnline.d.ts +0 -13
  344. package/types/sync/syncTask.d.ts +0 -13
  345. package/types/sync/syncTaskComposite.d.ts +0 -5
  346. package/types/sync/types.d.ts +0 -43
  347. package/types/trackers/eventTracker.d.ts +0 -10
  348. package/types/trackers/filter/bloomFilter.d.ts +0 -10
  349. package/types/trackers/filter/dictionaryFilter.d.ts +0 -8
  350. package/types/trackers/filter/types.d.ts +0 -5
  351. package/types/trackers/impressionObserver/ImpressionObserver.d.ts +0 -8
  352. package/types/trackers/impressionObserver/buildKey.d.ts +0 -2
  353. package/types/trackers/impressionObserver/impressionObserverCS.d.ts +0 -4
  354. package/types/trackers/impressionObserver/impressionObserverSS.d.ts +0 -4
  355. package/types/trackers/impressionObserver/types.d.ts +0 -4
  356. package/types/trackers/impressionObserver/utils.d.ts +0 -13
  357. package/types/trackers/impressionsTracker.d.ts +0 -13
  358. package/types/trackers/strategy/strategyDebug.d.ts +0 -9
  359. package/types/trackers/strategy/strategyNone.d.ts +0 -10
  360. package/types/trackers/strategy/strategyOptimized.d.ts +0 -11
  361. package/types/trackers/telemetryTracker.d.ts +0 -3
  362. package/types/trackers/types.d.ts +0 -65
  363. package/types/trackers/uniqueKeysTracker.d.ts +0 -13
  364. package/types/types.d.ts +0 -1262
  365. package/types/utils/Backoff.d.ts +0 -25
  366. package/types/utils/LRUCache/LinkedList.d.ts +0 -34
  367. package/types/utils/LRUCache/index.d.ts +0 -16
  368. package/types/utils/MinEventEmitter.d.ts +0 -12
  369. package/types/utils/MinEvents.d.ts +0 -4
  370. package/types/utils/base64/index.d.ts +0 -30
  371. package/types/utils/constants/browser.d.ts +0 -3
  372. package/types/utils/constants/index.d.ts +0 -63
  373. package/types/utils/decompress/index.d.ts +0 -16
  374. package/types/utils/env/isLocalStorageAvailable.d.ts +0 -1
  375. package/types/utils/env/isNode.d.ts +0 -5
  376. package/types/utils/inputValidation/apiKey.d.ts +0 -7
  377. package/types/utils/inputValidation/attribute.d.ts +0 -2
  378. package/types/utils/inputValidation/attributes.d.ts +0 -4
  379. package/types/utils/inputValidation/event.d.ts +0 -2
  380. package/types/utils/inputValidation/eventProperties.d.ts +0 -6
  381. package/types/utils/inputValidation/eventValue.d.ts +0 -2
  382. package/types/utils/inputValidation/index.d.ts +0 -13
  383. package/types/utils/inputValidation/isOperational.d.ts +0 -4
  384. package/types/utils/inputValidation/key.d.ts +0 -3
  385. package/types/utils/inputValidation/preloadedData.d.ts +0 -3
  386. package/types/utils/inputValidation/split.d.ts +0 -2
  387. package/types/utils/inputValidation/splitExistance.d.ts +0 -7
  388. package/types/utils/inputValidation/splits.d.ts +0 -2
  389. package/types/utils/inputValidation/trafficType.d.ts +0 -2
  390. package/types/utils/inputValidation/trafficTypeExistance.d.ts +0 -9
  391. package/types/utils/jwt/index.d.ts +0 -5
  392. package/types/utils/jwt/types.d.ts +0 -5
  393. package/types/utils/key/index.d.ts +0 -8
  394. package/types/utils/labels/index.d.ts +0 -7
  395. package/types/utils/lang/binarySearch.d.ts +0 -9
  396. package/types/utils/lang/getFnName.d.ts +0 -4
  397. package/types/utils/lang/getGlobal.d.ts +0 -4
  398. package/types/utils/lang/index.d.ts +0 -105
  399. package/types/utils/lang/maps.d.ts +0 -55
  400. package/types/utils/lang/objectAssign.d.ts +0 -3
  401. package/types/utils/lang/sets.d.ts +0 -60
  402. package/types/utils/murmur3/common.d.ts +0 -12
  403. package/types/utils/murmur3/legacy.d.ts +0 -2
  404. package/types/utils/murmur3/murmur3.d.ts +0 -2
  405. package/types/utils/murmur3/murmur3_128.d.ts +0 -6
  406. package/types/utils/murmur3/murmur3_128_x86.d.ts +0 -7
  407. package/types/utils/murmur3/murmur3_64.d.ts +0 -10
  408. package/types/utils/murmur3/utfx.d.ts +0 -27
  409. package/types/utils/promise/thenable.d.ts +0 -1
  410. package/types/utils/promise/timeout.d.ts +0 -1
  411. package/types/utils/promise/wrapper.d.ts +0 -21
  412. package/types/utils/settingsValidation/consent.d.ts +0 -6
  413. package/types/utils/settingsValidation/impressionsMode.d.ts +0 -3
  414. package/types/utils/settingsValidation/index.d.ts +0 -52
  415. package/types/utils/settingsValidation/integrations/common.d.ts +0 -14
  416. package/types/utils/settingsValidation/integrations/configurable.d.ts +0 -13
  417. package/types/utils/settingsValidation/integrations/pluggable.d.ts +0 -13
  418. package/types/utils/settingsValidation/localhost/builtin.d.ts +0 -16
  419. package/types/utils/settingsValidation/localhost/pluggable.d.ts +0 -16
  420. package/types/utils/settingsValidation/logger/builtinLogger.d.ts +0 -10
  421. package/types/utils/settingsValidation/logger/commons.d.ts +0 -9
  422. package/types/utils/settingsValidation/logger/pluggableLogger.d.ts +0 -11
  423. package/types/utils/settingsValidation/mode.d.ts +0 -1
  424. package/types/utils/settingsValidation/runtime.d.ts +0 -2
  425. package/types/utils/settingsValidation/splitFilters.d.ts +0 -16
  426. package/types/utils/settingsValidation/storage/storageCS.d.ts +0 -21
  427. package/types/utils/settingsValidation/types.d.ts +0 -32
  428. package/types/utils/settingsValidation/url.d.ts +0 -10
  429. package/types/utils/time/index.d.ts +0 -4
  430. package/types/utils/timeTracker/index.d.ts +0 -70
  431. package/types/utils/timeTracker/now/browser.d.ts +0 -1
  432. package/types/utils/timeTracker/now/node.d.ts +0 -1
  433. package/types/utils/timeTracker/timer.d.ts +0 -1
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@splitsoftware/splitio-commons",
3
- "version": "1.6.2-rc.1",
3
+ "version": "1.6.2-rc.4",
4
4
  "description": "Split Javascript SDK common components",
5
5
  "main": "cjs/index.js",
6
6
  "module": "esm/index.js",
7
- "types": "types",
7
+ "types": "src/types.d.ts",
8
8
  "files": [
9
9
  "README.md",
10
10
  "CONTRIBUTORS-GUIDE.md",
@@ -12,15 +12,14 @@
12
12
  "CHANGES.txt",
13
13
  "cjs",
14
14
  "esm",
15
- "src",
16
- "types"
15
+ "src"
17
16
  ],
18
17
  "scripts": {
19
18
  "check": "npm run check:lint && npm run check:types",
20
19
  "check:lint": "eslint src --ext .js,.ts",
21
20
  "check:types": "tsc --noEmit",
22
21
  "build": "npm run build:cjs && npm run build:esm",
23
- "build:esm": "rimraf esm && tsc -m es2015 --outDir esm -d true --declarationDir types",
22
+ "build:esm": "rimraf esm types && tsc -m es2015 --outDir esm",
24
23
  "build:cjs": "rimraf cjs && tsc -m CommonJS --outDir cjs",
25
24
  "test": "jest",
26
25
  "test:coverage": "jest --coverage",
@@ -3,9 +3,10 @@ import { isConsentGranted } from './index';
3
3
  import { CONSENT_GRANTED, CONSENT_DECLINED, CONSENT_UNKNOWN } from '../utils/constants';
4
4
  import { isBoolean } from '../utils/lang';
5
5
  import { ISdkFactoryContext } from '../sdkFactory/types';
6
+ import { IUserConsentAPI } from '../types';
6
7
 
7
8
  // User consent enum
8
- const ConsentStatus = {
9
+ const ConsentStatus: IUserConsentAPI['Status'] = {
9
10
  GRANTED: CONSENT_GRANTED,
10
11
  DECLINED: CONSENT_DECLINED,
11
12
  UNKNOWN: CONSENT_UNKNOWN,
@@ -14,7 +15,7 @@ const ConsentStatus = {
14
15
  /**
15
16
  * The public user consent API exposed via SplitFactory, used to control if the SDK tracks and sends impressions and events or not.
16
17
  */
17
- export function createUserConsentAPI(params: ISdkFactoryContext) {
18
+ export function createUserConsentAPI(params: ISdkFactoryContext): IUserConsentAPI {
18
19
  const { settings, settings: { log }, syncManager, storage: { events, impressions, impressionCounts } } = params;
19
20
 
20
21
  if (!isConsentGranted(settings)) log.info(USER_CONSENT_INITIAL, [settings.userConsent]);
@@ -51,7 +52,7 @@ export function createUserConsentAPI(params: ISdkFactoryContext) {
51
52
  },
52
53
 
53
54
  getStatus() {
54
- return settings.userConsent;
55
+ return settings.userConsent!;
55
56
  },
56
57
 
57
58
  Status: ConsentStatus
package/src/dtos/types.ts CHANGED
@@ -1,5 +1,3 @@
1
- import { SplitIO } from '../types';
2
-
3
1
  export type MaybeThenable<T> = T | Promise<T>
4
2
 
5
3
  /** Split Matchers */
@@ -204,9 +202,3 @@ export interface IMetadata {
204
202
  /** host name */
205
203
  n: string
206
204
  }
207
-
208
- export type ISplitFiltersValidation = {
209
- queryString: string | null,
210
- groupedFilters: Record<SplitIO.SplitFilterType, string[]>,
211
- validFilters: SplitIO.SplitFilter[]
212
- };
@@ -5,10 +5,10 @@ import { thenable } from '../utils/promise/thenable';
5
5
  import * as LabelsConstants from '../utils/labels';
6
6
  import { CONTROL } from '../utils/constants';
7
7
  import { ISplit, MaybeThenable } from '../dtos/types';
8
- import { SplitIO } from '../types';
8
+ import { SplitKey, Attributes } from '../types';
9
9
  import { IStorageAsync, IStorageSync } from '../storages/types';
10
10
  import { IEvaluation, IEvaluationResult, IEvaluator, ISplitEvaluator } from './types';
11
- import { ILogger } from '../logger/types';
11
+ import { ILogger } from '../types';
12
12
 
13
13
  function evaluationResult(result: IEvaluation | undefined, defaultTreatment: string): IEvaluationResult {
14
14
  return {
@@ -38,7 +38,7 @@ export class Engine {
38
38
  return this.baseInfo.name;
39
39
  }
40
40
 
41
- getTreatment(key: SplitIO.SplitKey, attributes: SplitIO.Attributes | undefined, splitEvaluator: ISplitEvaluator): MaybeThenable<IEvaluationResult> {
41
+ getTreatment(key: SplitKey, attributes: Attributes | undefined, splitEvaluator: ISplitEvaluator): MaybeThenable<IEvaluationResult> {
42
42
  const {
43
43
  killed,
44
44
  seed,
@@ -1,5 +1,5 @@
1
1
  import { findIndex } from '../../utils/lang';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { thenable } from '../../utils/promise/thenable';
4
4
  import { MaybeThenable } from '../../dtos/types';
5
5
  import { IMatcher } from '../types';
@@ -1,9 +1,9 @@
1
1
  import { findIndex } from '../../utils/lang';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { thenable } from '../../utils/promise/thenable';
4
4
  import * as LabelsConstants from '../../utils/labels';
5
5
  import { CONTROL } from '../../utils/constants';
6
- import { SplitIO } from '../../types';
6
+ import { SplitKey, Attributes } from '../../types';
7
7
  import { IEvaluation, IEvaluator, ISplitEvaluator } from '../types';
8
8
  import { ENGINE_COMBINER_IFELSEIF, ENGINE_COMBINER_IFELSEIF_NO_TREATMENT, ERROR_ENGINE_COMBINER_IFELSEIF } from '../../logger/constants';
9
9
 
@@ -35,7 +35,7 @@ export function ifElseIfCombinerContext(log: ILogger, predicates: IEvaluator[]):
35
35
  return undefined;
36
36
  }
37
37
 
38
- function ifElseIfCombiner(key: SplitIO.SplitKey, seed: number, trafficAllocation?: number, trafficAllocationSeed?: number, attributes?: SplitIO.Attributes, splitEvaluator?: ISplitEvaluator) {
38
+ function ifElseIfCombiner(key: SplitKey, seed: number, trafficAllocation?: number, trafficAllocationSeed?: number, attributes?: Attributes, splitEvaluator?: ISplitEvaluator) {
39
39
  // In Async environments we are going to have async predicates. There is none way to know
40
40
  // before hand so we need to evaluate all the predicates, verify for thenables, and finally,
41
41
  // define how to return the treatment (wrap result into a Promise or not).
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_BUCKET } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { bucket } from '../../utils/murmur3/murmur3';
4
4
 
5
5
  /**
@@ -3,8 +3,8 @@ import { thenable } from '../../utils/promise/thenable';
3
3
  import * as LabelsConstants from '../../utils/labels';
4
4
  import { MaybeThenable } from '../../dtos/types';
5
5
  import { IEvaluation, IEvaluator, ISplitEvaluator } from '../types';
6
- import { SplitIO } from '../../types';
7
- import { ILogger } from '../../logger/types';
6
+ import { SplitKey, SplitKeyObject, Attributes } from '../../types';
7
+ import { ILogger } from '../../types';
8
8
 
9
9
  // Build Evaluation object if and only if matchingResult is true
10
10
  function match(log: ILogger, matchingResult: boolean, bucketingKey: string | undefined, seed: number, treatments: { getTreatmentFor: (x: number) => string }, label: string): IEvaluation | undefined {
@@ -24,10 +24,10 @@ function match(log: ILogger, matchingResult: boolean, bucketingKey: string | und
24
24
  // Condition factory
25
25
  export function conditionContext(log: ILogger, matcherEvaluator: (...args: any) => MaybeThenable<boolean>, treatments: { getTreatmentFor: (x: number) => string }, label: string, conditionType: 'ROLLOUT' | 'WHITELIST'): IEvaluator {
26
26
 
27
- return function conditionEvaluator(key: SplitIO.SplitKey, seed: number, trafficAllocation?: number, trafficAllocationSeed?: number, attributes?: SplitIO.Attributes, splitEvaluator?: ISplitEvaluator) {
27
+ return function conditionEvaluator(key: SplitKey, seed: number, trafficAllocation?: number, trafficAllocationSeed?: number, attributes?: Attributes, splitEvaluator?: ISplitEvaluator) {
28
28
 
29
29
  // Whitelisting has more priority than traffic allocation, so we don't apply this filtering to those conditions.
30
- if (conditionType === 'ROLLOUT' && !shouldApplyRollout(trafficAllocation as number, (key as SplitIO.SplitKeyObject).bucketingKey as string, trafficAllocationSeed as number)) {
30
+ if (conditionType === 'ROLLOUT' && !shouldApplyRollout(trafficAllocation as number, (key as SplitKeyObject).bucketingKey as string, trafficAllocationSeed as number)) {
31
31
  return {
32
32
  treatment: undefined, // treatment value is assigned later
33
33
  label: LabelsConstants.NOT_IN_SPLIT
@@ -41,10 +41,10 @@ export function conditionContext(log: ILogger, matcherEvaluator: (...args: any)
41
41
  const matches = matcherEvaluator(key, attributes, splitEvaluator);
42
42
 
43
43
  if (thenable(matches)) {
44
- return matches.then(result => match(log, result, (key as SplitIO.SplitKeyObject).bucketingKey, seed, treatments, label));
44
+ return matches.then(result => match(log, result, (key as SplitKeyObject).bucketingKey, seed, treatments, label));
45
45
  }
46
46
 
47
- return match(log, matches, (key as SplitIO.SplitKeyObject).bucketingKey, seed, treatments, label);
47
+ return match(log, matches, (key as SplitKeyObject).bucketingKey, seed, treatments, label);
48
48
  };
49
49
 
50
50
  }
@@ -5,8 +5,8 @@ import { CONTROL } from '../utils/constants';
5
5
  import { ISplit, MaybeThenable } from '../dtos/types';
6
6
  import { IStorageAsync, IStorageSync } from '../storages/types';
7
7
  import { IEvaluationResult } from './types';
8
- import { SplitIO } from '../types';
9
- import { ILogger } from '../logger/types';
8
+ import { SplitKey, Attributes } from '../types';
9
+ import { ILogger } from '../types';
10
10
 
11
11
  const treatmentException = {
12
12
  treatment: CONTROL,
@@ -24,9 +24,9 @@ function treatmentsException(splitNames: string[]) {
24
24
 
25
25
  export function evaluateFeature(
26
26
  log: ILogger,
27
- key: SplitIO.SplitKey,
27
+ key: SplitKey,
28
28
  splitName: string,
29
- attributes: SplitIO.Attributes | undefined,
29
+ attributes: Attributes | undefined,
30
30
  storage: IStorageSync | IStorageAsync,
31
31
  ): MaybeThenable<IEvaluationResult> {
32
32
  let stringifiedSplit;
@@ -63,9 +63,9 @@ export function evaluateFeature(
63
63
 
64
64
  export function evaluateFeatures(
65
65
  log: ILogger,
66
- key: SplitIO.SplitKey,
66
+ key: SplitKey,
67
67
  splitNames: string[],
68
- attributes: SplitIO.Attributes | undefined,
68
+ attributes: Attributes | undefined,
69
69
  storage: IStorageSync | IStorageAsync,
70
70
  ): MaybeThenable<Record<string, IEvaluationResult>> {
71
71
  let stringifiedSplits;
@@ -90,8 +90,8 @@ export function evaluateFeatures(
90
90
  function getEvaluation(
91
91
  log: ILogger,
92
92
  stringifiedSplit: string | null,
93
- key: SplitIO.SplitKey,
94
- attributes: SplitIO.Attributes | undefined,
93
+ key: SplitKey,
94
+ attributes: Attributes | undefined,
95
95
  storage: IStorageSync | IStorageAsync,
96
96
  ): MaybeThenable<IEvaluationResult> {
97
97
  let evaluation: MaybeThenable<IEvaluationResult> = {
@@ -126,8 +126,8 @@ function getEvaluations(
126
126
  log: ILogger,
127
127
  splitNames: string[],
128
128
  splits: Record<string, string | null>,
129
- key: SplitIO.SplitKey,
130
- attributes: SplitIO.Attributes | undefined,
129
+ key: SplitKey,
130
+ attributes: Attributes | undefined,
131
131
  storage: IStorageSync | IStorageAsync,
132
132
  ): MaybeThenable<Record<string, IEvaluationResult>> {
133
133
  const result: Record<string, IEvaluationResult> = {};
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_MATCHER_ALL } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
 
4
4
  export function allMatcherContext(log: ILogger) {
5
5
  return function allMatcher(runtimeAttr: string): boolean {
@@ -1,6 +1,6 @@
1
1
  import { IBetweenMatcherData } from '../../dtos/types';
2
2
  import { ENGINE_MATCHER_BETWEEN } from '../../logger/constants';
3
- import { ILogger } from '../../logger/types';
3
+ import { ILogger } from '../../types';
4
4
 
5
5
  export function betweenMatcherContext(log: ILogger, ruleVO: IBetweenMatcherData) /*: Function */ {
6
6
  return function betweenMatcher(runtimeAttr: number): boolean {
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_MATCHER_BOOLEAN } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
 
4
4
  export function booleanMatcherContext(log: ILogger, ruleAttr: boolean) /*: Function */ {
5
5
  return function booleanMatcher(runtimeAttr: boolean): boolean {
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_MATCHER_CONTAINS_ALL } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { findIndex } from '../../utils/lang';
4
4
 
5
5
  export function containsAllSetMatcherContext(log: ILogger, ruleAttr: string[]) /*: Function */ {
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_MATCHER_CONTAINS_ANY } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { findIndex } from '../../utils/lang';
4
4
 
5
5
  export function containsAnySetMatcherContext(log: ILogger, ruleAttr: string[]) /*: Function */ {
@@ -1,5 +1,5 @@
1
1
  import { isString } from '../../utils/lang';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { ENGINE_MATCHER_CONTAINS_STRING } from '../../logger/constants';
4
4
 
5
5
  export function containsStringMatcherContext(log: ILogger, ruleAttr: string[]) /*: Function */ {
@@ -1,6 +1,6 @@
1
1
  import { IDependencyMatcherData, MaybeThenable } from '../../dtos/types';
2
2
  import { IStorageAsync, IStorageSync } from '../../storages/types';
3
- import { ILogger } from '../../logger/types';
3
+ import { ILogger } from '../../types';
4
4
  import { thenable } from '../../utils/promise/thenable';
5
5
  import { IDependencyMatcherValue, IEvaluation, ISplitEvaluator } from '../types';
6
6
  import { ENGINE_MATCHER_DEPENDENCY, ENGINE_MATCHER_DEPENDENCY_PRE } from '../../logger/constants';
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_MATCHER_EQUAL } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
 
4
4
  export function equalToMatcherContext(log: ILogger, ruleAttr: number) /*: Function */ {
5
5
  return function equalToMatcher(runtimeAttr: number): boolean {
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_MATCHER_EQUAL_TO_SET } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { findIndex } from '../../utils/lang';
4
4
 
5
5
  export function equalToSetMatcherContext(log: ILogger, ruleAttr: string[]) /*: Function */ {
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_MATCHER_ENDS_WITH } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { endsWith } from '../../utils/lang';
4
4
 
5
5
  export function endsWithMatcherContext(log: ILogger, ruleAttr: string[]) /*: Function */ {
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_MATCHER_GREATER } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
 
4
4
  export function greaterThanEqualMatcherContext(log: ILogger, ruleAttr: number) /*: Function */ {
5
5
  return function greaterThanEqualMatcher(runtimeAttr: number): boolean {
@@ -17,7 +17,7 @@ import { booleanMatcherContext } from './boolean';
17
17
  import { stringMatcherContext } from './string';
18
18
  import { IStorageAsync, IStorageSync } from '../../storages/types';
19
19
  import { IMatcher, IMatcherDto } from '../types';
20
- import { ILogger } from '../../logger/types';
20
+ import { ILogger } from '../../types';
21
21
 
22
22
  const matchers = [
23
23
  undefined, // UNDEFINED: 0,
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_MATCHER_LESS } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
 
4
4
  export function lessThanEqualMatcherContext(log: ILogger, ruleAttr: number) /*: function */ {
5
5
  return function lessThanEqualMatcher(runtimeAttr: number): boolean {
@@ -1,5 +1,5 @@
1
1
  import { findIndex } from '../../utils/lang';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { ENGINE_MATCHER_PART_OF } from '../../logger/constants';
4
4
 
5
5
  export function partOfSetMatcherContext(log: ILogger, ruleAttr: string[]) /*: Function */ {
@@ -1,6 +1,6 @@
1
1
  import { MaybeThenable } from '../../dtos/types';
2
2
  import { ISegmentsCacheBase } from '../../storages/types';
3
- import { ILogger } from '../../logger/types';
3
+ import { ILogger } from '../../types';
4
4
  import { thenable } from '../../utils/promise/thenable';
5
5
  import { ENGINE_MATCHER_SEGMENT } from '../../logger/constants';
6
6
 
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_MATCHER_STRING_INVALID, ENGINE_MATCHER_STRING } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
 
4
4
  export function stringMatcherContext(log: ILogger, ruleAttr: string) /*: Function */ {
5
5
  return function stringMatcher(runtimeAttr: string): boolean {
@@ -1,5 +1,5 @@
1
1
  import { ENGINE_MATCHER_STARTS_WITH } from '../../logger/constants';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { startsWith } from '../../utils/lang';
4
4
 
5
5
  export function startsWithMatcherContext(log: ILogger, ruleAttr: string[]) /*: Function */ {
@@ -1,5 +1,5 @@
1
1
  import { setToArray, ISet } from '../../utils/lang/sets';
2
- import { ILogger } from '../../logger/types';
2
+ import { ILogger } from '../../types';
3
3
  import { ENGINE_MATCHER_WHITELIST } from '../../logger/constants';
4
4
 
5
5
  export function whitelistMatcherContext(log: ILogger, ruleAttr: ISet<string>) /*: Function */ {
@@ -9,8 +9,8 @@ import { thenable } from '../../utils/promise/thenable';
9
9
  import { IEvaluator, IMatcherDto, ISplitEvaluator } from '../types';
10
10
  import { ISplitCondition } from '../../dtos/types';
11
11
  import { IStorageAsync, IStorageSync } from '../../storages/types';
12
- import { SplitIO } from '../../types';
13
- import { ILogger } from '../../logger/types';
12
+ import { Attributes } from '../../types';
13
+ import { ILogger } from '../../types';
14
14
 
15
15
  export function parser(log: ILogger, conditions: ISplitCondition[], storage: IStorageSync | IStorageAsync): IEvaluator {
16
16
  let predicates = [];
@@ -31,7 +31,7 @@ export function parser(log: ILogger, conditions: ISplitCondition[], storage: ISt
31
31
  const matcher = matcherFactory(log, matcherDto, storage);
32
32
 
33
33
  // Evaluator function.
34
- return (key: string, attributes: SplitIO.Attributes | undefined, splitEvaluator: ISplitEvaluator) => {
34
+ return (key: string, attributes: Attributes | undefined, splitEvaluator: ISplitEvaluator) => {
35
35
  const value = sanitizeValue(log, key, matcherDto, attributes);
36
36
  const result = value !== undefined && matcher ? matcher(value, splitEvaluator) : false;
37
37
 
@@ -1,12 +1,12 @@
1
1
  import { IBetweenMatcherData, IDependencyMatcherData, MaybeThenable } from '../dtos/types';
2
2
  import { IStorageAsync, IStorageSync } from '../storages/types';
3
3
  import { ISet } from '../utils/lang/sets';
4
- import { SplitIO } from '../types';
5
- import { ILogger } from '../logger/types';
4
+ import { SplitKey, Attributes } from '../types';
5
+ import { ILogger } from '../types';
6
6
 
7
7
  export interface IDependencyMatcherValue {
8
- key: SplitIO.SplitKey,
9
- attributes?: SplitIO.Attributes
8
+ key: SplitKey,
9
+ attributes?: Attributes
10
10
  }
11
11
 
12
12
  export interface IMatcherDto {
@@ -27,8 +27,8 @@ export interface IEvaluation {
27
27
 
28
28
  export type IEvaluationResult = IEvaluation & { treatment: string }
29
29
 
30
- export type ISplitEvaluator = (log: ILogger, key: SplitIO.SplitKey, splitName: string, attributes: SplitIO.Attributes | undefined, storage: IStorageSync | IStorageAsync) => MaybeThenable<IEvaluation>
30
+ export type ISplitEvaluator = (log: ILogger, key: SplitKey, splitName: string, attributes: Attributes | undefined, storage: IStorageSync | IStorageAsync) => MaybeThenable<IEvaluation>
31
31
 
32
- export type IEvaluator = (key: SplitIO.SplitKey, seed: number, trafficAllocation?: number, trafficAllocationSeed?: number, attributes?: SplitIO.Attributes, splitEvaluator?: ISplitEvaluator) => MaybeThenable<IEvaluation | undefined>
32
+ export type IEvaluator = (key: SplitKey, seed: number, trafficAllocation?: number, trafficAllocationSeed?: number, attributes?: Attributes, splitEvaluator?: ISplitEvaluator) => MaybeThenable<IEvaluation | undefined>
33
33
 
34
34
  export type IMatcher = (...args: any) => MaybeThenable<boolean>
@@ -1,10 +1,10 @@
1
- import { SplitIO } from '../../types';
1
+ import { Attributes } from '../../types';
2
2
  import { IMatcherDto } from '../types';
3
- import { ILogger } from '../../logger/types';
3
+ import { ILogger } from '../../types';
4
4
  import { sanitize } from './sanitize';
5
5
  import { ENGINE_VALUE, ENGINE_VALUE_NO_ATTRIBUTES, ENGINE_VALUE_INVALID } from '../../logger/constants';
6
6
 
7
- function parseValue(log: ILogger, key: string, attributeName: string | null, attributes?: SplitIO.Attributes) {
7
+ function parseValue(log: ILogger, key: string, attributeName: string | null, attributes?: Attributes) {
8
8
  let value = undefined;
9
9
  if (attributeName) {
10
10
  if (attributes) {
@@ -23,7 +23,7 @@ function parseValue(log: ILogger, key: string, attributeName: string | null, att
23
23
  /**
24
24
  * Defines value to be matched (key / attribute).
25
25
  */
26
- export function sanitizeValue(log: ILogger, key: string, matcherDto: IMatcherDto, attributes?: SplitIO.Attributes) {
26
+ export function sanitizeValue(log: ILogger, key: string, matcherDto: IMatcherDto, attributes?: Attributes) {
27
27
  const attributeName = matcherDto.attribute;
28
28
  const valueToMatch = parseValue(log, key, attributeName, attributes);
29
29
  const sanitizedValue = sanitize(log, matcherDto.type, valueToMatch, matcherDto.dataType, attributes);
@@ -1,6 +1,6 @@
1
- import { SplitIO } from '../../types';
1
+ import { Attributes } from '../../types';
2
2
  import { IDependencyMatcherValue } from '../types';
3
- import { ILogger } from '../../logger/types';
3
+ import { ILogger } from '../../types';
4
4
  import { isObject, uniq, toString, toNumber } from '../../utils/lang';
5
5
  import { zeroSinceHH, zeroSinceSS } from '../convertions';
6
6
  import { matcherTypes, matcherDataTypes } from '../matchers/matcherTypes';
@@ -41,7 +41,7 @@ function sanitizeBoolean(val: any): boolean | undefined {
41
41
  return undefined;
42
42
  }
43
43
 
44
- function dependencyProcessor(sanitizedValue: string, attributes?: SplitIO.Attributes): IDependencyMatcherValue {
44
+ function dependencyProcessor(sanitizedValue: string, attributes?: Attributes): IDependencyMatcherValue {
45
45
  return {
46
46
  key: sanitizedValue,
47
47
  attributes
@@ -69,7 +69,7 @@ function getProcessingFunction(matcherTypeID: number, dataType: string) {
69
69
  /**
70
70
  * Sanitize matcher value
71
71
  */
72
- export function sanitize(log: ILogger, matcherTypeID: number, value: string | number | boolean | Array<string | number> | undefined, dataType: string, attributes?: SplitIO.Attributes) {
72
+ export function sanitize(log: ILogger, matcherTypeID: number, value: string | number | boolean | Array<string | number> | undefined, dataType: string, attributes?: Attributes) {
73
73
  const processor = getProcessingFunction(matcherTypeID, dataType);
74
74
  let sanitizedValue: string | number | boolean | Array<string | number> | IDependencyMatcherValue | undefined;
75
75
 
@@ -8,9 +8,9 @@ import {
8
8
  validateKey,
9
9
  validateTrafficType,
10
10
  } from '../../utils/inputValidation';
11
- import { SplitIO } from '../../types';
11
+ import { EventData } from '../../types';
12
12
  import { Identity, GoogleAnalyticsToSplitOptions } from './types';
13
- import { ILogger } from '../../logger/types';
13
+ import { ILogger } from '../../types';
14
14
  import { IIntegrationFactoryParams } from '../types';
15
15
 
16
16
  const logPrefix = 'ga-to-split: ';
@@ -67,7 +67,7 @@ const defaultMapping = {
67
67
  * @param {object} mapping
68
68
  */
69
69
  function mapperBuilder(mapping: typeof defaultMapping) {
70
- return function (model: UniversalAnalytics.Model): SplitIO.EventData {
70
+ return function (model: UniversalAnalytics.Model): EventData {
71
71
  const hitType: string = model.get('hitType');
72
72
  // @ts-expect-error
73
73
  const eventTypeId = model.get(mapping.eventTypeId[hitType] || 'hitType');
@@ -133,7 +133,7 @@ export function validateIdentities(identities?: Identity[]) {
133
133
  * @param {EventData} data event data instance to validate. Precondition: data != undefined
134
134
  * @returns {boolean} Whether the data instance is a valid EventData or not.
135
135
  */
136
- export function validateEventData(log: ILogger, eventData: any): eventData is SplitIO.EventData {
136
+ export function validateEventData(log: ILogger, eventData: any): eventData is EventData {
137
137
  if (!validateEvent(log, eventData.eventTypeId, logNameMapper))
138
138
  return false;
139
139
 
@@ -251,10 +251,10 @@ export function GaToSplit(sdkOptions: GoogleAnalyticsToSplitOptions, params: IIn
251
251
  }
252
252
 
253
253
  // map hit into an EventData instance
254
- let eventData: SplitIO.EventData = defaultMapper(model);
254
+ let eventData: EventData = defaultMapper(model);
255
255
  if (opts.mapper) {
256
256
  try {
257
- eventData = opts.mapper(model, eventData as SplitIO.EventData);
257
+ eventData = opts.mapper(model, eventData as EventData);
258
258
  } catch (err) {
259
259
  log.warn(logPrefix + `custom mapper threw: ${err}`);
260
260
  return;
@@ -1,10 +1,10 @@
1
1
  /* eslint-disable no-undef */
2
2
  import { uniq } from '../../utils/lang';
3
3
  import { SPLIT_IMPRESSION, SPLIT_EVENT } from '../../utils/constants';
4
- import { SplitIO } from '../../types';
4
+ import { IntegrationData, ImpressionData, EventData } from '../../types';
5
5
  import { IIntegration } from '../types';
6
6
  import { SplitToGoogleAnalyticsOptions } from './types';
7
- import { ILogger } from '../../logger/types';
7
+ import { ILogger } from '../../types';
8
8
 
9
9
  const logPrefix = 'split-to-ga: ';
10
10
  const noGaWarning = '`ga` command queue not found.';
@@ -16,29 +16,29 @@ export class SplitToGa implements IIntegration {
16
16
  static defaultTrackerNames = [''];
17
17
 
18
18
  private trackerNames: string[];
19
- private filter?: (data: SplitIO.IntegrationData) => boolean;
20
- private mapper?: (data: SplitIO.IntegrationData, defaultMapping: UniversalAnalytics.FieldsObject) => UniversalAnalytics.FieldsObject;
19
+ private filter?: (data: IntegrationData) => boolean;
20
+ private mapper?: (data: IntegrationData, defaultMapping: UniversalAnalytics.FieldsObject) => UniversalAnalytics.FieldsObject;
21
21
  private impressions: boolean | undefined;
22
22
  private events: boolean | undefined;
23
23
  private log: ILogger;
24
24
 
25
25
  // Default mapper function.
26
- static defaultMapper({ type, payload }: SplitIO.IntegrationData): UniversalAnalytics.FieldsObject {
26
+ static defaultMapper({ type, payload }: IntegrationData): UniversalAnalytics.FieldsObject {
27
27
  switch (type) {
28
28
  case SPLIT_IMPRESSION:
29
29
  return {
30
30
  hitType: 'event',
31
31
  eventCategory: 'split-impression',
32
- eventAction: 'Evaluate ' + (payload as SplitIO.ImpressionData).impression.feature,
33
- eventLabel: 'Treatment: ' + (payload as SplitIO.ImpressionData).impression.treatment + '. Targeting rule: ' + (payload as SplitIO.ImpressionData).impression.label + '.',
32
+ eventAction: 'Evaluate ' + (payload as ImpressionData).impression.feature,
33
+ eventLabel: 'Treatment: ' + (payload as ImpressionData).impression.treatment + '. Targeting rule: ' + (payload as ImpressionData).impression.label + '.',
34
34
  nonInteraction: true,
35
35
  };
36
36
  case SPLIT_EVENT:
37
37
  return {
38
38
  hitType: 'event',
39
39
  eventCategory: 'split-event',
40
- eventAction: (payload as SplitIO.EventData).eventTypeId,
41
- eventValue: (payload as SplitIO.EventData).value,
40
+ eventAction: (payload as EventData).eventTypeId,
41
+ eventValue: (payload as EventData).value,
42
42
  nonInteraction: true,
43
43
  };
44
44
  }
@@ -93,7 +93,7 @@ export class SplitToGa implements IIntegration {
93
93
  if (typeof SplitToGa.getGa() !== 'function') log.warn(logPrefix + `${noGaWarning} No hits will be sent until it is available.`);
94
94
  }
95
95
 
96
- queue(data: SplitIO.IntegrationData) {
96
+ queue(data: IntegrationData) {
97
97
  // access ga command queue via `getGa` method, accounting for the possibility that
98
98
  // the global `ga` reference was not yet mutated by analytics.js.
99
99
  const ga = SplitToGa.getGa();
@@ -1,4 +1,4 @@
1
- import { SplitIO } from '../../types';
1
+ import { IntegrationData, EventData } from '../../types';
2
2
 
3
3
  /**
4
4
  * A pair of user key and it's trafficType, required for tracking valid Split events.
@@ -41,7 +41,7 @@ export interface GoogleAnalyticsToSplitOptions {
41
41
  * return defaultMapping;
42
42
  * }`
43
43
  */
44
- mapper?: (model: UniversalAnalytics.Model, defaultMapping: SplitIO.EventData) => SplitIO.EventData,
44
+ mapper?: (model: UniversalAnalytics.Model, defaultMapping: EventData) => EventData,
45
45
  /**
46
46
  * Optional prefix for EventTypeId, to prevent any kind of data collision between events.
47
47
  * @property {string} prefix
@@ -97,7 +97,7 @@ export interface SplitToGoogleAnalyticsOptions {
97
97
  * For example, the following filter allows to track only impressions, equivalent to setting events to false:
98
98
  * `(data) => data.type === 'IMPRESSION'`
99
99
  */
100
- filter?: (data: SplitIO.IntegrationData) => boolean,
100
+ filter?: (data: IntegrationData) => boolean,
101
101
  /**
102
102
  * Optional function useful when you need to modify the GA hit before sending it.
103
103
  * This function is invoked with two arguments:
@@ -128,7 +128,7 @@ export interface SplitToGoogleAnalyticsOptions {
128
128
  * nonInteraction: true,
129
129
  * }`
130
130
  */
131
- mapper?: (data: SplitIO.IntegrationData, defaultMapping: UniversalAnalytics.FieldsObject) => UniversalAnalytics.FieldsObject,
131
+ mapper?: (data: IntegrationData, defaultMapping: UniversalAnalytics.FieldsObject) => UniversalAnalytics.FieldsObject,
132
132
  /**
133
133
  * List of tracker names to send the hit. An empty string represents the default tracker.
134
134
  * If not provided, hits are only sent to default tracker.