@walkeros/web-source-datalayer 4.0.0 → 4.0.1-next-1778068549946

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.
@@ -1 +1 @@
1
- "use strict";var Destination=(()=>{var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,r=(t,n)=>{for(var o in n)e(t,o,{get:n[o],enumerable:!0})},s={};r(s,{SourceDataLayer:()=>X,createTrigger:()=>Te,default:()=>Ue,env:()=>Y,sourceDataLayer:()=>Ce,step:()=>oe,trigger:()=>Me});var a=Object.defineProperty;((e,t)=>{for(var n in t)a(e,n,{get:t[n],enumerable:!0})})({},{Level:()=>c});var i,c=((i=c||{})[i.ERROR=0]="ERROR",i[i.WARN=1]="WARN",i[i.INFO=2]="INFO",i[i.DEBUG=3]="DEBUG",i);function u(e){return{_meta:{hops:0,path:[e]}}}var l={merge:!0,shallow:!0,extend:!0};function f(e,t={},n={}){n={...l,...n};const o=Object.entries(t).reduce((t,[o,r])=>{const s=e[o];return n.merge&&Array.isArray(s)&&Array.isArray(r)?t[o]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...s]):(n.extend||o in e)&&(t[o]=r),t},{});return n.shallow?{...e,...o}:(Object.assign(e,o),e)}function d(e){return Array.isArray(e)}function g(e){return void 0!==e}function p(e){return"function"==typeof e}function y(e){return"object"==typeof e&&null!==e&&!d(e)&&"[object Object]"===Object.prototype.toString.call(e)}function v(e){return"string"==typeof e}function m(e,t=new WeakMap){if("object"!=typeof e||null===e)return e;if(t.has(e))return t.get(e);const n=Object.prototype.toString.call(e);if("[object Object]"===n){const n={};t.set(e,n);for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=m(e[o],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(m(e,t))}),n}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){const t=e;return new RegExp(t.source,t.flags)}return e}function h(e,t="",n){const o=t.split(".");let r=e;for(let e=0;e<o.length;e++){const t=o[e];if("*"===t&&d(r)){const t=o.slice(e+1).join("."),s=[];for(const e of r){const o=h(e,t,n);s.push(o)}return s}if(r=r instanceof Object?r[t]:void 0,void 0===r)break}return g(r)?r:n}function b(e,t,n){if(!y(e))return e;const o=m(e),r=t.split(".");let s=o;for(let e=0;e<r.length;e++){const t=r[e];e===r.length-1?s[t]=n:(t in s&&"object"==typeof s[t]&&null!==s[t]||(s[t]={}),s=s[t])}return o}var w={data:e=>e.data,globals:e=>e.globals,context:e=>e.context,user:e=>e.user,source:e=>e.source,event:e=>({entity:e.entity,action:e.action,id:e.id,timestamp:e.timestamp,name:e.name,trigger:e.trigger,timing:e.timing})};function k(e,t={},n={}){const o={...t,...n},r={};let s=!e||0===Object.keys(e).length;return Object.keys(o).forEach(t=>{o[t]&&(r[t]=!0,e&&e[t]&&(s=!0))}),!!s&&r}function j(){let e="";for(let t=0;t<16;t++)e+=(16*Math.random()|0).toString(16);return e}function O(e=6,t){if(t){const n=t.length;let o="";for(let r=0;r<e;r++)o+=t[Math.random()*n|0];return o}let n="";for(let t=36;n.length<e;)n+=(Math.random()*t|0).toString(t);return n}function _(e,t=1e3,n=!1){let o,r=null,s=!1;return(...a)=>new Promise(i=>{const c=n&&!s;r&&clearTimeout(r),r=setTimeout(()=>{r=null,n&&!s||(o=e(...a),i(o))},t),c&&(s=!0,o=e(...a),i(o))})}function A(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function x(e,t){let n,o={};return e instanceof Error?(n=e.message,o.error=A(e)):n=e,void 0!==t&&(t instanceof Error?o.error=A(t):"object"==typeof t&&null!==t?(o={...o,...t},"error"in o&&o.error instanceof Error&&(o.error=A(o.error))):o.value=t),{message:n,context:o}}var S=(e,t,n,o)=>{const r=`${c[e]}${o.length>0?` [${o.join(":")}]`:""}`,s=Object.keys(n).length>0,a=0===e?console.error:1===e?console.warn:console.log;s?a(r,t,n):a(r,t)};function $(e={}){return q({level:void 0!==e.level?(t=e.level,"string"==typeof t?c[t]:t):0,handler:e.handler,jsonHandler:e.jsonHandler,scope:[]});var t}function q(e){const{level:t,handler:n,jsonHandler:o,scope:r}=e,s=(e,o,s)=>{if(e<=t){const t=x(o,s);n?n(e,t.message,t.context,r,S):S(e,t.message,t.context,r)}};return{error:(e,t)=>s(0,e,t),warn:(e,t)=>s(1,e,t),info:(e,t)=>s(2,e,t),debug:(e,t)=>s(3,e,t),throw:(e,t)=>{const o=x(e,t);throw n?n(0,o.message,o.context,r,S):S(0,o.message,o.context,r),new Error(o.message)},json:e=>{o?o(e):console.log(JSON.stringify(e,null,2))},scope:e=>q({level:t,handler:n,jsonHandler:o,scope:[...r,e]})}}function E(e){return function(e){return"boolean"==typeof e}(e)||v(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!g(e)||d(e)&&e.every(E)||y(e)&&Object.values(e).every(E)}function L(e){return E(e)?e:void 0}function P(e,t,n){return function(...o){try{return e(...o)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function D(e,t,n){return async function(...o){try{return await e(...o)}catch(e){if(!t)return;return await t(e)}finally{await(null==n?void 0:n())}}}async function R(e,t={},n={}){var o,r;if(!g(e))return;const s=y(e)&&e.consent||n.consent||(null==(o=n.collector)?void 0:o.consent),a=null!=(r=n.event)?r:y(e)?e:{};if(!n.collector)throw new Error("getMappingValue: context.collector is required");const i={event:a,mapping:t,collector:n.collector,logger:n.collector.logger,consent:s},c=d(t)?t:[t];for(const t of c){const n=await D(I)(e,t,{...i,mapping:t});if(g(n))return n}}async function I(e,t,n){return(d(t)?t:[t]).reduce(async(t,o)=>{const r=await t;if(r)return r;const s=v(o)?{key:o}:o;if(!Object.keys(s).length)return;const{condition:a,consent:i,fn:c,key:u,loop:l,map:f,set:p,validate:y,value:m}=s,b={...n,mapping:o};if(a&&!await D(a)(e,b))return;if(i&&!k(i,b.consent))return m;let w=g(m)?m:e;if(c&&(w=await D(c)(e,b)),u&&(w=h(e,u,m)),l){const[t,n]=l,o="this"===t?[e]:await R(e,t,b);d(o)&&(w=(await Promise.all(o.map(e=>R(e,n,b)))).filter(g))}else f?w=await Object.entries(f).reduce(async(t,[n,o])=>{const r=await t,s=await R(e,o,b);return g(s)&&(r[n]=s),r},Promise.resolve({})):p&&(w=await Promise.all(p.map(t=>I(e,t,b))));y&&!await D(y)(w,b)&&(w=void 0);const j=L(w);return g(j)?j:L(m)},Promise.resolve(void 0))}async function T(e,t,n){var o;t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,o])=>{const r=await R(e,o,{collector:n,event:e});e=b(e,t,r)}));const{eventMapping:r,mappingKey:s}=await async function(e,t,n){var o;const[r,s]=(e.name||"").split(" ");if(!t||!r||!s)return{};let a,i="",c=r,u=s;const l=t=>{if(t)return(d(t)?t:[t]).find(t=>{if(!t.condition)return!0;if(!n)return Boolean(t.condition(e,void 0));const o={event:e,mapping:t,collector:n,logger:n.logger,consent:y(e)&&e.consent||n.consent};return Boolean(t.condition(e,o))})};t[c]||(c="*");const f=t[c];return f&&(f[u]||(u="*"),a=l(f[u])),a||(c="*",u="*",a=l(null==(o=t[c])?void 0:o[u])),a&&(i=`${c} ${u}`),{eventMapping:a,mappingKey:i}}(e,t.mapping,n);(null==r?void 0:r.policy)&&await Promise.all(Object.entries(r.policy).map(async([t,o])=>{const r=await R(e,o,{collector:n,event:e});e=b(e,t,r)}));let a=t.data&&await R(e,t.data,{collector:n,event:e});const i=Boolean(null==r?void 0:r.silent);if(r){if(r.ignore)return{event:e,data:a,mapping:r,mappingKey:s,ignore:!0,silent:i};if(r.name&&(e.name=r.name),r.data){const t=r.data&&await R(e,r.data,{collector:n,event:e});a=y(a)&&y(t)?f(a,t):t}}const c=null!=(o=null==r?void 0:r.include)?o:t.include;if(c&&c.length>0){const t=function(e,t){const n={},o=t.includes("all")?Object.keys(w):t;for(const t of o){const o=w[t];if(!o)continue;const r=o(e);if(y(r))for(const[e,o]of Object.entries(r)){if(void 0===o)continue;const r="context"===t&&Array.isArray(o)?o[0]:o;n[`${t}_${e}`]=r}}return n}(e,c);Object.keys(t).length>0&&(a=y(a)?f(t,a):null!=a?a:t)}return{event:e,data:a,mapping:r,mappingKey:s,ignore:!1,silent:i}}function M(e,t,n,o){return function(...r){let s;const a="pre"+t,i="post"+t,c=n[a],u=n[i],l=(e,t)=>{o?o.warn(e,{error:t}):console.warn(e,t)};if(c)try{s=c({fn:e},...r)}catch(t){l(`Hook ${String(a)} failed, falling back to original function`,t),s=e(...r)}else s=e(...r);if(u)try{s=u({fn:e,result:s},...r)}catch(e){l(`Hook ${String(i)} failed, keeping original result`,e)}return s}}function C(e){if("*"===e)return()=>!0;if("and"in e){const t=e.and.map(C);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(C);return e=>t.some(t=>t(e))}return function(e){const{key:t,operator:n,value:o,not:r}=e,s=function(e,t){switch(e){case"eq":return e=>String(null!=e?e:"")===t;case"contains":return e=>String(null!=e?e:"").includes(t);case"prefix":return e=>String(null!=e?e:"").startsWith(t);case"suffix":return e=>String(null!=e?e:"").endsWith(t);case"regex":{const e=new RegExp(t);return t=>e.test(String(null!=t?t:""))}case"gt":{const e=Number(t);return t=>Number(t)>e}case"lt":{const e=Number(t);return t=>Number(t)<e}case"exists":return e=>null!=e}}(n,o);return e=>{const n=h(e,t),o=s(n);return r?!o:o}}(e)}function U(e){return Array.isArray(e)&&e.length>0&&"object"==typeof e[0]&&null!==e[0]&&"match"in e[0]}function N(e){if(null!=e){if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;return U(e)?{type:"routes",routes:e.map(e=>({match:C(e.match),next:N(e.next)}))}:{type:"chain",value:e}}}}function H(e,t={}){if(e){if("static"===e.type)return e.value;if("chain"===e.type)return e.value;for(const n of e.routes)if(n.match(t))return H(n.next,t)}}function K(e,t){const n={ingest:null!=e?e:{}};return void 0!==t&&(n.event=t),n}function B(e){var t;return{full:null!=(t=e.full)&&t,storeId:e.store,rules:e.rules.map(e=>({match:C(e.match),key:e.key,ttl:e.ttl,update:e.update}))}}function G(e,t,n,o){const r=e.rules.find(e=>e.match(n));if(!r)return null;const s=r.key.map(e=>{var t;return String(null!=(t=h(n,e))?t:"")});if(s.every(e=>""===e))return null;const a=`${o}:${s.join(":")}`,i=t.get(a);return void 0!==i?{status:"HIT",key:a,value:i,rule:r}:{status:"MISS",key:a,rule:r}}function W(e,t,n,o){e.set(t,n,1e3*o)}async function F(e,t,n,o){if(!t)return e;let r=e;for(const[e,s]of Object.entries(t))r=b(r,e,await R(n,s,{collector:o}));return r}var V=!1;function z(e,t,n,o=globalThis.window){const r=t.settings,s=o[(null==r?void 0:r.name)||"dataLayer"];if(Array.isArray(s)&&!V){V=!0;try{const t=null!=n?n:s.length;for(let n=0;n<t;n++)J(e,r,s[n])}finally{V=!1}}}function J(e,t={},n){if(t.filter){if(!0===P(()=>t.filter(n),()=>!1)())return}const o=function(e){if(y(e)&&v(e.event)){const{event:t,...n}=e;return{name:t,...n}}if(d(e)&&e.length>=2)return Q(e);if(t=e,null!=t&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0){return Q(Array.from(e))}var t;return null}(n);if(!o)return;const r=`${t.prefix||"dataLayer"} ${o.name}`,{name:s,...a}=o,i={name:r,data:a};P(()=>e(i),()=>{})()}function Q(e){const[t,n,o]=e;if(!v(t))return null;let r,s={};switch(t){case"consent":if(!v(n)||e.length<3)return null;if("default"!==n&&"update"!==n)return null;if(!y(o)||null===o)return null;r=`${t} ${n}`,s={...o};break;case"event":if(!v(n))return null;r=n,y(o)&&(s={...o});break;case"config":if(!v(n))return null;r=`${t} ${n}`,y(o)&&(s={...o});break;case"set":if(v(n))r=`${t} ${n}`,y(o)&&(s={...o});else{if(!y(n))return null;r=`${t} custom`,s={...n}}break;default:return null}return{name:r,...s}}var X={},Y={};r(Y,{push:()=>ne});var Z=()=>{},ee=()=>()=>Promise.resolve({ok:!0}),te={error:Z,warn:Z,info:Z,debug:Z,throw:e=>{throw"string"==typeof e?new Error(e):e},json:Z,scope:()=>te},ne={get push(){return ee()},get command(){return ee()},get elb(){return ee()},get window(){return{dataLayer:[],addEventListener:Z,removeEventListener:Z}},logger:te},oe={};r(oe,{consentUpdate:()=>se,directEvent:()=>ce,gtagAddToCart:()=>ae,gtagPurchase:()=>re,gtagViewItem:()=>ie});var re={title:"gtag purchase",description:"A gtag purchase call pushed to the dataLayer is captured as a walker dataLayer purchase event with item details.",trigger:{type:"gtag"},in:["event","purchase",{transaction_id:"T-12345",value:25.42,currency:"EUR",items:[{item_id:"SKU-1",item_name:"T-Shirt",quantity:1}]}],out:[["elb",{name:"dataLayer purchase",data:{transaction_id:"T-12345",value:25.42,currency:"EUR",items:[{item_id:"SKU-1",item_name:"T-Shirt",quantity:1}]}}]]},se={title:"Consent update",description:"A gtag consent update is captured from the dataLayer as a walker dataLayer consent update event.",trigger:{type:"gtag"},in:["consent","update",{ad_storage:"granted",analytics_storage:"granted"}],out:[["elb",{name:"dataLayer consent update",data:{ad_storage:"granted",analytics_storage:"granted"}}]]},ae={title:"gtag add_to_cart",description:"A gtag add_to_cart call pushed to the dataLayer is captured as a walker dataLayer add_to_cart event.",trigger:{type:"gtag"},in:["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"T-Shirt",item_variant:"red",quantity:1,price:15.25}]}],out:[["elb",{name:"dataLayer add_to_cart",data:{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"T-Shirt",item_variant:"red",quantity:1,price:15.25}]}}]]},ie={title:"gtag view_item",description:"A gtag view_item call pushed to the dataLayer is captured as a walker dataLayer view_item event with item data.",trigger:{type:"gtag"},in:["event","view_item",{currency:"EUR",value:29.99,items:[{item_id:"SKU_67890",item_name:"Sneakers",item_category:"Footwear",price:29.99}]}],out:[["elb",{name:"dataLayer view_item",data:{currency:"EUR",value:29.99,items:[{item_id:"SKU_67890",item_name:"Sneakers",item_category:"Footwear",price:29.99}]}}]]},ce={title:"Direct dataLayer event",description:"A plain object pushed directly onto the dataLayer is captured as a walker dataLayer custom event.",trigger:{type:"direct"},in:{event:"custom_event",category:"engagement",label:"video_play"},out:[["elb",{name:"dataLayer custom_event",data:{category:"engagement",label:"video_play"}}]]},ue={Action:"action",Actions:"actions",Config:"config",Consent:"consent",Context:"context",Custom:"custom",Destination:"destination",Elb:"elb",Globals:"globals",Hook:"hook",Init:"init",Link:"link",On:"on",Prefix:"data-elb",Ready:"ready",Run:"run",Session:"session",Shutdown:"shutdown",User:"user",Walker:"walker"};function le(e,t){return e.storeId&&t.stores[e.storeId]?t.stores[e.storeId]:t.stores.__cache}function fe(e){var t;const n={};for(const[o,r]of Object.entries(e)){const e=null==(t=r.config)?void 0:t.next;e&&!U(e)?n[o]={next:e}:n[o]={}}return n}function de(e,t){const n=e.config||{},o=e[t];return void 0!==o?{config:{...n,[t]:o},chainValue:o}:{config:n,chainValue:void 0}}function ge(e,t={}){if(!e)return[];if(Array.isArray(e))return e;const n=[],o=new Set;let r=e;for(;r&&t[r]&&!o.has(r);){o.add(r),n.push(r);const e=t[r].next;if(Array.isArray(e)){n.push(...e);break}r=e}return n}async function pe(e,t,n){if(t.init&&!t.config.init){const o=t.type||"unknown",r=e.logger.scope(`transformer:${o}`),s={collector:e,logger:r,id:n,ingest:u(n),config:t.config,env:me(t.config.env)};r.debug("init");const a=await M(t.init,"TransformerInit",e.hooks,e.logger)(s);if(!1===a)return!1;t.config={...a||t.config,env:(null==a?void 0:a.env)||t.config.env,init:!0},r.debug("init done")}return!0}async function ye(e,t,n,o,r,s){const a=t.type||"unknown",i=e.logger.scope(`transformer:${a}`),c={collector:e,logger:i,id:n,ingest:r,config:t.config,env:{...me(t.config.env),...s?{respond:s}:{}}};i.debug("push",{event:o.name});const u=await M(t.push,"TransformerPush",e.hooks,e.logger)(o,c);return i.debug("push done"),u}async function ve(e,t,n,o,r,s,a){var i,c,l,f,d,g;a&&(null==r?void 0:r._meta)&&(r._meta.chainPath=a);let p=o,y=s;for(const o of n){const s=t[o];if(!s){e.logger.warn(`Transformer not found: ${o}`);continue}if(r&&r._meta&&r._meta.path.length>256)return e.logger.error(`Max path length exceeded at ${o}`),{event:null,respond:y};if(r&&r._meta&&(r._meta.hops++,r._meta.path.push(o)),!await D(pe)(e,s,o))return e.logger.error(`Transformer init failed: ${o}`),{event:null,respond:y};if(a&&void 0!==(null==(c=null==(i=s.config)?void 0:i.chainMocks)?void 0:c[a])){const t=s.config.chainMocks[a];e.logger.scope(`transformer:${s.type||"unknown"}`).debug("chainMock",{chain:a}),p=t;continue}if(void 0!==(null==(l=s.config)?void 0:l.mock)){e.logger.scope(`transformer:${s.type||"unknown"}`).debug("mock"),p=s.config.mock;continue}if(null==(f=s.config)?void 0:f.disabled)continue;const v=null==(d=s.config)?void 0:d.cache,m=v?B(v):void 0,h=m?le(m,e):void 0;let b;if(m&&h){const e=G(m,h,K(r,p),`t:${o}`);if("HIT"===(null==e?void 0:e.status)&&e.value){if(p=e.value,m.full)return{event:p,respond:y};continue}"MISS"===(null==e?void 0:e.status)&&(b={key:e.key,ttl:e.rule.ttl})}const w=s.config.before;if(w){const n=ge("string"==typeof w||Array.isArray(w)&&!U(w)?w:H(N(w),K(r,p))||void 0,fe(t));if(n.length>0){const o=await ve(e,t,n,p,r,y,a);if(null===o.event)return{event:null,respond:null!=(g=o.respond)?g:y};o.respond&&(y=o.respond),p=Array.isArray(o.event)?o.event[0]:o.event}}const k=await D(ye,t=>(e.logger.scope(`transformer:${s.type||"unknown"}`).error("Push failed",{error:t}),!1))(e,s,o,p,r,y);if(!1===k)return{event:null,respond:y};if(Array.isArray(k)){const s=n.slice(n.indexOf(o)+1),i=await Promise.all(k.map(async n=>{const o=n.event||p,i=r?{...r,_meta:{...r._meta,path:[...r._meta.path]}}:u("unknown");if(n.next){let r=n.next;if(U(n.next)){r=H(N(n.next),K(i,o))}if(r){const n=ge(r,fe(t));if(n.length>0)return ve(e,t,n,o,i,y,a)}return{event:o,respond:y}}return s.length>0?ve(e,t,s,o,i,y,a):{event:o,respond:y}}));let c=y;const l=[];for(const e of i.flat())if(null!==e)if(e&&"object"==typeof e&&"event"in e){const t=e;if(t.respond&&(c=t.respond),null===t.event)continue;Array.isArray(t.event)?l.push(...t.event):l.push(t.event)}else l.push(e);return 0===l.length?{event:null,respond:c}:1===l.length?{event:l[0],respond:c}:{event:l,respond:c}}if(k&&"object"==typeof k){const{event:n,respond:o,next:s}=k;if(o&&(y=o),s){let o=s;if(U(s)){if(o=H(N(s),K(r,p)),!o){n&&(p=n);continue}}const i=ge(o,fe(t));return i.length>0?ve(e,t,i,n||p,r,y,a):(e.logger.warn(`Branch target not found: ${JSON.stringify(s)}`),{event:null,respond:y})}n&&(p=n)}if(b&&h&&W(h,b.key,p,b.ttl),(!k||"object"==typeof k&&!k.next)&&s.config.next&&U(s.config.next)){const n=H(N(s.config.next),K(r,p));if(n){const o=ge(n,fe(t));if(o.length>0)return ve(e,t,o,p,r,y,a)}return{event:p,respond:y}}}return{event:p,respond:y}}function me(e){return e&&y(e)?e:{}}async function he(e,t,n){var o;const{code:r,config:s={},env:a={},primary:i,next:c,before:l,cache:f}=n;let d,g=u(t);const p=f?B({...f,full:null==(o=f.full)||o}):void 0,y=N(c),v=Array.isArray(c)&&U(c)||!y?void 0:ge(H(y),fe(e.transformers)),m=N(l),h=Array.isArray(l)&&U(l)||!m?void 0:ge(H(m),fe(e.transformers)),b=e.logger.scope("source").scope(t),w={push:async(n,o={})=>{let r,a=n;const i=null!=h?h:m?ge(H(m,K(g)),fe(e.transformers)):[];if(i.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const n=await ve(e,e.transformers,i,a,g,d,`source.${t}.before`);if(null===n.event)return{ok:!0};n.respond&&(d=n.respond),a=Array.isArray(n.event)?n.event[0]:n.event}if(p){const n=le(p,e);if(n){const o=K(g),s=G(p,n,o,`s:${t}`);if(s){if("HIT"===s.status&&void 0!==s.value&&p.full){let t=s.value;return s.rule.update&&(t=await F(t,s.rule.update,{...o,cache:{status:"HIT"}},e)),null==d||d(t),{ok:!0}}if("MISS"===s.status&&p.full&&d){const t=d,a=s.rule.update,i={...o,cache:{status:"MISS"}},c=s.key,u=s.rule.ttl;d=o=>{W(n,c,o,u),a?r=(async()=>{const n=await F(o,a,i,e);t(n)})():t(o)}}"MISS"!==s.status||p.full||W(n,s.key,!0,s.rule.ttl)}}}const c=null!=v?v:y?ge(H(y,K(g)),fe(e.transformers)):[],u=await e.push(a,{...o,id:t,ingest:g,respond:d,mapping:s,preChain:c});return r&&await r,u},command:e.command,sources:e.sources,elb:e.sources.elb.push,logger:b,...a},k={collector:e,logger:b,id:t,config:s,env:w,setIngest:async n=>{if(!s.ingest)return void(g=u(t));const o=await R(n,s.ingest,{collector:e}),r=u(t);g={...r,...o,_meta:r._meta}},setRespond:e=>{d=e}},j=await D(r)(k);if(!j)return;const O=j.type||"unknown",_=e.logger.scope(O).scope(t);return w.logger=_,i&&(j.config={...j.config,primary:i}),j}function be(e,t){return{collector:e,logger:e.logger.scope("on").scope(String(t))}}function we(e,t,n,o,r){if(!t.on)return;const s=t.type||"unknown",a=e.logger.scope(s).scope("on").scope(o),i={collector:e,logger:a,id:n,config:t.config,data:r,env:qe(t.env,t.config.env)};P(t.on)(o,i)}function ke(e,t,n,o){let r;switch(t){case ue.Consent:r=o||e.consent;break;case ue.Session:r=e.session;break;case ue.User:r=o||e.user;break;case ue.Custom:r=o||e.custom;break;case ue.Globals:r=o||e.globals;break;case ue.Config:r=o||e.config;break;case ue.Ready:case ue.Run:default:r=void 0}if(n.length)switch(t){case ue.Consent:!function(e,t,n){const o=n||e.consent,r=be(e,ue.Consent);t.forEach(e=>{Object.keys(o).filter(t=>t in e).forEach(t=>{P(e[t])(o,r)})})}(e,n,o);break;case ue.Ready:!function(e,t){if(!e.allowed)return;const n=be(e,ue.Ready);t.forEach(e=>{P(e)(void 0,n)})}(e,n);break;case ue.Run:!function(e,t){if(!e.allowed)return;const n=be(e,ue.Run);t.forEach(e=>{P(e)(void 0,n)})}(e,n);break;case ue.Session:!function(e,t){if(!e.session)return;const n=be(e,ue.Session);t.forEach(t=>{P(t)(e.session,n)})}(e,n);break;default:{const o=be(e,t);n.forEach(e=>{"function"==typeof e&&P(e)(r,o)});break}}}function je(e,t,n,o){if(!e)return[];if(t){const e=H(t,K(o));return e?ge(e,fe(n)):[]}return ge(e,fe(n))}async function Oe(e,t,n){const{code:o,config:r={},env:s={},before:a,next:i,cache:c}=t;if(!p(o.push))return Se({ok:!1,failed:{invalid:{type:"invalid",error:"Destination code must have a push method"}}});const u=n||r||{init:!1};let l=a?{...u,before:a}:{...u};i&&(l={...l,next:i}),c&&(l={...l,cache:c});const f={...o,config:l,env:qe(o.env,s)};let d=f.config.id;if(!d)do{d=O(5,"abcdefghijklmnopqrstuvwxyz")}while(e.destinations[d]);return e.destinations[d]=f,!1!==f.config.queue&&(f.queuePush=[...e.queue]),_e(e,void 0,{},{[d]:f})}async function _e(e,t,n={},o){const{allowed:r,consent:s,globals:a,user:i}=e;if(!r)return Se({ok:!1});t&&(e.queue.push(t),e.status.in++),o||(o=e.destinations);const c=await Promise.all(Object.entries(o||{}).map(async([o,r])=>{var c,l,d;if(r.config.disabled)return{id:o,destination:r,skipped:!0};let g=(r.queuePush||[]).map(e=>({...e,consent:s}));r.queuePush=[],t&&g.push(m(t));const p=n.ingest?{...n.ingest,_meta:{...n.ingest._meta,path:[...n.ingest._meta.path]}}:u("unknown");if(!g.length&&!(null==(c=r.queueOn)?void 0:c.length))return{id:o,destination:r,skipped:!0};if(!g.length&&(null==(l=r.queueOn)?void 0:l.length)){const t=await D(Ae)(e,r,o);return{id:o,destination:r,skipped:!t}}const y=[],v=g.filter(e=>{const t=k(r.config.consent,s,e.consent);return!t||(e.consent=t,y.push(e),!1)});if(r.queuePush.push(...v),!y.length)return{id:o,destination:r,queue:g};if(!await D(Ae)(e,r,o))return{id:o,destination:r,queue:g};let h,b;r.dlq||(r.dlq=[]);const w=r.config.before,j=je(w,w&&U(w)?N(w):void 0,e.transformers,p),O=r.config.next,_=O&&U(O)?N(O):void 0,A=null==(d=r.config)?void 0:d.cache,x=A?B(A):void 0,S=x?le(x,e):void 0;let $=0;return await Promise.all(y.map(async t=>{let s;if(t.globals=f(a,t.globals),t.user=f(i,t.user),(null==x?void 0:x.full)&&S){const e=K(p,t),n=G(x,S,e,`d:${o}`);if("HIT"===(null==n?void 0:n.status))return t;"MISS"===(null==n?void 0:n.status)&&(s={key:n.key,ttl:n.rule.ttl})}let c=t,u=n.respond;if(j.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const r=await ve(e,e.transformers,j,t,p,n.respond,`destination.${o}.before`);if(null===r.event)return t;r.respond&&(u=r.respond),c=Array.isArray(r.event)?r.event[0]:r.event}if(x&&!x.full&&S){const e=K(p,c),n=G(x,S,e,`d:${o}`);if("HIT"===(null==n?void 0:n.status))return t;"MISS"===(null==n?void 0:n.status)&&(s={key:n.key,ttl:n.rule.ttl})}const l=Date.now();let d=!1;const g=await D(xe,t=>{const n=r.type||"unknown";e.logger.scope(n).error("Push failed",{error:t,event:c.name}),h=t,d=!0,r.dlq.push([c,t])})(e,r,o,c,p,u);if($+=Date.now()-l,s&&S&&void 0===r.config.mock&&W(S,s.key,null==g||g,s.ttl),void 0!==g&&(b=g),!d&&O){void 0!==g&&(p._response=g);const t=je(O,_,e.transformers,p);if(t.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const n=await ve(e,e.transformers,t,c,p,u,`destination.${o}.next`);n.respond&&(u=n.respond)}}return t})),{id:o,destination:r,error:h,response:b,totalDuration:$}})),l={},d={},g={};for(const t of c){if(t.skipped)continue;const n={type:t.destination.type||"unknown",data:t.response};e.status.destinations[t.id]||(e.status.destinations[t.id]={count:0,failed:0,duration:0});const o=e.status.destinations[t.id],r=Date.now();t.error?(n.error=t.error,g[t.id]=n,o.failed++,o.lastAt=r,o.duration+=t.totalDuration||0,e.status.failed++):t.queue&&t.queue.length?d[t.id]=n:(l[t.id]=n,o.count++,o.lastAt=r,o.duration+=t.totalDuration||0,e.status.out++)}return Se({event:t,...Object.keys(l).length&&{done:l},...Object.keys(d).length&&{queued:d},...Object.keys(g).length&&{failed:g}})}async function Ae(e,t,n){var o;if(t.init&&!t.config.init){const r=t.type||"unknown",s=e.logger.scope(r),a={collector:e,logger:s,id:n,config:t.config,env:qe(t.env,t.config.env)};s.debug("init");const i=await M(t.init,"DestinationInit",e.hooks,e.logger)(a);if(!1===i)return i;if(t.config={...i||t.config,init:!0},null==(o=t.queueOn)?void 0:o.length){const o=t.queueOn;t.queueOn=[];for(const{type:r,data:s}of o)we(e,t,n,r,s)}s.debug("init done")}return!0}async function xe(e,t,n,o,r,s){const{config:a}=t,i=await T(o,a,e);if(i.ignore)return!1;const c=t.type||"unknown",u=e.logger.scope(c),l={collector:e,logger:u,id:n,config:a,data:i.data,rule:i.mapping,ingest:r,env:{...qe(t.env,a.env),...s?{respond:s}:{}}};if(void 0!==a.mock)return u.debug("mock",{event:i.event.name}),a.mock;const f=i.mapping,d=i.mappingKey||"* *";if(!(null==f?void 0:f.batch)||!t.pushBatch||void 0!==a.mock){u.debug("push",{event:i.event.name});const n=await M(t.push,"DestinationPush",e.hooks,e.logger)(i.event,l);return u.debug("push done"),n}{if(t.batches=t.batches||{},!t.batches[d]){const o={key:d,events:[],data:[]};t.batches[d]={batched:o,batchFn:_(()=>{const o=t.batches[d].batched,i={collector:e,logger:u,id:n,config:a,data:void 0,rule:f,ingest:r,env:{...qe(t.env,a.env),...s?{respond:s}:{}}};u.debug("push batch",{events:o.events.length}),M(t.pushBatch,"DestinationPushBatch",e.hooks,e.logger)(o,i),u.debug("push batch done"),o.events=[],o.data=[]},f.batch)}}const o=t.batches[d];o.batched.events.push(i.event),g(i.data)&&o.batched.data.push(i.data),o.batchFn()}return!0}function Se(e){return{ok:!(null==e?void 0:e.failed),...e}}function $e(e){const{code:t,config:n={},env:o={},cache:r}=e,{config:s}=de(e,"before"),{config:a}=de({...e,config:s},"next"),i={...t.config,...n,...a};r&&(i.cache=r);const c=qe(t.env,o);return{...t,config:i,env:c}}function qe(e,t){return e||t?t?e&&y(e)&&y(t)?{...e,...t}:t:e:{}}async function Ee(e,t,n){const o=Object.entries(e).map(async([e,o])=>{var r;const s=o.destroy;if(!s)return;const a=o.type||"unknown",i=n.scope(a),c={id:e,config:o.config,env:null!=(r=o.env)?r:{},logger:i};try{await Promise.race([s(c),new Promise((n,o)=>setTimeout(()=>o(new Error(`${t} '${e}' destroy timed out`)),5e3))])}catch(n){i.error(`${t} '${e}' destroy failed: ${n}`)}});await Promise.allSettled(o)}async function Le(e,t,n,o){let r,s,a=!1;switch(t){case ue.Config:y(n)&&(f(e.config,n,{shallow:!1}),s=n,a=!0);break;case ue.Consent:if(y(n)){const{update:t}=function(e,t){const n={};return Object.entries(t).forEach(([e,t])=>{n[e]=!!t}),e.consent=f(e.consent,n),{update:n}}(e,n);s=t,a=!0}break;case ue.Custom:y(n)&&(e.custom=f(e.custom,n),s=n,a=!0);break;case ue.Destination:y(n)&&("code"in n&&y(n.code)?r=await Oe(e,n,o):p(n.push)&&(r=await Oe(e,{code:n},o)));break;case ue.Globals:y(n)&&(e.globals=f(e.globals,n),s=n,a=!0);break;case ue.On:v(n)&&await async function(e,t,n){const o=e.on,r=o[t]||[],s=d(n)?n:[n];s.forEach(e=>{r.push(e)}),o[t]=r,ke(e,t,s)}(e,n,o);break;case ue.Ready:a=!0;break;case ue.Run:r=await async function(e,t){return e.allowed=!0,e.timing=Date.now(),t&&(t.consent&&(e.consent=f(e.consent,t.consent)),t.user&&(e.user=f(e.user,t.user)),t.globals&&(e.globals=f(e.config.globalsStatic||{},t.globals)),t.custom&&(e.custom=f(e.custom,t.custom))),Object.values(e.destinations).forEach(e=>{e.queuePush=[]}),e.queue=[],e.round++,await _e(e)}(e,n),a=!0;break;case ue.Session:a=!0;break;case ue.Shutdown:await async function(e){const t=e.logger;await Ee(e.sources,"source",t),await Ee(e.destinations,"destination",t),await Ee(e.transformers,"transformer",t),await Ee(e.stores,"store",t)}(e);break;case ue.User:y(n)&&(f(e.user,n,{shallow:!1}),s=n,a=!0)}return a&&(await async function(e,t,n,o){let r,s=n||[];switch(n||(s=e.on[t]||[]),t){case ue.Consent:r=o||e.consent;break;case ue.Session:r=e.session;break;case ue.User:r=o||e.user;break;case ue.Custom:r=o||e.custom;break;case ue.Globals:r=o||e.globals;break;case ue.Config:r=o||e.config;break;case ue.Ready:case ue.Run:default:r=void 0}let a=!1;for(const n of Object.values(e.sources))n.on&&!1===await D(n.on)(t,r)&&(a=!0);return Object.entries(e.destinations).forEach(([n,o])=>{if(o.on){if(!o.config.init)return o.queueOn=o.queueOn||[],void o.queueOn.push({type:t,data:r});we(e,o,n,t,r)}}),(Object.keys(e.pending.sources).length>0||Object.keys(e.pending.destinations).length>0)&&await async function(e,t){var n,o;for(const[o,r]of Object.entries(e.pending.sources)){if(!e.pending.sources[o]||e.sources[o])continue;const s=null==(n=r.config)?void 0:n.require;if(!s)continue;const a=s.indexOf(t);if(-1===a)continue;if(s.splice(a,1),s.length>0)continue;delete e.pending.sources[o];const i=await he(e,o,r);i&&(e.sources[o]=i)}for(const[n,r]of Object.entries(e.pending.destinations)){if(!e.pending.destinations[n]||e.destinations[n])continue;const s=null==(o=r.config)?void 0:o.require;if(!s)continue;const a=s.indexOf(t);if(-1===a)continue;if(s.splice(a,1),s.length>0)continue;delete e.pending.destinations[n];const i=$e(r);!1!==i.config.queue&&(i.queuePush=[...e.queue]),e.destinations[n]=i}}(e,t),ke(e,t,s,o),!a}(e,t,void 0,s),r=await _e(e)),r||Se({ok:!0})}function Pe(e,t){if(!t.name)throw new Error("Event name is required");const[n,o]=t.name.split(" ");if(!n||!o)throw new Error("Event name is invalid");const{timestamp:r=Date.now(),name:s=`${n} ${o}`,data:a={},context:i={},globals:c=e.globals,custom:u={},user:l=e.user,nested:f=[],consent:d=e.consent,id:g=j(),trigger:p="",entity:y=n,action:v=o,timing:m=0,source:h={type:"collector",schema:"4"}}=t;return{name:s,data:a,context:i,globals:c,custom:u,user:l,nested:f,consent:d,id:g,trigger:p,entity:y,action:v,timestamp:r,timing:m,source:h}}async function De(e){var t,n;const o=f({globalsStatic:{},sessionStatic:{},run:!0},e,{merge:!1,extend:!1}),r=$({level:null==(t=e.logger)?void 0:t.level,handler:null==(n=e.logger)?void 0:n.handler}),s={...o.globalsStatic,...e.globals},a={allowed:!1,config:o,consent:e.consent||{},custom:e.custom||{},destinations:{},transformers:{},stores:{},globals:s,hooks:e.hooks||{},logger:r,on:{},queue:[],round:0,session:void 0,status:{startedAt:Date.now(),in:0,out:0,failed:0,sources:{},destinations:{}},timing:Date.now(),user:e.user||{},sources:{},pending:{sources:{},destinations:{}},push:void 0,command:void 0};var i,c;a.push=function(e,t){return M(async(n,o={})=>await D(async()=>{var r;const s=Date.now(),{id:a,ingest:i,respond:c,mapping:l,preChain:f,include:d,exclude:g}=o;let p=c,y=n;const v=d||g?function(e,t,n){let o=e;return t&&(o=Object.fromEntries(Object.entries(o).filter(([e])=>t.includes(e)))),n&&(o=Object.fromEntries(Object.entries(o).filter(([e])=>!n.includes(e)))),o}(e.destinations,d,g):void 0,m=null!=i?i:u(a||"unknown");if(l){const t=await T(y,l,e);if(t.ignore)return Se({ok:!0});if(l.consent&&!k(l.consent,e.consent,t.event.consent))return Se({ok:!0});y=t.event}if((null==f?void 0:f.length)&&e.transformers&&Object.keys(e.transformers).length>0){const n=await ve(e,e.transformers,f,y,m,p,a?`source.${a}.next`:void 0);if(null===n.event)return Se({ok:!0});if(n.respond&&(p=n.respond),Array.isArray(n.event)){const o=await Promise.all(n.event.map(async n=>{const o=t(n),r=Pe(e,o);return _e(e,r,{id:a,ingest:m,respond:p},v)}));if(a){e.status.sources[a]||(e.status.sources[a]={count:0,duration:0});const t=e.status.sources[a];t.count+=n.event.length,t.lastAt=Date.now(),t.duration+=Date.now()-s}return null!=(r=o[0])?r:Se({ok:!0})}y=n.event}const h=t(y),b=Pe(e,h),w=await _e(e,b,{id:a,ingest:m,respond:p},v);if(a){e.status.sources[a]||(e.status.sources[a]={count:0,duration:0});const t=e.status.sources[a];t.count++,t.lastAt=Date.now(),t.duration+=Date.now()-s}return w},()=>Se({ok:!1}))(),"Push",e.hooks,e.logger)}(a,e=>({timing:Math.round((Date.now()-a.timing)/10)/100,source:{type:"collector",schema:"4",version:"4.0.0"},...e})),a.command=(c=Le,M(async(e,t,n)=>await D(async()=>await c(i,e,t,n),()=>Se({ok:!1}))(),"Command",(i=a).hooks,i.logger));const l=e.stores||{};if(a.stores=await async function(e,t={}){const n={};for(const[o,r]of Object.entries(t)){const{code:t,config:s={},env:a={}}=r,i=e.logger.scope("store").scope(o),c={collector:e,logger:i,id:o,config:s,env:a},u=await t(c),l=u.get,f=u.set,d=u.delete;u.get=M(l,"StoreGet",e.hooks,e.logger),u.set=M(f,"StoreSet",e.hooks,e.logger),u.delete=M(d,"StoreDelete",e.hooks,e.logger),n[o]=u}return n}(a,l),function(e,t,n){const o=new Map;for(const[n,r]of Object.entries(e))t[n]&&o.set(r,t[n]);if(0!==o.size)for(const e of[n.transformers,n.destinations,n.sources])if(e)for(const t of Object.values(e))r(t.env);function r(e){if(e)for(const[t,n]of Object.entries(e))if("object"==typeof n&&null!==n){const r=o.get(n);r&&(e[t]=r)}}}(l,a.stores,e),!a.stores.__cache){const e=new Map;a.stores.__cache={type:"memory",config:{},get:t=>{const n=e.get(t);if(n){if(!(n.expires&&Date.now()>n.expires))return n.value;e.delete(t)}},set:(t,n,o)=>{e.set(t,{value:n,expires:o?Date.now()+o:void 0})},delete:t=>{e.delete(t)}}}return a.destinations=await async function(e,t={}){var n,o;const r={};for(const[s,a]of Object.entries(t))(null==(o=null==(n=a.config)?void 0:n.require)?void 0:o.length)?e.pending.destinations[s]=a:r[s]=$e(a);return r}(a,e.destinations||{}),a.transformers=await async function(e,t={}){const n={};for(const[o,r]of Object.entries(t)){const{code:t,env:s={}}=r,{config:a}=de(r,"before"),{config:i}=de({...r,config:a},"next"),c=Object.keys(s).length>0?{...i,env:s}:i,{cache:l}=r,f=l?{...c,cache:l}:c,d=e.logger.scope("transformer").scope(o),g={collector:e,logger:d,id:o,ingest:u(o),config:f,env:s},p=await t(g);n[o]=p}return n}(a,e.transformers||{}),a}async function Re(e){e=e||{};const t=await De(e),n=(o=t,{type:"elb",config:{},push:async(e,t,n,r,s,a)=>{if("string"==typeof e&&e.startsWith("walker ")){const r=e.replace("walker ","");return o.command(r,t,n)}let i;if("string"==typeof e)i={name:e},t&&"object"==typeof t&&!Array.isArray(t)&&(i.data=t);else{if(!e||"object"!=typeof e)return Se({ok:!1});i=e,t&&"object"==typeof t&&!Array.isArray(t)&&(i.data={...i.data||{},...t})}return r&&"object"==typeof r&&(i.context=r),s&&Array.isArray(s)&&(i.nested=s),a&&"object"==typeof a&&(i.custom=a),o.push(i)}});var o;t.sources.elb=n;const r=await async function(e,t={}){const n={};for(const[o,r]of Object.entries(t)){const{config:t={}}=r;if(t.require&&t.require.length>0){e.pending.sources[o]=r;continue}const s=await he(e,o,r);s&&(n[o]=s)}return n}(t,e.sources||{});Object.assign(t.sources,r);const{consent:s,user:a,globals:i,custom:c}=e;s&&await t.command("consent",s),a&&await t.command("user",a),i&&Object.assign(t.globals,i),c&&Object.assign(t.custom,c),t.config.run&&await t.command("run");let u=n.push;const l=Object.values(t.sources).filter(e=>"elb"!==e.type),f=l.find(e=>e.config.primary);return f?u=f.push:l.length>0&&(u=l[0].push),{collector:t,elb:u}}var Ie,Te=async e=>{let t;return{get flow(){return t},trigger:()=>async n=>{var o,r;if(!t){const n={...e};if(n.sources){n.sources={...n.sources};for(const[e,t]of Object.entries(n.sources))(null==(o=t.env)?void 0:o.window)||(n.sources[e]={...t,env:{...t.env,window:window}})}const s=await Re({...n,run:null==(r=n.run)||r});t={collector:s.collector,elb:s.elb}}const s=window;s.dataLayer||(s.dataLayer=[]),s.dataLayer.push(n)}}},Me=(e,t)=>{const n=t.window;n.dataLayer||(n.dataLayer=[]),n.dataLayer.push(e)},Ce=async e=>{const{config:t,env:n}=e,{elb:o,window:r}=n,s={name:"dataLayer",prefix:"dataLayer",...null==t?void 0:t.settings},a={settings:s};let i=0;if(r){const t=s.name||"dataLayer",n=r[t];i=Array.isArray(n)?n.length:0;const c=r;!function(e,t,n=globalThis.window){const o=t.settings,r=(null==o?void 0:o.name)||"dataLayer";n[r]||(n[r]=[]);const s=n[r];if(!Array.isArray(s))return;const a=s.push.bind(s);s.push=function(...t){if(V)return a(...t);V=!0;try{for(const n of t)J(e,o,n)}finally{V=!1}return a(...t)}}(o,a,c),e.collector.allowed&&i>0&&(z(o,a,i,c),i=0)}return{type:"dataLayer",config:a,push:o,on:async e=>{if("run"===e&&r&&i>0){z(o,a,i,r),i=0}},destroy:async()=>{const e=s.name||"dataLayer";r&&r[e]&&Array.isArray(r[e])}}},Ue=Ce;return Ie=s,((r,s,a,i)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let c of n(s))o.call(r,c)||c===a||e(r,c,{get:()=>s[c],enumerable:!(i=t(s,c))||i.enumerable});return r})(e({},"__esModule",{value:!0}),Ie)})();
1
+ "use strict";var Destination=(()=>{var e=Object.defineProperty,t=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,r=(t,n)=>{for(var o in n)e(t,o,{get:n[o],enumerable:!0})},s={};r(s,{SourceDataLayer:()=>X,createTrigger:()=>Te,default:()=>Ue,env:()=>Y,sourceDataLayer:()=>Ce,step:()=>oe,trigger:()=>Me});var a=Object.defineProperty;((e,t)=>{for(var n in t)a(e,n,{get:t[n],enumerable:!0})})({},{Level:()=>c});var i,c=((i=c||{})[i.ERROR=0]="ERROR",i[i.WARN=1]="WARN",i[i.INFO=2]="INFO",i[i.DEBUG=3]="DEBUG",i);function u(e){return{_meta:{hops:0,path:[e]}}}var l={merge:!0,shallow:!0,extend:!0};function f(e,t={},n={}){n={...l,...n};const o=Object.entries(t).reduce((t,[o,r])=>{const s=e[o];return n.merge&&Array.isArray(s)&&Array.isArray(r)?t[o]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...s]):(n.extend||o in e)&&(t[o]=r),t},{});return n.shallow?{...e,...o}:(Object.assign(e,o),e)}function d(e){return Array.isArray(e)}function g(e){return void 0!==e}function p(e){return"function"==typeof e}function y(e){return"object"==typeof e&&null!==e&&!d(e)&&"[object Object]"===Object.prototype.toString.call(e)}function v(e){return"string"==typeof e}function m(e,t=new WeakMap){if("object"!=typeof e||null===e)return e;if(t.has(e))return t.get(e);const n=Object.prototype.toString.call(e);if("[object Object]"===n){const n={};t.set(e,n);for(const o in e)Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=m(e[o],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(m(e,t))}),n}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){const t=e;return new RegExp(t.source,t.flags)}return e}function h(e,t="",n){const o=t.split(".");let r=e;for(let e=0;e<o.length;e++){const t=o[e];if("*"===t&&d(r)){const t=o.slice(e+1).join("."),s=[];for(const e of r){const o=h(e,t,n);s.push(o)}return s}if(r=r instanceof Object?r[t]:void 0,void 0===r)break}return g(r)?r:n}function b(e,t,n){if(!y(e))return e;const o=m(e),r=t.split(".");let s=o;for(let e=0;e<r.length;e++){const t=r[e];e===r.length-1?s[t]=n:(t in s&&"object"==typeof s[t]&&null!==s[t]||(s[t]={}),s=s[t])}return o}var w={data:e=>e.data,globals:e=>e.globals,context:e=>e.context,user:e=>e.user,source:e=>e.source,event:e=>({entity:e.entity,action:e.action,id:e.id,timestamp:e.timestamp,name:e.name,trigger:e.trigger,timing:e.timing})};function k(e,t={},n={}){const o={...t,...n},r={};let s=!e||0===Object.keys(e).length;return Object.keys(o).forEach(t=>{o[t]&&(r[t]=!0,e&&e[t]&&(s=!0))}),!!s&&r}function j(){let e="";for(let t=0;t<16;t++)e+=(16*Math.random()|0).toString(16);return e}function O(e=6,t){if(t){const n=t.length;let o="";for(let r=0;r<e;r++)o+=t[Math.random()*n|0];return o}let n="";for(let t=36;n.length<e;)n+=(Math.random()*t|0).toString(t);return n}function _(e,t=1e3,n=!1){let o,r=null,s=!1;return(...a)=>new Promise(i=>{const c=n&&!s;r&&clearTimeout(r),r=setTimeout(()=>{r=null,n&&!s||(o=e(...a),i(o))},t),c&&(s=!0,o=e(...a),i(o))})}function A(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}}function x(e,t){let n,o={};return e instanceof Error?(n=e.message,o.error=A(e)):n=e,void 0!==t&&(t instanceof Error?o.error=A(t):"object"==typeof t&&null!==t?(o={...o,...t},"error"in o&&o.error instanceof Error&&(o.error=A(o.error))):o.value=t),{message:n,context:o}}var S=(e,t,n,o)=>{const r=`${c[e]}${o.length>0?` [${o.join(":")}]`:""}`,s=Object.keys(n).length>0,a=0===e?console.error:1===e?console.warn:console.log;s?a(r,t,n):a(r,t)};function $(e={}){return q({level:void 0!==e.level?(t=e.level,"string"==typeof t?c[t]:t):0,handler:e.handler,jsonHandler:e.jsonHandler,scope:[]});var t}function q(e){const{level:t,handler:n,jsonHandler:o,scope:r}=e,s=(e,o,s)=>{if(e<=t){const t=x(o,s);n?n(e,t.message,t.context,r,S):S(e,t.message,t.context,r)}};return{error:(e,t)=>s(0,e,t),warn:(e,t)=>s(1,e,t),info:(e,t)=>s(2,e,t),debug:(e,t)=>s(3,e,t),throw:(e,t)=>{const o=x(e,t);throw n?n(0,o.message,o.context,r,S):S(0,o.message,o.context,r),new Error(o.message)},json:e=>{o?o(e):console.log(JSON.stringify(e,null,2))},scope:e=>q({level:t,handler:n,jsonHandler:o,scope:[...r,e]})}}function E(e){return function(e){return"boolean"==typeof e}(e)||v(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!g(e)||d(e)&&e.every(E)||y(e)&&Object.values(e).every(E)}function L(e){return E(e)?e:void 0}function P(e,t,n){return function(...o){try{return e(...o)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function D(e,t,n){return async function(...o){try{return await e(...o)}catch(e){if(!t)return;return await t(e)}finally{await(null==n?void 0:n())}}}async function R(e,t={},n={}){var o,r;if(!g(e))return;const s=y(e)&&e.consent||n.consent||(null==(o=n.collector)?void 0:o.consent),a=null!=(r=n.event)?r:y(e)?e:{};if(!n.collector)throw new Error("getMappingValue: context.collector is required");const i={event:a,mapping:t,collector:n.collector,logger:n.collector.logger,consent:s},c=d(t)?t:[t];for(const t of c){const n=await D(I)(e,t,{...i,mapping:t});if(g(n))return n}}async function I(e,t,n){return(d(t)?t:[t]).reduce(async(t,o)=>{const r=await t;if(r)return r;const s=v(o)?{key:o}:o;if(!Object.keys(s).length)return;const{condition:a,consent:i,fn:c,key:u,loop:l,map:f,set:p,validate:y,value:m}=s,b={...n,mapping:o};if(a&&!await D(a)(e,b))return;if(i&&!k(i,b.consent))return m;let w=g(m)?m:e;if(c&&(w=await D(c)(e,b)),u&&(w=h(e,u,m)),l){const[t,n]=l,o="this"===t?[e]:await R(e,t,b);d(o)&&(w=(await Promise.all(o.map(e=>R(e,n,b)))).filter(g))}else f?w=await Object.entries(f).reduce(async(t,[n,o])=>{const r=await t,s=await R(e,o,b);return g(s)&&(r[n]=s),r},Promise.resolve({})):p&&(w=await Promise.all(p.map(t=>I(e,t,b))));y&&!await D(y)(w,b)&&(w=void 0);const j=L(w);return g(j)?j:L(m)},Promise.resolve(void 0))}async function T(e,t,n){var o;t.policy&&await Promise.all(Object.entries(t.policy).map(async([t,o])=>{const r=await R(e,o,{collector:n,event:e});e=b(e,t,r)}));const{eventMapping:r,mappingKey:s}=await async function(e,t,n){var o;const[r,s]=(e.name||"").split(" ");if(!t||!r||!s)return{};let a,i="",c=r,u=s;const l=t=>{if(t)return(d(t)?t:[t]).find(t=>{if(!t.condition)return!0;if(!n)return Boolean(t.condition(e,void 0));const o={event:e,mapping:t,collector:n,logger:n.logger,consent:y(e)&&e.consent||n.consent};return Boolean(t.condition(e,o))})};t[c]||(c="*");const f=t[c];return f&&(f[u]||(u="*"),a=l(f[u])),a||(c="*",u="*",a=l(null==(o=t[c])?void 0:o[u])),a&&(i=`${c} ${u}`),{eventMapping:a,mappingKey:i}}(e,t.mapping,n);(null==r?void 0:r.policy)&&await Promise.all(Object.entries(r.policy).map(async([t,o])=>{const r=await R(e,o,{collector:n,event:e});e=b(e,t,r)}));let a=t.data&&await R(e,t.data,{collector:n,event:e});const i=Boolean(null==r?void 0:r.silent);if(r){if(r.ignore)return{event:e,data:a,mapping:r,mappingKey:s,ignore:!0,silent:i};if(r.name&&(e.name=r.name),r.data){const t=r.data&&await R(e,r.data,{collector:n,event:e});a=y(a)&&y(t)?f(a,t):t}}const c=null!=(o=null==r?void 0:r.include)?o:t.include;if(c&&c.length>0){const t=function(e,t){const n={},o=t.includes("all")?Object.keys(w):t;for(const t of o){const o=w[t];if(!o)continue;const r=o(e);if(y(r))for(const[e,o]of Object.entries(r)){if(void 0===o)continue;const r="context"===t&&Array.isArray(o)?o[0]:o;n[`${t}_${e}`]=r}}return n}(e,c);Object.keys(t).length>0&&(a=y(a)?f(t,a):null!=a?a:t)}return{event:e,data:a,mapping:r,mappingKey:s,ignore:!1,silent:i}}function M(e,t,n,o){return function(...r){let s;const a="pre"+t,i="post"+t,c=n[a],u=n[i],l=(e,t)=>{o?o.warn(e,{error:t}):console.warn(e,t)};if(c)try{s=c({fn:e},...r)}catch(t){l(`Hook ${String(a)} failed, falling back to original function`,t),s=e(...r)}else s=e(...r);if(u)try{s=u({fn:e,result:s},...r)}catch(e){l(`Hook ${String(i)} failed, keeping original result`,e)}return s}}function C(e){if("*"===e)return()=>!0;if("and"in e){const t=e.and.map(C);return e=>t.every(t=>t(e))}if("or"in e){const t=e.or.map(C);return e=>t.some(t=>t(e))}return function(e){const{key:t,operator:n,value:o,not:r}=e,s=function(e,t){switch(e){case"eq":return e=>String(null!=e?e:"")===t;case"contains":return e=>String(null!=e?e:"").includes(t);case"prefix":return e=>String(null!=e?e:"").startsWith(t);case"suffix":return e=>String(null!=e?e:"").endsWith(t);case"regex":{const e=new RegExp(t);return t=>e.test(String(null!=t?t:""))}case"gt":{const e=Number(t);return t=>Number(t)>e}case"lt":{const e=Number(t);return t=>Number(t)<e}case"exists":return e=>null!=e}}(n,o);return e=>{const n=h(e,t),o=s(n);return r?!o:o}}(e)}function U(e){return Array.isArray(e)&&e.length>0&&"object"==typeof e[0]&&null!==e[0]&&"match"in e[0]}function N(e){if(null!=e){if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;return U(e)?{type:"routes",routes:e.map(e=>({match:C(e.match),next:N(e.next)}))}:{type:"chain",value:e}}}}function H(e,t={}){if(e){if("static"===e.type)return e.value;if("chain"===e.type)return e.value;for(const n of e.routes)if(n.match(t))return H(n.next,t)}}function K(e,t){const n={ingest:null!=e?e:{}};return void 0!==t&&(n.event=t),n}function B(e){var t;return{full:null!=(t=e.full)&&t,storeId:e.store,rules:e.rules.map(e=>({match:C(e.match),key:e.key,ttl:e.ttl,update:e.update}))}}function G(e,t,n,o){const r=e.rules.find(e=>e.match(n));if(!r)return null;const s=r.key.map(e=>{var t;return String(null!=(t=h(n,e))?t:"")});if(s.every(e=>""===e))return null;const a=`${o}:${s.join(":")}`,i=t.get(a);return void 0!==i?{status:"HIT",key:a,value:i,rule:r}:{status:"MISS",key:a,rule:r}}function W(e,t,n,o){e.set(t,n,1e3*o)}async function F(e,t,n,o){if(!t)return e;let r=e;for(const[e,s]of Object.entries(t))r=b(r,e,await R(n,s,{collector:o}));return r}var V=!1;function z(e,t,n,o=globalThis.window){const r=t.settings,s=o[(null==r?void 0:r.name)||"dataLayer"];if(Array.isArray(s)&&!V){V=!0;try{const t=null!=n?n:s.length;for(let n=0;n<t;n++)J(e,r,s[n])}finally{V=!1}}}function J(e,t={},n){if(t.filter){if(!0===P(()=>t.filter(n),()=>!1)())return}const o=function(e){if(y(e)&&v(e.event)){const{event:t,...n}=e;return{name:t,...n}}if(d(e)&&e.length>=2)return Q(e);if(t=e,null!=t&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0){return Q(Array.from(e))}var t;return null}(n);if(!o)return;const r=`${t.prefix||"dataLayer"} ${o.name}`,{name:s,...a}=o,i={name:r,data:a};P(()=>e(i),()=>{})()}function Q(e){const[t,n,o]=e;if(!v(t))return null;let r,s={};switch(t){case"consent":if(!v(n)||e.length<3)return null;if("default"!==n&&"update"!==n)return null;if(!y(o)||null===o)return null;r=`${t} ${n}`,s={...o};break;case"event":if(!v(n))return null;r=n,y(o)&&(s={...o});break;case"config":if(!v(n))return null;r=`${t} ${n}`,y(o)&&(s={...o});break;case"set":if(v(n))r=`${t} ${n}`,y(o)&&(s={...o});else{if(!y(n))return null;r=`${t} custom`,s={...n}}break;default:return null}return{name:r,...s}}var X={},Y={};r(Y,{push:()=>ne});var Z=()=>{},ee=()=>()=>Promise.resolve({ok:!0}),te={error:Z,warn:Z,info:Z,debug:Z,throw:e=>{throw"string"==typeof e?new Error(e):e},json:Z,scope:()=>te},ne={get push(){return ee()},get command(){return ee()},get elb(){return ee()},get window(){return{dataLayer:[],addEventListener:Z,removeEventListener:Z}},logger:te},oe={};r(oe,{consentUpdate:()=>se,directEvent:()=>ce,gtagAddToCart:()=>ae,gtagPurchase:()=>re,gtagViewItem:()=>ie});var re={title:"gtag purchase",description:"A gtag purchase call pushed to the dataLayer is captured as a walker dataLayer purchase event with item details.",trigger:{type:"gtag"},in:["event","purchase",{transaction_id:"T-12345",value:25.42,currency:"EUR",items:[{item_id:"SKU-1",item_name:"T-Shirt",quantity:1}]}],out:[["elb",{name:"dataLayer purchase",data:{transaction_id:"T-12345",value:25.42,currency:"EUR",items:[{item_id:"SKU-1",item_name:"T-Shirt",quantity:1}]}}]]},se={title:"Consent update",description:"A gtag consent update is captured from the dataLayer as a walker dataLayer consent update event.",trigger:{type:"gtag"},in:["consent","update",{ad_storage:"granted",analytics_storage:"granted"}],out:[["elb",{name:"dataLayer consent update",data:{ad_storage:"granted",analytics_storage:"granted"}}]]},ae={title:"gtag add_to_cart",description:"A gtag add_to_cart call pushed to the dataLayer is captured as a walker dataLayer add_to_cart event.",trigger:{type:"gtag"},in:["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"T-Shirt",item_variant:"red",quantity:1,price:15.25}]}],out:[["elb",{name:"dataLayer add_to_cart",data:{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"T-Shirt",item_variant:"red",quantity:1,price:15.25}]}}]]},ie={title:"gtag view_item",description:"A gtag view_item call pushed to the dataLayer is captured as a walker dataLayer view_item event with item data.",trigger:{type:"gtag"},in:["event","view_item",{currency:"EUR",value:29.99,items:[{item_id:"SKU_67890",item_name:"Sneakers",item_category:"Footwear",price:29.99}]}],out:[["elb",{name:"dataLayer view_item",data:{currency:"EUR",value:29.99,items:[{item_id:"SKU_67890",item_name:"Sneakers",item_category:"Footwear",price:29.99}]}}]]},ce={title:"Direct dataLayer event",description:"A plain object pushed directly onto the dataLayer is captured as a walker dataLayer custom event.",trigger:{type:"direct"},in:{event:"custom_event",category:"engagement",label:"video_play"},out:[["elb",{name:"dataLayer custom_event",data:{category:"engagement",label:"video_play"}}]]},ue={Action:"action",Actions:"actions",Config:"config",Consent:"consent",Context:"context",Custom:"custom",Destination:"destination",Elb:"elb",Globals:"globals",Hook:"hook",Init:"init",Link:"link",On:"on",Prefix:"data-elb",Ready:"ready",Run:"run",Session:"session",Shutdown:"shutdown",User:"user",Walker:"walker"};function le(e,t){return e.storeId&&t.stores[e.storeId]?t.stores[e.storeId]:t.stores.__cache}function fe(e){var t;const n={};for(const[o,r]of Object.entries(e)){const e=null==(t=r.config)?void 0:t.next;e&&!U(e)?n[o]={next:e}:n[o]={}}return n}function de(e,t){const n=e.config||{},o=e[t];return void 0!==o?{config:{...n,[t]:o},chainValue:o}:{config:n,chainValue:void 0}}function ge(e,t={}){if(!e)return[];if(Array.isArray(e))return e;const n=[],o=new Set;let r=e;for(;r&&t[r]&&!o.has(r);){o.add(r),n.push(r);const e=t[r].next;if(Array.isArray(e)){n.push(...e);break}r=e}return n}async function pe(e,t,n){if(t.init&&!t.config.init){const o=t.type||"unknown",r=e.logger.scope(`transformer:${o}`),s={collector:e,logger:r,id:n,ingest:u(n),config:t.config,env:me(t.config.env)};r.debug("init");const a=await M(t.init,"TransformerInit",e.hooks,e.logger)(s);if(!1===a)return!1;t.config={...a||t.config,env:(null==a?void 0:a.env)||t.config.env,init:!0},r.debug("init done")}return!0}async function ye(e,t,n,o,r,s){const a=t.type||"unknown",i=e.logger.scope(`transformer:${a}`),c={collector:e,logger:i,id:n,ingest:r,config:t.config,env:{...me(t.config.env),...s?{respond:s}:{}}};i.debug("push",{event:o.name});const u=await M(t.push,"TransformerPush",e.hooks,e.logger)(o,c);return i.debug("push done"),u}async function ve(e,t,n,o,r,s,a){var i,c,l,f,d,g;a&&(null==r?void 0:r._meta)&&(r._meta.chainPath=a);let p=o,y=s;for(const o of n){const s=t[o];if(!s){e.logger.warn(`Transformer not found: ${o}`);continue}if(r&&r._meta&&r._meta.path.length>256)return e.logger.error(`Max path length exceeded at ${o}`),{event:null,respond:y};if(r&&r._meta&&(r._meta.hops++,r._meta.path.push(o)),!await D(pe)(e,s,o))return e.logger.error(`Transformer init failed: ${o}`),{event:null,respond:y};if(a&&void 0!==(null==(c=null==(i=s.config)?void 0:i.chainMocks)?void 0:c[a])){const t=s.config.chainMocks[a];e.logger.scope(`transformer:${s.type||"unknown"}`).debug("chainMock",{chain:a}),p=t;continue}if(void 0!==(null==(l=s.config)?void 0:l.mock)){e.logger.scope(`transformer:${s.type||"unknown"}`).debug("mock"),p=s.config.mock;continue}if(null==(f=s.config)?void 0:f.disabled)continue;const v=null==(d=s.config)?void 0:d.cache,m=v?B(v):void 0,h=m?le(m,e):void 0;let b;if(m&&h){const e=G(m,h,K(r,p),`t:${o}`);if("HIT"===(null==e?void 0:e.status)&&e.value){if(p=e.value,m.full)return{event:p,respond:y};continue}"MISS"===(null==e?void 0:e.status)&&(b={key:e.key,ttl:e.rule.ttl})}const w=s.config.before;if(w){const n=ge("string"==typeof w||Array.isArray(w)&&!U(w)?w:H(N(w),K(r,p))||void 0,fe(t));if(n.length>0){const o=await ve(e,t,n,p,r,y,a);if(null===o.event)return{event:null,respond:null!=(g=o.respond)?g:y};o.respond&&(y=o.respond),p=Array.isArray(o.event)?o.event[0]:o.event}}const k=await D(ye,t=>(e.logger.scope(`transformer:${s.type||"unknown"}`).error("Push failed",{error:t}),!1))(e,s,o,p,r,y);if(!1===k)return{event:null,respond:y};if(Array.isArray(k)){const s=n.slice(n.indexOf(o)+1),i=await Promise.all(k.map(async n=>{const o=n.event||p,i=r?{...r,_meta:{...r._meta,path:[...r._meta.path]}}:u("unknown");if(n.next){let r=n.next;if(U(n.next)){r=H(N(n.next),K(i,o))}if(r){const n=ge(r,fe(t));if(n.length>0)return ve(e,t,n,o,i,y,a)}return{event:o,respond:y}}return s.length>0?ve(e,t,s,o,i,y,a):{event:o,respond:y}}));let c=y;const l=[];for(const e of i.flat())if(null!==e)if(e&&"object"==typeof e&&"event"in e){const t=e;if(t.respond&&(c=t.respond),null===t.event)continue;Array.isArray(t.event)?l.push(...t.event):l.push(t.event)}else l.push(e);return 0===l.length?{event:null,respond:c}:1===l.length?{event:l[0],respond:c}:{event:l,respond:c}}if(k&&"object"==typeof k){const{event:n,respond:o,next:s}=k;if(o&&(y=o),s){let o=s;if(U(s)){if(o=H(N(s),K(r,p)),!o){n&&(p=n);continue}}const i=ge(o,fe(t));return i.length>0?ve(e,t,i,n||p,r,y,a):(e.logger.warn(`Branch target not found: ${JSON.stringify(s)}`),{event:null,respond:y})}n&&(p=n)}if(b&&h&&W(h,b.key,p,b.ttl),(!k||"object"==typeof k&&!k.next)&&s.config.next&&U(s.config.next)){const n=H(N(s.config.next),K(r,p));if(n){const o=ge(n,fe(t));if(o.length>0)return ve(e,t,o,p,r,y,a)}return{event:p,respond:y}}}return{event:p,respond:y}}function me(e){return e&&y(e)?e:{}}async function he(e,t,n){var o;const{code:r,config:s={},env:a={},primary:i,next:c,before:l,cache:f}=n;let d,g=u(t);const p=f?B({...f,full:null==(o=f.full)||o}):void 0,y=N(c),v=Array.isArray(c)&&U(c)||!y?void 0:ge(H(y),fe(e.transformers)),m=N(l),h=Array.isArray(l)&&U(l)||!m?void 0:ge(H(m),fe(e.transformers)),b=e.logger.scope("source").scope(t),w={push:async(n,o={})=>{let r,a=n;const i=null!=h?h:m?ge(H(m,K(g)),fe(e.transformers)):[];if(i.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const n=await ve(e,e.transformers,i,a,g,d,`source.${t}.before`);if(null===n.event)return{ok:!0};n.respond&&(d=n.respond),a=Array.isArray(n.event)?n.event[0]:n.event}if(p){const n=le(p,e);if(n){const o=K(g),s=G(p,n,o,`s:${t}`);if(s){if("HIT"===s.status&&void 0!==s.value&&p.full){let t=s.value;return s.rule.update&&(t=await F(t,s.rule.update,{...o,cache:{status:"HIT"}},e)),null==d||d(t),{ok:!0}}if("MISS"===s.status&&p.full&&d){const t=d,a=s.rule.update,i={...o,cache:{status:"MISS"}},c=s.key,u=s.rule.ttl;d=o=>{W(n,c,o,u),a?r=(async()=>{const n=await F(o,a,i,e);t(n)})():t(o)}}"MISS"!==s.status||p.full||W(n,s.key,!0,s.rule.ttl)}}}const c=null!=v?v:y?ge(H(y,K(g)),fe(e.transformers)):[],u=await e.push(a,{...o,id:t,ingest:g,respond:d,mapping:s,preChain:c});return r&&await r,u},command:e.command,sources:e.sources,elb:e.sources.elb.push,logger:b,...a},k={collector:e,logger:b,id:t,config:s,env:w,setIngest:async n=>{if(!s.ingest)return void(g=u(t));const o=await R(n,s.ingest,{collector:e}),r=u(t);g={...r,...o,_meta:r._meta}},setRespond:e=>{d=e}},j=await D(r)(k);if(!j)return;const O=j.type||"unknown",_=e.logger.scope(O).scope(t);return w.logger=_,i&&(j.config={...j.config,primary:i}),j}function be(e,t){return{collector:e,logger:e.logger.scope("on").scope(String(t))}}function we(e,t,n,o,r){if(!t.on)return;const s=t.type||"unknown",a=e.logger.scope(s).scope("on").scope(o),i={collector:e,logger:a,id:n,config:t.config,data:r,env:qe(t.env,t.config.env)};P(t.on)(o,i)}function ke(e,t,n,o){let r;switch(t){case ue.Consent:r=o||e.consent;break;case ue.Session:r=e.session;break;case ue.User:r=o||e.user;break;case ue.Custom:r=o||e.custom;break;case ue.Globals:r=o||e.globals;break;case ue.Config:r=o||e.config;break;case ue.Ready:case ue.Run:default:r=void 0}if(n.length)switch(t){case ue.Consent:!function(e,t,n){const o=n||e.consent,r=be(e,ue.Consent);t.forEach(e=>{Object.keys(o).filter(t=>t in e).forEach(t=>{P(e[t])(o,r)})})}(e,n,o);break;case ue.Ready:!function(e,t){if(!e.allowed)return;const n=be(e,ue.Ready);t.forEach(e=>{P(e)(void 0,n)})}(e,n);break;case ue.Run:!function(e,t){if(!e.allowed)return;const n=be(e,ue.Run);t.forEach(e=>{P(e)(void 0,n)})}(e,n);break;case ue.Session:!function(e,t){if(!e.session)return;const n=be(e,ue.Session);t.forEach(t=>{P(t)(e.session,n)})}(e,n);break;default:{const o=be(e,t);n.forEach(e=>{"function"==typeof e&&P(e)(r,o)});break}}}function je(e,t,n,o){if(!e)return[];if(t){const e=H(t,K(o));return e?ge(e,fe(n)):[]}return ge(e,fe(n))}async function Oe(e,t,n){const{code:o,config:r={},env:s={},before:a,next:i,cache:c}=t;if(!p(o.push))return Se({ok:!1,failed:{invalid:{type:"invalid",error:"Destination code must have a push method"}}});const u=n||r||{init:!1};let l=a?{...u,before:a}:{...u};i&&(l={...l,next:i}),c&&(l={...l,cache:c});const f={...o,config:l,env:qe(o.env,s)};let d=f.config.id;if(!d)do{d=O(5,"abcdefghijklmnopqrstuvwxyz")}while(e.destinations[d]);return e.destinations[d]=f,!1!==f.config.queue&&(f.queuePush=[...e.queue]),_e(e,void 0,{},{[d]:f})}async function _e(e,t,n={},o){const{allowed:r,consent:s,globals:a,user:i}=e;if(!r)return Se({ok:!1});t&&(e.queue.push(t),e.status.in++),o||(o=e.destinations);const c=await Promise.all(Object.entries(o||{}).map(async([o,r])=>{var c,l,d;if(r.config.disabled)return{id:o,destination:r,skipped:!0};let g=(r.queuePush||[]).map(e=>({...e,consent:s}));r.queuePush=[],t&&g.push(m(t));const p=n.ingest?{...n.ingest,_meta:{...n.ingest._meta,path:[...n.ingest._meta.path]}}:u("unknown");if(!g.length&&!(null==(c=r.queueOn)?void 0:c.length))return{id:o,destination:r,skipped:!0};if(!g.length&&(null==(l=r.queueOn)?void 0:l.length)){const t=await D(Ae)(e,r,o);return{id:o,destination:r,skipped:!t}}const y=[],v=g.filter(e=>{const t=k(r.config.consent,s,e.consent);return!t||(e.consent=t,y.push(e),!1)});if(r.queuePush.push(...v),!y.length)return{id:o,destination:r,queue:g};if(!await D(Ae)(e,r,o))return{id:o,destination:r,queue:g};let h,b;r.dlq||(r.dlq=[]);const w=r.config.before,j=je(w,w&&U(w)?N(w):void 0,e.transformers,p),O=r.config.next,_=O&&U(O)?N(O):void 0,A=null==(d=r.config)?void 0:d.cache,x=A?B(A):void 0,S=x?le(x,e):void 0;let $=0;return await Promise.all(y.map(async t=>{let s;if(t.globals=f(a,t.globals),t.user=f(i,t.user),(null==x?void 0:x.full)&&S){const e=K(p,t),n=G(x,S,e,`d:${o}`);if("HIT"===(null==n?void 0:n.status))return t;"MISS"===(null==n?void 0:n.status)&&(s={key:n.key,ttl:n.rule.ttl})}let c=t,u=n.respond;if(j.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const r=await ve(e,e.transformers,j,t,p,n.respond,`destination.${o}.before`);if(null===r.event)return t;r.respond&&(u=r.respond),c=Array.isArray(r.event)?r.event[0]:r.event}if(x&&!x.full&&S){const e=K(p,c),n=G(x,S,e,`d:${o}`);if("HIT"===(null==n?void 0:n.status))return t;"MISS"===(null==n?void 0:n.status)&&(s={key:n.key,ttl:n.rule.ttl})}const l=Date.now();let d=!1;const g=await D(xe,t=>{const n=r.type||"unknown";e.logger.scope(n).error("Push failed",{error:t,event:c.name}),h=t,d=!0,r.dlq.push([c,t])})(e,r,o,c,p,u);if($+=Date.now()-l,s&&S&&void 0===r.config.mock&&W(S,s.key,null==g||g,s.ttl),void 0!==g&&(b=g),!d&&O){void 0!==g&&(p._response=g);const t=je(O,_,e.transformers,p);if(t.length>0&&e.transformers&&Object.keys(e.transformers).length>0){const n=await ve(e,e.transformers,t,c,p,u,`destination.${o}.next`);n.respond&&(u=n.respond)}}return t})),{id:o,destination:r,error:h,response:b,totalDuration:$}})),l={},d={},g={};for(const t of c){if(t.skipped)continue;const n={type:t.destination.type||"unknown",data:t.response};e.status.destinations[t.id]||(e.status.destinations[t.id]={count:0,failed:0,duration:0});const o=e.status.destinations[t.id],r=Date.now();t.error?(n.error=t.error,g[t.id]=n,o.failed++,o.lastAt=r,o.duration+=t.totalDuration||0,e.status.failed++):t.queue&&t.queue.length?d[t.id]=n:(l[t.id]=n,o.count++,o.lastAt=r,o.duration+=t.totalDuration||0,e.status.out++)}return Se({event:t,...Object.keys(l).length&&{done:l},...Object.keys(d).length&&{queued:d},...Object.keys(g).length&&{failed:g}})}async function Ae(e,t,n){var o;if(t.init&&!t.config.init){const r=t.type||"unknown",s=e.logger.scope(r),a={collector:e,logger:s,id:n,config:t.config,env:qe(t.env,t.config.env)};s.debug("init");const i=await M(t.init,"DestinationInit",e.hooks,e.logger)(a);if(!1===i)return i;if(t.config={...i||t.config,init:!0},null==(o=t.queueOn)?void 0:o.length){const o=t.queueOn;t.queueOn=[];for(const{type:r,data:s}of o)we(e,t,n,r,s)}s.debug("init done")}return!0}async function xe(e,t,n,o,r,s){const{config:a}=t,i=await T(o,a,e);if(i.ignore)return!1;const c=t.type||"unknown",u=e.logger.scope(c),l={collector:e,logger:u,id:n,config:a,data:i.data,rule:i.mapping,ingest:r,env:{...qe(t.env,a.env),...s?{respond:s}:{}}};if(void 0!==a.mock)return u.debug("mock",{event:i.event.name}),a.mock;const f=i.mapping,d=i.mappingKey||"* *";if(!(null==f?void 0:f.batch)||!t.pushBatch||void 0!==a.mock){u.debug("push",{event:i.event.name});const n=await M(t.push,"DestinationPush",e.hooks,e.logger)(i.event,l);return u.debug("push done"),n}{if(t.batches=t.batches||{},!t.batches[d]){const o={key:d,events:[],data:[]};t.batches[d]={batched:o,batchFn:_(()=>{const o=t.batches[d].batched,i={collector:e,logger:u,id:n,config:a,data:void 0,rule:f,ingest:r,env:{...qe(t.env,a.env),...s?{respond:s}:{}}};u.debug("push batch",{events:o.events.length}),M(t.pushBatch,"DestinationPushBatch",e.hooks,e.logger)(o,i),u.debug("push batch done"),o.events=[],o.data=[]},f.batch)}}const o=t.batches[d];o.batched.events.push(i.event),g(i.data)&&o.batched.data.push(i.data),o.batchFn()}return!0}function Se(e){return{ok:!(null==e?void 0:e.failed),...e}}function $e(e){const{code:t,config:n={},env:o={},cache:r}=e,{config:s}=de(e,"before"),{config:a}=de({...e,config:s},"next"),i={...t.config,...n,...a};r&&(i.cache=r);const c=qe(t.env,o);return{...t,config:i,env:c}}function qe(e,t){return e||t?t?e&&y(e)&&y(t)?{...e,...t}:t:e:{}}async function Ee(e,t,n){const o=Object.entries(e).map(async([e,o])=>{var r;const s=o.destroy;if(!s)return;const a=o.type||"unknown",i=n.scope(a),c={id:e,config:o.config,env:null!=(r=o.env)?r:{},logger:i};try{await Promise.race([s(c),new Promise((n,o)=>setTimeout(()=>o(new Error(`${t} '${e}' destroy timed out`)),5e3))])}catch(n){i.error(`${t} '${e}' destroy failed: ${n}`)}});await Promise.allSettled(o)}async function Le(e,t,n,o){let r,s,a=!1;switch(t){case ue.Config:y(n)&&(f(e.config,n,{shallow:!1}),s=n,a=!0);break;case ue.Consent:if(y(n)){const{update:t}=function(e,t){const n={};return Object.entries(t).forEach(([e,t])=>{n[e]=!!t}),e.consent=f(e.consent,n),{update:n}}(e,n);s=t,a=!0}break;case ue.Custom:y(n)&&(e.custom=f(e.custom,n),s=n,a=!0);break;case ue.Destination:y(n)&&("code"in n&&y(n.code)?r=await Oe(e,n,o):p(n.push)&&(r=await Oe(e,{code:n},o)));break;case ue.Globals:y(n)&&(e.globals=f(e.globals,n),s=n,a=!0);break;case ue.On:v(n)&&await async function(e,t,n){const o=e.on,r=o[t]||[],s=d(n)?n:[n];s.forEach(e=>{r.push(e)}),o[t]=r,ke(e,t,s)}(e,n,o);break;case ue.Ready:a=!0;break;case ue.Run:r=await async function(e,t){return e.allowed=!0,e.timing=Date.now(),t&&(t.consent&&(e.consent=f(e.consent,t.consent)),t.user&&(e.user=f(e.user,t.user)),t.globals&&(e.globals=f(e.config.globalsStatic||{},t.globals)),t.custom&&(e.custom=f(e.custom,t.custom))),Object.values(e.destinations).forEach(e=>{e.queuePush=[]}),e.queue=[],e.round++,await _e(e)}(e,n),a=!0;break;case ue.Session:a=!0;break;case ue.Shutdown:await async function(e){const t=e.logger;await Ee(e.sources,"source",t),await Ee(e.destinations,"destination",t),await Ee(e.transformers,"transformer",t),await Ee(e.stores,"store",t)}(e);break;case ue.User:y(n)&&(f(e.user,n,{shallow:!1}),s=n,a=!0)}return a&&(await async function(e,t,n,o){let r,s=n||[];switch(n||(s=e.on[t]||[]),t){case ue.Consent:r=o||e.consent;break;case ue.Session:r=e.session;break;case ue.User:r=o||e.user;break;case ue.Custom:r=o||e.custom;break;case ue.Globals:r=o||e.globals;break;case ue.Config:r=o||e.config;break;case ue.Ready:case ue.Run:default:r=void 0}let a=!1;for(const n of Object.values(e.sources))n.on&&!1===await D(n.on)(t,r)&&(a=!0);return Object.entries(e.destinations).forEach(([n,o])=>{if(o.on){if(!o.config.init)return o.queueOn=o.queueOn||[],void o.queueOn.push({type:t,data:r});we(e,o,n,t,r)}}),(Object.keys(e.pending.sources).length>0||Object.keys(e.pending.destinations).length>0)&&await async function(e,t){var n,o;for(const[o,r]of Object.entries(e.pending.sources)){if(!e.pending.sources[o]||e.sources[o])continue;const s=null==(n=r.config)?void 0:n.require;if(!s)continue;const a=s.indexOf(t);if(-1===a)continue;if(s.splice(a,1),s.length>0)continue;delete e.pending.sources[o];const i=await he(e,o,r);i&&(e.sources[o]=i)}for(const[n,r]of Object.entries(e.pending.destinations)){if(!e.pending.destinations[n]||e.destinations[n])continue;const s=null==(o=r.config)?void 0:o.require;if(!s)continue;const a=s.indexOf(t);if(-1===a)continue;if(s.splice(a,1),s.length>0)continue;delete e.pending.destinations[n];const i=$e(r);!1!==i.config.queue&&(i.queuePush=[...e.queue]),e.destinations[n]=i}}(e,t),ke(e,t,s,o),!a}(e,t,void 0,s),r=await _e(e)),r||Se({ok:!0})}function Pe(e,t){if(!t.name)throw new Error("Event name is required");const[n,o]=t.name.split(" ");if(!n||!o)throw new Error("Event name is invalid");const{timestamp:r=Date.now(),name:s=`${n} ${o}`,data:a={},context:i={},globals:c=e.globals,custom:u={},user:l=e.user,nested:f=[],consent:d=e.consent,id:g=j(),trigger:p="",entity:y=n,action:v=o,timing:m=0,source:h={type:"collector",schema:"4"}}=t;return{name:s,data:a,context:i,globals:c,custom:u,user:l,nested:f,consent:d,id:g,trigger:p,entity:y,action:v,timestamp:r,timing:m,source:h}}async function De(e){var t,n;const o=f({globalsStatic:{},sessionStatic:{},run:!0},e,{merge:!1,extend:!1}),r=$({level:null==(t=e.logger)?void 0:t.level,handler:null==(n=e.logger)?void 0:n.handler}),s={...o.globalsStatic,...e.globals},a={allowed:!1,config:o,consent:e.consent||{},custom:e.custom||{},destinations:{},transformers:{},stores:{},globals:s,hooks:e.hooks||{},logger:r,on:{},queue:[],round:0,session:void 0,status:{startedAt:Date.now(),in:0,out:0,failed:0,sources:{},destinations:{}},timing:Date.now(),user:e.user||{},sources:{},pending:{sources:{},destinations:{}},push:void 0,command:void 0};var i,c;a.push=function(e,t){return M(async(n,o={})=>await D(async()=>{var r;const s=Date.now(),{id:a,ingest:i,respond:c,mapping:l,preChain:f,include:d,exclude:g}=o;let p=c,y=n;const v=d||g?function(e,t,n){let o=e;return t&&(o=Object.fromEntries(Object.entries(o).filter(([e])=>t.includes(e)))),n&&(o=Object.fromEntries(Object.entries(o).filter(([e])=>!n.includes(e)))),o}(e.destinations,d,g):void 0,m=null!=i?i:u(a||"unknown");if(l){const t=await T(y,l,e);if(t.ignore)return Se({ok:!0});if(l.consent&&!k(l.consent,e.consent,t.event.consent))return Se({ok:!0});y=t.event}if((null==f?void 0:f.length)&&e.transformers&&Object.keys(e.transformers).length>0){const n=await ve(e,e.transformers,f,y,m,p,a?`source.${a}.next`:void 0);if(null===n.event)return Se({ok:!0});if(n.respond&&(p=n.respond),Array.isArray(n.event)){const o=await Promise.all(n.event.map(async n=>{const o=t(n),r=Pe(e,o);return _e(e,r,{id:a,ingest:m,respond:p},v)}));if(a){e.status.sources[a]||(e.status.sources[a]={count:0,duration:0});const t=e.status.sources[a];t.count+=n.event.length,t.lastAt=Date.now(),t.duration+=Date.now()-s}return null!=(r=o[0])?r:Se({ok:!0})}y=n.event}const h=t(y),b=Pe(e,h),w=await _e(e,b,{id:a,ingest:m,respond:p},v);if(a){e.status.sources[a]||(e.status.sources[a]={count:0,duration:0});const t=e.status.sources[a];t.count++,t.lastAt=Date.now(),t.duration+=Date.now()-s}return w},()=>Se({ok:!1}))(),"Push",e.hooks,e.logger)}(a,e=>({timing:Math.round((Date.now()-a.timing)/10)/100,source:{type:"collector",schema:"4",version:"4.0.1-next-1778068549946"},...e})),a.command=(c=Le,M(async(e,t,n)=>await D(async()=>await c(i,e,t,n),()=>Se({ok:!1}))(),"Command",(i=a).hooks,i.logger));const l=e.stores||{};if(a.stores=await async function(e,t={}){const n={};for(const[o,r]of Object.entries(t)){const{code:t,config:s={},env:a={}}=r,i=e.logger.scope("store").scope(o),c={collector:e,logger:i,id:o,config:s,env:a},u=await t(c),l=u.get,f=u.set,d=u.delete;u.get=M(l,"StoreGet",e.hooks,e.logger),u.set=M(f,"StoreSet",e.hooks,e.logger),u.delete=M(d,"StoreDelete",e.hooks,e.logger),n[o]=u}return n}(a,l),function(e,t,n){const o=new Map;for(const[n,r]of Object.entries(e))t[n]&&o.set(r,t[n]);if(0!==o.size)for(const e of[n.transformers,n.destinations,n.sources])if(e)for(const t of Object.values(e))r(t.env);function r(e){if(e)for(const[t,n]of Object.entries(e))if("object"==typeof n&&null!==n){const r=o.get(n);r&&(e[t]=r)}}}(l,a.stores,e),!a.stores.__cache){const e=new Map;a.stores.__cache={type:"memory",config:{},get:t=>{const n=e.get(t);if(n){if(!(n.expires&&Date.now()>n.expires))return n.value;e.delete(t)}},set:(t,n,o)=>{e.set(t,{value:n,expires:o?Date.now()+o:void 0})},delete:t=>{e.delete(t)}}}return a.destinations=await async function(e,t={}){var n,o;const r={};for(const[s,a]of Object.entries(t))(null==(o=null==(n=a.config)?void 0:n.require)?void 0:o.length)?e.pending.destinations[s]=a:r[s]=$e(a);return r}(a,e.destinations||{}),a.transformers=await async function(e,t={}){const n={};for(const[o,r]of Object.entries(t)){const{code:t,env:s={}}=r,{config:a}=de(r,"before"),{config:i}=de({...r,config:a},"next"),c=Object.keys(s).length>0?{...i,env:s}:i,{cache:l}=r,f=l?{...c,cache:l}:c,d=e.logger.scope("transformer").scope(o),g={collector:e,logger:d,id:o,ingest:u(o),config:f,env:s},p=await t(g);n[o]=p}return n}(a,e.transformers||{}),a}async function Re(e){e=e||{};const t=await De(e),n=(o=t,{type:"elb",config:{},push:async(e,t,n,r,s,a)=>{if("string"==typeof e&&e.startsWith("walker ")){const r=e.replace("walker ","");return o.command(r,t,n)}let i;if("string"==typeof e)i={name:e},t&&"object"==typeof t&&!Array.isArray(t)&&(i.data=t);else{if(!e||"object"!=typeof e)return Se({ok:!1});i=e,t&&"object"==typeof t&&!Array.isArray(t)&&(i.data={...i.data||{},...t})}return r&&"object"==typeof r&&(i.context=r),s&&Array.isArray(s)&&(i.nested=s),a&&"object"==typeof a&&(i.custom=a),o.push(i)}});var o;t.sources.elb=n;const r=await async function(e,t={}){const n={};for(const[o,r]of Object.entries(t)){const{config:t={}}=r;if(t.require&&t.require.length>0){e.pending.sources[o]=r;continue}const s=await he(e,o,r);s&&(n[o]=s)}return n}(t,e.sources||{});Object.assign(t.sources,r);const{consent:s,user:a,globals:i,custom:c}=e;s&&await t.command("consent",s),a&&await t.command("user",a),i&&Object.assign(t.globals,i),c&&Object.assign(t.custom,c),t.config.run&&await t.command("run");let u=n.push;const l=Object.values(t.sources).filter(e=>"elb"!==e.type),f=l.find(e=>e.config.primary);return f?u=f.push:l.length>0&&(u=l[0].push),{collector:t,elb:u}}var Ie,Te=async e=>{let t;return{get flow(){return t},trigger:()=>async n=>{var o,r;if(!t){const n={...e};if(n.sources){n.sources={...n.sources};for(const[e,t]of Object.entries(n.sources))(null==(o=t.env)?void 0:o.window)||(n.sources[e]={...t,env:{...t.env,window:window}})}const s=await Re({...n,run:null==(r=n.run)||r});t={collector:s.collector,elb:s.elb}}const s=window;s.dataLayer||(s.dataLayer=[]),s.dataLayer.push(n)}}},Me=(e,t)=>{const n=t.window;n.dataLayer||(n.dataLayer=[]),n.dataLayer.push(e)},Ce=async e=>{const{config:t,env:n}=e,{elb:o,window:r}=n,s={name:"dataLayer",prefix:"dataLayer",...null==t?void 0:t.settings},a={settings:s};let i=0;if(r){const t=s.name||"dataLayer",n=r[t];i=Array.isArray(n)?n.length:0;const c=r;!function(e,t,n=globalThis.window){const o=t.settings,r=(null==o?void 0:o.name)||"dataLayer";n[r]||(n[r]=[]);const s=n[r];if(!Array.isArray(s))return;const a=s.push.bind(s);s.push=function(...t){if(V)return a(...t);V=!0;try{for(const n of t)J(e,o,n)}finally{V=!1}return a(...t)}}(o,a,c),e.collector.allowed&&i>0&&(z(o,a,i,c),i=0)}return{type:"dataLayer",config:a,push:o,on:async e=>{if("run"===e&&r&&i>0){z(o,a,i,r),i=0}},destroy:async()=>{const e=s.name||"dataLayer";r&&r[e]&&Array.isArray(r[e])}}},Ue=Ce;return Ie=s,((r,s,a,i)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let c of n(s))o.call(r,c)||c===a||e(r,c,{get:()=>s[c],enumerable:!(i=t(s,c))||i.enumerable});return r})(e({},"__esModule",{value:!0}),Ie)})();
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 n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}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 asyncGeneratorStep(e,t,n,r,o,a,s){try{var i=e[a](s),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,o)}function _async_to_generator(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function s(e){asyncGeneratorStep(a,r,o,s,i,"next",e)}function i(e){asyncGeneratorStep(a,r,o,s,i,"throw",e)}s(void 0)})}}function _define_property(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _instanceof(e,t){return null!=t&&"undefined"!=typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t}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 n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],s=!0,i=!1;try{for(n=n.call(e);!(s=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);s=!0);}catch(e){i=!0,o=e}finally{try{s||null==n.return||n.return()}finally{if(i)throw o}}return a}}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 n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){_define_property(e,t,n[t])})}return e}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _object_spread_props(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function _object_without_properties(e,t){if(null==e)return{};var n,r,o,a={};if("undefined"!=typeof Reflect&&Reflect.ownKeys){for(n=Reflect.ownKeys(Object(e)),o=0;o<n.length;o++)r=n[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r]);return a}if(a=_object_without_properties_loose(e,t),Object.getOwnPropertySymbols)for(n=Object.getOwnPropertySymbols(e),o=0;o<n.length;o++)r=n[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r]);return a}function _object_without_properties_loose(e,t){if(null==e)return{};var n,r,o={},a=Object.getOwnPropertyNames(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}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 n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_array_like_to_array(e,t):void 0}}function _ts_generator(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(s,"next",{value:c(0)}),i(s,"throw",{value:c(1)}),i(s,"return",{value:c(2)}),"function"==typeof Symbol&&i(s,Symbol.iterator,{value:function(){return this}}),s;function c(i){return function(c){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,i[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}}function _ts_values(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}var Destination=function(){var e=function(e){return{_meta:{hops:0,path:[e]}}},t=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};n=_object_spread({},ve,n);var r=Object.entries(t).reduce(function(t,r){var o=_sliced_to_array(r,2),a=o[0],s=o[1],i=e[a];return n.merge&&Array.isArray(i)&&Array.isArray(s)?t[a]=s.reduce(function(e,t){return e.includes(t)?e:_to_consumable_array(e).concat([t])},_to_consumable_array(i)):(n.extend||a in e)&&(t[a]=s),t},{});return n.shallow?_object_spread({},e,r):(Object.assign(e,r),e)},n=function(e){return Array.isArray(e)},r=function(e){return void 0!==e},o=function(e){return"function"==typeof e},a=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!n(e)&&"[object Object]"===Object.prototype.toString.call(e)},s=function(e){return"string"==typeof e},i=function(e,t,n){if(!a(e))return e;for(var r=ye(e),o=t.split("."),s=r,i=0;i<o.length;i++){var c=o[i];i===o.length-1?s[c]=n:(c in s&&"object"==_type_of(s[c])&&null!==s[c]||(s[c]={}),s=s[c])}return r},c=function(e){var t=_object_spread({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),n={},r=!e||0===Object.keys(e).length;return Object.keys(t).forEach(function(o){t[o]&&(n[o]=!0,e&&e[o]&&(r=!0))}),!!r&&n},u=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6,t=arguments.length>1?arguments[1]:void 0;if(t){for(var n=t.length,r="",o=0;o<e;o++)r+=t[Math.random()*n|0];return r}for(var a="";a.length<e;)a+=(36*Math.random()|0).toString(36);return a},l=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=null,a=!1;return function(){for(var s=arguments.length,i=new Array(s),c=0;c<s;c++)i[c]=arguments[c];return new Promise(function(s){var c=r&&!a;o&&clearTimeout(o),o=setTimeout(function(){o=null,r&&!a||(t=e.apply(void 0,_to_consumable_array(i)),s(t))},n),c&&(a=!0,t=e.apply(void 0,_to_consumable_array(i)),s(t))})}},f=function(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}},d=function(e,t){var n,r={};return _instanceof(e,Error)?(n=e.message,r.error=f(e)):n=e,void 0!==t&&(_instanceof(t,Error)?r.error=f(t):"object"==(void 0===t?"undefined":_type_of(t))&&null!==t?"error"in(r=_object_spread({},r,t))&&_instanceof(r.error,Error)&&(r.error=f(r.error)):r.value=t),{message:n,context:r}},_=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return we({level:void 0!==t.level?(e=t.level,"string"==typeof e?pe[e]:e):0,handler:t.handler,jsonHandler:t.jsonHandler,scope:[]})},g=function(e){return je(e)?e:void 0},p=function(e,t,n){return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];try{return e.apply(void 0,_to_consumable_array(o))}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}},v=function(e,t,n){return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return _async_to_generator(function(){var r;return _ts_generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,4,6]),[4,e.apply(void 0,_to_consumable_array(o))];case 1:case 3:return[2,a.sent()];case 2:return r=a.sent(),t?[4,t(r)]:[2];case 4:return[4,null==n?void 0:n()];case 5:return a.sent(),[7];case 6:return[2]}})})()}},y=function(e,t,r){return _async_to_generator(function(){var o,s,i,c,u,l,f,d,_,g;return _ts_generator(this,function(p){return s=_sliced_to_array((e.name||"").split(" "),2),i=s[0],c=s[1],t&&i&&c?(l="",d=c,_=function(t){if(t)return(n(t)?t:[t]).find(function(t){if(!t.condition)return!0;if(!r)return Boolean(t.condition(e,void 0));var n={event:e,mapping:t,collector:r,logger:r.logger,consent:a(e)&&e.consent||r.consent};return Boolean(t.condition(e,n))})},t[f=i]||(f="*"),[2,((g=t[f])&&(g[d]||(d="*"),u=_(g[d])),u||(f="*",d="*",u=_(null===(o=t[f])||void 0===o?void 0:o[d])),u&&(l="".concat(f," ").concat(d)),{eventMapping:u,mappingKey:l})]):[2,{}]})})()},b=function(e){return _async_to_generator(function(e){var t,o,s,i,c,u,l,f,d,_,g,p,y,b,h,m,w=arguments;return _ts_generator(this,function(j){switch(j.label){case 0:if(t=w.length>1&&void 0!==w[1]?w[1]:{},o=w.length>2&&void 0!==w[2]?w[2]:{},!r(e))return[2];if(c=a(e)&&e.consent||o.consent||(null===(i=o.collector)||void 0===i?void 0:i.consent),u=null!==(s=o.event)&&void 0!==s?s:a(e)?e:{},!o.collector)throw new Error("getMappingValue: context.collector is required");l={event:u,mapping:t,collector:o.collector,logger:o.collector.logger,consent:c},f=n(t)?t:[t],d=!0,_=!1,g=void 0,j.label=1;case 1:j.trys.push([1,6,7,8]),p=f[Symbol.iterator](),j.label=2;case 2:return(d=(y=p.next()).done)?[3,5]:(b=y.value,[4,v(ke)(e,b,_object_spread_props(_object_spread({},l),{mapping:b}))]);case 3:if(h=j.sent(),r(h))return[2,h];j.label=4;case 4:return d=!0,[3,2];case 5:return[3,8];case 6:return m=j.sent(),_=!0,g=m,[3,8];case 7:try{d||null==p.return||p.return()}finally{if(_)throw g}return[7];case 8:return[2]}})}).apply(this,arguments)},h=function(e,n,r){return _async_to_generator(function(){var o,s,c,u,l,f,d,_,g,p,v;return _ts_generator(this,function(h){switch(h.label){case 0:return n.policy?[4,Promise.all(Object.entries(n.policy).map(function(t){var n=_sliced_to_array(t,2),o=n[0],a=n[1];return _async_to_generator(function(){var t;return _ts_generator(this,function(n){switch(n.label){case 0:return[4,b(e,a,{collector:r,event:e})];case 1:return t=n.sent(),e=i(e,o,t),[2]}})})()}))]:[3,2];case 1:h.sent(),h.label=2;case 2:return[4,y(e,n.mapping,r)];case 3:return s=h.sent(),c=s.eventMapping,u=s.mappingKey,(null==c?void 0:c.policy)?[4,Promise.all(Object.entries(c.policy).map(function(t){var n=_sliced_to_array(t,2),o=n[0],a=n[1];return _async_to_generator(function(){var t;return _ts_generator(this,function(n){switch(n.label){case 0:return[4,b(e,a,{collector:r,event:e})];case 1:return t=n.sent(),e=i(e,o,t),[2]}})})()}))]:[3,5];case 4:h.sent(),h.label=5;case 5:return(f=n.data)?[4,b(e,n.data,{collector:r,event:e})]:[3,7];case 6:f=h.sent(),h.label=7;case 7:return l=f,d=Boolean(null==c?void 0:c.silent),c?c.ignore?[2,{event:e,data:l,mapping:c,mappingKey:u,ignore:!0,silent:d}]:(c.name&&(e.name=c.name),c.data?(g=c.data)?[4,b(e,c.data,{collector:r,event:e})]:[3,9]:[3,10]):[3,10];case 8:g=h.sent(),h.label=9;case 9:_=g,l=a(l)&&a(_)?t(l,_):_,h.label=10;case 10:return(p=null!==(o=null==c?void 0:c.include)&&void 0!==o?o:n.include)&&p.length>0&&(v=function(e,t){var n={},r=t.includes("all")?Object.keys(he):t,o=!0,s=!1,i=void 0;try{for(var c,u=r[Symbol.iterator]();!(o=(c=u.next()).done);o=!0){var l=c.value,f=he[l];if(f){var d=f(e),_=!0,g=!1,p=void 0;if(a(d))try{for(var v,y=Object.entries(d)[Symbol.iterator]();!(_=(v=y.next()).done);_=!0){var b=_sliced_to_array(v.value,2),h=b[0],m=b[1];if(void 0!==m){var w="context"===l&&Array.isArray(m)?m[0]:m;n["".concat(l,"_").concat(h)]=w}}}catch(e){g=!0,p=e}finally{try{_||null==y.return||y.return()}finally{if(g)throw p}}}}}catch(e){s=!0,i=e}finally{try{o||null==u.return||u.return()}finally{if(s)throw i}}return n}(e,p),Object.keys(v).length>0&&(l=a(l)?t(v,l):null!=l?l:v)),[2,{event:e,data:l,mapping:c,mappingKey:u,ignore:!1,silent:d}]}})})()},m=function(e,t,n,r){return function(){for(var o=arguments.length,a=new Array(o),s=0;s<o;s++)a[s]=arguments[s];var i,c="pre"+t,u="post"+t,l=n[c],f=n[u],d=function(e,t){r?r.warn(e,{error:t}):console.warn(e,t)};if(l)try{i=l.apply(void 0,[{fn:e}].concat(_to_consumable_array(a)))}catch(t){d("Hook ".concat(String(c)," failed, falling back to original function"),t),i=e.apply(void 0,_to_consumable_array(a))}else i=e.apply(void 0,_to_consumable_array(a));if(f)try{i=f.apply(void 0,[{fn:e,result:i}].concat(_to_consumable_array(a)))}catch(e){d("Hook ".concat(String(u)," failed, keeping original result"),e)}return i}},w=function(e){return Array.isArray(e)&&e.length>0&&"object"==_type_of(e[0])&&null!==e[0]&&"match"in e[0]},j=function(e,t){var n={ingest:null!=e?e:{}};return void 0!==t&&(n.event=t),n},k=function(e){var t;return{full:null!==(t=e.full)&&void 0!==t&&t,storeId:e.store,rules:e.rules.map(function(e){return{match:Oe(e.match),key:e.key,ttl:e.ttl,update:e.update}})}},O=function(e,t,n,r){var o=e.rules.find(function(e){return e.match(n)});if(!o)return null;var a=o.key.map(function(e){var t;return String(null!==(t=be(n,e))&&void 0!==t?t:"")});if(a.every(function(e){return""===e}))return null;var s="".concat(r,":").concat(a.join(":")),i=t.get(s);return void 0!==i?{status:"HIT",key:s,value:i,rule:o}:{status:"MISS",key:s,rule:o}},S=function(e,t,n,r){e.set(t,n,1e3*r)},x=function(e,t,n,r){return _async_to_generator(function(){var o,a,s,c,u,l,f,d,_,g,p;return _ts_generator(this,function(v){switch(v.label){case 0:if(!t)return[2,e];o=e,a=!0,s=!1,c=void 0,v.label=1;case 1:v.trys.push([1,6,7,8]),u=Object.entries(t)[Symbol.iterator](),v.label=2;case 2:return(a=(l=u.next()).done)?[3,5]:(f=_sliced_to_array(l.value,2),d=f[0],_=f[1],g=[o,d],[4,b(n,_,{collector:r})]);case 3:o=i.apply(void 0,g.concat([v.sent()])),v.label=4;case 4:return a=!0,[3,2];case 5:return[3,8];case 6:return p=v.sent(),s=!0,c=p,[3,8];case 7:try{a||null==u.return||u.return()}finally{if(s)throw c}return[7];case 8:return[2,o]}})})()},A=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:globalThis.window,o=t.settings,a=r[(null==o?void 0:o.name)||"dataLayer"];if(Array.isArray(a)&&!Ae){Ae=!0;try{for(var s=null!=n?n:a.length,i=0;i<s;i++)C(e,o,a[i])}finally{Ae=!1}}},C=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;if(t.filter&&!0===p(function(){return t.filter(n)},function(){return!1})())return;var r=P(n);if(r){var o=t.prefix||"dataLayer",a="".concat(o," ").concat(r.name),s=(r.name,{name:a,data:_object_without_properties(r,["name"])});p(function(){return e(s)},function(){})()}},P=function(e){if(a(e)&&s(e.event))return _object_spread({name:e.event},_object_without_properties(e,["event"]));if(n(e)&&e.length>=2)return E(e);if(q(e)){var t=Array.from(e);return E(t)}return null},E=function(e){var t,n=_sliced_to_array(e,3),r=n[0],o=n[1],i=n[2];if(!s(r))return null;var c={};switch(r){case"consent":if(!s(o)||e.length<3)return null;if("default"!==o&&"update"!==o)return null;if(!a(i)||null===i)return null;t="".concat(r," ").concat(o),c=_object_spread({},i);break;case"event":if(!s(o))return null;t=o,a(i)&&(c=_object_spread({},i));break;case"config":if(!s(o))return null;t="".concat(r," ").concat(o),a(i)&&(c=_object_spread({},i));break;case"set":if(s(o))t="".concat(r," ").concat(o),a(i)&&(c=_object_spread({},i));else{if(!a(o))return null;t="".concat(r," custom"),c=_object_spread({},o)}break;default:return null}return _object_spread({name:t},c)},q=function(e){return null!=e&&"object"===(void 0===e?"undefined":_type_of(e))&&"length"in e&&"number"==typeof e.length&&e.length>0},D=function(e,t){return e.storeId&&t.stores[e.storeId]?t.stores[e.storeId]:t.stores.__cache},L=function(e){var t={},n=!0,r=!1,o=void 0;try{for(var a,s=Object.entries(e)[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var i,c=_sliced_to_array(a.value,2),u=c[0],l=null===(i=c[1].config)||void 0===i?void 0:i.next;l&&!w(l)?t[u]={next:l}:t[u]={}}}catch(e){r=!0,o=e}finally{try{n||null==s.return||s.return()}finally{if(r)throw o}}return t},I=function(e,t){var n=e.config||{},r=e[t];return void 0!==r?{config:_object_spread_props(_object_spread({},n),_define_property({},t,r)),chainValue:r}:{config:n,chainValue:void 0}},R=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return[];if(Array.isArray(e))return e;for(var n=[],r=new Set,o=e;o&&t[o]&&!r.has(o);){r.add(o),n.push(o);var a=t[o].next;if(Array.isArray(a)){var s;(s=n).push.apply(s,_to_consumable_array(a));break}o=a}return n},T=function(t,n,r){return _async_to_generator(function(){var o,a,s,i;return _ts_generator(this,function(c){switch(c.label){case 0:return!n.init||n.config.init?[3,2]:(o=n.type||"unknown",a=t.logger.scope("transformer:".concat(o)),s={collector:t,logger:a,id:r,ingest:e(r),config:n.config,env:U(n.config.env)},a.debug("init"),[4,m(n.init,"TransformerInit",t.hooks,t.logger)(s)]);case 1:if(!1===(i=c.sent()))return[2,!1];n.config=_object_spread_props(_object_spread({},i||n.config),{env:(null==i?void 0:i.env)||n.config.env,init:!0}),a.debug("init done"),c.label=2;case 2:return[2,!0]}})})()},M=function(e,t,n,r,o,a){return _async_to_generator(function(){var s,i,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:return s=t.type||"unknown",i=e.logger.scope("transformer:".concat(s)),c={collector:e,logger:i,id:n,ingest:o,config:t.config,env:_object_spread({},U(t.config.env),a?{respond:a}:{})},i.debug("push",{event:r.name}),[4,m(t.push,"TransformerPush",e.hooks,e.logger)(r,c)];case 1:return u=l.sent(),[2,(i.debug("push done"),u)]}})})()},U=function(e){return e&&a(e)?e:{}},K=function(t,n,r){return _async_to_generator(function(){var o,a,s,i,c,u,l,f,d,_,g,p,y,h,m,A,C,P,E,q,I,T,M;return _ts_generator(this,function(U){switch(U.label){case 0:return a=r.code,s=r.config,i=void 0===s?{}:s,c=r.env,u=void 0===c?{}:c,l=r.primary,f=r.next,d=r.before,_=r.cache,p=e(n),y=_?k(_object_spread_props(_object_spread({},_),{full:null===(o=_.full)||void 0===o||o})):void 0,h=Se(f),m=Array.isArray(f)&&w(f)||!h?void 0:R(xe(h),L(t.transformers)),A=Se(d),C=Array.isArray(d)&&w(d)||!A?void 0:R(xe(A),L(t.transformers)),P=t.logger.scope("source").scope(n),E=_object_spread({push:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _async_to_generator(function(){var o,a,s,c,u,l,f,d,_,v,b,w,k,P,E;return _ts_generator(this,function(q){switch(q.label){case 0:return a=e,(s=null!=C?C:A?R(xe(A,j(p)),L(t.transformers)):[]).length>0&&t.transformers&&Object.keys(t.transformers).length>0?[4,He(t,t.transformers,s,a,p,g,"source.".concat(n,".before"))]:[3,2];case 1:if(null===(c=q.sent()).event)return[2,{ok:!0}];c.respond&&(g=c.respond),a=Array.isArray(c.event)?c.event[0]:c.event,q.label=2;case 2:return y&&(u=D(y,t))?(l=j(p),(f=O(y,u,l,"s:".concat(n)))?"HIT"===f.status&&void 0!==f.value&&y.full?(d=f.value,f.rule.update?[4,x(d,f.rule.update,_object_spread_props(_object_spread({},l),{cache:{status:"HIT"}}),t)]:[3,4]):[3,5]:[3,6]):[3,6];case 3:d=q.sent(),q.label=4;case 4:return[2,(null==g||g(d),{ok:!0})];case 5:"MISS"===f.status&&y.full&&g&&(_=g,v=f.rule.update,b=_object_spread_props(_object_spread({},l),{cache:{status:"MISS"}}),w=f.key,k=f.rule.ttl,g=function(e){S(u,w,e,k),v?o=_async_to_generator(function(){var n;return _ts_generator(this,function(r){switch(r.label){case 0:return[4,x(e,v,b,t)];case 1:return n=r.sent(),_(n),[2]}})})():_(e)}),"MISS"!==f.status||y.full||S(u,f.key,!0,f.rule.ttl),q.label=6;case 6:return P=null!=m?m:h?R(xe(h,j(p)),L(t.transformers)):[],[4,t.push(a,_object_spread_props(_object_spread({},r),{id:n,ingest:p,respond:g,mapping:i,preChain:P}))];case 7:return E=q.sent(),o?[4,o]:[3,9];case 8:q.sent(),q.label=9;case 9:return[2,E]}})})()},command:t.command,sources:t.sources,elb:t.sources.elb.push,logger:P},u),q={collector:t,logger:P,id:n,config:i,env:E,setIngest:function(r){return _async_to_generator(function(){var o,a;return _ts_generator(this,function(s){switch(s.label){case 0:return i.ingest?[4,b(r,i.ingest,{collector:t})]:[2,void(p=e(n))];case 1:return o=s.sent(),a=e(n),p=_object_spread_props(_object_spread({},a,o),{_meta:a._meta}),[2]}})})()},setRespond:function(e){g=e}},[4,v(a)(q)];case 1:return(I=U.sent())?(T=I.type||"unknown",M=t.logger.scope(T).scope(n),[2,(E.logger=M,l&&(I.config=_object_spread_props(_object_spread({},I.config),{primary:l})),I)]):[2]}})})()},N=function(e){return _async_to_generator(function(e){var t,n,r,o,a,s,i,c,u,l,f,d,_,g,p=arguments;return _ts_generator(this,function(v){switch(v.label){case 0:t=p.length>1&&void 0!==p[1]?p[1]:{},n={},r=!0,o=!1,a=void 0,v.label=1;case 1:v.trys.push([1,6,7,8]),s=Object.entries(t)[Symbol.iterator](),v.label=2;case 2:return(r=(i=s.next()).done)?[3,5]:(c=_sliced_to_array(i.value,2),u=c[0],l=c[1],f=l.config,(d=void 0===f?{}:f).require&&d.require.length>0?(e.pending.sources[u]=l,[3,4]):[4,K(e,u,l)]);case 3:(_=v.sent())&&(n[u]=_),v.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return g=v.sent(),o=!0,a=g,[3,8];case 7:try{r||null==s.return||s.return()}finally{if(o)throw a}return[7];case 8:return[2,n]}})}).apply(this,arguments)},H=function(e,t){return{collector:e,logger:e.logger.scope("on").scope(String(t))}},G=function(e,t,r){return _async_to_generator(function(){var o,a,s;return _ts_generator(this,function(i){return o=e.on,a=o[t]||[],(s=n(r)?r:[r]).forEach(function(e){a.push(e)}),o[t]=a,W(e,t,s),[2]})})()},B=function(e,t,n,r,o){if(t.on){var a=t.type||"unknown",s=e.logger.scope(a).scope("on").scope(r),i={collector:e,logger:s,id:n,config:t.config,data:o,env:ee(t.env,t.config.env)};p(t.on)(r,i)}},W=function(e,t,n,r){var o,a,s,i,c;switch(t){case Ne.Commands.Consent:o=r||e.consent;break;case Ne.Commands.Session:o=e.session;break;case Ne.Commands.User:o=r||e.user;break;case Ne.Commands.Custom:o=r||e.custom;break;case Ne.Commands.Globals:o=r||e.globals;break;case Ne.Commands.Config:o=r||e.config;break;case Ne.Commands.Ready:case Ne.Commands.Run:default:o=void 0}if(n.length)switch(t){case Ne.Commands.Consent:a=e,s=n,i=r||a.consent,c=H(a,Ne.Commands.Consent),s.forEach(function(e){Object.keys(i).filter(function(t){return t in e}).forEach(function(t){p(e[t])(i,c)})});break;case Ne.Commands.Ready:!function(e,t){if(e.allowed){var n=H(e,Ne.Commands.Ready);t.forEach(function(e){p(e)(void 0,n)})}}(e,n);break;case Ne.Commands.Run:!function(e,t){if(e.allowed){var n=H(e,Ne.Commands.Run);t.forEach(function(e){p(e)(void 0,n)})}}(e,n);break;case Ne.Commands.Session:!function(e,t){if(e.session){var n=H(e,Ne.Commands.Session);t.forEach(function(t){p(t)(e.session,n)})}}(e,n);break;default:var u=H(e,t);n.forEach(function(e){"function"==typeof e&&p(e)(o,u)})}},F=function(e,t,n,r){return _async_to_generator(function(){var o,a,s,i,c,u,l,f,d,_,g;return _ts_generator(this,function(p){switch(p.label){case 0:switch(a=n||[],n||(a=e.on[t]||[]),t){case Ne.Commands.Consent:o=r||e.consent;break;case Ne.Commands.Session:o=e.session;break;case Ne.Commands.User:o=r||e.user;break;case Ne.Commands.Custom:o=r||e.custom;break;case Ne.Commands.Globals:o=r||e.globals;break;case Ne.Commands.Config:o=r||e.config;break;case Ne.Commands.Ready:case Ne.Commands.Run:default:o=void 0}s=!1,i=!0,c=!1,u=void 0,p.label=1;case 1:p.trys.push([1,6,7,8]),l=Object.values(e.sources)[Symbol.iterator](),p.label=2;case 2:return(i=(f=l.next()).done)?[3,5]:(d=f.value).on?(_=!1,[4,v(d.on)(t,o)]):[3,4];case 3:_===p.sent()&&(s=!0),p.label=4;case 4:return i=!0,[3,2];case 5:return[3,8];case 6:return g=p.sent(),c=!0,u=g,[3,8];case 7:try{i||null==l.return||l.return()}finally{if(c)throw u}return[7];case 8:return Object.entries(e.destinations).forEach(function(n){var r=_sliced_to_array(n,2),a=r[0],s=r[1];if(s.on){if(!s.config.init)return s.queueOn=s.queueOn||[],void s.queueOn.push({type:t,data:o});B(e,s,a,t,o)}}),Object.keys(e.pending.sources).length>0||Object.keys(e.pending.destinations).length>0?[4,(y=e,b=t,_async_to_generator(function(){var e,t,n,r,o,a,s,i,c,u,l,f,d,_,g,p,v,h,m,w,j,k,O,S,x;return _ts_generator(this,function(A){switch(A.label){case 0:e=!0,t=!1,n=void 0,A.label=1;case 1:A.trys.push([1,6,7,8]),r=Object.entries(y.pending.sources)[Symbol.iterator](),A.label=2;case 2:return(e=(o=r.next()).done)?[3,5]:(a=_sliced_to_array(o.value,2),s=a[0],i=a[1],!y.pending.sources[s]||y.sources[s]?[3,4]:(u=null===(c=i.config)||void 0===c?void 0:c.require)?-1===(l=u.indexOf(b))?[3,4]:(u.splice(l,1),u.length>0?[3,4]:(delete y.pending.sources[s],[4,K(y,s,i)])):[3,4]);case 3:(f=A.sent())&&(y.sources[s]=f),A.label=4;case 4:return e=!0,[3,2];case 5:return[3,8];case 6:return d=A.sent(),t=!0,n=d,[3,8];case 7:try{e||null==r.return||r.return()}finally{if(t)throw n}return[7];case 8:_=!0,g=!1,p=void 0;try{for(v=Object.entries(y.pending.destinations)[Symbol.iterator]();!(_=(h=v.next()).done);_=!0)m=_sliced_to_array(h.value,2),w=m[0],j=m[1],y.pending.destinations[w]&&!y.destinations[w]&&(O=null===(k=j.config)||void 0===k?void 0:k.require)&&-1!==(S=O.indexOf(b))&&(O.splice(S,1),O.length>0||(delete y.pending.destinations[w],!1!==(x=Y(j)).config.queue&&(x.queuePush=_to_consumable_array(y.queue)),y.destinations[w]=x))}catch(e){g=!0,p=e}finally{try{_||null==v.return||v.return()}finally{if(g)throw p}}return[2]}})})())]:[3,10];case 9:p.sent(),p.label=10;case 10:return[2,(W(e,t,a,r),!s)]}var y,b})})()},V=function(e,t,n,r){if(!e)return[];if(t){var o=xe(t,j(r));return o?R(o,L(n)):[]}return R(e,L(n))},z=function(e,t,n){return _async_to_generator(function(){var r,a,s,i,c,l,f,d,_,g,p,v;return _ts_generator(this,function(y){if(r=t.code,a=t.config,s=void 0===a?{}:a,i=t.env,c=void 0===i?{}:i,l=t.before,f=t.next,d=t.cache,!o(r.push))return[2,X({ok:!1,failed:{invalid:{type:"invalid",error:"Destination code must have a push method"}}})];if(_=n||s||{init:!1},g=l?_object_spread_props(_object_spread({},_),{before:l}):_object_spread({},_),f&&(g=_object_spread_props(_object_spread({},g),{next:f})),d&&(g=_object_spread_props(_object_spread({},g),{cache:d})),p=_object_spread_props(_object_spread({},r),{config:g,env:ee(r.env,c)}),!(v=p.config.id))do{v=u(5,"abcdefghijklmnopqrstuvwxyz")}while(e.destinations[v]);return[2,(e.destinations[v]=p,!1!==p.config.queue&&(p.queuePush=_to_consumable_array(e.queue)),J(e,void 0,{},_define_property({},v,p)))]})})()},J=function(n,r,o){return _async_to_generator(function(n,r){var o,a,s,i,u,l,f,d,_,g,p,y,b,h,m,x,A,C,P,E=arguments;return _ts_generator(this,function(q){switch(q.label){case 0:return o=E.length>2&&void 0!==E[2]?E[2]:{},a=E.length>3?E[3]:void 0,s=n.allowed,i=n.consent,u=n.globals,l=n.user,s?(r&&(n.queue.push(r),n.status.in++),a||(a=n.destinations),[4,Promise.all(Object.entries(a||{}).map(function(a){var s=_sliced_to_array(a,2),f=s[0],d=s[1];return _async_to_generator(function(){var a,s,_,g,p,y,b,h,m,x,A,C,P,E,q,L,I,R,T;return _ts_generator(this,function(M){switch(M.label){case 0:return d.config.disabled?[2,{id:f,destination:d,skipped:!0}]:(p=(d.queuePush||[]).map(function(e){return _object_spread_props(_object_spread({},e),{consent:i})}),d.queuePush=[],r&&p.push(ye(r)),y=o.ingest?_object_spread_props(_object_spread({},o.ingest),{_meta:_object_spread_props(_object_spread({},o.ingest._meta),{path:_to_consumable_array(o.ingest._meta.path)})}):e("unknown"),p.length||(null===(s=d.queueOn)||void 0===s?void 0:s.length)?p.length||!(null===(_=d.queueOn)||void 0===_?void 0:_.length)?[3,2]:[4,v($)(n,d,f)]:[2,{id:f,destination:d,skipped:!0}]);case 1:return b=M.sent(),[2,{id:f,destination:d,skipped:!b}];case 2:return h=[],m=p.filter(function(e){var t=c(d.config.consent,i,e.consent);return!t||(e.consent=t,h.push(e),!1)}),(a=d.queuePush).push.apply(a,_to_consumable_array(m)),h.length?[4,v($)(n,d,f)]:[2,{id:f,destination:d,queue:p}];case 3:return M.sent()?(d.dlq||(d.dlq=[]),C=d.config.before,P=V(C,C&&w(C)?Se(C):void 0,n.transformers,y),E=d.config.next,q=E&&w(E)?Se(E):void 0,L=null===(g=d.config)||void 0===g?void 0:g.cache,I=L?k(L):void 0,R=I?D(I,n):void 0,T=0,[4,Promise.all(h.map(function(e){return _async_to_generator(function(){var r,a,s,i,c,_,g,p,b,h,m,w,k;return _ts_generator(this,function(C){switch(C.label){case 0:if(e.globals=t(u,e.globals),e.user=t(l,e.user),(null==I?void 0:I.full)&&R){if(a=j(y,e),"HIT"===(null==(s=O(I,R,a,"d:".concat(f)))?void 0:s.status))return[2,e];"MISS"===(null==s?void 0:s.status)&&(r={key:s.key,ttl:s.rule.ttl})}return i=e,c=o.respond,P.length>0&&n.transformers&&Object.keys(n.transformers).length>0?[4,He(n,n.transformers,P,e,y,o.respond,"destination.".concat(f,".before"))]:[3,2];case 1:if(null===(_=C.sent()).event)return[2,e];_.respond&&(c=_.respond),i=Array.isArray(_.event)?_.event[0]:_.event,C.label=2;case 2:if(I&&!I.full&&R){if(g=j(y,i),"HIT"===(null==(p=O(I,R,g,"d:".concat(f)))?void 0:p.status))return[2,e];"MISS"===(null==p?void 0:p.status)&&(r={key:p.key,ttl:p.rule.ttl})}return b=Date.now(),h=!1,[4,v(Q,function(e){var t=d.type||"unknown";n.logger.scope(t).error("Push failed",{error:e,event:i.name}),x=e,h=!0,d.dlq.push([i,e])})(n,d,f,i,y,c)];case 3:return m=C.sent(),T+=Date.now()-b,r&&R&&void 0===d.config.mock&&S(R,r.key,null==m||m,r.ttl),void 0!==m&&(A=m),h||!E?[3,5]:(void 0!==m&&(y._response=m),(w=V(E,q,n.transformers,y)).length>0&&n.transformers&&Object.keys(n.transformers).length>0?[4,He(n,n.transformers,w,i,y,c,"destination.".concat(f,".next"))]:[3,5]);case 4:(k=C.sent()).respond&&(c=k.respond),C.label=5;case 5:return[2,e]}})})()}))]):[2,{id:f,destination:d,queue:p}];case 4:return[2,(M.sent(),{id:f,destination:d,error:x,response:A,totalDuration:T})]}})})()}))]):[2,X({ok:!1})];case 1:f=q.sent(),d={},_={},g={},p=!0,y=!1,b=void 0;try{for(h=f[Symbol.iterator]();!(p=(m=h.next()).done);p=!0)(x=m.value).skipped||(A={type:x.destination.type||"unknown",data:x.response},n.status.destinations[x.id]||(n.status.destinations[x.id]={count:0,failed:0,duration:0}),C=n.status.destinations[x.id],P=Date.now(),x.error?(A.error=x.error,g[x.id]=A,C.failed++,C.lastAt=P,C.duration+=x.totalDuration||0,n.status.failed++):x.queue&&x.queue.length?_[x.id]=A:(d[x.id]=A,C.count++,C.lastAt=P,C.duration+=x.totalDuration||0,n.status.out++))}catch(e){y=!0,b=e}finally{try{p||null==h.return||h.return()}finally{if(y)throw b}}return[2,X(_object_spread({event:r},Object.keys(d).length&&{done:d},Object.keys(_).length&&{queued:_},Object.keys(g).length&&{failed:g}))]}})}).apply(this,arguments)},$=function(e,t,n){return _async_to_generator(function(){var r,o,a,s,i,c,u,l,f,d,_,g,p,v;return _ts_generator(this,function(y){switch(y.label){case 0:return!t.init||t.config.init?[3,2]:(o=t.type||"unknown",a=e.logger.scope(o),s={collector:e,logger:a,id:n,config:t.config,env:ee(t.env,t.config.env)},a.debug("init"),[4,m(t.init,"DestinationInit",e.hooks,e.logger)(s)]);case 1:if(!1===(i=y.sent()))return[2,i];if(t.config=_object_spread_props(_object_spread({},i||t.config),{init:!0}),null===(r=t.queueOn)||void 0===r?void 0:r.length){c=t.queueOn,t.queueOn=[],u=!0,l=!1,f=void 0;try{for(d=c[Symbol.iterator]();!(u=(_=d.next()).done);u=!0)g=_.value,p=g.type,v=g.data,B(e,t,n,p,v)}catch(e){l=!0,f=e}finally{try{u||null==d.return||d.return()}finally{if(l)throw f}}}a.debug("init done"),y.label=2;case 2:return[2,!0]}})})()},Q=function(e,t,n,o,a,s){return _async_to_generator(function(){var i,c,u,f,d,_,g,p,v,y;return _ts_generator(this,function(b){switch(b.label){case 0:return i=t.config,[4,h(o,i,e)];case 1:return(c=b.sent()).ignore?[2,!1]:(u=t.type||"unknown",f=e.logger.scope(u),d={collector:e,logger:f,id:n,config:i,data:c.data,rule:c.mapping,ingest:a,env:_object_spread({},ee(t.env,i.env),s?{respond:s}:{})},void 0!==i.mock?[2,(f.debug("mock",{event:c.event.name}),i.mock)]:(_=c.mapping,g=c.mappingKey||"* *",(null==_?void 0:_.batch)&&t.pushBatch&&void 0===i.mock?[3,3]:(f.debug("push",{event:c.event.name}),[4,m(t.push,"DestinationPush",e.hooks,e.logger)(c.event,d)])));case 2:return p=b.sent(),[2,(f.debug("push done"),p)];case 3:return t.batches=t.batches||{},t.batches[g]||(v={key:g,events:[],data:[]},t.batches[g]={batched:v,batchFn:l(function(){var r=t.batches[g].batched,o={collector:e,logger:f,id:n,config:i,data:void 0,rule:_,ingest:a,env:_object_spread({},ee(t.env,i.env),s?{respond:s}:{})};f.debug("push batch",{events:r.events.length}),m(t.pushBatch,"DestinationPushBatch",e.hooks,e.logger)(r,o),f.debug("push batch done"),r.events=[],r.data=[]},_.batch)}),(y=t.batches[g]).batched.events.push(c.event),r(c.data)&&y.batched.data.push(c.data),y.batchFn(),[2,!0]}})})()},X=function(e){return _object_spread({ok:!(null==e?void 0:e.failed)},e)},Y=function(e){var t=e.code,n=e.config,r=void 0===n?{}:n,o=e.env,a=void 0===o?{}:o,s=e.cache,i=I(e,"before").config,c=I(_object_spread_props(_object_spread({},e),{config:i}),"next").config,u=_object_spread({},t.config,r,c);s&&(u.cache=s);var l=ee(t.env,a);return _object_spread_props(_object_spread({},t),{config:u,env:l})},Z=function(e){return _async_to_generator(function(e){var t,n,r,o,a,s,i,c,u,l,f,d,_=arguments;return _ts_generator(this,function(g){t=_.length>1&&void 0!==_[1]?_[1]:{},o={},a=!0,s=!1,i=void 0;try{for(c=Object.entries(t)[Symbol.iterator]();!(a=(u=c.next()).done);a=!0)l=_sliced_to_array(u.value,2),f=l[0],d=l[1],(null===(r=d.config)||void 0===r||null===(n=r.require)||void 0===n?void 0:n.length)?e.pending.destinations[f]=d:o[f]=Y(d)}catch(e){s=!0,i=e}finally{try{a||null==c.return||c.return()}finally{if(s)throw i}}return[2,o]})}).apply(this,arguments)},ee=function(e,t){return e||t?t?e&&a(e)&&a(t)?_object_spread({},e,t):t:e:{}},te=function(e,t,n){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){switch(o.label){case 0:return r=Object.entries(e).map(function(e){var r=_sliced_to_array(e,2),o=r[0],a=r[1];return _async_to_generator(function(){var e,r,s,i,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:if(!(r=a.destroy))return[2];s=a.type||"unknown",i=n.scope(s),c={id:o,config:a.config,env:null!==(e=a.env)&&void 0!==e?e:{},logger:i},l.label=1;case 1:return l.trys.push([1,3,,4]),[4,Promise.race([r(c),new Promise(function(e,n){return setTimeout(function(){return n(new Error("".concat(t," '").concat(o,"' destroy timed out")))},5e3)})])];case 2:return l.sent(),[3,4];case 3:return u=l.sent(),i.error("".concat(t," '").concat(o,"' destroy failed: ").concat(u)),[3,4];case 4:return[2]}})})()}),[4,Promise.allSettled(r)];case 1:return o.sent(),[2]}})})()},ne=function(e,n,r,i){return _async_to_generator(function(){var c,u,l,f,d,_,g;return _ts_generator(this,function(p){switch(p.label){case 0:switch(l=!1,n){case Ne.Commands.Config:return[3,1];case Ne.Commands.Consent:return[3,2];case Ne.Commands.Custom:return[3,3];case Ne.Commands.Destination:return[3,4];case Ne.Commands.Globals:return[3,11];case Ne.Commands.On:return[3,12];case Ne.Commands.Ready:return[3,15];case Ne.Commands.Run:return[3,16];case Ne.Commands.Session:return[3,18];case Ne.Commands.Shutdown:return[3,19];case Ne.Commands.User:return[3,21]}return[3,22];case 1:return a(r)&&(t(e.config,r,{shallow:!1}),u=r,l=!0),[3,22];case 2:return a(r)&&(f=function(e,n){var r={};return Object.entries(n).forEach(function(e){var t=_sliced_to_array(e,2),n=t[0],o=t[1];r[n]=!!o}),e.consent=t(e.consent,r),{update:r}}(e,r),d=f.update,u=d,l=!0),[3,22];case 3:return a(r)&&(e.custom=t(e.custom,r),u=r,l=!0),[3,22];case 4:return a(r)?"code"in r&&a(r.code)?[4,z(e,r,i)]:[3,6]:[3,10];case 5:return _=c=p.sent(),[3,9];case 6:return(g=o(r.push))?[4,z(e,{code:r},i)]:[3,8];case 7:g=c=p.sent(),p.label=8;case 8:_=g,p.label=9;case 9:p.label=10;case 10:return[3,22];case 11:return a(r)&&(e.globals=t(e.globals,r),u=r,l=!0),[3,22];case 12:return s(r)?[4,G(e,r,i)]:[3,14];case 13:p.sent(),p.label=14;case 14:return[3,22];case 15:return l=!0,[3,22];case 16:return[4,oe(e,r)];case 17:return c=p.sent(),l=!0,[3,22];case 18:return l=!0,[3,22];case 19:return[4,(v=e,_async_to_generator(function(){var e;return _ts_generator(this,function(t){switch(t.label){case 0:return e=v.logger,[4,te(v.sources,"source",e)];case 1:return t.sent(),[4,te(v.destinations,"destination",e)];case 2:return t.sent(),[4,te(v.transformers,"transformer",e)];case 3:return t.sent(),[4,te(v.stores,"store",e)];case 4:return t.sent(),[2]}})})())];case 20:return p.sent(),[3,22];case 21:a(r)&&(t(e.user,r,{shallow:!1}),u=r,l=!0),p.label=22;case 22:return l?[4,F(e,n,void 0,u)]:[3,25];case 23:return p.sent(),[4,J(e)];case 24:c=p.sent(),p.label=25;case 25:return[2,c||X({ok:!0})]}var v})})()},re=function(e,t){if(!t.name)throw new Error("Event name is required");var n=_sliced_to_array(t.name.split(" "),2),r=n[0],o=n[1];if(!r||!o)throw new Error("Event name is invalid");var a=t.timestamp,s=void 0===a?Date.now():a,i=t.name,c=void 0===i?"".concat(r," ").concat(o):i,u=t.data,l=void 0===u?{}:u,f=t.context,d=void 0===f?{}:f,_=t.globals,g=void 0===_?e.globals:_,p=t.custom,v=void 0===p?{}:p,y=t.user,b=void 0===y?e.user:y,h=t.nested,m=void 0===h?[]:h,w=t.consent,j=void 0===w?e.consent:w,k=t.id,O=void 0===k?function(){for(var e="",t=0;t<16;t++)e+=(16*Math.random()|0).toString(16);return e}():k,S=t.trigger,x=void 0===S?"":S,A=t.entity,C=void 0===A?r:A,P=t.action,E=void 0===P?o:P,q=t.timing,D=void 0===q?0:q,L=t.source;return{name:c,data:l,context:d,globals:g,custom:v,user:b,nested:m,consent:j,id:O,trigger:x,entity:C,action:E,timestamp:s,timing:D,source:void 0===L?{type:"collector",schema:"4"}:L}},oe=function(e,n){return _async_to_generator(function(){return _ts_generator(this,function(r){switch(r.label){case 0:return e.allowed=!0,e.timing=Date.now(),n&&(n.consent&&(e.consent=t(e.consent,n.consent)),n.user&&(e.user=t(e.user,n.user)),n.globals&&(e.globals=t(e.config.globalsStatic||{},n.globals)),n.custom&&(e.custom=t(e.custom,n.custom))),Object.values(e.destinations).forEach(function(e){e.queuePush=[]}),e.queue=[],e.round++,[4,J(e)];case 1:return[2,r.sent()]}})})()},ae=function(n){return _async_to_generator(function(){var r,o,a,s,i,u,l,f,d;return _ts_generator(this,function(g){switch(g.label){case 0:return a=t({globalsStatic:{},sessionStatic:{},run:!0},n,{merge:!1,extend:!1}),s={level:null===(r=n.logger)||void 0===r?void 0:r.level,handler:null===(o=n.logger)||void 0===o?void 0:o.handler},i=_(s),u=_object_spread({},a.globalsStatic,n.globals),(l={allowed:!1,config:a,consent:n.consent||{},custom:n.custom||{},destinations:{},transformers:{},stores:{},globals:u,hooks:n.hooks||{},logger:i,on:{},queue:[],round:0,session:void 0,status:{startedAt:Date.now(),in:0,out:0,failed:0,sources:{},destinations:{}},timing:Date.now(),user:n.user||{},sources:{},pending:{sources:{},destinations:{}},push:void 0,command:void 0}).push=function(t,n){return m(function(r){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _async_to_generator(function(){return _ts_generator(this,function(a){switch(a.label){case 0:return[4,v(function(){return _async_to_generator(function(){var a,s,i,u,l,f,d,_,g,p,v,y,b,m,w,j,k,O,S,x,A;return _ts_generator(this,function(C){switch(C.label){case 0:return a=Date.now(),s=o.id,i=o.ingest,u=o.respond,l=o.mapping,f=o.preChain,d=o.include,_=o.exclude,g=u,p=r,v=d||_?function(e,t,n){var r=e;return t&&(r=Object.fromEntries(Object.entries(r).filter(function(e){var n=_sliced_to_array(e,1)[0];return t.includes(n)}))),n&&(r=Object.fromEntries(Object.entries(r).filter(function(e){var t=_sliced_to_array(e,1)[0];return!n.includes(t)}))),r}(t.destinations,d,_):void 0,y=null!=i?i:e(s||"unknown"),l?[4,h(p,l,t)]:[3,2];case 1:if((b=C.sent()).ignore)return[2,X({ok:!0})];if(l.consent&&!c(l.consent,t.consent,b.event.consent))return[2,X({ok:!0})];p=b.event,C.label=2;case 2:return(null==f?void 0:f.length)&&t.transformers&&Object.keys(t.transformers).length>0?[4,He(t,t.transformers,f,p,y,g,s?"source.".concat(s,".next"):void 0)]:[3,6];case 3:return null===(m=C.sent()).event?[2,X({ok:!0})]:(m.respond&&(g=m.respond),Array.isArray(m.event)?[4,Promise.all(m.event.map(function(e){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(a){return r=n(e),o=re(t,r),[2,J(t,o,{id:s,ingest:y,respond:g},v)]})})()}))]:[3,5]);case 4:return j=C.sent(),s&&(t.status.sources[s]||(t.status.sources[s]={count:0,duration:0}),(k=t.status.sources[s]).count+=m.event.length,k.lastAt=Date.now(),k.duration+=Date.now()-a),[2,null!==(w=j[0])&&void 0!==w?w:X({ok:!0})];case 5:p=m.event,C.label=6;case 6:return O=n(p),S=re(t,O),[4,J(t,S,{id:s,ingest:y,respond:g},v)];case 7:return x=C.sent(),s&&(t.status.sources[s]||(t.status.sources[s]={count:0,duration:0}),(A=t.status.sources[s]).count++,A.lastAt=Date.now(),A.duration+=Date.now()-a),[2,x]}})})()},function(){return X({ok:!1})})()];case 1:return[2,a.sent()]}})})()},"Push",t.hooks,t.logger)}(l,function(e){return _object_spread({timing:Math.round((Date.now()-l.timing)/10)/100,source:{type:"collector",schema:"4",version:"4.0.0"}},e)}),l.command=function(e,t){return m(function(n,r,o){return _async_to_generator(function(){return _ts_generator(this,function(a){switch(a.label){case 0:return[4,v(function(){return _async_to_generator(function(){return _ts_generator(this,function(a){switch(a.label){case 0:return[4,t(e,n,r,o)];case 1:return[2,a.sent()]}})})()},function(){return X({ok:!1})})()];case 1:return[2,a.sent()]}})})()},"Command",e.hooks,e.logger)}(l,ne),f=n.stores||{},[4,function(e){return _async_to_generator(function(e){var t,n,r,o,a,s,i,c,u,l,f,d,_,g,p,v,y,b,h,w,j,k=arguments;return _ts_generator(this,function(O){switch(O.label){case 0:t=k.length>1&&void 0!==k[1]?k[1]:{},n={},r=!0,o=!1,a=void 0,O.label=1;case 1:O.trys.push([1,6,7,8]),s=Object.entries(t)[Symbol.iterator](),O.label=2;case 2:return(r=(i=s.next()).done)?[3,5]:(c=_sliced_to_array(i.value,2),u=c[0],l=c[1],f=l.code,d=l.config,_=void 0===d?{}:d,g=l.env,p=void 0===g?{}:g,v=e.logger.scope("store").scope(u),[4,f({collector:e,logger:v,id:u,config:_,env:p})]);case 3:y=O.sent(),b=y.get,h=y.set,w=y.delete,y.get=m(b,"StoreGet",e.hooks,e.logger),y.set=m(h,"StoreSet",e.hooks,e.logger),y.delete=m(w,"StoreDelete",e.hooks,e.logger),n[u]=y,O.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return j=O.sent(),o=!0,a=j,[3,8];case 7:try{r||null==s.return||s.return()}finally{if(o)throw a}return[7];case 8:return[2,n]}})}).apply(this,arguments)}(l,f)];case 1:return l.stores=g.sent(),function(e,t,n){var r=new Map,o=!0,a=!1,s=void 0;try{for(var i,c=Object.entries(e)[Symbol.iterator]();!(o=(i=c.next()).done);o=!0){var u=_sliced_to_array(i.value,2),l=u[0],f=u[1];t[l]&&r.set(f,t[l])}}catch(e){a=!0,s=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw s}}if(0!==r.size)for(var d=!0,_=!1,g=void 0,p=0,v=[n.transformers,n.destinations,n.sources];p<v.length;p++){var y=v[p];if(y)try{for(var b,h=Object.values(y)[Symbol.iterator]();!(d=(b=h.next()).done);d=!0){m(b.value.env)}}catch(e){_=!0,g=e}finally{try{d||null==h.return||h.return()}finally{if(_)throw g}}}function m(e){if(e){var t=!0,n=!1,o=void 0;try{for(var a,s=Object.entries(e)[Symbol.iterator]();!(t=(a=s.next()).done);t=!0){var i=_sliced_to_array(a.value,2),c=i[0],u=i[1];if("object"==(void 0===u?"undefined":_type_of(u))&&null!==u){var l=r.get(u);l&&(e[c]=l)}}}catch(e){n=!0,o=e}finally{try{t||null==s.return||s.return()}finally{if(n)throw o}}}}}(f,l.stores,n),l.stores.__cache||(d=new Map,l.stores.__cache={type:"memory",config:{},get:function(e){var t=d.get(e);if(t){if(!(t.expires&&Date.now()>t.expires))return t.value;d.delete(e)}},set:function(e,t,n){d.set(e,{value:t,expires:n?Date.now()+n:void 0})},delete:function(e){d.delete(e)}}),[4,Z(l,n.destinations||{})];case 2:return l.destinations=g.sent(),[4,function(t){return _async_to_generator(function(t){var n,r,o,a,s,i,c,u,l,f,d,_,g,p,v,y,b,h,m,w,j,k,O,S,x=arguments;return _ts_generator(this,function(A){switch(A.label){case 0:n=x.length>1&&void 0!==x[1]?x[1]:{},r={},o=!0,a=!1,s=void 0,A.label=1;case 1:A.trys.push([1,6,7,8]),i=Object.entries(n)[Symbol.iterator](),A.label=2;case 2:return(o=(c=i.next()).done)?[3,5]:(u=_sliced_to_array(c.value,2),l=u[0],f=u[1],d=f.code,_=f.env,g=void 0===_?{}:_,p=I(f,"before"),v=p.config,y=I(_object_spread_props(_object_spread({},f),{config:v}),"next"),b=y.config,h=Object.keys(g).length>0?_object_spread_props(_object_spread({},b),{env:g}):b,m=f.cache,w=m?_object_spread_props(_object_spread({},h),{cache:m}):h,j=t.logger.scope("transformer").scope(l),k={collector:t,logger:j,id:l,ingest:e(l),config:w,env:g},[4,d(k)]);case 3:O=A.sent(),r[l]=O,A.label=4;case 4:return o=!0,[3,2];case 5:return[3,8];case 6:return S=A.sent(),a=!0,s=S,[3,8];case 7:try{o||null==i.return||i.return()}finally{if(a)throw s}return[7];case 8:return[2,r]}})}).apply(this,arguments)}(l,n.transformers||{})];case 3:return[2,(l.transformers=g.sent(),l)]}})})()},se=function(e){return _async_to_generator(function(){var t,n,r,o,a,s,i,c,u,l,f;return _ts_generator(this,function(d){switch(d.label){case 0:return[4,ae(e=e||{})];case 1:return t=d.sent(),r=t,n={type:"elb",config:{},push:function(e,t,n,o,a,s){return _async_to_generator(function(){var i,c;return _ts_generator(this,function(u){if("string"==typeof e&&e.startsWith("walker "))return i=e.replace("walker ",""),[2,r.command(i,t,n)];if("string"==typeof e)c={name:e},t&&"object"==(void 0===t?"undefined":_type_of(t))&&!Array.isArray(t)&&(c.data=t);else{if(!e||"object"!=(void 0===e?"undefined":_type_of(e)))return[2,X({ok:!1})];c=e,t&&"object"==(void 0===t?"undefined":_type_of(t))&&!Array.isArray(t)&&(c.data=_object_spread({},c.data||{},t))}return[2,(o&&"object"==(void 0===o?"undefined":_type_of(o))&&(c.context=o),a&&Array.isArray(a)&&(c.nested=a),s&&"object"==(void 0===s?"undefined":_type_of(s))&&(c.custom=s),r.push(c))]})})()}},t.sources.elb=n,[4,N(t,e.sources||{})];case 2:return o=d.sent(),Object.assign(t.sources,o),a=e.consent,s=e.user,i=e.globals,c=e.custom,a?[4,t.command("consent",a)]:[3,4];case 3:d.sent(),d.label=4;case 4:return s?[4,t.command("user",s)]:[3,6];case 5:d.sent(),d.label=6;case 6:return i&&Object.assign(t.globals,i),c&&Object.assign(t.custom,c),t.config.run?[4,t.command("run")]:[3,8];case 7:d.sent(),d.label=8;case 8:return u=n.push,l=Object.values(t.sources).filter(function(e){return"elb"!==e.type}),[2,((f=l.find(function(e){return e.config.primary}))?u=f.push:l.length>0&&(u=l[0].push),{collector:t,elb:u})]}})})()},ie=Object.defineProperty,ce=Object.getOwnPropertyDescriptor,ue=Object.getOwnPropertyNames,le=Object.prototype.hasOwnProperty,fe=function(e,t){for(var n in t)ie(e,n,{get:t[n],enumerable:!0})},de={};fe(de,{SourceDataLayer:function(){return Ce},createTrigger:function(){return Be},default:function(){return Ve},env:function(){return Pe},sourceDataLayer:function(){return Fe},step:function(){return Ie},trigger:function(){return We}});var _e=Object.defineProperty;!function(e,t){for(var n in t)_e(e,n,{get:t[n],enumerable:!0})}({},{Level:function(){return pe}});var ge,pe=((ge=pe||{})[ge.ERROR=0]="ERROR",ge[ge.WARN=1]="WARN",ge[ge.INFO=2]="INFO",ge[ge.DEBUG=3]="DEBUG",ge),ve={merge:!0,shallow:!0,extend:!0};function ye(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new WeakMap;if("object"!=(void 0===e?"undefined":_type_of(e))||null===e)return e;if(t.has(e))return t.get(e);var n=Object.prototype.toString.call(e);if("[object Object]"===n){var r={};for(var o in t.set(e,r),e)Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=ye(e[o],t));return r}if("[object Array]"===n){var a=[];return t.set(e,a),e.forEach(function(e){a.push(ye(e,t))}),a}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){var s=e;return new RegExp(s.source,s.flags)}return e}function be(e){for(var t=arguments.length>2?arguments[2]:void 0,o=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"").split("."),a=e,s=0;s<o.length;s++){var i=o[s];if("*"===i&&n(a)){var c=o.slice(s+1).join("."),u=[],l=!0,f=!1,d=void 0;try{for(var _,g=a[Symbol.iterator]();!(l=(_=g.next()).done);l=!0){var p=be(_.value,c,t);u.push(p)}}catch(e){f=!0,d=e}finally{try{l||null==g.return||g.return()}finally{if(f)throw d}}return u}if(void 0===(a=_instanceof(a,Object)?a[i]:void 0))break}return r(a)?a:t}var he={data:function(e){return e.data},globals:function(e){return e.globals},context:function(e){return e.context},user:function(e){return e.user},source:function(e){return e.source},event:function(e){return{entity:e.entity,action:e.action,id:e.id,timestamp:e.timestamp,name:e.name,trigger:e.trigger,timing:e.timing}}},me=function(e,t,n,r){var o="".concat(pe[e]).concat(r.length>0?" [".concat(r.join(":"),"]"):""),a=Object.keys(n).length>0,s=0===e?console.error:1===e?console.warn:console.log;a?s(o,t,n):s(o,t)};function we(e){var t=e.level,n=e.handler,r=e.jsonHandler,o=e.scope,a=function(e,r,a){if(e<=t){var s=d(r,a);n?n(e,s.message,s.context,o,me):me(e,s.message,s.context,o)}};return{error:function(e,t){return a(0,e,t)},warn:function(e,t){return a(1,e,t)},info:function(e,t){return a(2,e,t)},debug:function(e,t){return a(3,e,t)},throw:function(e,t){var r=d(e,t);throw n?n(0,r.message,r.context,o,me):me(0,r.message,r.context,o),new Error(r.message)},json:function(e){r?r(e):console.log(JSON.stringify(e,null,2))},scope:function(e){return we({level:t,handler:n,jsonHandler:r,scope:_to_consumable_array(o).concat([e])})}}}function je(e){return function(e){return"boolean"==typeof e}(e)||s(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!r(e)||n(e)&&e.every(je)||a(e)&&Object.values(e).every(je)}function ke(e,t,o){return _async_to_generator(function(){return _ts_generator(this,function(a){return[2,(n(t)?t:[t]).reduce(function(t,a){return _async_to_generator(function(){var i,u,l,f,d,_,p,y,h,m,w,j,k,O,S,x,A,C,P,E,q,D;return _ts_generator(this,function(L){switch(L.label){case 0:return[4,t];case 1:return(i=L.sent())?[2,i]:(u=s(a)?{key:a}:a,Object.keys(u).length?(l=u.condition,f=u.consent,d=u.fn,_=u.key,p=u.loop,y=u.map,h=u.set,m=u.validate,w=u.value,j=_object_spread_props(_object_spread({},o),{mapping:a}),(k=l)?[4,v(l)(e,j)]:[3,3]):[2]);case 2:k=!L.sent(),L.label=3;case 3:return k?[2]:f&&!c(f,j.consent)?[2,w]:(O=r(w)?w:e,d?[4,v(d)(e,j)]:[3,5]);case 4:O=L.sent(),L.label=5;case 5:return _&&(O=be(e,_,w)),p?(S=_sliced_to_array(p,2),x=S[0],A=S[1],"this"!==x?[3,6]:(P=[e],[3,8])):[3,11];case 6:return[4,b(e,x,j)];case 7:P=L.sent(),L.label=8;case 8:return n(C=P)?[4,Promise.all(C.map(function(e){return b(e,A,j)}))]:[3,10];case 9:O=L.sent().filter(r),L.label=10;case 10:return[3,17];case 11:return y?[4,Object.entries(y).reduce(function(t,n){var o=_sliced_to_array(n,2),a=o[0],s=o[1];return _async_to_generator(function(){var n,o;return _ts_generator(this,function(i){switch(i.label){case 0:return[4,t];case 1:return n=i.sent(),[4,b(e,s,j)];case 2:return o=i.sent(),[2,(r(o)&&(n[a]=o),n)]}})})()},Promise.resolve({}))]:[3,13];case 12:return O=L.sent(),[3,16];case 13:return(E=h)?[4,Promise.all(h.map(function(t){return ke(e,t,j)}))]:[3,15];case 14:E=O=L.sent(),L.label=15;case 15:L.label=16;case 16:L.label=17;case 17:return(q=m)?[4,v(m)(O,j)]:[3,19];case 18:q=!L.sent(),L.label=19;case 19:return q&&(O=void 0),D=g(O),[2,r(D)?D:g(w)]}})})()},Promise.resolve(void 0))]})})()}function Oe(e){if("*"===e)return function(){return!0};if("and"in e){var t=e.and.map(Oe);return function(e){return t.every(function(t){return t(e)})}}if("or"in e){var n=e.or.map(Oe);return function(e){return n.some(function(t){return t(e)})}}return function(e){var t=e.key,n=e.operator,r=e.value,o=e.not,a=function(e,t){switch(e){case"eq":return function(e){return String(null!=e?e:"")===t};case"contains":return function(e){return String(null!=e?e:"").includes(t)};case"prefix":return function(e){return String(null!=e?e:"").startsWith(t)};case"suffix":return function(e){return String(null!=e?e:"").endsWith(t)};case"regex":var n=new RegExp(t);return function(e){return n.test(String(null!=e?e:""))};case"gt":var r=Number(t);return function(e){return Number(e)>r};case"lt":var o=Number(t);return function(e){return Number(e)<o};case"exists":return function(e){return null!=e}}}(n,r);return function(e){var n=be(e,t),r=a(n);return o?!r:r}}(e)}function Se(e){if(null!=e){if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;return w(e)?{type:"routes",routes:e.map(function(e){return{match:Oe(e.match),next:Se(e.next)}})}:{type:"chain",value:e}}}}function xe(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e){if("static"===e.type)return e.value;if("chain"===e.type)return e.value;var n=!0,r=!1,o=void 0;try{for(var a,s=e.routes[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var i=a.value;if(i.match(t))return xe(i.next,t)}}catch(e){r=!0,o=e}finally{try{n||null==s.return||s.return()}finally{if(r)throw o}}}}var Ae=!1,Ce={},Pe={};fe(Pe,{push:function(){return Le}});var Ee=function(){},qe=function(){return function(){return Promise.resolve({ok:!0})}},De={error:Ee,warn:Ee,info:Ee,debug:Ee,throw:function(e){throw"string"==typeof e?new Error(e):e},json:Ee,scope:function(){return De}},Le={get push(){return qe()},get command(){return qe()},get elb(){return qe()},get window(){return{dataLayer:[],addEventListener:Ee,removeEventListener:Ee}},logger:De},Ie={};fe(Ie,{consentUpdate:function(){return Te},directEvent:function(){return Ke},gtagAddToCart:function(){return Me},gtagPurchase:function(){return Re},gtagViewItem:function(){return Ue}});var Re={title:"gtag purchase",description:"A gtag purchase call pushed to the dataLayer is captured as a walker dataLayer purchase event with item details.",trigger:{type:"gtag"},in:["event","purchase",{transaction_id:"T-12345",value:25.42,currency:"EUR",items:[{item_id:"SKU-1",item_name:"T-Shirt",quantity:1}]}],out:[["elb",{name:"dataLayer purchase",data:{transaction_id:"T-12345",value:25.42,currency:"EUR",items:[{item_id:"SKU-1",item_name:"T-Shirt",quantity:1}]}}]]},Te={title:"Consent update",description:"A gtag consent update is captured from the dataLayer as a walker dataLayer consent update event.",trigger:{type:"gtag"},in:["consent","update",{ad_storage:"granted",analytics_storage:"granted"}],out:[["elb",{name:"dataLayer consent update",data:{ad_storage:"granted",analytics_storage:"granted"}}]]},Me={title:"gtag add_to_cart",description:"A gtag add_to_cart call pushed to the dataLayer is captured as a walker dataLayer add_to_cart event.",trigger:{type:"gtag"},in:["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"T-Shirt",item_variant:"red",quantity:1,price:15.25}]}],out:[["elb",{name:"dataLayer add_to_cart",data:{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"T-Shirt",item_variant:"red",quantity:1,price:15.25}]}}]]},Ue={title:"gtag view_item",description:"A gtag view_item call pushed to the dataLayer is captured as a walker dataLayer view_item event with item data.",trigger:{type:"gtag"},in:["event","view_item",{currency:"EUR",value:29.99,items:[{item_id:"SKU_67890",item_name:"Sneakers",item_category:"Footwear",price:29.99}]}],out:[["elb",{name:"dataLayer view_item",data:{currency:"EUR",value:29.99,items:[{item_id:"SKU_67890",item_name:"Sneakers",item_category:"Footwear",price:29.99}]}}]]},Ke={title:"Direct dataLayer event",description:"A plain object pushed directly onto the dataLayer is captured as a walker dataLayer custom event.",trigger:{type:"direct"},in:{event:"custom_event",category:"engagement",label:"video_play"},out:[["elb",{name:"dataLayer custom_event",data:{category:"engagement",label:"video_play"}}]]},Ne={Commands:{Action:"action",Actions:"actions",Config:"config",Consent:"consent",Context:"context",Custom:"custom",Destination:"destination",Elb:"elb",Globals:"globals",Hook:"hook",Init:"init",Link:"link",On:"on",Prefix:"data-elb",Ready:"ready",Run:"run",Session:"session",Shutdown:"shutdown",User:"user",Walker:"walker"},Utils:{Storage:{Cookie:"cookie",Local:"local",Session:"session"}}};function He(t,n,r,o,a,s,i){return _async_to_generator(function(){var c,u,l,f,d,_,g,p,y,b;return _ts_generator(this,function(h){switch(h.label){case 0:i&&(null==a?void 0:a._meta)&&(a._meta.chainPath=i),c=o,u=s,l=!0,f=!1,d=void 0,h.label=1;case 1:h.trys.push([1,6,7,8]),_=function(){var o,s,l,f,d,_,g,y,b,h,m,x,A,C,P,E,q,I,U,K,N,H,G,B,W,F,V,z,J,$,Q,X,Y,Z,ee,te,ne,re,oe,ae,se;return _ts_generator(this,function(ie){switch(ie.label){case 0:return o=p.value,(g=n[o])?a&&a._meta&&a._meta.path.length>256?[2,{v:(t.logger.error("Max path length exceeded at ".concat(o)),{event:null,respond:u})}]:(a&&a._meta&&(a._meta.hops++,a._meta.path.push(o)),[4,v(T)(t,g,o)]):(t.logger.warn("Transformer not found: ".concat(o)),[2,"continue"]);case 1:if(!ie.sent())return[2,{v:(t.logger.error("Transformer init failed: ".concat(o)),{event:null,respond:u})}];if(i&&void 0!==(null===(l=g.config)||void 0===l||null===(s=l.chainMocks)||void 0===s?void 0:s[i]))return y=g.config.chainMocks[i],t.logger.scope("transformer:".concat(g.type||"unknown")).debug("chainMock",{chain:i}),c=y,[2,"continue"];if(void 0!==(null===(f=g.config)||void 0===f?void 0:f.mock))return t.logger.scope("transformer:".concat(g.type||"unknown")).debug("mock"),c=g.config.mock,[2,"continue"];if(null===(d=g.config)||void 0===d?void 0:d.disabled)return[2,"continue"];if(b=null===(_=g.config)||void 0===_?void 0:_.cache,h=b?k(b):void 0,m=h?D(h,t):void 0,x=void 0,h&&m){if(A=j(a,c),"HIT"===(null==(C=O(h,m,A,"t:".concat(o)))?void 0:C.status)&&C.value)return c=C.value,h.full?[2,{v:{event:c,respond:u}}]:[2,"continue"];"MISS"===(null==C?void 0:C.status)&&(x={key:C.key,ttl:C.rule.ttl})}return(P=g.config.before)&&(E=R("string"==typeof P||Array.isArray(P)&&!w(P)?P:xe(Se(P),j(a,c))||void 0,L(n))).length>0?[4,He(t,n,E,c,a,u,i)]:[3,3];case 2:if(null===(I=ie.sent()).event)return[2,{v:{event:null,respond:null!==(q=I.respond)&&void 0!==q?q:u}}];I.respond&&(u=I.respond),c=Array.isArray(I.event)?I.event[0]:I.event,ie.label=3;case 3:return[4,v(M,function(e){return t.logger.scope("transformer:".concat(g.type||"unknown")).error("Push failed",{error:e}),!1})(t,g,o,c,a,u)];case 4:return!1===(U=ie.sent())?[2,{v:{event:null,respond:u}}]:Array.isArray(U)?(K=r.slice(r.indexOf(o)+1),[4,Promise.all(U.map(function(r){return _async_to_generator(function(){var o,s,l,f,d;return _ts_generator(this,function(_){return o=r.event||c,s=a?_object_spread_props(_object_spread({},a),{_meta:_object_spread_props(_object_spread({},a._meta),{path:_to_consumable_array(a._meta.path)})}):e("unknown"),r.next?(l=r.next,w(r.next)&&(f=Se(r.next),l=xe(f,j(s,o))),l&&(d=R(l,L(n))).length>0?[2,He(t,n,d,o,s,u,i)]:[2,{event:o,respond:u}]):[2,K.length>0?He(t,n,K,o,s,u,i):{event:o,respond:u}]})})()}))]):[3,6];case 5:N=ie.sent(),H=u,G=[],B=!0,W=!1,F=void 0;try{for(V=N.flat()[Symbol.iterator]();!(B=(z=V.next()).done);B=!0)if(null!==(J=z.value))if(J&&"object"==(void 0===J?"undefined":_type_of(J))&&"event"in J){if((Q=J).respond&&(H=Q.respond),null===Q.event)continue;Array.isArray(Q.event)?($=G).push.apply($,_to_consumable_array(Q.event)):G.push(Q.event)}else G.push(J)}catch(e){W=!0,F=e}finally{try{B||null==V.return||V.return()}finally{if(W)throw F}}return[2,{v:0===G.length?{event:null,respond:H}:1===G.length?{event:G[0],respond:H}:{event:G,respond:H}}];case 6:if(U&&"object"==(void 0===U?"undefined":_type_of(U))){if(X=U.event,Y=U.respond,Z=U.next,Y&&(u=Y),Z)return ee=Z,!w(Z)||(te=Se(Z),ee=xe(te,j(a,c)))?[2,{v:(ne=R(ee,L(n))).length>0?He(t,n,ne,X||c,a,u,i):(t.logger.warn("Branch target not found: ".concat(JSON.stringify(Z))),{event:null,respond:u})}]:(X&&(c=X),[2,"continue"]);X&&(c=X)}return x&&m&&S(m,x.key,c,x.ttl),(!U||"object"==(void 0===U?"undefined":_type_of(U))&&!U.next)&&g.config.next&&w(g.config.next)?(re=g.config.next,oe=Se(re),(ae=xe(oe,j(a,c)))&&(se=R(ae,L(n))).length>0?[2,{v:He(t,n,se,c,a,u,i)}]:[2,{v:{event:c,respond:u}}]):[2]}})},g=r[Symbol.iterator](),h.label=2;case 2:return(l=(p=g.next()).done)?[3,5]:[5,_ts_values(_())];case 3:if("object"===_type_of(y=h.sent()))return[2,y.v];h.label=4;case 4:return l=!0,[3,2];case 5:return[3,8];case 6:return b=h.sent(),f=!0,d=b,[3,8];case 7:try{l||null==g.return||g.return()}finally{if(f)throw d}return[7];case 8:return[2,{event:c,respond:u}]}})})()}var Ge,Be=function(e){return _async_to_generator(function(){var t,n;return _ts_generator(this,function(r){return n=function(){return function(n){return _async_to_generator(function(){var r,o,a,s,i,c,u,l,f,d,_,g,p;return _ts_generator(this,function(v){switch(v.label){case 0:if(t)return[3,2];if((o=_object_spread({},e)).sources){o.sources=_object_spread({},o.sources),a=!0,s=!1,i=void 0;try{for(c=Object.entries(o.sources)[Symbol.iterator]();!(a=(u=c.next()).done);a=!0)l=_sliced_to_array(u.value,2),f=l[0],d=l[1],(null===(_=d.env)||void 0===_?void 0:_.window)||(o.sources[f]=_object_spread_props(_object_spread({},d),{env:_object_spread_props(_object_spread({},d.env),{window:window})}))}catch(e){s=!0,i=e}finally{try{a||null==c.return||c.return()}finally{if(s)throw i}}}return[4,se(_object_spread_props(_object_spread({},o),{run:null===(r=o.run)||void 0===r||r}))];case 1:g=v.sent(),t={collector:g.collector,elb:g.elb},v.label=2;case 2:return(p=window).dataLayer||(p.dataLayer=[]),p.dataLayer.push(n),[2]}})})()}},[2,{get flow(){return t},trigger:n}]})})()},We=function(e,t){var n=t.window;n.dataLayer||(n.dataLayer=[]),n.dataLayer.push(e)},Fe=function(e){return _async_to_generator(function(){var t,n,r,o,a,s,i,c,u,l;return _ts_generator(this,function(f){return t=e.config,n=e.env,r=n.elb,o=n.window,a=_object_spread({name:"dataLayer",prefix:"dataLayer"},null==t?void 0:t.settings),s={settings:a},i=0,o&&(c=a.name||"dataLayer",u=o[c],i=Array.isArray(u)?u.length:0,function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:globalThis.window,r=t.settings,o=(null==r?void 0:r.name)||"dataLayer";n[o]||(n[o]=[]);var a=n[o];if(Array.isArray(a)){var s=a.push.bind(a);a.push=function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];if(Ae)return s.apply(void 0,_to_consumable_array(n));Ae=!0;try{var a=!0,i=!1,c=void 0;try{for(var u,l=n[Symbol.iterator]();!(a=(u=l.next()).done);a=!0){var f=u.value;C(e,r,f)}}catch(e){i=!0,c=e}finally{try{a||null==l.return||l.return()}finally{if(i)throw c}}}finally{Ae=!1}return s.apply(void 0,_to_consumable_array(n))}}}(r,s,l=o),e.collector.allowed&&i>0&&(A(r,s,i,l),i=0)),[2,{type:"dataLayer",config:s,push:r,on:function(e){return _async_to_generator(function(){return _ts_generator(this,function(t){return"run"===e&&o&&i>0&&(A(r,s,i,o),i=0),[2]})})()},destroy:function(){return _async_to_generator(function(){var e;return _ts_generator(this,function(t){return e=a.name||"dataLayer",o&&o[e]&&Array.isArray(o[e]),[2]})})()}}]})})()},Ve=Fe;return Ge=de,function(e,t,n,r){if(t&&"object"===(void 0===t?"undefined":_type_of(t))||"function"==typeof t){var o=!0,a=!1,s=void 0;try{for(var i,c=function(){var o=i.value;le.call(e,o)||o===n||ie(e,o,{get:function(){return t[o]},enumerable:!(r=ce(t,o))||r.enumerable})},u=ue(t)[Symbol.iterator]();!(o=(i=u.next()).done);o=!0)c()}catch(e){a=!0,s=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw s}}}return e}(ie({},"__esModule",{value:!0}),Ge)}();
1
+ "use strict";function _array_like_to_array(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}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 asyncGeneratorStep(e,t,n,r,o,a,s){try{var i=e[a](s),c=i.value}catch(e){return void n(e)}i.done?t(c):Promise.resolve(c).then(r,o)}function _async_to_generator(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var a=e.apply(t,n);function s(e){asyncGeneratorStep(a,r,o,s,i,"next",e)}function i(e){asyncGeneratorStep(a,r,o,s,i,"throw",e)}s(void 0)})}}function _define_property(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function _instanceof(e,t){return null!=t&&"undefined"!=typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t}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 n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,a=[],s=!0,i=!1;try{for(n=n.call(e);!(s=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);s=!0);}catch(e){i=!0,o=e}finally{try{s||null==n.return||n.return()}finally{if(i)throw o}}return a}}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 n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){_define_property(e,t,n[t])})}return e}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function _object_spread_props(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):ownKeys(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function _object_without_properties(e,t){if(null==e)return{};var n,r,o,a={};if("undefined"!=typeof Reflect&&Reflect.ownKeys){for(n=Reflect.ownKeys(Object(e)),o=0;o<n.length;o++)r=n[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r]);return a}if(a=_object_without_properties_loose(e,t),Object.getOwnPropertySymbols)for(n=Object.getOwnPropertySymbols(e),o=0;o<n.length;o++)r=n[o],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r]);return a}function _object_without_properties_loose(e,t){if(null==e)return{};var n,r,o={},a=Object.getOwnPropertyNames(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n]);return o}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 n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?_array_like_to_array(e,t):void 0}}function _ts_generator(e,t){var n,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(s,"next",{value:c(0)}),i(s,"throw",{value:c(1)}),i(s,"return",{value:c(2)}),"function"==typeof Symbol&&i(s,Symbol.iterator,{value:function(){return this}}),s;function c(i){return function(c){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,i[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}}function _ts_values(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}var Destination=function(){var e=function(e){return{_meta:{hops:0,path:[e]}}},t=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};n=_object_spread({},ve,n);var r=Object.entries(t).reduce(function(t,r){var o=_sliced_to_array(r,2),a=o[0],s=o[1],i=e[a];return n.merge&&Array.isArray(i)&&Array.isArray(s)?t[a]=s.reduce(function(e,t){return e.includes(t)?e:_to_consumable_array(e).concat([t])},_to_consumable_array(i)):(n.extend||a in e)&&(t[a]=s),t},{});return n.shallow?_object_spread({},e,r):(Object.assign(e,r),e)},n=function(e){return Array.isArray(e)},r=function(e){return void 0!==e},o=function(e){return"function"==typeof e},a=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!n(e)&&"[object Object]"===Object.prototype.toString.call(e)},s=function(e){return"string"==typeof e},i=function(e,t,n){if(!a(e))return e;for(var r=ye(e),o=t.split("."),s=r,i=0;i<o.length;i++){var c=o[i];i===o.length-1?s[c]=n:(c in s&&"object"==_type_of(s[c])&&null!==s[c]||(s[c]={}),s=s[c])}return r},c=function(e){var t=_object_spread({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),n={},r=!e||0===Object.keys(e).length;return Object.keys(t).forEach(function(o){t[o]&&(n[o]=!0,e&&e[o]&&(r=!0))}),!!r&&n},u=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6,t=arguments.length>1?arguments[1]:void 0;if(t){for(var n=t.length,r="",o=0;o<e;o++)r+=t[Math.random()*n|0];return r}for(var a="";a.length<e;)a+=(36*Math.random()|0).toString(36);return a},l=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=null,a=!1;return function(){for(var s=arguments.length,i=new Array(s),c=0;c<s;c++)i[c]=arguments[c];return new Promise(function(s){var c=r&&!a;o&&clearTimeout(o),o=setTimeout(function(){o=null,r&&!a||(t=e.apply(void 0,_to_consumable_array(i)),s(t))},n),c&&(a=!0,t=e.apply(void 0,_to_consumable_array(i)),s(t))})}},f=function(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}},d=function(e,t){var n,r={};return _instanceof(e,Error)?(n=e.message,r.error=f(e)):n=e,void 0!==t&&(_instanceof(t,Error)?r.error=f(t):"object"==(void 0===t?"undefined":_type_of(t))&&null!==t?"error"in(r=_object_spread({},r,t))&&_instanceof(r.error,Error)&&(r.error=f(r.error)):r.value=t),{message:n,context:r}},_=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return we({level:void 0!==t.level?(e=t.level,"string"==typeof e?pe[e]:e):0,handler:t.handler,jsonHandler:t.jsonHandler,scope:[]})},g=function(e){return je(e)?e:void 0},p=function(e,t,n){return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];try{return e.apply(void 0,_to_consumable_array(o))}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}},v=function(e,t,n){return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return _async_to_generator(function(){var r;return _ts_generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,4,6]),[4,e.apply(void 0,_to_consumable_array(o))];case 1:case 3:return[2,a.sent()];case 2:return r=a.sent(),t?[4,t(r)]:[2];case 4:return[4,null==n?void 0:n()];case 5:return a.sent(),[7];case 6:return[2]}})})()}},y=function(e,t,r){return _async_to_generator(function(){var o,s,i,c,u,l,f,d,_,g;return _ts_generator(this,function(p){return s=_sliced_to_array((e.name||"").split(" "),2),i=s[0],c=s[1],t&&i&&c?(l="",d=c,_=function(t){if(t)return(n(t)?t:[t]).find(function(t){if(!t.condition)return!0;if(!r)return Boolean(t.condition(e,void 0));var n={event:e,mapping:t,collector:r,logger:r.logger,consent:a(e)&&e.consent||r.consent};return Boolean(t.condition(e,n))})},t[f=i]||(f="*"),[2,((g=t[f])&&(g[d]||(d="*"),u=_(g[d])),u||(f="*",d="*",u=_(null===(o=t[f])||void 0===o?void 0:o[d])),u&&(l="".concat(f," ").concat(d)),{eventMapping:u,mappingKey:l})]):[2,{}]})})()},b=function(e){return _async_to_generator(function(e){var t,o,s,i,c,u,l,f,d,_,g,p,y,b,h,m,w=arguments;return _ts_generator(this,function(j){switch(j.label){case 0:if(t=w.length>1&&void 0!==w[1]?w[1]:{},o=w.length>2&&void 0!==w[2]?w[2]:{},!r(e))return[2];if(c=a(e)&&e.consent||o.consent||(null===(i=o.collector)||void 0===i?void 0:i.consent),u=null!==(s=o.event)&&void 0!==s?s:a(e)?e:{},!o.collector)throw new Error("getMappingValue: context.collector is required");l={event:u,mapping:t,collector:o.collector,logger:o.collector.logger,consent:c},f=n(t)?t:[t],d=!0,_=!1,g=void 0,j.label=1;case 1:j.trys.push([1,6,7,8]),p=f[Symbol.iterator](),j.label=2;case 2:return(d=(y=p.next()).done)?[3,5]:(b=y.value,[4,v(ke)(e,b,_object_spread_props(_object_spread({},l),{mapping:b}))]);case 3:if(h=j.sent(),r(h))return[2,h];j.label=4;case 4:return d=!0,[3,2];case 5:return[3,8];case 6:return m=j.sent(),_=!0,g=m,[3,8];case 7:try{d||null==p.return||p.return()}finally{if(_)throw g}return[7];case 8:return[2]}})}).apply(this,arguments)},h=function(e,n,r){return _async_to_generator(function(){var o,s,c,u,l,f,d,_,g,p,v;return _ts_generator(this,function(h){switch(h.label){case 0:return n.policy?[4,Promise.all(Object.entries(n.policy).map(function(t){var n=_sliced_to_array(t,2),o=n[0],a=n[1];return _async_to_generator(function(){var t;return _ts_generator(this,function(n){switch(n.label){case 0:return[4,b(e,a,{collector:r,event:e})];case 1:return t=n.sent(),e=i(e,o,t),[2]}})})()}))]:[3,2];case 1:h.sent(),h.label=2;case 2:return[4,y(e,n.mapping,r)];case 3:return s=h.sent(),c=s.eventMapping,u=s.mappingKey,(null==c?void 0:c.policy)?[4,Promise.all(Object.entries(c.policy).map(function(t){var n=_sliced_to_array(t,2),o=n[0],a=n[1];return _async_to_generator(function(){var t;return _ts_generator(this,function(n){switch(n.label){case 0:return[4,b(e,a,{collector:r,event:e})];case 1:return t=n.sent(),e=i(e,o,t),[2]}})})()}))]:[3,5];case 4:h.sent(),h.label=5;case 5:return(f=n.data)?[4,b(e,n.data,{collector:r,event:e})]:[3,7];case 6:f=h.sent(),h.label=7;case 7:return l=f,d=Boolean(null==c?void 0:c.silent),c?c.ignore?[2,{event:e,data:l,mapping:c,mappingKey:u,ignore:!0,silent:d}]:(c.name&&(e.name=c.name),c.data?(g=c.data)?[4,b(e,c.data,{collector:r,event:e})]:[3,9]:[3,10]):[3,10];case 8:g=h.sent(),h.label=9;case 9:_=g,l=a(l)&&a(_)?t(l,_):_,h.label=10;case 10:return(p=null!==(o=null==c?void 0:c.include)&&void 0!==o?o:n.include)&&p.length>0&&(v=function(e,t){var n={},r=t.includes("all")?Object.keys(he):t,o=!0,s=!1,i=void 0;try{for(var c,u=r[Symbol.iterator]();!(o=(c=u.next()).done);o=!0){var l=c.value,f=he[l];if(f){var d=f(e),_=!0,g=!1,p=void 0;if(a(d))try{for(var v,y=Object.entries(d)[Symbol.iterator]();!(_=(v=y.next()).done);_=!0){var b=_sliced_to_array(v.value,2),h=b[0],m=b[1];if(void 0!==m){var w="context"===l&&Array.isArray(m)?m[0]:m;n["".concat(l,"_").concat(h)]=w}}}catch(e){g=!0,p=e}finally{try{_||null==y.return||y.return()}finally{if(g)throw p}}}}}catch(e){s=!0,i=e}finally{try{o||null==u.return||u.return()}finally{if(s)throw i}}return n}(e,p),Object.keys(v).length>0&&(l=a(l)?t(v,l):null!=l?l:v)),[2,{event:e,data:l,mapping:c,mappingKey:u,ignore:!1,silent:d}]}})})()},m=function(e,t,n,r){return function(){for(var o=arguments.length,a=new Array(o),s=0;s<o;s++)a[s]=arguments[s];var i,c="pre"+t,u="post"+t,l=n[c],f=n[u],d=function(e,t){r?r.warn(e,{error:t}):console.warn(e,t)};if(l)try{i=l.apply(void 0,[{fn:e}].concat(_to_consumable_array(a)))}catch(t){d("Hook ".concat(String(c)," failed, falling back to original function"),t),i=e.apply(void 0,_to_consumable_array(a))}else i=e.apply(void 0,_to_consumable_array(a));if(f)try{i=f.apply(void 0,[{fn:e,result:i}].concat(_to_consumable_array(a)))}catch(e){d("Hook ".concat(String(u)," failed, keeping original result"),e)}return i}},w=function(e){return Array.isArray(e)&&e.length>0&&"object"==_type_of(e[0])&&null!==e[0]&&"match"in e[0]},j=function(e,t){var n={ingest:null!=e?e:{}};return void 0!==t&&(n.event=t),n},k=function(e){var t;return{full:null!==(t=e.full)&&void 0!==t&&t,storeId:e.store,rules:e.rules.map(function(e){return{match:Oe(e.match),key:e.key,ttl:e.ttl,update:e.update}})}},O=function(e,t,n,r){var o=e.rules.find(function(e){return e.match(n)});if(!o)return null;var a=o.key.map(function(e){var t;return String(null!==(t=be(n,e))&&void 0!==t?t:"")});if(a.every(function(e){return""===e}))return null;var s="".concat(r,":").concat(a.join(":")),i=t.get(s);return void 0!==i?{status:"HIT",key:s,value:i,rule:o}:{status:"MISS",key:s,rule:o}},S=function(e,t,n,r){e.set(t,n,1e3*r)},x=function(e,t,n,r){return _async_to_generator(function(){var o,a,s,c,u,l,f,d,_,g,p;return _ts_generator(this,function(v){switch(v.label){case 0:if(!t)return[2,e];o=e,a=!0,s=!1,c=void 0,v.label=1;case 1:v.trys.push([1,6,7,8]),u=Object.entries(t)[Symbol.iterator](),v.label=2;case 2:return(a=(l=u.next()).done)?[3,5]:(f=_sliced_to_array(l.value,2),d=f[0],_=f[1],g=[o,d],[4,b(n,_,{collector:r})]);case 3:o=i.apply(void 0,g.concat([v.sent()])),v.label=4;case 4:return a=!0,[3,2];case 5:return[3,8];case 6:return p=v.sent(),s=!0,c=p,[3,8];case 7:try{a||null==u.return||u.return()}finally{if(s)throw c}return[7];case 8:return[2,o]}})})()},A=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:globalThis.window,o=t.settings,a=r[(null==o?void 0:o.name)||"dataLayer"];if(Array.isArray(a)&&!Ae){Ae=!0;try{for(var s=null!=n?n:a.length,i=0;i<s;i++)C(e,o,a[i])}finally{Ae=!1}}},C=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;if(t.filter&&!0===p(function(){return t.filter(n)},function(){return!1})())return;var r=P(n);if(r){var o=t.prefix||"dataLayer",a="".concat(o," ").concat(r.name),s=(r.name,{name:a,data:_object_without_properties(r,["name"])});p(function(){return e(s)},function(){})()}},P=function(e){if(a(e)&&s(e.event))return _object_spread({name:e.event},_object_without_properties(e,["event"]));if(n(e)&&e.length>=2)return E(e);if(q(e)){var t=Array.from(e);return E(t)}return null},E=function(e){var t,n=_sliced_to_array(e,3),r=n[0],o=n[1],i=n[2];if(!s(r))return null;var c={};switch(r){case"consent":if(!s(o)||e.length<3)return null;if("default"!==o&&"update"!==o)return null;if(!a(i)||null===i)return null;t="".concat(r," ").concat(o),c=_object_spread({},i);break;case"event":if(!s(o))return null;t=o,a(i)&&(c=_object_spread({},i));break;case"config":if(!s(o))return null;t="".concat(r," ").concat(o),a(i)&&(c=_object_spread({},i));break;case"set":if(s(o))t="".concat(r," ").concat(o),a(i)&&(c=_object_spread({},i));else{if(!a(o))return null;t="".concat(r," custom"),c=_object_spread({},o)}break;default:return null}return _object_spread({name:t},c)},q=function(e){return null!=e&&"object"===(void 0===e?"undefined":_type_of(e))&&"length"in e&&"number"==typeof e.length&&e.length>0},D=function(e,t){return e.storeId&&t.stores[e.storeId]?t.stores[e.storeId]:t.stores.__cache},L=function(e){var t={},n=!0,r=!1,o=void 0;try{for(var a,s=Object.entries(e)[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var i,c=_sliced_to_array(a.value,2),u=c[0],l=null===(i=c[1].config)||void 0===i?void 0:i.next;l&&!w(l)?t[u]={next:l}:t[u]={}}}catch(e){r=!0,o=e}finally{try{n||null==s.return||s.return()}finally{if(r)throw o}}return t},I=function(e,t){var n=e.config||{},r=e[t];return void 0!==r?{config:_object_spread_props(_object_spread({},n),_define_property({},t,r)),chainValue:r}:{config:n,chainValue:void 0}},R=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return[];if(Array.isArray(e))return e;for(var n=[],r=new Set,o=e;o&&t[o]&&!r.has(o);){r.add(o),n.push(o);var a=t[o].next;if(Array.isArray(a)){var s;(s=n).push.apply(s,_to_consumable_array(a));break}o=a}return n},T=function(t,n,r){return _async_to_generator(function(){var o,a,s,i;return _ts_generator(this,function(c){switch(c.label){case 0:return!n.init||n.config.init?[3,2]:(o=n.type||"unknown",a=t.logger.scope("transformer:".concat(o)),s={collector:t,logger:a,id:r,ingest:e(r),config:n.config,env:U(n.config.env)},a.debug("init"),[4,m(n.init,"TransformerInit",t.hooks,t.logger)(s)]);case 1:if(!1===(i=c.sent()))return[2,!1];n.config=_object_spread_props(_object_spread({},i||n.config),{env:(null==i?void 0:i.env)||n.config.env,init:!0}),a.debug("init done"),c.label=2;case 2:return[2,!0]}})})()},M=function(e,t,n,r,o,a){return _async_to_generator(function(){var s,i,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:return s=t.type||"unknown",i=e.logger.scope("transformer:".concat(s)),c={collector:e,logger:i,id:n,ingest:o,config:t.config,env:_object_spread({},U(t.config.env),a?{respond:a}:{})},i.debug("push",{event:r.name}),[4,m(t.push,"TransformerPush",e.hooks,e.logger)(r,c)];case 1:return u=l.sent(),[2,(i.debug("push done"),u)]}})})()},U=function(e){return e&&a(e)?e:{}},K=function(t,n,r){return _async_to_generator(function(){var o,a,s,i,c,u,l,f,d,_,g,p,y,h,m,A,C,P,E,q,I,T,M;return _ts_generator(this,function(U){switch(U.label){case 0:return a=r.code,s=r.config,i=void 0===s?{}:s,c=r.env,u=void 0===c?{}:c,l=r.primary,f=r.next,d=r.before,_=r.cache,p=e(n),y=_?k(_object_spread_props(_object_spread({},_),{full:null===(o=_.full)||void 0===o||o})):void 0,h=Se(f),m=Array.isArray(f)&&w(f)||!h?void 0:R(xe(h),L(t.transformers)),A=Se(d),C=Array.isArray(d)&&w(d)||!A?void 0:R(xe(A),L(t.transformers)),P=t.logger.scope("source").scope(n),E=_object_spread({push:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _async_to_generator(function(){var o,a,s,c,u,l,f,d,_,v,b,w,k,P,E;return _ts_generator(this,function(q){switch(q.label){case 0:return a=e,(s=null!=C?C:A?R(xe(A,j(p)),L(t.transformers)):[]).length>0&&t.transformers&&Object.keys(t.transformers).length>0?[4,He(t,t.transformers,s,a,p,g,"source.".concat(n,".before"))]:[3,2];case 1:if(null===(c=q.sent()).event)return[2,{ok:!0}];c.respond&&(g=c.respond),a=Array.isArray(c.event)?c.event[0]:c.event,q.label=2;case 2:return y&&(u=D(y,t))?(l=j(p),(f=O(y,u,l,"s:".concat(n)))?"HIT"===f.status&&void 0!==f.value&&y.full?(d=f.value,f.rule.update?[4,x(d,f.rule.update,_object_spread_props(_object_spread({},l),{cache:{status:"HIT"}}),t)]:[3,4]):[3,5]:[3,6]):[3,6];case 3:d=q.sent(),q.label=4;case 4:return[2,(null==g||g(d),{ok:!0})];case 5:"MISS"===f.status&&y.full&&g&&(_=g,v=f.rule.update,b=_object_spread_props(_object_spread({},l),{cache:{status:"MISS"}}),w=f.key,k=f.rule.ttl,g=function(e){S(u,w,e,k),v?o=_async_to_generator(function(){var n;return _ts_generator(this,function(r){switch(r.label){case 0:return[4,x(e,v,b,t)];case 1:return n=r.sent(),_(n),[2]}})})():_(e)}),"MISS"!==f.status||y.full||S(u,f.key,!0,f.rule.ttl),q.label=6;case 6:return P=null!=m?m:h?R(xe(h,j(p)),L(t.transformers)):[],[4,t.push(a,_object_spread_props(_object_spread({},r),{id:n,ingest:p,respond:g,mapping:i,preChain:P}))];case 7:return E=q.sent(),o?[4,o]:[3,9];case 8:q.sent(),q.label=9;case 9:return[2,E]}})})()},command:t.command,sources:t.sources,elb:t.sources.elb.push,logger:P},u),q={collector:t,logger:P,id:n,config:i,env:E,setIngest:function(r){return _async_to_generator(function(){var o,a;return _ts_generator(this,function(s){switch(s.label){case 0:return i.ingest?[4,b(r,i.ingest,{collector:t})]:[2,void(p=e(n))];case 1:return o=s.sent(),a=e(n),p=_object_spread_props(_object_spread({},a,o),{_meta:a._meta}),[2]}})})()},setRespond:function(e){g=e}},[4,v(a)(q)];case 1:return(I=U.sent())?(T=I.type||"unknown",M=t.logger.scope(T).scope(n),[2,(E.logger=M,l&&(I.config=_object_spread_props(_object_spread({},I.config),{primary:l})),I)]):[2]}})})()},N=function(e){return _async_to_generator(function(e){var t,n,r,o,a,s,i,c,u,l,f,d,_,g,p=arguments;return _ts_generator(this,function(v){switch(v.label){case 0:t=p.length>1&&void 0!==p[1]?p[1]:{},n={},r=!0,o=!1,a=void 0,v.label=1;case 1:v.trys.push([1,6,7,8]),s=Object.entries(t)[Symbol.iterator](),v.label=2;case 2:return(r=(i=s.next()).done)?[3,5]:(c=_sliced_to_array(i.value,2),u=c[0],l=c[1],f=l.config,(d=void 0===f?{}:f).require&&d.require.length>0?(e.pending.sources[u]=l,[3,4]):[4,K(e,u,l)]);case 3:(_=v.sent())&&(n[u]=_),v.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return g=v.sent(),o=!0,a=g,[3,8];case 7:try{r||null==s.return||s.return()}finally{if(o)throw a}return[7];case 8:return[2,n]}})}).apply(this,arguments)},H=function(e,t){return{collector:e,logger:e.logger.scope("on").scope(String(t))}},G=function(e,t,r){return _async_to_generator(function(){var o,a,s;return _ts_generator(this,function(i){return o=e.on,a=o[t]||[],(s=n(r)?r:[r]).forEach(function(e){a.push(e)}),o[t]=a,W(e,t,s),[2]})})()},B=function(e,t,n,r,o){if(t.on){var a=t.type||"unknown",s=e.logger.scope(a).scope("on").scope(r),i={collector:e,logger:s,id:n,config:t.config,data:o,env:ee(t.env,t.config.env)};p(t.on)(r,i)}},W=function(e,t,n,r){var o,a,s,i,c;switch(t){case Ne.Commands.Consent:o=r||e.consent;break;case Ne.Commands.Session:o=e.session;break;case Ne.Commands.User:o=r||e.user;break;case Ne.Commands.Custom:o=r||e.custom;break;case Ne.Commands.Globals:o=r||e.globals;break;case Ne.Commands.Config:o=r||e.config;break;case Ne.Commands.Ready:case Ne.Commands.Run:default:o=void 0}if(n.length)switch(t){case Ne.Commands.Consent:a=e,s=n,i=r||a.consent,c=H(a,Ne.Commands.Consent),s.forEach(function(e){Object.keys(i).filter(function(t){return t in e}).forEach(function(t){p(e[t])(i,c)})});break;case Ne.Commands.Ready:!function(e,t){if(e.allowed){var n=H(e,Ne.Commands.Ready);t.forEach(function(e){p(e)(void 0,n)})}}(e,n);break;case Ne.Commands.Run:!function(e,t){if(e.allowed){var n=H(e,Ne.Commands.Run);t.forEach(function(e){p(e)(void 0,n)})}}(e,n);break;case Ne.Commands.Session:!function(e,t){if(e.session){var n=H(e,Ne.Commands.Session);t.forEach(function(t){p(t)(e.session,n)})}}(e,n);break;default:var u=H(e,t);n.forEach(function(e){"function"==typeof e&&p(e)(o,u)})}},F=function(e,t,n,r){return _async_to_generator(function(){var o,a,s,i,c,u,l,f,d,_,g;return _ts_generator(this,function(p){switch(p.label){case 0:switch(a=n||[],n||(a=e.on[t]||[]),t){case Ne.Commands.Consent:o=r||e.consent;break;case Ne.Commands.Session:o=e.session;break;case Ne.Commands.User:o=r||e.user;break;case Ne.Commands.Custom:o=r||e.custom;break;case Ne.Commands.Globals:o=r||e.globals;break;case Ne.Commands.Config:o=r||e.config;break;case Ne.Commands.Ready:case Ne.Commands.Run:default:o=void 0}s=!1,i=!0,c=!1,u=void 0,p.label=1;case 1:p.trys.push([1,6,7,8]),l=Object.values(e.sources)[Symbol.iterator](),p.label=2;case 2:return(i=(f=l.next()).done)?[3,5]:(d=f.value).on?(_=!1,[4,v(d.on)(t,o)]):[3,4];case 3:_===p.sent()&&(s=!0),p.label=4;case 4:return i=!0,[3,2];case 5:return[3,8];case 6:return g=p.sent(),c=!0,u=g,[3,8];case 7:try{i||null==l.return||l.return()}finally{if(c)throw u}return[7];case 8:return Object.entries(e.destinations).forEach(function(n){var r=_sliced_to_array(n,2),a=r[0],s=r[1];if(s.on){if(!s.config.init)return s.queueOn=s.queueOn||[],void s.queueOn.push({type:t,data:o});B(e,s,a,t,o)}}),Object.keys(e.pending.sources).length>0||Object.keys(e.pending.destinations).length>0?[4,(y=e,b=t,_async_to_generator(function(){var e,t,n,r,o,a,s,i,c,u,l,f,d,_,g,p,v,h,m,w,j,k,O,S,x;return _ts_generator(this,function(A){switch(A.label){case 0:e=!0,t=!1,n=void 0,A.label=1;case 1:A.trys.push([1,6,7,8]),r=Object.entries(y.pending.sources)[Symbol.iterator](),A.label=2;case 2:return(e=(o=r.next()).done)?[3,5]:(a=_sliced_to_array(o.value,2),s=a[0],i=a[1],!y.pending.sources[s]||y.sources[s]?[3,4]:(u=null===(c=i.config)||void 0===c?void 0:c.require)?-1===(l=u.indexOf(b))?[3,4]:(u.splice(l,1),u.length>0?[3,4]:(delete y.pending.sources[s],[4,K(y,s,i)])):[3,4]);case 3:(f=A.sent())&&(y.sources[s]=f),A.label=4;case 4:return e=!0,[3,2];case 5:return[3,8];case 6:return d=A.sent(),t=!0,n=d,[3,8];case 7:try{e||null==r.return||r.return()}finally{if(t)throw n}return[7];case 8:_=!0,g=!1,p=void 0;try{for(v=Object.entries(y.pending.destinations)[Symbol.iterator]();!(_=(h=v.next()).done);_=!0)m=_sliced_to_array(h.value,2),w=m[0],j=m[1],y.pending.destinations[w]&&!y.destinations[w]&&(O=null===(k=j.config)||void 0===k?void 0:k.require)&&-1!==(S=O.indexOf(b))&&(O.splice(S,1),O.length>0||(delete y.pending.destinations[w],!1!==(x=Y(j)).config.queue&&(x.queuePush=_to_consumable_array(y.queue)),y.destinations[w]=x))}catch(e){g=!0,p=e}finally{try{_||null==v.return||v.return()}finally{if(g)throw p}}return[2]}})})())]:[3,10];case 9:p.sent(),p.label=10;case 10:return[2,(W(e,t,a,r),!s)]}var y,b})})()},V=function(e,t,n,r){if(!e)return[];if(t){var o=xe(t,j(r));return o?R(o,L(n)):[]}return R(e,L(n))},z=function(e,t,n){return _async_to_generator(function(){var r,a,s,i,c,l,f,d,_,g,p,v;return _ts_generator(this,function(y){if(r=t.code,a=t.config,s=void 0===a?{}:a,i=t.env,c=void 0===i?{}:i,l=t.before,f=t.next,d=t.cache,!o(r.push))return[2,X({ok:!1,failed:{invalid:{type:"invalid",error:"Destination code must have a push method"}}})];if(_=n||s||{init:!1},g=l?_object_spread_props(_object_spread({},_),{before:l}):_object_spread({},_),f&&(g=_object_spread_props(_object_spread({},g),{next:f})),d&&(g=_object_spread_props(_object_spread({},g),{cache:d})),p=_object_spread_props(_object_spread({},r),{config:g,env:ee(r.env,c)}),!(v=p.config.id))do{v=u(5,"abcdefghijklmnopqrstuvwxyz")}while(e.destinations[v]);return[2,(e.destinations[v]=p,!1!==p.config.queue&&(p.queuePush=_to_consumable_array(e.queue)),J(e,void 0,{},_define_property({},v,p)))]})})()},J=function(n,r,o){return _async_to_generator(function(n,r){var o,a,s,i,u,l,f,d,_,g,p,y,b,h,m,x,A,C,P,E=arguments;return _ts_generator(this,function(q){switch(q.label){case 0:return o=E.length>2&&void 0!==E[2]?E[2]:{},a=E.length>3?E[3]:void 0,s=n.allowed,i=n.consent,u=n.globals,l=n.user,s?(r&&(n.queue.push(r),n.status.in++),a||(a=n.destinations),[4,Promise.all(Object.entries(a||{}).map(function(a){var s=_sliced_to_array(a,2),f=s[0],d=s[1];return _async_to_generator(function(){var a,s,_,g,p,y,b,h,m,x,A,C,P,E,q,L,I,R,T;return _ts_generator(this,function(M){switch(M.label){case 0:return d.config.disabled?[2,{id:f,destination:d,skipped:!0}]:(p=(d.queuePush||[]).map(function(e){return _object_spread_props(_object_spread({},e),{consent:i})}),d.queuePush=[],r&&p.push(ye(r)),y=o.ingest?_object_spread_props(_object_spread({},o.ingest),{_meta:_object_spread_props(_object_spread({},o.ingest._meta),{path:_to_consumable_array(o.ingest._meta.path)})}):e("unknown"),p.length||(null===(s=d.queueOn)||void 0===s?void 0:s.length)?p.length||!(null===(_=d.queueOn)||void 0===_?void 0:_.length)?[3,2]:[4,v($)(n,d,f)]:[2,{id:f,destination:d,skipped:!0}]);case 1:return b=M.sent(),[2,{id:f,destination:d,skipped:!b}];case 2:return h=[],m=p.filter(function(e){var t=c(d.config.consent,i,e.consent);return!t||(e.consent=t,h.push(e),!1)}),(a=d.queuePush).push.apply(a,_to_consumable_array(m)),h.length?[4,v($)(n,d,f)]:[2,{id:f,destination:d,queue:p}];case 3:return M.sent()?(d.dlq||(d.dlq=[]),C=d.config.before,P=V(C,C&&w(C)?Se(C):void 0,n.transformers,y),E=d.config.next,q=E&&w(E)?Se(E):void 0,L=null===(g=d.config)||void 0===g?void 0:g.cache,I=L?k(L):void 0,R=I?D(I,n):void 0,T=0,[4,Promise.all(h.map(function(e){return _async_to_generator(function(){var r,a,s,i,c,_,g,p,b,h,m,w,k;return _ts_generator(this,function(C){switch(C.label){case 0:if(e.globals=t(u,e.globals),e.user=t(l,e.user),(null==I?void 0:I.full)&&R){if(a=j(y,e),"HIT"===(null==(s=O(I,R,a,"d:".concat(f)))?void 0:s.status))return[2,e];"MISS"===(null==s?void 0:s.status)&&(r={key:s.key,ttl:s.rule.ttl})}return i=e,c=o.respond,P.length>0&&n.transformers&&Object.keys(n.transformers).length>0?[4,He(n,n.transformers,P,e,y,o.respond,"destination.".concat(f,".before"))]:[3,2];case 1:if(null===(_=C.sent()).event)return[2,e];_.respond&&(c=_.respond),i=Array.isArray(_.event)?_.event[0]:_.event,C.label=2;case 2:if(I&&!I.full&&R){if(g=j(y,i),"HIT"===(null==(p=O(I,R,g,"d:".concat(f)))?void 0:p.status))return[2,e];"MISS"===(null==p?void 0:p.status)&&(r={key:p.key,ttl:p.rule.ttl})}return b=Date.now(),h=!1,[4,v(Q,function(e){var t=d.type||"unknown";n.logger.scope(t).error("Push failed",{error:e,event:i.name}),x=e,h=!0,d.dlq.push([i,e])})(n,d,f,i,y,c)];case 3:return m=C.sent(),T+=Date.now()-b,r&&R&&void 0===d.config.mock&&S(R,r.key,null==m||m,r.ttl),void 0!==m&&(A=m),h||!E?[3,5]:(void 0!==m&&(y._response=m),(w=V(E,q,n.transformers,y)).length>0&&n.transformers&&Object.keys(n.transformers).length>0?[4,He(n,n.transformers,w,i,y,c,"destination.".concat(f,".next"))]:[3,5]);case 4:(k=C.sent()).respond&&(c=k.respond),C.label=5;case 5:return[2,e]}})})()}))]):[2,{id:f,destination:d,queue:p}];case 4:return[2,(M.sent(),{id:f,destination:d,error:x,response:A,totalDuration:T})]}})})()}))]):[2,X({ok:!1})];case 1:f=q.sent(),d={},_={},g={},p=!0,y=!1,b=void 0;try{for(h=f[Symbol.iterator]();!(p=(m=h.next()).done);p=!0)(x=m.value).skipped||(A={type:x.destination.type||"unknown",data:x.response},n.status.destinations[x.id]||(n.status.destinations[x.id]={count:0,failed:0,duration:0}),C=n.status.destinations[x.id],P=Date.now(),x.error?(A.error=x.error,g[x.id]=A,C.failed++,C.lastAt=P,C.duration+=x.totalDuration||0,n.status.failed++):x.queue&&x.queue.length?_[x.id]=A:(d[x.id]=A,C.count++,C.lastAt=P,C.duration+=x.totalDuration||0,n.status.out++))}catch(e){y=!0,b=e}finally{try{p||null==h.return||h.return()}finally{if(y)throw b}}return[2,X(_object_spread({event:r},Object.keys(d).length&&{done:d},Object.keys(_).length&&{queued:_},Object.keys(g).length&&{failed:g}))]}})}).apply(this,arguments)},$=function(e,t,n){return _async_to_generator(function(){var r,o,a,s,i,c,u,l,f,d,_,g,p,v;return _ts_generator(this,function(y){switch(y.label){case 0:return!t.init||t.config.init?[3,2]:(o=t.type||"unknown",a=e.logger.scope(o),s={collector:e,logger:a,id:n,config:t.config,env:ee(t.env,t.config.env)},a.debug("init"),[4,m(t.init,"DestinationInit",e.hooks,e.logger)(s)]);case 1:if(!1===(i=y.sent()))return[2,i];if(t.config=_object_spread_props(_object_spread({},i||t.config),{init:!0}),null===(r=t.queueOn)||void 0===r?void 0:r.length){c=t.queueOn,t.queueOn=[],u=!0,l=!1,f=void 0;try{for(d=c[Symbol.iterator]();!(u=(_=d.next()).done);u=!0)g=_.value,p=g.type,v=g.data,B(e,t,n,p,v)}catch(e){l=!0,f=e}finally{try{u||null==d.return||d.return()}finally{if(l)throw f}}}a.debug("init done"),y.label=2;case 2:return[2,!0]}})})()},Q=function(e,t,n,o,a,s){return _async_to_generator(function(){var i,c,u,f,d,_,g,p,v,y;return _ts_generator(this,function(b){switch(b.label){case 0:return i=t.config,[4,h(o,i,e)];case 1:return(c=b.sent()).ignore?[2,!1]:(u=t.type||"unknown",f=e.logger.scope(u),d={collector:e,logger:f,id:n,config:i,data:c.data,rule:c.mapping,ingest:a,env:_object_spread({},ee(t.env,i.env),s?{respond:s}:{})},void 0!==i.mock?[2,(f.debug("mock",{event:c.event.name}),i.mock)]:(_=c.mapping,g=c.mappingKey||"* *",(null==_?void 0:_.batch)&&t.pushBatch&&void 0===i.mock?[3,3]:(f.debug("push",{event:c.event.name}),[4,m(t.push,"DestinationPush",e.hooks,e.logger)(c.event,d)])));case 2:return p=b.sent(),[2,(f.debug("push done"),p)];case 3:return t.batches=t.batches||{},t.batches[g]||(v={key:g,events:[],data:[]},t.batches[g]={batched:v,batchFn:l(function(){var r=t.batches[g].batched,o={collector:e,logger:f,id:n,config:i,data:void 0,rule:_,ingest:a,env:_object_spread({},ee(t.env,i.env),s?{respond:s}:{})};f.debug("push batch",{events:r.events.length}),m(t.pushBatch,"DestinationPushBatch",e.hooks,e.logger)(r,o),f.debug("push batch done"),r.events=[],r.data=[]},_.batch)}),(y=t.batches[g]).batched.events.push(c.event),r(c.data)&&y.batched.data.push(c.data),y.batchFn(),[2,!0]}})})()},X=function(e){return _object_spread({ok:!(null==e?void 0:e.failed)},e)},Y=function(e){var t=e.code,n=e.config,r=void 0===n?{}:n,o=e.env,a=void 0===o?{}:o,s=e.cache,i=I(e,"before").config,c=I(_object_spread_props(_object_spread({},e),{config:i}),"next").config,u=_object_spread({},t.config,r,c);s&&(u.cache=s);var l=ee(t.env,a);return _object_spread_props(_object_spread({},t),{config:u,env:l})},Z=function(e){return _async_to_generator(function(e){var t,n,r,o,a,s,i,c,u,l,f,d,_=arguments;return _ts_generator(this,function(g){t=_.length>1&&void 0!==_[1]?_[1]:{},o={},a=!0,s=!1,i=void 0;try{for(c=Object.entries(t)[Symbol.iterator]();!(a=(u=c.next()).done);a=!0)l=_sliced_to_array(u.value,2),f=l[0],d=l[1],(null===(r=d.config)||void 0===r||null===(n=r.require)||void 0===n?void 0:n.length)?e.pending.destinations[f]=d:o[f]=Y(d)}catch(e){s=!0,i=e}finally{try{a||null==c.return||c.return()}finally{if(s)throw i}}return[2,o]})}).apply(this,arguments)},ee=function(e,t){return e||t?t?e&&a(e)&&a(t)?_object_spread({},e,t):t:e:{}},te=function(e,t,n){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){switch(o.label){case 0:return r=Object.entries(e).map(function(e){var r=_sliced_to_array(e,2),o=r[0],a=r[1];return _async_to_generator(function(){var e,r,s,i,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:if(!(r=a.destroy))return[2];s=a.type||"unknown",i=n.scope(s),c={id:o,config:a.config,env:null!==(e=a.env)&&void 0!==e?e:{},logger:i},l.label=1;case 1:return l.trys.push([1,3,,4]),[4,Promise.race([r(c),new Promise(function(e,n){return setTimeout(function(){return n(new Error("".concat(t," '").concat(o,"' destroy timed out")))},5e3)})])];case 2:return l.sent(),[3,4];case 3:return u=l.sent(),i.error("".concat(t," '").concat(o,"' destroy failed: ").concat(u)),[3,4];case 4:return[2]}})})()}),[4,Promise.allSettled(r)];case 1:return o.sent(),[2]}})})()},ne=function(e,n,r,i){return _async_to_generator(function(){var c,u,l,f,d,_,g;return _ts_generator(this,function(p){switch(p.label){case 0:switch(l=!1,n){case Ne.Commands.Config:return[3,1];case Ne.Commands.Consent:return[3,2];case Ne.Commands.Custom:return[3,3];case Ne.Commands.Destination:return[3,4];case Ne.Commands.Globals:return[3,11];case Ne.Commands.On:return[3,12];case Ne.Commands.Ready:return[3,15];case Ne.Commands.Run:return[3,16];case Ne.Commands.Session:return[3,18];case Ne.Commands.Shutdown:return[3,19];case Ne.Commands.User:return[3,21]}return[3,22];case 1:return a(r)&&(t(e.config,r,{shallow:!1}),u=r,l=!0),[3,22];case 2:return a(r)&&(f=function(e,n){var r={};return Object.entries(n).forEach(function(e){var t=_sliced_to_array(e,2),n=t[0],o=t[1];r[n]=!!o}),e.consent=t(e.consent,r),{update:r}}(e,r),d=f.update,u=d,l=!0),[3,22];case 3:return a(r)&&(e.custom=t(e.custom,r),u=r,l=!0),[3,22];case 4:return a(r)?"code"in r&&a(r.code)?[4,z(e,r,i)]:[3,6]:[3,10];case 5:return _=c=p.sent(),[3,9];case 6:return(g=o(r.push))?[4,z(e,{code:r},i)]:[3,8];case 7:g=c=p.sent(),p.label=8;case 8:_=g,p.label=9;case 9:p.label=10;case 10:return[3,22];case 11:return a(r)&&(e.globals=t(e.globals,r),u=r,l=!0),[3,22];case 12:return s(r)?[4,G(e,r,i)]:[3,14];case 13:p.sent(),p.label=14;case 14:return[3,22];case 15:return l=!0,[3,22];case 16:return[4,oe(e,r)];case 17:return c=p.sent(),l=!0,[3,22];case 18:return l=!0,[3,22];case 19:return[4,(v=e,_async_to_generator(function(){var e;return _ts_generator(this,function(t){switch(t.label){case 0:return e=v.logger,[4,te(v.sources,"source",e)];case 1:return t.sent(),[4,te(v.destinations,"destination",e)];case 2:return t.sent(),[4,te(v.transformers,"transformer",e)];case 3:return t.sent(),[4,te(v.stores,"store",e)];case 4:return t.sent(),[2]}})})())];case 20:return p.sent(),[3,22];case 21:a(r)&&(t(e.user,r,{shallow:!1}),u=r,l=!0),p.label=22;case 22:return l?[4,F(e,n,void 0,u)]:[3,25];case 23:return p.sent(),[4,J(e)];case 24:c=p.sent(),p.label=25;case 25:return[2,c||X({ok:!0})]}var v})})()},re=function(e,t){if(!t.name)throw new Error("Event name is required");var n=_sliced_to_array(t.name.split(" "),2),r=n[0],o=n[1];if(!r||!o)throw new Error("Event name is invalid");var a=t.timestamp,s=void 0===a?Date.now():a,i=t.name,c=void 0===i?"".concat(r," ").concat(o):i,u=t.data,l=void 0===u?{}:u,f=t.context,d=void 0===f?{}:f,_=t.globals,g=void 0===_?e.globals:_,p=t.custom,v=void 0===p?{}:p,y=t.user,b=void 0===y?e.user:y,h=t.nested,m=void 0===h?[]:h,w=t.consent,j=void 0===w?e.consent:w,k=t.id,O=void 0===k?function(){for(var e="",t=0;t<16;t++)e+=(16*Math.random()|0).toString(16);return e}():k,S=t.trigger,x=void 0===S?"":S,A=t.entity,C=void 0===A?r:A,P=t.action,E=void 0===P?o:P,q=t.timing,D=void 0===q?0:q,L=t.source;return{name:c,data:l,context:d,globals:g,custom:v,user:b,nested:m,consent:j,id:O,trigger:x,entity:C,action:E,timestamp:s,timing:D,source:void 0===L?{type:"collector",schema:"4"}:L}},oe=function(e,n){return _async_to_generator(function(){return _ts_generator(this,function(r){switch(r.label){case 0:return e.allowed=!0,e.timing=Date.now(),n&&(n.consent&&(e.consent=t(e.consent,n.consent)),n.user&&(e.user=t(e.user,n.user)),n.globals&&(e.globals=t(e.config.globalsStatic||{},n.globals)),n.custom&&(e.custom=t(e.custom,n.custom))),Object.values(e.destinations).forEach(function(e){e.queuePush=[]}),e.queue=[],e.round++,[4,J(e)];case 1:return[2,r.sent()]}})})()},ae=function(n){return _async_to_generator(function(){var r,o,a,s,i,u,l,f,d;return _ts_generator(this,function(g){switch(g.label){case 0:return a=t({globalsStatic:{},sessionStatic:{},run:!0},n,{merge:!1,extend:!1}),s={level:null===(r=n.logger)||void 0===r?void 0:r.level,handler:null===(o=n.logger)||void 0===o?void 0:o.handler},i=_(s),u=_object_spread({},a.globalsStatic,n.globals),(l={allowed:!1,config:a,consent:n.consent||{},custom:n.custom||{},destinations:{},transformers:{},stores:{},globals:u,hooks:n.hooks||{},logger:i,on:{},queue:[],round:0,session:void 0,status:{startedAt:Date.now(),in:0,out:0,failed:0,sources:{},destinations:{}},timing:Date.now(),user:n.user||{},sources:{},pending:{sources:{},destinations:{}},push:void 0,command:void 0}).push=function(t,n){return m(function(r){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _async_to_generator(function(){return _ts_generator(this,function(a){switch(a.label){case 0:return[4,v(function(){return _async_to_generator(function(){var a,s,i,u,l,f,d,_,g,p,v,y,b,m,w,j,k,O,S,x,A;return _ts_generator(this,function(C){switch(C.label){case 0:return a=Date.now(),s=o.id,i=o.ingest,u=o.respond,l=o.mapping,f=o.preChain,d=o.include,_=o.exclude,g=u,p=r,v=d||_?function(e,t,n){var r=e;return t&&(r=Object.fromEntries(Object.entries(r).filter(function(e){var n=_sliced_to_array(e,1)[0];return t.includes(n)}))),n&&(r=Object.fromEntries(Object.entries(r).filter(function(e){var t=_sliced_to_array(e,1)[0];return!n.includes(t)}))),r}(t.destinations,d,_):void 0,y=null!=i?i:e(s||"unknown"),l?[4,h(p,l,t)]:[3,2];case 1:if((b=C.sent()).ignore)return[2,X({ok:!0})];if(l.consent&&!c(l.consent,t.consent,b.event.consent))return[2,X({ok:!0})];p=b.event,C.label=2;case 2:return(null==f?void 0:f.length)&&t.transformers&&Object.keys(t.transformers).length>0?[4,He(t,t.transformers,f,p,y,g,s?"source.".concat(s,".next"):void 0)]:[3,6];case 3:return null===(m=C.sent()).event?[2,X({ok:!0})]:(m.respond&&(g=m.respond),Array.isArray(m.event)?[4,Promise.all(m.event.map(function(e){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(a){return r=n(e),o=re(t,r),[2,J(t,o,{id:s,ingest:y,respond:g},v)]})})()}))]:[3,5]);case 4:return j=C.sent(),s&&(t.status.sources[s]||(t.status.sources[s]={count:0,duration:0}),(k=t.status.sources[s]).count+=m.event.length,k.lastAt=Date.now(),k.duration+=Date.now()-a),[2,null!==(w=j[0])&&void 0!==w?w:X({ok:!0})];case 5:p=m.event,C.label=6;case 6:return O=n(p),S=re(t,O),[4,J(t,S,{id:s,ingest:y,respond:g},v)];case 7:return x=C.sent(),s&&(t.status.sources[s]||(t.status.sources[s]={count:0,duration:0}),(A=t.status.sources[s]).count++,A.lastAt=Date.now(),A.duration+=Date.now()-a),[2,x]}})})()},function(){return X({ok:!1})})()];case 1:return[2,a.sent()]}})})()},"Push",t.hooks,t.logger)}(l,function(e){return _object_spread({timing:Math.round((Date.now()-l.timing)/10)/100,source:{type:"collector",schema:"4",version:"4.0.1-next-1778068549946"}},e)}),l.command=function(e,t){return m(function(n,r,o){return _async_to_generator(function(){return _ts_generator(this,function(a){switch(a.label){case 0:return[4,v(function(){return _async_to_generator(function(){return _ts_generator(this,function(a){switch(a.label){case 0:return[4,t(e,n,r,o)];case 1:return[2,a.sent()]}})})()},function(){return X({ok:!1})})()];case 1:return[2,a.sent()]}})})()},"Command",e.hooks,e.logger)}(l,ne),f=n.stores||{},[4,function(e){return _async_to_generator(function(e){var t,n,r,o,a,s,i,c,u,l,f,d,_,g,p,v,y,b,h,w,j,k=arguments;return _ts_generator(this,function(O){switch(O.label){case 0:t=k.length>1&&void 0!==k[1]?k[1]:{},n={},r=!0,o=!1,a=void 0,O.label=1;case 1:O.trys.push([1,6,7,8]),s=Object.entries(t)[Symbol.iterator](),O.label=2;case 2:return(r=(i=s.next()).done)?[3,5]:(c=_sliced_to_array(i.value,2),u=c[0],l=c[1],f=l.code,d=l.config,_=void 0===d?{}:d,g=l.env,p=void 0===g?{}:g,v=e.logger.scope("store").scope(u),[4,f({collector:e,logger:v,id:u,config:_,env:p})]);case 3:y=O.sent(),b=y.get,h=y.set,w=y.delete,y.get=m(b,"StoreGet",e.hooks,e.logger),y.set=m(h,"StoreSet",e.hooks,e.logger),y.delete=m(w,"StoreDelete",e.hooks,e.logger),n[u]=y,O.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return j=O.sent(),o=!0,a=j,[3,8];case 7:try{r||null==s.return||s.return()}finally{if(o)throw a}return[7];case 8:return[2,n]}})}).apply(this,arguments)}(l,f)];case 1:return l.stores=g.sent(),function(e,t,n){var r=new Map,o=!0,a=!1,s=void 0;try{for(var i,c=Object.entries(e)[Symbol.iterator]();!(o=(i=c.next()).done);o=!0){var u=_sliced_to_array(i.value,2),l=u[0],f=u[1];t[l]&&r.set(f,t[l])}}catch(e){a=!0,s=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw s}}if(0!==r.size)for(var d=!0,_=!1,g=void 0,p=0,v=[n.transformers,n.destinations,n.sources];p<v.length;p++){var y=v[p];if(y)try{for(var b,h=Object.values(y)[Symbol.iterator]();!(d=(b=h.next()).done);d=!0){m(b.value.env)}}catch(e){_=!0,g=e}finally{try{d||null==h.return||h.return()}finally{if(_)throw g}}}function m(e){if(e){var t=!0,n=!1,o=void 0;try{for(var a,s=Object.entries(e)[Symbol.iterator]();!(t=(a=s.next()).done);t=!0){var i=_sliced_to_array(a.value,2),c=i[0],u=i[1];if("object"==(void 0===u?"undefined":_type_of(u))&&null!==u){var l=r.get(u);l&&(e[c]=l)}}}catch(e){n=!0,o=e}finally{try{t||null==s.return||s.return()}finally{if(n)throw o}}}}}(f,l.stores,n),l.stores.__cache||(d=new Map,l.stores.__cache={type:"memory",config:{},get:function(e){var t=d.get(e);if(t){if(!(t.expires&&Date.now()>t.expires))return t.value;d.delete(e)}},set:function(e,t,n){d.set(e,{value:t,expires:n?Date.now()+n:void 0})},delete:function(e){d.delete(e)}}),[4,Z(l,n.destinations||{})];case 2:return l.destinations=g.sent(),[4,function(t){return _async_to_generator(function(t){var n,r,o,a,s,i,c,u,l,f,d,_,g,p,v,y,b,h,m,w,j,k,O,S,x=arguments;return _ts_generator(this,function(A){switch(A.label){case 0:n=x.length>1&&void 0!==x[1]?x[1]:{},r={},o=!0,a=!1,s=void 0,A.label=1;case 1:A.trys.push([1,6,7,8]),i=Object.entries(n)[Symbol.iterator](),A.label=2;case 2:return(o=(c=i.next()).done)?[3,5]:(u=_sliced_to_array(c.value,2),l=u[0],f=u[1],d=f.code,_=f.env,g=void 0===_?{}:_,p=I(f,"before"),v=p.config,y=I(_object_spread_props(_object_spread({},f),{config:v}),"next"),b=y.config,h=Object.keys(g).length>0?_object_spread_props(_object_spread({},b),{env:g}):b,m=f.cache,w=m?_object_spread_props(_object_spread({},h),{cache:m}):h,j=t.logger.scope("transformer").scope(l),k={collector:t,logger:j,id:l,ingest:e(l),config:w,env:g},[4,d(k)]);case 3:O=A.sent(),r[l]=O,A.label=4;case 4:return o=!0,[3,2];case 5:return[3,8];case 6:return S=A.sent(),a=!0,s=S,[3,8];case 7:try{o||null==i.return||i.return()}finally{if(a)throw s}return[7];case 8:return[2,r]}})}).apply(this,arguments)}(l,n.transformers||{})];case 3:return[2,(l.transformers=g.sent(),l)]}})})()},se=function(e){return _async_to_generator(function(){var t,n,r,o,a,s,i,c,u,l,f;return _ts_generator(this,function(d){switch(d.label){case 0:return[4,ae(e=e||{})];case 1:return t=d.sent(),r=t,n={type:"elb",config:{},push:function(e,t,n,o,a,s){return _async_to_generator(function(){var i,c;return _ts_generator(this,function(u){if("string"==typeof e&&e.startsWith("walker "))return i=e.replace("walker ",""),[2,r.command(i,t,n)];if("string"==typeof e)c={name:e},t&&"object"==(void 0===t?"undefined":_type_of(t))&&!Array.isArray(t)&&(c.data=t);else{if(!e||"object"!=(void 0===e?"undefined":_type_of(e)))return[2,X({ok:!1})];c=e,t&&"object"==(void 0===t?"undefined":_type_of(t))&&!Array.isArray(t)&&(c.data=_object_spread({},c.data||{},t))}return[2,(o&&"object"==(void 0===o?"undefined":_type_of(o))&&(c.context=o),a&&Array.isArray(a)&&(c.nested=a),s&&"object"==(void 0===s?"undefined":_type_of(s))&&(c.custom=s),r.push(c))]})})()}},t.sources.elb=n,[4,N(t,e.sources||{})];case 2:return o=d.sent(),Object.assign(t.sources,o),a=e.consent,s=e.user,i=e.globals,c=e.custom,a?[4,t.command("consent",a)]:[3,4];case 3:d.sent(),d.label=4;case 4:return s?[4,t.command("user",s)]:[3,6];case 5:d.sent(),d.label=6;case 6:return i&&Object.assign(t.globals,i),c&&Object.assign(t.custom,c),t.config.run?[4,t.command("run")]:[3,8];case 7:d.sent(),d.label=8;case 8:return u=n.push,l=Object.values(t.sources).filter(function(e){return"elb"!==e.type}),[2,((f=l.find(function(e){return e.config.primary}))?u=f.push:l.length>0&&(u=l[0].push),{collector:t,elb:u})]}})})()},ie=Object.defineProperty,ce=Object.getOwnPropertyDescriptor,ue=Object.getOwnPropertyNames,le=Object.prototype.hasOwnProperty,fe=function(e,t){for(var n in t)ie(e,n,{get:t[n],enumerable:!0})},de={};fe(de,{SourceDataLayer:function(){return Ce},createTrigger:function(){return Be},default:function(){return Ve},env:function(){return Pe},sourceDataLayer:function(){return Fe},step:function(){return Ie},trigger:function(){return We}});var _e=Object.defineProperty;!function(e,t){for(var n in t)_e(e,n,{get:t[n],enumerable:!0})}({},{Level:function(){return pe}});var ge,pe=((ge=pe||{})[ge.ERROR=0]="ERROR",ge[ge.WARN=1]="WARN",ge[ge.INFO=2]="INFO",ge[ge.DEBUG=3]="DEBUG",ge),ve={merge:!0,shallow:!0,extend:!0};function ye(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new WeakMap;if("object"!=(void 0===e?"undefined":_type_of(e))||null===e)return e;if(t.has(e))return t.get(e);var n=Object.prototype.toString.call(e);if("[object Object]"===n){var r={};for(var o in t.set(e,r),e)Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=ye(e[o],t));return r}if("[object Array]"===n){var a=[];return t.set(e,a),e.forEach(function(e){a.push(ye(e,t))}),a}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){var s=e;return new RegExp(s.source,s.flags)}return e}function be(e){for(var t=arguments.length>2?arguments[2]:void 0,o=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"").split("."),a=e,s=0;s<o.length;s++){var i=o[s];if("*"===i&&n(a)){var c=o.slice(s+1).join("."),u=[],l=!0,f=!1,d=void 0;try{for(var _,g=a[Symbol.iterator]();!(l=(_=g.next()).done);l=!0){var p=be(_.value,c,t);u.push(p)}}catch(e){f=!0,d=e}finally{try{l||null==g.return||g.return()}finally{if(f)throw d}}return u}if(void 0===(a=_instanceof(a,Object)?a[i]:void 0))break}return r(a)?a:t}var he={data:function(e){return e.data},globals:function(e){return e.globals},context:function(e){return e.context},user:function(e){return e.user},source:function(e){return e.source},event:function(e){return{entity:e.entity,action:e.action,id:e.id,timestamp:e.timestamp,name:e.name,trigger:e.trigger,timing:e.timing}}},me=function(e,t,n,r){var o="".concat(pe[e]).concat(r.length>0?" [".concat(r.join(":"),"]"):""),a=Object.keys(n).length>0,s=0===e?console.error:1===e?console.warn:console.log;a?s(o,t,n):s(o,t)};function we(e){var t=e.level,n=e.handler,r=e.jsonHandler,o=e.scope,a=function(e,r,a){if(e<=t){var s=d(r,a);n?n(e,s.message,s.context,o,me):me(e,s.message,s.context,o)}};return{error:function(e,t){return a(0,e,t)},warn:function(e,t){return a(1,e,t)},info:function(e,t){return a(2,e,t)},debug:function(e,t){return a(3,e,t)},throw:function(e,t){var r=d(e,t);throw n?n(0,r.message,r.context,o,me):me(0,r.message,r.context,o),new Error(r.message)},json:function(e){r?r(e):console.log(JSON.stringify(e,null,2))},scope:function(e){return we({level:t,handler:n,jsonHandler:r,scope:_to_consumable_array(o).concat([e])})}}}function je(e){return function(e){return"boolean"==typeof e}(e)||s(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!r(e)||n(e)&&e.every(je)||a(e)&&Object.values(e).every(je)}function ke(e,t,o){return _async_to_generator(function(){return _ts_generator(this,function(a){return[2,(n(t)?t:[t]).reduce(function(t,a){return _async_to_generator(function(){var i,u,l,f,d,_,p,y,h,m,w,j,k,O,S,x,A,C,P,E,q,D;return _ts_generator(this,function(L){switch(L.label){case 0:return[4,t];case 1:return(i=L.sent())?[2,i]:(u=s(a)?{key:a}:a,Object.keys(u).length?(l=u.condition,f=u.consent,d=u.fn,_=u.key,p=u.loop,y=u.map,h=u.set,m=u.validate,w=u.value,j=_object_spread_props(_object_spread({},o),{mapping:a}),(k=l)?[4,v(l)(e,j)]:[3,3]):[2]);case 2:k=!L.sent(),L.label=3;case 3:return k?[2]:f&&!c(f,j.consent)?[2,w]:(O=r(w)?w:e,d?[4,v(d)(e,j)]:[3,5]);case 4:O=L.sent(),L.label=5;case 5:return _&&(O=be(e,_,w)),p?(S=_sliced_to_array(p,2),x=S[0],A=S[1],"this"!==x?[3,6]:(P=[e],[3,8])):[3,11];case 6:return[4,b(e,x,j)];case 7:P=L.sent(),L.label=8;case 8:return n(C=P)?[4,Promise.all(C.map(function(e){return b(e,A,j)}))]:[3,10];case 9:O=L.sent().filter(r),L.label=10;case 10:return[3,17];case 11:return y?[4,Object.entries(y).reduce(function(t,n){var o=_sliced_to_array(n,2),a=o[0],s=o[1];return _async_to_generator(function(){var n,o;return _ts_generator(this,function(i){switch(i.label){case 0:return[4,t];case 1:return n=i.sent(),[4,b(e,s,j)];case 2:return o=i.sent(),[2,(r(o)&&(n[a]=o),n)]}})})()},Promise.resolve({}))]:[3,13];case 12:return O=L.sent(),[3,16];case 13:return(E=h)?[4,Promise.all(h.map(function(t){return ke(e,t,j)}))]:[3,15];case 14:E=O=L.sent(),L.label=15;case 15:L.label=16;case 16:L.label=17;case 17:return(q=m)?[4,v(m)(O,j)]:[3,19];case 18:q=!L.sent(),L.label=19;case 19:return q&&(O=void 0),D=g(O),[2,r(D)?D:g(w)]}})})()},Promise.resolve(void 0))]})})()}function Oe(e){if("*"===e)return function(){return!0};if("and"in e){var t=e.and.map(Oe);return function(e){return t.every(function(t){return t(e)})}}if("or"in e){var n=e.or.map(Oe);return function(e){return n.some(function(t){return t(e)})}}return function(e){var t=e.key,n=e.operator,r=e.value,o=e.not,a=function(e,t){switch(e){case"eq":return function(e){return String(null!=e?e:"")===t};case"contains":return function(e){return String(null!=e?e:"").includes(t)};case"prefix":return function(e){return String(null!=e?e:"").startsWith(t)};case"suffix":return function(e){return String(null!=e?e:"").endsWith(t)};case"regex":var n=new RegExp(t);return function(e){return n.test(String(null!=e?e:""))};case"gt":var r=Number(t);return function(e){return Number(e)>r};case"lt":var o=Number(t);return function(e){return Number(e)<o};case"exists":return function(e){return null!=e}}}(n,r);return function(e){var n=be(e,t),r=a(n);return o?!r:r}}(e)}function Se(e){if(null!=e){if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;return w(e)?{type:"routes",routes:e.map(function(e){return{match:Oe(e.match),next:Se(e.next)}})}:{type:"chain",value:e}}}}function xe(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e){if("static"===e.type)return e.value;if("chain"===e.type)return e.value;var n=!0,r=!1,o=void 0;try{for(var a,s=e.routes[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var i=a.value;if(i.match(t))return xe(i.next,t)}}catch(e){r=!0,o=e}finally{try{n||null==s.return||s.return()}finally{if(r)throw o}}}}var Ae=!1,Ce={},Pe={};fe(Pe,{push:function(){return Le}});var Ee=function(){},qe=function(){return function(){return Promise.resolve({ok:!0})}},De={error:Ee,warn:Ee,info:Ee,debug:Ee,throw:function(e){throw"string"==typeof e?new Error(e):e},json:Ee,scope:function(){return De}},Le={get push(){return qe()},get command(){return qe()},get elb(){return qe()},get window(){return{dataLayer:[],addEventListener:Ee,removeEventListener:Ee}},logger:De},Ie={};fe(Ie,{consentUpdate:function(){return Te},directEvent:function(){return Ke},gtagAddToCart:function(){return Me},gtagPurchase:function(){return Re},gtagViewItem:function(){return Ue}});var Re={title:"gtag purchase",description:"A gtag purchase call pushed to the dataLayer is captured as a walker dataLayer purchase event with item details.",trigger:{type:"gtag"},in:["event","purchase",{transaction_id:"T-12345",value:25.42,currency:"EUR",items:[{item_id:"SKU-1",item_name:"T-Shirt",quantity:1}]}],out:[["elb",{name:"dataLayer purchase",data:{transaction_id:"T-12345",value:25.42,currency:"EUR",items:[{item_id:"SKU-1",item_name:"T-Shirt",quantity:1}]}}]]},Te={title:"Consent update",description:"A gtag consent update is captured from the dataLayer as a walker dataLayer consent update event.",trigger:{type:"gtag"},in:["consent","update",{ad_storage:"granted",analytics_storage:"granted"}],out:[["elb",{name:"dataLayer consent update",data:{ad_storage:"granted",analytics_storage:"granted"}}]]},Me={title:"gtag add_to_cart",description:"A gtag add_to_cart call pushed to the dataLayer is captured as a walker dataLayer add_to_cart event.",trigger:{type:"gtag"},in:["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"T-Shirt",item_variant:"red",quantity:1,price:15.25}]}],out:[["elb",{name:"dataLayer add_to_cart",data:{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"T-Shirt",item_variant:"red",quantity:1,price:15.25}]}}]]},Ue={title:"gtag view_item",description:"A gtag view_item call pushed to the dataLayer is captured as a walker dataLayer view_item event with item data.",trigger:{type:"gtag"},in:["event","view_item",{currency:"EUR",value:29.99,items:[{item_id:"SKU_67890",item_name:"Sneakers",item_category:"Footwear",price:29.99}]}],out:[["elb",{name:"dataLayer view_item",data:{currency:"EUR",value:29.99,items:[{item_id:"SKU_67890",item_name:"Sneakers",item_category:"Footwear",price:29.99}]}}]]},Ke={title:"Direct dataLayer event",description:"A plain object pushed directly onto the dataLayer is captured as a walker dataLayer custom event.",trigger:{type:"direct"},in:{event:"custom_event",category:"engagement",label:"video_play"},out:[["elb",{name:"dataLayer custom_event",data:{category:"engagement",label:"video_play"}}]]},Ne={Commands:{Action:"action",Actions:"actions",Config:"config",Consent:"consent",Context:"context",Custom:"custom",Destination:"destination",Elb:"elb",Globals:"globals",Hook:"hook",Init:"init",Link:"link",On:"on",Prefix:"data-elb",Ready:"ready",Run:"run",Session:"session",Shutdown:"shutdown",User:"user",Walker:"walker"},Utils:{Storage:{Cookie:"cookie",Local:"local",Session:"session"}}};function He(t,n,r,o,a,s,i){return _async_to_generator(function(){var c,u,l,f,d,_,g,p,y,b;return _ts_generator(this,function(h){switch(h.label){case 0:i&&(null==a?void 0:a._meta)&&(a._meta.chainPath=i),c=o,u=s,l=!0,f=!1,d=void 0,h.label=1;case 1:h.trys.push([1,6,7,8]),_=function(){var o,s,l,f,d,_,g,y,b,h,m,x,A,C,P,E,q,I,U,K,N,H,G,B,W,F,V,z,J,$,Q,X,Y,Z,ee,te,ne,re,oe,ae,se;return _ts_generator(this,function(ie){switch(ie.label){case 0:return o=p.value,(g=n[o])?a&&a._meta&&a._meta.path.length>256?[2,{v:(t.logger.error("Max path length exceeded at ".concat(o)),{event:null,respond:u})}]:(a&&a._meta&&(a._meta.hops++,a._meta.path.push(o)),[4,v(T)(t,g,o)]):(t.logger.warn("Transformer not found: ".concat(o)),[2,"continue"]);case 1:if(!ie.sent())return[2,{v:(t.logger.error("Transformer init failed: ".concat(o)),{event:null,respond:u})}];if(i&&void 0!==(null===(l=g.config)||void 0===l||null===(s=l.chainMocks)||void 0===s?void 0:s[i]))return y=g.config.chainMocks[i],t.logger.scope("transformer:".concat(g.type||"unknown")).debug("chainMock",{chain:i}),c=y,[2,"continue"];if(void 0!==(null===(f=g.config)||void 0===f?void 0:f.mock))return t.logger.scope("transformer:".concat(g.type||"unknown")).debug("mock"),c=g.config.mock,[2,"continue"];if(null===(d=g.config)||void 0===d?void 0:d.disabled)return[2,"continue"];if(b=null===(_=g.config)||void 0===_?void 0:_.cache,h=b?k(b):void 0,m=h?D(h,t):void 0,x=void 0,h&&m){if(A=j(a,c),"HIT"===(null==(C=O(h,m,A,"t:".concat(o)))?void 0:C.status)&&C.value)return c=C.value,h.full?[2,{v:{event:c,respond:u}}]:[2,"continue"];"MISS"===(null==C?void 0:C.status)&&(x={key:C.key,ttl:C.rule.ttl})}return(P=g.config.before)&&(E=R("string"==typeof P||Array.isArray(P)&&!w(P)?P:xe(Se(P),j(a,c))||void 0,L(n))).length>0?[4,He(t,n,E,c,a,u,i)]:[3,3];case 2:if(null===(I=ie.sent()).event)return[2,{v:{event:null,respond:null!==(q=I.respond)&&void 0!==q?q:u}}];I.respond&&(u=I.respond),c=Array.isArray(I.event)?I.event[0]:I.event,ie.label=3;case 3:return[4,v(M,function(e){return t.logger.scope("transformer:".concat(g.type||"unknown")).error("Push failed",{error:e}),!1})(t,g,o,c,a,u)];case 4:return!1===(U=ie.sent())?[2,{v:{event:null,respond:u}}]:Array.isArray(U)?(K=r.slice(r.indexOf(o)+1),[4,Promise.all(U.map(function(r){return _async_to_generator(function(){var o,s,l,f,d;return _ts_generator(this,function(_){return o=r.event||c,s=a?_object_spread_props(_object_spread({},a),{_meta:_object_spread_props(_object_spread({},a._meta),{path:_to_consumable_array(a._meta.path)})}):e("unknown"),r.next?(l=r.next,w(r.next)&&(f=Se(r.next),l=xe(f,j(s,o))),l&&(d=R(l,L(n))).length>0?[2,He(t,n,d,o,s,u,i)]:[2,{event:o,respond:u}]):[2,K.length>0?He(t,n,K,o,s,u,i):{event:o,respond:u}]})})()}))]):[3,6];case 5:N=ie.sent(),H=u,G=[],B=!0,W=!1,F=void 0;try{for(V=N.flat()[Symbol.iterator]();!(B=(z=V.next()).done);B=!0)if(null!==(J=z.value))if(J&&"object"==(void 0===J?"undefined":_type_of(J))&&"event"in J){if((Q=J).respond&&(H=Q.respond),null===Q.event)continue;Array.isArray(Q.event)?($=G).push.apply($,_to_consumable_array(Q.event)):G.push(Q.event)}else G.push(J)}catch(e){W=!0,F=e}finally{try{B||null==V.return||V.return()}finally{if(W)throw F}}return[2,{v:0===G.length?{event:null,respond:H}:1===G.length?{event:G[0],respond:H}:{event:G,respond:H}}];case 6:if(U&&"object"==(void 0===U?"undefined":_type_of(U))){if(X=U.event,Y=U.respond,Z=U.next,Y&&(u=Y),Z)return ee=Z,!w(Z)||(te=Se(Z),ee=xe(te,j(a,c)))?[2,{v:(ne=R(ee,L(n))).length>0?He(t,n,ne,X||c,a,u,i):(t.logger.warn("Branch target not found: ".concat(JSON.stringify(Z))),{event:null,respond:u})}]:(X&&(c=X),[2,"continue"]);X&&(c=X)}return x&&m&&S(m,x.key,c,x.ttl),(!U||"object"==(void 0===U?"undefined":_type_of(U))&&!U.next)&&g.config.next&&w(g.config.next)?(re=g.config.next,oe=Se(re),(ae=xe(oe,j(a,c)))&&(se=R(ae,L(n))).length>0?[2,{v:He(t,n,se,c,a,u,i)}]:[2,{v:{event:c,respond:u}}]):[2]}})},g=r[Symbol.iterator](),h.label=2;case 2:return(l=(p=g.next()).done)?[3,5]:[5,_ts_values(_())];case 3:if("object"===_type_of(y=h.sent()))return[2,y.v];h.label=4;case 4:return l=!0,[3,2];case 5:return[3,8];case 6:return b=h.sent(),f=!0,d=b,[3,8];case 7:try{l||null==g.return||g.return()}finally{if(f)throw d}return[7];case 8:return[2,{event:c,respond:u}]}})})()}var Ge,Be=function(e){return _async_to_generator(function(){var t,n;return _ts_generator(this,function(r){return n=function(){return function(n){return _async_to_generator(function(){var r,o,a,s,i,c,u,l,f,d,_,g,p;return _ts_generator(this,function(v){switch(v.label){case 0:if(t)return[3,2];if((o=_object_spread({},e)).sources){o.sources=_object_spread({},o.sources),a=!0,s=!1,i=void 0;try{for(c=Object.entries(o.sources)[Symbol.iterator]();!(a=(u=c.next()).done);a=!0)l=_sliced_to_array(u.value,2),f=l[0],d=l[1],(null===(_=d.env)||void 0===_?void 0:_.window)||(o.sources[f]=_object_spread_props(_object_spread({},d),{env:_object_spread_props(_object_spread({},d.env),{window:window})}))}catch(e){s=!0,i=e}finally{try{a||null==c.return||c.return()}finally{if(s)throw i}}}return[4,se(_object_spread_props(_object_spread({},o),{run:null===(r=o.run)||void 0===r||r}))];case 1:g=v.sent(),t={collector:g.collector,elb:g.elb},v.label=2;case 2:return(p=window).dataLayer||(p.dataLayer=[]),p.dataLayer.push(n),[2]}})})()}},[2,{get flow(){return t},trigger:n}]})})()},We=function(e,t){var n=t.window;n.dataLayer||(n.dataLayer=[]),n.dataLayer.push(e)},Fe=function(e){return _async_to_generator(function(){var t,n,r,o,a,s,i,c,u,l;return _ts_generator(this,function(f){return t=e.config,n=e.env,r=n.elb,o=n.window,a=_object_spread({name:"dataLayer",prefix:"dataLayer"},null==t?void 0:t.settings),s={settings:a},i=0,o&&(c=a.name||"dataLayer",u=o[c],i=Array.isArray(u)?u.length:0,function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:globalThis.window,r=t.settings,o=(null==r?void 0:r.name)||"dataLayer";n[o]||(n[o]=[]);var a=n[o];if(Array.isArray(a)){var s=a.push.bind(a);a.push=function(){for(var t=arguments.length,n=new Array(t),o=0;o<t;o++)n[o]=arguments[o];if(Ae)return s.apply(void 0,_to_consumable_array(n));Ae=!0;try{var a=!0,i=!1,c=void 0;try{for(var u,l=n[Symbol.iterator]();!(a=(u=l.next()).done);a=!0){var f=u.value;C(e,r,f)}}catch(e){i=!0,c=e}finally{try{a||null==l.return||l.return()}finally{if(i)throw c}}}finally{Ae=!1}return s.apply(void 0,_to_consumable_array(n))}}}(r,s,l=o),e.collector.allowed&&i>0&&(A(r,s,i,l),i=0)),[2,{type:"dataLayer",config:s,push:r,on:function(e){return _async_to_generator(function(){return _ts_generator(this,function(t){return"run"===e&&o&&i>0&&(A(r,s,i,o),i=0),[2]})})()},destroy:function(){return _async_to_generator(function(){var e;return _ts_generator(this,function(t){return e=a.name||"dataLayer",o&&o[e]&&Array.isArray(o[e]),[2]})})()}}]})})()},Ve=Fe;return Ge=de,function(e,t,n,r){if(t&&"object"===(void 0===t?"undefined":_type_of(t))||"function"==typeof t){var o=!0,a=!1,s=void 0;try{for(var i,c=function(){var o=i.value;le.call(e,o)||o===n||ie(e,o,{get:function(){return t[o]},enumerable:!(r=ce(t,o))||r.enumerable})},u=ue(t)[Symbol.iterator]();!(o=(i=u.next()).done);o=!0)c()}catch(e){a=!0,s=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw s}}}return e}(ie({},"__esModule",{value:!0}),Ge)}();
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$meta": {
3
3
  "package": "@walkeros/web-source-datalayer",
4
- "version": "4.0.0",
4
+ "version": "4.0.1-next-1778068549946",
5
5
  "type": "source",
6
6
  "platform": [
7
7
  "web"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@walkeros/web-source-datalayer",
3
3
  "description": "DataLayer source for walkerOS",
4
- "version": "4.0.0",
4
+ "version": "4.0.1-next-1778068549946",
5
5
  "license": "MIT",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.mjs",
@@ -37,8 +37,8 @@
37
37
  "update": "npx npm-check-updates -u && npm update"
38
38
  },
39
39
  "dependencies": {
40
- "@walkeros/core": "4.0.0",
41
- "@walkeros/collector": "4.0.0"
40
+ "@walkeros/core": "4.0.1-next-1778068549946",
41
+ "@walkeros/collector": "4.0.1-next-1778068549946"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@types/gtag.js": "^0.0.20"