@splitsoftware/splitio-commons 1.0.1-rc.4 → 1.1.1-rc.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 (565) hide show
  1. package/CHANGES.txt +13 -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/clientAttributesDecoration.js +108 -0
  48. package/cjs/sdkClient/clientCS.js +12 -10
  49. package/cjs/sdkClient/clientInputValidation.js +5 -5
  50. package/cjs/sdkClient/sdkClient.js +5 -6
  51. package/cjs/sdkClient/sdkClientMethodCS.js +4 -5
  52. package/cjs/sdkClient/sdkClientMethodCSWithTT.js +4 -5
  53. package/cjs/sdkFactory/index.js +9 -10
  54. package/cjs/sdkManager/index.js +6 -7
  55. package/cjs/services/splitApi.js +2 -3
  56. package/cjs/services/splitHttpClient.js +3 -4
  57. package/cjs/storages/AbstractSegmentsCacheSync.js +2 -1
  58. package/cjs/storages/AbstractSplitsCacheAsync.js +2 -1
  59. package/cjs/storages/AbstractSplitsCacheSync.js +2 -2
  60. package/cjs/storages/KeyBuilder.js +2 -2
  61. package/cjs/storages/KeyBuilderCS.js +4 -3
  62. package/cjs/storages/KeyBuilderSS.js +4 -3
  63. package/cjs/storages/findLatencyIndex.js +2 -1
  64. package/cjs/storages/inLocalStorage/MySegmentsCacheInLocal.js +4 -3
  65. package/cjs/storages/inLocalStorage/SplitsCacheInLocal.js +4 -3
  66. package/cjs/storages/inLocalStorage/index.js +20 -21
  67. package/cjs/storages/inMemory/AttributesCacheInMemory.js +70 -0
  68. package/cjs/storages/inMemory/CountsCacheInMemory.js +2 -1
  69. package/cjs/storages/inMemory/EventsCacheInMemory.js +2 -1
  70. package/cjs/storages/inMemory/ImpressionCountsCacheInMemory.js +2 -1
  71. package/cjs/storages/inMemory/ImpressionsCacheInMemory.js +2 -1
  72. package/cjs/storages/inMemory/InMemoryStorage.js +10 -11
  73. package/cjs/storages/inMemory/InMemoryStorageCS.js +12 -13
  74. package/cjs/storages/inMemory/LatenciesCacheInMemory.js +4 -4
  75. package/cjs/storages/inMemory/MySegmentsCacheInMemory.js +4 -3
  76. package/cjs/storages/inMemory/SegmentsCacheInMemory.js +4 -3
  77. package/cjs/storages/inMemory/SplitsCacheInMemory.js +4 -3
  78. package/cjs/storages/inRedis/CountsCacheInRedis.js +2 -1
  79. package/cjs/storages/inRedis/EventsCacheInRedis.js +2 -1
  80. package/cjs/storages/inRedis/ImpressionsCacheInRedis.js +2 -1
  81. package/cjs/storages/inRedis/LatenciesCacheInRedis.js +4 -4
  82. package/cjs/storages/inRedis/RedisAdapter.js +6 -5
  83. package/cjs/storages/inRedis/SegmentsCacheInRedis.js +2 -1
  84. package/cjs/storages/inRedis/SplitsCacheInRedis.js +4 -3
  85. package/cjs/storages/inRedis/index.js +16 -17
  86. package/cjs/storages/pluggable/SplitsCachePluggable.js +2 -2
  87. package/cjs/storages/pluggable/index.js +8 -8
  88. package/cjs/sync/offline/splitsParser/parseCondition.js +2 -1
  89. package/cjs/sync/offline/splitsParser/splitsParserFromFile.js +3 -3
  90. package/cjs/sync/offline/splitsParser/splitsParserFromSettings.js +2 -3
  91. package/cjs/sync/offline/syncManagerOffline.js +3 -4
  92. package/cjs/sync/offline/syncTasks/fromObjectSyncTask.js +4 -5
  93. package/cjs/sync/polling/fetchers/mySegmentsFetcher.js +2 -1
  94. package/cjs/sync/polling/fetchers/segmentChangesFetcher.js +2 -1
  95. package/cjs/sync/polling/fetchers/splitChangesFetcher.js +2 -1
  96. package/cjs/sync/polling/pollingManagerCS.js +6 -6
  97. package/cjs/sync/polling/pollingManagerSS.js +8 -8
  98. package/cjs/sync/polling/syncTasks/mySegmentsSyncTask.js +5 -5
  99. package/cjs/sync/polling/syncTasks/segmentsSyncTask.js +5 -5
  100. package/cjs/sync/polling/syncTasks/splitsSyncTask.js +5 -5
  101. package/cjs/sync/polling/updaters/mySegmentsUpdater.js +2 -3
  102. package/cjs/sync/polling/updaters/segmentChangesUpdater.js +2 -3
  103. package/cjs/sync/polling/updaters/splitChangesUpdater.js +8 -6
  104. package/cjs/sync/streaming/AuthClient/index.js +2 -3
  105. package/cjs/sync/streaming/SSEClient/index.js +2 -1
  106. package/cjs/sync/streaming/SSEHandler/NotificationKeeper.js +2 -1
  107. package/cjs/sync/streaming/SSEHandler/index.js +4 -4
  108. package/cjs/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.js +4 -4
  109. package/cjs/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.js +4 -4
  110. package/cjs/sync/streaming/UpdateWorkers/SplitsUpdateWorker.js +4 -4
  111. package/cjs/sync/streaming/pushManager.js +18 -17
  112. package/cjs/sync/submitters/submitterSyncTask.js +2 -3
  113. package/cjs/sync/syncTask.js +2 -1
  114. package/cjs/trackers/eventTracker.js +7 -7
  115. package/cjs/trackers/impressionObserver/ImpressionObserver.js +4 -4
  116. package/cjs/trackers/impressionObserver/impressionObserverCS.js +2 -3
  117. package/cjs/trackers/impressionObserver/impressionObserverSS.js +2 -3
  118. package/cjs/trackers/impressionsTracker.js +6 -6
  119. package/cjs/utils/Backoff.js +2 -1
  120. package/cjs/utils/LRUCache/index.js +2 -1
  121. package/cjs/utils/MinEventEmitter.js +2 -1
  122. package/cjs/utils/MinEvents.js +13 -15
  123. package/cjs/utils/inputValidation/attribute.js +20 -0
  124. package/cjs/utils/inputValidation/attributes.js +13 -1
  125. package/cjs/utils/inputValidation/trafficTypeExistance.js +2 -3
  126. package/cjs/utils/lang/binarySearch.js +2 -1
  127. package/cjs/utils/lang/objectAssign.js +85 -0
  128. package/cjs/utils/promise/thenable.js +5 -1
  129. package/cjs/utils/promise/timeout.js +2 -1
  130. package/cjs/utils/promise/wrapper.js +2 -1
  131. package/cjs/utils/settingsValidation/impressionsMode.js +2 -1
  132. package/cjs/utils/settingsValidation/index.js +5 -6
  133. package/cjs/utils/settingsValidation/mode.js +2 -1
  134. package/cjs/utils/timeTracker/index.js +7 -8
  135. package/cjs/utils/timeTracker/now/browser.js +2 -2
  136. package/cjs/utils/timeTracker/now/node.js +2 -1
  137. package/cjs/utils/timeTracker/timer.js +3 -2
  138. package/esm/evaluator/Engine.js +3 -3
  139. package/esm/evaluator/combiners/and.js +2 -2
  140. package/esm/evaluator/combiners/ifelseif.js +2 -2
  141. package/esm/evaluator/condition/index.js +2 -2
  142. package/esm/evaluator/index.js +5 -6
  143. package/esm/evaluator/matchers/all.js +1 -1
  144. package/esm/evaluator/matchers/between.js +1 -1
  145. package/esm/evaluator/matchers/boolean.js +1 -1
  146. package/esm/evaluator/matchers/cont_all.js +1 -1
  147. package/esm/evaluator/matchers/cont_any.js +1 -1
  148. package/esm/evaluator/matchers/cont_str.js +1 -1
  149. package/esm/evaluator/matchers/dependency.js +2 -2
  150. package/esm/evaluator/matchers/eq.js +1 -1
  151. package/esm/evaluator/matchers/eq_set.js +1 -1
  152. package/esm/evaluator/matchers/ew.js +1 -1
  153. package/esm/evaluator/matchers/gte.js +1 -1
  154. package/esm/evaluator/matchers/index.js +35 -35
  155. package/esm/evaluator/matchers/lte.js +1 -1
  156. package/esm/evaluator/matchers/part_of.js +1 -1
  157. package/esm/evaluator/matchers/segment.js +2 -2
  158. package/esm/evaluator/matchers/string.js +1 -1
  159. package/esm/evaluator/matchers/sw.js +1 -1
  160. package/esm/evaluator/matchers/whitelist.js +1 -1
  161. package/esm/evaluator/matchersTransform/index.js +5 -5
  162. package/esm/evaluator/matchersTransform/segment.js +1 -1
  163. package/esm/evaluator/matchersTransform/set.js +1 -1
  164. package/esm/evaluator/matchersTransform/unaryNumeric.js +1 -1
  165. package/esm/evaluator/matchersTransform/whitelist.js +1 -1
  166. package/esm/evaluator/parser/index.js +11 -11
  167. package/esm/evaluator/treatments/index.js +1 -1
  168. package/esm/evaluator/value/index.js +3 -3
  169. package/esm/evaluator/value/sanitize.js +1 -1
  170. package/esm/integrations/browser.js +2 -2
  171. package/esm/integrations/ga/GaToSplit.js +1 -1
  172. package/esm/integrations/pluggable.js +1 -1
  173. package/esm/listeners/browser.js +2 -2
  174. package/esm/listeners/node.js +2 -2
  175. package/esm/logger/index.js +1 -1
  176. package/esm/logger/messages/info.js +1 -1
  177. package/esm/logger/messages/warn.js +2 -2
  178. package/esm/readiness/readinessManager.js +1 -1
  179. package/esm/readiness/sdkReadinessManager.js +3 -3
  180. package/esm/sdkClient/client.js +2 -2
  181. package/esm/sdkClient/clientAttributesDecoration.js +104 -0
  182. package/esm/sdkClient/clientCS.js +10 -8
  183. package/esm/sdkClient/clientInputValidation.js +2 -2
  184. package/esm/sdkClient/sdkClient.js +3 -3
  185. package/esm/sdkClient/sdkClientMethodCS.js +4 -4
  186. package/esm/sdkClient/sdkClientMethodCSWithTT.js +4 -4
  187. package/esm/sdkFactory/index.js +6 -6
  188. package/esm/sdkManager/index.js +2 -2
  189. package/esm/services/splitApi.js +1 -1
  190. package/esm/services/splitHttpClient.js +1 -1
  191. package/esm/storages/AbstractSegmentsCacheSync.js +1 -1
  192. package/esm/storages/AbstractSplitsCacheAsync.js +1 -1
  193. package/esm/storages/AbstractSplitsCacheSync.js +1 -1
  194. package/esm/storages/KeyBuilder.js +1 -1
  195. package/esm/storages/KeyBuilderCS.js +2 -2
  196. package/esm/storages/KeyBuilderSS.js +2 -2
  197. package/esm/storages/findLatencyIndex.js +1 -1
  198. package/esm/storages/inLocalStorage/MySegmentsCacheInLocal.js +2 -2
  199. package/esm/storages/inLocalStorage/SplitsCacheInLocal.js +2 -2
  200. package/esm/storages/inLocalStorage/index.js +8 -8
  201. package/esm/storages/inMemory/AttributesCacheInMemory.js +67 -0
  202. package/esm/storages/inMemory/CountsCacheInMemory.js +1 -1
  203. package/esm/storages/inMemory/EventsCacheInMemory.js +1 -1
  204. package/esm/storages/inMemory/ImpressionCountsCacheInMemory.js +1 -1
  205. package/esm/storages/inMemory/ImpressionsCacheInMemory.js +1 -1
  206. package/esm/storages/inMemory/InMemoryStorage.js +5 -5
  207. package/esm/storages/inMemory/InMemoryStorageCS.js +5 -5
  208. package/esm/storages/inMemory/LatenciesCacheInMemory.js +2 -2
  209. package/esm/storages/inMemory/MySegmentsCacheInMemory.js +2 -2
  210. package/esm/storages/inMemory/SegmentsCacheInMemory.js +2 -2
  211. package/esm/storages/inMemory/SplitsCacheInMemory.js +2 -2
  212. package/esm/storages/inRedis/CountsCacheInRedis.js +1 -1
  213. package/esm/storages/inRedis/EventsCacheInRedis.js +1 -1
  214. package/esm/storages/inRedis/ImpressionsCacheInRedis.js +1 -1
  215. package/esm/storages/inRedis/LatenciesCacheInRedis.js +2 -2
  216. package/esm/storages/inRedis/RedisAdapter.js +3 -3
  217. package/esm/storages/inRedis/SegmentsCacheInRedis.js +1 -1
  218. package/esm/storages/inRedis/SplitsCacheInRedis.js +2 -2
  219. package/esm/storages/inRedis/index.js +8 -8
  220. package/esm/storages/pluggable/SplitsCachePluggable.js +1 -1
  221. package/esm/storages/pluggable/index.js +4 -4
  222. package/esm/sync/offline/splitsParser/parseCondition.js +1 -1
  223. package/esm/sync/offline/splitsParser/splitsParserFromFile.js +1 -1
  224. package/esm/sync/offline/splitsParser/splitsParserFromSettings.js +1 -1
  225. package/esm/sync/offline/syncManagerOffline.js +2 -2
  226. package/esm/sync/offline/syncTasks/fromObjectSyncTask.js +2 -2
  227. package/esm/sync/polling/fetchers/mySegmentsFetcher.js +1 -1
  228. package/esm/sync/polling/fetchers/segmentChangesFetcher.js +1 -1
  229. package/esm/sync/polling/fetchers/splitChangesFetcher.js +1 -1
  230. package/esm/sync/polling/pollingManagerCS.js +3 -3
  231. package/esm/sync/polling/pollingManagerSS.js +4 -4
  232. package/esm/sync/polling/syncTasks/mySegmentsSyncTask.js +3 -3
  233. package/esm/sync/polling/syncTasks/segmentsSyncTask.js +3 -3
  234. package/esm/sync/polling/syncTasks/splitsSyncTask.js +3 -3
  235. package/esm/sync/polling/updaters/mySegmentsUpdater.js +1 -1
  236. package/esm/sync/polling/updaters/segmentChangesUpdater.js +1 -1
  237. package/esm/sync/polling/updaters/splitChangesUpdater.js +7 -4
  238. package/esm/sync/streaming/AuthClient/index.js +1 -1
  239. package/esm/sync/streaming/SSEClient/index.js +1 -1
  240. package/esm/sync/streaming/SSEHandler/NotificationKeeper.js +1 -1
  241. package/esm/sync/streaming/SSEHandler/index.js +2 -2
  242. package/esm/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.js +2 -2
  243. package/esm/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.js +2 -2
  244. package/esm/sync/streaming/UpdateWorkers/SplitsUpdateWorker.js +2 -2
  245. package/esm/sync/streaming/pushManager.js +10 -9
  246. package/esm/sync/submitters/submitterSyncTask.js +1 -1
  247. package/esm/sync/syncTask.js +1 -1
  248. package/esm/trackers/eventTracker.js +3 -3
  249. package/esm/trackers/impressionObserver/ImpressionObserver.js +2 -2
  250. package/esm/trackers/impressionObserver/impressionObserverCS.js +1 -1
  251. package/esm/trackers/impressionObserver/impressionObserverSS.js +1 -1
  252. package/esm/trackers/impressionsTracker.js +3 -3
  253. package/esm/utils/Backoff.js +1 -1
  254. package/esm/utils/LRUCache/index.js +1 -1
  255. package/esm/utils/MinEventEmitter.js +1 -1
  256. package/esm/utils/MinEvents.js +2 -5
  257. package/esm/utils/inputValidation/attribute.js +16 -0
  258. package/esm/utils/inputValidation/attributes.js +11 -0
  259. package/esm/utils/inputValidation/trafficTypeExistance.js +1 -1
  260. package/esm/utils/lang/binarySearch.js +1 -1
  261. package/esm/utils/lang/objectAssign.js +82 -0
  262. package/esm/utils/promise/thenable.js +3 -1
  263. package/esm/utils/promise/timeout.js +1 -1
  264. package/esm/utils/promise/wrapper.js +1 -1
  265. package/esm/utils/settingsValidation/impressionsMode.js +1 -1
  266. package/esm/utils/settingsValidation/index.js +3 -3
  267. package/esm/utils/settingsValidation/mode.js +1 -1
  268. package/esm/utils/timeTracker/index.js +4 -5
  269. package/esm/utils/timeTracker/now/browser.js +1 -2
  270. package/esm/utils/timeTracker/now/node.js +1 -1
  271. package/esm/utils/timeTracker/timer.js +1 -1
  272. package/package.json +2 -3
  273. package/src/evaluator/Engine.ts +3 -3
  274. package/src/evaluator/combiners/and.ts +2 -2
  275. package/src/evaluator/combiners/ifelseif.ts +2 -2
  276. package/src/evaluator/condition/index.ts +2 -2
  277. package/src/evaluator/index.ts +5 -6
  278. package/src/evaluator/matchers/all.ts +1 -1
  279. package/src/evaluator/matchers/between.ts +1 -1
  280. package/src/evaluator/matchers/boolean.ts +1 -1
  281. package/src/evaluator/matchers/cont_all.ts +1 -1
  282. package/src/evaluator/matchers/cont_any.ts +1 -1
  283. package/src/evaluator/matchers/cont_str.ts +1 -1
  284. package/src/evaluator/matchers/dependency.ts +2 -2
  285. package/src/evaluator/matchers/eq.ts +1 -1
  286. package/src/evaluator/matchers/eq_set.ts +1 -1
  287. package/src/evaluator/matchers/ew.ts +1 -1
  288. package/src/evaluator/matchers/gte.ts +1 -1
  289. package/src/evaluator/matchers/index.ts +35 -35
  290. package/src/evaluator/matchers/lte.ts +1 -1
  291. package/src/evaluator/matchers/part_of.ts +1 -1
  292. package/src/evaluator/matchers/segment.ts +2 -2
  293. package/src/evaluator/matchers/string.ts +1 -1
  294. package/src/evaluator/matchers/sw.ts +1 -1
  295. package/src/evaluator/matchers/whitelist.ts +1 -1
  296. package/src/evaluator/matchersTransform/index.ts +5 -5
  297. package/src/evaluator/matchersTransform/segment.ts +1 -1
  298. package/src/evaluator/matchersTransform/set.ts +1 -1
  299. package/src/evaluator/matchersTransform/unaryNumeric.ts +1 -1
  300. package/src/evaluator/matchersTransform/whitelist.ts +1 -1
  301. package/src/evaluator/parser/index.ts +12 -12
  302. package/src/evaluator/treatments/index.ts +1 -1
  303. package/src/evaluator/value/index.ts +3 -3
  304. package/src/evaluator/value/sanitize.ts +1 -1
  305. package/src/integrations/browser.ts +2 -2
  306. package/src/integrations/ga/GaToSplit.ts +1 -1
  307. package/src/integrations/pluggable.ts +1 -1
  308. package/src/listeners/browser.ts +2 -2
  309. package/src/listeners/node.ts +2 -2
  310. package/src/logger/index.ts +1 -1
  311. package/src/logger/messages/info.ts +1 -1
  312. package/src/logger/messages/warn.ts +2 -2
  313. package/src/readiness/readinessManager.ts +2 -2
  314. package/src/readiness/sdkReadinessManager.ts +3 -3
  315. package/src/sdkClient/client.ts +2 -2
  316. package/src/sdkClient/clientAttributesDecoration.ts +122 -0
  317. package/src/sdkClient/clientCS.ts +13 -8
  318. package/src/sdkClient/clientInputValidation.ts +2 -2
  319. package/src/sdkClient/sdkClient.ts +3 -3
  320. package/src/sdkClient/sdkClientMethodCS.ts +4 -2
  321. package/src/sdkClient/sdkClientMethodCSWithTT.ts +4 -2
  322. package/src/sdkFactory/index.ts +6 -6
  323. package/src/sdkManager/index.ts +2 -2
  324. package/src/services/splitApi.ts +1 -1
  325. package/src/services/splitHttpClient.ts +1 -1
  326. package/src/storages/AbstractSegmentsCacheSync.ts +1 -1
  327. package/src/storages/AbstractSplitsCacheAsync.ts +1 -1
  328. package/src/storages/AbstractSplitsCacheSync.ts +1 -1
  329. package/src/storages/KeyBuilder.ts +1 -1
  330. package/src/storages/KeyBuilderCS.ts +2 -2
  331. package/src/storages/KeyBuilderSS.ts +2 -2
  332. package/src/storages/findLatencyIndex.ts +1 -1
  333. package/src/storages/inLocalStorage/MySegmentsCacheInLocal.ts +3 -3
  334. package/src/storages/inLocalStorage/SplitsCacheInLocal.ts +3 -3
  335. package/src/storages/inLocalStorage/index.ts +8 -8
  336. package/src/storages/inMemory/AttributesCacheInMemory.ts +73 -0
  337. package/src/storages/inMemory/CountsCacheInMemory.ts +1 -1
  338. package/src/storages/inMemory/EventsCacheInMemory.ts +1 -1
  339. package/src/storages/inMemory/ImpressionCountsCacheInMemory.ts +1 -1
  340. package/src/storages/inMemory/ImpressionsCacheInMemory.ts +1 -1
  341. package/src/storages/inMemory/InMemoryStorage.ts +5 -5
  342. package/src/storages/inMemory/InMemoryStorageCS.ts +5 -5
  343. package/src/storages/inMemory/LatenciesCacheInMemory.ts +2 -2
  344. package/src/storages/inMemory/MySegmentsCacheInMemory.ts +2 -2
  345. package/src/storages/inMemory/SegmentsCacheInMemory.ts +2 -2
  346. package/src/storages/inMemory/SplitsCacheInMemory.ts +2 -2
  347. package/src/storages/inRedis/CountsCacheInRedis.ts +2 -2
  348. package/src/storages/inRedis/EventsCacheInRedis.ts +1 -1
  349. package/src/storages/inRedis/ImpressionsCacheInRedis.ts +1 -1
  350. package/src/storages/inRedis/LatenciesCacheInRedis.ts +3 -3
  351. package/src/storages/inRedis/RedisAdapter.ts +3 -3
  352. package/src/storages/inRedis/SegmentsCacheInRedis.ts +2 -2
  353. package/src/storages/inRedis/SplitsCacheInRedis.ts +3 -3
  354. package/src/storages/inRedis/index.ts +8 -8
  355. package/src/storages/pluggable/SegmentsCachePluggable.ts +1 -1
  356. package/src/storages/pluggable/SplitsCachePluggable.ts +2 -2
  357. package/src/storages/pluggable/index.ts +4 -4
  358. package/src/storages/types.ts +2 -2
  359. package/src/sync/offline/splitsParser/parseCondition.ts +1 -1
  360. package/src/sync/offline/splitsParser/splitsParserFromFile.ts +1 -1
  361. package/src/sync/offline/splitsParser/splitsParserFromSettings.ts +1 -1
  362. package/src/sync/offline/syncManagerOffline.ts +2 -2
  363. package/src/sync/offline/syncTasks/fromObjectSyncTask.ts +2 -2
  364. package/src/sync/polling/fetchers/mySegmentsFetcher.ts +1 -1
  365. package/src/sync/polling/fetchers/segmentChangesFetcher.ts +1 -1
  366. package/src/sync/polling/fetchers/splitChangesFetcher.ts +1 -1
  367. package/src/sync/polling/pollingManagerCS.ts +3 -3
  368. package/src/sync/polling/pollingManagerSS.ts +4 -4
  369. package/src/sync/polling/syncTasks/mySegmentsSyncTask.ts +3 -3
  370. package/src/sync/polling/syncTasks/segmentsSyncTask.ts +3 -3
  371. package/src/sync/polling/syncTasks/splitsSyncTask.ts +3 -3
  372. package/src/sync/polling/updaters/mySegmentsUpdater.ts +1 -1
  373. package/src/sync/polling/updaters/segmentChangesUpdater.ts +1 -1
  374. package/src/sync/polling/updaters/splitChangesUpdater.ts +6 -3
  375. package/src/sync/streaming/AuthClient/index.ts +1 -1
  376. package/src/sync/streaming/SSEClient/index.ts +1 -1
  377. package/src/sync/streaming/SSEHandler/NotificationKeeper.ts +1 -1
  378. package/src/sync/streaming/SSEHandler/index.ts +2 -2
  379. package/src/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.ts +2 -2
  380. package/src/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.ts +2 -2
  381. package/src/sync/streaming/UpdateWorkers/SplitsUpdateWorker.ts +2 -2
  382. package/src/sync/streaming/UpdateWorkers/types.ts +1 -1
  383. package/src/sync/streaming/pushManager.ts +10 -9
  384. package/src/sync/submitters/submitterSyncTask.ts +1 -1
  385. package/src/sync/syncTask.ts +1 -1
  386. package/src/trackers/eventTracker.ts +3 -3
  387. package/src/trackers/impressionObserver/ImpressionObserver.ts +2 -2
  388. package/src/trackers/impressionObserver/impressionObserverCS.ts +1 -1
  389. package/src/trackers/impressionObserver/impressionObserverSS.ts +1 -1
  390. package/src/trackers/impressionsTracker.ts +3 -3
  391. package/src/types.ts +39 -0
  392. package/src/utils/Backoff.ts +1 -1
  393. package/src/utils/LRUCache/index.ts +1 -1
  394. package/src/utils/MinEventEmitter.ts +1 -1
  395. package/src/utils/MinEvents.ts +2 -7
  396. package/src/utils/inputValidation/attribute.ts +21 -0
  397. package/src/utils/inputValidation/attributes.ts +14 -0
  398. package/src/utils/inputValidation/trafficTypeExistance.ts +1 -1
  399. package/src/utils/lang/binarySearch.ts +1 -1
  400. package/src/utils/lang/objectAssign.ts +104 -0
  401. package/src/utils/promise/thenable.ts +3 -1
  402. package/src/utils/promise/timeout.ts +1 -1
  403. package/src/utils/promise/wrapper.ts +1 -1
  404. package/src/utils/settingsValidation/impressionsMode.ts +1 -1
  405. package/src/utils/settingsValidation/index.ts +3 -3
  406. package/src/utils/settingsValidation/mode.ts +1 -1
  407. package/src/utils/timeTracker/index.ts +4 -6
  408. package/src/utils/timeTracker/now/browser.ts +1 -3
  409. package/src/utils/timeTracker/now/node.ts +1 -1
  410. package/src/utils/timeTracker/timer.ts +1 -1
  411. package/types/evaluator/Engine.d.ts +1 -1
  412. package/types/evaluator/combiners/and.d.ts +1 -1
  413. package/types/evaluator/combiners/ifelseif.d.ts +1 -1
  414. package/types/evaluator/condition/index.d.ts +1 -1
  415. package/types/evaluator/matchers/all.d.ts +1 -1
  416. package/types/evaluator/matchers/between.d.ts +1 -1
  417. package/types/evaluator/matchers/boolean.d.ts +1 -1
  418. package/types/evaluator/matchers/cont_all.d.ts +1 -1
  419. package/types/evaluator/matchers/cont_any.d.ts +1 -1
  420. package/types/evaluator/matchers/cont_str.d.ts +1 -1
  421. package/types/evaluator/matchers/dependency.d.ts +1 -1
  422. package/types/evaluator/matchers/eq.d.ts +1 -1
  423. package/types/evaluator/matchers/eq_set.d.ts +1 -1
  424. package/types/evaluator/matchers/ew.d.ts +1 -1
  425. package/types/evaluator/matchers/gte.d.ts +1 -1
  426. package/types/evaluator/matchers/index.d.ts +1 -1
  427. package/types/evaluator/matchers/lte.d.ts +1 -1
  428. package/types/evaluator/matchers/part_of.d.ts +1 -1
  429. package/types/evaluator/matchers/segment.d.ts +1 -1
  430. package/types/evaluator/matchers/string.d.ts +1 -1
  431. package/types/evaluator/matchers/sw.d.ts +1 -1
  432. package/types/evaluator/matchers/whitelist.d.ts +1 -1
  433. package/types/evaluator/matchersTransform/index.d.ts +1 -1
  434. package/types/evaluator/matchersTransform/segment.d.ts +1 -1
  435. package/types/evaluator/matchersTransform/set.d.ts +1 -1
  436. package/types/evaluator/matchersTransform/unaryNumeric.d.ts +1 -1
  437. package/types/evaluator/matchersTransform/whitelist.d.ts +1 -1
  438. package/types/evaluator/parser/index.d.ts +1 -1
  439. package/types/evaluator/treatments/index.d.ts +1 -1
  440. package/types/evaluator/value/index.d.ts +1 -1
  441. package/types/evaluator/value/sanitize.d.ts +1 -1
  442. package/types/integrations/browser.d.ts +1 -1
  443. package/types/integrations/pluggable.d.ts +1 -1
  444. package/types/listeners/browser.d.ts +1 -1
  445. package/types/listeners/node.d.ts +1 -1
  446. package/types/logger/browser/{debugLogger.d.ts → DebugLogger.d.ts} +0 -0
  447. package/types/logger/browser/{errorLogger.d.ts → ErrorLogger.d.ts} +0 -0
  448. package/types/logger/browser/{infoLogger.d.ts → InfoLogger.d.ts} +0 -0
  449. package/types/logger/browser/{warnLogger.d.ts → WarnLogger.d.ts} +0 -0
  450. package/types/readiness/sdkReadinessManager.d.ts +1 -1
  451. package/types/sdkClient/client.d.ts +1 -1
  452. package/types/sdkClient/clientAttributesDecoration.d.ts +51 -0
  453. package/types/sdkClient/clientCS.d.ts +2 -1
  454. package/types/sdkClient/clientInputValidation.d.ts +1 -1
  455. package/types/storages/AbstractSegmentsCacheSync.d.ts +1 -1
  456. package/types/storages/AbstractSplitsCacheAsync.d.ts +1 -1
  457. package/types/storages/AbstractSplitsCacheSync.d.ts +1 -1
  458. package/types/storages/KeyBuilder.d.ts +1 -1
  459. package/types/storages/KeyBuilderCS.d.ts +2 -2
  460. package/types/storages/KeyBuilderSS.d.ts +2 -2
  461. package/types/storages/findLatencyIndex.d.ts +1 -1
  462. package/types/storages/inLocalStorage/MySegmentsCacheInLocal.d.ts +3 -3
  463. package/types/storages/inLocalStorage/SplitsCacheInLocal.d.ts +3 -3
  464. package/types/storages/inMemory/AttributesCacheInMemory.d.ts +43 -0
  465. package/types/storages/inMemory/CountsCacheInMemory.d.ts +1 -1
  466. package/types/storages/inMemory/EventsCacheInMemory.d.ts +1 -1
  467. package/types/storages/inMemory/ImpressionCountsCacheInMemory.d.ts +1 -1
  468. package/types/storages/inMemory/ImpressionsCacheInMemory.d.ts +1 -1
  469. package/types/storages/inMemory/LatenciesCacheInMemory.d.ts +1 -1
  470. package/types/storages/inMemory/MySegmentsCacheInMemory.d.ts +2 -2
  471. package/types/storages/inMemory/SegmentsCacheInMemory.d.ts +2 -2
  472. package/types/storages/inMemory/SplitsCacheInMemory.d.ts +2 -2
  473. package/types/storages/inRedis/CountsCacheInRedis.d.ts +2 -2
  474. package/types/storages/inRedis/EventsCacheInRedis.d.ts +1 -1
  475. package/types/storages/inRedis/ImpressionsCacheInRedis.d.ts +1 -1
  476. package/types/storages/inRedis/LatenciesCacheInRedis.d.ts +2 -2
  477. package/types/storages/inRedis/RedisAdapter.d.ts +1 -1
  478. package/types/storages/inRedis/SegmentsCacheInRedis.d.ts +2 -2
  479. package/types/storages/inRedis/SplitsCacheInRedis.d.ts +3 -3
  480. package/types/storages/pluggable/SegmentsCachePluggable.d.ts +1 -1
  481. package/types/storages/pluggable/SplitsCachePluggable.d.ts +2 -2
  482. package/types/storages/types.d.ts +2 -2
  483. package/types/sync/offline/splitsParser/parseCondition.d.ts +1 -1
  484. package/types/sync/offline/syncTasks/fromObjectSyncTask.d.ts +1 -1
  485. package/types/sync/polling/fetchers/mySegmentsFetcher.d.ts +1 -1
  486. package/types/sync/polling/fetchers/segmentChangesFetcher.d.ts +1 -1
  487. package/types/sync/polling/fetchers/splitChangesFetcher.d.ts +1 -1
  488. package/types/sync/polling/pollingManagerCS.d.ts +1 -1
  489. package/types/sync/polling/pollingManagerSS.d.ts +1 -1
  490. package/types/sync/polling/syncTasks/mySegmentsSyncTask.d.ts +1 -1
  491. package/types/sync/polling/syncTasks/segmentsSyncTask.d.ts +1 -1
  492. package/types/sync/polling/syncTasks/splitsSyncTask.d.ts +1 -1
  493. package/types/sync/streaming/SSEClient/index.d.ts +1 -1
  494. package/types/sync/streaming/SSEHandler/NotificationKeeper.d.ts +1 -1
  495. package/types/sync/streaming/SSEHandler/index.d.ts +1 -1
  496. package/types/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.d.ts +2 -2
  497. package/types/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.d.ts +2 -2
  498. package/types/sync/streaming/UpdateWorkers/SplitsUpdateWorker.d.ts +2 -2
  499. package/types/sync/streaming/UpdateWorkers/types.d.ts +1 -1
  500. package/types/sync/streaming/pushManager.d.ts +1 -1
  501. package/types/sync/syncTask.d.ts +1 -1
  502. package/types/trackers/eventTracker.d.ts +1 -1
  503. package/types/trackers/impressionObserver/ImpressionObserver.d.ts +1 -1
  504. package/types/trackers/impressionObserver/impressionObserverCS.d.ts +1 -1
  505. package/types/trackers/impressionObserver/impressionObserverSS.d.ts +1 -1
  506. package/types/trackers/impressionsTracker.d.ts +1 -1
  507. package/types/types.d.ts +39 -0
  508. package/types/utils/Backoff.d.ts +1 -1
  509. package/types/utils/LRUCache/index.d.ts +1 -1
  510. package/types/utils/MinEventEmitter.d.ts +1 -1
  511. package/types/utils/MinEvents.d.ts +3 -2
  512. package/types/utils/inputValidation/attribute.d.ts +2 -0
  513. package/types/utils/inputValidation/attributes.d.ts +1 -0
  514. package/types/utils/lang/binarySearch.d.ts +1 -1
  515. package/types/utils/lang/objectAssign.d.ts +3 -0
  516. package/types/utils/promise/thenable.d.ts +1 -2
  517. package/types/utils/promise/timeout.d.ts +1 -1
  518. package/types/utils/promise/wrapper.d.ts +1 -1
  519. package/types/utils/settingsValidation/impressionsMode.d.ts +1 -1
  520. package/types/utils/settingsValidation/mode.d.ts +1 -1
  521. package/types/utils/timeTracker/index.d.ts +2 -2
  522. package/types/utils/timeTracker/now/browser.d.ts +1 -2
  523. package/types/utils/timeTracker/now/node.d.ts +1 -1
  524. package/types/utils/timeTracker/timer.d.ts +1 -1
  525. package/src/logger/.DS_Store +0 -0
  526. package/types/integrations/ga/GaToSplitPlugin.d.ts +0 -3
  527. package/types/integrations/ga/SplitToGaPlugin.d.ts +0 -4
  528. package/types/logger/codes.d.ts +0 -2
  529. package/types/logger/codesConstants.d.ts +0 -117
  530. package/types/logger/codesConstantsBrowser.d.ts +0 -2
  531. package/types/logger/codesConstantsNode.d.ts +0 -14
  532. package/types/logger/codesDebug.d.ts +0 -1
  533. package/types/logger/codesDebugBrowser.d.ts +0 -1
  534. package/types/logger/codesDebugNode.d.ts +0 -1
  535. package/types/logger/codesError.d.ts +0 -1
  536. package/types/logger/codesErrorNode.d.ts +0 -1
  537. package/types/logger/codesInfo.d.ts +0 -1
  538. package/types/logger/codesWarn.d.ts +0 -1
  539. package/types/logger/codesWarnNode.d.ts +0 -1
  540. package/types/logger/debugLogger.d.ts +0 -2
  541. package/types/logger/errorLogger.d.ts +0 -2
  542. package/types/logger/infoLogger.d.ts +0 -2
  543. package/types/logger/messages/debugBrowser.d.ts +0 -1
  544. package/types/logger/messages/debugNode.d.ts +0 -1
  545. package/types/logger/messages/errorNode.d.ts +0 -1
  546. package/types/logger/messages/warnNode.d.ts +0 -1
  547. package/types/logger/noopLogger.d.ts +0 -2
  548. package/types/logger/warnLogger.d.ts +0 -2
  549. package/types/sdkManager/sdkManagerMethod.d.ts +0 -6
  550. package/types/storages/getRegisteredSegments.d.ts +0 -10
  551. package/types/sync/polling/syncTasks/splitsSyncTask.copy.d.ts +0 -35
  552. package/types/sync/polling/syncTasks/splitsSyncTask.morelikeoriginal.d.ts +0 -35
  553. package/types/sync/streaming/AuthClient/indexV1.d.ts +0 -12
  554. package/types/sync/streaming/AuthClient/indexV2.d.ts +0 -8
  555. package/types/sync/streaming/pushManagerCS.d.ts +0 -12
  556. package/types/sync/streaming/pushManagerNoUsers.d.ts +0 -13
  557. package/types/sync/streaming/pushManagerSS.d.ts +0 -11
  558. package/types/sync/syncManagerFromFile.d.ts +0 -2
  559. package/types/sync/syncManagerFromObject.d.ts +0 -2
  560. package/types/sync/syncManagerOffline.d.ts +0 -9
  561. package/types/utils/lang/errors.d.ts +0 -10
  562. package/types/utils/murmur3/commons.d.ts +0 -12
  563. package/types/utils/settingsValidation/buildMetadata.d.ts +0 -3
  564. package/types/utils/settingsValidation/localhost/index.d.ts +0 -9
  565. package/types/utils/settingsValidation/logger.d.ts +0 -11
