@walkeros/walker.js 0.1.1 → 0.2.0
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.
- package/CHANGELOG.md +27 -0
- package/dist/index.es5.js +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/walker.js +1 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# @walkeros/walker.js
|
|
2
2
|
|
|
3
|
+
## 0.2.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- env
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies
|
|
12
|
+
- @walkeros/web-source-datalayer@0.2.0
|
|
13
|
+
- @walkeros/web-source-browser@0.2.0
|
|
14
|
+
- @walkeros/collector@0.2.0
|
|
15
|
+
- @walkeros/web-core@0.2.0
|
|
16
|
+
- @walkeros/core@0.2.0
|
|
17
|
+
|
|
18
|
+
## 0.1.2
|
|
19
|
+
|
|
20
|
+
### Patch Changes
|
|
21
|
+
|
|
22
|
+
- a0ced16: env
|
|
23
|
+
- Updated dependencies [a0ced16]
|
|
24
|
+
- @walkeros/web-source-datalayer@0.1.2
|
|
25
|
+
- @walkeros/web-source-browser@0.1.2
|
|
26
|
+
- @walkeros/collector@0.1.2
|
|
27
|
+
- @walkeros/web-core@0.1.2
|
|
28
|
+
- @walkeros/core@0.1.2
|
|
29
|
+
|
|
3
30
|
## 0.1.1
|
|
4
31
|
|
|
5
32
|
### Patch Changes
|
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,i){try{var c=e[a](i),s=c.value}catch(e){return void n(e)}c.done?t(s):Promise.resolve(s).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 i(e){asyncGeneratorStep(a,r,o,i,c,"next",e)}function c(e){asyncGeneratorStep(a,r,o,i,c,"throw",e)}i(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=[],i=!0,c=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){c=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(c)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=_object_without_properties_loose(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(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 _object_without_properties_loose(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(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_array(e){return _array_with_holes(e)||_iterable_to_array(e)||_unsupported_iterable_to_array(e)||_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:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=c(0),i.throw=c(1),i.return=c(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(c){return function(s){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,s])}}}var Walkerjs=function(){var e,t,n=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({},Xe,n);var r=Object.entries(t).reduce(function(t,r){var o=_sliced_to_array(r,2),a=o[0],i=o[1],c=e[a];return n.merge&&Array.isArray(c)&&Array.isArray(i)?t[a]=i.reduce(function(e,t){return e.includes(t)?e:_to_consumable_array(e).concat([t])},_to_consumable_array(c)):(n.extend||a in e)&&(t[a]=i),t},{});return n.shallow?_object_spread({},e,r):(Object.assign(e,r),e)},r=function(e){return Array.isArray(e)},o=function(e){return void 0!==e},a=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!r(e)&&"[object Object]"===Object.prototype.toString.call(e)},i=function(e){return"string"==typeof e},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=void 0===e;return Object.keys(t).forEach(function(o){t[o]&&(n[o]=!0,e&&e[o]&&(r=!0))}),!!r&&n},s=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6,t="";t.length<e;)t+=(36*Math.random()|0).toString(36);return t},u=function(e){return Be(e)?e:void 0},l=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()}}},d=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]}})})()}},f=function(e,t){return _async_to_generator(function(){var n,o,a,i,c,s,u,l,d,f;return _ts_generator(this,function(_){return o=_sliced_to_array((e.name||"").split(" "),2),a=o[0],i=o[1],t&&a&&i?(s="",l=i,d=function(t){if(t)return(t=r(t)?t:[t]).find(function(t){return!t.condition||t.condition(e)})},t[u=a]||(u="*"),[2,((f=t[u])&&(f[l]||(l="*"),c=d(f[l])),c||(u="*",l="*",c=d(null===(n=t[u])||void 0===n?void 0:n[l])),c&&(s="".concat(u," ").concat(l)),{eventMapping:c,mappingKey:s})]):[2,{}]})})()},_=function(e){return _async_to_generator(function(e){var t,n,i,c,s,u,l,f,_,p,v,g,y,m=arguments;return _ts_generator(this,function(b){switch(b.label){case 0:if(t=m.length>1&&void 0!==m[1]?m[1]:{},n=m.length>2&&void 0!==m[2]?m[2]:{},!o(e))return[2];c=a(e)&&e.consent||n.consent||(null===(i=n.collector)||void 0===i?void 0:i.consent),s=r(t)?t:[t],u=!0,l=!1,f=void 0,b.label=1;case 1:b.trys.push([1,6,7,8]),_=s[Symbol.iterator](),b.label=2;case 2:return(u=(p=_.next()).done)?[3,5]:(v=p.value,[4,d(Fe)(e,v,_object_spread_props(_object_spread({},n),{consent:c}))]);case 3:if(g=b.sent(),o(g))return[2,g];b.label=4;case 4:return u=!0,[3,2];case 5:return[3,8];case 6:return y=b.sent(),l=!0,f=y,[3,8];case 7:try{u||null==_.return||_.return()}finally{if(l)throw f}return[7];case 8:return[2]}})}).apply(this,arguments)},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];var i,c="post"+t,s=n["pre"+t],u=n[c];return i=s?s.apply(void 0,[{fn:e}].concat(_to_consumable_array(o))):e.apply(void 0,_to_consumable_array(o)),u&&(i=u.apply(void 0,[{fn:e,result:i}].concat(_to_consumable_array(o)))),i}},v=function(e,t,n,r){var o,a,i,c,s=n||[];switch(n||(s=e.on[t]||[]),t){case Qe.Commands.Consent:o=r||e.consent;break;case Qe.Commands.Session:o=e.session;break;case Qe.Commands.Ready:case Qe.Commands.Run:default:o=void 0}if(Object.values(e.sources).forEach(function(e){e.on&&l(e.on)(t,o)}),Object.values(e.destinations).forEach(function(e){e.on&&l(e.on)(t,o)}),s.length)switch(t){case Qe.Commands.Consent:a=e,i=s,c=r||a.consent,i.forEach(function(e){Object.keys(c).filter(function(t){return t in e}).forEach(function(t){l(e[t])(a,c)})});break;case Qe.Commands.Ready:case Qe.Commands.Run:!function(e,t){e.allowed&&t.forEach(function(t){l(t)(e)})}(e,s);break;case Qe.Commands.Session:!function(e,t){e.session&&t.forEach(function(t){l(t)(e,e.session)})}(e,s)}},g=function(e,t,o,c){return _async_to_generator(function(){var s,u;return _ts_generator(this,function(l){switch(l.label){case 0:switch(t){case Qe.Commands.Config:return[3,1];case Qe.Commands.Consent:return[3,2];case Qe.Commands.Custom:return[3,5];case Qe.Commands.Destination:return[3,6];case Qe.Commands.Globals:return[3,9];case Qe.Commands.On:return[3,10];case Qe.Commands.Ready:return[3,11];case Qe.Commands.Run:return[3,12];case Qe.Commands.Session:return[3,14];case Qe.Commands.User:return[3,15]}return[3,16];case 1:return a(o)&&n(e.config,o,{shallow:!1}),[3,16];case 2:return a(o)?[4,x(e,o)]:[3,4];case 3:s=l.sent(),l.label=4;case 4:return[3,16];case 5:return a(o)&&(e.custom=n(e.custom,o)),[3,16];case 6:return u=a(o)&&function(e){return"function"==typeof e}(o.push),u?[4,b(e,{code:o},c)]:[3,8];case 7:u=s=l.sent(),l.label=8;case 8:return[3,16];case 9:return a(o)&&(e.globals=n(e.globals,o)),[3,16];case 10:return i(o)&&function(e,t,n){var o=e.on,a=o[t]||[],i=r(n)?n:[n];i.forEach(function(e){a.push(e)}),o[t]=a,v(e,t,i)}(e,o,c),[3,16];case 11:return v(e,"ready"),[3,16];case 12:return[4,m(e,o)];case 13:return s=l.sent(),[3,16];case 14:return v(e,"session"),[3,16];case 15:a(o)&&n(e.user,o,{shallow:!1}),l.label=16;case 16:return[2,s||{ok:!0,successful:[],queued:[],failed:[]}]}})})()},y=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=function(e,t){return(void 0===e?"undefined":_type_of(e))==(void 0===t?"undefined":_type_of(t))}(t,"")?_object_spread({name:t},n):_object_spread({},n,t||{});if(!r.name)throw new Error("Event name is required");var o=_sliced_to_array(r.name.split(" "),2),a=o[0],i=o[1];if(!a||!i)throw new Error("Event name is invalid");if(a===Ye.Walker)return{command:i};++e.count;var c=r.timestamp,s=void 0===c?Date.now():c,u=r.group,l=void 0===u?e.group:u,d=r.count,f=void 0===d?e.count:d,_=r.name,p=void 0===_?"".concat(a," ").concat(i):_,v=r.data,g=void 0===v?{}:v,y=r.context,m=void 0===y?{}:y,b=r.globals,h=void 0===b?e.globals:b,w=r.custom,k=void 0===w?{}:w,j=r.user,S=void 0===j?e.user:j,O=r.nested,x=void 0===O?[]:O,C=r.consent,A=void 0===C?e.consent:C,E=r.id,P=void 0===E?"".concat(s,"-").concat(l,"-").concat(f):E,L=r.trigger,q=void 0===L?"":L,D=r.entity,I=void 0===D?a:D,U=r.action,R=void 0===U?i:U,N=r.timing,W=void 0===N?0:N,M=r.version,X=void 0===M?{source:e.version,tagging:e.config.tagging||0}:M,T=r.source;return{event:{name:p,data:g,context:m,globals:h,custom:k,user:S,nested:x,consent:A,id:P,trigger:q,entity:I,action:R,timestamp:s,timing:W,group:l,count:f,version:X,source:void 0===T?{type:"collector",id:"",previous_id:""}:T}}},m=function(e,t){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){switch(o.label){case 0:return e.allowed=!0,e.count=0,e.group=s(),e.timing=Date.now(),t&&(t.consent&&(e.consent=n(e.consent,t.consent)),t.user&&(e.user=n(e.user,t.user)),t.globals&&(e.globals=n(e.config.globalsStatic||{},t.globals)),t.custom&&(e.custom=n(e.custom,t.custom))),Object.values(e.destinations).forEach(function(e){e.queue=[]}),e.queue=[],e.round++,[4,h(e)];case 1:return r=o.sent(),[2,(v(e,"run"),r)]}})})()},b=function(e,t,n){return _async_to_generator(function(){var r,o,a,i,c,u,l,d;return _ts_generator(this,function(f){if(r=t.code,o=t.config,a=void 0===o?{}:o,i=t.env,c=void 0===i?{}:i,u=n||a||{init:!1},l=_object_spread_props(_object_spread({},r),{config:u,env:O(r.env,c)}),!(d=l.config.id))do{d=s(4)}while(e.destinations[d]);return[2,(e.destinations[d]=l,!1!==l.config.queue&&(l.queue=_to_consumable_array(e.queue)),h(e,void 0,_define_property({},d,l)))]})})()},h=function(e,t,r){return _async_to_generator(function(){var o,a,i,s,u,l,f,p,v,g,y,m,b,h,S,O;return _ts_generator(this,function(x){switch(x.label){case 0:return o=e.allowed,a=e.consent,i=e.globals,s=e.user,o?(t&&e.queue.push(t),r||(r=e.destinations),[4,Promise.all(Object.entries(r||{}).map(function(r){var o=_sliced_to_array(r,2),u=o[0],l=o[1];return _async_to_generator(function(){var r,o,f,p,v;return _ts_generator(this,function(g){switch(g.label){case 0:return r=(l.queue||[]).map(function(e){return _object_spread_props(_object_spread({},e),{consent:a})}),l.queue=[],t?(o=Te(t),[4,Promise.all(Object.entries(l.config.policy||[]).map(function(n){var r=_sliced_to_array(n,2),a=r[0],i=r[1];return _async_to_generator(function(){var n;return _ts_generator(this,function(r){switch(r.label){case 0:return[4,_(t,i,{collector:e})];case 1:return n=r.sent(),o=function(e,t,n){for(var r=Te(e),o=t.split("."),a=r,i=0;i<o.length;i++){var c=o[i];i===o.length-1?a[c]=n:(c in a&&"object"==_type_of(a[c])&&null!==a[c]||(a[c]={}),a=a[c])}return r}(o,a,n),[2]}})})()}))]):[3,2];case 1:g.sent(),r.push(o),g.label=2;case 2:return r.length?(f=[],p=r.filter(function(e){var t=c(l.config.consent,a,e.consent);return!t||(e.consent=t,f.push(e),!1)}),l.queue.concat(p),f.length?[4,d(w)(e,l)]:[2,{id:u,destination:l,queue:r}]):[2,{id:u,destination:l,skipped:!0}];case 3:return g.sent()?(v=!1,l.dlq||(l.dlq=[]),[4,Promise.all(f.map(function(t){return _async_to_generator(function(){return _ts_generator(this,function(r){switch(r.label){case 0:return t.globals=n(i,t.globals),t.user=n(s,t.user),[4,d(k,function(n){return e.config.onError&&e.config.onError(n,e),v=!0,l.dlq.push([t,n]),!1})(e,l,t)];case 1:return[2,(r.sent(),t)]}})})()}))]):[2,{id:u,destination:l,queue:r}];case 4:return[2,(g.sent(),{id:u,destination:l,error:v})]}})})()}))]):[2,j({ok:!1})];case 1:u=x.sent(),l=[],f=[],p=[],v=!0,g=!1,y=void 0;try{for(m=u[Symbol.iterator]();!(v=(b=m.next()).done);v=!0)(h=b.value).skipped||(S=h.destination,O={id:h.id,destination:S},h.error?p.push(O):h.queue&&h.queue.length?(S.queue=(S.queue||[]).concat(h.queue),f.push(O)):l.push(O))}catch(e){g=!0,y=e}finally{try{v||null==m.return||m.return()}finally{if(g)throw y}}return[2,j({ok:!p.length,event:t,successful:l,queued:f,failed:p})]}})})()},w=function(e,t){return _async_to_generator(function(){var n,r;return _ts_generator(this,function(o){switch(o.label){case 0:return!t.init||t.config.init?[3,2]:(n={collector:e,config:t.config,env:O(t.env,t.config.env)},[4,p(t.init,"DestinationInit",e.hooks)(n)]);case 1:if(!1===(r=o.sent()))return[2,r];t.config=_object_spread_props(_object_spread({},r||t.config),{init:!0}),o.label=2;case 2:return[2,!0]}})})()},k=function(e,t,r){return _async_to_generator(function(){var i,c,s,u,l,d,v,g,y,m,b;return _ts_generator(this,function(h){switch(h.label){case 0:return i=t.config,[4,f(r,i.mapping)];case 1:return c=h.sent(),s=c.eventMapping,u=c.mappingKey,(d=i.data)?[4,_(r,i.data,{collector:e})]:[3,3];case 2:d=h.sent(),h.label=3;case 3:return l=d,s?s.ignore?[2,!1]:(s.name&&(r.name=s.name),s.data?(g=s.data)?[4,_(r,s.data,{collector:e})]:[3,5]:[3,6]):[3,6];case 4:g=h.sent(),h.label=5;case 5:v=g,l=a(l)&&a(v)?n(l,v):v,h.label=6;case 6:return y={collector:e,config:i,data:l,mapping:s,env:O(t.env,i.env)},(null==s?void 0:s.batch)&&t.pushBatch?((b=s.batched||{key:u||"",events:[],data:[]}).events.push(r),o(l)&&b.data.push(l),s.batchFn=s.batchFn||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 i=arguments.length,c=new Array(i),s=0;s<i;s++)c[s]=arguments[s];return new Promise(function(i){var s=r&&!a;o&&clearTimeout(o),o=setTimeout(function(){o=null,r&&!a||(t=e.apply(void 0,_to_consumable_array(c)),i(t))},n),s&&(a=!0,t=e.apply(void 0,_to_consumable_array(c)),i(t))})}}(function(e,t){var n={collector:t,config:i,data:l,mapping:s,env:O(e.env,i.env)};p(e.pushBatch,"DestinationPushBatch",t.hooks)(b,n),b.events=[],b.data=[]},s.batch),s.batched=b,null===(m=s.batchFn)||void 0===m||m.call(s,t,e),[3,9]):[3,7];case 7:return[4,p(t.push,"DestinationPush",e.hooks)(r,y)];case 8:h.sent(),h.label=9;case 9:return[2,!0]}})})()},j=function(e){var t;return n({ok:!(null==e||null===(t=e.failed)||void 0===t?void 0:t.length),successful:[],queued:[],failed:[]},e)},S=function(e){return _async_to_generator(function(e){var t,n,r,o,a,i,c,s,u,l,d,f,_,p,v,g,y,m=arguments;return _ts_generator(this,function(e){t=m.length>1&&void 0!==m[1]?m[1]:{},n={},r=!0,o=!1,a=void 0;try{for(i=Object.entries(t)[Symbol.iterator]();!(r=(c=i.next()).done);r=!0)s=_sliced_to_array(c.value,2),u=s[0],l=s[1],d=l.code,f=l.config,_=void 0===f?{}:f,p=l.env,v=void 0===p?{}:p,g=_object_spread({},d.config,_),y=O(d.env,v),n[u]=_object_spread_props(_object_spread({},d),{config:g,env:y})}catch(e){o=!0,a=e}finally{try{r||null==i.return||i.return()}finally{if(o)throw a}}return[2,n]})}).apply(this,arguments)},O=function(e,t){return e||t?t?e&&a(e)&&a(t)?_object_spread({},e,t):t:e:{}},x=function(e,t){return _async_to_generator(function(){var r,o,a;return _ts_generator(this,function(i){return r=e.consent,o=!1,a={},[2,(Object.entries(t).forEach(function(e){var t=_sliced_to_array(e,2),n=t[0],r=!!t[1];a[n]=r,o=o||r}),e.consent=n(r,a),v(e,"consent",void 0,a),o?h(e):j({ok:!0}))]})})()},C=function(e){return _async_to_generator(function(e){var t,n,r,o,a,i,c,s,u,l,f,_,p,v,g,y,m,b,h=arguments;return _ts_generator(this,function(w){switch(w.label){case 0:t=h.length>1&&void 0!==h[1]?h[1]:{},n={},r=!0,o=!1,a=void 0,w.label=1;case 1:w.trys.push([1,6,7,8]),i=Object.entries(t)[Symbol.iterator](),w.label=2;case 2:return(r=(c=i.next()).done)?[3,5]:(s=_sliced_to_array(c.value,2),u=s[0],l=s[1],_=l.code,p=l.config,v=void 0===p?{}:p,g=l.env,y=_object_spread({elb:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return(f=e).push.apply(f,_to_consumable_array(n))}},void 0===g?{}:g),[4,d(_)(v,y)]);case 3:(m=w.sent())&&(n[u]=m),w.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return b=w.sent(),o=!0,a=b,[3,8];case 7:try{r||null==i.return||i.return()}finally{if(o)throw a}return[7];case 8:return[2,n]}})}).apply(this,arguments)},A=function(){return _async_to_generator(function(){var e,t,r,o,a,i,c=arguments;return _ts_generator(this,function(s){switch(s.label){case 0:return[4,(u=e=c.length>0&&void 0!==c[0]?c[0]:{},_async_to_generator(function(){var e,t,r,o,a;function i(e,t){!function(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&console.dir(e,{depth:4})}({message:e},t||r.verbose)}return _ts_generator(this,function(c){switch(c.label){case 0:return e=$e(),t=e.version,(r=n({globalsStatic:{},sessionStatic:{},tagging:0,verbose:!1,onLog:i,run:!0,sources:{},destinations:{},consent:{},user:{},globals:{},custom:{}},u,{merge:!1,extend:!1})).onLog=i,o=_object_spread({},r.globalsStatic,r.globals),(a={allowed:!1,config:r,consent:r.consent||{},count:0,custom:r.custom||{},destinations:{},globals:o,group:"",hooks:{},on:{},queue:[],round:0,session:void 0,timing:Date.now(),user:r.user||{},version:t,sources:{},push:void 0}).push=function(e,t,n){return p(function(r,o,a){return _async_to_generator(function(){return _ts_generator(this,function(i){switch(i.label){case 0:return[4,d(function(){return _async_to_generator(function(){var i,c,s,u,l,d;return _ts_generator(this,function(f){switch(f.label){case 0:return"string"==typeof r&&r.startsWith("walker ")?(i=r.replace("walker ",""),[4,t(e,i,o,a)]):[3,2];case 1:return[2,f.sent()];case 2:return c=n("string"==typeof r?{name:r}:r),s=y(e,c.name,c),u=s.event,(l=s.command)?[4,t(e,l,o,a)]:[3,4];case 3:return d=f.sent(),[3,6];case 4:return[4,h(e,u)];case 5:d=f.sent(),f.label=6;case 6:return[2,d]}})})()},function(){return j({ok:!1})})()];case 1:return[2,i.sent()]}})})()},"Push",e.hooks)}(a,g,function(e){return _object_spread({timing:Math.round((Date.now()-a.timing)/10)/100,source:{type:"collector",id:"",previous_id:""}},e)}),[4,C(a,r.sources)];case 1:return a.sources=c.sent(),[4,S(0,r.destinations)];case 2:return[2,(a.destinations=c.sent(),a)]}})})())];case 1:return t=s.sent(),r=e.consent,o=e.user,a=e.globals,i=e.custom,r?[4,t.push("walker consent",r)]:[3,3];case 2:s.sent(),s.label=3;case 3:return o?[4,t.push("walker user",o)]:[3,5];case 4:s.sent(),s.label=5;case 5:return a&&Object.assign(t.globals,a),i&&Object.assign(t.custom,i),t.config.run?[4,t.push("walker run")]:[3,7];case 6:s.sent(),s.label=7;case 7:return[2,{collector:t,elb:t.push}]}var u})}).apply(this,arguments)},E=function(e,t){return(e.getAttribute(t)||"").trim()},P=function(e){var t,n=getComputedStyle(e);if("none"===n.display)return!1;if("visible"!==n.visibility)return!1;if(n.opacity&&Number(n.opacity)<.1)return!1;var r=window.innerHeight,o=e.getBoundingClientRect(),a=o.height,i=o.y,c=i+a,s={x:o.x+e.offsetWidth/2,y:o.y+e.offsetHeight/2};if(a<=r){if(e.offsetWidth+o.width===0||e.offsetHeight+o.height===0)return!1;if(s.x<0)return!1;if(s.x>(document.documentElement.clientWidth||window.innerWidth))return!1;if(s.y<0)return!1;if(s.y>(document.documentElement.clientHeight||window.innerHeight))return!1;t=document.elementFromPoint(s.x,s.y)}else{var u=r/2;if(i<0&&c<u)return!1;if(c>r&&i>u)return!1;t=document.elementFromPoint(s.x,r/2)}if(t)do{if(t===e)return!0}while(t=t.parentElement);return!1},L=function(e,t,n){return!1===n?e:(n||(n=et),n(e,t,et))},q=function(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Me.Utils.Storage.Session;function o(e){try{return JSON.parse(e||"")}catch(r){var t=1,n="";return e&&(t=0,n=e),{e:t,v:n}}}switch(r){case Me.Utils.Storage.Cookie:var a;t=decodeURIComponent((null===(a=document.cookie.split("; ").find(function(t){return t.startsWith(e+"=")}))||void 0===a?void 0:a.split("=")[1])||"");break;case Me.Utils.Storage.Local:n=o(window.localStorage.getItem(e));break;case Me.Utils.Storage.Session:n=o(window.sessionStorage.getItem(e))}return n&&(t=n.v,0!=n.e&&n.e<Date.now()&&(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Me.Utils.Storage.Session;switch(t){case Me.Utils.Storage.Cookie:D(e,"",0,t);break;case Me.Utils.Storage.Local:window.localStorage.removeItem(e);break;case Me.Utils.Storage.Session:window.sessionStorage.removeItem(e)}}(e,r),t="")),function(e){if("true"===e)return!0;if("false"===e)return!1;var t=Number(e);return e==t&&""!==e?t:String(e)}(t||"")},D=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:30,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Me.Utils.Storage.Session,o=arguments.length>4?arguments[4]:void 0,a={e:Date.now()+6e4*n,v:String(t)},i=JSON.stringify(a);switch(r){case Me.Utils.Storage.Cookie:t="object"==(void 0===t?"undefined":_type_of(t))?JSON.stringify(t):t;var c="".concat(e,"=").concat(encodeURIComponent(t),"; max-age=").concat(60*n,"; path=/; SameSite=Lax; secure");o&&(c+="; domain="+o),document.cookie=c;break;case Me.Utils.Storage.Local:window.localStorage.setItem(e,i);break;case Me.Utils.Storage.Session:window.sessionStorage.setItem(e,i)}return q(e,r)},I=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Date.now(),n=e.length,r=void 0===n?30:n,o=e.deviceKey,a=void 0===o?"elbDeviceId":o,i=e.deviceStorage,c=void 0===i?"local":i,u=e.deviceAge,d=void 0===u?30:u,f=e.sessionKey,_=void 0===f?"elbSessionId":f,p=e.sessionStorage,v=void 0===p?"local":p,g=e.pulse,y=void 0!==g&&g,m=U(e),b=!1,h=l(function(e,t,n){var r=q(e,n);return r||(r=s(8),D(e,r,1440*t,n)),String(r)})(a,d,c),w=l(function(e,n){var o=JSON.parse(String(q(e,n)));return y||(o.isNew=!1,m.marketing&&(Object.assign(o,m),b=!0),b||o.updated+6e4*r<t?(delete o.id,delete o.referrer,o.start=t,o.count++,o.runs=1,b=!0):o.runs++),o},function(){b=!0})(_,v)||{},k={id:s(12),start:t,isNew:!0,count:1,runs:1},j=Object.assign(k,m,w,{device:h},{isStart:b,storage:!0,updated:t},e.data);return D(_,JSON.stringify(j),2*r,v),j},U=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.isStart||!1,r={isStart:t,storage:!1};if(!1===e.isStart)return r;if(!t&&"navigate"!==_sliced_to_array(performance.getEntriesByType("navigation"),1)[0].type)return r;var o=new URL(e.url||window.location.href),a=e.referrer||document.referrer,i=a&&new URL(a).hostname,c=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r="clickId",o={},a={utm_campaign:"campaign",utm_content:"content",utm_medium:"medium",utm_source:"source",utm_term:"term",dclid:r,fbclid:r,gclid:r,msclkid:r,ttclid:r,twclid:r,igshid:r,sclid:r};return Object.entries(n(a,t)).forEach(function(t){var n=_sliced_to_array(t,2),a=n[0],i=n[1],c=e.searchParams.get(a);c&&(i===r&&(i=a,o[r]=a),o[i]=c)}),o}(o,e.parameters);if(Object.keys(c).length&&(c.marketing||(c.marketing=!0),t=!0),!t){var u=e.domains||[];u.push(o.hostname),t=!u.includes(i)}return t?Object.assign({isStart:t,storage:!1,start:Date.now(),id:s(12),referrer:i},c,e.data):r},R=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({},rt,n);var r=Object.entries(t).reduce(function(t,r){var o=_sliced_to_array(r,2),a=o[0],i=o[1],c=e[a];return n.merge&&Array.isArray(c)&&Array.isArray(i)?t[a]=i.reduce(function(e,t){return e.includes(t)?e:_to_consumable_array(e).concat([t])},_to_consumable_array(c)):(n.extend||a in e)&&(t[a]=i),t},{});return n.shallow?_object_spread({},e,r):(Object.assign(e,r),e)},N=function(e){return Array.isArray(e)},W=function(e){return e===document||_instanceof(e,Element)},M=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!N(e)&&"[object Object]"===Object.prototype.toString.call(e)},X=function(e){return"string"==typeof e},T=function(e){if("true"===e)return!0;if("false"===e)return!1;var t=Number(e);return e==t&&""!==e?t:String(e)},G=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()}}},H=function(e){return e?e.trim().replace(/^'|'$/g,"").trim():""},K=function(e,t){return e+(null!=t?(!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?"-":"")+t:"")},B=function(e,t,n){return te(E(t,K(e,n,!(arguments.length>3&&void 0!==arguments[3])||arguments[3]))||"").reduce(function(e,n){var r=_sliced_to_array(ne(n),2),o=r[0],a=r[1];if(!o)return e;if(a||(o.endsWith(":")&&(o=o.slice(0,-1)),a=""),a.startsWith("#")){a=a.slice(1);try{var i=t[a];i||"selected"!==a||(i=t.options[t.selectedIndex].text),a=String(i)}catch(i){a=""}}return o.endsWith("[]")?(o=o.slice(0,-2),N(e[o])||(e[o]=[]),e[o].push(T(a))):e[o]=T(a),e},{})},F=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Qe.Commands.Prefix,r=e||("undefined"!=typeof document?document.body:void 0);if(!r)return[];var o=[],a=Qe.Commands.Action,i="[".concat(K(n,a,!1),"]"),c=function(e){Object.keys(B(n,e,a,!1)).forEach(function(t){o=o.concat(J(e,t,n))})};return r!==("undefined"!=typeof document?document:null)&&(null==(t=r.matches)?void 0:t.call(r,i))&&c(r),ee(r,i,c),o},J=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Qe.Commands.Prefix,r=[],o=function(e,t,n){for(var r=t;r;){var o=E(r,K(e,Qe.Commands.Actions,!1));if(o){var a=$(o);if(a[n])return{actions:a[n],nearestOnly:!1}}var i=E(r,K(e,Qe.Commands.Action,!1));if(i){var c=$(i);if(c[n]||"click"!==n)return{actions:c[n]||[],nearestOnly:!0}}r=Q(e,r)}return{actions:[],nearestOnly:!1}}(n,e,t),a=o.actions,i=o.nearestOnly;return a.length?(a.forEach(function(o){var a=te(o.actionParams||"",",").reduce(function(e,t){return e[H(t)]=!0,e},{}),c=Y(n,e,a,i);if(!c.length){var s="page",u="[".concat(K(n,s),"]"),l=_sliced_to_array(Z(e,u,n,s),2),d=l[0],f=l[1];c.push({entity:s,data:d,nested:[],context:f})}c.forEach(function(e){r.push({entity:e.entity,action:o.action,data:e.data,trigger:t,context:e.context,nested:e.nested})})}),r):r},z=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Qe.Commands.Prefix,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document,n=K(e,Qe.Commands.Globals,!1),r={};return ee(t,"[".concat(n,"]"),function(t){r=R(r,B(e,t,Qe.Commands.Globals,!1))}),r},V=function(e,t){var n=window.location,r="page",o=t===document?document.body:t,a=_sliced_to_array(Z(o,"[".concat(K(e,r),"]"),e,r),2),i=a[0],c=a[1];return i.domain=n.hostname,i.title=document.title,i.referrer=document.referrer,n.search&&(i.search=n.search),n.hash&&(i.hash=n.hash),[i,c]},$=function(e){var t={};return te(e).forEach(function(e){var n=_sliced_to_array(ne(e),2),r=n[0],o=n[1],a=_sliced_to_array(re(r),2),i=a[0],c=a[1];if(i){var s=_sliced_to_array(re(o||""),2),u=s[0],l=s[1];u=u||i,t[i]||(t[i]=[]),t[i].push({trigger:i,triggerParams:c,action:u,actionParams:l})}}),t},Y=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=[],a=t;for(n=0!==Object.keys(n||{}).length?n:void 0;a;){var i=ot(e,a,t,n);if(i&&(o.push(i),r))break;a=Q(e,a)}return o},Q=function(e,t){var n=K(e,Qe.Commands.Link,!1);if(t.matches("[".concat(n,"]"))){var r=_sliced_to_array(ne(E(t,n)),2),o=r[0];if("child"===r[1])return document.querySelector("[".concat(n,'="').concat(o,':parent"]'))}return!t.parentElement&&t.getRootNode&&_instanceof(t.getRootNode(),ShadowRoot)?t.getRootNode().host:t.parentElement},Z=function(e,t,n,r){for(var o={},a={},i=e,c="[".concat(K(n,Qe.Commands.Context,!1),"]"),s=0;i;)i.matches(t)&&(o=R(B(n,i,""),o),o=R(B(n,i,r),o)),i.matches(c)&&(Object.entries(B(n,i,Qe.Commands.Context,!1)).forEach(function(e){var t=_sliced_to_array(e,2),n=t[0],r=t[1];r&&!a[n]&&(a[n]=[r,s])}),++s),i=Q(n,i);return[o,a]},ee=function(e,t,n){e.querySelectorAll(t).forEach(n)},te=function(e){if(!e)return[];var t=new RegExp("(?:[^".concat(arguments.length>1&&void 0!==arguments[1]?arguments[1]:";","']+|'[^']*')+"),"ig");return e.match(t)||[]},ne=function(e){var t=_sliced_to_array(e.split(/:(.+)/,2),2),n=t[0],r=t[1];return[H(n),H(r)]},re=function(e){var t=_sliced_to_array(e.split("(",2),2),n=t[0],r=t[1];return[n,r?r.slice(0,-1):""]},oe=function(e){var t=Date.now(),n=ct.get(e);return(!n||t-n.lastChecked>500)&&(n={isVisible:P(e),lastChecked:t},ct.set(e,n)),n.isVisible},ae=function(e){if(window.IntersectionObserver)return G(function(){return new window.IntersectionObserver(function(t){t.forEach(function(t){!function(e,t){var n,r,o=t.target,a=st.get(e);if(a){var i=a.timers.get(o);if(t.intersectionRatio>0){var c=Date.now(),s=it.get(o);if((!s||c-s.lastChecked>1e3)&&(s={isLarge:o.offsetHeight>window.innerHeight,lastChecked:c},it.set(o,s)),t.intersectionRatio>=.5||s.isLarge&&oe(o)){var u=null==(n=a.elementConfigs)?void 0:n.get(o);if((null==u?void 0:u.multiple)&&u.blocked)return;if(!i){var l=window.setTimeout(function(){return _async_to_generator(function(){var t,n,r,i;return _ts_generator(this,function(c){switch(c.label){case 0:return oe(o)?(r=null==(t=a.elementConfigs)?void 0:t.get(o),(null==r?void 0:r.context)?[4,fe(r.context,o,r.trigger)]:[3,2]):[3,3];case 1:c.sent(),c.label=2;case 2:(null==(i=null==(n=a.elementConfigs)?void 0:n.get(o))?void 0:i.multiple)?i.blocked=!0:function(e,t){var n=st.get(e);if(n){n.observer&&n.observer.unobserve(t);var r=n.timers.get(t);r&&(clearTimeout(r),n.timers.delete(t)),it.delete(t),ct.delete(t)}}(e,o),c.label=3;case 3:return[2]}})})()},a.duration);a.timers.set(o,l)}return}}i&&(clearTimeout(i),a.timers.delete(o));var d=null==(r=a.elementConfigs)?void 0:r.get(o);(null==d?void 0:d.multiple)&&(d.blocked=!1)}}(e,t)})},{rootMargin:"0px",threshold:[0,.5]})},function(){})()},ie=function(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{multiple:!1},o=e.settings.scope||document,a=st.get(o);(null==a?void 0:a.observer)&&t&&(a.elementConfigs||(a.elementConfigs=new WeakMap),a.elementConfigs.set(t,{multiple:null!=(n=r.multiple)&&n,blocked:!1,context:e,trigger:r.multiple?"visible":"impression"}),a.observer.observe(t))},ce=function(e){if(e){var t=st.get(e);t&&(t.observer&&t.observer.disconnect(),st.delete(e))}},se=function(e,t,n,r,o,a,i){var c=e.elb,s=e.settings;if(X(t)&&t.startsWith("walker "))return c(t,n);if(M(t)){var u=t;return u.source||(u.source=ue()),c(u)}var l,d=_sliced_to_array(String(M(t)?t.name:t).split(" "),1)[0],f=M(n)?n:{},_={},p=!1;if(W(n)&&(l=n,p=!0),W(o)?l=o:M(o)&&Object.keys(o).length&&(_=o),l){var v=Y(s.prefix||"data-elb",l).find(function(e){return e.entity===d});v&&(p&&(f=v.data),_=v.context)}return"page"===d&&(f.id=f.id||window.location.pathname),c({name:String(t||""),data:f,context:_,nested:a,custom:i,trigger:X(r)?r:"",timing:Math.round((performance.now()-ut)/10)/100,source:ue()})},ue=function(){return{type:"browser",id:window.location.href,previous_id:document.referrer}},le=function(e,t){var n,r;t.scope&&(n=e,(r=t.scope)&&(r.addEventListener("click",G(function(e){pe.call(this,n,e)})),r.addEventListener("submit",G(function(e){ve.call(this,n,e)}))))},de=function(e,t){t.scope&&function(e,t){var n=t.scope;lt=[];var r=n||document;ce(r),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;st.has(e)||st.set(e,{observer:ae(e),timers:new WeakMap,duration:t})}(r,1e3);var o,a,i,c=K(t.prefix,Qe.Commands.Action,!1);r!==document&&_e(e,r,c,t),r.querySelectorAll("[".concat(c,"]")).forEach(function(n){_e(e,n,c,t)}),lt.length&&(o=e,a=r,i=function(e,t){return e.filter(function(e){var n=_sliced_to_array(e,2),r=n[0],o=n[1],a=window.scrollY+window.innerHeight,i=r.offsetTop;if(a<i)return!0;var c=r.clientHeight;return!(100*(1-(i+c-a)/(c||1))>=o&&(fe(t,r,vt),1))})},at||(at=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3,n=null;return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];if(null===n)return n=setTimeout(function(){n=null},t),e.apply(void 0,_to_consumable_array(o))}}(function(){lt=i.call(a,lt,o)}),a.addEventListener("scroll",at)))}(e,t)},fe=function(e,t,n){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){return r=J(t,n,e.settings.prefix),[2,Promise.all(r.map(function(t){return se(e,_object_spread_props(_object_spread({name:"".concat(t.entity," ").concat(t.action)},t),{trigger:n}))}))]})})()},_e=function(e,t,n,r){var o=E(t,n);o&&Object.values($(o)).forEach(function(n){return n.forEach(function(n){switch(n.trigger){case ft:r=e,t.addEventListener("mouseenter",G(function(e){_instanceof(e.target,Element)&&fe(r,e.target,ft)}));break;case _t:!function(e,t){fe(e,t,_t)}(e,t);break;case pt:!function(e,t){setInterval(function(){document.hidden||fe(e,t,pt)},parseInt((arguments.length>2&&void 0!==arguments[2]?arguments[2]:"")||"")||15e3)}(e,t,n.triggerParams);break;case vt:!function(e){var t=parseInt((arguments.length>1&&void 0!==arguments[1]?arguments[1]:"")||"")||50;t<0||t>100||lt.push([e,t])}(t,n.triggerParams);break;case yt:ie(e,t);break;case mt:ie(e,t,{multiple:!0});break;case bt:!function(e,t){setTimeout(function(){return fe(e,t,bt)},parseInt((arguments.length>2&&void 0!==arguments[2]?arguments[2]:"")||"")||15e3)}(e,t,n.triggerParams)}var r})})},pe=function(e,t){fe(e,t.target,dt)},ve=function(e,t){t.target&&fe(e,t.target,gt)},ge=function(e,t,n,r){var o=[],a=!0;n.forEach(function(e){var t,n=me(e)?_to_consumable_array(Array.from(e)):null!=(t=e)&&"object"==(void 0===t?"undefined":_type_of(t))&&"length"in t&&"number"==typeof t.length?Array.from(e):[e];if((!Array.isArray(n)||0!==n.length)&&(!Array.isArray(n)||1!==n.length||n[0])){var i=n[0],c=!M(i)&&X(i)&&i.startsWith("walker ");if(M(i)){if("object"==(void 0===i?"undefined":_type_of(i))&&0===Object.keys(i).length)return}else{var s=Array.from(n);if(!X(s[0])||""===s[0].trim())return;a&&"walker run"===s[0]&&(a=!1)}(r&&c||!r&&!c)&&o.push(n)}}),o.forEach(function(n){ye(e,t,n)})},ye=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"data-elb",n=arguments.length>2?arguments[2]:void 0;G(function(){if(Array.isArray(n)){var r=_to_array(n),o=r[0],a=r.slice(1);if(!o||X(o)&&""===o.trim())return;if(X(o)&&o.startsWith("walker "))return void e(o,a[0]);se.apply(void 0,[{elb:e,settings:{prefix:t,scope:document,pageview:!1,session:!1,elb:"",elbLayer:!1}},o].concat(_to_consumable_array(a)))}else if(n&&"object"==(void 0===n?"undefined":_type_of(n))){if(0===Object.keys(n).length)return;e(n)}},function(){})()},me=function(e){return null!=e&&"object"==(void 0===e?"undefined":_type_of(e))&&"[object Arguments]"===Object.prototype.toString.call(e)},be=function(e){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.cb,n=e.consent,a=e.collector,i=e.storage,s=(null==a?void 0:a.push)||Ze;if(!n)return L((i?I:U)(e),a,t);var u,l,d,f=(u=e,l=t,function(e,t){if(!o(d)||d!==(null==e?void 0:e.group)){d=null==e?void 0:e.group;var n=function(){return U(u)};if(u.consent){var a=(r(u.consent)?u.consent:[u.consent]).reduce(function(e,t){return _object_spread_props(_object_spread({},e),_define_property({},t,!0))},{});c(a,t)&&(n=function(){return I(u)})}return L(n(),e,l)}});s("walker on","consent",(r(n)?n:[n]).reduce(function(e,t){return _object_spread_props(_object_spread({},e),_define_property({},t,f))},{}))}(_object_spread_props(_object_spread({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),{collector:{push:e,group:void 0}}))},he=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!==l(function(){return t.filter(n)},function(){return!1})()){var o,c,s=a(o=n)&&i(o.event)?_object_spread({name:o.event},_object_without_properties(o,["event"])):r(o)&&o.length>=2?we(o):null!=(c=o)&&"object"==(void 0===c?"undefined":_type_of(c))&&"length"in c&&"number"==typeof c.length&&c.length>0?we(Array.from(o)):null;if(s){var u={name:"".concat(t.prefix||"dataLayer"," ").concat(s.name),data:s,context:{},globals:{},custom:{},consent:{},nested:[],user:{},id:Math.random().toString(36).substring(2,15),trigger:"",entity:"",action:"",timestamp:Date.now(),timing:0,group:"",count:0,version:{source:"1.0.0",tagging:2},source:{type:"dataLayer",id:"",previous_id:""}};l(function(){return e(u)},function(){})()}}},we=function(e){var t=_sliced_to_array(e,3),n=t[0],r=t[1],o=t[2];if(!i(n))return null;var c,s={};switch(n){case"consent":if(!i(r)||e.length<3)return null;if("default"!==r&&"update"!==r)return null;if(!a(o)||null===o)return null;c="".concat(n," ").concat(r),s=_object_spread({},o);break;case"event":if(!i(r))return null;c=r,a(o)&&(s=_object_spread({},o));break;case"config":if(!i(r))return null;c="".concat(n," ").concat(r),a(o)&&(s=_object_spread({},o));break;case"set":if(i(r))c="".concat(n," ").concat(r),a(o)&&(s=_object_spread({},o));else{if(!a(r))return null;c="".concat(n," custom"),s=_object_spread({},r)}break;default:return null}return _object_spread({name:c},s)},ke=function(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]},je=function(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]},Se=function(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]},Oe=function(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]},xe=function(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]},Ce=function(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]},Ae=function(){return["set",{currency:"EUR",country:"DE"}]},Ee=function(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}},Pe=function(){window.dataLayer=window.dataLayer||[];var e=function(e){a(e)&&a(e.source)&&String(e.source.type).includes("dataLayer")||window.dataLayer.push(e)};return{type:"dataLayer",config:{},push:function(t,n){e(n.data||t)},pushBatch:function(t){e({name:"batch",batched_event:t.key,events:t.data.length?t.data:t.events})}}},Le=function(){return _async_to_generator(function(){var e,t,r,o,i,c,s,u,l=arguments;return _ts_generator(this,function(d){switch(d.label){case 0:return e=l.length>0&&void 0!==l[0]?l[0]:{},t={collector:{destinations:{dataLayer:{code:Pe()}}},browser:{run:!0,session:!0},dataLayer:!1,elb:"elb"},r=n(t,e),o=_object_spread_props(_object_spread({},r.collector),{sources:{browser:{code:ht,config:{settings:r.browser},env:{window:"undefined"!=typeof window?window:void 0,document:"undefined"!=typeof document?document:void 0}}}}),r.dataLayer&&(i=a(r.dataLayer)?r.dataLayer:{},o.sources&&(o.sources.dataLayer={code:Dt,config:{settings:i}})),[4,A(o)];case 1:if(!(c=d.sent().collector).sources.browser)throw new Error("Browser source not initialized in walker.js");return s=c.sources.browser.push,u={collector:c,elb:s},"undefined"!=typeof window&&(r.elb&&(window[r.elb]=s),r.name&&(window[r.name]=c)),[2,u]}})}).apply(this,arguments)},qe=Object.defineProperty,De=Object.getOwnPropertyDescriptor,Ie=Object.getOwnPropertyNames,Ue=Object.prototype.hasOwnProperty,Re={};!function(e,t){for(var n in t)qe(e,n,{get:t[n],enumerable:!0})}(Re,{Walkerjs:function(){return It},createWalkerjs:function(){return Le},default:function(){return Ut},getAllEvents:function(){return F},getEvents:function(){return J},getGlobals:function(){return z}});var Ne=Object.getOwnPropertyNames,We=(e={"package.json":function(e,t){t.exports={name:"@walkeros/core",description:"Core types and platform-agnostic utilities for walkerOS",version:"0.1.1",main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",license:"MIT",files:["dist/**"],scripts:{build:"tsup --silent",clean:"rm -rf .turbo && rm -rf node_modules && rm -rf dist",dev:"jest --watchAll --colors",lint:'tsc && eslint "**/*.ts*"',test:"jest",update:"npx npm-check-updates -u && npm update"},dependencies:{},devDependencies:{},repository:{url:"git+https://github.com/elbwalker/walkerOS.git",directory:"packages/core"},author:"elbwalker <hello@elbwalker.com>",homepage:"https://github.com/elbwalker/walkerOS#readme",bugs:{url:"https://github.com/elbwalker/walkerOS/issues"},keywords:["walker","walkerOS","analytics","tracking","data collection","measurement","data privacy","privacy friendly","web analytics","product analytics","core","types","utils"],funding:[{type:"GitHub Sponsors",url:"https://github.com/sponsors/elbwalker"}]}}},function(){return t||(0,e[Ne(e)[0]])((t={exports:{}}).exports,t),t.exports}),Me={Utils:{Storage:{Local:"local",Session:"session",Cookie:"cookie"}}},Xe={merge:!0,shallow:!0,extend:!0};function Te(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]=Te(e[o],t));return r}if("[object Array]"===n){var a=[];return t.set(e,a),e.forEach(function(e){a.push(Te(e,t))}),a}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){var i=e;return new RegExp(i.source,i.flags)}return e}function Ge(e){for(var t=arguments.length>2?arguments[2]:void 0,n=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"").split("."),a=e,i=0;i<n.length;i++){var c=n[i];if("*"===c&&r(a)){var s=n.slice(i+1).join("."),u=[],l=!0,d=!1,f=void 0;try{for(var _,p=a[Symbol.iterator]();!(l=(_=p.next()).done);l=!0){var v=Ge(_.value,s,t);u.push(v)}}catch(e){d=!0,f=e}finally{try{l||null==p.return||p.return()}finally{if(d)throw f}}return u}if(!(a=_instanceof(a,Object)?a[c]:void 0))break}return o(a)?a:t}var He,Ke;We().version;function Be(e){return function(e){return"boolean"==typeof e}(e)||i(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!o(e)||r(e)&&e.every(Be)||a(e)&&Object.values(e).every(Be)}function Fe(e,t){return _async_to_generator(function(e,t){var n,a,s,l=arguments;return _ts_generator(this,function(f){return a=(n=l.length>2&&void 0!==l[2]?l[2]:{}).collector,s=n.consent,[2,(r(t)?t:[t]).reduce(function(t,l){return _async_to_generator(function(){var f,p,v,g,y,m,b,h,w,k,j,S,O,x,C,A,E,P,L,q,D;return _ts_generator(this,function(I){switch(I.label){case 0:return[4,t];case 1:return(f=I.sent())?[2,f]:(p=i(l)?{key:l}:l,Object.keys(p).length?(v=p.condition,g=p.consent,y=p.fn,m=p.key,b=p.loop,h=p.map,w=p.set,k=p.validate,j=p.value,(S=v)?[4,d(v)(e,l,a)]:[3,3]):[2]);case 2:S=!I.sent(),I.label=3;case 3:return S?[2]:g&&!c(g,s)?[2,j]:(O=o(j)?j:e,y?[4,d(y)(e,l,n)]:[3,5]);case 4:O=I.sent(),I.label=5;case 5:return m&&(O=Ge(e,m,j)),b?(x=_sliced_to_array(b,2),C=x[0],A=x[1],"this"!==C?[3,6]:(P=[e],[3,8])):[3,11];case 6:return[4,_(e,C,n)];case 7:P=I.sent(),I.label=8;case 8:return r(E=P)?[4,Promise.all(E.map(function(e){return _(e,A,n)}))]:[3,10];case 9:O=I.sent().filter(o),I.label=10;case 10:return[3,17];case 11:return h?[4,Object.entries(h).reduce(function(t,r){var a=_sliced_to_array(r,2),i=a[0],c=a[1];return _async_to_generator(function(){var r,a;return _ts_generator(this,function(s){switch(s.label){case 0:return[4,t];case 1:return r=s.sent(),[4,_(e,c,n)];case 2:return a=s.sent(),[2,(o(a)&&(r[i]=a),r)]}})})()},Promise.resolve({}))]:[3,13];case 12:return O=I.sent(),[3,16];case 13:return(L=w)?[4,Promise.all(w.map(function(t){return Fe(e,t,n)}))]:[3,15];case 14:L=O=I.sent(),I.label=15;case 15:I.label=16;case 16:I.label=17;case 17:return(q=k)?[4,d(k)(O)]:[3,19];case 18:q=!I.sent(),I.label=19;case 19:return q&&(O=void 0),D=u(O),[2,o(D)?D:u(j)]}})})()},Promise.resolve(void 0))]})}).apply(this,arguments)}var Je,ze,Ve=Object.getOwnPropertyNames,$e=(He={"package.json":function(e,t){t.exports={name:"@walkeros/collector",description:"Unified platform-agnostic collector for walkerOS",version:"0.1.1",main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",license:"MIT",files:["dist/**"],scripts:{build:"tsup --silent",clean:"rm -rf .turbo && rm -rf node_modules && rm -rf dist",dev:"jest --watchAll --colors",lint:'tsc && eslint "**/*.ts*"',test:"jest",update:"npx npm-check-updates -u && npm update"},dependencies:{"@walkeros/core":"0.1.1"},devDependencies:{},repository:{url:"git+https://github.com/elbwalker/walkerOS.git",directory:"packages/collector"},author:"elbwalker <hello@elbwalker.com>",homepage:"https://github.com/elbwalker/walkerOS#readme",bugs:{url:"https://github.com/elbwalker/walkerOS/issues"},keywords:["walker","walkerOS","analytics","tracking","data collection","measurement","data privacy","privacy friendly","collector","event processing"],funding:[{type:"GitHub Sponsors",url:"https://github.com/sponsors/elbwalker"}]}}},function(){return Ke||(0,He[Ve(He)[0]])((Ke={exports:{}}).exports,Ke),Ke.exports}),Ye={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",User:"user",Walker:"walker"},Qe={Commands:Ye,Utils:{Storage:{Cookie:"cookie",Local:"local",Session:"session"}}},Ze=function(){var e=window;(e.elbLayer=e.elbLayer||[]).push(arguments)},et=function(e,t){var n=(null==t?void 0:t.push)||Ze,r={};return e.id&&(r.session=e.id),e.storage&&e.device&&(r.device=e.device),n("walker user",r),e.isStart&&n({name:"session start",data:e}),e},tt=Object.getOwnPropertyNames,nt=(Je={"package.json":function(e,t){t.exports={name:"@walkeros/core",description:"Core types and platform-agnostic utilities for walkerOS",version:"0.1.1",main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",license:"MIT",files:["dist/**"],scripts:{build:"tsup --silent",clean:"rm -rf .turbo && rm -rf node_modules && rm -rf dist",dev:"jest --watchAll --colors",lint:'tsc && eslint "**/*.ts*"',test:"jest",update:"npx npm-check-updates -u && npm update"},dependencies:{},devDependencies:{},repository:{url:"git+https://github.com/elbwalker/walkerOS.git",directory:"packages/core"},author:"elbwalker <hello@elbwalker.com>",homepage:"https://github.com/elbwalker/walkerOS#readme",bugs:{url:"https://github.com/elbwalker/walkerOS/issues"},keywords:["walker","walkerOS","analytics","tracking","data collection","measurement","data privacy","privacy friendly","web analytics","product analytics","core","types","utils"],funding:[{type:"GitHub Sponsors",url:"https://github.com/sponsors/elbwalker"}]}}},function(){return ze||(0,Je[tt(Je)[0]])((ze={exports:{}}).exports,ze),ze.exports}),rt={merge:!0,shallow:!0,extend:!0};nt().version;function ot(e,t,n,r){var o=E(t,K(e));if(!o||r&&!r[o])return null;var a=[t],i="[".concat(K(e,o),"],[").concat(K(e,""),"]"),c=K(e,Qe.Commands.Link,!1),s={},u=[],l=_sliced_to_array(Z(n||t,i,e,o),2),d=l[0],f=l[1];ee(t,"[".concat(c,"]"),function(t){var n=_sliced_to_array(ne(E(t,c)),2),r=n[0];"parent"===n[1]&&ee(document.body,"[".concat(c,'="').concat(r,':child"]'),function(t){a.push(t);var n=ot(e,t);n&&u.push(n)})});var _=[];a.forEach(function(e){e.matches(i)&&_.push(e),ee(e,i,function(e){return _.push(e)})});var p={};return _.forEach(function(t){p=R(p,B(e,t,"")),s=R(s,B(e,t,o))}),s=R(R(p,s),d),a.forEach(function(t){ee(t,"[".concat(K(e),"]"),function(t){var n=ot(e,t);n&&u.push(n)})}),{entity:o,data:s,context:f,nested:u}}var at,it=new WeakMap,ct=new WeakMap,st=new WeakMap,ut=performance.now(),lt=[],dt="click",ft="hover",_t="load",pt="pulse",vt="scroll",gt="submit",yt="impression",mt="visible",bt="wait",ht=function(e,t){return _async_to_generator(function(){var n,r,o,a,i,c,s,u;return _ts_generator(this,function(l){switch(l.label){case 0:if(l.trys.push([0,3,,4]),r=(n=t||{}).elb,o=n.window,a=n.document,!r)throw new Error("Browser source requires elb function in environment");return i=function(){return _object_spread({prefix:"data-elb",pageview:!0,session:!0,elb:"elb",elbLayer:"elbLayer",scope:(arguments.length>1?arguments[1]:void 0)||void 0},arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})}((null==e?void 0:e.settings)||{},a),c={settings:i},s={elb:r,settings:i},a&&o?(!1!==i.elbLayer&&function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.name||"elbLayer",r=t.window||("undefined"!=typeof window?window:void 0);if(r){var o=r;o[n]||(o[n]=[]);var a=o[n];a.push=function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];if(me(r[0])){var a=_to_consumable_array(Array.from(r[0])),i=Array.prototype.push.apply(this,[a]);return ye(e,t.prefix,a),i}var c=Array.prototype.push.apply(this,r);return r.forEach(function(n){ye(e,t.prefix,n)}),c},Array.isArray(a)&&a.length>0&&function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"data-elb",n=arguments.length>2?arguments[2]:void 0;ge(e,t,n,!0),ge(e,t,n,!1),n.length=0}(e,t.prefix,a)}}(r,{name:X(i.elbLayer)?i.elbLayer:"elbLayer",prefix:i.prefix,window:o}),i.session&&(u="boolean"==typeof i.session?{}:i.session,be(r,u)),[4,function(e,t,n){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){return r=function(){e(t,n)},"loading"!==document.readyState?r():document.addEventListener("DOMContentLoaded",r),[2]})})()}(le,s,i)]):[3,2];case 1:l.sent(),function(){if(de(s,i),i.pageview){var e=_sliced_to_array(V(i.prefix||"data-elb",i.scope),2),t=e[0],n=e[1];se(s,"page view",t,"load",n)}}(),X(i.elb)&&i.elb&&(o[i.elb]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=_sliced_to_array(t,6),o=r[0],a=r[1],i=r[2],c=r[3],u=r[4],l=r[5];return se(s,o,a,i,c,u,l)}),l.label=2;case 2:return[2,{type:"browser",config:c,push:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=_sliced_to_array(t,6),o=r[0],a=r[1],i=r[2],c=r[3],u=r[4],l=r[5];return se(s,o,a,i,c,u,l)},destroy:function(){return _async_to_generator(function(){return _ts_generator(this,function(e){return a&&ce(i.scope||a),[2]})})()},on:function(e,t){return _async_to_generator(function(){var n,c,u,l;return _ts_generator(this,function(d){switch(e){case"consent":i.session&&t&&(n="boolean"==typeof i.session?{}:i.session,be(r,n));break;case"session":case"ready":default:break;case"run":a&&o&&(de(s,i),i.pageview)&&(c=_sliced_to_array(V(i.prefix||"data-elb",i.scope),2),u=c[0],l=c[1],se(s,"page view",u,"load",l))}return[2]})})()}}];case 3:throw l.sent();case 4:return[2]}})})()},wt=Object.defineProperty,kt=function(e,t){for(var n in t)wt(e,n,{get:t[n],enumerable:!0})},jt=!1;kt({},{add_to_cart:function(){return Oe},config:function(){return Ce},consentDefault:function(){return je},consentUpdate:function(){return ke},directDataLayerEvent:function(){return Ee},purchase:function(){return Se},setCustom:function(){return Ae},view_item:function(){return xe}});kt({},{add_to_cart:function(){return Ct},config:function(){return Lt},configGA4:function(){return Et},consentOnlyMapping:function(){return qt},consentUpdate:function(){return Ot},customEvent:function(){return Pt},purchase:function(){return xt},view_item:function(){return At}});var St,Ot={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:function(e){return"granted"===e}},marketing:{key:"ad_storage",fn:function(e){return"granted"===e}}}}}},xt={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},Ct={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},At={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},Et={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},Pt={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},Lt={consent:{update:Ot},purchase:xt,add_to_cart:Ct,view_item:At,"config G-XXXXXXXXXX":Et,custom_event:Pt,"*":{data:{}}},qt={consent:{update:Ot}},Dt=function(e,t){return _async_to_generator(function(){var n,r,o,a,i;return _ts_generator(this,function(c){try{if(r=(n=t||{}).elb,o=n.window,!r)throw new Error("DataLayer source requires elb function in environment");return a=_object_spread({name:"dataLayer",prefix:"dataLayer"},null==e?void 0:e.settings),i={settings:a},o&&(function(e,t){var n=t.settings,r=(null==n?void 0:n.name)||"dataLayer",o=window[r];if(Array.isArray(o)&&!jt){jt=!0;try{var a=!0,i=!1,c=void 0;try{for(var s,u=o[Symbol.iterator]();!(a=(s=u.next()).done);a=!0){var l=s.value;he(e,n,l)}}catch(e){i=!0,c=e}finally{try{a||null==u.return||u.return()}finally{if(i)throw c}}}finally{jt=!1}}}(r,i),function(e,t){var n=t.settings,r=(null==n?void 0:n.name)||"dataLayer";window[r]||(window[r]=[]);var o=window[r];if(Array.isArray(o)){var a=o.push.bind(o);o.push=function(){for(var t=arguments.length,r=new Array(t),o=0;o<t;o++)r[o]=arguments[o];if(jt)return a.apply(void 0,_to_consumable_array(r));jt=!0;try{var i=!0,c=!1,s=void 0;try{for(var u,l=r[Symbol.iterator]();!(i=(u=l.next()).done);i=!0){var d=u.value;he(e,n,d)}}catch(e){c=!0,s=e}finally{try{i||null==l.return||l.return()}finally{if(c)throw s}}}finally{jt=!1}return a.apply(void 0,_to_consumable_array(r))}}}(r,i)),[2,{type:"dataLayer",config:i,push:r,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]})})()}}]}catch(e){throw e}return[2]})})()},It={},Ut=Le;return St=Re,function(e,t,n,r){if(t&&"object"===(void 0===t?"undefined":_type_of(t))||"function"==typeof t){var o=!0,a=!1,i=void 0;try{for(var c,s=function(){var o=c.value;Ue.call(e,o)||o===n||qe(e,o,{get:function(){return t[o]},enumerable:!(r=De(t,o))||r.enumerable})},u=Ie(t)[Symbol.iterator]();!(o=(c=u.next()).done);o=!0)s()}catch(e){a=!0,i=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw i}}}return e}(qe({},"__esModule",{value:!0}),St)}();
|
|
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,i){try{var c=e[a](i),s=c.value}catch(e){return void n(e)}c.done?t(s):Promise.resolve(s).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 i(e){asyncGeneratorStep(a,r,o,i,c,"next",e)}function c(e){asyncGeneratorStep(a,r,o,i,c,"throw",e)}i(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=[],i=!0,c=!1;try{for(n=n.call(e);!(i=(r=n.next()).done)&&(a.push(r.value),!t||a.length!==t);i=!0);}catch(e){c=!0,o=e}finally{try{i||null==n.return||n.return()}finally{if(c)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=_object_without_properties_loose(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(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 _object_without_properties_loose(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)>=0||(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_array(e){return _array_with_holes(e)||_iterable_to_array(e)||_unsupported_iterable_to_array(e)||_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:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=c(0),i.throw=c(1),i.return=c(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(c){return function(s){return function(c){if(n)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(o=2&c[0]?r.return:c[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,c[1])).done)return o;switch(r=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,s])}}}var Walkerjs=function(){var e=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({},Re,n);var r=Object.entries(t).reduce(function(t,r){var o=_sliced_to_array(r,2),a=o[0],i=o[1],c=e[a];return n.merge&&Array.isArray(c)&&Array.isArray(i)?t[a]=i.reduce(function(e,t){return e.includes(t)?e:_to_consumable_array(e).concat([t])},_to_consumable_array(c)):(n.extend||a in e)&&(t[a]=i),t},{});return n.shallow?_object_spread({},e,r):(Object.assign(e,r),e)},t=function(e){return Array.isArray(e)},n=function(e){return void 0!==e},r=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!t(e)&&"[object Object]"===Object.prototype.toString.call(e)},o=function(e){return"string"==typeof e},a=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=void 0===e;return Object.keys(t).forEach(function(o){t[o]&&(n[o]=!0,e&&e[o]&&(r=!0))}),!!r&&n},i=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6,t="";t.length<e;)t+=(36*Math.random()|0).toString(36);return t},c=function(e){return Ne(e)?e:void 0},s=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()}}},u=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]}})})()}},l=function(e,n){return _async_to_generator(function(){var r,o,a,i,c,s,u,l,f,d;return _ts_generator(this,function(_){return o=_sliced_to_array((e.name||"").split(" "),2),a=o[0],i=o[1],n&&a&&i?(s="",l=i,f=function(n){if(n)return(n=t(n)?n:[n]).find(function(t){return!t.condition||t.condition(e)})},n[u=a]||(u="*"),[2,((d=n[u])&&(d[l]||(l="*"),c=f(d[l])),c||(u="*",l="*",c=f(null===(r=n[u])||void 0===r?void 0:r[l])),c&&(s="".concat(u," ").concat(l)),{eventMapping:c,mappingKey:s})]):[2,{}]})})()},f=function(e){return _async_to_generator(function(e){var o,a,i,c,s,l,f,d,_,v,p,g,y,m=arguments;return _ts_generator(this,function(h){switch(h.label){case 0:if(o=m.length>1&&void 0!==m[1]?m[1]:{},a=m.length>2&&void 0!==m[2]?m[2]:{},!n(e))return[2];c=r(e)&&e.consent||a.consent||(null===(i=a.collector)||void 0===i?void 0:i.consent),s=t(o)?o:[o],l=!0,f=!1,d=void 0,h.label=1;case 1:h.trys.push([1,6,7,8]),_=s[Symbol.iterator](),h.label=2;case 2:return(l=(v=_.next()).done)?[3,5]:(p=v.value,[4,u(Xe)(e,p,_object_spread_props(_object_spread({},a),{consent:c}))]);case 3:if(g=h.sent(),n(g))return[2,g];h.label=4;case 4:return l=!0,[3,2];case 5:return[3,8];case 6:return y=h.sent(),f=!0,d=y,[3,8];case 7:try{l||null==_.return||_.return()}finally{if(f)throw d}return[7];case 8:return[2]}})}).apply(this,arguments)},d=function(e,t,n){return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];var i,c="post"+t,s=n["pre"+t],u=n[c];return i=s?s.apply(void 0,[{fn:e}].concat(_to_consumable_array(o))):e.apply(void 0,_to_consumable_array(o)),u&&(i=u.apply(void 0,[{fn:e,result:i}].concat(_to_consumable_array(o)))),i}},_=function(e,t,n,r){var o,a,i,c,u=n||[];switch(n||(u=e.on[t]||[]),t){case Ge.Commands.Consent:o=r||e.consent;break;case Ge.Commands.Session:o=e.session;break;case Ge.Commands.Ready:case Ge.Commands.Run:default:o=void 0}if(Object.values(e.sources).forEach(function(e){e.on&&s(e.on)(t,o)}),Object.values(e.destinations).forEach(function(e){if(e.on){var n=e.on;s(n)(t,o)}}),u.length)switch(t){case Ge.Commands.Consent:a=e,i=u,c=r||a.consent,i.forEach(function(e){Object.keys(c).filter(function(t){return t in e}).forEach(function(t){s(e[t])(a,c)})});break;case Ge.Commands.Ready:case Ge.Commands.Run:!function(e,t){e.allowed&&t.forEach(function(t){s(t)(e)})}(e,u);break;case Ge.Commands.Session:!function(e,t){e.session&&t.forEach(function(t){s(t)(e,e.session)})}(e,u)}},v=function(n,a,i,c){return _async_to_generator(function(){var s;return _ts_generator(this,function(u){switch(u.label){case 0:switch(a){case Ge.Commands.Config:return[3,1];case Ge.Commands.Consent:return[3,2];case Ge.Commands.Custom:return[3,5];case Ge.Commands.Destination:return[3,6];case Ge.Commands.Globals:return[3,9];case Ge.Commands.On:return[3,10];case Ge.Commands.Ready:return[3,11];case Ge.Commands.Run:return[3,12];case Ge.Commands.Session:return[3,14];case Ge.Commands.User:return[3,15]}return[3,16];case 1:return r(i)&&e(n.config,i,{shallow:!1}),[3,16];case 2:return r(i)?[4,S(n,i)]:[3,4];case 3:s=u.sent(),u.label=4;case 4:return[3,16];case 5:return r(i)&&(n.custom=e(n.custom,i)),[3,16];case 6:return r(i)&&"function"==typeof i.push?[4,y(n,{code:i},c)]:[3,8];case 7:s=u.sent(),u.label=8;case 8:return[3,16];case 9:return r(i)&&(n.globals=e(n.globals,i)),[3,16];case 10:return o(i)&&function(e,n,r){var o=e.on,a=o[n]||[],i=t(r)?r:[r];i.forEach(function(e){a.push(e)}),o[n]=a,_(e,n,i)}(n,i,c),[3,16];case 11:return _(n,"ready"),[3,16];case 12:return[4,g(n,i)];case 13:return s=u.sent(),[3,16];case 14:return _(n,"session"),[3,16];case 15:r(i)&&e(n.user,i,{shallow:!1}),u.label=16;case 16:return[2,s||{ok:!0,successful:[],queued:[],failed:[]}]}})})()},p=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=function(e,t){return(void 0===e?"undefined":_type_of(e))==(void 0===t?"undefined":_type_of(t))}(t,"")?_object_spread({name:t},n):_object_spread({},n,t||{});if(!r.name)throw new Error("Event name is required");var o=_sliced_to_array(r.name.split(" "),2),a=o[0],i=o[1];if(!a||!i)throw new Error("Event name is invalid");if(a===Me.Walker)return{command:i};++e.count;var c=r.timestamp,s=void 0===c?Date.now():c,u=r.group,l=void 0===u?e.group:u,f=r.count,d=void 0===f?e.count:f,_=r.name,v=void 0===_?"".concat(a," ").concat(i):_,p=r.data,g=void 0===p?{}:p,y=r.context,m=void 0===y?{}:y,h=r.globals,b=void 0===h?e.globals:h,w=r.custom,j=void 0===w?{}:w,k=r.user,S=void 0===k?e.user:k,O=r.nested,E=void 0===O?[]:O,x=r.consent,C=void 0===x?e.consent:x,A=r.id,L=void 0===A?"".concat(s,"-").concat(l,"-").concat(d):A,P=r.trigger,q=void 0===P?"":P,I=r.entity,U=void 0===I?a:I,D=r.action,R=void 0===D?i:D,W=r.timing,T=void 0===W?0:W,N=r.version,X=void 0===N?{source:e.version,tagging:e.config.tagging||0}:N,M=r.source;return{event:{name:v,data:g,context:m,globals:b,custom:j,user:S,nested:E,consent:C,id:L,trigger:q,entity:U,action:R,timestamp:s,timing:T,group:l,count:d,version:X,source:void 0===M?{type:"collector",id:"",previous_id:""}:M}}},g=function(t,n){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){switch(o.label){case 0:return t.allowed=!0,t.count=0,t.group=i(),t.timing=Date.now(),n&&(n.consent&&(t.consent=e(t.consent,n.consent)),n.user&&(t.user=e(t.user,n.user)),n.globals&&(t.globals=e(t.config.globalsStatic||{},n.globals)),n.custom&&(t.custom=e(t.custom,n.custom))),Object.values(t.destinations).forEach(function(e){e.queue=[]}),t.queue=[],t.round++,[4,m(t)];case 1:return r=o.sent(),[2,(_(t,"run"),r)]}})})()},y=function(e,t,n){return _async_to_generator(function(){var r,o,a,c,s,u,l,f;return _ts_generator(this,function(d){if(r=t.code,o=t.config,a=void 0===o?{}:o,c=t.env,s=void 0===c?{}:c,u=n||a||{init:!1},l=_object_spread_props(_object_spread({},r),{config:u,env:k(r.env,s)}),!(f=l.config.id))do{f=i(4)}while(e.destinations[f]);return[2,(e.destinations[f]=l,!1!==l.config.queue&&(l.queue=_to_consumable_array(e.queue)),m(e,void 0,_define_property({},f,l)))]})})()},m=function(t,n,r){return _async_to_generator(function(){var o,i,c,s,l,d,_,v,p,g,y,m,j,k,S,O;return _ts_generator(this,function(E){switch(E.label){case 0:return o=t.allowed,i=t.consent,c=t.globals,s=t.user,o?(n&&t.queue.push(n),r||(r=t.destinations),[4,Promise.all(Object.entries(r||{}).map(function(r){var o=_sliced_to_array(r,2),l=o[0],d=o[1];return _async_to_generator(function(){var r,o,_,v,p;return _ts_generator(this,function(g){switch(g.label){case 0:return r=(d.queue||[]).map(function(e){return _object_spread_props(_object_spread({},e),{consent:i})}),d.queue=[],n?(o=We(n),[4,Promise.all(Object.entries(d.config.policy||[]).map(function(e){var r=_sliced_to_array(e,2),a=r[0],i=r[1];return _async_to_generator(function(){var e;return _ts_generator(this,function(r){switch(r.label){case 0:return[4,f(n,i,{collector:t})];case 1:return e=r.sent(),o=function(e,t,n){for(var r=We(e),o=t.split("."),a=r,i=0;i<o.length;i++){var c=o[i];i===o.length-1?a[c]=n:(c in a&&"object"==_type_of(a[c])&&null!==a[c]||(a[c]={}),a=a[c])}return r}(o,a,e),[2]}})})()}))]):[3,2];case 1:g.sent(),r.push(o),g.label=2;case 2:return r.length?(_=[],v=r.filter(function(e){var t=a(d.config.consent,i,e.consent);return!t||(e.consent=t,_.push(e),!1)}),d.queue.concat(v),_.length?[4,u(h)(t,d)]:[2,{id:l,destination:d,queue:r}]):[2,{id:l,destination:d,skipped:!0}];case 3:return g.sent()?(p=!1,d.dlq||(d.dlq=[]),[4,Promise.all(_.map(function(n){return _async_to_generator(function(){return _ts_generator(this,function(r){switch(r.label){case 0:return n.globals=e(c,n.globals),n.user=e(s,n.user),[4,u(b,function(e){return t.config.onError&&t.config.onError(e,t),p=!0,d.dlq.push([n,e]),!1})(t,d,n)];case 1:return[2,(r.sent(),n)]}})})()}))]):[2,{id:l,destination:d,queue:r}];case 4:return[2,(g.sent(),{id:l,destination:d,error:p})]}})})()}))]):[2,w({ok:!1})];case 1:l=E.sent(),d=[],_=[],v=[],p=!0,g=!1,y=void 0;try{for(m=l[Symbol.iterator]();!(p=(j=m.next()).done);p=!0)(k=j.value).skipped||(S=k.destination,O={id:k.id,destination:S},k.error?v.push(O):k.queue&&k.queue.length?(S.queue=(S.queue||[]).concat(k.queue),_.push(O)):d.push(O))}catch(e){g=!0,y=e}finally{try{p||null==m.return||m.return()}finally{if(g)throw y}}return[2,w({ok:!v.length,event:n,successful:d,queued:_,failed:v})]}})})()},h=function(e,t){return _async_to_generator(function(){var n,r;return _ts_generator(this,function(o){switch(o.label){case 0:return!t.init||t.config.init?[3,2]:(n={collector:e,config:t.config,env:k(t.env,t.config.env)},[4,d(t.init,"DestinationInit",e.hooks)(n)]);case 1:if(!1===(r=o.sent()))return[2,r];t.config=_object_spread_props(_object_spread({},r||t.config),{init:!0}),o.label=2;case 2:return[2,!0]}})})()},b=function(t,o,a){return _async_to_generator(function(){var i,c,s,u,_,v,p,g,y,m,h;return _ts_generator(this,function(b){switch(b.label){case 0:return i=o.config,[4,l(a,i.mapping)];case 1:return c=b.sent(),s=c.eventMapping,u=c.mappingKey,(v=i.data)?[4,f(a,i.data,{collector:t})]:[3,3];case 2:v=b.sent(),b.label=3;case 3:return _=v,s?s.ignore?[2,!1]:(s.name&&(a.name=s.name),s.data?(g=s.data)?[4,f(a,s.data,{collector:t})]:[3,5]:[3,6]):[3,6];case 4:g=b.sent(),b.label=5;case 5:p=g,_=r(_)&&r(p)?e(_,p):p,b.label=6;case 6:return y={collector:t,config:i,data:_,mapping:s,env:k(o.env,i.env)},(null==s?void 0:s.batch)&&o.pushBatch?((h=s.batched||{key:u||"",events:[],data:[]}).events.push(a),n(_)&&h.data.push(_),s.batchFn=s.batchFn||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 i=arguments.length,c=new Array(i),s=0;s<i;s++)c[s]=arguments[s];return new Promise(function(i){var s=r&&!a;o&&clearTimeout(o),o=setTimeout(function(){o=null,r&&!a||(t=e.apply(void 0,_to_consumable_array(c)),i(t))},n),s&&(a=!0,t=e.apply(void 0,_to_consumable_array(c)),i(t))})}}(function(e,t){var n={collector:t,config:i,data:_,mapping:s,env:k(e.env,i.env)};d(e.pushBatch,"DestinationPushBatch",t.hooks)(h,n),h.events=[],h.data=[]},s.batch),s.batched=h,null===(m=s.batchFn)||void 0===m||m.call(s,o,t),[3,9]):[3,7];case 7:return[4,d(o.push,"DestinationPush",t.hooks)(a,y)];case 8:b.sent(),b.label=9;case 9:return[2,!0]}})})()},w=function(t){var n;return e({ok:!(null==t||null===(n=t.failed)||void 0===n?void 0:n.length),successful:[],queued:[],failed:[]},t)},j=function(e){return _async_to_generator(function(e){var t,n,r,o,a,i,c,s,u,l,f,d,_,v,p,g,y,m=arguments;return _ts_generator(this,function(e){t=m.length>1&&void 0!==m[1]?m[1]:{},n={},r=!0,o=!1,a=void 0;try{for(i=Object.entries(t)[Symbol.iterator]();!(r=(c=i.next()).done);r=!0)s=_sliced_to_array(c.value,2),u=s[0],l=s[1],f=l.code,d=l.config,_=void 0===d?{}:d,v=l.env,p=void 0===v?{}:v,g=_object_spread({},f.config,_),y=k(f.env,p),n[u]=_object_spread_props(_object_spread({},f),{config:g,env:y})}catch(e){o=!0,a=e}finally{try{r||null==i.return||i.return()}finally{if(o)throw a}}return[2,n]})}).apply(this,arguments)},k=function(e,t){return e||t?t?e&&r(e)&&r(t)?_object_spread({},e,t):t:e:{}},S=function(t,n){return _async_to_generator(function(){var r,o,a;return _ts_generator(this,function(i){return r=t.consent,o=!1,a={},[2,(Object.entries(n).forEach(function(e){var t=_sliced_to_array(e,2),n=t[0],r=!!t[1];a[n]=r,o=o||r}),t.consent=e(r,a),_(t,"consent",void 0,a),o?m(t):w({ok:!0}))]})})()},O=function(e){return _async_to_generator(function(e){var t,n,r,o,a,i,c,s,l,f,d,_,v,p,g,y,m,h,b,w,j=arguments;return _ts_generator(this,function(k){switch(k.label){case 0:t=j.length>1&&void 0!==j[1]?j[1]:{},n={},r=!0,o=!1,a=void 0,k.label=1;case 1:k.trys.push([1,6,7,8]),i=Object.entries(t)[Symbol.iterator](),k.label=2;case 2:return(r=(c=i.next()).done)?[3,5]:(s=_sliced_to_array(c.value,2),l=s[0],f=s[1],_=f.code,v=f.config,p=void 0===v?{}:v,g=f.env,y=void 0===g?{}:g,m=f.primary,h=_object_spread({elb:function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];return(d=e).push.apply(d,_to_consumable_array(n))}},y),[4,u(_)(p,h)]);case 3:(b=k.sent())&&(m&&(b.config=_object_spread_props(_object_spread({},b.config),{primary:m})),n[l]=b),k.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return w=k.sent(),o=!0,a=w,[3,8];case 7:try{r||null==i.return||i.return()}finally{if(o)throw a}return[7];case 8:return[2,n]}})}).apply(this,arguments)},E=function(t){return _async_to_generator(function(){var n,r,o,a,i,c,s,l;return _ts_generator(this,function(f){switch(f.label){case 0:return[4,(_=t=t||{},_async_to_generator(function(){var t,n,r;function o(e,n){!function(e){arguments.length>1&&void 0!==arguments[1]&&arguments[1]&&console.dir(e,{depth:4})}({message:e},n||t.verbose)}return _ts_generator(this,function(a){switch(a.label){case 0:return(t=e({globalsStatic:{},sessionStatic:{},tagging:0,verbose:!1,onLog:o,run:!0},_,{merge:!1,extend:!1})).onLog=o,n=_object_spread({},t.globalsStatic,_.globals),(r={allowed:!1,config:t,consent:_.consent||{},count:0,custom:_.custom||{},destinations:{},globals:n,group:"",hooks:{},on:{},queue:[],round:0,session:void 0,timing:Date.now(),user:_.user||{},version:"0.2.0",sources:{},push:void 0}).push=function(e,t,n){return d(function(r,o,a){return _async_to_generator(function(){return _ts_generator(this,function(i){switch(i.label){case 0:return[4,u(function(){return _async_to_generator(function(){var i,c,s,u,l,f;return _ts_generator(this,function(d){switch(d.label){case 0:return"string"==typeof r&&r.startsWith("walker ")?(i=r.replace("walker ",""),[4,t(e,i,o,a)]):[3,2];case 1:return[2,d.sent()];case 2:return c=n("string"==typeof r?{name:r}:r),s=p(e,c.name,c),u=s.event,(l=s.command)?[4,t(e,l,o,a)]:[3,4];case 3:return f=d.sent(),[3,6];case 4:return[4,m(e,u)];case 5:f=d.sent(),d.label=6;case 6:return[2,f]}})})()},function(){return w({ok:!1})})()];case 1:return[2,i.sent()]}})})()},"Push",e.hooks)}(r,v,function(e){return _object_spread({timing:Math.round((Date.now()-r.timing)/10)/100,source:{type:"collector",id:"",previous_id:""}},e)}),[4,O(r,_.sources||{})];case 1:return r.sources=a.sent(),[4,j(0,_.destinations||{})];case 2:return[2,(r.destinations=a.sent(),r)]}})})())];case 1:return n=f.sent(),r=t.consent,o=t.user,a=t.globals,i=t.custom,r?[4,n.push("walker consent",r)]:[3,3];case 2:f.sent(),f.label=3;case 3:return o?[4,n.push("walker user",o)]:[3,5];case 4:f.sent(),f.label=5;case 5:return a&&Object.assign(n.globals,a),i&&Object.assign(n.custom,i),n.config.run?[4,n.push("walker run")]:[3,7];case 6:f.sent(),f.label=7;case 7:return c=n.push,s=Object.values(n.sources),l=s.find(function(e){return e.config.primary}),[2,(l?c=l.push:s.length>0&&(c=s[0].push),{collector:n,elb:c})]}var _})})()},x=function(e,t){return(e.getAttribute(t)||"").trim()},C=function(e){var t,n=getComputedStyle(e);if("none"===n.display)return!1;if("visible"!==n.visibility)return!1;if(n.opacity&&Number(n.opacity)<.1)return!1;var r=window.innerHeight,o=e.getBoundingClientRect(),a=o.height,i=o.y,c=i+a,s={x:o.x+e.offsetWidth/2,y:o.y+e.offsetHeight/2};if(a<=r){if(e.offsetWidth+o.width===0||e.offsetHeight+o.height===0)return!1;if(s.x<0)return!1;if(s.x>(document.documentElement.clientWidth||window.innerWidth))return!1;if(s.y<0)return!1;if(s.y>(document.documentElement.clientHeight||window.innerHeight))return!1;t=document.elementFromPoint(s.x,s.y)}else{var u=r/2;if(i<0&&c<u)return!1;if(c>r&&i>u)return!1;t=document.elementFromPoint(s.x,r/2)}if(t)do{if(t===e)return!0}while(t=t.parentElement);return!1},A=function(e,t,n){return!1===n?e:(n||(n=Be),n(e,t,Be))},L=function(e){var t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:De.Utils.Storage.Session;function o(e){try{return JSON.parse(e||"")}catch(r){var t=1,n="";return e&&(t=0,n=e),{e:t,v:n}}}switch(r){case De.Utils.Storage.Cookie:var a;t=decodeURIComponent((null===(a=document.cookie.split("; ").find(function(t){return t.startsWith(e+"=")}))||void 0===a?void 0:a.split("=")[1])||"");break;case De.Utils.Storage.Local:n=o(window.localStorage.getItem(e));break;case De.Utils.Storage.Session:n=o(window.sessionStorage.getItem(e))}return n&&(t=n.v,0!=n.e&&n.e<Date.now()&&(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:De.Utils.Storage.Session;switch(t){case De.Utils.Storage.Cookie:P(e,"",0,t);break;case De.Utils.Storage.Local:window.localStorage.removeItem(e);break;case De.Utils.Storage.Session:window.sessionStorage.removeItem(e)}}(e,r),t="")),function(e){if("true"===e)return!0;if("false"===e)return!1;var t=Number(e);return e==t&&""!==e?t:String(e)}(t||"")},P=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:30,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:De.Utils.Storage.Session,o=arguments.length>4?arguments[4]:void 0,a={e:Date.now()+6e4*n,v:String(t)},i=JSON.stringify(a);switch(r){case De.Utils.Storage.Cookie:t="object"==(void 0===t?"undefined":_type_of(t))?JSON.stringify(t):t;var c="".concat(e,"=").concat(encodeURIComponent(t),"; max-age=").concat(60*n,"; path=/; SameSite=Lax; secure");o&&(c+="; domain="+o),document.cookie=c;break;case De.Utils.Storage.Local:window.localStorage.setItem(e,i);break;case De.Utils.Storage.Session:window.sessionStorage.setItem(e,i)}return L(e,r)},q=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Date.now(),n=e.length,r=void 0===n?30:n,o=e.deviceKey,a=void 0===o?"elbDeviceId":o,c=e.deviceStorage,u=void 0===c?"local":c,l=e.deviceAge,f=void 0===l?30:l,d=e.sessionKey,_=void 0===d?"elbSessionId":d,v=e.sessionStorage,p=void 0===v?"local":v,g=e.pulse,y=void 0!==g&&g,m=I(e),h=!1,b=s(function(e,t,n){var r=L(e,n);return r||(r=i(8),P(e,r,1440*t,n)),String(r)})(a,f,u),w=s(function(e,n){var o=JSON.parse(String(L(e,n)));return y||(o.isNew=!1,m.marketing&&(Object.assign(o,m),h=!0),h||o.updated+6e4*r<t?(delete o.id,delete o.referrer,o.start=t,o.count++,o.runs=1,h=!0):o.runs++),o},function(){h=!0})(_,p)||{},j={id:i(12),start:t,isNew:!0,count:1,runs:1},k=Object.assign(j,m,w,{device:b},{isStart:h,storage:!0,updated:t},e.data);return P(_,JSON.stringify(k),2*r,p),k},I=function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=t.isStart||!1,r={isStart:n,storage:!1};if(!1===t.isStart)return r;if(!n&&"navigate"!==_sliced_to_array(performance.getEntriesByType("navigation"),1)[0].type)return r;var o=new URL(t.url||window.location.href),a=t.referrer||document.referrer,c=a&&new URL(a).hostname,s=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r="clickId",o={},a={utm_campaign:"campaign",utm_content:"content",utm_medium:"medium",utm_source:"source",utm_term:"term",dclid:r,fbclid:r,gclid:r,msclkid:r,ttclid:r,twclid:r,igshid:r,sclid:r};return Object.entries(e(a,n)).forEach(function(e){var n=_sliced_to_array(e,2),a=n[0],i=n[1],c=t.searchParams.get(a);c&&(i===r&&(i=a,o[r]=a),o[i]=c)}),o}(o,t.parameters);if(Object.keys(s).length&&(s.marketing||(s.marketing=!0),n=!0),!n){var u=t.domains||[];u.push(o.hostname),n=!u.includes(c)}return n?Object.assign({isStart:n,storage:!1,start:Date.now(),id:i(12),referrer:c},s,t.data):r},U=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({},Je,n);var r=Object.entries(t).reduce(function(t,r){var o=_sliced_to_array(r,2),a=o[0],i=o[1],c=e[a];return n.merge&&Array.isArray(c)&&Array.isArray(i)?t[a]=i.reduce(function(e,t){return e.includes(t)?e:_to_consumable_array(e).concat([t])},_to_consumable_array(c)):(n.extend||a in e)&&(t[a]=i),t},{});return n.shallow?_object_spread({},e,r):(Object.assign(e,r),e)},D=function(e){return Array.isArray(e)},R=function(e){return e===document||_instanceof(e,Element)},W=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!D(e)&&"[object Object]"===Object.prototype.toString.call(e)},T=function(e){return"string"==typeof e},N=function(e){if("true"===e)return!0;if("false"===e)return!1;var t=Number(e);return e==t&&""!==e?t:String(e)},X=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()}}},M=function(e){return e?e.trim().replace(/^'|'$/g,"").trim():""},G=function(e,t){return e+(null!=t?(!(arguments.length>2&&void 0!==arguments[2])||arguments[2]?"-":"")+t:"")},H=function(e,t,n){return Z(x(t,G(e,n,!(arguments.length>3&&void 0!==arguments[3])||arguments[3]))||"").reduce(function(e,n){var r=_sliced_to_array(ee(n),2),o=r[0],a=r[1];if(!o)return e;if(a||(o.endsWith(":")&&(o=o.slice(0,-1)),a=""),a.startsWith("#")){a=a.slice(1);try{var i=t[a];i||"selected"!==a||(i=t.options[t.selectedIndex].text),a=String(i)}catch(i){a=""}}return o.endsWith("[]")?(o=o.slice(0,-2),D(e[o])||(e[o]=[]),e[o].push(N(a))):e[o]=N(a),e},{})},B=function(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ge.Commands.Prefix,r=e||("undefined"!=typeof document?document.body:void 0);if(!r)return[];var o=[],a=Ge.Commands.Action,i="[".concat(G(n,a,!1),"]"),c=function(e){Object.keys(H(n,e,a,!1)).forEach(function(t){o=o.concat(K(e,t,n))})};return r!==("undefined"!=typeof document?document:null)&&(null==(t=r.matches)?void 0:t.call(r,i))&&c(r),Q(r,i,c),o},K=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Ge.Commands.Prefix,r=[],o=function(e,t,n){for(var r=t;r;){var o=x(r,G(e,Ge.Commands.Actions,!1));if(o){var a=z(o);if(a[n])return{actions:a[n],nearestOnly:!1}}var i=x(r,G(e,Ge.Commands.Action,!1));if(i){var c=z(i);if(c[n]||"click"!==n)return{actions:c[n]||[],nearestOnly:!0}}r=V(e,r)}return{actions:[],nearestOnly:!1}}(n,e,t),a=o.actions,i=o.nearestOnly;return a.length?(a.forEach(function(o){var a=Z(o.actionParams||"",",").reduce(function(e,t){return e[M(t)]=!0,e},{}),c=Y(n,e,a,i);if(!c.length){var s="page",u="[".concat(G(n,s),"]"),l=_sliced_to_array($(e,u,n,s),2),f=l[0],d=l[1];c.push({entity:s,data:f,nested:[],context:d})}c.forEach(function(e){r.push({entity:e.entity,action:o.action,data:e.data,trigger:t,context:e.context,nested:e.nested})})}),r):r},F=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Ge.Commands.Prefix,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:document,n=G(e,Ge.Commands.Globals,!1),r={};return Q(t,"[".concat(n,"]"),function(t){r=U(r,H(e,t,Ge.Commands.Globals,!1))}),r},J=function(e,t){var n=window.location,r="page",o=t===document?document.body:t,a=_sliced_to_array($(o,"[".concat(G(e,r),"]"),e,r),2),i=a[0],c=a[1];return i.domain=n.hostname,i.title=document.title,i.referrer=document.referrer,n.search&&(i.search=n.search),n.hash&&(i.hash=n.hash),[i,c]},z=function(e){var t={};return Z(e).forEach(function(e){var n=_sliced_to_array(ee(e),2),r=n[0],o=n[1],a=_sliced_to_array(te(r),2),i=a[0],c=a[1];if(i){var s=_sliced_to_array(te(o||""),2),u=s[0],l=s[1];u=u||i,t[i]||(t[i]=[]),t[i].push({trigger:i,triggerParams:c,action:u,actionParams:l})}}),t},Y=function(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=[],a=t;for(n=0!==Object.keys(n||{}).length?n:void 0;a;){var i=ze(e,a,t,n);if(i&&(o.push(i),r))break;a=V(e,a)}return o},V=function(e,t){var n=G(e,Ge.Commands.Link,!1);if(t.matches("[".concat(n,"]"))){var r=_sliced_to_array(ee(x(t,n)),2),o=r[0];if("child"===r[1])return document.querySelector("[".concat(n,'="').concat(o,':parent"]'))}return!t.parentElement&&t.getRootNode&&_instanceof(t.getRootNode(),ShadowRoot)?t.getRootNode().host:t.parentElement},$=function(e,t,n,r){for(var o={},a={},i=e,c="[".concat(G(n,Ge.Commands.Context,!1),"]"),s=0;i;)i.matches(t)&&(o=U(H(n,i,""),o),o=U(H(n,i,r),o)),i.matches(c)&&(Object.entries(H(n,i,Ge.Commands.Context,!1)).forEach(function(e){var t=_sliced_to_array(e,2),n=t[0],r=t[1];r&&!a[n]&&(a[n]=[r,s])}),++s),i=V(n,i);return[o,a]},Q=function(e,t,n){e.querySelectorAll(t).forEach(n)},Z=function(e){if(!e)return[];var t=new RegExp("(?:[^".concat(arguments.length>1&&void 0!==arguments[1]?arguments[1]:";","']+|'[^']*')+"),"ig");return e.match(t)||[]},ee=function(e){var t=_sliced_to_array(e.split(/:(.+)/,2),2),n=t[0],r=t[1];return[M(n),M(r)]},te=function(e){var t=_sliced_to_array(e.split("(",2),2),n=t[0],r=t[1];return[n,r?r.slice(0,-1):""]},ne=function(e){var t=Date.now(),n=$e.get(e);return(!n||t-n.lastChecked>500)&&(n={isVisible:C(e),lastChecked:t},$e.set(e,n)),n.isVisible},re=function(e){if(window.IntersectionObserver)return X(function(){return new window.IntersectionObserver(function(t){t.forEach(function(t){!function(e,t){var n,r,o=t.target,a=Qe.get(e);if(a){var i=a.timers.get(o);if(t.intersectionRatio>0){var c=Date.now(),s=Ve.get(o);if((!s||c-s.lastChecked>1e3)&&(s={isLarge:o.offsetHeight>window.innerHeight,lastChecked:c},Ve.set(o,s)),t.intersectionRatio>=.5||s.isLarge&&ne(o)){var u=null==(n=a.elementConfigs)?void 0:n.get(o);if((null==u?void 0:u.multiple)&&u.blocked)return;if(!i){var l=window.setTimeout(function(){return _async_to_generator(function(){var t,n,r,i;return _ts_generator(this,function(c){switch(c.label){case 0:return ne(o)?(r=null==(t=a.elementConfigs)?void 0:t.get(o),(null==r?void 0:r.context)?[4,le(r.context,o,r.trigger)]:[3,2]):[3,3];case 1:c.sent(),c.label=2;case 2:(null==(i=null==(n=a.elementConfigs)?void 0:n.get(o))?void 0:i.multiple)?i.blocked=!0:function(e,t){var n=Qe.get(e);if(n){n.observer&&n.observer.unobserve(t);var r=n.timers.get(t);r&&(clearTimeout(r),n.timers.delete(t)),Ve.delete(t),$e.delete(t)}}(e,o),c.label=3;case 3:return[2]}})})()},a.duration);a.timers.set(o,l)}return}}i&&(clearTimeout(i),a.timers.delete(o));var f=null==(r=a.elementConfigs)?void 0:r.get(o);(null==f?void 0:f.multiple)&&(f.blocked=!1)}}(e,t)})},{rootMargin:"0px",threshold:[0,.5]})},function(){})()},oe=function(e,t){var n,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{multiple:!1},o=e.settings.scope||document,a=Qe.get(o);(null==a?void 0:a.observer)&&t&&(a.elementConfigs||(a.elementConfigs=new WeakMap),a.elementConfigs.set(t,{multiple:null!=(n=r.multiple)&&n,blocked:!1,context:e,trigger:r.multiple?"visible":"impression"}),a.observer.observe(t))},ae=function(e){if(e){var t=Qe.get(e);t&&(t.observer&&t.observer.disconnect(),Qe.delete(e))}},ie=function(e,t,n,r,o,a,i){var c=e.elb,s=e.settings;if(T(t)&&t.startsWith("walker "))return c(t,n);if(W(t)){var u=t;return u.source||(u.source=ce()),u.globals||(u.globals=F(s.prefix,s.scope||document)),c(u)}var l,f=_sliced_to_array(String(W(t)?t.name:t).split(" "),1)[0],d=W(n)?n:{},_={},v=!1;if(R(n)&&(l=n,v=!0),R(o)?l=o:W(o)&&Object.keys(o).length&&(_=o),l){var p=Y(s.prefix||"data-elb",l).find(function(e){return e.entity===f});p&&(v&&(d=p.data),_=p.context)}"page"===f&&(d.id=d.id||window.location.pathname);var g=F(s.prefix,s.scope);return c({name:String(t||""),data:d,context:_,globals:g,nested:a,custom:i,trigger:T(r)?r:"",source:ce()})},ce=function(){return{type:"browser",id:window.location.href,previous_id:document.referrer}},se=function(e,t){var n,r;t.scope&&(n=e,(r=t.scope)&&(r.addEventListener("click",X(function(e){de.call(this,n,e)})),r.addEventListener("submit",X(function(e){_e.call(this,n,e)}))))},ue=function(e,t){t.scope&&function(e,t){var n=t.scope;Ze=[];var r=n||document;ae(r),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3;Qe.has(e)||Qe.set(e,{observer:re(e),timers:new WeakMap,duration:t})}(r,1e3);var o,a,i,c=G(t.prefix,Ge.Commands.Action,!1);r!==document&&fe(e,r,c,t),r.querySelectorAll("[".concat(c,"]")).forEach(function(n){fe(e,n,c,t)}),Ze.length&&(o=e,a=r,i=function(e,t){return e.filter(function(e){var n=_sliced_to_array(e,2),r=n[0],o=n[1],a=window.scrollY+window.innerHeight,i=r.offsetTop;if(a<i)return!0;var c=r.clientHeight;return!(100*(1-(i+c-a)/(c||1))>=o&&(le(t,r,ot),1))})},Ye||(Ye=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3,n=null;return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];if(null===n)return n=setTimeout(function(){n=null},t),e.apply(void 0,_to_consumable_array(o))}}(function(){Ze=i.call(a,Ze,o)}),a.addEventListener("scroll",Ye)))}(e,t)},le=function(e,t,n){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){return r=K(t,n,e.settings.prefix),[2,Promise.all(r.map(function(t){return ie(e,_object_spread_props(_object_spread({name:"".concat(t.entity," ").concat(t.action)},t),{trigger:n}))}))]})})()},fe=function(e,t,n,r){var o=x(t,n);o&&Object.values(z(o)).forEach(function(n){return n.forEach(function(n){switch(n.trigger){case tt:r=e,t.addEventListener("mouseenter",X(function(e){_instanceof(e.target,Element)&&le(r,e.target,tt)}));break;case nt:!function(e,t){le(e,t,nt)}(e,t);break;case rt:!function(e,t){setInterval(function(){document.hidden||le(e,t,rt)},parseInt((arguments.length>2&&void 0!==arguments[2]?arguments[2]:"")||"")||15e3)}(e,t,n.triggerParams);break;case ot:!function(e){var t=parseInt((arguments.length>1&&void 0!==arguments[1]?arguments[1]:"")||"")||50;t<0||t>100||Ze.push([e,t])}(t,n.triggerParams);break;case it:oe(e,t);break;case ct:oe(e,t,{multiple:!0});break;case st:!function(e,t){setTimeout(function(){return le(e,t,st)},parseInt((arguments.length>2&&void 0!==arguments[2]?arguments[2]:"")||"")||15e3)}(e,t,n.triggerParams)}var r})})},de=function(e,t){le(e,t.target,et)},_e=function(e,t){t.target&&le(e,t.target,at)},ve=function(e,t,n,r){var o=[],a=!0;n.forEach(function(e){var t,n=ge(e)?_to_consumable_array(Array.from(e)):null!=(t=e)&&"object"==(void 0===t?"undefined":_type_of(t))&&"length"in t&&"number"==typeof t.length?Array.from(e):[e];if((!Array.isArray(n)||0!==n.length)&&(!Array.isArray(n)||1!==n.length||n[0])){var i=n[0],c=!W(i)&&T(i)&&i.startsWith("walker ");if(W(i)){if("object"==(void 0===i?"undefined":_type_of(i))&&0===Object.keys(i).length)return}else{var s=Array.from(n);if(!T(s[0])||""===s[0].trim())return;a&&"walker run"===s[0]&&(a=!1)}(r&&c||!r&&!c)&&o.push(n)}}),o.forEach(function(n){pe(e,t,n)})},pe=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"data-elb",n=arguments.length>2?arguments[2]:void 0;X(function(){if(Array.isArray(n)){var r=_to_array(n),o=r[0],a=r.slice(1);if(!o||T(o)&&""===o.trim())return;if(T(o)&&o.startsWith("walker "))return void e(o,a[0]);ie.apply(void 0,[{elb:e,settings:{prefix:t,scope:document,pageview:!1,session:!1,elb:"",elbLayer:!1}},o].concat(_to_consumable_array(a)))}else if(n&&"object"==(void 0===n?"undefined":_type_of(n))){if(0===Object.keys(n).length)return;e(n)}},function(){})()},ge=function(e){return null!=e&&"object"==(void 0===e?"undefined":_type_of(e))&&"[object Arguments]"===Object.prototype.toString.call(e)},ye=function(e){return function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.cb,o=e.consent,i=e.collector,c=e.storage,s=(null==i?void 0:i.push)||He;if(!o)return A((c?q:I)(e),i,r);var u,l,f,d=(u=e,l=r,function(e,r){if(!n(f)||f!==(null==e?void 0:e.group)){f=null==e?void 0:e.group;var o=function(){return I(u)};if(u.consent){var i=(t(u.consent)?u.consent:[u.consent]).reduce(function(e,t){return _object_spread_props(_object_spread({},e),_define_property({},t,!0))},{});a(i,r)&&(o=function(){return q(u)})}return A(o(),e,l)}});s("walker on","consent",(t(o)?o:[o]).reduce(function(e,t){return _object_spread_props(_object_spread({},e),_define_property({},t,d))},{}))}(_object_spread_props(_object_spread({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}),{collector:{push:e,group:void 0}}))},me=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2?arguments[2]:void 0;if(!n.filter||!0!==s(function(){return n.filter(a)},function(){return!1})()){var i,c,u=r(i=a)&&o(i.event)?_object_spread({name:i.event},_object_without_properties(i,["event"])):t(i)&&i.length>=2?he(i):null!=(c=i)&&"object"==(void 0===c?"undefined":_type_of(c))&&"length"in c&&"number"==typeof c.length&&c.length>0?he(Array.from(i)):null;if(u){var l={name:"".concat(n.prefix||"dataLayer"," ").concat(u.name),data:u,context:{},globals:{},custom:{},consent:{},nested:[],user:{},id:Math.random().toString(36).substring(2,15),trigger:"",entity:"",action:"",timestamp:Date.now(),timing:0,group:"",count:0,version:{source:"1.0.0",tagging:2},source:{type:"dataLayer",id:"",previous_id:""}};s(function(){return e(l)},function(){})()}}},he=function(e){var t=_sliced_to_array(e,3),n=t[0],a=t[1],i=t[2];if(!o(n))return null;var c,s={};switch(n){case"consent":if(!o(a)||e.length<3)return null;if("default"!==a&&"update"!==a)return null;if(!r(i)||null===i)return null;c="".concat(n," ").concat(a),s=_object_spread({},i);break;case"event":if(!o(a))return null;c=a,r(i)&&(s=_object_spread({},i));break;case"config":if(!o(a))return null;c="".concat(n," ").concat(a),r(i)&&(s=_object_spread({},i));break;case"set":if(o(a))c="".concat(n," ").concat(a),r(i)&&(s=_object_spread({},i));else{if(!r(a))return null;c="".concat(n," custom"),s=_object_spread({},a)}break;default:return null}return _object_spread({name:c},s)},be=function(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]},we=function(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]},je=function(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]},ke=function(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]},Se=function(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]},Oe=function(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]},Ee=function(){return["set",{currency:"EUR",country:"DE"}]},xe=function(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}},Ce=function(){window.dataLayer=window.dataLayer||[];var e=function(e){r(e)&&r(e.source)&&String(e.source.type).includes("dataLayer")||window.dataLayer.push(e)};return{type:"dataLayer",config:{},push:function(t,n){e(n.data||t)},pushBatch:function(t){e({name:"batch",batched_event:t.key,events:t.data.length?t.data:t.events})}}},Ae=function(){return _async_to_generator(function(){var t,n,o,a,i,c,s=arguments;return _ts_generator(this,function(u){switch(u.label){case 0:return t=s.length>0&&void 0!==s[0]?s[0]:{},n={collector:{destinations:{dataLayer:{code:Ce()}}},browser:{run:!0,session:!0},dataLayer:!1,elb:"elb"},o=e(n,t),a=_object_spread_props(_object_spread({},o.collector),{sources:{browser:{code:_t,config:{settings:o.browser},env:{window:"undefined"!=typeof window?window:void 0,document:"undefined"!=typeof document?document:void 0}}}}),o.dataLayer&&(i=r(o.dataLayer)?o.dataLayer:{},a.sources&&(a.sources.dataLayer={code:Ct,config:{settings:i}})),[4,E(a)];case 1:return c=u.sent(),"undefined"!=typeof window&&(o.elb&&(window[o.elb]=c.elb),o.name&&(window[o.name]=c.collector)),[2,c]}})}).apply(this,arguments)},Le=Object.defineProperty,Pe=Object.getOwnPropertyDescriptor,qe=Object.getOwnPropertyNames,Ie=Object.prototype.hasOwnProperty,Ue={};!function(e,t){for(var n in t)Le(e,n,{get:t[n],enumerable:!0})}(Ue,{Walkerjs:function(){return At},createWalkerjs:function(){return Ae},default:function(){return Lt},getAllEvents:function(){return B},getEvents:function(){return K},getGlobals:function(){return F}});var De={Utils:{Storage:{Local:"local",Session:"session",Cookie:"cookie"}}},Re={merge:!0,shallow:!0,extend:!0};function We(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]=We(e[o],t));return r}if("[object Array]"===n){var a=[];return t.set(e,a),e.forEach(function(e){a.push(We(e,t))}),a}if("[object Date]"===n)return new Date(e.getTime());if("[object RegExp]"===n){var i=e;return new RegExp(i.source,i.flags)}return e}function Te(e){for(var r=arguments.length>2?arguments[2]:void 0,o=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"").split("."),a=e,i=0;i<o.length;i++){var c=o[i];if("*"===c&&t(a)){var s=o.slice(i+1).join("."),u=[],l=!0,f=!1,d=void 0;try{for(var _,v=a[Symbol.iterator]();!(l=(_=v.next()).done);l=!0){var p=Te(_.value,s,r);u.push(p)}}catch(e){f=!0,d=e}finally{try{l||null==v.return||v.return()}finally{if(f)throw d}}return u}if(!(a=_instanceof(a,Object)?a[c]:void 0))break}return n(a)?a:r}function Ne(e){return function(e){return"boolean"==typeof e}(e)||o(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!n(e)||t(e)&&e.every(Ne)||r(e)&&Object.values(e).every(Ne)}function Xe(e,r){return _async_to_generator(function(e,r){var i,s,l,d=arguments;return _ts_generator(this,function(_){return s=(i=d.length>2&&void 0!==d[2]?d[2]:{}).collector,l=i.consent,[2,(t(r)?r:[r]).reduce(function(r,d){return _async_to_generator(function(){var _,v,p,g,y,m,h,b,w,j,k,S,O,E,x,C,A,L,P,q,I;return _ts_generator(this,function(U){switch(U.label){case 0:return[4,r];case 1:return(_=U.sent())?[2,_]:(v=o(d)?{key:d}:d,Object.keys(v).length?(p=v.condition,g=v.consent,y=v.fn,m=v.key,h=v.loop,b=v.map,w=v.set,j=v.validate,k=v.value,(S=p)?[4,u(p)(e,d,s)]:[3,3]):[2]);case 2:S=!U.sent(),U.label=3;case 3:return S?[2]:g&&!a(g,l)?[2,k]:(O=n(k)?k:e,y?[4,u(y)(e,d,i)]:[3,5]);case 4:O=U.sent(),U.label=5;case 5:return m&&(O=Te(e,m,k)),h?(E=_sliced_to_array(h,2),x=E[0],C=E[1],"this"!==x?[3,6]:(L=[e],[3,8])):[3,11];case 6:return[4,f(e,x,i)];case 7:L=U.sent(),U.label=8;case 8:return t(A=L)?[4,Promise.all(A.map(function(e){return f(e,C,i)}))]:[3,10];case 9:O=U.sent().filter(n),U.label=10;case 10:return[3,17];case 11:return b?[4,Object.entries(b).reduce(function(t,r){var o=_sliced_to_array(r,2),a=o[0],c=o[1];return _async_to_generator(function(){var r,o;return _ts_generator(this,function(s){switch(s.label){case 0:return[4,t];case 1:return r=s.sent(),[4,f(e,c,i)];case 2:return o=s.sent(),[2,(n(o)&&(r[a]=o),r)]}})})()},Promise.resolve({}))]:[3,13];case 12:return O=U.sent(),[3,16];case 13:return(P=w)?[4,Promise.all(w.map(function(t){return Xe(e,t,i)}))]:[3,15];case 14:P=O=U.sent(),U.label=15;case 15:U.label=16;case 16:U.label=17;case 17:return(q=j)?[4,u(j)(O)]:[3,19];case 18:q=!U.sent(),U.label=19;case 19:return q&&(O=void 0),I=c(O),[2,n(I)?I:c(k)]}})})()},Promise.resolve(void 0))]})}).apply(this,arguments)}var Me={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",User:"user",Walker:"walker"},Ge={Commands:Me,Utils:{Storage:{Cookie:"cookie",Local:"local",Session:"session"}}},He=function(){var e=window;(e.elbLayer=e.elbLayer||[]).push(arguments)},Be=function(e,t){var n=(null==t?void 0:t.push)||He,r={};return e.id&&(r.session=e.id),e.storage&&e.device&&(r.device=e.device),n("walker user",r),e.isStart&&n({name:"session start",data:e}),e},Ke=Object.defineProperty,Fe=function(e,t){for(var n in t)Ke(e,n,{get:t[n],enumerable:!0})},Je={merge:!0,shallow:!0,extend:!0};function ze(e,t,n,r){var o=x(t,G(e));if(!o||r&&!r[o])return null;var a=[t],i="[".concat(G(e,o),"],[").concat(G(e,""),"]"),c=G(e,Ge.Commands.Link,!1),s={},u=[],l=_sliced_to_array($(n||t,i,e,o),2),f=l[0],d=l[1];Q(t,"[".concat(c,"]"),function(t){var n=_sliced_to_array(ee(x(t,c)),2),r=n[0];"parent"===n[1]&&Q(document.body,"[".concat(c,'="').concat(r,':child"]'),function(t){a.push(t);var n=ze(e,t);n&&u.push(n)})});var _=[];a.forEach(function(e){e.matches(i)&&_.push(e),Q(e,i,function(e){return _.push(e)})});var v={};return _.forEach(function(t){v=U(v,H(e,t,"")),s=U(s,H(e,t,o))}),s=U(U(v,s),f),a.forEach(function(t){Q(t,"[".concat(G(e),"]"),function(t){var n=ze(e,t);n&&u.push(n)})}),{entity:o,data:s,context:d,nested:u}}var Ye,Ve=new WeakMap,$e=new WeakMap,Qe=new WeakMap,Ze=[],et="click",tt="hover",nt="load",rt="pulse",ot="scroll",at="submit",it="impression",ct="visible",st="wait";Fe({},{env:function(){return ut}});var ut={};Fe(ut,{push:function(){return dt}});var lt={addEventListener:jest.fn(),removeEventListener:jest.fn(),location:{href:"https://example.com/page",pathname:"/page",search:"?query=test",hash:"#section",host:"example.com",hostname:"example.com",origin:"https://example.com",protocol:"https:"},document:{},navigator:{language:"en-US",userAgent:"Mozilla/5.0 (Test)"},screen:{width:1920,height:1080},innerWidth:1920,innerHeight:1080,pageXOffset:0,pageYOffset:0,scrollX:0,scrollY:0},ft={addEventListener:jest.fn(),removeEventListener:jest.fn(),querySelector:jest.fn(),querySelectorAll:jest.fn(function(){return[]}),getElementById:jest.fn(),getElementsByClassName:jest.fn(function(){return[]}),getElementsByTagName:jest.fn(function(){return[]}),createElement:jest.fn(function(){return{setAttribute:jest.fn(),getAttribute:jest.fn(),addEventListener:jest.fn(),removeEventListener:jest.fn()}}),body:{appendChild:jest.fn(),removeChild:jest.fn()},documentElement:{scrollTop:0,scrollLeft:0},readyState:"complete",title:"Test Page",referrer:"",cookie:""},dt={elb:jest.fn(),window:lt,document:ft},_t=function(e,t){return _async_to_generator(function(){var n,r,o,a,i,c,s,u,l,f;return _ts_generator(this,function(d){switch(d.label){case 0:return d.trys.push([0,3,,4]),n=t.elb,r=t.window,o=t.document,a=(null==e?void 0:e.settings)||{},i=r||(void 0!==globalThis.window?globalThis.window:void 0),c=o||(void 0!==globalThis.document?globalThis.document:void 0),s=function(){return _object_spread({prefix:"data-elb",pageview:!0,session:!0,elb:"elb",elbLayer:"elbLayer",scope:(arguments.length>1?arguments[1]:void 0)||void 0},arguments.length>0&&void 0!==arguments[0]?arguments[0]:{})}(a,c),u={settings:s},l={elb:n,settings:s},i&&c?(!1!==s.elbLayer&&function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.name||"elbLayer",r=t.window||("undefined"!=typeof window?window:void 0);if(r){var o=r;o[n]||(o[n]=[]);var a=o[n];a.push=function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];if(ge(r[0])){var a=_to_consumable_array(Array.from(r[0])),i=Array.prototype.push.apply(this,[a]);return pe(e,t.prefix,a),i}var c=Array.prototype.push.apply(this,r);return r.forEach(function(n){pe(e,t.prefix,n)}),c},Array.isArray(a)&&a.length>0&&function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"data-elb",n=arguments.length>2?arguments[2]:void 0;ve(e,t,n,!0),ve(e,t,n,!1),n.length=0}(e,t.prefix,a)}}(n,{name:T(s.elbLayer)?s.elbLayer:"elbLayer",prefix:s.prefix,window:i}),s.session&&(f="boolean"==typeof s.session?{}:s.session,ye(n,f)),[4,function(e,t,n){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){return r=function(){e(t,n)},"loading"!==document.readyState?r():document.addEventListener("DOMContentLoaded",r),[2]})})()}(se,l,s)]):[3,2];case 1:d.sent(),function(){if(ue(l,s),s.pageview){var e=_sliced_to_array(J(s.prefix||"data-elb",s.scope),2),t=e[0],n=e[1];ie(l,"page view",t,"load",n)}}(),T(s.elb)&&s.elb&&(i[s.elb]=function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=_sliced_to_array(t,6),o=r[0],a=r[1],i=r[2],c=r[3],s=r[4],u=r[5];return ie(l,o,a,i,c,s,u)}),d.label=2;case 2:return[2,{type:"browser",config:u,push:function(){for(var e=arguments.length,t=new Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=_sliced_to_array(t,6),o=r[0],a=r[1],i=r[2],c=r[3],s=r[4],u=r[5];return ie(l,o,a,i,c,s,u)},destroy:function(){return _async_to_generator(function(){return _ts_generator(this,function(e){return c&&ae(s.scope||c),[2]})})()},on:function(e,t){return _async_to_generator(function(){var r,o,a,u;return _ts_generator(this,function(f){switch(e){case"consent":s.session&&t&&(r="boolean"==typeof s.session?{}:s.session,ye(n,r));break;case"session":case"ready":default:break;case"run":c&&i&&(ue(l,s),s.pageview)&&(o=_sliced_to_array(J(s.prefix||"data-elb",s.scope),2),a=o[0],u=o[1],ie(l,"page view",a,"load",u))}return[2]})})()}}];case 3:throw d.sent();case 4:return[2]}})})()},vt=Object.defineProperty,pt=function(e,t){for(var n in t)vt(e,n,{get:t[n],enumerable:!0})},gt=!1;pt({},{push:function(){return mt}});var yt={dataLayer:[],addEventListener:jest.fn(),removeEventListener:jest.fn()},mt={elb:jest.fn(),window:yt};pt({},{add_to_cart:function(){return ke},config:function(){return Oe},consentDefault:function(){return we},consentUpdate:function(){return be},directDataLayerEvent:function(){return xe},purchase:function(){return je},setCustom:function(){return Ee},view_item:function(){return Se}});pt({},{add_to_cart:function(){return jt},config:function(){return Et},configGA4:function(){return St},consentOnlyMapping:function(){return xt},consentUpdate:function(){return bt},customEvent:function(){return Ot},purchase:function(){return wt},view_item:function(){return kt}});var ht,bt={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:function(e){return"granted"===e}},marketing:{key:"ad_storage",fn:function(e){return"granted"===e}}}}}},wt={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},jt={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},kt={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},St={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},Ot={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},Et={consent:{update:bt},purchase:wt,add_to_cart:jt,view_item:kt,"config G-XXXXXXXXXX":St,custom_event:Ot,"*":{data:{}}},xt={consent:{update:bt}},Ct=function(e,t){return _async_to_generator(function(){var n,r,o,a;return _ts_generator(this,function(i){try{return n=t.elb,r=t.window,o=_object_spread({name:"dataLayer",prefix:"dataLayer"},null==e?void 0:e.settings),a={settings:o},r&&(function(e,t){var n=t.settings,r=(null==n?void 0:n.name)||"dataLayer",o=window[r];if(Array.isArray(o)&&!gt){gt=!0;try{var a=!0,i=!1,c=void 0;try{for(var s,u=o[Symbol.iterator]();!(a=(s=u.next()).done);a=!0){var l=s.value;me(e,n,l)}}catch(e){i=!0,c=e}finally{try{a||null==u.return||u.return()}finally{if(i)throw c}}}finally{gt=!1}}}(n,a),function(e,t){var n=t.settings,r=(null==n?void 0:n.name)||"dataLayer";window[r]||(window[r]=[]);var o=window[r];if(Array.isArray(o)){var a=o.push.bind(o);o.push=function(){for(var t=arguments.length,r=new Array(t),o=0;o<t;o++)r[o]=arguments[o];if(gt)return a.apply(void 0,_to_consumable_array(r));gt=!0;try{var i=!0,c=!1,s=void 0;try{for(var u,l=r[Symbol.iterator]();!(i=(u=l.next()).done);i=!0){var f=u.value;me(e,n,f)}}catch(e){c=!0,s=e}finally{try{i||null==l.return||l.return()}finally{if(c)throw s}}}finally{gt=!1}return a.apply(void 0,_to_consumable_array(r))}}}(n,a)),[2,{type:"dataLayer",config:a,push:n,destroy:function(){return _async_to_generator(function(){var e;return _ts_generator(this,function(t){return e=o.name||"dataLayer",r&&r[e]&&Array.isArray(r[e]),[2]})})()}}]}catch(e){throw e}return[2]})})()},At={},Lt=Ae;return ht=Ue,function(e,t,n,r){if(t&&"object"===(void 0===t?"undefined":_type_of(t))||"function"==typeof t){var o=!0,a=!1,i=void 0;try{for(var c,s=function(){var o=c.value;Ie.call(e,o)||o===n||Le(e,o,{get:function(){return t[o]},enumerable:!(r=Pe(t,o))||r.enumerable})},u=qe(t)[Symbol.iterator]();!(o=(c=u.next()).done);o=!0)s()}catch(e){a=!0,i=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw i}}}return e}(Le({},"__esModule",{value:!0}),ht)}();
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e,
|
|
1
|
+
"use strict";var e,t=Object.defineProperty,r=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.prototype.hasOwnProperty,n={};((e,r)=>{for(var a in r)t(e,a,{get:r[a],enumerable:!0})})(n,{Walkerjs:()=>w,createWalkerjs:()=>y,default:()=>b,getAllEvents:()=>d.getAllEvents,getEvents:()=>d.getEvents,getGlobals:()=>d.getGlobals}),module.exports=(e=n,((e,n,s,c)=>{if(n&&"object"==typeof n||"function"==typeof n)for(let d of a(n))o.call(e,d)||d===s||t(e,d,{get:()=>n[d],enumerable:!(c=r(n,d))||c.enumerable});return e})(t({},"__esModule",{value:!0}),e));var s=require("@walkeros/collector"),c=require("@walkeros/core"),d=require("@walkeros/web-source-browser"),i=require("@walkeros/web-source-datalayer"),l=require("@walkeros/core");function u(){window.dataLayer=window.dataLayer||[];const e=e=>{(0,l.isObject)(e)&&(0,l.isObject)(e.source)&&String(e.source.type).includes("dataLayer")||window.dataLayer.push(e)};return{type:"dataLayer",config:{},push:(t,r)=>{e(r.data||t)},pushBatch:t=>{e({name:"batch",batched_event:t.key,events:t.data.length?t.data:t.events})}}}var w={};async function y(e={}){const t={collector:{destinations:{dataLayer:{code:u()}}},browser:{run:!0,session:!0},dataLayer:!1,elb:"elb"},r=(0,c.assign)(t,e),a={...r.collector,sources:{browser:{code:d.sourceBrowser,config:{settings:r.browser},env:{window:"undefined"!=typeof window?window:void 0,document:"undefined"!=typeof document?document:void 0}}}};if(r.dataLayer){const e=(0,c.isObject)(r.dataLayer)?r.dataLayer:{};a.sources&&(a.sources.dataLayer={code:i.sourceDataLayer,config:{settings:e}})}const o=await(0,s.startFlow)(a);return"undefined"!=typeof window&&(r.elb&&(window[r.elb]=o.elb),r.name&&(window[r.name]=o.collector)),o}var b=y;//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/destination.ts","../src/types/index.ts"],"sourcesContent":["import type { Config, Instance } from './types';\nimport type { Collector, Elb, WalkerOS } from '@walkeros/core';\nimport {
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/destination.ts","../src/types/index.ts"],"sourcesContent":["import type { Config, Instance } from './types';\nimport type { Collector, Elb, WalkerOS } from '@walkeros/core';\nimport { startFlow } from '@walkeros/collector';\nimport { assign, isObject } from '@walkeros/core';\nimport {\n sourceBrowser,\n getAllEvents,\n getEvents,\n getGlobals,\n SourceBrowser,\n} from '@walkeros/web-source-browser';\nimport { sourceDataLayer } from '@walkeros/web-source-datalayer';\nimport { dataLayerDestination } from './destination';\n\n// Re-export types\nexport * as Walkerjs from './types';\n\nexport { getAllEvents, getEvents, getGlobals };\n\n// Factory function to create walker.js instance\nexport async function createWalkerjs(config: Config = {}): Promise<Instance> {\n // Default configuration\n const defaultConfig: Config = {\n collector: {\n destinations: {\n dataLayer: { code: dataLayerDestination() },\n },\n },\n browser: {\n run: true,\n session: true,\n },\n dataLayer: false,\n elb: 'elb',\n };\n\n const fullConfig = assign(defaultConfig, config);\n\n // Build collector config with sources\n const collectorConfig: Collector.InitConfig = {\n ...fullConfig.collector,\n sources: {\n browser: {\n code: sourceBrowser,\n config: {\n settings: fullConfig.browser,\n },\n env: {\n window: typeof window !== 'undefined' ? window : undefined,\n document: typeof document !== 'undefined' ? document : undefined,\n },\n },\n },\n };\n\n // Add dataLayer source if configured\n if (fullConfig.dataLayer) {\n const dataLayerSettings = isObject(fullConfig.dataLayer)\n ? fullConfig.dataLayer\n : {};\n\n if (collectorConfig.sources) {\n collectorConfig.sources.dataLayer = {\n code: sourceDataLayer,\n config: {\n settings: dataLayerSettings,\n },\n };\n }\n }\n\n const flow = await startFlow<SourceBrowser.BrowserPush>(collectorConfig);\n\n // Set up global variables if configured (only in browser environments)\n if (typeof window !== 'undefined') {\n if (fullConfig.elb) window[fullConfig.elb] = flow.elb;\n if (fullConfig.name) window[fullConfig.name] = flow.collector;\n }\n\n return flow;\n}\n\n// Export factory function as default\nexport default createWalkerjs;\n","import type { Destination } from '@walkeros/core';\nimport type { DataLayer } from './types';\nimport { isObject } from '@walkeros/core';\n\nexport function dataLayerDestination(): Destination.Instance {\n window.dataLayer = window.dataLayer || [];\n const dataLayerPush = (event: unknown) => {\n // Do not process events from dataLayer source\n if (\n isObject(event) &&\n isObject(event.source) &&\n String(event.source.type).includes('dataLayer')\n )\n return;\n\n (window.dataLayer as DataLayer)!.push(event);\n };\n const destination: Destination.Instance = {\n type: 'dataLayer',\n config: {},\n push: (event, context) => {\n dataLayerPush(context.data || event);\n },\n pushBatch: (batch) => {\n dataLayerPush({\n name: 'batch',\n batched_event: batch.key,\n events: batch.data.length ? batch.data : batch.events,\n });\n },\n };\n\n return destination;\n}\n","import type { Collector, Source, WalkerOS } from '@walkeros/core';\nimport type { SourceBrowser } from '@walkeros/web-source-browser';\nimport type { SourceDataLayer } from '@walkeros/web-source-datalayer';\n\ndeclare global {\n interface Window {\n [key: string]: DataLayer;\n }\n}\n\n// Instance interface\nexport interface Instance {\n collector: Collector.Instance;\n elb: SourceBrowser.BrowserPush;\n}\n\n// Configuration interface\nexport interface Config {\n // Collector configuration\n collector?: Collector.InitConfig;\n\n // Browser source configuration\n browser?: Partial<SourceBrowser.Settings>;\n\n // DataLayer configuration\n dataLayer?: boolean | Partial<SourceDataLayer.Settings>;\n\n // Global configuration\n elb?: string; // Name for the global elb function\n name?: string; // Name for the global instance\n run?: boolean; // Auto-run on initialization (default: true)\n}\n\nexport type DataLayer = undefined | Array<unknown>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,uBAA0B;AAC1B,IAAAA,eAAiC;AACjC,gCAMO;AACP,kCAAgC;;;ACThC,kBAAyB;AAElB,SAAS,uBAA6C;AAC3D,SAAO,YAAY,OAAO,aAAa,CAAC;AACxC,QAAM,gBAAgB,CAAC,UAAmB;AAExC,YACE,sBAAS,KAAK,SACd,sBAAS,MAAM,MAAM,KACrB,OAAO,MAAM,OAAO,IAAI,EAAE,SAAS,WAAW;AAE9C;AAEF,IAAC,OAAO,UAAyB,KAAK,KAAK;AAAA,EAC7C;AACA,QAAM,cAAoC;AAAA,IACxC,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM,CAAC,OAAO,YAAY;AACxB,oBAAc,QAAQ,QAAQ,KAAK;AAAA,IACrC;AAAA,IACA,WAAW,CAAC,UAAU;AACpB,oBAAc;AAAA,QACZ,MAAM;AAAA,QACN,eAAe,MAAM;AAAA,QACrB,QAAQ,MAAM,KAAK,SAAS,MAAM,OAAO,MAAM;AAAA,MACjD,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AACT;;;ACjCA;;;AFoBA,eAAsB,eAAe,SAAiB,CAAC,GAAsB;AAE3E,QAAM,gBAAwB;AAAA,IAC5B,WAAW;AAAA,MACT,cAAc;AAAA,QACZ,WAAW,EAAE,MAAM,qBAAqB,EAAE;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,KAAK;AAAA,MACL,SAAS;AAAA,IACX;AAAA,IACA,WAAW;AAAA,IACX,KAAK;AAAA,EACP;AAEA,QAAM,iBAAa,qBAAO,eAAe,MAAM;AAG/C,QAAM,kBAAwC;AAAA,IAC5C,GAAG,WAAW;AAAA,IACd,SAAS;AAAA,MACP,SAAS;AAAA,QACP,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,UAAU,WAAW;AAAA,QACvB;AAAA,QACA,KAAK;AAAA,UACH,QAAQ,OAAO,WAAW,cAAc,SAAS;AAAA,UACjD,UAAU,OAAO,aAAa,cAAc,WAAW;AAAA,QACzD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,MAAI,WAAW,WAAW;AACxB,UAAM,wBAAoB,uBAAS,WAAW,SAAS,IACnD,WAAW,YACX,CAAC;AAEL,QAAI,gBAAgB,SAAS;AAC3B,sBAAgB,QAAQ,YAAY;AAAA,QAClC,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,UAAU;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,OAAO,UAAM,4BAAqC,eAAe;AAGvE,MAAI,OAAO,WAAW,aAAa;AACjC,QAAI,WAAW,IAAK,QAAO,WAAW,GAAG,IAAI,KAAK;AAClD,QAAI,WAAW,KAAM,QAAO,WAAW,IAAI,IAAI,KAAK;AAAA,EACtD;AAEA,SAAO;AACT;AAGA,IAAO,gBAAQ;","names":["import_core"]}
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var e,t,n=Object.getOwnPropertyNames,r=(e={"package.json"(e,t){t.exports={name:"@walkeros/core",description:"Core types and platform-agnostic utilities for walkerOS",version:"0.1.1",main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",license:"MIT",files:["dist/**"],scripts:{build:"tsup --silent",clean:"rm -rf .turbo && rm -rf node_modules && rm -rf dist",dev:"jest --watchAll --colors",lint:'tsc && eslint "**/*.ts*"',test:"jest",update:"npx npm-check-updates -u && npm update"},dependencies:{},devDependencies:{},repository:{url:"git+https://github.com/elbwalker/walkerOS.git",directory:"packages/core"},author:"elbwalker <hello@elbwalker.com>",homepage:"https://github.com/elbwalker/walkerOS#readme",bugs:{url:"https://github.com/elbwalker/walkerOS/issues"},keywords:["walker","walkerOS","analytics","tracking","data collection","measurement","data privacy","privacy friendly","web analytics","product analytics","core","types","utils"],funding:[{type:"GitHub Sponsors",url:"https://github.com/sponsors/elbwalker"}]}}},function(){return t||(0,e[n(e)[0]])((t={exports:{}}).exports,t),t.exports}),o={Storage:{Local:"local",Session:"session",Cookie:"cookie"}},i={merge:!0,shallow:!0,extend:!0};function s(e,t={},n={}){n={...i,...n};const r=Object.entries(t).reduce((t,[r,o])=>{const i=e[r];return n.merge&&Array.isArray(i)&&Array.isArray(o)?t[r]=o.reduce((e,t)=>e.includes(t)?e:[...e,t],[...i]):(n.extend||r in e)&&(t[r]=o),t},{});return n.shallow?{...e,...r}:(Object.assign(e,r),e)}function a(e){return Array.isArray(e)}function c(e){return void 0!==e}function u(e){return"object"==typeof e&&null!==e&&!a(e)&&"[object Object]"===Object.prototype.toString.call(e)}function l(e){return"string"==typeof e}function d(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 r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=d(e[r],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(d(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 f(e,t="",n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const t=r[e];if("*"===t&&a(o)){const t=r.slice(e+1).join("."),i=[];for(const e of o){const r=f(e,t,n);i.push(r)}return i}if(o=o instanceof Object?o[t]:void 0,!o)break}return c(o)?o:n}function p(e,t={},n={}){const r={...t,...n},o={};let i=void 0===e;return Object.keys(r).forEach(t=>{r[t]&&(o[t]=!0,e&&e[t]&&(i=!0))}),!!i&&o}var g,m,{version:y}=r();function h(e=6){let t="";for(let n=36;t.length<e;)t+=(Math.random()*n|0).toString(n);return t}function w(e){return function(e){return"boolean"==typeof e}(e)||l(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!c(e)||a(e)&&e.every(w)||u(e)&&Object.values(e).every(w)}function b(e){return w(e)?e:void 0}function v(e,t,n){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function k(e,t,n){return async function(...r){try{return await e(...r)}catch(e){if(!t)return;return await t(e)}finally{await(null==n?void 0:n())}}}async function S(e,t={},n={}){var r;if(!c(e))return;const o=u(e)&&e.consent||n.consent||(null==(r=n.collector)?void 0:r.consent),i=a(t)?t:[t];for(const t of i){const r=await k(j)(e,t,{...n,consent:o});if(c(r))return r}}async function j(e,t,n={}){const{collector:r,consent:o}=n;return(a(t)?t:[t]).reduce(async(t,i)=>{const s=await t;if(s)return s;const u=l(i)?{key:i}:i;if(!Object.keys(u).length)return;const{condition:d,consent:g,fn:m,key:y,loop:h,map:w,set:v,validate:x,value:O}=u;if(d&&!await k(d)(e,i,r))return;if(g&&!p(g,o))return O;let _=c(O)?O:e;if(m&&(_=await k(m)(e,i,n)),y&&(_=f(e,y,O)),h){const[t,r]=h,o="this"===t?[e]:await S(e,t,n);a(o)&&(_=(await Promise.all(o.map(e=>S(e,r,n)))).filter(c))}else w?_=await Object.entries(w).reduce(async(t,[r,o])=>{const i=await t,s=await S(e,o,n);return c(s)&&(i[r]=s),i},Promise.resolve({})):v&&(_=await Promise.all(v.map(t=>j(e,t,n))));x&&!await k(x)(_)&&(_=void 0);const E=b(_);return c(E)?E:b(O)},Promise.resolve(void 0))}function x(e,t,n){return function(...r){let o;const i="post"+t,s=n["pre"+t],a=n[i];return o=s?s({fn:e},...r):e(...r),a&&(o=a({fn:e,result:o},...r)),o}}var O=Object.getOwnPropertyNames,_=(g={"package.json"(e,t){t.exports={name:"@walkeros/collector",description:"Unified platform-agnostic collector for walkerOS",version:"0.1.1",main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",license:"MIT",files:["dist/**"],scripts:{build:"tsup --silent",clean:"rm -rf .turbo && rm -rf node_modules && rm -rf dist",dev:"jest --watchAll --colors",lint:'tsc && eslint "**/*.ts*"',test:"jest",update:"npx npm-check-updates -u && npm update"},dependencies:{"@walkeros/core":"0.1.1"},devDependencies:{},repository:{url:"git+https://github.com/elbwalker/walkerOS.git",directory:"packages/collector"},author:"elbwalker <hello@elbwalker.com>",homepage:"https://github.com/elbwalker/walkerOS#readme",bugs:{url:"https://github.com/elbwalker/walkerOS/issues"},keywords:["walker","walkerOS","analytics","tracking","data collection","measurement","data privacy","privacy friendly","collector","event processing"],funding:[{type:"GitHub Sponsors",url:"https://github.com/sponsors/elbwalker"}]}}},function(){return m||(0,g[O(g)[0]])((m={exports:{}}).exports,m),m.exports}),E={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",User:"user",Walker:"walker"},L=E;function A(e,t,n,r){let o,i=n||[];switch(n||(i=e.on[t]||[]),t){case L.Consent:o=r||e.consent;break;case L.Session:o=e.session;break;case L.Ready:case L.Run:default:o=void 0}if(Object.values(e.sources).forEach(e=>{e.on&&v(e.on)(t,o)}),Object.values(e.destinations).forEach(e=>{e.on&&v(e.on)(t,o)}),i.length)switch(t){case L.Consent:!function(e,t,n){const r=n||e.consent;t.forEach(t=>{Object.keys(r).filter(e=>e in t).forEach(n=>{v(t[n])(e,r)})})}(e,i,r);break;case L.Ready:case L.Run:a=i,(s=e).allowed&&a.forEach(e=>{v(e)(s)});break;case L.Session:!function(e,t){e.session&&t.forEach(t=>{v(t)(e,e.session)})}(e,i)}var s,a}async function $(e,t,n,r){let o;switch(t){case L.Config:u(n)&&s(e.config,n,{shallow:!1});break;case L.Consent:u(n)&&(o=await async function(e,t){const{consent:n}=e;let r=!1;const o={};return Object.entries(t).forEach(([e,t])=>{const n=!!t;o[e]=n,r=r||n}),e.consent=s(n,o),A(e,"consent",void 0,o),r?q(e):R({ok:!0})}(e,n));break;case L.Custom:u(n)&&(e.custom=s(e.custom,n));break;case L.Destination:u(n)&&function(e){return"function"==typeof e}(n.push)&&(o=await async function(e,t,n){const{code:r,config:o={},env:i={}}=t,s=n||o||{init:!1},a={...r,config:s,env:I(r.env,i)};let c=a.config.id;if(!c)do{c=h(4)}while(e.destinations[c]);return e.destinations[c]=a,!1!==a.config.queue&&(a.queue=[...e.queue]),q(e,void 0,{[c]:a})}(e,{code:n},r));break;case L.Globals:u(n)&&(e.globals=s(e.globals,n));break;case L.On:l(n)&&function(e,t,n){const r=e.on,o=r[t]||[],i=a(n)?n:[n];i.forEach(e=>{o.push(e)}),r[t]=o,A(e,t,i)}(e,n,r);break;case L.Ready:A(e,"ready");break;case L.Run:o=await async function(e,t){e.allowed=!0,e.count=0,e.group=h(),e.timing=Date.now(),t&&(t.consent&&(e.consent=s(e.consent,t.consent)),t.user&&(e.user=s(e.user,t.user)),t.globals&&(e.globals=s(e.config.globalsStatic||{},t.globals)),t.custom&&(e.custom=s(e.custom,t.custom))),Object.values(e.destinations).forEach(e=>{e.queue=[]}),e.queue=[],e.round++;const n=await q(e);return A(e,"run"),n}(e,n);break;case L.Session:A(e,"session");break;case L.User:u(n)&&s(e.user,n,{shallow:!1})}return o||{ok:!0,successful:[],queued:[],failed:[]}}function C(e,t,n){return x(async(r,o,i)=>await k(async()=>{if("string"==typeof r&&r.startsWith("walker ")){const n=r.replace("walker ","");return await t(e,n,o,i)}{const s=n("string"==typeof r?{name:r}:r),{event:a,command:c}=function(e,t,n={}){const r=function(e){return typeof e==typeof""}(t)?{name:t,...n}:{...n,...t||{}};if(!r.name)throw new Error("Event name is required");const[o,i]=r.name.split(" ");if(!o||!i)throw new Error("Event name is invalid");if(o===E.Walker)return{command:i};++e.count;const{timestamp:s=Date.now(),group:a=e.group,count:c=e.count}=r,{name:u=`${o} ${i}`,data:l={},context:d={},globals:f=e.globals,custom:p={},user:g=e.user,nested:m=[],consent:y=e.consent,id:h=`${s}-${a}-${c}`,trigger:w="",entity:b=o,action:v=i,timing:k=0,version:S={source:e.version,tagging:e.config.tagging||0},source:j={type:"collector",id:"",previous_id:""}}=r;return{event:{name:u,data:l,context:d,globals:f,custom:p,user:g,nested:m,consent:y,id:h,trigger:w,entity:b,action:v,timestamp:s,timing:k,group:a,count:c,version:S,source:j}}}(e,s.name,s);return c?await t(e,c,o,i):await q(e,a)}},()=>R({ok:!1}))(),"Push",e.hooks)}async function q(e,t,n){const{allowed:r,consent:o,globals:i,user:a}=e;if(!r)return R({ok:!1});t&&e.queue.push(t),n||(n=e.destinations);const c=await Promise.all(Object.entries(n||{}).map(async([n,r])=>{let c=(r.queue||[]).map(e=>({...e,consent:o}));if(r.queue=[],t){let n=d(t);await Promise.all(Object.entries(r.config.policy||[]).map(async([r,o])=>{const i=await S(t,o,{collector:e});n=function(e,t,n){const r=d(e),o=t.split(".");let i=r;for(let e=0;e<o.length;e++){const t=o[e];e===o.length-1?i[t]=n:(t in i&&"object"==typeof i[t]&&null!==i[t]||(i[t]={}),i=i[t])}return r}(n,r,i)})),c.push(n)}if(!c.length)return{id:n,destination:r,skipped:!0};const u=[],l=c.filter(e=>{const t=p(r.config.consent,o,e.consent);return!t||(e.consent=t,u.push(e),!1)});if(r.queue.concat(l),!u.length)return{id:n,destination:r,queue:c};if(!await k(P)(e,r))return{id:n,destination:r,queue:c};let f=!1;return r.dlq||(r.dlq=[]),await Promise.all(u.map(async t=>(t.globals=s(i,t.globals),t.user=s(a,t.user),await k(D,n=>(e.config.onError&&e.config.onError(n,e),f=!0,r.dlq.push([t,n]),!1))(e,r,t),t))),{id:n,destination:r,error:f}})),u=[],l=[],f=[];for(const e of c){if(e.skipped)continue;const t=e.destination,n={id:e.id,destination:t};e.error?f.push(n):e.queue&&e.queue.length?(t.queue=(t.queue||[]).concat(e.queue),l.push(n)):u.push(n)}return R({ok:!f.length,event:t,successful:u,queued:l,failed:f})}async function P(e,t){if(t.init&&!t.config.init){const n={collector:e,config:t.config,env:I(t.env,t.config.env)},r=await x(t.init,"DestinationInit",e.hooks)(n);if(!1===r)return r;t.config={...r||t.config,init:!0}}return!0}async function D(e,t,n){var r;const{config:o}=t,{eventMapping:i,mappingKey:l}=await async function(e,t){var n;const[r,o]=(e.name||"").split(" ");if(!t||!r||!o)return{};let i,s="",c=r,u=o;const l=t=>{if(t)return(t=a(t)?t:[t]).find(t=>!t.condition||t.condition(e))};t[c]||(c="*");const d=t[c];return d&&(d[u]||(u="*"),i=l(d[u])),i||(c="*",u="*",i=l(null==(n=t[c])?void 0:n[u])),i&&(s=`${c} ${u}`),{eventMapping:i,mappingKey:s}}(n,o.mapping);let d=o.data&&await S(n,o.data,{collector:e});if(i){if(i.ignore)return!1;if(i.name&&(n.name=i.name),i.data){const t=i.data&&await S(n,i.data,{collector:e});d=u(d)&&u(t)?s(d,t):t}}const f={collector:e,config:o,data:d,mapping:i,env:I(t.env,o.env)};if((null==i?void 0:i.batch)&&t.pushBatch){const s=i.batched||{key:l||"",events:[],data:[]};s.events.push(n),c(d)&&s.data.push(d),i.batchFn=i.batchFn||function(e,t=1e3,n=!1){let r,o=null,i=!1;return(...s)=>new Promise(a=>{const c=n&&!i;o&&clearTimeout(o),o=setTimeout(()=>{o=null,n&&!i||(r=e(...s),a(r))},t),c&&(i=!0,r=e(...s),a(r))})}((e,t)=>{const n={collector:t,config:o,data:d,mapping:i,env:I(e.env,o.env)};x(e.pushBatch,"DestinationPushBatch",t.hooks)(s,n),s.events=[],s.data=[]},i.batch),i.batched=s,null==(r=i.batchFn)||r.call(i,t,e)}else await x(t.push,"DestinationPush",e.hooks)(n,f);return!0}function R(e){var t;return s({ok:!(null==(t=null==e?void 0:e.failed)?void 0:t.length),successful:[],queued:[],failed:[]},e)}function I(e,t){return e||t?t?e&&u(e)&&u(t)?{...e,...t}:t:e:{}}async function N(e={}){const t=await async function(e){const{version:t}=_(),n=s({globalsStatic:{},sessionStatic:{},tagging:0,verbose:!1,onLog:r,run:!0,sources:{},destinations:{},consent:{},user:{},globals:{},custom:{}},e,{merge:!1,extend:!1});function r(e,t){!function(e,t=!1){t&&console.dir(e,{depth:4})}({message:e},t||n.verbose)}n.onLog=r;const o={...n.globalsStatic,...n.globals},i={allowed:!1,config:n,consent:n.consent||{},count:0,custom:n.custom||{},destinations:{},globals:o,group:"",hooks:{},on:{},queue:[],round:0,session:void 0,timing:Date.now(),user:n.user||{},version:t,sources:{},push:void 0};return i.push=C(i,$,e=>({timing:Math.round((Date.now()-i.timing)/10)/100,source:{type:"collector",id:"",previous_id:""},...e})),i.sources=await async function(e,t={}){const n={};for(const[r,o]of Object.entries(t)){const{code:t,config:i={},env:s={}}=o,a={elb:(...t)=>e.push(...t),...s},c=await k(t)(i,a);c&&(n[r]=c)}return n}(i,n.sources),i.destinations=await async function(e,t={}){const n={};for(const[e,r]of Object.entries(t)){const{code:t,config:o={},env:i={}}=r,s={...t.config,...o},a=I(t.env,i);n[e]={...t,config:s,env:a}}return n}(0,n.destinations),i}(e),{consent:n,user:r,globals:o,custom:i}=e;return n&&await t.push("walker consent",n),r&&await t.push("walker user",r),o&&Object.assign(t.globals,o),i&&Object.assign(t.custom,i),t.config.run&&await t.push("walker run"),{collector:t,elb:t.push}}function W(e,t){return(e.getAttribute(t)||"").trim()}var X=function(){const e=window;(e.elbLayer=e.elbLayer||[]).push(arguments)};function M(e){const t=getComputedStyle(e);if("none"===t.display)return!1;if("visible"!==t.visibility)return!1;if(t.opacity&&Number(t.opacity)<.1)return!1;let n;const r=window.innerHeight,o=e.getBoundingClientRect(),i=o.height,s=o.y,a=s+i,c={x:o.x+e.offsetWidth/2,y:o.y+e.offsetHeight/2};if(i<=r){if(e.offsetWidth+o.width===0||e.offsetHeight+o.height===0)return!1;if(c.x<0)return!1;if(c.x>(document.documentElement.clientWidth||window.innerWidth))return!1;if(c.y<0)return!1;if(c.y>(document.documentElement.clientHeight||window.innerHeight))return!1;n=document.elementFromPoint(c.x,c.y)}else{const e=r/2;if(s<0&&a<e)return!1;if(a>r&&s>e)return!1;n=document.elementFromPoint(c.x,r/2)}if(n)do{if(n===e)return!0}while(n=n.parentElement);return!1}function U(e,t,n){return!1===n?e:(n||(n=G),n(e,t,G))}var T,H,G=(e,t)=>{const n=(null==t?void 0:t.push)||X,r={};return e.id&&(r.session=e.id),e.storage&&e.device&&(r.device=e.device),n("walker user",r),e.isStart&&n({name:"session start",data:e}),e};function B(e,t=o.Storage.Session){var n;function r(e){try{return JSON.parse(e||"")}catch(t){let n=1,r="";return e&&(n=0,r=e),{e:n,v:r}}}let i,s;switch(t){case o.Storage.Cookie:i=decodeURIComponent((null==(n=document.cookie.split("; ").find(t=>t.startsWith(e+"=")))?void 0:n.split("=")[1])||"");break;case o.Storage.Local:s=r(window.localStorage.getItem(e));break;case o.Storage.Session:s=r(window.sessionStorage.getItem(e))}return s&&(i=s.v,0!=s.e&&s.e<Date.now()&&(function(e,t=o.Storage.Session){switch(t){case o.Storage.Cookie:K(e,"",0,t);break;case o.Storage.Local:window.localStorage.removeItem(e);break;case o.Storage.Session:window.sessionStorage.removeItem(e)}}(e,t),i="")),function(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}(i||"")}function K(e,t,n=30,r=o.Storage.Session,i){const s={e:Date.now()+6e4*n,v:String(t)},a=JSON.stringify(s);switch(r){case o.Storage.Cookie:{t="object"==typeof t?JSON.stringify(t):t;let r=`${e}=${encodeURIComponent(t)}; max-age=${60*n}; path=/; SameSite=Lax; secure`;i&&(r+="; domain="+i),document.cookie=r;break}case o.Storage.Local:window.localStorage.setItem(e,a);break;case o.Storage.Session:window.sessionStorage.setItem(e,a)}return B(e,r)}function F(e={}){const t=Date.now(),{length:n=30,deviceKey:r="elbDeviceId",deviceStorage:o="local",deviceAge:i=30,sessionKey:s="elbSessionId",sessionStorage:a="local",pulse:c=!1}=e,u=J(e);let l=!1;const d=v((e,t,n)=>{let r=B(e,n);return r||(r=h(8),K(e,r,1440*t,n)),String(r)})(r,i,o),f=v((e,r)=>{const o=JSON.parse(String(B(e,r)));return c||(o.isNew=!1,u.marketing&&(Object.assign(o,u),l=!0),l||o.updated+6e4*n<t?(delete o.id,delete o.referrer,o.start=t,o.count++,o.runs=1,l=!0):o.runs++),o},()=>{l=!0})(s,a)||{},p={id:h(12),start:t,isNew:!0,count:1,runs:1},g=Object.assign(p,u,f,{device:d},{isStart:l,storage:!0,updated:t},e.data);return K(s,JSON.stringify(g),2*n,a),g}function J(e={}){let t=e.isStart||!1;const n={isStart:t,storage:!1};if(!1===e.isStart)return n;if(!t){const[e]=performance.getEntriesByType("navigation");if("navigate"!==e.type)return n}const r=new URL(e.url||window.location.href),o=e.referrer||document.referrer,i=o&&new URL(o).hostname,a=function(e,t={}){const n="clickId",r={},o={utm_campaign:"campaign",utm_content:"content",utm_medium:"medium",utm_source:"source",utm_term:"term",dclid:n,fbclid:n,gclid:n,msclkid:n,ttclid:n,twclid:n,igshid:n,sclid:n};return Object.entries(s(o,t)).forEach(([t,o])=>{const i=e.searchParams.get(t);i&&(o===n&&(o=t,r[n]=t),r[o]=i)}),r}(r,e.parameters);if(Object.keys(a).length&&(a.marketing||(a.marketing=!0),t=!0),!t){const n=e.domains||[];n.push(r.hostname),t=!n.includes(i)}return t?Object.assign({isStart:t,storage:!1,start:Date.now(),id:h(12),referrer:i},a,e.data):n}var z=Object.getOwnPropertyNames,V=(T={"package.json"(e,t){t.exports={name:"@walkeros/core",description:"Core types and platform-agnostic utilities for walkerOS",version:"0.1.1",main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",license:"MIT",files:["dist/**"],scripts:{build:"tsup --silent",clean:"rm -rf .turbo && rm -rf node_modules && rm -rf dist",dev:"jest --watchAll --colors",lint:'tsc && eslint "**/*.ts*"',test:"jest",update:"npx npm-check-updates -u && npm update"},dependencies:{},devDependencies:{},repository:{url:"git+https://github.com/elbwalker/walkerOS.git",directory:"packages/core"},author:"elbwalker <hello@elbwalker.com>",homepage:"https://github.com/elbwalker/walkerOS#readme",bugs:{url:"https://github.com/elbwalker/walkerOS/issues"},keywords:["walker","walkerOS","analytics","tracking","data collection","measurement","data privacy","privacy friendly","web analytics","product analytics","core","types","utils"],funding:[{type:"GitHub Sponsors",url:"https://github.com/sponsors/elbwalker"}]}}},function(){return H||(0,T[z(T)[0]])((H={exports:{}}).exports,H),H.exports}),Y={merge:!0,shallow:!0,extend:!0};function Q(e,t={},n={}){n={...Y,...n};const r=Object.entries(t).reduce((t,[r,o])=>{const i=e[r];return n.merge&&Array.isArray(i)&&Array.isArray(o)?t[r]=o.reduce((e,t)=>e.includes(t)?e:[...e,t],[...i]):(n.extend||r in e)&&(t[r]=o),t},{});return n.shallow?{...e,...r}:(Object.assign(e,r),e)}function Z(e){return Array.isArray(e)}function ee(e){return e===document||e instanceof Element}function te(e){return"object"==typeof e&&null!==e&&!Z(e)&&"[object Object]"===Object.prototype.toString.call(e)}function ne(e){return"string"==typeof e}function re(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}var{version:oe}=V();function ie(e,t,n){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function se(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function ae(e,t,n=!0){return e+(null!=t?(n?"-":"")+t:"")}function ce(e,t,n,r=!0){return be(W(t,ae(e,n,r))||"").reduce((e,n)=>{let[r,o]=ve(n);if(!r)return e;if(o||(r.endsWith(":")&&(r=r.slice(0,-1)),o=""),o.startsWith("#")){o=o.slice(1);try{let e=t[o];e||"selected"!==o||(e=t.options[t.selectedIndex].text),o=String(e)}catch(e){o=""}}return r.endsWith("[]")?(r=r.slice(0,-2),Z(e[r])||(e[r]=[]),e[r].push(re(o))):e[r]=re(o),e},{})}function ue(e,t=L.Prefix){var n;const r=e||("undefined"!=typeof document?document.body:void 0);if(!r)return[];let o=[];const i=L.Action,s=`[${ae(t,i,!1)}]`,a=e=>{Object.keys(ce(t,e,i,!1)).forEach(n=>{o=o.concat(le(e,n,t))})};return r!==("undefined"!=typeof document?document:null)&&(null==(n=r.matches)?void 0:n.call(r,s))&&a(r),we(r,s,a),o}function le(e,t,n=L.Prefix){const r=[],{actions:o,nearestOnly:i}=function(e,t,n){let r=t;for(;r;){const t=W(r,ae(e,L.Actions,!1));if(t){const e=pe(t);if(e[n])return{actions:e[n],nearestOnly:!1}}const o=W(r,ae(e,L.Action,!1));if(o){const e=pe(o);if(e[n]||"click"!==n)return{actions:e[n]||[],nearestOnly:!0}}r=ye(e,r)}return{actions:[],nearestOnly:!1}}(n,e,t);return o.length?(o.forEach(o=>{const s=be(o.actionParams||"",",").reduce((e,t)=>(e[se(t)]=!0,e),{}),a=ge(n,e,s,i);if(!a.length){const t="page",r=`[${ae(n,t)}]`,[o,i]=he(e,r,n,t);a.push({entity:t,data:o,nested:[],context:i})}a.forEach(e=>{r.push({entity:e.entity,action:o.action,data:e.data,trigger:t,context:e.context,nested:e.nested})})}),r):r}function de(e=L.Prefix,t=document){const n=ae(e,L.Globals,!1);let r={};return we(t,`[${n}]`,t=>{r=Q(r,ce(e,t,L.Globals,!1))}),r}function fe(e,t){const n=window.location,r="page",o=t===document?document.body:t,[i,s]=he(o,`[${ae(e,r)}]`,e,r);return i.domain=n.hostname,i.title=document.title,i.referrer=document.referrer,n.search&&(i.search=n.search),n.hash&&(i.hash=n.hash),[i,s]}function pe(e){const t={};return be(e).forEach(e=>{const[n,r]=ve(e),[o,i]=ke(n);if(!o)return;let[s,a]=ke(r||"");s=s||o,t[o]||(t[o]=[]),t[o].push({trigger:o,triggerParams:i,action:s,actionParams:a})}),t}function ge(e,t,n,r=!1){const o=[];let i=t;for(n=0!==Object.keys(n||{}).length?n:void 0;i;){const s=me(e,i,t,n);if(s&&(o.push(s),r))break;i=ye(e,i)}return o}function me(e,t,n,r){const o=W(t,ae(e));if(!o||r&&!r[o])return null;const i=[t],s=`[${ae(e,o)}],[${ae(e,"")}]`,a=ae(e,L.Link,!1);let c={};const u=[],[l,d]=he(n||t,s,e,o);we(t,`[${a}]`,t=>{const[n,r]=ve(W(t,a));"parent"===r&&we(document.body,`[${a}="${n}:child"]`,t=>{i.push(t);const n=me(e,t);n&&u.push(n)})});const f=[];i.forEach(e=>{e.matches(s)&&f.push(e),we(e,s,e=>f.push(e))});let p={};return f.forEach(t=>{p=Q(p,ce(e,t,"")),c=Q(c,ce(e,t,o))}),c=Q(Q(p,c),l),i.forEach(t=>{we(t,`[${ae(e)}]`,t=>{const n=me(e,t);n&&u.push(n)})}),{entity:o,data:c,context:d,nested:u}}function ye(e,t){const n=ae(e,L.Link,!1);if(t.matches(`[${n}]`)){const[e,r]=ve(W(t,n));if("child"===r)return document.querySelector(`[${n}="${e}:parent"]`)}return!t.parentElement&&t.getRootNode&&t.getRootNode()instanceof ShadowRoot?t.getRootNode().host:t.parentElement}function he(e,t,n,r){let o={};const i={};let s=e;const a=`[${ae(n,L.Context,!1)}]`;let c=0;for(;s;)s.matches(t)&&(o=Q(ce(n,s,""),o),o=Q(ce(n,s,r),o)),s.matches(a)&&(Object.entries(ce(n,s,L.Context,!1)).forEach(([e,t])=>{t&&!i[e]&&(i[e]=[t,c])}),++c),s=ye(n,s);return[o,i]}function we(e,t,n){e.querySelectorAll(t).forEach(n)}function be(e,t=";"){if(!e)return[];const n=new RegExp(`(?:[^${t}']+|'[^']*')+`,"ig");return e.match(n)||[]}function ve(e){const[t,n]=e.split(/:(.+)/,2);return[se(t),se(n)]}function ke(e){const[t,n]=e.split("(",2);return[t,n?n.slice(0,-1):""]}var Se=new WeakMap,je=new WeakMap,xe=new WeakMap;function Oe(e){const t=Date.now();let n=je.get(e);return(!n||t-n.lastChecked>500)&&(n={isVisible:M(e),lastChecked:t},je.set(e,n)),n.isVisible}function _e(e){if(window.IntersectionObserver)return ie(()=>new window.IntersectionObserver(t=>{t.forEach(t=>{!function(e,t){var n,r;const o=t.target,i=xe.get(e);if(!i)return;const s=i.timers.get(o);if(t.intersectionRatio>0){const r=Date.now();let a=Se.get(o);if((!a||r-a.lastChecked>1e3)&&(a={isLarge:o.offsetHeight>window.innerHeight,lastChecked:r},Se.set(o,a)),t.intersectionRatio>=.5||a.isLarge&&Oe(o)){const t=null==(n=i.elementConfigs)?void 0:n.get(o);if((null==t?void 0:t.multiple)&&t.blocked)return;if(!s){const t=window.setTimeout(async()=>{var t,n;if(Oe(o)){const r=null==(t=i.elementConfigs)?void 0:t.get(o);(null==r?void 0:r.context)&&await Ue(r.context,o,r.trigger);const s=null==(n=i.elementConfigs)?void 0:n.get(o);(null==s?void 0:s.multiple)?s.blocked=!0:function(e,t){const n=xe.get(e);if(!n)return;n.observer&&n.observer.unobserve(t);const r=n.timers.get(t);r&&(clearTimeout(r),n.timers.delete(t)),Se.delete(t),je.delete(t)}(e,o)}},i.duration);i.timers.set(o,t)}return}}s&&(clearTimeout(s),i.timers.delete(o));const a=null==(r=i.elementConfigs)?void 0:r.get(o);(null==a?void 0:a.multiple)&&(a.blocked=!1)}(e,t)})},{rootMargin:"0px",threshold:[0,.5]}),()=>{})()}function Ee(e,t,n={multiple:!1}){var r;const o=e.settings.scope||document,i=xe.get(o);(null==i?void 0:i.observer)&&t&&(i.elementConfigs||(i.elementConfigs=new WeakMap),i.elementConfigs.set(t,{multiple:null!=(r=n.multiple)&&r,blocked:!1,context:e,trigger:n.multiple?"visible":"impression"}),i.observer.observe(t))}function Le(e){if(!e)return;const t=xe.get(e);t&&(t.observer&&t.observer.disconnect(),xe.delete(e))}var Ae,$e=performance.now();function Ce(e,t,n,r,o,i,s){const{elb:a,settings:c}=e;if(ne(t)&&t.startsWith("walker "))return a(t,n);if(te(t)){const e=t;return e.source||(e.source=qe()),a(e)}const[u]=String(te(t)?t.name:t).split(" ");let l,d=te(n)?n:{},f={},p=!1;if(ee(n)&&(l=n,p=!0),ee(o)?l=o:te(o)&&Object.keys(o).length&&(f=o),l){const e=ge(c.prefix||"data-elb",l).find(e=>e.entity===u);e&&(p&&(d=e.data),f=e.context)}return"page"===u&&(d.id=d.id||window.location.pathname),a({name:String(t||""),data:d,context:f,nested:i,custom:s,trigger:ne(r)?r:"",timing:Math.round((performance.now()-$e)/10)/100,source:qe()})}function qe(){return{type:"browser",id:window.location.href,previous_id:document.referrer}}var Pe=[],De="hover",Re="load",Ie="pulse",Ne="scroll",We="wait";function Xe(e,t){t.scope&&function(e,t){const n=t.scope;n&&(n.addEventListener("click",ie(function(t){He.call(this,e,t)})),n.addEventListener("submit",ie(function(t){Ge.call(this,e,t)})))}(e,t)}function Me(e,t){t.scope&&function(e,t){const n=t.scope;Pe=[];const r=n||document;Le(r),function(e,t=1e3){xe.has(e)||xe.set(e,{observer:_e(e),timers:new WeakMap,duration:t})}(r,1e3);const o=ae(t.prefix,L.Action,!1);r!==document&&Te(e,r,o,t),r.querySelectorAll(`[${o}]`).forEach(n=>{Te(e,n,o,t)}),Pe.length&&function(e,t){const n=(e,t)=>e.filter(([e,n])=>{const r=window.scrollY+window.innerHeight,o=e.offsetTop;if(r<o)return!0;const i=e.clientHeight;return!(100*(1-(o+i-r)/(i||1))>=n&&(Ue(t,e,Ne),1))});Ae||(Ae=function(e,t=1e3){let n=null;return function(...r){if(null===n)return n=setTimeout(()=>{n=null},t),e(...r)}}(function(){Pe=n.call(t,Pe,e)}),t.addEventListener("scroll",Ae))}(e,r)}(e,t)}async function Ue(e,t,n){const r=le(t,n,e.settings.prefix);return Promise.all(r.map(t=>Ce(e,{name:`${t.entity} ${t.action}`,...t,trigger:n})))}function Te(e,t,n,r){const o=W(t,n);o&&Object.values(pe(o)).forEach(n=>n.forEach(n=>{switch(n.trigger){case De:r=e,t.addEventListener("mouseenter",ie(function(e){e.target instanceof Element&&Ue(r,e.target,De)}));break;case Re:!function(e,t){Ue(e,t,Re)}(e,t);break;case Ie:!function(e,t,n=""){setInterval(()=>{document.hidden||Ue(e,t,Ie)},parseInt(n||"")||15e3)}(e,t,n.triggerParams);break;case Ne:!function(e,t=""){const n=parseInt(t||"")||50;n<0||n>100||Pe.push([e,n])}(t,n.triggerParams);break;case"impression":Ee(e,t);break;case"visible":Ee(e,t,{multiple:!0});break;case We:!function(e,t,n=""){setTimeout(()=>Ue(e,t,We),parseInt(n||"")||15e3)}(e,t,n.triggerParams)}var r}))}function He(e,t){Ue(e,t.target,"click")}function Ge(e,t){t.target&&Ue(e,t.target,"submit")}function Be(e,t,n,r){const o=[];let i=!0;n.forEach(e=>{const t=Fe(e)?[...Array.from(e)]:null!=(n=e)&&"object"==typeof n&&"length"in n&&"number"==typeof n.length?Array.from(e):[e];var n;if(Array.isArray(t)&&0===t.length)return;if(Array.isArray(t)&&1===t.length&&!t[0])return;const s=t[0],a=!te(s)&&ne(s)&&s.startsWith("walker ");if(te(s)){if("object"==typeof s&&0===Object.keys(s).length)return}else{const e=Array.from(t);if(!ne(e[0])||""===e[0].trim())return;const n="walker run";i&&e[0]===n&&(i=!1)}(r&&a||!r&&!a)&&o.push(t)}),o.forEach(n=>{Ke(e,t,n)})}function Ke(e,t="data-elb",n){ie(()=>{if(Array.isArray(n)){const[r,...o]=n;if(!r||ne(r)&&""===r.trim())return;if(ne(r)&&r.startsWith("walker "))return void e(r,o[0]);Ce({elb:e,settings:{prefix:t,scope:document,pageview:!1,session:!1,elb:"",elbLayer:!1}},r,...o)}else if(n&&"object"==typeof n){if(0===Object.keys(n).length)return;e(n)}},()=>{})()}function Fe(e){return null!=e&&"object"==typeof e&&"[object Arguments]"===Object.prototype.toString.call(e)}function Je(e,t={}){return function(e={}){const{cb:t,consent:n,collector:r,storage:o}=e,i=(null==r?void 0:r.push)||X;if(!n)return U((o?F:J)(e),r,t);{const r=function(e,t){let n;return(r,o)=>{if(c(n)&&n===(null==r?void 0:r.group))return;n=null==r?void 0:r.group;let i=()=>J(e);return e.consent&&p((a(e.consent)?e.consent:[e.consent]).reduce((e,t)=>({...e,[t]:!0}),{}),o)&&(i=()=>F(e)),U(i(),r,t)}}(e,t);i("walker on","consent",(a(n)?n:[n]).reduce((e,t)=>({...e,[t]:r}),{}))}}({...t,collector:{push:e,group:void 0}})}var ze=async(e,t)=>{try{const n=t||{},{elb:r,window:o,document:i}=n;if(!r)throw new Error("Browser source requires elb function in environment");const s=function(e={},t){return{prefix:"data-elb",pageview:!0,session:!0,elb:"elb",elbLayer:"elbLayer",scope:t||void 0,...e}}((null==e?void 0:e.settings)||{},i),a={settings:s},c={elb:r,settings:s};if(i&&o){if(!1!==s.elbLayer&&function(e,t={}){const n=t.name||"elbLayer",r=t.window||("undefined"!=typeof window?window:void 0);if(!r)return;const o=r;o[n]||(o[n]=[]);const i=o[n];i.push=function(...n){if(Fe(n[0])){const r=[...Array.from(n[0])],o=Array.prototype.push.apply(this,[r]);return Ke(e,t.prefix,r),o}const r=Array.prototype.push.apply(this,n);return n.forEach(n=>{Ke(e,t.prefix,n)}),r},Array.isArray(i)&&i.length>0&&function(e,t="data-elb",n){Be(e,t,n,!0),Be(e,t,n,!1),n.length=0}(e,t.prefix,i)}(r,{name:ne(s.elbLayer)?s.elbLayer:"elbLayer",prefix:s.prefix,window:o}),s.session){const e="boolean"==typeof s.session?{}:s.session;Je(r,e)}await async function(e,t,n){const r=()=>{e(t,n)};"loading"!==document.readyState?r():document.addEventListener("DOMContentLoaded",r)}(Xe,c,s),(()=>{if(Me(c,s),s.pageview){const[e,t]=fe(s.prefix||"data-elb",s.scope);Ce(c,"page view",e,"load",t)}})(),ne(s.elb)&&s.elb&&(o[s.elb]=(...e)=>{const[t,n,r,o,i,s]=e;return Ce(c,t,n,r,o,i,s)})}return{type:"browser",config:a,push:(...e)=>{const[t,n,r,o,i,s]=e;return Ce(c,t,n,r,o,i,s)},destroy:async()=>{i&&Le(s.scope||i)},on:async(e,t)=>{switch(e){case"consent":if(s.session&&t){const e="boolean"==typeof s.session?{}:s.session;Je(r,e)}break;case"session":case"ready":default:break;case"run":if(i&&o&&(Me(c,s),s.pageview)){const[e,t]=fe(s.prefix||"data-elb",s.scope);Ce(c,"page view",e,"load",t)}}}}}catch(e){throw e}},Ve=Object.defineProperty,Ye=(e,t)=>{for(var n in t)Ve(e,n,{get:t[n],enumerable:!0})},Qe=!1;function Ze(e,t={},n){if(t.filter&&!0===v(()=>t.filter(n),()=>!1)())return;const r=function(e){if(u(e)&&l(e.event)){const{event:t,...n}=e;return{name:t,...n}}return a(e)&&e.length>=2?et(e):null!=(t=e)&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0?et(Array.from(e)):null;var t}(n);if(!r)return;const o={name:`${t.prefix||"dataLayer"} ${r.name}`,data:r,context:{},globals:{},custom:{},consent:{},nested:[],user:{},id:Math.random().toString(36).substring(2,15),trigger:"",entity:"",action:"",timestamp:Date.now(),timing:0,group:"",count:0,version:{source:"1.0.0",tagging:2},source:{type:"dataLayer",id:"",previous_id:""}};v(()=>e(o),()=>{})()}function et(e){const[t,n,r]=e;if(!l(t))return null;let o,i={};switch(t){case"consent":if(!l(n)||e.length<3)return null;if("default"!==n&&"update"!==n)return null;if(!u(r)||null===r)return null;o=`${t} ${n}`,i={...r};break;case"event":if(!l(n))return null;o=n,u(r)&&(i={...r});break;case"config":if(!l(n))return null;o=`${t} ${n}`,u(r)&&(i={...r});break;case"set":if(l(n))o=`${t} ${n}`,u(r)&&(i={...r});else{if(!u(n))return null;o=`${t} custom`,i={...n}}break;default:return null}return{name:o,...i}}function tt(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]}function nt(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]}function rt(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]}function ot(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]}function it(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]}function st(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]}function at(){return["set",{currency:"EUR",country:"DE"}]}function ct(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}}Ye({},{add_to_cart:()=>ot,config:()=>st,consentDefault:()=>nt,consentUpdate:()=>tt,directDataLayerEvent:()=>ct,purchase:()=>rt,setCustom:()=>at,view_item:()=>it});Ye({},{add_to_cart:()=>dt,config:()=>mt,configGA4:()=>pt,consentOnlyMapping:()=>yt,consentUpdate:()=>ut,customEvent:()=>gt,purchase:()=>lt,view_item:()=>ft});var ut={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:e=>"granted"===e},marketing:{key:"ad_storage",fn:e=>"granted"===e}}}}},lt={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},dt={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},ft={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},pt={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},gt={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},mt={consent:{update:ut},purchase:lt,add_to_cart:dt,view_item:ft,"config G-XXXXXXXXXX":pt,custom_event:gt,"*":{data:{}}},yt={consent:{update:ut}},ht=async(e,t)=>{try{const n=t||{},{elb:r,window:o}=n;if(!r)throw new Error("DataLayer source requires elb function in environment");const i={name:"dataLayer",prefix:"dataLayer",...null==e?void 0:e.settings},s={settings:i};return o&&(function(e,t){const n=t.settings,r=(null==n?void 0:n.name)||"dataLayer",o=window[r];if(Array.isArray(o)&&!Qe){Qe=!0;try{for(const t of o)Ze(e,n,t)}finally{Qe=!1}}}(r,s),function(e,t){const n=t.settings,r=(null==n?void 0:n.name)||"dataLayer";window[r]||(window[r]=[]);const o=window[r];if(!Array.isArray(o))return;const i=o.push.bind(o);o.push=function(...t){if(Qe)return i(...t);Qe=!0;try{for(const r of t)Ze(e,n,r)}finally{Qe=!1}return i(...t)}}(r,s)),{type:"dataLayer",config:s,push:r,destroy:async()=>{const e=i.name||"dataLayer";o&&o[e]&&Array.isArray(o[e])}}}catch(e){throw e}};function wt(){window.dataLayer=window.dataLayer||[];const e=e=>{u(e)&&u(e.source)&&String(e.source.type).includes("dataLayer")||window.dataLayer.push(e)};return{type:"dataLayer",config:{},push:(t,n)=>{e(n.data||t)},pushBatch:t=>{e({name:"batch",batched_event:t.key,events:t.data.length?t.data:t.events})}}}var bt={};async function vt(e={}){const t=s({collector:{destinations:{dataLayer:{code:wt()}}},browser:{run:!0,session:!0},dataLayer:!1,elb:"elb"},e),n={...t.collector,sources:{browser:{code:ze,config:{settings:t.browser},env:{window:"undefined"!=typeof window?window:void 0,document:"undefined"!=typeof document?document:void 0}}}};if(t.dataLayer){const e=u(t.dataLayer)?t.dataLayer:{};n.sources&&(n.sources.dataLayer={code:ht,config:{settings:e}})}const{collector:r}=await N(n);if(!r.sources.browser)throw new Error("Browser source not initialized in walker.js");const o=r.sources.browser.push,i={collector:r,elb:o};return"undefined"!=typeof window&&(t.elb&&(window[t.elb]=o),t.name&&(window[t.name]=r)),i}var kt=vt;export{bt as Walkerjs,vt as createWalkerjs,kt as default,ue as getAllEvents,le as getEvents,de as getGlobals};//# sourceMappingURL=index.mjs.map
|
|
1
|
+
var e={Storage:{Local:"local",Session:"session",Cookie:"cookie"}},t={merge:!0,shallow:!0,extend:!0};function n(e,n={},o={}){o={...t,...o};const r=Object.entries(n).reduce((t,[n,r])=>{const i=e[n];return o.merge&&Array.isArray(i)&&Array.isArray(r)?t[n]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...i]):(o.extend||n in e)&&(t[n]=r),t},{});return o.shallow?{...e,...r}:(Object.assign(e,r),e)}function o(e){return Array.isArray(e)}function r(e){return void 0!==e}function i(e){return"object"==typeof e&&null!==e&&!o(e)&&"[object Object]"===Object.prototype.toString.call(e)}function s(e){return"string"==typeof e}function a(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]=a(e[o],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(a(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 c(e,t="",n){const i=t.split(".");let s=e;for(let e=0;e<i.length;e++){const t=i[e];if("*"===t&&o(s)){const t=i.slice(e+1).join("."),o=[];for(const e of s){const r=c(e,t,n);o.push(r)}return o}if(s=s instanceof Object?s[t]:void 0,!s)break}return r(s)?s:n}function u(e,t={},n={}){const o={...t,...n},r={};let i=void 0===e;return Object.keys(o).forEach(t=>{o[t]&&(r[t]=!0,e&&e[t]&&(i=!0))}),!!i&&r}function l(e=6){let t="";for(let n=36;t.length<e;)t+=(Math.random()*n|0).toString(n);return t}function f(e){return function(e){return"boolean"==typeof e}(e)||s(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!r(e)||o(e)&&e.every(f)||i(e)&&Object.values(e).every(f)}function d(e){return f(e)?e:void 0}function g(e,t,n){return function(...o){try{return e(...o)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function m(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 p(e,t={},n={}){var s;if(!r(e))return;const a=i(e)&&e.consent||n.consent||(null==(s=n.collector)?void 0:s.consent),c=o(t)?t:[t];for(const t of c){const o=await m(y)(e,t,{...n,consent:a});if(r(o))return o}}async function y(e,t,n={}){const{collector:i,consent:a}=n;return(o(t)?t:[t]).reduce(async(t,l)=>{const f=await t;if(f)return f;const g=s(l)?{key:l}:l;if(!Object.keys(g).length)return;const{condition:h,consent:b,fn:w,key:v,loop:k,map:j,set:S,validate:E,value:_}=g;if(h&&!await m(h)(e,l,i))return;if(b&&!u(b,a))return _;let x=r(_)?_:e;if(w&&(x=await m(w)(e,l,n)),v&&(x=c(e,v,_)),k){const[t,i]=k,s="this"===t?[e]:await p(e,t,n);o(s)&&(x=(await Promise.all(s.map(e=>p(e,i,n)))).filter(r))}else j?x=await Object.entries(j).reduce(async(t,[o,i])=>{const s=await t,a=await p(e,i,n);return r(a)&&(s[o]=a),s},Promise.resolve({})):S&&(x=await Promise.all(S.map(t=>y(e,t,n))));E&&!await m(E)(x)&&(x=void 0);const O=d(x);return r(O)?O:d(_)},Promise.resolve(void 0))}function h(e,t,n){return function(...o){let r;const i="post"+t,s=n["pre"+t],a=n[i];return r=s?s({fn:e},...o):e(...o),a&&(r=a({fn:e,result:r},...o)),r}}var b={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",User:"user",Walker:"walker"},w=b;function v(e,t,n,o){let r,i=n||[];switch(n||(i=e.on[t]||[]),t){case w.Consent:r=o||e.consent;break;case w.Session:r=e.session;break;case w.Ready:case w.Run:default:r=void 0}if(Object.values(e.sources).forEach(e=>{e.on&&g(e.on)(t,r)}),Object.values(e.destinations).forEach(e=>{if(e.on){g(e.on)(t,r)}}),i.length)switch(t){case w.Consent:!function(e,t,n){const o=n||e.consent;t.forEach(t=>{Object.keys(o).filter(e=>e in t).forEach(n=>{g(t[n])(e,o)})})}(e,i,o);break;case w.Ready:case w.Run:a=i,(s=e).allowed&&a.forEach(e=>{g(e)(s)});break;case w.Session:!function(e,t){e.session&&t.forEach(t=>{g(t)(e,e.session)})}(e,i)}var s,a}async function k(e,t,r,a){let c;switch(t){case w.Config:i(r)&&n(e.config,r,{shallow:!1});break;case w.Consent:i(r)&&(c=await async function(e,t){const{consent:o}=e;let r=!1;const i={};return Object.entries(t).forEach(([e,t])=>{const n=!!t;i[e]=n,r=r||n}),e.consent=n(o,i),v(e,"consent",void 0,i),r?S(e):x({ok:!0})}(e,r));break;case w.Custom:i(r)&&(e.custom=n(e.custom,r));break;case w.Destination:i(r)&&"function"==typeof r.push&&(c=await async function(e,t,n){const{code:o,config:r={},env:i={}}=t,s=n||r||{init:!1},a={...o,config:s,env:O(o.env,i)};let c=a.config.id;if(!c)do{c=l(4)}while(e.destinations[c]);return e.destinations[c]=a,!1!==a.config.queue&&(a.queue=[...e.queue]),S(e,void 0,{[c]:a})}(e,{code:r},a));break;case w.Globals:i(r)&&(e.globals=n(e.globals,r));break;case w.On:s(r)&&function(e,t,n){const r=e.on,i=r[t]||[],s=o(n)?n:[n];s.forEach(e=>{i.push(e)}),r[t]=i,v(e,t,s)}(e,r,a);break;case w.Ready:v(e,"ready");break;case w.Run:c=await async function(e,t){e.allowed=!0,e.count=0,e.group=l(),e.timing=Date.now(),t&&(t.consent&&(e.consent=n(e.consent,t.consent)),t.user&&(e.user=n(e.user,t.user)),t.globals&&(e.globals=n(e.config.globalsStatic||{},t.globals)),t.custom&&(e.custom=n(e.custom,t.custom))),Object.values(e.destinations).forEach(e=>{e.queue=[]}),e.queue=[],e.round++;const o=await S(e);return v(e,"run"),o}(e,r);break;case w.Session:v(e,"session");break;case w.User:i(r)&&n(e.user,r,{shallow:!1})}return c||{ok:!0,successful:[],queued:[],failed:[]}}function j(e,t,n){return h(async(o,r,i)=>await m(async()=>{if("string"==typeof o&&o.startsWith("walker ")){const n=o.replace("walker ","");return await t(e,n,r,i)}{const s=n("string"==typeof o?{name:o}:o),{event:a,command:c}=function(e,t,n={}){const o=function(e){return typeof e==typeof""}(t)?{name:t,...n}:{...n,...t||{}};if(!o.name)throw new Error("Event name is required");const[r,i]=o.name.split(" ");if(!r||!i)throw new Error("Event name is invalid");if(r===b.Walker)return{command:i};++e.count;const{timestamp:s=Date.now(),group:a=e.group,count:c=e.count}=o,{name:u=`${r} ${i}`,data:l={},context:f={},globals:d=e.globals,custom:g={},user:m=e.user,nested:p=[],consent:y=e.consent,id:h=`${s}-${a}-${c}`,trigger:w="",entity:v=r,action:k=i,timing:j=0,version:S={source:e.version,tagging:e.config.tagging||0},source:E={type:"collector",id:"",previous_id:""}}=o;return{event:{name:u,data:l,context:f,globals:d,custom:g,user:m,nested:p,consent:y,id:h,trigger:w,entity:v,action:k,timestamp:s,timing:j,group:a,count:c,version:S,source:E}}}(e,s.name,s);return c?await t(e,c,r,i):await S(e,a)}},()=>x({ok:!1}))(),"Push",e.hooks)}async function S(e,t,o){const{allowed:r,consent:i,globals:s,user:c}=e;if(!r)return x({ok:!1});t&&e.queue.push(t),o||(o=e.destinations);const l=await Promise.all(Object.entries(o||{}).map(async([o,r])=>{let l=(r.queue||[]).map(e=>({...e,consent:i}));if(r.queue=[],t){let n=a(t);await Promise.all(Object.entries(r.config.policy||[]).map(async([o,r])=>{const i=await p(t,r,{collector:e});n=function(e,t,n){const o=a(e),r=t.split(".");let i=o;for(let e=0;e<r.length;e++){const t=r[e];e===r.length-1?i[t]=n:(t in i&&"object"==typeof i[t]&&null!==i[t]||(i[t]={}),i=i[t])}return o}(n,o,i)})),l.push(n)}if(!l.length)return{id:o,destination:r,skipped:!0};const f=[],d=l.filter(e=>{const t=u(r.config.consent,i,e.consent);return!t||(e.consent=t,f.push(e),!1)});if(r.queue.concat(d),!f.length)return{id:o,destination:r,queue:l};if(!await m(E)(e,r))return{id:o,destination:r,queue:l};let g=!1;return r.dlq||(r.dlq=[]),await Promise.all(f.map(async t=>(t.globals=n(s,t.globals),t.user=n(c,t.user),await m(_,n=>(e.config.onError&&e.config.onError(n,e),g=!0,r.dlq.push([t,n]),!1))(e,r,t),t))),{id:o,destination:r,error:g}})),f=[],d=[],g=[];for(const e of l){if(e.skipped)continue;const t=e.destination,n={id:e.id,destination:t};e.error?g.push(n):e.queue&&e.queue.length?(t.queue=(t.queue||[]).concat(e.queue),d.push(n)):f.push(n)}return x({ok:!g.length,event:t,successful:f,queued:d,failed:g})}async function E(e,t){if(t.init&&!t.config.init){const n={collector:e,config:t.config,env:O(t.env,t.config.env)},o=await h(t.init,"DestinationInit",e.hooks)(n);if(!1===o)return o;t.config={...o||t.config,init:!0}}return!0}async function _(e,t,s){var a;const{config:c}=t,{eventMapping:u,mappingKey:l}=await async function(e,t){var n;const[r,i]=(e.name||"").split(" ");if(!t||!r||!i)return{};let s,a="",c=r,u=i;const l=t=>{if(t)return(t=o(t)?t:[t]).find(t=>!t.condition||t.condition(e))};t[c]||(c="*");const f=t[c];return f&&(f[u]||(u="*"),s=l(f[u])),s||(c="*",u="*",s=l(null==(n=t[c])?void 0:n[u])),s&&(a=`${c} ${u}`),{eventMapping:s,mappingKey:a}}(s,c.mapping);let f=c.data&&await p(s,c.data,{collector:e});if(u){if(u.ignore)return!1;if(u.name&&(s.name=u.name),u.data){const t=u.data&&await p(s,u.data,{collector:e});f=i(f)&&i(t)?n(f,t):t}}const d={collector:e,config:c,data:f,mapping:u,env:O(t.env,c.env)};if((null==u?void 0:u.batch)&&t.pushBatch){const n=u.batched||{key:l||"",events:[],data:[]};n.events.push(s),r(f)&&n.data.push(f),u.batchFn=u.batchFn||function(e,t=1e3,n=!1){let o,r=null,i=!1;return(...s)=>new Promise(a=>{const c=n&&!i;r&&clearTimeout(r),r=setTimeout(()=>{r=null,n&&!i||(o=e(...s),a(o))},t),c&&(i=!0,o=e(...s),a(o))})}((e,t)=>{const o={collector:t,config:c,data:f,mapping:u,env:O(e.env,c.env)};h(e.pushBatch,"DestinationPushBatch",t.hooks)(n,o),n.events=[],n.data=[]},u.batch),u.batched=n,null==(a=u.batchFn)||a.call(u,t,e)}else await h(t.push,"DestinationPush",e.hooks)(s,d);return!0}function x(e){var t;return n({ok:!(null==(t=null==e?void 0:e.failed)?void 0:t.length),successful:[],queued:[],failed:[]},e)}function O(e,t){return e||t?t?e&&i(e)&&i(t)?{...e,...t}:t:e:{}}async function L(e){e=e||{};const t=await async function(e){const t=n({globalsStatic:{},sessionStatic:{},tagging:0,verbose:!1,onLog:o,run:!0},e,{merge:!1,extend:!1});function o(e,n){!function(e,t=!1){t&&console.dir(e,{depth:4})}({message:e},n||t.verbose)}t.onLog=o;const r={...t.globalsStatic,...e.globals},i={allowed:!1,config:t,consent:e.consent||{},count:0,custom:e.custom||{},destinations:{},globals:r,group:"",hooks:{},on:{},queue:[],round:0,session:void 0,timing:Date.now(),user:e.user||{},version:"0.2.0",sources:{},push:void 0};return i.push=j(i,k,e=>({timing:Math.round((Date.now()-i.timing)/10)/100,source:{type:"collector",id:"",previous_id:""},...e})),i.sources=await async function(e,t={}){const n={};for(const[o,r]of Object.entries(t)){const{code:t,config:i={},env:s={},primary:a}=r,c={elb:(...t)=>e.push(...t),...s},u=await m(t)(i,c);u&&(a&&(u.config={...u.config,primary:a}),n[o]=u)}return n}(i,e.sources||{}),i.destinations=await async function(e,t={}){const n={};for(const[e,o]of Object.entries(t)){const{code:t,config:r={},env:i={}}=o,s={...t.config,...r},a=O(t.env,i);n[e]={...t,config:s,env:a}}return n}(0,e.destinations||{}),i}(e),{consent:o,user:r,globals:i,custom:s}=e;o&&await t.push("walker consent",o),r&&await t.push("walker user",r),i&&Object.assign(t.globals,i),s&&Object.assign(t.custom,s),t.config.run&&await t.push("walker run");let a=t.push;const c=Object.values(t.sources),u=c.find(e=>e.config.primary);return u?a=u.push:c.length>0&&(a=c[0].push),{collector:t,elb:a}}function A(e,t){return(e.getAttribute(t)||"").trim()}var C=function(){const e=window;(e.elbLayer=e.elbLayer||[]).push(arguments)};function $(e){const t=getComputedStyle(e);if("none"===t.display)return!1;if("visible"!==t.visibility)return!1;if(t.opacity&&Number(t.opacity)<.1)return!1;let n;const o=window.innerHeight,r=e.getBoundingClientRect(),i=r.height,s=r.y,a=s+i,c={x:r.x+e.offsetWidth/2,y:r.y+e.offsetHeight/2};if(i<=o){if(e.offsetWidth+r.width===0||e.offsetHeight+r.height===0)return!1;if(c.x<0)return!1;if(c.x>(document.documentElement.clientWidth||window.innerWidth))return!1;if(c.y<0)return!1;if(c.y>(document.documentElement.clientHeight||window.innerHeight))return!1;n=document.elementFromPoint(c.x,c.y)}else{const e=o/2;if(s<0&&a<e)return!1;if(a>o&&s>e)return!1;n=document.elementFromPoint(c.x,o/2)}if(n)do{if(n===e)return!0}while(n=n.parentElement);return!1}function q(e,t,n){return!1===n?e:(n||(n=P),n(e,t,P))}var P=(e,t)=>{const n=(null==t?void 0:t.push)||C,o={};return e.id&&(o.session=e.id),e.storage&&e.device&&(o.device=e.device),n("walker user",o),e.isStart&&n({name:"session start",data:e}),e};function R(t,n=e.Storage.Session){var o;function r(e){try{return JSON.parse(e||"")}catch(t){let n=1,o="";return e&&(n=0,o=e),{e:n,v:o}}}let i,s;switch(n){case e.Storage.Cookie:i=decodeURIComponent((null==(o=document.cookie.split("; ").find(e=>e.startsWith(t+"=")))?void 0:o.split("=")[1])||"");break;case e.Storage.Local:s=r(window.localStorage.getItem(t));break;case e.Storage.Session:s=r(window.sessionStorage.getItem(t))}return s&&(i=s.v,0!=s.e&&s.e<Date.now()&&(function(t,n=e.Storage.Session){switch(n){case e.Storage.Cookie:D(t,"",0,n);break;case e.Storage.Local:window.localStorage.removeItem(t);break;case e.Storage.Session:window.sessionStorage.removeItem(t)}}(t,n),i="")),function(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}(i||"")}function D(t,n,o=30,r=e.Storage.Session,i){const s={e:Date.now()+6e4*o,v:String(n)},a=JSON.stringify(s);switch(r){case e.Storage.Cookie:{n="object"==typeof n?JSON.stringify(n):n;let e=`${t}=${encodeURIComponent(n)}; max-age=${60*o}; path=/; SameSite=Lax; secure`;i&&(e+="; domain="+i),document.cookie=e;break}case e.Storage.Local:window.localStorage.setItem(t,a);break;case e.Storage.Session:window.sessionStorage.setItem(t,a)}return R(t,r)}function W(e={}){const t=Date.now(),{length:n=30,deviceKey:o="elbDeviceId",deviceStorage:r="local",deviceAge:i=30,sessionKey:s="elbSessionId",sessionStorage:a="local",pulse:c=!1}=e,u=X(e);let f=!1;const d=g((e,t,n)=>{let o=R(e,n);return o||(o=l(8),D(e,o,1440*t,n)),String(o)})(o,i,r),m=g((e,o)=>{const r=JSON.parse(String(R(e,o)));return c||(r.isNew=!1,u.marketing&&(Object.assign(r,u),f=!0),f||r.updated+6e4*n<t?(delete r.id,delete r.referrer,r.start=t,r.count++,r.runs=1,f=!0):r.runs++),r},()=>{f=!0})(s,a)||{},p={id:l(12),start:t,isNew:!0,count:1,runs:1},y=Object.assign(p,u,m,{device:d},{isStart:f,storage:!0,updated:t},e.data);return D(s,JSON.stringify(y),2*n,a),y}function X(e={}){let t=e.isStart||!1;const o={isStart:t,storage:!1};if(!1===e.isStart)return o;if(!t){const[e]=performance.getEntriesByType("navigation");if("navigate"!==e.type)return o}const r=new URL(e.url||window.location.href),i=e.referrer||document.referrer,s=i&&new URL(i).hostname,a=function(e,t={}){const o="clickId",r={},i={utm_campaign:"campaign",utm_content:"content",utm_medium:"medium",utm_source:"source",utm_term:"term",dclid:o,fbclid:o,gclid:o,msclkid:o,ttclid:o,twclid:o,igshid:o,sclid:o};return Object.entries(n(i,t)).forEach(([t,n])=>{const i=e.searchParams.get(t);i&&(n===o&&(n=t,r[o]=t),r[n]=i)}),r}(r,e.parameters);if(Object.keys(a).length&&(a.marketing||(a.marketing=!0),t=!0),!t){const n=e.domains||[];n.push(r.hostname),t=!n.includes(s)}return t?Object.assign({isStart:t,storage:!1,start:Date.now(),id:l(12),referrer:s},a,e.data):o}var I=Object.defineProperty,N=(e,t)=>{for(var n in t)I(e,n,{get:t[n],enumerable:!0})},T={merge:!0,shallow:!0,extend:!0};function U(e,t={},n={}){n={...T,...n};const o=Object.entries(t).reduce((t,[o,r])=>{const i=e[o];return n.merge&&Array.isArray(i)&&Array.isArray(r)?t[o]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...i]):(n.extend||o in e)&&(t[o]=r),t},{});return n.shallow?{...e,...o}:(Object.assign(e,o),e)}function M(e){return Array.isArray(e)}function H(e){return e===document||e instanceof Element}function B(e){return"object"==typeof e&&null!==e&&!M(e)&&"[object Object]"===Object.prototype.toString.call(e)}function G(e){return"string"==typeof e}function K(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function F(e,t,n){return function(...o){try{return e(...o)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function J(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function z(e,t,n=!0){return e+(null!=t?(n?"-":"")+t:"")}function Y(e,t,n,o=!0){return ae(A(t,z(e,n,o))||"").reduce((e,n)=>{let[o,r]=ce(n);if(!o)return e;if(r||(o.endsWith(":")&&(o=o.slice(0,-1)),r=""),r.startsWith("#")){r=r.slice(1);try{let e=t[r];e||"selected"!==r||(e=t.options[t.selectedIndex].text),r=String(e)}catch(e){r=""}}return o.endsWith("[]")?(o=o.slice(0,-2),M(e[o])||(e[o]=[]),e[o].push(K(r))):e[o]=K(r),e},{})}function V(e,t=w.Prefix){var n;const o=e||("undefined"!=typeof document?document.body:void 0);if(!o)return[];let r=[];const i=w.Action,s=`[${z(t,i,!1)}]`,a=e=>{Object.keys(Y(t,e,i,!1)).forEach(n=>{r=r.concat(Q(e,n,t))})};return o!==("undefined"!=typeof document?document:null)&&(null==(n=o.matches)?void 0:n.call(o,s))&&a(o),se(o,s,a),r}function Q(e,t,n=w.Prefix){const o=[],{actions:r,nearestOnly:i}=function(e,t,n){let o=t;for(;o;){const t=A(o,z(e,w.Actions,!1));if(t){const e=te(t);if(e[n])return{actions:e[n],nearestOnly:!1}}const r=A(o,z(e,w.Action,!1));if(r){const e=te(r);if(e[n]||"click"!==n)return{actions:e[n]||[],nearestOnly:!0}}o=re(e,o)}return{actions:[],nearestOnly:!1}}(n,e,t);return r.length?(r.forEach(r=>{const s=ae(r.actionParams||"",",").reduce((e,t)=>(e[J(t)]=!0,e),{}),a=ne(n,e,s,i);if(!a.length){const t="page",o=`[${z(n,t)}]`,[r,i]=ie(e,o,n,t);a.push({entity:t,data:r,nested:[],context:i})}a.forEach(e=>{o.push({entity:e.entity,action:r.action,data:e.data,trigger:t,context:e.context,nested:e.nested})})}),o):o}function Z(e=w.Prefix,t=document){const n=z(e,w.Globals,!1);let o={};return se(t,`[${n}]`,t=>{o=U(o,Y(e,t,w.Globals,!1))}),o}function ee(e,t){const n=window.location,o="page",r=t===document?document.body:t,[i,s]=ie(r,`[${z(e,o)}]`,e,o);return i.domain=n.hostname,i.title=document.title,i.referrer=document.referrer,n.search&&(i.search=n.search),n.hash&&(i.hash=n.hash),[i,s]}function te(e){const t={};return ae(e).forEach(e=>{const[n,o]=ce(e),[r,i]=ue(n);if(!r)return;let[s,a]=ue(o||"");s=s||r,t[r]||(t[r]=[]),t[r].push({trigger:r,triggerParams:i,action:s,actionParams:a})}),t}function ne(e,t,n,o=!1){const r=[];let i=t;for(n=0!==Object.keys(n||{}).length?n:void 0;i;){const s=oe(e,i,t,n);if(s&&(r.push(s),o))break;i=re(e,i)}return r}function oe(e,t,n,o){const r=A(t,z(e));if(!r||o&&!o[r])return null;const i=[t],s=`[${z(e,r)}],[${z(e,"")}]`,a=z(e,w.Link,!1);let c={};const u=[],[l,f]=ie(n||t,s,e,r);se(t,`[${a}]`,t=>{const[n,o]=ce(A(t,a));"parent"===o&&se(document.body,`[${a}="${n}:child"]`,t=>{i.push(t);const n=oe(e,t);n&&u.push(n)})});const d=[];i.forEach(e=>{e.matches(s)&&d.push(e),se(e,s,e=>d.push(e))});let g={};return d.forEach(t=>{g=U(g,Y(e,t,"")),c=U(c,Y(e,t,r))}),c=U(U(g,c),l),i.forEach(t=>{se(t,`[${z(e)}]`,t=>{const n=oe(e,t);n&&u.push(n)})}),{entity:r,data:c,context:f,nested:u}}function re(e,t){const n=z(e,w.Link,!1);if(t.matches(`[${n}]`)){const[e,o]=ce(A(t,n));if("child"===o)return document.querySelector(`[${n}="${e}:parent"]`)}return!t.parentElement&&t.getRootNode&&t.getRootNode()instanceof ShadowRoot?t.getRootNode().host:t.parentElement}function ie(e,t,n,o){let r={};const i={};let s=e;const a=`[${z(n,w.Context,!1)}]`;let c=0;for(;s;)s.matches(t)&&(r=U(Y(n,s,""),r),r=U(Y(n,s,o),r)),s.matches(a)&&(Object.entries(Y(n,s,w.Context,!1)).forEach(([e,t])=>{t&&!i[e]&&(i[e]=[t,c])}),++c),s=re(n,s);return[r,i]}function se(e,t,n){e.querySelectorAll(t).forEach(n)}function ae(e,t=";"){if(!e)return[];const n=new RegExp(`(?:[^${t}']+|'[^']*')+`,"ig");return e.match(n)||[]}function ce(e){const[t,n]=e.split(/:(.+)/,2);return[J(t),J(n)]}function ue(e){const[t,n]=e.split("(",2);return[t,n?n.slice(0,-1):""]}var le,fe=new WeakMap,de=new WeakMap,ge=new WeakMap;function me(e){const t=Date.now();let n=de.get(e);return(!n||t-n.lastChecked>500)&&(n={isVisible:$(e),lastChecked:t},de.set(e,n)),n.isVisible}function pe(e){if(window.IntersectionObserver)return F(()=>new window.IntersectionObserver(t=>{t.forEach(t=>{!function(e,t){var n,o;const r=t.target,i=ge.get(e);if(!i)return;const s=i.timers.get(r);if(t.intersectionRatio>0){const o=Date.now();let a=fe.get(r);if((!a||o-a.lastChecked>1e3)&&(a={isLarge:r.offsetHeight>window.innerHeight,lastChecked:o},fe.set(r,a)),t.intersectionRatio>=.5||a.isLarge&&me(r)){const t=null==(n=i.elementConfigs)?void 0:n.get(r);if((null==t?void 0:t.multiple)&&t.blocked)return;if(!s){const t=window.setTimeout(async()=>{var t,n;if(me(r)){const o=null==(t=i.elementConfigs)?void 0:t.get(r);(null==o?void 0:o.context)&&await Le(o.context,r,o.trigger);const s=null==(n=i.elementConfigs)?void 0:n.get(r);(null==s?void 0:s.multiple)?s.blocked=!0:function(e,t){const n=ge.get(e);if(!n)return;n.observer&&n.observer.unobserve(t);const o=n.timers.get(t);o&&(clearTimeout(o),n.timers.delete(t)),fe.delete(t),de.delete(t)}(e,r)}},i.duration);i.timers.set(r,t)}return}}s&&(clearTimeout(s),i.timers.delete(r));const a=null==(o=i.elementConfigs)?void 0:o.get(r);(null==a?void 0:a.multiple)&&(a.blocked=!1)}(e,t)})},{rootMargin:"0px",threshold:[0,.5]}),()=>{})()}function ye(e,t,n={multiple:!1}){var o;const r=e.settings.scope||document,i=ge.get(r);(null==i?void 0:i.observer)&&t&&(i.elementConfigs||(i.elementConfigs=new WeakMap),i.elementConfigs.set(t,{multiple:null!=(o=n.multiple)&&o,blocked:!1,context:e,trigger:n.multiple?"visible":"impression"}),i.observer.observe(t))}function he(e){if(!e)return;const t=ge.get(e);t&&(t.observer&&t.observer.disconnect(),ge.delete(e))}function be(e,t,n,o,r,i,s){const{elb:a,settings:c}=e;if(G(t)&&t.startsWith("walker "))return a(t,n);if(B(t)){const e=t;return e.source||(e.source=we()),e.globals||(e.globals=Z(c.prefix,c.scope||document)),a(e)}const[u]=String(B(t)?t.name:t).split(" ");let l,f=B(n)?n:{},d={},g=!1;if(H(n)&&(l=n,g=!0),H(r)?l=r:B(r)&&Object.keys(r).length&&(d=r),l){const e=ne(c.prefix||"data-elb",l).find(e=>e.entity===u);e&&(g&&(f=e.data),d=e.context)}"page"===u&&(f.id=f.id||window.location.pathname);const m=Z(c.prefix,c.scope);return a({name:String(t||""),data:f,context:d,globals:m,nested:i,custom:s,trigger:G(o)?o:"",source:we()})}function we(){return{type:"browser",id:window.location.href,previous_id:document.referrer}}var ve=[],ke="hover",je="load",Se="pulse",Ee="scroll",_e="wait";function xe(e,t){t.scope&&function(e,t){const n=t.scope;n&&(n.addEventListener("click",F(function(t){Ce.call(this,e,t)})),n.addEventListener("submit",F(function(t){$e.call(this,e,t)})))}(e,t)}function Oe(e,t){t.scope&&function(e,t){const n=t.scope;ve=[];const o=n||document;he(o),function(e,t=1e3){ge.has(e)||ge.set(e,{observer:pe(e),timers:new WeakMap,duration:t})}(o,1e3);const r=z(t.prefix,w.Action,!1);o!==document&&Ae(e,o,r,t),o.querySelectorAll(`[${r}]`).forEach(n=>{Ae(e,n,r,t)}),ve.length&&function(e,t){const n=(e,t)=>e.filter(([e,n])=>{const o=window.scrollY+window.innerHeight,r=e.offsetTop;if(o<r)return!0;const i=e.clientHeight;return!(100*(1-(r+i-o)/(i||1))>=n&&(Le(t,e,Ee),1))});le||(le=function(e,t=1e3){let n=null;return function(...o){if(null===n)return n=setTimeout(()=>{n=null},t),e(...o)}}(function(){ve=n.call(t,ve,e)}),t.addEventListener("scroll",le))}(e,o)}(e,t)}async function Le(e,t,n){const o=Q(t,n,e.settings.prefix);return Promise.all(o.map(t=>be(e,{name:`${t.entity} ${t.action}`,...t,trigger:n})))}function Ae(e,t,n,o){const r=A(t,n);r&&Object.values(te(r)).forEach(n=>n.forEach(n=>{switch(n.trigger){case ke:o=e,t.addEventListener("mouseenter",F(function(e){e.target instanceof Element&&Le(o,e.target,ke)}));break;case je:!function(e,t){Le(e,t,je)}(e,t);break;case Se:!function(e,t,n=""){setInterval(()=>{document.hidden||Le(e,t,Se)},parseInt(n||"")||15e3)}(e,t,n.triggerParams);break;case Ee:!function(e,t=""){const n=parseInt(t||"")||50;n<0||n>100||ve.push([e,n])}(t,n.triggerParams);break;case"impression":ye(e,t);break;case"visible":ye(e,t,{multiple:!0});break;case _e:!function(e,t,n=""){setTimeout(()=>Le(e,t,_e),parseInt(n||"")||15e3)}(e,t,n.triggerParams)}var o}))}function Ce(e,t){Le(e,t.target,"click")}function $e(e,t){t.target&&Le(e,t.target,"submit")}function qe(e,t,n,o){const r=[];let i=!0;n.forEach(e=>{const t=Re(e)?[...Array.from(e)]:null!=(n=e)&&"object"==typeof n&&"length"in n&&"number"==typeof n.length?Array.from(e):[e];var n;if(Array.isArray(t)&&0===t.length)return;if(Array.isArray(t)&&1===t.length&&!t[0])return;const s=t[0],a=!B(s)&&G(s)&&s.startsWith("walker ");if(B(s)){if("object"==typeof s&&0===Object.keys(s).length)return}else{const e=Array.from(t);if(!G(e[0])||""===e[0].trim())return;const n="walker run";i&&e[0]===n&&(i=!1)}(o&&a||!o&&!a)&&r.push(t)}),r.forEach(n=>{Pe(e,t,n)})}function Pe(e,t="data-elb",n){F(()=>{if(Array.isArray(n)){const[o,...r]=n;if(!o||G(o)&&""===o.trim())return;if(G(o)&&o.startsWith("walker "))return void e(o,r[0]);be({elb:e,settings:{prefix:t,scope:document,pageview:!1,session:!1,elb:"",elbLayer:!1}},o,...r)}else if(n&&"object"==typeof n){if(0===Object.keys(n).length)return;e(n)}},()=>{})()}function Re(e){return null!=e&&"object"==typeof e&&"[object Arguments]"===Object.prototype.toString.call(e)}function De(e,t={}){return function(e={}){const{cb:t,consent:n,collector:i,storage:s}=e,a=(null==i?void 0:i.push)||C;if(!n)return q((s?W:X)(e),i,t);{const i=function(e,t){let n;return(i,s)=>{if(r(n)&&n===(null==i?void 0:i.group))return;n=null==i?void 0:i.group;let a=()=>X(e);return e.consent&&u((o(e.consent)?e.consent:[e.consent]).reduce((e,t)=>({...e,[t]:!0}),{}),s)&&(a=()=>W(e)),q(a(),i,t)}}(e,t);a("walker on","consent",(o(n)?n:[n]).reduce((e,t)=>({...e,[t]:i}),{}))}}({...t,collector:{push:e,group:void 0}})}N({},{env:()=>We});var We={};N(We,{push:()=>Ne});var Xe={addEventListener:jest.fn(),removeEventListener:jest.fn(),location:{href:"https://example.com/page",pathname:"/page",search:"?query=test",hash:"#section",host:"example.com",hostname:"example.com",origin:"https://example.com",protocol:"https:"},document:{},navigator:{language:"en-US",userAgent:"Mozilla/5.0 (Test)"},screen:{width:1920,height:1080},innerWidth:1920,innerHeight:1080,pageXOffset:0,pageYOffset:0,scrollX:0,scrollY:0},Ie={addEventListener:jest.fn(),removeEventListener:jest.fn(),querySelector:jest.fn(),querySelectorAll:jest.fn(()=>[]),getElementById:jest.fn(),getElementsByClassName:jest.fn(()=>[]),getElementsByTagName:jest.fn(()=>[]),createElement:jest.fn(()=>({setAttribute:jest.fn(),getAttribute:jest.fn(),addEventListener:jest.fn(),removeEventListener:jest.fn()})),body:{appendChild:jest.fn(),removeChild:jest.fn()},documentElement:{scrollTop:0,scrollLeft:0},readyState:"complete",title:"Test Page",referrer:"",cookie:""},Ne={elb:jest.fn(),window:Xe,document:Ie},Te=async(e,t)=>{try{const{elb:n,window:o,document:r}=t,i=(null==e?void 0:e.settings)||{},s=o||(void 0!==globalThis.window?globalThis.window:void 0),a=r||(void 0!==globalThis.document?globalThis.document:void 0),c=function(e={},t){return{prefix:"data-elb",pageview:!0,session:!0,elb:"elb",elbLayer:"elbLayer",scope:t||void 0,...e}}(i,a),u={settings:c},l={elb:n,settings:c};if(s&&a){if(!1!==c.elbLayer&&function(e,t={}){const n=t.name||"elbLayer",o=t.window||("undefined"!=typeof window?window:void 0);if(!o)return;const r=o;r[n]||(r[n]=[]);const i=r[n];i.push=function(...n){if(Re(n[0])){const o=[...Array.from(n[0])],r=Array.prototype.push.apply(this,[o]);return Pe(e,t.prefix,o),r}const o=Array.prototype.push.apply(this,n);return n.forEach(n=>{Pe(e,t.prefix,n)}),o},Array.isArray(i)&&i.length>0&&function(e,t="data-elb",n){qe(e,t,n,!0),qe(e,t,n,!1),n.length=0}(e,t.prefix,i)}(n,{name:G(c.elbLayer)?c.elbLayer:"elbLayer",prefix:c.prefix,window:s}),c.session){const e="boolean"==typeof c.session?{}:c.session;De(n,e)}await async function(e,t,n){const o=()=>{e(t,n)};"loading"!==document.readyState?o():document.addEventListener("DOMContentLoaded",o)}(xe,l,c),(()=>{if(Oe(l,c),c.pageview){const[e,t]=ee(c.prefix||"data-elb",c.scope);be(l,"page view",e,"load",t)}})(),G(c.elb)&&c.elb&&(s[c.elb]=(...e)=>{const[t,n,o,r,i,s]=e;return be(l,t,n,o,r,i,s)})}return{type:"browser",config:u,push:(...e)=>{const[t,n,o,r,i,s]=e;return be(l,t,n,o,r,i,s)},destroy:async()=>{a&&he(c.scope||a)},on:async(e,t)=>{switch(e){case"consent":if(c.session&&t){const e="boolean"==typeof c.session?{}:c.session;De(n,e)}break;case"session":case"ready":default:break;case"run":if(a&&s&&(Oe(l,c),c.pageview)){const[e,t]=ee(c.prefix||"data-elb",c.scope);be(l,"page view",e,"load",t)}}}}}catch(e){throw e}},Ue=Object.defineProperty,Me=(e,t)=>{for(var n in t)Ue(e,n,{get:t[n],enumerable:!0})},He=!1;function Be(e,t={},n){if(t.filter&&!0===g(()=>t.filter(n),()=>!1)())return;const r=function(e){if(i(e)&&s(e.event)){const{event:t,...n}=e;return{name:t,...n}}return o(e)&&e.length>=2?Ge(e):null!=(t=e)&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0?Ge(Array.from(e)):null;var t}(n);if(!r)return;const a={name:`${t.prefix||"dataLayer"} ${r.name}`,data:r,context:{},globals:{},custom:{},consent:{},nested:[],user:{},id:Math.random().toString(36).substring(2,15),trigger:"",entity:"",action:"",timestamp:Date.now(),timing:0,group:"",count:0,version:{source:"1.0.0",tagging:2},source:{type:"dataLayer",id:"",previous_id:""}};g(()=>e(a),()=>{})()}function Ge(e){const[t,n,o]=e;if(!s(t))return null;let r,a={};switch(t){case"consent":if(!s(n)||e.length<3)return null;if("default"!==n&&"update"!==n)return null;if(!i(o)||null===o)return null;r=`${t} ${n}`,a={...o};break;case"event":if(!s(n))return null;r=n,i(o)&&(a={...o});break;case"config":if(!s(n))return null;r=`${t} ${n}`,i(o)&&(a={...o});break;case"set":if(s(n))r=`${t} ${n}`,i(o)&&(a={...o});else{if(!i(n))return null;r=`${t} custom`,a={...n}}break;default:return null}return{name:r,...a}}Me({},{push:()=>Fe});var Ke={dataLayer:[],addEventListener:jest.fn(),removeEventListener:jest.fn()},Fe={elb:jest.fn(),window:Ke};function Je(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]}function ze(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]}function Ye(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]}function Ve(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]}function Qe(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]}function Ze(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]}function et(){return["set",{currency:"EUR",country:"DE"}]}function tt(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}}Me({},{add_to_cart:()=>Ve,config:()=>Ze,consentDefault:()=>ze,consentUpdate:()=>Je,directDataLayerEvent:()=>tt,purchase:()=>Ye,setCustom:()=>et,view_item:()=>Qe});Me({},{add_to_cart:()=>rt,config:()=>ct,configGA4:()=>st,consentOnlyMapping:()=>ut,consentUpdate:()=>nt,customEvent:()=>at,purchase:()=>ot,view_item:()=>it});var nt={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:e=>"granted"===e},marketing:{key:"ad_storage",fn:e=>"granted"===e}}}}},ot={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},rt={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},it={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},st={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},at={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},ct={consent:{update:nt},purchase:ot,add_to_cart:rt,view_item:it,"config G-XXXXXXXXXX":st,custom_event:at,"*":{data:{}}},ut={consent:{update:nt}},lt=async(e,t)=>{try{const{elb:n,window:o}=t,r={name:"dataLayer",prefix:"dataLayer",...null==e?void 0:e.settings},i={settings:r};return o&&(function(e,t){const n=t.settings,o=(null==n?void 0:n.name)||"dataLayer",r=window[o];if(Array.isArray(r)&&!He){He=!0;try{for(const t of r)Be(e,n,t)}finally{He=!1}}}(n,i),function(e,t){const n=t.settings,o=(null==n?void 0:n.name)||"dataLayer";window[o]||(window[o]=[]);const r=window[o];if(!Array.isArray(r))return;const i=r.push.bind(r);r.push=function(...t){if(He)return i(...t);He=!0;try{for(const o of t)Be(e,n,o)}finally{He=!1}return i(...t)}}(n,i)),{type:"dataLayer",config:i,push:n,destroy:async()=>{const e=r.name||"dataLayer";o&&o[e]&&Array.isArray(o[e])}}}catch(e){throw e}};function ft(){window.dataLayer=window.dataLayer||[];const e=e=>{i(e)&&i(e.source)&&String(e.source.type).includes("dataLayer")||window.dataLayer.push(e)};return{type:"dataLayer",config:{},push:(t,n)=>{e(n.data||t)},pushBatch:t=>{e({name:"batch",batched_event:t.key,events:t.data.length?t.data:t.events})}}}var dt={};async function gt(e={}){const t=n({collector:{destinations:{dataLayer:{code:ft()}}},browser:{run:!0,session:!0},dataLayer:!1,elb:"elb"},e),o={...t.collector,sources:{browser:{code:Te,config:{settings:t.browser},env:{window:"undefined"!=typeof window?window:void 0,document:"undefined"!=typeof document?document:void 0}}}};if(t.dataLayer){const e=i(t.dataLayer)?t.dataLayer:{};o.sources&&(o.sources.dataLayer={code:lt,config:{settings:e}})}const r=await L(o);return"undefined"!=typeof window&&(t.elb&&(window[t.elb]=r.elb),t.name&&(window[t.name]=r.collector)),r}var mt=gt;export{dt as Walkerjs,gt as createWalkerjs,mt as default,V as getAllEvents,Q as getEvents,Z as getGlobals};//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/destination.ts","../src/types/index.ts","../src/index.ts"],"sourcesContent":["import type { Destination } from '@walkeros/core';\nimport type { DataLayer } from './types';\nimport { isObject } from '@walkeros/core';\n\nexport function dataLayerDestination(): Destination.Instance {\n window.dataLayer = window.dataLayer || [];\n const dataLayerPush = (event: unknown) => {\n // Do not process events from dataLayer source\n if (\n isObject(event) &&\n isObject(event.source) &&\n String(event.source.type).includes('dataLayer')\n )\n return;\n\n (window.dataLayer as DataLayer)!.push(event);\n };\n const destination: Destination.Instance = {\n type: 'dataLayer',\n config: {},\n push: (event, context) => {\n dataLayerPush(context.data || event);\n },\n pushBatch: (batch) => {\n dataLayerPush({\n name: 'batch',\n batched_event: batch.key,\n events: batch.data.length ? batch.data : batch.events,\n });\n },\n };\n\n return destination;\n}\n","import type { Collector, Source, WalkerOS } from '@walkeros/core';\nimport type { SourceBrowser } from '@walkeros/web-source-browser';\nimport type { SourceDataLayer } from '@walkeros/web-source-datalayer';\n\ndeclare global {\n interface Window {\n [key: string]: DataLayer;\n }\n}\n\n// Instance interface\nexport interface Instance {\n collector: Collector.Instance;\n elb: SourceBrowser.BrowserPush;\n}\n\n// Configuration interface\nexport interface Config {\n // Collector configuration\n collector?: Collector.InitConfig;\n\n // Browser source configuration\n browser?: Partial<SourceBrowser.Settings>;\n\n // DataLayer configuration\n dataLayer?: boolean | Partial<SourceDataLayer.Settings>;\n\n // Global configuration\n elb?: string; // Name for the global elb function\n name?: string; // Name for the global instance\n run?: boolean; // Auto-run on initialization (default: true)\n}\n\nexport type DataLayer = undefined | Array<unknown>;\n","import type { Config, Instance } from './types';\nimport type { Collector, Elb, WalkerOS } from '@walkeros/core';\nimport {
|
|
1
|
+
{"version":3,"sources":["../src/destination.ts","../src/types/index.ts","../src/index.ts"],"sourcesContent":["import type { Destination } from '@walkeros/core';\nimport type { DataLayer } from './types';\nimport { isObject } from '@walkeros/core';\n\nexport function dataLayerDestination(): Destination.Instance {\n window.dataLayer = window.dataLayer || [];\n const dataLayerPush = (event: unknown) => {\n // Do not process events from dataLayer source\n if (\n isObject(event) &&\n isObject(event.source) &&\n String(event.source.type).includes('dataLayer')\n )\n return;\n\n (window.dataLayer as DataLayer)!.push(event);\n };\n const destination: Destination.Instance = {\n type: 'dataLayer',\n config: {},\n push: (event, context) => {\n dataLayerPush(context.data || event);\n },\n pushBatch: (batch) => {\n dataLayerPush({\n name: 'batch',\n batched_event: batch.key,\n events: batch.data.length ? batch.data : batch.events,\n });\n },\n };\n\n return destination;\n}\n","import type { Collector, Source, WalkerOS } from '@walkeros/core';\nimport type { SourceBrowser } from '@walkeros/web-source-browser';\nimport type { SourceDataLayer } from '@walkeros/web-source-datalayer';\n\ndeclare global {\n interface Window {\n [key: string]: DataLayer;\n }\n}\n\n// Instance interface\nexport interface Instance {\n collector: Collector.Instance;\n elb: SourceBrowser.BrowserPush;\n}\n\n// Configuration interface\nexport interface Config {\n // Collector configuration\n collector?: Collector.InitConfig;\n\n // Browser source configuration\n browser?: Partial<SourceBrowser.Settings>;\n\n // DataLayer configuration\n dataLayer?: boolean | Partial<SourceDataLayer.Settings>;\n\n // Global configuration\n elb?: string; // Name for the global elb function\n name?: string; // Name for the global instance\n run?: boolean; // Auto-run on initialization (default: true)\n}\n\nexport type DataLayer = undefined | Array<unknown>;\n","import type { Config, Instance } from './types';\nimport type { Collector, Elb, WalkerOS } from '@walkeros/core';\nimport { startFlow } from '@walkeros/collector';\nimport { assign, isObject } from '@walkeros/core';\nimport {\n sourceBrowser,\n getAllEvents,\n getEvents,\n getGlobals,\n SourceBrowser,\n} from '@walkeros/web-source-browser';\nimport { sourceDataLayer } from '@walkeros/web-source-datalayer';\nimport { dataLayerDestination } from './destination';\n\n// Re-export types\nexport * as Walkerjs from './types';\n\nexport { getAllEvents, getEvents, getGlobals };\n\n// Factory function to create walker.js instance\nexport async function createWalkerjs(config: Config = {}): Promise<Instance> {\n // Default configuration\n const defaultConfig: Config = {\n collector: {\n destinations: {\n dataLayer: { code: dataLayerDestination() },\n },\n },\n browser: {\n run: true,\n session: true,\n },\n dataLayer: false,\n elb: 'elb',\n };\n\n const fullConfig = assign(defaultConfig, config);\n\n // Build collector config with sources\n const collectorConfig: Collector.InitConfig = {\n ...fullConfig.collector,\n sources: {\n browser: {\n code: sourceBrowser,\n config: {\n settings: fullConfig.browser,\n },\n env: {\n window: typeof window !== 'undefined' ? window : undefined,\n document: typeof document !== 'undefined' ? document : undefined,\n },\n },\n },\n };\n\n // Add dataLayer source if configured\n if (fullConfig.dataLayer) {\n const dataLayerSettings = isObject(fullConfig.dataLayer)\n ? fullConfig.dataLayer\n : {};\n\n if (collectorConfig.sources) {\n collectorConfig.sources.dataLayer = {\n code: sourceDataLayer,\n config: {\n settings: dataLayerSettings,\n },\n };\n }\n }\n\n const flow = await startFlow<SourceBrowser.BrowserPush>(collectorConfig);\n\n // Set up global variables if configured (only in browser environments)\n if (typeof window !== 'undefined') {\n if (fullConfig.elb) window[fullConfig.elb] = flow.elb;\n if (fullConfig.name) window[fullConfig.name] = flow.collector;\n }\n\n return flow;\n}\n\n// Export factory function as default\nexport default createWalkerjs;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,SAAS,uBAA6C;AAC3D,SAAO,YAAY,OAAO,aAAa,CAAC;AACxC,QAAM,gBAAgB,CAAC,UAAmB;AAExC,QACE,EAAS,KAAK,KACd,EAAS,MAAM,MAAM,KACrB,OAAO,MAAM,OAAO,IAAI,EAAE,SAAS,WAAW;AAE9C;AAEF,IAAC,OAAO,UAAyB,KAAK,KAAK;AAAA,EAC7C;AACA,QAAM,cAAoC;AAAA,IACxC,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,MAAM,CAAC,OAAO,YAAY;AACxB,oBAAc,QAAQ,QAAQ,KAAK;AAAA,IACrC;AAAA,IACA,WAAW,CAAC,UAAU;AACpB,oBAAc;AAAA,QACZ,MAAM;AAAA,QACN,eAAe,MAAM;AAAA,QACrB,QAAQ,MAAM,KAAK,SAAS,MAAM,OAAO,MAAM;AAAA,MACjD,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AACT;;;ACjCA;;;ACoBA,eAAsB,eAAe,SAAiB,CAAC,GAAsB;AAE3E,QAAM,gBAAwB;AAAA,IAC5B,WAAW;AAAA,MACT,cAAc;AAAA,QACZ,WAAW,EAAE,MAAM,qBAAqB,EAAE;AAAA,MAC5C;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP,KAAK;AAAA,MACL,SAAS;AAAA,IACX;AAAA,IACA,WAAW;AAAA,IACX,KAAK;AAAA,EACP;AAEA,QAAM,aAAa,EAAO,eAAe,MAAM;AAG/C,QAAM,kBAAwC;AAAA,IAC5C,GAAG,WAAW;AAAA,IACd,SAAS;AAAA,MACP,SAAS;AAAA,QACP,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,UAAU,WAAW;AAAA,QACvB;AAAA,QACA,KAAK;AAAA,UACH,QAAQ,OAAO,WAAW,cAAc,SAAS;AAAA,UACjD,UAAU,OAAO,aAAa,cAAc,WAAW;AAAA,QACzD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,MAAI,WAAW,WAAW;AACxB,UAAM,oBAAoB,EAAS,WAAW,SAAS,IACnD,WAAW,YACX,CAAC;AAEL,QAAI,gBAAgB,SAAS;AAC3B,sBAAgB,QAAQ,YAAY;AAAA,QAClC,MAAMA;AAAA,QACN,QAAQ;AAAA,UACN,UAAU;AAAA,QACZ;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,OAAO,MAAMC,GAAqC,eAAe;AAGvE,MAAI,OAAO,WAAW,aAAa;AACjC,QAAI,WAAW,IAAK,QAAO,WAAW,GAAG,IAAI,KAAK;AAClD,QAAI,WAAW,KAAM,QAAO,WAAW,IAAI,IAAI,KAAK;AAAA,EACtD;AAEA,SAAO;AACT;AAGA,IAAO,gBAAQ;","names":["j","M"]}
|
package/dist/walker.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(()=>{var e,t,n=Object.getOwnPropertyNames,r=(e={"package.json"(e,t){t.exports={name:"@walkeros/core",description:"Core types and platform-agnostic utilities for walkerOS",version:"0.1.1",main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",license:"MIT",files:["dist/**"],scripts:{build:"tsup --silent",clean:"rm -rf .turbo && rm -rf node_modules && rm -rf dist",dev:"jest --watchAll --colors",lint:'tsc && eslint "**/*.ts*"',test:"jest",update:"npx npm-check-updates -u && npm update"},dependencies:{},devDependencies:{},repository:{url:"git+https://github.com/elbwalker/walkerOS.git",directory:"packages/core"},author:"elbwalker <hello@elbwalker.com>",homepage:"https://github.com/elbwalker/walkerOS#readme",bugs:{url:"https://github.com/elbwalker/walkerOS/issues"},keywords:["walker","walkerOS","analytics","tracking","data collection","measurement","data privacy","privacy friendly","web analytics","product analytics","core","types","utils"],funding:[{type:"GitHub Sponsors",url:"https://github.com/sponsors/elbwalker"}]}}},function(){return t||(0,e[n(e)[0]])((t={exports:{}}).exports,t),t.exports}),o={Storage:{Local:"local",Session:"session",Cookie:"cookie"}},i={merge:!0,shallow:!0,extend:!0};function s(e,t={},n={}){n={...i,...n};const r=Object.entries(t).reduce((t,[r,o])=>{const i=e[r];return n.merge&&Array.isArray(i)&&Array.isArray(o)?t[r]=o.reduce((e,t)=>e.includes(t)?e:[...e,t],[...i]):(n.extend||r in e)&&(t[r]=o),t},{});return n.shallow?{...e,...r}:(Object.assign(e,r),e)}function a(e){return Array.isArray(e)}function c(e){return void 0!==e}function u(e){return"object"==typeof e&&null!==e&&!a(e)&&"[object Object]"===Object.prototype.toString.call(e)}function l(e){return"string"==typeof e}function d(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 r in e)Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=d(e[r],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(d(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 f(e,t="",n){const r=t.split(".");let o=e;for(let e=0;e<r.length;e++){const t=r[e];if("*"===t&&a(o)){const t=r.slice(e+1).join("."),i=[];for(const e of o){const r=f(e,t,n);i.push(r)}return i}if(o=o instanceof Object?o[t]:void 0,!o)break}return c(o)?o:n}function p(e,t={},n={}){const r={...t,...n},o={};let i=void 0===e;return Object.keys(r).forEach(t=>{r[t]&&(o[t]=!0,e&&e[t]&&(i=!0))}),!!i&&o}var{version:g}=r();function m(e=6){let t="";for(let n=36;t.length<e;)t+=(Math.random()*n|0).toString(n);return t}function y(e){return function(e){return"boolean"==typeof e}(e)||l(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!c(e)||a(e)&&e.every(y)||u(e)&&Object.values(e).every(y)}function h(e){return y(e)?e:void 0}function w(e,t,n){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function b(e,t,n){return async function(...r){try{return await e(...r)}catch(e){if(!t)return;return await t(e)}finally{await(null==n?void 0:n())}}}async function v(e,t={},n={}){var r;if(!c(e))return;const o=u(e)&&e.consent||n.consent||(null==(r=n.collector)?void 0:r.consent),i=a(t)?t:[t];for(const t of i){const r=await b(k)(e,t,{...n,consent:o});if(c(r))return r}}async function k(e,t,n={}){const{collector:r,consent:o}=n;return(a(t)?t:[t]).reduce(async(t,i)=>{const s=await t;if(s)return s;const u=l(i)?{key:i}:i;if(!Object.keys(u).length)return;const{condition:d,consent:g,fn:m,key:y,loop:w,map:S,set:O,validate:j,value:x}=u;if(d&&!await b(d)(e,i,r))return;if(g&&!p(g,o))return x;let _=c(x)?x:e;if(m&&(_=await b(m)(e,i,n)),y&&(_=f(e,y,x)),w){const[t,r]=w,o="this"===t?[e]:await v(e,t,n);a(o)&&(_=(await Promise.all(o.map(e=>v(e,r,n)))).filter(c))}else S?_=await Object.entries(S).reduce(async(t,[r,o])=>{const i=await t,s=await v(e,o,n);return c(s)&&(i[r]=s),i},Promise.resolve({})):O&&(_=await Promise.all(O.map(t=>k(e,t,n))));j&&!await b(j)(_)&&(_=void 0);const E=h(_);return c(E)?E:h(x)},Promise.resolve(void 0))}function S(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function O(e,t,n){return function(...r){let o;const i="post"+t,s=n["pre"+t],a=n[i];return o=s?s({fn:e},...r):e(...r),a&&(o=a({fn:e,result:o},...r)),o}}function j(e,t){return(e.getAttribute(t)||"").trim()}function x(e){const t={};return function(e,t=";"){if(!e)return[];const n=new RegExp(`(?:[^${t}']+|'[^']*')+`,"ig");return e.match(n)||[]}(e).forEach(e=>{const[n,r]=function(e){const[t,n]=e.split(/:(.+)/,2);return[S(t||""),S(n||"")]}(e);n&&("true"===r?t[n]=!0:"false"===r?t[n]=!1:r&&/^\d+$/.test(r)?t[n]=parseInt(r,10):r&&/^\d+\.\d+$/.test(r)?t[n]=parseFloat(r):t[n]=r||!0)}),t}var _=function(){const e=window;(e.elbLayer=e.elbLayer||[]).push(arguments)};function E(e){const t=getComputedStyle(e);if("none"===t.display)return!1;if("visible"!==t.visibility)return!1;if(t.opacity&&Number(t.opacity)<.1)return!1;let n;const r=window.innerHeight,o=e.getBoundingClientRect(),i=o.height,s=o.y,a=s+i,c={x:o.x+e.offsetWidth/2,y:o.y+e.offsetHeight/2};if(i<=r){if(e.offsetWidth+o.width===0||e.offsetHeight+o.height===0)return!1;if(c.x<0)return!1;if(c.x>(document.documentElement.clientWidth||window.innerWidth))return!1;if(c.y<0)return!1;if(c.y>(document.documentElement.clientHeight||window.innerHeight))return!1;n=document.elementFromPoint(c.x,c.y)}else{const e=r/2;if(s<0&&a<e)return!1;if(a>r&&s>e)return!1;n=document.elementFromPoint(c.x,r/2)}if(n)do{if(n===e)return!0}while(n=n.parentElement);return!1}function L(e,t,n){return!1===n?e:(n||(n=C),n(e,t,C))}var A,$,C=(e,t)=>{const n=(null==t?void 0:t.push)||_,r={};return e.id&&(r.session=e.id),e.storage&&e.device&&(r.device=e.device),n("walker user",r),e.isStart&&n({name:"session start",data:e}),e};function q(e,t=o.Storage.Session){var n;function r(e){try{return JSON.parse(e||"")}catch(t){let n=1,r="";return e&&(n=0,r=e),{e:n,v:r}}}let i,s;switch(t){case o.Storage.Cookie:i=decodeURIComponent((null==(n=document.cookie.split("; ").find(t=>t.startsWith(e+"=")))?void 0:n.split("=")[1])||"");break;case o.Storage.Local:s=r(window.localStorage.getItem(e));break;case o.Storage.Session:s=r(window.sessionStorage.getItem(e))}return s&&(i=s.v,0!=s.e&&s.e<Date.now()&&(function(e,t=o.Storage.Session){switch(t){case o.Storage.Cookie:P(e,"",0,t);break;case o.Storage.Local:window.localStorage.removeItem(e);break;case o.Storage.Session:window.sessionStorage.removeItem(e)}}(e,t),i="")),function(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}(i||"")}function P(e,t,n=30,r=o.Storage.Session,i){const s={e:Date.now()+6e4*n,v:String(t)},a=JSON.stringify(s);switch(r){case o.Storage.Cookie:{t="object"==typeof t?JSON.stringify(t):t;let r=`${e}=${encodeURIComponent(t)}; max-age=${60*n}; path=/; SameSite=Lax; secure`;i&&(r+="; domain="+i),document.cookie=r;break}case o.Storage.Local:window.localStorage.setItem(e,a);break;case o.Storage.Session:window.sessionStorage.setItem(e,a)}return q(e,r)}function D(e={}){const t=Date.now(),{length:n=30,deviceKey:r="elbDeviceId",deviceStorage:o="local",deviceAge:i=30,sessionKey:s="elbSessionId",sessionStorage:a="local",pulse:c=!1}=e,u=R(e);let l=!1;const d=w((e,t,n)=>{let r=q(e,n);return r||(r=m(8),P(e,r,1440*t,n)),String(r)})(r,i,o),f=w((e,r)=>{const o=JSON.parse(String(q(e,r)));return c||(o.isNew=!1,u.marketing&&(Object.assign(o,u),l=!0),l||o.updated+6e4*n<t?(delete o.id,delete o.referrer,o.start=t,o.count++,o.runs=1,l=!0):o.runs++),o},()=>{l=!0})(s,a)||{},p={id:m(12),start:t,isNew:!0,count:1,runs:1},g=Object.assign(p,u,f,{device:d},{isStart:l,storage:!0,updated:t},e.data);return P(s,JSON.stringify(g),2*n,a),g}function R(e={}){let t=e.isStart||!1;const n={isStart:t,storage:!1};if(!1===e.isStart)return n;if(!t){const[e]=performance.getEntriesByType("navigation");if("navigate"!==e.type)return n}const r=new URL(e.url||window.location.href),o=e.referrer||document.referrer,i=o&&new URL(o).hostname,a=function(e,t={}){const n="clickId",r={},o={utm_campaign:"campaign",utm_content:"content",utm_medium:"medium",utm_source:"source",utm_term:"term",dclid:n,fbclid:n,gclid:n,msclkid:n,ttclid:n,twclid:n,igshid:n,sclid:n};return Object.entries(s(o,t)).forEach(([t,o])=>{const i=e.searchParams.get(t);i&&(o===n&&(o=t,r[n]=t),r[o]=i)}),r}(r,e.parameters);if(Object.keys(a).length&&(a.marketing||(a.marketing=!0),t=!0),!t){const n=e.domains||[];n.push(r.hostname),t=!n.includes(i)}return t?Object.assign({isStart:t,storage:!1,start:Date.now(),id:m(12),referrer:i},a,e.data):n}var I,N,W=Object.getOwnPropertyNames,X=(A={"package.json"(e,t){t.exports={name:"@walkeros/collector",description:"Unified platform-agnostic collector for walkerOS",version:"0.1.1",main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",license:"MIT",files:["dist/**"],scripts:{build:"tsup --silent",clean:"rm -rf .turbo && rm -rf node_modules && rm -rf dist",dev:"jest --watchAll --colors",lint:'tsc && eslint "**/*.ts*"',test:"jest",update:"npx npm-check-updates -u && npm update"},dependencies:{"@walkeros/core":"0.1.1"},devDependencies:{},repository:{url:"git+https://github.com/elbwalker/walkerOS.git",directory:"packages/collector"},author:"elbwalker <hello@elbwalker.com>",homepage:"https://github.com/elbwalker/walkerOS#readme",bugs:{url:"https://github.com/elbwalker/walkerOS/issues"},keywords:["walker","walkerOS","analytics","tracking","data collection","measurement","data privacy","privacy friendly","collector","event processing"],funding:[{type:"GitHub Sponsors",url:"https://github.com/sponsors/elbwalker"}]}}},function(){return $||(0,A[W(A)[0]])(($={exports:{}}).exports,$),$.exports}),M={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",User:"user",Walker:"walker"},U=M;function T(e,t,n,r){let o,i=n||[];switch(n||(i=e.on[t]||[]),t){case U.Consent:o=r||e.consent;break;case U.Session:o=e.session;break;case U.Ready:case U.Run:default:o=void 0}if(Object.values(e.sources).forEach(e=>{e.on&&w(e.on)(t,o)}),Object.values(e.destinations).forEach(e=>{e.on&&w(e.on)(t,o)}),i.length)switch(t){case U.Consent:!function(e,t,n){const r=n||e.consent;t.forEach(t=>{Object.keys(r).filter(e=>e in t).forEach(n=>{w(t[n])(e,r)})})}(e,i,r);break;case U.Ready:case U.Run:a=i,(s=e).allowed&&a.forEach(e=>{w(e)(s)});break;case U.Session:!function(e,t){e.session&&t.forEach(t=>{w(t)(e,e.session)})}(e,i)}var s,a}async function H(e,t,n,r){let o;switch(t){case U.Config:u(n)&&s(e.config,n,{shallow:!1});break;case U.Consent:u(n)&&(o=await async function(e,t){const{consent:n}=e;let r=!1;const o={};return Object.entries(t).forEach(([e,t])=>{const n=!!t;o[e]=n,r=r||n}),e.consent=s(n,o),T(e,"consent",void 0,o),r?G(e):J({ok:!0})}(e,n));break;case U.Custom:u(n)&&(e.custom=s(e.custom,n));break;case U.Destination:u(n)&&function(e){return"function"==typeof e}(n.push)&&(o=await async function(e,t,n){const{code:r,config:o={},env:i={}}=t,s=n||o||{init:!1},a={...r,config:s,env:z(r.env,i)};let c=a.config.id;if(!c)do{c=m(4)}while(e.destinations[c]);return e.destinations[c]=a,!1!==a.config.queue&&(a.queue=[...e.queue]),G(e,void 0,{[c]:a})}(e,{code:n},r));break;case U.Globals:u(n)&&(e.globals=s(e.globals,n));break;case U.On:l(n)&&function(e,t,n){const r=e.on,o=r[t]||[],i=a(n)?n:[n];i.forEach(e=>{o.push(e)}),r[t]=o,T(e,t,i)}(e,n,r);break;case U.Ready:T(e,"ready");break;case U.Run:o=await async function(e,t){e.allowed=!0,e.count=0,e.group=m(),e.timing=Date.now(),t&&(t.consent&&(e.consent=s(e.consent,t.consent)),t.user&&(e.user=s(e.user,t.user)),t.globals&&(e.globals=s(e.config.globalsStatic||{},t.globals)),t.custom&&(e.custom=s(e.custom,t.custom))),Object.values(e.destinations).forEach(e=>{e.queue=[]}),e.queue=[],e.round++;const n=await G(e);return T(e,"run"),n}(e,n);break;case U.Session:T(e,"session");break;case U.User:u(n)&&s(e.user,n,{shallow:!1})}return o||{ok:!0,successful:[],queued:[],failed:[]}}function B(e,t,n){return O(async(r,o,i)=>await b(async()=>{if("string"==typeof r&&r.startsWith("walker ")){const n=r.replace("walker ","");return await t(e,n,o,i)}{const s=n("string"==typeof r?{name:r}:r),{event:a,command:c}=function(e,t,n={}){const r=function(e){return typeof e==typeof""}(t)?{name:t,...n}:{...n,...t||{}};if(!r.name)throw new Error("Event name is required");const[o,i]=r.name.split(" ");if(!o||!i)throw new Error("Event name is invalid");if(o===M.Walker)return{command:i};++e.count;const{timestamp:s=Date.now(),group:a=e.group,count:c=e.count}=r,{name:u=`${o} ${i}`,data:l={},context:d={},globals:f=e.globals,custom:p={},user:g=e.user,nested:m=[],consent:y=e.consent,id:h=`${s}-${a}-${c}`,trigger:w="",entity:b=o,action:v=i,timing:k=0,version:S={source:e.version,tagging:e.config.tagging||0},source:O={type:"collector",id:"",previous_id:""}}=r;return{event:{name:u,data:l,context:d,globals:f,custom:p,user:g,nested:m,consent:y,id:h,trigger:w,entity:b,action:v,timestamp:s,timing:k,group:a,count:c,version:S,source:O}}}(e,s.name,s);return c?await t(e,c,o,i):await G(e,a)}},()=>J({ok:!1}))(),"Push",e.hooks)}async function G(e,t,n){const{allowed:r,consent:o,globals:i,user:a}=e;if(!r)return J({ok:!1});t&&e.queue.push(t),n||(n=e.destinations);const c=await Promise.all(Object.entries(n||{}).map(async([n,r])=>{let c=(r.queue||[]).map(e=>({...e,consent:o}));if(r.queue=[],t){let n=d(t);await Promise.all(Object.entries(r.config.policy||[]).map(async([r,o])=>{const i=await v(t,o,{collector:e});n=function(e,t,n){const r=d(e),o=t.split(".");let i=r;for(let e=0;e<o.length;e++){const t=o[e];e===o.length-1?i[t]=n:(t in i&&"object"==typeof i[t]&&null!==i[t]||(i[t]={}),i=i[t])}return r}(n,r,i)})),c.push(n)}if(!c.length)return{id:n,destination:r,skipped:!0};const u=[],l=c.filter(e=>{const t=p(r.config.consent,o,e.consent);return!t||(e.consent=t,u.push(e),!1)});if(r.queue.concat(l),!u.length)return{id:n,destination:r,queue:c};if(!await b(K)(e,r))return{id:n,destination:r,queue:c};let f=!1;return r.dlq||(r.dlq=[]),await Promise.all(u.map(async t=>(t.globals=s(i,t.globals),t.user=s(a,t.user),await b(F,n=>(e.config.onError&&e.config.onError(n,e),f=!0,r.dlq.push([t,n]),!1))(e,r,t),t))),{id:n,destination:r,error:f}})),u=[],l=[],f=[];for(const e of c){if(e.skipped)continue;const t=e.destination,n={id:e.id,destination:t};e.error?f.push(n):e.queue&&e.queue.length?(t.queue=(t.queue||[]).concat(e.queue),l.push(n)):u.push(n)}return J({ok:!f.length,event:t,successful:u,queued:l,failed:f})}async function K(e,t){if(t.init&&!t.config.init){const n={collector:e,config:t.config,env:z(t.env,t.config.env)},r=await O(t.init,"DestinationInit",e.hooks)(n);if(!1===r)return r;t.config={...r||t.config,init:!0}}return!0}async function F(e,t,n){var r;const{config:o}=t,{eventMapping:i,mappingKey:l}=await async function(e,t){var n;const[r,o]=(e.name||"").split(" ");if(!t||!r||!o)return{};let i,s="",c=r,u=o;const l=t=>{if(t)return(t=a(t)?t:[t]).find(t=>!t.condition||t.condition(e))};t[c]||(c="*");const d=t[c];return d&&(d[u]||(u="*"),i=l(d[u])),i||(c="*",u="*",i=l(null==(n=t[c])?void 0:n[u])),i&&(s=`${c} ${u}`),{eventMapping:i,mappingKey:s}}(n,o.mapping);let d=o.data&&await v(n,o.data,{collector:e});if(i){if(i.ignore)return!1;if(i.name&&(n.name=i.name),i.data){const t=i.data&&await v(n,i.data,{collector:e});d=u(d)&&u(t)?s(d,t):t}}const f={collector:e,config:o,data:d,mapping:i,env:z(t.env,o.env)};if((null==i?void 0:i.batch)&&t.pushBatch){const s=i.batched||{key:l||"",events:[],data:[]};s.events.push(n),c(d)&&s.data.push(d),i.batchFn=i.batchFn||function(e,t=1e3,n=!1){let r,o=null,i=!1;return(...s)=>new Promise(a=>{const c=n&&!i;o&&clearTimeout(o),o=setTimeout(()=>{o=null,n&&!i||(r=e(...s),a(r))},t),c&&(i=!0,r=e(...s),a(r))})}((e,t)=>{const n={collector:t,config:o,data:d,mapping:i,env:z(e.env,o.env)};O(e.pushBatch,"DestinationPushBatch",t.hooks)(s,n),s.events=[],s.data=[]},i.batch),i.batched=s,null==(r=i.batchFn)||r.call(i,t,e)}else await O(t.push,"DestinationPush",e.hooks)(n,f);return!0}function J(e){var t;return s({ok:!(null==(t=null==e?void 0:e.failed)?void 0:t.length),successful:[],queued:[],failed:[]},e)}function z(e,t){return e||t?t?e&&u(e)&&u(t)?{...e,...t}:t:e:{}}async function V(e={}){const t=await async function(e){const{version:t}=X(),n=s({globalsStatic:{},sessionStatic:{},tagging:0,verbose:!1,onLog:r,run:!0,sources:{},destinations:{},consent:{},user:{},globals:{},custom:{}},e,{merge:!1,extend:!1});function r(e,t){!function(e,t=!1){t&&console.dir(e,{depth:4})}({message:e},t||n.verbose)}n.onLog=r;const o={...n.globalsStatic,...n.globals},i={allowed:!1,config:n,consent:n.consent||{},count:0,custom:n.custom||{},destinations:{},globals:o,group:"",hooks:{},on:{},queue:[],round:0,session:void 0,timing:Date.now(),user:n.user||{},version:t,sources:{},push:void 0};return i.push=B(i,H,e=>({timing:Math.round((Date.now()-i.timing)/10)/100,source:{type:"collector",id:"",previous_id:""},...e})),i.sources=await async function(e,t={}){const n={};for(const[r,o]of Object.entries(t)){const{code:t,config:i={},env:s={}}=o,a={elb:(...t)=>e.push(...t),...s},c=await b(t)(i,a);c&&(n[r]=c)}return n}(i,n.sources),i.destinations=await async function(e,t={}){const n={};for(const[e,r]of Object.entries(t)){const{code:t,config:o={},env:i={}}=r,s={...t.config,...o},a=z(t.env,i);n[e]={...t,config:s,env:a}}return n}(0,n.destinations),i}(e),{consent:n,user:r,globals:o,custom:i}=e;return n&&await t.push("walker consent",n),r&&await t.push("walker user",r),o&&Object.assign(t.globals,o),i&&Object.assign(t.custom,i),t.config.run&&await t.push("walker run"),{collector:t,elb:t.push}}var Y=Object.getOwnPropertyNames,Q=(I={"package.json"(e,t){t.exports={name:"@walkeros/core",description:"Core types and platform-agnostic utilities for walkerOS",version:"0.1.1",main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",license:"MIT",files:["dist/**"],scripts:{build:"tsup --silent",clean:"rm -rf .turbo && rm -rf node_modules && rm -rf dist",dev:"jest --watchAll --colors",lint:'tsc && eslint "**/*.ts*"',test:"jest",update:"npx npm-check-updates -u && npm update"},dependencies:{},devDependencies:{},repository:{url:"git+https://github.com/elbwalker/walkerOS.git",directory:"packages/core"},author:"elbwalker <hello@elbwalker.com>",homepage:"https://github.com/elbwalker/walkerOS#readme",bugs:{url:"https://github.com/elbwalker/walkerOS/issues"},keywords:["walker","walkerOS","analytics","tracking","data collection","measurement","data privacy","privacy friendly","web analytics","product analytics","core","types","utils"],funding:[{type:"GitHub Sponsors",url:"https://github.com/sponsors/elbwalker"}]}}},function(){return N||(0,I[Y(I)[0]])((N={exports:{}}).exports,N),N.exports}),Z={merge:!0,shallow:!0,extend:!0};function ee(e,t={},n={}){n={...Z,...n};const r=Object.entries(t).reduce((t,[r,o])=>{const i=e[r];return n.merge&&Array.isArray(i)&&Array.isArray(o)?t[r]=o.reduce((e,t)=>e.includes(t)?e:[...e,t],[...i]):(n.extend||r in e)&&(t[r]=o),t},{});return n.shallow?{...e,...r}:(Object.assign(e,r),e)}function te(e){return Array.isArray(e)}function ne(e){return e===document||e instanceof Element}function re(e){return"object"==typeof e&&null!==e&&!te(e)&&"[object Object]"===Object.prototype.toString.call(e)}function oe(e){return"string"==typeof e}function ie(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}var{version:se}=Q();function ae(e,t,n){return function(...r){try{return e(...r)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function ce(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function ue(e,t,n=!0){return e+(null!=t?(n?"-":"")+t:"")}function le(e,t,n,r=!0){return we(j(t,ue(e,n,r))||"").reduce((e,n)=>{let[r,o]=be(n);if(!r)return e;if(o||(r.endsWith(":")&&(r=r.slice(0,-1)),o=""),o.startsWith("#")){o=o.slice(1);try{let e=t[o];e||"selected"!==o||(e=t.options[t.selectedIndex].text),o=String(e)}catch(e){o=""}}return r.endsWith("[]")?(r=r.slice(0,-2),te(e[r])||(e[r]=[]),e[r].push(ie(o))):e[r]=ie(o),e},{})}function de(e,t){const n=window.location,r="page",o=t===document?document.body:t,[i,s]=ye(o,`[${ue(e,r)}]`,e,r);return i.domain=n.hostname,i.title=document.title,i.referrer=document.referrer,n.search&&(i.search=n.search),n.hash&&(i.hash=n.hash),[i,s]}function fe(e){const t={};return we(e).forEach(e=>{const[n,r]=be(e),[o,i]=ve(n);if(!o)return;let[s,a]=ve(r||"");s=s||o,t[o]||(t[o]=[]),t[o].push({trigger:o,triggerParams:i,action:s,actionParams:a})}),t}function pe(e,t,n,r=!1){const o=[];let i=t;for(n=0!==Object.keys(n||{}).length?n:void 0;i;){const s=ge(e,i,t,n);if(s&&(o.push(s),r))break;i=me(e,i)}return o}function ge(e,t,n,r){const o=j(t,ue(e));if(!o||r&&!r[o])return null;const i=[t],s=`[${ue(e,o)}],[${ue(e,"")}]`,a=ue(e,U.Link,!1);let c={};const u=[],[l,d]=ye(n||t,s,e,o);he(t,`[${a}]`,t=>{const[n,r]=be(j(t,a));"parent"===r&&he(document.body,`[${a}="${n}:child"]`,t=>{i.push(t);const n=ge(e,t);n&&u.push(n)})});const f=[];i.forEach(e=>{e.matches(s)&&f.push(e),he(e,s,e=>f.push(e))});let p={};return f.forEach(t=>{p=ee(p,le(e,t,"")),c=ee(c,le(e,t,o))}),c=ee(ee(p,c),l),i.forEach(t=>{he(t,`[${ue(e)}]`,t=>{const n=ge(e,t);n&&u.push(n)})}),{entity:o,data:c,context:d,nested:u}}function me(e,t){const n=ue(e,U.Link,!1);if(t.matches(`[${n}]`)){const[e,r]=be(j(t,n));if("child"===r)return document.querySelector(`[${n}="${e}:parent"]`)}return!t.parentElement&&t.getRootNode&&t.getRootNode()instanceof ShadowRoot?t.getRootNode().host:t.parentElement}function ye(e,t,n,r){let o={};const i={};let s=e;const a=`[${ue(n,U.Context,!1)}]`;let c=0;for(;s;)s.matches(t)&&(o=ee(le(n,s,""),o),o=ee(le(n,s,r),o)),s.matches(a)&&(Object.entries(le(n,s,U.Context,!1)).forEach(([e,t])=>{t&&!i[e]&&(i[e]=[t,c])}),++c),s=me(n,s);return[o,i]}function he(e,t,n){e.querySelectorAll(t).forEach(n)}function we(e,t=";"){if(!e)return[];const n=new RegExp(`(?:[^${t}']+|'[^']*')+`,"ig");return e.match(n)||[]}function be(e){const[t,n]=e.split(/:(.+)/,2);return[ce(t),ce(n)]}function ve(e){const[t,n]=e.split("(",2);return[t,n?n.slice(0,-1):""]}var ke=new WeakMap,Se=new WeakMap,Oe=new WeakMap;function je(e){const t=Date.now();let n=Se.get(e);return(!n||t-n.lastChecked>500)&&(n={isVisible:E(e),lastChecked:t},Se.set(e,n)),n.isVisible}function xe(e){if(window.IntersectionObserver)return ae(()=>new window.IntersectionObserver(t=>{t.forEach(t=>{!function(e,t){var n,r;const o=t.target,i=Oe.get(e);if(!i)return;const s=i.timers.get(o);if(t.intersectionRatio>0){const r=Date.now();let a=ke.get(o);if((!a||r-a.lastChecked>1e3)&&(a={isLarge:o.offsetHeight>window.innerHeight,lastChecked:r},ke.set(o,a)),t.intersectionRatio>=.5||a.isLarge&&je(o)){const t=null==(n=i.elementConfigs)?void 0:n.get(o);if((null==t?void 0:t.multiple)&&t.blocked)return;if(!s){const t=window.setTimeout(async()=>{var t,n;if(je(o)){const r=null==(t=i.elementConfigs)?void 0:t.get(o);(null==r?void 0:r.context)&&await Me(r.context,o,r.trigger);const s=null==(n=i.elementConfigs)?void 0:n.get(o);(null==s?void 0:s.multiple)?s.blocked=!0:function(e,t){const n=Oe.get(e);if(!n)return;n.observer&&n.observer.unobserve(t);const r=n.timers.get(t);r&&(clearTimeout(r),n.timers.delete(t)),ke.delete(t),Se.delete(t)}(e,o)}},i.duration);i.timers.set(o,t)}return}}s&&(clearTimeout(s),i.timers.delete(o));const a=null==(r=i.elementConfigs)?void 0:r.get(o);(null==a?void 0:a.multiple)&&(a.blocked=!1)}(e,t)})},{rootMargin:"0px",threshold:[0,.5]}),()=>{})()}function _e(e,t,n={multiple:!1}){var r;const o=e.settings.scope||document,i=Oe.get(o);(null==i?void 0:i.observer)&&t&&(i.elementConfigs||(i.elementConfigs=new WeakMap),i.elementConfigs.set(t,{multiple:null!=(r=n.multiple)&&r,blocked:!1,context:e,trigger:n.multiple?"visible":"impression"}),i.observer.observe(t))}function Ee(e){if(!e)return;const t=Oe.get(e);t&&(t.observer&&t.observer.disconnect(),Oe.delete(e))}var Le,Ae=performance.now();function $e(e,t,n,r,o,i,s){const{elb:a,settings:c}=e;if(oe(t)&&t.startsWith("walker "))return a(t,n);if(re(t)){const e=t;return e.source||(e.source=Ce()),a(e)}const[u]=String(re(t)?t.name:t).split(" ");let l,d=re(n)?n:{},f={},p=!1;if(ne(n)&&(l=n,p=!0),ne(o)?l=o:re(o)&&Object.keys(o).length&&(f=o),l){const e=pe(c.prefix||"data-elb",l).find(e=>e.entity===u);e&&(p&&(d=e.data),f=e.context)}return"page"===u&&(d.id=d.id||window.location.pathname),a({name:String(t||""),data:d,context:f,nested:i,custom:s,trigger:oe(r)?r:"",timing:Math.round((performance.now()-Ae)/10)/100,source:Ce()})}function Ce(){return{type:"browser",id:window.location.href,previous_id:document.referrer}}var qe=[],Pe="hover",De="load",Re="pulse",Ie="scroll",Ne="wait";function We(e,t){t.scope&&function(e,t){const n=t.scope;n&&(n.addEventListener("click",ae(function(t){Te.call(this,e,t)})),n.addEventListener("submit",ae(function(t){He.call(this,e,t)})))}(e,t)}function Xe(e,t){t.scope&&function(e,t){const n=t.scope;qe=[];const r=n||document;Ee(r),function(e,t=1e3){Oe.has(e)||Oe.set(e,{observer:xe(e),timers:new WeakMap,duration:t})}(r,1e3);const o=ue(t.prefix,U.Action,!1);r!==document&&Ue(e,r,o,t),r.querySelectorAll(`[${o}]`).forEach(n=>{Ue(e,n,o,t)}),qe.length&&function(e,t){const n=(e,t)=>e.filter(([e,n])=>{const r=window.scrollY+window.innerHeight,o=e.offsetTop;if(r<o)return!0;const i=e.clientHeight;return!(100*(1-(o+i-r)/(i||1))>=n&&(Me(t,e,Ie),1))});Le||(Le=function(e,t=1e3){let n=null;return function(...r){if(null===n)return n=setTimeout(()=>{n=null},t),e(...r)}}(function(){qe=n.call(t,qe,e)}),t.addEventListener("scroll",Le))}(e,r)}(e,t)}async function Me(e,t,n){const r=function(e,t,n=U.Prefix){const r=[],{actions:o,nearestOnly:i}=function(e,t,n){let r=t;for(;r;){const t=j(r,ue(e,U.Actions,!1));if(t){const e=fe(t);if(e[n])return{actions:e[n],nearestOnly:!1}}const o=j(r,ue(e,U.Action,!1));if(o){const e=fe(o);if(e[n]||"click"!==n)return{actions:e[n]||[],nearestOnly:!0}}r=me(e,r)}return{actions:[],nearestOnly:!1}}(n,e,t);return o.length?(o.forEach(o=>{const s=we(o.actionParams||"",",").reduce((e,t)=>(e[ce(t)]=!0,e),{}),a=pe(n,e,s,i);if(!a.length){const t="page",r=`[${ue(n,t)}]`,[o,i]=ye(e,r,n,t);a.push({entity:t,data:o,nested:[],context:i})}a.forEach(e=>{r.push({entity:e.entity,action:o.action,data:e.data,trigger:t,context:e.context,nested:e.nested})})}),r):r}(t,n,e.settings.prefix);return Promise.all(r.map(t=>$e(e,{name:`${t.entity} ${t.action}`,...t,trigger:n})))}function Ue(e,t,n,r){const o=j(t,n);o&&Object.values(fe(o)).forEach(n=>n.forEach(n=>{switch(n.trigger){case Pe:r=e,t.addEventListener("mouseenter",ae(function(e){e.target instanceof Element&&Me(r,e.target,Pe)}));break;case De:!function(e,t){Me(e,t,De)}(e,t);break;case Re:!function(e,t,n=""){setInterval(()=>{document.hidden||Me(e,t,Re)},parseInt(n||"")||15e3)}(e,t,n.triggerParams);break;case Ie:!function(e,t=""){const n=parseInt(t||"")||50;n<0||n>100||qe.push([e,n])}(t,n.triggerParams);break;case"impression":_e(e,t);break;case"visible":_e(e,t,{multiple:!0});break;case Ne:!function(e,t,n=""){setTimeout(()=>Me(e,t,Ne),parseInt(n||"")||15e3)}(e,t,n.triggerParams)}var r}))}function Te(e,t){Me(e,t.target,"click")}function He(e,t){t.target&&Me(e,t.target,"submit")}function Be(e,t,n,r){const o=[];let i=!0;n.forEach(e=>{const t=Ke(e)?[...Array.from(e)]:null!=(n=e)&&"object"==typeof n&&"length"in n&&"number"==typeof n.length?Array.from(e):[e];var n;if(Array.isArray(t)&&0===t.length)return;if(Array.isArray(t)&&1===t.length&&!t[0])return;const s=t[0],a=!re(s)&&oe(s)&&s.startsWith("walker ");if(re(s)){if("object"==typeof s&&0===Object.keys(s).length)return}else{const e=Array.from(t);if(!oe(e[0])||""===e[0].trim())return;const n="walker run";i&&e[0]===n&&(i=!1)}(r&&a||!r&&!a)&&o.push(t)}),o.forEach(n=>{Ge(e,t,n)})}function Ge(e,t="data-elb",n){ae(()=>{if(Array.isArray(n)){const[r,...o]=n;if(!r||oe(r)&&""===r.trim())return;if(oe(r)&&r.startsWith("walker "))return void e(r,o[0]);$e({elb:e,settings:{prefix:t,scope:document,pageview:!1,session:!1,elb:"",elbLayer:!1}},r,...o)}else if(n&&"object"==typeof n){if(0===Object.keys(n).length)return;e(n)}},()=>{})()}function Ke(e){return null!=e&&"object"==typeof e&&"[object Arguments]"===Object.prototype.toString.call(e)}function Fe(e,t={}){return function(e={}){const{cb:t,consent:n,collector:r,storage:o}=e,i=(null==r?void 0:r.push)||_;if(!n)return L((o?D:R)(e),r,t);{const r=function(e,t){let n;return(r,o)=>{if(c(n)&&n===(null==r?void 0:r.group))return;n=null==r?void 0:r.group;let i=()=>R(e);return e.consent&&p((a(e.consent)?e.consent:[e.consent]).reduce((e,t)=>({...e,[t]:!0}),{}),o)&&(i=()=>D(e)),L(i(),r,t)}}(e,t);i("walker on","consent",(a(n)?n:[n]).reduce((e,t)=>({...e,[t]:r}),{}))}}({...t,collector:{push:e,group:void 0}})}var Je=async(e,t)=>{try{const n=t||{},{elb:r,window:o,document:i}=n;if(!r)throw new Error("Browser source requires elb function in environment");const s=function(e={},t){return{prefix:"data-elb",pageview:!0,session:!0,elb:"elb",elbLayer:"elbLayer",scope:t||void 0,...e}}((null==e?void 0:e.settings)||{},i),a={settings:s},c={elb:r,settings:s};if(i&&o){if(!1!==s.elbLayer&&function(e,t={}){const n=t.name||"elbLayer",r=t.window||("undefined"!=typeof window?window:void 0);if(!r)return;const o=r;o[n]||(o[n]=[]);const i=o[n];i.push=function(...n){if(Ke(n[0])){const r=[...Array.from(n[0])],o=Array.prototype.push.apply(this,[r]);return Ge(e,t.prefix,r),o}const r=Array.prototype.push.apply(this,n);return n.forEach(n=>{Ge(e,t.prefix,n)}),r},Array.isArray(i)&&i.length>0&&function(e,t="data-elb",n){Be(e,t,n,!0),Be(e,t,n,!1),n.length=0}(e,t.prefix,i)}(r,{name:oe(s.elbLayer)?s.elbLayer:"elbLayer",prefix:s.prefix,window:o}),s.session){const e="boolean"==typeof s.session?{}:s.session;Fe(r,e)}await async function(e,t,n){const r=()=>{e(t,n)};"loading"!==document.readyState?r():document.addEventListener("DOMContentLoaded",r)}(We,c,s),(()=>{if(Xe(c,s),s.pageview){const[e,t]=de(s.prefix||"data-elb",s.scope);$e(c,"page view",e,"load",t)}})(),oe(s.elb)&&s.elb&&(o[s.elb]=(...e)=>{const[t,n,r,o,i,s]=e;return $e(c,t,n,r,o,i,s)})}return{type:"browser",config:a,push:(...e)=>{const[t,n,r,o,i,s]=e;return $e(c,t,n,r,o,i,s)},destroy:async()=>{i&&Ee(s.scope||i)},on:async(e,t)=>{switch(e){case"consent":if(s.session&&t){const e="boolean"==typeof s.session?{}:s.session;Fe(r,e)}break;case"session":case"ready":default:break;case"run":if(i&&o&&(Xe(c,s),s.pageview)){const[e,t]=de(s.prefix||"data-elb",s.scope);$e(c,"page view",e,"load",t)}}}}}catch(e){throw e}},ze=Object.defineProperty,Ve=(e,t)=>{for(var n in t)ze(e,n,{get:t[n],enumerable:!0})},Ye=!1;function Qe(e,t={},n){if(t.filter&&!0===w(()=>t.filter(n),()=>!1)())return;const r=function(e){if(u(e)&&l(e.event)){const{event:t,...n}=e;return{name:t,...n}}return a(e)&&e.length>=2?Ze(e):null!=(t=e)&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0?Ze(Array.from(e)):null;var t}(n);if(!r)return;const o={name:`${t.prefix||"dataLayer"} ${r.name}`,data:r,context:{},globals:{},custom:{},consent:{},nested:[],user:{},id:Math.random().toString(36).substring(2,15),trigger:"",entity:"",action:"",timestamp:Date.now(),timing:0,group:"",count:0,version:{source:"1.0.0",tagging:2},source:{type:"dataLayer",id:"",previous_id:""}};w(()=>e(o),()=>{})()}function Ze(e){const[t,n,r]=e;if(!l(t))return null;let o,i={};switch(t){case"consent":if(!l(n)||e.length<3)return null;if("default"!==n&&"update"!==n)return null;if(!u(r)||null===r)return null;o=`${t} ${n}`,i={...r};break;case"event":if(!l(n))return null;o=n,u(r)&&(i={...r});break;case"config":if(!l(n))return null;o=`${t} ${n}`,u(r)&&(i={...r});break;case"set":if(l(n))o=`${t} ${n}`,u(r)&&(i={...r});else{if(!u(n))return null;o=`${t} custom`,i={...n}}break;default:return null}return{name:o,...i}}function et(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]}function tt(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]}function nt(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]}function rt(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]}function ot(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]}function it(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]}function st(){return["set",{currency:"EUR",country:"DE"}]}function at(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}}Ve({},{add_to_cart:()=>rt,config:()=>it,consentDefault:()=>tt,consentUpdate:()=>et,directDataLayerEvent:()=>at,purchase:()=>nt,setCustom:()=>st,view_item:()=>ot});Ve({},{add_to_cart:()=>lt,config:()=>gt,configGA4:()=>ft,consentOnlyMapping:()=>mt,consentUpdate:()=>ct,customEvent:()=>pt,purchase:()=>ut,view_item:()=>dt});var ct={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:e=>"granted"===e},marketing:{key:"ad_storage",fn:e=>"granted"===e}}}}},ut={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},lt={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},dt={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},ft={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},pt={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},gt={consent:{update:ct},purchase:ut,add_to_cart:lt,view_item:dt,"config G-XXXXXXXXXX":ft,custom_event:pt,"*":{data:{}}},mt={consent:{update:ct}},yt=async(e,t)=>{try{const n=t||{},{elb:r,window:o}=n;if(!r)throw new Error("DataLayer source requires elb function in environment");const i={name:"dataLayer",prefix:"dataLayer",...null==e?void 0:e.settings},s={settings:i};return o&&(function(e,t){const n=t.settings,r=(null==n?void 0:n.name)||"dataLayer",o=window[r];if(Array.isArray(o)&&!Ye){Ye=!0;try{for(const t of o)Qe(e,n,t)}finally{Ye=!1}}}(r,s),function(e,t){const n=t.settings,r=(null==n?void 0:n.name)||"dataLayer";window[r]||(window[r]=[]);const o=window[r];if(!Array.isArray(o))return;const i=o.push.bind(o);o.push=function(...t){if(Ye)return i(...t);Ye=!0;try{for(const r of t)Qe(e,n,r)}finally{Ye=!1}return i(...t)}}(r,s)),{type:"dataLayer",config:s,push:r,destroy:async()=>{const e=i.name||"dataLayer";o&&o[e]&&Array.isArray(o[e])}}}catch(e){throw e}};function ht(){window.dataLayer=window.dataLayer||[];const e=e=>{u(e)&&u(e.source)&&String(e.source.type).includes("dataLayer")||window.dataLayer.push(e)};return{type:"dataLayer",config:{},push:(t,n)=>{e(n.data||t)},pushBatch:t=>{e({name:"batch",batched_event:t.key,events:t.data.length?t.data:t.events})}}}if(window&&document){const e=async()=>{let e;const t=document.querySelector("script[data-elbconfig]");if(t){const n=t.getAttribute("data-elbconfig")||"";n.includes(":")?e=x(n):n&&(e=window[n])}e||(e=window.elbConfig),e&&await async function(e={}){const t=s({collector:{destinations:{dataLayer:{code:ht()}}},browser:{run:!0,session:!0},dataLayer:!1,elb:"elb"},e),n={...t.collector,sources:{browser:{code:Je,config:{settings:t.browser},env:{window:"undefined"!=typeof window?window:void 0,document:"undefined"!=typeof document?document:void 0}}}};if(t.dataLayer){const e=u(t.dataLayer)?t.dataLayer:{};n.sources&&(n.sources.dataLayer={code:yt,config:{settings:e}})}const{collector:r}=await V(n);if(!r.sources.browser)throw new Error("Browser source not initialized in walker.js");const o=r.sources.browser.push,i={collector:r,elb:o};return"undefined"!=typeof window&&(t.elb&&(window[t.elb]=o),t.name&&(window[t.name]=r)),i}(e)};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}})();
|
|
1
|
+
"use strict";(()=>{var e={Storage:{Local:"local",Session:"session",Cookie:"cookie"}},t={merge:!0,shallow:!0,extend:!0};function n(e,n={},o={}){o={...t,...o};const r=Object.entries(n).reduce((t,[n,r])=>{const i=e[n];return o.merge&&Array.isArray(i)&&Array.isArray(r)?t[n]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...i]):(o.extend||n in e)&&(t[n]=r),t},{});return o.shallow?{...e,...r}:(Object.assign(e,r),e)}function o(e){return Array.isArray(e)}function r(e){return void 0!==e}function i(e){return"object"==typeof e&&null!==e&&!o(e)&&"[object Object]"===Object.prototype.toString.call(e)}function s(e){return"string"==typeof e}function a(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]=a(e[o],t));return n}if("[object Array]"===n){const n=[];return t.set(e,n),e.forEach(e=>{n.push(a(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 c(e,t="",n){const i=t.split(".");let s=e;for(let e=0;e<i.length;e++){const t=i[e];if("*"===t&&o(s)){const t=i.slice(e+1).join("."),o=[];for(const e of s){const r=c(e,t,n);o.push(r)}return o}if(s=s instanceof Object?s[t]:void 0,!s)break}return r(s)?s:n}function u(e,t={},n={}){const o={...t,...n},r={};let i=void 0===e;return Object.keys(o).forEach(t=>{o[t]&&(r[t]=!0,e&&e[t]&&(i=!0))}),!!i&&r}function l(e=6){let t="";for(let n=36;t.length<e;)t+=(Math.random()*n|0).toString(n);return t}function f(e){return function(e){return"boolean"==typeof e}(e)||s(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!r(e)||o(e)&&e.every(f)||i(e)&&Object.values(e).every(f)}function d(e){return f(e)?e:void 0}function g(e,t,n){return function(...o){try{return e(...o)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function m(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 p(e,t={},n={}){var s;if(!r(e))return;const a=i(e)&&e.consent||n.consent||(null==(s=n.collector)?void 0:s.consent),c=o(t)?t:[t];for(const t of c){const o=await m(y)(e,t,{...n,consent:a});if(r(o))return o}}async function y(e,t,n={}){const{collector:i,consent:a}=n;return(o(t)?t:[t]).reduce(async(t,l)=>{const f=await t;if(f)return f;const g=s(l)?{key:l}:l;if(!Object.keys(g).length)return;const{condition:h,consent:b,fn:w,key:v,loop:k,map:j,set:S,validate:E,value:_}=g;if(h&&!await m(h)(e,l,i))return;if(b&&!u(b,a))return _;let L=r(_)?_:e;if(w&&(L=await m(w)(e,l,n)),v&&(L=c(e,v,_)),k){const[t,i]=k,s="this"===t?[e]:await p(e,t,n);o(s)&&(L=(await Promise.all(s.map(e=>p(e,i,n)))).filter(r))}else j?L=await Object.entries(j).reduce(async(t,[o,i])=>{const s=await t,a=await p(e,i,n);return r(a)&&(s[o]=a),s},Promise.resolve({})):S&&(L=await Promise.all(S.map(t=>y(e,t,n))));E&&!await m(E)(L)&&(L=void 0);const O=d(L);return r(O)?O:d(_)},Promise.resolve(void 0))}function h(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function b(e,t,n){return function(...o){let r;const i="post"+t,s=n["pre"+t],a=n[i];return r=s?s({fn:e},...o):e(...o),a&&(r=a({fn:e,result:r},...o)),r}}function w(e,t){return(e.getAttribute(t)||"").trim()}function v(e){const t={};return function(e,t=";"){if(!e)return[];const n=new RegExp(`(?:[^${t}']+|'[^']*')+`,"ig");return e.match(n)||[]}(e).forEach(e=>{const[n,o]=function(e){const[t,n]=e.split(/:(.+)/,2);return[h(t||""),h(n||"")]}(e);n&&("true"===o?t[n]=!0:"false"===o?t[n]=!1:o&&/^\d+$/.test(o)?t[n]=parseInt(o,10):o&&/^\d+\.\d+$/.test(o)?t[n]=parseFloat(o):t[n]=o||!0)}),t}var k=function(){const e=window;(e.elbLayer=e.elbLayer||[]).push(arguments)};function j(e){const t=getComputedStyle(e);if("none"===t.display)return!1;if("visible"!==t.visibility)return!1;if(t.opacity&&Number(t.opacity)<.1)return!1;let n;const o=window.innerHeight,r=e.getBoundingClientRect(),i=r.height,s=r.y,a=s+i,c={x:r.x+e.offsetWidth/2,y:r.y+e.offsetHeight/2};if(i<=o){if(e.offsetWidth+r.width===0||e.offsetHeight+r.height===0)return!1;if(c.x<0)return!1;if(c.x>(document.documentElement.clientWidth||window.innerWidth))return!1;if(c.y<0)return!1;if(c.y>(document.documentElement.clientHeight||window.innerHeight))return!1;n=document.elementFromPoint(c.x,c.y)}else{const e=o/2;if(s<0&&a<e)return!1;if(a>o&&s>e)return!1;n=document.elementFromPoint(c.x,o/2)}if(n)do{if(n===e)return!0}while(n=n.parentElement);return!1}function S(e,t,n){return!1===n?e:(n||(n=E),n(e,t,E))}var E=(e,t)=>{const n=(null==t?void 0:t.push)||k,o={};return e.id&&(o.session=e.id),e.storage&&e.device&&(o.device=e.device),n("walker user",o),e.isStart&&n({name:"session start",data:e}),e};function _(t,n=e.Storage.Session){var o;function r(e){try{return JSON.parse(e||"")}catch(t){let n=1,o="";return e&&(n=0,o=e),{e:n,v:o}}}let i,s;switch(n){case e.Storage.Cookie:i=decodeURIComponent((null==(o=document.cookie.split("; ").find(e=>e.startsWith(t+"=")))?void 0:o.split("=")[1])||"");break;case e.Storage.Local:s=r(window.localStorage.getItem(t));break;case e.Storage.Session:s=r(window.sessionStorage.getItem(t))}return s&&(i=s.v,0!=s.e&&s.e<Date.now()&&(function(t,n=e.Storage.Session){switch(n){case e.Storage.Cookie:L(t,"",0,n);break;case e.Storage.Local:window.localStorage.removeItem(t);break;case e.Storage.Session:window.sessionStorage.removeItem(t)}}(t,n),i="")),function(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}(i||"")}function L(t,n,o=30,r=e.Storage.Session,i){const s={e:Date.now()+6e4*o,v:String(n)},a=JSON.stringify(s);switch(r){case e.Storage.Cookie:{n="object"==typeof n?JSON.stringify(n):n;let e=`${t}=${encodeURIComponent(n)}; max-age=${60*o}; path=/; SameSite=Lax; secure`;i&&(e+="; domain="+i),document.cookie=e;break}case e.Storage.Local:window.localStorage.setItem(t,a);break;case e.Storage.Session:window.sessionStorage.setItem(t,a)}return _(t,r)}function O(e={}){const t=Date.now(),{length:n=30,deviceKey:o="elbDeviceId",deviceStorage:r="local",deviceAge:i=30,sessionKey:s="elbSessionId",sessionStorage:a="local",pulse:c=!1}=e,u=x(e);let f=!1;const d=g((e,t,n)=>{let o=_(e,n);return o||(o=l(8),L(e,o,1440*t,n)),String(o)})(o,i,r),m=g((e,o)=>{const r=JSON.parse(String(_(e,o)));return c||(r.isNew=!1,u.marketing&&(Object.assign(r,u),f=!0),f||r.updated+6e4*n<t?(delete r.id,delete r.referrer,r.start=t,r.count++,r.runs=1,f=!0):r.runs++),r},()=>{f=!0})(s,a)||{},p={id:l(12),start:t,isNew:!0,count:1,runs:1},y=Object.assign(p,u,m,{device:d},{isStart:f,storage:!0,updated:t},e.data);return L(s,JSON.stringify(y),2*n,a),y}function x(e={}){let t=e.isStart||!1;const o={isStart:t,storage:!1};if(!1===e.isStart)return o;if(!t){const[e]=performance.getEntriesByType("navigation");if("navigate"!==e.type)return o}const r=new URL(e.url||window.location.href),i=e.referrer||document.referrer,s=i&&new URL(i).hostname,a=function(e,t={}){const o="clickId",r={},i={utm_campaign:"campaign",utm_content:"content",utm_medium:"medium",utm_source:"source",utm_term:"term",dclid:o,fbclid:o,gclid:o,msclkid:o,ttclid:o,twclid:o,igshid:o,sclid:o};return Object.entries(n(i,t)).forEach(([t,n])=>{const i=e.searchParams.get(t);i&&(n===o&&(n=t,r[o]=t),r[n]=i)}),r}(r,e.parameters);if(Object.keys(a).length&&(a.marketing||(a.marketing=!0),t=!0),!t){const n=e.domains||[];n.push(r.hostname),t=!n.includes(s)}return t?Object.assign({isStart:t,storage:!1,start:Date.now(),id:l(12),referrer:s},a,e.data):o}var A={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",User:"user",Walker:"walker"},$=A;function C(e,t,n,o){let r,i=n||[];switch(n||(i=e.on[t]||[]),t){case $.Consent:r=o||e.consent;break;case $.Session:r=e.session;break;case $.Ready:case $.Run:default:r=void 0}if(Object.values(e.sources).forEach(e=>{e.on&&g(e.on)(t,r)}),Object.values(e.destinations).forEach(e=>{if(e.on){g(e.on)(t,r)}}),i.length)switch(t){case $.Consent:!function(e,t,n){const o=n||e.consent;t.forEach(t=>{Object.keys(o).filter(e=>e in t).forEach(n=>{g(t[n])(e,o)})})}(e,i,o);break;case $.Ready:case $.Run:a=i,(s=e).allowed&&a.forEach(e=>{g(e)(s)});break;case $.Session:!function(e,t){e.session&&t.forEach(t=>{g(t)(e,e.session)})}(e,i)}var s,a}async function q(e,t,r,a){let c;switch(t){case $.Config:i(r)&&n(e.config,r,{shallow:!1});break;case $.Consent:i(r)&&(c=await async function(e,t){const{consent:o}=e;let r=!1;const i={};return Object.entries(t).forEach(([e,t])=>{const n=!!t;i[e]=n,r=r||n}),e.consent=n(o,i),C(e,"consent",void 0,i),r?R(e):X({ok:!0})}(e,r));break;case $.Custom:i(r)&&(e.custom=n(e.custom,r));break;case $.Destination:i(r)&&"function"==typeof r.push&&(c=await async function(e,t,n){const{code:o,config:r={},env:i={}}=t,s=n||r||{init:!1},a={...o,config:s,env:N(o.env,i)};let c=a.config.id;if(!c)do{c=l(4)}while(e.destinations[c]);return e.destinations[c]=a,!1!==a.config.queue&&(a.queue=[...e.queue]),R(e,void 0,{[c]:a})}(e,{code:r},a));break;case $.Globals:i(r)&&(e.globals=n(e.globals,r));break;case $.On:s(r)&&function(e,t,n){const r=e.on,i=r[t]||[],s=o(n)?n:[n];s.forEach(e=>{i.push(e)}),r[t]=i,C(e,t,s)}(e,r,a);break;case $.Ready:C(e,"ready");break;case $.Run:c=await async function(e,t){e.allowed=!0,e.count=0,e.group=l(),e.timing=Date.now(),t&&(t.consent&&(e.consent=n(e.consent,t.consent)),t.user&&(e.user=n(e.user,t.user)),t.globals&&(e.globals=n(e.config.globalsStatic||{},t.globals)),t.custom&&(e.custom=n(e.custom,t.custom))),Object.values(e.destinations).forEach(e=>{e.queue=[]}),e.queue=[],e.round++;const o=await R(e);return C(e,"run"),o}(e,r);break;case $.Session:C(e,"session");break;case $.User:i(r)&&n(e.user,r,{shallow:!1})}return c||{ok:!0,successful:[],queued:[],failed:[]}}function P(e,t,n){return b(async(o,r,i)=>await m(async()=>{if("string"==typeof o&&o.startsWith("walker ")){const n=o.replace("walker ","");return await t(e,n,r,i)}{const s=n("string"==typeof o?{name:o}:o),{event:a,command:c}=function(e,t,n={}){const o=function(e){return typeof e==typeof""}(t)?{name:t,...n}:{...n,...t||{}};if(!o.name)throw new Error("Event name is required");const[r,i]=o.name.split(" ");if(!r||!i)throw new Error("Event name is invalid");if(r===A.Walker)return{command:i};++e.count;const{timestamp:s=Date.now(),group:a=e.group,count:c=e.count}=o,{name:u=`${r} ${i}`,data:l={},context:f={},globals:d=e.globals,custom:g={},user:m=e.user,nested:p=[],consent:y=e.consent,id:h=`${s}-${a}-${c}`,trigger:b="",entity:w=r,action:v=i,timing:k=0,version:j={source:e.version,tagging:e.config.tagging||0},source:S={type:"collector",id:"",previous_id:""}}=o;return{event:{name:u,data:l,context:f,globals:d,custom:g,user:m,nested:p,consent:y,id:h,trigger:b,entity:w,action:v,timestamp:s,timing:k,group:a,count:c,version:j,source:S}}}(e,s.name,s);return c?await t(e,c,r,i):await R(e,a)}},()=>X({ok:!1}))(),"Push",e.hooks)}async function R(e,t,o){const{allowed:r,consent:i,globals:s,user:c}=e;if(!r)return X({ok:!1});t&&e.queue.push(t),o||(o=e.destinations);const l=await Promise.all(Object.entries(o||{}).map(async([o,r])=>{let l=(r.queue||[]).map(e=>({...e,consent:i}));if(r.queue=[],t){let n=a(t);await Promise.all(Object.entries(r.config.policy||[]).map(async([o,r])=>{const i=await p(t,r,{collector:e});n=function(e,t,n){const o=a(e),r=t.split(".");let i=o;for(let e=0;e<r.length;e++){const t=r[e];e===r.length-1?i[t]=n:(t in i&&"object"==typeof i[t]&&null!==i[t]||(i[t]={}),i=i[t])}return o}(n,o,i)})),l.push(n)}if(!l.length)return{id:o,destination:r,skipped:!0};const f=[],d=l.filter(e=>{const t=u(r.config.consent,i,e.consent);return!t||(e.consent=t,f.push(e),!1)});if(r.queue.concat(d),!f.length)return{id:o,destination:r,queue:l};if(!await m(D)(e,r))return{id:o,destination:r,queue:l};let g=!1;return r.dlq||(r.dlq=[]),await Promise.all(f.map(async t=>(t.globals=n(s,t.globals),t.user=n(c,t.user),await m(I,n=>(e.config.onError&&e.config.onError(n,e),g=!0,r.dlq.push([t,n]),!1))(e,r,t),t))),{id:o,destination:r,error:g}})),f=[],d=[],g=[];for(const e of l){if(e.skipped)continue;const t=e.destination,n={id:e.id,destination:t};e.error?g.push(n):e.queue&&e.queue.length?(t.queue=(t.queue||[]).concat(e.queue),d.push(n)):f.push(n)}return X({ok:!g.length,event:t,successful:f,queued:d,failed:g})}async function D(e,t){if(t.init&&!t.config.init){const n={collector:e,config:t.config,env:N(t.env,t.config.env)},o=await b(t.init,"DestinationInit",e.hooks)(n);if(!1===o)return o;t.config={...o||t.config,init:!0}}return!0}async function I(e,t,s){var a;const{config:c}=t,{eventMapping:u,mappingKey:l}=await async function(e,t){var n;const[r,i]=(e.name||"").split(" ");if(!t||!r||!i)return{};let s,a="",c=r,u=i;const l=t=>{if(t)return(t=o(t)?t:[t]).find(t=>!t.condition||t.condition(e))};t[c]||(c="*");const f=t[c];return f&&(f[u]||(u="*"),s=l(f[u])),s||(c="*",u="*",s=l(null==(n=t[c])?void 0:n[u])),s&&(a=`${c} ${u}`),{eventMapping:s,mappingKey:a}}(s,c.mapping);let f=c.data&&await p(s,c.data,{collector:e});if(u){if(u.ignore)return!1;if(u.name&&(s.name=u.name),u.data){const t=u.data&&await p(s,u.data,{collector:e});f=i(f)&&i(t)?n(f,t):t}}const d={collector:e,config:c,data:f,mapping:u,env:N(t.env,c.env)};if((null==u?void 0:u.batch)&&t.pushBatch){const n=u.batched||{key:l||"",events:[],data:[]};n.events.push(s),r(f)&&n.data.push(f),u.batchFn=u.batchFn||function(e,t=1e3,n=!1){let o,r=null,i=!1;return(...s)=>new Promise(a=>{const c=n&&!i;r&&clearTimeout(r),r=setTimeout(()=>{r=null,n&&!i||(o=e(...s),a(o))},t),c&&(i=!0,o=e(...s),a(o))})}((e,t)=>{const o={collector:t,config:c,data:f,mapping:u,env:N(e.env,c.env)};b(e.pushBatch,"DestinationPushBatch",t.hooks)(n,o),n.events=[],n.data=[]},u.batch),u.batched=n,null==(a=u.batchFn)||a.call(u,t,e)}else await b(t.push,"DestinationPush",e.hooks)(s,d);return!0}function X(e){var t;return n({ok:!(null==(t=null==e?void 0:e.failed)?void 0:t.length),successful:[],queued:[],failed:[]},e)}function N(e,t){return e||t?t?e&&i(e)&&i(t)?{...e,...t}:t:e:{}}async function W(e){e=e||{};const t=await async function(e){const t=n({globalsStatic:{},sessionStatic:{},tagging:0,verbose:!1,onLog:o,run:!0},e,{merge:!1,extend:!1});function o(e,n){!function(e,t=!1){t&&console.dir(e,{depth:4})}({message:e},n||t.verbose)}t.onLog=o;const r={...t.globalsStatic,...e.globals},i={allowed:!1,config:t,consent:e.consent||{},count:0,custom:e.custom||{},destinations:{},globals:r,group:"",hooks:{},on:{},queue:[],round:0,session:void 0,timing:Date.now(),user:e.user||{},version:"0.2.0",sources:{},push:void 0};return i.push=P(i,q,e=>({timing:Math.round((Date.now()-i.timing)/10)/100,source:{type:"collector",id:"",previous_id:""},...e})),i.sources=await async function(e,t={}){const n={};for(const[o,r]of Object.entries(t)){const{code:t,config:i={},env:s={},primary:a}=r,c={elb:(...t)=>e.push(...t),...s},u=await m(t)(i,c);u&&(a&&(u.config={...u.config,primary:a}),n[o]=u)}return n}(i,e.sources||{}),i.destinations=await async function(e,t={}){const n={};for(const[e,o]of Object.entries(t)){const{code:t,config:r={},env:i={}}=o,s={...t.config,...r},a=N(t.env,i);n[e]={...t,config:s,env:a}}return n}(0,e.destinations||{}),i}(e),{consent:o,user:r,globals:i,custom:s}=e;o&&await t.push("walker consent",o),r&&await t.push("walker user",r),i&&Object.assign(t.globals,i),s&&Object.assign(t.custom,s),t.config.run&&await t.push("walker run");let a=t.push;const c=Object.values(t.sources),u=c.find(e=>e.config.primary);return u?a=u.push:c.length>0&&(a=c[0].push),{collector:t,elb:a}}var T=Object.defineProperty,M=(e,t)=>{for(var n in t)T(e,n,{get:t[n],enumerable:!0})},U={merge:!0,shallow:!0,extend:!0};function H(e,t={},n={}){n={...U,...n};const o=Object.entries(t).reduce((t,[o,r])=>{const i=e[o];return n.merge&&Array.isArray(i)&&Array.isArray(r)?t[o]=r.reduce((e,t)=>e.includes(t)?e:[...e,t],[...i]):(n.extend||o in e)&&(t[o]=r),t},{});return n.shallow?{...e,...o}:(Object.assign(e,o),e)}function B(e){return Array.isArray(e)}function G(e){return e===document||e instanceof Element}function K(e){return"object"==typeof e&&null!==e&&!B(e)&&"[object Object]"===Object.prototype.toString.call(e)}function F(e){return"string"==typeof e}function J(e){if("true"===e)return!0;if("false"===e)return!1;const t=Number(e);return e==t&&""!==e?t:String(e)}function z(e,t,n){return function(...o){try{return e(...o)}catch(e){if(!t)return;return t(e)}finally{null==n||n()}}}function Y(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}function V(e,t,n=!0){return e+(null!=t?(n?"-":"")+t:"")}function Q(e,t,n,o=!0){return ae(w(t,V(e,n,o))||"").reduce((e,n)=>{let[o,r]=ce(n);if(!o)return e;if(r||(o.endsWith(":")&&(o=o.slice(0,-1)),r=""),r.startsWith("#")){r=r.slice(1);try{let e=t[r];e||"selected"!==r||(e=t.options[t.selectedIndex].text),r=String(e)}catch(e){r=""}}return o.endsWith("[]")?(o=o.slice(0,-2),B(e[o])||(e[o]=[]),e[o].push(J(r))):e[o]=J(r),e},{})}function Z(e=$.Prefix,t=document){const n=V(e,$.Globals,!1);let o={};return se(t,`[${n}]`,t=>{o=H(o,Q(e,t,$.Globals,!1))}),o}function ee(e,t){const n=window.location,o="page",r=t===document?document.body:t,[i,s]=ie(r,`[${V(e,o)}]`,e,o);return i.domain=n.hostname,i.title=document.title,i.referrer=document.referrer,n.search&&(i.search=n.search),n.hash&&(i.hash=n.hash),[i,s]}function te(e){const t={};return ae(e).forEach(e=>{const[n,o]=ce(e),[r,i]=ue(n);if(!r)return;let[s,a]=ue(o||"");s=s||r,t[r]||(t[r]=[]),t[r].push({trigger:r,triggerParams:i,action:s,actionParams:a})}),t}function ne(e,t,n,o=!1){const r=[];let i=t;for(n=0!==Object.keys(n||{}).length?n:void 0;i;){const s=oe(e,i,t,n);if(s&&(r.push(s),o))break;i=re(e,i)}return r}function oe(e,t,n,o){const r=w(t,V(e));if(!r||o&&!o[r])return null;const i=[t],s=`[${V(e,r)}],[${V(e,"")}]`,a=V(e,$.Link,!1);let c={};const u=[],[l,f]=ie(n||t,s,e,r);se(t,`[${a}]`,t=>{const[n,o]=ce(w(t,a));"parent"===o&&se(document.body,`[${a}="${n}:child"]`,t=>{i.push(t);const n=oe(e,t);n&&u.push(n)})});const d=[];i.forEach(e=>{e.matches(s)&&d.push(e),se(e,s,e=>d.push(e))});let g={};return d.forEach(t=>{g=H(g,Q(e,t,"")),c=H(c,Q(e,t,r))}),c=H(H(g,c),l),i.forEach(t=>{se(t,`[${V(e)}]`,t=>{const n=oe(e,t);n&&u.push(n)})}),{entity:r,data:c,context:f,nested:u}}function re(e,t){const n=V(e,$.Link,!1);if(t.matches(`[${n}]`)){const[e,o]=ce(w(t,n));if("child"===o)return document.querySelector(`[${n}="${e}:parent"]`)}return!t.parentElement&&t.getRootNode&&t.getRootNode()instanceof ShadowRoot?t.getRootNode().host:t.parentElement}function ie(e,t,n,o){let r={};const i={};let s=e;const a=`[${V(n,$.Context,!1)}]`;let c=0;for(;s;)s.matches(t)&&(r=H(Q(n,s,""),r),r=H(Q(n,s,o),r)),s.matches(a)&&(Object.entries(Q(n,s,$.Context,!1)).forEach(([e,t])=>{t&&!i[e]&&(i[e]=[t,c])}),++c),s=re(n,s);return[r,i]}function se(e,t,n){e.querySelectorAll(t).forEach(n)}function ae(e,t=";"){if(!e)return[];const n=new RegExp(`(?:[^${t}']+|'[^']*')+`,"ig");return e.match(n)||[]}function ce(e){const[t,n]=e.split(/:(.+)/,2);return[Y(t),Y(n)]}function ue(e){const[t,n]=e.split("(",2);return[t,n?n.slice(0,-1):""]}var le,fe=new WeakMap,de=new WeakMap,ge=new WeakMap;function me(e){const t=Date.now();let n=de.get(e);return(!n||t-n.lastChecked>500)&&(n={isVisible:j(e),lastChecked:t},de.set(e,n)),n.isVisible}function pe(e){if(window.IntersectionObserver)return z(()=>new window.IntersectionObserver(t=>{t.forEach(t=>{!function(e,t){var n,o;const r=t.target,i=ge.get(e);if(!i)return;const s=i.timers.get(r);if(t.intersectionRatio>0){const o=Date.now();let a=fe.get(r);if((!a||o-a.lastChecked>1e3)&&(a={isLarge:r.offsetHeight>window.innerHeight,lastChecked:o},fe.set(r,a)),t.intersectionRatio>=.5||a.isLarge&&me(r)){const t=null==(n=i.elementConfigs)?void 0:n.get(r);if((null==t?void 0:t.multiple)&&t.blocked)return;if(!s){const t=window.setTimeout(async()=>{var t,n;if(me(r)){const o=null==(t=i.elementConfigs)?void 0:t.get(r);(null==o?void 0:o.context)&&await xe(o.context,r,o.trigger);const s=null==(n=i.elementConfigs)?void 0:n.get(r);(null==s?void 0:s.multiple)?s.blocked=!0:function(e,t){const n=ge.get(e);if(!n)return;n.observer&&n.observer.unobserve(t);const o=n.timers.get(t);o&&(clearTimeout(o),n.timers.delete(t)),fe.delete(t),de.delete(t)}(e,r)}},i.duration);i.timers.set(r,t)}return}}s&&(clearTimeout(s),i.timers.delete(r));const a=null==(o=i.elementConfigs)?void 0:o.get(r);(null==a?void 0:a.multiple)&&(a.blocked=!1)}(e,t)})},{rootMargin:"0px",threshold:[0,.5]}),()=>{})()}function ye(e,t,n={multiple:!1}){var o;const r=e.settings.scope||document,i=ge.get(r);(null==i?void 0:i.observer)&&t&&(i.elementConfigs||(i.elementConfigs=new WeakMap),i.elementConfigs.set(t,{multiple:null!=(o=n.multiple)&&o,blocked:!1,context:e,trigger:n.multiple?"visible":"impression"}),i.observer.observe(t))}function he(e){if(!e)return;const t=ge.get(e);t&&(t.observer&&t.observer.disconnect(),ge.delete(e))}function be(e,t,n,o,r,i,s){const{elb:a,settings:c}=e;if(F(t)&&t.startsWith("walker "))return a(t,n);if(K(t)){const e=t;return e.source||(e.source=we()),e.globals||(e.globals=Z(c.prefix,c.scope||document)),a(e)}const[u]=String(K(t)?t.name:t).split(" ");let l,f=K(n)?n:{},d={},g=!1;if(G(n)&&(l=n,g=!0),G(r)?l=r:K(r)&&Object.keys(r).length&&(d=r),l){const e=ne(c.prefix||"data-elb",l).find(e=>e.entity===u);e&&(g&&(f=e.data),d=e.context)}"page"===u&&(f.id=f.id||window.location.pathname);const m=Z(c.prefix,c.scope);return a({name:String(t||""),data:f,context:d,globals:m,nested:i,custom:s,trigger:F(o)?o:"",source:we()})}function we(){return{type:"browser",id:window.location.href,previous_id:document.referrer}}var ve=[],ke="hover",je="load",Se="pulse",Ee="scroll",_e="wait";function Le(e,t){t.scope&&function(e,t){const n=t.scope;n&&(n.addEventListener("click",z(function(t){$e.call(this,e,t)})),n.addEventListener("submit",z(function(t){Ce.call(this,e,t)})))}(e,t)}function Oe(e,t){t.scope&&function(e,t){const n=t.scope;ve=[];const o=n||document;he(o),function(e,t=1e3){ge.has(e)||ge.set(e,{observer:pe(e),timers:new WeakMap,duration:t})}(o,1e3);const r=V(t.prefix,$.Action,!1);o!==document&&Ae(e,o,r,t),o.querySelectorAll(`[${r}]`).forEach(n=>{Ae(e,n,r,t)}),ve.length&&function(e,t){const n=(e,t)=>e.filter(([e,n])=>{const o=window.scrollY+window.innerHeight,r=e.offsetTop;if(o<r)return!0;const i=e.clientHeight;return!(100*(1-(r+i-o)/(i||1))>=n&&(xe(t,e,Ee),1))});le||(le=function(e,t=1e3){let n=null;return function(...o){if(null===n)return n=setTimeout(()=>{n=null},t),e(...o)}}(function(){ve=n.call(t,ve,e)}),t.addEventListener("scroll",le))}(e,o)}(e,t)}async function xe(e,t,n){const o=function(e,t,n=$.Prefix){const o=[],{actions:r,nearestOnly:i}=function(e,t,n){let o=t;for(;o;){const t=w(o,V(e,$.Actions,!1));if(t){const e=te(t);if(e[n])return{actions:e[n],nearestOnly:!1}}const r=w(o,V(e,$.Action,!1));if(r){const e=te(r);if(e[n]||"click"!==n)return{actions:e[n]||[],nearestOnly:!0}}o=re(e,o)}return{actions:[],nearestOnly:!1}}(n,e,t);return r.length?(r.forEach(r=>{const s=ae(r.actionParams||"",",").reduce((e,t)=>(e[Y(t)]=!0,e),{}),a=ne(n,e,s,i);if(!a.length){const t="page",o=`[${V(n,t)}]`,[r,i]=ie(e,o,n,t);a.push({entity:t,data:r,nested:[],context:i})}a.forEach(e=>{o.push({entity:e.entity,action:r.action,data:e.data,trigger:t,context:e.context,nested:e.nested})})}),o):o}(t,n,e.settings.prefix);return Promise.all(o.map(t=>be(e,{name:`${t.entity} ${t.action}`,...t,trigger:n})))}function Ae(e,t,n,o){const r=w(t,n);r&&Object.values(te(r)).forEach(n=>n.forEach(n=>{switch(n.trigger){case ke:o=e,t.addEventListener("mouseenter",z(function(e){e.target instanceof Element&&xe(o,e.target,ke)}));break;case je:!function(e,t){xe(e,t,je)}(e,t);break;case Se:!function(e,t,n=""){setInterval(()=>{document.hidden||xe(e,t,Se)},parseInt(n||"")||15e3)}(e,t,n.triggerParams);break;case Ee:!function(e,t=""){const n=parseInt(t||"")||50;n<0||n>100||ve.push([e,n])}(t,n.triggerParams);break;case"impression":ye(e,t);break;case"visible":ye(e,t,{multiple:!0});break;case _e:!function(e,t,n=""){setTimeout(()=>xe(e,t,_e),parseInt(n||"")||15e3)}(e,t,n.triggerParams)}var o}))}function $e(e,t){xe(e,t.target,"click")}function Ce(e,t){t.target&&xe(e,t.target,"submit")}function qe(e,t,n,o){const r=[];let i=!0;n.forEach(e=>{const t=Re(e)?[...Array.from(e)]:null!=(n=e)&&"object"==typeof n&&"length"in n&&"number"==typeof n.length?Array.from(e):[e];var n;if(Array.isArray(t)&&0===t.length)return;if(Array.isArray(t)&&1===t.length&&!t[0])return;const s=t[0],a=!K(s)&&F(s)&&s.startsWith("walker ");if(K(s)){if("object"==typeof s&&0===Object.keys(s).length)return}else{const e=Array.from(t);if(!F(e[0])||""===e[0].trim())return;const n="walker run";i&&e[0]===n&&(i=!1)}(o&&a||!o&&!a)&&r.push(t)}),r.forEach(n=>{Pe(e,t,n)})}function Pe(e,t="data-elb",n){z(()=>{if(Array.isArray(n)){const[o,...r]=n;if(!o||F(o)&&""===o.trim())return;if(F(o)&&o.startsWith("walker "))return void e(o,r[0]);be({elb:e,settings:{prefix:t,scope:document,pageview:!1,session:!1,elb:"",elbLayer:!1}},o,...r)}else if(n&&"object"==typeof n){if(0===Object.keys(n).length)return;e(n)}},()=>{})()}function Re(e){return null!=e&&"object"==typeof e&&"[object Arguments]"===Object.prototype.toString.call(e)}function De(e,t={}){return function(e={}){const{cb:t,consent:n,collector:i,storage:s}=e,a=(null==i?void 0:i.push)||k;if(!n)return S((s?O:x)(e),i,t);{const i=function(e,t){let n;return(i,s)=>{if(r(n)&&n===(null==i?void 0:i.group))return;n=null==i?void 0:i.group;let a=()=>x(e);return e.consent&&u((o(e.consent)?e.consent:[e.consent]).reduce((e,t)=>({...e,[t]:!0}),{}),s)&&(a=()=>O(e)),S(a(),i,t)}}(e,t);a("walker on","consent",(o(n)?n:[n]).reduce((e,t)=>({...e,[t]:i}),{}))}}({...t,collector:{push:e,group:void 0}})}M({},{env:()=>Ie});var Ie={};M(Ie,{push:()=>We});var Xe={addEventListener:jest.fn(),removeEventListener:jest.fn(),location:{href:"https://example.com/page",pathname:"/page",search:"?query=test",hash:"#section",host:"example.com",hostname:"example.com",origin:"https://example.com",protocol:"https:"},document:{},navigator:{language:"en-US",userAgent:"Mozilla/5.0 (Test)"},screen:{width:1920,height:1080},innerWidth:1920,innerHeight:1080,pageXOffset:0,pageYOffset:0,scrollX:0,scrollY:0},Ne={addEventListener:jest.fn(),removeEventListener:jest.fn(),querySelector:jest.fn(),querySelectorAll:jest.fn(()=>[]),getElementById:jest.fn(),getElementsByClassName:jest.fn(()=>[]),getElementsByTagName:jest.fn(()=>[]),createElement:jest.fn(()=>({setAttribute:jest.fn(),getAttribute:jest.fn(),addEventListener:jest.fn(),removeEventListener:jest.fn()})),body:{appendChild:jest.fn(),removeChild:jest.fn()},documentElement:{scrollTop:0,scrollLeft:0},readyState:"complete",title:"Test Page",referrer:"",cookie:""},We={elb:jest.fn(),window:Xe,document:Ne},Te=async(e,t)=>{try{const{elb:n,window:o,document:r}=t,i=(null==e?void 0:e.settings)||{},s=o||(void 0!==globalThis.window?globalThis.window:void 0),a=r||(void 0!==globalThis.document?globalThis.document:void 0),c=function(e={},t){return{prefix:"data-elb",pageview:!0,session:!0,elb:"elb",elbLayer:"elbLayer",scope:t||void 0,...e}}(i,a),u={settings:c},l={elb:n,settings:c};if(s&&a){if(!1!==c.elbLayer&&function(e,t={}){const n=t.name||"elbLayer",o=t.window||("undefined"!=typeof window?window:void 0);if(!o)return;const r=o;r[n]||(r[n]=[]);const i=r[n];i.push=function(...n){if(Re(n[0])){const o=[...Array.from(n[0])],r=Array.prototype.push.apply(this,[o]);return Pe(e,t.prefix,o),r}const o=Array.prototype.push.apply(this,n);return n.forEach(n=>{Pe(e,t.prefix,n)}),o},Array.isArray(i)&&i.length>0&&function(e,t="data-elb",n){qe(e,t,n,!0),qe(e,t,n,!1),n.length=0}(e,t.prefix,i)}(n,{name:F(c.elbLayer)?c.elbLayer:"elbLayer",prefix:c.prefix,window:s}),c.session){const e="boolean"==typeof c.session?{}:c.session;De(n,e)}await async function(e,t,n){const o=()=>{e(t,n)};"loading"!==document.readyState?o():document.addEventListener("DOMContentLoaded",o)}(Le,l,c),(()=>{if(Oe(l,c),c.pageview){const[e,t]=ee(c.prefix||"data-elb",c.scope);be(l,"page view",e,"load",t)}})(),F(c.elb)&&c.elb&&(s[c.elb]=(...e)=>{const[t,n,o,r,i,s]=e;return be(l,t,n,o,r,i,s)})}return{type:"browser",config:u,push:(...e)=>{const[t,n,o,r,i,s]=e;return be(l,t,n,o,r,i,s)},destroy:async()=>{a&&he(c.scope||a)},on:async(e,t)=>{switch(e){case"consent":if(c.session&&t){const e="boolean"==typeof c.session?{}:c.session;De(n,e)}break;case"session":case"ready":default:break;case"run":if(a&&s&&(Oe(l,c),c.pageview)){const[e,t]=ee(c.prefix||"data-elb",c.scope);be(l,"page view",e,"load",t)}}}}}catch(e){throw e}},Me=Object.defineProperty,Ue=(e,t)=>{for(var n in t)Me(e,n,{get:t[n],enumerable:!0})},He=!1;function Be(e,t={},n){if(t.filter&&!0===g(()=>t.filter(n),()=>!1)())return;const r=function(e){if(i(e)&&s(e.event)){const{event:t,...n}=e;return{name:t,...n}}return o(e)&&e.length>=2?Ge(e):null!=(t=e)&&"object"==typeof t&&"length"in t&&"number"==typeof t.length&&t.length>0?Ge(Array.from(e)):null;var t}(n);if(!r)return;const a={name:`${t.prefix||"dataLayer"} ${r.name}`,data:r,context:{},globals:{},custom:{},consent:{},nested:[],user:{},id:Math.random().toString(36).substring(2,15),trigger:"",entity:"",action:"",timestamp:Date.now(),timing:0,group:"",count:0,version:{source:"1.0.0",tagging:2},source:{type:"dataLayer",id:"",previous_id:""}};g(()=>e(a),()=>{})()}function Ge(e){const[t,n,o]=e;if(!s(t))return null;let r,a={};switch(t){case"consent":if(!s(n)||e.length<3)return null;if("default"!==n&&"update"!==n)return null;if(!i(o)||null===o)return null;r=`${t} ${n}`,a={...o};break;case"event":if(!s(n))return null;r=n,i(o)&&(a={...o});break;case"config":if(!s(n))return null;r=`${t} ${n}`,i(o)&&(a={...o});break;case"set":if(s(n))r=`${t} ${n}`,i(o)&&(a={...o});else{if(!i(n))return null;r=`${t} custom`,a={...n}}break;default:return null}return{name:r,...a}}Ue({},{push:()=>Fe});var Ke={dataLayer:[],addEventListener:jest.fn(),removeEventListener:jest.fn()},Fe={elb:jest.fn(),window:Ke};function Je(){return["consent","update",{ad_user_data:"granted",ad_personalization:"granted",ad_storage:"denied",analytics_storage:"granted"}]}function ze(){return["consent","default",{ad_storage:"denied",analytics_storage:"denied",ad_user_data:"denied",ad_personalization:"denied"}]}function Ye(){return["event","purchase",{transaction_id:"T_12345",value:25.42,currency:"EUR",items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",quantity:1,price:25.42}]}]}function Ve(){return["event","add_to_cart",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_variant:"red",quantity:1,price:15.25}]}]}function Qe(){return["event","view_item",{currency:"EUR",value:15.25,items:[{item_id:"SKU_12345",item_name:"Product Name",item_category:"Category",price:15.25}]}]}function Ze(){return["config","G-XXXXXXXXXX",{page_title:"Custom Page Title",page_location:"https://example.com/page",send_page_view:!1}]}function et(){return["set",{currency:"EUR",country:"DE"}]}function tt(){return{event:"custom_event",custom_parameter:"custom_value",user_id:"user123"}}Ue({},{add_to_cart:()=>Ve,config:()=>Ze,consentDefault:()=>ze,consentUpdate:()=>Je,directDataLayerEvent:()=>tt,purchase:()=>Ye,setCustom:()=>et,view_item:()=>Qe});Ue({},{add_to_cart:()=>rt,config:()=>ct,configGA4:()=>st,consentOnlyMapping:()=>ut,consentUpdate:()=>nt,customEvent:()=>at,purchase:()=>ot,view_item:()=>it});var nt={name:"walker consent",settings:{command:{map:{functional:{value:!0},analytics:{key:"analytics_storage",fn:e=>"granted"===e},marketing:{key:"ad_storage",fn:e=>"granted"===e}}}}},ot={name:"order complete",data:{map:{id:"transaction_id",total:"value",currency:"currency",nested:{loop:["items",{map:{type:{value:"product"},data:{map:{id:"item_id",name:"item_name",category:"item_category",quantity:"quantity",price:"price"}}}}]}}}},rt={name:"product add",data:{map:{id:"items.0.item_id",name:"items.0.item_name",price:"value",currency:"currency",color:"items.0.item_variant",quantity:"items.0.quantity"}}},it={name:"product view",data:{map:{id:"items.0.item_id",name:"items.0.item_name",category:"items.0.item_category",price:"items.0.price",currency:"currency"}}},st={name:"page view",data:{map:{title:"page_title",url:"page_location"}}},at={data:{map:{user_id:"user_id",custom_parameter:"custom_parameter"}}},ct={consent:{update:nt},purchase:ot,add_to_cart:rt,view_item:it,"config G-XXXXXXXXXX":st,custom_event:at,"*":{data:{}}},ut={consent:{update:nt}},lt=async(e,t)=>{try{const{elb:n,window:o}=t,r={name:"dataLayer",prefix:"dataLayer",...null==e?void 0:e.settings},i={settings:r};return o&&(function(e,t){const n=t.settings,o=(null==n?void 0:n.name)||"dataLayer",r=window[o];if(Array.isArray(r)&&!He){He=!0;try{for(const t of r)Be(e,n,t)}finally{He=!1}}}(n,i),function(e,t){const n=t.settings,o=(null==n?void 0:n.name)||"dataLayer";window[o]||(window[o]=[]);const r=window[o];if(!Array.isArray(r))return;const i=r.push.bind(r);r.push=function(...t){if(He)return i(...t);He=!0;try{for(const o of t)Be(e,n,o)}finally{He=!1}return i(...t)}}(n,i)),{type:"dataLayer",config:i,push:n,destroy:async()=>{const e=r.name||"dataLayer";o&&o[e]&&Array.isArray(o[e])}}}catch(e){throw e}};function ft(){window.dataLayer=window.dataLayer||[];const e=e=>{i(e)&&i(e.source)&&String(e.source.type).includes("dataLayer")||window.dataLayer.push(e)};return{type:"dataLayer",config:{},push:(t,n)=>{e(n.data||t)},pushBatch:t=>{e({name:"batch",batched_event:t.key,events:t.data.length?t.data:t.events})}}}if(window&&document){const e=async()=>{let e;const t=document.querySelector("script[data-elbconfig]");if(t){const n=t.getAttribute("data-elbconfig")||"";n.includes(":")?e=v(n):n&&(e=window[n])}e||(e=window.elbConfig),e&&await async function(e={}){const t=n({collector:{destinations:{dataLayer:{code:ft()}}},browser:{run:!0,session:!0},dataLayer:!1,elb:"elb"},e),o={...t.collector,sources:{browser:{code:Te,config:{settings:t.browser},env:{window:"undefined"!=typeof window?window:void 0,document:"undefined"!=typeof document?document:void 0}}}};if(t.dataLayer){const e=i(t.dataLayer)?t.dataLayer:{};o.sources&&(o.sources.dataLayer={code:lt,config:{settings:e}})}const r=await W(o);return"undefined"!=typeof window&&(t.elb&&(window[t.elb]=r.elb),t.name&&(window[t.name]=r.collector)),r}(e)};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@walkeros/walker.js",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Ready-to-use walkerOS bundle with browser source, collector, and dataLayer support",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -34,11 +34,11 @@
|
|
|
34
34
|
"preview": "npm run build && npx serve -l 3333 examples"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@walkeros/core": "0.
|
|
38
|
-
"@walkeros/collector": "0.
|
|
39
|
-
"@walkeros/web-core": "0.
|
|
40
|
-
"@walkeros/web-source-browser": "0.
|
|
41
|
-
"@walkeros/web-source-datalayer": "0.
|
|
37
|
+
"@walkeros/core": "0.2.0",
|
|
38
|
+
"@walkeros/collector": "0.2.0",
|
|
39
|
+
"@walkeros/web-core": "0.2.0",
|
|
40
|
+
"@walkeros/web-source-browser": "0.2.0",
|
|
41
|
+
"@walkeros/web-source-datalayer": "0.2.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
44
|
"@swc/jest": "^0.2.36",
|