@splitsoftware/splitio-commons 1.0.1-rc.5 → 1.2.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 (561) 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 +7 -7
  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/inputValidation/attribute.js +20 -0
  123. package/cjs/utils/inputValidation/attributes.js +13 -1
  124. package/cjs/utils/inputValidation/trafficTypeExistance.js +2 -3
  125. package/cjs/utils/lang/binarySearch.js +2 -1
  126. package/cjs/utils/lang/objectAssign.js +85 -0
  127. package/cjs/utils/promise/thenable.js +5 -1
  128. package/cjs/utils/promise/timeout.js +2 -1
  129. package/cjs/utils/promise/wrapper.js +2 -1
  130. package/cjs/utils/settingsValidation/impressionsMode.js +2 -1
  131. package/cjs/utils/settingsValidation/index.js +5 -6
  132. package/cjs/utils/settingsValidation/mode.js +2 -1
  133. package/cjs/utils/timeTracker/index.js +7 -8
  134. package/cjs/utils/timeTracker/now/browser.js +2 -2
  135. package/cjs/utils/timeTracker/now/node.js +2 -1
  136. package/cjs/utils/timeTracker/timer.js +3 -2
  137. package/esm/evaluator/Engine.js +3 -3
  138. package/esm/evaluator/combiners/and.js +2 -2
  139. package/esm/evaluator/combiners/ifelseif.js +2 -2
  140. package/esm/evaluator/condition/index.js +2 -2
  141. package/esm/evaluator/index.js +2 -2
  142. package/esm/evaluator/matchers/all.js +1 -1
  143. package/esm/evaluator/matchers/between.js +1 -1
  144. package/esm/evaluator/matchers/boolean.js +1 -1
  145. package/esm/evaluator/matchers/cont_all.js +1 -1
  146. package/esm/evaluator/matchers/cont_any.js +1 -1
  147. package/esm/evaluator/matchers/cont_str.js +1 -1
  148. package/esm/evaluator/matchers/dependency.js +2 -2
  149. package/esm/evaluator/matchers/eq.js +1 -1
  150. package/esm/evaluator/matchers/eq_set.js +1 -1
  151. package/esm/evaluator/matchers/ew.js +1 -1
  152. package/esm/evaluator/matchers/gte.js +1 -1
  153. package/esm/evaluator/matchers/index.js +35 -35
  154. package/esm/evaluator/matchers/lte.js +1 -1
  155. package/esm/evaluator/matchers/part_of.js +1 -1
  156. package/esm/evaluator/matchers/segment.js +2 -2
  157. package/esm/evaluator/matchers/string.js +1 -1
  158. package/esm/evaluator/matchers/sw.js +1 -1
  159. package/esm/evaluator/matchers/whitelist.js +1 -1
  160. package/esm/evaluator/matchersTransform/index.js +5 -5
  161. package/esm/evaluator/matchersTransform/segment.js +1 -1
  162. package/esm/evaluator/matchersTransform/set.js +1 -1
  163. package/esm/evaluator/matchersTransform/unaryNumeric.js +1 -1
  164. package/esm/evaluator/matchersTransform/whitelist.js +1 -1
  165. package/esm/evaluator/parser/index.js +11 -11
  166. package/esm/evaluator/treatments/index.js +1 -1
  167. package/esm/evaluator/value/index.js +3 -3
  168. package/esm/evaluator/value/sanitize.js +1 -1
  169. package/esm/integrations/browser.js +2 -2
  170. package/esm/integrations/ga/GaToSplit.js +1 -1
  171. package/esm/integrations/pluggable.js +1 -1
  172. package/esm/listeners/browser.js +2 -2
  173. package/esm/listeners/node.js +2 -2
  174. package/esm/logger/index.js +1 -1
  175. package/esm/logger/messages/info.js +1 -1
  176. package/esm/logger/messages/warn.js +2 -2
  177. package/esm/readiness/readinessManager.js +1 -1
  178. package/esm/readiness/sdkReadinessManager.js +3 -3
  179. package/esm/sdkClient/client.js +2 -2
  180. package/esm/sdkClient/clientAttributesDecoration.js +104 -0
  181. package/esm/sdkClient/clientCS.js +10 -8
  182. package/esm/sdkClient/clientInputValidation.js +2 -2
  183. package/esm/sdkClient/sdkClient.js +3 -3
  184. package/esm/sdkClient/sdkClientMethodCS.js +4 -4
  185. package/esm/sdkClient/sdkClientMethodCSWithTT.js +4 -4
  186. package/esm/sdkFactory/index.js +6 -6
  187. package/esm/sdkManager/index.js +2 -2
  188. package/esm/services/splitApi.js +1 -1
  189. package/esm/services/splitHttpClient.js +1 -1
  190. package/esm/storages/AbstractSegmentsCacheSync.js +1 -1
  191. package/esm/storages/AbstractSplitsCacheAsync.js +1 -1
  192. package/esm/storages/AbstractSplitsCacheSync.js +1 -1
  193. package/esm/storages/KeyBuilder.js +1 -1
  194. package/esm/storages/KeyBuilderCS.js +2 -2
  195. package/esm/storages/KeyBuilderSS.js +2 -2
  196. package/esm/storages/findLatencyIndex.js +1 -1
  197. package/esm/storages/inLocalStorage/MySegmentsCacheInLocal.js +2 -2
  198. package/esm/storages/inLocalStorage/SplitsCacheInLocal.js +2 -2
  199. package/esm/storages/inLocalStorage/index.js +8 -8
  200. package/esm/storages/inMemory/AttributesCacheInMemory.js +67 -0
  201. package/esm/storages/inMemory/CountsCacheInMemory.js +1 -1
  202. package/esm/storages/inMemory/EventsCacheInMemory.js +1 -1
  203. package/esm/storages/inMemory/ImpressionCountsCacheInMemory.js +1 -1
  204. package/esm/storages/inMemory/ImpressionsCacheInMemory.js +1 -1
  205. package/esm/storages/inMemory/InMemoryStorage.js +5 -5
  206. package/esm/storages/inMemory/InMemoryStorageCS.js +5 -5
  207. package/esm/storages/inMemory/LatenciesCacheInMemory.js +2 -2
  208. package/esm/storages/inMemory/MySegmentsCacheInMemory.js +2 -2
  209. package/esm/storages/inMemory/SegmentsCacheInMemory.js +2 -2
  210. package/esm/storages/inMemory/SplitsCacheInMemory.js +2 -2
  211. package/esm/storages/inRedis/CountsCacheInRedis.js +1 -1
  212. package/esm/storages/inRedis/EventsCacheInRedis.js +1 -1
  213. package/esm/storages/inRedis/ImpressionsCacheInRedis.js +1 -1
  214. package/esm/storages/inRedis/LatenciesCacheInRedis.js +2 -2
  215. package/esm/storages/inRedis/RedisAdapter.js +3 -3
  216. package/esm/storages/inRedis/SegmentsCacheInRedis.js +1 -1
  217. package/esm/storages/inRedis/SplitsCacheInRedis.js +2 -2
  218. package/esm/storages/inRedis/index.js +8 -8
  219. package/esm/storages/pluggable/SplitsCachePluggable.js +1 -1
  220. package/esm/storages/pluggable/index.js +4 -4
  221. package/esm/sync/offline/splitsParser/parseCondition.js +1 -1
  222. package/esm/sync/offline/splitsParser/splitsParserFromFile.js +1 -1
  223. package/esm/sync/offline/splitsParser/splitsParserFromSettings.js +1 -1
  224. package/esm/sync/offline/syncManagerOffline.js +2 -2
  225. package/esm/sync/offline/syncTasks/fromObjectSyncTask.js +2 -2
  226. package/esm/sync/polling/fetchers/mySegmentsFetcher.js +1 -1
  227. package/esm/sync/polling/fetchers/segmentChangesFetcher.js +1 -1
  228. package/esm/sync/polling/fetchers/splitChangesFetcher.js +1 -1
  229. package/esm/sync/polling/pollingManagerCS.js +3 -3
  230. package/esm/sync/polling/pollingManagerSS.js +4 -4
  231. package/esm/sync/polling/syncTasks/mySegmentsSyncTask.js +3 -3
  232. package/esm/sync/polling/syncTasks/segmentsSyncTask.js +3 -3
  233. package/esm/sync/polling/syncTasks/splitsSyncTask.js +3 -3
  234. package/esm/sync/polling/updaters/mySegmentsUpdater.js +1 -1
  235. package/esm/sync/polling/updaters/segmentChangesUpdater.js +1 -1
  236. package/esm/sync/polling/updaters/splitChangesUpdater.js +7 -4
  237. package/esm/sync/streaming/AuthClient/index.js +1 -1
  238. package/esm/sync/streaming/SSEClient/index.js +1 -1
  239. package/esm/sync/streaming/SSEHandler/NotificationKeeper.js +1 -1
  240. package/esm/sync/streaming/SSEHandler/index.js +2 -2
  241. package/esm/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.js +2 -2
  242. package/esm/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.js +2 -2
  243. package/esm/sync/streaming/UpdateWorkers/SplitsUpdateWorker.js +2 -2
  244. package/esm/sync/streaming/pushManager.js +10 -9
  245. package/esm/sync/submitters/submitterSyncTask.js +1 -1
  246. package/esm/sync/syncTask.js +1 -1
  247. package/esm/trackers/eventTracker.js +3 -3
  248. package/esm/trackers/impressionObserver/ImpressionObserver.js +2 -2
  249. package/esm/trackers/impressionObserver/impressionObserverCS.js +1 -1
  250. package/esm/trackers/impressionObserver/impressionObserverSS.js +1 -1
  251. package/esm/trackers/impressionsTracker.js +3 -3
  252. package/esm/utils/Backoff.js +1 -1
  253. package/esm/utils/LRUCache/index.js +1 -1
  254. package/esm/utils/MinEventEmitter.js +1 -1
  255. package/esm/utils/inputValidation/attribute.js +16 -0
  256. package/esm/utils/inputValidation/attributes.js +11 -0
  257. package/esm/utils/inputValidation/trafficTypeExistance.js +1 -1
  258. package/esm/utils/lang/binarySearch.js +1 -1
  259. package/esm/utils/lang/objectAssign.js +82 -0
  260. package/esm/utils/promise/thenable.js +3 -1
  261. package/esm/utils/promise/timeout.js +1 -1
  262. package/esm/utils/promise/wrapper.js +1 -1
  263. package/esm/utils/settingsValidation/impressionsMode.js +1 -1
  264. package/esm/utils/settingsValidation/index.js +3 -3
  265. package/esm/utils/settingsValidation/mode.js +1 -1
  266. package/esm/utils/timeTracker/index.js +4 -5
  267. package/esm/utils/timeTracker/now/browser.js +1 -2
  268. package/esm/utils/timeTracker/now/node.js +1 -1
  269. package/esm/utils/timeTracker/timer.js +1 -1
  270. package/package.json +2 -3
  271. package/src/evaluator/Engine.ts +3 -3
  272. package/src/evaluator/combiners/and.ts +2 -2
  273. package/src/evaluator/combiners/ifelseif.ts +2 -2
  274. package/src/evaluator/condition/index.ts +2 -2
  275. package/src/evaluator/index.ts +2 -2
  276. package/src/evaluator/matchers/all.ts +1 -1
  277. package/src/evaluator/matchers/between.ts +1 -1
  278. package/src/evaluator/matchers/boolean.ts +1 -1
  279. package/src/evaluator/matchers/cont_all.ts +1 -1
  280. package/src/evaluator/matchers/cont_any.ts +1 -1
  281. package/src/evaluator/matchers/cont_str.ts +1 -1
  282. package/src/evaluator/matchers/dependency.ts +2 -2
  283. package/src/evaluator/matchers/eq.ts +1 -1
  284. package/src/evaluator/matchers/eq_set.ts +1 -1
  285. package/src/evaluator/matchers/ew.ts +1 -1
  286. package/src/evaluator/matchers/gte.ts +1 -1
  287. package/src/evaluator/matchers/index.ts +35 -35
  288. package/src/evaluator/matchers/lte.ts +1 -1
  289. package/src/evaluator/matchers/part_of.ts +1 -1
  290. package/src/evaluator/matchers/segment.ts +2 -2
  291. package/src/evaluator/matchers/string.ts +1 -1
  292. package/src/evaluator/matchers/sw.ts +1 -1
  293. package/src/evaluator/matchers/whitelist.ts +1 -1
  294. package/src/evaluator/matchersTransform/index.ts +5 -5
  295. package/src/evaluator/matchersTransform/segment.ts +1 -1
  296. package/src/evaluator/matchersTransform/set.ts +1 -1
  297. package/src/evaluator/matchersTransform/unaryNumeric.ts +1 -1
  298. package/src/evaluator/matchersTransform/whitelist.ts +1 -1
  299. package/src/evaluator/parser/index.ts +12 -12
  300. package/src/evaluator/treatments/index.ts +1 -1
  301. package/src/evaluator/value/index.ts +3 -3
  302. package/src/evaluator/value/sanitize.ts +1 -1
  303. package/src/integrations/browser.ts +2 -2
  304. package/src/integrations/ga/GaToSplit.ts +1 -1
  305. package/src/integrations/pluggable.ts +1 -1
  306. package/src/listeners/browser.ts +2 -2
  307. package/src/listeners/node.ts +2 -2
  308. package/src/logger/index.ts +1 -1
  309. package/src/logger/messages/info.ts +1 -1
  310. package/src/logger/messages/warn.ts +2 -2
  311. package/src/readiness/readinessManager.ts +2 -2
  312. package/src/readiness/sdkReadinessManager.ts +3 -3
  313. package/src/sdkClient/client.ts +2 -2
  314. package/src/sdkClient/clientAttributesDecoration.ts +122 -0
  315. package/src/sdkClient/clientCS.ts +13 -8
  316. package/src/sdkClient/clientInputValidation.ts +2 -2
  317. package/src/sdkClient/sdkClient.ts +3 -3
  318. package/src/sdkClient/sdkClientMethodCS.ts +4 -2
  319. package/src/sdkClient/sdkClientMethodCSWithTT.ts +4 -2
  320. package/src/sdkFactory/index.ts +6 -6
  321. package/src/sdkManager/index.ts +2 -2
  322. package/src/services/splitApi.ts +1 -1
  323. package/src/services/splitHttpClient.ts +1 -1
  324. package/src/storages/AbstractSegmentsCacheSync.ts +1 -1
  325. package/src/storages/AbstractSplitsCacheAsync.ts +1 -1
  326. package/src/storages/AbstractSplitsCacheSync.ts +1 -1
  327. package/src/storages/KeyBuilder.ts +1 -1
  328. package/src/storages/KeyBuilderCS.ts +2 -2
  329. package/src/storages/KeyBuilderSS.ts +2 -2
  330. package/src/storages/findLatencyIndex.ts +1 -1
  331. package/src/storages/inLocalStorage/MySegmentsCacheInLocal.ts +3 -3
  332. package/src/storages/inLocalStorage/SplitsCacheInLocal.ts +3 -3
  333. package/src/storages/inLocalStorage/index.ts +8 -8
  334. package/src/storages/inMemory/AttributesCacheInMemory.ts +73 -0
  335. package/src/storages/inMemory/CountsCacheInMemory.ts +1 -1
  336. package/src/storages/inMemory/EventsCacheInMemory.ts +1 -1
  337. package/src/storages/inMemory/ImpressionCountsCacheInMemory.ts +1 -1
  338. package/src/storages/inMemory/ImpressionsCacheInMemory.ts +1 -1
  339. package/src/storages/inMemory/InMemoryStorage.ts +5 -5
  340. package/src/storages/inMemory/InMemoryStorageCS.ts +5 -5
  341. package/src/storages/inMemory/LatenciesCacheInMemory.ts +2 -2
  342. package/src/storages/inMemory/MySegmentsCacheInMemory.ts +2 -2
  343. package/src/storages/inMemory/SegmentsCacheInMemory.ts +2 -2
  344. package/src/storages/inMemory/SplitsCacheInMemory.ts +2 -2
  345. package/src/storages/inRedis/CountsCacheInRedis.ts +2 -2
  346. package/src/storages/inRedis/EventsCacheInRedis.ts +1 -1
  347. package/src/storages/inRedis/ImpressionsCacheInRedis.ts +1 -1
  348. package/src/storages/inRedis/LatenciesCacheInRedis.ts +3 -3
  349. package/src/storages/inRedis/RedisAdapter.ts +3 -3
  350. package/src/storages/inRedis/SegmentsCacheInRedis.ts +2 -2
  351. package/src/storages/inRedis/SplitsCacheInRedis.ts +3 -3
  352. package/src/storages/inRedis/index.ts +8 -8
  353. package/src/storages/pluggable/SegmentsCachePluggable.ts +1 -1
  354. package/src/storages/pluggable/SplitsCachePluggable.ts +2 -2
  355. package/src/storages/pluggable/index.ts +4 -4
  356. package/src/storages/types.ts +2 -2
  357. package/src/sync/offline/splitsParser/parseCondition.ts +1 -1
  358. package/src/sync/offline/splitsParser/splitsParserFromFile.ts +1 -1
  359. package/src/sync/offline/splitsParser/splitsParserFromSettings.ts +1 -1
  360. package/src/sync/offline/syncManagerOffline.ts +2 -2
  361. package/src/sync/offline/syncTasks/fromObjectSyncTask.ts +2 -2
  362. package/src/sync/polling/fetchers/mySegmentsFetcher.ts +1 -1
  363. package/src/sync/polling/fetchers/segmentChangesFetcher.ts +1 -1
  364. package/src/sync/polling/fetchers/splitChangesFetcher.ts +1 -1
  365. package/src/sync/polling/pollingManagerCS.ts +3 -3
  366. package/src/sync/polling/pollingManagerSS.ts +4 -4
  367. package/src/sync/polling/syncTasks/mySegmentsSyncTask.ts +3 -3
  368. package/src/sync/polling/syncTasks/segmentsSyncTask.ts +3 -3
  369. package/src/sync/polling/syncTasks/splitsSyncTask.ts +3 -3
  370. package/src/sync/polling/updaters/mySegmentsUpdater.ts +1 -1
  371. package/src/sync/polling/updaters/segmentChangesUpdater.ts +1 -1
  372. package/src/sync/polling/updaters/splitChangesUpdater.ts +6 -3
  373. package/src/sync/streaming/AuthClient/index.ts +1 -1
  374. package/src/sync/streaming/SSEClient/index.ts +1 -1
  375. package/src/sync/streaming/SSEHandler/NotificationKeeper.ts +1 -1
  376. package/src/sync/streaming/SSEHandler/index.ts +2 -2
  377. package/src/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.ts +2 -2
  378. package/src/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.ts +2 -2
  379. package/src/sync/streaming/UpdateWorkers/SplitsUpdateWorker.ts +2 -2
  380. package/src/sync/streaming/UpdateWorkers/types.ts +1 -1
  381. package/src/sync/streaming/pushManager.ts +10 -9
  382. package/src/sync/submitters/submitterSyncTask.ts +1 -1
  383. package/src/sync/syncTask.ts +1 -1
  384. package/src/trackers/eventTracker.ts +3 -3
  385. package/src/trackers/impressionObserver/ImpressionObserver.ts +2 -2
  386. package/src/trackers/impressionObserver/impressionObserverCS.ts +1 -1
  387. package/src/trackers/impressionObserver/impressionObserverSS.ts +1 -1
  388. package/src/trackers/impressionsTracker.ts +3 -3
  389. package/src/types.ts +39 -0
  390. package/src/utils/Backoff.ts +1 -1
  391. package/src/utils/LRUCache/index.ts +1 -1
  392. package/src/utils/MinEventEmitter.ts +1 -1
  393. package/src/utils/inputValidation/attribute.ts +21 -0
  394. package/src/utils/inputValidation/attributes.ts +14 -0
  395. package/src/utils/inputValidation/trafficTypeExistance.ts +1 -1
  396. package/src/utils/lang/binarySearch.ts +1 -1
  397. package/src/utils/lang/objectAssign.ts +104 -0
  398. package/src/utils/promise/thenable.ts +3 -1
  399. package/src/utils/promise/timeout.ts +1 -1
  400. package/src/utils/promise/wrapper.ts +1 -1
  401. package/src/utils/settingsValidation/impressionsMode.ts +1 -1
  402. package/src/utils/settingsValidation/index.ts +3 -3
  403. package/src/utils/settingsValidation/mode.ts +1 -1
  404. package/src/utils/timeTracker/index.ts +4 -6
  405. package/src/utils/timeTracker/now/browser.ts +1 -3
  406. package/src/utils/timeTracker/now/node.ts +1 -1
  407. package/src/utils/timeTracker/timer.ts +1 -1
  408. package/types/evaluator/Engine.d.ts +1 -1
  409. package/types/evaluator/combiners/and.d.ts +1 -1
  410. package/types/evaluator/combiners/ifelseif.d.ts +1 -1
  411. package/types/evaluator/condition/index.d.ts +1 -1
  412. package/types/evaluator/matchers/all.d.ts +1 -1
  413. package/types/evaluator/matchers/between.d.ts +1 -1
  414. package/types/evaluator/matchers/boolean.d.ts +1 -1
  415. package/types/evaluator/matchers/cont_all.d.ts +1 -1
  416. package/types/evaluator/matchers/cont_any.d.ts +1 -1
  417. package/types/evaluator/matchers/cont_str.d.ts +1 -1
  418. package/types/evaluator/matchers/dependency.d.ts +1 -1
  419. package/types/evaluator/matchers/eq.d.ts +1 -1
  420. package/types/evaluator/matchers/eq_set.d.ts +1 -1
  421. package/types/evaluator/matchers/ew.d.ts +1 -1
  422. package/types/evaluator/matchers/gte.d.ts +1 -1
  423. package/types/evaluator/matchers/index.d.ts +1 -1
  424. package/types/evaluator/matchers/lte.d.ts +1 -1
  425. package/types/evaluator/matchers/part_of.d.ts +1 -1
  426. package/types/evaluator/matchers/segment.d.ts +1 -1
  427. package/types/evaluator/matchers/string.d.ts +1 -1
  428. package/types/evaluator/matchers/sw.d.ts +1 -1
  429. package/types/evaluator/matchers/whitelist.d.ts +1 -1
  430. package/types/evaluator/matchersTransform/index.d.ts +1 -1
  431. package/types/evaluator/matchersTransform/segment.d.ts +1 -1
  432. package/types/evaluator/matchersTransform/set.d.ts +1 -1
  433. package/types/evaluator/matchersTransform/unaryNumeric.d.ts +1 -1
  434. package/types/evaluator/matchersTransform/whitelist.d.ts +1 -1
  435. package/types/evaluator/parser/index.d.ts +1 -1
  436. package/types/evaluator/treatments/index.d.ts +1 -1
  437. package/types/evaluator/value/index.d.ts +1 -1
  438. package/types/evaluator/value/sanitize.d.ts +1 -1
  439. package/types/integrations/browser.d.ts +1 -1
  440. package/types/integrations/pluggable.d.ts +1 -1
  441. package/types/listeners/browser.d.ts +1 -1
  442. package/types/listeners/node.d.ts +1 -1
  443. package/types/logger/browser/{debugLogger.d.ts → DebugLogger.d.ts} +0 -0
  444. package/types/logger/browser/{errorLogger.d.ts → ErrorLogger.d.ts} +0 -0
  445. package/types/logger/browser/{infoLogger.d.ts → InfoLogger.d.ts} +0 -0
  446. package/types/logger/browser/{warnLogger.d.ts → WarnLogger.d.ts} +0 -0
  447. package/types/readiness/sdkReadinessManager.d.ts +1 -1
  448. package/types/sdkClient/client.d.ts +1 -1
  449. package/types/sdkClient/clientAttributesDecoration.d.ts +51 -0
  450. package/types/sdkClient/clientCS.d.ts +2 -1
  451. package/types/sdkClient/clientInputValidation.d.ts +1 -1
  452. package/types/storages/AbstractSegmentsCacheSync.d.ts +1 -1
  453. package/types/storages/AbstractSplitsCacheAsync.d.ts +1 -1
  454. package/types/storages/AbstractSplitsCacheSync.d.ts +1 -1
  455. package/types/storages/KeyBuilder.d.ts +1 -1
  456. package/types/storages/KeyBuilderCS.d.ts +2 -2
  457. package/types/storages/KeyBuilderSS.d.ts +2 -2
  458. package/types/storages/findLatencyIndex.d.ts +1 -1
  459. package/types/storages/inLocalStorage/MySegmentsCacheInLocal.d.ts +3 -3
  460. package/types/storages/inLocalStorage/SplitsCacheInLocal.d.ts +3 -3
  461. package/types/storages/inMemory/AttributesCacheInMemory.d.ts +43 -0
  462. package/types/storages/inMemory/CountsCacheInMemory.d.ts +1 -1
  463. package/types/storages/inMemory/EventsCacheInMemory.d.ts +1 -1
  464. package/types/storages/inMemory/ImpressionCountsCacheInMemory.d.ts +1 -1
  465. package/types/storages/inMemory/ImpressionsCacheInMemory.d.ts +1 -1
  466. package/types/storages/inMemory/LatenciesCacheInMemory.d.ts +1 -1
  467. package/types/storages/inMemory/MySegmentsCacheInMemory.d.ts +2 -2
  468. package/types/storages/inMemory/SegmentsCacheInMemory.d.ts +2 -2
  469. package/types/storages/inMemory/SplitsCacheInMemory.d.ts +2 -2
  470. package/types/storages/inRedis/CountsCacheInRedis.d.ts +2 -2
  471. package/types/storages/inRedis/EventsCacheInRedis.d.ts +1 -1
  472. package/types/storages/inRedis/ImpressionsCacheInRedis.d.ts +1 -1
  473. package/types/storages/inRedis/LatenciesCacheInRedis.d.ts +2 -2
  474. package/types/storages/inRedis/RedisAdapter.d.ts +1 -1
  475. package/types/storages/inRedis/SegmentsCacheInRedis.d.ts +2 -2
  476. package/types/storages/inRedis/SplitsCacheInRedis.d.ts +3 -3
  477. package/types/storages/pluggable/SegmentsCachePluggable.d.ts +1 -1
  478. package/types/storages/pluggable/SplitsCachePluggable.d.ts +2 -2
  479. package/types/storages/types.d.ts +2 -2
  480. package/types/sync/offline/splitsParser/parseCondition.d.ts +1 -1
  481. package/types/sync/offline/syncTasks/fromObjectSyncTask.d.ts +1 -1
  482. package/types/sync/polling/fetchers/mySegmentsFetcher.d.ts +1 -1
  483. package/types/sync/polling/fetchers/segmentChangesFetcher.d.ts +1 -1
  484. package/types/sync/polling/fetchers/splitChangesFetcher.d.ts +1 -1
  485. package/types/sync/polling/pollingManagerCS.d.ts +1 -1
  486. package/types/sync/polling/pollingManagerSS.d.ts +1 -1
  487. package/types/sync/polling/syncTasks/mySegmentsSyncTask.d.ts +1 -1
  488. package/types/sync/polling/syncTasks/segmentsSyncTask.d.ts +1 -1
  489. package/types/sync/polling/syncTasks/splitsSyncTask.d.ts +1 -1
  490. package/types/sync/streaming/SSEClient/index.d.ts +1 -1
  491. package/types/sync/streaming/SSEHandler/NotificationKeeper.d.ts +1 -1
  492. package/types/sync/streaming/SSEHandler/index.d.ts +1 -1
  493. package/types/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.d.ts +2 -2
  494. package/types/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.d.ts +2 -2
  495. package/types/sync/streaming/UpdateWorkers/SplitsUpdateWorker.d.ts +2 -2
  496. package/types/sync/streaming/UpdateWorkers/types.d.ts +1 -1
  497. package/types/sync/streaming/pushManager.d.ts +1 -1
  498. package/types/sync/syncTask.d.ts +1 -1
  499. package/types/trackers/eventTracker.d.ts +1 -1
  500. package/types/trackers/impressionObserver/ImpressionObserver.d.ts +1 -1
  501. package/types/trackers/impressionObserver/impressionObserverCS.d.ts +1 -1
  502. package/types/trackers/impressionObserver/impressionObserverSS.d.ts +1 -1
  503. package/types/trackers/impressionsTracker.d.ts +1 -1
  504. package/types/types.d.ts +39 -0
  505. package/types/utils/Backoff.d.ts +1 -1
  506. package/types/utils/LRUCache/index.d.ts +1 -1
  507. package/types/utils/MinEventEmitter.d.ts +1 -1
  508. package/types/utils/inputValidation/attribute.d.ts +2 -0
  509. package/types/utils/inputValidation/attributes.d.ts +1 -0
  510. package/types/utils/lang/binarySearch.d.ts +1 -1
  511. package/types/utils/lang/objectAssign.d.ts +3 -0
  512. package/types/utils/promise/thenable.d.ts +1 -2
  513. package/types/utils/promise/timeout.d.ts +1 -1
  514. package/types/utils/promise/wrapper.d.ts +1 -1
  515. package/types/utils/settingsValidation/impressionsMode.d.ts +1 -1
  516. package/types/utils/settingsValidation/mode.d.ts +1 -1
  517. package/types/utils/timeTracker/index.d.ts +2 -2
  518. package/types/utils/timeTracker/now/browser.d.ts +1 -2
  519. package/types/utils/timeTracker/now/node.d.ts +1 -1
  520. package/types/utils/timeTracker/timer.d.ts +1 -1
  521. package/src/logger/.DS_Store +0 -0
  522. package/types/integrations/ga/GaToSplitPlugin.d.ts +0 -3
  523. package/types/integrations/ga/SplitToGaPlugin.d.ts +0 -4
  524. package/types/logger/codes.d.ts +0 -2
  525. package/types/logger/codesConstants.d.ts +0 -117
  526. package/types/logger/codesConstantsBrowser.d.ts +0 -2
  527. package/types/logger/codesConstantsNode.d.ts +0 -14
  528. package/types/logger/codesDebug.d.ts +0 -1
  529. package/types/logger/codesDebugBrowser.d.ts +0 -1
  530. package/types/logger/codesDebugNode.d.ts +0 -1
  531. package/types/logger/codesError.d.ts +0 -1
  532. package/types/logger/codesErrorNode.d.ts +0 -1
  533. package/types/logger/codesInfo.d.ts +0 -1
  534. package/types/logger/codesWarn.d.ts +0 -1
  535. package/types/logger/codesWarnNode.d.ts +0 -1
  536. package/types/logger/debugLogger.d.ts +0 -2
  537. package/types/logger/errorLogger.d.ts +0 -2
  538. package/types/logger/infoLogger.d.ts +0 -2
  539. package/types/logger/messages/debugBrowser.d.ts +0 -1
  540. package/types/logger/messages/debugNode.d.ts +0 -1
  541. package/types/logger/messages/errorNode.d.ts +0 -1
  542. package/types/logger/messages/warnNode.d.ts +0 -1
  543. package/types/logger/noopLogger.d.ts +0 -2
  544. package/types/logger/warnLogger.d.ts +0 -2
  545. package/types/sdkManager/sdkManagerMethod.d.ts +0 -6
  546. package/types/storages/getRegisteredSegments.d.ts +0 -10
  547. package/types/sync/polling/syncTasks/splitsSyncTask.copy.d.ts +0 -35
  548. package/types/sync/polling/syncTasks/splitsSyncTask.morelikeoriginal.d.ts +0 -35
  549. package/types/sync/streaming/AuthClient/indexV1.d.ts +0 -12
  550. package/types/sync/streaming/AuthClient/indexV2.d.ts +0 -8
  551. package/types/sync/streaming/pushManagerCS.d.ts +0 -12
  552. package/types/sync/streaming/pushManagerNoUsers.d.ts +0 -13
  553. package/types/sync/streaming/pushManagerSS.d.ts +0 -11
  554. package/types/sync/syncManagerFromFile.d.ts +0 -2
  555. package/types/sync/syncManagerFromObject.d.ts +0 -2
  556. package/types/sync/syncManagerOffline.d.ts +0 -9
  557. package/types/utils/lang/errors.d.ts +0 -10
  558. package/types/utils/murmur3/commons.d.ts +0 -12
  559. package/types/utils/settingsValidation/buildMetadata.d.ts +0 -3
  560. package/types/utils/settingsValidation/localhost/index.d.ts +0 -9
  561. package/types/utils/settingsValidation/logger.d.ts +0 -11
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sdkClientMethodCSFactory = void 0;
4
- var tslib_1 = require("tslib");
5
- var clientCS_1 = tslib_1.__importDefault(require("./clientCS"));
4
+ var clientCS_1 = require("./clientCS");
6
5
  var key_1 = require("../utils/inputValidation/key");
