@shware/analytics 3.6.3 → 3.7.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 (407) hide show
  1. package/README.md +50 -3
  2. package/dist/_virtual/_rolldown/runtime.cjs +23 -0
  3. package/dist/constants/storage.cjs +12 -37
  4. package/dist/constants/storage.cjs.map +1 -1
  5. package/dist/constants/storage.d.cts +10 -8
  6. package/dist/constants/storage.d.cts.map +1 -0
  7. package/dist/constants/storage.d.mts +13 -0
  8. package/dist/constants/storage.d.mts.map +1 -0
  9. package/dist/constants/storage.mjs +12 -13
  10. package/dist/constants/storage.mjs.map +1 -1
  11. package/dist/feedback/index.cjs +14 -40
  12. package/dist/feedback/index.cjs.map +1 -1
  13. package/dist/feedback/index.d.cts +4 -4
  14. package/dist/feedback/index.d.cts.map +1 -0
  15. package/dist/feedback/index.d.mts +6 -0
  16. package/dist/feedback/index.d.mts.map +1 -0
  17. package/dist/feedback/index.mjs +12 -14
  18. package/dist/feedback/index.mjs.map +1 -1
  19. package/dist/hooks/use-app-analytics.cjs +46 -65
  20. package/dist/hooks/use-app-analytics.cjs.map +1 -1
  21. package/dist/hooks/use-app-analytics.d.cts +3 -1
  22. package/dist/hooks/use-app-analytics.d.cts.map +1 -0
  23. package/dist/hooks/use-app-analytics.d.mts +5 -0
  24. package/dist/hooks/use-app-analytics.d.mts.map +1 -0
  25. package/dist/hooks/use-app-analytics.mjs +41 -36
  26. package/dist/hooks/use-app-analytics.mjs.map +1 -1
  27. package/dist/hooks/use-click-id-persistence.cjs +43 -65
  28. package/dist/hooks/use-click-id-persistence.cjs.map +1 -1
  29. package/dist/hooks/use-click-id-persistence.d.cts +3 -1
  30. package/dist/hooks/use-click-id-persistence.d.cts.map +1 -0
  31. package/dist/hooks/use-click-id-persistence.d.mts +5 -0
  32. package/dist/hooks/use-click-id-persistence.d.mts.map +1 -0
  33. package/dist/hooks/use-click-id-persistence.mjs +40 -38
  34. package/dist/hooks/use-click-id-persistence.mjs.map +1 -1
  35. package/dist/hooks/use-outbound-click-analytics.cjs +33 -55
  36. package/dist/hooks/use-outbound-click-analytics.cjs.map +1 -1
  37. package/dist/hooks/use-outbound-click-analytics.d.cts +3 -1
  38. package/dist/hooks/use-outbound-click-analytics.d.cts.map +1 -0
  39. package/dist/hooks/{use-outbound-click-analytics.d.ts → use-outbound-click-analytics.d.mts} +3 -1
  40. package/dist/hooks/use-outbound-click-analytics.d.mts.map +1 -0
  41. package/dist/hooks/use-outbound-click-analytics.mjs +31 -29
  42. package/dist/hooks/use-outbound-click-analytics.mjs.map +1 -1
  43. package/dist/hooks/use-previous.cjs +11 -35
  44. package/dist/hooks/use-previous.cjs.map +1 -1
  45. package/dist/hooks/use-previous.d.cts +3 -1
  46. package/dist/hooks/use-previous.d.cts.map +1 -0
  47. package/dist/hooks/use-previous.d.mts +5 -0
  48. package/dist/hooks/use-previous.d.mts.map +1 -0
  49. package/dist/hooks/use-previous.mjs +9 -9
  50. package/dist/hooks/use-previous.mjs.map +1 -1
  51. package/dist/hooks/use-track-impression.cjs +24 -51
  52. package/dist/hooks/use-track-impression.cjs.map +1 -1
  53. package/dist/hooks/use-track-impression.d.cts +5 -6
  54. package/dist/hooks/use-track-impression.d.cts.map +1 -0
  55. package/dist/hooks/use-track-impression.d.mts +6 -0
  56. package/dist/hooks/use-track-impression.d.mts.map +1 -0
  57. package/dist/hooks/use-track-impression.mjs +22 -25
  58. package/dist/hooks/use-track-impression.mjs.map +1 -1
  59. package/dist/hooks/use-web-analytics.cjs +98 -109
  60. package/dist/hooks/use-web-analytics.cjs.map +1 -1
  61. package/dist/hooks/use-web-analytics.d.cts +3 -1
  62. package/dist/hooks/use-web-analytics.d.cts.map +1 -0
  63. package/dist/hooks/{use-web-analytics.d.ts → use-web-analytics.d.mts} +3 -1
  64. package/dist/hooks/use-web-analytics.d.mts.map +1 -0
  65. package/dist/hooks/use-web-analytics.mjs +93 -80
  66. package/dist/hooks/use-web-analytics.mjs.map +1 -1
  67. package/dist/index.cjs +28 -74
  68. package/dist/index.d.cts +11 -13
  69. package/dist/index.d.mts +11 -0
  70. package/dist/index.mjs +3 -34
  71. package/dist/link/index.cjs +31 -58
  72. package/dist/link/index.cjs.map +1 -1
  73. package/dist/link/index.d.cts +7 -7
  74. package/dist/link/index.d.cts.map +1 -0
  75. package/dist/link/index.d.mts +11 -0
  76. package/dist/link/index.d.mts.map +1 -0
  77. package/dist/link/index.mjs +28 -31
  78. package/dist/link/index.mjs.map +1 -1
  79. package/dist/native/fbsdk.cjs +12 -34
  80. package/dist/native/fbsdk.cjs.map +1 -1
  81. package/dist/native/fbsdk.d.cts +4 -4
  82. package/dist/native/fbsdk.d.cts.map +1 -0
  83. package/dist/native/{fbsdk.d.ts → fbsdk.d.mts} +4 -4
  84. package/dist/native/fbsdk.d.mts.map +1 -0
  85. package/dist/native/fbsdk.mjs +10 -8
  86. package/dist/native/fbsdk.mjs.map +1 -1
  87. package/dist/native/fingerprint.cjs +41 -64
  88. package/dist/native/fingerprint.cjs.map +1 -1
  89. package/dist/native/fingerprint.d.cts +22 -20
  90. package/dist/native/fingerprint.d.cts.map +1 -0
  91. package/dist/native/fingerprint.d.mts +28 -0
  92. package/dist/native/fingerprint.d.mts.map +1 -0
  93. package/dist/native/fingerprint.mjs +36 -42
  94. package/dist/native/fingerprint.mjs.map +1 -1
  95. package/dist/native/firebase.cjs +12 -39
  96. package/dist/native/firebase.cjs.map +1 -1
  97. package/dist/native/firebase.d.cts +4 -4
  98. package/dist/native/firebase.d.cts.map +1 -0
  99. package/dist/native/firebase.d.mts +6 -0
  100. package/dist/native/firebase.d.mts.map +1 -0
  101. package/dist/native/firebase.mjs +10 -13
  102. package/dist/native/firebase.mjs.map +1 -1
  103. package/dist/native/index.cjs +11 -45
  104. package/dist/native/index.d.cts +4 -7
  105. package/dist/native/index.d.mts +4 -0
  106. package/dist/native/index.mjs +2 -12
  107. package/dist/native/posthog.cjs +5 -30
  108. package/dist/native/posthog.cjs.map +1 -1
  109. package/dist/native/posthog.d.cts +3 -1
  110. package/dist/native/posthog.d.cts.map +1 -0
  111. package/dist/native/posthog.d.mts +5 -0
  112. package/dist/native/posthog.d.mts.map +1 -0
  113. package/dist/native/posthog.mjs +5 -6
  114. package/dist/native/posthog.mjs.map +1 -1
  115. package/dist/native/setup.cjs +91 -129
  116. package/dist/native/setup.cjs.map +1 -1
  117. package/dist/native/setup.d.cts +6 -6
  118. package/dist/native/setup.d.cts.map +1 -0
  119. package/dist/native/{setup.d.ts → setup.d.mts} +6 -6
  120. package/dist/native/setup.d.mts.map +1 -0
  121. package/dist/native/setup.mjs +83 -105
  122. package/dist/native/setup.mjs.map +1 -1
  123. package/dist/next/index.cjs +72 -145
  124. package/dist/next/index.cjs.map +1 -1
  125. package/dist/next/index.d.cts +18 -19
  126. package/dist/next/index.d.cts.map +1 -0
  127. package/dist/next/index.d.mts +21 -0
  128. package/dist/next/index.d.mts.map +1 -0
  129. package/dist/next/index.mjs +65 -107
  130. package/dist/next/index.mjs.map +1 -1
  131. package/dist/react-router/index.cjs +80 -144
  132. package/dist/react-router/index.cjs.map +1 -1
  133. package/dist/react-router/index.d.cts +18 -19
  134. package/dist/react-router/index.d.cts.map +1 -0
  135. package/dist/react-router/index.d.mts +21 -0
  136. package/dist/react-router/index.d.mts.map +1 -0
  137. package/dist/react-router/index.mjs +75 -115
  138. package/dist/react-router/index.mjs.map +1 -1
  139. package/dist/schema/index.cjs +188 -233
  140. package/dist/schema/index.cjs.map +1 -1
  141. package/dist/schema/index.d.cts +236 -235
  142. package/dist/schema/index.d.cts.map +1 -0
  143. package/dist/schema/index.d.mts +325 -0
  144. package/dist/schema/index.d.mts.map +1 -0
  145. package/dist/schema/index.mjs +178 -222
  146. package/dist/schema/index.mjs.map +1 -1
  147. package/dist/server/index.cjs +9 -40
  148. package/dist/server/index.d.cts +5 -9
  149. package/dist/server/index.d.mts +5 -0
  150. package/dist/server/index.mjs +5 -12
  151. package/dist/server/linkedin-conversions-api.cjs +66 -95
  152. package/dist/server/linkedin-conversions-api.cjs.map +1 -1
  153. package/dist/server/linkedin-conversions-api.d.cts +45 -45
  154. package/dist/server/linkedin-conversions-api.d.cts.map +1 -0
  155. package/dist/server/linkedin-conversions-api.d.mts +56 -0
  156. package/dist/server/linkedin-conversions-api.d.mts.map +1 -0
  157. package/dist/server/linkedin-conversions-api.mjs +63 -68
  158. package/dist/server/linkedin-conversions-api.mjs.map +1 -1
  159. package/dist/server/meta-conversions-api.cjs +157 -265
  160. package/dist/server/meta-conversions-api.cjs.map +1 -1
  161. package/dist/server/meta-conversions-api.d.cts +8 -9
  162. package/dist/server/meta-conversions-api.d.cts.map +1 -0
  163. package/dist/server/meta-conversions-api.d.mts +10 -0
  164. package/dist/server/meta-conversions-api.d.mts.map +1 -0
  165. package/dist/server/meta-conversions-api.mjs +151 -243
  166. package/dist/server/meta-conversions-api.mjs.map +1 -1
  167. package/dist/server/openai-conversions-api.cjs +69 -96
  168. package/dist/server/openai-conversions-api.cjs.map +1 -1
  169. package/dist/server/openai-conversions-api.d.cts +34 -34
  170. package/dist/server/openai-conversions-api.d.cts.map +1 -0
  171. package/dist/server/openai-conversions-api.d.mts +47 -0
  172. package/dist/server/openai-conversions-api.d.mts.map +1 -0
  173. package/dist/server/openai-conversions-api.mjs +65 -68
  174. package/dist/server/openai-conversions-api.mjs.map +1 -1
  175. package/dist/server/reddit-conversions-api.cjs +64 -91
  176. package/dist/server/reddit-conversions-api.cjs.map +1 -1
  177. package/dist/server/reddit-conversions-api.d.cts +61 -61
  178. package/dist/server/reddit-conversions-api.d.cts.map +1 -0
  179. package/dist/server/reddit-conversions-api.d.mts +75 -0
  180. package/dist/server/reddit-conversions-api.d.mts.map +1 -0
  181. package/dist/server/reddit-conversions-api.mjs +59 -62
  182. package/dist/server/reddit-conversions-api.mjs.map +1 -1
  183. package/dist/setup/index.cjs +34 -63
  184. package/dist/setup/index.cjs.map +1 -1
  185. package/dist/setup/index.d.cts +30 -30
  186. package/dist/setup/index.d.cts.map +1 -0
  187. package/dist/setup/index.d.mts +41 -0
  188. package/dist/setup/index.d.mts.map +1 -0
  189. package/dist/setup/index.mjs +31 -36
  190. package/dist/setup/index.mjs.map +1 -1
  191. package/dist/setup/session.cjs +70 -106
  192. package/dist/setup/session.cjs.map +1 -1
  193. package/dist/setup/session.d.cts +26 -24
  194. package/dist/setup/session.d.cts.map +1 -0
  195. package/dist/setup/session.d.mts +31 -0
  196. package/dist/setup/session.d.mts.map +1 -0
  197. package/dist/setup/session.mjs +68 -80
  198. package/dist/setup/session.mjs.map +1 -1
  199. package/dist/tanstack/index.cjs +86 -156
  200. package/dist/tanstack/index.cjs.map +1 -1
  201. package/dist/tanstack/index.d.cts +19 -20
  202. package/dist/tanstack/index.d.cts.map +1 -0
  203. package/dist/tanstack/index.d.mts +22 -0
  204. package/dist/tanstack/index.d.mts.map +1 -0
  205. package/dist/tanstack/index.mjs +81 -127
  206. package/dist/tanstack/index.mjs.map +1 -1
  207. package/dist/third-parties/google-analytics.cjs +18 -43
  208. package/dist/third-parties/google-analytics.cjs.map +1 -1
  209. package/dist/third-parties/google-analytics.d.cts +7 -7
  210. package/dist/third-parties/google-analytics.d.cts.map +1 -0
  211. package/dist/third-parties/google-analytics.d.mts +12 -0
  212. package/dist/third-parties/google-analytics.d.mts.map +1 -0
  213. package/dist/third-parties/google-analytics.mjs +16 -17
  214. package/dist/third-parties/google-analytics.mjs.map +1 -1
  215. package/dist/third-parties/ignored-events.cjs +35 -68
  216. package/dist/third-parties/ignored-events.cjs.map +1 -1
  217. package/dist/third-parties/ignored-events.d.cts +3 -1
  218. package/dist/third-parties/ignored-events.d.cts.map +1 -0
  219. package/dist/third-parties/ignored-events.d.mts +5 -0
  220. package/dist/third-parties/ignored-events.d.mts.map +1 -0
  221. package/dist/third-parties/ignored-events.mjs +34 -43
  222. package/dist/third-parties/ignored-events.mjs.map +1 -1
  223. package/dist/third-parties/index.cjs +16 -53
  224. package/dist/third-parties/index.d.cts +6 -12
  225. package/dist/third-parties/index.d.mts +6 -0
  226. package/dist/third-parties/index.mjs +1 -14
  227. package/dist/third-parties/linkedin-insight-tag.cjs +28 -50
  228. package/dist/third-parties/linkedin-insight-tag.cjs.map +1 -1
  229. package/dist/third-parties/linkedin-insight-tag.d.cts +8 -9
  230. package/dist/third-parties/linkedin-insight-tag.d.cts.map +1 -0
  231. package/dist/third-parties/{linkedin-insight-tag.d.ts → linkedin-insight-tag.d.mts} +8 -9
  232. package/dist/third-parties/linkedin-insight-tag.d.mts.map +1 -0
  233. package/dist/third-parties/linkedin-insight-tag.mjs +25 -23
  234. package/dist/third-parties/linkedin-insight-tag.mjs.map +1 -1
  235. package/dist/third-parties/meta-pixel.cjs +45 -66
  236. package/dist/third-parties/meta-pixel.cjs.map +1 -1
  237. package/dist/third-parties/meta-pixel.d.cts +7 -8
  238. package/dist/third-parties/meta-pixel.d.cts.map +1 -0
  239. package/dist/third-parties/meta-pixel.d.mts +12 -0
  240. package/dist/third-parties/meta-pixel.d.mts.map +1 -0
  241. package/dist/third-parties/meta-pixel.mjs +41 -38
  242. package/dist/third-parties/meta-pixel.mjs.map +1 -1
  243. package/dist/third-parties/openai-pixel.cjs +63 -68
  244. package/dist/third-parties/openai-pixel.cjs.map +1 -1
  245. package/dist/third-parties/openai-pixel.d.cts +7 -8
  246. package/dist/third-parties/openai-pixel.d.cts.map +1 -0
  247. package/dist/third-parties/{openai-pixel.d.ts → openai-pixel.d.mts} +7 -8
  248. package/dist/third-parties/openai-pixel.d.mts.map +1 -0
  249. package/dist/third-parties/openai-pixel.mjs +60 -41
  250. package/dist/third-parties/openai-pixel.mjs.map +1 -1
  251. package/dist/third-parties/posthog.cjs +23 -43
  252. package/dist/third-parties/posthog.cjs.map +1 -1
  253. package/dist/third-parties/posthog.d.cts +5 -5
  254. package/dist/third-parties/posthog.d.cts.map +1 -0
  255. package/dist/third-parties/{posthog.d.ts → posthog.d.mts} +5 -5
  256. package/dist/third-parties/posthog.d.mts.map +1 -0
  257. package/dist/third-parties/posthog.mjs +20 -16
  258. package/dist/third-parties/posthog.mjs.map +1 -1
  259. package/dist/third-parties/reddit-pixel.cjs +37 -58
  260. package/dist/third-parties/reddit-pixel.cjs.map +1 -1
  261. package/dist/third-parties/reddit-pixel.d.cts +7 -8
  262. package/dist/third-parties/reddit-pixel.d.cts.map +1 -0
  263. package/dist/third-parties/reddit-pixel.d.mts +12 -0
  264. package/dist/third-parties/reddit-pixel.d.mts.map +1 -0
  265. package/dist/third-parties/reddit-pixel.mjs +33 -30
  266. package/dist/third-parties/reddit-pixel.mjs.map +1 -1
  267. package/dist/track/fbq.cjs +179 -135
  268. package/dist/track/fbq.cjs.map +1 -1
  269. package/dist/track/fbq.d.cts +234 -233
  270. package/dist/track/fbq.d.cts.map +1 -0
  271. package/dist/track/fbq.d.mts +280 -0
  272. package/dist/track/fbq.d.mts.map +1 -0
  273. package/dist/track/fbq.mjs +176 -108
  274. package/dist/track/fbq.mjs.map +1 -1
  275. package/dist/track/gtag.cjs +63 -86
  276. package/dist/track/gtag.cjs.map +1 -1
  277. package/dist/track/gtag.d.cts +685 -685
  278. package/dist/track/gtag.d.cts.map +1 -0
  279. package/dist/track/gtag.d.mts +762 -0
  280. package/dist/track/gtag.d.mts.map +1 -0
  281. package/dist/track/gtag.mjs +62 -61
  282. package/dist/track/gtag.mjs.map +1 -1
  283. package/dist/track/index.cjs +111 -136
  284. package/dist/track/index.cjs.map +1 -1
  285. package/dist/track/index.d.cts +8 -8
  286. package/dist/track/index.d.cts.map +1 -0
  287. package/dist/track/{index.d.ts → index.d.mts} +8 -8
  288. package/dist/track/index.d.mts.map +1 -0
  289. package/dist/track/index.mjs +105 -106
  290. package/dist/track/index.mjs.map +1 -1
  291. package/dist/track/lintrk.cjs +0 -19
  292. package/dist/track/lintrk.d.cts +12 -10
  293. package/dist/track/lintrk.d.cts.map +1 -0
  294. package/dist/track/lintrk.d.mts +14 -0
  295. package/dist/track/lintrk.d.mts.map +1 -0
  296. package/dist/track/lintrk.mjs +1 -1
  297. package/dist/track/oaiq.cjs +153 -146
  298. package/dist/track/oaiq.cjs.map +1 -1
  299. package/dist/track/oaiq.d.cts +65 -64
  300. package/dist/track/oaiq.d.cts.map +1 -0
  301. package/dist/track/oaiq.d.mts +112 -0
  302. package/dist/track/oaiq.d.mts.map +1 -0
  303. package/dist/track/oaiq.mjs +149 -118
  304. package/dist/track/oaiq.mjs.map +1 -1
  305. package/dist/track/rdt.cjs +66 -110
  306. package/dist/track/rdt.cjs.map +1 -1
  307. package/dist/track/rdt.d.cts +74 -73
  308. package/dist/track/rdt.d.cts.map +1 -0
  309. package/dist/track/rdt.d.mts +97 -0
  310. package/dist/track/rdt.d.mts.map +1 -0
  311. package/dist/track/rdt.mjs +63 -83
  312. package/dist/track/rdt.mjs.map +1 -1
  313. package/dist/track/types.cjs +0 -19
  314. package/dist/track/types.d.cts +140 -111
  315. package/dist/track/types.d.cts.map +1 -0
  316. package/dist/track/types.d.mts +171 -0
  317. package/dist/track/types.d.mts.map +1 -0
  318. package/dist/track/types.mjs +1 -1
  319. package/dist/utils/field.cjs +8 -32
  320. package/dist/utils/field.cjs.map +1 -1
  321. package/dist/utils/field.d.cts +3 -1
  322. package/dist/utils/field.d.cts.map +1 -0
  323. package/dist/utils/{field.d.ts → field.d.mts} +3 -1
  324. package/dist/utils/field.d.mts.map +1 -0
  325. package/dist/utils/field.mjs +7 -7
  326. package/dist/utils/field.mjs.map +1 -1
  327. package/dist/utils/stripe.cjs +25 -49
  328. package/dist/utils/stripe.cjs.map +1 -1
  329. package/dist/utils/stripe.d.cts +3 -1
  330. package/dist/utils/stripe.d.cts.map +1 -0
  331. package/dist/utils/{stripe.d.ts → stripe.d.mts} +3 -1
  332. package/dist/utils/stripe.d.mts.map +1 -0
  333. package/dist/utils/stripe.mjs +23 -23
  334. package/dist/utils/stripe.mjs.map +1 -1
  335. package/dist/visitor/index.cjs +54 -86
  336. package/dist/visitor/index.cjs.map +1 -1
  337. package/dist/visitor/index.d.cts +4 -5
  338. package/dist/visitor/index.d.cts.map +1 -0
  339. package/dist/visitor/{index.d.ts → index.d.mts} +4 -5
  340. package/dist/visitor/index.d.mts.map +1 -0
  341. package/dist/visitor/index.mjs +51 -59
  342. package/dist/visitor/index.mjs.map +1 -1
  343. package/dist/visitor/types.cjs +0 -19
  344. package/dist/visitor/types.d.cts +15 -14
  345. package/dist/visitor/types.d.cts.map +1 -0
  346. package/dist/visitor/types.d.mts +21 -0
  347. package/dist/visitor/types.d.mts.map +1 -0
  348. package/dist/visitor/types.mjs +1 -1
  349. package/dist/web/index.cjs +108 -148
  350. package/dist/web/index.cjs.map +1 -1
  351. package/dist/web/index.d.cts +5 -6
  352. package/dist/web/index.d.cts.map +1 -0
  353. package/dist/web/index.d.mts +9 -0
  354. package/dist/web/index.d.mts.map +1 -0
  355. package/dist/web/index.mjs +101 -109
  356. package/dist/web/index.mjs.map +1 -1
  357. package/package.json +103 -50
  358. package/dist/constants/storage.d.ts +0 -11
  359. package/dist/feedback/index.d.ts +0 -6
  360. package/dist/hooks/use-app-analytics.d.ts +0 -3
  361. package/dist/hooks/use-click-id-persistence.d.ts +0 -3
  362. package/dist/hooks/use-previous.d.ts +0 -3
  363. package/dist/hooks/use-track-impression.d.ts +0 -7
  364. package/dist/index.cjs.map +0 -1
  365. package/dist/index.d.ts +0 -13
  366. package/dist/index.mjs.map +0 -1
  367. package/dist/link/index.d.ts +0 -11
  368. package/dist/native/fingerprint.d.ts +0 -26
  369. package/dist/native/firebase.d.ts +0 -6
  370. package/dist/native/index.cjs.map +0 -1
  371. package/dist/native/index.d.ts +0 -7
  372. package/dist/native/index.mjs.map +0 -1
  373. package/dist/native/posthog.d.ts +0 -3
  374. package/dist/next/index.d.ts +0 -22
  375. package/dist/react-router/index.d.ts +0 -22
  376. package/dist/schema/index.d.ts +0 -324
  377. package/dist/server/index.cjs.map +0 -1
  378. package/dist/server/index.d.ts +0 -9
  379. package/dist/server/index.mjs.map +0 -1
  380. package/dist/server/linkedin-conversions-api.d.ts +0 -56
  381. package/dist/server/meta-conversions-api.d.ts +0 -11
  382. package/dist/server/openai-conversions-api.d.ts +0 -47
  383. package/dist/server/reddit-conversions-api.d.ts +0 -75
  384. package/dist/setup/index.d.ts +0 -41
  385. package/dist/setup/session.d.ts +0 -29
  386. package/dist/tanstack/index.d.ts +0 -23
  387. package/dist/third-parties/google-analytics.d.ts +0 -12
  388. package/dist/third-parties/ignored-events.d.ts +0 -3
  389. package/dist/third-parties/index.cjs.map +0 -1
  390. package/dist/third-parties/index.d.ts +0 -12
  391. package/dist/third-parties/index.mjs.map +0 -1
  392. package/dist/third-parties/meta-pixel.d.ts +0 -13
  393. package/dist/third-parties/reddit-pixel.d.ts +0 -13
  394. package/dist/track/fbq.d.ts +0 -279
  395. package/dist/track/gtag.d.ts +0 -762
  396. package/dist/track/lintrk.cjs.map +0 -1
  397. package/dist/track/lintrk.d.ts +0 -12
  398. package/dist/track/lintrk.mjs.map +0 -1
  399. package/dist/track/oaiq.d.ts +0 -111
  400. package/dist/track/rdt.d.ts +0 -96
  401. package/dist/track/types.cjs.map +0 -1
  402. package/dist/track/types.d.ts +0 -142
  403. package/dist/track/types.mjs.map +0 -1
  404. package/dist/visitor/types.cjs.map +0 -1
  405. package/dist/visitor/types.d.ts +0 -20
  406. package/dist/visitor/types.mjs.map +0 -1
  407. package/dist/web/index.d.ts +0 -10
