@walkeros/web-source-datalayer
Version:
DataLayer source for walkerOS
1 lines • 5.57 kB
JavaScript
;var Destination=(()=>{var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,a=(t,n)=>{for(var r in n)e(t,r,{get:n[r],enumerable:!0})},i={};a(i,{Events:()=>X,Mapping:()=>k,SourceDataLayer:()=>_,consentOnlyMapping:()=>M,consentUpdateEvent:()=>E,dataLayerExamples:()=>C,default:()=>z,env:()=>g,sourceDataLayer:()=>K});var o=Object.defineProperty;((e,t)=>{for(var n in t)o(e,n,{get:t[n],enumerable:!0})})({},{Level:()=>c});var u,c=((u=c||{})[u.ERROR=0]="ERROR",u[u.INFO=1]="INFO",u[u.DEBUG=2]="DEBUG",u);function s(e){return Array.isArray(e)}function d(e){return"object"==typeof e&&null!==e&&!s(e)&&"[object Object]"===Object.prototype.toString.call(e)}function l(e){return"string"==typeof e}function m(e,t,n){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}var f=!1;function p(e,t={},n){if(t.filter){if(!0===m(()=>t.filter(n),()=>!1)())return}const r=function(e){if(d(e)&&l(e.event)){const{event:t,...n}=e;return{name:t,...n}}if(s(e)&&e.length>=2)return y(e);if(t=e,null!=t&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0){return y(Array.from(e))}var t;return null}(n);if(!r)return;const a=`${t.prefix||"dataLayer"} ${r.name}`,{name:i,...o}=r,u={name:a,data:o};m(()=>e(u),()=>{})()}function y(e){const[t,n,r]=e;if(!l(t))return null;let a,i={};switch(t){case"consent":if(!l(n)||e.length<3)return null;if("default"!==n&&"update"!==n)return null;if(!d(r)||null===r)return null;a=`${t} ${n}`,i={...r};break;case"event":if(!l(n))return null;a=n,d(r)&&(i={...r});break;case"config":if(!l(n))return null;a=`${t} ${n}`,d(r)&&(i={...r});break;case"set":if(l(n))a=`${t} ${n}`,d(r)&&(i={...r});else{if(!d(n))return null;a=`${t} custom`,i={...n}}break;default:return null}return{name:a,...i}}var _={},g={};a(g,{push:()=>h});var v=()=>{},w=()=>()=>Promise.resolve({ok:!0,successful:[],queued:[],failed:[]}),b={error:v,info:v,debug:v,throw:e=>{throw"string"==typeof e?new Error(e):e},scope:()=>b},h={get push(){return w()},get command(){return w()},get elb(){return w()},get window(){return{dataLayer:[],addEventListener:v,removeEventListener:v}},logger:b},X={};function E(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]}function O(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]}function L(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]}function U(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]}function j(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]}function A(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]}function P(){return["set",{currency:"EUR",country:"DE"}]}function R(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}}a(X,{add_to_cart:()=>U,config:()=>A,consentDefault:()=>O,consentUpdate:()=>E,directDataLayerEvent:()=>R,purchase:()=>L,setCustom:()=>P,view_item:()=>j});var k={};a(k,{add_to_cart:()=>N,config:()=>C,configGA4:()=>S,consentOnlyMapping:()=>M,consentUpdate:()=>$,customEvent:()=>x,purchase:()=>q,view_item:()=>G});var D,$={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:e=>"granted"===e},marketing:{key:"ad_storage",fn:e=>"granted"===e}}}}},q={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},N={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},G={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},S={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},x={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},C={consent:{update:$},purchase:q,add_to_cart:N,view_item:G,"config G-XXXXXXXXXX":S,custom_event:x,"*":{data:{}}},M={consent:{update:$}},K=async(e,t)=>{const{elb:n,window:r}=t,a={name:"dataLayer",prefix:"dataLayer",...null==e?void 0:e.settings},i={settings:a};return r&&(function(e,t){const n=t.settings,r=(null==n?void 0:n.name)||"dataLayer",a=window[r];if(Array.isArray(a)&&!f){f=!0;try{for(const t of a)p(e,n,t)}finally{f=!1}}}(n,i),function(e,t){const n=t.settings,r=(null==n?void 0:n.name)||"dataLayer";window[r]||(window[r]=[]);const a=window[r];if(!Array.isArray(a))return;const i=a.push.bind(a);a.push=function(...t){if(f)return i(...t);f=!0;try{for(const r of t)p(e,n,r)}finally{f=!1}return i(...t)}}(n,i)),{type:"dataLayer",config:i,push:n,destroy:async()=>{const e=a.name||"dataLayer";r&&r[e]&&Array.isArray(r[e])}}},z=K;return D=i,((a,i,o,u)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let c of n(i))r.call(a,c)||c===o||e(a,c,{get:()=>i[c],enumerable:!(u=t(i,c))||u.enumerable});return a})(e({},"__esModule",{value:!0}),D)})();