7
6
  var key_2 = require("../utils/key");
8
7
  var sdkClient_1 = require("./sdkClient");
9
- var object_assign_1 = tslib_1.__importDefault(require("object-assign"));
8
+ var objectAssign_1 = require("../utils/lang/objectAssign");
10
9
  var constants_1 = require("../logger/constants");
11
10
  var constants_2 = require("../readiness/constants");
12
11
  function buildInstanceId(key) {
@@ -24,7 +23,7 @@ function sdkClientMethodCSFactory(params) {
24
23
  // `false` value is used as binded key of the default client, but trafficType is ignored
25
24
  // @TODO handle as a non-recoverable error
26
25
  var validKey = key_1.validateKey(log, key, method);
27
- var mainClientInstance = clientCS_1.default(sdkClient_1.sdkClientFactory(params), // @ts-ignore
26
+ var mainClientInstance = clientCS_1.clientCSDecorator(log, sdkClient_1.sdkClientFactory(params), // @ts-ignore
28
27
  validKey);
29
28
  var parsedDefaultKey = key_2.keyParser(key);
30
29
  var defaultInstanceId = buildInstanceId(parsedDefaultKey);
@@ -59,7 +58,7 @@ function sdkClientMethodCSFactory(params) {
59
58
  var sharedSyncManager = syncManager && sharedStorage && syncManager.shared(matchingKey, sharedSdkReadiness_1.readinessManager, sharedStorage);
60
59
  // As shared clients reuse all the storage information, we don't need to check here if we
61
60
  // will use offline or online mode. We should stick with the original decision.
62
- clientInstances[instanceId] = clientCS_1.default(sdkClient_1.sdkClientFactory(object_assign_1.default({}, params, {
61
+ clientInstances[instanceId] = clientCS_1.clientCSDecorator(log, sdkClient_1.sdkClientFactory(objectAssign_1.objectAssign({}, params, {
63
62
  sdkReadinessManager: sharedSdkReadiness_1,
64
63
  storage: sharedStorage || storage,
65
64
  syncManager: sharedSyncManager,
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sdkClientMethodCSFactory = void 0;
4
- var tslib_1 = require("tslib");
5
- var clientCS_1 = tslib_1.__importDefault(require("./clientCS"));
4
+ var clientCS_1 = require("./clientCS");
6
5
  var key_1 = require("../utils/inputValidation/key");
7
6
  var trafficType_1 = require("../utils/inputValidation/trafficType");
8
7
  var key_2 = require("../utils/key");
9
8
  var sdkClient_1 = require("./sdkClient");
10
- var object_assign_1 = tslib_1.__importDefault(require("object-assign"));
9
+ var objectAssign_1 = require("../utils/lang/objectAssign");
11
10
  var constants_1 = require("../logger/constants");
12
11
  var constants_2 = require("../readiness/constants");
13
12
  function buildInstanceId(key, trafficType) {
@@ -30,7 +29,7 @@ function sdkClientMethodCSFactory(params) {
30
29
  if (trafficType !== undefined) {
31
30
  validTrafficType = trafficType_1.validateTrafficType(log, trafficType, method);
32
31
  }
33
- var mainClientInstance = clientCS_1.default(sdkClient_1.sdkClientFactory(params), // @ts-ignore
32
+ var mainClientInstance = clientCS_1.clientCSDecorator(log, sdkClient_1.sdkClientFactory(params), // @ts-ignore
34
33
  validKey, validTrafficType);
35
34
  var parsedDefaultKey = key_2.keyParser(key);
36
35
  var defaultInstanceId = buildInstanceId(parsedDefaultKey, trafficType);
@@ -72,7 +71,7 @@ function sdkClientMethodCSFactory(params) {
72
71
  var sharedSyncManager = syncManager && sharedStorage && syncManager.shared(matchingKey, sharedSdkReadiness_1.readinessManager, sharedStorage);
73
72
  // As shared clients reuse all the storage information, we don't need to check here if we
74
73
  // will use offline or online mode. We should stick with the original decision.
75
- clientInstances[instanceId] = clientCS_1.default(sdkClient_1.sdkClientFactory(object_assign_1.default({}, params, {
74
+ clientInstances[instanceId] = clientCS_1.clientCSDecorator(log, sdkClient_1.sdkClientFactory(objectAssign_1.objectAssign({}, params, {
76
75
  sdkReadinessManager: sharedSdkReadiness_1,
77
76
  storage: sharedStorage || storage,
78
77
  syncManager: sharedSyncManager,
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sdkFactory = void 0;
4
- var tslib_1 = require("tslib");
5
- var sdkReadinessManager_1 = tslib_1.__importDefault(require("../readiness/sdkReadinessManager"));
6
- var impressionsTracker_1 = tslib_1.__importDefault(require("../trackers/impressionsTracker"));
7
- var eventTracker_1 = tslib_1.__importDefault(require("../trackers/eventTracker"));
4
+ var sdkReadinessManager_1 = require("../readiness/sdkReadinessManager");
5
+ var impressionsTracker_1 = require("../trackers/impressionsTracker");
6
+ var eventTracker_1 = require("../trackers/eventTracker");
8
7
  var key_1 = require("../utils/key");
9
8
  var utils_1 = require("../trackers/impressionObserver/utils");
10
9
  var apiKey_1 = require("../utils/inputValidation/apiKey");
@@ -22,7 +21,7 @@ function sdkFactory(params) {
22
21
  // We will just log and allow for the SDK to end up throwing an SDK_TIMEOUT event for devs to handle.
23
22
  apiKey_1.validateAndTrackApiKey(log, settings.core.authorizationKey);
24
23
  // @TODO handle non-recoverable error, such as, `fetch` api not available, invalid API Key, etc.
25
- var sdkReadinessManager = sdkReadinessManager_1.default(log, platform.EventEmitter, settings.startup.readyTimeout);
24
+ var sdkReadinessManager = sdkReadinessManager_1.sdkReadinessManagerFactory(log, platform.EventEmitter, settings.startup.readyTimeout);
26
25
  var readinessManager = sdkReadinessManager.readinessManager;
27
26
  // @TODO consider passing the settings object, so that each storage access only what it needs
28
27
  var storageFactoryParams = {
@@ -33,11 +32,11 @@ function sdkFactory(params) {
33
32
  splitFiltersValidation: settings.sync.__splitFiltersValidation,
34
33
  // ATM, only used by PluggableStorage
35
34
  mode: settings.mode,
36
- // Callback used to emit SDK_READY in consumer mode, where `syncManagerFactory` is undefined
37
- // or only instantiates submitters, and therefore it is not able to emit readiness events.
35
+ // Callback used to emit SDK_READY in consumer mode, where `syncManagerFactory` is undefined,
36
+ // or partial consumer mode, where it only has submitters, and therefore it doesn't emit readiness events.
38
37
  onReadyCb: function (error) {
39
38
  if (error)
40
- return; // don't emit SDK_READY if storage failed to connect.
39
+ return; // Don't emit SDK_READY if storage failed to connect. Error message is logged by wrapperAdapter
41
40
  readinessManager.splits.emit(constants_2.SDK_SPLITS_ARRIVED);
42
41
  readinessManager.segments.emit(constants_2.SDK_SEGMENTS_ARRIVED);
43
42
  },
@@ -58,8 +57,8 @@ function sdkFactory(params) {
58
57
  var integrationsManager = integrationsManagerFactory && integrationsManagerFactory({ settings: settings, storage: storage });
59
58
  // trackers
60
59
  var observer = impressionsObserverFactory && impressionsObserverFactory();
61
- var impressionsTracker = impressionsTracker_1.default(log, storage.impressions, settings, impressionListener, integrationsManager, observer, storage.impressionCounts);
62
- var eventTracker = eventTracker_1.default(log, storage.events, integrationsManager);
60
+ var impressionsTracker = impressionsTracker_1.impressionsTrackerFactory(log, storage.impressions, settings, impressionListener, integrationsManager, observer, storage.impressionCounts);
61
+ var eventTracker = eventTracker_1.eventTrackerFactory(log, storage.events, integrationsManager);
63
62
  // signal listener
64
63
  var signalListener = SignalListener && new SignalListener(syncManager, settings, storage, splitApi);
65
64
  // Sdk client and manager
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sdkManagerFactory = void 0;
4
- var tslib_1 = require("tslib");
5
- var object_assign_1 = tslib_1.__importDefault(require("object-assign"));
6
- var thenable_1 = tslib_1.__importDefault(require("../utils/promise/thenable"));
4
+ var objectAssign_1 = require("../utils/lang/objectAssign");
5
+ var thenable_1 = require("../utils/promise/thenable");
7
6
  var lang_1 = require("../utils/lang");
8
7
  var inputValidation_1 = require("../utils/inputValidation");
9
8
  function collectTreatments(splitObject) {
@@ -48,7 +47,7 @@ function objectsToViews(jsons) {
48
47
  function sdkManagerFactory(log, splits, _a) {
49
48
  var readinessManager = _a.readinessManager, sdkStatus = _a.sdkStatus;
50
49
  var SPLIT_FN_LABEL = 'split';
51
- return object_assign_1.default(
50
+ return objectAssign_1.objectAssign(
52
51
  // Proto-linkage of the readiness Event Emitter
53
52
  Object.create(sdkStatus), {
54
53
  /**
@@ -60,7 +59,7 @@ function sdkManagerFactory(log, splits, _a) {
60
59
  return null;
61
60
  }
62
61
  var split = splits.getSplit(splitName);
63
- if (thenable_1.default(split)) {
62
+ if (thenable_1.thenable(split)) {
64
63
  return split.catch(function () { return null; }).then(function (result) {
65
64
  inputValidation_1.validateSplitExistance(log, readinessManager, splitName, result, SPLIT_FN_LABEL);
66
65
  return objectToView(result);
@@ -77,7 +76,7 @@ function sdkManagerFactory(log, splits, _a) {
77
76
  return [];
78
77
  }
79
78
  var currentSplits = splits.getAll();
80
- return thenable_1.default(currentSplits) ?
79
+ return thenable_1.thenable(currentSplits) ?
81
80
  currentSplits.catch(function () { return []; }).then(objectsToViews) : // handle possible rejections when using pluggable storage
82
81
  objectsToViews(currentSplits);
83
82
  },
@@ -89,7 +88,7 @@ function sdkManagerFactory(log, splits, _a) {
89
88
  return [];
90
89
  }
91
90
  var splitNames = splits.getSplitNames();
92
- return thenable_1.default(splitNames) ?
91
+ return thenable_1.thenable(splitNames) ?
93
92
  splitNames.catch(function () { return []; }) : // handle possible rejections when using pluggable storage
94
93
  splitNames;
95
94
  }
@@ -1,9 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.splitApiFactory = void 0;
4
- var tslib_1 = require("tslib");
5
4
  var splitHttpClient_1 = require("./splitHttpClient");
6
- var object_assign_1 = tslib_1.__importDefault(require("object-assign"));
5
+ var objectAssign_1 = require("../utils/lang/objectAssign");
7
6
  var noCacheHeaderOptions = { headers: { 'Cache-Control': 'no-cache' } };
8
7
  function userKeyToQueryParam(userKey) {
9
8
  return 'users=' + encodeURIComponent(userKey); // no need to check availability of `encodeURIComponent`, since it is a global highly supported.
@@ -76,7 +75,7 @@ function splitApiFactory(settings, platform) {
76
75
  return splitHttpClient(url, {
77
76
  // Adding extra headers to send impressions in OPTIMIZED or DEBUG modes.
78
77
  method: 'POST',
79
- body: body, headers: object_assign_1.default({ SplitSDKImpressionsMode: SplitSDKImpressionsMode }, headers)
78
+ body: body, headers: objectAssign_1.objectAssign({ SplitSDKImpressionsMode: SplitSDKImpressionsMode }, headers)
80
79
  });
81
80
  },
82
81
  /**
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.splitHttpClientFactory = void 0;
4
- var tslib_1 = require("tslib");
5
- var object_assign_1 = tslib_1.__importDefault(require("object-assign"));
4
+ var objectAssign_1 = require("../utils/lang/objectAssign");
6
5
  var constants_1 = require("../logger/constants");
7
6
  var messageNoFetch = 'Global fetch API is not available.';
8
7
  /**
@@ -32,8 +31,8 @@ function splitHttpClientFactory(settings, getFetch, getOptions) {
32
31
  return function httpClient(url, reqOpts, logErrorsAsInfo) {
33
32
  if (reqOpts === void 0) { reqOpts = {}; }
34
33
  if (logErrorsAsInfo === void 0) { logErrorsAsInfo = false; }
35
- var request = object_assign_1.default({
36
- headers: reqOpts.headers ? object_assign_1.default({}, headers, reqOpts.headers) : headers,
34
+ var request = objectAssign_1.objectAssign({
35
+ headers: reqOpts.headers ? objectAssign_1.objectAssign({}, headers, reqOpts.headers) : headers,
37
36
  method: reqOpts.method || 'GET',
38
37
  body: reqOpts.body
39
38
  }, options);
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AbstractSegmentsCacheSync = void 0;
3
4
  /**
4
5
  * This class provides a skeletal implementation of the ISegmentsCacheSync interface
5
6
  * to minimize the effort required to implement this interface.
@@ -34,4 +35,4 @@ var AbstractSegmentsCacheSync = /** @class */ (function () {
34
35
  AbstractSegmentsCacheSync.prototype.resetSegments = function (names) { return true; };
35
36
  return AbstractSegmentsCacheSync;
36
37
  }());
37
- exports.default = AbstractSegmentsCacheSync;
38
+ exports.AbstractSegmentsCacheSync = AbstractSegmentsCacheSync;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AbstractSplitsCacheAsync = void 0;
3
4
  /**
4
5
  * This class provides a skeletal implementation of the ISplitsCacheAsync interface
5
6
  * to minimize the effort required to implement this interface.
@@ -48,4 +49,4 @@ var AbstractSplitsCacheAsync = /** @class */ (function () {
48
49
  };
49
50
  return AbstractSplitsCacheAsync;
50
51
  }());
51
- exports.default = AbstractSplitsCacheAsync;
52
+ exports.AbstractSplitsCacheAsync = AbstractSplitsCacheAsync;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.usesSegments = void 0;
3
+ exports.usesSegments = exports.AbstractSplitsCacheSync = void 0;
4
4
  /**
5
5
  * This class provides a skeletal implementation of the ISplitsCacheSync interface
6
6
  * to minimize the effort required to implement this interface.
@@ -61,7 +61,7 @@ var AbstractSplitsCacheSync = /** @class */ (function () {
61
61
  };
62
62
  return AbstractSplitsCacheSync;
63
63
  }());
64
- exports.default = AbstractSplitsCacheSync;
64
+ exports.AbstractSplitsCacheSync = AbstractSplitsCacheSync;
65
65
  /**
66
66
  * Given a parsed split, it returns a boolean flagging if its conditions use segments matchers (rules & whitelists).
67
67
  * This util is intended to simplify the implementation of `splitsCache::usesSegments` method
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validatePrefix = void 0;
3
+ exports.KeyBuilder = exports.validatePrefix = void 0;
4
4
  var lang_1 = require("../utils/lang");
5
5
  var everythingAtTheEnd = /[^.]+$/;
6
6
  var DEFAULT_PREFIX = 'SPLITIO';
@@ -61,4 +61,4 @@ var KeyBuilder = /** @class */ (function () {
61
61
  };
62
62
  return KeyBuilder;
63
63
  }());
64
- exports.default = KeyBuilder;
64
+ exports.KeyBuilder = KeyBuilder;
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KeyBuilderCS = void 0;
3
4
  var tslib_1 = require("tslib");
4
5
  var lang_1 = require("../utils/lang");
5
- var KeyBuilder_1 = tslib_1.__importDefault(require("./KeyBuilder"));
6
+ var KeyBuilder_1 = require("./KeyBuilder");
6
7
  var KeyBuilderCS = /** @class */ (function (_super) {
7
8
  tslib_1.__extends(KeyBuilderCS, _super);
8
9
  function KeyBuilderCS(prefix, matchingKey) {
@@ -32,5 +33,5 @@ var KeyBuilderCS = /** @class */ (function (_super) {
32
33
  return this.prefix + ".splits.filterQuery";
33
34
  };
34
35
  return KeyBuilderCS;
35
- }(KeyBuilder_1.default));
36
- exports.default = KeyBuilderCS;
36
+ }(KeyBuilder_1.KeyBuilder));
37
+ exports.KeyBuilderCS = KeyBuilderCS;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KeyBuilderSS = void 0;
3
4
  var tslib_1 = require("tslib");
4
- var KeyBuilder_1 = tslib_1.__importDefault(require("./KeyBuilder"));
5
+ var KeyBuilder_1 = require("./KeyBuilder");
5
6
  // NOT USED
6
7
  // const everythingAfterCount = /count\.([^/]+)$/;
7
8
  // const latencyMetricNameAndBucket = /latency\.([^/]+)\.bucket\.([0-9]+)$/;
@@ -45,5 +46,5 @@ var KeyBuilderSS = /** @class */ (function (_super) {
45
46
  return this.buildSplitKeyPrefix() + "*";
46
47
  };
47
48
  return KeyBuilderSS;
48
- }(KeyBuilder_1.default));
49
- exports.default = KeyBuilderSS;
49
+ }(KeyBuilder_1.KeyBuilder));
50
+ exports.KeyBuilderSS = KeyBuilderSS;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findLatencyIndex = void 0;
3
4
  var lang_1 = require("../utils/lang");
4
5
  // @TODO add unit tests
5
6
  function findLatencyIndex(latency, min, max, base) {
@@ -9,4 +10,4 @@ function findLatencyIndex(latency, min, max, base) {
9
10
  var index = Math.min(max, Math.max(min, Math.floor(Math.log(latency) / Math.log(base))));
10
11
  return lang_1.isNaNNumber(index) ? 0 : index; // index is NaN if latency is not a positive number
11
12
  }
12
- exports.default = findLatencyIndex;
13
+ exports.findLatencyIndex = findLatencyIndex;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MySegmentsCacheInLocal = void 0;
3
4
  var tslib_1 = require("tslib");
4
- var AbstractSegmentsCacheSync_1 = tslib_1.__importDefault(require("../AbstractSegmentsCacheSync"));
5
+ var AbstractSegmentsCacheSync_1 = require("../AbstractSegmentsCacheSync");
5
6
  var constants_1 = require("./constants");
6
7
  var MySegmentsCacheInLocal = /** @class */ (function (_super) {
7
8
  tslib_1.__extends(MySegmentsCacheInLocal, _super);
@@ -87,5 +88,5 @@ var MySegmentsCacheInLocal = /** @class */ (function (_super) {
87
88
  return isDiff;
88
89
  };
89
90
  return MySegmentsCacheInLocal;
90
- }(AbstractSegmentsCacheSync_1.default));
91
- exports.default = MySegmentsCacheInLocal;
91
+ }(AbstractSegmentsCacheSync_1.AbstractSegmentsCacheSync));
92
+ exports.MySegmentsCacheInLocal = MySegmentsCacheInLocal;
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SplitsCacheInLocal = void 0;
3
4
  var tslib_1 = require("tslib");
4
- var AbstractSplitsCacheSync_1 = tslib_1.__importStar(require("../AbstractSplitsCacheSync"));
5
+ var AbstractSplitsCacheSync_1 = require("../AbstractSplitsCacheSync");
5
6
  var lang_1 = require("../../utils/lang");
6
7
  var constants_1 = require("./constants");
7
8
  /**
@@ -249,5 +250,5 @@ var SplitsCacheInLocal = /** @class */ (function (_super) {
249
250
  // if the filter didn't change, nothing is done
250
251
  };
251
252
  return SplitsCacheInLocal;
252
- }(AbstractSplitsCacheSync_1.default));
253
- exports.default = SplitsCacheInLocal;
253
+ }(AbstractSplitsCacheSync_1.AbstractSplitsCacheSync));
254
+ exports.SplitsCacheInLocal = SplitsCacheInLocal;
@@ -1,17 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InLocalStorage = void 0;
4
- var tslib_1 = require("tslib");
5
- var ImpressionsCacheInMemory_1 = tslib_1.__importDefault(require("../inMemory/ImpressionsCacheInMemory"));
6
- var ImpressionCountsCacheInMemory_1 = tslib_1.__importDefault(require("../inMemory/ImpressionCountsCacheInMemory"));
7
- var EventsCacheInMemory_1 = tslib_1.__importDefault(require("../inMemory/EventsCacheInMemory"));
4
+ var ImpressionsCacheInMemory_1 = require("../inMemory/ImpressionsCacheInMemory");
5
+ var ImpressionCountsCacheInMemory_1 = require("../inMemory/ImpressionCountsCacheInMemory");
6
+ var EventsCacheInMemory_1 = require("../inMemory/EventsCacheInMemory");
8
7
  var KeyBuilder_1 = require("../KeyBuilder");
9
- var KeyBuilderCS_1 = tslib_1.__importDefault(require("../KeyBuilderCS"));
8
+ var KeyBuilderCS_1 = require("../KeyBuilderCS");
10
9
  var isLocalStorageAvailable_1 = require("../../utils/env/isLocalStorageAvailable");
11
- var SplitsCacheInLocal_1 = tslib_1.__importDefault(require("./SplitsCacheInLocal"));
12
- var MySegmentsCacheInLocal_1 = tslib_1.__importDefault(require("./MySegmentsCacheInLocal"));
13
- var MySegmentsCacheInMemory_1 = tslib_1.__importDefault(require("../inMemory/MySegmentsCacheInMemory"));
14
- var SplitsCacheInMemory_1 = tslib_1.__importDefault(require("../inMemory/SplitsCacheInMemory"));
10
+ var SplitsCacheInLocal_1 = require("./SplitsCacheInLocal");
11
+ var MySegmentsCacheInLocal_1 = require("./MySegmentsCacheInLocal");
12
+ var MySegmentsCacheInMemory_1 = require("../inMemory/MySegmentsCacheInMemory");
13
+ var SplitsCacheInMemory_1 = require("../inMemory/SplitsCacheInMemory");
15
14
  var browser_1 = require("../../utils/constants/browser");
16
15
  var InMemoryStorageCS_1 = require("../inMemory/InMemoryStorageCS");
17
16
  var constants_1 = require("./constants");
@@ -29,33 +28,33 @@ function InLocalStorage(options) {
29
28
  return InMemoryStorageCS_1.InMemoryStorageCSFactory(params);
30
29
  }
31
30
  var log = params.log;
32
- var keys = new KeyBuilderCS_1.default(prefix, params.matchingKey);
31
+ var keys = new KeyBuilderCS_1.KeyBuilderCS(prefix, params.matchingKey);
33
32
  var expirationTimestamp = Date.now() - browser_1.DEFAULT_CACHE_EXPIRATION_IN_MILLIS;
34
33
  return {
35
- splits: new SplitsCacheInLocal_1.default(log, keys, expirationTimestamp, params.splitFiltersValidation),
36
- segments: new MySegmentsCacheInLocal_1.default(log, keys),
37
- impressions: new ImpressionsCacheInMemory_1.default(),
38
- impressionCounts: params.optimize ? new ImpressionCountsCacheInMemory_1.default() : undefined,
39
- events: new EventsCacheInMemory_1.default(params.eventsQueueSize),
34
+ splits: new SplitsCacheInLocal_1.SplitsCacheInLocal(log, keys, expirationTimestamp, params.splitFiltersValidation),
35
+ segments: new MySegmentsCacheInLocal_1.MySegmentsCacheInLocal(log, keys),
36
+ impressions: new ImpressionsCacheInMemory_1.ImpressionsCacheInMemory(),
37
+ impressionCounts: params.optimize ? new ImpressionCountsCacheInMemory_1.ImpressionCountsCacheInMemory() : undefined,
38
+ events: new EventsCacheInMemory_1.EventsCacheInMemory(params.eventsQueueSize),
40
39
  destroy: function () {
41
- this.splits = new SplitsCacheInMemory_1.default();
42
- this.segments = new MySegmentsCacheInMemory_1.default();
40
+ this.splits = new SplitsCacheInMemory_1.SplitsCacheInMemory();
41
+ this.segments = new MySegmentsCacheInMemory_1.MySegmentsCacheInMemory();
43
42
  this.impressions.clear();
44
43
  this.impressionCounts && this.impressionCounts.clear();
45
44
  this.events.clear();
46
45
  },
47
46
  // When using shared instanciation with MEMORY we reuse everything but segments (they are customer per key).
48
47
  shared: function (matchingKey) {
49
- var childKeysBuilder = new KeyBuilderCS_1.default(prefix, matchingKey);
48
+ var childKeysBuilder = new KeyBuilderCS_1.KeyBuilderCS(prefix, matchingKey);
50
49
  return {
51
50
  splits: this.splits,
52
- segments: new MySegmentsCacheInLocal_1.default(log, childKeysBuilder),
51
+ segments: new MySegmentsCacheInLocal_1.MySegmentsCacheInLocal(log, childKeysBuilder),
53
52
  impressions: this.impressions,
54
53
  impressionCounts: this.impressionCounts,
55
54
  events: this.events,
56
55
  destroy: function () {
57
- this.splits = new SplitsCacheInMemory_1.default();
58
- this.segments = new MySegmentsCacheInMemory_1.default();
56
+ this.splits = new SplitsCacheInMemory_1.SplitsCacheInMemory();
57
+ this.segments = new MySegmentsCacheInMemory_1.MySegmentsCacheInMemory();
59
58
  }
60
59
  };
61
60
  },
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AttributesCacheInMemory = void 0;
4
+ var objectAssign_1 = require("../../utils/lang/objectAssign");
5
+ var AttributesCacheInMemory = /** @class */ (function () {
6
+ function AttributesCacheInMemory() {
7
+ this.attributesCache = {};
8
+ }
9
+ /**
10
+ * Create or update the value for the given attribute
11
+ *
12
+ * @param {string} attributeName attribute name
13
+ * @param {Object} attributeValue attribute value
14
+ * @returns {boolean} the attribute was stored
15
+ */
16
+ AttributesCacheInMemory.prototype.setAttribute = function (attributeName, attributeValue) {
17
+ this.attributesCache[attributeName] = attributeValue;
18
+ return true;
19
+ };
20
+ /**
21
+ * Retrieves the value of a given attribute
22
+ *
23
+ * @param {string} attributeName attribute name
24
+ * @returns {Object?} stored attribute value
25
+ */
26
+ AttributesCacheInMemory.prototype.getAttribute = function (attributeName) {
27
+ return this.attributesCache[attributeName];
28
+ };
29
+ /**
30
+ * Create or update all the given attributes
31
+ *
32
+ * @param {[string, Object]} attributes attributes to create or update
33
+ * @returns {boolean} attributes were stored
34
+ */
35
+ AttributesCacheInMemory.prototype.setAttributes = function (attributes) {
36
+ this.attributesCache = objectAssign_1.objectAssign(this.attributesCache, attributes);
37
+ return true;
38
+ };
39
+ /**
40
+ * Retrieve the full attributes map
41
+ *
42
+ * @returns {Map<string, Object>} stored attributes
43
+ */
44
+ AttributesCacheInMemory.prototype.getAll = function () {
45
+ return this.attributesCache;
46
+ };
47
+ /**
48
+ * Removes a given attribute from the map
49
+ *
50
+ * @param {string} attributeName attribute to remove
51
+ * @returns {boolean} attribute removed
52
+ */
53
+ AttributesCacheInMemory.prototype.removeAttribute = function (attributeName) {
54
+ if (Object.keys(this.attributesCache).indexOf(attributeName) >= 0) {
55
+ delete this.attributesCache[attributeName];
56
+ return true;
57
+ }
58
+ return false;
59
+ };
60
+ /**
61
+ * Clears all attributes stored in the SDK
62
+ *
63
+ */
64
+ AttributesCacheInMemory.prototype.clear = function () {
65
+ this.attributesCache = {};
66
+ return true;
67
+ };
68
+ return AttributesCacheInMemory;
69
+ }());
70
+ exports.AttributesCacheInMemory = AttributesCacheInMemory;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CountsCacheInMemory = void 0;
3
4
  var CountsCacheInMemory = /** @class */ (function () {
4
5
  function CountsCacheInMemory() {
5
6
  this.counters = {};
@@ -34,4 +35,4 @@ var CountsCacheInMemory = /** @class */ (function () {
34
35
  };
35
36
  return CountsCacheInMemory;
36
37
  }());
37
- exports.default = CountsCacheInMemory;
38
+ exports.CountsCacheInMemory = CountsCacheInMemory;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EventsCacheInMemory = void 0;
3
4
  var MAX_QUEUE_BYTE_SIZE = 5 * 1024 * 1024; // 5M
4
5
  var EventsCacheInMemory = /** @class */ (function () {
5
6
  /**
@@ -57,4 +58,4 @@ var EventsCacheInMemory = /** @class */ (function () {
57
58
  };
58
59
  return EventsCacheInMemory;
59
60
  }());
60
- exports.default = EventsCacheInMemory;
61
+ exports.EventsCacheInMemory = EventsCacheInMemory;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ImpressionCountsCacheInMemory = void 0;
3
4
  var time_1 = require("../../utils/time");
4
5
  var ImpressionCountsCacheInMemory = /** @class */ (function () {
5
6
  function ImpressionCountsCacheInMemory() {
@@ -33,4 +34,4 @@ var ImpressionCountsCacheInMemory = /** @class */ (function () {
33
34
  };
34
35
  return ImpressionCountsCacheInMemory;
35
36
  }());
36
- exports.default = ImpressionCountsCacheInMemory;
37
+ exports.ImpressionCountsCacheInMemory = ImpressionCountsCacheInMemory;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ImpressionsCacheInMemory = void 0;
3
4
  var ImpressionsCacheInMemory = /** @class */ (function () {
4
5
  function ImpressionsCacheInMemory() {
5
6
  this.queue = [];
@@ -31,4 +32,4 @@ var ImpressionsCacheInMemory = /** @class */ (function () {
31
32
  };
32
33
  return ImpressionsCacheInMemory;
33
34
  }());
34
- exports.default = ImpressionsCacheInMemory;
35
+ exports.ImpressionsCacheInMemory = ImpressionsCacheInMemory;
@@ -1,12 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.InMemoryStorageFactory = void 0;
4
- var tslib_1 = require("tslib");
5
- var SplitsCacheInMemory_1 = tslib_1.__importDefault(require("./SplitsCacheInMemory"));
6
- var SegmentsCacheInMemory_1 = tslib_1.__importDefault(require("./SegmentsCacheInMemory"));
7
- var ImpressionsCacheInMemory_1 = tslib_1.__importDefault(require("./ImpressionsCacheInMemory"));
8
- var EventsCacheInMemory_1 = tslib_1.__importDefault(require("./EventsCacheInMemory"));
9
- var ImpressionCountsCacheInMemory_1 = tslib_1.__importDefault(require("./ImpressionCountsCacheInMemory"));
4
+ var SplitsCacheInMemory_1 = require("./SplitsCacheInMemory");
5
+ var SegmentsCacheInMemory_1 = require("./SegmentsCacheInMemory");
6
+ var ImpressionsCacheInMemory_1 = require("./ImpressionsCacheInMemory");
7
+ var EventsCacheInMemory_1 = require("./EventsCacheInMemory");
8
+ var ImpressionCountsCacheInMemory_1 = require("./ImpressionCountsCacheInMemory");
10
9
  var constants_1 = require("../../utils/constants");
11
10
  /**
12
11
  * InMemory storage factory for standalone server-side SplitFactory
@@ -15,11 +14,11 @@ var constants_1 = require("../../utils/constants");
15
14
  */
16
15
  function InMemoryStorageFactory(params) {
17
16
  return {
18
- splits: new SplitsCacheInMemory_1.default(),
19
- segments: new SegmentsCacheInMemory_1.default(),
20
- impressions: new ImpressionsCacheInMemory_1.default(),
21
- impressionCounts: params.optimize ? new ImpressionCountsCacheInMemory_1.default() : undefined,
22
- events: new EventsCacheInMemory_1.default(params.eventsQueueSize),
17
+ splits: new SplitsCacheInMemory_1.SplitsCacheInMemory(),
18
+ segments: new SegmentsCacheInMemory_1.SegmentsCacheInMemory(),
19
+ impressions: new ImpressionsCacheInMemory_1.ImpressionsCacheInMemory(),
20
+ impressionCounts: params.optimize ? new ImpressionCountsCacheInMemory_1.ImpressionCountsCacheInMemory() : undefined,
21
+ events: new EventsCacheInMemory_1.EventsCacheInMemory(params.eventsQueueSize),
23
22
  // When using MEMORY we should clean all the caches to leave them empty
24
23
  destroy: function () {
25
24
  this.splits.clear();