@splitsoftware/splitio 10.17.3 → 10.17.4-rc.2

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 (776) hide show
  1. package/CHANGES.txt +12 -0
  2. package/es/factory/browser.js +67 -0
  3. package/es/factory/node.js +63 -0
  4. package/es/{client → factory}/package.json +0 -0
  5. package/es/index.js +16 -132
  6. package/es/platform/EventEmitter.js +386 -0
  7. package/es/platform/browser.js +10 -0
  8. package/es/platform/getEventSource/browser.js +3 -0
  9. package/es/platform/getEventSource/node.js +19 -0
  10. package/es/{impressions/observer → platform/getEventSource}/package.json +0 -0
  11. package/es/platform/getFetch/browser.js +4 -0
  12. package/es/platform/getFetch/node.js +18 -0
  13. package/es/{integrations → platform/getFetch}/package.json +0 -0
  14. package/es/platform/node.js +12 -0
  15. package/es/{listeners → platform}/package.json +0 -0
  16. package/es/platform/request/options/node.js +13 -0
  17. package/es/settings/browser.js +21 -0
  18. package/es/settings/defaults/browser.js +18 -0
  19. package/es/settings/defaults/node.js +24 -0
  20. package/es/settings/defaults/version.js +1 -0
  21. package/es/settings/integrations/browser.js +5 -0
  22. package/es/settings/node.js +18 -0
  23. package/es/{producer/offline → settings}/package.json +0 -0
  24. package/es/settings/runtime/node.js +17 -0
  25. package/es/settings/storage/browser.js +29 -0
  26. package/es/settings/storage/node.js +63 -0
  27. package/es/umd.js +2 -1
  28. package/lib/factory/browser.js +71 -0
  29. package/lib/factory/node.js +67 -0
  30. package/{es/producer → lib/factory}/package.json +0 -0
  31. package/lib/index.js +19 -155
  32. package/lib/platform/EventEmitter.js +390 -0
  33. package/lib/platform/browser.js +13 -0
  34. package/lib/platform/getEventSource/browser.js +7 -0
  35. package/lib/platform/getEventSource/node.js +25 -0
  36. package/{es/services → lib/platform}/getEventSource/package.json +0 -0
  37. package/lib/platform/getFetch/browser.js +9 -0
  38. package/lib/platform/getFetch/node.js +23 -0
  39. package/{es/services → lib/platform}/getFetch/package.json +0 -0
  40. package/lib/platform/node.js +16 -0
  41. package/{es/services/request/options → lib/platform}/package.json +0 -0
  42. package/lib/platform/request/options/node.js +18 -0
  43. package/lib/settings/browser.js +25 -0
  44. package/lib/settings/defaults/browser.js +21 -0
  45. package/lib/settings/defaults/node.js +27 -0
  46. package/lib/settings/defaults/version.js +4 -0
  47. package/lib/settings/integrations/browser.js +9 -0
  48. package/lib/settings/node.js +22 -0
  49. package/{es/services/splitChanges/offline → lib/settings}/package.json +0 -0
  50. package/lib/settings/runtime/node.js +22 -0
  51. package/lib/settings/storage/browser.js +33 -0
  52. package/lib/settings/storage/node.js +67 -0
  53. package/lib/umd.js +4 -8
  54. package/package.json +26 -30
  55. package/src/.DS_Store +0 -0
  56. package/src/factory/browser.js +84 -0
  57. package/src/factory/node.js +78 -0
  58. package/{es/storage/SegmentCache/InMemory → src/factory}/package.json +0 -0
  59. package/src/index.js +13 -136
  60. package/src/platform/.DS_Store +0 -0
  61. package/src/platform/EventEmitter.js +443 -0
  62. package/src/platform/browser.js +12 -0
  63. package/{es/services → src/platform}/getEventSource/browser.js +2 -2
  64. package/src/{services → platform}/getEventSource/node.js +2 -2
  65. package/{es/storage → src/platform/getEventSource}/package.json +0 -0
  66. package/src/{services → platform}/getFetch/browser.js +2 -2
  67. package/src/{services → platform}/getFetch/node.js +1 -1
  68. package/{es/sync/PushManager/pushRequirements → src/platform/getFetch}/package.json +0 -0
  69. package/src/platform/node.js +14 -0
  70. package/{es/sync/SegmentUpdateWorker → src/platform}/package.json +0 -0
  71. package/src/platform/request/options/node.js +15 -0
  72. package/src/settings/.DS_Store +0 -0
  73. package/src/settings/browser.js +23 -0
  74. package/{lib/utils → src}/settings/defaults/browser.js +10 -6
  75. package/{lib/utils → src}/settings/defaults/node.js +6 -6
  76. package/src/settings/defaults/version.js +1 -0
  77. package/src/settings/integrations/browser.js +6 -0
  78. package/src/settings/node.js +20 -0
  79. package/{es/sync → src/settings}/package.json +0 -0
  80. package/src/settings/runtime/node.js +21 -0
  81. package/src/settings/storage/browser.js +43 -0
  82. package/src/{utils/settings → settings}/storage/node.js +23 -34
  83. package/src/umd.js +1 -0
  84. package/types/splitio.d.ts +145 -10
  85. package/es/client/attributesDecoration.js +0 -116
  86. package/es/client/browser.js +0 -39
  87. package/es/client/client.js +0 -155
  88. package/es/client/inputValidation.js +0 -117
  89. package/es/client/node.js +0 -6
  90. package/es/engine/combiners/and.js +0 -54
  91. package/es/engine/combiners/ifelseif.js +0 -73
  92. package/es/engine/condition/index.js +0 -62
  93. package/es/engine/convertions/index.js +0 -29
  94. package/es/engine/engine/index.js +0 -60
  95. package/es/engine/engine/legacy.js +0 -77
  96. package/es/engine/engine/murmur3/common.js +0 -40
  97. package/es/engine/engine/murmur3/murmur3.js +0 -83
  98. package/es/engine/engine/murmur3/murmur3_128.js +0 -250
  99. package/es/engine/engine/murmur3/murmur3_128_x86.js +0 -183
  100. package/es/engine/engine/murmur3/murmur3_64.js +0 -52
  101. package/es/engine/engine/murmur3/utfx.js +0 -112
  102. package/es/engine/evaluator/index.js +0 -111
  103. package/es/engine/index.js +0 -112
  104. package/es/engine/matchers/all.js +0 -32
  105. package/es/engine/matchers/between.js +0 -35
  106. package/es/engine/matchers/boolean.js +0 -35
  107. package/es/engine/matchers/cont_all.js +0 -51
  108. package/es/engine/matchers/cont_any.js +0 -47
  109. package/es/engine/matchers/cont_str.js +0 -38
  110. package/es/engine/matchers/dependency.js +0 -50
  111. package/es/engine/matchers/eq.js +0 -35
  112. package/es/engine/matchers/eq_set.js +0 -49
  113. package/es/engine/matchers/ew.js +0 -38
  114. package/es/engine/matchers/gte.js +0 -35
  115. package/es/engine/matchers/index.js +0 -65
  116. package/es/engine/matchers/lte.js +0 -35
  117. package/es/engine/matchers/part_of.js +0 -49
  118. package/es/engine/matchers/segment.js +0 -39
  119. package/es/engine/matchers/string.js +0 -44
  120. package/es/engine/matchers/sw.js +0 -38
  121. package/es/engine/matchers/types.js +0 -48
  122. package/es/engine/matchers/whitelist.js +0 -36
  123. package/es/engine/parser/index.js +0 -69
  124. package/es/engine/parser/segments.js +0 -22
  125. package/es/engine/transforms/matcherGroup.js +0 -43
  126. package/es/engine/transforms/matchers.js +0 -109
  127. package/es/engine/transforms/segment.js +0 -28
  128. package/es/engine/transforms/set.js +0 -20
  129. package/es/engine/transforms/unaryNumeric.js +0 -20
  130. package/es/engine/transforms/whitelist.js +0 -22
  131. package/es/engine/treatments/index.js +0 -67
  132. package/es/engine/value/index.js +0 -54
  133. package/es/engine/value/sanitize.js +0 -125
  134. package/es/events/index.js +0 -65
  135. package/es/factory/offline.js +0 -50
  136. package/es/factory/online.js +0 -113
  137. package/es/impressions/counter.js +0 -52
  138. package/es/impressions/hasher/buildKey.js +0 -3
  139. package/es/impressions/hasher/hashImpression128.js +0 -5
  140. package/es/impressions/hasher/hashImpression32.js +0 -5
  141. package/es/impressions/observer/browser.js +0 -9
  142. package/es/impressions/observer/node.js +0 -9
  143. package/es/impressions/observer/observer.js +0 -21
  144. package/es/integrations/browser.js +0 -62
  145. package/es/integrations/ga/GaToSplit.js +0 -246
  146. package/es/integrations/ga/SplitToGa.js +0 -127
  147. package/es/integrations/node.js +0 -3
  148. package/es/listeners/browser.js +0 -157
  149. package/es/listeners/node.js +0 -65
  150. package/es/manager/index.js +0 -104
  151. package/es/metrics/Collectors.js +0 -100
  152. package/es/metrics/index.js +0 -157
  153. package/es/producer/browser/Partial.js +0 -103
  154. package/es/producer/browser.js +0 -70
  155. package/es/producer/fetcher/MySegments.js +0 -47
  156. package/es/producer/fetcher/SegmentChanges.js +0 -52
  157. package/es/producer/fetcher/SplitChanges.js +0 -46
  158. package/es/producer/node.js +0 -130
  159. package/es/producer/offline/browser.js +0 -26
  160. package/es/producer/offline/node.js +0 -26
  161. package/es/producer/task.js +0 -50
  162. package/es/producer/updater/MySegments.js +0 -108
  163. package/es/producer/updater/SegmentChanges.js +0 -135
  164. package/es/producer/updater/SplitChanges.js +0 -131
  165. package/es/producer/updater/SplitChangesFromFeatures.js +0 -21
  166. package/es/producer/updater/SplitChangesFromFileSystem.js +0 -21
  167. package/es/producer/updater/SplitChangesFromObject.js +0 -73
  168. package/es/readiness/index.js +0 -123
  169. package/es/readiness/statusManager.js +0 -114
  170. package/es/services/auth/auth.js +0 -25
  171. package/es/services/auth/index.js +0 -2
  172. package/es/services/events/bulk.js +0 -22
  173. package/es/services/events/index.js +0 -17
  174. package/es/services/getEventSource/node.js +0 -18
  175. package/es/services/getFetch/browser.js +0 -4
  176. package/es/services/getFetch/node.js +0 -18
  177. package/es/services/impressions/bulk.js +0 -26
  178. package/es/services/impressions/count.js +0 -7
  179. package/es/services/impressions/dto.js +0 -73
  180. package/es/services/impressions/index.js +0 -17
  181. package/es/services/impressions/post.js +0 -22
  182. package/es/services/metrics/counters.js +0 -24
  183. package/es/services/metrics/dto.js +0 -38
  184. package/es/services/metrics/index.js +0 -17
  185. package/es/services/metrics/times.js +0 -24
  186. package/es/services/mySegments/get.js +0 -26
  187. package/es/services/mySegments/index.js +0 -17
  188. package/es/services/request/index.js +0 -43
  189. package/es/services/request/options/browser.js +0 -18
  190. package/es/services/request/options/node.js +0 -28
  191. package/es/services/segmentChanges/get.js +0 -21
  192. package/es/services/segmentChanges/index.js +0 -17
  193. package/es/services/splitChanges/get.js +0 -19
  194. package/es/services/splitChanges/index.js +0 -17
  195. package/es/services/splitChanges/offline/browser.js +0 -63
  196. package/es/services/splitChanges/offline/node.js +0 -176
  197. package/es/services/splitChanges/offline/parseCondition.js +0 -43
  198. package/es/services/transport/index.js +0 -51
  199. package/es/storage/AttributesCache/InMemory.js +0 -85
  200. package/es/storage/BaseMetricsAsyncCache.js +0 -23
  201. package/es/storage/CountCache/InMemory.js +0 -48
  202. package/es/storage/CountCache/InRedis.js +0 -42
  203. package/es/storage/EventsCache/InMemory.js +0 -109
  204. package/es/storage/EventsCache/InRedis.js +0 -65
  205. package/es/storage/ImpressionsCache/InMemory.js +0 -71
  206. package/es/storage/ImpressionsCache/InRedis.js +0 -73
  207. package/es/storage/Keys.js +0 -125
  208. package/es/storage/KeysLocalStorage.js +0 -58
  209. package/es/storage/LatencyCache/InMemory.js +0 -56
  210. package/es/storage/LatencyCache/InRedis.js +0 -44
  211. package/es/storage/LatencyCache/findIndex.js +0 -2
  212. package/es/storage/Meta.js +0 -7
  213. package/es/storage/RedisAdapter.js +0 -198
  214. package/es/storage/SegmentCache/InLocalStorage/index.js +0 -162
  215. package/es/storage/SegmentCache/InMemory/browser.js +0 -107
  216. package/es/storage/SegmentCache/InMemory/node.js +0 -82
  217. package/es/storage/SegmentCache/InRedis/index.js +0 -81
  218. package/es/storage/SplitCache/InLocalStorage.js +0 -332
  219. package/es/storage/SplitCache/InMemory.js +0 -162
  220. package/es/storage/SplitCache/InRedis.js +0 -214
  221. package/es/storage/SplitCache/killLocally.js +0 -35
  222. package/es/storage/browser.js +0 -101
  223. package/es/storage/node.js +0 -81
  224. package/es/sync/AuthClient/index.js +0 -34
  225. package/es/sync/PushManager/index.js +0 -315
  226. package/es/sync/PushManager/mySegmentsV2utils.js +0 -76
  227. package/es/sync/PushManager/pushRequirements/browser.js +0 -23
  228. package/es/sync/PushManager/pushRequirements/node.js +0 -18
  229. package/es/sync/SSEClient/index.js +0 -93
  230. package/es/sync/SSEHandler/NotificationKeeper.js +0 -97
  231. package/es/sync/SSEHandler/NotificationParser.js +0 -31
  232. package/es/sync/SSEHandler/index.js +0 -110
  233. package/es/sync/SegmentUpdateWorker/browser.js +0 -74
  234. package/es/sync/SegmentUpdateWorker/node.js +0 -79
  235. package/es/sync/SplitUpdateWorker/index.js +0 -86
  236. package/es/sync/browser.js +0 -125
  237. package/es/sync/constants.js +0 -42
  238. package/es/sync/node.js +0 -60
  239. package/es/trackers/event.js +0 -53
  240. package/es/trackers/impressions.js +0 -132
  241. package/es/utils/backoff/index.js +0 -51
  242. package/es/utils/base64/browser.js +0 -19
  243. package/es/utils/base64/node.js +0 -19
  244. package/es/utils/base64/package.json +0 -4
  245. package/es/utils/binarySearch/index.js +0 -50
  246. package/es/utils/constants/index.js +0 -38
  247. package/es/utils/context/constants.js +0 -30
  248. package/es/utils/context/index.js +0 -101
  249. package/es/utils/decompress/index.js +0 -476
  250. package/es/utils/fn/repeat.js +0 -58
  251. package/es/utils/inputValidation/apiKey.js +0 -39
  252. package/es/utils/inputValidation/attribute.js +0 -22
  253. package/es/utils/inputValidation/attributes.js +0 -19
  254. package/es/utils/inputValidation/event.js +0 -23
  255. package/es/utils/inputValidation/eventProperties.js +0 -69
  256. package/es/utils/inputValidation/eventValue.js +0 -9
  257. package/es/utils/inputValidation/index.js +0 -11
  258. package/es/utils/inputValidation/isOperational.js +0 -14
  259. package/es/utils/inputValidation/key.js +0 -50
  260. package/es/utils/inputValidation/split.js +0 -47
  261. package/es/utils/inputValidation/splitFilters.js +0 -121
  262. package/es/utils/inputValidation/splits.js +0 -27
  263. package/es/utils/inputValidation/trafficType.js +0 -55
  264. package/es/utils/jwt/hashUserKey.js +0 -11
  265. package/es/utils/jwt/index.js +0 -14
  266. package/es/utils/key/factory.js +0 -38
  267. package/es/utils/key/parser.js +0 -34
  268. package/es/utils/labels/index.js +0 -7
  269. package/es/utils/lang/Errors.js +0 -41
  270. package/es/utils/lang/Sets.js +0 -114
  271. package/es/utils/lang/index.js +0 -305
  272. package/es/utils/localstorage/isAvailable.js +0 -26
  273. package/es/utils/logger/LoggerFactory.js +0 -86
  274. package/es/utils/logger/index.js +0 -97
  275. package/es/utils/lrucache/linkedlist.js +0 -122
  276. package/es/utils/lrucache/lru.spec.js +0 -24
  277. package/es/utils/lrucache/lrucache.js +0 -80
  278. package/es/utils/now/browser.js +0 -27
  279. package/es/utils/now/node.js +0 -19
  280. package/es/utils/now/package.json +0 -4
  281. package/es/utils/promise/thenable.js +0 -3
  282. package/es/utils/promise/timeout.js +0 -34
  283. package/es/utils/promise/wrapper.js +0 -58
  284. package/es/utils/settings/defaults/browser.js +0 -12
  285. package/es/utils/settings/defaults/node.js +0 -21
  286. package/es/utils/settings/defaults/package.json +0 -4
  287. package/es/utils/settings/impressionsMode.js +0 -16
  288. package/es/utils/settings/index.js +0 -194
  289. package/es/utils/settings/integrations/browser.js +0 -8
  290. package/es/utils/settings/integrations/common.js +0 -30
  291. package/es/utils/settings/integrations/node.js +0 -7
  292. package/es/utils/settings/integrations/package.json +0 -4
  293. package/es/utils/settings/language/browser.js +0 -16
  294. package/es/utils/settings/language/node.js +0 -16
  295. package/es/utils/settings/language/package.json +0 -4
  296. package/es/utils/settings/mode.js +0 -10
  297. package/es/utils/settings/runtime/browser.js +0 -21
  298. package/es/utils/settings/runtime/node.js +0 -33
  299. package/es/utils/settings/runtime/package.json +0 -4
  300. package/es/utils/settings/storage/browser.js +0 -64
  301. package/es/utils/settings/storage/node.js +0 -86
  302. package/es/utils/settings/storage/package.json +0 -4
  303. package/es/utils/splits/usesSegments.js +0 -21
  304. package/es/utils/time/index.js +0 -8
  305. package/es/utils/timeTracker/index.js +0 -216
  306. package/es/utils/timeTracker/timer.js +0 -25
  307. package/lib/client/attributesDecoration.js +0 -128
  308. package/lib/client/browser.js +0 -50
  309. package/lib/client/client.js +0 -174
  310. package/lib/client/inputValidation.js +0 -129
  311. package/lib/client/node.js +0 -14
  312. package/lib/client/package.json +0 -4
  313. package/lib/engine/combiners/and.js +0 -65
  314. package/lib/engine/combiners/ifelseif.js +0 -88
  315. package/lib/engine/condition/index.js +0 -76
  316. package/lib/engine/convertions/index.js +0 -36
  317. package/lib/engine/engine/index.js +0 -71
  318. package/lib/engine/engine/legacy.js +0 -83
  319. package/lib/engine/engine/murmur3/common.js +0 -52
  320. package/lib/engine/engine/murmur3/murmur3.js +0 -90
  321. package/lib/engine/engine/murmur3/murmur3_128.js +0 -256
  322. package/lib/engine/engine/murmur3/murmur3_128_x86.js +0 -189
  323. package/lib/engine/engine/murmur3/murmur3_64.js +0 -57
  324. package/lib/engine/engine/murmur3/utfx.js +0 -121
  325. package/lib/engine/evaluator/index.js +0 -129
  326. package/lib/engine/index.js +0 -128
  327. package/lib/engine/matchers/all.js +0 -41
  328. package/lib/engine/matchers/between.js +0 -44
  329. package/lib/engine/matchers/boolean.js +0 -44
  330. package/lib/engine/matchers/cont_all.js +0 -61
  331. package/lib/engine/matchers/cont_any.js +0 -57
  332. package/lib/engine/matchers/cont_str.js +0 -48
  333. package/lib/engine/matchers/dependency.js +0 -60
  334. package/lib/engine/matchers/eq.js +0 -44
  335. package/lib/engine/matchers/eq_set.js +0 -59
  336. package/lib/engine/matchers/ew.js +0 -48
  337. package/lib/engine/matchers/gte.js +0 -44
  338. package/lib/engine/matchers/index.js +0 -90
  339. package/lib/engine/matchers/lte.js +0 -44
  340. package/lib/engine/matchers/part_of.js +0 -59
  341. package/lib/engine/matchers/segment.js +0 -49
  342. package/lib/engine/matchers/string.js +0 -53
  343. package/lib/engine/matchers/sw.js +0 -48
  344. package/lib/engine/matchers/types.js +0 -57
  345. package/lib/engine/matchers/whitelist.js +0 -46
  346. package/lib/engine/parser/index.js +0 -84
  347. package/lib/engine/parser/segments.js +0 -28
  348. package/lib/engine/transforms/matcherGroup.js +0 -54
  349. package/lib/engine/transforms/matchers.js +0 -124
  350. package/lib/engine/transforms/segment.js +0 -34
  351. package/lib/engine/transforms/set.js +0 -26
  352. package/lib/engine/transforms/unaryNumeric.js +0 -26
  353. package/lib/engine/transforms/whitelist.js +0 -28
  354. package/lib/engine/treatments/index.js +0 -73
  355. package/lib/engine/value/index.js +0 -64
  356. package/lib/engine/value/sanitize.js +0 -137
  357. package/lib/events/index.js +0 -80
  358. package/lib/factory/offline.js +0 -62
  359. package/lib/factory/online.js +0 -129
  360. package/lib/impressions/counter.js +0 -61
  361. package/lib/impressions/hasher/buildKey.js +0 -8
  362. package/lib/impressions/hasher/hashImpression128.js +0 -12
  363. package/lib/impressions/hasher/hashImpression32.js +0 -14
  364. package/lib/impressions/observer/browser.js +0 -19
  365. package/lib/impressions/observer/node.js +0 -19
  366. package/lib/impressions/observer/observer.js +0 -29
  367. package/lib/impressions/observer/package.json +0 -4
  368. package/lib/integrations/browser.js +0 -72
  369. package/lib/integrations/ga/GaToSplit.js +0 -267
  370. package/lib/integrations/ga/SplitToGa.js +0 -138
  371. package/lib/integrations/node.js +0 -9
  372. package/lib/integrations/package.json +0 -4
  373. package/lib/listeners/browser.js +0 -173
  374. package/lib/listeners/node.js +0 -74
  375. package/lib/listeners/package.json +0 -4
  376. package/lib/manager/index.js +0 -115
  377. package/lib/metrics/Collectors.js +0 -118
  378. package/lib/metrics/index.js +0 -182
  379. package/lib/producer/browser/Partial.js +0 -114
  380. package/lib/producer/browser.js +0 -82
  381. package/lib/producer/fetcher/MySegments.js +0 -59
  382. package/lib/producer/fetcher/SegmentChanges.js +0 -62
  383. package/lib/producer/fetcher/SplitChanges.js +0 -58
  384. package/lib/producer/node.js +0 -142
  385. package/lib/producer/offline/browser.js +0 -35
  386. package/lib/producer/offline/node.js +0 -35
  387. package/lib/producer/offline/package.json +0 -4
  388. package/lib/producer/package.json +0 -4
  389. package/lib/producer/task.js +0 -61
  390. package/lib/producer/updater/MySegments.js +0 -119
  391. package/lib/producer/updater/SegmentChanges.js +0 -148
  392. package/lib/producer/updater/SplitChanges.js +0 -145
  393. package/lib/producer/updater/SplitChangesFromFeatures.js +0 -30
  394. package/lib/producer/updater/SplitChangesFromFileSystem.js +0 -30
  395. package/lib/producer/updater/SplitChangesFromObject.js +0 -84
  396. package/lib/readiness/index.js +0 -132
  397. package/lib/readiness/statusManager.js +0 -124
  398. package/lib/services/auth/auth.js +0 -32
  399. package/lib/services/auth/index.js +0 -11
  400. package/lib/services/events/bulk.js +0 -31
  401. package/lib/services/events/index.js +0 -26
  402. package/lib/services/getEventSource/browser.js +0 -8
  403. package/lib/services/getEventSource/node.js +0 -26
  404. package/lib/services/getEventSource/package.json +0 -4
  405. package/lib/services/getFetch/browser.js +0 -12
  406. package/lib/services/getFetch/node.js +0 -24
  407. package/lib/services/getFetch/package.json +0 -4
  408. package/lib/services/impressions/bulk.js +0 -36
  409. package/lib/services/impressions/count.js +0 -16
  410. package/lib/services/impressions/dto.js +0 -81
  411. package/lib/services/impressions/index.js +0 -26
  412. package/lib/services/impressions/post.js +0 -31
  413. package/lib/services/metrics/counters.js +0 -33
  414. package/lib/services/metrics/dto.js +0 -46
  415. package/lib/services/metrics/index.js +0 -26
  416. package/lib/services/metrics/times.js +0 -33
  417. package/lib/services/mySegments/get.js +0 -35
  418. package/lib/services/mySegments/index.js +0 -26
  419. package/lib/services/request/index.js +0 -53
  420. package/lib/services/request/options/browser.js +0 -23
  421. package/lib/services/request/options/node.js +0 -37
  422. package/lib/services/request/options/package.json +0 -4
  423. package/lib/services/segmentChanges/get.js +0 -29
  424. package/lib/services/segmentChanges/index.js +0 -26
  425. package/lib/services/splitChanges/get.js +0 -27
  426. package/lib/services/splitChanges/index.js +0 -26
  427. package/lib/services/splitChanges/offline/browser.js +0 -71
  428. package/lib/services/splitChanges/offline/node.js +0 -189
  429. package/lib/services/splitChanges/offline/package.json +0 -4
  430. package/lib/services/splitChanges/offline/parseCondition.js +0 -49
  431. package/lib/services/transport/index.js +0 -62
  432. package/lib/storage/AttributesCache/InMemory.js +0 -93
  433. package/lib/storage/BaseMetricsAsyncCache.js +0 -28
  434. package/lib/storage/CountCache/InMemory.js +0 -54
  435. package/lib/storage/CountCache/InRedis.js +0 -50
  436. package/lib/storage/EventsCache/InMemory.js +0 -118
  437. package/lib/storage/EventsCache/InRedis.js +0 -74
  438. package/lib/storage/ImpressionsCache/InMemory.js +0 -77
  439. package/lib/storage/ImpressionsCache/InRedis.js +0 -79
  440. package/lib/storage/Keys.js +0 -132
  441. package/lib/storage/KeysLocalStorage.js +0 -69
  442. package/lib/storage/LatencyCache/InMemory.js +0 -64
  443. package/lib/storage/LatencyCache/InRedis.js +0 -53
  444. package/lib/storage/LatencyCache/findIndex.js +0 -12
  445. package/lib/storage/Meta.js +0 -12
  446. package/lib/storage/RedisAdapter.js +0 -212
  447. package/lib/storage/SegmentCache/InLocalStorage/index.js +0 -171
  448. package/lib/storage/SegmentCache/InMemory/browser.js +0 -113
  449. package/lib/storage/SegmentCache/InMemory/node.js +0 -89
  450. package/lib/storage/SegmentCache/InMemory/package.json +0 -4
  451. package/lib/storage/SegmentCache/InRedis/index.js +0 -87
  452. package/lib/storage/SplitCache/InLocalStorage.js +0 -344
  453. package/lib/storage/SplitCache/InMemory.js +0 -172
  454. package/lib/storage/SplitCache/InRedis.js +0 -224
  455. package/lib/storage/SplitCache/killLocally.js +0 -42
  456. package/lib/storage/browser.js +0 -122
  457. package/lib/storage/node.js +0 -104
  458. package/lib/storage/package.json +0 -4
  459. package/lib/sync/AuthClient/index.js +0 -44
  460. package/lib/sync/PushManager/index.js +0 -340
  461. package/lib/sync/PushManager/mySegmentsV2utils.js +0 -87
  462. package/lib/sync/PushManager/pushRequirements/browser.js +0 -30
  463. package/lib/sync/PushManager/pushRequirements/node.js +0 -25
  464. package/lib/sync/PushManager/pushRequirements/package.json +0 -4
  465. package/lib/sync/SSEClient/index.js +0 -101
  466. package/lib/sync/SSEHandler/NotificationKeeper.js +0 -104
  467. package/lib/sync/SSEHandler/NotificationParser.js +0 -39
  468. package/lib/sync/SSEHandler/index.js +0 -121
  469. package/lib/sync/SegmentUpdateWorker/browser.js +0 -81
  470. package/lib/sync/SegmentUpdateWorker/node.js +0 -86
  471. package/lib/sync/SegmentUpdateWorker/package.json +0 -4
  472. package/lib/sync/SplitUpdateWorker/index.js +0 -93
  473. package/lib/sync/browser.js +0 -139
  474. package/lib/sync/constants.js +0 -59
  475. package/lib/sync/node.js +0 -71
  476. package/lib/sync/package.json +0 -4
  477. package/lib/trackers/event.js +0 -64
  478. package/lib/trackers/impressions.js +0 -146
  479. package/lib/utils/backoff/index.js +0 -57
  480. package/lib/utils/base64/browser.js +0 -26
  481. package/lib/utils/base64/node.js +0 -26
  482. package/lib/utils/base64/package.json +0 -4
  483. package/lib/utils/binarySearch/index.js +0 -56
  484. package/lib/utils/constants/index.js +0 -60
  485. package/lib/utils/context/constants.js +0 -49
  486. package/lib/utils/context/index.js +0 -111
  487. package/lib/utils/decompress/index.js +0 -483
  488. package/lib/utils/fn/repeat.js +0 -64
  489. package/lib/utils/inputValidation/apiKey.js +0 -51
  490. package/lib/utils/inputValidation/attribute.js +0 -32
  491. package/lib/utils/inputValidation/attributes.js +0 -32
  492. package/lib/utils/inputValidation/event.js +0 -33
  493. package/lib/utils/inputValidation/eventProperties.js +0 -78
  494. package/lib/utils/inputValidation/eventValue.js +0 -19
  495. package/lib/utils/inputValidation/index.js +0 -48
  496. package/lib/utils/inputValidation/isOperational.js +0 -25
  497. package/lib/utils/inputValidation/key.js +0 -59
  498. package/lib/utils/inputValidation/split.js +0 -60
  499. package/lib/utils/inputValidation/splitFilters.js +0 -134
  500. package/lib/utils/inputValidation/splits.js +0 -38
  501. package/lib/utils/inputValidation/trafficType.js +0 -68
  502. package/lib/utils/jwt/hashUserKey.js +0 -19
  503. package/lib/utils/jwt/index.js +0 -19
  504. package/lib/utils/key/factory.js +0 -46
  505. package/lib/utils/key/parser.js +0 -42
  506. package/lib/utils/labels/index.js +0 -18
  507. package/lib/utils/lang/Errors.js +0 -58
  508. package/lib/utils/lang/Sets.js +0 -127
  509. package/lib/utils/lang/index.js +0 -350
  510. package/lib/utils/localstorage/isAvailable.js +0 -31
  511. package/lib/utils/logger/LoggerFactory.js +0 -98
  512. package/lib/utils/logger/index.js +0 -109
  513. package/lib/utils/lrucache/linkedlist.js +0 -132
  514. package/lib/utils/lrucache/lru.spec.js +0 -30
  515. package/lib/utils/lrucache/lrucache.js +0 -88
  516. package/lib/utils/now/browser.js +0 -33
  517. package/lib/utils/now/node.js +0 -24
  518. package/lib/utils/now/package.json +0 -4
  519. package/lib/utils/promise/thenable.js +0 -10
  520. package/lib/utils/promise/timeout.js +0 -40
  521. package/lib/utils/promise/wrapper.js +0 -63
  522. package/lib/utils/settings/defaults/package.json +0 -4
  523. package/lib/utils/settings/impressionsMode.js +0 -26
  524. package/lib/utils/settings/index.js +0 -214
  525. package/lib/utils/settings/integrations/browser.js +0 -17
  526. package/lib/utils/settings/integrations/common.js +0 -40
  527. package/lib/utils/settings/integrations/node.js +0 -13
  528. package/lib/utils/settings/integrations/package.json +0 -4
  529. package/lib/utils/settings/language/browser.js +0 -22
  530. package/lib/utils/settings/language/node.js +0 -22
  531. package/lib/utils/settings/language/package.json +0 -4
  532. package/lib/utils/settings/mode.js +0 -16
  533. package/lib/utils/settings/runtime/browser.js +0 -26
  534. package/lib/utils/settings/runtime/node.js +0 -43
  535. package/lib/utils/settings/runtime/package.json +0 -4
  536. package/lib/utils/settings/storage/browser.js +0 -75
  537. package/lib/utils/settings/storage/node.js +0 -92
  538. package/lib/utils/settings/storage/package.json +0 -4
  539. package/lib/utils/splits/usesSegments.js +0 -27
  540. package/lib/utils/time/index.js +0 -12
  541. package/lib/utils/timeTracker/index.js +0 -213
  542. package/lib/utils/timeTracker/timer.js +0 -33
  543. package/src/client/attributesDecoration.js +0 -112
  544. package/src/client/browser.js +0 -41
  545. package/src/client/client.js +0 -131
  546. package/src/client/inputValidation.js +0 -130
  547. package/src/client/node.js +0 -8
  548. package/src/client/package.json +0 -4
  549. package/src/engine/combiners/and.js +0 -55
  550. package/src/engine/combiners/ifelseif.js +0 -74
  551. package/src/engine/condition/index.js +0 -65
  552. package/src/engine/convertions/index.js +0 -22
  553. package/src/engine/engine/index.js +0 -63
  554. package/src/engine/engine/legacy.js +0 -66
  555. package/src/engine/engine/murmur3/common.js +0 -54
  556. package/src/engine/engine/murmur3/murmur3.js +0 -79
  557. package/src/engine/engine/murmur3/murmur3_128.js +0 -273
  558. package/src/engine/engine/murmur3/murmur3_128_x86.js +0 -188
  559. package/src/engine/engine/murmur3/murmur3_64.js +0 -34
  560. package/src/engine/engine/murmur3/utfx.js +0 -111
  561. package/src/engine/evaluator/index.js +0 -148
  562. package/src/engine/index.js +0 -123
  563. package/src/engine/matchers/all.js +0 -29
  564. package/src/engine/matchers/between.js +0 -30
  565. package/src/engine/matchers/boolean.js +0 -29
  566. package/src/engine/matchers/cont_all.js +0 -40
  567. package/src/engine/matchers/cont_any.js +0 -35
  568. package/src/engine/matchers/cont_str.js +0 -31
  569. package/src/engine/matchers/dependency.js +0 -52
  570. package/src/engine/matchers/eq.js +0 -30
  571. package/src/engine/matchers/eq_set.js +0 -37
  572. package/src/engine/matchers/ew.js +0 -31
  573. package/src/engine/matchers/gte.js +0 -30
  574. package/src/engine/matchers/index.js +0 -71
  575. package/src/engine/matchers/lte.js +0 -30
  576. package/src/engine/matchers/part_of.js +0 -37
  577. package/src/engine/matchers/segment.js +0 -41
  578. package/src/engine/matchers/string.js +0 -39
  579. package/src/engine/matchers/sw.js +0 -31
  580. package/src/engine/matchers/types.js +0 -52
  581. package/src/engine/matchers/whitelist.js +0 -30
  582. package/src/engine/parser/index.js +0 -79
  583. package/src/engine/parser/segments.js +0 -31
  584. package/src/engine/transforms/matcherGroup.js +0 -45
  585. package/src/engine/transforms/matchers.js +0 -118
  586. package/src/engine/transforms/segment.js +0 -23
  587. package/src/engine/transforms/set.js +0 -20
  588. package/src/engine/transforms/unaryNumeric.js +0 -20
  589. package/src/engine/transforms/whitelist.js +0 -22
  590. package/src/engine/treatments/index.js +0 -67
  591. package/src/engine/value/index.js +0 -53
  592. package/src/engine/value/sanitize.js +0 -117
  593. package/src/events/index.js +0 -62
  594. package/src/factory/offline.js +0 -60
  595. package/src/factory/online.js +0 -127
  596. package/src/impressions/counter.js +0 -43
  597. package/src/impressions/hasher/buildKey.js +0 -3
  598. package/src/impressions/hasher/hashImpression128.js +0 -6
  599. package/src/impressions/hasher/hashImpression32.js +0 -6
  600. package/src/impressions/observer/browser.js +0 -8
  601. package/src/impressions/observer/node.js +0 -8
  602. package/src/impressions/observer/observer.js +0 -17
  603. package/src/impressions/observer/package.json +0 -4
  604. package/src/integrations/browser.js +0 -57
  605. package/src/integrations/ga/GaToSplit.js +0 -278
  606. package/src/integrations/ga/SplitToGa.js +0 -125
  607. package/src/integrations/node.js +0 -4
  608. package/src/integrations/package.json +0 -4
  609. package/src/listeners/browser.js +0 -137
  610. package/src/listeners/node.js +0 -59
  611. package/src/listeners/package.json +0 -4
  612. package/src/manager/index.js +0 -103
  613. package/src/metrics/Collectors.js +0 -77
  614. package/src/metrics/index.js +0 -174
  615. package/src/producer/browser/Partial.js +0 -104
  616. package/src/producer/browser.js +0 -82
  617. package/src/producer/fetcher/MySegments.js +0 -40
  618. package/src/producer/fetcher/SegmentChanges.js +0 -52
  619. package/src/producer/fetcher/SplitChanges.js +0 -39
  620. package/src/producer/node.js +0 -142
  621. package/src/producer/offline/browser.js +0 -28
  622. package/src/producer/offline/node.js +0 -28
  623. package/src/producer/offline/package.json +0 -4
  624. package/src/producer/package.json +0 -4
  625. package/src/producer/task.js +0 -57
  626. package/src/producer/updater/MySegments.js +0 -104
  627. package/src/producer/updater/SegmentChanges.js +0 -126
  628. package/src/producer/updater/SplitChanges.js +0 -138
  629. package/src/producer/updater/SplitChangesFromFeatures.js +0 -23
  630. package/src/producer/updater/SplitChangesFromFileSystem.js +0 -23
  631. package/src/producer/updater/SplitChangesFromObject.js +0 -81
  632. package/src/readiness/index.js +0 -125
  633. package/src/readiness/statusManager.js +0 -121
  634. package/src/services/auth/auth.js +0 -21
  635. package/src/services/auth/index.js +0 -3
  636. package/src/services/events/bulk.js +0 -23
  637. package/src/services/events/index.js +0 -18
  638. package/src/services/getEventSource/browser.js +0 -3
  639. package/src/services/getEventSource/package.json +0 -4
  640. package/src/services/getFetch/package.json +0 -4
  641. package/src/services/impressions/bulk.js +0 -26
  642. package/src/services/impressions/count.js +0 -8
  643. package/src/services/impressions/dto.js +0 -71
  644. package/src/services/impressions/index.js +0 -18
  645. package/src/services/impressions/post.js +0 -23
  646. package/src/services/metrics/counters.js +0 -25
  647. package/src/services/metrics/dto.js +0 -44
  648. package/src/services/metrics/index.js +0 -18
  649. package/src/services/metrics/times.js +0 -25
  650. package/src/services/mySegments/get.js +0 -27
  651. package/src/services/mySegments/index.js +0 -18
  652. package/src/services/request/index.js +0 -43
  653. package/src/services/request/options/browser.js +0 -18
  654. package/src/services/request/options/node.js +0 -30
  655. package/src/services/request/options/package.json +0 -4
  656. package/src/services/segmentChanges/get.js +0 -20
  657. package/src/services/segmentChanges/index.js +0 -18
  658. package/src/services/splitChanges/get.js +0 -20
  659. package/src/services/splitChanges/index.js +0 -18
  660. package/src/services/splitChanges/offline/browser.js +0 -66
  661. package/src/services/splitChanges/offline/node.js +0 -190
  662. package/src/services/splitChanges/offline/package.json +0 -4
  663. package/src/services/splitChanges/offline/parseCondition.js +0 -52
  664. package/src/services/transport/index.js +0 -44
  665. package/src/storage/AttributesCache/InMemory.js +0 -76
  666. package/src/storage/BaseMetricsAsyncCache.js +0 -14
  667. package/src/storage/CountCache/InMemory.js +0 -48
  668. package/src/storage/CountCache/InRedis.js +0 -32
  669. package/src/storage/EventsCache/InMemory.js +0 -99
  670. package/src/storage/EventsCache/InRedis.js +0 -62
  671. package/src/storage/ImpressionsCache/InMemory.js +0 -62
  672. package/src/storage/ImpressionsCache/InRedis.js +0 -65
  673. package/src/storage/Keys.js +0 -122
  674. package/src/storage/KeysLocalStorage.js +0 -52
  675. package/src/storage/LatencyCache/InMemory.js +0 -56
  676. package/src/storage/LatencyCache/InRedis.js +0 -35
  677. package/src/storage/LatencyCache/findIndex.js +0 -7
  678. package/src/storage/Meta.js +0 -7
  679. package/src/storage/RedisAdapter.js +0 -170
  680. package/src/storage/SegmentCache/InLocalStorage/index.js +0 -140
  681. package/src/storage/SegmentCache/InMemory/browser.js +0 -99
  682. package/src/storage/SegmentCache/InMemory/node.js +0 -84
  683. package/src/storage/SegmentCache/InMemory/package.json +0 -4
  684. package/src/storage/SegmentCache/InRedis/index.js +0 -71
  685. package/src/storage/SplitCache/InLocalStorage.js +0 -324
  686. package/src/storage/SplitCache/InMemory.js +0 -145
  687. package/src/storage/SplitCache/InRedis.js +0 -187
  688. package/src/storage/SplitCache/killLocally.js +0 -33
  689. package/src/storage/browser.js +0 -110
  690. package/src/storage/node.js +0 -83
  691. package/src/storage/package.json +0 -4
  692. package/src/sync/AuthClient/index.js +0 -31
  693. package/src/sync/PushManager/index.js +0 -328
  694. package/src/sync/PushManager/mySegmentsV2utils.js +0 -76
  695. package/src/sync/PushManager/pushRequirements/browser.js +0 -20
  696. package/src/sync/PushManager/pushRequirements/node.js +0 -16
  697. package/src/sync/PushManager/pushRequirements/package.json +0 -4
  698. package/src/sync/SSEClient/index.js +0 -92
  699. package/src/sync/SSEHandler/NotificationKeeper.js +0 -90
  700. package/src/sync/SSEHandler/NotificationParser.js +0 -35
  701. package/src/sync/SSEHandler/index.js +0 -110
  702. package/src/sync/SegmentUpdateWorker/browser.js +0 -67
  703. package/src/sync/SegmentUpdateWorker/node.js +0 -73
  704. package/src/sync/SegmentUpdateWorker/package.json +0 -4
  705. package/src/sync/SplitUpdateWorker/index.js +0 -79
  706. package/src/sync/browser.js +0 -130
  707. package/src/sync/constants.js +0 -43
  708. package/src/sync/node.js +0 -66
  709. package/src/sync/package.json +0 -4
  710. package/src/trackers/event.js +0 -47
  711. package/src/trackers/impressions.js +0 -123
  712. package/src/utils/backoff/index.js +0 -46
  713. package/src/utils/base64/browser.js +0 -19
  714. package/src/utils/base64/node.js +0 -19
  715. package/src/utils/base64/package.json +0 -4
  716. package/src/utils/binarySearch/index.js +0 -50
  717. package/src/utils/constants/index.js +0 -41
  718. package/src/utils/context/constants.js +0 -18
  719. package/src/utils/context/index.js +0 -84
  720. package/src/utils/decompress/index.js +0 -428
  721. package/src/utils/fn/repeat.js +0 -48
  722. package/src/utils/inputValidation/apiKey.js +0 -42
  723. package/src/utils/inputValidation/attribute.js +0 -22
  724. package/src/utils/inputValidation/attributes.js +0 -26
  725. package/src/utils/inputValidation/event.js +0 -23
  726. package/src/utils/inputValidation/eventProperties.js +0 -65
  727. package/src/utils/inputValidation/eventValue.js +0 -11
  728. package/src/utils/inputValidation/index.js +0 -11
  729. package/src/utils/inputValidation/isOperational.js +0 -16
  730. package/src/utils/inputValidation/key.js +0 -53
  731. package/src/utils/inputValidation/split.js +0 -42
  732. package/src/utils/inputValidation/splitFilters.js +0 -108
  733. package/src/utils/inputValidation/splits.js +0 -21
  734. package/src/utils/inputValidation/trafficType.js +0 -58
  735. package/src/utils/jwt/hashUserKey.js +0 -11
  736. package/src/utils/jwt/index.js +0 -15
  737. package/src/utils/key/factory.js +0 -34
  738. package/src/utils/key/parser.js +0 -34
  739. package/src/utils/labels/index.js +0 -7
  740. package/src/utils/lang/Errors.js +0 -19
  741. package/src/utils/lang/Sets.js +0 -94
  742. package/src/utils/lang/index.js +0 -291
  743. package/src/utils/localstorage/isAvailable.js +0 -26
  744. package/src/utils/logger/LoggerFactory.js +0 -90
  745. package/src/utils/logger/index.js +0 -93
  746. package/src/utils/lrucache/linkedlist.js +0 -116
  747. package/src/utils/lrucache/lru.spec.js +0 -26
  748. package/src/utils/lrucache/lrucache.js +0 -49
  749. package/src/utils/now/browser.js +0 -29
  750. package/src/utils/now/node.js +0 -21
  751. package/src/utils/now/package.json +0 -4
  752. package/src/utils/promise/thenable.js +0 -1
  753. package/src/utils/promise/timeout.js +0 -38
  754. package/src/utils/promise/wrapper.js +0 -60
  755. package/src/utils/settings/defaults/browser.js +0 -12
  756. package/src/utils/settings/defaults/node.js +0 -21
  757. package/src/utils/settings/defaults/package.json +0 -4
  758. package/src/utils/settings/impressionsMode.js +0 -15
  759. package/src/utils/settings/index.js +0 -217
  760. package/src/utils/settings/integrations/browser.js +0 -8
  761. package/src/utils/settings/integrations/common.js +0 -32
  762. package/src/utils/settings/integrations/node.js +0 -7
  763. package/src/utils/settings/integrations/package.json +0 -4
  764. package/src/utils/settings/language/browser.js +0 -17
  765. package/src/utils/settings/language/node.js +0 -17
  766. package/src/utils/settings/language/package.json +0 -4
  767. package/src/utils/settings/mode.js +0 -12
  768. package/src/utils/settings/runtime/browser.js +0 -22
  769. package/src/utils/settings/runtime/node.js +0 -34
  770. package/src/utils/settings/runtime/package.json +0 -4
  771. package/src/utils/settings/storage/browser.js +0 -70
  772. package/src/utils/settings/storage/package.json +0 -4
  773. package/src/utils/splits/usesSegments.js +0 -17
  774. package/src/utils/time/index.js +0 -8
  775. package/src/utils/timeTracker/index.js +0 -223
  776. package/src/utils/timeTracker/timer.js +0 -27
