aesirx-analytics 1.1.6 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{AnalyticsContext as t,AnalyticsContextProvider_default as i}from"./chunk-D75AKWUD.js";import e,{Suspense as r}from"react";import o,{useCallback as s,useEffect as n,useState as a}from"react";var u=async(t,i)=>{const e=await fetch(t,{method:"POST",body:JSON.stringify(i),headers:(r={"Content-Type":"application/json"},o={"x-tracker-cache":void 0},Object.keys(o).forEach((t=>{void 0!==o[t]&&(r[t]=o[t])})),r)});var r,o;const s=await e.json();if(s.error)throw s.error;return s};import d from"bowser";var c=(t,i)=>`${t}/visitor/v1/${i}`,_=async(t,i,e,r)=>{const{document:o}=window,{pathname:s,search:n,origin:a}=location;i=`${a}${s}${n}`,e=o.referrer,r=window.navigator.userAgent;const _=d.parse(window.navigator.userAgent),v=_?.browser?.name,l=_?.browser?.version??"0",w=window.navigator.userLanguage||window.navigator.language,m=_?.platform?.model??_?.platform?.type,h=location?.host?.replace(/^www\./,""),p=window.location.search,f=new URLSearchParams(p),g=[];for(const t of f.keys())t.startsWith("utm_")&&f.get(t)&&g.push({name:t,value:f.get(t)});if(!f.get("visitor_uuid")){const o="";try{return await u(c(t,"init"),{url:i,referer:e,user_agent:r,ip:o,domain:h,browser_name:v,browser_version:l,lang:w,device:m,event_name:"visit",event_type:"action",attributes:g})}catch(t){}}},v=async(t,i,e)=>{if("0"===sessionStorage.getItem("aesirx-analytics-allow"))return null;const{location:r,document:o}=window,{pathname:s,origin:n}=r;e=e?r.protocol+"//"+r.host+e:o.referrer?f("visitor_uuid",o.referrer):`${n}${s}`;const a=r.protocol+"//"+r.host+r.pathname,d=window.location.search,_=new URLSearchParams(d);return await u(c(t,"start"),{..._.get("visitor_uuid")&&{visitor_uuid:_.get("visitor_uuid")},...i&&{visitor_uuid:i},referer:"/"===e?"":e,url:a})},l=async(t,i,e,r)=>{if("0"===sessionStorage.getItem("aesirx-analytics-allow"))return null;const{location:o,document:s}=window;e=e?o.protocol+"//"+o.host+e:s.referrer.split("?")[0];const n=o.protocol+"//"+o.host+o.pathname,a=window.location.search,u=new URLSearchParams(a),d={...u.get("visitor_uuid")&&{visitor_uuid:u.get("visitor_uuid")},...i&&{visitor_uuid:i},referer:"/"===e?"":e,url:n,...r},_=new Blob([JSON.stringify(d)],{type:"application/json"});return navigator.sendBeacon(c(t,"start"),_)},w=(t,i=window.location.href)=>{if(i){return new URL(i).searchParams.get(t)}},m=t=>{const i=document.getElementsByTagName("a");for(let e=0;e<i.length;e++){const r=w("visitor_uuid",i[e].href);if(i[e].href){const o=new URL(i[e].href);!r&&t&&o.searchParams.append("visitor_uuid",t),i[e].href=o.href}}},h=(t,i,e)=>{if(i&&e){const r={event_uuid:i,visitor_uuid:e},o={type:"application/json"},s=new Blob([JSON.stringify(r)],o);navigator.sendBeacon(c(t,"end"),s)}},p=t=>{document.addEventListener("visibilitychange",(async()=>{if("hidden"===document.visibilityState&&h(t,window.event_uuid_start,window.visitor_uuid_start),"visible"===document.visibilityState){if(new URLSearchParams(window.location.search).get("visitor_uuid")||window.visitor_uuid){const i=await v(t,window.visitor_uuid,window.referer);window.event_uuid_start=i?.event_uuid}}})),window.addEventListener("pagehide",(i=>{i.persisted&&h(t,window.event_uuid_start,window.visitor_uuid_start)}),!1)};function f(t,i){let e,r=i.split("?")[0],o=[];const s=-1!==i.indexOf("?")?i.split("?")[1]:"";if(""!==s){o=s.split("&");for(let i=o.length-1;i>=0;i-=1)e=o[i].split("=")[0],e===t&&o.splice(i,1);o.length&&(r=r+"?"+o.join("&"))}return r}var g=({router:i,children:e})=>{const r=o.useContext(t),u=process.env.NEXT_PUBLIC_ENDPOINT_ANALYTICS_URL,[d,c]=a(""),l=s((async t=>{const i=t||"";window.referer=i;const e=await v(u,r.visitor_uuid,i);e?.event_uuid&&r.setEventIDStart(e.event_uuid),e?.visitor_uuid&&r.setUUIDStart(e.visitor_uuid)}),[r,u]);return n((()=>{(async()=>{const t=new URLSearchParams(window.location.search).get("visitor_uuid");if(r.visitor_uuid)await l(f("visitor_uuid",i.asPath));else if(t)r.setUUID(t);else{const t=await _(u);t?.visitor_uuid&&r.setUUID(t?.visitor_uuid)}})()}),[r.visitor_uuid]),n((()=>{const t=async()=>{const{visitor_uuid:t}=i.query;t&&c(f("visitor_uuid",i.asPath)),r.visitor_uuid_start&&!t&&(h(u,window.event_uuid_start,r.visitor_uuid_start),await l(d))};i.events.on("routeChangeComplete",t);const e=new URLSearchParams(window.location.search),o=e.get("visitor_uuid"),s=e.get("state"),n=e.get("code");return o||s||n||r.visitor_uuid&&(i.asPath.includes("?")?Object.keys(i.query).length&&i.replace({query:{...i.query,visitor_uuid:r.visitor_uuid}},void 0,{shallow:!0}):i.replace({query:{...i.query,visitor_uuid:r.visitor_uuid}},void 0,{shallow:!0})),o&&m(o),()=>{i.events.off("routeChangeComplete",t)}}),[i.events,r.visitor_uuid,i.asPath,i.query]),n((()=>{(async()=>{p(u)})()}),[]),n((()=>{(async()=>{window.visitor_uuid=r.visitor_uuid,window.event_uuid_start=r.event_uuid_start,window.visitor_uuid_start=r.visitor_uuid_start})()}),[r.event_uuid_start,r.visitor_uuid_start]),o.createElement(o.Fragment,null,e)},y=e.lazy((()=>import("./Consent-XD4ZWBMB.js"))),E=({router:t,children:o})=>e.createElement(e.Fragment,null,e.createElement(i,null,e.createElement(g,{router:t},o,e.createElement(r,{fallback:e.createElement(e.Fragment,null)},e.createElement(y,{endpoint:process.env.NEXT_PUBLIC_ENDPOINT_ANALYTICS_URL})))));import U,{Suspense as S}from"react";import P,{useEffect as L,useState as I}from"react";import N from"query-string";var b=({location:i,history:e,children:r})=>{const o=P.useContext(t),s=process.env.REACT_APP_ENDPOINT_ANALYTICS_URL,[n,a]=I(i.pathname);return L((()=>{(async()=>{if(o.visitor_uuid_start&&h(s,window.event_uuid_start,o.visitor_uuid_start),o.visitor_uuid){const t={...N.parse(i.search),visitor_uuid:o.visitor_uuid};e.replace({search:N.stringify(t)});const r=n||"";window.referer=r;const u=await v(s,o.visitor_uuid,r);u.event_uuid&&o.setEventIDStart(u.event_uuid),u.visitor_uuid&&o.setUUIDStart(u.visitor_uuid),a(i.pathname),m(o.visitor_uuid)}else{const t=new URLSearchParams(window.location.search).get("visitor_uuid");if(t)o.setUUID(t);else{const t=await _(s);t.visitor_uuid&&o.setUUID(t.visitor_uuid);const r={...N.parse(i.search),visitor_uuid:t.visitor_uuid};e.replace({search:N.stringify(r)})}}})()}),[i.pathname,o.visitor_uuid,e]),L((()=>{(async()=>{p(s)})()}),[]),L((()=>{(async()=>{window.visitor_uuid=o.visitor_uuid,window.event_uuid_start=o.event_uuid_start,window.visitor_uuid_start=o.visitor_uuid_start})()}),[o.visitor_uuid,o.event_uuid_start,o.visitor_uuid_start]),P.createElement(P.Fragment,null,r)},A=U.lazy((()=>import("./Consent-XD4ZWBMB.js"))),C=({location:t,history:e,children:r})=>U.createElement(i,null,U.createElement(b,{location:t,history:e},r,U.createElement(S,{fallback:U.createElement(U.Fragment,null)},U.createElement(A,{endpoint:process.env.REACT_APP_ENDPOINT_ANALYTICS_URL}))));export{t as AnalyticsContext,E as AnalyticsNext,C as AnalyticsReact,l as trackEvent};
1
+ import{AnalyticsContext as t,AnalyticsContextProvider_default as i}from"./chunk-D75AKWUD.js";import e,{Suspense as r}from"react";import o,{useCallback as s,useEffect as n,useState as a}from"react";var u=async(t,i)=>{const e=await fetch(t,{method:"POST",body:JSON.stringify(i),headers:(r={"Content-Type":"application/json"},o={"x-tracker-cache":void 0},Object.keys(o).forEach((t=>{void 0!==o[t]&&(r[t]=o[t])})),r)});var r,o;const s=await e.json();if(s.error)throw s.error;return s};import d from"bowser";var c=(t,i)=>`${t}/visitor/v1/${i}`,_=async(t,i,e,r)=>{const{document:o}=window,{pathname:s,search:n,origin:a}=location;i=`${a}${s}${n}`,e=o.referrer,r=window.navigator.userAgent;const _=d.parse(window.navigator.userAgent),v=_?.browser?.name,l=_?.browser?.version??"0",w=window.navigator.userLanguage||window.navigator.language,m=_?.platform?.model??_?.platform?.type,h=location?.host?.replace(/^www\./,""),p=window.location.search,f=new URLSearchParams(p),g=[];for(const t of f.keys())t.startsWith("utm_")&&f.get(t)&&g.push({name:t,value:f.get(t)});if(!f.get("visitor_uuid")){const o="";try{return await u(c(t,"init"),{url:i,referer:e,user_agent:r,ip:o,domain:h,browser_name:v,browser_version:l,lang:w,device:m,event_name:"visit",event_type:"action",attributes:g})}catch(t){}}},v=async(t,i,e)=>{if("0"===sessionStorage.getItem("aesirx-analytics-allow"))return null;const{location:r,document:o}=window,{pathname:s,origin:n}=r;e=e?r.protocol+"//"+r.host+e:o.referrer?f("visitor_uuid",o.referrer):`${n}${s}`;const a=r.protocol+"//"+r.host+r.pathname,d=window.location.search,_=new URLSearchParams(d);return await u(c(t,"start"),{..._.get("visitor_uuid")&&{visitor_uuid:_.get("visitor_uuid")},...i&&{visitor_uuid:i},referer:"/"===e?"":e,url:a})},l=async(t,i,e,r)=>{if("0"===sessionStorage.getItem("aesirx-analytics-allow"))return null;const{location:o,document:s}=window;e=e?o.protocol+"//"+o.host+e:s.referrer.split("?")[0];const n=o.protocol+"//"+o.host+o.pathname,a=window.location.search,u=new URLSearchParams(a),d={...u.get("visitor_uuid")&&{visitor_uuid:u.get("visitor_uuid")},...i&&{visitor_uuid:i},referer:"/"===e?"":e,url:n,...r},_=new Blob([JSON.stringify(d)],{type:"application/json"});return navigator.sendBeacon(c(t,"start"),_)},w=(t,i=window.location.href)=>{if(i){return new URL(i).searchParams.get(t)}},m=t=>{const i=document.getElementsByTagName("a");for(let e=0;e<i.length;e++){const r=w("visitor_uuid",i[e].href);if(i[e].href){const o=new URL(i[e].href);!r&&t&&o.searchParams.append("visitor_uuid",t),i[e].href=o.href}}},h=(t,i,e)=>{if(i&&e){const r={event_uuid:i,visitor_uuid:e},o={type:"application/json"},s=new Blob([JSON.stringify(r)],o);navigator.sendBeacon(c(t,"end"),s)}},p=t=>{document.addEventListener("visibilitychange",(async()=>{if("hidden"===document.visibilityState&&h(t,window.event_uuid_start,window.visitor_uuid_start),"visible"===document.visibilityState){if(new URLSearchParams(window.location.search).get("visitor_uuid")||window.visitor_uuid){const i=await v(t,window.visitor_uuid,window.referer);window.event_uuid_start=i?.event_uuid}}})),window.addEventListener("pagehide",(i=>{i.persisted&&h(t,window.event_uuid_start,window.visitor_uuid_start)}),!1)};function f(t,i){let e,r=i.split("?")[0],o=[];const s=-1!==i.indexOf("?")?i.split("?")[1]:"";if(""!==s){o=s.split("&");for(let i=o.length-1;i>=0;i-=1)e=o[i].split("=")[0],e===t&&o.splice(i,1);o.length&&(r=r+"?"+o.join("&"))}return r}var g=({router:i,children:e})=>{const r=o.useContext(t),u=process.env.NEXT_PUBLIC_ENDPOINT_ANALYTICS_URL,[d,c]=a(""),l=s((async t=>{const i=t||"";window.referer=i;const e=await v(u,r.visitor_uuid,i);e?.event_uuid&&r.setEventIDStart(e.event_uuid),e?.visitor_uuid&&r.setUUIDStart(e.visitor_uuid)}),[r,u]);return n((()=>{(async()=>{const t=new URLSearchParams(window.location.search).get("visitor_uuid");if(r.visitor_uuid)await l(f("visitor_uuid",i.asPath));else if(t)r.setUUID(t);else{const t=await _(u);t?.visitor_uuid&&r.setUUID(t?.visitor_uuid)}})()}),[r.visitor_uuid]),n((()=>{const t=async()=>{const{visitor_uuid:t}=i.query;t&&c(f("visitor_uuid",i.asPath)),r.visitor_uuid_start&&!t&&(h(u,window.event_uuid_start,r.visitor_uuid_start),await l(d))};i.events.on("routeChangeComplete",t);const e=new URLSearchParams(window.location.search),o=e.get("visitor_uuid"),s=e.get("state"),n=e.get("code");return o||s||n||r.visitor_uuid&&(i.asPath.includes("?")?Object.keys(i.query).length&&i.replace({query:{...i.query,visitor_uuid:r.visitor_uuid}},void 0,{shallow:!0}):i.replace({query:{...i.query,visitor_uuid:r.visitor_uuid}},void 0,{shallow:!0})),o&&m(o),()=>{i.events.off("routeChangeComplete",t)}}),[i.events,r.visitor_uuid,i.asPath,i.query]),n((()=>{(async()=>{p(u)})()}),[]),n((()=>{(async()=>{window.visitor_uuid=r.visitor_uuid,window.event_uuid_start=r.event_uuid_start,window.visitor_uuid_start=r.visitor_uuid_start})()}),[r.event_uuid_start,r.visitor_uuid_start]),o.createElement(o.Fragment,null,e)},y=e.lazy((()=>import("./Consent-QFGYRZ4O.js"))),E=({router:t,children:o})=>e.createElement(e.Fragment,null,e.createElement(i,null,e.createElement(g,{router:t},o,e.createElement(r,{fallback:e.createElement(e.Fragment,null)},e.createElement(y,{endpoint:process.env.NEXT_PUBLIC_ENDPOINT_ANALYTICS_URL})))));import U,{Suspense as S}from"react";import P,{useEffect as L,useState as I}from"react";import N from"query-string";var R=({location:i,history:e,children:r})=>{const o=P.useContext(t),s=process.env.REACT_APP_ENDPOINT_ANALYTICS_URL,[n,a]=I(i.pathname);return L((()=>{(async()=>{if(o.visitor_uuid_start&&h(s,window.event_uuid_start,o.visitor_uuid_start),o.visitor_uuid){const t={...N.parse(i.search),visitor_uuid:o.visitor_uuid};e.replace({search:N.stringify(t)});const r=n||"";window.referer=r;const u=await v(s,o.visitor_uuid,r);u.event_uuid&&o.setEventIDStart(u.event_uuid),u.visitor_uuid&&o.setUUIDStart(u.visitor_uuid),a(i.pathname),m(o.visitor_uuid)}else{const t=new URLSearchParams(window.location.search).get("visitor_uuid");if(t)o.setUUID(t);else{const t=await _(s);t.visitor_uuid&&o.setUUID(t.visitor_uuid);const r={...N.parse(i.search),visitor_uuid:t.visitor_uuid};e.replace({search:N.stringify(r)})}}})()}),[i.pathname,o.visitor_uuid,e]),L((()=>{(async()=>{p(s)})()}),[]),L((()=>{(async()=>{window.visitor_uuid=o.visitor_uuid,window.event_uuid_start=o.event_uuid_start,window.visitor_uuid_start=o.visitor_uuid_start})()}),[o.visitor_uuid,o.event_uuid_start,o.visitor_uuid_start]),P.createElement(P.Fragment,null,r)},b=U.lazy((()=>import("./Consent-QFGYRZ4O.js"))),A=({location:t,history:e,children:r})=>U.createElement(i,null,U.createElement(R,{location:t,history:e},r,U.createElement(S,{fallback:U.createElement(U.Fragment,null)},U.createElement(b,{endpoint:process.env.REACT_APP_ENDPOINT_ANALYTICS_URL}))));export{t as AnalyticsContext,E as AnalyticsNext,A as AnalyticsReact,l as trackEvent};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aesirx-analytics",
3
- "version": "1.1.6",
3
+ "version": "1.2.1",
4
4
  "license": "GPL-3.0-only",
5
5
  "author": "AesirX",
6
6
  "repository": "https://gitlab.redweb.dk/aesirx/analytics",