@@ -1,282 +1,174 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
-
20
- // src/server/meta-conversions-api.ts
21
- var meta_conversions_api_exports = {};
22
- __export(meta_conversions_api_exports, {
23
- getServerEvent: () => getServerEvent,
24
- sendEvent: () => sendEvent,
25
- sendEvents: () => sendEvents,
26
- sendTestEvent: () => sendTestEvent
27
- });
28
- module.exports = __toCommonJS(meta_conversions_api_exports);
29
- var import_facebook_nodejs_business_sdk = require("facebook-nodejs-business-sdk");
30
- var import_ignored_events = require("../third-parties/ignored-events.cjs");
31
- var import_fbq = require("../track/fbq.cjs");
32
- var USER_ASSIGNED_COUNTRIES = ["xk"];
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_third_parties_ignored_events = require("../third-parties/ignored-events.cjs");
3
+ const require_track_fbq = require("../track/fbq.cjs");
4
+ let facebook_nodejs_business_sdk = require("facebook-nodejs-business-sdk");
5
+ //#region src/server/meta-conversions-api.ts
6
+ const USER_ASSIGNED_COUNTRIES = ["xk"];
33
7
  function normalizeCountry(input) {
34
- var _a;
35
- const country = (_a = input == null ? void 0 : input.split(/[-_]/).at(0)) == null ? void 0 : _a.toLowerCase();
36
- if (!country) return void 0;
37
- return USER_ASSIGNED_COUNTRIES.includes(country) ? void 0 : country;
8
+ const country = input?.split(/[-_]/).at(0)?.toLowerCase();
9
+ if (!country) return void 0;
10
+ return USER_ASSIGNED_COUNTRIES.includes(country) ? void 0 : country;
38
11
  }