@@ -1,114 +0,0 @@
1
- import _createClass from "@babel/runtime/helpers/esm/createClass";
2
-
3
- /**
4
- * Set implementation based on es6-set polyfill (https://github.com/medikoo/es6-set/blob/master/polyfill.js),
5
- * with the minimal features used by the SDK.
6
-
7
- Copyright (C) 2013 Mariusz Nowak (www.medikoo.com)
8
-
9
- Permission is hereby granted, free of charge, to any person obtaining a copy
10
- of this software and associated documentation files (the "Software"), to deal
11
- in the Software without restriction, including without limitation the rights
12
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
- copies of the Software, and to permit persons to whom the Software is
14
- furnished to do so, subject to the following conditions:
15
-
16
- The above copyright notice and this permission notice shall be included in
17
- all copies or substantial portions of the Software.
18
-
19
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
- THE SOFTWARE.
26
- **/
27
- export var SetPoly = /*#__PURE__*/function () {
28
- // unlike ES6 `Set`, it only accepts an array as first argument iterable
29
- function SetPoly()
30
- /*arrayIterable*/
31
- {
32
- var _this = this;
33
-
34
- this.__setData__ = [];
35
- var arrayIterable = arguments[0];
36
- if (Array.isArray(arrayIterable)) arrayIterable.forEach(function (value) {
37
- _this.add(value);
38
- });
39
- }
40
-
41
- var _proto = SetPoly.prototype;
42
-
43
- _proto.clear = function clear() {
44
- if (!this.__setData__.length) return;
45
- this.__setData__.length = 0;
46
- };
47
-
48
- _proto.add = function add(value) {
49
- if (this.has(value)) return this;
50
-
51
- this.__setData__.push(value);
52
-
53
- return this;
54
- };
55
-
56
- _proto.delete = function _delete(value) {
57
- var index = this.__setData__.indexOf(value);
58
-
59
- if (index === -1) return false;
60
-
61
- this.__setData__.splice(index, 1);
62
-
63
- return true;
64
- };
65
-
66
- _proto.has = function has(value) {
67
- return this.__setData__.indexOf(value) !== -1;
68
- };
69
-
70
- _proto.forEach = function forEach(cb
71
- /*, thisArg*/
72
- ) {
73
- var thisArg = arguments[1];
74
- if (typeof cb !== 'function') throw new TypeError(cb + ' is not a function');
75
-
76
- for (var i = 0; i < this.__setData__.length; i++) {
77
- var value = this.__setData__[i];
78
- cb.call(thisArg, value, value, this);
79
- }
80
- };
81
-
82
- _createClass(SetPoly, [{
83
- key: "size",
84
- get: function get() {
85
- return this.__setData__.length;
86
- }
87
- }]);
88
-
89
- return SetPoly;
90
- }();
91
- export function setToArray(set) {
92
- if (set instanceof SetPoly) {
93
- return set.__setData__.slice();
94
- } // if not using SetPoly as set, it means Array.from is supported
95
- // eslint-disable-next-line compat/compat
96
-
97
-
98
- return Array.from(set);
99
- }
100
- /**
101
- * return the Set constructor to use. If `Array.from` built-in or native Set is not available or it doesn't support the required features,
102
- * a ponyfill with minimal features is returned instead.
103
- */
104
-
105
- function getSetConstructor() {
106
- // eslint-disable-next-line compat/compat
107
- if (typeof Array.from === 'function' && typeof Set === 'function' && Set.prototype && Set.prototype.values) {
108
- return Set;
109
- }
110
-
111
- return SetPoly;
112
- }
113
-
114
- export var _Set = getSetConstructor();
@@ -1,305 +0,0 @@
1
- /**
2
- * Checks if the target string starts with the sub string.
3
- */
4
- export function startsWith(target, sub) {
5
- if (!(isString(target) && isString(sub))) {
6
- return false;
7
- }
8
-
9
- return target.slice(0, sub.length) === sub;
10
- }
11
- /**
12
- * Checks if the target string ends with the sub string.
13
- */
14
-
15
- export function endsWith(target, sub, caseInsensitive) {
16
- if (caseInsensitive === void 0) {
17
- caseInsensitive = false;
18
- }
19
-
20
- if (!(isString(target) && isString(sub))) {
21
- return false;
22
- }
23
-
24
- if (caseInsensitive) {
25
- target = target.toLowerCase();
26
- sub = sub.toLowerCase();
27
- }
28
-
29
- return target.slice(target.length - sub.length) === sub;
30
- }
31
- /**
32
- * Safely retrieve the specified prop from obj. If we can't retrieve
33
- * that property value, we return the default value.
34
- */
35
-
36
- export function get(obj, prop, val) {
37
- var res = val;
38
-
39
- try {
40
- // No risks nor lots of checks.
41
- var pathPieces = prop.split('.');
42
- var partial = obj;
43
- pathPieces.forEach(function (pathPiece) {
44
- return partial = partial[pathPiece];
45
- });
46
- if (typeof partial !== 'undefined') res = partial;
47
- } catch (e) {// noop
48
- }
49
-
50
- return res;
51
- }
52
- /**
53
- * Evaluates iteratee for each element of the source array. Returns the index of the first element
54
- * for which iteratee returns truthy. If no element is found or there's an issue with the params it returns -1.
55
- */
56
-
57
- export function findIndex(source, iteratee) {
58
- if (Array.isArray(source) && typeof iteratee === 'function') {
59
- for (var i = 0; i < source.length; i++) {
60
- if (iteratee(source[i], i, source) === true) {
61
- return i;
62
- }
63
- }
64
- }
65
-
66
- return -1;
67
- }
68
- /**
69
- * Loops through a source collection (an object or an array) running iteratee
70
- * against each element. It returns the first element for which iteratee returned
71
- * a truthy value and stops the loop.
72
- * Iteratee receives three arguments (element, key/index, collection)
73
- */
74
-
75
- export function find(source, iteratee) {
76
- var res;
77
-
78
- if (isObject(source)) {
79
- var keys = Object.keys(source);
80
-
81
- for (var i = 0; i < keys.length && !res; i++) {
82
- var key = keys[i];
83
- var iterateeResult = iteratee(source[key], key, source);
84
- if (iterateeResult) res = source[key];
85
- }
86
- } else if (Array.isArray(source)) {
87
- for (var _i = 0; _i < source.length && !res; _i++) {
88
- var _iterateeResult = iteratee(source[_i], _i, source);
89
-
90
- if (_iterateeResult) res = source[_i];
91
- }
92
- }
93
-
94
- return res;
95
- }
96
- /**
97
- * Checks if a given value is a string.
98
- */
99
-
100
- export function isString(val) {
101
- return typeof val === 'string' || val instanceof String;
102
- }
103
- /**
104
- * Checks if a given value is a finite value of number type or Number object.
105
- * Unlike `Number.isFinite`, it also tests Number object instances.
106
- * Unlike global `isFinite`, it returns false if the value is not a number or Number object instance.
107
- * @TODO remove `isFinite` once `Number.isFinite` is fully supported by targets
108
- */
109
-
110
- export function numberIsFinite(val) {
111
- if (val instanceof Number) val = val.valueOf(); // eslint-disable-next-line compat/compat
112
-
113
- if (typeof val === 'number') return Number.isFinite ? Number.isFinite(val) : isFinite(val);
114
- return false;
115
- }
116
- /**
117
- * Checks if a given value is a NaN value of number type or Number object.
118
- * Unlike `Number.isNaN`, it also tests Number object instances.
119
- * Unlike global `isNan`, it returns false if the value is not a number or Number object instance.
120
- */
121
-
122
- export function numberIsNaN(val) {
123
- if (val instanceof Number) val = val.valueOf(); // @TODO replace with `Number.isNaN` once it is fully supported by targets
124
- // eslint-disable-next-line eqeqeq
125
-
126
- return val !== val;
127
- }
128
- /**
129
- * Checks if a given value is an integer value of number type or Number object.
130
- * Unlike `Number.isInteger`, it also tests Number object instances.
131
- * @TODO remove shim once `Number.isInteger` is fully supported by targets
132
- */
133
-
134
- export function numberIsInteger(val) {
135
- if (val instanceof Number) val = val.valueOf(); // eslint-disable-next-line compat/compat
136
-
137
- if (typeof val === 'number') return Number.isInteger ? Number.isInteger(val) : isFinite(val) && Math.floor(val) === val;
138
- return false;
139
- }
140
- var uniqueIdCounter = -1;
141
- /**
142
- * Returns a number to be used as ID, which will be unique.
143
- */
144
-
145
- export function uniqueId() {
146
- return uniqueIdCounter++;
147
- }
148
- /**
149
- * Validates if a value is an object.
150
- */
151
-
152
- export function isObject(obj) {
153
- return obj && typeof obj === 'object' && obj.constructor === Object;
154
- }
155
- /**
156
- * There are some assumptions here. It's for internal use and we don't need verbose errors
157
- * or to ensure the data types or whatever. Parameters should always be correct (at least have a target and a source, of type object).
158
- */
159
-
160
- export function merge(target, source) {
161
- var res = target;
162
- isObject(source) && Object.keys(source).forEach(function (key) {
163
- var val = source[key];
164
-
165
- if (isObject(val)) {
166
- if (res[key] && isObject(res[key])) {
167
- // If both are objects, merge into a new one.
168
- val = merge({}, res[key], val);
169
- } else {
170
- // else make a copy.
171
- val = merge({}, val);
172
- }
173
- } // We skip undefined values.
174
-
175
-
176
- if (val !== undefined) res[key] = val;
177
- });
178
-
179
- for (var _len = arguments.length, rest = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
180
- rest[_key - 2] = arguments[_key];
181
- }
182
-
183
- if (rest && rest.length) {
184
- var nextSource = rest.splice(0, 1)[0];
185
- res = merge.apply(void 0, [res, nextSource].concat(rest));
186
- }
187
-
188
- return res;
189
- }
190
- /**
191
- * Removes duplicate items on an array of strings.
192
- */
193
-
194
- export function uniq(arr) {
195
- var seen = {};
196
- return arr.filter(function (item) {
197
- return Object.prototype.hasOwnProperty.call(seen, item) ? false : seen[item] = true;
198
- });
199
- }
200
- /**
201
- * Removes duplicate items on an array of objects using an optional `stringify` function as equality criteria.
202
- * It uses JSON.stringify as default criteria.
203
- */
204
-
205
- export function unicAsStrings(arr, stringify) {
206
- if (stringify === void 0) {
207
- stringify = JSON.stringify;
208
- }
209
-
210
- var seen = {};
211
- return arr.filter(function (item) {
212
- var itemString = stringify(item);
213
- return Object.prototype.hasOwnProperty.call(seen, itemString) ? false : seen[itemString] = true;
214
- });
215
- }
216
- /**
217
- * Transforms a value into it's string representation.
218
- */
219
-
220
- export function toString(val) {
221
- if (val == null) return '';
222
- if (typeof val === 'string') return val;
223
- if (Array.isArray(val)) return val.map(function (val) {
224
- return isString(val) ? val : '';
225
- }) + '';
226
- var result = val + '';
227
- return result === '0' && 1 / val === Number.NEGATIVE_INFINITY ? '-0' : result;
228
- }
229
- /**
230
- * Transforms a value into a number.
231
- * Note: We're not expecting anything fancy here. If we are at some point, add more type checks.
232
- */
233
-
234
- export function toNumber(val) {
235
- if (typeof val === 'number') return val;
236
-
237
- if (isObject(val) && typeof val.valueOf === 'function') {
238
- var valOf = val.valueOf();
239
- val = isObject(valOf) ? valOf + '' : valOf;
240
- }
241
-
242
- if (typeof val !== 'string') {
243
- return val === 0 ? val : +val;
244
- } // Remove trailing whitespaces.
245
-
246
-
247
- val = val.replace(/^\s+|\s+$/g, '');
248
- return +val;
249
- }
250
- /**
251
- * Executes iteratee for given obj own props.
252
- */
253
-
254
- export function forOwn(obj, iteratee) {
255
- var keys = Object.keys(obj);
256
- keys.forEach(function (key) {
257
- return iteratee(obj[key], key, obj);
258
- });
259
- return obj;
260
- }
261
- /**
262
- * Parses an array into a map of different arrays, grouping by the specified prop value.
263
- */
264
-
265
- export function groupBy(source, prop) {
266
- var map = {};
267
-
268
- if (Array.isArray(source) && isString(prop)) {
269
- for (var i = 0; i < source.length; i++) {
270
- var key = source[i][prop]; // Skip the element if the key is not a string.
271
-
272
- if (isString(key)) {
273
- if (!map[key]) map[key] = [];
274
- map[key].push(source[i]);
275
- }
276
- }
277
- }
278
-
279
- return map;
280
- }
281
- /**
282
- * Returns the name of a given function.
283
- */
284
-
285
- export function getFnName(fn) {
286
- if (fn.name) return fn.name;
287
- return (fn.toString().match(/function (.+?)\(/) || ['', ''])[1];
288
- }
289
- /**
290
- * Shallow clone an object
291
- */
292
-
293
- export function shallowClone(obj) {
294
- var keys = Object.keys(obj);
295
- var output = {};
296
-
297
- for (var i = 0; i < keys.length; i++) {
298
- output[keys[i]] = obj[keys[i]];
299
- }
300
-
301
- return output;
302
- }
303
- export function isBoolean(val) {
304
- return val === true || val === false;
305
- }
@@ -1,26 +0,0 @@
1
- /**
2
- Copyright 2016 Split Software
3
-
4
- Licensed under the Apache License, Version 2.0 (the "License");
5
- you may not use this file except in compliance with the License.
6
- You may obtain a copy of the License at
7
-
8
- http://www.apache.org/licenses/LICENSE-2.0
9
-
10
- Unless required by applicable law or agreed to in writing, software
11
- distributed under the License is distributed on an "AS IS" BASIS,
12
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- See the License for the specific language governing permissions and
14
- limitations under the License.
15
- **/
16
- export default function isLocalStorageAvailable() {
17
- var mod = '__SPLITSOFTWARE__';
18
-
19
- try {
20
- localStorage.setItem(mod, mod);
21
- localStorage.removeItem(mod);
22
- return true;
23
- } catch (e) {
24
- return false;
25
- }
26
- }
@@ -1,86 +0,0 @@
1
- /* eslint-disable no-console */
2
- 'use strict';
3
-
4
- import objectAssign from 'object-assign';
5
- export var LogLevels = {
6
- 'DEBUG': 'DEBUG',
7
- 'INFO': 'INFO',
8
- 'WARN': 'WARN',
9
- 'ERROR': 'ERROR',
10
- 'NONE': 'NONE'
11
- };
12
- var LogLevelIndexes = {
13
- DEBUG: 1,
14
- INFO: 2,
15
- WARN: 3,
16
- ERROR: 4,
17
- NONE: 5
18
- }; // DEBUG is the default. The log level is not specific to an SDK instance.
19
-
20
- var GlobalLogLevel = LogLevelIndexes.DEBUG;
21
- /**
22
- * @param {'DEBUG'|'INFO'|'WARN'|'ERROR'|'NONE'} level
23
- */
24
-
25
- export var setLogLevel = function setLogLevel(level) {
26
- GlobalLogLevel = LogLevelIndexes[level];
27
- };
28
- var defaultOptions = {
29
- showLevel: true,
30
- displayAllErrors: false
31
- };
32
- export var Logger = /*#__PURE__*/function () {
33
- function Logger(category, options) {
34
- this.category = category;
35
- this.options = objectAssign({}, defaultOptions, options);
36
- }
37
-
38
- var _proto = Logger.prototype;
39
-
40
- _proto.debug = function debug(msg) {
41
- if (this._shouldLog(LogLevelIndexes.DEBUG)) this._log(LogLevels.DEBUG, msg);
42
- };
43
-
44
- _proto.info = function info(msg) {
45
- if (this._shouldLog(LogLevelIndexes.INFO)) this._log(LogLevels.INFO, msg);
46
- };
47
-
48
- _proto.warn = function warn(msg) {
49
- if (this._shouldLog(LogLevelIndexes.WARN)) this._log(LogLevels.WARN, msg);
50
- };
51
-
52
- _proto.error = function error(msg) {
53
- if (this.options.displayAllErrors || this._shouldLog(LogLevelIndexes.ERROR)) this._log(LogLevels.ERROR, msg);
54
- };
55
-
56
- _proto._log = function _log(level, text) {
57
- var formattedText = this._generateLogMessage(level, text);
58
-
59
- console.log(formattedText);
60
- };
61
-
62
- _proto._generateLogMessage = function _generateLogMessage(level, text) {
63
- var textPre = ' => ';
64
- var result = '';
65
-
66
- if (this.options.showLevel) {
67
- result += '[' + level + ']' + (level === LogLevels.INFO || level === LogLevels.WARN ? ' ' : '') + ' ';
68
- }
69
-
70
- if (this.category) {
71
- result += this.category + textPre;
72
- }
73
-
74
- return result += text;
75
- }
76
- /**
77
- * @param {number} level
78
- */
79
- ;
80
-
81
- _proto._shouldLog = function _shouldLog(level) {
82
- return level >= GlobalLogLevel;
83
- };
84
-
85
- return Logger;
86
- }();
@@ -1,97 +0,0 @@
1
- /**
2
- Copyright 2016 Split Software
3
-
4
- Licensed under the Apache License, Version 2.0 (the "License");
5
- you may not use this file except in compliance with the License.
6
- You may obtain a copy of the License at
7
-
8
- http://www.apache.org/licenses/LICENSE-2.0
9
-
10
- Unless required by applicable law or agreed to in writing, software
11
- distributed under the License is distributed on an "AS IS" BASIS,
12
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- See the License for the specific language governing permissions and
14
- limitations under the License.
15
- **/
16
- import { Logger, LogLevels, setLogLevel as _setLogLevel } from './LoggerFactory';
17
- import isLocalStorageAvailable from '../localstorage/isAvailable';
18
- import { find, merge } from '../lang';
19
-
20
- var isLogLevelString = function isLogLevelString(str) {
21
- return !!find(LogLevels, function (lvl) {
22
- return str === lvl;
23
- });
24
- };
25
-
26
- var defaultOptions = {
27
- showLevel: true,
28
- displayAllErrors: false
29
- };
30
- var LS_KEY = 'splitio_debug';
31
- var ENV_VAR_KEY = 'SPLITIO_DEBUG';
32
- var isNode = false; // We check for version truthiness since most shims will have that as empty string.
33
-
34
- if (typeof process !== 'undefined' && typeof process.version !== 'undefined' && !!process.version) {
35
- isNode = true;
36
- }
37
-
38
- var initialState = String(isNode ? process.env[ENV_VAR_KEY] : isLocalStorageAvailable() ? localStorage.getItem(LS_KEY) : '');
39
-
40
- var createLog = function createLog(namespace, options) {
41
- if (options === void 0) {
42
- options = {};
43
- }
44
-
45
- return new Logger(namespace, merge(options, defaultOptions));
46
- };
47
-
48
- var ownLog = createLog('splitio-utils:logger');
49
- /**
50
- * The public Logger utility API.
51
- */
52
-
53
- export var API = {
54
- /**
55
- * Enables all the logs.
56
- */
57
- enable: function enable() {
58
- _setLogLevel(LogLevels.DEBUG);
59
- },
60
-
61
- /**
62
- * Sets a custom log Level for the SDK.
63
- * @param {string} logLevel - Custom LogLevel value.
64
- */
65
- setLogLevel: function setLogLevel(logLevel) {
66
- if (isLogLevelString(logLevel)) {
67
- _setLogLevel(logLevel);
68
- } else {
69
- ownLog.error('Invalid Log Level - No changes to the logs will be applied.');
70
- }
71
- },
72
-
73
- /**
74
- * Disables all the log levels.
75
- */
76
- disable: function disable() {
77
- // Disabling is equal logLevel none
78
- _setLogLevel(LogLevels.NONE);
79
- },
80
-
81
- /**
82
- * Exposed for usage with setLogLevel
83
- */
84
- LogLevel: LogLevels
85
- }; // "enable", "enabled" and "on", are synonims with 'DEBUG' loglevel
86
-
87
- if (/^(enabled?|on)/i.test(initialState)) {
88
- API.enable(LogLevels.DEBUG);
89
- } else if (isLogLevelString(initialState)) {
90
- API.setLogLevel(initialState);
91
- } else {
92
- // By default it starts disabled.
93
- API.disable();
94
- } // By default we expose logger instance creator wrapper.
95
-
96
-
97
- export default createLog;