UNPKG

@walkeros/web-source-datalayer

Version:

DataLayer source for walkerOS

1 lines 11.4 kB
"use strict";function _array_like_to_array(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _array_with_holes(e){if(Array.isArray(e))return e}function _array_without_holes(e){if(Array.isArray(e))return _array_like_to_array(e)}function _define_property(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _iterable_to_array(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _iterable_to_array_limit(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,a,o=[],i=!0,u=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);i=!0);}catch(e){u=!0,a=e}finally{try{i||null==r.return||r.return()}finally{if(u)throw a}}return o}}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){_define_property(e,t,r[t])})}return e}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function _object_spread_props(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function _sliced_to_array(e,t){return _array_with_holes(e)||_iterable_to_array_limit(e,t)||_unsupported_iterable_to_array(e,t)||_non_iterable_rest()}function _to_consumable_array(e){return _array_without_holes(e)||_iterable_to_array(e)||_unsupported_iterable_to_array(e)||_non_iterable_spread()}function _type_of(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function _unsupported_iterable_to_array(e,t){if(e){if("string"==typeof e)return _array_like_to_array(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(r):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_array_like_to_array(e,t):void 0}}var Destination=function(){var e,t,r=function(e){return Array.isArray(e)},n=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!r(e)&&"[object Object]"===Object.prototype.toString.call(e)},a=function(e){return"string"==typeof e},o=function(e,t,r){return function(){for(var n=arguments.length,a=new Array(n),o=0;o<n;o++)a[o]=arguments[o];try{return e.apply(void 0,_to_consumable_array(a))}catch(e){if(!t)return;return t(e)}finally{null==r||r()}}},i=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2?arguments[2]:void 0;if(t.filter&&!0===o(function(){return t.filter(r)},function(){return!1})())return;var n=u(r);if(n){var a=t.prefix||"dataLayer",i={event:"".concat(a," ").concat(n.event),data:n,context:{},globals:{},custom:{},consent:{},nested:[],user:{},id:s(),trigger:"",entity:"",action:"",timestamp:Date.now(),timing:0,group:"",count:0,version:{source:"1.0.0",tagging:2},source:{type:"dataLayer",id:"",previous_id:""}};o(function(){return e.push(i)},function(){})()}},u=function(e){if(n(e)&&a(e.event))return e;if(r(e)&&e.length>=2)return c(e);if(l(e)){var t=Array.from(e);return c(t)}return null},c=function(e){var t,r=_sliced_to_array(e,3),o=r[0],i=r[1],u=r[2];if(!a(o))return null;var c={};switch(o){case"consent":if(!a(i)||e.length<3)return null;if(!n(u)||null===u)return null;t="".concat(o," ").concat(i),c=_object_spread({},u);break;case"event":if(!a(i))return null;t=i,n(u)&&(c=_object_spread({},u));break;case"config":if(!a(i))return null;t="".concat(o," ").concat(i),n(u)&&(c=_object_spread({},u));break;case"set":if(a(i))t="".concat(o," ").concat(i),n(u)&&(c=_object_spread({},u));else{if(!n(i))return null;t="".concat(o," custom"),c=_object_spread({},i)}break;default:return null}return _object_spread({event:t},c)},l=function(e){return null!=e&&"object"===(void 0===e?"undefined":_type_of(e))&&"length"in e&&"number"==typeof e.length&&e.length>0},s=function(){return Math.random().toString(36).substring(2,15)},d=function(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]},y=function(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]},f=function(){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(){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}]}]},p=function(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]},m=function(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]},b=function(){return["set",{currency:"EUR",country:"DE"}]},v=function(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}},g=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=function(t,r){var n=_object_spread_props(_object_spread({},r),{settings:_object_spread({name:"dataLayer",prefix:"dataLayer"},e,r.settings)});return T(t,n)};return t.init=function(e,t){return T(e,{type:"dataLayer",settings:t.settings})},t.settings=_object_spread({name:"dataLayer",prefix:"dataLayer"},e),t.type="dataLayer",t},w=Object.defineProperty,h=Object.getOwnPropertyDescriptor,j=Object.getOwnPropertyNames,O=Object.prototype.hasOwnProperty,k=function(e,t){for(var r in t)w(e,r,{get:t[r],enumerable:!0})},S={};k(S,{Events:function(){return x},Mapping:function(){return L},SourceDataLayer:function(){return X},consentOnlyMapping:function(){return N},consentUpdateEvent:function(){return d},dataLayerExamples:function(){return K},default:function(){return G},sourceDataLayer:function(){return g}});var A=Object.getOwnPropertyNames,P=((e={"package.json":function(e,t){t.exports={name:"@walkeros/core",description:"Core types and platform-agnostic utilities for walkerOS",version:"0.0.8",main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",license:"MIT",files:["dist/**"],scripts:{build:"tsup --silent",clean:"rm -rf .turbo && rm -rf node_modules && rm -rf dist",dev:"jest --watchAll --colors",lint:'tsc && eslint "**/*.ts*"',test:"jest",update:"npx npm-check-updates -u && npm update"},dependencies:{},devDependencies:{},repository:{url:"git+https://github.com/elbwalker/walkerOS.git",directory:"packages/core"},author:"elbwalker <hello@elbwalker.com>",homepage:"https://github.com/elbwalker/walkerOS#readme",bugs:{url:"https://github.com/elbwalker/walkerOS/issues"},keywords:["walker","walkerOS","analytics","tracking","data collection","measurement","data privacy","privacy friendly","web analytics","product analytics","core","types","utils"],funding:[{type:"GitHub Sponsors",url:"https://github.com/sponsors/elbwalker"}]}}},function(){return t||(0,e[A(e)[0]])((t={exports:{}}).exports,t),t.exports})().version,!1),X={},x={};k(x,{add_to_cart:function(){return _},config:function(){return m},consentDefault:function(){return y},consentUpdate:function(){return d},directDataLayerEvent:function(){return v},purchase:function(){return f},setCustom:function(){return b},view_item:function(){return p}});var L={};k(L,{add_to_cart:function(){return M},config:function(){return K},configGA4:function(){return C},consentOnlyMapping:function(){return N},consentUpdate:function(){return E},customEvent:function(){return I},purchase:function(){return U},view_item:function(){return q}});var D,E={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:function(e){return"granted"===e}},marketing:{key:"ad_storage",fn:function(e){return"granted"===e}}}}}},U={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"}}}}]}}}},M={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"}}},q={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"}}},C={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},I={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},K={consent:{update:E},purchase:U,add_to_cart:M,view_item:q,"config G-XXXXXXXXXX":C,custom_event:I,"*":{data:{}}},N={consent:{update:E}},T=function(e,t){var r=t.settings,n={type:"dataLayer",config:t,collector:e,destroy:function(){var e=r.name||"dataLayer";window[e]&&Array.isArray(window[e])}};!function(e,t){var r=t.settings,n=(null==r?void 0:r.name)||"dataLayer",a=window[n];if(Array.isArray(a)&&!P){P=!0;try{var o=!0,u=!1,c=void 0;try{for(var l,s=a[Symbol.iterator]();!(o=(l=s.next()).done);o=!0){var d=l.value;i(e,r,d)}}catch(e){u=!0,c=e}finally{try{o||null==s.return||s.return()}finally{if(u)throw c}}}finally{P=!1}}}(e,t),function(e,t){var r=t.settings,n=(null==r?void 0:r.name)||"dataLayer";window[n]||(window[n]=[]);var a=window[n];if(Array.isArray(a)){var o=a.push.bind(a);a.push=function(){for(var t=arguments.length,n=new Array(t),a=0;a<t;a++)n[a]=arguments[a];if(P)return o.apply(void 0,_to_consumable_array(n));P=!0;try{var u=!0,c=!1,l=void 0;try{for(var s,d=n[Symbol.iterator]();!(u=(s=d.next()).done);u=!0){var y=s.value;i(e,r,y)}}catch(e){c=!0,l=e}finally{try{u||null==d.return||d.return()}finally{if(c)throw l}}}finally{P=!1}return o.apply(void 0,_to_consumable_array(n))}}}(e,t);return{source:n,elb:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var a,o=r.name||"dataLayer",i=window[o];return Array.isArray(i)?Promise.resolve((a=i).push.apply(a,_to_consumable_array(t))):Promise.resolve(0)}}},G=g;return D=S,function(e,t,r,n){if(t&&"object"===(void 0===t?"undefined":_type_of(t))||"function"==typeof t){var a=!0,o=!1,i=void 0;try{for(var u,c=function(){var a=u.value;O.call(e,a)||a===r||w(e,a,{get:function(){return t[a]},enumerable:!(n=h(t,a))||n.enumerable})},l=j(t)[Symbol.iterator]();!(a=(u=l.next()).done);a=!0)c()}catch(e){o=!0,i=e}finally{try{a||null==l.return||l.return()}finally{if(o)throw i}}}return e}(w({},"__esModule",{value:!0}),D)}();