39
12
  function getUserData(tags, data) {
40
- const userData = new import_facebook_nodejs_business_sdk.UserData();
41
- if (data.email) {
42
- if (Array.isArray(data.email)) {
43
- userData.setEmails(data.email);
44
- } else {
45
- userData.setEmail(data.email);
46
- }
47
- }
48
- if (data.phone_number) {
49
- if (Array.isArray(data.phone_number)) {
50
- userData.setPhones(data.phone_number);
51
- } else {
52
- userData.setPhone(data.phone_number);
53
- }
54
- }
55
- if (data.gender) {
56
- if (data.gender === "female") {
57
- userData.setGender("f");
58
- } else if (data.gender === "male") {
59
- userData.setGender("m");
60
- }
61
- }
62
- if (data.address) {
63
- if (Array.isArray(data.address)) {
64
- const firstNames = data.address.map((a) => a.first_name).filter(Boolean);
65
- const lastNames = data.address.map((a) => a.last_name).filter(Boolean);
66
- const cities = data.address.map((a) => a.city).filter(Boolean);
67
- const states = data.address.map((a) => a.region).filter(Boolean);
68
- const postalCodes = data.address.map((a) => a.postal_code).filter(Boolean);
69
- const countries = data.address.map((a) => normalizeCountry(a.country)).filter(Boolean);
70
- userData.setFirstNames(firstNames);
71
- userData.setLastNames(lastNames);
72
- userData.setCities(cities);
73
- userData.setStates(states);
74
- userData.setZips(postalCodes);
75
- userData.setCountries(countries);
76
- } else {
77
- if (data.address.first_name) {
78
- userData.setFirstName(data.address.first_name);
79
- userData.setF5First(data.address.first_name.slice(0, 5));
80
- }
81
- if (data.address.last_name) {
82
- userData.setLastName(data.address.last_name);
83
- userData.setF5Last(data.address.last_name.slice(0, 5));
84
- }
85
- if (data.address.city) userData.setCity(data.address.city);
86
- if (data.address.region) userData.setState(data.address.region);
87
- if (data.address.postal_code) userData.setZip(data.address.postal_code);
88
- if (data.address.country) {
89
- const country = normalizeCountry(data.address.country);
90
- if (country) userData.setCountry(country);
91
- }
92
- }
93
- }
94
- if (data.birthday) {
95
- userData.setDoby(data.birthday.year.toString());
96
- userData.setDobm(data.birthday.month.toString());
97
- userData.setDobd(data.birthday.day.toString());
98
- }
99
- if (data.user_id && data.user_id.length !== 0) {
100
- userData.setExternalId(data.user_id);
101
- }
102
- if (data.ip_address) {
103
- userData.setClientIpAddress(data.ip_address);
104
- }
105
- if (data.user_agent) {
106
- userData.setClientUserAgent(data.user_agent);
107
- }
108
- if (data.fb_login_id) {
109
- userData.setFbLoginId(data.fb_login_id);
110
- }
111
- if (data.fb_page_id) {
112
- userData.setPageId(data.fb_page_id);
113
- }
114
- if (tags.fbc) {
115
- userData.setFbc(tags.fbc);
116
- } else if (tags.fbclid) {
117
- const fbc = `fb.1.${Date.now()}.${tags.fbclid}`;
118
- userData.setFbc(fbc);
119
- }
120
- if (tags.fbp) {
121
- userData.setFbp(tags.fbp);
122
- }
123
- if (tags.advertising_id) {
124
- userData.setMadid(tags.advertising_id);
125
- }
126
- if (tags.ip_address && typeof tags.ip_address === "string") {
127
- userData.setClientIpAddress(tags.ip_address);
128
- }
129
- return userData;
13
+ const userData = new facebook_nodejs_business_sdk.UserData();
14
+ if (data.email) if (Array.isArray(data.email)) userData.setEmails(data.email);
15
+ else userData.setEmail(data.email);
16
+ if (data.phone_number) if (Array.isArray(data.phone_number)) userData.setPhones(data.phone_number);
17
+ else userData.setPhone(data.phone_number);
18
+ if (data.gender) {
19
+ if (data.gender === "female") userData.setGender("f");
20
+ else if (data.gender === "male") userData.setGender("m");
21
+ }
22
+ if (data.address) if (Array.isArray(data.address)) {
23
+ const firstNames = data.address.map((a) => a.first_name).filter(Boolean);
24
+ const lastNames = data.address.map((a) => a.last_name).filter(Boolean);
25
+ const cities = data.address.map((a) => a.city).filter(Boolean);
26
+ const states = data.address.map((a) => a.region).filter(Boolean);
27
+ const postalCodes = data.address.map((a) => a.postal_code).filter(Boolean);
28
+ const countries = data.address.map((a) => normalizeCountry(a.country)).filter(Boolean);
29
+ userData.setFirstNames(firstNames);
30
+ userData.setLastNames(lastNames);
31
+ userData.setCities(cities);
32
+ userData.setStates(states);
33
+ userData.setZips(postalCodes);
34
+ userData.setCountries(countries);
35
+ } else {
36
+ if (data.address.first_name) {
37
+ userData.setFirstName(data.address.first_name);
38
+ userData.setF5First(data.address.first_name.slice(0, 5));
39
+ }
40
+ if (data.address.last_name) {
41
+ userData.setLastName(data.address.last_name);
42
+ userData.setF5Last(data.address.last_name.slice(0, 5));
43
+ }
44
+ if (data.address.city) userData.setCity(data.address.city);
45
+ if (data.address.region) userData.setState(data.address.region);
46
+ if (data.address.postal_code) userData.setZip(data.address.postal_code);
47
+ if (data.address.country) {
48
+ const country = normalizeCountry(data.address.country);
49
+ if (country) userData.setCountry(country);
50
+ }
51
+ }
52
+ if (data.birthday) {
53
+ userData.setDoby(data.birthday.year.toString());
54
+ userData.setDobm(data.birthday.month.toString());
55
+ userData.setDobd(data.birthday.day.toString());
56
+ }
57
+ if (data.user_id && data.user_id.length !== 0) userData.setExternalId(data.user_id);
58
+ if (data.ip_address) userData.setClientIpAddress(data.ip_address);
59
+ if (data.user_agent) userData.setClientUserAgent(data.user_agent);
60
+ if (data.fb_login_id) userData.setFbLoginId(data.fb_login_id);
61
+ if (data.fb_page_id) userData.setPageId(data.fb_page_id);
62
+ if (tags.fbc) userData.setFbc(tags.fbc);
63
+ else if (tags.fbclid) {
64
+ const fbc = `fb.1.${Date.now()}.${tags.fbclid}`;
65
+ userData.setFbc(fbc);
66
+ }
67
+ if (tags.fbp) userData.setFbp(tags.fbp);
68
+ if (tags.advertising_id) userData.setMadid(tags.advertising_id);
69
+ if (tags.ip_address && typeof tags.ip_address === "string") userData.setClientIpAddress(tags.ip_address);
70
+ return userData;
130
71
  }
