@splitsoftware/splitio 10.17.3-rc.4 → 10.17.4-rc.1

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 (780) hide show
  1. package/CHANGES.txt +0 -3
  2. package/client/package.json +5 -0
  3. package/es/factory/browser.js +67 -0
  4. package/es/factory/node.js +63 -0
  5. package/es/{client → factory}/package.json +0 -0
  6. package/es/index.js +16 -132
  7. package/es/platform/EventEmitter.js +386 -0
  8. package/es/platform/browser.js +10 -0
  9. package/es/platform/getEventSource/browser.js +3 -0
  10. package/es/platform/getEventSource/node.js +19 -0
  11. package/es/{impressions/observer → platform/getEventSource}/package.json +0 -0
  12. package/es/platform/getFetch/browser.js +4 -0
  13. package/es/platform/getFetch/node.js +18 -0
  14. package/es/{integrations → platform/getFetch}/package.json +0 -0
  15. package/es/platform/node.js +12 -0
  16. package/es/{listeners → platform}/package.json +0 -0
  17. package/es/platform/request/options/node.js +13 -0
  18. package/es/settings/browser.js +20 -0
  19. package/es/settings/defaults/browser.js +18 -0
  20. package/es/settings/defaults/node.js +24 -0
  21. package/es/settings/defaults/version.js +1 -0
  22. package/es/settings/integrations/browser.js +5 -0
  23. package/es/settings/node.js +18 -0
  24. package/es/{producer/offline → settings}/package.json +0 -0
  25. package/es/settings/runtime/node.js +17 -0
  26. package/es/settings/storage/browser.js +29 -0
  27. package/es/settings/storage/node.js +60 -0
  28. package/es/umd.js +2 -1
  29. package/lib/factory/browser.js +71 -0
  30. package/lib/factory/node.js +67 -0
  31. package/{es/producer → lib/factory}/package.json +0 -0
  32. package/lib/index.js +19 -155
  33. package/lib/platform/EventEmitter.js +390 -0
  34. package/lib/platform/browser.js +13 -0
  35. package/lib/platform/getEventSource/browser.js +7 -0
  36. package/lib/platform/getEventSource/node.js +25 -0
  37. package/{es/services → lib/platform}/getEventSource/package.json +0 -0
  38. package/lib/platform/getFetch/browser.js +9 -0
  39. package/lib/platform/getFetch/node.js +23 -0
  40. package/{es/services → lib/platform}/getFetch/package.json +0 -0
  41. package/lib/platform/node.js +16 -0
  42. package/{es/services/request/options → lib/platform}/package.json +0 -0
  43. package/lib/platform/request/options/node.js +18 -0
  44. package/lib/settings/browser.js +24 -0
  45. package/lib/settings/defaults/browser.js +21 -0
  46. package/lib/settings/defaults/node.js +27 -0
  47. package/lib/settings/defaults/version.js +4 -0
  48. package/lib/settings/integrations/browser.js +9 -0
  49. package/lib/settings/node.js +22 -0
  50. package/{es/services/splitChanges/offline → lib/settings}/package.json +0 -0
  51. package/lib/settings/runtime/node.js +22 -0
  52. package/lib/settings/storage/browser.js +33 -0
  53. package/lib/settings/storage/node.js +64 -0
  54. package/lib/umd.js +4 -8
  55. package/package.json +29 -31
  56. package/server/package.json +5 -0
  57. package/src/.DS_Store +0 -0
  58. package/src/factory/browser.js +84 -0
  59. package/src/factory/node.js +78 -0
  60. package/{es/storage/SegmentCache/InMemory → src/factory}/package.json +0 -0
  61. package/src/index.js +13 -136
  62. package/src/platform/.DS_Store +0 -0
  63. package/src/platform/EventEmitter.js +443 -0
  64. package/src/platform/browser.js +12 -0
  65. package/{es/services → src/platform}/getEventSource/browser.js +2 -2
  66. package/src/{services → platform}/getEventSource/node.js +2 -2
  67. package/{es/storage → src/platform/getEventSource}/package.json +0 -0
  68. package/src/{services → platform}/getFetch/browser.js +2 -2
  69. package/src/{services → platform}/getFetch/node.js +1 -1
  70. package/{es/sync/PushManager/pushRequirements → src/platform/getFetch}/package.json +0 -0
  71. package/src/platform/node.js +14 -0
  72. package/{es/sync/SegmentUpdateWorker → src/platform}/package.json +0 -0
  73. package/src/platform/request/options/node.js +15 -0
  74. package/src/settings/.DS_Store +0 -0
  75. package/src/settings/browser.js +22 -0
  76. package/{lib/utils → src}/settings/defaults/browser.js +10 -6
  77. package/{lib/utils → src}/settings/defaults/node.js +6 -6
  78. package/src/settings/defaults/version.js +1 -0
  79. package/src/settings/integrations/browser.js +6 -0
  80. package/src/settings/node.js +20 -0
  81. package/{es/sync → src/settings}/package.json +0 -0
  82. package/src/settings/runtime/node.js +21 -0
  83. package/src/settings/storage/browser.js +43 -0
  84. package/src/{utils/settings → settings}/storage/node.js +18 -34
  85. package/src/umd.js +1 -0
  86. package/types/client/index.d.ts +14 -0
  87. package/types/server/index.d.ts +20 -0
  88. package/types/splitio.d.ts +77 -6
  89. package/es/client/attributesDecoration.js +0 -116
  90. package/es/client/browser.js +0 -39
  91. package/es/client/client.js +0 -155
  92. package/es/client/inputValidation.js +0 -117
  93. package/es/client/node.js +0 -6
  94. package/es/engine/combiners/and.js +0 -54
  95. package/es/engine/combiners/ifelseif.js +0 -73
  96. package/es/engine/condition/index.js +0 -62
  97. package/es/engine/convertions/index.js +0 -29
  98. package/es/engine/engine/index.js +0 -60
  99. package/es/engine/engine/legacy.js +0 -77
  100. package/es/engine/engine/murmur3/common.js +0 -40
  101. package/es/engine/engine/murmur3/murmur3.js +0 -83
  102. package/es/engine/engine/murmur3/murmur3_128.js +0 -250
  103. package/es/engine/engine/murmur3/murmur3_128_x86.js +0 -183
  104. package/es/engine/engine/murmur3/murmur3_64.js +0 -52
  105. package/es/engine/engine/murmur3/utfx.js +0 -112
  106. package/es/engine/evaluator/index.js +0 -111
  107. package/es/engine/index.js +0 -112
  108. package/es/engine/matchers/all.js +0 -32
  109. package/es/engine/matchers/between.js +0 -35
  110. package/es/engine/matchers/boolean.js +0 -35
  111. package/es/engine/matchers/cont_all.js +0 -51
  112. package/es/engine/matchers/cont_any.js +0 -47
  113. package/es/engine/matchers/cont_str.js +0 -38
  114. package/es/engine/matchers/dependency.js +0 -50
  115. package/es/engine/matchers/eq.js +0 -35
  116. package/es/engine/matchers/eq_set.js +0 -49
  117. package/es/engine/matchers/ew.js +0 -38
  118. package/es/engine/matchers/gte.js +0 -35
  119. package/es/engine/matchers/index.js +0 -65
  120. package/es/engine/matchers/lte.js +0 -35
  121. package/es/engine/matchers/part_of.js +0 -49
  122. package/es/engine/matchers/segment.js +0 -39
  123. package/es/engine/matchers/string.js +0 -44
  124. package/es/engine/matchers/sw.js +0 -38
  125. package/es/engine/matchers/types.js +0 -48
  126. package/es/engine/matchers/whitelist.js +0 -36
  127. package/es/engine/parser/index.js +0 -69
  128. package/es/engine/parser/segments.js +0 -22
  129. package/es/engine/transforms/matcherGroup.js +0 -43
  130. package/es/engine/transforms/matchers.js +0 -109
  131. package/es/engine/transforms/segment.js +0 -28
  132. package/es/engine/transforms/set.js +0 -20
  133. package/es/engine/transforms/unaryNumeric.js +0 -20
  134. package/es/engine/transforms/whitelist.js +0 -22
  135. package/es/engine/treatments/index.js +0 -67
  136. package/es/engine/value/index.js +0 -54
  137. package/es/engine/value/sanitize.js +0 -125
  138. package/es/events/index.js +0 -65
  139. package/es/factory/offline.js +0 -50
  140. package/es/factory/online.js +0 -113
  141. package/es/impressions/counter.js +0 -52
  142. package/es/impressions/hasher/buildKey.js +0 -3
  143. package/es/impressions/hasher/hashImpression128.js +0 -5
  144. package/es/impressions/hasher/hashImpression32.js +0 -5
  145. package/es/impressions/observer/browser.js +0 -9
  146. package/es/impressions/observer/node.js +0 -9
  147. package/es/impressions/observer/observer.js +0 -21
  148. package/es/integrations/browser.js +0 -62
  149. package/es/integrations/ga/GaToSplit.js +0 -246
  150. package/es/integrations/ga/SplitToGa.js +0 -127
  151. package/es/integrations/node.js +0 -3
  152. package/es/listeners/browser.js +0 -157
  153. package/es/listeners/node.js +0 -65
  154. package/es/manager/index.js +0 -104
  155. package/es/metrics/Collectors.js +0 -100
  156. package/es/metrics/index.js +0 -157
  157. package/es/producer/browser/Partial.js +0 -103
  158. package/es/producer/browser.js +0 -70
  159. package/es/producer/fetcher/MySegments.js +0 -47
  160. package/es/producer/fetcher/SegmentChanges.js +0 -52
  161. package/es/producer/fetcher/SplitChanges.js +0 -46
  162. package/es/producer/node.js +0 -130
  163. package/es/producer/offline/browser.js +0 -26
  164. package/es/producer/offline/node.js +0 -26
  165. package/es/producer/task.js +0 -50
  166. package/es/producer/updater/MySegments.js +0 -108
  167. package/es/producer/updater/SegmentChanges.js +0 -135
  168. package/es/producer/updater/SplitChanges.js +0 -131
  169. package/es/producer/updater/SplitChangesFromFeatures.js +0 -21
  170. package/es/producer/updater/SplitChangesFromFileSystem.js +0 -21
  171. package/es/producer/updater/SplitChangesFromObject.js +0 -73
  172. package/es/readiness/index.js +0 -123
  173. package/es/readiness/statusManager.js +0 -114
  174. package/es/services/auth/auth.js +0 -25
  175. package/es/services/auth/index.js +0 -2
  176. package/es/services/events/bulk.js +0 -22
  177. package/es/services/events/index.js +0 -17
  178. package/es/services/getEventSource/node.js +0 -18
  179. package/es/services/getFetch/browser.js +0 -4
  180. package/es/services/getFetch/node.js +0 -18
  181. package/es/services/impressions/bulk.js +0 -26
  182. package/es/services/impressions/count.js +0 -7
  183. package/es/services/impressions/dto.js +0 -73
  184. package/es/services/impressions/index.js +0 -17
  185. package/es/services/impressions/post.js +0 -22
  186. package/es/services/metrics/counters.js +0 -24
  187. package/es/services/metrics/dto.js +0 -38
  188. package/es/services/metrics/index.js +0 -17
  189. package/es/services/metrics/times.js +0 -24
  190. package/es/services/mySegments/get.js +0 -26
  191. package/es/services/mySegments/index.js +0 -17
  192. package/es/services/request/index.js +0 -43
  193. package/es/services/request/options/browser.js +0 -18
  194. package/es/services/request/options/node.js +0 -28
  195. package/es/services/segmentChanges/get.js +0 -21
  196. package/es/services/segmentChanges/index.js +0 -17
  197. package/es/services/splitChanges/get.js +0 -19
  198. package/es/services/splitChanges/index.js +0 -17
  199. package/es/services/splitChanges/offline/browser.js +0 -63
  200. package/es/services/splitChanges/offline/node.js +0 -176
  201. package/es/services/splitChanges/offline/parseCondition.js +0 -43
  202. package/es/services/transport/index.js +0 -51
  203. package/es/storage/AttributesCache/InMemory.js +0 -85
  204. package/es/storage/BaseMetricsAsyncCache.js +0 -23
  205. package/es/storage/CountCache/InMemory.js +0 -48
  206. package/es/storage/CountCache/InRedis.js +0 -42
  207. package/es/storage/EventsCache/InMemory.js +0 -109
  208. package/es/storage/EventsCache/InRedis.js +0 -65
  209. package/es/storage/ImpressionsCache/InMemory.js +0 -71
  210. package/es/storage/ImpressionsCache/InRedis.js +0 -73
  211. package/es/storage/Keys.js +0 -125
  212. package/es/storage/KeysLocalStorage.js +0 -58
  213. package/es/storage/LatencyCache/InMemory.js +0 -56
  214. package/es/storage/LatencyCache/InRedis.js +0 -44
  215. package/es/storage/LatencyCache/findIndex.js +0 -2
  216. package/es/storage/Meta.js +0 -7
  217. package/es/storage/RedisAdapter.js +0 -198
  218. package/es/storage/SegmentCache/InLocalStorage/index.js +0 -162
  219. package/es/storage/SegmentCache/InMemory/browser.js +0 -107
  220. package/es/storage/SegmentCache/InMemory/node.js +0 -82
  221. package/es/storage/SegmentCache/InRedis/index.js +0 -81
  222. package/es/storage/SplitCache/InLocalStorage.js +0 -332
  223. package/es/storage/SplitCache/InMemory.js +0 -162
  224. package/es/storage/SplitCache/InRedis.js +0 -214
  225. package/es/storage/SplitCache/killLocally.js +0 -35
  226. package/es/storage/browser.js +0 -101
  227. package/es/storage/node.js +0 -81
  228. package/es/sync/AuthClient/index.js +0 -34
  229. package/es/sync/PushManager/index.js +0 -315
  230. package/es/sync/PushManager/mySegmentsV2utils.js +0 -76
  231. package/es/sync/PushManager/pushRequirements/browser.js +0 -23
  232. package/es/sync/PushManager/pushRequirements/node.js +0 -18
  233. package/es/sync/SSEClient/index.js +0 -93
  234. package/es/sync/SSEHandler/NotificationKeeper.js +0 -97
  235. package/es/sync/SSEHandler/NotificationParser.js +0 -31
  236. package/es/sync/SSEHandler/index.js +0 -110
  237. package/es/sync/SegmentUpdateWorker/browser.js +0 -74
  238. package/es/sync/SegmentUpdateWorker/node.js +0 -79
  239. package/es/sync/SplitUpdateWorker/index.js +0 -86
  240. package/es/sync/browser.js +0 -125
  241. package/es/sync/constants.js +0 -42
  242. package/es/sync/node.js +0 -60
  243. package/es/trackers/event.js +0 -53
  244. package/es/trackers/impressions.js +0 -132
  245. package/es/utils/backoff/index.js +0 -51
  246. package/es/utils/base64/browser.js +0 -19
  247. package/es/utils/base64/node.js +0 -19
  248. package/es/utils/base64/package.json +0 -4
  249. package/es/utils/binarySearch/index.js +0 -50
  250. package/es/utils/constants/index.js +0 -38
  251. package/es/utils/context/constants.js +0 -30
  252. package/es/utils/context/index.js +0 -101
  253. package/es/utils/decompress/index.js +0 -476
  254. package/es/utils/fn/repeat.js +0 -58
  255. package/es/utils/inputValidation/apiKey.js +0 -39
  256. package/es/utils/inputValidation/attribute.js +0 -22
  257. package/es/utils/inputValidation/attributes.js +0 -19
  258. package/es/utils/inputValidation/event.js +0 -23
  259. package/es/utils/inputValidation/eventProperties.js +0 -69
  260. package/es/utils/inputValidation/eventValue.js +0 -9
  261. package/es/utils/inputValidation/index.js +0 -11
  262. package/es/utils/inputValidation/isOperational.js +0 -14
  263. package/es/utils/inputValidation/key.js +0 -50
  264. package/es/utils/inputValidation/split.js +0 -47
  265. package/es/utils/inputValidation/splitFilters.js +0 -121
  266. package/es/utils/inputValidation/splits.js +0 -27
  267. package/es/utils/inputValidation/trafficType.js +0 -55
  268. package/es/utils/jwt/hashUserKey.js +0 -11
  269. package/es/utils/jwt/index.js +0 -14
  270. package/es/utils/key/factory.js +0 -38
  271. package/es/utils/key/parser.js +0 -34
  272. package/es/utils/labels/index.js +0 -7
  273. package/es/utils/lang/Errors.js +0 -41
  274. package/es/utils/lang/Sets.js +0 -114
  275. package/es/utils/lang/index.js +0 -305
  276. package/es/utils/localstorage/isAvailable.js +0 -26
  277. package/es/utils/logger/LoggerFactory.js +0 -86
  278. package/es/utils/logger/index.js +0 -97
  279. package/es/utils/lrucache/linkedlist.js +0 -122
  280. package/es/utils/lrucache/lru.spec.js +0 -24
  281. package/es/utils/lrucache/lrucache.js +0 -80
  282. package/es/utils/now/browser.js +0 -27
  283. package/es/utils/now/node.js +0 -19
  284. package/es/utils/now/package.json +0 -4
  285. package/es/utils/promise/thenable.js +0 -3
  286. package/es/utils/promise/timeout.js +0 -34
  287. package/es/utils/promise/wrapper.js +0 -58
  288. package/es/utils/settings/defaults/browser.js +0 -12
  289. package/es/utils/settings/defaults/node.js +0 -21
  290. package/es/utils/settings/defaults/package.json +0 -4
  291. package/es/utils/settings/impressionsMode.js +0 -16
  292. package/es/utils/settings/index.js +0 -194
  293. package/es/utils/settings/integrations/browser.js +0 -8
  294. package/es/utils/settings/integrations/common.js +0 -30
  295. package/es/utils/settings/integrations/node.js +0 -7
  296. package/es/utils/settings/integrations/package.json +0 -4
  297. package/es/utils/settings/language/browser.js +0 -16
  298. package/es/utils/settings/language/node.js +0 -16
  299. package/es/utils/settings/language/package.json +0 -4
  300. package/es/utils/settings/mode.js +0 -10
  301. package/es/utils/settings/runtime/browser.js +0 -21
  302. package/es/utils/settings/runtime/node.js +0 -33
  303. package/es/utils/settings/runtime/package.json +0 -4
  304. package/es/utils/settings/storage/browser.js +0 -64
  305. package/es/utils/settings/storage/node.js +0 -86
  306. package/es/utils/settings/storage/package.json +0 -4
  307. package/es/utils/splits/usesSegments.js +0 -21
  308. package/es/utils/time/index.js +0 -8
  309. package/es/utils/timeTracker/index.js +0 -216
  310. package/es/utils/timeTracker/timer.js +0 -25
  311. package/lib/client/attributesDecoration.js +0 -128
  312. package/lib/client/browser.js +0 -50
  313. package/lib/client/client.js +0 -174
  314. package/lib/client/inputValidation.js +0 -129
  315. package/lib/client/node.js +0 -14
  316. package/lib/client/package.json +0 -4
  317. package/lib/engine/combiners/and.js +0 -65
  318. package/lib/engine/combiners/ifelseif.js +0 -88
  319. package/lib/engine/condition/index.js +0 -76
  320. package/lib/engine/convertions/index.js +0 -36
  321. package/lib/engine/engine/index.js +0 -71
  322. package/lib/engine/engine/legacy.js +0 -83
  323. package/lib/engine/engine/murmur3/common.js +0 -52
  324. package/lib/engine/engine/murmur3/murmur3.js +0 -90
  325. package/lib/engine/engine/murmur3/murmur3_128.js +0 -256
  326. package/lib/engine/engine/murmur3/murmur3_128_x86.js +0 -189
  327. package/lib/engine/engine/murmur3/murmur3_64.js +0 -57
  328. package/lib/engine/engine/murmur3/utfx.js +0 -121
  329. package/lib/engine/evaluator/index.js +0 -129
  330. package/lib/engine/index.js +0 -128
  331. package/lib/engine/matchers/all.js +0 -41
  332. package/lib/engine/matchers/between.js +0 -44
  333. package/lib/engine/matchers/boolean.js +0 -44
  334. package/lib/engine/matchers/cont_all.js +0 -61
  335. package/lib/engine/matchers/cont_any.js +0 -57
  336. package/lib/engine/matchers/cont_str.js +0 -48
  337. package/lib/engine/matchers/dependency.js +0 -60
  338. package/lib/engine/matchers/eq.js +0 -44
  339. package/lib/engine/matchers/eq_set.js +0 -59
  340. package/lib/engine/matchers/ew.js +0 -48
  341. package/lib/engine/matchers/gte.js +0 -44
  342. package/lib/engine/matchers/index.js +0 -90
  343. package/lib/engine/matchers/lte.js +0 -44
  344. package/lib/engine/matchers/part_of.js +0 -59
  345. package/lib/engine/matchers/segment.js +0 -49
  346. package/lib/engine/matchers/string.js +0 -53
  347. package/lib/engine/matchers/sw.js +0 -48
  348. package/lib/engine/matchers/types.js +0 -57
  349. package/lib/engine/matchers/whitelist.js +0 -46
  350. package/lib/engine/parser/index.js +0 -84
  351. package/lib/engine/parser/segments.js +0 -28
  352. package/lib/engine/transforms/matcherGroup.js +0 -54
  353. package/lib/engine/transforms/matchers.js +0 -124
  354. package/lib/engine/transforms/segment.js +0 -34
  355. package/lib/engine/transforms/set.js +0 -26
  356. package/lib/engine/transforms/unaryNumeric.js +0 -26
  357. package/lib/engine/transforms/whitelist.js +0 -28
  358. package/lib/engine/treatments/index.js +0 -73
  359. package/lib/engine/value/index.js +0 -64
  360. package/lib/engine/value/sanitize.js +0 -137
  361. package/lib/events/index.js +0 -80
  362. package/lib/factory/offline.js +0 -62
  363. package/lib/factory/online.js +0 -129
  364. package/lib/impressions/counter.js +0 -61
  365. package/lib/impressions/hasher/buildKey.js +0 -8
  366. package/lib/impressions/hasher/hashImpression128.js +0 -12
  367. package/lib/impressions/hasher/hashImpression32.js +0 -14
  368. package/lib/impressions/observer/browser.js +0 -19
  369. package/lib/impressions/observer/node.js +0 -19
  370. package/lib/impressions/observer/observer.js +0 -29
  371. package/lib/impressions/observer/package.json +0 -4
  372. package/lib/integrations/browser.js +0 -72
  373. package/lib/integrations/ga/GaToSplit.js +0 -267
  374. package/lib/integrations/ga/SplitToGa.js +0 -138
  375. package/lib/integrations/node.js +0 -9
  376. package/lib/integrations/package.json +0 -4
  377. package/lib/listeners/browser.js +0 -173
  378. package/lib/listeners/node.js +0 -74
  379. package/lib/listeners/package.json +0 -4
  380. package/lib/manager/index.js +0 -115
  381. package/lib/metrics/Collectors.js +0 -118
  382. package/lib/metrics/index.js +0 -182
  383. package/lib/producer/browser/Partial.js +0 -114
  384. package/lib/producer/browser.js +0 -82
  385. package/lib/producer/fetcher/MySegments.js +0 -59
  386. package/lib/producer/fetcher/SegmentChanges.js +0 -62
  387. package/lib/producer/fetcher/SplitChanges.js +0 -58
  388. package/lib/producer/node.js +0 -142
  389. package/lib/producer/offline/browser.js +0 -35
  390. package/lib/producer/offline/node.js +0 -35
  391. package/lib/producer/offline/package.json +0 -4
  392. package/lib/producer/package.json +0 -4
  393. package/lib/producer/task.js +0 -61
  394. package/lib/producer/updater/MySegments.js +0 -119
  395. package/lib/producer/updater/SegmentChanges.js +0 -148
  396. package/lib/producer/updater/SplitChanges.js +0 -145
  397. package/lib/producer/updater/SplitChangesFromFeatures.js +0 -30
  398. package/lib/producer/updater/SplitChangesFromFileSystem.js +0 -30
  399. package/lib/producer/updater/SplitChangesFromObject.js +0 -84
  400. package/lib/readiness/index.js +0 -132
  401. package/lib/readiness/statusManager.js +0 -124
  402. package/lib/services/auth/auth.js +0 -32
  403. package/lib/services/auth/index.js +0 -11
  404. package/lib/services/events/bulk.js +0 -31
  405. package/lib/services/events/index.js +0 -26
  406. package/lib/services/getEventSource/browser.js +0 -8
  407. package/lib/services/getEventSource/node.js +0 -26
  408. package/lib/services/getEventSource/package.json +0 -4
  409. package/lib/services/getFetch/browser.js +0 -12
  410. package/lib/services/getFetch/node.js +0 -24
  411. package/lib/services/getFetch/package.json +0 -4
  412. package/lib/services/impressions/bulk.js +0 -36
  413. package/lib/services/impressions/count.js +0 -16
  414. package/lib/services/impressions/dto.js +0 -81
  415. package/lib/services/impressions/index.js +0 -26
  416. package/lib/services/impressions/post.js +0 -31
  417. package/lib/services/metrics/counters.js +0 -33
  418. package/lib/services/metrics/dto.js +0 -46
  419. package/lib/services/metrics/index.js +0 -26
  420. package/lib/services/metrics/times.js +0 -33
  421. package/lib/services/mySegments/get.js +0 -35
  422. package/lib/services/mySegments/index.js +0 -26
  423. package/lib/services/request/index.js +0 -53
  424. package/lib/services/request/options/browser.js +0 -23
  425. package/lib/services/request/options/node.js +0 -37
  426. package/lib/services/request/options/package.json +0 -4
  427. package/lib/services/segmentChanges/get.js +0 -29
  428. package/lib/services/segmentChanges/index.js +0 -26
  429. package/lib/services/splitChanges/get.js +0 -27
  430. package/lib/services/splitChanges/index.js +0 -26
  431. package/lib/services/splitChanges/offline/browser.js +0 -71
  432. package/lib/services/splitChanges/offline/node.js +0 -189
  433. package/lib/services/splitChanges/offline/package.json +0 -4
  434. package/lib/services/splitChanges/offline/parseCondition.js +0 -49
  435. package/lib/services/transport/index.js +0 -62
  436. package/lib/storage/AttributesCache/InMemory.js +0 -93
  437. package/lib/storage/BaseMetricsAsyncCache.js +0 -28
  438. package/lib/storage/CountCache/InMemory.js +0 -54
  439. package/lib/storage/CountCache/InRedis.js +0 -50
  440. package/lib/storage/EventsCache/InMemory.js +0 -118
  441. package/lib/storage/EventsCache/InRedis.js +0 -74
  442. package/lib/storage/ImpressionsCache/InMemory.js +0 -77
  443. package/lib/storage/ImpressionsCache/InRedis.js +0 -79
  444. package/lib/storage/Keys.js +0 -132
  445. package/lib/storage/KeysLocalStorage.js +0 -69
  446. package/lib/storage/LatencyCache/InMemory.js +0 -64
  447. package/lib/storage/LatencyCache/InRedis.js +0 -53
  448. package/lib/storage/LatencyCache/findIndex.js +0 -12
  449. package/lib/storage/Meta.js +0 -12
  450. package/lib/storage/RedisAdapter.js +0 -212
  451. package/lib/storage/SegmentCache/InLocalStorage/index.js +0 -171
  452. package/lib/storage/SegmentCache/InMemory/browser.js +0 -113
  453. package/lib/storage/SegmentCache/InMemory/node.js +0 -89
  454. package/lib/storage/SegmentCache/InMemory/package.json +0 -4
  455. package/lib/storage/SegmentCache/InRedis/index.js +0 -87
  456. package/lib/storage/SplitCache/InLocalStorage.js +0 -344
  457. package/lib/storage/SplitCache/InMemory.js +0 -172
  458. package/lib/storage/SplitCache/InRedis.js +0 -224
  459. package/lib/storage/SplitCache/killLocally.js +0 -42
  460. package/lib/storage/browser.js +0 -122
  461. package/lib/storage/node.js +0 -104
  462. package/lib/storage/package.json +0 -4
  463. package/lib/sync/AuthClient/index.js +0 -44
  464. package/lib/sync/PushManager/index.js +0 -340
  465. package/lib/sync/PushManager/mySegmentsV2utils.js +0 -87
  466. package/lib/sync/PushManager/pushRequirements/browser.js +0 -30
  467. package/lib/sync/PushManager/pushRequirements/node.js +0 -25
  468. package/lib/sync/PushManager/pushRequirements/package.json +0 -4
  469. package/lib/sync/SSEClient/index.js +0 -101
  470. package/lib/sync/SSEHandler/NotificationKeeper.js +0 -104
  471. package/lib/sync/SSEHandler/NotificationParser.js +0 -39
  472. package/lib/sync/SSEHandler/index.js +0 -121
  473. package/lib/sync/SegmentUpdateWorker/browser.js +0 -81
  474. package/lib/sync/SegmentUpdateWorker/node.js +0 -86
  475. package/lib/sync/SegmentUpdateWorker/package.json +0 -4
  476. package/lib/sync/SplitUpdateWorker/index.js +0 -93
  477. package/lib/sync/browser.js +0 -139
  478. package/lib/sync/constants.js +0 -59
  479. package/lib/sync/node.js +0 -71
  480. package/lib/sync/package.json +0 -4
  481. package/lib/trackers/event.js +0 -64
  482. package/lib/trackers/impressions.js +0 -146
  483. package/lib/utils/backoff/index.js +0 -57
  484. package/lib/utils/base64/browser.js +0 -26
  485. package/lib/utils/base64/node.js +0 -26
  486. package/lib/utils/base64/package.json +0 -4
  487. package/lib/utils/binarySearch/index.js +0 -56
  488. package/lib/utils/constants/index.js +0 -60
  489. package/lib/utils/context/constants.js +0 -49
  490. package/lib/utils/context/index.js +0 -111
  491. package/lib/utils/decompress/index.js +0 -483
  492. package/lib/utils/fn/repeat.js +0 -64
  493. package/lib/utils/inputValidation/apiKey.js +0 -51
  494. package/lib/utils/inputValidation/attribute.js +0 -32
  495. package/lib/utils/inputValidation/attributes.js +0 -32
  496. package/lib/utils/inputValidation/event.js +0 -33
  497. package/lib/utils/inputValidation/eventProperties.js +0 -78
  498. package/lib/utils/inputValidation/eventValue.js +0 -19
  499. package/lib/utils/inputValidation/index.js +0 -48
  500. package/lib/utils/inputValidation/isOperational.js +0 -25
  501. package/lib/utils/inputValidation/key.js +0 -59
  502. package/lib/utils/inputValidation/split.js +0 -60
  503. package/lib/utils/inputValidation/splitFilters.js +0 -134
  504. package/lib/utils/inputValidation/splits.js +0 -38
  505. package/lib/utils/inputValidation/trafficType.js +0 -68
  506. package/lib/utils/jwt/hashUserKey.js +0 -19
  507. package/lib/utils/jwt/index.js +0 -19
  508. package/lib/utils/key/factory.js +0 -46
  509. package/lib/utils/key/parser.js +0 -42
  510. package/lib/utils/labels/index.js +0 -18
  511. package/lib/utils/lang/Errors.js +0 -58
  512. package/lib/utils/lang/Sets.js +0 -127
  513. package/lib/utils/lang/index.js +0 -350
  514. package/lib/utils/localstorage/isAvailable.js +0 -31
  515. package/lib/utils/logger/LoggerFactory.js +0 -98
  516. package/lib/utils/logger/index.js +0 -109
  517. package/lib/utils/lrucache/linkedlist.js +0 -132
  518. package/lib/utils/lrucache/lru.spec.js +0 -30
  519. package/lib/utils/lrucache/lrucache.js +0 -88
  520. package/lib/utils/now/browser.js +0 -33
  521. package/lib/utils/now/node.js +0 -24
  522. package/lib/utils/now/package.json +0 -4
  523. package/lib/utils/promise/thenable.js +0 -10
  524. package/lib/utils/promise/timeout.js +0 -40
  525. package/lib/utils/promise/wrapper.js +0 -63
  526. package/lib/utils/settings/defaults/package.json +0 -4
  527. package/lib/utils/settings/impressionsMode.js +0 -26
  528. package/lib/utils/settings/index.js +0 -214
  529. package/lib/utils/settings/integrations/browser.js +0 -17
  530. package/lib/utils/settings/integrations/common.js +0 -40
  531. package/lib/utils/settings/integrations/node.js +0 -13
  532. package/lib/utils/settings/integrations/package.json +0 -4
  533. package/lib/utils/settings/language/browser.js +0 -22
  534. package/lib/utils/settings/language/node.js +0 -22
  535. package/lib/utils/settings/language/package.json +0 -4
  536. package/lib/utils/settings/mode.js +0 -16
  537. package/lib/utils/settings/runtime/browser.js +0 -26
  538. package/lib/utils/settings/runtime/node.js +0 -43
  539. package/lib/utils/settings/runtime/package.json +0 -4
  540. package/lib/utils/settings/storage/browser.js +0 -75
  541. package/lib/utils/settings/storage/node.js +0 -92
  542. package/lib/utils/settings/storage/package.json +0 -4
  543. package/lib/utils/splits/usesSegments.js +0 -27
  544. package/lib/utils/time/index.js +0 -12
  545. package/lib/utils/timeTracker/index.js +0 -213
  546. package/lib/utils/timeTracker/timer.js +0 -33
  547. package/src/client/attributesDecoration.js +0 -112
  548. package/src/client/browser.js +0 -41
  549. package/src/client/client.js +0 -131
  550. package/src/client/inputValidation.js +0 -130
  551. package/src/client/node.js +0 -8
  552. package/src/client/package.json +0 -4
  553. package/src/engine/combiners/and.js +0 -55
  554. package/src/engine/combiners/ifelseif.js +0 -74
  555. package/src/engine/condition/index.js +0 -65
  556. package/src/engine/convertions/index.js +0 -22
  557. package/src/engine/engine/index.js +0 -63
  558. package/src/engine/engine/legacy.js +0 -66
  559. package/src/engine/engine/murmur3/common.js +0 -54
  560. package/src/engine/engine/murmur3/murmur3.js +0 -79
  561. package/src/engine/engine/murmur3/murmur3_128.js +0 -273
  562. package/src/engine/engine/murmur3/murmur3_128_x86.js +0 -188
  563. package/src/engine/engine/murmur3/murmur3_64.js +0 -34
  564. package/src/engine/engine/murmur3/utfx.js +0 -111
  565. package/src/engine/evaluator/index.js +0 -148
  566. package/src/engine/index.js +0 -123
  567. package/src/engine/matchers/all.js +0 -29
  568. package/src/engine/matchers/between.js +0 -30
  569. package/src/engine/matchers/boolean.js +0 -29
  570. package/src/engine/matchers/cont_all.js +0 -40
  571. package/src/engine/matchers/cont_any.js +0 -35
  572. package/src/engine/matchers/cont_str.js +0 -31
  573. package/src/engine/matchers/dependency.js +0 -52
  574. package/src/engine/matchers/eq.js +0 -30
  575. package/src/engine/matchers/eq_set.js +0 -37
  576. package/src/engine/matchers/ew.js +0 -31
  577. package/src/engine/matchers/gte.js +0 -30
  578. package/src/engine/matchers/index.js +0 -71
  579. package/src/engine/matchers/lte.js +0 -30
  580. package/src/engine/matchers/part_of.js +0 -37
  581. package/src/engine/matchers/segment.js +0 -41
  582. package/src/engine/matchers/string.js +0 -39
  583. package/src/engine/matchers/sw.js +0 -31
  584. package/src/engine/matchers/types.js +0 -52
  585. package/src/engine/matchers/whitelist.js +0 -30
  586. package/src/engine/parser/index.js +0 -79
  587. package/src/engine/parser/segments.js +0 -31
  588. package/src/engine/transforms/matcherGroup.js +0 -45
  589. package/src/engine/transforms/matchers.js +0 -118
  590. package/src/engine/transforms/segment.js +0 -23
  591. package/src/engine/transforms/set.js +0 -20
  592. package/src/engine/transforms/unaryNumeric.js +0 -20
  593. package/src/engine/transforms/whitelist.js +0 -22
  594. package/src/engine/treatments/index.js +0 -67
  595. package/src/engine/value/index.js +0 -53
  596. package/src/engine/value/sanitize.js +0 -117
  597. package/src/events/index.js +0 -62
  598. package/src/factory/offline.js +0 -60
  599. package/src/factory/online.js +0 -127
  600. package/src/impressions/counter.js +0 -43
  601. package/src/impressions/hasher/buildKey.js +0 -3
  602. package/src/impressions/hasher/hashImpression128.js +0 -6
  603. package/src/impressions/hasher/hashImpression32.js +0 -6
  604. package/src/impressions/observer/browser.js +0 -8
  605. package/src/impressions/observer/node.js +0 -8
  606. package/src/impressions/observer/observer.js +0 -17
  607. package/src/impressions/observer/package.json +0 -4
  608. package/src/integrations/browser.js +0 -57
  609. package/src/integrations/ga/GaToSplit.js +0 -278
  610. package/src/integrations/ga/SplitToGa.js +0 -125
  611. package/src/integrations/node.js +0 -4
  612. package/src/integrations/package.json +0 -4
  613. package/src/listeners/browser.js +0 -137
  614. package/src/listeners/node.js +0 -59
  615. package/src/listeners/package.json +0 -4
  616. package/src/manager/index.js +0 -103
  617. package/src/metrics/Collectors.js +0 -77
  618. package/src/metrics/index.js +0 -174
  619. package/src/producer/browser/Partial.js +0 -104
  620. package/src/producer/browser.js +0 -82
  621. package/src/producer/fetcher/MySegments.js +0 -40
  622. package/src/producer/fetcher/SegmentChanges.js +0 -52
  623. package/src/producer/fetcher/SplitChanges.js +0 -39
  624. package/src/producer/node.js +0 -142
  625. package/src/producer/offline/browser.js +0 -28
  626. package/src/producer/offline/node.js +0 -28
  627. package/src/producer/offline/package.json +0 -4
  628. package/src/producer/package.json +0 -4
  629. package/src/producer/task.js +0 -57
  630. package/src/producer/updater/MySegments.js +0 -104
  631. package/src/producer/updater/SegmentChanges.js +0 -126
  632. package/src/producer/updater/SplitChanges.js +0 -138
  633. package/src/producer/updater/SplitChangesFromFeatures.js +0 -23
  634. package/src/producer/updater/SplitChangesFromFileSystem.js +0 -23
  635. package/src/producer/updater/SplitChangesFromObject.js +0 -81
  636. package/src/readiness/index.js +0 -125
  637. package/src/readiness/statusManager.js +0 -121
  638. package/src/services/auth/auth.js +0 -21
  639. package/src/services/auth/index.js +0 -3
  640. package/src/services/events/bulk.js +0 -23
  641. package/src/services/events/index.js +0 -18
  642. package/src/services/getEventSource/browser.js +0 -3
  643. package/src/services/getEventSource/package.json +0 -4
  644. package/src/services/getFetch/package.json +0 -4
  645. package/src/services/impressions/bulk.js +0 -26
  646. package/src/services/impressions/count.js +0 -8
  647. package/src/services/impressions/dto.js +0 -71
  648. package/src/services/impressions/index.js +0 -18
  649. package/src/services/impressions/post.js +0 -23
  650. package/src/services/metrics/counters.js +0 -25
  651. package/src/services/metrics/dto.js +0 -44
  652. package/src/services/metrics/index.js +0 -18
  653. package/src/services/metrics/times.js +0 -25
  654. package/src/services/mySegments/get.js +0 -27
  655. package/src/services/mySegments/index.js +0 -18
  656. package/src/services/request/index.js +0 -43
  657. package/src/services/request/options/browser.js +0 -18
  658. package/src/services/request/options/node.js +0 -30
  659. package/src/services/request/options/package.json +0 -4
  660. package/src/services/segmentChanges/get.js +0 -20
  661. package/src/services/segmentChanges/index.js +0 -18
  662. package/src/services/splitChanges/get.js +0 -20
  663. package/src/services/splitChanges/index.js +0 -18
  664. package/src/services/splitChanges/offline/browser.js +0 -66
  665. package/src/services/splitChanges/offline/node.js +0 -190
  666. package/src/services/splitChanges/offline/package.json +0 -4
  667. package/src/services/splitChanges/offline/parseCondition.js +0 -52
  668. package/src/services/transport/index.js +0 -44
  669. package/src/storage/AttributesCache/InMemory.js +0 -76
  670. package/src/storage/BaseMetricsAsyncCache.js +0 -14
  671. package/src/storage/CountCache/InMemory.js +0 -48
  672. package/src/storage/CountCache/InRedis.js +0 -32
  673. package/src/storage/EventsCache/InMemory.js +0 -99
  674. package/src/storage/EventsCache/InRedis.js +0 -62
  675. package/src/storage/ImpressionsCache/InMemory.js +0 -62
  676. package/src/storage/ImpressionsCache/InRedis.js +0 -65
  677. package/src/storage/Keys.js +0 -122
  678. package/src/storage/KeysLocalStorage.js +0 -52
  679. package/src/storage/LatencyCache/InMemory.js +0 -56
  680. package/src/storage/LatencyCache/InRedis.js +0 -35
  681. package/src/storage/LatencyCache/findIndex.js +0 -7
  682. package/src/storage/Meta.js +0 -7
  683. package/src/storage/RedisAdapter.js +0 -170
  684. package/src/storage/SegmentCache/InLocalStorage/index.js +0 -140
  685. package/src/storage/SegmentCache/InMemory/browser.js +0 -99
  686. package/src/storage/SegmentCache/InMemory/node.js +0 -84
  687. package/src/storage/SegmentCache/InMemory/package.json +0 -4
  688. package/src/storage/SegmentCache/InRedis/index.js +0 -71
  689. package/src/storage/SplitCache/InLocalStorage.js +0 -324
  690. package/src/storage/SplitCache/InMemory.js +0 -145
  691. package/src/storage/SplitCache/InRedis.js +0 -187
  692. package/src/storage/SplitCache/killLocally.js +0 -33
  693. package/src/storage/browser.js +0 -110
  694. package/src/storage/node.js +0 -83
  695. package/src/storage/package.json +0 -4
  696. package/src/sync/AuthClient/index.js +0 -31
  697. package/src/sync/PushManager/index.js +0 -328
  698. package/src/sync/PushManager/mySegmentsV2utils.js +0 -76
  699. package/src/sync/PushManager/pushRequirements/browser.js +0 -20
  700. package/src/sync/PushManager/pushRequirements/node.js +0 -16
  701. package/src/sync/PushManager/pushRequirements/package.json +0 -4
  702. package/src/sync/SSEClient/index.js +0 -92
  703. package/src/sync/SSEHandler/NotificationKeeper.js +0 -90
  704. package/src/sync/SSEHandler/NotificationParser.js +0 -35
  705. package/src/sync/SSEHandler/index.js +0 -110
  706. package/src/sync/SegmentUpdateWorker/browser.js +0 -67
  707. package/src/sync/SegmentUpdateWorker/node.js +0 -73
  708. package/src/sync/SegmentUpdateWorker/package.json +0 -4
  709. package/src/sync/SplitUpdateWorker/index.js +0 -79
  710. package/src/sync/browser.js +0 -130
  711. package/src/sync/constants.js +0 -43
  712. package/src/sync/node.js +0 -66
  713. package/src/sync/package.json +0 -4
  714. package/src/trackers/event.js +0 -47
  715. package/src/trackers/impressions.js +0 -123
  716. package/src/utils/backoff/index.js +0 -46
  717. package/src/utils/base64/browser.js +0 -19
  718. package/src/utils/base64/node.js +0 -19
  719. package/src/utils/base64/package.json +0 -4
  720. package/src/utils/binarySearch/index.js +0 -50
  721. package/src/utils/constants/index.js +0 -41
  722. package/src/utils/context/constants.js +0 -18
  723. package/src/utils/context/index.js +0 -84
  724. package/src/utils/decompress/index.js +0 -428
  725. package/src/utils/fn/repeat.js +0 -48
  726. package/src/utils/inputValidation/apiKey.js +0 -42
  727. package/src/utils/inputValidation/attribute.js +0 -22
  728. package/src/utils/inputValidation/attributes.js +0 -26
  729. package/src/utils/inputValidation/event.js +0 -23
  730. package/src/utils/inputValidation/eventProperties.js +0 -65
  731. package/src/utils/inputValidation/eventValue.js +0 -11
  732. package/src/utils/inputValidation/index.js +0 -11
  733. package/src/utils/inputValidation/isOperational.js +0 -16
  734. package/src/utils/inputValidation/key.js +0 -53
  735. package/src/utils/inputValidation/split.js +0 -42
  736. package/src/utils/inputValidation/splitFilters.js +0 -108
  737. package/src/utils/inputValidation/splits.js +0 -21
  738. package/src/utils/inputValidation/trafficType.js +0 -58
  739. package/src/utils/jwt/hashUserKey.js +0 -11
  740. package/src/utils/jwt/index.js +0 -15
  741. package/src/utils/key/factory.js +0 -34
  742. package/src/utils/key/parser.js +0 -34
  743. package/src/utils/labels/index.js +0 -7
  744. package/src/utils/lang/Errors.js +0 -19
  745. package/src/utils/lang/Sets.js +0 -94
  746. package/src/utils/lang/index.js +0 -291
  747. package/src/utils/localstorage/isAvailable.js +0 -26
  748. package/src/utils/logger/LoggerFactory.js +0 -90
  749. package/src/utils/logger/index.js +0 -93
  750. package/src/utils/lrucache/linkedlist.js +0 -116
  751. package/src/utils/lrucache/lru.spec.js +0 -26
  752. package/src/utils/lrucache/lrucache.js +0 -49
  753. package/src/utils/now/browser.js +0 -29
  754. package/src/utils/now/node.js +0 -21
  755. package/src/utils/now/package.json +0 -4
  756. package/src/utils/promise/thenable.js +0 -1
  757. package/src/utils/promise/timeout.js +0 -38
  758. package/src/utils/promise/wrapper.js +0 -60
  759. package/src/utils/settings/defaults/browser.js +0 -12
  760. package/src/utils/settings/defaults/node.js +0 -21
  761. package/src/utils/settings/defaults/package.json +0 -4
  762. package/src/utils/settings/impressionsMode.js +0 -15
  763. package/src/utils/settings/index.js +0 -217
  764. package/src/utils/settings/integrations/browser.js +0 -8
  765. package/src/utils/settings/integrations/common.js +0 -32
  766. package/src/utils/settings/integrations/node.js +0 -7
  767. package/src/utils/settings/integrations/package.json +0 -4
  768. package/src/utils/settings/language/browser.js +0 -17
  769. package/src/utils/settings/language/node.js +0 -17
  770. package/src/utils/settings/language/package.json +0 -4
  771. package/src/utils/settings/mode.js +0 -12
  772. package/src/utils/settings/runtime/browser.js +0 -22
  773. package/src/utils/settings/runtime/node.js +0 -34
  774. package/src/utils/settings/runtime/package.json +0 -4
  775. package/src/utils/settings/storage/browser.js +0 -70
  776. package/src/utils/settings/storage/package.json +0 -4
  777. package/src/utils/splits/usesSegments.js +0 -17
  778. package/src/utils/time/index.js +0 -8
  779. package/src/utils/timeTracker/index.js +0 -223
  780. package/src/utils/timeTracker/timer.js +0 -27
