@xylabs/pixel 1.4.14 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. package/dist/browser/Api/Api.d.cts +7 -0
  2. package/dist/browser/Api/Api.d.cts.map +1 -0
  3. package/dist/browser/Api/Api.d.mts +7 -0
  4. package/dist/browser/Api/Api.d.mts.map +1 -0
  5. package/dist/{types → browser}/Api/Api.d.ts +1 -1
  6. package/dist/{types → browser}/Api/Api.d.ts.map +1 -1
  7. package/dist/browser/Api/UserEvent.d.cts +25 -0
  8. package/dist/browser/Api/UserEvent.d.cts.map +1 -0
  9. package/dist/browser/Api/UserEvent.d.mts +25 -0
  10. package/dist/browser/Api/UserEvent.d.mts.map +1 -0
  11. package/dist/browser/Api/UserEvent.d.ts +25 -0
  12. package/dist/browser/Api/UserEvent.d.ts.map +1 -0
  13. package/dist/browser/Api/UserEventSystem.d.mts +3 -0
  14. package/dist/browser/Api/UserEventSystem.d.mts.map +1 -0
  15. package/dist/browser/Api/UserEventSystem.d.ts +3 -0
  16. package/dist/browser/Api/UserEventSystem.d.ts.map +1 -0
  17. package/dist/browser/Api/index.d.cts +4 -0
  18. package/dist/browser/Api/index.d.cts.map +1 -0
  19. package/dist/browser/Api/index.d.mts +4 -0
  20. package/dist/browser/Api/index.d.mts.map +1 -0
  21. package/dist/browser/Api/index.d.ts +4 -0
  22. package/dist/browser/Api/index.d.ts.map +1 -0
  23. package/dist/browser/CommonFields.d.mts +5 -0
  24. package/dist/browser/CommonFields.d.mts.map +1 -0
  25. package/dist/browser/CommonFields.d.ts +5 -0
  26. package/dist/browser/CommonFields.d.ts.map +1 -0
  27. package/dist/browser/ExIds.d.mts +10 -0
  28. package/dist/browser/ExIds.d.mts.map +1 -0
  29. package/dist/browser/ExIds.d.ts +10 -0
  30. package/dist/browser/ExIds.d.ts.map +1 -0
  31. package/dist/browser/FunnelStartedFields.d.cts +5 -0
  32. package/dist/browser/FunnelStartedFields.d.cts.map +1 -0
  33. package/dist/browser/FunnelStartedFields.d.mts +5 -0
  34. package/dist/browser/FunnelStartedFields.d.mts.map +1 -0
  35. package/dist/browser/FunnelStartedFields.d.ts +5 -0
  36. package/dist/{types → browser}/FunnelStartedFields.d.ts.map +1 -1
  37. package/dist/browser/Pixel.d.cts +24 -0
  38. package/dist/browser/Pixel.d.cts.map +1 -0
  39. package/dist/browser/Pixel.d.mts +24 -0
  40. package/dist/browser/Pixel.d.mts.map +1 -0
  41. package/dist/{types → browser}/Pixel.d.ts +2 -2
  42. package/dist/browser/Pixel.d.ts.map +1 -0
  43. package/dist/browser/Referrer.d.cts.map +1 -0
  44. package/dist/browser/Referrer.d.mts +13 -0
  45. package/dist/browser/Referrer.d.mts.map +1 -0
  46. package/dist/browser/Referrer.d.ts +13 -0
  47. package/dist/browser/Referrer.d.ts.map +1 -0
  48. package/dist/browser/TestStartedFields.d.cts +5 -0
  49. package/dist/browser/TestStartedFields.d.cts.map +1 -0
  50. package/dist/browser/TestStartedFields.d.mts +5 -0
  51. package/dist/browser/TestStartedFields.d.mts.map +1 -0
  52. package/dist/browser/TestStartedFields.d.ts +5 -0
  53. package/dist/{types → browser}/TestStartedFields.d.ts.map +1 -1
  54. package/dist/browser/UniqueUserId.d.cts.map +1 -0
  55. package/dist/browser/UniqueUserId.d.mts +8 -0
  56. package/dist/browser/UniqueUserId.d.mts.map +1 -0
  57. package/dist/browser/UniqueUserId.d.ts +8 -0
  58. package/dist/{types → browser}/UniqueUserId.d.ts.map +1 -1
  59. package/dist/browser/UserClickFields.d.cts +6 -0
  60. package/dist/browser/UserClickFields.d.cts.map +1 -0
  61. package/dist/browser/UserClickFields.d.mts +6 -0
  62. package/dist/browser/UserClickFields.d.mts.map +1 -0
  63. package/dist/{types → browser}/UserClickFields.d.ts +1 -1
  64. package/dist/{types → browser}/UserClickFields.d.ts.map +1 -1
  65. package/dist/browser/UserEventHandler.d.cts +11 -0
  66. package/dist/browser/UserEventHandler.d.cts.map +1 -0
  67. package/dist/browser/UserEventHandler.d.mts +11 -0
  68. package/dist/browser/UserEventHandler.d.mts.map +1 -0
  69. package/dist/{types → browser}/UserEventHandler.d.ts +4 -4
  70. package/dist/{types → browser}/UserEventHandler.d.ts.map +1 -1
  71. package/dist/browser/UtmFields.d.cts.map +1 -0
  72. package/dist/browser/UtmFields.d.mts +9 -0
  73. package/dist/browser/UtmFields.d.mts.map +1 -0
  74. package/dist/browser/UtmFields.d.ts +9 -0
  75. package/dist/browser/UtmFields.d.ts.map +1 -0
  76. package/dist/browser/ViewContentFields.d.cts +6 -0
  77. package/dist/browser/ViewContentFields.d.cts.map +1 -0
  78. package/dist/browser/ViewContentFields.d.mts +6 -0
  79. package/dist/browser/ViewContentFields.d.mts.map +1 -0
  80. package/dist/browser/ViewContentFields.d.ts +6 -0
  81. package/dist/{types → browser}/ViewContentFields.d.ts.map +1 -1
  82. package/dist/{types/Api/UserEvent.d.ts → browser/XyLabsTrackingEventJson.d.mts} +6 -4
  83. package/dist/browser/XyLabsTrackingEventJson.d.mts.map +1 -0
  84. package/dist/browser/XyLabsTrackingEventJson.d.ts +21 -0
  85. package/dist/browser/XyLabsTrackingEventJson.d.ts.map +1 -0
  86. package/dist/browser/XyUserEventHandler.d.cts +13 -0
  87. package/dist/browser/XyUserEventHandler.d.cts.map +1 -0
  88. package/dist/browser/XyUserEventHandler.d.mts +13 -0
  89. package/dist/browser/XyUserEventHandler.d.mts.map +1 -0
  90. package/dist/{types → browser}/XyUserEventHandler.d.ts +5 -5
  91. package/dist/browser/XyUserEventHandler.d.ts.map +1 -0
  92. package/dist/browser/getSystemInfo.d.mts +2 -0
  93. package/dist/browser/getSystemInfo.d.mts.map +1 -0
  94. package/dist/browser/getSystemInfo.d.ts +2 -0
  95. package/dist/browser/getSystemInfo.d.ts.map +1 -0
  96. package/dist/browser/index.cjs +286 -0
  97. package/dist/browser/index.cjs.map +1 -0
  98. package/dist/browser/index.d.cts +13 -0
  99. package/dist/browser/index.d.cts.map +1 -0
  100. package/dist/browser/index.d.mts +13 -0
  101. package/dist/browser/index.d.mts.map +1 -0
  102. package/dist/browser/index.d.ts +13 -0
  103. package/dist/browser/index.d.ts.map +1 -0
  104. package/dist/browser/index.js +253 -0
  105. package/dist/browser/index.js.map +1 -0
  106. package/dist/neutral/Api/Api.d.cts +7 -0
  107. package/dist/neutral/Api/Api.d.cts.map +1 -0
  108. package/dist/neutral/Api/Api.d.mts +7 -0
  109. package/dist/neutral/Api/Api.d.mts.map +1 -0
  110. package/dist/neutral/Api/Api.d.ts +7 -0
  111. package/dist/neutral/Api/Api.d.ts.map +1 -0
  112. package/dist/neutral/Api/UserEvent.d.cts +25 -0
  113. package/dist/neutral/Api/UserEvent.d.cts.map +1 -0
  114. package/dist/neutral/Api/UserEvent.d.mts +25 -0
  115. package/dist/neutral/Api/UserEvent.d.mts.map +1 -0
  116. package/dist/neutral/Api/UserEvent.d.ts +25 -0
  117. package/dist/neutral/Api/UserEvent.d.ts.map +1 -0
  118. package/dist/neutral/Api/UserEventSystem.d.cts +3 -0
  119. package/dist/neutral/Api/UserEventSystem.d.cts.map +1 -0
  120. package/dist/neutral/Api/UserEventSystem.d.mts +3 -0
  121. package/dist/neutral/Api/UserEventSystem.d.mts.map +1 -0
  122. package/dist/neutral/Api/UserEventSystem.d.ts +3 -0
  123. package/dist/neutral/Api/UserEventSystem.d.ts.map +1 -0
  124. package/dist/neutral/Api/index.d.cts +4 -0
  125. package/dist/neutral/Api/index.d.cts.map +1 -0
  126. package/dist/neutral/Api/index.d.mts +4 -0
  127. package/dist/neutral/Api/index.d.mts.map +1 -0
  128. package/dist/neutral/Api/index.d.ts +4 -0
  129. package/dist/neutral/Api/index.d.ts.map +1 -0
  130. package/dist/neutral/CommonFields.d.cts +5 -0
  131. package/dist/neutral/CommonFields.d.cts.map +1 -0
  132. package/dist/neutral/CommonFields.d.mts +5 -0
  133. package/dist/neutral/CommonFields.d.mts.map +1 -0
  134. package/dist/neutral/CommonFields.d.ts +5 -0
  135. package/dist/neutral/CommonFields.d.ts.map +1 -0
  136. package/dist/neutral/ExIds.d.cts +10 -0
  137. package/dist/neutral/ExIds.d.cts.map +1 -0
  138. package/dist/neutral/ExIds.d.mts +10 -0
  139. package/dist/neutral/ExIds.d.mts.map +1 -0
  140. package/dist/neutral/ExIds.d.ts +10 -0
  141. package/dist/neutral/ExIds.d.ts.map +1 -0
  142. package/dist/neutral/FunnelStartedFields.d.cts +5 -0
  143. package/dist/neutral/FunnelStartedFields.d.cts.map +1 -0
  144. package/dist/neutral/FunnelStartedFields.d.mts +5 -0
  145. package/dist/neutral/FunnelStartedFields.d.mts.map +1 -0
  146. package/dist/neutral/FunnelStartedFields.d.ts +5 -0
  147. package/dist/neutral/FunnelStartedFields.d.ts.map +1 -0
  148. package/dist/neutral/Pixel.d.cts +24 -0
  149. package/dist/neutral/Pixel.d.cts.map +1 -0
  150. package/dist/neutral/Pixel.d.mts +24 -0
  151. package/dist/neutral/Pixel.d.mts.map +1 -0
  152. package/dist/neutral/Pixel.d.ts +24 -0
  153. package/dist/neutral/Pixel.d.ts.map +1 -0
  154. package/dist/neutral/Referrer.d.cts +13 -0
  155. package/dist/neutral/Referrer.d.cts.map +1 -0
  156. package/dist/neutral/Referrer.d.mts +13 -0
  157. package/dist/neutral/Referrer.d.mts.map +1 -0
  158. package/dist/neutral/Referrer.d.ts +13 -0
  159. package/dist/neutral/Referrer.d.ts.map +1 -0
  160. package/dist/neutral/TestStartedFields.d.cts +5 -0
  161. package/dist/neutral/TestStartedFields.d.cts.map +1 -0
  162. package/dist/neutral/TestStartedFields.d.mts +5 -0
  163. package/dist/neutral/TestStartedFields.d.mts.map +1 -0
  164. package/dist/neutral/TestStartedFields.d.ts +5 -0
  165. package/dist/neutral/TestStartedFields.d.ts.map +1 -0
  166. package/dist/neutral/UniqueUserId.d.cts +8 -0
  167. package/dist/neutral/UniqueUserId.d.cts.map +1 -0
  168. package/dist/neutral/UniqueUserId.d.mts +8 -0
  169. package/dist/neutral/UniqueUserId.d.mts.map +1 -0
  170. package/dist/neutral/UniqueUserId.d.ts +8 -0
  171. package/dist/neutral/UniqueUserId.d.ts.map +1 -0
  172. package/dist/neutral/UserClickFields.d.cts +6 -0
  173. package/dist/neutral/UserClickFields.d.cts.map +1 -0
  174. package/dist/neutral/UserClickFields.d.mts +6 -0
  175. package/dist/neutral/UserClickFields.d.mts.map +1 -0
  176. package/dist/neutral/UserClickFields.d.ts +6 -0
  177. package/dist/neutral/UserClickFields.d.ts.map +1 -0
  178. package/dist/neutral/UserEventHandler.d.cts +11 -0
  179. package/dist/neutral/UserEventHandler.d.cts.map +1 -0
  180. package/dist/neutral/UserEventHandler.d.mts +11 -0
  181. package/dist/neutral/UserEventHandler.d.mts.map +1 -0
  182. package/dist/neutral/UserEventHandler.d.ts +11 -0
  183. package/dist/neutral/UserEventHandler.d.ts.map +1 -0
  184. package/dist/neutral/UtmFields.d.cts +9 -0
  185. package/dist/neutral/UtmFields.d.cts.map +1 -0
  186. package/dist/neutral/UtmFields.d.mts +9 -0
  187. package/dist/neutral/UtmFields.d.mts.map +1 -0
  188. package/dist/neutral/UtmFields.d.ts +9 -0
  189. package/dist/neutral/UtmFields.d.ts.map +1 -0
  190. package/dist/neutral/ViewContentFields.d.cts +6 -0
  191. package/dist/neutral/ViewContentFields.d.cts.map +1 -0
  192. package/dist/neutral/ViewContentFields.d.mts +6 -0
  193. package/dist/neutral/ViewContentFields.d.mts.map +1 -0
  194. package/dist/neutral/ViewContentFields.d.ts +6 -0
  195. package/dist/neutral/ViewContentFields.d.ts.map +1 -0
  196. package/dist/neutral/XyLabsTrackingEventJson.d.cts +21 -0
  197. package/dist/neutral/XyLabsTrackingEventJson.d.cts.map +1 -0
  198. package/dist/neutral/XyLabsTrackingEventJson.d.mts +21 -0
  199. package/dist/neutral/XyLabsTrackingEventJson.d.mts.map +1 -0
  200. package/dist/neutral/XyLabsTrackingEventJson.d.ts +21 -0
  201. package/dist/neutral/XyLabsTrackingEventJson.d.ts.map +1 -0
  202. package/dist/neutral/XyUserEventHandler.d.cts +13 -0
  203. package/dist/neutral/XyUserEventHandler.d.cts.map +1 -0
  204. package/dist/neutral/XyUserEventHandler.d.mts +13 -0
  205. package/dist/neutral/XyUserEventHandler.d.mts.map +1 -0
  206. package/dist/neutral/XyUserEventHandler.d.ts +13 -0
  207. package/dist/neutral/XyUserEventHandler.d.ts.map +1 -0
  208. package/dist/neutral/getSystemInfo.d.cts +2 -0
  209. package/dist/neutral/getSystemInfo.d.cts.map +1 -0
  210. package/dist/neutral/getSystemInfo.d.mts +2 -0
  211. package/dist/neutral/getSystemInfo.d.mts.map +1 -0
  212. package/dist/neutral/getSystemInfo.d.ts +2 -0
  213. package/dist/neutral/getSystemInfo.d.ts.map +1 -0
  214. package/dist/neutral/index.cjs +286 -0
  215. package/dist/neutral/index.cjs.map +1 -0
  216. package/dist/neutral/index.d.cts +13 -0
  217. package/dist/neutral/index.d.cts.map +1 -0
  218. package/dist/neutral/index.d.mts +13 -0
  219. package/dist/neutral/index.d.mts.map +1 -0
  220. package/dist/neutral/index.d.ts +13 -0
  221. package/dist/neutral/index.d.ts.map +1 -0
  222. package/dist/neutral/index.js +253 -0
  223. package/dist/neutral/index.js.map +1 -0
  224. package/dist/node/Api/Api.d.cts +7 -0
  225. package/dist/node/Api/Api.d.cts.map +1 -0
  226. package/dist/node/Api/Api.d.mts +7 -0
  227. package/dist/node/Api/Api.d.mts.map +1 -0
  228. package/dist/node/Api/Api.d.ts +7 -0
  229. package/dist/node/Api/Api.d.ts.map +1 -0
  230. package/dist/node/Api/UserEvent.d.cts +25 -0
  231. package/dist/node/Api/UserEvent.d.cts.map +1 -0
  232. package/dist/node/Api/UserEvent.d.mts +25 -0
  233. package/dist/node/Api/UserEvent.d.mts.map +1 -0
  234. package/dist/node/Api/UserEvent.d.ts +25 -0
  235. package/dist/node/Api/UserEvent.d.ts.map +1 -0
  236. package/dist/node/Api/UserEventSystem.d.cts +3 -0
  237. package/dist/node/Api/UserEventSystem.d.cts.map +1 -0
  238. package/dist/node/Api/UserEventSystem.d.mts +3 -0
  239. package/dist/node/Api/UserEventSystem.d.mts.map +1 -0
  240. package/dist/node/Api/UserEventSystem.d.ts +3 -0
  241. package/dist/node/Api/UserEventSystem.d.ts.map +1 -0
  242. package/dist/node/Api/index.d.cts +4 -0
  243. package/dist/node/Api/index.d.cts.map +1 -0
  244. package/dist/node/Api/index.d.mts +4 -0
  245. package/dist/node/Api/index.d.mts.map +1 -0
  246. package/dist/node/Api/index.d.ts +4 -0
  247. package/dist/node/Api/index.d.ts.map +1 -0
  248. package/dist/node/CommonFields.d.cts +5 -0
  249. package/dist/node/CommonFields.d.cts.map +1 -0
  250. package/dist/node/CommonFields.d.mts +5 -0
  251. package/dist/node/CommonFields.d.mts.map +1 -0
  252. package/dist/node/CommonFields.d.ts +5 -0
  253. package/dist/node/CommonFields.d.ts.map +1 -0
  254. package/dist/node/ExIds.d.cts +10 -0
  255. package/dist/node/ExIds.d.cts.map +1 -0
  256. package/dist/node/ExIds.d.mts +10 -0
  257. package/dist/node/ExIds.d.mts.map +1 -0
  258. package/dist/node/ExIds.d.ts +10 -0
  259. package/dist/node/ExIds.d.ts.map +1 -0
  260. package/dist/node/FunnelStartedFields.d.cts +5 -0
  261. package/dist/node/FunnelStartedFields.d.cts.map +1 -0
  262. package/dist/node/FunnelStartedFields.d.mts +5 -0
  263. package/dist/node/FunnelStartedFields.d.mts.map +1 -0
  264. package/dist/node/FunnelStartedFields.d.ts +5 -0
  265. package/dist/node/FunnelStartedFields.d.ts.map +1 -0
  266. package/dist/node/Pixel.d.cts +24 -0
  267. package/dist/node/Pixel.d.cts.map +1 -0
  268. package/dist/node/Pixel.d.mts +24 -0
  269. package/dist/node/Pixel.d.mts.map +1 -0
  270. package/dist/node/Pixel.d.ts +24 -0
  271. package/dist/node/Pixel.d.ts.map +1 -0
  272. package/dist/node/Referrer.d.cts +13 -0
  273. package/dist/node/Referrer.d.cts.map +1 -0
  274. package/dist/node/Referrer.d.mts +13 -0
  275. package/dist/node/Referrer.d.mts.map +1 -0
  276. package/dist/node/Referrer.d.ts +13 -0
  277. package/dist/node/Referrer.d.ts.map +1 -0
  278. package/dist/node/TestStartedFields.d.cts +5 -0
  279. package/dist/node/TestStartedFields.d.cts.map +1 -0
  280. package/dist/node/TestStartedFields.d.mts +5 -0
  281. package/dist/node/TestStartedFields.d.mts.map +1 -0
  282. package/dist/node/TestStartedFields.d.ts +5 -0
  283. package/dist/node/TestStartedFields.d.ts.map +1 -0
  284. package/dist/node/UniqueUserId.d.cts +8 -0
  285. package/dist/node/UniqueUserId.d.cts.map +1 -0
  286. package/dist/node/UniqueUserId.d.mts +8 -0
  287. package/dist/node/UniqueUserId.d.mts.map +1 -0
  288. package/dist/node/UniqueUserId.d.ts +8 -0
  289. package/dist/node/UniqueUserId.d.ts.map +1 -0
  290. package/dist/node/UserClickFields.d.cts +6 -0
  291. package/dist/node/UserClickFields.d.cts.map +1 -0
  292. package/dist/node/UserClickFields.d.mts +6 -0
  293. package/dist/node/UserClickFields.d.mts.map +1 -0
  294. package/dist/node/UserClickFields.d.ts +6 -0
  295. package/dist/node/UserClickFields.d.ts.map +1 -0
  296. package/dist/node/UserEventHandler.d.cts +11 -0
  297. package/dist/node/UserEventHandler.d.cts.map +1 -0
  298. package/dist/node/UserEventHandler.d.mts +11 -0
  299. package/dist/node/UserEventHandler.d.mts.map +1 -0
  300. package/dist/node/UserEventHandler.d.ts +11 -0
  301. package/dist/node/UserEventHandler.d.ts.map +1 -0
  302. package/dist/node/UtmFields.d.cts +9 -0
  303. package/dist/node/UtmFields.d.cts.map +1 -0
  304. package/dist/node/UtmFields.d.mts +9 -0
  305. package/dist/node/UtmFields.d.mts.map +1 -0
  306. package/dist/node/UtmFields.d.ts +9 -0
  307. package/dist/node/UtmFields.d.ts.map +1 -0
  308. package/dist/node/ViewContentFields.d.cts +6 -0
  309. package/dist/node/ViewContentFields.d.cts.map +1 -0
  310. package/dist/node/ViewContentFields.d.mts +6 -0
  311. package/dist/node/ViewContentFields.d.mts.map +1 -0
  312. package/dist/node/ViewContentFields.d.ts +6 -0
  313. package/dist/node/ViewContentFields.d.ts.map +1 -0
  314. package/dist/node/XyLabsTrackingEventJson.d.cts +21 -0
  315. package/dist/node/XyLabsTrackingEventJson.d.cts.map +1 -0
  316. package/dist/node/XyLabsTrackingEventJson.d.mts +21 -0
  317. package/dist/node/XyLabsTrackingEventJson.d.mts.map +1 -0
  318. package/dist/node/XyLabsTrackingEventJson.d.ts +21 -0
  319. package/dist/node/XyLabsTrackingEventJson.d.ts.map +1 -0
  320. package/dist/node/XyUserEventHandler.d.cts +13 -0
  321. package/dist/node/XyUserEventHandler.d.cts.map +1 -0
  322. package/dist/node/XyUserEventHandler.d.mts +13 -0
  323. package/dist/node/XyUserEventHandler.d.mts.map +1 -0
  324. package/dist/node/XyUserEventHandler.d.ts +13 -0
  325. package/dist/node/XyUserEventHandler.d.ts.map +1 -0
  326. package/dist/node/getSystemInfo.d.cts +2 -0
  327. package/dist/node/getSystemInfo.d.cts.map +1 -0
  328. package/dist/node/getSystemInfo.d.mts +2 -0
  329. package/dist/node/getSystemInfo.d.mts.map +1 -0
  330. package/dist/node/getSystemInfo.d.ts +2 -0
  331. package/dist/node/getSystemInfo.d.ts.map +1 -0
  332. package/dist/node/index.cjs +297 -0
  333. package/dist/node/index.cjs.map +1 -0
  334. package/dist/node/index.d.cts +13 -0
  335. package/dist/node/index.d.cts.map +1 -0
  336. package/dist/node/index.d.mts +13 -0
  337. package/dist/node/index.d.mts.map +1 -0
  338. package/dist/node/index.d.ts +13 -0
  339. package/dist/node/index.d.ts.map +1 -0
  340. package/dist/node/index.js +254 -0
  341. package/dist/node/index.js.map +1 -0
  342. package/jest.config.cjs +13 -11
  343. package/package.json +52 -33
  344. package/src/Api/Api.ts +2 -2
  345. package/src/Api/UserEvent.ts +4 -1
  346. package/src/Api/index.ts +3 -3
  347. package/src/FunnelStartedFields.ts +1 -1
  348. package/src/Pixel.ts +39 -43
  349. package/src/Referrer.ts +3 -3
  350. package/src/TestStartedFields.ts +1 -1
  351. package/src/UniqueUserId.ts +2 -2
  352. package/src/UserClickFields.ts +1 -1
  353. package/src/UserEventHandler.ts +4 -4
  354. package/src/UtmFields.ts +7 -9
  355. package/src/ViewContentFields.ts +1 -1
  356. package/src/XyUserEventHandler.ts +10 -10
  357. package/src/getSystemInfo.ts +2 -2
  358. package/src/index.ts +12 -12
  359. package/src/{Pixel.spec.ts → spec/Pixel.spec.ts} +3 -3
  360. package/dist/cjs/Api/Api.js +0 -23
  361. package/dist/cjs/Api/Api.js.map +0 -1
  362. package/dist/cjs/Api/UserEvent.js +0 -3
  363. package/dist/cjs/Api/UserEvent.js.map +0 -1
  364. package/dist/cjs/Api/UserEventSystem.js +0 -3
  365. package/dist/cjs/Api/UserEventSystem.js.map +0 -1
  366. package/dist/cjs/Api/index.js +0 -7
  367. package/dist/cjs/Api/index.js.map +0 -1
  368. package/dist/cjs/CommonFields.js +0 -3
  369. package/dist/cjs/CommonFields.js.map +0 -1
  370. package/dist/cjs/ExIds.js +0 -3
  371. package/dist/cjs/ExIds.js.map +0 -1
  372. package/dist/cjs/FunnelStartedFields.js +0 -3
  373. package/dist/cjs/FunnelStartedFields.js.map +0 -1
  374. package/dist/cjs/Pixel.js +0 -108
  375. package/dist/cjs/Pixel.js.map +0 -1
  376. package/dist/cjs/Referrer.js +0 -35
  377. package/dist/cjs/Referrer.js.map +0 -1
  378. package/dist/cjs/TestStartedFields.js +0 -3
  379. package/dist/cjs/TestStartedFields.js.map +0 -1
  380. package/dist/cjs/UniqueUserId.js +0 -21
  381. package/dist/cjs/UniqueUserId.js.map +0 -1
  382. package/dist/cjs/UserClickFields.js +0 -3
  383. package/dist/cjs/UserClickFields.js.map +0 -1
  384. package/dist/cjs/UserEventHandler.js +0 -7
  385. package/dist/cjs/UserEventHandler.js.map +0 -1
  386. package/dist/cjs/UtmFields.js +0 -53
  387. package/dist/cjs/UtmFields.js.map +0 -1
  388. package/dist/cjs/ViewContentFields.js +0 -3
  389. package/dist/cjs/ViewContentFields.js.map +0 -1
  390. package/dist/cjs/XyLabsTrackingEventJson.js +0 -3
  391. package/dist/cjs/XyLabsTrackingEventJson.js.map +0 -1
  392. package/dist/cjs/XyUserEventHandler.js +0 -33
  393. package/dist/cjs/XyUserEventHandler.js.map +0 -1
  394. package/dist/cjs/getSystemInfo.js +0 -16
  395. package/dist/cjs/getSystemInfo.js.map +0 -1
  396. package/dist/cjs/index.js +0 -16
  397. package/dist/cjs/index.js.map +0 -1
  398. package/dist/docs.json +0 -3781
  399. package/dist/esm/Api/Api.js +0 -17
  400. package/dist/esm/Api/Api.js.map +0 -1
  401. package/dist/esm/Api/UserEvent.js +0 -2
  402. package/dist/esm/Api/UserEvent.js.map +0 -1
  403. package/dist/esm/Api/UserEventSystem.js +0 -2
  404. package/dist/esm/Api/UserEventSystem.js.map +0 -1
  405. package/dist/esm/Api/index.js +0 -4
  406. package/dist/esm/Api/index.js.map +0 -1
  407. package/dist/esm/CommonFields.js +0 -2
  408. package/dist/esm/CommonFields.js.map +0 -1
  409. package/dist/esm/ExIds.js +0 -2
  410. package/dist/esm/ExIds.js.map +0 -1
  411. package/dist/esm/FunnelStartedFields.js +0 -2
  412. package/dist/esm/FunnelStartedFields.js.map +0 -1
  413. package/dist/esm/Pixel.js +0 -107
  414. package/dist/esm/Pixel.js.map +0 -1
  415. package/dist/esm/Referrer.js +0 -32
  416. package/dist/esm/Referrer.js.map +0 -1
  417. package/dist/esm/TestStartedFields.js +0 -2
  418. package/dist/esm/TestStartedFields.js.map +0 -1
  419. package/dist/esm/UniqueUserId.js +0 -16
  420. package/dist/esm/UniqueUserId.js.map +0 -1
  421. package/dist/esm/UserClickFields.js +0 -2
  422. package/dist/esm/UserClickFields.js.map +0 -1
  423. package/dist/esm/UserEventHandler.js +0 -3
  424. package/dist/esm/UserEventHandler.js.map +0 -1
  425. package/dist/esm/UtmFields.js +0 -46
  426. package/dist/esm/UtmFields.js.map +0 -1
  427. package/dist/esm/ViewContentFields.js +0 -2
  428. package/dist/esm/ViewContentFields.js.map +0 -1
  429. package/dist/esm/XyLabsTrackingEventJson.js +0 -2
  430. package/dist/esm/XyLabsTrackingEventJson.js.map +0 -1
  431. package/dist/esm/XyUserEventHandler.js +0 -20
  432. package/dist/esm/XyUserEventHandler.js.map +0 -1
  433. package/dist/esm/getSystemInfo.js +0 -12
  434. package/dist/esm/getSystemInfo.js.map +0 -1
  435. package/dist/esm/index.js +0 -13
  436. package/dist/esm/index.js.map +0 -1
  437. package/dist/types/Api/UserEvent.d.ts.map +0 -1
  438. package/dist/types/Api/index.d.ts +0 -4
  439. package/dist/types/Api/index.d.ts.map +0 -1
  440. package/dist/types/FunnelStartedFields.d.ts +0 -5
  441. package/dist/types/Pixel.d.ts.map +0 -1
  442. package/dist/types/Referrer.d.ts.map +0 -1
  443. package/dist/types/TestStartedFields.d.ts +0 -5
  444. package/dist/types/UtmFields.d.ts.map +0 -1
  445. package/dist/types/ViewContentFields.d.ts +0 -6
  446. package/dist/types/XyUserEventHandler.d.ts.map +0 -1
  447. package/dist/types/index.d.ts +0 -13
  448. package/dist/types/index.d.ts.map +0 -1
  449. package/src/types/async-mutex.d.ts +0 -1
  450. package/yarn-error.log +0 -8403
  451. /package/dist/{types/Api/UserEventSystem.d.ts → browser/Api/UserEventSystem.d.cts} +0 -0
  452. /package/dist/{types/Api/UserEventSystem.d.ts.map → browser/Api/UserEventSystem.d.cts.map} +0 -0
  453. /package/dist/{types/CommonFields.d.ts → browser/CommonFields.d.cts} +0 -0
  454. /package/dist/{types/CommonFields.d.ts.map → browser/CommonFields.d.cts.map} +0 -0
  455. /package/dist/{types/ExIds.d.ts → browser/ExIds.d.cts} +0 -0
  456. /package/dist/{types/ExIds.d.ts.map → browser/ExIds.d.cts.map} +0 -0
  457. /package/dist/{types/Referrer.d.ts → browser/Referrer.d.cts} +0 -0
  458. /package/dist/{types/UniqueUserId.d.ts → browser/UniqueUserId.d.cts} +0 -0
  459. /package/dist/{types/UtmFields.d.ts → browser/UtmFields.d.cts} +0 -0
  460. /package/dist/{types/XyLabsTrackingEventJson.d.ts → browser/XyLabsTrackingEventJson.d.cts} +0 -0
  461. /package/dist/{types/XyLabsTrackingEventJson.d.ts.map → browser/XyLabsTrackingEventJson.d.cts.map} +0 -0
  462. /package/dist/{types/getSystemInfo.d.ts → browser/getSystemInfo.d.cts} +0 -0
  463. /package/dist/{types/getSystemInfo.d.ts.map → browser/getSystemInfo.d.cts.map} +0 -0
