@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,213 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports.default = void 0;
7
-
8
- var _lang = require("../lang");
9
-
10
- var _LoggerFactory = require("../logger/LoggerFactory");
11
-
12
- var _timer = _interopRequireDefault(require("./timer"));
13
-
14
- var _thenable = _interopRequireDefault(require("../promise/thenable"));
15
-
16
- var _CALLBACKS;
17
-
18
- // logger to be used on this module
19
- var logger = new _LoggerFactory.Logger('[TIME TRACKER]', {
20
- showLevel: false
21
- }); // Map we will use for storing timers data
22
-
23
- var timers = {}; // Tasks constants
24
-
25
- var CONSTANTS = {
26
- SDK_READY: 'Getting ready - Split SDK',
27
- SDK_GET_TREATMENT: 'SDK - Get Treatment',
28
- SDK_GET_TREATMENTS: 'SDK - Get Treatments',
29
- SDK_GET_TREATMENT_WITH_CONFIG: 'SDK - Get Treatment with config',
30
- SDK_GET_TREATMENTS_WITH_CONFIG: 'SDK - Get Treatments with config',
31
- SPLITS_READY: 'Getting ready - Splits',
32
- SEGMENTS_READY: 'Getting ready - Segments',
33
- METRICS_PUSH: 'Pushing - Metrics',
34
- IMPRESSIONS_PUSH: 'Pushing - Impressions',
35
- EVENTS_PUSH: 'Pushing - Events',
36
- MY_SEGMENTS_FETCH: 'Fetching - My Segments',
37
- SEGMENTS_FETCH: 'Fetching - Segments',
38
- SPLITS_FETCH: 'Fetching - Splits'
39
- }; // Tasks callbacks, if any
40
-
41
- var CALLBACKS = (_CALLBACKS = {}, _CALLBACKS[CONSTANTS.SDK_READY] = {
42
- collector: 'client',
43
- method: 'ready'
44
- }, _CALLBACKS[CONSTANTS.SDK_GET_TREATMENT] = {
45
- collector: 'client',
46
- method: 'getTreatment'
47
- }, _CALLBACKS[CONSTANTS.SDK_GET_TREATMENTS] = {
48
- collector: 'client',
49
- method: 'getTreatments'
50
- }, _CALLBACKS[CONSTANTS.SDK_GET_TREATMENT_WITH_CONFIG] = {
51
- collector: 'client',
52
- method: 'getTreatmentWithConfig'
53
- }, _CALLBACKS[CONSTANTS.SDK_GET_TREATMENTS_WITH_CONFIG] = {
54
- collector: 'client',
55
- method: 'getTreatmentsWithConfig'
56
- }, _CALLBACKS[CONSTANTS.MY_SEGMENTS_FETCH] = {
57
- collector: 'mySegments',
58
- method: 'latency'
59
- }, _CALLBACKS[CONSTANTS.SEGMENTS_FETCH] = {
60
- collector: 'segmentChanges',
61
- method: 'latency'
62
- }, _CALLBACKS[CONSTANTS.SPLITS_FETCH] = {
63
- collector: 'splitChanges',
64
- method: 'latency'
65
- }, _CALLBACKS);
66
- /**
67
- * Generates the timer keys using the task name and a modifier, if any.
68
- * @param {string} task - The task name
69
- * @param {string} modifier - (optional) The modifier, if any.
70
- * @return {string} The generated timer key
71
- */
72
-
73
- var generateTimerKey = function generateTimerKey(task, modifier) {
74
- return typeof modifier === 'string' ? task + modifier : task;
75
- };
76
- /**
77
- * Given the collectors map, it returns the specific collector for a given task.
78
- *
79
- * @param {string} task - The task name
80
- * @param {Object} collectors - The collectors map
81
- */
82
-
83
-
84
- var getCollectorForTask = function getCollectorForTask(task, collectors) {
85
- var callbackData = CALLBACKS[task];
86
- if (callbackData && collectors) return collectors[callbackData.collector];
87
- return false;
88
- };
89
- /**
90
- * Given a collector and a task, returns the callback function that should be called when we stop the timer.
91
- *
92
- * @param {string} task - The task name
93
- * @param {Object} collector - The collector object for the task
94
- */
95
-
96
-
97
- var getCallbackForTask = function getCallbackForTask(task, collector) {
98
- var callbackData = CALLBACKS[task];
99
- if (callbackData && collector) return collector[callbackData.method];
100
- return false;
101
- };
102
-
103
- var TrackerAPI = {
104
- /**
105
- * "Private" method, used to attach count/countException and stop callbacks to a promise.
106
- *
107
- * @param {Promise} promise - The promise we want to attach the callbacks.
108
- * @param {string} task - The name of the task.
109
- * @param {string} modifier - (optional) The modifier for the task, if any.
110
- */
111
- __attachToPromise: function __attachToPromise(promise, task, collector, modifier) {
112
- var _this = this;
113
-
114
- return promise.then(function (resp) {
115
- _this.stop(task, modifier);
116
-
117
- if (collector && collector.count) collector.count(resp.status);
118
- return resp;
119
- }).catch(function (err) {
120
- _this.stop(task, modifier);
121
-
122
- if (collector && collector.countException) collector.countException();
123
- throw err;
124
- });
125
- },
126
-
127
- /**
128
- * Starts tracking the time for a given task. All tasks tracked are considered "unique" because
129
- * there may be multiple SDK instances tracking a "generic" task, making any task non-generic.
130
- *
131
- * @param {string} task - The task we are starting.
132
- * @param {Object} collectors - The collectors map.
133
- * @param {Promise} promise - (optional) The promise we are tracking.
134
- * @return {Function | Promise} The stop function for this specific task or the promise received with the callbacks registered.
135
- */
136
- start: function start(task, collectors, promise) {
137
- var taskUniqueId = (0, _lang.uniqueId)();
138
- var taskCollector = getCollectorForTask(task, collectors);
139
- var result; // If we are registering a promise with this task, we should count the status and the exceptions as well
140
- // as stopping the task when the promise resolves. Then return the promise
141
-
142
- if ((0, _thenable.default)(promise)) {
143
- result = this.__attachToPromise(promise, task, taskCollector, taskUniqueId);
144
- } else {
145
- // If not, we return the stop function, as it will be stopped manually.
146
- result = this.stop.bind(this, task, taskUniqueId);
147
-
148
- if (CALLBACKS[task] && !taskCollector) {
149
- // and provide a way for a defered setup of the collector, if needed.
150
- result.setCollectorForTask = this.setCollectorForTask.bind(this, task, taskUniqueId);
151
- }
152
- } // We start the timer, with an uniqueId attached to it's name, and save tracking info for this task.
153
-
154
-
155
- var trackingKey = generateTimerKey(task, taskUniqueId);
156
- var cb = getCallbackForTask(task, taskCollector);
157
- timers[trackingKey] = {
158
- cb: cb,
159
- timer: (0, _timer.default)()
160
- };
161
- return result;
162
- },
163
-
164
- /**
165
- * Setup the collector for a task that reports metrics.
166
- *
167
- * @param {string} task - The task name
168
- * @param {string} taskUniqueId - The unique identifier for this task
169
- * @param {Object} collectors - The collectors map.
170
- */
171
- setCollectorForTask: function setCollectorForTask(task, taskUniqueId, collectors) {
172
- var taskCollector = getCollectorForTask(task, collectors);
173
-
174
- if (taskCollector) {
175
- var trackingKey = generateTimerKey(task, taskUniqueId);
176
- timers[trackingKey].cb = getCallbackForTask(task, taskCollector);
177
- }
178
- },
179
-
180
- /**
181
- * Stops the tracking of a given task.
182
- *
183
- * @param {string} task - The task we are starting.
184
- * @param {string} modifier - (optional) The modifier for that specific task.
185
- */
186
- stop: function stop(task, modifier) {
187
- var timerName = generateTimerKey(task, modifier);
188
- var timerData = timers[timerName];
189
-
190
- if (timerData) {
191
- // Stop the timer and round result for readability.
192
- var et = timerData.timer();
193
- logger.debug("[" + task + "] took " + et + "ms to finish."); // Check if we have a tracker callback.
194
-
195
- if (timerData.cb) {
196
- // If we have a callback, we call it with the elapsed time of the task and then delete the reference.
197
- timerData.cb(et);
198
- } // Remove the task tracking reference.
199
-
200
-
201
- delete timers[timerName];
202
- return et;
203
- }
204
- },
205
-
206
- /**
207
- * The constants shortcut for the task names.
208
- */
209
- TaskNames: CONSTANTS
210
- }; // Our "time tracker" API
211
-
212
- var _default = TrackerAPI;
213
- exports.default = _default;
@@ -1,33 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- exports.__esModule = true;
6
- exports.default = void 0;
7
-
8
- var _now = _interopRequireDefault(require("../now"));
9
-
10
- /**
11
- Copyright 2016 Split Software
12
-
13
- Licensed under the Apache License, Version 2.0 (the "License");
14
- you may not use this file except in compliance with the License.
15
- You may obtain a copy of the License at
16
-
17
- http://www.apache.org/licenses/LICENSE-2.0
18
-
19
- Unless required by applicable law or agreed to in writing, software
20
- distributed under the License is distributed on an "AS IS" BASIS,
21
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22
- See the License for the specific language governing permissions and
23
- limitations under the License.
24
- **/
25
- function start() {
26
- var st = (0, _now.default)();
27
- return function stop() {
28
- return Math.round((0, _now.default)() - st);
29
- };
30
- }
31
-
32
- var _default = start;
33
- exports.default = _default;
@@ -1,112 +0,0 @@
1
- import ClientInputValidationLayer from './inputValidation';
2
- import AttributesCacheInMemory from '../storage/AttributesCache/InMemory';
3
- import { validateAttributesDeep } from '../utils/inputValidation/attributes';
4
- import logFactory from '../utils/logger';
5
- import objectAssign from 'object-assign';
6
- const log = logFactory('splitio-client');
7
-
8
- /**
9
- * Add in memory attributes storage methods and combine them with any attribute received from the getTreatment/s call
10
- */
11
- export default function ClientAttributesDecorationLayer(context, isKeyBinded, isTTBinded) {
12
-
13
- const client = ClientInputValidationLayer(context, isKeyBinded, isTTBinded);
14
-
15
- const attributeStorage = new AttributesCacheInMemory();
16
-
17
- // Keep a reference to the original methods
18
- const clientGetTreatment = client.getTreatment;
19
- const clientGetTreatmentWithConfig = client.getTreatmentWithConfig;
20
- const clientGetTreatments = client.getTreatments;
21
- const clientGetTreatmentsWithConfig = client.getTreatmentsWithConfig;
22
-
23
- /**
24
- * Add an attribute to client's in memory attributes storage
25
- *
26
- * @param {string} attributeName Attrinute name
27
- * @param {string, number, boolean, list} attributeValue Attribute value
28
- * @returns {boolean} true if the attribute was stored and false otherways
29
- */
30
- client.setAttribute = (attributeName, attributeValue) => {
31
- const attribute = {};
32
- attribute[attributeName] = attributeValue;
33
- if (!validateAttributesDeep(attribute)) return false;
34
- log.debug(`stored ${attributeValue} for attribute ${attributeName}`);
35
- return attributeStorage.setAttribute(attributeName, attributeValue);
36
- };
37
-
38
- /**
39
- * Returns the attribute with the given key
40
- *
41
- * @param {string} attributeName Attribute name
42
- * @returns {Object} Attribute with the given key
43
- */
44
- client.getAttribute = (attributeName) => {
45
- log.debug(`retrieved attribute ${attributeName}`);
46
- return attributeStorage.getAttribute(attributeName + '');
47
- };
48
-
49
- /**
50
- * Add to client's in memory attributes storage the attributes in 'attributes'
51
- *
52
- * @param {Object} attributes Object with attributes to store
53
- * @returns true if attributes were stored an false otherways
54
- */
55
- client.setAttributes = (attributes) => {
56
- if (!validateAttributesDeep(attributes)) return false;
57
- return attributeStorage.setAttributes(attributes);
58
- };
59
-
60
- /**
61
- * Return all the attributes stored in client's in memory attributes storage
62
- *
63
- * @returns {Object} returns all the stored attributes
64
- */
65
- client.getAttributes = () => {
66
- return attributeStorage.getAll();
67
- };
68
-
69
- /**
70
- * Removes from client's in memory attributes storage the attribute with the given key
71
- *
72
- * @param {string} attributeName
73
- * @returns {boolean} true if attribute was removed and false otherways
74
- */
75
- client.removeAttribute = (attributeName) => {
76
- log.debug(`removed attribute ${attributeName}`);
77
- return attributeStorage.removeAttribute(attributeName + '');
78
- };
79
-
80
- /**
81
- * Remove all the stored attributes in the client's in memory attribute storage
82
- */
83
- client.clearAttributes = () => {
84
- return attributeStorage.clear();
85
- };
86
-
87
- client.getTreatment = (maybeKey, maybeSplit, maybeAttributes) => {
88
- return clientGetTreatment(maybeKey, maybeSplit, combineAttributes(maybeAttributes));
89
- };
90
-
91
- client.getTreatmentWithConfig = (maybeKey, maybeSplit, maybeAttributes) => {
92
- return clientGetTreatmentWithConfig(maybeKey, maybeSplit, combineAttributes(maybeAttributes));
93
- };
94
-
95
- client.getTreatments = (maybeKey, maybeSplits, maybeAttributes) => {
96
- return clientGetTreatments(maybeKey, maybeSplits, combineAttributes(maybeAttributes));
97
- };
98
-
99
- client.getTreatmentsWithConfig = (maybeKey, maybeSplits, maybeAttributes) => {
100
- return clientGetTreatmentsWithConfig(maybeKey, maybeSplits, combineAttributes(maybeAttributes));
101
- };
102
-
103
- function combineAttributes(maybeAttributes) {
104
- const storedAttributes = attributeStorage.getAll();
105
- if (Object.keys(storedAttributes).length > 0) {
106
- return objectAssign({}, storedAttributes, maybeAttributes);
107
- }
108
- return maybeAttributes;
109
- }
110
-
111
- return client;
112
- }
@@ -1,41 +0,0 @@
1
- import { get } from '../utils/lang';
2
- import ClientAttributesDecorationLayer from './attributesDecoration';
3
- import { LOCALHOST_MODE } from '../utils/constants';
4
- import {
5
- validateKey,
6
- validateTrafficType,
7
- } from '../utils/inputValidation';
8
-
9
- function BrowserClientFactory(context) {
10
- const settings = context.get(context.constants.SETTINGS);
11
- const maybeKey = get(settings, 'core.key', undefined);
12
- const maybeTT = get(settings, 'core.trafficType', undefined);
13
-
14
- if (settings.mode === LOCALHOST_MODE && maybeKey === undefined) {
15
- settings.core.key = 'localhost_key';
16
- } else {
17
- settings.core.key = validateKey(maybeKey, 'Client instantiation');
18
- }
19
-
20
- // Key is also binded to the .track method. Same thing happens with trafficType but only if present on configs. (not required)
21
- const trackBindings = [settings.core.key];
22
- if (maybeTT !== undefined) {
23
- const tt = validateTrafficType(maybeTT, 'Client instantiation');
24
- settings.core.trafficType = tt;
25
- trackBindings.push(tt);
26
- }
27
-
28
- const client = ClientAttributesDecorationLayer(context, true, trackBindings.length > 1);
29
- client.isBrowserClient = true;
30
-
31
- // In the browser land, we can bind the key and the traffic type (if provided)
32
- client.getTreatment = client.getTreatment.bind(client, settings.core.key);
33
- client.getTreatmentWithConfig = client.getTreatmentWithConfig.bind(client, settings.core.key);
34
- client.getTreatments = client.getTreatments.bind(client, settings.core.key);
35
- client.getTreatmentsWithConfig = client.getTreatmentsWithConfig.bind(client, settings.core.key);
36
- client.track = client.track.bind(client, ...trackBindings);
37
-
38
- return client;
39
- }
40
-
41
- export default BrowserClientFactory;
@@ -1,131 +0,0 @@
1
- import logFactory from '../utils/logger';
2
- const log = logFactory('splitio-client');
3
- import { evaluateFeature, evaluateFeatures } from '../engine/evaluator';
4
- import ImpressionsTracker from '../trackers/impressions';
5
- import EventTracker from '../trackers/event';
6
- import tracker from '../utils/timeTracker';
7
- import thenable from '../utils/promise/thenable';
8
- import { matching, bucketing } from '../utils/key/factory';
9
- /* asynchronous validations that live on the client. */
10
- import { validateSplitExistance, validateTrafficTypeExistance } from '../utils/inputValidation';
11
- import { SDK_NOT_READY } from '../utils/labels';
12
- import { CONTROL } from '../utils/constants';
13
-
14
- function ClientFactory(context) {
15
- const storage = context.get(context.constants.STORAGE);
16
- const metricCollectors = context.get(context.constants.COLLECTORS);
17
- const impressionsTracker = ImpressionsTracker(context);
18
- const eventTracker = EventTracker(context);
19
-
20
- function getTreatment(key, splitName, attributes, withConfig = false) {
21
- const taskToBeTracked = tracker.TaskNames[withConfig ? 'SDK_GET_TREATMENT_WITH_CONFIG' : 'SDK_GET_TREATMENT'];
22
- const stopLatencyTracker = tracker.start(taskToBeTracked, metricCollectors);
23
- const evaluation = evaluateFeature(key, splitName, attributes, storage);
24
-
25
- const wrapUp = (evaluationResult) => {
26
- const treatment = processEvaluation(evaluationResult, splitName, key, attributes, withConfig, `getTreatment${withConfig ? 'withConfig' : ''}`);
27
- impressionsTracker.track();
28
- stopLatencyTracker();
29
- return treatment;
30
- };
31
-
32
- return thenable(evaluation) ? evaluation.then((res) => wrapUp(res)) : wrapUp(evaluation);
33
- }
34
-
35
- function getTreatmentWithConfig(key, splitName, attributes) {
36
- return getTreatment(key, splitName, attributes, true);
37
- }
38
-
39
- function getTreatments(key, splitNames, attributes, withConfig = false) {
40
- const taskToBeTracked = tracker.TaskNames[withConfig ? 'SDK_GET_TREATMENTS_WITH_CONFIG' : 'SDK_GET_TREATMENTS'];
41
- const stopLatencyTracker = tracker.start(taskToBeTracked, metricCollectors);
42
-
43
- const wrapUp = (evaluationResults) => {
44
- const results = {};
45
- Object.keys(evaluationResults).forEach(splitName => {
46
- results[splitName] = processEvaluation(evaluationResults[splitName], splitName, key, attributes, withConfig, `getTreatments${withConfig ? 'withConfig' : ''}`);
47
- });
48
- impressionsTracker.track();
49
- stopLatencyTracker();
50
- return results;
51
- };
52
-
53
- const evaluations = evaluateFeatures(key, splitNames, attributes, storage);
54
-
55
- return thenable(evaluations) ? evaluations.then((res) => wrapUp(res)) : wrapUp(evaluations);
56
- }
57
-
58
- function getTreatmentsWithConfig(key, splitNames, attributes) {
59
- return getTreatments(key, splitNames, attributes, true);
60
- }
61
-
62
- // Internal function
63
- function processEvaluation(
64
- evaluation,
65
- splitName,
66
- key,
67
- attributes,
68
- withConfig,
69
- invokingMethodName
70
- ) {
71
- const isSdkReady = context.get(context.constants.READY, true) || context.get(context.constants.READY_FROM_CACHE, true);
72
- const matchingKey = matching(key);
73
- const bucketingKey = bucketing(key);
74
-
75
- // If the SDK was not ready, treatment may be incorrect due to having Splits but not segments data.
76
- if (!isSdkReady) {
77
- evaluation = { treatment: CONTROL, label: SDK_NOT_READY };
78
- }
79
-
80
- const { treatment, label, changeNumber, config = null } = evaluation;
81
- log.info(`Split: ${splitName}. Key: ${matchingKey}. Evaluation: ${treatment}. Label: ${label}`);
82
-
83
- if (validateSplitExistance(context, splitName, label, invokingMethodName)) {
84
- log.info('Queueing corresponding impression.');
85
- impressionsTracker.queue({
86
- feature: splitName,
87
- keyName: matchingKey,
88
- treatment,
89
- time: Date.now(),
90
- bucketingKey,
91
- label,
92
- changeNumber
93
- }, attributes);
94
- }
95
-
96
- if (withConfig) {
97
- return {
98
- treatment,
99
- config
100
- };
101
- }
102
-
103
- return treatment;
104
- }
105
-
106
- function track(key, trafficTypeName, eventTypeId, value = null, properties = null, size = 1024) {
107
- const matchingKey = matching(key);
108
- const timestamp = Date.now();
109
- const eventData = {
110
- eventTypeId,
111
- trafficTypeName,
112
- value,
113
- timestamp,
114
- key: matchingKey,
115
- properties
116
- };
117
-
118
- // This may be async but we only warn, we don't actually care if it is valid or not in terms of queueing the event.
119
- validateTrafficTypeExistance(trafficTypeName, context, 'track');
120
-
121
- return eventTracker.track(eventData, size);
122
- }
123
-
124
- return {
125
- getTreatment, getTreatmentWithConfig,
126
- getTreatments, getTreatmentsWithConfig,
127
- track
128
- };
129
- }
130
-
131
- export default ClientFactory;
@@ -1,130 +0,0 @@
1
- import objectAssign from 'object-assign';
2
- import ClientFactory from './client';
3
- import {
4
- validateAttributes,
5
- validateEvent,
6
- validateEventValue,
7
- validateEventProperties,
8
- validateKey,
9
- validateSplit,
10
- validateSplits,
11
- validateTrafficType,
12
- validateIfDestroyed,
13
- validateIfReady
14
- } from '../utils/inputValidation';
15
- import { startsWith } from '../utils/lang';
16
- import { STORAGE_REDIS, CONTROL, CONTROL_WITH_CONFIG } from '../utils/constants';
17
-
18
- /**
19
- * We will validate the input before actually executing the client methods. We should "guard" the client here,
20
- * while not polluting the "real" implementation of those methods.
21
- */
22
- function ClientInputValidationLayer(context, isKeyBinded, isTTBinded) {
23
- const settings = context.get(context.constants.SETTINGS);
24
- const isStorageSync = settings.storage.type !== STORAGE_REDIS;
25
- // instantiate the client
26
- const client = ClientFactory(context);
27
- // Keep a reference to the original methods
28
- const clientGetTreatment = client.getTreatment;
29
- const clientGetTreatmentWithConfig = client.getTreatmentWithConfig;
30
- const clientGetTreatments = client.getTreatments;
31
- const clientGetTreatmentsWithConfig = client.getTreatmentsWithConfig;
32
- const clientTrack = client.track;
33
-
34
- /**
35
- * Avoid repeating this validations code
36
- */
37
- function validateEvaluationParams(maybeKey, maybeSplitOrSplits, maybeAttributes, methodName) {
38
- const multi = startsWith(methodName, 'getTreatments');
39
- const key = isKeyBinded ? maybeKey : validateKey(maybeKey, methodName);
40
- const splitOrSplits = multi ? validateSplits(maybeSplitOrSplits, methodName) : validateSplit(maybeSplitOrSplits, methodName);
41
- const attributes = validateAttributes(maybeAttributes, methodName);
42
- const isOperational = validateIfDestroyed(context);
43
-
44
- validateIfReady(context, methodName);
45
-
46
- const valid = isOperational && key && splitOrSplits && attributes !== false;
47
-
48
- return {
49
- valid,
50
- key,
51
- splitOrSplits,
52
- attributes
53
- };
54
- }
55
-
56
- client.getTreatment = function getTreatment(maybeKey, maybeSplit, maybeAttributes) {
57
- const params = validateEvaluationParams(maybeKey, maybeSplit, maybeAttributes, 'getTreatment');
58
-
59
- if (params.valid) {
60
- return clientGetTreatment(params.key, params.splitOrSplits, params.attributes);
61
- } else {
62
- if (isStorageSync) return CONTROL;
63
-
64
- return Promise.resolve(CONTROL);
65
- }
66
- };
67
-
68
- client.getTreatmentWithConfig = function getTreatmentWithConfig(maybeKey, maybeSplit, maybeAttributes) {
69
- const params = validateEvaluationParams(maybeKey, maybeSplit, maybeAttributes, 'getTreatmentWithConfig');
70
-
71
- if (params.valid) {
72
- return clientGetTreatmentWithConfig(params.key, params.splitOrSplits, params.attributes);
73
- } else {
74
- if (isStorageSync) return objectAssign({}, CONTROL_WITH_CONFIG);
75
-
76
- return Promise.resolve(objectAssign({}, CONTROL_WITH_CONFIG));
77
- }
78
- };
79
-
80
- client.getTreatments = function getTreatments(maybeKey, maybeSplits, maybeAttributes) {
81
- const params = validateEvaluationParams(maybeKey, maybeSplits, maybeAttributes, 'getTreatments');
82
-
83
- if (params.valid) {
84
- return clientGetTreatments(params.key, params.splitOrSplits, params.attributes);
85
- } else {
86
- const res = {};
87
- if (params.splitOrSplits) params.splitOrSplits.forEach(split => res[split] = CONTROL);
88
-
89
- if (isStorageSync) return res;
90
-
91
- return Promise.resolve(res);
92
- }
93
- };
94
-
95
- client.getTreatmentsWithConfig = function getTreatmentsWithConfig(maybeKey, maybeSplits, maybeAttributes) {
96
- const params = validateEvaluationParams(maybeKey, maybeSplits, maybeAttributes, 'getTreatmentsWithConfig');
97
-
98
- if (params.valid) {
99
- return clientGetTreatmentsWithConfig(params.key, params.splitOrSplits, params.attributes);
100
- } else {
101
- const res = {};
102
- if (params.splitOrSplits) params.splitOrSplits.forEach(split => res[split] = objectAssign({}, CONTROL_WITH_CONFIG));
103
-
104
- if (isStorageSync) return res;
105
-
106
- return Promise.resolve(res);
107
- }
108
- };
109
-
110
- client.track = function track(maybeKey, maybeTT, maybeEvent, maybeEventValue, maybeProperties) {
111
- const key = isKeyBinded ? maybeKey : validateKey(maybeKey, 'track');
112
- const tt = isTTBinded ? maybeTT : validateTrafficType(maybeTT, 'track');
113
- const event = validateEvent(maybeEvent, 'track');
114
- const eventValue = validateEventValue(maybeEventValue, 'track');
115
- const { properties, size } = validateEventProperties(maybeProperties, 'track');
116
- const isOperational = validateIfDestroyed(context);
117
-
118
- if (isOperational && key && tt && event && eventValue !== false && properties !== false) {
119
- return clientTrack(key, tt, event, eventValue, properties, size);
120
- } else {
121
- if (isStorageSync) return false;
122
-
123
- return Promise.resolve(false);
124
- }
125
- };
126
-
127
- return client;
128
- }
129
-
130
- export default ClientInputValidationLayer;
@@ -1,8 +0,0 @@
1
- import ClientWithInputValidationLayer from './inputValidation';
2
-
3
- export default function NodeClientFactory(context) {
4
- const client = ClientWithInputValidationLayer(context);
5
- client.isBrowserClient = false;
6
-
7
- return client;
8
- }
@@ -1,4 +0,0 @@
1
- {
2
- "main": "./node.js",
3
- "browser": "./browser.js"
4
- }