@walkeros/walker.js 0.1.1 → 0.1.2

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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # @walkeros/walker.js
2
2
 
3
+ ## 0.1.2
4
+
5
+ ### Patch Changes
6
+
7
+ - a0ced16: env
8
+ - Updated dependencies [a0ced16]
9
+ - @walkeros/web-source-datalayer@0.1.2
10
+ - @walkeros/web-source-browser@0.1.2
11
+ - @walkeros/collector@0.1.2
12
+ - @walkeros/web-core@0.1.2
13
+ - @walkeros/core@0.1.2
14
+
3
15
  ## 0.1.1
4
16
 
5
17
  ### 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,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()),u.globals||(u.globals=z(s.prefix,s.scope||document)),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)}"page"===d&&(f.id=f.id||window.location.pathname);var g=z(s.prefix,s.scope);return c({name:String(t||""),data:f,context:_,globals:g,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.2",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.2",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.2"},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.2",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)}();
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,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.2",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(x)(e,t,{...n,consent:o});if(c(r))return r}}async function x(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:j,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=>x(e,t,n))));j&&!await k(j)(_)&&(_=void 0);const E=b(_);return c(E)?E:b(O)},Promise.resolve(void 0))}function j(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.2",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.2"},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 j(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:x={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:x}}}(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 j(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)};j(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 j(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.2",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,xe=new WeakMap,je=new WeakMap;function Oe(e){const t=Date.now();let n=xe.get(e);return(!n||t-n.lastChecked>500)&&(n={isVisible:M(e),lastChecked:t},xe.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=je.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=je.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),xe.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=je.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=je.get(e);t&&(t.observer&&t.observer.disconnect(),je.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()),e.globals||(e.globals=de(c.prefix,c.scope||document)),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)}"page"===u&&(d.id=d.id||window.location.pathname);const g=de(c.prefix,c.scope);return a({name:String(t||""),data:d,context:f,globals:g,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){je.has(e)||je.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 +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 { createCollector } 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: Partial<Collector.Config> = {\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 { collector } = await createCollector(collectorConfig);\n\n // Use browser source push method for browser-specific operations\n // Browser source should always be available in walker.js\n if (!collector.sources.browser) {\n throw new Error('Browser source not initialized in walker.js');\n }\n const browserPush = collector.sources.browser\n .push as SourceBrowser.BrowserPush;\n\n const instance: Instance = {\n collector,\n elb: browserPush,\n };\n\n // Set up global variables if configured (only in browser environments)\n if (typeof window !== 'undefined') {\n if (fullConfig.elb) window[fullConfig.elb] = browserPush;\n if (fullConfig.name) window[fullConfig.name] = collector;\n }\n\n return instance;\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,kBAA6C;AAAA,IACjD,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,EAAE,UAAU,IAAI,MAAMC,GAAgB,eAAe;AAI3D,MAAI,CAAC,UAAU,QAAQ,SAAS;AAC9B,UAAM,IAAI,MAAM,6CAA6C;AAAA,EAC/D;AACA,QAAM,cAAc,UAAU,QAAQ,QACnC;AAEH,QAAM,WAAqB;AAAA,IACzB;AAAA,IACA,KAAK;AAAA,EACP;AAGA,MAAI,OAAO,WAAW,aAAa;AACjC,QAAI,WAAW,IAAK,QAAO,WAAW,GAAG,IAAI;AAC7C,QAAI,WAAW,KAAM,QAAO,WAAW,IAAI,IAAI;AAAA,EACjD;AAEA,SAAO;AACT;AAGA,IAAO,gBAAQ;","names":["A","N"]}
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 { createCollector } 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: Partial<Collector.Config> = {\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 { collector } = await createCollector(collectorConfig);\n\n // Use browser source push method for browser-specific operations\n // Browser source should always be available in walker.js\n if (!collector.sources.browser) {\n throw new Error('Browser source not initialized in walker.js');\n }\n const browserPush = collector.sources.browser\n .push as SourceBrowser.BrowserPush;\n\n const instance: Instance = {\n collector,\n elb: browserPush,\n };\n\n // Set up global variables if configured (only in browser environments)\n if (typeof window !== 'undefined') {\n if (fullConfig.elb) window[fullConfig.elb] = browserPush;\n if (fullConfig.name) window[fullConfig.name] = collector;\n }\n\n return instance;\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,kBAA6C;AAAA,IACjD,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,EAAE,UAAU,IAAI,MAAMC,GAAgB,eAAe;AAI3D,MAAI,CAAC,UAAU,QAAQ,SAAS;AAC9B,UAAM,IAAI,MAAM,6CAA6C;AAAA,EAC/D;AACA,QAAM,cAAc,UAAU,QAAQ,QACnC;AAEH,QAAM,WAAqB;AAAA,IACzB;AAAA,IACA,KAAK;AAAA,EACP;AAGA,MAAI,OAAO,WAAW,aAAa;AACjC,QAAI,WAAW,IAAK,QAAO,WAAW,GAAG,IAAI;AAC7C,QAAI,WAAW,KAAM,QAAO,WAAW,IAAI,IAAI;AAAA,EACjD;AAEA,SAAO;AACT;AAGA,IAAO,gBAAQ;","names":["A","N"]}
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,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.2",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:x,validate:O,value:j}=u;if(d&&!await b(d)(e,i,r))return;if(g&&!p(g,o))return j;let _=c(j)?j:e;if(m&&(_=await b(m)(e,i,n)),y&&(_=f(e,y,j)),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({})):x&&(_=await Promise.all(x.map(t=>k(e,t,n))));O&&!await b(O)(_)&&(_=void 0);const E=h(_);return c(E)?E:h(j)},Promise.resolve(void 0))}function S(e){return e?e.trim().replace(/^'|'$/g,"").trim():""}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}}function O(e,t){return(e.getAttribute(t)||"").trim()}function j(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.2",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.2"},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?B(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]),B(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 B(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 G(e,t,n){return x(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:x={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:x}}}(e,s.name,s);return c?await t(e,c,o,i):await B(e,a)}},()=>J({ok:!1}))(),"Push",e.hooks)}async function B(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 x(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)};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 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=G(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.2",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 be(O(t,ue(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),te(e[r])||(e[r]=[]),e[r].push(ie(o))):e[r]=ie(o),e},{})}function de(e=U.Prefix,t=document){const n=ue(e,U.Globals,!1);let r={};return we(t,`[${n}]`,t=>{r=ee(r,le(e,t,U.Globals,!1))}),r}function fe(e,t){const n=window.location,r="page",o=t===document?document.body:t,[i,s]=he(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 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=O(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]=he(n||t,s,e,o);we(t,`[${a}]`,t=>{const[n,r]=ve(O(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=ee(p,le(e,t,"")),c=ee(c,le(e,t,o))}),c=ee(ee(p,c),l),i.forEach(t=>{we(t,`[${ue(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=ue(e,U.Link,!1);if(t.matches(`[${n}]`)){const[e,r]=ve(O(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=`[${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=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[ce(t),ce(n)]}function ke(e){const[t,n]=e.split("(",2);return[t,n?n.slice(0,-1):""]}var Se=new WeakMap,xe=new WeakMap,Oe=new WeakMap;function je(e){const t=Date.now();let n=xe.get(e);return(!n||t-n.lastChecked>500)&&(n={isVisible:E(e),lastChecked:t},xe.set(e,n)),n.isVisible}function _e(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=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&&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 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=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)),Se.delete(t),xe.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=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 Le(e){if(!e)return;const t=Oe.get(e);t&&(t.observer&&t.observer.disconnect(),Oe.delete(e))}var Ae,$e=performance.now();function Ce(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=qe()),e.globals||(e.globals=de(c.prefix,c.scope||document)),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=ge(c.prefix||"data-elb",l).find(e=>e.entity===u);e&&(p&&(d=e.data),f=e.context)}"page"===u&&(d.id=d.id||window.location.pathname);const g=de(c.prefix,c.scope);return a({name:String(t||""),data:d,context:f,globals:g,nested:i,custom:s,trigger:oe(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",ae(function(t){He.call(this,e,t)})),n.addEventListener("submit",ae(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){Oe.has(e)||Oe.set(e,{observer:_e(e),timers:new WeakMap,duration:t})}(r,1e3);const o=ue(t.prefix,U.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=function(e,t,n=U.Prefix){const r=[],{actions:o,nearestOnly:i}=function(e,t,n){let r=t;for(;r;){const t=O(r,ue(e,U.Actions,!1));if(t){const e=pe(t);if(e[n])return{actions:e[n],nearestOnly:!1}}const o=O(r,ue(e,U.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[ce(t)]=!0,e),{}),a=ge(n,e,s,i);if(!a.length){const t="page",r=`[${ue(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}(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=O(t,n);o&&Object.values(pe(o)).forEach(n=>n.forEach(n=>{switch(n.trigger){case De:r=e,t.addEventListener("mouseenter",ae(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=!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=>{Ke(e,t,n)})}function Ke(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]);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)||_;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 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:oe(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)}})(),oe(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===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?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:""}};w(()=>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})}}}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=j(n):n&&(e=window[n])}e||(e=window.elbConfig),e&&await async function(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 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()}})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@walkeros/walker.js",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
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.1.1",
38
- "@walkeros/collector": "0.1.1",
39
- "@walkeros/web-core": "0.1.1",
40
- "@walkeros/web-source-browser": "0.1.1",
41
- "@walkeros/web-source-datalayer": "0.1.1"
37
+ "@walkeros/core": "0.1.2",
38
+ "@walkeros/collector": "0.1.2",
39
+ "@walkeros/web-core": "0.1.2",
40
+ "@walkeros/web-source-browser": "0.1.2",
41
+ "@walkeros/web-source-datalayer": "0.1.2"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@swc/jest": "^0.2.36",