@splitsoftware/splitio-commons 2.4.2-rc.3 → 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 (884) hide show
  1. package/CHANGES.txt +895 -152
  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 -2083
  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 -50
  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 -117
  195. package/cjs/storages/inLocalStorage/SplitsCacheInLocal.js +0 -204
  196. package/cjs/storages/inLocalStorage/constants.js +0 -5
  197. package/cjs/storages/inLocalStorage/index.js +0 -91
  198. package/cjs/storages/inLocalStorage/storageAdapter.js +0 -54
  199. package/cjs/storages/inLocalStorage/validateCache.js +0 -85
  200. package/cjs/storages/inMemory/AttributesCacheInMemory.js +0 -70
  201. package/cjs/storages/inMemory/EventsCacheInMemory.js +0 -63
  202. package/cjs/storages/inMemory/ImpressionCountsCacheInMemory.js +0 -65
  203. package/cjs/storages/inMemory/ImpressionsCacheInMemory.js +0 -51
  204. package/cjs/storages/inMemory/InMemoryStorage.js +0 -46
  205. package/cjs/storages/inMemory/InMemoryStorageCS.js +0 -63
  206. package/cjs/storages/inMemory/MySegmentsCacheInMemory.js +0 -46
  207. package/cjs/storages/inMemory/RBSegmentsCacheInMemory.js +0 -61
  208. package/cjs/storages/inMemory/SegmentsCacheInMemory.js +0 -61
  209. package/cjs/storages/inMemory/SplitsCacheInMemory.js +0 -121
  210. package/cjs/storages/inMemory/TelemetryCacheInMemory.js +0 -207
  211. package/cjs/storages/inMemory/UniqueKeysCacheInMemory.js +0 -72
  212. package/cjs/storages/inMemory/UniqueKeysCacheInMemoryCS.js +0 -71
  213. package/cjs/storages/inRedis/EventsCacheInRedis.js +0 -60
  214. package/cjs/storages/inRedis/ImpressionCountsCacheInRedis.js +0 -85
  215. package/cjs/storages/inRedis/ImpressionsCacheInRedis.js +0 -45
  216. package/cjs/storages/inRedis/RBSegmentsCacheInRedis.js +0 -64
  217. package/cjs/storages/inRedis/RedisAdapter.js +0 -195
  218. package/cjs/storages/inRedis/SegmentsCacheInRedis.js +0 -57
  219. package/cjs/storages/inRedis/SplitsCacheInRedis.js +0 -243
  220. package/cjs/storages/inRedis/TelemetryCacheInRedis.js +0 -124
  221. package/cjs/storages/inRedis/UniqueKeysCacheInRedis.js +0 -69
  222. package/cjs/storages/inRedis/constants.js +0 -7
  223. package/cjs/storages/inRedis/index.js +0 -73
  224. package/cjs/storages/pluggable/EventsCachePluggable.js +0 -64
  225. package/cjs/storages/pluggable/ImpressionCountsCachePluggable.js +0 -81
  226. package/cjs/storages/pluggable/ImpressionsCachePluggable.js +0 -48
  227. package/cjs/storages/pluggable/RBSegmentsCachePluggable.js +0 -64
  228. package/cjs/storages/pluggable/SegmentsCachePluggable.js +0 -80
  229. package/cjs/storages/pluggable/SplitsCachePluggable.js +0 -212
  230. package/cjs/storages/pluggable/TelemetryCachePluggable.js +0 -141
  231. package/cjs/storages/pluggable/UniqueKeysCachePluggable.js +0 -62
  232. package/cjs/storages/pluggable/constants.js +0 -4
  233. package/cjs/storages/pluggable/inMemoryWrapper.js +0 -141
  234. package/cjs/storages/pluggable/index.js +0 -135
  235. package/cjs/storages/pluggable/wrapperAdapter.js +0 -53
  236. package/cjs/storages/types.js +0 -2
  237. package/cjs/storages/utils.js +0 -74
  238. package/cjs/sync/offline/LocalhostFromObject.js +0 -8
  239. package/cjs/sync/offline/splitsParser/parseCondition.js +0 -55
  240. package/cjs/sync/offline/splitsParser/splitsParserFromSettings.js +0 -62
  241. package/cjs/sync/offline/splitsParser/types.js +0 -2
  242. package/cjs/sync/offline/syncManagerOffline.js +0 -52
  243. package/cjs/sync/offline/syncTasks/fromObjectSyncTask.js +0 -71
  244. package/cjs/sync/polling/fetchers/mySegmentsFetcher.js +0 -18
  245. package/cjs/sync/polling/fetchers/segmentChangesFetcher.js +0 -34
  246. package/cjs/sync/polling/fetchers/splitChangesFetcher.js +0 -68
  247. package/cjs/sync/polling/fetchers/types.js +0 -2
  248. package/cjs/sync/polling/pollingManagerCS.js +0 -100
  249. package/cjs/sync/polling/pollingManagerSS.js +0 -49
  250. package/cjs/sync/polling/syncTasks/mySegmentsSyncTask.js +0 -13
  251. package/cjs/sync/polling/syncTasks/segmentsSyncTask.js +0 -13
  252. package/cjs/sync/polling/syncTasks/splitsSyncTask.js +0 -13
  253. package/cjs/sync/polling/types.js +0 -2
  254. package/cjs/sync/polling/updaters/mySegmentsUpdater.js +0 -83
  255. package/cjs/sync/polling/updaters/segmentChangesUpdater.js +0 -80
  256. package/cjs/sync/polling/updaters/splitChangesUpdater.js +0 -190
  257. package/cjs/sync/streaming/AuthClient/index.js +0 -43
  258. package/cjs/sync/streaming/AuthClient/types.js +0 -2
  259. package/cjs/sync/streaming/SSEClient/index.js +0 -86
  260. package/cjs/sync/streaming/SSEClient/types.js +0 -2
  261. package/cjs/sync/streaming/SSEHandler/NotificationKeeper.js +0 -98
  262. package/cjs/sync/streaming/SSEHandler/NotificationParser.js +0 -41
  263. package/cjs/sync/streaming/SSEHandler/index.js +0 -97
  264. package/cjs/sync/streaming/SSEHandler/types.js +0 -16
  265. package/cjs/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.js +0 -124
  266. package/cjs/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.js +0 -92
  267. package/cjs/sync/streaming/UpdateWorkers/SplitsUpdateWorker.js +0 -136
  268. package/cjs/sync/streaming/UpdateWorkers/constants.js +0 -6
  269. package/cjs/sync/streaming/UpdateWorkers/types.js +0 -2
  270. package/cjs/sync/streaming/constants.js +0 -43
  271. package/cjs/sync/streaming/parseUtils.js +0 -98
  272. package/cjs/sync/streaming/pushManager.js +0 -317
  273. package/cjs/sync/streaming/types.js +0 -2
  274. package/cjs/sync/submitters/eventsSubmitter.js +0 -28
  275. package/cjs/sync/submitters/impressionCountsSubmitter.js +0 -36
  276. package/cjs/sync/submitters/impressionsSubmitter.js +0 -54
  277. package/cjs/sync/submitters/submitter.js +0 -66
  278. package/cjs/sync/submitters/submitterManager.js +0 -46
  279. package/cjs/sync/submitters/telemetrySubmitter.js +0 -125
  280. package/cjs/sync/submitters/types.js +0 -2
  281. package/cjs/sync/submitters/uniqueKeysSubmitter.js +0 -27
  282. package/cjs/sync/syncManagerOnline.js +0 -176
  283. package/cjs/sync/syncTask.js +0 -84
  284. package/cjs/sync/types.js +0 -2
  285. package/cjs/trackers/eventTracker.js +0 -62
  286. package/cjs/trackers/impressionObserver/ImpressionObserver.js +0 -18
  287. package/cjs/trackers/impressionObserver/buildKey.js +0 -7
  288. package/cjs/trackers/impressionObserver/impressionObserverCS.js +0 -15
  289. package/cjs/trackers/impressionObserver/impressionObserverSS.js +0 -15
  290. package/cjs/trackers/impressionObserver/types.js +0 -2
  291. package/cjs/trackers/impressionsTracker.js +0 -78
  292. package/cjs/trackers/strategy/strategyDebug.js +0 -20
  293. package/cjs/trackers/strategy/strategyNone.js +0 -24
  294. package/cjs/trackers/strategy/strategyOptimized.js +0 -28
  295. package/cjs/trackers/telemetryTracker.js +0 -75
  296. package/cjs/trackers/types.js +0 -2
  297. package/cjs/trackers/uniqueKeysTracker.js +0 -40
  298. package/cjs/types.js +0 -2
  299. package/cjs/utils/Backoff.js +0 -41
  300. package/cjs/utils/LRUCache/LinkedList.js +0 -114
  301. package/cjs/utils/LRUCache/index.js +0 -42
  302. package/cjs/utils/MinEventEmitter.js +0 -100
  303. package/cjs/utils/Semver.js +0 -103
  304. package/cjs/utils/base64/index.js +0 -75
  305. package/cjs/utils/constants/index.js +0 -100
  306. package/cjs/utils/decompress/index.js +0 -427
  307. package/cjs/utils/env/isLocalStorageAvailable.js +0 -39
  308. package/cjs/utils/env/isNode.js +0 -9
  309. package/cjs/utils/inputValidation/apiKey.js +0 -54
  310. package/cjs/utils/inputValidation/attribute.js +0 -20
  311. package/cjs/utils/inputValidation/attributes.js +0 -25
  312. package/cjs/utils/inputValidation/event.js +0 -28
  313. package/cjs/utils/inputValidation/eventProperties.js +0 -74
  314. package/cjs/utils/inputValidation/eventValue.js +0 -12
  315. package/cjs/utils/inputValidation/index.js +0 -34
  316. package/cjs/utils/inputValidation/isOperational.js +0 -18
  317. package/cjs/utils/inputValidation/key.js +0 -51
  318. package/cjs/utils/inputValidation/preloadedData.js +0 -59
  319. package/cjs/utils/inputValidation/split.js +0 -30
  320. package/cjs/utils/inputValidation/splitExistence.js +0 -19
  321. package/cjs/utils/inputValidation/splits.js +0 -25
  322. package/cjs/utils/inputValidation/trafficType.js +0 -29
  323. package/cjs/utils/inputValidation/trafficTypeExistence.js +0 -31
  324. package/cjs/utils/jwt/index.js +0 -17
  325. package/cjs/utils/jwt/types.js +0 -2
  326. package/cjs/utils/key/index.js +0 -36
  327. package/cjs/utils/labels/index.js +0 -12
  328. package/cjs/utils/lang/binarySearch.js +0 -42
  329. package/cjs/utils/lang/getFnName.js +0 -12
  330. package/cjs/utils/lang/getGlobal.js +0 -18
  331. package/cjs/utils/lang/index.js +0 -281
  332. package/cjs/utils/lang/objectAssign.js +0 -20
  333. package/cjs/utils/lang/sets.js +0 -23
  334. package/cjs/utils/murmur3/common.js +0 -46
  335. package/cjs/utils/murmur3/legacy.js +0 -44
  336. package/cjs/utils/murmur3/murmur3.js +0 -62
  337. package/cjs/utils/murmur3/murmur3_128.js +0 -219
  338. package/cjs/utils/murmur3/murmur3_128_x86.js +0 -154
  339. package/cjs/utils/murmur3/murmur3_64.js +0 -36
  340. package/cjs/utils/murmur3/utfx.js +0 -108
  341. package/cjs/utils/promise/thenable.js +0 -8
  342. package/cjs/utils/promise/timeout.js +0 -20
  343. package/cjs/utils/promise/wrapper.js +0 -58
  344. package/cjs/utils/settingsValidation/consent.js +0 -16
  345. package/cjs/utils/settingsValidation/impressionsMode.js +0 -14
  346. package/cjs/utils/settingsValidation/index.js +0 -184
  347. package/cjs/utils/settingsValidation/integrations/common.js +0 -27
  348. package/cjs/utils/settingsValidation/integrations/configurable.js +0 -18
  349. package/cjs/utils/settingsValidation/integrations/pluggable.js +0 -15
  350. package/cjs/utils/settingsValidation/logger/builtinLogger.js +0 -46
  351. package/cjs/utils/settingsValidation/logger/commons.js +0 -28
  352. package/cjs/utils/settingsValidation/logger/pluggableLogger.js +0 -32
  353. package/cjs/utils/settingsValidation/mode.js +0 -20
  354. package/cjs/utils/settingsValidation/runtime.js +0 -11
  355. package/cjs/utils/settingsValidation/splitFilters.js +0 -188
  356. package/cjs/utils/settingsValidation/storage/storageCS.js +0 -49
  357. package/cjs/utils/settingsValidation/types.js +0 -2
  358. package/cjs/utils/settingsValidation/url.js +0 -31
  359. package/cjs/utils/time/index.js +0 -11
  360. package/cjs/utils/timeTracker/now/browser.js +0 -15
  361. package/cjs/utils/timeTracker/now/node.js +0 -9
  362. package/cjs/utils/timeTracker/timer.js +0 -10
  363. package/esm/consent/index.js +0 -6
  364. package/esm/consent/sdkUserConsent.js +0 -56
  365. package/esm/dtos/types.js +0 -1
  366. package/esm/evaluator/Engine.js +0 -54
  367. package/esm/evaluator/combiners/and.js +0 -21
  368. package/esm/evaluator/combiners/ifelseif.js +0 -44
  369. package/esm/evaluator/condition/engineUtils.js +0 -24
  370. package/esm/evaluator/condition/index.js +0 -37
  371. package/esm/evaluator/convertions/index.js +0 -6
  372. package/esm/evaluator/index.js +0 -128
  373. package/esm/evaluator/matchers/all.js +0 -5
  374. package/esm/evaluator/matchers/between.js +0 -6
  375. package/esm/evaluator/matchers/boolean.js +0 -6
  376. package/esm/evaluator/matchers/cont_all.js +0 -19
  377. package/esm/evaluator/matchers/cont_any.js +0 -14
  378. package/esm/evaluator/matchers/cont_str.js +0 -7
  379. package/esm/evaluator/matchers/dependency.js +0 -24
  380. package/esm/evaluator/matchers/eq.js +0 -6
  381. package/esm/evaluator/matchers/eq_set.js +0 -16
  382. package/esm/evaluator/matchers/ew.js +0 -7
  383. package/esm/evaluator/matchers/gte.js +0 -6
  384. package/esm/evaluator/matchers/index.js +0 -62
  385. package/esm/evaluator/matchers/large_segment.js +0 -6
  386. package/esm/evaluator/matchers/lte.js +0 -6
  387. package/esm/evaluator/matchers/matcherTypes.js +0 -42
  388. package/esm/evaluator/matchers/part_of.js +0 -16
  389. package/esm/evaluator/matchers/prerequisites.js +0 -18
  390. package/esm/evaluator/matchers/rbsegment.js +0 -52
  391. package/esm/evaluator/matchers/segment.js +0 -6
  392. package/esm/evaluator/matchers/semver_between.js +0 -10
  393. package/esm/evaluator/matchers/semver_eq.js +0 -9
  394. package/esm/evaluator/matchers/semver_gte.js +0 -9
  395. package/esm/evaluator/matchers/semver_inlist.js +0 -12
  396. package/esm/evaluator/matchers/semver_lte.js +0 -9
  397. package/esm/evaluator/matchers/string.js +0 -7
  398. package/esm/evaluator/matchers/sw.js +0 -7
  399. package/esm/evaluator/matchers/whitelist.js +0 -7
  400. package/esm/evaluator/matchersTransform/index.js +0 -100
  401. package/esm/evaluator/matchersTransform/segment.js +0 -8
  402. package/esm/evaluator/matchersTransform/unaryNumeric.js +0 -6
  403. package/esm/evaluator/matchersTransform/whitelist.js +0 -6
  404. package/esm/evaluator/parser/index.js +0 -57
  405. package/esm/evaluator/treatments/index.js +0 -39
  406. package/esm/evaluator/types.js +0 -1
  407. package/esm/evaluator/value/index.js +0 -33
  408. package/esm/evaluator/value/sanitize.js +0 -90
  409. package/esm/integrations/pluggable.js +0 -31
  410. package/esm/integrations/types.js +0 -1
  411. package/esm/listeners/browser.js +0 -118
  412. package/esm/listeners/node.js +0 -65
  413. package/esm/listeners/types.js +0 -1
  414. package/esm/logger/browser/DebugLogger.js +0 -5
  415. package/esm/logger/browser/ErrorLogger.js +0 -5
  416. package/esm/logger/browser/InfoLogger.js +0 -5
  417. package/esm/logger/browser/WarnLogger.js +0 -5
  418. package/esm/logger/constants.js +0 -135
  419. package/esm/logger/index.js +0 -95
  420. package/esm/logger/messages/debug.js +0 -32
  421. package/esm/logger/messages/error.js +0 -38
  422. package/esm/logger/messages/info.js +0 -33
  423. package/esm/logger/messages/warn.js +0 -38
  424. package/esm/logger/sdkLogger.js +0 -41
  425. package/esm/logger/types.js +0 -1
  426. package/esm/readiness/constants.js +0 -10
  427. package/esm/readiness/readinessManager.js +0 -150
  428. package/esm/readiness/sdkReadinessManager.js +0 -100
  429. package/esm/readiness/types.js +0 -1
  430. package/esm/sdkClient/client.js +0 -179
  431. package/esm/sdkClient/clientAttributesDecoration.js +0 -118
  432. package/esm/sdkClient/clientCS.js +0 -26
  433. package/esm/sdkClient/clientInputValidation.js +0 -143
  434. package/esm/sdkClient/identity.js +0 -3
  435. package/esm/sdkClient/sdkClient.js +0 -60
  436. package/esm/sdkClient/sdkClientMethod.js +0 -18
  437. package/esm/sdkClient/sdkClientMethodCS.js +0 -62
  438. package/esm/sdkFactory/index.js +0 -104
  439. package/esm/sdkFactory/types.js +0 -1
  440. package/esm/sdkManager/index.js +0 -92
  441. package/esm/services/decorateHeaders.js +0 -35
  442. package/esm/services/splitApi.js +0 -127
  443. package/esm/services/splitHttpClient.js +0 -78
  444. package/esm/services/types.js +0 -1
  445. package/esm/storages/AbstractMySegmentsCacheSync.js +0 -57
  446. package/esm/storages/AbstractSplitsCacheAsync.js +0 -48
  447. package/esm/storages/AbstractSplitsCacheSync.js +0 -70
  448. package/esm/storages/KeyBuilder.js +0 -63
  449. package/esm/storages/KeyBuilderCS.js +0 -61
  450. package/esm/storages/KeyBuilderSS.js +0 -57
  451. package/esm/storages/dataLoader.js +0 -46
  452. package/esm/storages/findLatencyIndex.js +0 -14
  453. package/esm/storages/inLocalStorage/MySegmentsCacheInLocal.js +0 -78
  454. package/esm/storages/inLocalStorage/RBSegmentsCacheInLocal.js +0 -114
  455. package/esm/storages/inLocalStorage/SplitsCacheInLocal.js +0 -201
  456. package/esm/storages/inLocalStorage/constants.js +0 -2
  457. package/esm/storages/inLocalStorage/index.js +0 -87
  458. package/esm/storages/inLocalStorage/storageAdapter.js +0 -50
  459. package/esm/storages/inLocalStorage/validateCache.js +0 -81
  460. package/esm/storages/inMemory/AttributesCacheInMemory.js +0 -67
  461. package/esm/storages/inMemory/EventsCacheInMemory.js +0 -60
  462. package/esm/storages/inMemory/ImpressionCountsCacheInMemory.js +0 -62
  463. package/esm/storages/inMemory/ImpressionsCacheInMemory.js +0 -48
  464. package/esm/storages/inMemory/InMemoryStorage.js +0 -42
  465. package/esm/storages/inMemory/InMemoryStorageCS.js +0 -59
  466. package/esm/storages/inMemory/MySegmentsCacheInMemory.js +0 -43
  467. package/esm/storages/inMemory/RBSegmentsCacheInMemory.js +0 -58
  468. package/esm/storages/inMemory/SegmentsCacheInMemory.js +0 -58
  469. package/esm/storages/inMemory/SplitsCacheInMemory.js +0 -118
  470. package/esm/storages/inMemory/TelemetryCacheInMemory.js +0 -202
  471. package/esm/storages/inMemory/UniqueKeysCacheInMemory.js +0 -68
  472. package/esm/storages/inMemory/UniqueKeysCacheInMemoryCS.js +0 -68
  473. package/esm/storages/inRedis/EventsCacheInRedis.js +0 -57
  474. package/esm/storages/inRedis/ImpressionCountsCacheInRedis.js +0 -82
  475. package/esm/storages/inRedis/ImpressionsCacheInRedis.js +0 -42
  476. package/esm/storages/inRedis/RBSegmentsCacheInRedis.js +0 -61
  477. package/esm/storages/inRedis/RedisAdapter.js +0 -192
  478. package/esm/storages/inRedis/SegmentsCacheInRedis.js +0 -54
  479. package/esm/storages/inRedis/SplitsCacheInRedis.js +0 -240
  480. package/esm/storages/inRedis/TelemetryCacheInRedis.js +0 -121
  481. package/esm/storages/inRedis/UniqueKeysCacheInRedis.js +0 -66
  482. package/esm/storages/inRedis/constants.js +0 -4
  483. package/esm/storages/inRedis/index.js +0 -69
  484. package/esm/storages/pluggable/EventsCachePluggable.js +0 -61
  485. package/esm/storages/pluggable/ImpressionCountsCachePluggable.js +0 -78
  486. package/esm/storages/pluggable/ImpressionsCachePluggable.js +0 -45
  487. package/esm/storages/pluggable/RBSegmentsCachePluggable.js +0 -61
  488. package/esm/storages/pluggable/SegmentsCachePluggable.js +0 -77
  489. package/esm/storages/pluggable/SplitsCachePluggable.js +0 -209
  490. package/esm/storages/pluggable/TelemetryCachePluggable.js +0 -138
  491. package/esm/storages/pluggable/UniqueKeysCachePluggable.js +0 -59
  492. package/esm/storages/pluggable/constants.js +0 -1
  493. package/esm/storages/pluggable/inMemoryWrapper.js +0 -137
  494. package/esm/storages/pluggable/index.js +0 -131
  495. package/esm/storages/pluggable/wrapperAdapter.js +0 -49
  496. package/esm/storages/types.js +0 -1
  497. package/esm/storages/utils.js +0 -66
  498. package/esm/sync/offline/LocalhostFromObject.js +0 -5
  499. package/esm/sync/offline/splitsParser/parseCondition.js +0 -51
  500. package/esm/sync/offline/splitsParser/splitsParserFromSettings.js +0 -58
  501. package/esm/sync/offline/splitsParser/types.js +0 -1
  502. package/esm/sync/offline/syncManagerOffline.js +0 -48
  503. package/esm/sync/offline/syncTasks/fromObjectSyncTask.js +0 -66
  504. package/esm/sync/polling/fetchers/mySegmentsFetcher.js +0 -14
  505. package/esm/sync/polling/fetchers/segmentChangesFetcher.js +0 -30
  506. package/esm/sync/polling/fetchers/splitChangesFetcher.js +0 -64
  507. package/esm/sync/polling/fetchers/types.js +0 -1
  508. package/esm/sync/polling/pollingManagerCS.js +0 -96
  509. package/esm/sync/polling/pollingManagerSS.js +0 -45
  510. package/esm/sync/polling/syncTasks/mySegmentsSyncTask.js +0 -9
  511. package/esm/sync/polling/syncTasks/segmentsSyncTask.js +0 -9
  512. package/esm/sync/polling/syncTasks/splitsSyncTask.js +0 -9
  513. package/esm/sync/polling/types.js +0 -1
  514. package/esm/sync/polling/updaters/mySegmentsUpdater.js +0 -79
  515. package/esm/sync/polling/updaters/segmentChangesUpdater.js +0 -76
  516. package/esm/sync/polling/updaters/splitChangesUpdater.js +0 -184
  517. package/esm/sync/streaming/AuthClient/index.js +0 -38
  518. package/esm/sync/streaming/AuthClient/types.js +0 -1
  519. package/esm/sync/streaming/SSEClient/index.js +0 -83
  520. package/esm/sync/streaming/SSEClient/types.js +0 -1
  521. package/esm/sync/streaming/SSEHandler/NotificationKeeper.js +0 -94
  522. package/esm/sync/streaming/SSEHandler/NotificationParser.js +0 -36
  523. package/esm/sync/streaming/SSEHandler/index.js +0 -93
  524. package/esm/sync/streaming/SSEHandler/types.js +0 -13
  525. package/esm/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.js +0 -120
  526. package/esm/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.js +0 -88
  527. package/esm/sync/streaming/UpdateWorkers/SplitsUpdateWorker.js +0 -132
  528. package/esm/sync/streaming/UpdateWorkers/constants.js +0 -3
  529. package/esm/sync/streaming/UpdateWorkers/types.js +0 -1
  530. package/esm/sync/streaming/constants.js +0 -40
  531. package/esm/sync/streaming/parseUtils.js +0 -90
  532. package/esm/sync/streaming/pushManager.js +0 -313
  533. package/esm/sync/streaming/types.js +0 -1
  534. package/esm/sync/submitters/eventsSubmitter.js +0 -24
  535. package/esm/sync/submitters/impressionCountsSubmitter.js +0 -31
  536. package/esm/sync/submitters/impressionsSubmitter.js +0 -49
  537. package/esm/sync/submitters/submitter.js +0 -61
  538. package/esm/sync/submitters/submitterManager.js +0 -42
  539. package/esm/sync/submitters/telemetrySubmitter.js +0 -119
  540. package/esm/sync/submitters/types.js +0 -1
  541. package/esm/sync/submitters/uniqueKeysSubmitter.js +0 -23
  542. package/esm/sync/syncManagerOnline.js +0 -172
  543. package/esm/sync/syncTask.js +0 -80
  544. package/esm/sync/types.js +0 -1
  545. package/esm/trackers/eventTracker.js +0 -58
  546. package/esm/trackers/impressionObserver/ImpressionObserver.js +0 -15
  547. package/esm/trackers/impressionObserver/buildKey.js +0 -3
  548. package/esm/trackers/impressionObserver/impressionObserverCS.js +0 -10
  549. package/esm/trackers/impressionObserver/impressionObserverSS.js +0 -10
  550. package/esm/trackers/impressionObserver/types.js +0 -1
  551. package/esm/trackers/impressionsTracker.js +0 -74
  552. package/esm/trackers/strategy/strategyDebug.js +0 -16
  553. package/esm/trackers/strategy/strategyNone.js +0 -20
  554. package/esm/trackers/strategy/strategyOptimized.js +0 -24
  555. package/esm/trackers/telemetryTracker.js +0 -71
  556. package/esm/trackers/types.js +0 -1
  557. package/esm/trackers/uniqueKeysTracker.js +0 -36
  558. package/esm/types.js +0 -1
  559. package/esm/utils/Backoff.js +0 -38
  560. package/esm/utils/LRUCache/LinkedList.js +0 -111
  561. package/esm/utils/LRUCache/index.js +0 -39
  562. package/esm/utils/MinEventEmitter.js +0 -97
  563. package/esm/utils/Semver.js +0 -100
  564. package/esm/utils/base64/index.js +0 -70
  565. package/esm/utils/constants/index.js +0 -96
  566. package/esm/utils/decompress/index.js +0 -424
  567. package/esm/utils/env/isLocalStorageAvailable.js +0 -33
  568. package/esm/utils/env/isNode.js +0 -6
  569. package/esm/utils/inputValidation/apiKey.js +0 -48
  570. package/esm/utils/inputValidation/attribute.js +0 -16
  571. package/esm/utils/inputValidation/attributes.js +0 -20
  572. package/esm/utils/inputValidation/event.js +0 -24
  573. package/esm/utils/inputValidation/eventProperties.js +0 -69
  574. package/esm/utils/inputValidation/eventValue.js +0 -8
  575. package/esm/utils/inputValidation/index.js +0 -14
  576. package/esm/utils/inputValidation/isOperational.js +0 -13
  577. package/esm/utils/inputValidation/key.js +0 -47
  578. package/esm/utils/inputValidation/preloadedData.js +0 -55
  579. package/esm/utils/inputValidation/split.js +0 -26
  580. package/esm/utils/inputValidation/splitExistence.js +0 -15
  581. package/esm/utils/inputValidation/splits.js +0 -21
  582. package/esm/utils/inputValidation/trafficType.js +0 -25
  583. package/esm/utils/inputValidation/trafficTypeExistence.js +0 -27
  584. package/esm/utils/jwt/index.js +0 -13
  585. package/esm/utils/jwt/types.js +0 -1
  586. package/esm/utils/key/index.js +0 -30
  587. package/esm/utils/labels/index.js +0 -9
  588. package/esm/utils/lang/binarySearch.js +0 -38
  589. package/esm/utils/lang/getFnName.js +0 -8
  590. package/esm/utils/lang/getGlobal.js +0 -14
  591. package/esm/utils/lang/index.js +0 -258
  592. package/esm/utils/lang/objectAssign.js +0 -17
  593. package/esm/utils/lang/sets.js +0 -17
  594. package/esm/utils/murmur3/common.js +0 -39
  595. package/esm/utils/murmur3/legacy.js +0 -39
  596. package/esm/utils/murmur3/murmur3.js +0 -57
  597. package/esm/utils/murmur3/murmur3_128.js +0 -215
  598. package/esm/utils/murmur3/murmur3_128_x86.js +0 -150
  599. package/esm/utils/murmur3/murmur3_64.js +0 -32
  600. package/esm/utils/murmur3/utfx.js +0 -102
  601. package/esm/utils/promise/thenable.js +0 -4
  602. package/esm/utils/promise/timeout.js +0 -16
  603. package/esm/utils/promise/wrapper.js +0 -54
  604. package/esm/utils/settingsValidation/consent.js +0 -12
  605. package/esm/utils/settingsValidation/impressionsMode.js +0 -10
  606. package/esm/utils/settingsValidation/index.js +0 -180
  607. package/esm/utils/settingsValidation/integrations/common.js +0 -23
  608. package/esm/utils/settingsValidation/integrations/configurable.js +0 -14
  609. package/esm/utils/settingsValidation/integrations/pluggable.js +0 -11
  610. package/esm/utils/settingsValidation/logger/builtinLogger.js +0 -42
  611. package/esm/utils/settingsValidation/logger/commons.js +0 -24
  612. package/esm/utils/settingsValidation/logger/pluggableLogger.js +0 -28
  613. package/esm/utils/settingsValidation/mode.js +0 -15
  614. package/esm/utils/settingsValidation/runtime.js +0 -7
  615. package/esm/utils/settingsValidation/splitFilters.js +0 -183
  616. package/esm/utils/settingsValidation/storage/storageCS.js +0 -44
  617. package/esm/utils/settingsValidation/types.js +0 -1
  618. package/esm/utils/settingsValidation/url.js +0 -27
  619. package/esm/utils/time/index.js +0 -7
  620. package/esm/utils/timeTracker/now/browser.js +0 -12
  621. package/esm/utils/timeTracker/now/node.js +0 -5
  622. package/esm/utils/timeTracker/timer.js +0 -6
  623. package/src/consent/index.ts +0 -8
  624. package/src/consent/sdkUserConsent.ts +0 -60
  625. package/src/dtos/types.ts +0 -294
  626. package/src/evaluator/Engine.ts +0 -73
  627. package/src/evaluator/combiners/and.ts +0 -29
  628. package/src/evaluator/combiners/ifelseif.ts +0 -56
  629. package/src/evaluator/condition/engineUtils.ts +0 -31
  630. package/src/evaluator/condition/index.ts +0 -50
  631. package/src/evaluator/convertions/index.ts +0 -7
  632. package/src/evaluator/index.ts +0 -199
  633. package/src/evaluator/matchers/all.ts +0 -6
  634. package/src/evaluator/matchers/between.ts +0 -10
  635. package/src/evaluator/matchers/boolean.ts +0 -8
  636. package/src/evaluator/matchers/cont_all.ts +0 -18
  637. package/src/evaluator/matchers/cont_any.ts +0 -13
  638. package/src/evaluator/matchers/cont_str.ts +0 -9
  639. package/src/evaluator/matchers/dependency.ts +0 -32
  640. package/src/evaluator/matchers/eq.ts +0 -8
  641. package/src/evaluator/matchers/eq_set.ts +0 -15
  642. package/src/evaluator/matchers/ew.ts +0 -9
  643. package/src/evaluator/matchers/gte.ts +0 -8
  644. package/src/evaluator/matchers/index.ts +0 -70
  645. package/src/evaluator/matchers/large_segment.ts +0 -11
  646. package/src/evaluator/matchers/lte.ts +0 -8
  647. package/src/evaluator/matchers/matcherTypes.ts +0 -42
  648. package/src/evaluator/matchers/part_of.ts +0 -15
  649. package/src/evaluator/matchers/prerequisites.ts +0 -24
  650. package/src/evaluator/matchers/rbsegment.ts +0 -74
  651. package/src/evaluator/matchers/segment.ts +0 -11
  652. package/src/evaluator/matchers/semver_between.ts +0 -15
  653. package/src/evaluator/matchers/semver_eq.ts +0 -13
  654. package/src/evaluator/matchers/semver_gte.ts +0 -13
  655. package/src/evaluator/matchers/semver_inlist.ts +0 -16
  656. package/src/evaluator/matchers/semver_lte.ts +0 -13
  657. package/src/evaluator/matchers/string.ts +0 -9
  658. package/src/evaluator/matchers/sw.ts +0 -9
  659. package/src/evaluator/matchers/whitelist.ts +0 -9
  660. package/src/evaluator/matchersTransform/index.ts +0 -118
  661. package/src/evaluator/matchersTransform/segment.ts +0 -10
  662. package/src/evaluator/matchersTransform/unaryNumeric.ts +0 -8
  663. package/src/evaluator/matchersTransform/whitelist.ts +0 -8
  664. package/src/evaluator/parser/index.ts +0 -82
  665. package/src/evaluator/treatments/index.ts +0 -53
  666. package/src/evaluator/types.ts +0 -34
  667. package/src/evaluator/value/index.ts +0 -37
  668. package/src/evaluator/value/sanitize.ts +0 -106
  669. package/src/index.ts +0 -14
  670. package/src/integrations/pluggable.ts +0 -39
  671. package/src/integrations/types.ts +0 -21
  672. package/src/listeners/browser.ts +0 -138
  673. package/src/listeners/node.ts +0 -81
  674. package/src/listeners/types.ts +0 -4
  675. package/src/logger/browser/DebugLogger.ts +0 -6
  676. package/src/logger/browser/ErrorLogger.ts +0 -6
  677. package/src/logger/browser/InfoLogger.ts +0 -6
  678. package/src/logger/browser/WarnLogger.ts +0 -6
  679. package/src/logger/constants.ts +0 -139
  680. package/src/logger/index.ts +0 -110
  681. package/src/logger/messages/debug.ts +0 -33
  682. package/src/logger/messages/error.ts +0 -39
  683. package/src/logger/messages/info.ts +0 -36
  684. package/src/logger/messages/warn.ts +0 -40
  685. package/src/logger/sdkLogger.ts +0 -46
  686. package/src/logger/types.ts +0 -21
  687. package/src/readiness/constants.ts +0 -12
  688. package/src/readiness/readinessManager.ts +0 -170
  689. package/src/readiness/sdkReadinessManager.ts +0 -121
  690. package/src/readiness/types.ts +0 -85
  691. package/src/sdkClient/client.ts +0 -217
  692. package/src/sdkClient/clientAttributesDecoration.ts +0 -139
  693. package/src/sdkClient/clientCS.ts +0 -34
  694. package/src/sdkClient/clientInputValidation.ts +0 -178
  695. package/src/sdkClient/identity.ts +0 -5
  696. package/src/sdkClient/sdkClient.ts +0 -77
  697. package/src/sdkClient/sdkClientMethod.ts +0 -24
  698. package/src/sdkClient/sdkClientMethodCS.ts +0 -85
  699. package/src/sdkFactory/index.ts +0 -131
  700. package/src/sdkFactory/types.ts +0 -119
  701. package/src/sdkManager/index.ts +0 -114
  702. package/src/services/decorateHeaders.ts +0 -37
  703. package/src/services/splitApi.ts +0 -148
  704. package/src/services/splitHttpClient.ts +0 -84
  705. package/src/services/types.ts +0 -86
  706. package/src/storages/AbstractMySegmentsCacheSync.ts +0 -94
  707. package/src/storages/AbstractSplitsCacheAsync.ts +0 -63
  708. package/src/storages/AbstractSplitsCacheSync.ts +0 -94
  709. package/src/storages/KeyBuilder.ts +0 -81
  710. package/src/storages/KeyBuilderCS.ts +0 -79
  711. package/src/storages/KeyBuilderSS.ts +0 -74
  712. package/src/storages/dataLoader.ts +0 -55
  713. package/src/storages/findLatencyIndex.ts +0 -16
  714. package/src/storages/inLocalStorage/MySegmentsCacheInLocal.ts +0 -87
  715. package/src/storages/inLocalStorage/RBSegmentsCacheInLocal.ts +0 -137
  716. package/src/storages/inLocalStorage/SplitsCacheInLocal.ts +0 -241
  717. package/src/storages/inLocalStorage/constants.ts +0 -2
  718. package/src/storages/inLocalStorage/index.ts +0 -104
  719. package/src/storages/inLocalStorage/storageAdapter.ts +0 -62
  720. package/src/storages/inLocalStorage/validateCache.ts +0 -99
  721. package/src/storages/inMemory/AttributesCacheInMemory.ts +0 -74
  722. package/src/storages/inMemory/EventsCacheInMemory.ts +0 -76
  723. package/src/storages/inMemory/ImpressionCountsCacheInMemory.ts +0 -69
  724. package/src/storages/inMemory/ImpressionsCacheInMemory.ts +0 -58
  725. package/src/storages/inMemory/InMemoryStorage.ts +0 -50
  726. package/src/storages/inMemory/InMemoryStorageCS.ts +0 -69
  727. package/src/storages/inMemory/MySegmentsCacheInMemory.ts +0 -49
  728. package/src/storages/inMemory/RBSegmentsCacheInMemory.ts +0 -68
  729. package/src/storages/inMemory/SegmentsCacheInMemory.ts +0 -74
  730. package/src/storages/inMemory/SplitsCacheInMemory.ts +0 -130
  731. package/src/storages/inMemory/TelemetryCacheInMemory.ts +0 -263
  732. package/src/storages/inMemory/UniqueKeysCacheInMemory.ts +0 -79
  733. package/src/storages/inMemory/UniqueKeysCacheInMemoryCS.ts +0 -80
  734. package/src/storages/inRedis/EventsCacheInRedis.ts +0 -75
  735. package/src/storages/inRedis/ImpressionCountsCacheInRedis.ts +0 -95
  736. package/src/storages/inRedis/ImpressionsCacheInRedis.ts +0 -61
  737. package/src/storages/inRedis/RBSegmentsCacheInRedis.ts +0 -79
  738. package/src/storages/inRedis/RedisAdapter.ts +0 -209
  739. package/src/storages/inRedis/SegmentsCacheInRedis.ts +0 -70
  740. package/src/storages/inRedis/SplitsCacheInRedis.ts +0 -268
  741. package/src/storages/inRedis/TelemetryCacheInRedis.ts +0 -144
  742. package/src/storages/inRedis/UniqueKeysCacheInRedis.ts +0 -75
  743. package/src/storages/inRedis/constants.ts +0 -4
  744. package/src/storages/inRedis/index.ts +0 -85
  745. package/src/storages/package.json +0 -3
  746. package/src/storages/pluggable/EventsCachePluggable.ts +0 -79
  747. package/src/storages/pluggable/ImpressionCountsCachePluggable.ts +0 -92
  748. package/src/storages/pluggable/ImpressionsCachePluggable.ts +0 -63
  749. package/src/storages/pluggable/RBSegmentsCachePluggable.ts +0 -76
  750. package/src/storages/pluggable/SegmentsCachePluggable.ts +0 -90
  751. package/src/storages/pluggable/SplitsCachePluggable.ts +0 -230
  752. package/src/storages/pluggable/TelemetryCachePluggable.ts +0 -159
  753. package/src/storages/pluggable/UniqueKeysCachePluggable.ts +0 -67
  754. package/src/storages/pluggable/constants.ts +0 -1
  755. package/src/storages/pluggable/inMemoryWrapper.ts +0 -130
  756. package/src/storages/pluggable/index.ts +0 -152
  757. package/src/storages/pluggable/wrapperAdapter.ts +0 -58
  758. package/src/storages/types.ts +0 -538
  759. package/src/storages/utils.ts +0 -80
  760. package/src/sync/offline/LocalhostFromObject.ts +0 -6
  761. package/src/sync/offline/splitsParser/parseCondition.ts +0 -59
  762. package/src/sync/offline/splitsParser/splitsParserFromSettings.ts +0 -72
  763. package/src/sync/offline/splitsParser/types.ts +0 -5
  764. package/src/sync/offline/syncManagerOffline.ts +0 -66
  765. package/src/sync/offline/syncTasks/fromObjectSyncTask.ts +0 -97
  766. package/src/sync/polling/fetchers/mySegmentsFetcher.ts +0 -25
  767. package/src/sync/polling/fetchers/segmentChangesFetcher.ts +0 -41
  768. package/src/sync/polling/fetchers/splitChangesFetcher.ts +0 -85
  769. package/src/sync/polling/fetchers/types.ts +0 -25
  770. package/src/sync/polling/pollingManagerCS.ts +0 -116
  771. package/src/sync/polling/pollingManagerSS.ts +0 -56
  772. package/src/sync/polling/syncTasks/mySegmentsSyncTask.ts +0 -34
  773. package/src/sync/polling/syncTasks/segmentsSyncTask.ts +0 -30
  774. package/src/sync/polling/syncTasks/splitsSyncTask.ts +0 -35
  775. package/src/sync/polling/types.ts +0 -33
  776. package/src/sync/polling/updaters/mySegmentsUpdater.ts +0 -104
  777. package/src/sync/polling/updaters/segmentChangesUpdater.ts +0 -92
  778. package/src/sync/polling/updaters/splitChangesUpdater.ts +0 -220
  779. package/src/sync/streaming/AuthClient/index.ts +0 -42
  780. package/src/sync/streaming/AuthClient/types.ts +0 -20
  781. package/src/sync/streaming/SSEClient/index.ts +0 -103
  782. package/src/sync/streaming/SSEClient/types.ts +0 -13
  783. package/src/sync/streaming/SSEHandler/NotificationKeeper.ts +0 -107
  784. package/src/sync/streaming/SSEHandler/NotificationParser.ts +0 -40
  785. package/src/sync/streaming/SSEHandler/index.ts +0 -105
  786. package/src/sync/streaming/SSEHandler/types.ts +0 -73
  787. package/src/sync/streaming/UpdateWorkers/MySegmentsUpdateWorker.ts +0 -134
  788. package/src/sync/streaming/UpdateWorkers/SegmentsUpdateWorker.ts +0 -99
  789. package/src/sync/streaming/UpdateWorkers/SplitsUpdateWorker.ts +0 -145
  790. package/src/sync/streaming/UpdateWorkers/constants.ts +0 -3
  791. package/src/sync/streaming/UpdateWorkers/types.ts +0 -4
  792. package/src/sync/streaming/constants.ts +0 -44
  793. package/src/sync/streaming/parseUtils.ts +0 -100
  794. package/src/sync/streaming/pushManager.ts +0 -358
  795. package/src/sync/streaming/types.ts +0 -51
  796. package/src/sync/submitters/eventsSubmitter.ts +0 -35
  797. package/src/sync/submitters/impressionCountsSubmitter.ts +0 -44
  798. package/src/sync/submitters/impressionsSubmitter.ts +0 -66
  799. package/src/sync/submitters/submitter.ts +0 -76
  800. package/src/sync/submitters/submitterManager.ts +0 -48
  801. package/src/sync/submitters/telemetrySubmitter.ts +0 -148
  802. package/src/sync/submitters/types.ts +0 -241
  803. package/src/sync/submitters/uniqueKeysSubmitter.ts +0 -35
  804. package/src/sync/syncManagerOnline.ts +0 -195
  805. package/src/sync/syncTask.ts +0 -83
  806. package/src/sync/types.ts +0 -48
  807. package/src/trackers/eventTracker.ts +0 -72
  808. package/src/trackers/impressionObserver/ImpressionObserver.ts +0 -20
  809. package/src/trackers/impressionObserver/buildKey.ts +0 -5
  810. package/src/trackers/impressionObserver/impressionObserverCS.ts +0 -14
  811. package/src/trackers/impressionObserver/impressionObserverSS.ts +0 -14
  812. package/src/trackers/impressionObserver/types.ts +0 -5
  813. package/src/trackers/impressionsTracker.ts +0 -87
  814. package/src/trackers/strategy/strategyDebug.ts +0 -23
  815. package/src/trackers/strategy/strategyNone.ts +0 -28
  816. package/src/trackers/strategy/strategyOptimized.ts +0 -35
  817. package/src/trackers/telemetryTracker.ts +0 -73
  818. package/src/trackers/types.ts +0 -86
  819. package/src/trackers/uniqueKeysTracker.ts +0 -50
  820. package/src/types.ts +0 -79
  821. package/src/utils/Backoff.ts +0 -51
  822. package/src/utils/LRUCache/LinkedList.ts +0 -130
  823. package/src/utils/LRUCache/index.ts +0 -43
  824. package/src/utils/MinEventEmitter.ts +0 -102
  825. package/src/utils/Semver.ts +0 -111
  826. package/src/utils/base64/index.ts +0 -74
  827. package/src/utils/constants/index.ts +0 -116
  828. package/src/utils/decompress/index.ts +0 -429
  829. package/src/utils/env/isLocalStorageAvailable.ts +0 -32
  830. package/src/utils/env/isNode.ts +0 -6
  831. package/src/utils/inputValidation/apiKey.ts +0 -52
  832. package/src/utils/inputValidation/attribute.ts +0 -21
  833. package/src/utils/inputValidation/attributes.ts +0 -26
  834. package/src/utils/inputValidation/event.ts +0 -24
  835. package/src/utils/inputValidation/eventProperties.ts +0 -78
  836. package/src/utils/inputValidation/eventValue.ts +0 -11
  837. package/src/utils/inputValidation/index.ts +0 -14
  838. package/src/utils/inputValidation/isOperational.ts +0 -17
  839. package/src/utils/inputValidation/key.ts +0 -51
  840. package/src/utils/inputValidation/preloadedData.ts +0 -57
  841. package/src/utils/inputValidation/split.ts +0 -27
  842. package/src/utils/inputValidation/splitExistence.ts +0 -19
  843. package/src/utils/inputValidation/splits.ts +0 -21
  844. package/src/utils/inputValidation/trafficType.ts +0 -27
  845. package/src/utils/inputValidation/trafficTypeExistence.ts +0 -33
  846. package/src/utils/jwt/index.ts +0 -16
  847. package/src/utils/jwt/types.ts +0 -10
  848. package/src/utils/key/index.ts +0 -34
  849. package/src/utils/labels/index.ts +0 -9
  850. package/src/utils/lang/binarySearch.ts +0 -41
  851. package/src/utils/lang/getFnName.ts +0 -8
  852. package/src/utils/lang/getGlobal.ts +0 -17
  853. package/src/utils/lang/index.ts +0 -279
  854. package/src/utils/lang/objectAssign.ts +0 -25
  855. package/src/utils/lang/sets.ts +0 -17
  856. package/src/utils/murmur3/common.ts +0 -54
  857. package/src/utils/murmur3/legacy.ts +0 -48
  858. package/src/utils/murmur3/murmur3.ts +0 -74
  859. package/src/utils/murmur3/murmur3_128.ts +0 -273
  860. package/src/utils/murmur3/murmur3_128_x86.ts +0 -188
  861. package/src/utils/murmur3/murmur3_64.ts +0 -36
  862. package/src/utils/murmur3/utfx.ts +0 -109
  863. package/src/utils/promise/thenable.ts +0 -4
  864. package/src/utils/promise/timeout.ts +0 -17
  865. package/src/utils/promise/wrapper.ts +0 -60
  866. package/src/utils/settingsValidation/consent.ts +0 -16
  867. package/src/utils/settingsValidation/impressionsMode.ts +0 -14
  868. package/src/utils/settingsValidation/index.ts +0 -207
  869. package/src/utils/settingsValidation/integrations/common.ts +0 -27
  870. package/src/utils/settingsValidation/integrations/configurable.ts +0 -20
  871. package/src/utils/settingsValidation/integrations/pluggable.ts +0 -19
  872. package/src/utils/settingsValidation/logger/builtinLogger.ts +0 -54
  873. package/src/utils/settingsValidation/logger/commons.ts +0 -24
  874. package/src/utils/settingsValidation/logger/pluggableLogger.ts +0 -35
  875. package/src/utils/settingsValidation/mode.ts +0 -17
  876. package/src/utils/settingsValidation/runtime.ts +0 -9
  877. package/src/utils/settingsValidation/splitFilters.ts +0 -197
  878. package/src/utils/settingsValidation/storage/storageCS.ts +0 -52
  879. package/src/utils/settingsValidation/types.ts +0 -27
  880. package/src/utils/settingsValidation/url.ts +0 -30
  881. package/src/utils/time/index.ts +0 -8
  882. package/src/utils/timeTracker/now/browser.ts +0 -12
  883. package/src/utils/timeTracker/now/node.ts +0 -6
  884. package/src/utils/timeTracker/timer.ts +0 -7
