@splitsoftware/splitio-commons 1.0.1-rc.3 → 1.1.0

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 (504) hide show
  1. package/CHANGES.txt +10 -3
  2. package/LICENSE +1 -1
  3. package/README.md +1 -1
  4. package/cjs/evaluator/Engine.js +6 -5
  5. package/cjs/evaluator/combiners/and.js +4 -4
  6. package/cjs/evaluator/combiners/ifelseif.js +4 -3
  7. package/cjs/evaluator/condition/index.js +4 -3
  8. package/cjs/evaluator/index.js +10 -11
  9. package/cjs/evaluator/matchers/all.js +2 -1
  10. package/cjs/evaluator/matchers/between.js +2 -1
  11. package/cjs/evaluator/matchers/boolean.js +2 -1
  12. package/cjs/evaluator/matchers/cont_all.js +3 -2
  13. package/cjs/evaluator/matchers/cont_any.js +3 -2
  14. package/cjs/evaluator/matchers/cont_str.js +2 -1
  15. package/cjs/evaluator/matchers/dependency.js +4 -4
  16. package/cjs/evaluator/matchers/eq.js +2 -1
  17. package/cjs/evaluator/matchers/eq_set.js +2 -1
  18. package/cjs/evaluator/matchers/ew.js +2 -1
  19. package/cjs/evaluator/matchers/gte.js +2 -1
  20. package/cjs/evaluator/matchers/index.js +36 -36
  21. package/cjs/evaluator/matchers/lte.js +2 -1
  22. package/cjs/evaluator/matchers/part_of.js +3 -2
  23. package/cjs/evaluator/matchers/segment.js +5 -5
  24. package/cjs/evaluator/matchers/string.js +2 -1
  25. package/cjs/evaluator/matchers/sw.js +2 -1
  26. package/cjs/evaluator/matchers/whitelist.js +2 -1
  27. package/cjs/evaluator/matchersTransform/index.js +12 -12
  28. package/cjs/evaluator/matchersTransform/segment.js +3 -2
  29. package/cjs/evaluator/matchersTransform/set.js +3 -2
  30. package/cjs/evaluator/matchersTransform/unaryNumeric.js +3 -2
  31. package/cjs/evaluator/matchersTransform/whitelist.js +3 -2
  32. package/cjs/evaluator/parser/index.js +16 -16
  33. package/cjs/evaluator/treatments/index.js +2 -1
  34. package/cjs/evaluator/value/index.js +5 -5
  35. package/cjs/evaluator/value/sanitize.js +2 -1
  36. package/cjs/integrations/browser.js +4 -4
  37. package/cjs/integrations/ga/GaToSplit.js +3 -4
  38. package/cjs/integrations/pluggable.js +3 -2
  39. package/cjs/listeners/browser.js +4 -4
  40. package/cjs/listeners/node.js +4 -4
  41. package/cjs/logger/index.js +2 -3
  42. package/cjs/logger/messages/info.js +1 -1
  43. package/cjs/logger/messages/warn.js +2 -2
  44. package/cjs/readiness/readinessManager.js +3 -4
  45. package/cjs/readiness/sdkReadinessManager.js +7 -7
  46. package/cjs/sdkClient/client.js +5 -5
  47. package/cjs/sdkClient/clientCS.js +4 -4
  48. package/cjs/sdkClient/clientInputValidation.js +5 -5
  49. package/cjs/sdkClient/sdkClient.js +5 -6
  50. package/cjs/sdkClient/sdkClientMethodCS.js +4 -5
  51. package/cjs/sdkClient/sdkClientMethodCSWithTT.js +4 -5
  52. package/cjs/sdkFactory/index.js +9 -10
  53. package/cjs/sdkManager/index.js +6 -7
  54. package/cjs/services/splitApi.js +2 -3
  55. package/cjs/services/splitHttpClient.js +3 -4
  56. package/cjs/storages/AbstractSegmentsCacheSync.js +2 -1
  57. package/cjs/storages/AbstractSplitsCacheAsync.js +2 -1
  58. package/cjs/storages/AbstractSplitsCacheSync.js +2 -2
  59. package/cjs/storages/KeyBuilder.js +2 -2
  60. package/cjs/storages/KeyBuilderCS.js +4 -3
  61. package/cjs/storages/KeyBuilderSS.js +4 -3
  62. package/cjs/storages/findLatencyIndex.js +2 -1
  63. package/cjs/storages/inLocalStorage/MySegmentsCacheInLocal.js +4 -3
  64. package/cjs/storages/inLocalStorage/SplitsCacheInLocal.js +4 -3
  65. package/cjs/storages/inLocalStorage/index.js +20 -21
  66. package/cjs/storages/inMemory/CountsCacheInMemory.js +2 -1
  67. package/cjs/storages/inMemory/EventsCacheInMemory.js +2 -1
  68. package/cjs/storages/inMemory/ImpressionCountsCacheInMemory.js +2 -1
  69. package/cjs/storages/inMemory/ImpressionsCacheInMemory.js +2 -1
  70. package/cjs/storages/inMemory/InMemoryStorage.js +10 -11
  71. package/cjs/storages/inMemory/InMemoryStorageCS.js +12 -13
  72. package/cjs/storages/inMemory/LatenciesCacheInMemory.js +4 -4
  73. package/cjs/storages/inMemory/MySegmentsCacheInMemory.js +4 -3
  74. package/cjs/storages/inMemory/SegmentsCacheInMemory.js +4 -3
  75. package/cjs/storages/inMemory/SplitsCacheInMemory.js +4 -3
  76. package/cjs/storages/inRedis/CountsCacheInRedis.js +2 -1
  77. package/cjs/storages/inRedis/EventsCacheInRedis.js +2 -1
  78. package/cjs/storages/inRedis/ImpressionsCacheInRedis.js +2 -1
  79. package/cjs/storages/inRedis/LatenciesCacheInRedis.js +4 -4
  80. package/cjs/storages/inRedis/RedisAdapter.js +6 -5
  81. package/cjs/storages/inRedis/SegmentsCacheInRedis.js +2 -1
  82. package/cjs/storages/inRedis/SplitsCacheInRedis.js +4 -3
  83. package/cjs/storages/inRedis/index.js +16 -17
  84. package/cjs/storages/pluggable/SplitsCachePluggable.js +2 -2
  85. package/cjs/storages/pluggable/index.js +8 -8
  86. package/cjs/sync/offline/splitsParser/parseCondition.js +2 -1
  87. package/cjs/sync/offline/splitsParser/splitsParserFromFile.js +3 -3
  88. package/cjs/sync/offline/splitsParser/splitsParserFromSettings.js +2 -3
  89. package/cjs/sync/offline/syncManagerOffline.js +3 -4
  90. package/cjs/sync/offline/syncTasks/fromObjectSyncTask.js +4 -5
  91. package/cjs/sync/polling/fetchers/mySegmentsFetcher.js +2 -1
  92. package/cjs/sync/polling/fetchers/segmentChangesFetcher.js +2 -1
  93. package/cjs/sync/polling/fetchers/splitChangesFetcher.js +2 -1
  94. package/cjs/sync/polling/pollingManagerCS.js +6 -6
  95. package/cjs/sync/polling/pollingManagerSS.js +8 -8
  96. package/cjs/sync/polling/syncTasks/mySegmentsSyncTask.js +5 -5
  97. package/cjs/sync/polling/syncTasks/segmentsSyncTask.js +5 -5
  98. package/cjs/sync/polling/syncTasks/splitsSyncTask.js +5 -5
  99. package/cjs/sync/polling/updaters/mySegmentsUpdater.js +2 -3
  100. package/cjs/sync/polling/updaters/segmentChangesUpdater.js +2 -3
  101. package/cjs/sync/polling/updaters/splitChangesUpdater.js +8 -6
  102. package/cjs/sync/streaming/AuthClient/index.js +2 -3
  103. package/cjs/sync/streaming/SSEClient/index.js +2 -1
  104. package/cjs/sync/streaming/SSEHandler/NotificationKeeper.js +2 -1
  105. package/cjs/sync/streaming/SSEHandler/index.js +4 -4
  106. package/cjs/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.js +4 -4
  107. package/cjs/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.js +4 -4
  108. package/cjs/sync/streaming/UpdateWorkers/SplitsUpdateWorker.js +4 -4
  109. package/cjs/sync/streaming/pushManager.js +18 -17
  110. package/cjs/sync/submitters/submitterSyncTask.js +2 -3
  111. package/cjs/sync/syncTask.js +2 -1
  112. package/cjs/trackers/eventTracker.js +7 -7
  113. package/cjs/trackers/impressionObserver/ImpressionObserver.js +4 -4
  114. package/cjs/trackers/impressionObserver/impressionObserverCS.js +2 -3
  115. package/cjs/trackers/impressionObserver/impressionObserverSS.js +2 -3
  116. package/cjs/trackers/impressionsTracker.js +6 -6
  117. package/cjs/utils/Backoff.js +2 -1
  118. package/cjs/utils/LRUCache/index.js +2 -1
  119. package/cjs/utils/MinEventEmitter.js +2 -1
  120. package/cjs/utils/MinEvents.js +13 -15
  121. package/cjs/utils/inputValidation/trafficTypeExistance.js +2 -3
  122. package/cjs/utils/lang/binarySearch.js +2 -1
  123. package/cjs/utils/lang/objectAssign.js +85 -0
  124. package/cjs/utils/promise/thenable.js +5 -1
  125. package/cjs/utils/promise/timeout.js +2 -1
  126. package/cjs/utils/promise/wrapper.js +2 -1
  127. package/cjs/utils/settingsValidation/impressionsMode.js +2 -1
  128. package/cjs/utils/settingsValidation/index.js +5 -6
  129. package/cjs/utils/settingsValidation/mode.js +2 -1
  130. package/cjs/utils/timeTracker/index.js +7 -8
  131. package/cjs/utils/timeTracker/now/browser.js +2 -2
  132. package/cjs/utils/timeTracker/now/node.js +2 -1
  133. package/cjs/utils/timeTracker/timer.js +3 -2
  134. package/esm/evaluator/Engine.js +3 -3
  135. package/esm/evaluator/combiners/and.js +2 -2
  136. package/esm/evaluator/combiners/ifelseif.js +2 -2
  137. package/esm/evaluator/condition/index.js +2 -2
  138. package/esm/evaluator/index.js +5 -6
  139. package/esm/evaluator/matchers/all.js +1 -1
  140. package/esm/evaluator/matchers/between.js +1 -1
  141. package/esm/evaluator/matchers/boolean.js +1 -1
  142. package/esm/evaluator/matchers/cont_all.js +1 -1
  143. package/esm/evaluator/matchers/cont_any.js +1 -1
  144. package/esm/evaluator/matchers/cont_str.js +1 -1
  145. package/esm/evaluator/matchers/dependency.js +2 -2
  146. package/esm/evaluator/matchers/eq.js +1 -1
  147. package/esm/evaluator/matchers/eq_set.js +1 -1
  148. package/esm/evaluator/matchers/ew.js +1 -1
  149. package/esm/evaluator/matchers/gte.js +1 -1
  150. package/esm/evaluator/matchers/index.js +35 -35
  151. package/esm/evaluator/matchers/lte.js +1 -1
  152. package/esm/evaluator/matchers/part_of.js +1 -1
  153. package/esm/evaluator/matchers/segment.js +2 -2
  154. package/esm/evaluator/matchers/string.js +1 -1
  155. package/esm/evaluator/matchers/sw.js +1 -1
  156. package/esm/evaluator/matchers/whitelist.js +1 -1
  157. package/esm/evaluator/matchersTransform/index.js +5 -5
  158. package/esm/evaluator/matchersTransform/segment.js +1 -1
  159. package/esm/evaluator/matchersTransform/set.js +1 -1
  160. package/esm/evaluator/matchersTransform/unaryNumeric.js +1 -1
  161. package/esm/evaluator/matchersTransform/whitelist.js +1 -1
  162. package/esm/evaluator/parser/index.js +11 -11
  163. package/esm/evaluator/treatments/index.js +1 -1
  164. package/esm/evaluator/value/index.js +3 -3
  165. package/esm/evaluator/value/sanitize.js +1 -1
  166. package/esm/integrations/browser.js +2 -2
  167. package/esm/integrations/ga/GaToSplit.js +1 -1
  168. package/esm/integrations/pluggable.js +1 -1
  169. package/esm/listeners/browser.js +2 -2
  170. package/esm/listeners/node.js +2 -2
  171. package/esm/logger/index.js +1 -1
  172. package/esm/logger/messages/info.js +1 -1
  173. package/esm/logger/messages/warn.js +2 -2
  174. package/esm/readiness/readinessManager.js +1 -1
  175. package/esm/readiness/sdkReadinessManager.js +3 -3
  176. package/esm/sdkClient/client.js +2 -2
  177. package/esm/sdkClient/clientCS.js +2 -2
  178. package/esm/sdkClient/clientInputValidation.js +2 -2
  179. package/esm/sdkClient/sdkClient.js +3 -3
  180. package/esm/sdkClient/sdkClientMethodCS.js +2 -2
  181. package/esm/sdkClient/sdkClientMethodCSWithTT.js +2 -2
  182. package/esm/sdkFactory/index.js +6 -6
  183. package/esm/sdkManager/index.js +2 -2
  184. package/esm/services/splitApi.js +1 -1
  185. package/esm/services/splitHttpClient.js +1 -1
  186. package/esm/storages/AbstractSegmentsCacheSync.js +1 -1
  187. package/esm/storages/AbstractSplitsCacheAsync.js +1 -1
  188. package/esm/storages/AbstractSplitsCacheSync.js +1 -1
  189. package/esm/storages/KeyBuilder.js +1 -1
  190. package/esm/storages/KeyBuilderCS.js +2 -2
  191. package/esm/storages/KeyBuilderSS.js +2 -2
  192. package/esm/storages/findLatencyIndex.js +1 -1
  193. package/esm/storages/inLocalStorage/MySegmentsCacheInLocal.js +2 -2
  194. package/esm/storages/inLocalStorage/SplitsCacheInLocal.js +2 -2
  195. package/esm/storages/inLocalStorage/index.js +8 -8
  196. package/esm/storages/inMemory/CountsCacheInMemory.js +1 -1
  197. package/esm/storages/inMemory/EventsCacheInMemory.js +1 -1
  198. package/esm/storages/inMemory/ImpressionCountsCacheInMemory.js +1 -1
  199. package/esm/storages/inMemory/ImpressionsCacheInMemory.js +1 -1
  200. package/esm/storages/inMemory/InMemoryStorage.js +5 -5
  201. package/esm/storages/inMemory/InMemoryStorageCS.js +5 -5
  202. package/esm/storages/inMemory/LatenciesCacheInMemory.js +2 -2
  203. package/esm/storages/inMemory/MySegmentsCacheInMemory.js +2 -2
  204. package/esm/storages/inMemory/SegmentsCacheInMemory.js +2 -2
  205. package/esm/storages/inMemory/SplitsCacheInMemory.js +2 -2
  206. package/esm/storages/inRedis/CountsCacheInRedis.js +1 -1
  207. package/esm/storages/inRedis/EventsCacheInRedis.js +1 -1
  208. package/esm/storages/inRedis/ImpressionsCacheInRedis.js +1 -1
  209. package/esm/storages/inRedis/LatenciesCacheInRedis.js +2 -2
  210. package/esm/storages/inRedis/RedisAdapter.js +3 -3
  211. package/esm/storages/inRedis/SegmentsCacheInRedis.js +1 -1
  212. package/esm/storages/inRedis/SplitsCacheInRedis.js +2 -2
  213. package/esm/storages/inRedis/index.js +8 -8
  214. package/esm/storages/pluggable/SplitsCachePluggable.js +1 -1
  215. package/esm/storages/pluggable/index.js +4 -4
  216. package/esm/sync/offline/splitsParser/parseCondition.js +1 -1
  217. package/esm/sync/offline/splitsParser/splitsParserFromFile.js +1 -1
  218. package/esm/sync/offline/splitsParser/splitsParserFromSettings.js +1 -1
  219. package/esm/sync/offline/syncManagerOffline.js +2 -2
  220. package/esm/sync/offline/syncTasks/fromObjectSyncTask.js +2 -2
  221. package/esm/sync/polling/fetchers/mySegmentsFetcher.js +1 -1
  222. package/esm/sync/polling/fetchers/segmentChangesFetcher.js +1 -1
  223. package/esm/sync/polling/fetchers/splitChangesFetcher.js +1 -1
  224. package/esm/sync/polling/pollingManagerCS.js +3 -3
  225. package/esm/sync/polling/pollingManagerSS.js +4 -4
  226. package/esm/sync/polling/syncTasks/mySegmentsSyncTask.js +3 -3
  227. package/esm/sync/polling/syncTasks/segmentsSyncTask.js +3 -3
  228. package/esm/sync/polling/syncTasks/splitsSyncTask.js +3 -3
  229. package/esm/sync/polling/updaters/mySegmentsUpdater.js +1 -1
  230. package/esm/sync/polling/updaters/segmentChangesUpdater.js +1 -1
  231. package/esm/sync/polling/updaters/splitChangesUpdater.js +7 -4
  232. package/esm/sync/streaming/AuthClient/index.js +1 -1
  233. package/esm/sync/streaming/SSEClient/index.js +1 -1
  234. package/esm/sync/streaming/SSEHandler/NotificationKeeper.js +1 -1
  235. package/esm/sync/streaming/SSEHandler/index.js +2 -2
  236. package/esm/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.js +2 -2
  237. package/esm/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.js +2 -2
  238. package/esm/sync/streaming/UpdateWorkers/SplitsUpdateWorker.js +2 -2
  239. package/esm/sync/streaming/pushManager.js +10 -9
  240. package/esm/sync/submitters/submitterSyncTask.js +1 -1
  241. package/esm/sync/syncTask.js +1 -1
  242. package/esm/trackers/eventTracker.js +3 -3
  243. package/esm/trackers/impressionObserver/ImpressionObserver.js +2 -2
  244. package/esm/trackers/impressionObserver/impressionObserverCS.js +1 -1
  245. package/esm/trackers/impressionObserver/impressionObserverSS.js +1 -1
  246. package/esm/trackers/impressionsTracker.js +3 -3
  247. package/esm/utils/Backoff.js +1 -1
  248. package/esm/utils/LRUCache/index.js +1 -1
  249. package/esm/utils/MinEventEmitter.js +1 -1
  250. package/esm/utils/MinEvents.js +2 -5
  251. package/esm/utils/inputValidation/trafficTypeExistance.js +1 -1
  252. package/esm/utils/lang/binarySearch.js +1 -1
  253. package/esm/utils/lang/objectAssign.js +82 -0
  254. package/esm/utils/promise/thenable.js +3 -1
  255. package/esm/utils/promise/timeout.js +1 -1
  256. package/esm/utils/promise/wrapper.js +1 -1
  257. package/esm/utils/settingsValidation/impressionsMode.js +1 -1
  258. package/esm/utils/settingsValidation/index.js +3 -3
  259. package/esm/utils/settingsValidation/mode.js +1 -1
  260. package/esm/utils/timeTracker/index.js +4 -5
  261. package/esm/utils/timeTracker/now/browser.js +1 -2
  262. package/esm/utils/timeTracker/now/node.js +1 -1
  263. package/esm/utils/timeTracker/timer.js +1 -1
  264. package/package.json +2 -3
  265. package/src/evaluator/Engine.ts +3 -3
  266. package/src/evaluator/combiners/and.ts +2 -2
  267. package/src/evaluator/combiners/ifelseif.ts +2 -2
  268. package/src/evaluator/condition/index.ts +2 -2
  269. package/src/evaluator/index.ts +5 -6
  270. package/src/evaluator/matchers/all.ts +1 -1
  271. package/src/evaluator/matchers/between.ts +1 -1
  272. package/src/evaluator/matchers/boolean.ts +1 -1
  273. package/src/evaluator/matchers/cont_all.ts +1 -1
  274. package/src/evaluator/matchers/cont_any.ts +1 -1
  275. package/src/evaluator/matchers/cont_str.ts +1 -1
  276. package/src/evaluator/matchers/dependency.ts +2 -2
  277. package/src/evaluator/matchers/eq.ts +1 -1
  278. package/src/evaluator/matchers/eq_set.ts +1 -1
  279. package/src/evaluator/matchers/ew.ts +1 -1
  280. package/src/evaluator/matchers/gte.ts +1 -1
  281. package/src/evaluator/matchers/index.ts +35 -35
  282. package/src/evaluator/matchers/lte.ts +1 -1
  283. package/src/evaluator/matchers/part_of.ts +1 -1
  284. package/src/evaluator/matchers/segment.ts +2 -2
  285. package/src/evaluator/matchers/string.ts +1 -1
  286. package/src/evaluator/matchers/sw.ts +1 -1
  287. package/src/evaluator/matchers/whitelist.ts +1 -1
  288. package/src/evaluator/matchersTransform/index.ts +5 -5
  289. package/src/evaluator/matchersTransform/segment.ts +1 -1
  290. package/src/evaluator/matchersTransform/set.ts +1 -1
  291. package/src/evaluator/matchersTransform/unaryNumeric.ts +1 -1
  292. package/src/evaluator/matchersTransform/whitelist.ts +1 -1
  293. package/src/evaluator/parser/index.ts +12 -12
  294. package/src/evaluator/treatments/index.ts +1 -1
  295. package/src/evaluator/value/index.ts +3 -3
  296. package/src/evaluator/value/sanitize.ts +1 -1
  297. package/src/integrations/browser.ts +2 -2
  298. package/src/integrations/ga/GaToSplit.ts +1 -1
  299. package/src/integrations/pluggable.ts +1 -1
  300. package/src/listeners/browser.ts +2 -2
  301. package/src/listeners/node.ts +2 -2
  302. package/src/logger/index.ts +1 -1
  303. package/src/logger/messages/info.ts +1 -1
  304. package/src/logger/messages/warn.ts +2 -2
  305. package/src/readiness/readinessManager.ts +2 -2
  306. package/src/readiness/sdkReadinessManager.ts +3 -3
  307. package/src/sdkClient/client.ts +2 -2
  308. package/src/sdkClient/clientCS.ts +2 -2
  309. package/src/sdkClient/clientInputValidation.ts +2 -2
  310. package/src/sdkClient/sdkClient.ts +3 -3
  311. package/src/sdkClient/sdkClientMethodCS.ts +2 -2
  312. package/src/sdkClient/sdkClientMethodCSWithTT.ts +2 -2
  313. package/src/sdkFactory/index.ts +6 -6
  314. package/src/sdkManager/index.ts +2 -2
  315. package/src/services/splitApi.ts +1 -1
  316. package/src/services/splitHttpClient.ts +1 -1
  317. package/src/services/types.ts +1 -1
  318. package/src/storages/AbstractSegmentsCacheSync.ts +1 -1
  319. package/src/storages/AbstractSplitsCacheAsync.ts +1 -1
  320. package/src/storages/AbstractSplitsCacheSync.ts +1 -1
  321. package/src/storages/KeyBuilder.ts +1 -1
  322. package/src/storages/KeyBuilderCS.ts +2 -2
  323. package/src/storages/KeyBuilderSS.ts +2 -2
  324. package/src/storages/findLatencyIndex.ts +1 -1
  325. package/src/storages/inLocalStorage/MySegmentsCacheInLocal.ts +3 -3
  326. package/src/storages/inLocalStorage/SplitsCacheInLocal.ts +3 -3
  327. package/src/storages/inLocalStorage/index.ts +8 -8
  328. package/src/storages/inMemory/CountsCacheInMemory.ts +1 -1
  329. package/src/storages/inMemory/EventsCacheInMemory.ts +1 -1
  330. package/src/storages/inMemory/ImpressionCountsCacheInMemory.ts +1 -1
  331. package/src/storages/inMemory/ImpressionsCacheInMemory.ts +1 -1
  332. package/src/storages/inMemory/InMemoryStorage.ts +5 -5
  333. package/src/storages/inMemory/InMemoryStorageCS.ts +5 -5
  334. package/src/storages/inMemory/LatenciesCacheInMemory.ts +2 -2
  335. package/src/storages/inMemory/MySegmentsCacheInMemory.ts +2 -2
  336. package/src/storages/inMemory/SegmentsCacheInMemory.ts +2 -2
  337. package/src/storages/inMemory/SplitsCacheInMemory.ts +2 -2
  338. package/src/storages/inRedis/CountsCacheInRedis.ts +2 -2
  339. package/src/storages/inRedis/EventsCacheInRedis.ts +1 -1
  340. package/src/storages/inRedis/ImpressionsCacheInRedis.ts +1 -1
  341. package/src/storages/inRedis/LatenciesCacheInRedis.ts +3 -3
  342. package/src/storages/inRedis/RedisAdapter.ts +3 -3
  343. package/src/storages/inRedis/SegmentsCacheInRedis.ts +2 -2
  344. package/src/storages/inRedis/SplitsCacheInRedis.ts +3 -3
  345. package/src/storages/inRedis/index.ts +8 -8
  346. package/src/storages/pluggable/SegmentsCachePluggable.ts +1 -1
  347. package/src/storages/pluggable/SplitsCachePluggable.ts +2 -2
  348. package/src/storages/pluggable/index.ts +4 -4
  349. package/src/storages/types.ts +2 -2
  350. package/src/sync/offline/splitsParser/parseCondition.ts +1 -1
  351. package/src/sync/offline/splitsParser/splitsParserFromFile.ts +1 -1
  352. package/src/sync/offline/splitsParser/splitsParserFromSettings.ts +1 -1
  353. package/src/sync/offline/syncManagerOffline.ts +2 -2
  354. package/src/sync/offline/syncTasks/fromObjectSyncTask.ts +2 -2
  355. package/src/sync/polling/fetchers/mySegmentsFetcher.ts +1 -1
  356. package/src/sync/polling/fetchers/segmentChangesFetcher.ts +1 -1
  357. package/src/sync/polling/fetchers/splitChangesFetcher.ts +1 -1
  358. package/src/sync/polling/pollingManagerCS.ts +3 -3
  359. package/src/sync/polling/pollingManagerSS.ts +4 -4
  360. package/src/sync/polling/syncTasks/mySegmentsSyncTask.ts +3 -3
  361. package/src/sync/polling/syncTasks/segmentsSyncTask.ts +3 -3
  362. package/src/sync/polling/syncTasks/splitsSyncTask.ts +3 -3
  363. package/src/sync/polling/updaters/mySegmentsUpdater.ts +1 -1
  364. package/src/sync/polling/updaters/segmentChangesUpdater.ts +1 -1
  365. package/src/sync/polling/updaters/splitChangesUpdater.ts +6 -3
  366. package/src/sync/streaming/AuthClient/index.ts +1 -1
  367. package/src/sync/streaming/SSEClient/index.ts +1 -1
  368. package/src/sync/streaming/SSEHandler/NotificationKeeper.ts +1 -1
  369. package/src/sync/streaming/SSEHandler/index.ts +2 -2
  370. package/src/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.ts +2 -2
  371. package/src/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.ts +2 -2
  372. package/src/sync/streaming/UpdateWorkers/SplitsUpdateWorker.ts +2 -2
  373. package/src/sync/streaming/UpdateWorkers/types.ts +1 -1
  374. package/src/sync/streaming/pushManager.ts +10 -9
  375. package/src/sync/submitters/submitterSyncTask.ts +1 -1
  376. package/src/sync/syncTask.ts +1 -1
  377. package/src/trackers/eventTracker.ts +3 -3
  378. package/src/trackers/impressionObserver/ImpressionObserver.ts +2 -2
  379. package/src/trackers/impressionObserver/impressionObserverCS.ts +1 -1
  380. package/src/trackers/impressionObserver/impressionObserverSS.ts +1 -1
  381. package/src/trackers/impressionsTracker.ts +3 -3
  382. package/src/utils/Backoff.ts +1 -1
  383. package/src/utils/LRUCache/index.ts +1 -1
  384. package/src/utils/MinEventEmitter.ts +1 -1
  385. package/src/utils/MinEvents.ts +2 -7
  386. package/src/utils/inputValidation/trafficTypeExistance.ts +1 -1
  387. package/src/utils/lang/binarySearch.ts +1 -1
  388. package/src/utils/lang/objectAssign.ts +104 -0
  389. package/src/utils/promise/thenable.ts +3 -1
  390. package/src/utils/promise/timeout.ts +1 -1
  391. package/src/utils/promise/wrapper.ts +1 -1
  392. package/src/utils/settingsValidation/impressionsMode.ts +1 -1
  393. package/src/utils/settingsValidation/index.ts +3 -3
  394. package/src/utils/settingsValidation/mode.ts +1 -1
  395. package/src/utils/timeTracker/index.ts +4 -6
  396. package/src/utils/timeTracker/now/browser.ts +1 -3
  397. package/src/utils/timeTracker/now/node.ts +1 -1
  398. package/src/utils/timeTracker/timer.ts +1 -1
  399. package/types/evaluator/Engine.d.ts +1 -1
  400. package/types/evaluator/combiners/and.d.ts +1 -1
  401. package/types/evaluator/combiners/ifelseif.d.ts +1 -1
  402. package/types/evaluator/condition/index.d.ts +1 -1
  403. package/types/evaluator/matchers/all.d.ts +1 -1
  404. package/types/evaluator/matchers/between.d.ts +1 -1
  405. package/types/evaluator/matchers/boolean.d.ts +1 -1
  406. package/types/evaluator/matchers/cont_all.d.ts +1 -1
  407. package/types/evaluator/matchers/cont_any.d.ts +1 -1
  408. package/types/evaluator/matchers/cont_str.d.ts +1 -1
  409. package/types/evaluator/matchers/dependency.d.ts +1 -1
  410. package/types/evaluator/matchers/eq.d.ts +1 -1
  411. package/types/evaluator/matchers/eq_set.d.ts +1 -1
  412. package/types/evaluator/matchers/ew.d.ts +1 -1
  413. package/types/evaluator/matchers/gte.d.ts +1 -1
  414. package/types/evaluator/matchers/index.d.ts +1 -1
  415. package/types/evaluator/matchers/lte.d.ts +1 -1
  416. package/types/evaluator/matchers/part_of.d.ts +1 -1
  417. package/types/evaluator/matchers/segment.d.ts +1 -1
  418. package/types/evaluator/matchers/string.d.ts +1 -1
  419. package/types/evaluator/matchers/sw.d.ts +1 -1
  420. package/types/evaluator/matchers/whitelist.d.ts +1 -1
  421. package/types/evaluator/matchersTransform/index.d.ts +1 -1
  422. package/types/evaluator/matchersTransform/segment.d.ts +1 -1
  423. package/types/evaluator/matchersTransform/set.d.ts +1 -1
  424. package/types/evaluator/matchersTransform/unaryNumeric.d.ts +1 -1
  425. package/types/evaluator/matchersTransform/whitelist.d.ts +1 -1
  426. package/types/evaluator/parser/index.d.ts +1 -1
  427. package/types/evaluator/treatments/index.d.ts +1 -1
  428. package/types/evaluator/value/index.d.ts +1 -1
  429. package/types/evaluator/value/sanitize.d.ts +1 -1
  430. package/types/integrations/browser.d.ts +1 -1
  431. package/types/integrations/pluggable.d.ts +1 -1
  432. package/types/listeners/browser.d.ts +1 -1
  433. package/types/listeners/node.d.ts +1 -1
  434. package/types/readiness/sdkReadinessManager.d.ts +1 -1
  435. package/types/sdkClient/client.d.ts +1 -1
  436. package/types/sdkClient/clientCS.d.ts +1 -1
  437. package/types/sdkClient/clientInputValidation.d.ts +1 -1
  438. package/types/services/types.d.ts +1 -3
  439. package/types/storages/AbstractSegmentsCacheSync.d.ts +1 -1
  440. package/types/storages/AbstractSplitsCacheAsync.d.ts +1 -1
  441. package/types/storages/AbstractSplitsCacheSync.d.ts +1 -1
  442. package/types/storages/KeyBuilder.d.ts +1 -1
  443. package/types/storages/KeyBuilderCS.d.ts +2 -2
  444. package/types/storages/KeyBuilderSS.d.ts +2 -2
  445. package/types/storages/findLatencyIndex.d.ts +1 -1
  446. package/types/storages/inLocalStorage/MySegmentsCacheInLocal.d.ts +3 -3
  447. package/types/storages/inLocalStorage/SplitsCacheInLocal.d.ts +3 -3
  448. package/types/storages/inMemory/CountsCacheInMemory.d.ts +1 -1
  449. package/types/storages/inMemory/EventsCacheInMemory.d.ts +1 -1
  450. package/types/storages/inMemory/ImpressionCountsCacheInMemory.d.ts +1 -1
  451. package/types/storages/inMemory/ImpressionsCacheInMemory.d.ts +1 -1
  452. package/types/storages/inMemory/LatenciesCacheInMemory.d.ts +1 -1
  453. package/types/storages/inMemory/MySegmentsCacheInMemory.d.ts +2 -2
  454. package/types/storages/inMemory/SegmentsCacheInMemory.d.ts +2 -2
  455. package/types/storages/inMemory/SplitsCacheInMemory.d.ts +2 -2
  456. package/types/storages/inRedis/CountsCacheInRedis.d.ts +2 -2
  457. package/types/storages/inRedis/EventsCacheInRedis.d.ts +1 -1
  458. package/types/storages/inRedis/ImpressionsCacheInRedis.d.ts +1 -1
  459. package/types/storages/inRedis/LatenciesCacheInRedis.d.ts +2 -2
  460. package/types/storages/inRedis/RedisAdapter.d.ts +1 -1
  461. package/types/storages/inRedis/SegmentsCacheInRedis.d.ts +2 -2
  462. package/types/storages/inRedis/SplitsCacheInRedis.d.ts +3 -3
  463. package/types/storages/pluggable/SegmentsCachePluggable.d.ts +1 -1
  464. package/types/storages/pluggable/SplitsCachePluggable.d.ts +2 -2
  465. package/types/storages/types.d.ts +2 -2
  466. package/types/sync/offline/splitsParser/parseCondition.d.ts +1 -1
  467. package/types/sync/offline/syncTasks/fromObjectSyncTask.d.ts +1 -1
  468. package/types/sync/polling/fetchers/mySegmentsFetcher.d.ts +1 -1
  469. package/types/sync/polling/fetchers/segmentChangesFetcher.d.ts +1 -1
  470. package/types/sync/polling/fetchers/splitChangesFetcher.d.ts +1 -1
  471. package/types/sync/polling/pollingManagerCS.d.ts +1 -1
  472. package/types/sync/polling/pollingManagerSS.d.ts +1 -1
  473. package/types/sync/polling/syncTasks/mySegmentsSyncTask.d.ts +1 -1
  474. package/types/sync/polling/syncTasks/segmentsSyncTask.d.ts +1 -1
  475. package/types/sync/polling/syncTasks/splitsSyncTask.d.ts +1 -1
  476. package/types/sync/streaming/SSEClient/index.d.ts +1 -1
  477. package/types/sync/streaming/SSEHandler/NotificationKeeper.d.ts +1 -1
  478. package/types/sync/streaming/SSEHandler/index.d.ts +1 -1
  479. package/types/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.d.ts +2 -2
  480. package/types/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.d.ts +2 -2
  481. package/types/sync/streaming/UpdateWorkers/SplitsUpdateWorker.d.ts +2 -2
  482. package/types/sync/streaming/UpdateWorkers/types.d.ts +1 -1
  483. package/types/sync/streaming/pushManager.d.ts +1 -1
  484. package/types/sync/syncTask.d.ts +1 -1
  485. package/types/trackers/eventTracker.d.ts +1 -1
  486. package/types/trackers/impressionObserver/ImpressionObserver.d.ts +1 -1
  487. package/types/trackers/impressionObserver/impressionObserverCS.d.ts +1 -1
  488. package/types/trackers/impressionObserver/impressionObserverSS.d.ts +1 -1
  489. package/types/trackers/impressionsTracker.d.ts +1 -1
  490. package/types/utils/Backoff.d.ts +1 -1
  491. package/types/utils/LRUCache/index.d.ts +1 -1
  492. package/types/utils/MinEventEmitter.d.ts +1 -1
  493. package/types/utils/MinEvents.d.ts +3 -2
  494. package/types/utils/lang/binarySearch.d.ts +1 -1
  495. package/types/utils/lang/objectAssign.d.ts +3 -0
  496. package/types/utils/promise/thenable.d.ts +1 -2
  497. package/types/utils/promise/timeout.d.ts +1 -1
  498. package/types/utils/promise/wrapper.d.ts +1 -1
  499. package/types/utils/settingsValidation/impressionsMode.d.ts +1 -1
  500. package/types/utils/settingsValidation/mode.d.ts +1 -1
  501. package/types/utils/timeTracker/index.d.ts +2 -2
  502. package/types/utils/timeTracker/now/browser.d.ts +1 -2
  503. package/types/utils/timeTracker/now/node.d.ts +1 -1
  504. package/types/utils/timeTracker/timer.d.ts +1 -1
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.notificationKeeperFactory = void 0;
3
4
  var constants_1 = require("../constants");