@@ -6,4 +6,4 @@ import { ISettings } from '../../../types';
6
6
  /**
7
7
  * Creates a sync task that periodically executes a `segmentChangesUpdater` task
8
8
  */
9
- export default function segmentsSyncTaskFactory(fetchSegmentChanges: IFetchSegmentChanges, storage: IStorageSync, readiness: IReadinessManager, settings: ISettings): ISegmentsSyncTask;
9
+ export declare function segmentsSyncTaskFactory(fetchSegmentChanges: IFetchSegmentChanges, storage: IStorageSync, readiness: IReadinessManager, settings: ISettings): ISegmentsSyncTask;
@@ -6,4 +6,4 @@ import { ISettings } from '../../../types';
6
6
  /**
7
7
  * Creates a sync task that periodically executes a `splitChangesUpdater` task
8
8
  */
9
- export default function splitsSyncTaskFactory(fetchSplitChanges: IFetchSplitChanges, storage: IStorageSync, readiness: IReadinessManager, settings: ISettings): ISplitsSyncTask;
9
+ export declare function splitsSyncTaskFactory(fetchSplitChanges: IFetchSplitChanges, storage: IStorageSync, readiness: IReadinessManager, settings: ISettings): ISplitsSyncTask;
@@ -5,7 +5,7 @@ import { ISSEClient, ISseEventHandler } from './types';
5
5
  /**
6
6
  * Handles streaming connections with EventSource API
7
7
  */