131
72
  function getAppData(tags, appPackageName) {
132
- var _a;
133
- const extinfo = new import_facebook_nodejs_business_sdk.ExtendedDeviceInfo();
134
- if (tags.os_name) {
135
- if (tags.os_name === "iOS" || tags.os_name === "iPadOS") {
136
- extinfo.setExtInfoVersion("i2");
137
- } else if (tags.os_name === "Android") {
138
- extinfo.setExtInfoVersion("a2");
139
- }
140
- }
141
- extinfo.setAppPackageName(appPackageName);
142
- const shortVersion = (_a = tags.release) == null ? void 0 : _a.split(".").at(0);
143
- if (shortVersion) {
144
- extinfo.setShortVersion(shortVersion);
145
- }
146
- if (tags.release) {
147
- extinfo.setLongVersion(tags.release);
148
- }
149
- if (tags.os_version) {
150
- extinfo.setOsVersion(tags.os_version);
151
- }
152
- if (tags.device_model_id) {
153
- extinfo.setDeviceModelName(tags.device_model_id);
154
- }
155
- if (tags.language) {
156
- extinfo.setLocale(tags.language);
157
- }
158
- if (tags.screen_width) {
159
- extinfo.setScreenWidth(tags.screen_width);
160
- }
161
- if (tags.screen_height) {
162
- extinfo.setScreenHeight(tags.screen_height);
163
- }
164
- if (tags.device_pixel_ratio) {
165
- extinfo.setScreenDensity(tags.device_pixel_ratio.toString());
166
- }
167
- const appData = new import_facebook_nodejs_business_sdk.AppData();
168
- appData.setExtinfo(extinfo);
169
- if (tags.install_referrer) {
170
- appData.setInstallReferrer(tags.install_referrer);
171
- }
172
- if (tags.advertising_id) {
173
- appData.setAdvertiserTrackingEnabled(true);
174
- }
175
- if (tags.install_referrer) {
176
- appData.setInstallReferrer(tags.install_referrer);
177
- }
178
- return appData;
73
+ const extinfo = new facebook_nodejs_business_sdk.ExtendedDeviceInfo();
74
+ if (tags.os_name) {
75
+ if (tags.os_name === "iOS" || tags.os_name === "iPadOS") extinfo.setExtInfoVersion("i2");
76
+ else if (tags.os_name === "Android") extinfo.setExtInfoVersion("a2");
77
+ }
78
+ extinfo.setAppPackageName(appPackageName);
79
+ const shortVersion = tags.release?.split(".").at(0);
80
+ if (shortVersion) extinfo.setShortVersion(shortVersion);
81
+ if (tags.release) extinfo.setLongVersion(tags.release);
82
+ if (tags.os_version) extinfo.setOsVersion(tags.os_version);
83
+ if (tags.device_model_id) extinfo.setDeviceModelName(tags.device_model_id);
84
+ if (tags.language) extinfo.setLocale(tags.language);
85
+ if (tags.screen_width) extinfo.setScreenWidth(tags.screen_width);
86
+ if (tags.screen_height) extinfo.setScreenHeight(tags.screen_height);
87
+ if (tags.device_pixel_ratio) extinfo.setScreenDensity(tags.device_pixel_ratio.toString());
88
+ const appData = new facebook_nodejs_business_sdk.AppData();
89
+ appData.setExtinfo(extinfo);
90
+ if (tags.install_referrer) appData.setInstallReferrer(tags.install_referrer);
91
+ if (tags.advertising_id) appData.setAdvertiserTrackingEnabled(true);
92
+ if (tags.install_referrer) appData.setInstallReferrer(tags.install_referrer);
93
+ return appData;
179
94
  }
