@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,281 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.uniqueId = exports.uniqAsStrings = exports.uniq = exports.toString = exports.toNumber = exports.startsWith = exports.merge = exports.stringToUpperCase = exports.isString = exports.isObject = exports.isNaNNumber = exports.isIntegerNumber = exports.isFiniteNumber = exports.isBoolean = exports.groupBy = exports.get = exports.forOwn = exports.findIndex = exports.find = exports.endsWith = void 0;
4
- var tslib_1 = require("tslib");
5
- /**
6
- * Checks if the target string ends with the sub string.
7
- */
8
- function endsWith(target, sub, caseInsensitive) {
9
- if (caseInsensitive === void 0) { caseInsensitive = false; }
10
- if (!(isString(target) && isString(sub))) {
11
- return false;
12
- }
13
- if (caseInsensitive) {
14
- target = target.toLowerCase();
15
- sub = sub.toLowerCase();
16
- }
17
- return target.slice(target.length - sub.length) === sub;
18
- }
19
- exports.endsWith = endsWith;
20
- /**
21
- * Loops through a source collection (an object or an array) running iteratee
22
- * against each element. It returns the first element for which iteratee returned
23
- * a truthy value and stops the loop.
24
- * Iteratee receives three arguments (element, key/index, collection)
25
- */
26
- function find(source, iteratee) {
27
- var res;
28
- if (isObject(source)) {
29
- var keys = Object.keys(source);
30
- for (var i = 0; i < keys.length && !res; i++) {
31
- var key = keys[i];
32
- var iterateeResult = iteratee(source[key], key, source);
33
- if (iterateeResult)
34
- res = source[key];
35
- }
36
- }
37
- else if (Array.isArray(source)) {
38
- for (var i = 0; i < source.length && !res; i++) {
39
- var iterateeResult = iteratee(source[i], i, source);
40
- if (iterateeResult)
41
- res = source[i];
42
- }
43
- }
44
- return res;
45
- }
46
- exports.find = find;
47
- /**
48
- * Evaluates iteratee for each element of the source array. Returns the index of the first element
49
- * for which iteratee returns truthy. If no element is found or there's an issue with the params it returns -1.
50
- */
51
- function findIndex(source, iteratee) {
52
- if (Array.isArray(source) && typeof iteratee === 'function') {
53
- for (var i = 0; i < source.length; i++) {
54
- if (iteratee(source[i], i, source) === true) {
55
- return i;
56
- }
57
- }
58
- }
59
- return -1;
60
- }
61
- exports.findIndex = findIndex;
62
- /**
63
- * Executes iteratee for given obj own props.
64
- */
65
- function forOwn(obj, iteratee) {
66
- var keys = Object.keys(obj);
67
- keys.forEach(function (key) { return iteratee(obj[key], key, obj); });
68
- return obj;
69
- }
70
- exports.forOwn = forOwn;
71
- /**
72
- * Safely retrieve the specified prop from obj. If we can't retrieve
73
- * that property value, we return the default value.
74
- */
75
- function get(obj, prop, val) {
76
- var res = val;
77
- try { // No risks nor lots of checks.
78
- var pathPieces = prop.split('.');
79
- var partial_1 = obj;
80
- pathPieces.forEach(function (pathPiece) { return partial_1 = partial_1[pathPiece]; });
81
- if (typeof partial_1 !== 'undefined')
82
- res = partial_1;
83
- }
84
- catch (e) {
85
- // noop
86
- }
87
- return res;
88
- }
89
- exports.get = get;
90
- /**
91
- * Parses an array into a map of different arrays, grouping by the specified prop value.
92
- */
93
- function groupBy(source, prop) {
94
- var map = {};
95
- if (Array.isArray(source) && isString(prop)) {
96
- for (var i = 0; i < source.length; i++) {
97
- var key = source[i][prop];
98
- // Skip the element if the key is not a string.
99
- if (isString(key)) {
100
- if (!map[key])
101
- map[key] = [];
102
- map[key].push(source[i]);
103
- }
104
- }
105
- }
106
- return map;
107
- }
108
- exports.groupBy = groupBy;
109
- /**
110
- * Checks if a given value is a boolean.
111
- */
112
- function isBoolean(val) {
113
- return val === true || val === false;
114
- }
115
- exports.isBoolean = isBoolean;
116
- /**
117
- * Checks if a given value is a finite value of number type or Number object.
118
- * Unlike `Number.isFinite`, it also tests Number object instances.
119
- * Unlike global `isFinite`, it returns false if the value is not a number or Number object instance.
120
- */
121
- function isFiniteNumber(val) {
122
- if (val instanceof Number)
123
- val = val.valueOf();
124
- return typeof val === 'number' ?
125
- Number.isFinite ? Number.isFinite(val) : isFinite(val) :
126
- false;
127
- }
128
- exports.isFiniteNumber = isFiniteNumber;
129
- /**
130
- * Checks if a given value is an integer value of number type or Number object.
131
- * Unlike `Number.isInteger`, it also tests Number object instances.
132
- */
133
- function isIntegerNumber(val) {
134
- if (val instanceof Number)
135
- val = val.valueOf();
136
- return typeof val === 'number' ?
137
- Number.isInteger ? Number.isInteger(val) : isFinite(val) && Math.floor(val) === val :
138
- false;
139
- }
140
- exports.isIntegerNumber = isIntegerNumber;
141
- /**
142
- * Checks if a given value is a NaN value of number type or Number object.
143
- * Unlike `Number.isNaN`, it also tests Number object instances.
144
- * Unlike global `isNan`, it returns false if the value is not a number or Number object instance.
145
- */
146
- function isNaNNumber(val) {
147
- if (val instanceof Number)
148
- val = val.valueOf();
149
- // @TODO replace with `Number.isNaN` once it is fully supported by targets
150
- return val !== val;
151
- }
152
- exports.isNaNNumber = isNaNNumber;
153
- /**
154
- * Validates if a value is an object created by the Object constructor (plain object).
155
- * It checks `constructor.name` to avoid false negatives when validating values on a separate VM context, which has its own global built-ins.
156
- */
157
- function isObject(obj) {
158
- return obj !== null && typeof obj === 'object' && (obj.constructor === Object ||
159
- (obj.constructor != null && obj.constructor.name === 'Object'));
160
- }
161
- exports.isObject = isObject;
162
- /**
163
- * Checks if a given value is a string.
164
- */
165
- function isString(val) {
166
- return typeof val === 'string' || val instanceof String;
167
- }
168
- exports.isString = isString;
169
- /**
170
- * String sanitizer. Returns the provided value converted to uppercase if it is a string.
171
- */
172
- function stringToUpperCase(val) {
173
- return isString(val) ? val.toUpperCase() : val;
174
- }
175
- exports.stringToUpperCase = stringToUpperCase;
176
- /**
177
- * Deep copy version of Object.assign using recursion.
178
- * There are some assumptions here. It's for internal use and we don't need verbose errors
179
- * or to ensure the data types or whatever. Parameters should always be correct (at least have a target and a source, of type object).
180
- */
181
- function merge(target, source) {
182
- var rest = [];
183
- for (var _i = 2; _i < arguments.length; _i++) {
184
- rest[_i - 2] = arguments[_i];
185
- }
186
- var res = target;
187
- isObject(source) && Object.keys(source).forEach(function (key) {
188
- var val = source[key];
189
- if (isObject(val)) {
190
- if (res[key] && isObject(res[key])) { // If both are objects, merge into a new one.
191
- val = merge({}, res[key], val);
192
- }
193
- else { // else make a copy.
194
- val = merge({}, val);
195
- }
196
- }
197
- // We skip undefined values.
198
- if (val !== undefined)
199
- res[key] = val;
200
- });
201
- if (rest && rest.length) {
202
- var nextSource = rest.splice(0, 1)[0];
203
- res = merge.apply(void 0, (0, tslib_1.__spreadArray)([res, nextSource], rest, false));
204
- }
205
- return res;
206
- }
207
- exports.merge = merge;
208
- /**
209
- * Checks if the target string starts with the sub string.
210
- */
211
- function startsWith(target, sub) {
212
- if (!(isString(target) && isString(sub))) {
213
- return false;
214
- }
215
- return target.slice(0, sub.length) === sub;
216
- }
217
- exports.startsWith = startsWith;
218
- /**
219
- * Transforms a value into a number.
220
- * Note: We're not expecting anything fancy here. If we are at some point, add more type checks.
221
- */
222
- function toNumber(val) {
223
- if (typeof val === 'number')
224
- return val;
225
- if (isObject(val) && typeof val.valueOf === 'function') {
226
- var valOf = val.valueOf();
227
- val = isObject(valOf) ? valOf + '' : valOf;
228
- }
229
- if (typeof val !== 'string') {
230
- return val === 0 ? val : +val;
231
- }
232
- // Remove trailing whitespaces.
233
- val = val.replace(/^\s+|\s+$/g, '');
234
- return +val;
235
- }
236
- exports.toNumber = toNumber;
237
- /**
238
- * Transforms a value into it's string representation.
239
- */
240
- function toString(val) {
241
- if (val == null)
242
- return '';
243
- if (typeof val === 'string')
244
- return val;
245
- if (Array.isArray(val))
246
- return val.map(function (val) { return isString(val) ? val : ''; }) + '';
247
- var result = val + '';
248
- return (result === '0' && (1 / val) === Number.NEGATIVE_INFINITY) ? '-0' : result;
249
- }
250
- exports.toString = toString;
251
- /**
252
- * Removes duplicate items on an array of strings.
253
- */
254
- function uniq(arr) {
255
- var seen = {};
256
- return arr.filter(function (item) {
257
- return Object.prototype.hasOwnProperty.call(seen, item) ? false : seen[item] = true;
258
- });
259
- }
260
- exports.uniq = uniq;
261
- /**
262
- * Removes duplicate items on an array of objects using an optional `stringify` function as equality criteria.
263
- * It uses JSON.stringify as default criteria.
264
- */
265
- function uniqAsStrings(arr, stringify) {
266
- if (stringify === void 0) { stringify = JSON.stringify; }
267
- var seen = {};
268
- return arr.filter(function (item) {
269
- var itemString = stringify(item);
270
- return Object.prototype.hasOwnProperty.call(seen, itemString) ? false : seen[itemString] = true;
271
- });
272
- }
273
- exports.uniqAsStrings = uniqAsStrings;
274
- var uniqueIdCounter = -1;
275
- /**
276
- * Returns a number to be used as ID, which will be unique.
277
- */
278
- function uniqueId() {
279
- return uniqueIdCounter++;
280
- }
281
- exports.uniqueId = uniqueId;
@@ -1,20 +0,0 @@
1
- "use strict";
2
- /**
3
- * A tiny polyfill for Object.assign
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.objectAssign = void 0;
7
- exports.objectAssign = Object.assign || function (target) {
8
- if (target === null || target === undefined)
9
- throw new TypeError('Object.assign cannot be called with null or undefined');
10
- target = Object(target);
11
- for (var i = 1; i < arguments.length; i++) {
12
- var source = Object(arguments[i]); // eslint-disable-next-line no-restricted-syntax
13
- for (var key in source) {
14
- if (Object.prototype.hasOwnProperty.call(source, key)) {
15
- target[key] = source[key];
16
- }
17
- }
18
- }
19
- return target;
20
- };
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.returnDifference = exports.returnSetsUnion = exports.setToArray = void 0;
4
- function setToArray(set) {
5
- if (Array.from)
6
- return Array.from(set);
7
- var array = [];
8
- set.forEach(function (value) {
9
- array.push(value);
10
- });
11
- return array;
12
- }
13
- exports.setToArray = setToArray;
14
- function returnSetsUnion(set, set2) {
15
- return new Set(setToArray(set).concat(setToArray(set2)));
16
- }
17
- exports.returnSetsUnion = returnSetsUnion;
18
- function returnDifference(list, list2) {
19
- if (list === void 0) { list = []; }
20
- if (list2 === void 0) { list2 = []; }
21
- return list.filter(function (item) { return list2.indexOf(item) === -1; });
22
- }
23
- exports.returnDifference = returnDifference;
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.x86Fmix = exports.x86Rotl = exports.x86Multiply = exports.UTF16ToUTF8 = void 0;
4
- var utfx_1 = require("./utfx");
5
- function UTF16ToUTF8(key) {
6
- var sd;
7
- (0, utfx_1.encodeUTF16toUTF8)((0, utfx_1.stringSource)(key), sd = (0, utfx_1.stringDestination)());
8
- return sd();
9
- }
10
- exports.UTF16ToUTF8 = UTF16ToUTF8;
11
- /*!
12
- * +----------------------------------------------------------------------------------+
13
- * | murmurHash3.js v3.0.0 (http://github.com/karanlyons/murmurHash3.js) |
14
- * | A TypeScript/JavaScript implementation of MurmurHash3's hashing algorithms. |
15
- * |----------------------------------------------------------------------------------|
16
- * | Copyright (c) 2012-2020 Karan Lyons. Freely distributable under the MIT license. |
17
- * +----------------------------------------------------------------------------------+
18
- */
19
- function x86Multiply(m, n) {
20
- //
21
- // Given two 32bit ints, returns the two multiplied together as a
22
- // 32bit int.
23
- //
24
- return ((m & 0xffff) * n) + ((((m >>> 16) * n) & 0xffff) << 16);
25
- }
26
- exports.x86Multiply = x86Multiply;
27
- function x86Rotl(m, n) {
28
- //
29
- // Given a 32bit int and an int representing a number of bit positions,
30
- // returns the 32bit int rotated left by that number of positions.
31
- //
32
- return (m << n) | (m >>> (32 - n));
33
- }
34
- exports.x86Rotl = x86Rotl;
35
- function x86Fmix(h) {
36
- //
37
- // Given a block, returns murmurHash3's final x86 mix of that block.
38
- //
39
- h ^= h >>> 16;
40
- h = x86Multiply(h, 0x85ebca6b);
41
- h ^= h >>> 13;
42
- h = x86Multiply(h, 0xc2b2ae35);
43
- h ^= h >>> 16;
44
- return h;
45
- }
46
- exports.x86Fmix = x86Fmix;
@@ -1,44 +0,0 @@
1
- "use strict";
2
- // Deprecated hashing function, used for split bucketing. Replaced by murmur3
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.bucket = exports.hash = void 0;
5
- //
6
- // JAVA reference implementation for the hashing function.
7
- //
8
- // int h = 0;
9
- // for (int i = 0; i < key.length(); i++) {
10
- // h = 31 * h + key.charAt(i);
11
- // }
12
- // return h ^ seed; // XOR the hash and seed
13
- //
14
- function ToInteger(x) {
15
- x = Number(x);
16
- return x < 0 ? Math.ceil(x) : Math.floor(x);
17
- }
18
- function modulo(a, b) {
19
- return a - Math.floor(a / b) * b;
20
- }
21
- function ToUint32(x) {
22
- return modulo(ToInteger(x), Math.pow(2, 32));
23
- }
24
- function ToInt32(x) {
25
- var uint32 = ToUint32(x);
26
- if (uint32 >= Math.pow(2, 31)) {
27
- return uint32 - Math.pow(2, 32);
28
- }
29
- else {
30
- return uint32;
31
- }
32
- }
33
- function hash(str, seed) {
34
- var h = 0;
35
- for (var i = 0; i < str.length; i++) {
36
- h = ToInt32(ToInt32(31 * h) + str.charCodeAt(i));
37
- }
38
- return ToInt32(h ^ seed);
39
- }
40
- exports.hash = hash;
41
- function bucket(str, seed) {
42
- return Math.abs(hash(str, seed) % 100) + 1;
43
- }
44
- exports.bucket = bucket;
@@ -1,62 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bucket = exports.hash = void 0;
4
- /* eslint-disable no-fallthrough */
5
- var common_1 = require("./common");
6
- /*
7
- * +----------------------------------------------------------------------------------+
8
- * | murmurHash3.js v3.0.0 (http://github.com/karanlyons/murmurHash3.js) |
9
- * | A TypeScript/JavaScript implementation of MurmurHash3's hashing algorithms. |
10
- * |----------------------------------------------------------------------------------|
11
- * | Copyright (c) 2012-2020 Karan Lyons. Freely distributable under the MIT license. |
12
- * +----------------------------------------------------------------------------------+
13
- */
14
- // PUBLIC FUNCTIONS
15
- // ----------------
16
- function hash32(key, seed) {
17
- //
18
- // Given a string and an optional seed as an int, returns a 32 bit hash
19
- // using the x86 flavor of MurmurHash3, as an unsigned int.
20
- //
21
- key = key || '';
22
- seed = seed || 0;
23
- var remainder = key.length % 4;
24
- var bytes = key.length - remainder;
25
- var h1 = seed;
26
- var k1 = 0;
27
- var c1 = 0xcc9e2d51;
28
- var c2 = 0x1b873593;
29
- for (var i = 0; i < bytes; i = i + 4) {
30
- k1 = ((key.charCodeAt(i) & 0xff)) | ((key.charCodeAt(i + 1) & 0xff) << 8) | ((key.charCodeAt(i + 2) & 0xff) << 16) | ((key.charCodeAt(i + 3) & 0xff) << 24);
31
- k1 = (0, common_1.x86Multiply)(k1, c1);
32
- k1 = (0, common_1.x86Rotl)(k1, 15);
33
- k1 = (0, common_1.x86Multiply)(k1, c2);
34
- h1 ^= k1;
35
- h1 = (0, common_1.x86Rotl)(h1, 13);
36
- h1 = (0, common_1.x86Multiply)(h1, 5) + 0xe6546b64;
37
- }
38
- k1 = 0;
39
- switch (remainder) {
40
- case 3:
41
- k1 ^= (key.charCodeAt(i + 2) & 0xff) << 16;
42
- case 2:
43
- k1 ^= (key.charCodeAt(i + 1) & 0xff) << 8;
44
- case 1:
45
- k1 ^= (key.charCodeAt(i) & 0xff);
46
- k1 = (0, common_1.x86Multiply)(k1, c1);
47
- k1 = (0, common_1.x86Rotl)(k1, 15);
48
- k1 = (0, common_1.x86Multiply)(k1, c2);
49
- h1 ^= k1;
50
- }
51
- h1 ^= key.length;
52
- h1 = (0, common_1.x86Fmix)(h1);
53
- return h1 >>> 0;
54
- }
55
- function hash(str, seed) {
56
- return hash32((0, common_1.UTF16ToUTF8)(str), seed >>> 0);
57
- }
58
- exports.hash = hash;
59
- function bucket(str, seed) {
60
- return Math.abs(hash(str, seed) % 100) + 1;
61
- }
62
- exports.bucket = bucket;
@@ -1,219 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.hash128 = void 0;
4
- /* eslint-disable no-fallthrough */
5
- var common_1 = require("./common");
6
- /*
7
- * +----------------------------------------------------------------------------------+
8
- * | murmurHash3.js v3.0.0 (http://github.com/karanlyons/murmurHash3.js) |
9
- * | A TypeScript/JavaScript implementation of MurmurHash3's hashing algorithms. |
10
- * |----------------------------------------------------------------------------------|
11
- * | Copyright (c) 2012-2020 Karan Lyons. Freely distributable under the MIT license. |
12
- * +----------------------------------------------------------------------------------+
13
- */
14
- // PRIVATE FUNCTIONS
15
- // -----------------
16
- function _x64Add(m, n) {
17
- //
18
- // Given two 64bit ints (as an array of two 32bit ints) returns the two
19
- // added together as a 64bit int (as an array of two 32bit ints).
20
- //
21
- m = [m[0] >>> 16, m[0] & 0xffff, m[1] >>> 16, m[1] & 0xffff];
22
- n = [n[0] >>> 16, n[0] & 0xffff, n[1] >>> 16, n[1] & 0xffff];
23
- var o = [0, 0, 0, 0];
24
- o[3] += m[3] + n[3];
25
- o[2] += o[3] >>> 16;
26
- o[3] &= 0xffff;
27
- o[2] += m[2] + n[2];
28
- o[1] += o[2] >>> 16;
29
- o[2] &= 0xffff;
30
- o[1] += m[1] + n[1];
31
- o[0] += o[1] >>> 16;
32
- o[1] &= 0xffff;
33
- o[0] += m[0] + n[0];
34
- o[0] &= 0xffff;
35
- return [(o[0] << 16) | o[1], (o[2] << 16) | o[3]];
36
- }
37
- function _x64Multiply(m, n) {
38
- //
39
- // Given two 64bit ints (as an array of two 32bit ints) returns the two
40
- // multiplied together as a 64bit int (as an array of two 32bit ints).
41
- //
42
- m = [m[0] >>> 16, m[0] & 0xffff, m[1] >>> 16, m[1] & 0xffff];
43
- n = [n[0] >>> 16, n[0] & 0xffff, n[1] >>> 16, n[1] & 0xffff];
44
- var o = [0, 0, 0, 0];
45
- o[3] += m[3] * n[3];
46
- o[2] += o[3] >>> 16;
47
- o[3] &= 0xffff;
48
- o[2] += m[2] * n[3];
49
- o[1] += o[2] >>> 16;
50
- o[2] &= 0xffff;
51
- o[2] += m[3] * n[2];
52
- o[1] += o[2] >>> 16;
53
- o[2] &= 0xffff;
54
- o[1] += m[1] * n[3];
55
- o[0] += o[1] >>> 16;
56
- o[1] &= 0xffff;
57
- o[1] += m[2] * n[2];
58
- o[0] += o[1] >>> 16;
59
- o[1] &= 0xffff;
60
- o[1] += m[3] * n[1];
61
- o[0] += o[1] >>> 16;
62
- o[1] &= 0xffff;
63
- o[0] += (m[0] * n[3]) + (m[1] * n[2]) + (m[2] * n[1]) + (m[3] * n[0]);
64
- o[0] &= 0xffff;
65
- return [(o[0] << 16) | o[1], (o[2] << 16) | o[3]];
66
- }
67
- function _x64Rotl(m, n) {
68
- //
69
- // Given a 64bit int (as an array of two 32bit ints) and an int
70
- // representing a number of bit positions, returns the 64bit int (as an
71
- // array of two 32bit ints) rotated left by that number of positions.
72
- //
73
- n %= 64;
74
- if (n === 32) {
75
- return [m[1], m[0]];
76
- }
77
- else if (n < 32) {
78
- return [(m[0] << n) | (m[1] >>> (32 - n)), (m[1] << n) | (m[0] >>> (32 - n))];
79
- }
80
- else {
81
- n -= 32;
82
- return [(m[1] << n) | (m[0] >>> (32 - n)), (m[0] << n) | (m[1] >>> (32 - n))];
83
- }
84
- }
85
- function _x64LeftShift(m, n) {
86
- //
87
- // Given a 64bit int (as an array of two 32bit ints) and an int
88
- // representing a number of bit positions, returns the 64bit int (as an
89
- // array of two 32bit ints) shifted left by that number of positions.
90
- //
91
- n %= 64;
92
- if (n === 0) {
93
- return m;
94
- }
95
- else if (n < 32) {
96
- return [(m[0] << n) | (m[1] >>> (32 - n)), m[1] << n];
97
- }
98
- else {
99
- return [m[1] << (n - 32), 0];
100
- }
101
- }
102
- function _x64Xor(m, n) {
103
- //
104
- // Given two 64bit ints (as an array of two 32bit ints) returns the two
105
- // xored together as a 64bit int (as an array of two 32bit ints).
106
- //
107
- return [m[0] ^ n[0], m[1] ^ n[1]];
108
- }
109
- function _x64Fmix(h) {
110
- //
111
- // Given a block, returns murmurHash3's final x64 mix of that block.
112
- // (`[0, h[0] >>> 1]` is a 33 bit unsigned right shift. This is the
113
- // only place where we need to right shift 64bit ints.)
114
- //
115
- h = _x64Xor(h, [0, h[0] >>> 1]);
116
- h = _x64Multiply(h, [0xff51afd7, 0xed558ccd]);
117
- h = _x64Xor(h, [0, h[0] >>> 1]);
118
- h = _x64Multiply(h, [0xc4ceb9fe, 0x1a85ec53]);
119
- h = _x64Xor(h, [0, h[0] >>> 1]);
120
- return h;
121
- }
122
- // PUBLIC FUNCTIONS
123
- // ----------------
124
- function hash128x64(key, seed) {
125
- //
126
- // Given a string and an optional seed as an int, returns a 128 bit
127
- // hash using the x64 flavor of MurmurHash3, as an unsigned hex.
128
- //
129
- key = key || '';
130
- seed = seed || 0;
131
- var remainder = key.length % 16;
132
- var bytes = key.length - remainder;
133
- var h1 = [0, seed];
134
- var h2 = [0, seed];
135
- var k1 = [0, 0];
136
- var k2 = [0, 0];
137
- var c1 = [0x87c37b91, 0x114253d5];
138
- var c2 = [0x4cf5ad43, 0x2745937f];
139
- for (var i = 0; i < bytes; i = i + 16) {
140
- k1 = [((key.charCodeAt(i + 4) & 0xff)) | ((key.charCodeAt(i + 5) & 0xff) << 8) | ((key.charCodeAt(i + 6) & 0xff) << 16) | ((key.charCodeAt(i + 7) & 0xff) << 24), ((key.charCodeAt(i) & 0xff)) | ((key.charCodeAt(i + 1) &
141
- 0xff) << 8) | ((key.charCodeAt(i + 2) & 0xff) << 16) | ((key.charCodeAt(i + 3) & 0xff) << 24)];
142
- k2 = [((key.charCodeAt(i + 12) & 0xff)) | ((key.charCodeAt(i + 13) & 0xff) << 8) | ((key.charCodeAt(i + 14) & 0xff) << 16) | ((key.charCodeAt(i + 15) & 0xff) << 24), ((key.charCodeAt(i + 8) & 0xff)) | ((key.charCodeAt(i +
143
- 9) & 0xff) << 8) | ((key.charCodeAt(i + 10) & 0xff) << 16) | ((key.charCodeAt(i + 11) & 0xff) << 24)];
144
- k1 = _x64Multiply(k1, c1);
145
- k1 = _x64Rotl(k1, 31);
146
- k1 = _x64Multiply(k1, c2);
147
- h1 = _x64Xor(h1, k1);
148
- h1 = _x64Rotl(h1, 27);
149
- h1 = _x64Add(h1, h2);
150
- h1 = _x64Add(_x64Multiply(h1, [0, 5]), [0, 0x52dce729]);
151
- k2 = _x64Multiply(k2, c2);
152
- k2 = _x64Rotl(k2, 33);
153
- k2 = _x64Multiply(k2, c1);
154
- h2 = _x64Xor(h2, k2);
155
- h2 = _x64Rotl(h2, 31);
156
- h2 = _x64Add(h2, h1);
157
- h2 = _x64Add(_x64Multiply(h2, [0, 5]), [0, 0x38495ab5]);
158
- }
159
- k1 = [0, 0];
160
- k2 = [0, 0];
161
- switch (remainder) {
162
- case 15:
163
- k2 = _x64Xor(k2, _x64LeftShift([0, key.charCodeAt(i + 14)], 48));
164
- case 14:
165
- k2 = _x64Xor(k2, _x64LeftShift([0, key.charCodeAt(i + 13)], 40));
166
- case 13:
167
- k2 = _x64Xor(k2, _x64LeftShift([0, key.charCodeAt(i + 12)], 32));
168
- case 12:
169
- k2 = _x64Xor(k2, _x64LeftShift([0, key.charCodeAt(i + 11)], 24));
170
- case 11:
171
- k2 = _x64Xor(k2, _x64LeftShift([0, key.charCodeAt(i + 10)], 16));
172
- case 10:
173
- k2 = _x64Xor(k2, _x64LeftShift([0, key.charCodeAt(i + 9)], 8));
174
- case 9:
175
- k2 = _x64Xor(k2, [0, key.charCodeAt(i + 8)]);
176
- k2 = _x64Multiply(k2, c2);
177
- k2 = _x64Rotl(k2, 33);
178
- k2 = _x64Multiply(k2, c1);
179
- h2 = _x64Xor(h2, k2);
180
- case 8:
181
- k1 = _x64Xor(k1, _x64LeftShift([0, key.charCodeAt(i + 7)], 56));
182
- case 7:
183
- k1 = _x64Xor(k1, _x64LeftShift([0, key.charCodeAt(i + 6)], 48));
184
- case 6:
185
- k1 = _x64Xor(k1, _x64LeftShift([0, key.charCodeAt(i + 5)], 40));
186
- case 5:
187
- k1 = _x64Xor(k1, _x64LeftShift([0, key.charCodeAt(i + 4)], 32));
188
- case 4:
189
- k1 = _x64Xor(k1, _x64LeftShift([0, key.charCodeAt(i + 3)], 24));
190
- case 3:
191
- k1 = _x64Xor(k1, _x64LeftShift([0, key.charCodeAt(i + 2)], 16));
192
- case 2:
193
- k1 = _x64Xor(k1, _x64LeftShift([0, key.charCodeAt(i + 1)], 8));
194
- case 1:
195
- k1 = _x64Xor(k1, [0, key.charCodeAt(i)]);
196
- k1 = _x64Multiply(k1, c1);
197
- k1 = _x64Rotl(k1, 31);
198
- k1 = _x64Multiply(k1, c2);
199
- h1 = _x64Xor(h1, k1);
200
- }
201
- h1 = _x64Xor(h1, [0, key.length]);
202
- h2 = _x64Xor(h2, [0, key.length]);
203
- h1 = _x64Add(h1, h2);
204
- h2 = _x64Add(h2, h1);
205
- h1 = _x64Fmix(h1);
206
- h2 = _x64Fmix(h2);
207
- h1 = _x64Add(h1, h2);
208
- h2 = _x64Add(h2, h1);
209
- return ('00000000' + (h1[0] >>> 0).toString(16)).slice(-8) + ('00000000' + (h1[1] >>> 0).toString(16)).slice(-8) + ('00000000' + (h2[0] >>> 0).toString(16)).slice(-8) + ('00000000' + (h2[1] >>> 0).toString(16)).slice(-8);
210
- }
211
- /**
212
- * x64 version of Murmur3 for 128bits.
213
- *
214
- * @param str - The string to hash.
215
- */
216
- function hash128(str, seed) {
217
- return hash128x64((0, common_1.UTF16ToUTF8)(str), seed >>> 0);
218
- }
219
- exports.hash128 = hash128;