@walkeros/web-destination-gtag 0.0.7 → 0.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -39,7 +39,7 @@ var e;
39
39
  var t;
40
40
  var n = Object.getOwnPropertyNames;
41
41
  var r = (e = { "package.json"(e2, t2) {
42
- t2.exports = { name: "@walkeros/core", description: "Core types and platform-agnostic utilities for walkerOS", version: "0.0.7", 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" }] };
42
+ t2.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" }] };
43
43
  } }, function() {
44
44
  return t || (0, e[n(e)[0]])((t = { exports: {} }).exports, t), t.exports;
45
45
  });
@@ -18,7 +18,7 @@ var e;
18
18
  var t;
19
19
  var n = Object.getOwnPropertyNames;
20
20
  var r = (e = { "package.json"(e2, t2) {
21
- t2.exports = { name: "@walkeros/core", description: "Core types and platform-agnostic utilities for walkerOS", version: "0.0.7", 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" }] };
21
+ t2.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" }] };
22
22
  } }, function() {
23
23
  return t || (0, e[n(e)[0]])((t = { exports: {} }).exports, t), t.exports;
24
24
  });
@@ -1 +1 @@
1
- "use strict";var Destination=(()=>{var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,r=(t,a)=>{for(var n in a)e(t,n,{get:a[n],enumerable:!0})},o={};r(o,{DestinationGtag:()=>k,default:()=>z,destinationGtag:()=>P,examples:()=>x});var i,s,c=new Set;function d(e,t="https://www.googletagmanager.com/gtag/js?id="){if(c.has(e))return;const a=document.createElement("script");a.src=t+e,document.head.appendChild(a),c.add(e)}function u(){const e=window;e.dataLayer=e.dataLayer||[],e.gtag||(e.gtag=function(){e.dataLayer.push(arguments)})}function p(e){return e("gtag",window.gtag)}var l=Object.getOwnPropertyNames,g=(i={"package.json"(e,t){t.exports={name:"@walkeros/core",description:"Core types and platform-agnostic utilities for walkerOS",version:"0.0.7",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 s||(0,i[l(i)[0]])((s={exports:{}}).exports,s),s.exports}),m={merge:!0,shallow:!0,extend:!0};function y(e){return"object"==typeof e&&null!==e&&!function(e){return Array.isArray(e)}(e)&&"[object Object]"===Object.prototype.toString.call(e)}var{version:v}=g();function h(e={}){var t;const a=e.timestamp||(new Date).setHours(0,13,37,0),n=e.group||"gr0up",r=e.count||1,o=function(e,t={},a={}){a={...m,...a};const n=Object.entries(t).reduce((t,[n,r])=>{const o=e[n];return a.merge&&Array.isArray(o)&&Array.isArray(r)?t[n]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...o]):(a.extend||n in e)&&(t[n]=r),t},{});return a.shallow?{...e,...n}:(Object.assign(e,n),e)}({event:"entity action",data:{string:"foo",number:1,boolean:!0,array:[0,"text",!1],not:void 0},context:{dev:["test",1]},globals:{lang:"elb"},custom:{completely:"random"},user:{id:"us3r",device:"c00k13",session:"s3ss10n"},nested:[{type:"child",data:{is:"subordinated"},nested:[],context:{element:["child",0]}}],consent:{functional:!0},id:`${a}-${n}-${r}`,trigger:"test",entity:"entity",action:"action",timestamp:a,timing:3.14,group:n,count:r,version:{source:v,tagging:1},source:{type:"web",id:"https://localhost:80",previous_id:"http://remotehost:9001"}},e,{merge:!1});if(e.event){const[a,n]=null!=(t=e.event.split(" "))?t:[];a&&n&&(o.entity=a,o.action=n)}return o}function w(e="entity action",t={}){const a=t.timestamp||(new Date).setHours(0,13,37,0),n={data:{id:"ers",name:"Everyday Ruck Snack",color:"black",size:"l",price:420}},r={data:{id:"cc",name:"Cool Cap",size:"one size",price:42}};return h({...{"cart view":{data:{currency:"EUR",value:2*n.data.price},context:{shopping:["cart",0]},globals:{pagegroup:"shop"},nested:[{type:"product",data:{...n.data,quantity:2},context:{shopping:["cart",0]},nested:[]}],trigger:"load"},"checkout view":{data:{step:"payment",currency:"EUR",value:n.data.price+r.data.price},context:{shopping:["checkout",0]},globals:{pagegroup:"shop"},nested:[{type:"product",...n,context:{shopping:["checkout",0]},nested:[]},{type:"product",...r,context:{shopping:["checkout",0]},nested:[]}],trigger:"load"},"order complete":{data:{id:"0rd3r1d",currency:"EUR",shipping:5.22,taxes:73.76,total:555},context:{shopping:["complete",0]},globals:{pagegroup:"shop"},nested:[{type:"product",...n,context:{shopping:["complete",0]},nested:[]},{type:"product",...r,context:{shopping:["complete",0]},nested:[]},{type:"gift",data:{name:"Surprise"},context:{shopping:["complete",0]},nested:[]}],trigger:"load"},"page view":{data:{domain:"www.example.com",title:"walkerOS documentation",referrer:"https://www.elbwalker.com/",search:"?foo=bar",hash:"#hash",id:"/docs/"},globals:{pagegroup:"docs"},trigger:"load"},"product add":{...n,context:{shopping:["intent",0]},globals:{pagegroup:"shop"},nested:[],trigger:"click"},"product view":{...n,context:{shopping:["detail",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"product visible":{data:{...n.data,position:3,promo:!0},context:{shopping:["discover",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"promotion visible":{data:{name:"Setting up tracking easily",position:"hero"},context:{ab_test:["engagement",0]},globals:{pagegroup:"homepage"},trigger:"visible"},"session start":{data:{id:"s3ss10n",start:a,isNew:!0,count:1,runs:1,isStart:!0,storage:!0,referrer:"",device:"c00k13"},user:{id:"us3r",device:"c00k13",session:"s3ss10n",hash:"h4sh",address:"street number",email:"user@example.com",phone:"+49 123 456 789",userAgent:"Mozilla...",browser:"Chrome",browserVersion:"90",deviceType:"desktop",language:"de-DE",country:"DE",region:"HH",city:"Hamburg",zip:"20354",timezone:"Berlin",os:"walkerOS",osVersion:"1.0",screenSize:"1337x420",ip:"127.0.0.0",internal:!0,custom:"value"}}}[e],...t,event:e})}function b(e,t,a={},n,r){if(!t.measurementId)return;const o=y(n)?n:{},i=function(e,t){const a={};return t.includes("all")&&(t=["context","data","event","globals","source","user","version"]),t.forEach(t=>{let n=e[t]||{};"event"==t&&(n={id:e.id,timing:e.timing,trigger:e.trigger,entity:e.entity,action:e.action,group:e.group,count:e.count}),Object.entries(n).forEach(([e,n])=>{"context"==t&&(n=n[0]),a[`${t}_${e}`]=n})}),a}(e,a.include||t.include||["data"]),s={...i,...o};let c=e.event;!1!==t.snakeCase&&(c=function(e,t=!0){return t?e.replace(/\s+/g,"_").toLowerCase():e}(c)),s.send_to=t.measurementId,t.debug&&(s.debug_mode=!0);p(r)("event",c,s)}var f="dataLayer";function _(e,t,a){const{containerId:n,dataLayer:r,domain:o}=e,i=r||f,s=window;i===f?s.dataLayer=s.dataLayer||[]:s[i]=s[i]||[];const c=s[i];t("dataLayer.push",c.push.bind(c))({"gtm.start":(new Date).getTime(),event:"gtm.js"}),a&&n&&function(e,t,a){const n=a!=f?"&l="+a:"",r=document.createElement("script");r.src=t+e+n,document.head.appendChild(r)}(n,o||"https://www.googletagmanager.com/gtm.js?id=",i)}var k={},x={};r(x,{events:()=>E,mapping:()=>S});var E={};function O(){const e=w("order complete");return["event","purchase",{transaction_id:e.data.id,value:e.data.total,tax:e.data.taxes,shipping:e.data.shipping,currency:"EUR",items:e.nested.filter(e=>"product"===e.type).map(e=>({item_id:e.data.id,item_name:e.data.name,quantity:1})),send_to:"G-XXXXXX-1"}]}function j(){const e=w("product add");return["event","add_to_cart",{currency:"EUR",value:e.data.price,items:[{item_id:e.data.id,item_variant:e.data.color,quantity:1}],send_to:"G-XXXXXX-1"}]}function X(){const e=w("order complete");return["event","conversion",{send_to:"AW-XXXXXXXXX/CONVERSION_LABEL",currency:"EUR",value:e.data.total,transaction_id:e.data.id}]}function I(){const e=w("product view");return{event:"product_view",product_id:e.data.id,product_name:e.data.name,product_category:e.data.category,value:e.data.price,currency:"EUR"}}r(E,{adsConversion:()=>X,ga4AddToCart:()=>j,ga4Purchase:()=>O,gtmEvent:()=>I});var S={};r(S,{adsConversion:()=>U,combinedPurchase:()=>D,config:()=>q,ga4AddToCart:()=>C,ga4Purchase:()=>L,gtmProductView:()=>A});var R,L={name:"purchase",settings:{ga4:{include:["data","context"]}},data:{map:{transaction_id:"data.id",value:"data.total",tax:"data.taxes",shipping:"data.shipping",currency:{key:"data.currency",value:"EUR"},items:{loop:["nested",{condition:e=>y(e)&&"product"===e.type,map:{item_id:"data.id",item_name:"data.name",quantity:{key:"data.quantity",value:1}}}]}}}},C={name:"add_to_cart",settings:{ga4:{include:["data"]}},data:{map:{currency:{value:"EUR",key:"data.currency"},value:"data.price",items:{loop:["this",{map:{item_id:"data.id",item_variant:"data.color",quantity:{value:1,key:"data.quantity"}}}]}}}},U={name:"CONVERSION_LABEL",settings:{ads:{}},data:{map:{value:"data.total",currency:{value:"EUR",key:"data.currency"},transaction_id:"data.id"}}},A={name:"product_view",settings:{gtm:{}},data:{map:{product_id:"data.id",product_name:"data.name",product_category:"data.category",value:"data.price",currency:{value:"EUR",key:"data.currency"}}}},D={name:"purchase",settings:{ga4:{include:["data"]},ads:{},gtm:{}},data:{map:{transaction_id:"data.id",value:"data.total",currency:{value:"EUR",key:"data.currency"},items:{loop:["nested",{condition:e=>y(e)&&"product"===e.type,map:{item_id:"data.id",item_name:"data.name",quantity:{value:1,key:"data.quantity"}}}]}}}},q={order:{complete:D},product:{add:C,view:A}},P={type:"google-gtag",config:{settings:{}},init({config:e,wrap:t}){const{settings:a={},loadScript:n}=e,{ga4:r,ads:o,gtm:i}=a;return(null==r?void 0:r.measurementId)&&function(e,t,a){const{measurementId:n,transport_url:r,server_container_url:o,pageview:i}=e;if(!n)return;a&&d(n),u();const s={};r&&(s.transport_url=r),o&&(s.server_container_url=o),!1===i&&(s.send_page_view=!1);const c=p(t);c("js",new Date),c("config",n,s)}(r,t,n),(null==o?void 0:o.conversionId)&&function(e,t,a){const{conversionId:n}=e;if(!n)return;e.currency||(e.currency="EUR"),a&&d(n),u();const r=p(t);r("js",new Date),r("config",n)}(o,t,n),(null==i?void 0:i.containerId)&&_(i,t,n),!!((null==r?void 0:r.measurementId)||(null==o?void 0:o.conversionId)||(null==i?void 0:i.containerId))&&e},push(e,{config:t,mapping:a={},data:n,wrap:r}){const{settings:o={}}=t,{ga4:i,ads:s,gtm:c}=o,d=a.settings||{};(null==i?void 0:i.measurementId)&&b(e,i,d.ga4,n,r),(null==s?void 0:s.conversionId)&&a.name&&function(e,t,a={},n,r,o){const{conversionId:i,currency:s}=t,c=y(n)?n:{},d=a.label||o;if(!d)return;const u={send_to:`${i}/${d}`,currency:s||"EUR",...c};p(r)("event","conversion",u)}(0,s,d.ads,n,r,a.name),(null==c?void 0:c.containerId)&&function(e,t,a={},n,r){const o=window;r("dataLayer.push",o.dataLayer.push.bind(o.dataLayer))({event:e.event,...y(n)?n:e})}(e,0,d.gtm,n,r)}},z=P;return R=o,((r,o,i,s)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let c of a(o))n.call(r,c)||c===i||e(r,c,{get:()=>o[c],enumerable:!(s=t(o,c))||s.enumerable});return r})(e({},"__esModule",{value:!0}),R)})();
1
+ "use strict";var Destination=(()=>{var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,n=Object.prototype.hasOwnProperty,r=(t,a)=>{for(var n in a)e(t,n,{get:a[n],enumerable:!0})},o={};r(o,{DestinationGtag:()=>k,default:()=>z,destinationGtag:()=>P,examples:()=>x});var i,s,c=new Set;function d(e,t="https://www.googletagmanager.com/gtag/js?id="){if(c.has(e))return;const a=document.createElement("script");a.src=t+e,document.head.appendChild(a),c.add(e)}function u(){const e=window;e.dataLayer=e.dataLayer||[],e.gtag||(e.gtag=function(){e.dataLayer.push(arguments)})}function p(e){return e("gtag",window.gtag)}var l=Object.getOwnPropertyNames,g=(i={"package.json"(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 s||(0,i[l(i)[0]])((s={exports:{}}).exports,s),s.exports}),m={merge:!0,shallow:!0,extend:!0};function y(e){return"object"==typeof e&&null!==e&&!function(e){return Array.isArray(e)}(e)&&"[object Object]"===Object.prototype.toString.call(e)}var{version:v}=g();function h(e={}){var t;const a=e.timestamp||(new Date).setHours(0,13,37,0),n=e.group||"gr0up",r=e.count||1,o=function(e,t={},a={}){a={...m,...a};const n=Object.entries(t).reduce((t,[n,r])=>{const o=e[n];return a.merge&&Array.isArray(o)&&Array.isArray(r)?t[n]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...o]):(a.extend||n in e)&&(t[n]=r),t},{});return a.shallow?{...e,...n}:(Object.assign(e,n),e)}({event:"entity action",data:{string:"foo",number:1,boolean:!0,array:[0,"text",!1],not:void 0},context:{dev:["test",1]},globals:{lang:"elb"},custom:{completely:"random"},user:{id:"us3r",device:"c00k13",session:"s3ss10n"},nested:[{type:"child",data:{is:"subordinated"},nested:[],context:{element:["child",0]}}],consent:{functional:!0},id:`${a}-${n}-${r}`,trigger:"test",entity:"entity",action:"action",timestamp:a,timing:3.14,group:n,count:r,version:{source:v,tagging:1},source:{type:"web",id:"https://localhost:80",previous_id:"http://remotehost:9001"}},e,{merge:!1});if(e.event){const[a,n]=null!=(t=e.event.split(" "))?t:[];a&&n&&(o.entity=a,o.action=n)}return o}function w(e="entity action",t={}){const a=t.timestamp||(new Date).setHours(0,13,37,0),n={data:{id:"ers",name:"Everyday Ruck Snack",color:"black",size:"l",price:420}},r={data:{id:"cc",name:"Cool Cap",size:"one size",price:42}};return h({...{"cart view":{data:{currency:"EUR",value:2*n.data.price},context:{shopping:["cart",0]},globals:{pagegroup:"shop"},nested:[{type:"product",data:{...n.data,quantity:2},context:{shopping:["cart",0]},nested:[]}],trigger:"load"},"checkout view":{data:{step:"payment",currency:"EUR",value:n.data.price+r.data.price},context:{shopping:["checkout",0]},globals:{pagegroup:"shop"},nested:[{type:"product",...n,context:{shopping:["checkout",0]},nested:[]},{type:"product",...r,context:{shopping:["checkout",0]},nested:[]}],trigger:"load"},"order complete":{data:{id:"0rd3r1d",currency:"EUR",shipping:5.22,taxes:73.76,total:555},context:{shopping:["complete",0]},globals:{pagegroup:"shop"},nested:[{type:"product",...n,context:{shopping:["complete",0]},nested:[]},{type:"product",...r,context:{shopping:["complete",0]},nested:[]},{type:"gift",data:{name:"Surprise"},context:{shopping:["complete",0]},nested:[]}],trigger:"load"},"page view":{data:{domain:"www.example.com",title:"walkerOS documentation",referrer:"https://www.elbwalker.com/",search:"?foo=bar",hash:"#hash",id:"/docs/"},globals:{pagegroup:"docs"},trigger:"load"},"product add":{...n,context:{shopping:["intent",0]},globals:{pagegroup:"shop"},nested:[],trigger:"click"},"product view":{...n,context:{shopping:["detail",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"product visible":{data:{...n.data,position:3,promo:!0},context:{shopping:["discover",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"promotion visible":{data:{name:"Setting up tracking easily",position:"hero"},context:{ab_test:["engagement",0]},globals:{pagegroup:"homepage"},trigger:"visible"},"session start":{data:{id:"s3ss10n",start:a,isNew:!0,count:1,runs:1,isStart:!0,storage:!0,referrer:"",device:"c00k13"},user:{id:"us3r",device:"c00k13",session:"s3ss10n",hash:"h4sh",address:"street number",email:"user@example.com",phone:"+49 123 456 789",userAgent:"Mozilla...",browser:"Chrome",browserVersion:"90",deviceType:"desktop",language:"de-DE",country:"DE",region:"HH",city:"Hamburg",zip:"20354",timezone:"Berlin",os:"walkerOS",osVersion:"1.0",screenSize:"1337x420",ip:"127.0.0.0",internal:!0,custom:"value"}}}[e],...t,event:e})}function b(e,t,a={},n,r){if(!t.measurementId)return;const o=y(n)?n:{},i=function(e,t){const a={};return t.includes("all")&&(t=["context","data","event","globals","source","user","version"]),t.forEach(t=>{let n=e[t]||{};"event"==t&&(n={id:e.id,timing:e.timing,trigger:e.trigger,entity:e.entity,action:e.action,group:e.group,count:e.count}),Object.entries(n).forEach(([e,n])=>{"context"==t&&(n=n[0]),a[`${t}_${e}`]=n})}),a}(e,a.include||t.include||["data"]),s={...i,...o};let c=e.event;!1!==t.snakeCase&&(c=function(e,t=!0){return t?e.replace(/\s+/g,"_").toLowerCase():e}(c)),s.send_to=t.measurementId,t.debug&&(s.debug_mode=!0);p(r)("event",c,s)}var f="dataLayer";function _(e,t,a){const{containerId:n,dataLayer:r,domain:o}=e,i=r||f,s=window;i===f?s.dataLayer=s.dataLayer||[]:s[i]=s[i]||[];const c=s[i];t("dataLayer.push",c.push.bind(c))({"gtm.start":(new Date).getTime(),event:"gtm.js"}),a&&n&&function(e,t,a){const n=a!=f?"&l="+a:"",r=document.createElement("script");r.src=t+e+n,document.head.appendChild(r)}(n,o||"https://www.googletagmanager.com/gtm.js?id=",i)}var k={},x={};r(x,{events:()=>E,mapping:()=>S});var E={};function O(){const e=w("order complete");return["event","purchase",{transaction_id:e.data.id,value:e.data.total,tax:e.data.taxes,shipping:e.data.shipping,currency:"EUR",items:e.nested.filter(e=>"product"===e.type).map(e=>({item_id:e.data.id,item_name:e.data.name,quantity:1})),send_to:"G-XXXXXX-1"}]}function j(){const e=w("product add");return["event","add_to_cart",{currency:"EUR",value:e.data.price,items:[{item_id:e.data.id,item_variant:e.data.color,quantity:1}],send_to:"G-XXXXXX-1"}]}function X(){const e=w("order complete");return["event","conversion",{send_to:"AW-XXXXXXXXX/CONVERSION_LABEL",currency:"EUR",value:e.data.total,transaction_id:e.data.id}]}function I(){const e=w("product view");return{event:"product_view",product_id:e.data.id,product_name:e.data.name,product_category:e.data.category,value:e.data.price,currency:"EUR"}}r(E,{adsConversion:()=>X,ga4AddToCart:()=>j,ga4Purchase:()=>O,gtmEvent:()=>I});var S={};r(S,{adsConversion:()=>U,combinedPurchase:()=>D,config:()=>q,ga4AddToCart:()=>C,ga4Purchase:()=>L,gtmProductView:()=>A});var R,L={name:"purchase",settings:{ga4:{include:["data","context"]}},data:{map:{transaction_id:"data.id",value:"data.total",tax:"data.taxes",shipping:"data.shipping",currency:{key:"data.currency",value:"EUR"},items:{loop:["nested",{condition:e=>y(e)&&"product"===e.type,map:{item_id:"data.id",item_name:"data.name",quantity:{key:"data.quantity",value:1}}}]}}}},C={name:"add_to_cart",settings:{ga4:{include:["data"]}},data:{map:{currency:{value:"EUR",key:"data.currency"},value:"data.price",items:{loop:["this",{map:{item_id:"data.id",item_variant:"data.color",quantity:{value:1,key:"data.quantity"}}}]}}}},U={name:"CONVERSION_LABEL",settings:{ads:{}},data:{map:{value:"data.total",currency:{value:"EUR",key:"data.currency"},transaction_id:"data.id"}}},A={name:"product_view",settings:{gtm:{}},data:{map:{product_id:"data.id",product_name:"data.name",product_category:"data.category",value:"data.price",currency:{value:"EUR",key:"data.currency"}}}},D={name:"purchase",settings:{ga4:{include:["data"]},ads:{},gtm:{}},data:{map:{transaction_id:"data.id",value:"data.total",currency:{value:"EUR",key:"data.currency"},items:{loop:["nested",{condition:e=>y(e)&&"product"===e.type,map:{item_id:"data.id",item_name:"data.name",quantity:{value:1,key:"data.quantity"}}}]}}}},q={order:{complete:D},product:{add:C,view:A}},P={type:"google-gtag",config:{settings:{}},init({config:e,wrap:t}){const{settings:a={},loadScript:n}=e,{ga4:r,ads:o,gtm:i}=a;return(null==r?void 0:r.measurementId)&&function(e,t,a){const{measurementId:n,transport_url:r,server_container_url:o,pageview:i}=e;if(!n)return;a&&d(n),u();const s={};r&&(s.transport_url=r),o&&(s.server_container_url=o),!1===i&&(s.send_page_view=!1);const c=p(t);c("js",new Date),c("config",n,s)}(r,t,n),(null==o?void 0:o.conversionId)&&function(e,t,a){const{conversionId:n}=e;if(!n)return;e.currency||(e.currency="EUR"),a&&d(n),u();const r=p(t);r("js",new Date),r("config",n)}(o,t,n),(null==i?void 0:i.containerId)&&_(i,t,n),!!((null==r?void 0:r.measurementId)||(null==o?void 0:o.conversionId)||(null==i?void 0:i.containerId))&&e},push(e,{config:t,mapping:a={},data:n,wrap:r}){const{settings:o={}}=t,{ga4:i,ads:s,gtm:c}=o,d=a.settings||{};(null==i?void 0:i.measurementId)&&b(e,i,d.ga4,n,r),(null==s?void 0:s.conversionId)&&a.name&&function(e,t,a={},n,r,o){const{conversionId:i,currency:s}=t,c=y(n)?n:{},d=a.label||o;if(!d)return;const u={send_to:`${i}/${d}`,currency:s||"EUR",...c};p(r)("event","conversion",u)}(0,s,d.ads,n,r,a.name),(null==c?void 0:c.containerId)&&function(e,t,a={},n,r){const o=window;r("dataLayer.push",o.dataLayer.push.bind(o.dataLayer))({event:e.event,...y(n)?n:e})}(e,0,d.gtm,n,r)}},z=P;return R=o,((r,o,i,s)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let c of a(o))n.call(r,c)||c===i||e(r,c,{get:()=>o[c],enumerable:!(s=t(o,c))||s.enumerable});return r})(e({},"__esModule",{value:!0}),R)})();
package/dist/index.es5.js CHANGED
@@ -1 +1 @@
1
- "use strict";function _array_like_to_array(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}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 a,n,o=[],i=!0,c=!1;try{for(r=r.call(e);!(i=(a=r.next()).done)&&(o.push(a.value),!t||o.length!==t);i=!0);}catch(e){c=!0,n=e}finally{try{i||null==r.return||r.return()}finally{if(c)throw n}}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]:{},a=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),a.forEach(function(t){_define_property(e,t,r[t])})}return e}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}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=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"https://www.googletagmanager.com/gtag/js?id=";if(!h.has(e)){var r=document.createElement("script");r.src=t+e,document.head.appendChild(r),h.add(e)}},t=function(){var e=window;e.dataLayer=e.dataLayer||[],e.gtag||(e.gtag=function(){e.dataLayer.push(arguments)})},r=function(e){return e("gtag",window.gtag)},a=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!function(e){return Array.isArray(e)}(e)&&"[object Object]"===Object.prototype.toString.call(e)},n=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.timestamp||(new Date).setHours(0,13,37,0),r=e.group||"gr0up",a=e.count||1,n=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r=_object_spread({},O,r);var a=Object.entries(t).reduce(function(t,a){var n=_sliced_to_array(a,2),o=n[0],i=n[1],c=e[o];return r.merge&&Array.isArray(c)&&Array.isArray(i)?t[o]=i.reduce(function(e,t){return e.includes(t)?e:_to_consumable_array(e).concat([t])},_to_consumable_array(c)):(r.extend||o in e)&&(t[o]=i),t},{});return r.shallow?_object_spread({},e,a):(Object.assign(e,a),e)}({event:"entity action",data:{string:"foo",number:1,boolean:!0,array:[0,"text",!1],not:void 0},context:{dev:["test",1]},globals:{lang:"elb"},custom:{completely:"random"},user:{id:"us3r",device:"c00k13",session:"s3ss10n"},nested:[{type:"child",data:{is:"subordinated"},nested:[],context:{element:["child",0]}}],consent:{functional:!0},id:"".concat(t,"-").concat(r,"-").concat(a),trigger:"test",entity:"entity",action:"action",timestamp:t,timing:3.14,group:r,count:a,version:{source:k,tagging:1},source:{type:"web",id:"https://localhost:80",previous_id:"http://remotehost:9001"}},e,{merge:!1});if(e.event){var o,i=_sliced_to_array(null!==(o=e.event.split(" "))&&void 0!==o?o:[],2),c=i[0],s=i[1];c&&s&&(n.entity=c,n.action=s)}return n},o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"entity action",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.timestamp||(new Date).setHours(0,13,37,0),a={data:{id:"ers",name:"Everyday Ruck Snack",color:"black",size:"l",price:420}},o={data:{id:"cc",name:"Cool Cap",size:"one size",price:42}};return n(_object_spread_props(_object_spread({},{"cart view":{data:{currency:"EUR",value:2*a.data.price},context:{shopping:["cart",0]},globals:{pagegroup:"shop"},nested:[{type:"product",data:_object_spread_props(_object_spread({},a.data),{quantity:2}),context:{shopping:["cart",0]},nested:[]}],trigger:"load"},"checkout view":{data:{step:"payment",currency:"EUR",value:a.data.price+o.data.price},context:{shopping:["checkout",0]},globals:{pagegroup:"shop"},nested:[_object_spread_props(_object_spread({type:"product"},a),{context:{shopping:["checkout",0]},nested:[]}),_object_spread_props(_object_spread({type:"product"},o),{context:{shopping:["checkout",0]},nested:[]})],trigger:"load"},"order complete":{data:{id:"0rd3r1d",currency:"EUR",shipping:5.22,taxes:73.76,total:555},context:{shopping:["complete",0]},globals:{pagegroup:"shop"},nested:[_object_spread_props(_object_spread({type:"product"},a),{context:{shopping:["complete",0]},nested:[]}),_object_spread_props(_object_spread({type:"product"},o),{context:{shopping:["complete",0]},nested:[]}),{type:"gift",data:{name:"Surprise"},context:{shopping:["complete",0]},nested:[]}],trigger:"load"},"page view":{data:{domain:"www.example.com",title:"walkerOS documentation",referrer:"https://www.elbwalker.com/",search:"?foo=bar",hash:"#hash",id:"/docs/"},globals:{pagegroup:"docs"},trigger:"load"},"product add":_object_spread_props(_object_spread({},a),{context:{shopping:["intent",0]},globals:{pagegroup:"shop"},nested:[],trigger:"click"}),"product view":_object_spread_props(_object_spread({},a),{context:{shopping:["detail",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"}),"product visible":{data:_object_spread_props(_object_spread({},a.data),{position:3,promo:!0}),context:{shopping:["discover",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"promotion visible":{data:{name:"Setting up tracking easily",position:"hero"},context:{ab_test:["engagement",0]},globals:{pagegroup:"homepage"},trigger:"visible"},"session start":{data:{id:"s3ss10n",start:r,isNew:!0,count:1,runs:1,isStart:!0,storage:!0,referrer:"",device:"c00k13"},user:{id:"us3r",device:"c00k13",session:"s3ss10n",hash:"h4sh",address:"street number",email:"user@example.com",phone:"+49 123 456 789",userAgent:"Mozilla...",browser:"Chrome",browserVersion:"90",deviceType:"desktop",language:"de-DE",country:"DE",region:"HH",city:"Hamburg",zip:"20354",timezone:"Berlin",os:"walkerOS",osVersion:"1.0",screenSize:"1337x420",ip:"127.0.0.0",internal:!0,custom:"value"}}}[e],t),{event:e}))},i=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;if(t.measurementId){var c=a(o)?o:{},s=function(e,t){var r={};return t.includes("all")&&(t=["context","data","event","globals","source","user","version"]),t.forEach(function(t){var a=e[t]||{};"event"==t&&(a={id:e.id,timing:e.timing,trigger:e.trigger,entity:e.entity,action:e.action,group:e.group,count:e.count}),Object.entries(a).forEach(function(e){var a=_sliced_to_array(e,2),n=a[0],o=a[1];"context"==t&&(o=o[0]),r["".concat(t,"_").concat(n)]=o})}),r}(e,n.include||t.include||["data"]),d=_object_spread({},s,c),u=e.event;!1!==t.snakeCase&&(u=function(e){return arguments.length>1&&void 0!==arguments[1]&&!arguments[1]?e:e.replace(/\s+/g,"_").toLowerCase()}(u)),d.send_to=t.measurementId,t.debug&&(d.debug_mode=!0),r(i)("event",u,d)}},c=function(e,t,r){var a=r!=x?"&l="+r:"",n=document.createElement("script");n.src=t+e+a,document.head.appendChild(n)},s=function(){var e=o("order complete");return["event","purchase",{transaction_id:e.data.id,value:e.data.total,tax:e.data.taxes,shipping:e.data.shipping,currency:"EUR",items:e.nested.filter(function(e){return"product"===e.type}).map(function(e){return{item_id:e.data.id,item_name:e.data.name,quantity:1}}),send_to:"G-XXXXXX-1"}]},d=function(){var e=o("product add");return["event","add_to_cart",{currency:"EUR",value:e.data.price,items:[{item_id:e.data.id,item_variant:e.data.color,quantity:1}],send_to:"G-XXXXXX-1"}]},u=function(){var e=o("order complete");return["event","conversion",{send_to:"AW-XXXXXXXXX/CONVERSION_LABEL",currency:"EUR",value:e.data.total,transaction_id:e.data.id}]},l=function(){var e=o("product view");return{event:"product_view",product_id:e.data.id,product_name:e.data.name,product_category:e.data.category,value:e.data.price,currency:"EUR"}},p=Object.defineProperty,g=Object.getOwnPropertyDescriptor,_=Object.getOwnPropertyNames,y=Object.prototype.hasOwnProperty,m=function(e,t){for(var r in t)p(e,r,{get:t[r],enumerable:!0})},v={};m(v,{DestinationGtag:function(){return E},default:function(){return N},destinationGtag:function(){return z},examples:function(){return I}});var f,b,h=new Set,w=Object.getOwnPropertyNames,j=(f={"package.json":function(e,t){t.exports={name:"@walkeros/core",description:"Core types and platform-agnostic utilities for walkerOS",version:"0.0.7",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 b||(0,f[w(f)[0]])((b={exports:{}}).exports,b),b.exports}),O={merge:!0,shallow:!0,extend:!0},k=j().version,x="dataLayer",S="https://www.googletagmanager.com/gtm.js?id=",E={},I={};m(I,{events:function(){return A},mapping:function(){return P}});var A={};m(A,{adsConversion:function(){return u},ga4AddToCart:function(){return d},ga4Purchase:function(){return s},gtmEvent:function(){return l}});var P={};m(P,{adsConversion:function(){return L},combinedPurchase:function(){return U},config:function(){return q},ga4AddToCart:function(){return D},ga4Purchase:function(){return R},gtmProductView:function(){return C}});var X,R={name:"purchase",settings:{ga4:{include:["data","context"]}},data:{map:{transaction_id:"data.id",value:"data.total",tax:"data.taxes",shipping:"data.shipping",currency:{key:"data.currency",value:"EUR"},items:{loop:["nested",{condition:function(e){return a(e)&&"product"===e.type},map:{item_id:"data.id",item_name:"data.name",quantity:{key:"data.quantity",value:1}}}]}}}},D={name:"add_to_cart",settings:{ga4:{include:["data"]}},data:{map:{currency:{value:"EUR",key:"data.currency"},value:"data.price",items:{loop:["this",{map:{item_id:"data.id",item_variant:"data.color",quantity:{value:1,key:"data.quantity"}}}]}}}},L={name:"CONVERSION_LABEL",settings:{ads:{}},data:{map:{value:"data.total",currency:{value:"EUR",key:"data.currency"},transaction_id:"data.id"}}},C={name:"product_view",settings:{gtm:{}},data:{map:{product_id:"data.id",product_name:"data.name",product_category:"data.category",value:"data.price",currency:{value:"EUR",key:"data.currency"}}}},U={name:"purchase",settings:{ga4:{include:["data"]},ads:{},gtm:{}},data:{map:{transaction_id:"data.id",value:"data.total",currency:{value:"EUR",key:"data.currency"},items:{loop:["nested",{condition:function(e){return a(e)&&"product"===e.type},map:{item_id:"data.id",item_name:"data.name",quantity:{value:1,key:"data.quantity"}}}]}}}},q={order:{complete:U},product:{add:D,view:C}},z={type:"google-gtag",config:{settings:{}},init:function(a){var n=a.config,o=a.wrap,i=n.settings,s=void 0===i?{}:i,d=n.loadScript,u=s.ga4,l=s.ads,p=s.gtm;return(null==u?void 0:u.measurementId)&&function(a,n,o){var i=a.measurementId,c=a.transport_url,s=a.server_container_url,d=a.pageview;if(i){o&&e(i),t();var u={};c&&(u.transport_url=c),s&&(u.server_container_url=s),!1===d&&(u.send_page_view=!1);var l=r(n);l("js",new Date),l("config",i,u)}}(u,o,d),(null==l?void 0:l.conversionId)&&function(a,n,o){var i=a.conversionId;if(i){a.currency||(a.currency="EUR"),o&&e(i),t();var c=r(n);c("js",new Date),c("config",i)}}(l,o,d),(null==p?void 0:p.containerId)&&function(e,t,r){var a=e.containerId,n=e.dataLayer,o=e.domain,i=n||x,s=window;i===x?s.dataLayer=s.dataLayer||[]:s[i]=s[i]||[];var d=s[i];t("dataLayer.push",d.push.bind(d))({"gtm.start":(new Date).getTime(),event:"gtm.js"}),r&&a&&c(a,o||S,i)}(p,o,d),!!((null==u?void 0:u.measurementId)||(null==l?void 0:l.conversionId)||(null==p?void 0:p.containerId))&&n},push:function(e,t){var n=t.config,o=t.mapping,c=void 0===o?{}:o,s=t.data,d=t.wrap,u=n.settings,l=void 0===u?{}:u,p=l.ga4,g=l.ads,_=l.gtm,y=c.settings||{};(null==p?void 0:p.measurementId)&&i(e,p,y.ga4,s,d),(null==g?void 0:g.conversionId)&&c.name&&function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0,c=arguments.length>5?arguments[5]:void 0,s=t.conversionId,d=t.currency,u=a(o)?o:{},l=n.label||c;if(l){var p=_object_spread({send_to:"".concat(s,"/").concat(l),currency:d||"EUR"},u);r(i)("event","conversion",p)}}(e,g,y.ads,s,d,c.name),(null==_?void 0:_.containerId)&&function(e,t){var r=arguments.length>3?arguments[3]:void 0,n=window;(arguments.length>4?arguments[4]:void 0)("dataLayer.push",n.dataLayer.push.bind(n.dataLayer))(_object_spread({},{event:e.event},a(r)?r:e))}(e,_,y.gtm,s,d)}},N=z;return X=v,function(e,t,r,a){if(t&&"object"===(void 0===t?"undefined":_type_of(t))||"function"==typeof t){var n=!0,o=!1,i=void 0;try{for(var c,s=function(){var n=c.value;y.call(e,n)||n===r||p(e,n,{get:function(){return t[n]},enumerable:!(a=g(t,n))||a.enumerable})},d=_(t)[Symbol.iterator]();!(n=(c=d.next()).done);n=!0)s()}catch(e){o=!0,i=e}finally{try{n||null==d.return||d.return()}finally{if(o)throw i}}}return e}(p({},"__esModule",{value:!0}),X)}();
1
+ "use strict";function _array_like_to_array(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r<t;r++)a[r]=e[r];return a}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 a,n,o=[],i=!0,c=!1;try{for(r=r.call(e);!(i=(a=r.next()).done)&&(o.push(a.value),!t||o.length!==t);i=!0);}catch(e){c=!0,n=e}finally{try{i||null==r.return||r.return()}finally{if(c)throw n}}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]:{},a=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(a=a.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),a.forEach(function(t){_define_property(e,t,r[t])})}return e}function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,a)}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=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"https://www.googletagmanager.com/gtag/js?id=";if(!h.has(e)){var r=document.createElement("script");r.src=t+e,document.head.appendChild(r),h.add(e)}},t=function(){var e=window;e.dataLayer=e.dataLayer||[],e.gtag||(e.gtag=function(){e.dataLayer.push(arguments)})},r=function(e){return e("gtag",window.gtag)},a=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!function(e){return Array.isArray(e)}(e)&&"[object Object]"===Object.prototype.toString.call(e)},n=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.timestamp||(new Date).setHours(0,13,37,0),r=e.group||"gr0up",a=e.count||1,n=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r=_object_spread({},O,r);var a=Object.entries(t).reduce(function(t,a){var n=_sliced_to_array(a,2),o=n[0],i=n[1],c=e[o];return r.merge&&Array.isArray(c)&&Array.isArray(i)?t[o]=i.reduce(function(e,t){return e.includes(t)?e:_to_consumable_array(e).concat([t])},_to_consumable_array(c)):(r.extend||o in e)&&(t[o]=i),t},{});return r.shallow?_object_spread({},e,a):(Object.assign(e,a),e)}({event:"entity action",data:{string:"foo",number:1,boolean:!0,array:[0,"text",!1],not:void 0},context:{dev:["test",1]},globals:{lang:"elb"},custom:{completely:"random"},user:{id:"us3r",device:"c00k13",session:"s3ss10n"},nested:[{type:"child",data:{is:"subordinated"},nested:[],context:{element:["child",0]}}],consent:{functional:!0},id:"".concat(t,"-").concat(r,"-").concat(a),trigger:"test",entity:"entity",action:"action",timestamp:t,timing:3.14,group:r,count:a,version:{source:k,tagging:1},source:{type:"web",id:"https://localhost:80",previous_id:"http://remotehost:9001"}},e,{merge:!1});if(e.event){var o,i=_sliced_to_array(null!==(o=e.event.split(" "))&&void 0!==o?o:[],2),c=i[0],s=i[1];c&&s&&(n.entity=c,n.action=s)}return n},o=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"entity action",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.timestamp||(new Date).setHours(0,13,37,0),a={data:{id:"ers",name:"Everyday Ruck Snack",color:"black",size:"l",price:420}},o={data:{id:"cc",name:"Cool Cap",size:"one size",price:42}};return n(_object_spread_props(_object_spread({},{"cart view":{data:{currency:"EUR",value:2*a.data.price},context:{shopping:["cart",0]},globals:{pagegroup:"shop"},nested:[{type:"product",data:_object_spread_props(_object_spread({},a.data),{quantity:2}),context:{shopping:["cart",0]},nested:[]}],trigger:"load"},"checkout view":{data:{step:"payment",currency:"EUR",value:a.data.price+o.data.price},context:{shopping:["checkout",0]},globals:{pagegroup:"shop"},nested:[_object_spread_props(_object_spread({type:"product"},a),{context:{shopping:["checkout",0]},nested:[]}),_object_spread_props(_object_spread({type:"product"},o),{context:{shopping:["checkout",0]},nested:[]})],trigger:"load"},"order complete":{data:{id:"0rd3r1d",currency:"EUR",shipping:5.22,taxes:73.76,total:555},context:{shopping:["complete",0]},globals:{pagegroup:"shop"},nested:[_object_spread_props(_object_spread({type:"product"},a),{context:{shopping:["complete",0]},nested:[]}),_object_spread_props(_object_spread({type:"product"},o),{context:{shopping:["complete",0]},nested:[]}),{type:"gift",data:{name:"Surprise"},context:{shopping:["complete",0]},nested:[]}],trigger:"load"},"page view":{data:{domain:"www.example.com",title:"walkerOS documentation",referrer:"https://www.elbwalker.com/",search:"?foo=bar",hash:"#hash",id:"/docs/"},globals:{pagegroup:"docs"},trigger:"load"},"product add":_object_spread_props(_object_spread({},a),{context:{shopping:["intent",0]},globals:{pagegroup:"shop"},nested:[],trigger:"click"}),"product view":_object_spread_props(_object_spread({},a),{context:{shopping:["detail",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"}),"product visible":{data:_object_spread_props(_object_spread({},a.data),{position:3,promo:!0}),context:{shopping:["discover",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"promotion visible":{data:{name:"Setting up tracking easily",position:"hero"},context:{ab_test:["engagement",0]},globals:{pagegroup:"homepage"},trigger:"visible"},"session start":{data:{id:"s3ss10n",start:r,isNew:!0,count:1,runs:1,isStart:!0,storage:!0,referrer:"",device:"c00k13"},user:{id:"us3r",device:"c00k13",session:"s3ss10n",hash:"h4sh",address:"street number",email:"user@example.com",phone:"+49 123 456 789",userAgent:"Mozilla...",browser:"Chrome",browserVersion:"90",deviceType:"desktop",language:"de-DE",country:"DE",region:"HH",city:"Hamburg",zip:"20354",timezone:"Berlin",os:"walkerOS",osVersion:"1.0",screenSize:"1337x420",ip:"127.0.0.0",internal:!0,custom:"value"}}}[e],t),{event:e}))},i=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0;if(t.measurementId){var c=a(o)?o:{},s=function(e,t){var r={};return t.includes("all")&&(t=["context","data","event","globals","source","user","version"]),t.forEach(function(t){var a=e[t]||{};"event"==t&&(a={id:e.id,timing:e.timing,trigger:e.trigger,entity:e.entity,action:e.action,group:e.group,count:e.count}),Object.entries(a).forEach(function(e){var a=_sliced_to_array(e,2),n=a[0],o=a[1];"context"==t&&(o=o[0]),r["".concat(t,"_").concat(n)]=o})}),r}(e,n.include||t.include||["data"]),d=_object_spread({},s,c),u=e.event;!1!==t.snakeCase&&(u=function(e){return arguments.length>1&&void 0!==arguments[1]&&!arguments[1]?e:e.replace(/\s+/g,"_").toLowerCase()}(u)),d.send_to=t.measurementId,t.debug&&(d.debug_mode=!0),r(i)("event",u,d)}},c=function(e,t,r){var a=r!=x?"&l="+r:"",n=document.createElement("script");n.src=t+e+a,document.head.appendChild(n)},s=function(){var e=o("order complete");return["event","purchase",{transaction_id:e.data.id,value:e.data.total,tax:e.data.taxes,shipping:e.data.shipping,currency:"EUR",items:e.nested.filter(function(e){return"product"===e.type}).map(function(e){return{item_id:e.data.id,item_name:e.data.name,quantity:1}}),send_to:"G-XXXXXX-1"}]},d=function(){var e=o("product add");return["event","add_to_cart",{currency:"EUR",value:e.data.price,items:[{item_id:e.data.id,item_variant:e.data.color,quantity:1}],send_to:"G-XXXXXX-1"}]},u=function(){var e=o("order complete");return["event","conversion",{send_to:"AW-XXXXXXXXX/CONVERSION_LABEL",currency:"EUR",value:e.data.total,transaction_id:e.data.id}]},l=function(){var e=o("product view");return{event:"product_view",product_id:e.data.id,product_name:e.data.name,product_category:e.data.category,value:e.data.price,currency:"EUR"}},p=Object.defineProperty,g=Object.getOwnPropertyDescriptor,_=Object.getOwnPropertyNames,y=Object.prototype.hasOwnProperty,m=function(e,t){for(var r in t)p(e,r,{get:t[r],enumerable:!0})},v={};m(v,{DestinationGtag:function(){return E},default:function(){return N},destinationGtag:function(){return z},examples:function(){return I}});var f,b,h=new Set,w=Object.getOwnPropertyNames,j=(f={"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 b||(0,f[w(f)[0]])((b={exports:{}}).exports,b),b.exports}),O={merge:!0,shallow:!0,extend:!0},k=j().version,x="dataLayer",S="https://www.googletagmanager.com/gtm.js?id=",E={},I={};m(I,{events:function(){return A},mapping:function(){return P}});var A={};m(A,{adsConversion:function(){return u},ga4AddToCart:function(){return d},ga4Purchase:function(){return s},gtmEvent:function(){return l}});var P={};m(P,{adsConversion:function(){return L},combinedPurchase:function(){return U},config:function(){return q},ga4AddToCart:function(){return D},ga4Purchase:function(){return R},gtmProductView:function(){return C}});var X,R={name:"purchase",settings:{ga4:{include:["data","context"]}},data:{map:{transaction_id:"data.id",value:"data.total",tax:"data.taxes",shipping:"data.shipping",currency:{key:"data.currency",value:"EUR"},items:{loop:["nested",{condition:function(e){return a(e)&&"product"===e.type},map:{item_id:"data.id",item_name:"data.name",quantity:{key:"data.quantity",value:1}}}]}}}},D={name:"add_to_cart",settings:{ga4:{include:["data"]}},data:{map:{currency:{value:"EUR",key:"data.currency"},value:"data.price",items:{loop:["this",{map:{item_id:"data.id",item_variant:"data.color",quantity:{value:1,key:"data.quantity"}}}]}}}},L={name:"CONVERSION_LABEL",settings:{ads:{}},data:{map:{value:"data.total",currency:{value:"EUR",key:"data.currency"},transaction_id:"data.id"}}},C={name:"product_view",settings:{gtm:{}},data:{map:{product_id:"data.id",product_name:"data.name",product_category:"data.category",value:"data.price",currency:{value:"EUR",key:"data.currency"}}}},U={name:"purchase",settings:{ga4:{include:["data"]},ads:{},gtm:{}},data:{map:{transaction_id:"data.id",value:"data.total",currency:{value:"EUR",key:"data.currency"},items:{loop:["nested",{condition:function(e){return a(e)&&"product"===e.type},map:{item_id:"data.id",item_name:"data.name",quantity:{value:1,key:"data.quantity"}}}]}}}},q={order:{complete:U},product:{add:D,view:C}},z={type:"google-gtag",config:{settings:{}},init:function(a){var n=a.config,o=a.wrap,i=n.settings,s=void 0===i?{}:i,d=n.loadScript,u=s.ga4,l=s.ads,p=s.gtm;return(null==u?void 0:u.measurementId)&&function(a,n,o){var i=a.measurementId,c=a.transport_url,s=a.server_container_url,d=a.pageview;if(i){o&&e(i),t();var u={};c&&(u.transport_url=c),s&&(u.server_container_url=s),!1===d&&(u.send_page_view=!1);var l=r(n);l("js",new Date),l("config",i,u)}}(u,o,d),(null==l?void 0:l.conversionId)&&function(a,n,o){var i=a.conversionId;if(i){a.currency||(a.currency="EUR"),o&&e(i),t();var c=r(n);c("js",new Date),c("config",i)}}(l,o,d),(null==p?void 0:p.containerId)&&function(e,t,r){var a=e.containerId,n=e.dataLayer,o=e.domain,i=n||x,s=window;i===x?s.dataLayer=s.dataLayer||[]:s[i]=s[i]||[];var d=s[i];t("dataLayer.push",d.push.bind(d))({"gtm.start":(new Date).getTime(),event:"gtm.js"}),r&&a&&c(a,o||S,i)}(p,o,d),!!((null==u?void 0:u.measurementId)||(null==l?void 0:l.conversionId)||(null==p?void 0:p.containerId))&&n},push:function(e,t){var n=t.config,o=t.mapping,c=void 0===o?{}:o,s=t.data,d=t.wrap,u=n.settings,l=void 0===u?{}:u,p=l.ga4,g=l.ads,_=l.gtm,y=c.settings||{};(null==p?void 0:p.measurementId)&&i(e,p,y.ga4,s,d),(null==g?void 0:g.conversionId)&&c.name&&function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},o=arguments.length>3?arguments[3]:void 0,i=arguments.length>4?arguments[4]:void 0,c=arguments.length>5?arguments[5]:void 0,s=t.conversionId,d=t.currency,u=a(o)?o:{},l=n.label||c;if(l){var p=_object_spread({send_to:"".concat(s,"/").concat(l),currency:d||"EUR"},u);r(i)("event","conversion",p)}}(e,g,y.ads,s,d,c.name),(null==_?void 0:_.containerId)&&function(e,t){var r=arguments.length>3?arguments[3]:void 0,n=window;(arguments.length>4?arguments[4]:void 0)("dataLayer.push",n.dataLayer.push.bind(n.dataLayer))(_object_spread({},{event:e.event},a(r)?r:e))}(e,_,y.gtm,s,d)}},N=z;return X=v,function(e,t,r,a){if(t&&"object"===(void 0===t?"undefined":_type_of(t))||"function"==typeof t){var n=!0,o=!1,i=void 0;try{for(var c,s=function(){var n=c.value;y.call(e,n)||n===r||p(e,n,{get:function(){return t[n]},enumerable:!(a=g(t,n))||a.enumerable})},d=_(t)[Symbol.iterator]();!(n=(c=d.next()).done);n=!0)s()}catch(e){o=!0,i=e}finally{try{n||null==d.return||d.return()}finally{if(o)throw i}}}return e}(p({},"__esModule",{value:!0}),X)}();
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e,t=Object.defineProperty,a=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,o=(e,a)=>{for(var n in a)t(e,n,{get:a[n],enumerable:!0})},i={};o(i,{DestinationGtag:()=>x,default:()=>z,destinationGtag:()=>P,examples:()=>E}),module.exports=(e=i,((e,o,i,s)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let c of n(o))r.call(e,c)||c===i||t(e,c,{get:()=>o[c],enumerable:!(s=a(o,c))||s.enumerable});return e})(t({},"__esModule",{value:!0}),e));var s,c,d=new Set;function u(e,t="https://www.googletagmanager.com/gtag/js?id="){if(d.has(e))return;const a=document.createElement("script");a.src=t+e,document.head.appendChild(a),d.add(e)}function p(){const e=window;e.dataLayer=e.dataLayer||[],e.gtag||(e.gtag=function(){e.dataLayer.push(arguments)})}function l(e){return e("gtag",window.gtag)}var g=Object.getOwnPropertyNames,m=(s={"package.json"(e,t){t.exports={name:"@walkeros/core",description:"Core types and platform-agnostic utilities for walkerOS",version:"0.0.7",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 c||(0,s[g(s)[0]])((c={exports:{}}).exports,c),c.exports}),y={merge:!0,shallow:!0,extend:!0};function v(e){return"object"==typeof e&&null!==e&&!function(e){return Array.isArray(e)}(e)&&"[object Object]"===Object.prototype.toString.call(e)}var{version:h}=m();function w(e={}){var t;const a=e.timestamp||(new Date).setHours(0,13,37,0),n=e.group||"gr0up",r=e.count||1,o=function(e,t={},a={}){a={...y,...a};const n=Object.entries(t).reduce((t,[n,r])=>{const o=e[n];return a.merge&&Array.isArray(o)&&Array.isArray(r)?t[n]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...o]):(a.extend||n in e)&&(t[n]=r),t},{});return a.shallow?{...e,...n}:(Object.assign(e,n),e)}({event:"entity action",data:{string:"foo",number:1,boolean:!0,array:[0,"text",!1],not:void 0},context:{dev:["test",1]},globals:{lang:"elb"},custom:{completely:"random"},user:{id:"us3r",device:"c00k13",session:"s3ss10n"},nested:[{type:"child",data:{is:"subordinated"},nested:[],context:{element:["child",0]}}],consent:{functional:!0},id:`${a}-${n}-${r}`,trigger:"test",entity:"entity",action:"action",timestamp:a,timing:3.14,group:n,count:r,version:{source:h,tagging:1},source:{type:"web",id:"https://localhost:80",previous_id:"http://remotehost:9001"}},e,{merge:!1});if(e.event){const[a,n]=null!=(t=e.event.split(" "))?t:[];a&&n&&(o.entity=a,o.action=n)}return o}function b(e="entity action",t={}){const a=t.timestamp||(new Date).setHours(0,13,37,0),n={data:{id:"ers",name:"Everyday Ruck Snack",color:"black",size:"l",price:420}},r={data:{id:"cc",name:"Cool Cap",size:"one size",price:42}};return w({...{"cart view":{data:{currency:"EUR",value:2*n.data.price},context:{shopping:["cart",0]},globals:{pagegroup:"shop"},nested:[{type:"product",data:{...n.data,quantity:2},context:{shopping:["cart",0]},nested:[]}],trigger:"load"},"checkout view":{data:{step:"payment",currency:"EUR",value:n.data.price+r.data.price},context:{shopping:["checkout",0]},globals:{pagegroup:"shop"},nested:[{type:"product",...n,context:{shopping:["checkout",0]},nested:[]},{type:"product",...r,context:{shopping:["checkout",0]},nested:[]}],trigger:"load"},"order complete":{data:{id:"0rd3r1d",currency:"EUR",shipping:5.22,taxes:73.76,total:555},context:{shopping:["complete",0]},globals:{pagegroup:"shop"},nested:[{type:"product",...n,context:{shopping:["complete",0]},nested:[]},{type:"product",...r,context:{shopping:["complete",0]},nested:[]},{type:"gift",data:{name:"Surprise"},context:{shopping:["complete",0]},nested:[]}],trigger:"load"},"page view":{data:{domain:"www.example.com",title:"walkerOS documentation",referrer:"https://www.elbwalker.com/",search:"?foo=bar",hash:"#hash",id:"/docs/"},globals:{pagegroup:"docs"},trigger:"load"},"product add":{...n,context:{shopping:["intent",0]},globals:{pagegroup:"shop"},nested:[],trigger:"click"},"product view":{...n,context:{shopping:["detail",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"product visible":{data:{...n.data,position:3,promo:!0},context:{shopping:["discover",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"promotion visible":{data:{name:"Setting up tracking easily",position:"hero"},context:{ab_test:["engagement",0]},globals:{pagegroup:"homepage"},trigger:"visible"},"session start":{data:{id:"s3ss10n",start:a,isNew:!0,count:1,runs:1,isStart:!0,storage:!0,referrer:"",device:"c00k13"},user:{id:"us3r",device:"c00k13",session:"s3ss10n",hash:"h4sh",address:"street number",email:"user@example.com",phone:"+49 123 456 789",userAgent:"Mozilla...",browser:"Chrome",browserVersion:"90",deviceType:"desktop",language:"de-DE",country:"DE",region:"HH",city:"Hamburg",zip:"20354",timezone:"Berlin",os:"walkerOS",osVersion:"1.0",screenSize:"1337x420",ip:"127.0.0.0",internal:!0,custom:"value"}}}[e],...t,event:e})}function f(e,t,a={},n,r){if(!t.measurementId)return;const o=v(n)?n:{},i=function(e,t){const a={};return t.includes("all")&&(t=["context","data","event","globals","source","user","version"]),t.forEach(t=>{let n=e[t]||{};"event"==t&&(n={id:e.id,timing:e.timing,trigger:e.trigger,entity:e.entity,action:e.action,group:e.group,count:e.count}),Object.entries(n).forEach(([e,n])=>{"context"==t&&(n=n[0]),a[`${t}_${e}`]=n})}),a}(e,a.include||t.include||["data"]),s={...i,...o};let c=e.event;!1!==t.snakeCase&&(c=function(e,t=!0){return t?e.replace(/\s+/g,"_").toLowerCase():e}(c)),s.send_to=t.measurementId,t.debug&&(s.debug_mode=!0);l(r)("event",c,s)}var _="dataLayer";function k(e,t,a){const{containerId:n,dataLayer:r,domain:o}=e,i=r||_,s=window;i===_?s.dataLayer=s.dataLayer||[]:s[i]=s[i]||[];const c=s[i];t("dataLayer.push",c.push.bind(c))({"gtm.start":(new Date).getTime(),event:"gtm.js"}),a&&n&&function(e,t,a){const n=a!=_?"&l="+a:"",r=document.createElement("script");r.src=t+e+n,document.head.appendChild(r)}(n,o||"https://www.googletagmanager.com/gtm.js?id=",i)}var x={},E={};o(E,{events:()=>O,mapping:()=>R});var O={};function j(){const e=b("order complete");return["event","purchase",{transaction_id:e.data.id,value:e.data.total,tax:e.data.taxes,shipping:e.data.shipping,currency:"EUR",items:e.nested.filter(e=>"product"===e.type).map(e=>({item_id:e.data.id,item_name:e.data.name,quantity:1})),send_to:"G-XXXXXX-1"}]}function X(){const e=b("product add");return["event","add_to_cart",{currency:"EUR",value:e.data.price,items:[{item_id:e.data.id,item_variant:e.data.color,quantity:1}],send_to:"G-XXXXXX-1"}]}function I(){const e=b("order complete");return["event","conversion",{send_to:"AW-XXXXXXXXX/CONVERSION_LABEL",currency:"EUR",value:e.data.total,transaction_id:e.data.id}]}function S(){const e=b("product view");return{event:"product_view",product_id:e.data.id,product_name:e.data.name,product_category:e.data.category,value:e.data.price,currency:"EUR"}}o(O,{adsConversion:()=>I,ga4AddToCart:()=>X,ga4Purchase:()=>j,gtmEvent:()=>S});var R={};o(R,{adsConversion:()=>U,combinedPurchase:()=>D,config:()=>q,ga4AddToCart:()=>C,ga4Purchase:()=>L,gtmProductView:()=>A});var L={name:"purchase",settings:{ga4:{include:["data","context"]}},data:{map:{transaction_id:"data.id",value:"data.total",tax:"data.taxes",shipping:"data.shipping",currency:{key:"data.currency",value:"EUR"},items:{loop:["nested",{condition:e=>v(e)&&"product"===e.type,map:{item_id:"data.id",item_name:"data.name",quantity:{key:"data.quantity",value:1}}}]}}}},C={name:"add_to_cart",settings:{ga4:{include:["data"]}},data:{map:{currency:{value:"EUR",key:"data.currency"},value:"data.price",items:{loop:["this",{map:{item_id:"data.id",item_variant:"data.color",quantity:{value:1,key:"data.quantity"}}}]}}}},U={name:"CONVERSION_LABEL",settings:{ads:{}},data:{map:{value:"data.total",currency:{value:"EUR",key:"data.currency"},transaction_id:"data.id"}}},A={name:"product_view",settings:{gtm:{}},data:{map:{product_id:"data.id",product_name:"data.name",product_category:"data.category",value:"data.price",currency:{value:"EUR",key:"data.currency"}}}},D={name:"purchase",settings:{ga4:{include:["data"]},ads:{},gtm:{}},data:{map:{transaction_id:"data.id",value:"data.total",currency:{value:"EUR",key:"data.currency"},items:{loop:["nested",{condition:e=>v(e)&&"product"===e.type,map:{item_id:"data.id",item_name:"data.name",quantity:{value:1,key:"data.quantity"}}}]}}}},q={order:{complete:D},product:{add:C,view:A}},P={type:"google-gtag",config:{settings:{}},init({config:e,wrap:t}){const{settings:a={},loadScript:n}=e,{ga4:r,ads:o,gtm:i}=a;return(null==r?void 0:r.measurementId)&&function(e,t,a){const{measurementId:n,transport_url:r,server_container_url:o,pageview:i}=e;if(!n)return;a&&u(n),p();const s={};r&&(s.transport_url=r),o&&(s.server_container_url=o),!1===i&&(s.send_page_view=!1);const c=l(t);c("js",new Date),c("config",n,s)}(r,t,n),(null==o?void 0:o.conversionId)&&function(e,t,a){const{conversionId:n}=e;if(!n)return;e.currency||(e.currency="EUR"),a&&u(n),p();const r=l(t);r("js",new Date),r("config",n)}(o,t,n),(null==i?void 0:i.containerId)&&k(i,t,n),!!((null==r?void 0:r.measurementId)||(null==o?void 0:o.conversionId)||(null==i?void 0:i.containerId))&&e},push(e,{config:t,mapping:a={},data:n,wrap:r}){const{settings:o={}}=t,{ga4:i,ads:s,gtm:c}=o,d=a.settings||{};(null==i?void 0:i.measurementId)&&f(e,i,d.ga4,n,r),(null==s?void 0:s.conversionId)&&a.name&&function(e,t,a={},n,r,o){const{conversionId:i,currency:s}=t,c=v(n)?n:{},d=a.label||o;if(!d)return;const u={send_to:`${i}/${d}`,currency:s||"EUR",...c};l(r)("event","conversion",u)}(0,s,d.ads,n,r,a.name),(null==c?void 0:c.containerId)&&function(e,t,a={},n,r){const o=window;r("dataLayer.push",o.dataLayer.push.bind(o.dataLayer))({event:e.event,...v(n)?n:e})}(e,0,d.gtm,n,r)}},z=P;//# sourceMappingURL=index.js.map
1
+ "use strict";var e,t=Object.defineProperty,a=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,o=(e,a)=>{for(var n in a)t(e,n,{get:a[n],enumerable:!0})},i={};o(i,{DestinationGtag:()=>x,default:()=>z,destinationGtag:()=>P,examples:()=>E}),module.exports=(e=i,((e,o,i,s)=>{if(o&&"object"==typeof o||"function"==typeof o)for(let c of n(o))r.call(e,c)||c===i||t(e,c,{get:()=>o[c],enumerable:!(s=a(o,c))||s.enumerable});return e})(t({},"__esModule",{value:!0}),e));var s,c,d=new Set;function u(e,t="https://www.googletagmanager.com/gtag/js?id="){if(d.has(e))return;const a=document.createElement("script");a.src=t+e,document.head.appendChild(a),d.add(e)}function p(){const e=window;e.dataLayer=e.dataLayer||[],e.gtag||(e.gtag=function(){e.dataLayer.push(arguments)})}function l(e){return e("gtag",window.gtag)}var g=Object.getOwnPropertyNames,m=(s={"package.json"(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 c||(0,s[g(s)[0]])((c={exports:{}}).exports,c),c.exports}),y={merge:!0,shallow:!0,extend:!0};function v(e){return"object"==typeof e&&null!==e&&!function(e){return Array.isArray(e)}(e)&&"[object Object]"===Object.prototype.toString.call(e)}var{version:h}=m();function w(e={}){var t;const a=e.timestamp||(new Date).setHours(0,13,37,0),n=e.group||"gr0up",r=e.count||1,o=function(e,t={},a={}){a={...y,...a};const n=Object.entries(t).reduce((t,[n,r])=>{const o=e[n];return a.merge&&Array.isArray(o)&&Array.isArray(r)?t[n]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...o]):(a.extend||n in e)&&(t[n]=r),t},{});return a.shallow?{...e,...n}:(Object.assign(e,n),e)}({event:"entity action",data:{string:"foo",number:1,boolean:!0,array:[0,"text",!1],not:void 0},context:{dev:["test",1]},globals:{lang:"elb"},custom:{completely:"random"},user:{id:"us3r",device:"c00k13",session:"s3ss10n"},nested:[{type:"child",data:{is:"subordinated"},nested:[],context:{element:["child",0]}}],consent:{functional:!0},id:`${a}-${n}-${r}`,trigger:"test",entity:"entity",action:"action",timestamp:a,timing:3.14,group:n,count:r,version:{source:h,tagging:1},source:{type:"web",id:"https://localhost:80",previous_id:"http://remotehost:9001"}},e,{merge:!1});if(e.event){const[a,n]=null!=(t=e.event.split(" "))?t:[];a&&n&&(o.entity=a,o.action=n)}return o}function b(e="entity action",t={}){const a=t.timestamp||(new Date).setHours(0,13,37,0),n={data:{id:"ers",name:"Everyday Ruck Snack",color:"black",size:"l",price:420}},r={data:{id:"cc",name:"Cool Cap",size:"one size",price:42}};return w({...{"cart view":{data:{currency:"EUR",value:2*n.data.price},context:{shopping:["cart",0]},globals:{pagegroup:"shop"},nested:[{type:"product",data:{...n.data,quantity:2},context:{shopping:["cart",0]},nested:[]}],trigger:"load"},"checkout view":{data:{step:"payment",currency:"EUR",value:n.data.price+r.data.price},context:{shopping:["checkout",0]},globals:{pagegroup:"shop"},nested:[{type:"product",...n,context:{shopping:["checkout",0]},nested:[]},{type:"product",...r,context:{shopping:["checkout",0]},nested:[]}],trigger:"load"},"order complete":{data:{id:"0rd3r1d",currency:"EUR",shipping:5.22,taxes:73.76,total:555},context:{shopping:["complete",0]},globals:{pagegroup:"shop"},nested:[{type:"product",...n,context:{shopping:["complete",0]},nested:[]},{type:"product",...r,context:{shopping:["complete",0]},nested:[]},{type:"gift",data:{name:"Surprise"},context:{shopping:["complete",0]},nested:[]}],trigger:"load"},"page view":{data:{domain:"www.example.com",title:"walkerOS documentation",referrer:"https://www.elbwalker.com/",search:"?foo=bar",hash:"#hash",id:"/docs/"},globals:{pagegroup:"docs"},trigger:"load"},"product add":{...n,context:{shopping:["intent",0]},globals:{pagegroup:"shop"},nested:[],trigger:"click"},"product view":{...n,context:{shopping:["detail",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"product visible":{data:{...n.data,position:3,promo:!0},context:{shopping:["discover",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"promotion visible":{data:{name:"Setting up tracking easily",position:"hero"},context:{ab_test:["engagement",0]},globals:{pagegroup:"homepage"},trigger:"visible"},"session start":{data:{id:"s3ss10n",start:a,isNew:!0,count:1,runs:1,isStart:!0,storage:!0,referrer:"",device:"c00k13"},user:{id:"us3r",device:"c00k13",session:"s3ss10n",hash:"h4sh",address:"street number",email:"user@example.com",phone:"+49 123 456 789",userAgent:"Mozilla...",browser:"Chrome",browserVersion:"90",deviceType:"desktop",language:"de-DE",country:"DE",region:"HH",city:"Hamburg",zip:"20354",timezone:"Berlin",os:"walkerOS",osVersion:"1.0",screenSize:"1337x420",ip:"127.0.0.0",internal:!0,custom:"value"}}}[e],...t,event:e})}function f(e,t,a={},n,r){if(!t.measurementId)return;const o=v(n)?n:{},i=function(e,t){const a={};return t.includes("all")&&(t=["context","data","event","globals","source","user","version"]),t.forEach(t=>{let n=e[t]||{};"event"==t&&(n={id:e.id,timing:e.timing,trigger:e.trigger,entity:e.entity,action:e.action,group:e.group,count:e.count}),Object.entries(n).forEach(([e,n])=>{"context"==t&&(n=n[0]),a[`${t}_${e}`]=n})}),a}(e,a.include||t.include||["data"]),s={...i,...o};let c=e.event;!1!==t.snakeCase&&(c=function(e,t=!0){return t?e.replace(/\s+/g,"_").toLowerCase():e}(c)),s.send_to=t.measurementId,t.debug&&(s.debug_mode=!0);l(r)("event",c,s)}var _="dataLayer";function k(e,t,a){const{containerId:n,dataLayer:r,domain:o}=e,i=r||_,s=window;i===_?s.dataLayer=s.dataLayer||[]:s[i]=s[i]||[];const c=s[i];t("dataLayer.push",c.push.bind(c))({"gtm.start":(new Date).getTime(),event:"gtm.js"}),a&&n&&function(e,t,a){const n=a!=_?"&l="+a:"",r=document.createElement("script");r.src=t+e+n,document.head.appendChild(r)}(n,o||"https://www.googletagmanager.com/gtm.js?id=",i)}var x={},E={};o(E,{events:()=>O,mapping:()=>R});var O={};function j(){const e=b("order complete");return["event","purchase",{transaction_id:e.data.id,value:e.data.total,tax:e.data.taxes,shipping:e.data.shipping,currency:"EUR",items:e.nested.filter(e=>"product"===e.type).map(e=>({item_id:e.data.id,item_name:e.data.name,quantity:1})),send_to:"G-XXXXXX-1"}]}function X(){const e=b("product add");return["event","add_to_cart",{currency:"EUR",value:e.data.price,items:[{item_id:e.data.id,item_variant:e.data.color,quantity:1}],send_to:"G-XXXXXX-1"}]}function I(){const e=b("order complete");return["event","conversion",{send_to:"AW-XXXXXXXXX/CONVERSION_LABEL",currency:"EUR",value:e.data.total,transaction_id:e.data.id}]}function S(){const e=b("product view");return{event:"product_view",product_id:e.data.id,product_name:e.data.name,product_category:e.data.category,value:e.data.price,currency:"EUR"}}o(O,{adsConversion:()=>I,ga4AddToCart:()=>X,ga4Purchase:()=>j,gtmEvent:()=>S});var R={};o(R,{adsConversion:()=>U,combinedPurchase:()=>D,config:()=>q,ga4AddToCart:()=>C,ga4Purchase:()=>L,gtmProductView:()=>A});var L={name:"purchase",settings:{ga4:{include:["data","context"]}},data:{map:{transaction_id:"data.id",value:"data.total",tax:"data.taxes",shipping:"data.shipping",currency:{key:"data.currency",value:"EUR"},items:{loop:["nested",{condition:e=>v(e)&&"product"===e.type,map:{item_id:"data.id",item_name:"data.name",quantity:{key:"data.quantity",value:1}}}]}}}},C={name:"add_to_cart",settings:{ga4:{include:["data"]}},data:{map:{currency:{value:"EUR",key:"data.currency"},value:"data.price",items:{loop:["this",{map:{item_id:"data.id",item_variant:"data.color",quantity:{value:1,key:"data.quantity"}}}]}}}},U={name:"CONVERSION_LABEL",settings:{ads:{}},data:{map:{value:"data.total",currency:{value:"EUR",key:"data.currency"},transaction_id:"data.id"}}},A={name:"product_view",settings:{gtm:{}},data:{map:{product_id:"data.id",product_name:"data.name",product_category:"data.category",value:"data.price",currency:{value:"EUR",key:"data.currency"}}}},D={name:"purchase",settings:{ga4:{include:["data"]},ads:{},gtm:{}},data:{map:{transaction_id:"data.id",value:"data.total",currency:{value:"EUR",key:"data.currency"},items:{loop:["nested",{condition:e=>v(e)&&"product"===e.type,map:{item_id:"data.id",item_name:"data.name",quantity:{value:1,key:"data.quantity"}}}]}}}},q={order:{complete:D},product:{add:C,view:A}},P={type:"google-gtag",config:{settings:{}},init({config:e,wrap:t}){const{settings:a={},loadScript:n}=e,{ga4:r,ads:o,gtm:i}=a;return(null==r?void 0:r.measurementId)&&function(e,t,a){const{measurementId:n,transport_url:r,server_container_url:o,pageview:i}=e;if(!n)return;a&&u(n),p();const s={};r&&(s.transport_url=r),o&&(s.server_container_url=o),!1===i&&(s.send_page_view=!1);const c=l(t);c("js",new Date),c("config",n,s)}(r,t,n),(null==o?void 0:o.conversionId)&&function(e,t,a){const{conversionId:n}=e;if(!n)return;e.currency||(e.currency="EUR"),a&&u(n),p();const r=l(t);r("js",new Date),r("config",n)}(o,t,n),(null==i?void 0:i.containerId)&&k(i,t,n),!!((null==r?void 0:r.measurementId)||(null==o?void 0:o.conversionId)||(null==i?void 0:i.containerId))&&e},push(e,{config:t,mapping:a={},data:n,wrap:r}){const{settings:o={}}=t,{ga4:i,ads:s,gtm:c}=o,d=a.settings||{};(null==i?void 0:i.measurementId)&&f(e,i,d.ga4,n,r),(null==s?void 0:s.conversionId)&&a.name&&function(e,t,a={},n,r,o){const{conversionId:i,currency:s}=t,c=v(n)?n:{},d=a.label||o;if(!d)return;const u={send_to:`${i}/${d}`,currency:s||"EUR",...c};l(r)("event","conversion",u)}(0,s,d.ads,n,r,a.name),(null==c?void 0:c.containerId)&&function(e,t,a={},n,r){const o=window;r("dataLayer.push",o.dataLayer.push.bind(o.dataLayer))({event:e.event,...v(n)?n:e})}(e,0,d.gtm,n,r)}},z=P;//# sourceMappingURL=index.js.map
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- var e,t,a=Object.defineProperty,n=(e,t)=>{for(var n in t)a(e,n,{get:t[n],enumerable:!0})},r=new Set;function o(e,t="https://www.googletagmanager.com/gtag/js?id="){if(r.has(e))return;const a=document.createElement("script");a.src=t+e,document.head.appendChild(a),r.add(e)}function i(){const e=window;e.dataLayer=e.dataLayer||[],e.gtag||(e.gtag=function(){e.dataLayer.push(arguments)})}function s(e){return e("gtag",window.gtag)}var c=Object.getOwnPropertyNames,d=(e={"package.json"(e,t){t.exports={name:"@walkeros/core",description:"Core types and platform-agnostic utilities for walkerOS",version:"0.0.7",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[c(e)[0]])((t={exports:{}}).exports,t),t.exports}),u={merge:!0,shallow:!0,extend:!0};function p(e){return"object"==typeof e&&null!==e&&!function(e){return Array.isArray(e)}(e)&&"[object Object]"===Object.prototype.toString.call(e)}var{version:l}=d();function g(e={}){var t;const a=e.timestamp||(new Date).setHours(0,13,37,0),n=e.group||"gr0up",r=e.count||1,o=function(e,t={},a={}){a={...u,...a};const n=Object.entries(t).reduce((t,[n,r])=>{const o=e[n];return a.merge&&Array.isArray(o)&&Array.isArray(r)?t[n]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...o]):(a.extend||n in e)&&(t[n]=r),t},{});return a.shallow?{...e,...n}:(Object.assign(e,n),e)}({event:"entity action",data:{string:"foo",number:1,boolean:!0,array:[0,"text",!1],not:void 0},context:{dev:["test",1]},globals:{lang:"elb"},custom:{completely:"random"},user:{id:"us3r",device:"c00k13",session:"s3ss10n"},nested:[{type:"child",data:{is:"subordinated"},nested:[],context:{element:["child",0]}}],consent:{functional:!0},id:`${a}-${n}-${r}`,trigger:"test",entity:"entity",action:"action",timestamp:a,timing:3.14,group:n,count:r,version:{source:l,tagging:1},source:{type:"web",id:"https://localhost:80",previous_id:"http://remotehost:9001"}},e,{merge:!1});if(e.event){const[a,n]=null!=(t=e.event.split(" "))?t:[];a&&n&&(o.entity=a,o.action=n)}return o}function m(e="entity action",t={}){const a=t.timestamp||(new Date).setHours(0,13,37,0),n={data:{id:"ers",name:"Everyday Ruck Snack",color:"black",size:"l",price:420}},r={data:{id:"cc",name:"Cool Cap",size:"one size",price:42}};return g({...{"cart view":{data:{currency:"EUR",value:2*n.data.price},context:{shopping:["cart",0]},globals:{pagegroup:"shop"},nested:[{type:"product",data:{...n.data,quantity:2},context:{shopping:["cart",0]},nested:[]}],trigger:"load"},"checkout view":{data:{step:"payment",currency:"EUR",value:n.data.price+r.data.price},context:{shopping:["checkout",0]},globals:{pagegroup:"shop"},nested:[{type:"product",...n,context:{shopping:["checkout",0]},nested:[]},{type:"product",...r,context:{shopping:["checkout",0]},nested:[]}],trigger:"load"},"order complete":{data:{id:"0rd3r1d",currency:"EUR",shipping:5.22,taxes:73.76,total:555},context:{shopping:["complete",0]},globals:{pagegroup:"shop"},nested:[{type:"product",...n,context:{shopping:["complete",0]},nested:[]},{type:"product",...r,context:{shopping:["complete",0]},nested:[]},{type:"gift",data:{name:"Surprise"},context:{shopping:["complete",0]},nested:[]}],trigger:"load"},"page view":{data:{domain:"www.example.com",title:"walkerOS documentation",referrer:"https://www.elbwalker.com/",search:"?foo=bar",hash:"#hash",id:"/docs/"},globals:{pagegroup:"docs"},trigger:"load"},"product add":{...n,context:{shopping:["intent",0]},globals:{pagegroup:"shop"},nested:[],trigger:"click"},"product view":{...n,context:{shopping:["detail",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"product visible":{data:{...n.data,position:3,promo:!0},context:{shopping:["discover",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"promotion visible":{data:{name:"Setting up tracking easily",position:"hero"},context:{ab_test:["engagement",0]},globals:{pagegroup:"homepage"},trigger:"visible"},"session start":{data:{id:"s3ss10n",start:a,isNew:!0,count:1,runs:1,isStart:!0,storage:!0,referrer:"",device:"c00k13"},user:{id:"us3r",device:"c00k13",session:"s3ss10n",hash:"h4sh",address:"street number",email:"user@example.com",phone:"+49 123 456 789",userAgent:"Mozilla...",browser:"Chrome",browserVersion:"90",deviceType:"desktop",language:"de-DE",country:"DE",region:"HH",city:"Hamburg",zip:"20354",timezone:"Berlin",os:"walkerOS",osVersion:"1.0",screenSize:"1337x420",ip:"127.0.0.0",internal:!0,custom:"value"}}}[e],...t,event:e})}function y(e,t,a={},n,r){if(!t.measurementId)return;const o=p(n)?n:{},i=function(e,t){const a={};return t.includes("all")&&(t=["context","data","event","globals","source","user","version"]),t.forEach(t=>{let n=e[t]||{};"event"==t&&(n={id:e.id,timing:e.timing,trigger:e.trigger,entity:e.entity,action:e.action,group:e.group,count:e.count}),Object.entries(n).forEach(([e,n])=>{"context"==t&&(n=n[0]),a[`${t}_${e}`]=n})}),a}(e,a.include||t.include||["data"]),c={...i,...o};let d=e.event;!1!==t.snakeCase&&(d=function(e,t=!0){return t?e.replace(/\s+/g,"_").toLowerCase():e}(d)),c.send_to=t.measurementId,t.debug&&(c.debug_mode=!0);s(r)("event",d,c)}var v="dataLayer";function h(e,t,a){const{containerId:n,dataLayer:r,domain:o}=e,i=r||v,s=window;i===v?s.dataLayer=s.dataLayer||[]:s[i]=s[i]||[];const c=s[i];t("dataLayer.push",c.push.bind(c))({"gtm.start":(new Date).getTime(),event:"gtm.js"}),a&&n&&function(e,t,a){const n=a!=v?"&l="+a:"",r=document.createElement("script");r.src=t+e+n,document.head.appendChild(r)}(n,o||"https://www.googletagmanager.com/gtm.js?id=",i)}var w={},b={};n(b,{events:()=>f,mapping:()=>X});var f={};function _(){const e=m("order complete");return["event","purchase",{transaction_id:e.data.id,value:e.data.total,tax:e.data.taxes,shipping:e.data.shipping,currency:"EUR",items:e.nested.filter(e=>"product"===e.type).map(e=>({item_id:e.data.id,item_name:e.data.name,quantity:1})),send_to:"G-XXXXXX-1"}]}function k(){const e=m("product add");return["event","add_to_cart",{currency:"EUR",value:e.data.price,items:[{item_id:e.data.id,item_variant:e.data.color,quantity:1}],send_to:"G-XXXXXX-1"}]}function x(){const e=m("order complete");return["event","conversion",{send_to:"AW-XXXXXXXXX/CONVERSION_LABEL",currency:"EUR",value:e.data.total,transaction_id:e.data.id}]}function E(){const e=m("product view");return{event:"product_view",product_id:e.data.id,product_name:e.data.name,product_category:e.data.category,value:e.data.price,currency:"EUR"}}n(f,{adsConversion:()=>x,ga4AddToCart:()=>k,ga4Purchase:()=>_,gtmEvent:()=>E});var X={};n(X,{adsConversion:()=>I,combinedPurchase:()=>R,config:()=>L,ga4AddToCart:()=>O,ga4Purchase:()=>j,gtmProductView:()=>S});var j={name:"purchase",settings:{ga4:{include:["data","context"]}},data:{map:{transaction_id:"data.id",value:"data.total",tax:"data.taxes",shipping:"data.shipping",currency:{key:"data.currency",value:"EUR"},items:{loop:["nested",{condition:e=>p(e)&&"product"===e.type,map:{item_id:"data.id",item_name:"data.name",quantity:{key:"data.quantity",value:1}}}]}}}},O={name:"add_to_cart",settings:{ga4:{include:["data"]}},data:{map:{currency:{value:"EUR",key:"data.currency"},value:"data.price",items:{loop:["this",{map:{item_id:"data.id",item_variant:"data.color",quantity:{value:1,key:"data.quantity"}}}]}}}},I={name:"CONVERSION_LABEL",settings:{ads:{}},data:{map:{value:"data.total",currency:{value:"EUR",key:"data.currency"},transaction_id:"data.id"}}},S={name:"product_view",settings:{gtm:{}},data:{map:{product_id:"data.id",product_name:"data.name",product_category:"data.category",value:"data.price",currency:{value:"EUR",key:"data.currency"}}}},R={name:"purchase",settings:{ga4:{include:["data"]},ads:{},gtm:{}},data:{map:{transaction_id:"data.id",value:"data.total",currency:{value:"EUR",key:"data.currency"},items:{loop:["nested",{condition:e=>p(e)&&"product"===e.type,map:{item_id:"data.id",item_name:"data.name",quantity:{value:1,key:"data.quantity"}}}]}}}},L={order:{complete:R},product:{add:O,view:S}},C={type:"google-gtag",config:{settings:{}},init({config:e,wrap:t}){const{settings:a={},loadScript:n}=e,{ga4:r,ads:c,gtm:d}=a;return(null==r?void 0:r.measurementId)&&function(e,t,a){const{measurementId:n,transport_url:r,server_container_url:c,pageview:d}=e;if(!n)return;a&&o(n),i();const u={};r&&(u.transport_url=r),c&&(u.server_container_url=c),!1===d&&(u.send_page_view=!1);const p=s(t);p("js",new Date),p("config",n,u)}(r,t,n),(null==c?void 0:c.conversionId)&&function(e,t,a){const{conversionId:n}=e;if(!n)return;e.currency||(e.currency="EUR"),a&&o(n),i();const r=s(t);r("js",new Date),r("config",n)}(c,t,n),(null==d?void 0:d.containerId)&&h(d,t,n),!!((null==r?void 0:r.measurementId)||(null==c?void 0:c.conversionId)||(null==d?void 0:d.containerId))&&e},push(e,{config:t,mapping:a={},data:n,wrap:r}){const{settings:o={}}=t,{ga4:i,ads:c,gtm:d}=o,u=a.settings||{};(null==i?void 0:i.measurementId)&&y(e,i,u.ga4,n,r),(null==c?void 0:c.conversionId)&&a.name&&function(e,t,a={},n,r,o){const{conversionId:i,currency:c}=t,d=p(n)?n:{},u=a.label||o;if(!u)return;const l={send_to:`${i}/${u}`,currency:c||"EUR",...d};s(r)("event","conversion",l)}(0,c,u.ads,n,r,a.name),(null==d?void 0:d.containerId)&&function(e,t,a={},n,r){const o=window;r("dataLayer.push",o.dataLayer.push.bind(o.dataLayer))({event:e.event,...p(n)?n:e})}(e,0,u.gtm,n,r)}},U=C;export{w as DestinationGtag,U as default,C as destinationGtag,b as examples};//# sourceMappingURL=index.mjs.map
1
+ var e,t,a=Object.defineProperty,n=(e,t)=>{for(var n in t)a(e,n,{get:t[n],enumerable:!0})},r=new Set;function o(e,t="https://www.googletagmanager.com/gtag/js?id="){if(r.has(e))return;const a=document.createElement("script");a.src=t+e,document.head.appendChild(a),r.add(e)}function i(){const e=window;e.dataLayer=e.dataLayer||[],e.gtag||(e.gtag=function(){e.dataLayer.push(arguments)})}function s(e){return e("gtag",window.gtag)}var c=Object.getOwnPropertyNames,d=(e={"package.json"(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[c(e)[0]])((t={exports:{}}).exports,t),t.exports}),u={merge:!0,shallow:!0,extend:!0};function p(e){return"object"==typeof e&&null!==e&&!function(e){return Array.isArray(e)}(e)&&"[object Object]"===Object.prototype.toString.call(e)}var{version:l}=d();function g(e={}){var t;const a=e.timestamp||(new Date).setHours(0,13,37,0),n=e.group||"gr0up",r=e.count||1,o=function(e,t={},a={}){a={...u,...a};const n=Object.entries(t).reduce((t,[n,r])=>{const o=e[n];return a.merge&&Array.isArray(o)&&Array.isArray(r)?t[n]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...o]):(a.extend||n in e)&&(t[n]=r),t},{});return a.shallow?{...e,...n}:(Object.assign(e,n),e)}({event:"entity action",data:{string:"foo",number:1,boolean:!0,array:[0,"text",!1],not:void 0},context:{dev:["test",1]},globals:{lang:"elb"},custom:{completely:"random"},user:{id:"us3r",device:"c00k13",session:"s3ss10n"},nested:[{type:"child",data:{is:"subordinated"},nested:[],context:{element:["child",0]}}],consent:{functional:!0},id:`${a}-${n}-${r}`,trigger:"test",entity:"entity",action:"action",timestamp:a,timing:3.14,group:n,count:r,version:{source:l,tagging:1},source:{type:"web",id:"https://localhost:80",previous_id:"http://remotehost:9001"}},e,{merge:!1});if(e.event){const[a,n]=null!=(t=e.event.split(" "))?t:[];a&&n&&(o.entity=a,o.action=n)}return o}function m(e="entity action",t={}){const a=t.timestamp||(new Date).setHours(0,13,37,0),n={data:{id:"ers",name:"Everyday Ruck Snack",color:"black",size:"l",price:420}},r={data:{id:"cc",name:"Cool Cap",size:"one size",price:42}};return g({...{"cart view":{data:{currency:"EUR",value:2*n.data.price},context:{shopping:["cart",0]},globals:{pagegroup:"shop"},nested:[{type:"product",data:{...n.data,quantity:2},context:{shopping:["cart",0]},nested:[]}],trigger:"load"},"checkout view":{data:{step:"payment",currency:"EUR",value:n.data.price+r.data.price},context:{shopping:["checkout",0]},globals:{pagegroup:"shop"},nested:[{type:"product",...n,context:{shopping:["checkout",0]},nested:[]},{type:"product",...r,context:{shopping:["checkout",0]},nested:[]}],trigger:"load"},"order complete":{data:{id:"0rd3r1d",currency:"EUR",shipping:5.22,taxes:73.76,total:555},context:{shopping:["complete",0]},globals:{pagegroup:"shop"},nested:[{type:"product",...n,context:{shopping:["complete",0]},nested:[]},{type:"product",...r,context:{shopping:["complete",0]},nested:[]},{type:"gift",data:{name:"Surprise"},context:{shopping:["complete",0]},nested:[]}],trigger:"load"},"page view":{data:{domain:"www.example.com",title:"walkerOS documentation",referrer:"https://www.elbwalker.com/",search:"?foo=bar",hash:"#hash",id:"/docs/"},globals:{pagegroup:"docs"},trigger:"load"},"product add":{...n,context:{shopping:["intent",0]},globals:{pagegroup:"shop"},nested:[],trigger:"click"},"product view":{...n,context:{shopping:["detail",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"product visible":{data:{...n.data,position:3,promo:!0},context:{shopping:["discover",0]},globals:{pagegroup:"shop"},nested:[],trigger:"load"},"promotion visible":{data:{name:"Setting up tracking easily",position:"hero"},context:{ab_test:["engagement",0]},globals:{pagegroup:"homepage"},trigger:"visible"},"session start":{data:{id:"s3ss10n",start:a,isNew:!0,count:1,runs:1,isStart:!0,storage:!0,referrer:"",device:"c00k13"},user:{id:"us3r",device:"c00k13",session:"s3ss10n",hash:"h4sh",address:"street number",email:"user@example.com",phone:"+49 123 456 789",userAgent:"Mozilla...",browser:"Chrome",browserVersion:"90",deviceType:"desktop",language:"de-DE",country:"DE",region:"HH",city:"Hamburg",zip:"20354",timezone:"Berlin",os:"walkerOS",osVersion:"1.0",screenSize:"1337x420",ip:"127.0.0.0",internal:!0,custom:"value"}}}[e],...t,event:e})}function y(e,t,a={},n,r){if(!t.measurementId)return;const o=p(n)?n:{},i=function(e,t){const a={};return t.includes("all")&&(t=["context","data","event","globals","source","user","version"]),t.forEach(t=>{let n=e[t]||{};"event"==t&&(n={id:e.id,timing:e.timing,trigger:e.trigger,entity:e.entity,action:e.action,group:e.group,count:e.count}),Object.entries(n).forEach(([e,n])=>{"context"==t&&(n=n[0]),a[`${t}_${e}`]=n})}),a}(e,a.include||t.include||["data"]),c={...i,...o};let d=e.event;!1!==t.snakeCase&&(d=function(e,t=!0){return t?e.replace(/\s+/g,"_").toLowerCase():e}(d)),c.send_to=t.measurementId,t.debug&&(c.debug_mode=!0);s(r)("event",d,c)}var v="dataLayer";function h(e,t,a){const{containerId:n,dataLayer:r,domain:o}=e,i=r||v,s=window;i===v?s.dataLayer=s.dataLayer||[]:s[i]=s[i]||[];const c=s[i];t("dataLayer.push",c.push.bind(c))({"gtm.start":(new Date).getTime(),event:"gtm.js"}),a&&n&&function(e,t,a){const n=a!=v?"&l="+a:"",r=document.createElement("script");r.src=t+e+n,document.head.appendChild(r)}(n,o||"https://www.googletagmanager.com/gtm.js?id=",i)}var w={},b={};n(b,{events:()=>f,mapping:()=>X});var f={};function _(){const e=m("order complete");return["event","purchase",{transaction_id:e.data.id,value:e.data.total,tax:e.data.taxes,shipping:e.data.shipping,currency:"EUR",items:e.nested.filter(e=>"product"===e.type).map(e=>({item_id:e.data.id,item_name:e.data.name,quantity:1})),send_to:"G-XXXXXX-1"}]}function k(){const e=m("product add");return["event","add_to_cart",{currency:"EUR",value:e.data.price,items:[{item_id:e.data.id,item_variant:e.data.color,quantity:1}],send_to:"G-XXXXXX-1"}]}function x(){const e=m("order complete");return["event","conversion",{send_to:"AW-XXXXXXXXX/CONVERSION_LABEL",currency:"EUR",value:e.data.total,transaction_id:e.data.id}]}function E(){const e=m("product view");return{event:"product_view",product_id:e.data.id,product_name:e.data.name,product_category:e.data.category,value:e.data.price,currency:"EUR"}}n(f,{adsConversion:()=>x,ga4AddToCart:()=>k,ga4Purchase:()=>_,gtmEvent:()=>E});var X={};n(X,{adsConversion:()=>I,combinedPurchase:()=>R,config:()=>L,ga4AddToCart:()=>O,ga4Purchase:()=>j,gtmProductView:()=>S});var j={name:"purchase",settings:{ga4:{include:["data","context"]}},data:{map:{transaction_id:"data.id",value:"data.total",tax:"data.taxes",shipping:"data.shipping",currency:{key:"data.currency",value:"EUR"},items:{loop:["nested",{condition:e=>p(e)&&"product"===e.type,map:{item_id:"data.id",item_name:"data.name",quantity:{key:"data.quantity",value:1}}}]}}}},O={name:"add_to_cart",settings:{ga4:{include:["data"]}},data:{map:{currency:{value:"EUR",key:"data.currency"},value:"data.price",items:{loop:["this",{map:{item_id:"data.id",item_variant:"data.color",quantity:{value:1,key:"data.quantity"}}}]}}}},I={name:"CONVERSION_LABEL",settings:{ads:{}},data:{map:{value:"data.total",currency:{value:"EUR",key:"data.currency"},transaction_id:"data.id"}}},S={name:"product_view",settings:{gtm:{}},data:{map:{product_id:"data.id",product_name:"data.name",product_category:"data.category",value:"data.price",currency:{value:"EUR",key:"data.currency"}}}},R={name:"purchase",settings:{ga4:{include:["data"]},ads:{},gtm:{}},data:{map:{transaction_id:"data.id",value:"data.total",currency:{value:"EUR",key:"data.currency"},items:{loop:["nested",{condition:e=>p(e)&&"product"===e.type,map:{item_id:"data.id",item_name:"data.name",quantity:{value:1,key:"data.quantity"}}}]}}}},L={order:{complete:R},product:{add:O,view:S}},C={type:"google-gtag",config:{settings:{}},init({config:e,wrap:t}){const{settings:a={},loadScript:n}=e,{ga4:r,ads:c,gtm:d}=a;return(null==r?void 0:r.measurementId)&&function(e,t,a){const{measurementId:n,transport_url:r,server_container_url:c,pageview:d}=e;if(!n)return;a&&o(n),i();const u={};r&&(u.transport_url=r),c&&(u.server_container_url=c),!1===d&&(u.send_page_view=!1);const p=s(t);p("js",new Date),p("config",n,u)}(r,t,n),(null==c?void 0:c.conversionId)&&function(e,t,a){const{conversionId:n}=e;if(!n)return;e.currency||(e.currency="EUR"),a&&o(n),i();const r=s(t);r("js",new Date),r("config",n)}(c,t,n),(null==d?void 0:d.containerId)&&h(d,t,n),!!((null==r?void 0:r.measurementId)||(null==c?void 0:c.conversionId)||(null==d?void 0:d.containerId))&&e},push(e,{config:t,mapping:a={},data:n,wrap:r}){const{settings:o={}}=t,{ga4:i,ads:c,gtm:d}=o,u=a.settings||{};(null==i?void 0:i.measurementId)&&y(e,i,u.ga4,n,r),(null==c?void 0:c.conversionId)&&a.name&&function(e,t,a={},n,r,o){const{conversionId:i,currency:c}=t,d=p(n)?n:{},u=a.label||o;if(!u)return;const l={send_to:`${i}/${u}`,currency:c||"EUR",...d};s(r)("event","conversion",l)}(0,c,u.ads,n,r,a.name),(null==d?void 0:d.containerId)&&function(e,t,a={},n,r){const o=window;r("dataLayer.push",o.dataLayer.push.bind(o.dataLayer))({event:e.event,...p(n)?n:e})}(e,0,u.gtm,n,r)}},U=C;export{w as DestinationGtag,U as default,C as destinationGtag,b as examples};//# sourceMappingURL=index.mjs.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@walkeros/web-destination-gtag",
3
3
  "description": "Unified Google destination for walkerOS (GA4, Ads, GTM)",
4
- "version": "0.0.7",
4
+ "version": "0.0.8",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.mjs",
@@ -25,7 +25,7 @@
25
25
  "update": "npx npm-check-updates -u && npm update"
26
26
  },
27
27
  "dependencies": {
28
- "@walkeros/web-core": "0.0.7"
28
+ "@walkeros/web-core": "0.0.8"
29
29
  },
30
30
  "repository": {
31
31
  "url": "git+https://github.com/elbwalker/walkerOS.git",