180
95
  function getCustomData({ name, properties }) {
181
- const data = new import_facebook_nodejs_business_sdk.CustomData();
182
- const [_, _name, fbEventProperties] = (0, import_fbq.mapFBEvent)(name, properties);
183
- const {
184
- value,
185
- currency,
186
- content_name,
187
- content_category,
188
- content_ids,
189
- contents,
190
- content_type,
191
- // order_id,
192
- predicted_ltv,
193
- num_items,
194
- search_string,
195
- status,
196
- // item_number,
197
- delivery_category,
198
- ...custom_properties
199
- } = fbEventProperties;
200
- if (value !== void 0 && value !== null) data.setValue(value);
201
- if (currency) data.setCurrency(currency);
202
- if (content_name) data.setContentName(content_name);
203
- if (content_category) data.setContentCategory(content_category);
204
- if (content_ids) data.setContentIds(content_ids);
205
- if (contents)
206
- data.setContents(
207
- contents.map((c) => {
208
- const result = new import_facebook_nodejs_business_sdk.Content().setId(c.id).setQuantity(c.quantity);
209
- if (c.item_price) result.setItemPrice(c.item_price);
210
- if (c.title) result.setTitle(c.title);
211
- if (c.description) result.setDescription(c.description);
212
- if (c.brand) result.setBrand(c.brand);
213
- if (c.category) result.setCategory(c.category);
214
- if (c.delivery_category) result.setDeliveryCategory(c.delivery_category);
215
- return result;
216
- })
217
- );
218
- if (content_type) data.setContentType(content_type);
219
- if (predicted_ltv) data.setPredictedLtv(predicted_ltv);
220
- if (num_items) data.setNumItems(num_items);
221
- if (search_string) data.setSearchString(search_string);
222
- if (status) data.setStatus(status.toString());
223
- if (delivery_category) data.setDeliveryCategory(delivery_category);
224
- if (custom_properties) data.setCustomProperties(custom_properties);
225
- return data;
96
+ const data = new facebook_nodejs_business_sdk.CustomData();
97
+ const [_, _name, fbEventProperties] = require_track_fbq.mapFBEvent(name, properties);
98
+ const { value, currency, content_name, content_category, content_ids, contents, content_type, predicted_ltv, num_items, search_string, status, delivery_category, ...custom_properties } = fbEventProperties;
99
+ if (value !== void 0 && value !== null) data.setValue(value);
100
+ if (currency) data.setCurrency(currency);
101
+ if (content_name) data.setContentName(content_name);
102
+ if (content_category) data.setContentCategory(content_category);
103
+ if (content_ids) data.setContentIds(content_ids);
104
+ if (contents) data.setContents(contents.map((c) => {
105
+ const result = new facebook_nodejs_business_sdk.Content().setId(c.id).setQuantity(c.quantity);
106
+ if (c.item_price) result.setItemPrice(c.item_price);
107
+ if (c.title) result.setTitle(c.title);
108
+ if (c.description) result.setDescription(c.description);
109
+ if (c.brand) result.setBrand(c.brand);
110
+ if (c.category) result.setCategory(c.category);
111
+ if (c.delivery_category) result.setDeliveryCategory(c.delivery_category);
112
+ return result;
113
+ }));
114
+ if (content_type) data.setContentType(content_type);
115
+ if (predicted_ltv) data.setPredictedLtv(predicted_ltv);
116
+ if (num_items) data.setNumItems(num_items);
117
+ if (search_string) data.setSearchString(search_string);
118
+ if (status) data.setStatus(status.toString());
119
+ if (delivery_category) data.setDeliveryCategory(delivery_category);
120
+ if (custom_properties) data.setCustomProperties(custom_properties);
121
+ return data;
226
122
  }
227
123
  function getServerEvent(event, data, appPackageName) {
228
- const userData = getUserData(event.tags, data);
229
- const customData = getCustomData(event);
230
- const [_, eventName] = (0, import_fbq.mapFBEvent)(event.name, event.properties);
231
- const serverEvent = new import_facebook_nodejs_business_sdk.ServerEvent().setEventId(event.tags.idempotency_key ?? event.id.toString()).setEventName(eventName).setEventTime(Math.round(Date.now() / 1e3)).setUserData(userData).setCustomData(customData);
232
- if (event.tags.source === "app" && appPackageName) {
233
- const appData = getAppData(event.tags, appPackageName);
234
- serverEvent.setAppData(appData);
235
- }
236
- if (event.tags.source_url) {
237
- serverEvent.setEventSourceUrl(event.tags.source_url);
238
- }
239
- switch (event.tags.source) {
240
- case "app":
241
- serverEvent.setActionSource("app");
242
- break;
243
- case "web":
244
- serverEvent.setActionSource("website");
245
- break;
246
- default:
247
- break;
248
- }
249
- return serverEvent;
124
+ const userData = getUserData(event.tags, data);
125
+ const customData = getCustomData(event);
126
+ const [_, eventName] = require_track_fbq.mapFBEvent(event.name, event.properties);
127
+ const serverEvent = new facebook_nodejs_business_sdk.ServerEvent().setEventId(event.tags.idempotency_key ?? event.id.toString()).setEventName(eventName).setEventTime(Math.round(Date.now() / 1e3)).setUserData(userData).setCustomData(customData);
128
+ if (event.tags.source === "app" && appPackageName) {
129
+ const appData = getAppData(event.tags, appPackageName);
130
+ serverEvent.setAppData(appData);
131
+ }
132
+ if (event.tags.source_url) serverEvent.setEventSourceUrl(event.tags.source_url);
133
+ switch (event.tags.source) {
134
+ case "app":
135
+ serverEvent.setActionSource("app");
136
+ break;
137
+ case "web":
138
+ serverEvent.setActionSource("website");
139
+ break;
140
+ default: break;
141
+ }
142
+ return serverEvent;
250
143
  }
251
144
  async function sendEvent(accessToken, pixelId, event, data = {}, appPackageName) {
252
- if (import_ignored_events.IGNORED_EVENTS.includes(event.name)) return;
253
- const request = new import_facebook_nodejs_business_sdk.EventRequest(accessToken, pixelId);
254
- const fbEvent = getServerEvent(event, data, appPackageName);
255
- request.setEvents([fbEvent]);
256
- return request.execute();
145
+ if (require_third_parties_ignored_events.IGNORED_EVENTS.includes(event.name)) return;
146
+ const request = new facebook_nodejs_business_sdk.EventRequest(accessToken, pixelId);
147
+ const fbEvent = getServerEvent(event, data, appPackageName);
148
+ request.setEvents([fbEvent]);
149
+ return request.execute();
257
150
  }
258
151
  async function sendEvents(accessToken, pixelId, events, data = {}, appPackageName) {
259
- const fbEvents = events.filter((event) => !import_ignored_events.IGNORED_EVENTS.includes(event.name)).map((event) => getServerEvent(event, data, appPackageName));
260
- if (fbEvents.length === 0) return;
261
- const request = new import_facebook_nodejs_business_sdk.EventRequest(accessToken, pixelId);
262
- request.setEvents(fbEvents);
263
- return request.execute();
152
+ const fbEvents = events.filter((event) => !require_third_parties_ignored_events.IGNORED_EVENTS.includes(event.name)).map((event) => getServerEvent(event, data, appPackageName));
153
+ if (fbEvents.length === 0) return;
154
+ const request = new facebook_nodejs_business_sdk.EventRequest(accessToken, pixelId);
155
+ request.setEvents(fbEvents);
156
+ return request.execute();
264
157
  }
265
158
  async function sendTestEvent(accessToken, pixelId, testEventCode) {
266
- const extinfo = new import_facebook_nodejs_business_sdk.ExtendedDeviceInfo().setExtInfoVersion("a2").setAppPackageName("com.some.app").setShortVersion("771").setLongVersion("Version 7.7.1").setOsVersion("10.1.1").setDeviceModelName("OnePlus6").setLocale("en_US").setTimezoneAbbreviation("GMT-1").setCarrier("TMobile").setScreenWidth(1920).setScreenHeight(1080).setScreenDensity("2.00").setCpuCoreCount(2).setTotalDiskSpaceGb(128).setFreeDiskSpaceGb(8).setDeviceTimeZone("USA/New York");
267
- const userData = new import_facebook_nodejs_business_sdk.UserData().setEmail("test@example.com");
268
- const appData = new import_facebook_nodejs_business_sdk.AppData().setExtinfo(extinfo);
269
- const event = new import_facebook_nodejs_business_sdk.ServerEvent().setEventId(Math.round(Math.random() * 1e6).toString()).setEventName("TestEvent").setEventTime(Math.round(Date.now() / 1e3)).setUserData(userData).setAppData(appData).setActionSource("app");
270
- const request = new import_facebook_nodejs_business_sdk.EventRequest(accessToken, pixelId);
271
- request.setTestEventCode(testEventCode);
272
- request.setEvents([event]);
273
- return request.execute();
159
+ const extinfo = new facebook_nodejs_business_sdk.ExtendedDeviceInfo().setExtInfoVersion("a2").setAppPackageName("com.some.app").setShortVersion("771").setLongVersion("Version 7.7.1").setOsVersion("10.1.1").setDeviceModelName("OnePlus6").setLocale("en_US").setTimezoneAbbreviation("GMT-1").setCarrier("TMobile").setScreenWidth(1920).setScreenHeight(1080).setScreenDensity("2.00").setCpuCoreCount(2).setTotalDiskSpaceGb(128).setFreeDiskSpaceGb(8).setDeviceTimeZone("USA/New York");
160
+ const userData = new facebook_nodejs_business_sdk.UserData().setEmail("test@example.com");
161
+ const appData = new facebook_nodejs_business_sdk.AppData().setExtinfo(extinfo);
162
+ const event = new facebook_nodejs_business_sdk.ServerEvent().setEventId(Math.round(Math.random() * 1e6).toString()).setEventName("TestEvent").setEventTime(Math.round(Date.now() / 1e3)).setUserData(userData).setAppData(appData).setActionSource("app");
163
+ const request = new facebook_nodejs_business_sdk.EventRequest(accessToken, pixelId);
164
+ request.setTestEventCode(testEventCode);
165
+ request.setEvents([event]);
166
+ return request.execute();
274
167
  }