@@ -1,32 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports.validateAttribute = validateAttribute;
7
-
8
- var _lang = require("../lang");
9
-
10
- var _logger = _interopRequireDefault(require("../logger"));
11
-
12
- var log = (0, _logger.default)('');
13
-
14
- function validateAttribute(attributeKey, attributeValue, method) {
15
- if (!(0, _lang.isString)(attributeKey) || attributeKey.length === 0) {
16
- log.warn(method + ": you passed an invalid attribute name, attribute name must be a non-empty string.");
17
- return false;
18
- }
19
-
20
- var isStringVal = (0, _lang.isString)(attributeValue);
21
- var isFiniteVal = (0, _lang.numberIsFinite)(attributeValue);
22
- var isBoolVal = (0, _lang.isBoolean)(attributeValue);
23
- var isArrayVal = Array.isArray(attributeValue);
24
-
25
- if (!(isStringVal || isFiniteVal || isBoolVal || isArrayVal)) {
26
- // If it's not of valid type.
27
- log.warn(method + ": you passed an invalid attribute value for " + attributeKey + ". Acceptable types are: string, number, boolean and array of strings.");
28
- return false;
29
- }
30
-
31
- return true;
32
- }
@@ -1,32 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports.validateAttributes = validateAttributes;
7
- exports.validateAttributesDeep = validateAttributesDeep;
8
-
9
- var _lang = require("../lang");
10
-
11
- var _logger = _interopRequireDefault(require("../logger"));
12
-
13
- var _attribute = require("./attribute");
14
-
15
- var log = (0, _logger.default)('');
16
-
17
- function validateAttributes(maybeAttrs, method) {
18
- // Attributes are optional
19
- if ((0, _lang.isObject)(maybeAttrs) || maybeAttrs == undefined) // eslint-disable-line eqeqeq
20
- return maybeAttrs;
21
- log.error(method + ": attributes must be a plain object.");
22
- return false;
23
- }
24
-
25
- function validateAttributesDeep(maybeAttributes, method) {
26
- if (!validateAttributes(maybeAttributes, method)) return false;
27
- var result = true;
28
- Object.keys(maybeAttributes).forEach(function (attributeKey) {
29
- if (!(0, _attribute.validateAttribute)(attributeKey, maybeAttributes[attributeKey], method)) result = false;
30
- });
31
- return result;
32
- }
@@ -1,33 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports.validateEvent = validateEvent;
7
-
8
- var _lang = require("../lang");
9
-
10
- var _logger = _interopRequireDefault(require("../logger"));
11
-
12
- var log = (0, _logger.default)('');
13
- var EVENT_TYPE_REGEX = /^[a-zA-Z0-9][-_.:a-zA-Z0-9]{0,79}$/;
14
-
15
- function validateEvent(maybeEvent, method) {
16
- if (maybeEvent == undefined) {
17
- // eslint-disable-line eqeqeq
18
- log.error(method + ": you passed a null or undefined event_type, event_type must be a non-empty string.");
19
- } else if (!(0, _lang.isString)(maybeEvent)) {
20
- log.error(method + ": you passed an invalid event_type, event_type must be a non-empty string.");
21
- } else {
22
- // It is a string.
23
- if (maybeEvent.length === 0) {
24
- log.error(method + ": you passed an empty event_type, event_type must be a non-empty string.");
25
- } else if (!EVENT_TYPE_REGEX.test(maybeEvent)) {
26
- log.error(method + ": you passed \"" + maybeEvent + "\", event_type must adhere to the regular expression /^[a-zA-Z0-9][-_.:a-zA-Z0-9]{0,79}$/g. This means an event_type must be alphanumeric, cannot be more than 80 characters long, and can only include a dash, underscore, period, or colon as separators of alphanumeric characters.");
27
- } else {
28
- return maybeEvent;
29
- }
30
- }
31
-
32
- return false;
33
- }
@@ -1,78 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports.validateEventProperties = validateEventProperties;
7
-
8
- var _lang = require("../lang");
9
-
10
- var _logger = _interopRequireDefault(require("../logger"));
11
-
12
- var log = (0, _logger.default)('');
13
- var ECMA_SIZES = {
14
- NULL: 0,
15
- // While on the JSON it's going to occupy more space, we'll take it as 0 for the approximation.
16
- STRING: 2,
17
- BOOLEAN: 4,
18
- NUMBER: 8
19
- };
20
- var MAX_PROPERTIES_AMOUNT = 300;
21
- var MAX_PROPERTIES_SIZE = 1024 * 32;
22
- var BASE_EVENT_SIZE = 1024; // We assume 1kb events without properties (avg measured)
23
-
24
- function validateEventProperties(maybeProperties, method) {
25
- if (maybeProperties == undefined) return {
26
- properties: null,
27
- size: BASE_EVENT_SIZE
28
- }; // eslint-disable-line eqeqeq
29
-
30
- if (!(0, _lang.isObject)(maybeProperties)) {
31
- log.error(method + ": properties must be a plain object.");
32
- return {
33
- properties: false,
34
- size: BASE_EVENT_SIZE
35
- };
36
- }
37
-
38
- var keys = Object.keys(maybeProperties);
39
- var clone = (0, _lang.shallowClone)(maybeProperties); // To avoid calculating the size twice we'll return it from here.
40
-
41
- var output = {
42
- properties: clone,
43
- size: BASE_EVENT_SIZE // We assume 1kb events without properties (avg measured)
44
-
45
- };
46
-
47
- if (keys.length > MAX_PROPERTIES_AMOUNT) {
48
- log.warn(method + ": Event has more than 300 properties. Some of them will be trimmed when processed.");
49
- }
50
-
51
- for (var i = 0; i < keys.length; i++) {
52
- output.size += keys[i].length * ECMA_SIZES.STRING; // Count the size of the key which is always a string.
53
-
54
- var val = clone[keys[i]];
55
- var isStringVal = (0, _lang.isString)(val);
56
- var isFiniteVal = (0, _lang.numberIsFinite)(val);
57
- var isBoolVal = (0, _lang.isBoolean)(val);
58
- var isNullVal = val === null;
59
-
60
- if (!(isStringVal || isFiniteVal || isBoolVal || isNullVal)) {
61
- // If it's not of valid type.
62
- clone[keys[i]] = null;
63
- val = null;
64
- isNullVal = true;
65
- log.warn(method + ": Property " + keys[i] + " is of invalid type. Setting value to null.");
66
- }
67
-
68
- if (isNullVal) output.size += ECMA_SIZES.NULL;else if (isFiniteVal) output.size += ECMA_SIZES.NUMBER;else if (isBoolVal) output.size += ECMA_SIZES.BOOLEAN;else if (isStringVal) output.size += val.length * ECMA_SIZES.STRING;
69
-
70
- if (output.size > MAX_PROPERTIES_SIZE) {
71
- log.error(method + ": The maximum size allowed for the properties is 32768 bytes, which was exceeded. Event not queued.");
72
- output.properties = false;
73
- break;
74
- }
75
- }
76
-
77
- return output;
78
- }
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports.validateEventValue = validateEventValue;
7
-
8
- var _lang = require("../lang");
9
-
10
- var _logger = _interopRequireDefault(require("../logger"));
11
-
12
- var log = (0, _logger.default)('');
13
-
14
- function validateEventValue(maybeValue, method) {
15
- if ((0, _lang.numberIsFinite)(maybeValue) || maybeValue == undefined) // eslint-disable-line eqeqeq
16
- return maybeValue;
17
- log.error(method + ": value must be a finite number.");
18
- return false;
19
- }
@@ -1,48 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.validateIfReady = exports.validateIfDestroyed = exports.validateTrafficTypeExistance = exports.validateTrafficType = exports.validateSplits = exports.validateSplitExistance = exports.validateSplit = exports.validateKey = exports.validateEventProperties = exports.validateEventValue = exports.validateEvent = exports.validateAttributes = exports.releaseApiKey = exports.validateApiKey = void 0;
5
-
6
- var _apiKey = require("./apiKey");
7
-
8
- exports.validateApiKey = _apiKey.validateApiKey;
9
- exports.releaseApiKey = _apiKey.releaseApiKey;
10
-
11
- var _attributes = require("./attributes");
12
-
13
- exports.validateAttributes = _attributes.validateAttributes;
14
-
15
- var _event = require("./event");
16
-
17
- exports.validateEvent = _event.validateEvent;
18
-
19
- var _eventValue = require("./eventValue");
20
-
21
- exports.validateEventValue = _eventValue.validateEventValue;
22
-
23
- var _eventProperties = require("./eventProperties");
24
-
25
- exports.validateEventProperties = _eventProperties.validateEventProperties;
26
-
27
- var _key = require("./key");
28
-
29
- exports.validateKey = _key.validateKey;
30
-
31
- var _split = require("./split");
32
-
33
- exports.validateSplit = _split.validateSplit;
34
- exports.validateSplitExistance = _split.validateSplitExistance;
35
-
36
- var _splits = require("./splits");
37
-
38
- exports.validateSplits = _splits.validateSplits;
39
-
40
- var _trafficType = require("./trafficType");
41
-
42
- exports.validateTrafficType = _trafficType.validateTrafficType;
43
- exports.validateTrafficTypeExistance = _trafficType.validateTrafficTypeExistance;
44
-
45
- var _isOperational = require("./isOperational");
46
-
47
- exports.validateIfDestroyed = _isOperational.validateIfDestroyed;
48
- exports.validateIfReady = _isOperational.validateIfReady;
@@ -1,25 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports.validateIfDestroyed = validateIfDestroyed;
7
- exports.validateIfReady = validateIfReady;
8
-
9
- var _logger = _interopRequireDefault(require("../logger"));
10
-
11
- var log = (0, _logger.default)('', {
12
- displayAllErrors: true
13
- });
14
-
15
- function validateIfDestroyed(context) {
16
- if (!context.get(context.constants.DESTROYED, true)) return true;
17
- log.error('Client has already been destroyed - no calls possible.');
18
- return false;
19
- }
20
-
21
- function validateIfReady(context, method) {
22
- if (context.get(context.constants.READY, true) || context.get(context.constants.READY_FROM_CACHE, true)) return true;
23
- log.warn(method + ": the SDK is not ready, results may be incorrect. Make sure to wait for SDK readiness before using this method.");
24
- return false;
25
- }
@@ -1,59 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports.validateKey = validateKey;
7
-
8
- var _lang = require("../lang");
9
-
10
- var _logger = _interopRequireDefault(require("../logger"));
11
-
12
- var log = (0, _logger.default)('');
13
- var KEY_MAX_LENGTH = 250;
14
-
15
- function validateKeyValue(maybeKey, method, type) {
16
- if (maybeKey == undefined) {
17
- // eslint-disable-line eqeqeq
18
- log.error(method + ": you passed a null or undefined " + type + ", " + type + " must be a non-empty string.");
19
- return false;
20
- }
21
-
22
- if ((0, _lang.numberIsFinite)(maybeKey)) {
23
- log.warn(method + ": " + type + " \"" + maybeKey + "\" is not of type string, converting.");
24
- return (0, _lang.toString)(maybeKey);
25
- }
26
-
27
- if ((0, _lang.isString)(maybeKey)) {
28
- // It's a string, start by trimming the value.
29
- maybeKey = maybeKey.trim(); // It's aaaaaall good.
30
-
31
- if (maybeKey.length > 0 && maybeKey.length <= KEY_MAX_LENGTH) return maybeKey;
32
-
33
- if (maybeKey.length === 0) {
34
- log.error(method + ": you passed an empty string, " + type + " must be a non-empty string.");
35
- } else if (maybeKey.length > KEY_MAX_LENGTH) {
36
- log.error(method + ": " + type + " too long, " + type + " must be 250 characters or less.");
37
- }
38
- } else {
39
- log.error(method + ": you passed an invalid " + type + " type, " + type + " must be a non-empty string.");
40
- }
41
-
42
- return false;
43
- }
44
-
45
- function validateKey(maybeKey, method) {
46
- if ((0, _lang.isObject)(maybeKey)) {
47
- // Validate key object
48
- var matchingKey = validateKeyValue(maybeKey.matchingKey, method, 'matchingKey');
49
- var bucketingKey = validateKeyValue(maybeKey.bucketingKey, method, 'bucketingKey');
50
- if (matchingKey && bucketingKey) return {
51
- matchingKey: matchingKey,
52
- bucketingKey: bucketingKey
53
- };
54
- log.error(method + ": Key must be an object with bucketingKey and matchingKey with valid string properties.");
55
- return false;
56
- } else {
57
- return validateKeyValue(maybeKey, method, 'key');
58
- }
59
- }
@@ -1,60 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports.validateSplit = validateSplit;
7
- exports.validateSplitExistance = validateSplitExistance;
8
-
9
- var _lang = require("../lang");
10
-
11
- var _labels = require("../labels");
12
-
13
- var _logger = _interopRequireDefault(require("../logger"));
14
-
15
- var log = (0, _logger.default)(''); // include BOM and nbsp
16
-
17
- var TRIMMABLE_SPACES_REGEX = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/;
18
-
19
- function validateSplit(maybeSplit, method, item) {
20
- if (item === void 0) {
21
- item = 'split name';
22
- }
23
-
24
- if (maybeSplit == undefined) {
25
- // eslint-disable-line eqeqeq
26
- log.error(method + ": you passed a null or undefined " + item + ", " + item + " must be a non-empty string.");
27
- } else if (!(0, _lang.isString)(maybeSplit)) {
28
- log.error(method + ": you passed an invalid " + item + ", " + item + " must be a non-empty string.");
29
- } else {
30
- if (TRIMMABLE_SPACES_REGEX.test(maybeSplit)) {
31
- log.warn(method + ": " + item + " \"" + maybeSplit + "\" has extra whitespace, trimming.");
32
- maybeSplit = maybeSplit.trim();
33
- }
34
-
35
- if (maybeSplit.length > 0) {
36
- return maybeSplit;
37
- } else {
38
- log.error(method + ": you passed an empty " + item + ", " + item + " must be a non-empty string.");
39
- }
40
- }
41
-
42
- return false;
43
- }
44
- /**
45
- * This is defined here and in this format mostly because of the logger and the fact that it's considered a validation at product level.
46
- * But it's not going to run on the input validation layer. In any case, the most compeling reason to use it as we do is to avoid going to Redis and get a split twice.
47
- */
48
-
49
-
50
- function validateSplitExistance(context, splitName, labelOrSplitObj, method) {
51
- if (context.get(context.constants.READY, true)) {
52
- // Only if it's ready we validate this, otherwise it may just be that the SDK is not ready yet.
53
- if (labelOrSplitObj === _labels.SPLIT_NOT_FOUND || labelOrSplitObj == null) {
54
- log.warn(method + ": you passed \"" + splitName + "\" that does not exist in this environment, please double check what Splits exist in the web console.");
55
- return false;
56
- }
57
- }
58
-
59
- return true;
60
- }
@@ -1,134 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports.default = validateSplitFilters;
7
-
8
- var _constants = require("../constants");
9
-
10
- var _splits = require("./splits");
11
-
12
- var _logger = _interopRequireDefault(require("../logger"));
13
-
14
- var log = (0, _logger.default)('splitio-settings');
15
-
16
- function validateFilterType(filterType) {
17
- return _constants.FILTERS_METADATA.some(function (filterMetadata) {
18
- return filterMetadata.type === filterType;
19
- });
20
- }
21
- /**
22
- * Validate, deduplicate and sort a given list of filter values.
23
- *
24
- * @param {string} type filter type string used for log messages
25
- * @param {string[]} values list of values to validate, deduplicate and sort
26
- * @param {number} maxLength
27
- * @returns list of valid, unique and alphabetically sorted non-empty strings. The list is empty if `values` param is not a non-empty array or all its values are invalid.
28
- *
29
- * @throws Error if the sanitized list exceeds the length indicated by `maxLength`
30
- */
31
-
32
-
33
- function validateSplitFilter(type, values, maxLength) {
34
- // validate and remove invalid and duplicated values
35
- var result = (0, _splits.validateSplits)(values, 'settings', type + " filter", type + " filter value");
36
-
37
- if (result) {
38
- // check max length
39
- if (result.length > maxLength) throw new Error(maxLength + " unique values can be specified at most for '" + type + "' filter. You passed " + result.length + ". Please consider reducing the amount or using other filter."); // sort values
40
-
41
- result.sort();
42
- }
43
-
44
- return result || []; // returns empty array if `result` is `false`
45
- }
46
- /**
47
- * Returns a string representing the URL encoded query component of /splitChanges URL.
48
- *
49
- * The possible formats of the query string are:
50
- * - null: if all filters are empty
51
- * - '&names=<comma-separated-values>': if only `byPrefix` filter is undefined
52
- * - '&prefixes=<comma-separated-values>': if only `byName` filter is undefined
53
- * - '&names=<comma-separated-values>&prefixes=<comma-separated-values>': if no one is undefined
54
- *
55
- * @param {Object} groupedFilters object of filters. Each filter must be a list of valid, unique and ordered string values.
56
- * @returns null or string with the `split filter query` component of the URL.
57
- */
58
-
59
-
60
- function queryStringBuilder(groupedFilters) {
61
- var queryParams = [];
62
-
63
- _constants.FILTERS_METADATA.forEach(function (_ref) {
64
- var type = _ref.type,
65
- queryParam = _ref.queryParam;
66
- var filter = groupedFilters[type];
67
- if (filter.length > 0) queryParams.push(queryParam + filter.map(function (value) {
68
- return encodeURIComponent(value);
69
- }).join(','));
70
- });
71
-
72
- return queryParams.length > 0 ? '&' + queryParams.join('&') : null;
73
- }
74
- /**
75
- * Validates `splitFilters` configuration object and parses it into a query string for filtering splits on `/splitChanges` fetch.
76
- *
77
- * @param {Object|undefined} splitFilters split filters configuration param
78
- * @param {string} mode settings mode
79
- * @returns it returns an object with the following properties:
80
- * - `validFilters`: the validated `splitFilters` configuration object defined by the user.
81
- * - `queryString`: the parsed split filter query. it is null if all filters are invalid or all values in filters are invalid.
82
- * - `groupedFilters`: list of values grouped by filter type.
83
- *
84
- * @throws Error if the some of the grouped list of values per filter exceeds the max allowed length
85
- */
86
-
87
-
88
- function validateSplitFilters(splitFilters, mode) {
89
- // Validation result schema
90
- var res = {
91
- validFilters: [],
92
- queryString: null,
93
- groupedFilters: {
94
- byName: [],
95
- byPrefix: []
96
- }
97
- }; // do nothing if `splitFilters` param is not a non-empty array or mode is not STANDALONE
98
-
99
- if (!splitFilters) return res; // Warn depending on the mode
100
-
101
- if (mode !== _constants.STANDALONE_MODE) {
102
- log.warn("split filters have been configured but will have no effect if mode is not '" + _constants.STANDALONE_MODE + "', since synchronization is being deferred to an external tool.");
103
- return res;
104
- } // Check collection type
105
-
106
-
107
- if (!Array.isArray(splitFilters) || splitFilters.length === 0) {
108
- log.warn('splitFilters configuration must be a non-empty array of filter objects.');
109
- return res;
110
- } // Validate filters and group their values by filter type inside `groupedFilters` object
111
-
112
-
113
- res.validFilters = splitFilters.filter(function (filter, index) {
114
- if (filter && validateFilterType(filter.type) && Array.isArray(filter.values)) {
115
- res.groupedFilters[filter.type] = res.groupedFilters[filter.type].concat(filter.values);
116
- return true;
117
- } else {
118
- log.warn("split filter at position '" + index + "' is invalid. It must be an object with a valid filter type ('byName' or 'byPrefix') and a list of 'values'.");
119
- }
120
-
121
- return false;
122
- }); // By filter type, remove invalid and duplicated values and order them
123
-
124
- _constants.FILTERS_METADATA.forEach(function (_ref2) {
125
- var type = _ref2.type,
126
- maxLength = _ref2.maxLength;
127
- if (res.groupedFilters[type].length > 0) res.groupedFilters[type] = validateSplitFilter(type, res.groupedFilters[type], maxLength);
128
- }); // build query string
129
-
130
-
131
- res.queryString = queryStringBuilder(res.groupedFilters);
132
- log.debug("splits filtering criteria is '" + res.queryString + "'.");
133
- return res;
134
- }
@@ -1,38 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports.validateSplits = validateSplits;
7
-
8
- var _lang = require("../lang");
9
-
10
- var _logger = _interopRequireDefault(require("../logger"));
11
-
12
- var _split = require("./split");
13
-
14
- var log = (0, _logger.default)('');
15
-
16
- function validateSplits(maybeSplits, method, listName, item) {
17
- if (listName === void 0) {
18
- listName = 'split_names';
19
- }
20
-
21
- if (item === void 0) {
22
- item = 'split name';
23
- }
24
-
25
- if (Array.isArray(maybeSplits) && maybeSplits.length > 0) {
26
- var validatedArray = []; // Remove invalid values
27
-
28
- maybeSplits.forEach(function (maybeSplit) {
29
- var splitName = (0, _split.validateSplit)(maybeSplit, method, item);
30
- if (splitName) validatedArray.push(splitName);
31
- }); // Strip off duplicated values if we have valid split names then return
32
-
33
- if (validatedArray.length) return (0, _lang.uniq)(validatedArray);
34
- }
35
-
36
- log.error(method + ": " + listName + " must be a non-empty array.");
37
- return false;
38
- }
@@ -1,68 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports.validateTrafficType = validateTrafficType;
7
- exports.validateTrafficTypeExistance = validateTrafficTypeExistance;
8
-
9
- var _lang = require("../lang");
10
-
11
- var _thenable = _interopRequireDefault(require("../promise/thenable"));
12
-
13
- var _constants = require("../constants");
14
-
15
- var _logger = _interopRequireDefault(require("../logger"));
16
-
17
- var log = (0, _logger.default)('');
18
- var CAPITAL_LETTERS_REGEX = /[A-Z]/;
19
-
20
- function validateTrafficType(maybeTT, method) {
21
- if (maybeTT == undefined) {
22
- // eslint-disable-line eqeqeq
23
- log.error(method + ": you passed a null or undefined traffic_type_name, traffic_type_name must be a non-empty string.");
24
- } else if (!(0, _lang.isString)(maybeTT)) {
25
- log.error(method + ": you passed an invalid traffic_type_name, traffic_type_name must be a non-empty string.");
26
- } else {
27
- if (maybeTT.length === 0) {
28
- log.error(method + ": you passed an empty traffic_type_name, traffic_type_name must be a non-empty string.");
29
- } else {
30
- if (CAPITAL_LETTERS_REGEX.test(maybeTT)) {
31
- log.warn(method + ": traffic_type_name should be all lowercase - converting string to lowercase.");
32
- maybeTT = maybeTT.toLowerCase();
33
- }
34
-
35
- return maybeTT;
36
- }
37
- }
38
-
39
- return false;
40
- }
41
-
42
- function logTTExistanceWarning(method, ttName) {
43
- log.warn(method + ": Traffic Type " + ttName + " does not have any corresponding Splits in this environment, make sure you're tracking your events to a valid traffic type defined in the Split console.");
44
- }
45
- /**
46
- * Separated from the previous method since on some cases it'll be async.
47
- */
48
-
49
-
50
- function validateTrafficTypeExistance(maybeTT, context, method) {
51
- var isReady = context.get(context.constants.READY, true);
52
- var settings = context.get(context.constants.SETTINGS);
53
- var splitsStorage = context.get(context.constants.STORAGE).splits; // If not ready or in localhost mode, we won't run the validation
54
-
55
- if (!isReady || settings.mode === _constants.LOCALHOST_MODE) return true;
56
- var res = splitsStorage.trafficTypeExists(maybeTT);
57
-
58
- if ((0, _thenable.default)(res)) {
59
- res.then(function (isValid) {
60
- if (!isValid) logTTExistanceWarning(method, maybeTT);
61
- return isValid; // propagate result
62
- });
63
- } else {
64
- if (!res) logTTExistanceWarning(method, maybeTT);
65
- }
66
-
67
- return res;
68
- }
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports.hashUserKey = hashUserKey;
7
-
8
- var _base = require("../base64");
9
-
10
- var _murmur = _interopRequireDefault(require("../../engine/engine/murmur3/murmur3"));
11
-
12
- /**
13
- * Returns the hash of a given user key
14
- *
15
- * @throws {ReferenceError} if `btoa` function is not defined (for browser)
16
- */
17
- function hashUserKey(userKey) {
18
- return (0, _base.encodeToBase64)(_murmur.default.hash(userKey, 0).toString());
19
- }
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- exports.__esModule = true;
4
- exports.decodeJWTtoken = decodeJWTtoken;
5
-
6
- var _base = require("../base64");
7
-
8
- /**
9
- * Decode a JWT token
10
- */
11
- function decodeJWTtoken(token) {
12
- var base64Url = token.split('.')[1];
13
- var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/'); // no need to check availability of `encodeURIComponent`, since it is a function highly supported in browsers, node and other platforms.
14
-
15
- var jsonPayload = decodeURIComponent((0, _base.decodeFromBase64)(base64).split('').map(function (c) {
16
- return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);
17
- }).join(''));
18
- return JSON.parse(jsonPayload);
19
- }