UNPKG

@elbwalker/destination-web-piwikpro

Version:

Piwik PRO destination for walkerOS

1 lines 3.2 kB
"use strict";var Destination=(()=>{var t=Object.defineProperty,e=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,o={};function i(t){return Array.isArray(t)}function a(t){return void 0!==t}function c(t){return"object"==typeof t&&null!==t&&!i(t)&&"[object Object]"===Object.prototype.toString.call(t)}function s(t){return"string"==typeof t}function u(t,e="",n,r=0){const o=e.split(".");let c=t;for(let t=0;t<o.length;t++){const e=o[t];if("*"===e&&i(c)){const e=o.slice(t+1).join("."),i=[];for(const t of c){const o=u(t,e,n,r);i.push(o)}return i}if(c=c instanceof Object?c[e]:void 0,!c)break}return a(c)?c:n}function f(t){return function(t){return"boolean"==typeof t}(t)||s(t)||function(t){return"number"==typeof t&&!Number.isNaN(t)}(t)||!a(t)||i(t)&&t.every(f)||c(t)&&Object.values(t).every(f)}function l(t){return f(t)?t:void 0}function p(t,e){return async function(...n){try{return await t(...n)}catch(t){if(!e)return;return await e(t)}}}async function d(t,e={},n={}){var r;if(!a(t))return;const o=c(t)&&t.consent||n.consent||(null==(r=n.instance)?void 0:r.consent),s=i(e)?e:[e];for(const e of s){const r=await p(y)(t,e,{...n,consent:o});if(a(r))return r}}async function y(t,e,n={}){const{instance:r,consent:o}=n;return(i(e)?e:[e]).reduce((async(e,c)=>{const f=await e;if(f)return f;const v=s(c)?{key:c}:c;if(!Object.keys(v).length)return;const{condition:w,consent:b,fn:m,key:g,loop:j,map:k,set:O,validate:h,value:P}=v;if(w&&!await p(w)(t,c,r))return;if(b&&!function(t,e={},n={}){const r={...e,...n},o={};let i=void 0===t;return Object.keys(r).forEach((e=>{r[e]&&(o[e]=!0,t&&t[e]&&(i=!0))})),!!i&&o}(b,o))return P;let _=a(P)?P:t;if(m&&(_=await p(m)(t,c,n)),g&&(_=u(t,g,P)),j){const[e,r]=j,o="this"===e?[t]:await d(t,e,n);i(o)&&(_=(await Promise.all(o.map((t=>d(t,r,n))))).filter(a))}else k?_=await Object.entries(k).reduce((async(e,[r,o])=>{const i=await e,c=await d(t,o,n);return a(c)&&(i[r]=c),i}),Promise.resolve({})):O&&(_=await Promise.all(O.map((e=>y(t,e,n)))));h&&!await p(h)(_)&&(_=void 0);const q=l(_);return a(q)?q:l(P)}),Promise.resolve(void 0))}((e,n)=>{for(var r in n)t(e,r,{get:n[r],enumerable:!0})})(o,{DestinationPiwikPro:()=>v,default:()=>m,destinationPiwikPro:()=>w});var v={},w={type:"piwikpro",config:{},init(t={}){const e=window,{custom:n={},fn:r,loadScript:o}=t,{appId:i,url:a}=n;if(!i||!a)return!1;e._paq=e._paq||[];const c=r||e._paq.push;o&&(!function(t){const e=document.createElement("script");e.type="text/javascript",e.src=t+"ppms.js",e.async=!0,e.defer=!0,document.head.appendChild(e)}(a),c(["setTrackerUrl",a+"ppms.php"]),c(["setSiteId",i])),!1!==n.linkTracking&&c(["enableLinkTracking"])},async push(t,e,n={},r={}){const{fn:o}=e,{data:a}=r,c=o||window._paq.push;if("page view"===t.event&&!n.custom)return void c(["trackPageView",await d(t,"data.title")]);const s=n.custom||{},u=i(a)?a:[a];if(c([t.event,...u]),s.goalId){const e=s.goalValue?d(t,s.goalValue):void 0;c(["trackGoal",s.goalId,e])}}};var b,m=w;return b=o,((o,i,a,c)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let s of n(i))r.call(o,s)||s===a||t(o,s,{get:()=>i[s],enumerable:!(c=e(i,s))||c.enumerable});return o})(t({},"__esModule",{value:!0}),b)})();