275
- // Annotate the CommonJS export names for ESM import in node:
276
- 0 && (module.exports = {
277
- getServerEvent,
278
- sendEvent,
279
- sendEvents,
280
- sendTestEvent
281
- });
168
+ //#endregion
169
+ exports.getServerEvent = getServerEvent;
170
+ exports.sendEvent = sendEvent;
171
+ exports.sendEvents = sendEvents;
172
+ exports.sendTestEvent = sendTestEvent;
173
+
282
174
  //# sourceMappingURL=meta-conversions-api.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/server/meta-conversions-api.ts"],"sourcesContent":["import {\n AppData,\n Content,\n CustomData,\n EventRequest,\n ExtendedDeviceInfo,\n ServerEvent,\n UserData,\n} from 'facebook-nodejs-business-sdk';\nimport { IGNORED_EVENTS } from '../third-parties/ignored-events';\nimport { mapFBEvent } from '../track/fbq';\nimport type { TrackEvent, TrackTags, UserProvidedData } from '../track/types';\n\nconst USER_ASSIGNED_COUNTRIES: string[] = ['xk'];\nfunction normalizeCountry(input: string | undefined): string | undefined {\n const country = input?.split(/[-_]/).at(0)?.toLowerCase();\n if (!country) return undefined;\n return USER_ASSIGNED_COUNTRIES.includes(country) ? undefined : country;\n}\n\nfunction getUserData(tags: TrackTags, data: UserProvidedData) {\n const userData = new UserData();\n\n // set user-provided data\n if (data.email) {\n if (Array.isArray(data.email)) {\n userData.setEmails(data.email);\n } else {\n userData.setEmail(data.email);\n }\n }\n if (data.phone_number) {\n if (Array.isArray(data.phone_number)) {\n userData.setPhones(data.phone_number);\n } else {\n userData.setPhone(data.phone_number);\n }\n }\n if (data.gender) {\n if (data.gender === 'female') {\n userData.setGender('f');\n } else if (data.gender === 'male') {\n userData.setGender('m');\n }\n }\n if (data.address) {\n if (Array.isArray(data.address)) {\n const firstNames = data.address.map((a) => a.first_name).filter(Boolean);\n const lastNames = data.address.map((a) => a.last_name).filter(Boolean);\n const cities = data.address.map((a) => a.city).filter(Boolean);\n const states = data.address.map((a) => a.region).filter(Boolean);\n const postalCodes = data.address.map((a) => a.postal_code).filter(Boolean);\n const countries = data.address.map((a) => normalizeCountry(a.country)).filter(Boolean);\n\n userData.setFirstNames(firstNames as string[]);\n userData.setLastNames(lastNames as string[]);\n userData.setCities(cities as string[]);\n userData.setStates(states as string[]);\n userData.setZips(postalCodes as string[]);\n userData.setCountries(countries as string[]);\n } else {\n if (data.address.first_name) {\n userData.setFirstName(data.address.first_name);\n userData.setF5First(data.address.first_name.slice(0, 5));\n }\n if (data.address.last_name) {\n userData.setLastName(data.address.last_name);\n userData.setF5Last(data.address.last_name.slice(0, 5));\n }\n if (data.address.city) userData.setCity(data.address.city);\n if (data.address.region) userData.setState(data.address.region);\n if (data.address.postal_code) userData.setZip(data.address.postal_code);\n if (data.address.country) {\n const country = normalizeCountry(data.address.country);\n if (country) userData.setCountry(country);\n }\n }\n }\n if (data.birthday) {\n userData.setDoby(data.birthday.year.toString());\n userData.setDobm(data.birthday.month.toString());\n userData.setDobd(data.birthday.day.toString());\n }\n if (data.user_id && data.user_id.length !== 0) {\n userData.setExternalId(data.user_id);\n }\n if (data.ip_address) {\n userData.setClientIpAddress(data.ip_address);\n }\n if (data.user_agent) {\n userData.setClientUserAgent(data.user_agent);\n }\n if (data.fb_login_id) {\n userData.setFbLoginId(data.fb_login_id);\n }\n if (data.fb_page_id) {\n userData.setPageId(data.fb_page_id);\n }\n\n // set tags info\n if (tags.fbc) {\n userData.setFbc(tags.fbc);\n } else if (tags.fbclid) {\n // ref: https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/fbp-and-fbc#2--format-clickid\n // The formatted ClickID value must be of the form `version.subdomainIndex.creationTime.<fbclid>`, where:\n // - version is always this prefix: fb\n // - subdomainIndex is which domain the cookie is defined on ('com' = 0, 'example.com' = 1, 'www.example.com' = 2)\n // - creationTime is the UNIX time since epoch in milliseconds when the _fbc was stored. If you don't save the _fbc cookie, use the timestamp when you first observed or received this fbclid value\n // - <fbclid> is the value for the fbclid query parameter in the page URL.\n\n const fbc = `fb.1.${Date.now()}.${tags.fbclid}`;\n userData.setFbc(fbc);\n }\n\n if (tags.fbp) {\n userData.setFbp(tags.fbp);\n }\n if (tags.advertising_id) {\n userData.setMadid(tags.advertising_id);\n }\n if (tags.ip_address && typeof tags.ip_address === 'string') {\n userData.setClientIpAddress(tags.ip_address);\n }\n\n return userData;\n}\n\nfunction getAppData(tags: TrackTags, appPackageName: string) {\n const extinfo = new ExtendedDeviceInfo();\n if (tags.os_name) {\n if (tags.os_name === 'iOS' || tags.os_name === 'iPadOS') {\n extinfo.setExtInfoVersion('i2');\n } else if (tags.os_name === 'Android') {\n extinfo.setExtInfoVersion('a2');\n }\n }\n extinfo.setAppPackageName(appPackageName);\n const shortVersion = tags.release?.split('.').at(0);\n if (shortVersion) {\n extinfo.setShortVersion(shortVersion);\n }\n if (tags.release) {\n extinfo.setLongVersion(tags.release);\n }\n if (tags.os_version) {\n extinfo.setOsVersion(tags.os_version);\n }\n if (tags.device_model_id) {\n extinfo.setDeviceModelName(tags.device_model_id);\n }\n if (tags.language) {\n extinfo.setLocale(tags.language);\n }\n if (tags.screen_width) {\n extinfo.setScreenWidth(tags.screen_width);\n }\n if (tags.screen_height) {\n extinfo.setScreenHeight(tags.screen_height);\n }\n if (tags.device_pixel_ratio) {\n extinfo.setScreenDensity(tags.device_pixel_ratio.toString());\n }\n\n const appData = new AppData();\n appData.setExtinfo(extinfo);\n if (tags.install_referrer) {\n appData.setInstallReferrer(tags.install_referrer);\n }\n if (tags.advertising_id) {\n appData.setAdvertiserTrackingEnabled(true);\n }\n if (tags.install_referrer) {\n appData.setInstallReferrer(tags.install_referrer);\n }\n\n return appData;\n}\n\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getCustomData({ name, properties }: TrackEvent<any>) {\n const data = new CustomData();\n const [_, _name, fbEventProperties] = mapFBEvent(name, properties);\n const {\n value,\n currency,\n content_name,\n content_category,\n content_ids,\n contents,\n content_type,\n // order_id,\n predicted_ltv,\n num_items,\n search_string,\n status,\n // item_number,\n delivery_category,\n ...custom_properties\n } = fbEventProperties;\n if (value !== undefined && value !== null) data.setValue(value);\n if (currency) data.setCurrency(currency);\n if (content_name) data.setContentName(content_name);\n if (content_category) data.setContentCategory(content_category);\n if (content_ids) data.setContentIds(content_ids);\n if (contents)\n data.setContents(\n contents.map((c) => {\n const result = new Content().setId(c.id).setQuantity(c.quantity);\n if (c.item_price) result.setItemPrice(c.item_price);\n if (c.title) result.setTitle(c.title);\n if (c.description) result.setDescription(c.description);\n if (c.brand) result.setBrand(c.brand);\n if (c.category) result.setCategory(c.category);\n if (c.delivery_category) result.setDeliveryCategory(c.delivery_category);\n return result;\n })\n );\n if (content_type) data.setContentType(content_type);\n // if (order_id) data.setOrderId(order_id);\n if (predicted_ltv) data.setPredictedLtv(predicted_ltv);\n if (num_items) data.setNumItems(num_items);\n if (search_string) data.setSearchString(search_string);\n if (status) data.setStatus(status.toString());\n // if (item_number) data.setItemNumber(item_number);\n if (delivery_category) data.setDeliveryCategory(delivery_category);\n if (custom_properties) data.setCustomProperties(custom_properties);\n return data;\n}\n\nexport function getServerEvent(\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n event: TrackEvent<any>,\n data: UserProvidedData,\n appPackageName?: string\n) {\n const userData = getUserData(event.tags, data);\n const customData = getCustomData(event);\n const [_, eventName] = mapFBEvent(event.name, event.properties);\n const serverEvent = new ServerEvent()\n .setEventId(event.tags.idempotency_key ?? event.id.toString())\n .setEventName(eventName)\n .setEventTime(Math.round(Date.now() / 1000))\n .setUserData(userData)\n .setCustomData(customData);\n\n if (event.tags.source === 'app' && appPackageName) {\n const appData = getAppData(event.tags, appPackageName);\n serverEvent.setAppData(appData);\n }\n if (event.tags.source_url) {\n serverEvent.setEventSourceUrl(event.tags.source_url);\n }\n switch (event.tags.source) {\n case 'app':\n serverEvent.setActionSource('app');\n break;\n case 'web':\n serverEvent.setActionSource('website');\n break;\n default:\n break;\n }\n return serverEvent;\n}\n\nexport async function sendEvent(\n accessToken: string,\n pixelId: string,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n event: TrackEvent<any>,\n data: UserProvidedData = {},\n appPackageName?: string\n) {\n if (IGNORED_EVENTS.includes(event.name)) return;\n const request = new EventRequest(accessToken, pixelId);\n const fbEvent = getServerEvent(event, data, appPackageName);\n request.setEvents([fbEvent]);\n return request.execute();\n}\n\nexport async function sendEvents(\n accessToken: string,\n pixelId: string,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n events: TrackEvent<any>[],\n data: UserProvidedData = {},\n appPackageName?: string\n) {\n const fbEvents = events\n .filter((event) => !IGNORED_EVENTS.includes(event.name))\n .map((event) => getServerEvent(event, data, appPackageName));\n if (fbEvents.length === 0) return;\n const request = new EventRequest(accessToken, pixelId);\n request.setEvents(fbEvents);\n return request.execute();\n}\n\nexport async function sendTestEvent(accessToken: string, pixelId: string, testEventCode: string) {\n const extinfo = new ExtendedDeviceInfo()\n .setExtInfoVersion('a2')\n .setAppPackageName('com.some.app')\n .setShortVersion('771')\n .setLongVersion('Version 7.7.1')\n .setOsVersion('10.1.1')\n .setDeviceModelName('OnePlus6')\n .setLocale('en_US')\n .setTimezoneAbbreviation('GMT-1')\n .setCarrier('TMobile')\n .setScreenWidth(1920)\n .setScreenHeight(1080)\n .setScreenDensity('2.00')\n .setCpuCoreCount(2)\n .setTotalDiskSpaceGb(128)\n .setFreeDiskSpaceGb(8)\n .setDeviceTimeZone('USA/New York');\n\n const userData = new UserData().setEmail('test@example.com');\n const appData = new AppData().setExtinfo(extinfo);\n const event = new ServerEvent()\n .setEventId(Math.round(Math.random() * 1000_000).toString())\n .setEventName('TestEvent')\n .setEventTime(Math.round(Date.now() / 1000))\n .setUserData(userData)\n .setAppData(appData)\n .setActionSource('app');\n\n const request = new EventRequest(accessToken, pixelId);\n request.setTestEventCode(testEventCode);\n request.setEvents([event]);\n return request.execute();\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"file":"meta-conversions-api.cjs","names":["UserData","ExtendedDeviceInfo","AppData","CustomData","mapFBEvent","Content","ServerEvent","IGNORED_EVENTS","EventRequest"],"sources":["../../src/server/meta-conversions-api.ts"],"sourcesContent":["import {\n AppData,\n Content,\n CustomData,\n EventRequest,\n ExtendedDeviceInfo,\n ServerEvent,\n UserData,\n} from 'facebook-nodejs-business-sdk';\nimport { IGNORED_EVENTS } from '../third-parties/ignored-events';\nimport { mapFBEvent } from '../track/fbq';\nimport type { TrackEvent, TrackTags, UserProvidedData } from '../track/types';\n\nconst USER_ASSIGNED_COUNTRIES: string[] = ['xk'];\nfunction normalizeCountry(input: string | undefined): string | undefined {\n const country = input?.split(/[-_]/).at(0)?.toLowerCase();\n if (!country) return undefined;\n return USER_ASSIGNED_COUNTRIES.includes(country) ? undefined : country;\n}\n\nfunction getUserData(tags: TrackTags, data: UserProvidedData) {\n const userData = new UserData();\n\n // set user-provided data\n if (data.email) {\n if (Array.isArray(data.email)) {\n userData.setEmails(data.email);\n } else {\n userData.setEmail(data.email);\n }\n }\n if (data.phone_number) {\n if (Array.isArray(data.phone_number)) {\n userData.setPhones(data.phone_number);\n } else {\n userData.setPhone(data.phone_number);\n }\n }\n if (data.gender) {\n if (data.gender === 'female') {\n userData.setGender('f');\n } else if (data.gender === 'male') {\n userData.setGender('m');\n }\n }\n if (data.address) {\n if (Array.isArray(data.address)) {\n const firstNames = data.address.map((a) => a.first_name).filter(Boolean);\n const lastNames = data.address.map((a) => a.last_name).filter(Boolean);\n const cities = data.address.map((a) => a.city).filter(Boolean);\n const states = data.address.map((a) => a.region).filter(Boolean);\n const postalCodes = data.address.map((a) => a.postal_code).filter(Boolean);\n const countries = data.address.map((a) => normalizeCountry(a.country)).filter(Boolean);\n\n userData.setFirstNames(firstNames as string[]);\n userData.setLastNames(lastNames as string[]);\n userData.setCities(cities as string[]);\n userData.setStates(states as string[]);\n userData.setZips(postalCodes as string[]);\n userData.setCountries(countries as string[]);\n } else {\n if (data.address.first_name) {\n userData.setFirstName(data.address.first_name);\n userData.setF5First(data.address.first_name.slice(0, 5));\n }\n if (data.address.last_name) {\n userData.setLastName(data.address.last_name);\n userData.setF5Last(data.address.last_name.slice(0, 5));\n }\n if (data.address.city) userData.setCity(data.address.city);\n if (data.address.region) userData.setState(data.address.region);\n if (data.address.postal_code) userData.setZip(data.address.postal_code);\n if (data.address.country) {\n const country = normalizeCountry(data.address.country);\n if (country) userData.setCountry(country);\n }\n }\n }\n if (data.birthday) {\n userData.setDoby(data.birthday.year.toString());\n userData.setDobm(data.birthday.month.toString());\n userData.setDobd(data.birthday.day.toString());\n }\n if (data.user_id && data.user_id.length !== 0) {\n userData.setExternalId(data.user_id);\n }\n if (data.ip_address) {\n userData.setClientIpAddress(data.ip_address);\n }\n if (data.user_agent) {\n userData.setClientUserAgent(data.user_agent);\n }\n if (data.fb_login_id) {\n userData.setFbLoginId(data.fb_login_id);\n }\n if (data.fb_page_id) {\n userData.setPageId(data.fb_page_id);\n }\n\n // set tags info\n if (tags.fbc) {\n userData.setFbc(tags.fbc);\n } else if (tags.fbclid) {\n // ref: https://developers.facebook.com/docs/marketing-api/conversions-api/parameters/fbp-and-fbc#2--format-clickid\n // The formatted ClickID value must be of the form `version.subdomainIndex.creationTime.<fbclid>`, where:\n // - version is always this prefix: fb\n // - subdomainIndex is which domain the cookie is defined on ('com' = 0, 'example.com' = 1, 'www.example.com' = 2)\n // - creationTime is the UNIX time since epoch in milliseconds when the _fbc was stored. If you don't save the _fbc cookie, use the timestamp when you first observed or received this fbclid value\n // - <fbclid> is the value for the fbclid query parameter in the page URL.\n\n const fbc = `fb.1.${Date.now()}.${tags.fbclid}`;\n userData.setFbc(fbc);\n }\n\n if (tags.fbp) {\n userData.setFbp(tags.fbp);\n }\n if (tags.advertising_id) {\n userData.setMadid(tags.advertising_id);\n }\n if (tags.ip_address && typeof tags.ip_address === 'string') {\n userData.setClientIpAddress(tags.ip_address);\n }\n\n return userData;\n}\n\nfunction getAppData(tags: TrackTags, appPackageName: string) {\n const extinfo = new ExtendedDeviceInfo();\n if (tags.os_name) {\n if (tags.os_name === 'iOS' || tags.os_name === 'iPadOS') {\n extinfo.setExtInfoVersion('i2');\n } else if (tags.os_name === 'Android') {\n extinfo.setExtInfoVersion('a2');\n }\n }\n extinfo.setAppPackageName(appPackageName);\n const shortVersion = tags.release?.split('.').at(0);\n if (shortVersion) {\n extinfo.setShortVersion(shortVersion);\n }\n if (tags.release) {\n extinfo.setLongVersion(tags.release);\n }\n if (tags.os_version) {\n extinfo.setOsVersion(tags.os_version);\n }\n if (tags.device_model_id) {\n extinfo.setDeviceModelName(tags.device_model_id);\n }\n if (tags.language) {\n extinfo.setLocale(tags.language);\n }\n if (tags.screen_width) {\n extinfo.setScreenWidth(tags.screen_width);\n }\n if (tags.screen_height) {\n extinfo.setScreenHeight(tags.screen_height);\n }\n if (tags.device_pixel_ratio) {\n extinfo.setScreenDensity(tags.device_pixel_ratio.toString());\n }\n\n const appData = new AppData();\n appData.setExtinfo(extinfo);\n if (tags.install_referrer) {\n appData.setInstallReferrer(tags.install_referrer);\n }\n if (tags.advertising_id) {\n appData.setAdvertiserTrackingEnabled(true);\n }\n if (tags.install_referrer) {\n appData.setInstallReferrer(tags.install_referrer);\n }\n\n return appData;\n}\n\n// oxlint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getCustomData({ name, properties }: TrackEvent<any>) {\n const data = new CustomData();\n const [_, _name, fbEventProperties] = mapFBEvent(name, properties);\n const {\n value,\n currency,\n content_name,\n content_category,\n content_ids,\n contents,\n content_type,\n // order_id,\n predicted_ltv,\n num_items,\n search_string,\n status,\n // item_number,\n delivery_category,\n ...custom_properties\n } = fbEventProperties;\n if (value !== undefined && value !== null) data.setValue(value);\n if (currency) data.setCurrency(currency);\n if (content_name) data.setContentName(content_name);\n if (content_category) data.setContentCategory(content_category);\n if (content_ids) data.setContentIds(content_ids);\n if (contents)\n data.setContents(\n contents.map((c) => {\n const result = new Content().setId(c.id).setQuantity(c.quantity);\n if (c.item_price) result.setItemPrice(c.item_price);\n if (c.title) result.setTitle(c.title);\n if (c.description) result.setDescription(c.description);\n if (c.brand) result.setBrand(c.brand);\n if (c.category) result.setCategory(c.category);\n if (c.delivery_category) result.setDeliveryCategory(c.delivery_category);\n return result;\n })\n );\n if (content_type) data.setContentType(content_type);\n // if (order_id) data.setOrderId(order_id);\n if (predicted_ltv) data.setPredictedLtv(predicted_ltv);\n if (num_items) data.setNumItems(num_items);\n if (search_string) data.setSearchString(search_string);\n if (status) data.setStatus(status.toString());\n // if (item_number) data.setItemNumber(item_number);\n if (delivery_category) data.setDeliveryCategory(delivery_category);\n if (custom_properties) data.setCustomProperties(custom_properties);\n return data;\n}\n\nexport function getServerEvent(\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n event: TrackEvent<any>,\n data: UserProvidedData,\n appPackageName?: string\n) {\n const userData = getUserData(event.tags, data);\n const customData = getCustomData(event);\n const [_, eventName] = mapFBEvent(event.name, event.properties);\n const serverEvent = new ServerEvent()\n .setEventId(event.tags.idempotency_key ?? event.id.toString())\n .setEventName(eventName)\n .setEventTime(Math.round(Date.now() / 1000))\n .setUserData(userData)\n .setCustomData(customData);\n\n if (event.tags.source === 'app' && appPackageName) {\n const appData = getAppData(event.tags, appPackageName);\n serverEvent.setAppData(appData);\n }\n if (event.tags.source_url) {\n serverEvent.setEventSourceUrl(event.tags.source_url);\n }\n switch (event.tags.source) {\n case 'app':\n serverEvent.setActionSource('app');\n break;\n case 'web':\n serverEvent.setActionSource('website');\n break;\n default:\n break;\n }\n return serverEvent;\n}\n\nexport async function sendEvent(\n accessToken: string,\n pixelId: string,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n event: TrackEvent<any>,\n data: UserProvidedData = {},\n appPackageName?: string\n) {\n if (IGNORED_EVENTS.includes(event.name)) return;\n const request = new EventRequest(accessToken, pixelId);\n const fbEvent = getServerEvent(event, data, appPackageName);\n request.setEvents([fbEvent]);\n return request.execute();\n}\n\nexport async function sendEvents(\n accessToken: string,\n pixelId: string,\n // oxlint-disable-next-line @typescript-eslint/no-explicit-any\n events: TrackEvent<any>[],\n data: UserProvidedData = {},\n appPackageName?: string\n) {\n const fbEvents = events\n .filter((event) => !IGNORED_EVENTS.includes(event.name))\n .map((event) => getServerEvent(event, data, appPackageName));\n if (fbEvents.length === 0) return;\n const request = new EventRequest(accessToken, pixelId);\n request.setEvents(fbEvents);\n return request.execute();\n}\n\nexport async function sendTestEvent(accessToken: string, pixelId: string, testEventCode: string) {\n const extinfo = new ExtendedDeviceInfo()\n .setExtInfoVersion('a2')\n .setAppPackageName('com.some.app')\n .setShortVersion('771')\n .setLongVersion('Version 7.7.1')\n .setOsVersion('10.1.1')\n .setDeviceModelName('OnePlus6')\n .setLocale('en_US')\n .setTimezoneAbbreviation('GMT-1')\n .setCarrier('TMobile')\n .setScreenWidth(1920)\n .setScreenHeight(1080)\n .setScreenDensity('2.00')\n .setCpuCoreCount(2)\n .setTotalDiskSpaceGb(128)\n .setFreeDiskSpaceGb(8)\n .setDeviceTimeZone('USA/New York');\n\n const userData = new UserData().setEmail('test@example.com');\n const appData = new AppData().setExtinfo(extinfo);\n const event = new ServerEvent()\n .setEventId(Math.round(Math.random() * 1000_000).toString())\n .setEventName('TestEvent')\n .setEventTime(Math.round(Date.now() / 1000))\n .setUserData(userData)\n .setAppData(appData)\n .setActionSource('app');\n\n const request = new EventRequest(accessToken, pixelId);\n request.setTestEventCode(testEventCode);\n request.setEvents([event]);\n return request.execute();\n}\n"],"mappings":"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"}