8
- export default class SSEClient implements ISSEClient {
8
+ export declare class SSEClient implements ISSEClient {
9
9
  eventSource?: IEventSourceConstructor;
10
10
  streamingUrl: string;
11
11
  connection?: InstanceType<IEventSourceConstructor>;
@@ -5,7 +5,7 @@ import { IPushEventEmitter } from '../types';
5
5
  *
6
6
  * @param pushEmitter emitter for events related to streaming support
7
7
  */
8
- export default function notificationKeeperFactory(pushEmitter: IPushEventEmitter): {
8
+ export declare function notificationKeeperFactory(pushEmitter: IPushEventEmitter): {
9
9
  handleOpen(): void;
10
10
  isStreamingUp(): boolean;
11
11
  handleOccupancyEvent(publishers: number, channel: string, timestamp: number): void;
@@ -7,4 +7,4 @@ import { ILogger } from '../../../logger/types';
7
7
  * @param log factory logger
8
8
  * @param pushEmitter emitter for events related to streaming support
9
9
  */
10
- export default function SSEHandlerFactory(log: ILogger, pushEmitter: IPushEventEmitter): ISseEventHandler;
10
+ export declare function SSEHandlerFactory(log: ILogger, pushEmitter: IPushEventEmitter): ISseEventHandler;
@@ -1,11 +1,11 @@
1
1
  import { ISegmentsSyncTask } from '../../polling/types';
2
- import Backoff from '../../../utils/Backoff';
2
+ import { Backoff } from '../../../utils/Backoff';
3
3
  import { IUpdateWorker } from './types';
4
4
  import { SegmentsData } from '../SSEHandler/types';
5
5
  /**
6
6
  * MySegmentsUpdateWorker class
7
7
  */
8
- export default class MySegmentsUpdateWorker implements IUpdateWorker {
8
+ export declare class MySegmentsUpdateWorker implements IUpdateWorker {
9
9
  private readonly mySegmentsSyncTask;
10
10
  private maxChangeNumber;
11
11
  private handleNewEvent;
@@ -1,12 +1,12 @@
1
1
  import { ISegmentsCacheSync } from '../../../storages/types';
2
- import Backoff from '../../../utils/Backoff';
2
+ import { Backoff } from '../../../utils/Backoff';
3
3
  import { ISegmentsSyncTask } from '../../polling/types';
4
4
  import { ISegmentUpdateData } from '../SSEHandler/types';
5
5
  import { IUpdateWorker } from './types';
6
6
  /**
7
7
  * SegmentUpdateWorker class
8
8
  */
9
- export default class SegmentsUpdateWorker implements IUpdateWorker {
9
+ export declare class SegmentsUpdateWorker implements IUpdateWorker {
10
10
  private readonly segmentsCache;
11
11
  private readonly segmentsSyncTask;
12
12
  private readonly maxChangeNumbers;
@@ -1,13 +1,13 @@
1
1
  import { ISplitsEventEmitter } from '../../../readiness/types';
2
2
  import { ISplitsCacheSync } from '../../../storages/types';
3
- import Backoff from '../../../utils/Backoff';
3
+ import { Backoff } from '../../../utils/Backoff';
4
4
  import { ISegmentsSyncTask, ISplitsSyncTask } from '../../polling/types';
5
5
  import { ISplitKillData, ISplitUpdateData } from '../SSEHandler/types';
6
6
  import { IUpdateWorker } from './types';
7
7
  /**
8
8
  * SplitsUpdateWorker class
9
9
  */
10
- export default class SplitsUpdateWorker implements IUpdateWorker {
10
+ export declare class SplitsUpdateWorker implements IUpdateWorker {
11
11
  private readonly splitsCache;
12
12
  private readonly splitsSyncTask;
13
13
  private readonly splitsEventEmitter;
@@ -1,4 +1,4 @@
1
- import Backoff from '../../../utils/Backoff';
1
+ import { Backoff } from '../../../utils/Backoff';
2
2
  export interface IUpdateWorker {
3
3
  readonly backoff: Backoff;
4
4
  put(...args: any[]): void;
@@ -10,4 +10,4 @@ import { IPlatform } from '../../sdkFactory/types';
10
10
  * - for server-side if key is not provided in settings.
11
11
  * - for client-side, with support for multiple clients, if key is provided in settings
12
12
  */
13
- export default function pushManagerFactory(pollingManager: IPollingManager, storage: IStorageSync, readiness: IReadinessManager, fetchAuth: IFetchAuth, platform: IPlatform, settings: ISettings): IPushManagerCS | undefined;
13
+ export declare function pushManagerFactory(pollingManager: IPollingManager, storage: IStorageSync, readiness: IReadinessManager, fetchAuth: IFetchAuth, platform: IPlatform, settings: ISettings): IPushManagerCS | undefined;
@@ -11,4 +11,4 @@ import { ISyncTask } from './types';
11
11
  * @param taskName Optional task name for logging.
12
12
  * @returns A sync task that wraps the given task.
13
13
  */
14
- export default function syncTaskFactory<Input extends any[], Output = any>(log: ILogger, task: (...args: Input) => Promise<Output>, period: number, taskName?: string): ISyncTask<Input, Output>;
14
+ export declare function syncTaskFactory<Input extends any[], Output = any>(log: ILogger, task: (...args: Input) => Promise<Output>, period: number, taskName?: string): ISyncTask<Input, Output>;
@@ -7,4 +7,4 @@ import { ILogger } from '../logger/types';
7
7
  * @param eventsCache cache to save events
8
8
  * @param integrationsManager optional event handler used for integrations
9
9
  */
10
- export default function eventTrackerFactory(log: ILogger, eventsCache: IEventsCacheBase, integrationsManager?: IEventsHandler): IEventTracker;
10
+ export declare function eventTrackerFactory(log: ILogger, eventsCache: IEventsCacheBase, integrationsManager?: IEventsHandler): IEventTracker;
@@ -1,6 +1,6 @@
1
1
  import { ImpressionDTO } from '../../types';
2
2
  import { IImpressionObserver } from './types';
3
- export default class ImpressionObserver<K extends string | number = string> implements IImpressionObserver {
3
+ export declare class ImpressionObserver<K extends string | number = string> implements IImpressionObserver {
4
4
  private cache;
5
5
  private hasher;
6
6
  constructor(size: number, hasher: (impression: ImpressionDTO) => K);
@@ -1,4 +1,4 @@
1
- import ImpressionObserver from './ImpressionObserver';
1
+ import { ImpressionObserver } from './ImpressionObserver';
2
2
  import { ImpressionDTO } from '../../types';
3
3
  export declare function hashImpression32(impression: ImpressionDTO): number;
4
4
  export declare function impressionObserverCSFactory(): ImpressionObserver<number>;
@@ -1,4 +1,4 @@
1
- import ImpressionObserver from './ImpressionObserver';
1
+ import { ImpressionObserver } from './ImpressionObserver';
2
2
  import { ImpressionDTO } from '../../types';
3
3
  export declare function hashImpression128(impression: ImpressionDTO): string;
4
4
  export declare function impressionObserverSSFactory(): ImpressionObserver<string>;
@@ -13,4 +13,4 @@ import { ILogger } from '../logger/types';
13
13
  * @param observer optional impression observer. If provided, previous time (pt property) is included in impression instances
14
14
  * @param countsCache optional cache to save impressions count. If provided, impressions will be deduped (OPTIMIZED mode)
15
15
  */
16
- export default function impressionsTrackerFactory(log: ILogger, impressionsCache: IImpressionsCacheBase, { runtime: { ip, hostname }, version }: Pick<ISettings, 'version' | 'runtime'>, impressionListener?: SplitIO.IImpressionListener, integrationsManager?: IImpressionsHandler, observer?: IImpressionObserver, countsCache?: IImpressionCountsCacheSync): IImpressionsTracker;
16
+ export declare function impressionsTrackerFactory(log: ILogger, impressionsCache: IImpressionsCacheBase, { runtime: { ip, hostname }, version }: Pick<ISettings, 'version' | 'runtime'>, impressionListener?: SplitIO.IImpressionListener, integrationsManager?: IImpressionsHandler, observer?: IImpressionObserver, countsCache?: IImpressionCountsCacheSync): IImpressionsTracker;
package/types/types.d.ts CHANGED
@@ -1108,6 +1108,45 @@ export declare namespace SplitIO {
1108
1108
  * @returns {boolean} Whether the event was added to the queue succesfully or not.
1109
1109
  */
1110
1110
  track(...args: [trafficType: string, eventType: string, value?: number, properties?: Properties] | [eventType: string, value?: number, properties?: Properties]): boolean;
1111
+ /**
1112
+ * Add an attribute to client's in memory attributes storage
1113
+ * @function setAttribute
1114
+ * @param {string} attributeName Attrinute name
1115
+ * @param {string, number, boolean, list} attributeValue Attribute value
1116
+ * @returns {boolean} true if the attribute was stored and false otherways
1117
+ */
1118
+ setAttribute(attributeName: string, attributeValue: Object): boolean;
1119
+ /**
1120
+ * Returns the attribute with the given key
1121
+ * @function getAttribute
1122
+ * @param {string} attributeName Attribute name
1123
+ * @returns {Object} Attribute with the given key
1124
+ */
1125
+ getAttribute(attributeName: string): Object;
1126
+ /**
1127
+ * Add to client's in memory attributes storage the attributes in 'attributes'
1128
+ * @function setAttributes
1129
+ * @param {Object} attributes Object with attributes to store
1130
+ * @returns true if attributes were stored an false otherways
1131
+ */
1132
+ setAttributes(attributes: Record<string, Object>): boolean;
1133
+ /**
1134
+ * Return all the attributes stored in client's in memory attributes storage
1135
+ * @function getAttributes
1136
+ * @returns {Object} returns all the stored attributes
1137
+ */
1138
+ getAttributes(): Record<string, Object>;
1139
+ /**
1140
+ * Removes from client's in memory attributes storage the attribute with the given key
1141
+ * @function removeAttribute
1142
+ * @param {string} attributeName
1143
+ * @returns {boolean} true if attribute was removed and false otherways
1144
+ */
1145
+ removeAttribute(attributeName: string): boolean;
1146
+ /**
1147
+ * Remove all the stored attributes in the client's in memory attribute storage
1148
+ */
1149
+ clearAttributes(): boolean;
1111
1150
  }
1112
1151
  /**
1113
1152
  * Representation of a manager instance with synchronous storage of the SDK.
@@ -1,4 +1,4 @@
1
- export default class Backoff {
1
+ export declare class Backoff {
2
2
  static DEFAULT_BASE_MILLIS: number;
3
3
  static DEFAULT_MAX_MILLIS: number;
4
4
  baseMillis: number;
@@ -1,6 +1,6 @@
1
1
  import { IMap } from '../lang/maps';
2
2
  import { LinkedList, Node } from './LinkedList';
3
- export default class LRUCache<K, V> {
3
+ export declare class LRUCache<K, V> {
4
4
  maxLen: number;
5
5
  items: IMap<K, Node<{
6
6
  key: K;
@@ -1,5 +1,5 @@
1
1
  import { IEventEmitter } from '../types';
2
- export default class EventEmitter implements IEventEmitter {
2
+ export declare class EventEmitter implements IEventEmitter {
3
3
  private listeners;
4
4
  private registerListener;
5
5
  addListener(type: string, listener: (...args: any[]) => void): this;
@@ -1,3 +1,4 @@
1
1
  import { IEventEmitter } from '../types';
2
- declare const _default: new () => IEventEmitter;
3
- export default _default;
2
+ export declare const EventEmitter: {
3
+ new (): IEventEmitter;
4
+ };
@@ -0,0 +1,2 @@
1
+ import { ILogger } from '../../logger/types';
2
+ export declare function validateAttribute(log: ILogger, attributeKey: string, attributeValue: Object, method: string): boolean;
@@ -1,3 +1,4 @@
1
1
  import { SplitIO } from '../../types';
2
2
  import { ILogger } from '../../logger/types';
3
3
  export declare function validateAttributes(log: ILogger, maybeAttrs: any, method: string): SplitIO.Attributes | undefined | false;
4
+ export declare function validateAttributesDeep(log: ILogger, maybeAttributes: Record<string, Object>, method: string): boolean;
@@ -6,4 +6,4 @@
6
6
  * @returns integer number between 0 and `items.length`. This value is the index of the search value,
7
7
  * if it is contained in the array, or the index at which the value should be inserted to keep the array ordered.
8
8
  */
9
- export default function binarySearch(items: number[], value: number): number;
9
+ export declare function binarySearch(items: number[], value: number): number;
@@ -0,0 +1,3 @@
1
+ declare type ObjectAssign = (<T, U>(target: T, source: U) => T & U) & (<T, U, V>(target: T, source1: U, source2: V) => T & U & V) & (<T, U, V, W>(target: T, source1: U, source2: V, source3: W) => T & U & V & W) & (<T, U, V, W, Q>(target: T, source1: U, source2: V, source3: W, source4: Q) => T & U & V & W & Q) & (<T, U, V, W, Q, R>(target: T, source1: U, source2: V, source3: W, source4: Q, source5: R) => T & U & V & W & Q & R) & ((target: any, ...sources: any[]) => any);
2
+ export declare const objectAssign: ObjectAssign;
3
+ export {};
@@ -1,2 +1 @@
1
- declare const _default: (o: any) => o is Promise<any>;
2
- export default _default;
1
+ export declare function thenable(o: any): o is Promise<any>;
@@ -1 +1 @@
1
- export default function timeout<T>(ms: number, promise: Promise<T>): Promise<T>;
1
+ export declare function timeout<T>(ms: number, promise: Promise<T>): Promise<T>;
@@ -16,6 +16,6 @@
16
16
  * @returns a promise that doesn't need to be handled for rejection (except when using async/await syntax) and
17
17
  * includes a method named `hasOnFulfilled` that returns true if the promise has attached an onFulfilled handler.
18
18
  */
19
- export default function promiseWrapper<T>(customPromise: Promise<T>, defaultOnRejected: (_: any) => any): Promise<T> & {
19
+ export declare function promiseWrapper<T>(customPromise: Promise<T>, defaultOnRejected: (_: any) => any): Promise<T> & {
20
20
  hasOnFulfilled: () => boolean;
21
21
  };
@@ -1,3 +1,3 @@
1
1
  import { ILogger } from '../../logger/types';
2
2
  import { SplitIO } from '../../types';
3
- export default function validImpressionsMode(log: ILogger, impressionsMode: string): SplitIO.ImpressionsMode;
3
+ export declare function validImpressionsMode(log: ILogger, impressionsMode: string): SplitIO.ImpressionsMode;
@@ -1 +1 @@
1
- export default function mode(key: string, mode: string): string;
1
+ export declare function mode(key: string, mode: string): string;
@@ -11,7 +11,7 @@ interface MetricsCollector {
11
11
  getTreatmentsWithConfig(ms: number): void;
12
12
  [method: string]: (ms: number) => void;
13
13
  }
14
- declare const TrackerAPI: {
14
+ export declare const TrackerAPI: {
15
15
  /**
16
16
  * "Private" method, used to attach count/countException and stop callbacks to a promise.
17
17
  *
@@ -67,4 +67,4 @@ declare const TrackerAPI: {
67
67
  SPLITS_FETCH: string;
68
68
  };
69
69
  };
70
- export default TrackerAPI;
70
+ export {};
@@ -1,2 +1 @@
1
- declare const now: () => number;
2
- export default now;
1
+ export declare const now: () => number;
@@ -1 +1 @@
1
- export default function now(): number;
1
+ export declare function now(): number;
@@ -1 +1 @@
1
- export default function start(now?: () => number): () => number;
1
+ export declare function timer(now?: () => number): () => number;
Binary file
@@ -1,3 +0,0 @@
1
- import { IIntegrationFactoryParams } from '../types';
2
- import { GoogleAnalyticsToSplitOptions } from './types';
3
- export declare function GoogleAnalyticsToSplit(options: GoogleAnalyticsToSplitOptions): (params: IIntegrationFactoryParams) => void;
@@ -1,4 +0,0 @@
1
- import { IIntegrationFactoryParams } from '../types';
2
- import SplitToGa from './SplitToGa';
3
- import { SplitToGoogleAnalyticsOptions } from './types';
4
- export declare function SplitToGoogleAnalytics(options?: SplitToGoogleAnalyticsOptions): (params: IIntegrationFactoryParams) => SplitToGa;
@@ -1,2 +0,0 @@
1
- import { ICodes } from './types';
2
- export declare const codes: ICodes;
@@ -1,117 +0,0 @@
1
- export declare const DEBUG_0 = 0;
2
- export declare const DEBUG_1 = 1;
3
- export declare const DEBUG_2 = 2;
4
- export declare const DEBUG_3 = 3;
5
- export declare const DEBUG_4 = 4;
6
- export declare const DEBUG_5 = 5;
7
- export declare const DEBUG_6 = 6;
8
- export declare const DEBUG_7 = 7;
9
- export declare const DEBUG_8 = 8;
10
- export declare const DEBUG_9 = 9;
11
- export declare const DEBUG_10 = 10;
12
- export declare const DEBUG_11 = 11;
13
- export declare const DEBUG_12 = 12;
14
- export declare const DEBUG_13 = 13;
15
- export declare const DEBUG_14 = 14;
16
- export declare const DEBUG_15 = 15;
17
- export declare const DEBUG_16 = 16;
18
- export declare const DEBUG_17 = 17;
19
- export declare const DEBUG_18 = 18;
20
- export declare const DEBUG_19 = 19;
21
- export declare const DEBUG_20 = 20;
22
- export declare const DEBUG_21 = 21;
23
- export declare const DEBUG_22 = 22;
24
- export declare const DEBUG_23 = 23;
25
- export declare const DEBUG_24 = 24;
26
- export declare const DEBUG_25 = 25;
27
- export declare const DEBUG_31 = 31;
28
- export declare const DEBUG_32 = 32;
29
- export declare const DEBUG_33 = 33;
30
- export declare const DEBUG_36 = 36;
31
- export declare const DEBUG_42 = 42;
32
- export declare const DEBUG_43 = 43;
33
- export declare const DEBUG_44 = 44;
34
- export declare const DEBUG_45 = 45;
35
- export declare const DEBUG_46 = 46;
36
- export declare const DEBUG_47 = 47;
37
- export declare const DEBUG_48 = 48;
38
- export declare const DEBUG_49 = 49;
39
- export declare const DEBUG_50 = 50;
40
- export declare const DEBUG_51 = 51;
41
- export declare const INFO_0 = 100;
42
- export declare const INFO_1 = 101;
43
- export declare const INFO_2 = 102;
44
- export declare const INFO_3 = 103;
45
- export declare const INFO_4 = 104;
46
- export declare const INFO_5 = 105;
47
- export declare const INFO_6 = 106;
48
- export declare const INFO_7 = 107;
49
- export declare const INFO_8 = 108;
50
- export declare const INFO_9 = 109;
51
- export declare const INFO_10 = 110;
52
- export declare const INFO_11 = 111;
53
- export declare const INFO_12 = 112;
54
- export declare const INFO_13 = 113;
55
- export declare const INFO_14 = 114;
56
- export declare const INFO_15 = 115;
57
- export declare const INFO_16 = 116;
58
- export declare const INFO_17 = 117;
59
- export declare const INFO_18 = 118;
60
- export declare const INFO_19 = 119;
61
- export declare const INFO_20 = 120;
62
- export declare const INFO_21 = 121;
63
- export declare const WARN_0 = 200;
64
- export declare const WARN_1 = 201;
65
- export declare const WARN_2 = 202;
66
- export declare const WARN_4 = 204;
67
- export declare const WARN_5 = 205;
68
- export declare const WARN_6 = 206;
69
- export declare const WARN_7 = 207;
70
- export declare const WARN_8 = 208;
71
- export declare const WARN_9 = 209;
72
- export declare const WARN_10 = 210;
73
- export declare const WARN_11 = 211;
74
- export declare const WARN_12 = 212;
75
- export declare const WARN_13 = 213;
76
- export declare const WARN_14 = 214;
77
- export declare const WARN_15 = 215;
78
- export declare const WARN_17 = 217;
79
- export declare const WARN_18 = 218;
80
- export declare const WARN_19 = 219;
81
- export declare const WARN_20 = 220;
82
- export declare const WARN_21 = 221;
83
- export declare const WARN_22 = 222;
84
- export declare const WARN_23 = 223;
85
- export declare const WARN_24 = 224;
86
- export declare const WARN_25 = 225;
87
- export declare const ERROR_0 = 300;
88
- export declare const ERROR_2 = 302;
89
- export declare const ERROR_3 = 303;
90
- export declare const ERROR_4 = 304;
91
- export declare const ERROR_5 = 305;
92
- export declare const ERROR_7 = 307;
93
- export declare const ERROR_9 = 309;
94
- export declare const ERROR_10 = 310;
95
- export declare const ERROR_11 = 311;
96
- export declare const ERROR_12 = 312;
97
- export declare const ERROR_13 = 313;
98
- export declare const ERROR_14 = 314;
99
- export declare const ERROR_15 = 315;
100
- export declare const ERROR_16 = 316;
101
- export declare const ERROR_17 = 317;
102
- export declare const ERROR_18 = 318;
103
- export declare const ERROR_19 = 319;
104
- export declare const ERROR_20 = 320;
105
- export declare const ERROR_21 = 321;
106
- export declare const ERROR_22 = 322;
107
- export declare const ERROR_23 = 323;
108
- export declare const ERROR_24 = 324;
109
- export declare const ERROR_25 = 325;
110
- export declare const ERROR_26 = 326;
111
- export declare const ERROR_32 = 332;
112
- export declare const ERROR_33 = 333;
113
- export declare const ERROR_34 = 334;
114
- export declare const ERROR_35 = 335;
115
- export declare const ERROR_36 = 336;
116
- export declare const ERROR_37 = 337;
117
- export declare const ERROR_38 = 338;
@@ -1,2 +0,0 @@
1
- export declare const DEBUG_26 = 26;
2
- export declare const DEBUG_27 = 27;
@@ -1,14 +0,0 @@
1
- export declare const DEBUG_28 = 28;
2
- export declare const DEBUG_29 = 29;
3
- export declare const DEBUG_30 = 30;
4
- export declare const ERROR_1 = 301;
5
- export declare const DEBUG_39 = 39;
6
- export declare const DEBUG_40 = 40;
7
- export declare const DEBUG_41 = 41;
8
- export declare const ERROR_8 = 308;
9
- export declare const DEBUG_34 = 34;
10
- export declare const DEBUG_35 = 35;
11
- export declare const ERROR_6 = 306;
12
- export declare const WARN_3 = 203;
13
- export declare const DEBUG_37 = 37;
14
- export declare const DEBUG_38 = 38;
@@ -1 +0,0 @@
1
- export declare const codesDebug: [number, string][];
@@ -1 +0,0 @@
1
- export declare const codesDebugBrowser: [number, string][];
@@ -1 +0,0 @@
1
- export declare const codesDebugNode: [number, string][];
@@ -1 +0,0 @@
1
- export declare const codesError: [number, string][];
@@ -1 +0,0 @@
1
- export declare const codesErrorNode: [number, string][];
@@ -1 +0,0 @@
1
- export declare const codesInfo: [number, string][];
@@ -1 +0,0 @@
1
- export declare const codesWarn: [number, string][];
@@ -1 +0,0 @@
1
- export declare const codesWarnNode: [number, string][];
@@ -1,2 +0,0 @@
1
- import { Logger } from '.';
2
- export declare const debugLogger: Logger;
@@ -1,2 +0,0 @@
1
- import { Logger } from '.';
2
- export declare const errorLogger: Logger;
@@ -1,2 +0,0 @@
1
- import { Logger } from '.';
2
- export declare const infoLogger: Logger;
@@ -1 +0,0 @@
1
- export declare const codesDebugBrowser: [number, string][];
@@ -1 +0,0 @@
1
- export declare const codesDebugNode: [number, string][];
@@ -1 +0,0 @@
1
- export declare const codesErrorNode: [number, string][];
@@ -1 +0,0 @@
1
- export declare const codesWarnNode: [number, string][];
@@ -1,2 +0,0 @@
1
- import { ILogger } from './types';
2
- export declare const noopLogger: ILogger;
@@ -1,2 +0,0 @@
1
- import { Logger } from '.';
2
- export declare const warnLogger: Logger;
@@ -1,6 +0,0 @@
1
- import { ISdkClientFactoryParams } from '../sdkClient/types';
2
- import { SplitIO } from '../types';
3
- /**
4
- * Factory of client method for server-side SDKs (ISDK and IAsyncSDK)
5
- */
6
- export declare function sdkManagerMethodFactory(params: ISdkClientFactoryParams): () => SplitIO.IManager | SplitIO.IAsyncManager;
@@ -1,10 +0,0 @@
1
- import { ISplit } from '../dtos/types';
2
- /**
3
- * Collect segments from a raw split definition.
4
- * Exported for testing purposes.
5
- */
6
- export declare function _parseSegments({ conditions }: ISplit): import("../utils/lang/sets").ISet<string>;
7
- /**
8
- * Computes the set of segments used by splits.
9
- */
10
- export declare function getRegisteredSegments(splitDefs: string[]): string[];
@@ -1,35 +0,0 @@
1
- import { ISet } from '../../../utils/lang/sets';
2
- import { ISegmentsCacheSync, ISplitsCacheSync, IStorageSync } from '../../../storages/types';
3
- import { ISplitChangesFetcher } from '../fetchers/types';
4
- import { ISplit } from '../../../dtos/types';
5
- import { IReadinessManager, ISplitsEventEmitter } from '../../../readiness/types';
6
- import { ISplitsSyncTask } from '../types';
7
- import { IFetchSplitChanges } from '../../../services/types';
8
- import { ISettings } from '../../../types';
9
- declare type ISplitChangesUpdater = (noCache?: boolean) => Promise<boolean>;
10
- /**
11
- * Collect segments from a raw split definition.
12
- * Exported for testing purposes.
13
- */
14
- export declare function parseSegments({ conditions }: ISplit): ISet<string>;
15
- interface ISplitMutations {
16
- added: [string, string][];
17
- removed: string[];
18
- segments: string[];
19
- }
20
- /**
21
- * Given the list of splits from /splitChanges endpoint, it returns the mutations,
22
- * i.e., an object with added splits, removed splits and used segments.
23
- * Exported for testing purposes.
24
- */
25
- export declare function computeSplitsMutation(entries: ISplit[]): ISplitMutations;
26
- /**
27
- * factory of SplitChanges updater (a.k.a, SplitsSyncTask), a task that:
28
- * - fetches split changes using `splitChangesFetcher`
29
- * - updates `splitsCache`
30
- * - uses `splitsEventEmitter` to emit events related to split data updates
31
- * Exported for testing purposes.
32
- */
33
- export declare function splitChangesUpdaterFactory(splitChangesFetcher: ISplitChangesFetcher, splitsCache: ISplitsCacheSync, segmentsCache: ISegmentsCacheSync, splitsEventEmitter: ISplitsEventEmitter, requestTimeoutBeforeReady: number, retriesOnFailureBeforeReady: number): ISplitChangesUpdater;
34
- export default function splitsSyncTaskFactory(fetchSplitChanges: IFetchSplitChanges, storage: IStorageSync, readiness: IReadinessManager, settings: ISettings): ISplitsSyncTask;
35
- export {};
@@ -1,35 +0,0 @@
1
- import { ISet } from '../../../utils/lang/sets';
2
- import { ISegmentsCacheSync, ISplitsCacheSync, IStorageSync } from '../../../storages/types';
3
- import { ISplitChangesFetcher } from '../fetchers/types';
4
- import { ISplit } from '../../../dtos/types';
5
- import { IReadinessManager, ISplitsEventEmitter } from '../../../readiness/types';
6
- import { ISplitsSyncTask } from '../types';
7
- import { IFetchSplitChanges } from '../../../services/types';
8
- import { ISettings } from '../../../types';
9
- declare type ISplitChangesUpdater = (noCache?: boolean) => Promise<boolean>;
10
- /**
11
- * Collect segments from a raw split definition.
12
- * Exported for testing purposes.
13
- */
14
- export declare function parseSegments({ conditions }: ISplit): ISet<string>;
15
- interface ISplitMutations {
16
- added: [string, string][];
17
- removed: string[];
18
- segments: string[];
19
- }
20
- /**
21
- * Given the list of splits from /splitChanges endpoint, it returns the mutations,
22
- * i.e., an object with added splits, removed splits and used segments.
23
- * Exported for testing purposes.
24
- */
25
- export declare function computeSplitsMutation(entries: ISplit[]): ISplitMutations;
26
- /**
27
- * factory of SplitChanges updater (a.k.a, SplitsSyncTask), a task that:
28
- * - fetches split changes using `splitChangesFetcher`
29
- * - updates `splitsCache`
30
- * - uses `splitsEventEmitter` to emit events related to split data updates
31
- * Exported for testing purposes.
32
- */
33
- export declare function splitChangesUpdaterFactory(splitChangesFetcher: ISplitChangesFetcher, splitsCache: ISplitsCacheSync, segmentsCache: ISegmentsCacheSync, splitsEventEmitter: ISplitsEventEmitter, requestTimeoutBeforeReady: number, retriesOnFailureBeforeReady: number): ISplitChangesUpdater;
34
- export default function splitsSyncTaskFactory(fetchSplitChanges: IFetchSplitChanges, storage: IStorageSync, readiness: IReadinessManager, settings: ISettings): ISplitsSyncTask;
35
- export {};