@@ -1,61 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RBSegmentsCacheInMemory = void 0;
4
- var sets_1 = require("../../utils/lang/sets");
5
- var AbstractSplitsCacheSync_1 = require("../AbstractSplitsCacheSync");
6
- var RBSegmentsCacheInMemory = /** @class */ (function () {
7
- function RBSegmentsCacheInMemory() {
8
- this.cache = {};
9
- this.changeNumber = -1;
10
- this.segmentsCount = 0;
11
- }
12
- RBSegmentsCacheInMemory.prototype.clear = function () {
13
- this.cache = {};
14
- this.changeNumber = -1;
15
- this.segmentsCount = 0;
16
- };
17
- RBSegmentsCacheInMemory.prototype.update = function (toAdd, toRemove, changeNumber) {
18
- var _this = this;
19
- this.changeNumber = changeNumber;
20
- var updated = toAdd.map(function (toAdd) { return _this.add(toAdd); }).some(function (result) { return result; });
21
- return toRemove.map(function (toRemove) { return _this.remove(toRemove.name); }).some(function (result) { return result; }) || updated;
22
- };
23
- RBSegmentsCacheInMemory.prototype.add = function (rbSegment) {
24
- var name = rbSegment.name;
25
- var previous = this.get(name);
26
- if (previous && (0, AbstractSplitsCacheSync_1.usesSegments)(previous))
27
- this.segmentsCount--;
28
- this.cache[name] = rbSegment;
29
- if ((0, AbstractSplitsCacheSync_1.usesSegments)(rbSegment))
30
- this.segmentsCount++;
31
- return true;
32
- };
33
- RBSegmentsCacheInMemory.prototype.remove = function (name) {
34
- var rbSegment = this.get(name);
35
- if (!rbSegment)
36
- return false;
37
- delete this.cache[name];
38
- if ((0, AbstractSplitsCacheSync_1.usesSegments)(rbSegment))
39
- this.segmentsCount--;
40
- return true;
41
- };
42
- RBSegmentsCacheInMemory.prototype.getNames = function () {
43
- return Object.keys(this.cache);
44
- };
45
- RBSegmentsCacheInMemory.prototype.get = function (name) {
46
- return this.cache[name] || null;
47
- };
48
- RBSegmentsCacheInMemory.prototype.contains = function (names) {
49
- var namesArray = (0, sets_1.setToArray)(names);
50
- var namesInStorage = this.getNames();
51
- return namesArray.every(function (name) { return namesInStorage.indexOf(name) !== -1; });
52
- };
53
- RBSegmentsCacheInMemory.prototype.getChangeNumber = function () {
54
- return this.changeNumber;
55
- };
56
- RBSegmentsCacheInMemory.prototype.usesSegments = function () {
57
- return this.segmentsCount > 0;
58
- };
59
- return RBSegmentsCacheInMemory;
60
- }());
61
- exports.RBSegmentsCacheInMemory = RBSegmentsCacheInMemory;
@@ -1,61 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SegmentsCacheInMemory = void 0;
4
- var lang_1 = require("../../utils/lang");
5
- /**
6
- * Default ISplitsCacheSync implementation for server-side that stores segments definitions in memory.
7
- */
8
- var SegmentsCacheInMemory = /** @class */ (function () {
9
- function SegmentsCacheInMemory() {
10
- this.segmentCache = {};
11
- this.segmentChangeNumber = {};
12
- }
13
- SegmentsCacheInMemory.prototype.update = function (name, addedKeys, removedKeys, changeNumber) {
14
- var keySet = this.segmentCache[name] || new Set();
15
- addedKeys.forEach(function (k) { return keySet.add(k); });
16
- removedKeys.forEach(function (k) { return keySet.delete(k); });
17
- this.segmentCache[name] = keySet;
18
- this.segmentChangeNumber[name] = changeNumber;
19
- return addedKeys.length > 0 || removedKeys.length > 0;
20
- };
21
- SegmentsCacheInMemory.prototype.isInSegment = function (name, key) {
22
- var segmentValues = this.segmentCache[name];
23
- if (segmentValues) {
24
- return segmentValues.has(key);
25
- }
26
- return false;
27
- };
28
- SegmentsCacheInMemory.prototype.clear = function () {
29
- this.segmentCache = {};
30
- this.segmentChangeNumber = {};
31
- };
32
- SegmentsCacheInMemory.prototype._registerSegment = function (name) {
33
- if (!this.segmentCache[name]) {
34
- this.segmentCache[name] = new Set();
35
- }
36
- return true;
37
- };
38
- SegmentsCacheInMemory.prototype.registerSegments = function (names) {
39
- for (var i = 0; i < names.length; i++) {
40
- this._registerSegment(names[i]);
41
- }
42
- return true;
43
- };
44
- SegmentsCacheInMemory.prototype.getRegisteredSegments = function () {
45
- return Object.keys(this.segmentCache);
46
- };
47
- SegmentsCacheInMemory.prototype.getKeysCount = function () {
48
- var _this = this;
49
- return Object.keys(this.segmentCache).reduce(function (acum, segmentName) {
50
- return acum + _this.segmentCache[segmentName].size;
51
- }, 0);
52
- };
53
- SegmentsCacheInMemory.prototype.getChangeNumber = function (name) {
54
- var value = this.segmentChangeNumber[name];
55
- return (0, lang_1.isIntegerNumber)(value) ? value : undefined;
56
- };
57
- // No-op. Not used in server-side
58
- SegmentsCacheInMemory.prototype.resetSegments = function () { return false; };
59
- return SegmentsCacheInMemory;
60
- }());
61
- exports.SegmentsCacheInMemory = SegmentsCacheInMemory;
@@ -1,121 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SplitsCacheInMemory = void 0;
4
- var tslib_1 = require("tslib");
5
- var AbstractSplitsCacheSync_1 = require("../AbstractSplitsCacheSync");
6
- var lang_1 = require("../../utils/lang");
7
- /**
8
- * Default ISplitsCacheSync implementation that stores split definitions in memory.
9
- */
10
- var SplitsCacheInMemory = /** @class */ (function (_super) {
11
- (0, tslib_1.__extends)(SplitsCacheInMemory, _super);
12
- function SplitsCacheInMemory(splitFiltersValidation) {
13
- var _this = _super.call(this) || this;
14
- _this.splitsCache = {};
15
- _this.ttCache = {};
16
- _this.changeNumber = -1;
17
- _this.segmentsCount = 0;
18
- _this.flagSetsCache = {};
19
- _this.flagSetsFilter = splitFiltersValidation ? splitFiltersValidation.groupedFilters.bySet : [];
20
- return _this;
21
- }
22
- SplitsCacheInMemory.prototype.clear = function () {
23
- this.splitsCache = {};
24
- this.ttCache = {};
25
- this.changeNumber = -1;
26
- this.segmentsCount = 0;
27
- this.flagSetsCache = {};
28
- };
29
- SplitsCacheInMemory.prototype.addSplit = function (split) {
30
- var name = split.name;
31
- var previousSplit = this.getSplit(name);
32
- if (previousSplit) { // We had this Split already
33
- var previousTtName = previousSplit.trafficTypeName;
34
- this.ttCache[previousTtName]--;
35
- if (!this.ttCache[previousTtName])
36
- delete this.ttCache[previousTtName];
37
- this.removeFromFlagSets(previousSplit.name, previousSplit.sets);
38
- // Subtract from segments count for the previous version of this Split
39
- if ((0, AbstractSplitsCacheSync_1.usesSegments)(previousSplit))
40
- this.segmentsCount--;
41
- }
42
- // Store the Split.
43
- this.splitsCache[name] = split;
44
- // Update TT cache
45
- var ttName = split.trafficTypeName;
46
- this.ttCache[ttName] = (this.ttCache[ttName] || 0) + 1;
47
- this.addToFlagSets(split);
48
- // Add to segments count for the new version of the Split
49
- if ((0, AbstractSplitsCacheSync_1.usesSegments)(split))
50
- this.segmentsCount++;
51
- return true;
52
- };
53
- SplitsCacheInMemory.prototype.removeSplit = function (name) {
54
- var split = this.getSplit(name);
55
- if (!split)
56
- return false;
57
- // Delete the Split
58
- delete this.splitsCache[name];
59
- var ttName = split.trafficTypeName;
60
- this.ttCache[ttName]--; // Update tt cache
61
- if (!this.ttCache[ttName])
62
- delete this.ttCache[ttName];
63
- this.removeFromFlagSets(split.name, split.sets);
64
- // Update the segments count.
65
- if ((0, AbstractSplitsCacheSync_1.usesSegments)(split))
66
- this.segmentsCount--;
67
- return true;
68
- };
69
- SplitsCacheInMemory.prototype.getSplit = function (name) {
70
- return this.splitsCache[name] || null;
71
- };
72
- SplitsCacheInMemory.prototype.setChangeNumber = function (changeNumber) {
73
- this.changeNumber = changeNumber;
74
- return true;
75
- };
76
- SplitsCacheInMemory.prototype.getChangeNumber = function () {
77
- return this.changeNumber;
78
- };
79
- SplitsCacheInMemory.prototype.getSplitNames = function () {
80
- return Object.keys(this.splitsCache);
81
- };
82
- SplitsCacheInMemory.prototype.trafficTypeExists = function (trafficType) {
83
- return (0, lang_1.isFiniteNumber)(this.ttCache[trafficType]) && this.ttCache[trafficType] > 0;
84
- };
85
- SplitsCacheInMemory.prototype.usesSegments = function () {
86
- return this.getChangeNumber() === -1 || this.segmentsCount > 0;
87
- };
88
- SplitsCacheInMemory.prototype.getNamesByFlagSets = function (flagSets) {
89
- var _this = this;
90
- return flagSets.map(function (flagSet) { return _this.flagSetsCache[flagSet] || new Set(); });
91
- };
92
- SplitsCacheInMemory.prototype.addToFlagSets = function (featureFlag) {
93
- var _this = this;
94
- if (!featureFlag.sets)
95
- return;
96
- featureFlag.sets.forEach(function (featureFlagSet) {
97
- if (_this.flagSetsFilter.length > 0 && !_this.flagSetsFilter.some(function (filterFlagSet) { return filterFlagSet === featureFlagSet; }))
98
- return;
99
- if (!_this.flagSetsCache[featureFlagSet])
100
- _this.flagSetsCache[featureFlagSet] = new Set([]);
101
- _this.flagSetsCache[featureFlagSet].add(featureFlag.name);
102
- });
103
- };
104
- SplitsCacheInMemory.prototype.removeFromFlagSets = function (featureFlagName, flagSets) {
105
- var _this = this;
106
- if (!flagSets)
107
- return;
108
- flagSets.forEach(function (flagSet) {
109
- _this.removeNames(flagSet, featureFlagName);
110
- });
111
- };
112
- SplitsCacheInMemory.prototype.removeNames = function (flagSetName, featureFlagName) {
113
- if (!this.flagSetsCache[flagSetName])
114
- return;
115
- this.flagSetsCache[flagSetName].delete(featureFlagName);
116
- if (this.flagSetsCache[flagSetName].size === 0)
117
- delete this.flagSetsCache[flagSetName];
118
- };
119
- return SplitsCacheInMemory;
120
- }(AbstractSplitsCacheSync_1.AbstractSplitsCacheSync));
121
- exports.SplitsCacheInMemory = SplitsCacheInMemory;
@@ -1,207 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TelemetryCacheInMemory = exports.shouldRecordTelemetry = exports.newBuckets = exports.MAX_LATENCY_BUCKET_COUNT = void 0;
4
- var constants_1 = require("../../utils/constants");
5
- var findLatencyIndex_1 = require("../findLatencyIndex");
6
- var MAX_STREAMING_EVENTS = 20;
7
- var MAX_TAGS = 10;
8
- exports.MAX_LATENCY_BUCKET_COUNT = 23;
9
- function newBuckets() {
10
- // MAX_LATENCY_BUCKET_COUNT (length) is 23
11
- // Not using Array.fill for old browsers compatibility
12
- return [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
13
- }
14
- exports.newBuckets = newBuckets;
15
- var ACCEPTANCE_RANGE = 0.001;
16
- /**
17
- * Record telemetry if mode is not localhost.
18
- * All factory instances track telemetry on server-side, and 0.1% on client-side.
19
- */
20
- function shouldRecordTelemetry(_a) {
21
- var settings = _a.settings;
22
- return settings.mode !== constants_1.LOCALHOST_MODE && (settings.core.key === undefined || Math.random() <= ACCEPTANCE_RANGE);
23
- }
24
- exports.shouldRecordTelemetry = shouldRecordTelemetry;
25
- var TelemetryCacheInMemory = /** @class */ (function () {
26
- function TelemetryCacheInMemory(splits, segments, largeSegments) {
27
- this.splits = splits;
28
- this.segments = segments;
29
- this.largeSegments = largeSegments;
30
- // isEmpty flag
31
- this.e = true;
32
- this.notReadyUsage = 0;
33
- /** Usage stats */
34
- this.impressionStats = [0, 0, 0];
35
- this.eventStats = [0, 0];
36
- this.lastSync = {};
37
- this.httpErrors = {};
38
- this.httpLatencies = {};
39
- this.authRejections = 0;
40
- this.tokenRefreshes = 0;
41
- this.streamingEvents = [];
42
- this.tags = [];
43
- this.exceptions = {};
44
- this.latencies = {};
45
- this.updatesFromSSE = {};
46
- }
47
- TelemetryCacheInMemory.prototype.isEmpty = function () { return this.e; };
48
- TelemetryCacheInMemory.prototype.clear = function () { };
49
- TelemetryCacheInMemory.prototype.pop = function () {
50
- this.e = true;
51
- return {
52
- lS: this.getLastSynchronization(),
53
- mL: this.popLatencies(),
54
- mE: this.popExceptions(),
55
- hE: this.popHttpErrors(),
56
- hL: this.popHttpLatencies(),
57
- tR: this.popTokenRefreshes(),
58
- aR: this.popAuthRejections(),
59
- iQ: this.getImpressionStats(constants_1.QUEUED),
60
- iDe: this.getImpressionStats(constants_1.DEDUPED),
61
- iDr: this.getImpressionStats(constants_1.DROPPED),
62
- spC: this.splits && this.splits.getSplitNames().length,
63
- seC: this.segments && this.segments.getRegisteredSegments().length,
64
- skC: this.segments && this.segments.getKeysCount(),
65
- lsC: this.largeSegments && this.largeSegments.getRegisteredSegments().length,
66
- lskC: this.largeSegments && this.largeSegments.getKeysCount(),
67
- sL: this.getSessionLength(),
68
- eQ: this.getEventStats(constants_1.QUEUED),
69
- eD: this.getEventStats(constants_1.DROPPED),
70
- sE: this.popStreamingEvents(),
71
- t: this.popTags(),
72
- ufs: this.popUpdatesFromSSE(),
73
- };
74
- };
75
- TelemetryCacheInMemory.prototype.getTimeUntilReady = function () {
76
- return this.timeUntilReady;
77
- };
78
- TelemetryCacheInMemory.prototype.recordTimeUntilReady = function (ms) {
79
- this.timeUntilReady = ms;
80
- };
81
- TelemetryCacheInMemory.prototype.getTimeUntilReadyFromCache = function () {
82
- return this.timeUntilReadyFromCache;
83
- };
84
- TelemetryCacheInMemory.prototype.recordTimeUntilReadyFromCache = function (ms) {
85
- this.timeUntilReadyFromCache = ms;
86
- };
87
- TelemetryCacheInMemory.prototype.getNonReadyUsage = function () {
88
- return this.notReadyUsage;
89
- };
90
- TelemetryCacheInMemory.prototype.recordNonReadyUsage = function () {
91
- this.notReadyUsage++;
92
- };
93
- TelemetryCacheInMemory.prototype.getImpressionStats = function (type) {
94
- return this.impressionStats[type];
95
- };
96
- TelemetryCacheInMemory.prototype.recordImpressionStats = function (type, count) {
97
- this.impressionStats[type] += count;
98
- this.e = false;
99
- };
100
- TelemetryCacheInMemory.prototype.getEventStats = function (type) {
101
- return this.eventStats[type];
102
- };
103
- TelemetryCacheInMemory.prototype.recordEventStats = function (type, count) {
104
- this.eventStats[type] += count;
105
- this.e = false;
106
- };
107
- TelemetryCacheInMemory.prototype.getLastSynchronization = function () {
108
- return this.lastSync;
109
- };
110
- TelemetryCacheInMemory.prototype.recordSuccessfulSync = function (resource, timeMs) {
111
- this.lastSync[resource] = timeMs;
112
- this.e = false;
113
- };
114
- TelemetryCacheInMemory.prototype.popHttpErrors = function () {
115
- var result = this.httpErrors;
116
- this.httpErrors = {};
117
- return result;
118
- };
119
- TelemetryCacheInMemory.prototype.recordHttpError = function (resource, status) {
120
- var statusErrors = (this.httpErrors[resource] = this.httpErrors[resource] || {});
121
- statusErrors[status] = (statusErrors[status] || 0) + 1;
122
- this.e = false;
123
- };
124
- TelemetryCacheInMemory.prototype.popHttpLatencies = function () {
125
- var result = this.httpLatencies;
126
- this.httpLatencies = {};
127
- return result;
128
- };
129
- TelemetryCacheInMemory.prototype.recordHttpLatency = function (resource, latencyMs) {
130
- var latencyBuckets = (this.httpLatencies[resource] = this.httpLatencies[resource] || newBuckets());
131
- latencyBuckets[(0, findLatencyIndex_1.findLatencyIndex)(latencyMs)]++;
132
- this.e = false;
133
- };
134
- TelemetryCacheInMemory.prototype.popAuthRejections = function () {
135
- var result = this.authRejections;
136
- this.authRejections = 0;
137
- return result;
138
- };
139
- TelemetryCacheInMemory.prototype.recordAuthRejections = function () {
140
- this.authRejections++;
141
- this.e = false;
142
- };
143
- TelemetryCacheInMemory.prototype.popTokenRefreshes = function () {
144
- var result = this.tokenRefreshes;
145
- this.tokenRefreshes = 0;
146
- return result;
147
- };
148
- TelemetryCacheInMemory.prototype.recordTokenRefreshes = function () {
149
- this.tokenRefreshes++;
150
- this.e = false;
151
- };
152
- TelemetryCacheInMemory.prototype.popStreamingEvents = function () {
153
- return this.streamingEvents.splice(0);
154
- };
155
- TelemetryCacheInMemory.prototype.recordStreamingEvents = function (streamingEvent) {
156
- if (this.streamingEvents.length < MAX_STREAMING_EVENTS) {
157
- this.streamingEvents.push(streamingEvent);
158
- }
159
- this.e = false;
160
- };
161
- TelemetryCacheInMemory.prototype.popTags = function () {
162
- return this.tags.splice(0);
163
- };
164
- TelemetryCacheInMemory.prototype.addTag = function (tag) {
165
- if (this.tags.length < MAX_TAGS) {
166
- this.tags.push(tag);
167
- }
168
- this.e = false;
169
- };
170
- TelemetryCacheInMemory.prototype.getSessionLength = function () {
171
- return this.sessionLength;
172
- };
173
- TelemetryCacheInMemory.prototype.recordSessionLength = function (ms) {
174
- this.sessionLength = ms;
175
- this.e = false;
176
- };
177
- TelemetryCacheInMemory.prototype.popExceptions = function () {
178
- var result = this.exceptions;
179
- this.exceptions = {};
180
- return result;
181
- };
182
- TelemetryCacheInMemory.prototype.recordException = function (method) {
183
- this.exceptions[method] = (this.exceptions[method] || 0) + 1;
184
- this.e = false;
185
- };
186
- TelemetryCacheInMemory.prototype.popLatencies = function () {
187
- var result = this.latencies;
188
- this.latencies = {};
189
- return result;
190
- };
191
- TelemetryCacheInMemory.prototype.recordLatency = function (method, latencyMs) {
192
- var latencyBuckets = (this.latencies[method] = this.latencies[method] || newBuckets());
193
- latencyBuckets[(0, findLatencyIndex_1.findLatencyIndex)(latencyMs)]++;
194
- this.e = false;
195
- };
196
- TelemetryCacheInMemory.prototype.popUpdatesFromSSE = function () {
197
- var result = this.updatesFromSSE;
198
- this.updatesFromSSE = {};
199
- return result;
200
- };
201
- TelemetryCacheInMemory.prototype.recordUpdatesFromSSE = function (type) {
202
- this.updatesFromSSE[type] = (this.updatesFromSSE[type] || 0) + 1;
203
- this.e = false;
204
- };
205
- return TelemetryCacheInMemory;
206
- }());
207
- exports.TelemetryCacheInMemory = TelemetryCacheInMemory;
@@ -1,72 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UniqueKeysCacheInMemory = exports.fromUniqueKeysCollector = void 0;
4
- var constants_1 = require("../inRedis/constants");
5
- var sets_1 = require("../../utils/lang/sets");
6
- /**
7
- * Converts `uniqueKeys` data from cache into request payload for SS.
8
- */
9
- function fromUniqueKeysCollector(uniqueKeys) {
10
- var payload = [];
11
- var featureNames = Object.keys(uniqueKeys);
12
- for (var i = 0; i < featureNames.length; i++) {
13
- var featureName = featureNames[i];
14
- var userKeys = (0, sets_1.setToArray)(uniqueKeys[featureName]);
15
- var uniqueKeysPayload = {
16
- f: featureName,
17
- ks: userKeys
18
- };
19
- payload.push(uniqueKeysPayload);
20
- }
21
- return { keys: payload };
22
- }
23
- exports.fromUniqueKeysCollector = fromUniqueKeysCollector;
24
- var UniqueKeysCacheInMemory = /** @class */ (function () {
25
- function UniqueKeysCacheInMemory(uniqueKeysQueueSize) {
26
- if (uniqueKeysQueueSize === void 0) { uniqueKeysQueueSize = constants_1.DEFAULT_CACHE_SIZE; }
27
- this.uniqueTrackerSize = 0;
28
- this.uniqueKeysTracker = {};
29
- this.maxStorage = uniqueKeysQueueSize;
30
- }
31
- UniqueKeysCacheInMemory.prototype.setOnFullQueueCb = function (cb) {
32
- this.onFullQueue = cb;
33
- };
34
- /**
35
- * Store unique keys per feature.
36
- */
37
- UniqueKeysCacheInMemory.prototype.track = function (userKey, featureName) {
38
- if (!this.uniqueKeysTracker[featureName])
39
- this.uniqueKeysTracker[featureName] = new Set();
40
- var tracker = this.uniqueKeysTracker[featureName];
41
- if (!tracker.has(userKey)) {
42
- tracker.add(userKey);
43
- this.uniqueTrackerSize++;
44
- }
45
- if (this.uniqueTrackerSize >= this.maxStorage && this.onFullQueue) {
46
- this.onFullQueue();
47
- }
48
- };
49
- /**
50
- * Clear the data stored on the cache.
51
- */
52
- UniqueKeysCacheInMemory.prototype.clear = function () {
53
- this.uniqueTrackerSize = 0;
54
- this.uniqueKeysTracker = {};
55
- };
56
- /**
57
- * Pop the collected data, used as payload for posting.
58
- */
59
- UniqueKeysCacheInMemory.prototype.pop = function () {
60
- var data = this.uniqueKeysTracker;
61
- this.clear();
62
- return fromUniqueKeysCollector(data);
63
- };
64
- /**
65
- * Check if the cache is empty.
66
- */
67
- UniqueKeysCacheInMemory.prototype.isEmpty = function () {
68
- return Object.keys(this.uniqueKeysTracker).length === 0;
69
- };
70
- return UniqueKeysCacheInMemory;
71
- }());
72
- exports.UniqueKeysCacheInMemory = UniqueKeysCacheInMemory;
@@ -1,71 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UniqueKeysCacheInMemoryCS = void 0;
4
- var constants_1 = require("../inRedis/constants");
5
- var sets_1 = require("../../utils/lang/sets");
6
- var UniqueKeysCacheInMemoryCS = /** @class */ (function () {
7
- function UniqueKeysCacheInMemoryCS(uniqueKeysQueueSize) {
8
- if (uniqueKeysQueueSize === void 0) { uniqueKeysQueueSize = constants_1.DEFAULT_CACHE_SIZE; }
9
- this.uniqueTrackerSize = 0;
10
- this.uniqueKeysTracker = {};
11
- this.maxStorage = uniqueKeysQueueSize;
12
- }
13
- UniqueKeysCacheInMemoryCS.prototype.setOnFullQueueCb = function (cb) {
14
- this.onFullQueue = cb;
15
- };
16
- /**
17
- * Store unique keys per feature.
18
- */
19
- UniqueKeysCacheInMemoryCS.prototype.track = function (userKey, featureName) {
20
- if (!this.uniqueKeysTracker[userKey])
21
- this.uniqueKeysTracker[userKey] = new Set();
22
- var tracker = this.uniqueKeysTracker[userKey];
23
- if (!tracker.has(featureName)) {
24
- tracker.add(featureName);
25
- this.uniqueTrackerSize++;
26
- }
27
- if (this.uniqueTrackerSize >= this.maxStorage && this.onFullQueue) {
28
- this.onFullQueue();
29
- }
30
- };
31
- /**
32
- * Clear the data stored on the cache.
33
- */
34
- UniqueKeysCacheInMemoryCS.prototype.clear = function () {
35
- this.uniqueTrackerSize = 0;
36
- this.uniqueKeysTracker = {};
37
- };
38
- /**
39
- * Pop the collected data, used as payload for posting.
40
- */
41
- UniqueKeysCacheInMemoryCS.prototype.pop = function () {
42
- var data = this.uniqueKeysTracker;
43
- this.clear();
44
- return this.fromUniqueKeysCollector(data);
45
- };
46
- /**
47
- * Check if the cache is empty.
48
- */
49
- UniqueKeysCacheInMemoryCS.prototype.isEmpty = function () {
50
- return Object.keys(this.uniqueKeysTracker).length === 0;
51
- };
52
- /**
53
- * Converts `uniqueKeys` data from cache into request payload.
54
- */
55
- UniqueKeysCacheInMemoryCS.prototype.fromUniqueKeysCollector = function (uniqueKeys) {
56
- var payload = [];
57
- var userKeys = Object.keys(uniqueKeys);
58
- for (var k = 0; k < userKeys.length; k++) {
59
- var userKey = userKeys[k];
60
- var featureNames = (0, sets_1.setToArray)(uniqueKeys[userKey]);
61
- var uniqueKeysPayload = {
62
- k: userKey,
63
- fs: featureNames
64
- };
65
- payload.push(uniqueKeysPayload);
66
- }
67
- return { keys: payload };
68
- };
69
- return UniqueKeysCacheInMemoryCS;
70
- }());
71
- exports.UniqueKeysCacheInMemoryCS = UniqueKeysCacheInMemoryCS;
@@ -1,60 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EventsCacheInRedis = void 0;
4
- var constants_1 = require("./constants");
5
- var EventsCacheInRedis = /** @class */ (function () {
6
- function EventsCacheInRedis(log, key, redis, metadata) {
7
- this.log = log;
8
- this.key = key;
9
- this.redis = redis;
10
- this.metadata = metadata;
11
- }
12
- /**
13
- * Add a new event object into the queue.
14
- * Unlike `impressions::track`, result promise is never rejected.
15
- */
16
- EventsCacheInRedis.prototype.track = function (eventData) {
17
- var _this = this;
18
- return this.redis.rpush(this.key, this._toJSON(eventData))
19
- // We use boolean values to signal successful queueing
20
- .then(function () { return true; })
21
- .catch(function (err) {
22
- _this.log.error(constants_1.LOG_PREFIX + "Error adding event to queue: " + err + ".");
23
- return false;
24
- });
25
- };
26
- /**
27
- * Generates the JSON as we'll store it on Redis.
28
- */
29
- EventsCacheInRedis.prototype._toJSON = function (eventData) {
30
- return JSON.stringify({
31
- m: this.metadata,
32
- e: eventData
33
- });
34
- };
35
- EventsCacheInRedis.prototype.count = function () {
36
- return this.redis.llen(this.key).catch(function () { return 0; });
37
- };
38
- EventsCacheInRedis.prototype.drop = function (count) {
39
- if (!count)
40
- return this.redis.del(this.key);
41
- return this.redis.ltrim(this.key, count, -1);
42
- };
43
- /**
44
- * Pop the given number of events from the storage.
45
- * The returned promise rejects if the redis operation fails.
46
- *
47
- * NOTE: this method doesn't take into account MAX_EVENT_SIZE or MAX_QUEUE_BYTE_SIZE limits.
48
- * It is the submitter responsability to handle that.
49
- */
50
- EventsCacheInRedis.prototype.popNWithMetadata = function (count) {
51
- var _this = this;
52
- return this.redis.lrange(this.key, 0, count - 1).then(function (items) {
53
- return _this.redis.ltrim(_this.key, items.length, -1).then(function () {
54
- return items.map(function (item) { return JSON.parse(item); });
55
- });
56
- });
57
- };
58
- return EventsCacheInRedis;
59
- }());
60
- exports.EventsCacheInRedis = EventsCacheInRedis;