@@ -1,11 +1,10 @@
1
- import * as facebook_nodejs_business_sdk from 'facebook-nodejs-business-sdk';
2
- import { ServerEvent } from 'facebook-nodejs-business-sdk';
3
- import { TrackEvent, UserProvidedData } from '../track/types.cjs';
4
- import '../track/gtag.cjs';
5
-
1
+ import { TrackEvent, UserProvidedData } from "../track/types.cjs";
2
+ import { ServerEvent } from "facebook-nodejs-business-sdk";
3
+ //#region src/server/meta-conversions-api.d.ts
6
4
  declare function getServerEvent(event: TrackEvent<any>, data: UserProvidedData, appPackageName?: string): ServerEvent;
7
- declare function sendEvent(accessToken: string, pixelId: string, event: TrackEvent<any>, data?: UserProvidedData, appPackageName?: string): Promise<facebook_nodejs_business_sdk.EventResponse | undefined>;
8
- declare function sendEvents(accessToken: string, pixelId: string, events: TrackEvent<any>[], data?: UserProvidedData, appPackageName?: string): Promise<facebook_nodejs_business_sdk.EventResponse | undefined>;
9
- declare function sendTestEvent(accessToken: string, pixelId: string, testEventCode: string): Promise<facebook_nodejs_business_sdk.EventResponse>;
10
-
5
+ declare function sendEvent(accessToken: string, pixelId: string, event: TrackEvent<any>, data?: UserProvidedData, appPackageName?: string): Promise<import("facebook-nodejs-business-sdk").EventResponse | undefined>;
6
+ declare function sendEvents(accessToken: string, pixelId: string, events: TrackEvent<any>[], data?: UserProvidedData, appPackageName?: string): Promise<import("facebook-nodejs-business-sdk").EventResponse | undefined>;
7
+ declare function sendTestEvent(accessToken: string, pixelId: string, testEventCode: string): Promise<import("facebook-nodejs-business-sdk").EventResponse>;
8
+ //#endregion
11
9
  export { getServerEvent, sendEvent, sendEvents, sendTestEvent };