4
5
  var CONTROL_CHANNEL_REGEXS = [/control_pri$/, /control_sec$/];
5
6
  /**
@@ -87,4 +88,4 @@ function notificationKeeperFactory(pushEmitter) {
87
88
  },
88
89
  };
89
90
  }
90
- exports.default = notificationKeeperFactory;
91
+ exports.notificationKeeperFactory = notificationKeeperFactory;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
3
+ exports.SSEHandlerFactory = void 0;
4
4
  var NotificationParser_1 = require("./NotificationParser");
5
- var NotificationKeeper_1 = tslib_1.__importDefault(require("./NotificationKeeper"));
5
+ var NotificationKeeper_1 = require("./NotificationKeeper");
6
6
  var constants_1 = require("../constants");
7
7
  var constants_2 = require("../../../logger/constants");
8
8
  function isRetryableError(error) {
@@ -25,7 +25,7 @@ function isRetryableError(error) {
25
25
  * @param pushEmitter emitter for events related to streaming support
26
26
  */
27
27
  function SSEHandlerFactory(log, pushEmitter) {
28
- var notificationKeeper = NotificationKeeper_1.default(pushEmitter);
28
+ var notificationKeeper = NotificationKeeper_1.notificationKeeperFactory(pushEmitter);
29
29
  return {
30
30
  handleOpen: function () {
31
31
  notificationKeeper.handleOpen();
@@ -89,4 +89,4 @@ function SSEHandlerFactory(log, pushEmitter) {
89
89
  },
90
90
  };
91
91
  }
92
- exports.default = SSEHandlerFactory;
92
+ exports.SSEHandlerFactory = SSEHandlerFactory;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var Backoff_1 = tslib_1.__importDefault(require("../../../utils/Backoff"));
3
+ exports.MySegmentsUpdateWorker = void 0;
4
+ var Backoff_1 = require("../../../utils/Backoff");
5
5
  /**
6
6
  * MySegmentsUpdateWorker class
7
7
  */
@@ -17,7 +17,7 @@ var MySegmentsUpdateWorker = /** @class */ (function () {
17
17
  this.currentChangeNumber = -1; // @TODO: remove once `/mySegments` endpoint provides the changeNumber
18
18
  this.put = this.put.bind(this);
19
19
  this.__handleMySegmentsUpdateCall = this.__handleMySegmentsUpdateCall.bind(this);
20
- this.backoff = new Backoff_1.default(this.__handleMySegmentsUpdateCall);
20
+ this.backoff = new Backoff_1.Backoff(this.__handleMySegmentsUpdateCall);
21
21
  }
22
22
  // Private method
23
23
  // Precondition: this.mySegmentsSyncTask.isSynchronizingMySegments === false
@@ -58,4 +58,4 @@ var MySegmentsUpdateWorker = /** @class */ (function () {
58
58
  };
59
59
  return MySegmentsUpdateWorker;
60
60
  }());
61
- exports.default = MySegmentsUpdateWorker;
61
+ exports.MySegmentsUpdateWorker = MySegmentsUpdateWorker;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var Backoff_1 = tslib_1.__importDefault(require("../../../utils/Backoff"));
3
+ exports.SegmentsUpdateWorker = void 0;
4
+ var Backoff_1 = require("../../../utils/Backoff");
5
5
  /**
6
6
  * SegmentUpdateWorker class
7
7
  */
@@ -17,7 +17,7 @@ var SegmentsUpdateWorker = /** @class */ (function () {
17
17
  this.handleNewEvent = false;
18
18
  this.put = this.put.bind(this);
19
19
  this.__handleSegmentUpdateCall = this.__handleSegmentUpdateCall.bind(this);
20
- this.backoff = new Backoff_1.default(this.__handleSegmentUpdateCall);
20
+ this.backoff = new Backoff_1.Backoff(this.__handleSegmentUpdateCall);
21
21
  }
22
22
  // Private method
23
23
  // Precondition: this.segmentsSyncTask.isSynchronizingSegments === false
@@ -71,4 +71,4 @@ var SegmentsUpdateWorker = /** @class */ (function () {
71
71
  };
72
72
  return SegmentsUpdateWorker;
73
73
  }());
74
- exports.default = SegmentsUpdateWorker;
74
+ exports.SegmentsUpdateWorker = SegmentsUpdateWorker;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
3
+ exports.SplitsUpdateWorker = void 0;
4
4
  var constants_1 = require("../../../readiness/constants");
5
- var Backoff_1 = tslib_1.__importDefault(require("../../../utils/Backoff"));
5
+ var Backoff_1 = require("../../../utils/Backoff");
6
6
  /**
7
7
  * SplitsUpdateWorker class
8
8
  */
@@ -22,7 +22,7 @@ var SplitsUpdateWorker = /** @class */ (function () {
22
22
  this.put = this.put.bind(this);
23
23
  this.killSplit = this.killSplit.bind(this);
24
24
  this.__handleSplitUpdateCall = this.__handleSplitUpdateCall.bind(this);
25
- this.backoff = new Backoff_1.default(this.__handleSplitUpdateCall);
25
+ this.backoff = new Backoff_1.Backoff(this.__handleSplitUpdateCall);
26
26
  }
27
27
  // Private method
28
28
  // Preconditions: this.splitsSyncTask.isSynchronizingSplits === false
@@ -79,4 +79,4 @@ var SplitsUpdateWorker = /** @class */ (function () {
79
79
  };
80
80
  return SplitsUpdateWorker;
81
81
  }());
82
- exports.default = SplitsUpdateWorker;
82
+ exports.SplitsUpdateWorker = SplitsUpdateWorker;
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var object_assign_1 = tslib_1.__importDefault(require("object-assign"));
5
- var Backoff_1 = tslib_1.__importDefault(require("../../utils/Backoff"));
6
- var SSEHandler_1 = tslib_1.__importDefault(require("./SSEHandler"));
7
- var MySegmentsUpdateWorker_1 = tslib_1.__importDefault(require("./UpdateWorkers/MySegmentsUpdateWorker"));
8
- var SegmentsUpdateWorker_1 = tslib_1.__importDefault(require("./UpdateWorkers/SegmentsUpdateWorker"));
9
- var SplitsUpdateWorker_1 = tslib_1.__importDefault(require("./UpdateWorkers/SplitsUpdateWorker"));
3
+ exports.pushManagerFactory = void 0;
4
+ var objectAssign_1 = require("../../utils/lang/objectAssign");
5
+ var Backoff_1 = require("../../utils/Backoff");
6
+ var SSEHandler_1 = require("./SSEHandler");
7
+ var MySegmentsUpdateWorker_1 = require("./UpdateWorkers/MySegmentsUpdateWorker");
8
+ var SegmentsUpdateWorker_1 = require("./UpdateWorkers/SegmentsUpdateWorker");
9
+ var SplitsUpdateWorker_1 = require("./UpdateWorkers/SplitsUpdateWorker");
10
10
  var AuthClient_1 = require("./AuthClient");
11
11
  var lang_1 = require("../../utils/lang");
12
- var SSEClient_1 = tslib_1.__importDefault(require("./SSEClient"));
12
+ var SSEClient_1 = require("./SSEClient");
13
13
  var key_1 = require("../../utils/key");
14
14
  var constants_1 = require("./constants");
15
15
  var constants_2 = require("../../logger/constants");
@@ -30,7 +30,7 @@ function pushManagerFactory(pollingManager, storage, readiness, fetchAuth, platf
30
30
  var sseClient;
31
31
  try {
32
32
  // `useHeaders` false for client-side, even if the platform EventSource supports headers (e.g., React Native).
33
- sseClient = new SSEClient_1.default(settings, userKey ? false : true, platform.getEventSource);
33
+ sseClient = new SSEClient_1.SSEClient(settings, userKey ? false : true, platform.getEventSource);
34
34
  }
35
35
  catch (e) {
36
36
  log.warn(constants_2.STREAMING_FALLBACK, [e]);
@@ -39,12 +39,12 @@ function pushManagerFactory(pollingManager, storage, readiness, fetchAuth, platf
39
39
  var authenticate = AuthClient_1.authenticateFactory(fetchAuth);
40
40
  // init feedback loop
41
41
  var pushEmitter = new platform.EventEmitter();
42
- var sseHandler = SSEHandler_1.default(log, pushEmitter);
42
+ var sseHandler = SSEHandler_1.SSEHandlerFactory(log, pushEmitter);
43
43
  sseClient.setEventHandler(sseHandler);
44
44
  // init workers
45
- var segmentsUpdateWorker = userKey ? new MySegmentsUpdateWorker_1.default(pollingManager.segmentsSyncTask) : new SegmentsUpdateWorker_1.default(storage.segments, pollingManager.segmentsSyncTask);
45
+ var segmentsUpdateWorker = userKey ? new MySegmentsUpdateWorker_1.MySegmentsUpdateWorker(pollingManager.segmentsSyncTask) : new SegmentsUpdateWorker_1.SegmentsUpdateWorker(storage.segments, pollingManager.segmentsSyncTask);
46
46
  // For server-side we pass the segmentsSyncTask, used by SplitsUpdateWorker to fetch new segments
47
- var splitsUpdateWorker = new SplitsUpdateWorker_1.default(storage.splits, pollingManager.splitsSyncTask, readiness.splits, userKey ? undefined : pollingManager.segmentsSyncTask);
47
+ var splitsUpdateWorker = new SplitsUpdateWorker_1.SplitsUpdateWorker(storage.splits, pollingManager.splitsSyncTask, readiness.splits, userKey ? undefined : pollingManager.segmentsSyncTask);
48
48
  // [Only for client-side] map of hashes to user keys, to dispatch MY_SEGMENTS_UPDATE events to the corresponding MySegmentsUpdateWorker
49
49
  var userKeyHashes = {};
50
50
  // [Only for client-side] map of user keys to their corresponding hash64 and MySegmentsUpdateWorkers.
@@ -63,7 +63,7 @@ function pushManagerFactory(pollingManager, storage, readiness, fetchAuth, platf
63
63
  // flag that indicates a PUSH_NONRETRYABLE_ERROR, condition with which starting pushManager again is ignored.
64
64
  var disabled; // `disabled` implies `disconnected === true`
65
65
  /** PushManager functions related to initialization */
66
- var connectPushRetryBackoff = new Backoff_1.default(connectPush, settings.scheduler.pushRetryBackoffBase);
66
+ var connectPushRetryBackoff = new Backoff_1.Backoff(connectPush, settings.scheduler.pushRetryBackoffBase);
67
67
  var timeoutIdTokenRefresh;
68
68
  var timeoutIdSseOpen;
69
69
  function scheduleTokenRefreshAndSse(authData) {
@@ -90,7 +90,8 @@ function pushManagerFactory(pollingManager, storage, readiness, fetchAuth, platf
90
90
  // Guard condition in case `stop/disconnectPush` has been called (e.g., calling SDK destroy, or app signal close/background)
91
91
  if (disconnected)
92
92
  return;
93
- log.info(constants_2.STREAMING_CONNECTING, [disconnected === undefined ? '' : 'Re-']);
93
+ // @TODO distinguish log for 'Connecting' (1st time) and 'Re-connecting'
94
+ log.info(constants_2.STREAMING_CONNECTING);
94
95
  disconnected = false;
95
96
  var userKeys = userKey ? Object.keys(clients) : undefined;
96
97
  authenticate(userKeys).then(function (authData) {
@@ -257,7 +258,7 @@ function pushManagerFactory(pollingManager, storage, readiness, fetchAuth, platf
257
258
  else {
258
259
  pushEmitter.on(constants_1.SEGMENT_UPDATE, segmentsUpdateWorker.put);
259
260
  }
260
- return object_assign_1.default(
261
+ return objectAssign_1.objectAssign(
261
262
  // Expose Event Emitter functionality and Event constants
262
263
  Object.create(pushEmitter), {
263
264
  // Expose functionality for starting and stoping push mode:
@@ -272,7 +273,7 @@ function pushManagerFactory(pollingManager, storage, readiness, fetchAuth, platf
272
273
  },
273
274
  // [Only for client-side]
274
275
  add: function (userKey, mySegmentsSyncTask) {
275
- clients[userKey] = { hash64: murmur3_64_1.hash64(userKey), worker: new MySegmentsUpdateWorker_1.default(mySegmentsSyncTask) };
276
+ clients[userKey] = { hash64: murmur3_64_1.hash64(userKey), worker: new MySegmentsUpdateWorker_1.MySegmentsUpdateWorker(mySegmentsSyncTask) };
276
277
  var hash = AuthClient_1.hashUserKey(userKey);
277
278
  if (!userKeyHashes[hash]) {
278
279
  userKeyHashes[hash] = userKey;
@@ -296,4 +297,4 @@ function pushManagerFactory(pollingManager, storage, readiness, fetchAuth, platf
296
297
  }
297
298
  });
298
299
  }
299
- exports.default = pushManagerFactory;
300
+ exports.pushManagerFactory = pushManagerFactory;
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.submitterSyncTaskFactory = void 0;
4
- var tslib_1 = require("tslib");
5
- var syncTask_1 = tslib_1.__importDefault(require("../syncTask"));
4
+ var syncTask_1 = require("../syncTask");
6
5
  var constants_1 = require("../../logger/constants");
7
6
  /**
8
7
  * Base function to create submitter sync tasks, such as ImpressionsSyncTask and EventsSyncTask
@@ -40,6 +39,6 @@ function submitterSyncTaskFactory(log, postClient, sourceCache, postRate, dataNa
40
39
  // if latencyTracker provided, attach stop callback to postEventsPromise
41
40
  return latencyTrackerStop ? postPromise.then(latencyTrackerStop).catch(latencyTrackerStop) : postPromise;
42
41
  }
43
- return syncTask_1.default(log, postData, postRate, dataName + ' submitter');
42
+ return syncTask_1.syncTaskFactory(log, postData, postRate, dataName + ' submitter');
44
43
  }
45
44
  exports.submitterSyncTaskFactory = submitterSyncTaskFactory;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.syncTaskFactory = void 0;
3
4
  var constants_1 = require("../logger/constants");
4
5
  /**
5
6
  * Creates a syncTask that handles the periodic execution of a given task ("start" and "stop" methods).
@@ -78,4 +79,4 @@ function syncTaskFactory(log, task, period, taskName) {
78
79
  }
79
80
  };
80
81
  }
81
- exports.default = syncTaskFactory;
82
+ exports.syncTaskFactory = syncTaskFactory;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var object_assign_1 = tslib_1.__importDefault(require("object-assign"));
5
- var thenable_1 = tslib_1.__importDefault(require("../utils/promise/thenable"));
3
+ exports.eventTrackerFactory = void 0;
4
+ var objectAssign_1 = require("../utils/lang/objectAssign");
5
+ var thenable_1 = require("../utils/promise/thenable");
6
6
  var constants_1 = require("../logger/constants");
7
7
  /**
8
8
  * Event tracker stores events in cache and pass them to the integrations manager if provided.
@@ -21,9 +21,9 @@ function eventTrackerFactory(log, eventsCache, integrationsManager) {
21
21
  // Wrap in a timeout because we don't want it to be blocking.
22
22
  setTimeout(function () {
23
23
  // copy of event, to avoid unexpected behaviour if modified by integrations
24
- var eventDataCopy = object_assign_1.default({}, eventData);
24
+ var eventDataCopy = objectAssign_1.objectAssign({}, eventData);
25
25
  if (eventData.properties)
26
- eventDataCopy.properties = object_assign_1.default({}, eventData.properties);
26
+ eventDataCopy.properties = objectAssign_1.objectAssign({}, eventData.properties);
27
27
  // integrationsManager does not throw errors (they are internally handled by each integration module)
28
28
  integrationsManager.handleEvent(eventDataCopy);
29
29
  }, 0);
@@ -37,7 +37,7 @@ function eventTrackerFactory(log, eventsCache, integrationsManager) {
37
37
  return {
38
38
  track: function (eventData, size) {
39
39
  var tracked = eventsCache.track(eventData, size);
40
- if (thenable_1.default(tracked)) {
40
+ if (thenable_1.thenable(tracked)) {
41
41
  return tracked.then(queueEventsCallback.bind(null, eventData));
42
42
  }
43
43
  else {
@@ -46,4 +46,4 @@ function eventTrackerFactory(log, eventsCache, integrationsManager) {
46
46
  }
47
47
  };
48
48
  }
49
- exports.default = eventTrackerFactory;
49
+ exports.eventTrackerFactory = eventTrackerFactory;
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var LRUCache_1 = tslib_1.__importDefault(require("../../utils/LRUCache"));
3
+ exports.ImpressionObserver = void 0;
4
+ var LRUCache_1 = require("../../utils/LRUCache");
5
5
  var ImpressionObserver = /** @class */ (function () {
6
6
  function ImpressionObserver(size, hasher) {
7
- this.cache = new LRUCache_1.default(size);
7
+ this.cache = new LRUCache_1.LRUCache(size);
8
8
  this.hasher = hasher;
9
9
  }
10
10
  ImpressionObserver.prototype.testAndSet = function (impression) {
@@ -15,4 +15,4 @@ var ImpressionObserver = /** @class */ (function () {
15
15
  };
16
16
  return ImpressionObserver;
17
17
  }());
18
- exports.default = ImpressionObserver;
18
+ exports.ImpressionObserver = ImpressionObserver;
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.impressionObserverCSFactory = exports.hashImpression32 = void 0;
4
- var tslib_1 = require("tslib");
5
- var ImpressionObserver_1 = tslib_1.__importDefault(require("./ImpressionObserver"));
4
+ var ImpressionObserver_1 = require("./ImpressionObserver");
6
5
  var murmur3_1 = require("../../utils/murmur3/murmur3");
7
6
  var buildKey_1 = require("./buildKey");
8
7
  function hashImpression32(impression) {
@@ -11,6 +10,6 @@ function hashImpression32(impression) {
11
10
  exports.hashImpression32 = hashImpression32;
12
11
  var LAST_SEEN_CACHE_SIZE = 500; // cache up to 500 impression hashes
13
12
  function impressionObserverCSFactory() {
14
- return new ImpressionObserver_1.default(LAST_SEEN_CACHE_SIZE, hashImpression32);
13
+ return new ImpressionObserver_1.ImpressionObserver(LAST_SEEN_CACHE_SIZE, hashImpression32);
15
14
  }
16
15
  exports.impressionObserverCSFactory = impressionObserverCSFactory;
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.impressionObserverSSFactory = exports.hashImpression128 = void 0;
4
- var tslib_1 = require("tslib");
5
- var ImpressionObserver_1 = tslib_1.__importDefault(require("./ImpressionObserver"));
4
+ var ImpressionObserver_1 = require("./ImpressionObserver");
6
5
  var murmur3_128_x86_1 = require("../../utils/murmur3/murmur3_128_x86");
7
6
  var buildKey_1 = require("./buildKey");
8
7
  function hashImpression128(impression) {
@@ -11,6 +10,6 @@ function hashImpression128(impression) {
11
10
  exports.hashImpression128 = hashImpression128;
12
11
  var LAST_SEEN_CACHE_SIZE = 500000; // cache up to 500k impression hashes
13
12
  function impressionObserverSSFactory() {
14
- return new ImpressionObserver_1.default(LAST_SEEN_CACHE_SIZE, hashImpression128);
13
+ return new ImpressionObserver_1.ImpressionObserver(LAST_SEEN_CACHE_SIZE, hashImpression128);
15
14
  }
16
15
  exports.impressionObserverSSFactory = impressionObserverSSFactory;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var tslib_1 = require("tslib");
4
- var object_assign_1 = tslib_1.__importDefault(require("object-assign"));
5
- var thenable_1 = tslib_1.__importDefault(require("../utils/promise/thenable"));
3
+ exports.impressionsTrackerFactory = void 0;
4
+ var objectAssign_1 = require("../utils/lang/objectAssign");
5
+ var thenable_1 = require("../utils/promise/thenable");
6
6
  var time_1 = require("../utils/time");
7
7
  var constants_1 = require("../logger/constants");
8
8
  /**
@@ -45,7 +45,7 @@ countsCache) {
45
45
  });
46
46
  var res = impressionsCache.track(impressionsToStore);
47
47
  // If we're on an async storage, handle error and log it.
48
- if (thenable_1.default(res)) {
48
+ if (thenable_1.thenable(res)) {
49
49
  res.then(function () {
50
50
  log.info(constants_1.IMPRESSIONS_TRACKER_SUCCESS, [impressionsCount]);
51
51
  }).catch(function (err) {
@@ -57,7 +57,7 @@ countsCache) {
57
57
  var _loop_1 = function (i) {
58
58
  var impressionData = {
59
59
  // copy of impression, to avoid unexpected behaviour if modified by integrations or impressionListener
60
- impression: object_assign_1.default({}, impressions[i]),
60
+ impression: objectAssign_1.objectAssign({}, impressions[i]),
61
61
  attributes: attributes,
62
62
  ip: ip,
63
63
  hostname: hostname,
@@ -84,4 +84,4 @@ countsCache) {
84
84
  }
85
85
  };
86
86
  }
87
- exports.default = impressionsTrackerFactory;
87
+ exports.impressionsTrackerFactory = impressionsTrackerFactory;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Backoff = void 0;
3
4
  var Backoff = /** @class */ (function () {
4
5
  /**
5
6
  * Schedule function calls with exponential backoff
@@ -40,4 +41,4 @@ var Backoff = /** @class */ (function () {
40
41
  Backoff.DEFAULT_MAX_MILLIS = 1800000; // 30 minutes
41
42
  return Backoff;
42
43
  }());
43
- exports.default = Backoff;
44
+ exports.Backoff = Backoff;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LRUCache = void 0;
3
4
  var maps_1 = require("../lang/maps");
4
5
  var LinkedList_1 = require("./LinkedList");
5
6
  var LRUCache = /** @class */ (function () {
@@ -39,4 +40,4 @@ var LRUCache = /** @class */ (function () {
39
40
  };
40
41
  return LRUCache;
41
42
  }());
42
- exports.default = LRUCache;
43
+ exports.LRUCache = LRUCache;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventEmitter = void 0;
3
4
  var NEW_LISTENER_EVENT = 'newListener';
4
5
  var REMOVE_LISTENER_EVENT = 'removeListener';
5
6
  function checkListener(listener) {
@@ -96,4 +97,4 @@ var EventEmitter = /** @class */ (function () {
96
97
  };
97
98
  return EventEmitter;
98
99
  }());
99
- exports.default = EventEmitter;
100
+ exports.EventEmitter = EventEmitter;
@@ -31,33 +31,31 @@
31
31
  // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
32
32
  // USE OR OTHER DEALINGS IN THE SOFTWARE.
33
33
  Object.defineProperty(exports, "__esModule", { value: true });
34
+ exports.EventEmitter = void 0;
34
35
  var R = typeof Reflect === 'object' ? Reflect : null;
35
36
  var ReflectApply = R && typeof R.apply === 'function'
36
37
  ? R.apply
37
38
  : function ReflectApply(target, receiver, args) {
38
39
  return Function.prototype.apply.call(target, receiver, args);
39
40
  };
40
- function EventEmitter() {
41
+ exports.EventEmitter = function EventEmitter() {
41
42
  EventEmitter.init.call(this);
42
- }
43
- exports.default = EventEmitter;
44
- // Backwards-compat with node 0.10.x
45
- EventEmitter.EventEmitter = EventEmitter;
46
- EventEmitter.prototype._events = undefined;
47
- EventEmitter.prototype._eventsCount = 0;
43
+ };
44
+ exports.EventEmitter.prototype._events = undefined;
45
+ exports.EventEmitter.prototype._eventsCount = 0;
48
46
  function checkListener(listener) {
49
47
  if (typeof listener !== 'function') {
50
48
  throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener);
51
49
  }
52
50
  }
53
- EventEmitter.init = function () {
51
+ exports.EventEmitter.init = function () {
54
52
  if (this._events === undefined ||
55
53
  this._events === Object.getPrototypeOf(this)._events) {
56
54
  this._events = Object.create(null);
57
55
  this._eventsCount = 0;
58
56
  }
59
57
  };
60
- EventEmitter.prototype.emit = function emit(type) {
58
+ exports.EventEmitter.prototype.emit = function emit(type) {
61
59
  var args = [];
62
60
  for (var i = 1; i < arguments.length; i++)
63
61
  args.push(arguments[i]);
@@ -137,10 +135,10 @@ function _addListener(target, type, listener, prepend) {
137
135
  }
138
136
  return target;
139
137
  }
140
- EventEmitter.prototype.addListener = function addListener(type, listener) {
138
+ exports.EventEmitter.prototype.addListener = function addListener(type, listener) {
141
139
  return _addListener(this, type, listener, false);
142
140
  };
143
- EventEmitter.prototype.on = EventEmitter.prototype.addListener;
141
+ exports.EventEmitter.prototype.on = exports.EventEmitter.prototype.addListener;
144
142
  function onceWrapper() {
145
143
  if (!this.fired) {
146
144
  this.target.removeListener(this.type, this.wrapFn);
@@ -157,13 +155,13 @@ function _onceWrap(target, type, listener) {
157
155
  state.wrapFn = wrapped;
158
156
  return wrapped;
159
157
  }
160
- EventEmitter.prototype.once = function once(type, listener) {
158
+ exports.EventEmitter.prototype.once = function once(type, listener) {
161
159
  checkListener(listener);
162
160
  this.on(type, _onceWrap(this, type, listener));
163
161
  return this;
164
162
  };
165
163
  // Emits a 'removeListener' event if and only if the listener was removed.
166
- EventEmitter.prototype.removeListener =
164
+ exports.EventEmitter.prototype.removeListener =
167
165
  function removeListener(type, listener) {
168
166
  var list, events, position, i, originalListener;
169
167
  checkListener(listener);
@@ -205,8 +203,8 @@ EventEmitter.prototype.removeListener =
205
203
  }
206
204
  return this;
207
205
  };
208
- EventEmitter.prototype.off = EventEmitter.prototype.removeListener;
209
- EventEmitter.prototype.removeAllListeners =
206
+ exports.EventEmitter.prototype.off = exports.EventEmitter.prototype.removeListener;
207
+ exports.EventEmitter.prototype.removeAllListeners =
210
208
  function removeAllListeners(type) {
211
209
  var listeners, events, i;
212
210
  events = this._events;
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateTrafficTypeExistance = void 0;
4
- var tslib_1 = require("tslib");
5
- var thenable_1 = tslib_1.__importDefault(require("../promise/thenable"));
4
+ var thenable_1 = require("../promise/thenable");
6
5
  var constants_1 = require("../constants");
7
6
  var constants_2 = require("../../logger/constants");
8
7
  function logTTExistanceWarning(log, maybeTT, method) {
@@ -16,7 +15,7 @@ function validateTrafficTypeExistance(log, readinessManager, splitsCache, mode,
16
15
  if (!readinessManager.isReady() || mode === constants_1.LOCALHOST_MODE)
17
16
  return true;
18
17
  var res = splitsCache.trafficTypeExists(maybeTT); // never rejects or throws error
19
- if (thenable_1.default(res)) {
18
+ if (thenable_1.thenable(res)) {
20
19
  return res.then(function (isValid) {
21
20
  if (!isValid)
22
21
  logTTExistanceWarning(log, maybeTT, method);
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.binarySearch = void 0;
3
4
  /**
4
5
  * Searches the index of the specified `value` inside an ordered array of `items` using the binary search algorithm.
5
6
  *
@@ -38,4 +39,4 @@ function binarySearch(items, value) {
38
39
  }
39
40
  return middle;
40
41
  }
41
- exports.default = binarySearch;
42
+ exports.binarySearch = binarySearch;
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ /*
3
+ Adaptation of "object-assign" library (https://www.npmjs.com/package/object-assign)
4
+ exported as an ES module instead of CommonJS, to avoid extra configuration steps when using
5
+ the ESM build of the SDK with tools that doesn't support CommonJS by default (e.g. Rollup).
6
+
7
+ object-assign
8
+ (c) Sindre Sorhus
9
+ @license MIT
10
+ */
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.objectAssign = void 0;
13
+ /* eslint-disable */
14
+ // @ts-nocheck
15
+ var getOwnPropertySymbols = Object.getOwnPropertySymbols;
16
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
17
+ var propIsEnumerable = Object.prototype.propertyIsEnumerable;
18
+ function toObject(val) {
19
+ if (val === null || val === undefined) {
20
+ throw new TypeError('Object.assign cannot be called with null or undefined');
21
+ }
22
+ return Object(val);
23
+ }
24
+ function shouldUseNative() {
25
+ try {
26
+ if (!Object.assign) {
27
+ return false;
28
+ }
29
+ // Detect buggy property enumeration order in older V8 versions.
30
+ // https://bugs.chromium.org/p/v8/issues/detail?id=4118
31
+ var test1 = new String('abc');
32
+ test1[5] = 'de';
33
+ if (Object.getOwnPropertyNames(test1)[0] === '5') {
34
+ return false;
35
+ }
36
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3056
37
+ var test2 = {};
38
+ for (var i = 0; i < 10; i++) {
39
+ test2['_' + String.fromCharCode(i)] = i;
40
+ }
41
+ var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
42
+ return test2[n];
43
+ });
44
+ if (order2.join('') !== '0123456789') {
45
+ return false;
46
+ }
47
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3056
48
+ var test3 = {};
49
+ 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
50
+ test3[letter] = letter;
51
+ });
52
+ if (Object.keys(Object.assign({}, test3)).join('') !==
53
+ 'abcdefghijklmnopqrst') {
54
+ return false;
55
+ }
56
+ return true;
57
+ }
58
+ catch (err) {
59
+ // We don't expect any of the above to throw, but better to be safe.
60
+ return false;
61
+ }
62
+ }
63
+ exports.objectAssign = shouldUseNative() ? Object.assign : function (target, source) {
64
+ var from;
65
+ var to = toObject(target);
66
+ var symbols;
67
+ for (var s = 1; s < arguments.length; s++) {
68
+ from = Object(arguments[s]);
69
+ // eslint-disable-next-line no-restricted-syntax
70
+ for (var key in from) {
71
+ if (hasOwnProperty.call(from, key)) {
72
+ to[key] = from[key];
73
+ }
74
+ }
75
+ if (getOwnPropertySymbols) {
76
+ symbols = getOwnPropertySymbols(from);
77
+ for (var i = 0; i < symbols.length; i++) {
78
+ if (propIsEnumerable.call(from, symbols[i])) {
79
+ to[symbols[i]] = from[symbols[i]];
80
+ }
81
+ }
82
+ }
83
+ }
84
+ return to;
85
+ };
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.thenable = void 0;
3
4
  // returns true if the given value is a thenable object
4
- exports.default = (function (o) { return o !== undefined && o !== null && typeof o.then === 'function'; });
5
+ function thenable(o) {
6
+ return o !== undefined && o !== null && typeof o.then === 'function';
7
+ }
8
+ exports.thenable = thenable;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.timeout = void 0;
3
4
  function timeout(ms, promise) {
4
5
  if (ms < 1)
5
6
  return promise;
@@ -16,4 +17,4 @@ function timeout(ms, promise) {
16
17
  });
17
18
  });
18
19
  }
19
- exports.default = timeout;
20
+ exports.timeout = timeout;