@@ -0,0 +1,254 @@
1
+ // src/Api/Api.ts
2
+ import axios from "axios";
3
+ var apiBaseUri = {
4
+ beta: "https://pixel.xylabs.com",
5
+ local: "http://localhost:3030",
6
+ prod: "https://pixel.xylabs.com"
7
+ };
8
+ var PixelApi = class {
9
+ endPoint;
10
+ /* baseUri can either be a preset (prod, beta, local), or a specific uri */
11
+ constructor(baseUri = "prod") {
12
+ this.endPoint = apiBaseUri[baseUri] ? `${apiBaseUri[baseUri]}/t/event/queue` : baseUri;
13
+ }
14
+ async trackEvents(events) {
15
+ return (await axios.post(this.endPoint, events)).data;
16
+ }
17
+ };
18
+
19
+ // src/Pixel.ts
20
+ import { assertEx } from "@xylabs/assert";
21
+ import { Mutex } from "async-mutex";
22
+ import Cookies from "js-cookie";
23
+ import md5 from "md5";
24
+
25
+ // src/getSystemInfo.ts
26
+ import { parse } from "bowser";
27
+ var systemInfo;
28
+ var getSystemInfo = () => {
29
+ try {
30
+ systemInfo = systemInfo || parse(window.navigator.userAgent);
31
+ } catch (ex) {
32
+ console.log(`getSystemInfo Error: ${ex}`);
33
+ }
34
+ return systemInfo;
35
+ };
36
+
37
+ // src/Referrer.ts
38
+ var Referrer = class _Referrer {
39
+ static storageId = "_coin_referrer";
40
+ local;
41
+ session;
42
+ constructor() {
43
+ this.session = this.getFromSession() ?? document.referrer;
44
+ sessionStorage.setItem(_Referrer.storageId, this.session);
45
+ this.local = this.getFromLocal() ?? document.referrer;
46
+ window.localStorage.setItem(_Referrer.storageId, this.local);
47
+ }
48
+ toJson() {
49
+ if (this.local && this.local.length > 0 || this.session && this.session.length > 0) {
50
+ return {
51
+ local: this.local,
52
+ session: this.session
53
+ };
54
+ }
55
+ }
56
+ getFromLocal() {
57
+ const value = window.localStorage.getItem(_Referrer.storageId);
58
+ if (value && value.length > 0) {
59
+ return value;
60
+ }
61
+ }
62
+ getFromSession() {
63
+ const value = sessionStorage.getItem(_Referrer.storageId);
64
+ if (value && value.length > 0) {
65
+ return value;
66
+ }
67
+ }
68
+ };
69
+
70
+ // src/UniqueUserId.ts
71
+ import randomBytes from "randombytes";
72
+ var UniqueUserId = class _UniqueUserId {
73
+ static localStorageId = "_coin_cid";
74
+ id;
75
+ constructor() {
76
+ this.id = window.localStorage.getItem(_UniqueUserId.localStorageId) ?? this.generateId();
77
+ window.localStorage.setItem(_UniqueUserId.localStorageId, this.id);
78
+ }
79
+ toString() {
80
+ return this.id;
81
+ }
82
+ generateId() {
83
+ return randomBytes(16).toString("base64");
84
+ }
85
+ };
86
+
87
+ // src/UtmFields.ts
88
+ import { isEqual } from "@xylabs/lodash";
89
+ var UtmFields = class _UtmFields {
90
+ static localStorageId = "_coin_utm";
91
+ fields = [];
92
+ constructor() {
93
+ const storedString = window.localStorage.getItem(_UtmFields.localStorageId) ?? "[]";
94
+ try {
95
+ this.fields = JSON.parse(storedString);
96
+ } catch {
97
+ this.fields = [];
98
+ }
99
+ if (!Array.isArray(this.fields)) {
100
+ this.fields = [];
101
+ }
102
+ this.update();
103
+ window.localStorage.setItem(_UtmFields.localStorageId, JSON.stringify(this.fields));
104
+ }
105
+ getUtmRecord = () => {
106
+ var _a;
107
+ const record = {};
108
+ const parsedQueryString = ((_a = document.location.search.split("?")[1]) == null ? void 0 : _a.split("&")) ?? [];
109
+ parsedQueryString.map((item) => {
110
+ const [fullKey, value] = item.split("=");
111
+ const [keyCategory, keyName] = fullKey.split("_");
112
+ if (keyCategory === "utm") {
113
+ record[keyName] = value;
114
+ }
115
+ });
116
+ return Object.keys(record).length > 0 ? record : null;
117
+ };
118
+ toString() {
119
+ return JSON.stringify(this.fields);
120
+ }
121
+ //check the query string and if there an new/updated utm values, add them to the fields
122
+ update() {
123
+ const record = this.getUtmRecord();
124
+ if (record && !isEqual(this.fields.at(-1), record)) {
125
+ this.fields.push(record);
126
+ }
127
+ return this.fields ?? void 0;
128
+ }
129
+ };
130
+
131
+ // src/Pixel.ts
132
+ var emailHashLocalStorageName = "xy_email_hash";
133
+ var XyPixel = class _XyPixel {
134
+ static api = new PixelApi();
135
+ static _instance;
136
+ static utmFieldsObj;
137
+ cid = new UniqueUserId().id;
138
+ email;
139
+ email_hash;
140
+ exids;
141
+ pixelId;
142
+ queue = [];
143
+ queueMutex = new Mutex();
144
+ constructor(pixelId) {
145
+ this.pixelId = pixelId;
146
+ this.email_hash = localStorage.getItem(emailHashLocalStorageName);
147
+ }
148
+ static get instance() {
149
+ return assertEx(this._instance, "XyPixel uninitialized");
150
+ }
151
+ static init(pixelId) {
152
+ this._instance = new _XyPixel(pixelId);
153
+ return this._instance;
154
+ }
155
+ static selectApi(api) {
156
+ this.api = api;
157
+ }
158
+ static utmFields = () => {
159
+ if (_XyPixel.utmFieldsObj === void 0) {
160
+ _XyPixel.utmFieldsObj = new UtmFields();
161
+ }
162
+ return _XyPixel.utmFieldsObj;
163
+ };
164
+ identify(email) {
165
+ this.email = email;
166
+ this.email_hash = email ? md5(email) : void 0;
167
+ if (this.email_hash) {
168
+ localStorage.setItem(emailHashLocalStorageName, this.email_hash);
169
+ }
170
+ }
171
+ async send(event, fields, eventId) {
172
+ this.updateFbId();
173
+ const utm = _XyPixel.utmFields().update();
174
+ const referrer = new Referrer();
175
+ this.queue.push({
176
+ cid: this.cid,
177
+ create_time: Date.now(),
178
+ email_hash: this.email_hash ?? void 0,
179
+ event,
180
+ event_id: eventId,
181
+ exids: this.exids,
182
+ fields,
183
+ host: document.location.host,
184
+ pathname: document.location.pathname,
185
+ pixel: this.pixelId,
186
+ referrer: referrer.toJson(),
187
+ system: getSystemInfo(),
188
+ utm
189
+ });
190
+ await this.tryFlushQueue();
191
+ }
192
+ async tryFlushQueue() {
193
+ await this.queueMutex.runExclusive(async () => {
194
+ if (this.queue.length === 0) return;
195
+ const api = _XyPixel.api;
196
+ if (api) {
197
+ const events = this.queue;
198
+ this.queue = [];
199
+ try {
200
+ await api.trackEvents(events);
201
+ } catch (ex) {
202
+ if (events) {
203
+ this.queue = [...this.queue, ...events];
204
+ }
205
+ console.error(ex);
206
+ }
207
+ }
208
+ });
209
+ }
210
+ updateFbId() {
211
+ this.exids = {
212
+ fbc: Cookies.get("_fbc"),
213
+ fbp: Cookies.get("_fbp"),
214
+ ga: Cookies.get("_ga"),
215
+ gclid: Cookies.get("_gcl_aw"),
216
+ rdt_uid: Cookies.get("rdt_uid"),
217
+ scid: Cookies.get("_scid"),
218
+ tt_sessionId: sessionStorage.getItem("tt_sessionId") ?? void 0
219
+ };
220
+ }
221
+ };
222
+
223
+ // src/UserEventHandler.ts
224
+ var UserEventHandler = class {
225
+ };
226
+
227
+ // src/XyUserEventHandler.ts
228
+ var XyUserEventHandler = class extends UserEventHandler {
229
+ constructor() {
230
+ super();
231
+ }
232
+ async funnelStarted(fields) {
233
+ return await XyPixel.instance.send("FunnelStarted", fields);
234
+ }
235
+ async testStarted(fields) {
236
+ return await XyPixel.instance.send("TestStarted", fields);
237
+ }
238
+ async userClick(fields) {
239
+ return await XyPixel.instance.send("ViewPage", fields);
240
+ }
241
+ async viewContent(fields) {
242
+ return await XyPixel.instance.send("ViewContent", fields);
243
+ }
244
+ };
245
+ export {
246
+ PixelApi,
247
+ Referrer,
248
+ UniqueUserId,
249
+ UserEventHandler,
250
+ UtmFields,
251
+ XyPixel,
252
+ XyUserEventHandler
253
+ };
254
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/Api/Api.ts","../../src/Pixel.ts","../../src/getSystemInfo.ts","../../src/Referrer.ts","../../src/UniqueUserId.ts","../../src/UtmFields.ts","../../src/UserEventHandler.ts","../../src/XyUserEventHandler.ts"],"sourcesContent":["import axios from 'axios'\n\nimport { UserEvent } from './UserEvent.js'\n\nconst apiBaseUri: Record<string, string> = {\n beta: 'https://pixel.xylabs.com',\n local: 'http://localhost:3030',\n prod: 'https://pixel.xylabs.com',\n}\n\nexport class PixelApi {\n private endPoint: string\n\n /* baseUri can either be a preset (prod, beta, local), or a specific uri */\n constructor(baseUri = 'prod') {\n this.endPoint = apiBaseUri[baseUri] ? `${apiBaseUri[baseUri]}/t/event/queue` : baseUri\n }\n\n async trackEvents(events: UserEvent[]) {\n return (await axios.post(this.endPoint, events)).data\n }\n}\n","import { assertEx } from '@xylabs/assert'\nimport { Mutex } from 'async-mutex'\nimport Cookies from 'js-cookie'\nimport md5 from 'md5'\n\nimport { PixelApi, UserEvent } from './Api/index.js'\nimport { ExIds } from './ExIds.js'\nimport { getSystemInfo } from './getSystemInfo.js'\nimport { Referrer } from './Referrer.js'\nimport { UniqueUserId } from './UniqueUserId.js'\nimport { UtmFields } from './UtmFields.js'\n\nconst emailHashLocalStorageName = 'xy_email_hash'\n\nexport class XyPixel {\n static api = new PixelApi()\n\n private static _instance?: XyPixel\n private static utmFieldsObj: UtmFields\n\n cid = new UniqueUserId().id\n email?: string\n email_hash?: string | null\n exids?: ExIds\n pixelId?: string\n\n queue: UserEvent[] = []\n\n private queueMutex = new Mutex()\n\n private constructor(pixelId: string) {\n this.pixelId = pixelId\n this.email_hash = localStorage.getItem(emailHashLocalStorageName)\n }\n\n static get instance(): XyPixel {\n return assertEx(this._instance, 'XyPixel uninitialized')\n }\n\n static init(pixelId: string) {\n this._instance = new XyPixel(pixelId)\n return this._instance\n }\n\n static selectApi(api: PixelApi) {\n this.api = api\n }\n\n private static utmFields = () => {\n if (XyPixel.utmFieldsObj === undefined) {\n XyPixel.utmFieldsObj = new UtmFields()\n }\n return XyPixel.utmFieldsObj\n }\n\n identify(email?: string) {\n this.email = email\n this.email_hash = email ? md5(email) : undefined\n if (this.email_hash) {\n localStorage.setItem(emailHashLocalStorageName, this.email_hash)\n }\n }\n\n async send<T extends Record<string, unknown>>(event: string, fields?: T, eventId?: string) {\n this.updateFbId()\n const utm = XyPixel.utmFields().update()\n const referrer = new Referrer()\n this.queue.push({\n cid: this.cid,\n create_time: Date.now(),\n email_hash: this.email_hash ?? undefined,\n event,\n event_id: eventId,\n exids: this.exids,\n fields,\n host: document.location.host,\n pathname: document.location.pathname,\n pixel: this.pixelId,\n referrer: referrer.toJson(),\n system: getSystemInfo(),\n utm,\n })\n await this.tryFlushQueue()\n }\n\n private async tryFlushQueue() {\n await this.queueMutex.runExclusive(async () => {\n if (this.queue.length === 0) return\n const api = XyPixel.api\n if (api) {\n const events = this.queue\n this.queue = []\n try {\n await api.trackEvents(events)\n } catch (ex) {\n if (events) {\n //put it back since it failed\n this.queue = [...this.queue, ...events]\n }\n console.error(ex)\n }\n }\n })\n }\n\n private updateFbId() {\n this.exids = {\n fbc: Cookies.get('_fbc'),\n fbp: Cookies.get('_fbp'),\n ga: Cookies.get('_ga'),\n gclid: Cookies.get('_gcl_aw'),\n rdt_uid: Cookies.get('rdt_uid'),\n scid: Cookies.get('_scid'),\n tt_sessionId: sessionStorage.getItem('tt_sessionId') ?? undefined,\n }\n }\n}\n","import { parse } from 'bowser'\n\nimport { UserEventSystem } from './Api/index.js'\n\nlet systemInfo: UserEventSystem | undefined\n\nexport const getSystemInfo = () => {\n try {\n systemInfo = systemInfo || parse(window.navigator.userAgent)\n } catch (ex) {\n console.log(`getSystemInfo Error: ${ex}`)\n }\n return systemInfo\n}\n","export class Referrer {\n private static storageId = '_coin_referrer'\n local: string\n session: string\n constructor() {\n this.session = this.getFromSession() ?? document.referrer\n sessionStorage.setItem(Referrer.storageId, this.session)\n this.local = this.getFromLocal() ?? document.referrer\n window.localStorage.setItem(Referrer.storageId, this.local)\n }\n\n toJson() {\n if ((this.local && this.local.length > 0) || (this.session && this.session.length > 0)) {\n return {\n local: this.local,\n session: this.session,\n }\n }\n }\n\n private getFromLocal() {\n const value = window.localStorage.getItem(Referrer.storageId)\n if (value && value.length > 0) {\n return value\n }\n }\n\n private getFromSession() {\n const value = sessionStorage.getItem(Referrer.storageId)\n if (value && value.length > 0) {\n return value\n }\n }\n}\n","import randomBytes from 'randombytes'\n\nexport class UniqueUserId {\n private static localStorageId = '_coin_cid'\n id: string\n\n constructor() {\n this.id = window.localStorage.getItem(UniqueUserId.localStorageId) ?? this.generateId()\n window.localStorage.setItem(UniqueUserId.localStorageId, this.id)\n }\n\n toString() {\n return this.id\n }\n\n private generateId() {\n return randomBytes(16).toString('base64')\n }\n}\n","import { isEqual } from '@xylabs/lodash'\n\nexport class UtmFields {\n private static localStorageId = '_coin_utm'\n fields: Record<string, string>[] = []\n constructor() {\n const storedString = window.localStorage.getItem(UtmFields.localStorageId) ?? '[]'\n try {\n this.fields = JSON.parse(storedString)\n } catch {\n this.fields = []\n }\n //this clears the old object version if needed\n if (!Array.isArray(this.fields)) {\n this.fields = []\n }\n this.update()\n window.localStorage.setItem(UtmFields.localStorageId, JSON.stringify(this.fields))\n }\n\n getUtmRecord = () => {\n const record: Record<string, string> = {}\n const parsedQueryString = document.location.search.split('?')[1]?.split('&') ?? []\n parsedQueryString.map((item) => {\n const [fullKey, value] = item.split('=')\n const [keyCategory, keyName] = fullKey.split('_')\n if (keyCategory === 'utm') {\n record[keyName] = value\n }\n })\n return Object.keys(record).length > 0 ? record : null\n }\n\n toString() {\n return JSON.stringify(this.fields)\n }\n\n //check the query string and if there an new/updated utm values, add them to the fields\n update() {\n const record = this.getUtmRecord()\n if (record && !isEqual(this.fields.at(-1), record)) {\n this.fields.push(record)\n }\n return this.fields ?? undefined\n }\n}\n","import { FunnelStartedFields } from './FunnelStartedFields.js'\nimport { TestStartedFields } from './TestStartedFields.js'\nimport { UserClickFields } from './UserClickFields.js'\nimport { ViewContentFields } from './ViewContentFields.js'\n\nexport abstract class UserEventHandler<T> {\n abstract funnelStarted(fields: T | FunnelStartedFields): Promise<void>\n abstract testStarted(fields: T | TestStartedFields): Promise<void>\n abstract userClick(fields: T | UserClickFields): Promise<void>\n abstract viewContent(fields: T | ViewContentFields): Promise<void>\n}\n","import { FunnelStartedFields } from './FunnelStartedFields.js'\nimport { XyPixel } from './Pixel.js'\nimport { TestStartedFields } from './TestStartedFields.js'\nimport { UserClickFields } from './UserClickFields.js'\nimport { UserEventHandler } from './UserEventHandler.js'\nimport { ViewContentFields } from './ViewContentFields.js'\n\nexport class XyUserEventHandler<T extends Record<string, unknown>> extends UserEventHandler<T> {\n constructor() {\n super()\n }\n\n async funnelStarted(fields: T | FunnelStartedFields) {\n return await XyPixel.instance.send('FunnelStarted', fields)\n }\n\n async testStarted(fields: T | TestStartedFields) {\n return await XyPixel.instance.send('TestStarted', fields)\n }\n\n async userClick(fields: T | UserClickFields) {\n return await XyPixel.instance.send('ViewPage', fields)\n }\n\n async viewContent(fields: T | ViewContentFields) {\n return await XyPixel.instance.send('ViewContent', fields)\n }\n}\n"],"mappings":"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","names":[]}
package/jest.config.cjs CHANGED
@@ -1,23 +1,25 @@
1
1
  const generateJestConfig = ({ esModules }) => {
2
- const esModuleslist = Array.isArray(esModules) ? esModules.join('|') : esModules
2
+ const esModulesList = Array.isArray(esModules) ? esModules.join('|') : esModules
3
3
  return {
4
- globals: {
5
- 'ts-jest': {
6
- tsconfig: 'tsconfig.test.json',
7
- },
8
- },
9
4
  moduleNameMapper: {
10
5
  '^(\\.{1,2}/.*)\\.js$': '$1',
11
6
  },
12
- preset: 'ts-jest/presets/default-esm',
7
+ preset: 'ts-jest',
13
8
  testEnvironment: 'jsdom',
14
- testRegex: '(/__tests__/.*|(\\.|/)(test|spec))\\.tsx?$',
9
+ testRegex: String.raw`(/__tests__/.*|(\.|/)(test|spec))\.tsx?$`,
15
10
  transform: {
16
- [`(${esModuleslist}).+\\.js$`]: 'babel-jest',
17
- '^.+\\.tsx?$': 'ts-jest',
11
+ [`(${esModulesList}).+\\.js$`]: 'babel-jest',
12
+ '^.+\\.tsx?$': [
13
+ 'ts-jest',
14
+ {
15
+ tsconfig: 'tsconfig.test.json',
16
+ useESM: true,
17
+ },
18
+ ],
18
19
  },
19
- transformIgnorePatterns: [`./node_modules/(?!${esModuleslist})`],
20
+ transformIgnorePatterns: [`./node_modules/(?!${esModulesList})`],
20
21
  }
21
22
  }
22
23
 
24
+ // eslint-disable-next-line no-undef
23
25
  module.exports = generateJestConfig({ esModules: ['is-ip', 'ip-regex'] })
package/package.json CHANGED
@@ -9,10 +9,11 @@
9
9
  "url": "https://github.com/xylabs/sdk-pixel-js/issues"
10
10
  },
11
11
  "dependencies": {
12
- "@xylabs/assert": "^2.7.1",
13
- "async-mutex": "^0.4.0",
12
+ "@xylabs/assert": "^3.5.9",
13
+ "@xylabs/lodash": "^3.5.9",
14
+ "async-mutex": "^0.5.0",
14
15
  "bowser": "^2.11.0",
15
- "js-cookie": "^3.0.1",
16
+ "js-cookie": "^3.0.5",
16
17
  "lodash-es": "^4.17.21",
17
18
  "md5": "^2.3.0",
18
19
  "randombytes": "^2.1.0"
@@ -22,44 +23,61 @@
22
23
  },
23
24
  "description": "Event Client for xylabs ESB",
24
25
  "devDependencies": {
25
- "@types/jest": "^29.4.0",
26
- "@types/js-cookie": "^3.0.2",
27
- "@types/jsdom": "^21.1.0",
28
- "@types/lodash-es": "^4.17.6",
29
- "@types/md5": "^2.3.2",
30
- "@types/node": "^18.13.0",
31
- "@types/randombytes": "^2.0.0",
32
- "@xylabs/eslint-config": "^2.13.11",
33
- "@xylabs/ts-scripts-yarn3": "^2.13.11",
34
- "@xylabs/tsconfig-dom": "^2.13.11",
35
- "axios": "^1.3.2",
36
- "eslint": "^8.33.0",
37
- "jest": "^29.4.2",
38
- "jest-environment-jsdom": "^29.4.2",
39
- "jsdom": "^21.1.0",
40
- "npm-package-json-lint": "^6.4.0",
41
- "reflect-metadata": "^0.1.13",
42
- "ts-jest": "^29.0.5",
43
- "ts-node": "^10.9.1",
44
- "typescript": "^4.9.5"
26
+ "@types/jest": "^29.5.12",
27
+ "@types/js-cookie": "^3.0.6",
28
+ "@types/jsdom": "^21.1.7",
29
+ "@types/lodash-es": "^4.17.12",
30
+ "@types/md5": "^2.3.5",
31
+ "@types/node": "^20.14.10",
32
+ "@types/randombytes": "^2.0.3",
33
+ "@xylabs/eslint-config": "^3.11.12",
34
+ "@xylabs/ts-scripts-yarn3": "^3.11.12",
35
+ "@xylabs/tsconfig-dom": "^3.11.12",
36
+ "@xylabs/tsconfig-dom-jest": "^3.11.12",
37
+ "@xylabs/tsconfig-jest": "^3.11.12",
38
+ "axios": "^1.7.2",
39
+ "eslint": "^9.6.0",
40
+ "jest": "^29.7.0",
41
+ "jest-environment-jsdom": "^29.7.0",
42
+ "jsdom": "^24.1.0",
43
+ "npm-package-json-lint": "^8.0.0",
44
+ "reflect-metadata": "^0.2.2",
45
+ "ts-jest": "^29.2.2",
46
+ "ts-node": "^10.9.2",
47
+ "typescript": "^5.5.3"
45
48
  },
46
- "main": "dist/cjs/index.js",
47
- "module": "dist/esm/index.js",
48
- "types": "dist/types/index.d.ts",
49
+ "resolutions": {
50
+ "eslint": "^8"
51
+ },
52
+ "types": "dist/browser/index.d.ts",
49
53
  "exports": {
50
54
  ".": {
51
55
  "node": {
52
- "import": "./dist/esm/index.js",
53
- "require": "./dist/cjs/index.js"
56
+ "import": {
57
+ "types": "./dist/node/index.d.mts",
58
+ "default": "./dist/node/index.js"
59
+ },
60
+ "require": {
61
+ "types": "./dist/node/index.d.cts",
62
+ "default": "./dist/node/index.cjs"
63
+ }
54
64
  },
55
65
  "browser": {
56
- "import": "./dist/esm/index.js",
57
- "require": "./dist/cjs/index.js"
66
+ "import": {
67
+ "types": "./dist/browser/index.d.mts",
68
+ "default": "./dist/browser/index.js"
69
+ },
70
+ "require": {
71
+ "types": "./dist/browser/index.d.cts",
72
+ "default": "./dist/browser/index.cjs"
73
+ }
58
74
  },
59
- "default": "./dist/esm/index.js"
75
+ "default": "./dist/browser/index.js"
60
76
  },
61
77
  "./package.json": "./package.json"
62
78
  },
79
+ "main": "dist/browser/index.cjs",
80
+ "module": "dist/browser/index.js",
63
81
  "homepage": "https://xylabs.com",
64
82
  "license": "LGPL-3.0-or-later",
65
83
  "name": "@xylabs/pixel",
@@ -71,6 +89,7 @@
71
89
  "url": "https://github.com/xylabs/sdk-pixel-js.git"
72
90
  },
73
91
  "sideEffects": false,
74
- "version": "1.4.14",
75
- "packageManager": "yarn@3.3.1"
92
+ "version": "1.6.0",
93
+ "packageManager": "yarn@4.3.1",
94
+ "type": "module"
76
95
  }
package/src/Api/Api.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import axios from 'axios'
2
2
 
3
- import { UserEvent } from './UserEvent'
3
+ import { UserEvent } from './UserEvent.js'
4
4
 
5
5
  const apiBaseUri: Record<string, string> = {
6
6
  beta: 'https://pixel.xylabs.com',
@@ -16,7 +16,7 @@ export class PixelApi {
16
16
  this.endPoint = apiBaseUri[baseUri] ? `${apiBaseUri[baseUri]}/t/event/queue` : baseUri
17
17
  }
18
18
 
19
- public async trackEvents(events: UserEvent[]) {
19
+ async trackEvents(events: UserEvent[]) {
20
20
  return (await axios.post(this.endPoint, events)).data
21
21
  }
22
22
  }
@@ -1,4 +1,5 @@
1
- import { UserEventSystem } from './UserEventSystem'
1
+ import { ExIds } from '../ExIds.js'
2
+ import { UserEventSystem } from './UserEventSystem.js'
2
3
 
3
4
  export interface UserEvent {
4
5
  cid: string
@@ -7,11 +8,13 @@ export interface UserEvent {
7
8
  email_hash?: string
8
9
  event?: string
9
10
  event_id?: string
11
+ exids?: ExIds
10
12
  fields?: Record<string, unknown>
11
13
  host?: string
12
14
  pathname?: string
13
15
  pixel?: string
14
16
  receive_time?: number
17
+ referrer?: { local: string; session: string }
15
18
  rid?: string
16
19
  system?: UserEventSystem
17
20
  uid?: string
package/src/Api/index.ts CHANGED
@@ -1,3 +1,3 @@
1
- export * from './Api'
2
- export * from './UserEvent'
3
- export * from './UserEventSystem'
1
+ export * from './Api.js'
2
+ export * from './UserEvent.js'
3
+ export * from './UserEventSystem.js'
@@ -1,4 +1,4 @@
1
- import { CommonFields } from './CommonFields'
1
+ import { CommonFields } from './CommonFields.js'
2
2
 
3
3
  export interface FunnelStartedFields extends CommonFields {
4
4
  name: string
package/src/Pixel.ts CHANGED
@@ -3,28 +3,28 @@ import { Mutex } from 'async-mutex'
3
3
  import Cookies from 'js-cookie'
4
4
  import md5 from 'md5'
5
5
 
6
- import { PixelApi, UserEvent } from './Api'
7
- import { ExIds } from './ExIds'
8
- import { getSystemInfo } from './getSystemInfo'
9
- import { Referrer } from './Referrer'
10
- import { UniqueUserId } from './UniqueUserId'
11
- import { UtmFields } from './UtmFields'
6
+ import { PixelApi, UserEvent } from './Api/index.js'
7
+ import { ExIds } from './ExIds.js'
8
+ import { getSystemInfo } from './getSystemInfo.js'
9
+ import { Referrer } from './Referrer.js'
10
+ import { UniqueUserId } from './UniqueUserId.js'
11
+ import { UtmFields } from './UtmFields.js'
12
12
 
13
13
  const emailHashLocalStorageName = 'xy_email_hash'
14
14
 
15
15
  export class XyPixel {
16
- public static api = new PixelApi()
16
+ static api = new PixelApi()
17
17
 
18
18
  private static _instance?: XyPixel
19
19
  private static utmFieldsObj: UtmFields
20
20
 
21
- public cid = new UniqueUserId().id
22
- public email?: string
23
- public email_hash?: string | null
24
- public exids?: ExIds
25
- public pixelId?: string
21
+ cid = new UniqueUserId().id
22
+ email?: string
23
+ email_hash?: string | null
24
+ exids?: ExIds
25
+ pixelId?: string
26
26
 
27
- public queue: UserEvent[] = []
27
+ queue: UserEvent[] = []
28
28
 
29
29
  private queueMutex = new Mutex()
30
30
 
@@ -33,16 +33,16 @@ export class XyPixel {
33
33
  this.email_hash = localStorage.getItem(emailHashLocalStorageName)
34
34
  }
35
35
 
36
- public static get instance(): XyPixel {
36
+ static get instance(): XyPixel {
37
37
  return assertEx(this._instance, 'XyPixel uninitialized')
38
38
  }
39
39
 
40
- public static init(pixelId: string) {
40
+ static init(pixelId: string) {
41
41
  this._instance = new XyPixel(pixelId)
42
42
  return this._instance
43
43
  }
44
44
 
45
- public static selectApi(api: PixelApi) {
45
+ static selectApi(api: PixelApi) {
46
46
  this.api = api
47
47
  }
48
48
 
@@ -53,7 +53,7 @@ export class XyPixel {
53
53
  return XyPixel.utmFieldsObj
54
54
  }
55
55
 
56
- public identify(email?: string) {
56
+ identify(email?: string) {
57
57
  this.email = email
58
58
  this.email_hash = email ? md5(email) : undefined
59
59
  if (this.email_hash) {
@@ -61,26 +61,24 @@ export class XyPixel {
61
61
  }
62
62
  }
63
63
 
64
- public async send<T extends Record<string, unknown>>(event: string, fields?: T, eventId?: string) {
64
+ async send<T extends Record<string, unknown>>(event: string, fields?: T, eventId?: string) {
65
65
  this.updateFbId()
66
66
  const utm = XyPixel.utmFields().update()
67
67
  const referrer = new Referrer()
68
68
  this.queue.push({
69
- ...{
70
- cid: this.cid,
71
- create_time: Date.now(),
72
- email_hash: this.email_hash ?? undefined,
73
- event,
74
- event_id: eventId,
75
- exids: this.exids,
76
- fields,
77
- host: document.location.host,
78
- pathname: document.location.pathname,
79
- pixel: this.pixelId,
80
- referrer: referrer.toJson(),
81
- system: getSystemInfo(),
82
- utm,
83
- },
69
+ cid: this.cid,
70
+ create_time: Date.now(),
71
+ email_hash: this.email_hash ?? undefined,
72
+ event,
73
+ event_id: eventId,
74
+ exids: this.exids,
75
+ fields,
76
+ host: document.location.host,
77
+ pathname: document.location.pathname,
78
+ pixel: this.pixelId,
79
+ referrer: referrer.toJson(),
80
+ system: getSystemInfo(),
81
+ utm,
84
82
  })
85
83
  await this.tryFlushQueue()
86
84
  }
@@ -97,7 +95,7 @@ export class XyPixel {
97
95
  } catch (ex) {
98
96
  if (events) {
99
97
  //put it back since it failed
100
- this.queue = this.queue.concat(events)
98
+ this.queue = [...this.queue, ...events]
101
99
  }
102
100
  console.error(ex)
103
101
  }
@@ -107,15 +105,13 @@ export class XyPixel {
107
105
 
108
106
  private updateFbId() {
109
107
  this.exids = {
110
- ...{
111
- fbc: Cookies.get('_fbc'),
112
- fbp: Cookies.get('_fbp'),
113
- ga: Cookies.get('_ga'),
114
- gclid: Cookies.get('_gcl_aw'),
115
- rdt_uid: Cookies.get('rdt_uid'),
116
- scid: Cookies.get('_scid'),
117
- tt_sessionId: sessionStorage.getItem('tt_sessionId') ?? undefined,
118
- },
108
+ fbc: Cookies.get('_fbc'),
109
+ fbp: Cookies.get('_fbp'),
110
+ ga: Cookies.get('_ga'),
111
+ gclid: Cookies.get('_gcl_aw'),
112
+ rdt_uid: Cookies.get('rdt_uid'),
113
+ scid: Cookies.get('_scid'),
114
+ tt_sessionId: sessionStorage.getItem('tt_sessionId') ?? undefined,
119
115
  }
120
116
  }
121
117
  }
package/src/Referrer.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export class Referrer {
2
2
  private static storageId = '_coin_referrer'
3
- public local: string
4
- public session: string
3
+ local: string
4
+ session: string
5
5
  constructor() {
6
6
  this.session = this.getFromSession() ?? document.referrer
7
7
  sessionStorage.setItem(Referrer.storageId, this.session)
@@ -9,7 +9,7 @@ export class Referrer {
9
9
  window.localStorage.setItem(Referrer.storageId, this.local)
10
10
  }
11
11
 
12
- public toJson() {
12
+ toJson() {
13
13
  if ((this.local && this.local.length > 0) || (this.session && this.session.length > 0)) {
14
14
  return {
15
15
  local: this.local,
@@ -1,4 +1,4 @@
1
- import { CommonFields } from './CommonFields'
1
+ import { CommonFields } from './CommonFields.js'
2
2
 
3
3
  export interface TestStartedFields extends CommonFields {
4
4
  name: string