10
+ //# sourceMappingURL=meta-conversions-api.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-conversions-api.d.cts","names":[],"sources":["../../src/server/meta-conversions-api.ts"],"mappings":";;;iBAqOgB,eAEd,OAAO,iBACP,MAAM,kBACN,0BAAuB;iBAgCH,UACpB,qBACA,iBAEA,OAAO,iBACP,OAAM,kBACN,0BAAuB,+CAAA;iBASH,WACpB,qBACA,iBAEA,QAAQ,mBACR,OAAM,kBACN,0BAAuB,+CAAA;iBAWH,cAAc,qBAAqB,iBAAiB,wBAAqB,+CAAA"}
@@ -0,0 +1,10 @@
1
+ import { TrackEvent, UserProvidedData } from "../track/types.mjs";
2
+ import { ServerEvent } from "facebook-nodejs-business-sdk";
3
+ //#region src/server/meta-conversions-api.d.ts
4
+ declare function getServerEvent(event: TrackEvent<any>, data: UserProvidedData, appPackageName?: string): ServerEvent;
5
+ declare function sendEvent(accessToken: string, pixelId: string, event: TrackEvent<any>, data?: UserProvidedData, appPackageName?: string): Promise<import("facebook-nodejs-business-sdk").EventResponse | undefined>;
6
+ declare function sendEvents(accessToken: string, pixelId: string, events: TrackEvent<any>[], data?: UserProvidedData, appPackageName?: string): Promise<import("facebook-nodejs-business-sdk").EventResponse | undefined>;
7
+ declare function sendTestEvent(accessToken: string, pixelId: string, testEventCode: string): Promise<import("facebook-nodejs-business-sdk").EventResponse>;
8
+ //#endregion
9
+ export { getServerEvent, sendEvent, sendEvents, sendTestEvent };
10
+ //# sourceMappingURL=meta-conversions-api.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta-conversions-api.d.mts","names":[],"sources":["../../src/server/meta-conversions-api.ts"],"mappings":";;;iBAqOgB,eAEd,OAAO,iBACP,MAAM,kBACN,0BAAuB;iBAgCH,UACpB,qBACA,iBAEA,OAAO,iBACP,OAAM,kBACN,0BAAuB,+CAAA;iBASH,WACpB,qBACA,iBAEA,QAAQ,mBACR,OAAM,kBACN,0BAAuB,+CAAA;iBAWH,cAAc,qBAAqB,iBAAiB,wBAAqB,+CAAA"}