@splitsoftware/splitio-commons 2.5.0-rc.0 → 11.5.0-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 (881) hide show
  1. package/CHANGES.txt +893 -142
  2. package/CONTRIBUTORS-GUIDE.md +26 -16
  3. package/README.md +43 -5
  4. package/cjs/factory/browser.js +73 -0
  5. package/cjs/factory/node.js +79 -0
  6. package/cjs/factory/package.json +4 -0
  7. package/cjs/index.js +3 -16
  8. package/cjs/{utils/MinEvents.js → platform/EventEmitter.js} +153 -27
  9. package/cjs/platform/browser.js +15 -0
  10. package/cjs/platform/filter/bloomFilter.js +32 -0
  11. package/cjs/platform/getEventSource/browser.js +7 -0
  12. package/cjs/platform/getEventSource/eventsource.js +480 -0
  13. package/cjs/platform/getEventSource/node.js +25 -0
  14. package/cjs/platform/getEventSource/package.json +4 -0
  15. package/cjs/platform/getFetch/browser.js +9 -0
  16. package/cjs/platform/getFetch/node.js +26 -0
  17. package/cjs/platform/getFetch/package.json +4 -0
  18. package/cjs/platform/getOptions/node.js +25 -0
  19. package/cjs/platform/node.js +18 -0
  20. package/cjs/platform/package.json +4 -0
  21. package/cjs/settings/browser.js +21 -0
  22. package/cjs/settings/defaults/browser.js +21 -0
  23. package/cjs/settings/defaults/node.js +23 -0
  24. package/cjs/{listeners/types.js → settings/defaults/version.js} +2 -0
  25. package/cjs/settings/integrations/browser.js +9 -0
  26. package/cjs/settings/node.js +22 -0
  27. package/cjs/settings/package.json +4 -0
  28. package/cjs/settings/runtime/node.js +22 -0
  29. package/cjs/settings/storage/browser.js +35 -0
  30. package/cjs/settings/storage/node.js +67 -0
  31. package/cjs/sync/offline/LocalhostFromFile.js +8 -0
  32. package/cjs/sync/offline/splitsParserFromFile.js +148 -0
  33. package/cjs/umd.js +5 -0
  34. package/cjs/utils/ip.js +114 -0
  35. package/client/package.json +5 -0
  36. package/esm/factory/browser.js +69 -0
  37. package/esm/factory/node.js +75 -0
  38. package/esm/factory/package.json +4 -0
  39. package/esm/index.js +1 -10
  40. package/esm/{utils/MinEvents.js → platform/EventEmitter.js} +143 -17
  41. package/esm/platform/browser.js +12 -0
  42. package/esm/platform/filter/bloomFilter.js +28 -0
  43. package/esm/platform/getEventSource/browser.js +3 -0
  44. package/esm/platform/getEventSource/eventsource.js +480 -0
  45. package/esm/platform/getEventSource/node.js +19 -0
  46. package/esm/platform/getEventSource/package.json +4 -0
  47. package/esm/platform/getFetch/browser.js +4 -0
  48. package/esm/platform/getFetch/node.js +21 -0
  49. package/esm/platform/getFetch/package.json +4 -0
  50. package/esm/platform/getOptions/node.js +20 -0
  51. package/esm/platform/node.js +14 -0
  52. package/esm/platform/package.json +4 -0
  53. package/esm/settings/browser.js +17 -0
  54. package/esm/settings/defaults/browser.js +18 -0
  55. package/esm/settings/defaults/node.js +20 -0
  56. package/esm/settings/defaults/version.js +1 -0
  57. package/esm/settings/integrations/browser.js +5 -0
  58. package/esm/settings/node.js +18 -0
  59. package/esm/settings/package.json +4 -0
  60. package/esm/settings/runtime/node.js +17 -0
  61. package/esm/settings/storage/browser.js +31 -0
  62. package/esm/settings/storage/node.js +63 -0
  63. package/esm/sync/offline/LocalhostFromFile.js +5 -0
  64. package/esm/sync/offline/splitsParserFromFile.js +143 -0
  65. package/esm/umd.js +3 -0
  66. package/esm/utils/ip.js +109 -0
  67. package/package.json +99 -58
  68. package/server/package.json +5 -0
  69. package/src/factory/browser.js +85 -0
  70. package/src/factory/node.js +92 -0
  71. package/src/factory/package.json +4 -0
  72. package/src/index.js +1 -0
  73. package/src/{utils/MinEvents.ts → platform/EventEmitter.js} +164 -19
  74. package/src/platform/browser.js +14 -0
  75. package/src/platform/filter/bloomFilter.js +33 -0
  76. package/src/platform/getEventSource/browser.js +3 -0
  77. package/src/platform/getEventSource/eventsource.js +519 -0
  78. package/src/platform/getEventSource/node.js +20 -0
  79. package/src/platform/getEventSource/package.json +4 -0
  80. package/src/platform/getFetch/browser.js +5 -0
  81. package/src/platform/getFetch/node.js +24 -0
  82. package/src/platform/getFetch/package.json +4 -0
  83. package/src/platform/getOptions/node.js +23 -0
  84. package/src/platform/node.js +16 -0
  85. package/src/platform/package.json +4 -0
  86. package/src/settings/browser.js +20 -0
  87. package/src/settings/defaults/browser.js +21 -0
  88. package/src/settings/defaults/node.js +23 -0
  89. package/src/settings/defaults/version.js +1 -0
  90. package/src/settings/integrations/browser.js +6 -0
  91. package/src/settings/node.js +21 -0
  92. package/src/settings/package.json +4 -0
  93. package/src/settings/runtime/node.js +21 -0
  94. package/src/settings/storage/browser.js +47 -0
  95. package/src/settings/storage/node.js +84 -0
  96. package/src/sync/offline/LocalhostFromFile.js +6 -0
  97. package/src/sync/offline/splitsParserFromFile.js +173 -0
  98. package/src/umd.js +4 -0
  99. package/src/utils/ip.js +123 -0
  100. package/types/client/index.d.ts +15 -0
  101. package/types/index.d.ts +24 -1
  102. package/types/server/index.d.ts +21 -0
  103. package/types/splitio.d.ts +2 -2087
  104. package/cjs/consent/index.js +0 -10
  105. package/cjs/consent/sdkUserConsent.js +0 -60
  106. package/cjs/dtos/types.js +0 -2
  107. package/cjs/evaluator/Engine.js +0 -58
  108. package/cjs/evaluator/combiners/and.js +0 -25
  109. package/cjs/evaluator/combiners/ifelseif.js +0 -48
  110. package/cjs/evaluator/condition/engineUtils.js +0 -29
  111. package/cjs/evaluator/condition/index.js +0 -41
  112. package/cjs/evaluator/convertions/index.js +0 -11
  113. package/cjs/evaluator/index.js +0 -134
  114. package/cjs/evaluator/matchers/all.js +0 -9
  115. package/cjs/evaluator/matchers/between.js +0 -10
  116. package/cjs/evaluator/matchers/boolean.js +0 -10
  117. package/cjs/evaluator/matchers/cont_all.js +0 -23
  118. package/cjs/evaluator/matchers/cont_any.js +0 -18
  119. package/cjs/evaluator/matchers/cont_str.js +0 -11
  120. package/cjs/evaluator/matchers/dependency.js +0 -28
  121. package/cjs/evaluator/matchers/eq.js +0 -10
  122. package/cjs/evaluator/matchers/eq_set.js +0 -20
  123. package/cjs/evaluator/matchers/ew.js +0 -11
  124. package/cjs/evaluator/matchers/gte.js +0 -10
  125. package/cjs/evaluator/matchers/index.js +0 -66
  126. package/cjs/evaluator/matchers/large_segment.js +0 -10
  127. package/cjs/evaluator/matchers/lte.js +0 -10
  128. package/cjs/evaluator/matchers/matcherTypes.js +0 -46
  129. package/cjs/evaluator/matchers/part_of.js +0 -20
  130. package/cjs/evaluator/matchers/prerequisites.js +0 -22
  131. package/cjs/evaluator/matchers/rbsegment.js +0 -56
  132. package/cjs/evaluator/matchers/segment.js +0 -10
  133. package/cjs/evaluator/matchers/semver_between.js +0 -14
  134. package/cjs/evaluator/matchers/semver_eq.js +0 -13
  135. package/cjs/evaluator/matchers/semver_gte.js +0 -13
  136. package/cjs/evaluator/matchers/semver_inlist.js +0 -16
  137. package/cjs/evaluator/matchers/semver_lte.js +0 -13
  138. package/cjs/evaluator/matchers/string.js +0 -11
  139. package/cjs/evaluator/matchers/sw.js +0 -11
  140. package/cjs/evaluator/matchers/whitelist.js +0 -11
  141. package/cjs/evaluator/matchersTransform/index.js +0 -104
  142. package/cjs/evaluator/matchersTransform/segment.js +0 -12
  143. package/cjs/evaluator/matchersTransform/unaryNumeric.js +0 -10
  144. package/cjs/evaluator/matchersTransform/whitelist.js +0 -10
  145. package/cjs/evaluator/parser/index.js +0 -61
  146. package/cjs/evaluator/treatments/index.js +0 -42
  147. package/cjs/evaluator/types.js +0 -2
  148. package/cjs/evaluator/value/index.js +0 -37
  149. package/cjs/evaluator/value/sanitize.js +0 -94
  150. package/cjs/integrations/pluggable.js +0 -35
  151. package/cjs/integrations/types.js +0 -2
  152. package/cjs/listeners/browser.js +0 -121
  153. package/cjs/listeners/node.js +0 -68
  154. package/cjs/logger/browser/DebugLogger.js +0 -9
  155. package/cjs/logger/browser/ErrorLogger.js +0 -9
  156. package/cjs/logger/browser/InfoLogger.js +0 -9
  157. package/cjs/logger/browser/WarnLogger.js +0 -9
  158. package/cjs/logger/constants.js +0 -140
  159. package/cjs/logger/index.js +0 -100
  160. package/cjs/logger/messages/debug.js +0 -36
  161. package/cjs/logger/messages/error.js +0 -42
  162. package/cjs/logger/messages/info.js +0 -37
  163. package/cjs/logger/messages/warn.js +0 -42
  164. package/cjs/logger/sdkLogger.js +0 -45
  165. package/cjs/logger/types.js +0 -2
  166. package/cjs/readiness/constants.js +0 -13
  167. package/cjs/readiness/readinessManager.js +0 -154
  168. package/cjs/readiness/sdkReadinessManager.js +0 -104
  169. package/cjs/readiness/types.js +0 -2
  170. package/cjs/sdkClient/client.js +0 -183
  171. package/cjs/sdkClient/clientAttributesDecoration.js +0 -122
  172. package/cjs/sdkClient/clientCS.js +0 -30
  173. package/cjs/sdkClient/clientInputValidation.js +0 -147
  174. package/cjs/sdkClient/identity.js +0 -7
  175. package/cjs/sdkClient/sdkClient.js +0 -64
  176. package/cjs/sdkClient/sdkClientMethod.js +0 -22
  177. package/cjs/sdkClient/sdkClientMethodCS.js +0 -66
  178. package/cjs/sdkFactory/index.js +0 -108
  179. package/cjs/sdkFactory/types.js +0 -2
  180. package/cjs/sdkManager/index.js +0 -96
  181. package/cjs/services/decorateHeaders.js +0 -40
  182. package/cjs/services/splitApi.js +0 -131
  183. package/cjs/services/splitHttpClient.js +0 -82
  184. package/cjs/services/types.js +0 -2
  185. package/cjs/storages/AbstractMySegmentsCacheSync.js +0 -60
  186. package/cjs/storages/AbstractSplitsCacheAsync.js +0 -51
  187. package/cjs/storages/AbstractSplitsCacheSync.js +0 -75
  188. package/cjs/storages/KeyBuilder.js +0 -68
  189. package/cjs/storages/KeyBuilderCS.js +0 -65
  190. package/cjs/storages/KeyBuilderSS.js +0 -60
  191. package/cjs/storages/dataLoader.js +0 -109
  192. package/cjs/storages/findLatencyIndex.js +0 -18
  193. package/cjs/storages/inLocalStorage/MySegmentsCacheInLocal.js +0 -81
  194. package/cjs/storages/inLocalStorage/RBSegmentsCacheInLocal.js +0 -121
  195. package/cjs/storages/inLocalStorage/SplitsCacheInLocal.js +0 -208
  196. package/cjs/storages/inLocalStorage/constants.js +0 -5
  197. package/cjs/storages/inLocalStorage/index.js +0 -73
  198. package/cjs/storages/inLocalStorage/validateCache.js +0 -80
  199. package/cjs/storages/inMemory/AttributesCacheInMemory.js +0 -70
  200. package/cjs/storages/inMemory/EventsCacheInMemory.js +0 -63
  201. package/cjs/storages/inMemory/ImpressionCountsCacheInMemory.js +0 -65
  202. package/cjs/storages/inMemory/ImpressionsCacheInMemory.js +0 -51
  203. package/cjs/storages/inMemory/InMemoryStorage.js +0 -46
  204. package/cjs/storages/inMemory/InMemoryStorageCS.js +0 -81
  205. package/cjs/storages/inMemory/MySegmentsCacheInMemory.js +0 -46
  206. package/cjs/storages/inMemory/RBSegmentsCacheInMemory.js +0 -65
  207. package/cjs/storages/inMemory/SegmentsCacheInMemory.js +0 -61
  208. package/cjs/storages/inMemory/SplitsCacheInMemory.js +0 -121
  209. package/cjs/storages/inMemory/TelemetryCacheInMemory.js +0 -207
  210. package/cjs/storages/inMemory/UniqueKeysCacheInMemory.js +0 -72
  211. package/cjs/storages/inMemory/UniqueKeysCacheInMemoryCS.js +0 -71
  212. package/cjs/storages/inRedis/EventsCacheInRedis.js +0 -60
  213. package/cjs/storages/inRedis/ImpressionCountsCacheInRedis.js +0 -85
  214. package/cjs/storages/inRedis/ImpressionsCacheInRedis.js +0 -45
  215. package/cjs/storages/inRedis/RBSegmentsCacheInRedis.js +0 -64
  216. package/cjs/storages/inRedis/RedisAdapter.js +0 -195
  217. package/cjs/storages/inRedis/SegmentsCacheInRedis.js +0 -57
  218. package/cjs/storages/inRedis/SplitsCacheInRedis.js +0 -243
  219. package/cjs/storages/inRedis/TelemetryCacheInRedis.js +0 -124
  220. package/cjs/storages/inRedis/UniqueKeysCacheInRedis.js +0 -69
  221. package/cjs/storages/inRedis/constants.js +0 -7
  222. package/cjs/storages/inRedis/index.js +0 -73
  223. package/cjs/storages/pluggable/EventsCachePluggable.js +0 -64
  224. package/cjs/storages/pluggable/ImpressionCountsCachePluggable.js +0 -81
  225. package/cjs/storages/pluggable/ImpressionsCachePluggable.js +0 -48
  226. package/cjs/storages/pluggable/RBSegmentsCachePluggable.js +0 -64
  227. package/cjs/storages/pluggable/SegmentsCachePluggable.js +0 -80
  228. package/cjs/storages/pluggable/SplitsCachePluggable.js +0 -212
  229. package/cjs/storages/pluggable/TelemetryCachePluggable.js +0 -141
  230. package/cjs/storages/pluggable/UniqueKeysCachePluggable.js +0 -62
  231. package/cjs/storages/pluggable/constants.js +0 -4
  232. package/cjs/storages/pluggable/inMemoryWrapper.js +0 -141
  233. package/cjs/storages/pluggable/index.js +0 -135
  234. package/cjs/storages/pluggable/wrapperAdapter.js +0 -53
  235. package/cjs/storages/types.js +0 -2
  236. package/cjs/storages/utils.js +0 -74
  237. package/cjs/sync/offline/LocalhostFromObject.js +0 -8
  238. package/cjs/sync/offline/splitsParser/parseCondition.js +0 -55
  239. package/cjs/sync/offline/splitsParser/splitsParserFromSettings.js +0 -62
  240. package/cjs/sync/offline/splitsParser/types.js +0 -2
  241. package/cjs/sync/offline/syncManagerOffline.js +0 -52
  242. package/cjs/sync/offline/syncTasks/fromObjectSyncTask.js +0 -72
  243. package/cjs/sync/polling/fetchers/mySegmentsFetcher.js +0 -18
  244. package/cjs/sync/polling/fetchers/segmentChangesFetcher.js +0 -34
  245. package/cjs/sync/polling/fetchers/splitChangesFetcher.js +0 -68
  246. package/cjs/sync/polling/fetchers/types.js +0 -2
  247. package/cjs/sync/polling/pollingManagerCS.js +0 -100
  248. package/cjs/sync/polling/pollingManagerSS.js +0 -49
  249. package/cjs/sync/polling/syncTasks/mySegmentsSyncTask.js +0 -13
  250. package/cjs/sync/polling/syncTasks/segmentsSyncTask.js +0 -13
  251. package/cjs/sync/polling/syncTasks/splitsSyncTask.js +0 -13
  252. package/cjs/sync/polling/types.js +0 -2
  253. package/cjs/sync/polling/updaters/mySegmentsUpdater.js +0 -81
  254. package/cjs/sync/polling/updaters/segmentChangesUpdater.js +0 -80
  255. package/cjs/sync/polling/updaters/splitChangesUpdater.js +0 -188
  256. package/cjs/sync/streaming/AuthClient/index.js +0 -43
  257. package/cjs/sync/streaming/AuthClient/types.js +0 -2
  258. package/cjs/sync/streaming/SSEClient/index.js +0 -86
  259. package/cjs/sync/streaming/SSEClient/types.js +0 -2
  260. package/cjs/sync/streaming/SSEHandler/NotificationKeeper.js +0 -98
  261. package/cjs/sync/streaming/SSEHandler/NotificationParser.js +0 -41
  262. package/cjs/sync/streaming/SSEHandler/index.js +0 -97
  263. package/cjs/sync/streaming/SSEHandler/types.js +0 -16
  264. package/cjs/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.js +0 -124
  265. package/cjs/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.js +0 -92
  266. package/cjs/sync/streaming/UpdateWorkers/SplitsUpdateWorker.js +0 -136
  267. package/cjs/sync/streaming/UpdateWorkers/constants.js +0 -6
  268. package/cjs/sync/streaming/UpdateWorkers/types.js +0 -2
  269. package/cjs/sync/streaming/constants.js +0 -43
  270. package/cjs/sync/streaming/parseUtils.js +0 -98
  271. package/cjs/sync/streaming/pushManager.js +0 -317
  272. package/cjs/sync/streaming/types.js +0 -2
  273. package/cjs/sync/submitters/eventsSubmitter.js +0 -28
  274. package/cjs/sync/submitters/impressionCountsSubmitter.js +0 -36
  275. package/cjs/sync/submitters/impressionsSubmitter.js +0 -54
  276. package/cjs/sync/submitters/submitter.js +0 -66
  277. package/cjs/sync/submitters/submitterManager.js +0 -46
  278. package/cjs/sync/submitters/telemetrySubmitter.js +0 -125
  279. package/cjs/sync/submitters/types.js +0 -2
  280. package/cjs/sync/submitters/uniqueKeysSubmitter.js +0 -27
  281. package/cjs/sync/syncManagerOnline.js +0 -172
  282. package/cjs/sync/syncTask.js +0 -84
  283. package/cjs/sync/types.js +0 -2
  284. package/cjs/trackers/eventTracker.js +0 -62
  285. package/cjs/trackers/impressionObserver/ImpressionObserver.js +0 -18
  286. package/cjs/trackers/impressionObserver/buildKey.js +0 -7
  287. package/cjs/trackers/impressionObserver/impressionObserverCS.js +0 -15
  288. package/cjs/trackers/impressionObserver/impressionObserverSS.js +0 -15
  289. package/cjs/trackers/impressionObserver/types.js +0 -2
  290. package/cjs/trackers/impressionsTracker.js +0 -78
  291. package/cjs/trackers/strategy/strategyDebug.js +0 -20
  292. package/cjs/trackers/strategy/strategyNone.js +0 -24
  293. package/cjs/trackers/strategy/strategyOptimized.js +0 -28
  294. package/cjs/trackers/telemetryTracker.js +0 -75
  295. package/cjs/trackers/types.js +0 -2
  296. package/cjs/trackers/uniqueKeysTracker.js +0 -40
  297. package/cjs/types.js +0 -2
  298. package/cjs/utils/Backoff.js +0 -41
  299. package/cjs/utils/LRUCache/LinkedList.js +0 -114
  300. package/cjs/utils/LRUCache/index.js +0 -42
  301. package/cjs/utils/MinEventEmitter.js +0 -100
  302. package/cjs/utils/Semver.js +0 -103
  303. package/cjs/utils/base64/index.js +0 -75
  304. package/cjs/utils/constants/index.js +0 -100
  305. package/cjs/utils/decompress/index.js +0 -427
  306. package/cjs/utils/env/isLocalStorageAvailable.js +0 -16
  307. package/cjs/utils/env/isNode.js +0 -9
  308. package/cjs/utils/inputValidation/apiKey.js +0 -54
  309. package/cjs/utils/inputValidation/attribute.js +0 -20
  310. package/cjs/utils/inputValidation/attributes.js +0 -25
  311. package/cjs/utils/inputValidation/event.js +0 -28
  312. package/cjs/utils/inputValidation/eventProperties.js +0 -74
  313. package/cjs/utils/inputValidation/eventValue.js +0 -12
  314. package/cjs/utils/inputValidation/index.js +0 -34
  315. package/cjs/utils/inputValidation/isOperational.js +0 -18
  316. package/cjs/utils/inputValidation/key.js +0 -51
  317. package/cjs/utils/inputValidation/preloadedData.js +0 -59
  318. package/cjs/utils/inputValidation/split.js +0 -30
  319. package/cjs/utils/inputValidation/splitExistence.js +0 -19
  320. package/cjs/utils/inputValidation/splits.js +0 -25
  321. package/cjs/utils/inputValidation/trafficType.js +0 -29
  322. package/cjs/utils/inputValidation/trafficTypeExistence.js +0 -31
  323. package/cjs/utils/jwt/index.js +0 -17
  324. package/cjs/utils/jwt/types.js +0 -2
  325. package/cjs/utils/key/index.js +0 -36
  326. package/cjs/utils/labels/index.js +0 -12
  327. package/cjs/utils/lang/binarySearch.js +0 -42
  328. package/cjs/utils/lang/getFnName.js +0 -12
  329. package/cjs/utils/lang/getGlobal.js +0 -18
  330. package/cjs/utils/lang/index.js +0 -281
  331. package/cjs/utils/lang/objectAssign.js +0 -20
  332. package/cjs/utils/lang/sets.js +0 -23
  333. package/cjs/utils/murmur3/common.js +0 -46
  334. package/cjs/utils/murmur3/legacy.js +0 -44
  335. package/cjs/utils/murmur3/murmur3.js +0 -62
  336. package/cjs/utils/murmur3/murmur3_128.js +0 -219
  337. package/cjs/utils/murmur3/murmur3_128_x86.js +0 -154
  338. package/cjs/utils/murmur3/murmur3_64.js +0 -36
  339. package/cjs/utils/murmur3/utfx.js +0 -108
  340. package/cjs/utils/promise/thenable.js +0 -8
  341. package/cjs/utils/promise/timeout.js +0 -20
  342. package/cjs/utils/promise/wrapper.js +0 -58
  343. package/cjs/utils/settingsValidation/consent.js +0 -16
  344. package/cjs/utils/settingsValidation/impressionsMode.js +0 -14
  345. package/cjs/utils/settingsValidation/index.js +0 -184
  346. package/cjs/utils/settingsValidation/integrations/common.js +0 -27
  347. package/cjs/utils/settingsValidation/integrations/configurable.js +0 -18
  348. package/cjs/utils/settingsValidation/integrations/pluggable.js +0 -15
  349. package/cjs/utils/settingsValidation/logger/builtinLogger.js +0 -46
  350. package/cjs/utils/settingsValidation/logger/commons.js +0 -28
  351. package/cjs/utils/settingsValidation/logger/pluggableLogger.js +0 -32
  352. package/cjs/utils/settingsValidation/mode.js +0 -20
  353. package/cjs/utils/settingsValidation/runtime.js +0 -11
  354. package/cjs/utils/settingsValidation/splitFilters.js +0 -188
  355. package/cjs/utils/settingsValidation/storage/storageCS.js +0 -49
  356. package/cjs/utils/settingsValidation/types.js +0 -2
  357. package/cjs/utils/settingsValidation/url.js +0 -31
  358. package/cjs/utils/time/index.js +0 -11
  359. package/cjs/utils/timeTracker/now/browser.js +0 -15
  360. package/cjs/utils/timeTracker/now/node.js +0 -9
  361. package/cjs/utils/timeTracker/timer.js +0 -10
  362. package/esm/consent/index.js +0 -6
  363. package/esm/consent/sdkUserConsent.js +0 -56
  364. package/esm/dtos/types.js +0 -1
  365. package/esm/evaluator/Engine.js +0 -54
  366. package/esm/evaluator/combiners/and.js +0 -21
  367. package/esm/evaluator/combiners/ifelseif.js +0 -44
  368. package/esm/evaluator/condition/engineUtils.js +0 -24
  369. package/esm/evaluator/condition/index.js +0 -37
  370. package/esm/evaluator/convertions/index.js +0 -6
  371. package/esm/evaluator/index.js +0 -128
  372. package/esm/evaluator/matchers/all.js +0 -5
  373. package/esm/evaluator/matchers/between.js +0 -6
  374. package/esm/evaluator/matchers/boolean.js +0 -6
  375. package/esm/evaluator/matchers/cont_all.js +0 -19
  376. package/esm/evaluator/matchers/cont_any.js +0 -14
  377. package/esm/evaluator/matchers/cont_str.js +0 -7
  378. package/esm/evaluator/matchers/dependency.js +0 -24
  379. package/esm/evaluator/matchers/eq.js +0 -6
  380. package/esm/evaluator/matchers/eq_set.js +0 -16
  381. package/esm/evaluator/matchers/ew.js +0 -7
  382. package/esm/evaluator/matchers/gte.js +0 -6
  383. package/esm/evaluator/matchers/index.js +0 -62
  384. package/esm/evaluator/matchers/large_segment.js +0 -6
  385. package/esm/evaluator/matchers/lte.js +0 -6
  386. package/esm/evaluator/matchers/matcherTypes.js +0 -42
  387. package/esm/evaluator/matchers/part_of.js +0 -16
  388. package/esm/evaluator/matchers/prerequisites.js +0 -18
  389. package/esm/evaluator/matchers/rbsegment.js +0 -52
  390. package/esm/evaluator/matchers/segment.js +0 -6
  391. package/esm/evaluator/matchers/semver_between.js +0 -10
  392. package/esm/evaluator/matchers/semver_eq.js +0 -9
  393. package/esm/evaluator/matchers/semver_gte.js +0 -9
  394. package/esm/evaluator/matchers/semver_inlist.js +0 -12
  395. package/esm/evaluator/matchers/semver_lte.js +0 -9
  396. package/esm/evaluator/matchers/string.js +0 -7
  397. package/esm/evaluator/matchers/sw.js +0 -7
  398. package/esm/evaluator/matchers/whitelist.js +0 -7
  399. package/esm/evaluator/matchersTransform/index.js +0 -100
  400. package/esm/evaluator/matchersTransform/segment.js +0 -8
  401. package/esm/evaluator/matchersTransform/unaryNumeric.js +0 -6
  402. package/esm/evaluator/matchersTransform/whitelist.js +0 -6
  403. package/esm/evaluator/parser/index.js +0 -57
  404. package/esm/evaluator/treatments/index.js +0 -39
  405. package/esm/evaluator/types.js +0 -1
  406. package/esm/evaluator/value/index.js +0 -33
  407. package/esm/evaluator/value/sanitize.js +0 -90
  408. package/esm/integrations/pluggable.js +0 -31
  409. package/esm/integrations/types.js +0 -1
  410. package/esm/listeners/browser.js +0 -118
  411. package/esm/listeners/node.js +0 -65
  412. package/esm/listeners/types.js +0 -1
  413. package/esm/logger/browser/DebugLogger.js +0 -5
  414. package/esm/logger/browser/ErrorLogger.js +0 -5
  415. package/esm/logger/browser/InfoLogger.js +0 -5
  416. package/esm/logger/browser/WarnLogger.js +0 -5
  417. package/esm/logger/constants.js +0 -135
  418. package/esm/logger/index.js +0 -95
  419. package/esm/logger/messages/debug.js +0 -32
  420. package/esm/logger/messages/error.js +0 -38
  421. package/esm/logger/messages/info.js +0 -33
  422. package/esm/logger/messages/warn.js +0 -38
  423. package/esm/logger/sdkLogger.js +0 -41
  424. package/esm/logger/types.js +0 -1
  425. package/esm/readiness/constants.js +0 -10
  426. package/esm/readiness/readinessManager.js +0 -150
  427. package/esm/readiness/sdkReadinessManager.js +0 -100
  428. package/esm/readiness/types.js +0 -1
  429. package/esm/sdkClient/client.js +0 -179
  430. package/esm/sdkClient/clientAttributesDecoration.js +0 -118
  431. package/esm/sdkClient/clientCS.js +0 -26
  432. package/esm/sdkClient/clientInputValidation.js +0 -143
  433. package/esm/sdkClient/identity.js +0 -3
  434. package/esm/sdkClient/sdkClient.js +0 -60
  435. package/esm/sdkClient/sdkClientMethod.js +0 -18
  436. package/esm/sdkClient/sdkClientMethodCS.js +0 -62
  437. package/esm/sdkFactory/index.js +0 -104
  438. package/esm/sdkFactory/types.js +0 -1
  439. package/esm/sdkManager/index.js +0 -92
  440. package/esm/services/decorateHeaders.js +0 -35
  441. package/esm/services/splitApi.js +0 -127
  442. package/esm/services/splitHttpClient.js +0 -78
  443. package/esm/services/types.js +0 -1
  444. package/esm/storages/AbstractMySegmentsCacheSync.js +0 -57
  445. package/esm/storages/AbstractSplitsCacheAsync.js +0 -48
  446. package/esm/storages/AbstractSplitsCacheSync.js +0 -70
  447. package/esm/storages/KeyBuilder.js +0 -63
  448. package/esm/storages/KeyBuilderCS.js +0 -61
  449. package/esm/storages/KeyBuilderSS.js +0 -57
  450. package/esm/storages/dataLoader.js +0 -104
  451. package/esm/storages/findLatencyIndex.js +0 -14
  452. package/esm/storages/inLocalStorage/MySegmentsCacheInLocal.js +0 -78
  453. package/esm/storages/inLocalStorage/RBSegmentsCacheInLocal.js +0 -118
  454. package/esm/storages/inLocalStorage/SplitsCacheInLocal.js +0 -205
  455. package/esm/storages/inLocalStorage/constants.js +0 -2
  456. package/esm/storages/inLocalStorage/index.js +0 -69
  457. package/esm/storages/inLocalStorage/validateCache.js +0 -76
  458. package/esm/storages/inMemory/AttributesCacheInMemory.js +0 -67
  459. package/esm/storages/inMemory/EventsCacheInMemory.js +0 -60
  460. package/esm/storages/inMemory/ImpressionCountsCacheInMemory.js +0 -62
  461. package/esm/storages/inMemory/ImpressionsCacheInMemory.js +0 -48
  462. package/esm/storages/inMemory/InMemoryStorage.js +0 -42
  463. package/esm/storages/inMemory/InMemoryStorageCS.js +0 -77
  464. package/esm/storages/inMemory/MySegmentsCacheInMemory.js +0 -43
  465. package/esm/storages/inMemory/RBSegmentsCacheInMemory.js +0 -62
  466. package/esm/storages/inMemory/SegmentsCacheInMemory.js +0 -58
  467. package/esm/storages/inMemory/SplitsCacheInMemory.js +0 -118
  468. package/esm/storages/inMemory/TelemetryCacheInMemory.js +0 -202
  469. package/esm/storages/inMemory/UniqueKeysCacheInMemory.js +0 -68
  470. package/esm/storages/inMemory/UniqueKeysCacheInMemoryCS.js +0 -68
  471. package/esm/storages/inRedis/EventsCacheInRedis.js +0 -57
  472. package/esm/storages/inRedis/ImpressionCountsCacheInRedis.js +0 -82
  473. package/esm/storages/inRedis/ImpressionsCacheInRedis.js +0 -42
  474. package/esm/storages/inRedis/RBSegmentsCacheInRedis.js +0 -61
  475. package/esm/storages/inRedis/RedisAdapter.js +0 -192
  476. package/esm/storages/inRedis/SegmentsCacheInRedis.js +0 -54
  477. package/esm/storages/inRedis/SplitsCacheInRedis.js +0 -240
  478. package/esm/storages/inRedis/TelemetryCacheInRedis.js +0 -121
  479. package/esm/storages/inRedis/UniqueKeysCacheInRedis.js +0 -66
  480. package/esm/storages/inRedis/constants.js +0 -4
  481. package/esm/storages/inRedis/index.js +0 -69
  482. package/esm/storages/pluggable/EventsCachePluggable.js +0 -61
  483. package/esm/storages/pluggable/ImpressionCountsCachePluggable.js +0 -78
  484. package/esm/storages/pluggable/ImpressionsCachePluggable.js +0 -45
  485. package/esm/storages/pluggable/RBSegmentsCachePluggable.js +0 -61
  486. package/esm/storages/pluggable/SegmentsCachePluggable.js +0 -77
  487. package/esm/storages/pluggable/SplitsCachePluggable.js +0 -209
  488. package/esm/storages/pluggable/TelemetryCachePluggable.js +0 -138
  489. package/esm/storages/pluggable/UniqueKeysCachePluggable.js +0 -59
  490. package/esm/storages/pluggable/constants.js +0 -1
  491. package/esm/storages/pluggable/inMemoryWrapper.js +0 -137
  492. package/esm/storages/pluggable/index.js +0 -131
  493. package/esm/storages/pluggable/wrapperAdapter.js +0 -49
  494. package/esm/storages/types.js +0 -1
  495. package/esm/storages/utils.js +0 -66
  496. package/esm/sync/offline/LocalhostFromObject.js +0 -5
  497. package/esm/sync/offline/splitsParser/parseCondition.js +0 -51
  498. package/esm/sync/offline/splitsParser/splitsParserFromSettings.js +0 -58
  499. package/esm/sync/offline/splitsParser/types.js +0 -1
  500. package/esm/sync/offline/syncManagerOffline.js +0 -48
  501. package/esm/sync/offline/syncTasks/fromObjectSyncTask.js +0 -67
  502. package/esm/sync/polling/fetchers/mySegmentsFetcher.js +0 -14
  503. package/esm/sync/polling/fetchers/segmentChangesFetcher.js +0 -30
  504. package/esm/sync/polling/fetchers/splitChangesFetcher.js +0 -64
  505. package/esm/sync/polling/fetchers/types.js +0 -1
  506. package/esm/sync/polling/pollingManagerCS.js +0 -96
  507. package/esm/sync/polling/pollingManagerSS.js +0 -45
  508. package/esm/sync/polling/syncTasks/mySegmentsSyncTask.js +0 -9
  509. package/esm/sync/polling/syncTasks/segmentsSyncTask.js +0 -9
  510. package/esm/sync/polling/syncTasks/splitsSyncTask.js +0 -9
  511. package/esm/sync/polling/types.js +0 -1
  512. package/esm/sync/polling/updaters/mySegmentsUpdater.js +0 -77
  513. package/esm/sync/polling/updaters/segmentChangesUpdater.js +0 -76
  514. package/esm/sync/polling/updaters/splitChangesUpdater.js +0 -182
  515. package/esm/sync/streaming/AuthClient/index.js +0 -38
  516. package/esm/sync/streaming/AuthClient/types.js +0 -1
  517. package/esm/sync/streaming/SSEClient/index.js +0 -83
  518. package/esm/sync/streaming/SSEClient/types.js +0 -1
  519. package/esm/sync/streaming/SSEHandler/NotificationKeeper.js +0 -94
  520. package/esm/sync/streaming/SSEHandler/NotificationParser.js +0 -36
  521. package/esm/sync/streaming/SSEHandler/index.js +0 -93
  522. package/esm/sync/streaming/SSEHandler/types.js +0 -13
  523. package/esm/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.js +0 -120
  524. package/esm/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.js +0 -88
  525. package/esm/sync/streaming/UpdateWorkers/SplitsUpdateWorker.js +0 -132
  526. package/esm/sync/streaming/UpdateWorkers/constants.js +0 -3
  527. package/esm/sync/streaming/UpdateWorkers/types.js +0 -1
  528. package/esm/sync/streaming/constants.js +0 -40
  529. package/esm/sync/streaming/parseUtils.js +0 -90
  530. package/esm/sync/streaming/pushManager.js +0 -313
  531. package/esm/sync/streaming/types.js +0 -1
  532. package/esm/sync/submitters/eventsSubmitter.js +0 -24
  533. package/esm/sync/submitters/impressionCountsSubmitter.js +0 -31
  534. package/esm/sync/submitters/impressionsSubmitter.js +0 -49
  535. package/esm/sync/submitters/submitter.js +0 -61
  536. package/esm/sync/submitters/submitterManager.js +0 -42
  537. package/esm/sync/submitters/telemetrySubmitter.js +0 -119
  538. package/esm/sync/submitters/types.js +0 -1
  539. package/esm/sync/submitters/uniqueKeysSubmitter.js +0 -23
  540. package/esm/sync/syncManagerOnline.js +0 -168
  541. package/esm/sync/syncTask.js +0 -80
  542. package/esm/sync/types.js +0 -1
  543. package/esm/trackers/eventTracker.js +0 -58
  544. package/esm/trackers/impressionObserver/ImpressionObserver.js +0 -15
  545. package/esm/trackers/impressionObserver/buildKey.js +0 -3
  546. package/esm/trackers/impressionObserver/impressionObserverCS.js +0 -10
  547. package/esm/trackers/impressionObserver/impressionObserverSS.js +0 -10
  548. package/esm/trackers/impressionObserver/types.js +0 -1
  549. package/esm/trackers/impressionsTracker.js +0 -74
  550. package/esm/trackers/strategy/strategyDebug.js +0 -16
  551. package/esm/trackers/strategy/strategyNone.js +0 -20
  552. package/esm/trackers/strategy/strategyOptimized.js +0 -24
  553. package/esm/trackers/telemetryTracker.js +0 -71
  554. package/esm/trackers/types.js +0 -1
  555. package/esm/trackers/uniqueKeysTracker.js +0 -36
  556. package/esm/types.js +0 -1
  557. package/esm/utils/Backoff.js +0 -38
  558. package/esm/utils/LRUCache/LinkedList.js +0 -111
  559. package/esm/utils/LRUCache/index.js +0 -39
  560. package/esm/utils/MinEventEmitter.js +0 -97
  561. package/esm/utils/Semver.js +0 -100
  562. package/esm/utils/base64/index.js +0 -70
  563. package/esm/utils/constants/index.js +0 -96
  564. package/esm/utils/decompress/index.js +0 -424
  565. package/esm/utils/env/isLocalStorageAvailable.js +0 -12
  566. package/esm/utils/env/isNode.js +0 -6
  567. package/esm/utils/inputValidation/apiKey.js +0 -48
  568. package/esm/utils/inputValidation/attribute.js +0 -16
  569. package/esm/utils/inputValidation/attributes.js +0 -20
  570. package/esm/utils/inputValidation/event.js +0 -24
  571. package/esm/utils/inputValidation/eventProperties.js +0 -69
  572. package/esm/utils/inputValidation/eventValue.js +0 -8
  573. package/esm/utils/inputValidation/index.js +0 -14
  574. package/esm/utils/inputValidation/isOperational.js +0 -13
  575. package/esm/utils/inputValidation/key.js +0 -47
  576. package/esm/utils/inputValidation/preloadedData.js +0 -55
  577. package/esm/utils/inputValidation/split.js +0 -26
  578. package/esm/utils/inputValidation/splitExistence.js +0 -15
  579. package/esm/utils/inputValidation/splits.js +0 -21
  580. package/esm/utils/inputValidation/trafficType.js +0 -25
  581. package/esm/utils/inputValidation/trafficTypeExistence.js +0 -27
  582. package/esm/utils/jwt/index.js +0 -13
  583. package/esm/utils/jwt/types.js +0 -1
  584. package/esm/utils/key/index.js +0 -30
  585. package/esm/utils/labels/index.js +0 -9
  586. package/esm/utils/lang/binarySearch.js +0 -38
  587. package/esm/utils/lang/getFnName.js +0 -8
  588. package/esm/utils/lang/getGlobal.js +0 -14
  589. package/esm/utils/lang/index.js +0 -258
  590. package/esm/utils/lang/objectAssign.js +0 -17
  591. package/esm/utils/lang/sets.js +0 -17
  592. package/esm/utils/murmur3/common.js +0 -39
  593. package/esm/utils/murmur3/legacy.js +0 -39
  594. package/esm/utils/murmur3/murmur3.js +0 -57
  595. package/esm/utils/murmur3/murmur3_128.js +0 -215
  596. package/esm/utils/murmur3/murmur3_128_x86.js +0 -150
  597. package/esm/utils/murmur3/murmur3_64.js +0 -32
  598. package/esm/utils/murmur3/utfx.js +0 -102
  599. package/esm/utils/promise/thenable.js +0 -4
  600. package/esm/utils/promise/timeout.js +0 -16
  601. package/esm/utils/promise/wrapper.js +0 -54
  602. package/esm/utils/settingsValidation/consent.js +0 -12
  603. package/esm/utils/settingsValidation/impressionsMode.js +0 -10
  604. package/esm/utils/settingsValidation/index.js +0 -180
  605. package/esm/utils/settingsValidation/integrations/common.js +0 -23
  606. package/esm/utils/settingsValidation/integrations/configurable.js +0 -14
  607. package/esm/utils/settingsValidation/integrations/pluggable.js +0 -11
  608. package/esm/utils/settingsValidation/logger/builtinLogger.js +0 -42
  609. package/esm/utils/settingsValidation/logger/commons.js +0 -24
  610. package/esm/utils/settingsValidation/logger/pluggableLogger.js +0 -28
  611. package/esm/utils/settingsValidation/mode.js +0 -15
  612. package/esm/utils/settingsValidation/runtime.js +0 -7
  613. package/esm/utils/settingsValidation/splitFilters.js +0 -183
  614. package/esm/utils/settingsValidation/storage/storageCS.js +0 -44
  615. package/esm/utils/settingsValidation/types.js +0 -1
  616. package/esm/utils/settingsValidation/url.js +0 -27
  617. package/esm/utils/time/index.js +0 -7
  618. package/esm/utils/timeTracker/now/browser.js +0 -12
  619. package/esm/utils/timeTracker/now/node.js +0 -5
  620. package/esm/utils/timeTracker/timer.js +0 -6
  621. package/src/consent/index.ts +0 -8
  622. package/src/consent/sdkUserConsent.ts +0 -60
  623. package/src/dtos/types.ts +0 -294
  624. package/src/evaluator/Engine.ts +0 -73
  625. package/src/evaluator/combiners/and.ts +0 -29
  626. package/src/evaluator/combiners/ifelseif.ts +0 -56
  627. package/src/evaluator/condition/engineUtils.ts +0 -31
  628. package/src/evaluator/condition/index.ts +0 -50
  629. package/src/evaluator/convertions/index.ts +0 -7
  630. package/src/evaluator/index.ts +0 -199
  631. package/src/evaluator/matchers/all.ts +0 -6
  632. package/src/evaluator/matchers/between.ts +0 -10
  633. package/src/evaluator/matchers/boolean.ts +0 -8
  634. package/src/evaluator/matchers/cont_all.ts +0 -18
  635. package/src/evaluator/matchers/cont_any.ts +0 -13
  636. package/src/evaluator/matchers/cont_str.ts +0 -9
  637. package/src/evaluator/matchers/dependency.ts +0 -32
  638. package/src/evaluator/matchers/eq.ts +0 -8
  639. package/src/evaluator/matchers/eq_set.ts +0 -15
  640. package/src/evaluator/matchers/ew.ts +0 -9
  641. package/src/evaluator/matchers/gte.ts +0 -8
  642. package/src/evaluator/matchers/index.ts +0 -70
  643. package/src/evaluator/matchers/large_segment.ts +0 -11
  644. package/src/evaluator/matchers/lte.ts +0 -8
  645. package/src/evaluator/matchers/matcherTypes.ts +0 -42
  646. package/src/evaluator/matchers/part_of.ts +0 -15
  647. package/src/evaluator/matchers/prerequisites.ts +0 -24
  648. package/src/evaluator/matchers/rbsegment.ts +0 -74
  649. package/src/evaluator/matchers/segment.ts +0 -11
  650. package/src/evaluator/matchers/semver_between.ts +0 -15
  651. package/src/evaluator/matchers/semver_eq.ts +0 -13
  652. package/src/evaluator/matchers/semver_gte.ts +0 -13
  653. package/src/evaluator/matchers/semver_inlist.ts +0 -16
  654. package/src/evaluator/matchers/semver_lte.ts +0 -13
  655. package/src/evaluator/matchers/string.ts +0 -9
  656. package/src/evaluator/matchers/sw.ts +0 -9
  657. package/src/evaluator/matchers/whitelist.ts +0 -9
  658. package/src/evaluator/matchersTransform/index.ts +0 -118
  659. package/src/evaluator/matchersTransform/segment.ts +0 -10
  660. package/src/evaluator/matchersTransform/unaryNumeric.ts +0 -8
  661. package/src/evaluator/matchersTransform/whitelist.ts +0 -8
  662. package/src/evaluator/parser/index.ts +0 -82
  663. package/src/evaluator/treatments/index.ts +0 -53
  664. package/src/evaluator/types.ts +0 -34
  665. package/src/evaluator/value/index.ts +0 -37
  666. package/src/evaluator/value/sanitize.ts +0 -106
  667. package/src/index.ts +0 -14
  668. package/src/integrations/pluggable.ts +0 -39
  669. package/src/integrations/types.ts +0 -21
  670. package/src/listeners/browser.ts +0 -138
  671. package/src/listeners/node.ts +0 -81
  672. package/src/listeners/types.ts +0 -4
  673. package/src/logger/browser/DebugLogger.ts +0 -6
  674. package/src/logger/browser/ErrorLogger.ts +0 -6
  675. package/src/logger/browser/InfoLogger.ts +0 -6
  676. package/src/logger/browser/WarnLogger.ts +0 -6
  677. package/src/logger/constants.ts +0 -139
  678. package/src/logger/index.ts +0 -110
  679. package/src/logger/messages/debug.ts +0 -33
  680. package/src/logger/messages/error.ts +0 -39
  681. package/src/logger/messages/info.ts +0 -36
  682. package/src/logger/messages/warn.ts +0 -40
  683. package/src/logger/sdkLogger.ts +0 -46
  684. package/src/logger/types.ts +0 -21
  685. package/src/readiness/constants.ts +0 -12
  686. package/src/readiness/readinessManager.ts +0 -170
  687. package/src/readiness/sdkReadinessManager.ts +0 -121
  688. package/src/readiness/types.ts +0 -85
  689. package/src/sdkClient/client.ts +0 -217
  690. package/src/sdkClient/clientAttributesDecoration.ts +0 -139
  691. package/src/sdkClient/clientCS.ts +0 -34
  692. package/src/sdkClient/clientInputValidation.ts +0 -178
  693. package/src/sdkClient/identity.ts +0 -5
  694. package/src/sdkClient/sdkClient.ts +0 -77
  695. package/src/sdkClient/sdkClientMethod.ts +0 -24
  696. package/src/sdkClient/sdkClientMethodCS.ts +0 -85
  697. package/src/sdkFactory/index.ts +0 -132
  698. package/src/sdkFactory/types.ts +0 -119
  699. package/src/sdkManager/index.ts +0 -114
  700. package/src/services/decorateHeaders.ts +0 -37
  701. package/src/services/splitApi.ts +0 -148
  702. package/src/services/splitHttpClient.ts +0 -84
  703. package/src/services/types.ts +0 -86
  704. package/src/storages/AbstractMySegmentsCacheSync.ts +0 -94
  705. package/src/storages/AbstractSplitsCacheAsync.ts +0 -63
  706. package/src/storages/AbstractSplitsCacheSync.ts +0 -94
  707. package/src/storages/KeyBuilder.ts +0 -81
  708. package/src/storages/KeyBuilderCS.ts +0 -79
  709. package/src/storages/KeyBuilderSS.ts +0 -74
  710. package/src/storages/dataLoader.ts +0 -113
  711. package/src/storages/findLatencyIndex.ts +0 -16
  712. package/src/storages/inLocalStorage/MySegmentsCacheInLocal.ts +0 -86
  713. package/src/storages/inLocalStorage/RBSegmentsCacheInLocal.ts +0 -140
  714. package/src/storages/inLocalStorage/SplitsCacheInLocal.ts +0 -244
  715. package/src/storages/inLocalStorage/constants.ts +0 -2
  716. package/src/storages/inLocalStorage/index.ts +0 -83
  717. package/src/storages/inLocalStorage/validateCache.ts +0 -93
  718. package/src/storages/inMemory/AttributesCacheInMemory.ts +0 -74
  719. package/src/storages/inMemory/EventsCacheInMemory.ts +0 -76
  720. package/src/storages/inMemory/ImpressionCountsCacheInMemory.ts +0 -69
  721. package/src/storages/inMemory/ImpressionsCacheInMemory.ts +0 -58
  722. package/src/storages/inMemory/InMemoryStorage.ts +0 -50
  723. package/src/storages/inMemory/InMemoryStorageCS.ts +0 -92
  724. package/src/storages/inMemory/MySegmentsCacheInMemory.ts +0 -49
  725. package/src/storages/inMemory/RBSegmentsCacheInMemory.ts +0 -72
  726. package/src/storages/inMemory/SegmentsCacheInMemory.ts +0 -74
  727. package/src/storages/inMemory/SplitsCacheInMemory.ts +0 -130
  728. package/src/storages/inMemory/TelemetryCacheInMemory.ts +0 -263
  729. package/src/storages/inMemory/UniqueKeysCacheInMemory.ts +0 -79
  730. package/src/storages/inMemory/UniqueKeysCacheInMemoryCS.ts +0 -80
  731. package/src/storages/inRedis/EventsCacheInRedis.ts +0 -75
  732. package/src/storages/inRedis/ImpressionCountsCacheInRedis.ts +0 -95
  733. package/src/storages/inRedis/ImpressionsCacheInRedis.ts +0 -61
  734. package/src/storages/inRedis/RBSegmentsCacheInRedis.ts +0 -79
  735. package/src/storages/inRedis/RedisAdapter.ts +0 -209
  736. package/src/storages/inRedis/SegmentsCacheInRedis.ts +0 -70
  737. package/src/storages/inRedis/SplitsCacheInRedis.ts +0 -268
  738. package/src/storages/inRedis/TelemetryCacheInRedis.ts +0 -144
  739. package/src/storages/inRedis/UniqueKeysCacheInRedis.ts +0 -75
  740. package/src/storages/inRedis/constants.ts +0 -4
  741. package/src/storages/inRedis/index.ts +0 -85
  742. package/src/storages/package.json +0 -3
  743. package/src/storages/pluggable/EventsCachePluggable.ts +0 -79
  744. package/src/storages/pluggable/ImpressionCountsCachePluggable.ts +0 -92
  745. package/src/storages/pluggable/ImpressionsCachePluggable.ts +0 -63
  746. package/src/storages/pluggable/RBSegmentsCachePluggable.ts +0 -76
  747. package/src/storages/pluggable/SegmentsCachePluggable.ts +0 -90
  748. package/src/storages/pluggable/SplitsCachePluggable.ts +0 -230
  749. package/src/storages/pluggable/TelemetryCachePluggable.ts +0 -159
  750. package/src/storages/pluggable/UniqueKeysCachePluggable.ts +0 -67
  751. package/src/storages/pluggable/constants.ts +0 -1
  752. package/src/storages/pluggable/inMemoryWrapper.ts +0 -130
  753. package/src/storages/pluggable/index.ts +0 -152
  754. package/src/storages/pluggable/wrapperAdapter.ts +0 -58
  755. package/src/storages/types.ts +0 -522
  756. package/src/storages/utils.ts +0 -80
  757. package/src/sync/offline/LocalhostFromObject.ts +0 -6
  758. package/src/sync/offline/splitsParser/parseCondition.ts +0 -59
  759. package/src/sync/offline/splitsParser/splitsParserFromSettings.ts +0 -72
  760. package/src/sync/offline/splitsParser/types.ts +0 -5
  761. package/src/sync/offline/syncManagerOffline.ts +0 -66
  762. package/src/sync/offline/syncTasks/fromObjectSyncTask.ts +0 -98
  763. package/src/sync/polling/fetchers/mySegmentsFetcher.ts +0 -25
  764. package/src/sync/polling/fetchers/segmentChangesFetcher.ts +0 -41
  765. package/src/sync/polling/fetchers/splitChangesFetcher.ts +0 -85
  766. package/src/sync/polling/fetchers/types.ts +0 -25
  767. package/src/sync/polling/pollingManagerCS.ts +0 -116
  768. package/src/sync/polling/pollingManagerSS.ts +0 -56
  769. package/src/sync/polling/syncTasks/mySegmentsSyncTask.ts +0 -34
  770. package/src/sync/polling/syncTasks/segmentsSyncTask.ts +0 -30
  771. package/src/sync/polling/syncTasks/splitsSyncTask.ts +0 -35
  772. package/src/sync/polling/types.ts +0 -33
  773. package/src/sync/polling/updaters/mySegmentsUpdater.ts +0 -102
  774. package/src/sync/polling/updaters/segmentChangesUpdater.ts +0 -92
  775. package/src/sync/polling/updaters/splitChangesUpdater.ts +0 -218
  776. package/src/sync/streaming/AuthClient/index.ts +0 -42
  777. package/src/sync/streaming/AuthClient/types.ts +0 -20
  778. package/src/sync/streaming/SSEClient/index.ts +0 -103
  779. package/src/sync/streaming/SSEClient/types.ts +0 -13
  780. package/src/sync/streaming/SSEHandler/NotificationKeeper.ts +0 -107
  781. package/src/sync/streaming/SSEHandler/NotificationParser.ts +0 -40
  782. package/src/sync/streaming/SSEHandler/index.ts +0 -105
  783. package/src/sync/streaming/SSEHandler/types.ts +0 -73
  784. package/src/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.ts +0 -134
  785. package/src/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.ts +0 -99
  786. package/src/sync/streaming/UpdateWorkers/SplitsUpdateWorker.ts +0 -145
  787. package/src/sync/streaming/UpdateWorkers/constants.ts +0 -3
  788. package/src/sync/streaming/UpdateWorkers/types.ts +0 -4
  789. package/src/sync/streaming/constants.ts +0 -44
  790. package/src/sync/streaming/parseUtils.ts +0 -100
  791. package/src/sync/streaming/pushManager.ts +0 -358
  792. package/src/sync/streaming/types.ts +0 -51
  793. package/src/sync/submitters/eventsSubmitter.ts +0 -35
  794. package/src/sync/submitters/impressionCountsSubmitter.ts +0 -44
  795. package/src/sync/submitters/impressionsSubmitter.ts +0 -66
  796. package/src/sync/submitters/submitter.ts +0 -76
  797. package/src/sync/submitters/submitterManager.ts +0 -48
  798. package/src/sync/submitters/telemetrySubmitter.ts +0 -148
  799. package/src/sync/submitters/types.ts +0 -241
  800. package/src/sync/submitters/uniqueKeysSubmitter.ts +0 -35
  801. package/src/sync/syncManagerOnline.ts +0 -190
  802. package/src/sync/syncTask.ts +0 -83
  803. package/src/sync/types.ts +0 -48
  804. package/src/trackers/eventTracker.ts +0 -72
  805. package/src/trackers/impressionObserver/ImpressionObserver.ts +0 -20
  806. package/src/trackers/impressionObserver/buildKey.ts +0 -5
  807. package/src/trackers/impressionObserver/impressionObserverCS.ts +0 -14
  808. package/src/trackers/impressionObserver/impressionObserverSS.ts +0 -14
  809. package/src/trackers/impressionObserver/types.ts +0 -5
  810. package/src/trackers/impressionsTracker.ts +0 -87
  811. package/src/trackers/strategy/strategyDebug.ts +0 -23
  812. package/src/trackers/strategy/strategyNone.ts +0 -28
  813. package/src/trackers/strategy/strategyOptimized.ts +0 -35
  814. package/src/trackers/telemetryTracker.ts +0 -73
  815. package/src/trackers/types.ts +0 -86
  816. package/src/trackers/uniqueKeysTracker.ts +0 -50
  817. package/src/types.ts +0 -44
  818. package/src/utils/Backoff.ts +0 -51
  819. package/src/utils/LRUCache/LinkedList.ts +0 -130
  820. package/src/utils/LRUCache/index.ts +0 -43
  821. package/src/utils/MinEventEmitter.ts +0 -102
  822. package/src/utils/Semver.ts +0 -111
  823. package/src/utils/base64/index.ts +0 -74
  824. package/src/utils/constants/index.ts +0 -116
  825. package/src/utils/decompress/index.ts +0 -429
  826. package/src/utils/env/isLocalStorageAvailable.ts +0 -11
  827. package/src/utils/env/isNode.ts +0 -6
  828. package/src/utils/inputValidation/apiKey.ts +0 -52
  829. package/src/utils/inputValidation/attribute.ts +0 -21
  830. package/src/utils/inputValidation/attributes.ts +0 -26
  831. package/src/utils/inputValidation/event.ts +0 -24
  832. package/src/utils/inputValidation/eventProperties.ts +0 -78
  833. package/src/utils/inputValidation/eventValue.ts +0 -11
  834. package/src/utils/inputValidation/index.ts +0 -14
  835. package/src/utils/inputValidation/isOperational.ts +0 -17
  836. package/src/utils/inputValidation/key.ts +0 -51
  837. package/src/utils/inputValidation/preloadedData.ts +0 -57
  838. package/src/utils/inputValidation/split.ts +0 -27
  839. package/src/utils/inputValidation/splitExistence.ts +0 -19
  840. package/src/utils/inputValidation/splits.ts +0 -21
  841. package/src/utils/inputValidation/trafficType.ts +0 -27
  842. package/src/utils/inputValidation/trafficTypeExistence.ts +0 -33
  843. package/src/utils/jwt/index.ts +0 -16
  844. package/src/utils/jwt/types.ts +0 -10
  845. package/src/utils/key/index.ts +0 -34
  846. package/src/utils/labels/index.ts +0 -9
  847. package/src/utils/lang/binarySearch.ts +0 -41
  848. package/src/utils/lang/getFnName.ts +0 -8
  849. package/src/utils/lang/getGlobal.ts +0 -17
  850. package/src/utils/lang/index.ts +0 -279
  851. package/src/utils/lang/objectAssign.ts +0 -25
  852. package/src/utils/lang/sets.ts +0 -17
  853. package/src/utils/murmur3/common.ts +0 -54
  854. package/src/utils/murmur3/legacy.ts +0 -48
  855. package/src/utils/murmur3/murmur3.ts +0 -74
  856. package/src/utils/murmur3/murmur3_128.ts +0 -273
  857. package/src/utils/murmur3/murmur3_128_x86.ts +0 -188
  858. package/src/utils/murmur3/murmur3_64.ts +0 -36
  859. package/src/utils/murmur3/utfx.ts +0 -109
  860. package/src/utils/promise/thenable.ts +0 -4
  861. package/src/utils/promise/timeout.ts +0 -17
  862. package/src/utils/promise/wrapper.ts +0 -60
  863. package/src/utils/settingsValidation/consent.ts +0 -16
  864. package/src/utils/settingsValidation/impressionsMode.ts +0 -14
  865. package/src/utils/settingsValidation/index.ts +0 -207
  866. package/src/utils/settingsValidation/integrations/common.ts +0 -27
  867. package/src/utils/settingsValidation/integrations/configurable.ts +0 -20
  868. package/src/utils/settingsValidation/integrations/pluggable.ts +0 -19
  869. package/src/utils/settingsValidation/logger/builtinLogger.ts +0 -54
  870. package/src/utils/settingsValidation/logger/commons.ts +0 -24
  871. package/src/utils/settingsValidation/logger/pluggableLogger.ts +0 -35
  872. package/src/utils/settingsValidation/mode.ts +0 -17
  873. package/src/utils/settingsValidation/runtime.ts +0 -9
  874. package/src/utils/settingsValidation/splitFilters.ts +0 -197
  875. package/src/utils/settingsValidation/storage/storageCS.ts +0 -52
  876. package/src/utils/settingsValidation/types.ts +0 -27
  877. package/src/utils/settingsValidation/url.ts +0 -30
  878. package/src/utils/time/index.ts +0 -8
  879. package/src/utils/timeTracker/now/browser.ts +0 -12
  880. package/src/utils/timeTracker/now/node.ts +0 -6
  881. package/src/utils/timeTracker/timer.ts +0 -7
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.codesError = void 0;
4
- var tslib_1 = require("tslib");
5
- var c = (0, tslib_1.__importStar)(require("../constants"));
6
- exports.codesError = [
7
- // evaluator
8
- [c.ERROR_ENGINE_COMBINER_IFELSEIF, c.LOG_PREFIX_ENGINE_COMBINER + 'Invalid feature flag, no valid rules or unsupported targeting rule type found'],
9
- [c.ENGINE_MATCHER_ERROR, c.LOG_PREFIX_ENGINE_MATCHER + '[%s] %s'],
10
- // SDK
11
- [c.ERROR_LOGLEVEL_INVALID, 'logger: Invalid Log Level - No changes to the logs will be applied.'],
12
- [c.ERROR_CLIENT_CANNOT_GET_READY, 'The SDK will not get ready. Reason: %s'],
13
- [c.ERROR_IMPRESSIONS_TRACKER, c.LOG_PREFIX_IMPRESSIONS_TRACKER + 'Could not store impressions bulk with %s impression(s). Error: %s'],
14
- [c.ERROR_IMPRESSIONS_LISTENER, c.LOG_PREFIX_IMPRESSIONS_TRACKER + 'Impression listener logImpression method threw: %s.'],
15
- [c.ERROR_EVENTS_TRACKER, c.LOG_PREFIX_EVENTS_TRACKER + 'Failed to queue %s'],
16
- // synchronizer
17
- [c.ERROR_SYNC_OFFLINE_LOADING, c.LOG_PREFIX_SYNC_OFFLINE + 'There was an issue loading the mock feature flags data. No changes will be applied to the current cache. %s'],
18
- [c.ERROR_STREAMING_SSE, c.LOG_PREFIX_SYNC_STREAMING + 'Failed to connect or error on streaming connection, with error message: %s'],
19
- [c.ERROR_STREAMING_AUTH, c.LOG_PREFIX_SYNC_STREAMING + 'Failed to authenticate for streaming. Error: %s.'],
20
- [c.ERROR_HTTP, 'HTTP request failed with %s. URL: %s. Message: %s'],
21
- // client status
22
- [c.ERROR_CLIENT_LISTENER, 'A listener was added for %s on the SDK, which has already fired and won\'t be emitted again. The callback won\'t be executed.'],
23
- [c.ERROR_CLIENT_DESTROYED, '%s: Client has already been destroyed - no calls possible.'],
24
- // input validation
25
- [c.ERROR_EVENT_TYPE_FORMAT, '%s: you passed "%s", event_type must adhere to the regular expression /^[a-zA-Z0-9][-_.:a-zA-Z0-9]{0,79}$/g. This means an event_type must be alphanumeric, cannot be more than 80 characters long, and can only include a dash, underscore, period, or colon as separators of alphanumeric characters.'],
26
- [c.ERROR_NOT_PLAIN_OBJECT, '%s: %s must be a plain object.'],
27
- [c.ERROR_SIZE_EXCEEDED, '%s: the maximum size allowed for the properties is 32768 bytes, which was exceeded.'],
28
- [c.ERROR_NOT_FINITE, '%s: value must be a finite number.'],
29
- [c.ERROR_NULL, '%s: you passed a null or undefined %s. It must be a non-empty string.'],
30
- [c.ERROR_TOO_LONG, '%s: %s too long. It must have 250 characters or less.'],
31
- [c.ERROR_INVALID_KEY_OBJECT, '%s: Key must be an object with bucketingKey and matchingKey with valid string properties.'],
32
- [c.ERROR_INVALID, '%s: you passed an invalid %s. It must be a non-empty string.'],
33
- [c.ERROR_EMPTY, '%s: you passed an empty %s. It must be a non-empty string.'],
34
- [c.ERROR_EMPTY_ARRAY, '%s: %s must be a non-empty array.'],
35
- [c.ERROR_NOT_BOOLEAN, '%s: provided param must be a boolean value.'],
36
- // initialization / settings validation
37
- [c.ERROR_INVALID_CONFIG_PARAM, c.LOG_PREFIX_SETTINGS + ': you passed an invalid "%s" config param. It should be one of the following values: %s. Defaulting to "%s".'],
38
- [c.ERROR_STORAGE_INVALID, c.LOG_PREFIX_SETTINGS + ': the provided storage is invalid.%s Falling back into default MEMORY storage'],
39
- [c.ERROR_MIN_CONFIG_PARAM, c.LOG_PREFIX_SETTINGS + ': the provided "%s" config param is lower than allowed. Setting to the minimum value %s seconds'],
40
- [c.ERROR_TOO_MANY_SETS, c.LOG_PREFIX_SETTINGS + ': the amount of flag sets provided are big causing uri length error.'],
41
- [c.ERROR_SETS_FILTER_EXCLUSIVE, c.LOG_PREFIX_SETTINGS + ': the Set filter is exclusive and cannot be used simultaneously with names or prefix filters. Ignoring names and prefixes.'],
42
- ];
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.codesInfo = void 0;
4
- var tslib_1 = require("tslib");
5
- var c = (0, tslib_1.__importStar)(require("../constants"));
6
- var warn_1 = require("./warn");
7
- var READY_MSG = 'Split SDK client is ready';
8
- exports.codesInfo = warn_1.codesWarn.concat([
9
- // client status
10
- [c.CLIENT_READY_FROM_CACHE, READY_MSG + ' from cache'],
11
- [c.CLIENT_READY, READY_MSG],
12
- // SDK
13
- [c.IMPRESSION, c.LOG_PREFIX_IMPRESSIONS_TRACKER + 'Feature flag: %s. Key: %s. Evaluation: %s. Label: %s'],
14
- [c.IMPRESSION_QUEUEING, c.LOG_PREFIX_IMPRESSIONS_TRACKER + 'Queueing corresponding impression.'],
15
- [c.NEW_SHARED_CLIENT, 'New shared client instance created.'],
16
- [c.NEW_FACTORY, 'New Split SDK instance created.'],
17
- [c.EVENTS_TRACKER_SUCCESS, c.LOG_PREFIX_EVENTS_TRACKER + 'Successfully queued %s'],
18
- [c.IMPRESSIONS_TRACKER_SUCCESS, c.LOG_PREFIX_IMPRESSIONS_TRACKER + 'Successfully stored %s impression(s).'],
19
- [c.USER_CONSENT_UPDATED, 'UserConsent: consent status changed from %s to %s.'],
20
- [c.USER_CONSENT_NOT_UPDATED, 'UserConsent: call had no effect because it was the current consent status (%s).'],
21
- [c.USER_CONSENT_INITIAL, 'Starting the SDK with %s user consent. No data will be sent.'],
22
- // synchronizer
23
- [c.POLLING_SMART_PAUSING, c.LOG_PREFIX_SYNC_POLLING + 'Turning segments data polling %s.'],
24
- [c.POLLING_START, c.LOG_PREFIX_SYNC_POLLING + 'Starting polling'],
25
- [c.POLLING_STOP, c.LOG_PREFIX_SYNC_POLLING + 'Stopping polling'],
26
- [c.SYNC_SPLITS_FETCH_RETRY, c.LOG_PREFIX_SYNC_SPLITS + 'Retrying download of feature flags #%s. Reason: %s'],
27
- [c.SUBMITTERS_PUSH_FULL_QUEUE, c.LOG_PREFIX_SYNC_SUBMITTERS + 'Flushing full %s queue and resetting timer.'],
28
- [c.SUBMITTERS_PUSH, c.LOG_PREFIX_SYNC_SUBMITTERS + 'Pushing %s.'],
29
- [c.STREAMING_REFRESH_TOKEN, c.LOG_PREFIX_SYNC_STREAMING + 'Refreshing streaming token in %s seconds, and connecting streaming in %s seconds.'],
30
- [c.STREAMING_RECONNECT, c.LOG_PREFIX_SYNC_STREAMING + 'Attempting to reconnect streaming in %s seconds.'],
31
- [c.STREAMING_CONNECTING, c.LOG_PREFIX_SYNC_STREAMING + 'Connecting streaming.'],
32
- [c.STREAMING_DISABLED, c.LOG_PREFIX_SYNC_STREAMING + 'Streaming is disabled for given SDK key. Switching to polling mode.'],
33
- [c.STREAMING_DISCONNECTING, c.LOG_PREFIX_SYNC_STREAMING + 'Disconnecting streaming.'],
34
- [c.SYNC_START_POLLING, c.LOG_PREFIX_SYNC_MANAGER + 'Streaming not available. Starting polling.'],
35
- [c.SYNC_CONTINUE_POLLING, c.LOG_PREFIX_SYNC_MANAGER + 'Streaming couldn\'t connect. Continue polling.'],
36
- [c.SYNC_STOP_POLLING, c.LOG_PREFIX_SYNC_MANAGER + 'Streaming connected. Syncing and stopping polling.'],
37
- ]);
@@ -1,42 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.codesWarn = void 0;
4
- var tslib_1 = require("tslib");
5
- var c = (0, tslib_1.__importStar)(require("../constants"));
6
- var error_1 = require("./error");
7
- exports.codesWarn = error_1.codesError.concat([
8
- // evaluator
9
- [c.ENGINE_VALUE_INVALID, c.LOG_PREFIX_ENGINE_VALUE + 'Value %s doesn\'t match with expected type.'],
10
- [c.ENGINE_VALUE_NO_ATTRIBUTES, c.LOG_PREFIX_ENGINE_VALUE + 'Defined attribute `%s`. No attributes received.'],
11
- // synchronizer
12
- [c.SYNC_MYSEGMENTS_FETCH_RETRY, c.LOG_PREFIX_SYNC_MYSEGMENTS + 'Retrying download of segments #%s. Reason: %s'],
13
- [c.SYNC_SPLITS_FETCH_FAILS, c.LOG_PREFIX_SYNC_SPLITS + 'Error while doing fetch of feature flags. %s'],
14
- [c.STREAMING_PARSING_ERROR_FAILS, c.LOG_PREFIX_SYNC_STREAMING + 'Error parsing SSE error notification: %s'],
15
- [c.STREAMING_PARSING_MESSAGE_FAILS, c.LOG_PREFIX_SYNC_STREAMING + 'Error parsing SSE message notification: %s'],
16
- [c.STREAMING_FALLBACK, c.LOG_PREFIX_SYNC_STREAMING + 'Falling back to polling mode. Reason: %s'],
17
- [c.SUBMITTERS_PUSH_FAILS, c.LOG_PREFIX_SYNC_SUBMITTERS + 'Dropping %s after retry. Reason: %s.'],
18
- [c.SUBMITTERS_PUSH_RETRY, c.LOG_PREFIX_SYNC_SUBMITTERS + 'Failed to push %s, keeping data to retry on next iteration. Reason: %s.'],
19
- // client status
20
- [c.CLIENT_NOT_READY, '%s: the SDK is not ready, results may be incorrect%s. Make sure to wait for SDK readiness before using this method.'],
21
- [c.CLIENT_NO_LISTENER, 'No listeners for SDK Readiness detected. Incorrect control treatments could have been logged if you called getTreatment/s while the SDK was not yet ready.'],
22
- // input validation
23
- [c.WARN_SETTING_NULL, '%s: Property "%s" is of invalid type. Setting value to null.'],
24
- [c.WARN_TRIMMING_PROPERTIES, '%s: more than 300 properties were provided. Some of them will be trimmed when processed.'],
25
- [c.WARN_CONVERTING, '%s: %s "%s" is not of type string, converting.'],
26
- [c.WARN_TRIMMING, '%s: %s "%s" has extra whitespace, trimming.'],
27
- [c.WARN_NOT_EXISTENT_SPLIT, '%s: feature flag "%s" does not exist in this environment. Please double check what feature flags exist in the Split user interface.'],
28
- [c.WARN_LOWERCASE_TRAFFIC_TYPE, '%s: traffic_type_name should be all lowercase - converting string to lowercase.'],
29
- [c.WARN_NOT_EXISTENT_TT, '%s: traffic type "%s" does not have any corresponding feature flag in this environment, make sure you\'re tracking your events to a valid traffic type defined in the Split user interface.'],
30
- [c.WARN_FLAGSET_NOT_CONFIGURED, '%s: you passed %s which is not part of the configured FlagSetsFilter, ignoring Flag Set.'],
31
- // initialization / settings validation
32
- [c.WARN_INTEGRATION_INVALID, c.LOG_PREFIX_SETTINGS + ': %s integration item(s) at settings is invalid. %s'],
33
- [c.WARN_SPLITS_FILTER_IGNORED, c.LOG_PREFIX_SETTINGS + ': feature flag filters are not applicable for Consumer modes where the SDK does not keep rollout data in sync. Filters were discarded'],
34
- [c.WARN_SPLITS_FILTER_INVALID, c.LOG_PREFIX_SETTINGS + ': feature flag filter at position %s is invalid. It must be an object with a valid filter type ("bySet", "byName" or "byPrefix") and a list of "values".'],
35
- [c.WARN_SPLITS_FILTER_EMPTY, c.LOG_PREFIX_SETTINGS + ': feature flag filter configuration must be a non-empty array of filter objects.'],
36
- [c.WARN_SDK_KEY, c.LOG_PREFIX_SETTINGS + ': You already have %s. We recommend keeping only one instance of the factory at all times (Singleton pattern) and reusing it throughout your application'],
37
- [c.STREAMING_PARSING_MEMBERSHIPS_UPDATE, c.LOG_PREFIX_SYNC_STREAMING + 'Fetching Memberships due to an error processing %s notification: %s'],
38
- [c.STREAMING_PARSING_SPLIT_UPDATE, c.LOG_PREFIX_SYNC_STREAMING + 'Fetching SplitChanges due to an error processing %s notification: %s'],
39
- [c.WARN_INVALID_FLAGSET, '%s: you passed %s, flag set must adhere to the regular expressions %s. This means a flag set must start with a letter or number, be in lowercase, alphanumeric and have a max length of 50 characters. %s was discarded.'],
40
- [c.WARN_LOWERCASE_FLAGSET, '%s: flag set %s should be all lowercase - converting string to lowercase.'],
41
- [c.WARN_FLAGSET_WITHOUT_FLAGS, '%s: you passed %s flag set that does not contain cached feature flag names. Please double check what flag sets are in use in the Split user interface.'],
42
- ]);
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createLoggerAPI = void 0;
4
- var index_1 = require("./index");
5
- var constants_1 = require("./constants");
6
- /**
7
- * The public Logger utility API exposed via SplitFactory, used to update the log level.
8
- *
9
- * @param log - the factory logger instance to handle
10
- */
11
- function createLoggerAPI(log) {
12
- function setLogLevel(logLevel) {
13
- if ((0, index_1.isLogLevelString)(logLevel)) {
14
- log.setLogLevel(logLevel);
15
- }
16
- else {
17
- log.error(constants_1.ERROR_LOGLEVEL_INVALID);
18
- }
19
- }
20
- return {
21
- /**
22
- * Enables all the logs.
23
- */
24
- enable: function () {
25
- setLogLevel(index_1.LogLevels.DEBUG);
26
- },
27
- /**
28
- * Sets a custom log Level for the SDK.
29
- * @param logLevel - Custom LogLevel value.
30
- */
31
- setLogLevel: setLogLevel,
32
- /**
33
- * Disables all the log levels.
34
- */
35
- disable: function () {
36
- // Disabling is equal logLevel none
37
- setLogLevel(index_1.LogLevels.NONE);
38
- },
39
- /**
40
- * Exposed for usage with setLogLevel
41
- */
42
- LogLevel: index_1.LogLevels
43
- };
44
- }
45
- exports.createLoggerAPI = createLoggerAPI;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SDK_UPDATE = exports.SDK_READY_FROM_CACHE = exports.SDK_READY = exports.SDK_READY_TIMED_OUT = exports.SDK_SEGMENTS_ARRIVED = exports.SDK_SPLITS_CACHE_LOADED = exports.SDK_SPLITS_ARRIVED = void 0;
4
- // Splits events:
5
- exports.SDK_SPLITS_ARRIVED = 'state::splits-arrived';
6
- exports.SDK_SPLITS_CACHE_LOADED = 'state::splits-cache-loaded';
7
- // Segments events:
8
- exports.SDK_SEGMENTS_ARRIVED = 'state::segments-arrived';
9
- // Readiness events:
10
- exports.SDK_READY_TIMED_OUT = 'init::timeout';
11
- exports.SDK_READY = 'init::ready';
12
- exports.SDK_READY_FROM_CACHE = 'init::cache-ready';
13
- exports.SDK_UPDATE = 'state::update';
@@ -1,154 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.readinessManagerFactory = void 0;
4
- var objectAssign_1 = require("../utils/lang/objectAssign");
5
- var constants_1 = require("./constants");
6
- var constants_2 = require("../utils/constants");
7
- function splitsEventEmitterFactory(EventEmitter) {
8
- var splitsEventEmitter = (0, objectAssign_1.objectAssign)(new EventEmitter(), {
9
- splitsArrived: false,
10
- splitsCacheLoaded: false,
11
- hasInit: false,
12
- initCallbacks: []
13
- });
14
- // `isSplitKill` condition avoids an edge-case of wrongly emitting SDK_READY if:
15
- // - `/memberships` fetch and SPLIT_KILL occurs before `/splitChanges` fetch, and
16
- // - storage has cached splits (for which case `splitsStorage.killLocally` can return true)
17
- splitsEventEmitter.on(constants_1.SDK_SPLITS_ARRIVED, function (isSplitKill) { if (!isSplitKill)
18
- splitsEventEmitter.splitsArrived = true; });
19
- splitsEventEmitter.once(constants_1.SDK_SPLITS_CACHE_LOADED, function () { splitsEventEmitter.splitsCacheLoaded = true; });
20
- return splitsEventEmitter;
21
- }
22
- function segmentsEventEmitterFactory(EventEmitter) {
23
- var segmentsEventEmitter = (0, objectAssign_1.objectAssign)(new EventEmitter(), {
24
- segmentsArrived: false
25
- });
26
- segmentsEventEmitter.once(constants_1.SDK_SEGMENTS_ARRIVED, function () { segmentsEventEmitter.segmentsArrived = true; });
27
- return segmentsEventEmitter;
28
- }
29
- /**
30
- * Factory of readiness manager, which handles the ready / update event propagation.
31
- */
32
- function readinessManagerFactory(EventEmitter, settings, splits, isShared) {
33
- if (splits === void 0) { splits = splitsEventEmitterFactory(EventEmitter); }
34
- var readyTimeout = settings.startup.readyTimeout;
35
- var segments = segmentsEventEmitterFactory(EventEmitter);
36
- var gate = new EventEmitter();
37
- var lastUpdate = 0;
38
- function syncLastUpdate() {
39
- var dateNow = Date.now();
40
- // ensure lastUpdate is always increasing per event, is case Date.now() is mocked or its value is the same
41
- lastUpdate = dateNow > lastUpdate ? dateNow : lastUpdate + 1;
42
- }
43
- // emit SDK_READY_FROM_CACHE
44
- var isReadyFromCache = false;
45
- if (splits.splitsCacheLoaded)
46
- isReadyFromCache = true; // ready from cache, but doesn't emit SDK_READY_FROM_CACHE
47
- else
48
- splits.once(constants_1.SDK_SPLITS_CACHE_LOADED, checkIsReadyFromCache);
49
- // emit SDK_READY_TIMED_OUT
50
- var hasTimedout = false;
51
- function timeout() {
52
- if (hasTimedout || isReady)
53
- return;
54
- hasTimedout = true;
55
- syncLastUpdate();
56
- gate.emit(constants_1.SDK_READY_TIMED_OUT, 'Split SDK emitted SDK_READY_TIMED_OUT event.');
57
- }
58
- // emit SDK_READY and SDK_UPDATE
59
- var isReady = false;
60
- splits.on(constants_1.SDK_SPLITS_ARRIVED, checkIsReadyOrUpdate);
61
- segments.on(constants_1.SDK_SEGMENTS_ARRIVED, checkIsReadyOrUpdate);
62
- var isDestroyed = false;
63
- var readyTimeoutId;
64
- function __init() {
65
- isDestroyed = false;
66
- if (readyTimeout > 0 && !isReady)
67
- readyTimeoutId = setTimeout(timeout, readyTimeout);
68
- }
69
- splits.initCallbacks.push(__init);
70
- if (splits.hasInit)
71
- __init();
72
- function checkIsReadyFromCache() {
73
- isReadyFromCache = true;
74
- // Don't emit SDK_READY_FROM_CACHE if SDK_READY has been emitted
75
- if (!isReady && !isDestroyed) {
76
- try {
77
- syncLastUpdate();
78
- gate.emit(constants_1.SDK_READY_FROM_CACHE);
79
- }
80
- catch (e) {
81
- // throws user callback exceptions in next tick
82
- setTimeout(function () { throw e; }, 0);
83
- }
84
- }
85
- }
86
- function checkIsReadyOrUpdate(diff) {
87
- var _a;
88
- if (isDestroyed)
89
- return;
90
- if (isReady) {
91
- try {
92
- syncLastUpdate();
93
- gate.emit(constants_1.SDK_UPDATE, diff);
94
- }
95
- catch (e) {
96
- // throws user callback exceptions in next tick
97
- setTimeout(function () { throw e; }, 0);
98
- }
99
- }
100
- else {
101
- if (splits.splitsArrived && segments.segmentsArrived) {
102
- clearTimeout(readyTimeoutId);
103
- isReady = true;
104
- try {
105
- syncLastUpdate();
106
- if (!isReadyFromCache && ((_a = settings.storage) === null || _a === void 0 ? void 0 : _a.type) === constants_2.STORAGE_LOCALSTORAGE) {
107
- isReadyFromCache = true;
108
- gate.emit(constants_1.SDK_READY_FROM_CACHE);
109
- }
110
- gate.emit(constants_1.SDK_READY);
111
- }
112
- catch (e) {
113
- // throws user callback exceptions in next tick
114
- setTimeout(function () { throw e; }, 0);
115
- }
116
- }
117
- }
118
- }
119
- return {
120
- splits: splits,
121
- segments: segments,
122
- gate: gate,
123
- shared: function () {
124
- return readinessManagerFactory(EventEmitter, settings, splits, true);
125
- },
126
- // @TODO review/remove next methods when non-recoverable errors are reworked
127
- // Called on consumer mode, when storage fails to connect
128
- timeout: timeout,
129
- // Called on 403 error (client-side SDK key on server-side), to set the SDK as destroyed for
130
- // tracking and evaluations, while keeping event listeners to emit SDK_READY_TIMED_OUT event
131
- setDestroyed: function () { isDestroyed = true; },
132
- init: function () {
133
- if (splits.hasInit)
134
- return;
135
- splits.hasInit = true;
136
- splits.initCallbacks.forEach(function (cb) { return cb(); });
137
- },
138
- destroy: function () {
139
- isDestroyed = true;
140
- syncLastUpdate();
141
- clearTimeout(readyTimeoutId);
142
- if (!isShared)
143
- splits.hasInit = false;
144
- },
145
- isReady: function () { return isReady; },
146
- isReadyFromCache: function () { return isReadyFromCache; },
147
- isTimedout: function () { return hasTimedout && !isReady; },
148
- hasTimedout: function () { return hasTimedout; },
149
- isDestroyed: function () { return isDestroyed; },
150
- isOperational: function () { return (isReady || isReadyFromCache) && !isDestroyed; },
151
- lastUpdate: function () { return lastUpdate; }
152
- };
153
- }
154
- exports.readinessManagerFactory = readinessManagerFactory;
@@ -1,104 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.sdkReadinessManagerFactory = void 0;
4
- var objectAssign_1 = require("../utils/lang/objectAssign");
5
- var wrapper_1 = require("../utils/promise/wrapper");
6
- var readinessManager_1 = require("./readinessManager");
7
- var constants_1 = require("./constants");
8
- var constants_2 = require("../logger/constants");
9
- var NEW_LISTENER_EVENT = 'newListener';
10
- var REMOVE_LISTENER_EVENT = 'removeListener';
11
- /**
12
- * SdkReadinessManager factory, which provides the public status API of SDK clients and manager: ready promise, readiness event emitter and constants (SDK_READY, etc).
13
- * It also updates logs related warnings and errors.
14
- *
15
- * @param readyTimeout - time in millis to emit SDK_READY_TIME_OUT event
16
- * @param readinessManager - optional readinessManager to use. only used internally for `shared` method
17
- */
18
- function sdkReadinessManagerFactory(EventEmitter, settings, readinessManager) {
19
- if (readinessManager === void 0) { readinessManager = (0, readinessManager_1.readinessManagerFactory)(EventEmitter, settings); }
20
- var log = settings.log;
21
- /** Ready callback warning */
22
- var internalReadyCbCount = 0;
23
- var readyCbCount = 0;
24
- readinessManager.gate.on(REMOVE_LISTENER_EVENT, function (event) {
25
- if (event === constants_1.SDK_READY)
26
- readyCbCount--;
27
- });
28
- readinessManager.gate.on(NEW_LISTENER_EVENT, function (event) {
29
- if (event === constants_1.SDK_READY || event === constants_1.SDK_READY_TIMED_OUT) {
30
- if (readinessManager.isReady()) {
31
- log.error(constants_2.ERROR_CLIENT_LISTENER, [event === constants_1.SDK_READY ? 'SDK_READY' : 'SDK_READY_TIMED_OUT']);
32
- }
33
- else if (event === constants_1.SDK_READY) {
34
- readyCbCount++;
35
- }
36
- }
37
- });
38
- /** Ready promise */
39
- var readyPromise = generateReadyPromise();
40
- readinessManager.gate.once(constants_1.SDK_READY_FROM_CACHE, function () {
41
- log.info(constants_2.CLIENT_READY_FROM_CACHE);
42
- });
43
- // default onRejected handler, that just logs the error, if ready promise doesn't have one.
44
- function defaultOnRejected(err) {
45
- log.error(err && err.message);
46
- }
47
- function generateReadyPromise() {
48
- var promise = (0, wrapper_1.promiseWrapper)(new Promise(function (resolve, reject) {
49
- readinessManager.gate.once(constants_1.SDK_READY, function () {
50
- log.info(constants_2.CLIENT_READY);
51
- if (readyCbCount === internalReadyCbCount && !promise.hasOnFulfilled())
52
- log.warn(constants_2.CLIENT_NO_LISTENER);
53
- resolve();
54
- });
55
- readinessManager.gate.once(constants_1.SDK_READY_TIMED_OUT, function (message) {
56
- reject(new Error(message));
57
- });
58
- }), defaultOnRejected);
59
- return promise;
60
- }
61
- return {
62
- readinessManager: readinessManager,
63
- shared: function () {
64
- return sdkReadinessManagerFactory(EventEmitter, settings, readinessManager.shared());
65
- },
66
- incInternalReadyCbCount: function () {
67
- internalReadyCbCount++;
68
- },
69
- sdkStatus: (0, objectAssign_1.objectAssign)(
70
- // Expose Event Emitter functionality
71
- Object.create(readinessManager.gate), {
72
- // Expose the event constants without changing the interface
73
- Event: {
74
- SDK_READY: constants_1.SDK_READY,
75
- SDK_READY_FROM_CACHE: constants_1.SDK_READY_FROM_CACHE,
76
- SDK_UPDATE: constants_1.SDK_UPDATE,
77
- SDK_READY_TIMED_OUT: constants_1.SDK_READY_TIMED_OUT,
78
- },
79
- ready: function () {
80
- if (readinessManager.hasTimedout()) {
81
- if (!readinessManager.isReady()) {
82
- return (0, wrapper_1.promiseWrapper)(Promise.reject(new Error('Split SDK has emitted SDK_READY_TIMED_OUT event.')), defaultOnRejected);
83
- }
84
- else {
85
- return Promise.resolve();
86
- }
87
- }
88
- return readyPromise;
89
- },
90
- __getStatus: function () {
91
- return {
92
- isReady: readinessManager.isReady(),
93
- isReadyFromCache: readinessManager.isReadyFromCache(),
94
- isTimedout: readinessManager.isTimedout(),
95
- hasTimedout: readinessManager.hasTimedout(),
96
- isDestroyed: readinessManager.isDestroyed(),
97
- isOperational: readinessManager.isOperational(),
98
- lastUpdate: readinessManager.lastUpdate(),
99
- };
100
- },
101
- })
102
- };
103
- }
104
- exports.sdkReadinessManagerFactory = sdkReadinessManagerFactory;
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,183 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.clientFactory = void 0;
4
- var evaluator_1 = require("../evaluator");
5
- var thenable_1 = require("../utils/promise/thenable");
6
- var key_1 = require("../utils/key");
7
- var splitExistence_1 = require("../utils/inputValidation/splitExistence");
8
- var trafficTypeExistence_1 = require("../utils/inputValidation/trafficTypeExistence");
9
- var labels_1 = require("../utils/labels");
10
- var constants_1 = require("../utils/constants");
11
- var constants_2 = require("../logger/constants");
12
- var mode_1 = require("../utils/settingsValidation/mode");
13
- var treatmentNotReady = { treatment: constants_1.CONTROL, label: labels_1.SDK_NOT_READY };
14
- function treatmentsNotReady(featureFlagNames) {
15
- var evaluations = {};
16
- featureFlagNames.forEach(function (featureFlagName) {
17
- evaluations[featureFlagName] = treatmentNotReady;
18
- });
19
- return evaluations;
20
- }
21
- function stringify(options) {
22
- if (options && options.properties) {
23
- try {
24
- return JSON.stringify(options.properties);
25
- }
26
- catch ( /* JSON.stringify should never throw with validated options, but handling just in case */_a) { /* JSON.stringify should never throw with validated options, but handling just in case */ }
27
- }
28
- }
29
- /**
30
- * Creator of base client with getTreatments and track methods.
31
- */
32
- function clientFactory(params) {
33
- var readinessManager = params.sdkReadinessManager.readinessManager, storage = params.storage, settings = params.settings, impressionsTracker = params.impressionsTracker, eventTracker = params.eventTracker, telemetryTracker = params.telemetryTracker;
34
- var log = settings.log, mode = settings.mode;
35
- var isAsync = (0, mode_1.isConsumerMode)(mode);
36
- function getTreatment(key, featureFlagName, attributes, options, withConfig, methodName) {
37
- if (withConfig === void 0) { withConfig = false; }
38
- if (methodName === void 0) { methodName = constants_1.GET_TREATMENT; }
39
- var stopTelemetryTracker = telemetryTracker.trackEval(withConfig ? constants_1.TREATMENT_WITH_CONFIG : constants_1.TREATMENT);
40
- var wrapUp = function (evaluationResult) {
41
- var queue = [];
42
- var treatment = processEvaluation(evaluationResult, featureFlagName, key, stringify(options), withConfig, methodName, queue);
43
- impressionsTracker.track(queue, attributes);
44
- stopTelemetryTracker(queue[0] && queue[0].imp.label);
45
- return treatment;
46
- };
47
- var evaluation = readinessManager.isReady() || readinessManager.isReadyFromCache() ?
48
- (0, evaluator_1.evaluateFeature)(log, key, featureFlagName, attributes, storage) :
49
- isAsync ? // If the SDK is not ready, treatment may be incorrect due to having splits but not segments data, or storage is not connected
50
- Promise.resolve(treatmentNotReady) :
51
- treatmentNotReady;
52
- return (0, thenable_1.thenable)(evaluation) ? evaluation.then(function (res) { return wrapUp(res); }) : wrapUp(evaluation);
53
- }
54
- function getTreatmentWithConfig(key, featureFlagName, attributes, options) {
55
- return getTreatment(key, featureFlagName, attributes, options, true, constants_1.GET_TREATMENT_WITH_CONFIG);
56
- }
57
- function getTreatments(key, featureFlagNames, attributes, options, withConfig, methodName) {
58
- if (withConfig === void 0) { withConfig = false; }
59
- if (methodName === void 0) { methodName = constants_1.GET_TREATMENTS; }
60
- var stopTelemetryTracker = telemetryTracker.trackEval(withConfig ? constants_1.TREATMENTS_WITH_CONFIG : constants_1.TREATMENTS);
61
- var wrapUp = function (evaluationResults) {
62
- var queue = [];
63
- var treatments = {};
64
- var properties = stringify(options);
65
- Object.keys(evaluationResults).forEach(function (featureFlagName) {
66
- treatments[featureFlagName] = processEvaluation(evaluationResults[featureFlagName], featureFlagName, key, properties, withConfig, methodName, queue);
67
- });
68
- impressionsTracker.track(queue, attributes);
69
- stopTelemetryTracker(queue[0] && queue[0].imp.label);
70
- return treatments;
71
- };
72
- var evaluations = readinessManager.isReady() || readinessManager.isReadyFromCache() ?
73
- (0, evaluator_1.evaluateFeatures)(log, key, featureFlagNames, attributes, storage) :
74
- isAsync ? // If the SDK is not ready, treatment may be incorrect due to having splits but not segments data, or storage is not connected
75
- Promise.resolve(treatmentsNotReady(featureFlagNames)) :
76
- treatmentsNotReady(featureFlagNames);
77
- return (0, thenable_1.thenable)(evaluations) ? evaluations.then(function (res) { return wrapUp(res); }) : wrapUp(evaluations);
78
- }
79
- function getTreatmentsWithConfig(key, featureFlagNames, attributes, options) {
80
- return getTreatments(key, featureFlagNames, attributes, options, true, constants_1.GET_TREATMENTS_WITH_CONFIG);
81
- }
82
- function getTreatmentsByFlagSets(key, flagSetNames, attributes, options, withConfig, method, methodName) {
83
- if (withConfig === void 0) { withConfig = false; }
84
- if (method === void 0) { method = constants_1.TREATMENTS_BY_FLAGSETS; }
85
- if (methodName === void 0) { methodName = constants_1.GET_TREATMENTS_BY_FLAG_SETS; }
86
- var stopTelemetryTracker = telemetryTracker.trackEval(method);
87
- var wrapUp = function (evaluationResults) {
88
- var queue = [];
89
- var treatments = {};
90
- var properties = stringify(options);
91
- Object.keys(evaluationResults).forEach(function (featureFlagName) {
92
- treatments[featureFlagName] = processEvaluation(evaluationResults[featureFlagName], featureFlagName, key, properties, withConfig, methodName, queue);
93
- });
94
- impressionsTracker.track(queue, attributes);
95
- stopTelemetryTracker(queue[0] && queue[0].imp.label);
96
- return treatments;
97
- };
98
- var evaluations = readinessManager.isReady() || readinessManager.isReadyFromCache() ?
99
- (0, evaluator_1.evaluateFeaturesByFlagSets)(log, key, flagSetNames, attributes, storage, methodName) :
100
- isAsync ?
101
- Promise.resolve({}) :
102
- {};
103
- return (0, thenable_1.thenable)(evaluations) ? evaluations.then(function (res) { return wrapUp(res); }) : wrapUp(evaluations);
104
- }
105
- function getTreatmentsWithConfigByFlagSets(key, flagSetNames, attributes, options) {
106
- return getTreatmentsByFlagSets(key, flagSetNames, attributes, options, true, constants_1.TREATMENTS_WITH_CONFIG_BY_FLAGSETS, constants_1.GET_TREATMENTS_WITH_CONFIG_BY_FLAG_SETS);
107
- }
108
- function getTreatmentsByFlagSet(key, flagSetName, attributes, options) {
109
- return getTreatmentsByFlagSets(key, [flagSetName], attributes, options, false, constants_1.TREATMENTS_BY_FLAGSET, constants_1.GET_TREATMENTS_BY_FLAG_SET);
110
- }
111
- function getTreatmentsWithConfigByFlagSet(key, flagSetName, attributes, options) {
112
- return getTreatmentsByFlagSets(key, [flagSetName], attributes, options, true, constants_1.TREATMENTS_WITH_CONFIG_BY_FLAGSET, constants_1.GET_TREATMENTS_WITH_CONFIG_BY_FLAG_SET);
113
- }
114
- // Internal function
115
- function processEvaluation(evaluation, featureFlagName, key, properties, withConfig, invokingMethodName, queue) {
116
- var matchingKey = (0, key_1.getMatching)(key);
117
- var bucketingKey = (0, key_1.getBucketing)(key);
118
- var treatment = evaluation.treatment, label = evaluation.label, changeNumber = evaluation.changeNumber, _a = evaluation.config, config = _a === void 0 ? null : _a, impressionsDisabled = evaluation.impressionsDisabled;
119
- log.info(constants_2.IMPRESSION, [featureFlagName, matchingKey, treatment, label]);
120
- if ((0, splitExistence_1.validateSplitExistence)(log, readinessManager, featureFlagName, label, invokingMethodName)) {
121
- log.info(constants_2.IMPRESSION_QUEUEING);
122
- queue.push({
123
- imp: {
124
- feature: featureFlagName,
125
- keyName: matchingKey,
126
- treatment: treatment,
127
- time: Date.now(),
128
- bucketingKey: bucketingKey,
129
- label: label,
130
- changeNumber: changeNumber,
131
- properties: properties
132
- },
133
- disabled: impressionsDisabled
134
- });
135
- }
136
- if (withConfig) {
137
- return {
138
- treatment: treatment,
139
- config: config
140
- };
141
- }
142
- return treatment;
143
- }
144
- function track(key, trafficTypeName, eventTypeId, value, properties, size) {
145
- if (size === void 0) { size = 1024; }
146
- var stopTelemetryTracker = telemetryTracker.trackEval(constants_1.TRACK);
147
- var matchingKey = (0, key_1.getMatching)(key);
148
- var timestamp = Date.now();
149
- var eventData = {
150
- eventTypeId: eventTypeId,
151
- trafficTypeName: trafficTypeName,
152
- value: value,
153
- timestamp: timestamp,
154
- key: matchingKey,
155
- properties: properties
156
- };
157
- // This may be async but we only warn, we don't actually care if it is valid or not in terms of queueing the event.
158
- (0, trafficTypeExistence_1.validateTrafficTypeExistence)(log, readinessManager, storage.splits, mode, trafficTypeName, constants_1.TRACK_FN_LABEL);
159
- var result = eventTracker.track(eventData, size);
160
- if ((0, thenable_1.thenable)(result)) {
161
- return result.then(function (result) {
162
- stopTelemetryTracker();
163
- return result;
164
- });
165
- }
166
- else {
167
- stopTelemetryTracker();
168
- return result;
169
- }
170
- }
171
- return {
172
- getTreatment: getTreatment,
173
- getTreatmentWithConfig: getTreatmentWithConfig,
174
- getTreatments: getTreatments,
175
- getTreatmentsWithConfig: getTreatmentsWithConfig,
176
- getTreatmentsByFlagSets: getTreatmentsByFlagSets,
177
- getTreatmentsWithConfigByFlagSets: getTreatmentsWithConfigByFlagSets,
178
- getTreatmentsByFlagSet: getTreatmentsByFlagSet,
179
- getTreatmentsWithConfigByFlagSet: getTreatmentsWithConfigByFlagSet,
180
- track: track,
181
- };
182
- }
183
- exports.clientFactory = clientFactory;