next-facebook-tracking
Version:
A simple package to help you integrate Facebook Pixel and Conversions API with Next.js
2 lines (1 loc) • 1.54 kB
JavaScript
;var s=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var p=Object.prototype.hasOwnProperty;var y=(e,t)=>{for(var n in t)s(e,n,{get:t[n],enumerable:!0})},a=(e,t,n,u)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of f(t))!p.call(e,i)&&i!==n&&s(e,i,{get:()=>t[i],enumerable:!(u=d(t,i))||u.enumerable});return e},c=(e,t,n)=>(a(e,t,"default"),n&&a(n,t,"default"));var w=e=>a(s({},"__esModule",{value:!0}),e);var o={};y(o,{getIp:()=>g,getRequestData:()=>m});module.exports=w(o);c(o,require("parse-full-name"),module.exports);var r=require("next/headers");async function g(){const e="0.0.0.0",t=await(0,r.headers)(),n=t.get("x-forwarded-for");return n?n.split(",")[0]??e:t.get("x-real-ip")??e}async function x(){const e=await(0,r.headers)();return e.get("x-vercel-ip-city")??e.get("cf-ipcity")??e.get("x-city")??void 0}async function _(){const e=await(0,r.headers)();return e.get("x-vercel-ip-country-region")??e.get("cf-region")??e.get("x-region")??void 0}async function l(){const e=await(0,r.headers)();return e.get("x-vercel-ip-country")??e.get("cf-ipcountry")??e.get("x-country")??void 0}async function m(){const e=await(0,r.cookies)(),t=await(0,r.headers)();return{user_data:{city:await x(),state:await _(),country:await l(),fbp:e.get("_fbp")?.value,fbc:e.get("_fbc")?.value,client_ip_address:await g(),client_user_agent:t.get("user-agent")??void 0},event_source_url:t.get("referer")??void 0}}0&&(module.exports={getIp,getRequestData,...require("parse-full-name")});