@walkeros/web-source-cmp-usercentrics 3.4.0 → 3.4.1

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/dist/index.es5.js CHANGED
@@ -1 +1 @@
1
- "use strict";function _array_like_to_array(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];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,n,t,r,o,a,s){try{var i=e[a](s),c=i.value}catch(e){return void t(e)}i.done?n(c):Promise.resolve(c).then(r,o)}function _async_to_generator(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var a=e.apply(n,t);function s(e){asyncGeneratorStep(a,r,o,s,i,"next",e)}function i(e){asyncGeneratorStep(a,r,o,s,i,"throw",e)}s(void 0)})}}function _define_property(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function _instanceof(e,n){return null!=n&&"undefined"!=typeof Symbol&&n[Symbol.hasInstance]?!!n[Symbol.hasInstance](e):e instanceof n}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,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,a=[],s=!0,i=!1;try{for(t=t.call(e);!(s=(r=t.next()).done)&&(a.push(r.value),!n||a.length!==n);s=!0);}catch(e){i=!0,o=e}finally{try{s||null==t.return||t.return()}finally{if(i)throw o}}return a}}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(n){_define_property(e,n,t[n])})}return e}function ownKeys(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function _object_spread_props(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}),e}function _sliced_to_array(e,n){return _array_with_holes(e)||_iterable_to_array_limit(e,n)||_unsupported_iterable_to_array(e,n)||_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,n){if(e){if("string"==typeof e)return _array_like_to_array(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_array_like_to_array(e,n):void 0}}function _ts_generator(e,n){var t,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(s,"next",{value:c(0)}),i(s,"throw",{value:c(1)}),i(s,"return",{value:c(2)}),"function"==typeof Symbol&&i(s,Symbol.iterator,{value:function(){return this}}),s;function c(i){return function(c){return function(i){if(t)throw new TypeError("Generator is already executing.");for(;s&&(s=0,i[0]&&(a=0)),a;)try{if(t=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=n.call(e,a)}catch(e){i=[6,e],r=0}finally{t=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}}function _ts_values(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],r=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}var SourceUsercentrics=function(){var e=function(e){return{_meta:{hops:0,path:[e]}}},n=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t=_object_spread({},De,t);var r=Object.entries(n).reduce(function(n,r){var o=_sliced_to_array(r,2),a=o[0],s=o[1],i=e[a];return t.merge&&Array.isArray(i)&&Array.isArray(s)?n[a]=s.reduce(function(e,n){return e.includes(n)?e:_to_consumable_array(e).concat([n])},_to_consumable_array(i)):(t.extend||a in e)&&(n[a]=s),n},{});return t.shallow?_object_spread({},e,r):(Object.assign(e,r),e)},t=function(e){return Array.isArray(e)},r=function(e){return void 0!==e},o=function(e){return"function"==typeof e},a=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!t(e)&&"[object Object]"===Object.prototype.toString.call(e)},s=function(e){return"string"==typeof e},i=function(e,n,t){if(!a(e))return e;for(var r=qe(e),o=n.split("."),s=r,i=0;i<o.length;i++){var c=o[i];i===o.length-1?s[c]=t:(c in s&&"object"==_type_of(s[c])&&null!==s[c]||(s[c]={}),s=s[c])}return r},c=function(e){var n=_object_spread({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),t={},r=!e||0===Object.keys(e).length;return Object.keys(n).forEach(function(o){n[o]&&(t[o]=!0,e&&e[o]&&(r=!0))}),!!r&&t},u=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6,n=arguments.length>1?arguments[1]:void 0;if(n){for(var t=n.length,r="",o=0;o<e;o++)r+=n[Math.random()*t|0];return r}for(var a="";a.length<e;)a+=(36*Math.random()|0).toString(36);return a},l=function(e){var n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=null,a=!1;return function(){for(var s=arguments.length,i=new Array(s),c=0;c<s;c++)i[c]=arguments[c];return new Promise(function(s){var c=r&&!a;o&&clearTimeout(o),o=setTimeout(function(){o=null,r&&!a||(n=e.apply(void 0,_to_consumable_array(i)),s(n))},t),c&&(a=!0,n=e.apply(void 0,_to_consumable_array(i)),s(n))})}},f=function(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}},d=function(e,n){var t,r={};return _instanceof(e,Error)?(t=e.message,r.error=f(e)):t=e,void 0!==n&&(_instanceof(n,Error)?r.error=f(n):"object"==(void 0===n?"undefined":_type_of(n))&&null!==n?"error"in(r=_object_spread({},r,n))&&_instanceof(r.error,Error)&&(r.error=f(r.error)):r.value=n),{message:t,context:r}},_=function(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Ne({level:void 0!==n.level?(e=n.level,"string"==typeof e?Pe[e]:e):0,handler:n.handler,jsonHandler:n.jsonHandler,scope:[]})},v=function(e){return Te(e)?e:void 0},p=function(e,n,t){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(!n)return;return n(e)}finally{null==t||t()}}},g=function(e,n,t){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(),n?[4,n(r)]:[2];case 4:return[4,null==t?void 0:t()];case 5:return a.sent(),[7];case 6:return[2]}})})()}},y=function(e,n){return _async_to_generator(function(){var r,o,a,s,i,c,u,l,f,d;return _ts_generator(this,function(_){return o=_sliced_to_array((e.name||"").split(" "),2),a=o[0],s=o[1],n&&a&&s?(c="",l=s,f=function(n){if(n)return(n=t(n)?n:[n]).find(function(n){return!n.condition||n.condition(e)})},n[u=a]||(u="*"),[2,((d=n[u])&&(d[l]||(l="*"),i=f(d[l])),i||(u="*",l="*",i=f(null===(r=n[u])||void 0===r?void 0:r[l])),i&&(c="".concat(u," ").concat(l)),{eventMapping:i,mappingKey:c})]):[2,{}]})})()},b=function(e){return _async_to_generator(function(e){var n,o,s,i,c,u,l,f,d,_,v,p,y,b=arguments;return _ts_generator(this,function(h){switch(h.label){case 0:if(n=b.length>1&&void 0!==b[1]?b[1]:{},o=b.length>2&&void 0!==b[2]?b[2]:{},!r(e))return[2];i=a(e)&&e.consent||o.consent||(null===(s=o.collector)||void 0===s?void 0:s.consent),c=t(n)?n:[n],u=!0,l=!1,f=void 0,h.label=1;case 1:h.trys.push([1,6,7,8]),d=c[Symbol.iterator](),h.label=2;case 2:return(u=(_=d.next()).done)?[3,5]:(v=_.value,[4,g(Ge)(e,v,_object_spread_props(_object_spread({},o),{consent:i}))]);case 3:if(p=h.sent(),r(p))return[2,p];h.label=4;case 4:return u=!0,[3,2];case 5:return[3,8];case 6:return y=h.sent(),l=!0,f=y,[3,8];case 7:try{u||null==d.return||d.return()}finally{if(l)throw f}return[7];case 8:return[2]}})}).apply(this,arguments)},h=function(e,t,r){return _async_to_generator(function(){var o,s,c,u,l,f,d,_,v,p,g;return _ts_generator(this,function(h){switch(h.label){case 0:return t.policy?[4,Promise.all(Object.entries(t.policy).map(function(n){var t=_sliced_to_array(n,2),o=t[0],a=t[1];return _async_to_generator(function(){var n;return _ts_generator(this,function(t){switch(t.label){case 0:return[4,b(e,a,{collector:r})];case 1:return n=t.sent(),e=i(e,o,n),[2]}})})()}))]:[3,2];case 1:h.sent(),h.label=2;case 2:return[4,y(e,t.mapping)];case 3:return s=h.sent(),c=s.eventMapping,u=s.mappingKey,(null==c?void 0:c.policy)?[4,Promise.all(Object.entries(c.policy).map(function(n){var t=_sliced_to_array(n,2),o=t[0],a=t[1];return _async_to_generator(function(){var n;return _ts_generator(this,function(t){switch(t.label){case 0:return[4,b(e,a,{collector:r})];case 1:return n=t.sent(),e=i(e,o,n),[2]}})})()}))]:[3,5];case 4:h.sent(),h.label=5;case 5:return(f=t.data)?[4,b(e,t.data,{collector:r})]:[3,7];case 6:f=h.sent(),h.label=7;case 7:return l=f,d=Boolean(null==c?void 0:c.skip),c?c.ignore?[2,{event:e,data:l,mapping:c,mappingKey:u,ignore:!0,skip:d}]:(c.name&&(e.name=c.name),c.data?(v=c.data)?[4,b(e,c.data,{collector:r})]:[3,9]:[3,10]):[3,10];case 8:v=h.sent(),h.label=9;case 9:_=v,l=a(l)&&a(_)?n(l,_):_,h.label=10;case 10:return(p=null!==(o=null==c?void 0:c.include)&&void 0!==o?o:t.include)&&p.length>0&&(g=function(e,n){var t={},r=n.includes("all")?Object.keys(Me):n,o=!0,s=!1,i=void 0;try{for(var c,u=r[Symbol.iterator]();!(o=(c=u.next()).done);o=!0){var l=c.value,f=Me[l];if(f){var d=f(e),_=!0,v=!1,p=void 0;if(a(d))try{for(var g,y=Object.entries(d)[Symbol.iterator]();!(_=(g=y.next()).done);_=!0){var b=_sliced_to_array(g.value,2),h=b[0],m=b[1];if(void 0!==m){var w="context"===l&&Array.isArray(m)?m[0]:m;t["".concat(l,"_").concat(h)]=w}}}catch(e){v=!0,p=e}finally{try{_||null==y.return||y.return()}finally{if(v)throw p}}}}}catch(e){s=!0,i=e}finally{try{o||null==u.return||u.return()}finally{if(s)throw i}}return t}(e,p),Object.keys(g).length>0&&(l=a(l)?n(g,l):null!=l?l:g)),[2,{event:e,data:l,mapping:c,mappingKey:u,ignore:!1,skip:d}]}})})()},m=function(e,n,t){return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];var s,i="post"+n,c=t["pre"+n],u=t[i];return s=c?c.apply(void 0,[{fn:e}].concat(_to_consumable_array(o))):e.apply(void 0,_to_consumable_array(o)),u&&(s=u.apply(void 0,[{fn:e,result:s}].concat(_to_consumable_array(o)))),s}},w=function(e){return Array.isArray(e)&&e.length>0&&"object"==_type_of(e[0])&&null!==e[0]&&"match"in e[0]},j=function(e,n){var t={ingest:null!=e?e:{}};return void 0!==n&&(t.event=n),t},k=function(e){var n;return{full:null!==(n=e.full)&&void 0!==n&&n,storeId:e.store,rules:e.rules.map(function(e){return{match:Ue(e.match),key:e.key,ttl:e.ttl,update:e.update}})}},O=function(e,n,t,r){var o=e.rules.find(function(e){return e.match(t)});if(!o)return null;var a=o.key.map(function(e){var n;return String(null!==(n=Ie(t,e))&&void 0!==n?n:"")});if(a.every(function(e){return""===e}))return null;var s="".concat(r,":").concat(a.join(":")),i=n.get(s);return void 0!==i?{status:"HIT",key:s,value:i,rule:o}:{status:"MISS",key:s,rule:o}},S=function(e,n,t,r){e.set(n,t,1e3*r)},x=function(e,n,t){return _async_to_generator(function(){var r,o,a,s,c,u,l,f,d,_,v;return _ts_generator(this,function(p){switch(p.label){case 0:if(!n)return[2,e];r=e,o=!0,a=!1,s=void 0,p.label=1;case 1:p.trys.push([1,6,7,8]),c=Object.entries(n)[Symbol.iterator](),p.label=2;case 2:return(o=(u=c.next()).done)?[3,5]:(l=_sliced_to_array(u.value,2),f=l[0],d=l[1],_=[r,f],[4,b(t,d)]);case 3:r=i.apply(void 0,_.concat([p.sent()])),p.label=4;case 4:return o=!0,[3,2];case 5:return[3,8];case 6:return v=p.sent(),a=!0,s=v,[3,8];case 7:try{o||null==c.return||c.return()}finally{if(a)throw s}return[7];case 8:return[2,r]}})})()},C=function(e,n){return e.storeId&&n.stores[e.storeId]?n.stores[e.storeId]:n.stores.__cache},A=function(e){var n={},t=!0,r=!1,o=void 0;try{for(var a,s=Object.entries(e)[Symbol.iterator]();!(t=(a=s.next()).done);t=!0){var i,c=_sliced_to_array(a.value,2),u=c[0],l=null===(i=c[1].config)||void 0===i?void 0:i.next;l&&!w(l)?n[u]={next:l}:n[u]={}}}catch(e){r=!0,o=e}finally{try{t||null==s.return||s.return()}finally{if(r)throw o}}return n},E=function(e,n){var t=e.config||{},r=e[n];return void 0!==r?{config:_object_spread_props(_object_spread({},t),_define_property({},n,r)),chainValue:r}:{config:t,chainValue:void 0}},P=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return[];if(Array.isArray(e))return e;for(var t=[],r=new Set,o=e;o&&n[o]&&!r.has(o);){r.add(o),t.push(o);var a=n[o].next;if(Array.isArray(a)){var s;(s=t).push.apply(s,_to_consumable_array(a));break}o=a}return t},D=function(n,t,r){return _async_to_generator(function(){var o,a,s,i;return _ts_generator(this,function(c){switch(c.label){case 0:return!t.init||t.config.init?[3,2]:(o=t.type||"unknown",a=n.logger.scope("transformer:".concat(o)),s={collector:n,logger:a,id:r,ingest:e(r),config:t.config,env:I(t.config.env)},a.debug("init"),[4,m(t.init,"TransformerInit",n.hooks)(s)]);case 1:if(!1===(i=c.sent()))return[2,!1];t.config=_object_spread_props(_object_spread({},i||t.config),{env:(null==i?void 0:i.env)||t.config.env,init:!0}),a.debug("init done"),c.label=2;case 2:return[2,!0]}})})()},q=function(e,n,t,r,o,a){return _async_to_generator(function(){var s,i,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:return s=n.type||"unknown",i=e.logger.scope("transformer:".concat(s)),c={collector:e,logger:i,id:t,ingest:o,config:n.config,env:_object_spread({},I(n.config.env),a?{respond:a}:{})},i.debug("push",{event:r.name}),[4,m(n.push,"TransformerPush",e.hooks)(r,c)];case 1:return u=l.sent(),[2,(i.debug("push done"),u)]}})})()},I=function(e){return e&&a(e)?e:{}},M=function(n,t,r){return _async_to_generator(function(){var o,a,s,i,c,u,l,f,d,_,v,p,y,h,m,E,D,q,I,M,R,N,T;return _ts_generator(this,function(G){switch(G.label){case 0:return a=r.code,s=r.config,i=void 0===s?{}:s,c=r.env,u=void 0===c?{}:c,l=r.primary,f=r.next,d=r.before,_=r.cache,p=e(t),y=_?k(_object_spread_props(_object_spread({},_),{full:null===(o=_.full)||void 0===o||o})):void 0,h=He(f),m=Array.isArray(f)&&w(f)||!h?void 0:P(Ke(h),A(n.transformers)),E=He(d),D=Array.isArray(d)&&w(d)||!E?void 0:P(Ke(E),A(n.transformers)),q=n.logger.scope("source").scope(t),I=_object_spread({push:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _async_to_generator(function(){var o,a,s,c,u,l,f,d,_,g,b,w,k,q,I;return _ts_generator(this,function(M){switch(M.label){case 0:return a=e,(s=null!=D?D:E?P(Ke(E,j(p)),A(n.transformers)):[]).length>0&&n.transformers&&Object.keys(n.transformers).length>0?[4,Be(n,n.transformers,s,a,p,v,"source.".concat(t,".before"))]:[3,2];case 1:if(null===(c=M.sent()).event)return[2,{ok:!0}];c.respond&&(v=c.respond),a=Array.isArray(c.event)?c.event[0]:c.event,M.label=2;case 2:return y&&(u=C(y,n))?(l=j(p),(f=O(y,u,l,"s:".concat(t)))?"HIT"===f.status&&void 0!==f.value&&y.full?(d=f.value,f.rule.update?[4,x(d,f.rule.update,_object_spread_props(_object_spread({},l),{cache:{status:"HIT"}}))]:[3,4]):[3,5]:[3,6]):[3,6];case 3:d=M.sent(),M.label=4;case 4:return[2,(null==v||v(d),{ok:!0})];case 5:"MISS"===f.status&&y.full&&v&&(_=v,g=f.rule.update,b=_object_spread_props(_object_spread({},l),{cache:{status:"MISS"}}),w=f.key,k=f.rule.ttl,v=function(e){S(u,w,e,k),g?o=_async_to_generator(function(){var n;return _ts_generator(this,function(t){switch(t.label){case 0:return[4,x(e,g,b)];case 1:return n=t.sent(),_(n),[2]}})})():_(e)}),"MISS"!==f.status||y.full||S(u,f.key,!0,f.rule.ttl),M.label=6;case 6:return q=null!=m?m:h?P(Ke(h,j(p)),A(n.transformers)):[],[4,n.push(a,_object_spread_props(_object_spread({},r),{id:t,ingest:p,respond:v,mapping:i,preChain:q}))];case 7:return I=M.sent(),o?[4,o]:[3,9];case 8:M.sent(),M.label=9;case 9:return[2,I]}})})()},command:n.command,sources:n.sources,elb:n.sources.elb.push,logger:q},u),M={collector:n,logger:q,id:t,config:i,env:I,setIngest:function(r){return _async_to_generator(function(){var o,a;return _ts_generator(this,function(s){switch(s.label){case 0:return i.ingest?[4,b(r,i.ingest,{collector:n})]:[2,void(p=e(t))];case 1:return o=s.sent(),a=e(t),p=_object_spread_props(_object_spread({},a,o),{_meta:a._meta}),[2]}})})()},setRespond:function(e){v=e}},[4,g(a)(M)];case 1:return(R=G.sent())?(N=R.type||"unknown",T=n.logger.scope(N).scope(t),[2,(I.logger=T,l&&(R.config=_object_spread_props(_object_spread({},R.config),{primary:l})),R)]):[2]}})})()},R=function(e){return _async_to_generator(function(e){var n,t,r,o,a,s,i,c,u,l,f,d,_,v,p=arguments;return _ts_generator(this,function(g){switch(g.label){case 0:n=p.length>1&&void 0!==p[1]?p[1]:{},t={},r=!0,o=!1,a=void 0,g.label=1;case 1:g.trys.push([1,6,7,8]),s=Object.entries(n)[Symbol.iterator](),g.label=2;case 2:return(r=(i=s.next()).done)?[3,5]:(c=_sliced_to_array(i.value,2),u=c[0],l=c[1],f=l.config,(d=void 0===f?{}:f).require&&d.require.length>0?(e.pending.sources[u]=l,[3,4]):[4,M(e,u,l)]);case 3:(_=g.sent())&&(t[u]=_),g.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return v=g.sent(),o=!0,a=v,[3,8];case 7:try{r||null==s.return||s.return()}finally{if(o)throw a}return[7];case 8:return[2,t]}})}).apply(this,arguments)},N=function(e,n,r){return _async_to_generator(function(){var o,a,s;return _ts_generator(this,function(i){return o=e.on,a=o[n]||[],(s=t(r)?r:[r]).forEach(function(e){a.push(e)}),o[n]=a,G(e,n,s),[2]})})()},T=function(e,n,t,r,o){if(n.on){var a=n.type||"unknown",s=e.logger.scope(a).scope("on").scope(r),i={collector:e,logger:s,id:t,config:n.config,data:o,env:J(n.env,n.config.env)};p(n.on)(r,i)}},G=function(e,n,t,r){var o,a,s,i;switch(n){case Le.Commands.Consent:o=r||e.consent;break;case Le.Commands.Session:o=e.session;break;case Le.Commands.User:o=r||e.user;break;case Le.Commands.Custom:o=r||e.custom;break;case Le.Commands.Globals:o=r||e.globals;break;case Le.Commands.Config:o=r||e.config;break;case Le.Commands.Ready:case Le.Commands.Run:default:o=void 0}if(t.length)switch(n){case Le.Commands.Consent:a=e,s=t,i=r||a.consent,s.forEach(function(e){Object.keys(i).filter(function(n){return n in e}).forEach(function(n){p(e[n])(a,i)})});break;case Le.Commands.Ready:case Le.Commands.Run:!function(e,n){e.allowed&&n.forEach(function(n){p(n)(e)})}(e,t);break;case Le.Commands.Session:!function(e,n){e.session&&n.forEach(function(n){p(n)(e,e.session)})}(e,t);break;default:t.forEach(function(n){"function"==typeof n&&p(n)(e,o)})}},U=function(e,n,t,r){return _async_to_generator(function(){var o,a,s,i,c,u,l,f,d,_,v;return _ts_generator(this,function(p){switch(p.label){case 0:switch(a=t||[],t||(a=e.on[n]||[]),n){case Le.Commands.Consent:o=r||e.consent;break;case Le.Commands.Session:o=e.session;break;case Le.Commands.User:o=r||e.user;break;case Le.Commands.Custom:o=r||e.custom;break;case Le.Commands.Globals:o=r||e.globals;break;case Le.Commands.Config:o=r||e.config;break;case Le.Commands.Ready:case Le.Commands.Run:default:o=void 0}s=!1,i=!0,c=!1,u=void 0,p.label=1;case 1:p.trys.push([1,6,7,8]),l=Object.values(e.sources)[Symbol.iterator](),p.label=2;case 2:return(i=(f=l.next()).done)?[3,5]:(d=f.value).on?(_=!1,[4,g(d.on)(n,o)]):[3,4];case 3:_===p.sent()&&(s=!0),p.label=4;case 4:return i=!0,[3,2];case 5:return[3,8];case 6:return v=p.sent(),c=!0,u=v,[3,8];case 7:try{i||null==l.return||l.return()}finally{if(c)throw u}return[7];case 8:return Object.entries(e.destinations).forEach(function(t){var r=_sliced_to_array(t,2),a=r[0],s=r[1];if(s.on){if(!s.config.init)return s.queueOn=s.queueOn||[],void s.queueOn.push({type:n,data:o});T(e,s,a,n,o)}}),Object.keys(e.pending.sources).length>0||Object.keys(e.pending.destinations).length>0?[4,(y=e,b=n,_async_to_generator(function(){var e,n,t,r,o,a,s,i,c,u,l,f,d,_,v,p,g,h,m,w,j,k,O,S,x;return _ts_generator(this,function(C){switch(C.label){case 0:e=!0,n=!1,t=void 0,C.label=1;case 1:C.trys.push([1,6,7,8]),r=Object.entries(y.pending.sources)[Symbol.iterator](),C.label=2;case 2:return(e=(o=r.next()).done)?[3,5]:(a=_sliced_to_array(o.value,2),s=a[0],i=a[1],!y.pending.sources[s]||y.sources[s]?[3,4]:(u=null===(c=i.config)||void 0===c?void 0:c.require)?-1===(l=u.indexOf(b))?[3,4]:(u.splice(l,1),u.length>0?[3,4]:(delete y.pending.sources[s],[4,M(y,s,i)])):[3,4]);case 3:(f=C.sent())&&(y.sources[s]=f),C.label=4;case 4:return e=!0,[3,2];case 5:return[3,8];case 6:return d=C.sent(),n=!0,t=d,[3,8];case 7:try{e||null==r.return||r.return()}finally{if(n)throw t}return[7];case 8:_=!0,v=!1,p=void 0;try{for(g=Object.entries(y.pending.destinations)[Symbol.iterator]();!(_=(h=g.next()).done);_=!0)m=_sliced_to_array(h.value,2),w=m[0],j=m[1],y.pending.destinations[w]&&!y.destinations[w]&&(O=null===(k=j.config)||void 0===k?void 0:k.require)&&-1!==(S=O.indexOf(b))&&(O.splice(S,1),O.length>0||(delete y.pending.destinations[w],!1!==(x=V(j)).config.queue&&(x.queuePush=_to_consumable_array(y.queue)),y.destinations[w]=x))}catch(e){v=!0,p=e}finally{try{_||null==g.return||g.return()}finally{if(v)throw p}}return[2]}})})())]:[3,10];case 9:p.sent(),p.label=10;case 10:return[2,(G(e,n,a,r),!s)]}var y,b})})()},H=function(e,n,t,r){if(!e)return[];if(n){var o=Ke(n,j(r));return o?P(o,A(t)):[]}return P(e,A(t))},K=function(e,n,t){return _async_to_generator(function(){var r,a,s,i,c,l,f,d,_,v,p,g;return _ts_generator(this,function(y){if(r=n.code,a=n.config,s=void 0===a?{}:a,i=n.env,c=void 0===i?{}:i,l=n.before,f=n.next,d=n.cache,!o(r.push))return[2,F({ok:!1,failed:{invalid:{type:"invalid",error:"Destination code must have a push method"}}})];if(_=t||s||{init:!1},v=l?_object_spread_props(_object_spread({},_),{before:l}):_object_spread({},_),f&&(v=_object_spread_props(_object_spread({},v),{next:f})),d&&(v=_object_spread_props(_object_spread({},v),{cache:d})),p=_object_spread_props(_object_spread({},r),{config:v,env:J(r.env,c)}),!(g=p.config.id))do{g=u(5,"abcdefghijklmnopqrstuvwxyz")}while(e.destinations[g]);return[2,(e.destinations[g]=p,!1!==p.config.queue&&(p.queuePush=_to_consumable_array(e.queue)),L(e,void 0,{},_define_property({},g,p)))]})})()},L=function(t,r,o){return _async_to_generator(function(t,r){var o,a,s,i,u,l,f,d,_,v,p,y,b,h,m,x,A,E,P,D=arguments;return _ts_generator(this,function(q){switch(q.label){case 0:return o=D.length>2&&void 0!==D[2]?D[2]:{},a=D.length>3?D[3]:void 0,s=t.allowed,i=t.consent,u=t.globals,l=t.user,s?(r&&(t.queue.push(r),t.status.in++),a||(a=t.destinations),[4,Promise.all(Object.entries(a||{}).map(function(a){var s=_sliced_to_array(a,2),f=s[0],d=s[1];return _async_to_generator(function(){var a,s,_,v,p,y,b,h,m,x,A,E,P,D,q,I,M,R,N;return _ts_generator(this,function(T){switch(T.label){case 0:return d.config.disabled?[2,{id:f,destination:d,skipped:!0}]:(p=(d.queuePush||[]).map(function(e){return _object_spread_props(_object_spread({},e),{consent:i})}),d.queuePush=[],r&&p.push(qe(r)),y=o.ingest?_object_spread_props(_object_spread({},o.ingest),{_meta:_object_spread_props(_object_spread({},o.ingest._meta),{path:_to_consumable_array(o.ingest._meta.path)})}):e("unknown"),p.length||(null===(s=d.queueOn)||void 0===s?void 0:s.length)?p.length||!(null===(_=d.queueOn)||void 0===_?void 0:_.length)?[3,2]:[4,g(B)(t,d,f)]:[2,{id:f,destination:d,skipped:!0}]);case 1:return b=T.sent(),[2,{id:f,destination:d,skipped:!b}];case 2:return h=[],m=p.filter(function(e){var n=c(d.config.consent,i,e.consent);return!n||(e.consent=n,h.push(e),!1)}),(a=d.queuePush).push.apply(a,_to_consumable_array(m)),h.length?[4,g(B)(t,d,f)]:[2,{id:f,destination:d,queue:p}];case 3:return T.sent()?(d.dlq||(d.dlq=[]),E=d.config.before,P=H(E,E&&w(E)?He(E):void 0,t.transformers,y),D=d.config.next,q=D&&w(D)?He(D):void 0,I=null===(v=d.config)||void 0===v?void 0:v.cache,M=I?k(I):void 0,R=M?C(M,t):void 0,N=0,[4,Promise.all(h.map(function(e){return _async_to_generator(function(){var r,a,s,i,c,_,v,p,b,h,m,w,k;return _ts_generator(this,function(C){switch(C.label){case 0:if(e.globals=n(u,e.globals),e.user=n(l,e.user),(null==M?void 0:M.full)&&R){if(a=j(y,e),"HIT"===(null==(s=O(M,R,a,"d:".concat(f)))?void 0:s.status))return[2,e];"MISS"===(null==s?void 0:s.status)&&(r={key:s.key,ttl:s.rule.ttl})}return i=e,c=o.respond,P.length>0&&t.transformers&&Object.keys(t.transformers).length>0?[4,Be(t,t.transformers,P,e,y,o.respond,"destination.".concat(f,".before"))]:[3,2];case 1:if(null===(_=C.sent()).event)return[2,e];_.respond&&(c=_.respond),i=Array.isArray(_.event)?_.event[0]:_.event,C.label=2;case 2:if(M&&!M.full&&R){if(v=j(y,i),"HIT"===(null==(p=O(M,R,v,"d:".concat(f)))?void 0:p.status))return[2,e];"MISS"===(null==p?void 0:p.status)&&(r={key:p.key,ttl:p.rule.ttl})}return b=Date.now(),h=!1,[4,g(W,function(e){var n=d.type||"unknown";t.logger.scope(n).error("Push failed",{error:e,event:i.name}),x=e,h=!0,d.dlq.push([i,e])})(t,d,f,i,y,c)];case 3:return m=C.sent(),N+=Date.now()-b,r&&R&&void 0===d.config.mock&&S(R,r.key,null==m||m,r.ttl),void 0!==m&&(A=m),h||!D?[3,5]:(void 0!==m&&(y._response=m),(w=H(D,q,t.transformers,y)).length>0&&t.transformers&&Object.keys(t.transformers).length>0?[4,Be(t,t.transformers,w,i,y,c,"destination.".concat(f,".next"))]:[3,5]);case 4:(k=C.sent()).respond&&(c=k.respond),C.label=5;case 5:return[2,e]}})})()}))]):[2,{id:f,destination:d,queue:p}];case 4:return[2,(T.sent(),{id:f,destination:d,error:x,response:A,totalDuration:N})]}})})()}))]):[2,F({ok:!1})];case 1:f=q.sent(),d={},_={},v={},p=!0,y=!1,b=void 0;try{for(h=f[Symbol.iterator]();!(p=(m=h.next()).done);p=!0)(x=m.value).skipped||(A={type:x.destination.type||"unknown",data:x.response},t.status.destinations[x.id]||(t.status.destinations[x.id]={count:0,failed:0,duration:0}),E=t.status.destinations[x.id],P=Date.now(),x.error?(A.error=x.error,v[x.id]=A,E.failed++,E.lastAt=P,E.duration+=x.totalDuration||0,t.status.failed++):x.queue&&x.queue.length?_[x.id]=A:(d[x.id]=A,E.count++,E.lastAt=P,E.duration+=x.totalDuration||0,t.status.out++))}catch(e){y=!0,b=e}finally{try{p||null==h.return||h.return()}finally{if(y)throw b}}return[2,F(_object_spread({event:r},Object.keys(d).length&&{done:d},Object.keys(_).length&&{queued:_},Object.keys(v).length&&{failed:v}))]}})}).apply(this,arguments)},B=function(e,n,t){return _async_to_generator(function(){var r,o,a,s,i,c,u,l,f,d,_,v,p,g;return _ts_generator(this,function(y){switch(y.label){case 0:return!n.init||n.config.init?[3,2]:(o=n.type||"unknown",a=e.logger.scope(o),s={collector:e,logger:a,id:t,config:n.config,env:J(n.env,n.config.env)},a.debug("init"),[4,m(n.init,"DestinationInit",e.hooks)(s)]);case 1:if(!1===(i=y.sent()))return[2,i];if(n.config=_object_spread_props(_object_spread({},i||n.config),{init:!0}),null===(r=n.queueOn)||void 0===r?void 0:r.length){c=n.queueOn,n.queueOn=[],u=!0,l=!1,f=void 0;try{for(d=c[Symbol.iterator]();!(u=(_=d.next()).done);u=!0)v=_.value,p=v.type,g=v.data,T(e,n,t,p,g)}catch(e){l=!0,f=e}finally{try{u||null==d.return||d.return()}finally{if(l)throw f}}}a.debug("init done"),y.label=2;case 2:return[2,!0]}})})()},W=function(e,n,t,o,a,s){return _async_to_generator(function(){var i,c,u,f,d,_,v,p,g,y;return _ts_generator(this,function(b){switch(b.label){case 0:return i=n.config,[4,h(o,i,e)];case 1:return(c=b.sent()).ignore?[2,!1]:(u=n.type||"unknown",f=e.logger.scope(u),d={collector:e,logger:f,id:t,config:i,data:c.data,rule:c.mapping,ingest:a,env:_object_spread({},J(n.env,i.env),s?{respond:s}:{})},void 0!==i.mock?[2,(f.debug("mock",{event:c.event.name}),i.mock)]:(_=c.mapping,v=c.mappingKey||"* *",(null==_?void 0:_.batch)&&n.pushBatch&&void 0===i.mock?[3,3]:(f.debug("push",{event:c.event.name}),[4,m(n.push,"DestinationPush",e.hooks)(c.event,d)])));case 2:return p=b.sent(),[2,(f.debug("push done"),p)];case 3:return n.batches=n.batches||{},n.batches[v]||(g={key:v,events:[],data:[]},n.batches[v]={batched:g,batchFn:l(function(){var r=n.batches[v].batched,o={collector:e,logger:f,id:t,config:i,data:void 0,rule:_,ingest:a,env:_object_spread({},J(n.env,i.env),s?{respond:s}:{})};f.debug("push batch",{events:r.events.length}),m(n.pushBatch,"DestinationPushBatch",e.hooks)(r,o),f.debug("push batch done"),r.events=[],r.data=[]},_.batch)}),(y=n.batches[v]).batched.events.push(c.event),r(c.data)&&y.batched.data.push(c.data),y.batchFn(),[2,!0]}})})()},F=function(e){return _object_spread({ok:!(null==e?void 0:e.failed)},e)},V=function(e){var n=e.code,t=e.config,r=void 0===t?{}:t,o=e.env,a=void 0===o?{}:o,s=e.cache,i=E(e,"before").config,c=E(_object_spread_props(_object_spread({},e),{config:i}),"next").config,u=_object_spread({},n.config,r,c);s&&(u.cache=s);var l=J(n.env,a);return _object_spread_props(_object_spread({},n),{config:u,env:l})},z=function(e){return _async_to_generator(function(e){var n,t,r,o,a,s,i,c,u,l,f,d,_=arguments;return _ts_generator(this,function(v){n=_.length>1&&void 0!==_[1]?_[1]:{},o={},a=!0,s=!1,i=void 0;try{for(c=Object.entries(n)[Symbol.iterator]();!(a=(u=c.next()).done);a=!0)l=_sliced_to_array(u.value,2),f=l[0],d=l[1],(null===(r=d.config)||void 0===r||null===(t=r.require)||void 0===t?void 0:t.length)?e.pending.destinations[f]=d:o[f]=V(d)}catch(e){s=!0,i=e}finally{try{a||null==c.return||c.return()}finally{if(s)throw i}}return[2,o]})}).apply(this,arguments)},J=function(e,n){return e||n?n?e&&a(e)&&a(n)?_object_spread({},e,n):n:e:{}},X=function(e,n,t){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){switch(o.label){case 0:return r=Object.entries(e).map(function(e){var r=_sliced_to_array(e,2),o=r[0],a=r[1];return _async_to_generator(function(){var e,r,s,i,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:if(!(r=a.destroy))return[2];s=a.type||"unknown",i=t.scope(s),c={id:o,config:a.config,env:null!==(e=a.env)&&void 0!==e?e:{},logger:i},l.label=1;case 1:return l.trys.push([1,3,,4]),[4,Promise.race([r(c),new Promise(function(e,t){return setTimeout(function(){return t(new Error("".concat(n," '").concat(o,"' destroy timed out")))},5e3)})])];case 2:return l.sent(),[3,4];case 3:return u=l.sent(),i.error("".concat(n," '").concat(o,"' destroy failed: ").concat(u)),[3,4];case 4:return[2]}})})()}),[4,Promise.allSettled(r)];case 1:return o.sent(),[2]}})})()},$=function(e,t,r,i){return _async_to_generator(function(){var c,u,l,f,d,_,v;return _ts_generator(this,function(p){switch(p.label){case 0:switch(l=!1,t){case Le.Commands.Config:return[3,1];case Le.Commands.Consent:return[3,2];case Le.Commands.Custom:return[3,3];case Le.Commands.Destination:return[3,4];case Le.Commands.Globals:return[3,11];case Le.Commands.On:return[3,12];case Le.Commands.Ready:return[3,15];case Le.Commands.Run:return[3,16];case Le.Commands.Session:return[3,18];case Le.Commands.Shutdown:return[3,19];case Le.Commands.User:return[3,21]}return[3,22];case 1:return a(r)&&(n(e.config,r,{shallow:!1}),u=r,l=!0),[3,22];case 2:return a(r)&&(f=function(e,t){var r={};return Object.entries(t).forEach(function(e){var n=_sliced_to_array(e,2),t=n[0],o=n[1];r[t]=!!o}),e.consent=n(e.consent,r),{update:r}}(e,r),d=f.update,u=d,l=!0),[3,22];case 3:return a(r)&&(e.custom=n(e.custom,r),u=r,l=!0),[3,22];case 4:return a(r)?"code"in r&&a(r.code)?[4,K(e,r,i)]:[3,6]:[3,10];case 5:return _=c=p.sent(),[3,9];case 6:return(v=o(r.push))?[4,K(e,{code:r},i)]:[3,8];case 7:v=c=p.sent(),p.label=8;case 8:_=v,p.label=9;case 9:p.label=10;case 10:return[3,22];case 11:return a(r)&&(e.globals=n(e.globals,r),u=r,l=!0),[3,22];case 12:return s(r)?[4,N(e,r,i)]:[3,14];case 13:p.sent(),p.label=14;case 14:return[3,22];case 15:return l=!0,[3,22];case 16:return[4,Y(e,r)];case 17:return c=p.sent(),l=!0,[3,22];case 18:return l=!0,[3,22];case 19:return[4,(g=e,_async_to_generator(function(){var e;return _ts_generator(this,function(n){switch(n.label){case 0:return e=g.logger,[4,X(g.sources,"source",e)];case 1:return n.sent(),[4,X(g.destinations,"destination",e)];case 2:return n.sent(),[4,X(g.transformers,"transformer",e)];case 3:return n.sent(),[4,X(g.stores,"store",e)];case 4:return n.sent(),[2]}})})())];case 20:return p.sent(),[3,22];case 21:a(r)&&(n(e.user,r,{shallow:!1}),u=r,l=!0),p.label=22;case 22:return l?[4,U(e,t,void 0,u)]:[3,25];case 23:return p.sent(),[4,L(e)];case 24:c=p.sent(),p.label=25;case 25:return[2,c||F({ok:!0})]}var g})})()},Q=function(e,n){if(!n.name)throw new Error("Event name is required");var t=_sliced_to_array(n.name.split(" "),2),r=t[0],o=t[1];if(!r||!o)throw new Error("Event name is invalid");++e.count;var a=n.timestamp,s=void 0===a?Date.now():a,i=n.group,c=void 0===i?e.group:i,u=n.count,l=void 0===u?e.count:u,f=n.name,d=void 0===f?"".concat(r," ").concat(o):f,_=n.data,v=void 0===_?{}:_,p=n.context,g=void 0===p?{}:p,y=n.globals,b=void 0===y?e.globals:y,h=n.custom,m=void 0===h?{}:h,w=n.user,j=void 0===w?e.user:w,k=n.nested,O=void 0===k?[]:k,S=n.consent,x=void 0===S?e.consent:S,C=n.id,A=void 0===C?"".concat(s,"-").concat(c,"-").concat(l):C,E=n.trigger,P=void 0===E?"":E,D=n.entity,q=void 0===D?r:D,I=n.action,M=void 0===I?o:I,R=n.timing,N=void 0===R?0:R,T=n.version,G=void 0===T?{source:e.version,tagging:e.config.tagging||0}:T,U=n.source;return{name:d,data:v,context:g,globals:b,custom:m,user:j,nested:O,consent:x,id:A,trigger:P,entity:q,action:M,timestamp:s,timing:N,group:c,count:l,version:G,source:void 0===U?{type:"collector",id:"",previous_id:""}:U}},Y=function(e,t){return _async_to_generator(function(){return _ts_generator(this,function(r){switch(r.label){case 0:return e.allowed=!0,e.count=0,e.group=u(),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.queuePush=[]}),e.queue=[],e.round++,[4,L(e)];case 1:return[2,r.sent()]}})})()},Z=function(t){return _async_to_generator(function(){var r,o,a,s,i,u,l,f,d;return _ts_generator(this,function(v){switch(v.label){case 0:return a=n({globalsStatic:{},sessionStatic:{},tagging:0,run:!0},t,{merge:!1,extend:!1}),s={level:null===(r=t.logger)||void 0===r?void 0:r.level,handler:null===(o=t.logger)||void 0===o?void 0:o.handler},i=_(s),u=_object_spread({},a.globalsStatic,t.globals),(l={allowed:!1,config:a,consent:t.consent||{},count:0,custom:t.custom||{},destinations:{},transformers:{},stores:{},globals:u,group:"",hooks:t.hooks||{},logger:i,on:{},queue:[],round:0,session:void 0,status:{startedAt:Date.now(),in:0,out:0,failed:0,sources:{},destinations:{}},timing:Date.now(),user:t.user||{},version:"3.4.0",sources:{},pending:{sources:{},destinations:{}},push:void 0,command:void 0}).push=function(n,t){return m(function(r){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _async_to_generator(function(){return _ts_generator(this,function(a){switch(a.label){case 0:return[4,g(function(){return _async_to_generator(function(){var a,s,i,u,l,f,d,_,v,p,g,y,b,m,w,j,k,O,S,x,C;return _ts_generator(this,function(A){switch(A.label){case 0:return a=Date.now(),s=o.id,i=o.ingest,u=o.respond,l=o.mapping,f=o.preChain,d=o.include,_=o.exclude,v=u,p=r,g=d||_?function(e,n,t){var r=e;return n&&(r=Object.fromEntries(Object.entries(r).filter(function(e){var t=_sliced_to_array(e,1)[0];return n.includes(t)}))),t&&(r=Object.fromEntries(Object.entries(r).filter(function(e){var n=_sliced_to_array(e,1)[0];return!t.includes(n)}))),r}(n.destinations,d,_):void 0,y=null!=i?i:e(s||"unknown"),l?[4,h(p,l,n)]:[3,2];case 1:if((b=A.sent()).ignore)return[2,F({ok:!0})];if(l.consent&&!c(l.consent,n.consent,b.event.consent))return[2,F({ok:!0})];p=b.event,A.label=2;case 2:return(null==f?void 0:f.length)&&n.transformers&&Object.keys(n.transformers).length>0?[4,Be(n,n.transformers,f,p,y,v,s?"source.".concat(s,".next"):void 0)]:[3,6];case 3:return null===(m=A.sent()).event?[2,F({ok:!0})]:(m.respond&&(v=m.respond),Array.isArray(m.event)?[4,Promise.all(m.event.map(function(e){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(a){return r=t(e),o=Q(n,r),[2,L(n,o,{id:s,ingest:y,respond:v},g)]})})()}))]:[3,5]);case 4:return j=A.sent(),s&&(n.status.sources[s]||(n.status.sources[s]={count:0,duration:0}),(k=n.status.sources[s]).count+=m.event.length,k.lastAt=Date.now(),k.duration+=Date.now()-a),[2,null!==(w=j[0])&&void 0!==w?w:F({ok:!0})];case 5:p=m.event,A.label=6;case 6:return O=t(p),S=Q(n,O),[4,L(n,S,{id:s,ingest:y,respond:v},g)];case 7:return x=A.sent(),s&&(n.status.sources[s]||(n.status.sources[s]={count:0,duration:0}),(C=n.status.sources[s]).count++,C.lastAt=Date.now(),C.duration+=Date.now()-a),[2,x]}})})()},function(){return F({ok:!1})})()];case 1:return[2,a.sent()]}})})()},"Push",n.hooks)}(l,function(e){return _object_spread({timing:Math.round((Date.now()-l.timing)/10)/100,source:{type:"collector",id:"",previous_id:""}},e)}),l.command=function(e,n){return m(function(t,r,o){return _async_to_generator(function(){return _ts_generator(this,function(a){switch(a.label){case 0:return[4,g(function(){return _async_to_generator(function(){return _ts_generator(this,function(a){switch(a.label){case 0:return[4,n(e,t,r,o)];case 1:return[2,a.sent()]}})})()},function(){return F({ok:!1})})()];case 1:return[2,a.sent()]}})})()},"Command",e.hooks)}(l,$),f=t.stores||{},[4,function(e){return _async_to_generator(function(e){var n,t,r,o,a,s,i,c,u,l,f,d,_,v,p,g,y,b,h,w,j,k=arguments;return _ts_generator(this,function(O){switch(O.label){case 0:n=k.length>1&&void 0!==k[1]?k[1]:{},t={},r=!0,o=!1,a=void 0,O.label=1;case 1:O.trys.push([1,6,7,8]),s=Object.entries(n)[Symbol.iterator](),O.label=2;case 2:return(r=(i=s.next()).done)?[3,5]:(c=_sliced_to_array(i.value,2),u=c[0],l=c[1],f=l.code,d=l.config,_=void 0===d?{}:d,v=l.env,p=void 0===v?{}:v,g=e.logger.scope("store").scope(u),[4,f({collector:e,logger:g,id:u,config:_,env:p})]);case 3:y=O.sent(),b=y.get,h=y.set,w=y.delete,y.get=m(b,"StoreGet",e.hooks),y.set=m(h,"StoreSet",e.hooks),y.delete=m(w,"StoreDelete",e.hooks),t[u]=y,O.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return j=O.sent(),o=!0,a=j,[3,8];case 7:try{r||null==s.return||s.return()}finally{if(o)throw a}return[7];case 8:return[2,t]}})}).apply(this,arguments)}(l,f)];case 1:return l.stores=v.sent(),function(e,n,t){var r=new Map,o=!0,a=!1,s=void 0;try{for(var i,c=Object.entries(e)[Symbol.iterator]();!(o=(i=c.next()).done);o=!0){var u=_sliced_to_array(i.value,2),l=u[0],f=u[1];n[l]&&r.set(f,n[l])}}catch(e){a=!0,s=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw s}}if(0!==r.size)for(var d=!0,_=!1,v=void 0,p=0,g=[t.transformers,t.destinations,t.sources];p<g.length;p++){var y=g[p];if(y)try{for(var b,h=Object.values(y)[Symbol.iterator]();!(d=(b=h.next()).done);d=!0){m(b.value.env)}}catch(e){_=!0,v=e}finally{try{d||null==h.return||h.return()}finally{if(_)throw v}}}function m(e){if(e){var n=!0,t=!1,o=void 0;try{for(var a,s=Object.entries(e)[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var i=_sliced_to_array(a.value,2),c=i[0],u=i[1];if("object"==(void 0===u?"undefined":_type_of(u))&&null!==u){var l=r.get(u);l&&(e[c]=l)}}}catch(e){t=!0,o=e}finally{try{n||null==s.return||s.return()}finally{if(t)throw o}}}}}(f,l.stores,t),l.stores.__cache||(d=new Map,l.stores.__cache={type:"memory",config:{},get:function(e){var n=d.get(e);if(n){if(!(n.expires&&Date.now()>n.expires))return n.value;d.delete(e)}},set:function(e,n,t){d.set(e,{value:n,expires:t?Date.now()+t:void 0})},delete:function(e){d.delete(e)}}),[4,z(l,t.destinations||{})];case 2:return l.destinations=v.sent(),[4,function(n){return _async_to_generator(function(n){var t,r,o,a,s,i,c,u,l,f,d,_,v,p,g,y,b,h,m,w,j,k,O,S,x=arguments;return _ts_generator(this,function(C){switch(C.label){case 0:t=x.length>1&&void 0!==x[1]?x[1]:{},r={},o=!0,a=!1,s=void 0,C.label=1;case 1:C.trys.push([1,6,7,8]),i=Object.entries(t)[Symbol.iterator](),C.label=2;case 2:return(o=(c=i.next()).done)?[3,5]:(u=_sliced_to_array(c.value,2),l=u[0],f=u[1],d=f.code,_=f.env,v=void 0===_?{}:_,p=E(f,"before"),g=p.config,y=E(_object_spread_props(_object_spread({},f),{config:g}),"next"),b=y.config,h=Object.keys(v).length>0?_object_spread_props(_object_spread({},b),{env:v}):b,m=f.cache,w=m?_object_spread_props(_object_spread({},h),{cache:m}):h,j=n.logger.scope("transformer").scope(l),k={collector:n,logger:j,id:l,ingest:e(l),config:w,env:v},[4,d(k)]);case 3:O=C.sent(),r[l]=O,C.label=4;case 4:return o=!0,[3,2];case 5:return[3,8];case 6:return S=C.sent(),a=!0,s=S,[3,8];case 7:try{o||null==i.return||i.return()}finally{if(a)throw s}return[7];case 8:return[2,r]}})}).apply(this,arguments)}(l,t.transformers||{})];case 3:return[2,(l.transformers=v.sent(),l)]}})})()},ee=function(e){return _async_to_generator(function(){var n,t,r,o,a,s,i,c,u,l,f;return _ts_generator(this,function(d){switch(d.label){case 0:return[4,Z(e=e||{})];case 1:return n=d.sent(),r=n,t={type:"elb",config:{},push:function(e,n,t,o,a,s){return _async_to_generator(function(){var i,c;return _ts_generator(this,function(u){if("string"==typeof e&&e.startsWith("walker "))return i=e.replace("walker ",""),[2,r.command(i,n,t)];if("string"==typeof e)c={name:e},n&&"object"==(void 0===n?"undefined":_type_of(n))&&!Array.isArray(n)&&(c.data=n);else{if(!e||"object"!=(void 0===e?"undefined":_type_of(e)))return[2,F({ok:!1})];c=e,n&&"object"==(void 0===n?"undefined":_type_of(n))&&!Array.isArray(n)&&(c.data=_object_spread({},c.data||{},n))}return[2,(o&&"object"==(void 0===o?"undefined":_type_of(o))&&(c.context=o),a&&Array.isArray(a)&&(c.nested=a),s&&"object"==(void 0===s?"undefined":_type_of(s))&&(c.custom=s),r.push(c))]})})()}},n.sources.elb=t,[4,R(n,e.sources||{})];case 2:return o=d.sent(),Object.assign(n.sources,o),a=e.consent,s=e.user,i=e.globals,c=e.custom,a?[4,n.command("consent",a)]:[3,4];case 3:d.sent(),d.label=4;case 4:return s?[4,n.command("user",s)]:[3,6];case 5:d.sent(),d.label=6;case 6:return i&&Object.assign(n.globals,i),c&&Object.assign(n.custom,c),n.config.run?[4,n.command("run")]:[3,8];case 7:d.sent(),d.label=8;case 8:return u=t.push,l=Object.values(n.sources).filter(function(e){return"elb"!==e.type}),[2,((f=l.find(function(e){return e.config.primary}))?u=f.push:l.length>0&&(u=l[0].push),{collector:n,elb:u})]}})})()},ne=Object.defineProperty,te=Object.getOwnPropertyDescriptor,re=Object.getOwnPropertyNames,oe=Object.prototype.hasOwnProperty,ae=function(e,n){for(var t in n)ne(e,t,{get:n[t],enumerable:!0})},se={};ae(se,{SourceUsercentrics:function(){return ie},createMockElbFn:function(){return we},createTrigger:function(){return Fe},default:function(){return Xe},fullConsent:function(){return ce},fullConsentCustomMapped:function(){return be},fullConsentMapped:function(){return pe},fullConsentUpperCase:function(){return de},implicitConsent:function(){return fe},minimalConsent:function(){return le},minimalConsentMapped:function(){return ye},nonConsentEvent:function(){return ve},noopLogger:function(){return je},partialConsent:function(){return ue},partialConsentMapped:function(){return ge},serviceLevelConsent:function(){return _e},serviceLevelMapped:function(){return he},sourceUsercentrics:function(){return Je},step:function(){return ke},trigger:function(){return Ve}});var ie={},ce={event:"consent_status",type:"explicit",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0},"Google Analytics":!0,"Google Ads Remarketing":!0},ue={event:"consent_status",type:"explicit",action:"onUpdateServices",ucCategory:{essential:!0,functional:!0,marketing:!1},"Google Analytics":!0,"Google Ads Remarketing":!1},le={event:"consent_status",type:"explicit",action:"onDenyAllServices",ucCategory:{essential:!0,functional:!1,marketing:!1},"Google Analytics":!1,"Google Ads Remarketing":!1},fe={event:"consent_status",type:"implicit",ucCategory:{essential:!0,functional:!1,marketing:!1},"Google Analytics":!1,"Google Ads Remarketing":!1},de={event:"consent_status",type:"EXPLICIT",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0}},_e={event:"consent_status",type:"explicit",action:"onUpdateServices",ucCategory:{essential:!0,functional:"partial",marketing:"partial"},"Google Analytics":!0,"Google Ads Remarketing":!1,Hotjar:!0},ve={event:"other_event",type:"explicit"},pe={essential:!0,functional:!0,marketing:!0},ge={essential:!0,functional:!0,marketing:!1},ye={essential:!0,functional:!1,marketing:!1},be={functional:!0,marketing:!0},he={essential:!0,google_analytics:!0,google_ads_remarketing:!1,hotjar:!0},me=function(){},we=function(){return function(){return Promise.resolve({ok:!0})}},je={error:me,warn:me,info:me,debug:me,throw:function(e){throw"string"==typeof e?new Error(e):e},json:me,scope:function(){return je}},ke={};ae(ke,{categoryMapOverride:function(){return xe},customEventName:function(){return Ce},fullConsent:function(){return Oe},minimalConsent:function(){return Se}});var Oe={trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0}},out:[["elb","walker consent",{essential:!0,functional:!0,marketing:!0}]]},Se={trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",action:"onDenyAllServices",ucCategory:{essential:!0,functional:!1,marketing:!1}},out:[["elb","walker consent",{essential:!0,functional:!1,marketing:!1}]]},xe={description:"Custom categoryMap remaps essential to functional and functional to analytics",trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",ucCategory:{essential:!0,functional:!0,marketing:!1}},mapping:{categoryMap:{essential:"functional",functional:"analytics"}},out:[["elb","walker consent",{functional:!0,analytics:!0,marketing:!1}]]},Ce={description:"Using UC_SDK_EVENT instead of ucEvent for Usercentrics SDK v2",trigger:{type:"consent",options:{eventName:"UC_SDK_EVENT"}},in:{event:"consent_status",type:"explicit",ucCategory:{essential:!0,functional:!0,marketing:!0}},mapping:{eventName:"UC_SDK_EVENT"},out:[["elb","walker consent",{essential:!0,functional:!0,marketing:!0}]]},Ae=Object.defineProperty;!function(e,n){for(var t in n)Ae(e,t,{get:n[t],enumerable:!0})}({},{Level:function(){return Pe}});var Ee,Pe=((Ee=Pe||{})[Ee.ERROR=0]="ERROR",Ee[Ee.WARN=1]="WARN",Ee[Ee.INFO=2]="INFO",Ee[Ee.DEBUG=3]="DEBUG",Ee),De={merge:!0,shallow:!0,extend:!0};function qe(e){var n=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(n.has(e))return n.get(e);var t=Object.prototype.toString.call(e);if("[object Object]"===t){var r={};for(var o in n.set(e,r),e)Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=qe(e[o],n));return r}if("[object Array]"===t){var a=[];return n.set(e,a),e.forEach(function(e){a.push(qe(e,n))}),a}if("[object Date]"===t)return new Date(e.getTime());if("[object RegExp]"===t){var s=e;return new RegExp(s.source,s.flags)}return e}function Ie(e){for(var n=arguments.length>2?arguments[2]:void 0,o=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"").split("."),a=e,s=0;s<o.length;s++){var i=o[s];if("*"===i&&t(a)){var c=o.slice(s+1).join("."),u=[],l=!0,f=!1,d=void 0;try{for(var _,v=a[Symbol.iterator]();!(l=(_=v.next()).done);l=!0){var p=Ie(_.value,c,n);u.push(p)}}catch(e){f=!0,d=e}finally{try{l||null==v.return||v.return()}finally{if(f)throw d}}return u}if(void 0===(a=_instanceof(a,Object)?a[i]:void 0))break}return r(a)?a:n}var Me={data:function(e){return e.data},globals:function(e){return e.globals},context:function(e){return e.context},user:function(e){return e.user},source:function(e){return e.source},version:function(e){return e.version},event:function(e){return{entity:e.entity,action:e.action,id:e.id,timestamp:e.timestamp,name:e.name,trigger:e.trigger,group:e.group,count:e.count,timing:e.timing}}},Re=function(e,n,t,r){var o="".concat(Pe[e]).concat(r.length>0?" [".concat(r.join(":"),"]"):""),a=Object.keys(t).length>0,s=0===e?console.error:1===e?console.warn:console.log;a?s(o,n,t):s(o,n)};function Ne(e){var n=e.level,t=e.handler,r=e.jsonHandler,o=e.scope,a=function(e,r,a){if(e<=n){var s=d(r,a);t?t(e,s.message,s.context,o,Re):Re(e,s.message,s.context,o)}};return{error:function(e,n){return a(0,e,n)},warn:function(e,n){return a(1,e,n)},info:function(e,n){return a(2,e,n)},debug:function(e,n){return a(3,e,n)},throw:function(e,n){var r=d(e,n);throw t?t(0,r.message,r.context,o,Re):Re(0,r.message,r.context,o),new Error(r.message)},json:function(e){r?r(e):console.log(JSON.stringify(e,null,2))},scope:function(e){return Ne({level:n,handler:t,jsonHandler:r,scope:_to_consumable_array(o).concat([e])})}}}function Te(e){return function(e){return"boolean"==typeof e}(e)||s(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!r(e)||t(e)&&e.every(Te)||a(e)&&Object.values(e).every(Te)}function Ge(e,n){return _async_to_generator(function(e,n){var o,a,i,u=arguments;return _ts_generator(this,function(l){return a=(o=u.length>2&&void 0!==u[2]?u[2]:{}).collector,i=o.consent,[2,(t(n)?n:[n]).reduce(function(n,u){return _async_to_generator(function(){var l,f,d,_,p,y,h,m,w,j,k,O,S,x,C,A,E,P,D,q,I;return _ts_generator(this,function(M){switch(M.label){case 0:return[4,n];case 1:return(l=M.sent())?[2,l]:(f=s(u)?{key:u}:u,Object.keys(f).length?(d=f.condition,_=f.consent,p=f.fn,y=f.key,h=f.loop,m=f.map,w=f.set,j=f.validate,k=f.value,(O=d)?[4,g(d)(e,u,a)]:[3,3]):[2]);case 2:O=!M.sent(),M.label=3;case 3:return O?[2]:_&&!c(_,i)?[2,k]:(S=r(k)?k:e,p?[4,g(p)(e,u,o)]:[3,5]);case 4:S=M.sent(),M.label=5;case 5:return y&&(S=Ie(e,y,k)),h?(x=_sliced_to_array(h,2),C=x[0],A=x[1],"this"!==C?[3,6]:(P=[e],[3,8])):[3,11];case 6:return[4,b(e,C,o)];case 7:P=M.sent(),M.label=8;case 8:return t(E=P)?[4,Promise.all(E.map(function(e){return b(e,A,o)}))]:[3,10];case 9:S=M.sent().filter(r),M.label=10;case 10:return[3,17];case 11:return m?[4,Object.entries(m).reduce(function(n,t){var a=_sliced_to_array(t,2),s=a[0],i=a[1];return _async_to_generator(function(){var t,a;return _ts_generator(this,function(c){switch(c.label){case 0:return[4,n];case 1:return t=c.sent(),[4,b(e,i,o)];case 2:return a=c.sent(),[2,(r(a)&&(t[s]=a),t)]}})})()},Promise.resolve({}))]:[3,13];case 12:return S=M.sent(),[3,16];case 13:return(D=w)?[4,Promise.all(w.map(function(n){return Ge(e,n,o)}))]:[3,15];case 14:D=S=M.sent(),M.label=15;case 15:M.label=16;case 16:M.label=17;case 17:return(q=j)?[4,g(j)(S)]:[3,19];case 18:q=!M.sent(),M.label=19;case 19:return q&&(S=void 0),I=v(S),[2,r(I)?I:v(k)]}})})()},Promise.resolve(void 0))]})}).apply(this,arguments)}function Ue(e){if("*"===e)return function(){return!0};if("and"in e){var n=e.and.map(Ue);return function(e){return n.every(function(n){return n(e)})}}if("or"in e){var t=e.or.map(Ue);return function(e){return t.some(function(n){return n(e)})}}return function(e){var n=e.key,t=e.operator,r=e.value,o=e.not,a=function(e,n){switch(e){case"eq":return function(e){return String(null!=e?e:"")===n};case"contains":return function(e){return String(null!=e?e:"").includes(n)};case"prefix":return function(e){return String(null!=e?e:"").startsWith(n)};case"suffix":return function(e){return String(null!=e?e:"").endsWith(n)};case"regex":var t=new RegExp(n);return function(e){return t.test(String(null!=e?e:""))};case"gt":var r=Number(n);return function(e){return Number(e)>r};case"lt":var o=Number(n);return function(e){return Number(e)<o};case"exists":return function(e){return null!=e}}}(t,r);return function(e){var t=Ie(e,n),r=a(t);return o?!r:r}}(e)}function He(e){if(null!=e){if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;return w(e)?{type:"routes",routes:e.map(function(e){return{match:Ue(e.match),next:He(e.next)}})}:{type:"chain",value:e}}}}function Ke(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e){if("static"===e.type)return e.value;if("chain"===e.type)return e.value;var t=!0,r=!1,o=void 0;try{for(var a,s=e.routes[Symbol.iterator]();!(t=(a=s.next()).done);t=!0){var i=a.value;if(i.match(n))return Ke(i.next,n)}}catch(e){r=!0,o=e}finally{try{t||null==s.return||s.return()}finally{if(r)throw o}}}}var Le={Commands:{Action:"action",Actions:"actions",Config:"config",Consent:"consent",Context:"context",Custom:"custom",Destination:"destination",Elb:"elb",Globals:"globals",Hook:"hook",Init:"init",Link:"link",On:"on",Prefix:"data-elb",Ready:"ready",Run:"run",Session:"session",Shutdown:"shutdown",User:"user",Walker:"walker"},Utils:{Storage:{Cookie:"cookie",Local:"local",Session:"session"}}};function Be(n,t,r,o,a,s,i){return _async_to_generator(function(){var c,u,l,f,d,_,v,p,y,b;return _ts_generator(this,function(h){switch(h.label){case 0:i&&(null==a?void 0:a._meta)&&(a._meta.chainPath=i),c=o,u=s,l=!0,f=!1,d=void 0,h.label=1;case 1:h.trys.push([1,6,7,8]),_=function(){var o,s,l,f,d,_,v,y,b,h,m,x,E,I,M,R,N,T,G,U,H,K,L,B,W,F,V,z,J,X,$,Q,Y,Z,ee,ne,te,re,oe,ae,se;return _ts_generator(this,function(ie){switch(ie.label){case 0:return o=p.value,(v=t[o])?a&&a._meta&&a._meta.path.length>256?[2,{v:(n.logger.error("Max path length exceeded at ".concat(o)),{event:null,respond:u})}]:(a&&a._meta&&(a._meta.hops++,a._meta.path.push(o)),[4,g(D)(n,v,o)]):(n.logger.warn("Transformer not found: ".concat(o)),[2,"continue"]);case 1:if(!ie.sent())return[2,{v:(n.logger.error("Transformer init failed: ".concat(o)),{event:null,respond:u})}];if(i&&void 0!==(null===(l=v.config)||void 0===l||null===(s=l.chainMocks)||void 0===s?void 0:s[i]))return y=v.config.chainMocks[i],n.logger.scope("transformer:".concat(v.type||"unknown")).debug("chainMock",{chain:i}),c=y,[2,"continue"];if(void 0!==(null===(f=v.config)||void 0===f?void 0:f.mock))return n.logger.scope("transformer:".concat(v.type||"unknown")).debug("mock"),c=v.config.mock,[2,"continue"];if(null===(d=v.config)||void 0===d?void 0:d.disabled)return[2,"continue"];if(b=null===(_=v.config)||void 0===_?void 0:_.cache,h=b?k(b):void 0,m=h?C(h,n):void 0,x=void 0,h&&m){if(E=j(a,c),"HIT"===(null==(I=O(h,m,E,"t:".concat(o)))?void 0:I.status)&&I.value)return c=I.value,h.full?[2,{v:{event:c,respond:u}}]:[2,"continue"];"MISS"===(null==I?void 0:I.status)&&(x={key:I.key,ttl:I.rule.ttl})}return(M=v.config.before)&&(R=P("string"==typeof M||Array.isArray(M)&&!w(M)?M:Ke(He(M),j(a,c))||void 0,A(t))).length>0?[4,Be(n,t,R,c,a,u,i)]:[3,3];case 2:if(null===(T=ie.sent()).event)return[2,{v:{event:null,respond:null!==(N=T.respond)&&void 0!==N?N:u}}];T.respond&&(u=T.respond),c=Array.isArray(T.event)?T.event[0]:T.event,ie.label=3;case 3:return[4,g(q,function(e){return n.logger.scope("transformer:".concat(v.type||"unknown")).error("Push failed",{error:e}),!1})(n,v,o,c,a,u)];case 4:return!1===(G=ie.sent())?[2,{v:{event:null,respond:u}}]:Array.isArray(G)?(U=r.slice(r.indexOf(o)+1),[4,Promise.all(G.map(function(r){return _async_to_generator(function(){var o,s,l,f,d;return _ts_generator(this,function(_){return o=r.event||c,s=a?_object_spread_props(_object_spread({},a),{_meta:_object_spread_props(_object_spread({},a._meta),{path:_to_consumable_array(a._meta.path)})}):e("unknown"),r.next?(l=r.next,w(r.next)&&(f=He(r.next),l=Ke(f,j(s,o))),l&&(d=P(l,A(t))).length>0?[2,Be(n,t,d,o,s,u,i)]:[2,{event:o,respond:u}]):[2,U.length>0?Be(n,t,U,o,s,u,i):{event:o,respond:u}]})})()}))]):[3,6];case 5:H=ie.sent(),K=u,L=[],B=!0,W=!1,F=void 0;try{for(V=H.flat()[Symbol.iterator]();!(B=(z=V.next()).done);B=!0)if(null!==(J=z.value))if(J&&"object"==(void 0===J?"undefined":_type_of(J))&&"event"in J){if(($=J).respond&&(K=$.respond),null===$.event)continue;Array.isArray($.event)?(X=L).push.apply(X,_to_consumable_array($.event)):L.push($.event)}else L.push(J)}catch(e){W=!0,F=e}finally{try{B||null==V.return||V.return()}finally{if(W)throw F}}return[2,{v:0===L.length?{event:null,respond:K}:1===L.length?{event:L[0],respond:K}:{event:L,respond:K}}];case 6:if(G&&"object"==(void 0===G?"undefined":_type_of(G))){if(Q=G.event,Y=G.respond,Z=G.next,Y&&(u=Y),Z)return ee=Z,!w(Z)||(ne=He(Z),ee=Ke(ne,j(a,c)))?[2,{v:(te=P(ee,A(t))).length>0?Be(n,t,te,Q||c,a,u,i):(n.logger.warn("Branch target not found: ".concat(JSON.stringify(Z))),{event:null,respond:u})}]:(Q&&(c=Q),[2,"continue"]);Q&&(c=Q)}return x&&m&&S(m,x.key,c,x.ttl),(!G||"object"==(void 0===G?"undefined":_type_of(G))&&!G.next)&&v.config.next&&w(v.config.next)?(re=v.config.next,oe=He(re),(ae=Ke(oe,j(a,c)))&&(se=P(ae,A(t))).length>0?[2,{v:Be(n,t,se,c,a,u,i)}]:[2,{v:{event:c,respond:u}}]):[2]}})},v=r[Symbol.iterator](),h.label=2;case 2:return(l=(p=v.next()).done)?[3,5]:[5,_ts_values(_())];case 3:if("object"===_type_of(y=h.sent()))return[2,y.v];h.label=4;case 4:return l=!0,[3,2];case 5:return[3,8];case 6:return b=h.sent(),f=!0,d=b,[3,8];case 7:try{l||null==v.return||v.return()}finally{if(f)throw d}return[7];case 8:return[2,{event:c,respond:u}]}})})()}var We,Fe=function(e){return _async_to_generator(function(){var n,t;return _ts_generator(this,function(r){return t=function(t,r){return function(t){return _async_to_generator(function(){var o,a,s;return _ts_generator(this,function(i){switch(i.label){case 0:return n?[3,2]:[4,ee(_object_spread_props(_object_spread({},e),{run:null===(o=e.run)||void 0===o||o}))];case 1:a=i.sent(),n={collector:a.collector,elb:a.elb},i.label=2;case 2:return s=(null==r?void 0:r.eventName)||"ucEvent",window.dispatchEvent(new CustomEvent(s,{detail:t})),[2]}})})()}},[2,{get flow(){return n},trigger:t}]})})()},Ve=function(e,n){if(e&&"object"===(void 0===e?"undefined":_type_of(e)))return function(){n.window.dispatchEvent(new CustomEvent("ucEvent",{detail:e}))}},ze=["action","event","type","ucCategory"],Je=function(e){return _async_to_generator(function(){var n,t,r,o,a,s,i,c,u,l,f,d,_,v,p,g,y,b,h;return _ts_generator(this,function(m){return c=e.config,u=e.env,l=u.elb,f=null!==(n=u.window)&&void 0!==n?n:void 0!==globalThis.window?globalThis.window:void 0,d={eventName:null!==(t=null==c||null===(a=c.settings)||void 0===a?void 0:a.eventName)&&void 0!==t?t:"ucEvent",categoryMap:null!==(r=null==c||null===(s=c.settings)||void 0===s?void 0:s.categoryMap)&&void 0!==r?r:{},explicitOnly:null===(o=null==c||null===(i=c.settings)||void 0===i?void 0:i.explicitOnly)||void 0===o||o},_={settings:d},f&&(g=function(e){return Object.values(e).every(function(e){return"boolean"==typeof e})},y=function(e){var n={};return e.ucCategory&&g(e.ucCategory)?Object.entries(e.ucCategory).forEach(function(e){var t,r,o=_sliced_to_array(e,2),a=o[0],s=o[1];if("boolean"==typeof s){var i=null!==(t=null===(r=d.categoryMap)||void 0===r?void 0:r[a])&&void 0!==t?t:a;n[i]=n[i]||s}}):(e.ucCategory&&Object.entries(e.ucCategory).forEach(function(e){var t=_sliced_to_array(e,2),r=t[0],o=t[1];if("boolean"==typeof o){var a,s,i=null!==(a=null===(s=d.categoryMap)||void 0===s?void 0:s[r])&&void 0!==a?a:r;n[i]=n[i]||o}}),Object.entries(e).forEach(function(e){var t=_sliced_to_array(e,2),r=t[0],o=t[1];if(!ze.includes(r)&&"boolean"==typeof o){var a=r.toLowerCase().replace(/ /g,"_");n[a]=o}})),n},b=function(e){var n;if("consent_status"===e.event&&(!d.explicitOnly||"explicit"===(null===(n=e.type)||void 0===n?void 0:n.toLowerCase()))){var t=y(e);Object.keys(t).length>0&&l("walker consent",t)}},h=null!==(p=d.eventName)&&void 0!==p?p:"ucEvent",v=function(e){var n=e;n.detail&&b(n.detail)},f.addEventListener(h,v)),[2,{type:"usercentrics",config:_,push:l,destroy:function(e){return _async_to_generator(function(){var e,n;return _ts_generator(this,function(t){return f&&v&&(n=null!==(e=d.eventName)&&void 0!==e?e:"ucEvent",f.removeEventListener(n,v)),[2]})})()}}]})})()},Xe=Je;return We=se,function(e,n,t,r){if(n&&"object"===(void 0===n?"undefined":_type_of(n))||"function"==typeof n){var o=!0,a=!1,s=void 0;try{for(var i,c=function(){var o=i.value;oe.call(e,o)||o===t||ne(e,o,{get:function(){return n[o]},enumerable:!(r=te(n,o))||r.enumerable})},u=re(n)[Symbol.iterator]();!(o=(i=u.next()).done);o=!0)c()}catch(e){a=!0,s=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw s}}}return e}(ne({},"__esModule",{value:!0}),We)}();
1
+ "use strict";function _array_like_to_array(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];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,n,t,r,o,a,s){try{var i=e[a](s),c=i.value}catch(e){return void t(e)}i.done?n(c):Promise.resolve(c).then(r,o)}function _async_to_generator(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var a=e.apply(n,t);function s(e){asyncGeneratorStep(a,r,o,s,i,"next",e)}function i(e){asyncGeneratorStep(a,r,o,s,i,"throw",e)}s(void 0)})}}function _define_property(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function _instanceof(e,n){return null!=n&&"undefined"!=typeof Symbol&&n[Symbol.hasInstance]?!!n[Symbol.hasInstance](e):e instanceof n}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,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,a=[],s=!0,i=!1;try{for(t=t.call(e);!(s=(r=t.next()).done)&&(a.push(r.value),!n||a.length!==n);s=!0);}catch(e){i=!0,o=e}finally{try{s||null==t.return||t.return()}finally{if(i)throw o}}return a}}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(n){_define_property(e,n,t[n])})}return e}function ownKeys(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function _object_spread_props(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}),e}function _sliced_to_array(e,n){return _array_with_holes(e)||_iterable_to_array_limit(e,n)||_unsupported_iterable_to_array(e,n)||_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,n){if(e){if("string"==typeof e)return _array_like_to_array(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_array_like_to_array(e,n):void 0}}function _ts_generator(e,n){var t,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(s,"next",{value:c(0)}),i(s,"throw",{value:c(1)}),i(s,"return",{value:c(2)}),"function"==typeof Symbol&&i(s,Symbol.iterator,{value:function(){return this}}),s;function c(i){return function(c){return function(i){if(t)throw new TypeError("Generator is already executing.");for(;s&&(s=0,i[0]&&(a=0)),a;)try{if(t=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=n.call(e,a)}catch(e){i=[6,e],r=0}finally{t=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}}function _ts_values(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],r=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}var SourceUsercentrics=function(){var e=function(e){return{_meta:{hops:0,path:[e]}}},n=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t=_object_spread({},De,t);var r=Object.entries(n).reduce(function(n,r){var o=_sliced_to_array(r,2),a=o[0],s=o[1],i=e[a];return t.merge&&Array.isArray(i)&&Array.isArray(s)?n[a]=s.reduce(function(e,n){return e.includes(n)?e:_to_consumable_array(e).concat([n])},_to_consumable_array(i)):(t.extend||a in e)&&(n[a]=s),n},{});return t.shallow?_object_spread({},e,r):(Object.assign(e,r),e)},t=function(e){return Array.isArray(e)},r=function(e){return void 0!==e},o=function(e){return"function"==typeof e},a=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!t(e)&&"[object Object]"===Object.prototype.toString.call(e)},s=function(e){return"string"==typeof e},i=function(e,n,t){if(!a(e))return e;for(var r=qe(e),o=n.split("."),s=r,i=0;i<o.length;i++){var c=o[i];i===o.length-1?s[c]=t:(c in s&&"object"==_type_of(s[c])&&null!==s[c]||(s[c]={}),s=s[c])}return r},c=function(e){var n=_object_spread({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),t={},r=!e||0===Object.keys(e).length;return Object.keys(n).forEach(function(o){n[o]&&(t[o]=!0,e&&e[o]&&(r=!0))}),!!r&&t},u=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6,n=arguments.length>1?arguments[1]:void 0;if(n){for(var t=n.length,r="",o=0;o<e;o++)r+=n[Math.random()*t|0];return r}for(var a="";a.length<e;)a+=(36*Math.random()|0).toString(36);return a},l=function(e){var n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=null,a=!1;return function(){for(var s=arguments.length,i=new Array(s),c=0;c<s;c++)i[c]=arguments[c];return new Promise(function(s){var c=r&&!a;o&&clearTimeout(o),o=setTimeout(function(){o=null,r&&!a||(n=e.apply(void 0,_to_consumable_array(i)),s(n))},t),c&&(a=!0,n=e.apply(void 0,_to_consumable_array(i)),s(n))})}},f=function(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}},d=function(e,n){var t,r={};return _instanceof(e,Error)?(t=e.message,r.error=f(e)):t=e,void 0!==n&&(_instanceof(n,Error)?r.error=f(n):"object"==(void 0===n?"undefined":_type_of(n))&&null!==n?"error"in(r=_object_spread({},r,n))&&_instanceof(r.error,Error)&&(r.error=f(r.error)):r.value=n),{message:t,context:r}},_=function(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Ne({level:void 0!==n.level?(e=n.level,"string"==typeof e?Pe[e]:e):0,handler:n.handler,jsonHandler:n.jsonHandler,scope:[]})},v=function(e){return Te(e)?e:void 0},g=function(e,n,t){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(!n)return;return n(e)}finally{null==t||t()}}},p=function(e,n,t){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(),n?[4,n(r)]:[2];case 4:return[4,null==t?void 0:t()];case 5:return a.sent(),[7];case 6:return[2]}})})()}},y=function(e,n){return _async_to_generator(function(){var r,o,a,s,i,c,u,l,f,d;return _ts_generator(this,function(_){return o=_sliced_to_array((e.name||"").split(" "),2),a=o[0],s=o[1],n&&a&&s?(c="",l=s,f=function(n){if(n)return(n=t(n)?n:[n]).find(function(n){return!n.condition||n.condition(e)})},n[u=a]||(u="*"),[2,((d=n[u])&&(d[l]||(l="*"),i=f(d[l])),i||(u="*",l="*",i=f(null===(r=n[u])||void 0===r?void 0:r[l])),i&&(c="".concat(u," ").concat(l)),{eventMapping:i,mappingKey:c})]):[2,{}]})})()},b=function(e){return _async_to_generator(function(e){var n,o,s,i,c,u,l,f,d,_,v,g,y,b=arguments;return _ts_generator(this,function(h){switch(h.label){case 0:if(n=b.length>1&&void 0!==b[1]?b[1]:{},o=b.length>2&&void 0!==b[2]?b[2]:{},!r(e))return[2];i=a(e)&&e.consent||o.consent||(null===(s=o.collector)||void 0===s?void 0:s.consent),c=t(n)?n:[n],u=!0,l=!1,f=void 0,h.label=1;case 1:h.trys.push([1,6,7,8]),d=c[Symbol.iterator](),h.label=2;case 2:return(u=(_=d.next()).done)?[3,5]:(v=_.value,[4,p(Ge)(e,v,_object_spread_props(_object_spread({},o),{consent:i}))]);case 3:if(g=h.sent(),r(g))return[2,g];h.label=4;case 4:return u=!0,[3,2];case 5:return[3,8];case 6:return y=h.sent(),l=!0,f=y,[3,8];case 7:try{u||null==d.return||d.return()}finally{if(l)throw f}return[7];case 8:return[2]}})}).apply(this,arguments)},h=function(e,t,r){return _async_to_generator(function(){var o,s,c,u,l,f,d,_,v,g,p;return _ts_generator(this,function(h){switch(h.label){case 0:return t.policy?[4,Promise.all(Object.entries(t.policy).map(function(n){var t=_sliced_to_array(n,2),o=t[0],a=t[1];return _async_to_generator(function(){var n;return _ts_generator(this,function(t){switch(t.label){case 0:return[4,b(e,a,{collector:r})];case 1:return n=t.sent(),e=i(e,o,n),[2]}})})()}))]:[3,2];case 1:h.sent(),h.label=2;case 2:return[4,y(e,t.mapping)];case 3:return s=h.sent(),c=s.eventMapping,u=s.mappingKey,(null==c?void 0:c.policy)?[4,Promise.all(Object.entries(c.policy).map(function(n){var t=_sliced_to_array(n,2),o=t[0],a=t[1];return _async_to_generator(function(){var n;return _ts_generator(this,function(t){switch(t.label){case 0:return[4,b(e,a,{collector:r})];case 1:return n=t.sent(),e=i(e,o,n),[2]}})})()}))]:[3,5];case 4:h.sent(),h.label=5;case 5:return(f=t.data)?[4,b(e,t.data,{collector:r})]:[3,7];case 6:f=h.sent(),h.label=7;case 7:return l=f,d=Boolean(null==c?void 0:c.skip),c?c.ignore?[2,{event:e,data:l,mapping:c,mappingKey:u,ignore:!0,skip:d}]:(c.name&&(e.name=c.name),c.data?(v=c.data)?[4,b(e,c.data,{collector:r})]:[3,9]:[3,10]):[3,10];case 8:v=h.sent(),h.label=9;case 9:_=v,l=a(l)&&a(_)?n(l,_):_,h.label=10;case 10:return(g=null!==(o=null==c?void 0:c.include)&&void 0!==o?o:t.include)&&g.length>0&&(p=function(e,n){var t={},r=n.includes("all")?Object.keys(Ie):n,o=!0,s=!1,i=void 0;try{for(var c,u=r[Symbol.iterator]();!(o=(c=u.next()).done);o=!0){var l=c.value,f=Ie[l];if(f){var d=f(e),_=!0,v=!1,g=void 0;if(a(d))try{for(var p,y=Object.entries(d)[Symbol.iterator]();!(_=(p=y.next()).done);_=!0){var b=_sliced_to_array(p.value,2),h=b[0],m=b[1];if(void 0!==m){var w="context"===l&&Array.isArray(m)?m[0]:m;t["".concat(l,"_").concat(h)]=w}}}catch(e){v=!0,g=e}finally{try{_||null==y.return||y.return()}finally{if(v)throw g}}}}}catch(e){s=!0,i=e}finally{try{o||null==u.return||u.return()}finally{if(s)throw i}}return t}(e,g),Object.keys(p).length>0&&(l=a(l)?n(p,l):null!=l?l:p)),[2,{event:e,data:l,mapping:c,mappingKey:u,ignore:!1,skip:d}]}})})()},m=function(e,n,t,r){return function(){for(var o=arguments.length,a=new Array(o),s=0;s<o;s++)a[s]=arguments[s];var i,c="pre"+n,u="post"+n,l=t[c],f=t[u],d=function(e,n){r?r.warn(e,{error:n}):console.warn(e,n)};if(l)try{i=l.apply(void 0,[{fn:e}].concat(_to_consumable_array(a)))}catch(n){d("Hook ".concat(String(c)," failed, falling back to original function"),n),i=e.apply(void 0,_to_consumable_array(a))}else i=e.apply(void 0,_to_consumable_array(a));if(f)try{i=f.apply(void 0,[{fn:e,result:i}].concat(_to_consumable_array(a)))}catch(e){d("Hook ".concat(String(u)," failed, keeping original result"),e)}return i}},w=function(e){return Array.isArray(e)&&e.length>0&&"object"==_type_of(e[0])&&null!==e[0]&&"match"in e[0]},j=function(e,n){var t={ingest:null!=e?e:{}};return void 0!==n&&(t.event=n),t},k=function(e){var n;return{full:null!==(n=e.full)&&void 0!==n&&n,storeId:e.store,rules:e.rules.map(function(e){return{match:Ue(e.match),key:e.key,ttl:e.ttl,update:e.update}})}},O=function(e,n,t,r){var o=e.rules.find(function(e){return e.match(t)});if(!o)return null;var a=o.key.map(function(e){var n;return String(null!==(n=Me(t,e))&&void 0!==n?n:"")});if(a.every(function(e){return""===e}))return null;var s="".concat(r,":").concat(a.join(":")),i=n.get(s);return void 0!==i?{status:"HIT",key:s,value:i,rule:o}:{status:"MISS",key:s,rule:o}},S=function(e,n,t,r){e.set(n,t,1e3*r)},x=function(e,n,t){return _async_to_generator(function(){var r,o,a,s,c,u,l,f,d,_,v;return _ts_generator(this,function(g){switch(g.label){case 0:if(!n)return[2,e];r=e,o=!0,a=!1,s=void 0,g.label=1;case 1:g.trys.push([1,6,7,8]),c=Object.entries(n)[Symbol.iterator](),g.label=2;case 2:return(o=(u=c.next()).done)?[3,5]:(l=_sliced_to_array(u.value,2),f=l[0],d=l[1],_=[r,f],[4,b(t,d)]);case 3:r=i.apply(void 0,_.concat([g.sent()])),g.label=4;case 4:return o=!0,[3,2];case 5:return[3,8];case 6:return v=g.sent(),a=!0,s=v,[3,8];case 7:try{o||null==c.return||c.return()}finally{if(a)throw s}return[7];case 8:return[2,r]}})})()},C=function(e,n){return e.storeId&&n.stores[e.storeId]?n.stores[e.storeId]:n.stores.__cache},A=function(e){var n={},t=!0,r=!1,o=void 0;try{for(var a,s=Object.entries(e)[Symbol.iterator]();!(t=(a=s.next()).done);t=!0){var i,c=_sliced_to_array(a.value,2),u=c[0],l=null===(i=c[1].config)||void 0===i?void 0:i.next;l&&!w(l)?n[u]={next:l}:n[u]={}}}catch(e){r=!0,o=e}finally{try{t||null==s.return||s.return()}finally{if(r)throw o}}return n},E=function(e,n){var t=e.config||{},r=e[n];return void 0!==r?{config:_object_spread_props(_object_spread({},t),_define_property({},n,r)),chainValue:r}:{config:t,chainValue:void 0}},P=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return[];if(Array.isArray(e))return e;for(var t=[],r=new Set,o=e;o&&n[o]&&!r.has(o);){r.add(o),t.push(o);var a=n[o].next;if(Array.isArray(a)){var s;(s=t).push.apply(s,_to_consumable_array(a));break}o=a}return t},D=function(n,t,r){return _async_to_generator(function(){var o,a,s,i;return _ts_generator(this,function(c){switch(c.label){case 0:return!t.init||t.config.init?[3,2]:(o=t.type||"unknown",a=n.logger.scope("transformer:".concat(o)),s={collector:n,logger:a,id:r,ingest:e(r),config:t.config,env:M(t.config.env)},a.debug("init"),[4,m(t.init,"TransformerInit",n.hooks,n.logger)(s)]);case 1:if(!1===(i=c.sent()))return[2,!1];t.config=_object_spread_props(_object_spread({},i||t.config),{env:(null==i?void 0:i.env)||t.config.env,init:!0}),a.debug("init done"),c.label=2;case 2:return[2,!0]}})})()},q=function(e,n,t,r,o,a){return _async_to_generator(function(){var s,i,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:return s=n.type||"unknown",i=e.logger.scope("transformer:".concat(s)),c={collector:e,logger:i,id:t,ingest:o,config:n.config,env:_object_spread({},M(n.config.env),a?{respond:a}:{})},i.debug("push",{event:r.name}),[4,m(n.push,"TransformerPush",e.hooks,e.logger)(r,c)];case 1:return u=l.sent(),[2,(i.debug("push done"),u)]}})})()},M=function(e){return e&&a(e)?e:{}},I=function(n,t,r){return _async_to_generator(function(){var o,a,s,i,c,u,l,f,d,_,v,g,y,h,m,E,D,q,M,I,R,N,T;return _ts_generator(this,function(G){switch(G.label){case 0:return a=r.code,s=r.config,i=void 0===s?{}:s,c=r.env,u=void 0===c?{}:c,l=r.primary,f=r.next,d=r.before,_=r.cache,g=e(t),y=_?k(_object_spread_props(_object_spread({},_),{full:null===(o=_.full)||void 0===o||o})):void 0,h=He(f),m=Array.isArray(f)&&w(f)||!h?void 0:P(Ke(h),A(n.transformers)),E=He(d),D=Array.isArray(d)&&w(d)||!E?void 0:P(Ke(E),A(n.transformers)),q=n.logger.scope("source").scope(t),M=_object_spread({push:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _async_to_generator(function(){var o,a,s,c,u,l,f,d,_,p,b,w,k,q,M;return _ts_generator(this,function(I){switch(I.label){case 0:return a=e,(s=null!=D?D:E?P(Ke(E,j(g)),A(n.transformers)):[]).length>0&&n.transformers&&Object.keys(n.transformers).length>0?[4,Be(n,n.transformers,s,a,g,v,"source.".concat(t,".before"))]:[3,2];case 1:if(null===(c=I.sent()).event)return[2,{ok:!0}];c.respond&&(v=c.respond),a=Array.isArray(c.event)?c.event[0]:c.event,I.label=2;case 2:return y&&(u=C(y,n))?(l=j(g),(f=O(y,u,l,"s:".concat(t)))?"HIT"===f.status&&void 0!==f.value&&y.full?(d=f.value,f.rule.update?[4,x(d,f.rule.update,_object_spread_props(_object_spread({},l),{cache:{status:"HIT"}}))]:[3,4]):[3,5]:[3,6]):[3,6];case 3:d=I.sent(),I.label=4;case 4:return[2,(null==v||v(d),{ok:!0})];case 5:"MISS"===f.status&&y.full&&v&&(_=v,p=f.rule.update,b=_object_spread_props(_object_spread({},l),{cache:{status:"MISS"}}),w=f.key,k=f.rule.ttl,v=function(e){S(u,w,e,k),p?o=_async_to_generator(function(){var n;return _ts_generator(this,function(t){switch(t.label){case 0:return[4,x(e,p,b)];case 1:return n=t.sent(),_(n),[2]}})})():_(e)}),"MISS"!==f.status||y.full||S(u,f.key,!0,f.rule.ttl),I.label=6;case 6:return q=null!=m?m:h?P(Ke(h,j(g)),A(n.transformers)):[],[4,n.push(a,_object_spread_props(_object_spread({},r),{id:t,ingest:g,respond:v,mapping:i,preChain:q}))];case 7:return M=I.sent(),o?[4,o]:[3,9];case 8:I.sent(),I.label=9;case 9:return[2,M]}})})()},command:n.command,sources:n.sources,elb:n.sources.elb.push,logger:q},u),I={collector:n,logger:q,id:t,config:i,env:M,setIngest:function(r){return _async_to_generator(function(){var o,a;return _ts_generator(this,function(s){switch(s.label){case 0:return i.ingest?[4,b(r,i.ingest,{collector:n})]:[2,void(g=e(t))];case 1:return o=s.sent(),a=e(t),g=_object_spread_props(_object_spread({},a,o),{_meta:a._meta}),[2]}})})()},setRespond:function(e){v=e}},[4,p(a)(I)];case 1:return(R=G.sent())?(N=R.type||"unknown",T=n.logger.scope(N).scope(t),[2,(M.logger=T,l&&(R.config=_object_spread_props(_object_spread({},R.config),{primary:l})),R)]):[2]}})})()},R=function(e){return _async_to_generator(function(e){var n,t,r,o,a,s,i,c,u,l,f,d,_,v,g=arguments;return _ts_generator(this,function(p){switch(p.label){case 0:n=g.length>1&&void 0!==g[1]?g[1]:{},t={},r=!0,o=!1,a=void 0,p.label=1;case 1:p.trys.push([1,6,7,8]),s=Object.entries(n)[Symbol.iterator](),p.label=2;case 2:return(r=(i=s.next()).done)?[3,5]:(c=_sliced_to_array(i.value,2),u=c[0],l=c[1],f=l.config,(d=void 0===f?{}:f).require&&d.require.length>0?(e.pending.sources[u]=l,[3,4]):[4,I(e,u,l)]);case 3:(_=p.sent())&&(t[u]=_),p.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return v=p.sent(),o=!0,a=v,[3,8];case 7:try{r||null==s.return||s.return()}finally{if(o)throw a}return[7];case 8:return[2,t]}})}).apply(this,arguments)},N=function(e,n,r){return _async_to_generator(function(){var o,a,s;return _ts_generator(this,function(i){return o=e.on,a=o[n]||[],(s=t(r)?r:[r]).forEach(function(e){a.push(e)}),o[n]=a,G(e,n,s),[2]})})()},T=function(e,n,t,r,o){if(n.on){var a=n.type||"unknown",s=e.logger.scope(a).scope("on").scope(r),i={collector:e,logger:s,id:t,config:n.config,data:o,env:J(n.env,n.config.env)};g(n.on)(r,i)}},G=function(e,n,t,r){var o,a,s,i;switch(n){case Le.Commands.Consent:o=r||e.consent;break;case Le.Commands.Session:o=e.session;break;case Le.Commands.User:o=r||e.user;break;case Le.Commands.Custom:o=r||e.custom;break;case Le.Commands.Globals:o=r||e.globals;break;case Le.Commands.Config:o=r||e.config;break;case Le.Commands.Ready:case Le.Commands.Run:default:o=void 0}if(t.length)switch(n){case Le.Commands.Consent:a=e,s=t,i=r||a.consent,s.forEach(function(e){Object.keys(i).filter(function(n){return n in e}).forEach(function(n){g(e[n])(a,i)})});break;case Le.Commands.Ready:case Le.Commands.Run:!function(e,n){e.allowed&&n.forEach(function(n){g(n)(e)})}(e,t);break;case Le.Commands.Session:!function(e,n){e.session&&n.forEach(function(n){g(n)(e,e.session)})}(e,t);break;default:t.forEach(function(n){"function"==typeof n&&g(n)(e,o)})}},U=function(e,n,t,r){return _async_to_generator(function(){var o,a,s,i,c,u,l,f,d,_,v;return _ts_generator(this,function(g){switch(g.label){case 0:switch(a=t||[],t||(a=e.on[n]||[]),n){case Le.Commands.Consent:o=r||e.consent;break;case Le.Commands.Session:o=e.session;break;case Le.Commands.User:o=r||e.user;break;case Le.Commands.Custom:o=r||e.custom;break;case Le.Commands.Globals:o=r||e.globals;break;case Le.Commands.Config:o=r||e.config;break;case Le.Commands.Ready:case Le.Commands.Run:default:o=void 0}s=!1,i=!0,c=!1,u=void 0,g.label=1;case 1:g.trys.push([1,6,7,8]),l=Object.values(e.sources)[Symbol.iterator](),g.label=2;case 2:return(i=(f=l.next()).done)?[3,5]:(d=f.value).on?(_=!1,[4,p(d.on)(n,o)]):[3,4];case 3:_===g.sent()&&(s=!0),g.label=4;case 4:return i=!0,[3,2];case 5:return[3,8];case 6:return v=g.sent(),c=!0,u=v,[3,8];case 7:try{i||null==l.return||l.return()}finally{if(c)throw u}return[7];case 8:return Object.entries(e.destinations).forEach(function(t){var r=_sliced_to_array(t,2),a=r[0],s=r[1];if(s.on){if(!s.config.init)return s.queueOn=s.queueOn||[],void s.queueOn.push({type:n,data:o});T(e,s,a,n,o)}}),Object.keys(e.pending.sources).length>0||Object.keys(e.pending.destinations).length>0?[4,(y=e,b=n,_async_to_generator(function(){var e,n,t,r,o,a,s,i,c,u,l,f,d,_,v,g,p,h,m,w,j,k,O,S,x;return _ts_generator(this,function(C){switch(C.label){case 0:e=!0,n=!1,t=void 0,C.label=1;case 1:C.trys.push([1,6,7,8]),r=Object.entries(y.pending.sources)[Symbol.iterator](),C.label=2;case 2:return(e=(o=r.next()).done)?[3,5]:(a=_sliced_to_array(o.value,2),s=a[0],i=a[1],!y.pending.sources[s]||y.sources[s]?[3,4]:(u=null===(c=i.config)||void 0===c?void 0:c.require)?-1===(l=u.indexOf(b))?[3,4]:(u.splice(l,1),u.length>0?[3,4]:(delete y.pending.sources[s],[4,I(y,s,i)])):[3,4]);case 3:(f=C.sent())&&(y.sources[s]=f),C.label=4;case 4:return e=!0,[3,2];case 5:return[3,8];case 6:return d=C.sent(),n=!0,t=d,[3,8];case 7:try{e||null==r.return||r.return()}finally{if(n)throw t}return[7];case 8:_=!0,v=!1,g=void 0;try{for(p=Object.entries(y.pending.destinations)[Symbol.iterator]();!(_=(h=p.next()).done);_=!0)m=_sliced_to_array(h.value,2),w=m[0],j=m[1],y.pending.destinations[w]&&!y.destinations[w]&&(O=null===(k=j.config)||void 0===k?void 0:k.require)&&-1!==(S=O.indexOf(b))&&(O.splice(S,1),O.length>0||(delete y.pending.destinations[w],!1!==(x=V(j)).config.queue&&(x.queuePush=_to_consumable_array(y.queue)),y.destinations[w]=x))}catch(e){v=!0,g=e}finally{try{_||null==p.return||p.return()}finally{if(v)throw g}}return[2]}})})())]:[3,10];case 9:g.sent(),g.label=10;case 10:return[2,(G(e,n,a,r),!s)]}var y,b})})()},H=function(e,n,t,r){if(!e)return[];if(n){var o=Ke(n,j(r));return o?P(o,A(t)):[]}return P(e,A(t))},K=function(e,n,t){return _async_to_generator(function(){var r,a,s,i,c,l,f,d,_,v,g,p;return _ts_generator(this,function(y){if(r=n.code,a=n.config,s=void 0===a?{}:a,i=n.env,c=void 0===i?{}:i,l=n.before,f=n.next,d=n.cache,!o(r.push))return[2,F({ok:!1,failed:{invalid:{type:"invalid",error:"Destination code must have a push method"}}})];if(_=t||s||{init:!1},v=l?_object_spread_props(_object_spread({},_),{before:l}):_object_spread({},_),f&&(v=_object_spread_props(_object_spread({},v),{next:f})),d&&(v=_object_spread_props(_object_spread({},v),{cache:d})),g=_object_spread_props(_object_spread({},r),{config:v,env:J(r.env,c)}),!(p=g.config.id))do{p=u(5,"abcdefghijklmnopqrstuvwxyz")}while(e.destinations[p]);return[2,(e.destinations[p]=g,!1!==g.config.queue&&(g.queuePush=_to_consumable_array(e.queue)),L(e,void 0,{},_define_property({},p,g)))]})})()},L=function(t,r,o){return _async_to_generator(function(t,r){var o,a,s,i,u,l,f,d,_,v,g,y,b,h,m,x,A,E,P,D=arguments;return _ts_generator(this,function(q){switch(q.label){case 0:return o=D.length>2&&void 0!==D[2]?D[2]:{},a=D.length>3?D[3]:void 0,s=t.allowed,i=t.consent,u=t.globals,l=t.user,s?(r&&(t.queue.push(r),t.status.in++),a||(a=t.destinations),[4,Promise.all(Object.entries(a||{}).map(function(a){var s=_sliced_to_array(a,2),f=s[0],d=s[1];return _async_to_generator(function(){var a,s,_,v,g,y,b,h,m,x,A,E,P,D,q,M,I,R,N;return _ts_generator(this,function(T){switch(T.label){case 0:return d.config.disabled?[2,{id:f,destination:d,skipped:!0}]:(g=(d.queuePush||[]).map(function(e){return _object_spread_props(_object_spread({},e),{consent:i})}),d.queuePush=[],r&&g.push(qe(r)),y=o.ingest?_object_spread_props(_object_spread({},o.ingest),{_meta:_object_spread_props(_object_spread({},o.ingest._meta),{path:_to_consumable_array(o.ingest._meta.path)})}):e("unknown"),g.length||(null===(s=d.queueOn)||void 0===s?void 0:s.length)?g.length||!(null===(_=d.queueOn)||void 0===_?void 0:_.length)?[3,2]:[4,p(B)(t,d,f)]:[2,{id:f,destination:d,skipped:!0}]);case 1:return b=T.sent(),[2,{id:f,destination:d,skipped:!b}];case 2:return h=[],m=g.filter(function(e){var n=c(d.config.consent,i,e.consent);return!n||(e.consent=n,h.push(e),!1)}),(a=d.queuePush).push.apply(a,_to_consumable_array(m)),h.length?[4,p(B)(t,d,f)]:[2,{id:f,destination:d,queue:g}];case 3:return T.sent()?(d.dlq||(d.dlq=[]),E=d.config.before,P=H(E,E&&w(E)?He(E):void 0,t.transformers,y),D=d.config.next,q=D&&w(D)?He(D):void 0,M=null===(v=d.config)||void 0===v?void 0:v.cache,I=M?k(M):void 0,R=I?C(I,t):void 0,N=0,[4,Promise.all(h.map(function(e){return _async_to_generator(function(){var r,a,s,i,c,_,v,g,b,h,m,w,k;return _ts_generator(this,function(C){switch(C.label){case 0:if(e.globals=n(u,e.globals),e.user=n(l,e.user),(null==I?void 0:I.full)&&R){if(a=j(y,e),"HIT"===(null==(s=O(I,R,a,"d:".concat(f)))?void 0:s.status))return[2,e];"MISS"===(null==s?void 0:s.status)&&(r={key:s.key,ttl:s.rule.ttl})}return i=e,c=o.respond,P.length>0&&t.transformers&&Object.keys(t.transformers).length>0?[4,Be(t,t.transformers,P,e,y,o.respond,"destination.".concat(f,".before"))]:[3,2];case 1:if(null===(_=C.sent()).event)return[2,e];_.respond&&(c=_.respond),i=Array.isArray(_.event)?_.event[0]:_.event,C.label=2;case 2:if(I&&!I.full&&R){if(v=j(y,i),"HIT"===(null==(g=O(I,R,v,"d:".concat(f)))?void 0:g.status))return[2,e];"MISS"===(null==g?void 0:g.status)&&(r={key:g.key,ttl:g.rule.ttl})}return b=Date.now(),h=!1,[4,p(W,function(e){var n=d.type||"unknown";t.logger.scope(n).error("Push failed",{error:e,event:i.name}),x=e,h=!0,d.dlq.push([i,e])})(t,d,f,i,y,c)];case 3:return m=C.sent(),N+=Date.now()-b,r&&R&&void 0===d.config.mock&&S(R,r.key,null==m||m,r.ttl),void 0!==m&&(A=m),h||!D?[3,5]:(void 0!==m&&(y._response=m),(w=H(D,q,t.transformers,y)).length>0&&t.transformers&&Object.keys(t.transformers).length>0?[4,Be(t,t.transformers,w,i,y,c,"destination.".concat(f,".next"))]:[3,5]);case 4:(k=C.sent()).respond&&(c=k.respond),C.label=5;case 5:return[2,e]}})})()}))]):[2,{id:f,destination:d,queue:g}];case 4:return[2,(T.sent(),{id:f,destination:d,error:x,response:A,totalDuration:N})]}})})()}))]):[2,F({ok:!1})];case 1:f=q.sent(),d={},_={},v={},g=!0,y=!1,b=void 0;try{for(h=f[Symbol.iterator]();!(g=(m=h.next()).done);g=!0)(x=m.value).skipped||(A={type:x.destination.type||"unknown",data:x.response},t.status.destinations[x.id]||(t.status.destinations[x.id]={count:0,failed:0,duration:0}),E=t.status.destinations[x.id],P=Date.now(),x.error?(A.error=x.error,v[x.id]=A,E.failed++,E.lastAt=P,E.duration+=x.totalDuration||0,t.status.failed++):x.queue&&x.queue.length?_[x.id]=A:(d[x.id]=A,E.count++,E.lastAt=P,E.duration+=x.totalDuration||0,t.status.out++))}catch(e){y=!0,b=e}finally{try{g||null==h.return||h.return()}finally{if(y)throw b}}return[2,F(_object_spread({event:r},Object.keys(d).length&&{done:d},Object.keys(_).length&&{queued:_},Object.keys(v).length&&{failed:v}))]}})}).apply(this,arguments)},B=function(e,n,t){return _async_to_generator(function(){var r,o,a,s,i,c,u,l,f,d,_,v,g,p;return _ts_generator(this,function(y){switch(y.label){case 0:return!n.init||n.config.init?[3,2]:(o=n.type||"unknown",a=e.logger.scope(o),s={collector:e,logger:a,id:t,config:n.config,env:J(n.env,n.config.env)},a.debug("init"),[4,m(n.init,"DestinationInit",e.hooks,e.logger)(s)]);case 1:if(!1===(i=y.sent()))return[2,i];if(n.config=_object_spread_props(_object_spread({},i||n.config),{init:!0}),null===(r=n.queueOn)||void 0===r?void 0:r.length){c=n.queueOn,n.queueOn=[],u=!0,l=!1,f=void 0;try{for(d=c[Symbol.iterator]();!(u=(_=d.next()).done);u=!0)v=_.value,g=v.type,p=v.data,T(e,n,t,g,p)}catch(e){l=!0,f=e}finally{try{u||null==d.return||d.return()}finally{if(l)throw f}}}a.debug("init done"),y.label=2;case 2:return[2,!0]}})})()},W=function(e,n,t,o,a,s){return _async_to_generator(function(){var i,c,u,f,d,_,v,g,p,y;return _ts_generator(this,function(b){switch(b.label){case 0:return i=n.config,[4,h(o,i,e)];case 1:return(c=b.sent()).ignore?[2,!1]:(u=n.type||"unknown",f=e.logger.scope(u),d={collector:e,logger:f,id:t,config:i,data:c.data,rule:c.mapping,ingest:a,env:_object_spread({},J(n.env,i.env),s?{respond:s}:{})},void 0!==i.mock?[2,(f.debug("mock",{event:c.event.name}),i.mock)]:(_=c.mapping,v=c.mappingKey||"* *",(null==_?void 0:_.batch)&&n.pushBatch&&void 0===i.mock?[3,3]:(f.debug("push",{event:c.event.name}),[4,m(n.push,"DestinationPush",e.hooks,e.logger)(c.event,d)])));case 2:return g=b.sent(),[2,(f.debug("push done"),g)];case 3:return n.batches=n.batches||{},n.batches[v]||(p={key:v,events:[],data:[]},n.batches[v]={batched:p,batchFn:l(function(){var r=n.batches[v].batched,o={collector:e,logger:f,id:t,config:i,data:void 0,rule:_,ingest:a,env:_object_spread({},J(n.env,i.env),s?{respond:s}:{})};f.debug("push batch",{events:r.events.length}),m(n.pushBatch,"DestinationPushBatch",e.hooks,e.logger)(r,o),f.debug("push batch done"),r.events=[],r.data=[]},_.batch)}),(y=n.batches[v]).batched.events.push(c.event),r(c.data)&&y.batched.data.push(c.data),y.batchFn(),[2,!0]}})})()},F=function(e){return _object_spread({ok:!(null==e?void 0:e.failed)},e)},V=function(e){var n=e.code,t=e.config,r=void 0===t?{}:t,o=e.env,a=void 0===o?{}:o,s=e.cache,i=E(e,"before").config,c=E(_object_spread_props(_object_spread({},e),{config:i}),"next").config,u=_object_spread({},n.config,r,c);s&&(u.cache=s);var l=J(n.env,a);return _object_spread_props(_object_spread({},n),{config:u,env:l})},z=function(e){return _async_to_generator(function(e){var n,t,r,o,a,s,i,c,u,l,f,d,_=arguments;return _ts_generator(this,function(v){n=_.length>1&&void 0!==_[1]?_[1]:{},o={},a=!0,s=!1,i=void 0;try{for(c=Object.entries(n)[Symbol.iterator]();!(a=(u=c.next()).done);a=!0)l=_sliced_to_array(u.value,2),f=l[0],d=l[1],(null===(r=d.config)||void 0===r||null===(t=r.require)||void 0===t?void 0:t.length)?e.pending.destinations[f]=d:o[f]=V(d)}catch(e){s=!0,i=e}finally{try{a||null==c.return||c.return()}finally{if(s)throw i}}return[2,o]})}).apply(this,arguments)},J=function(e,n){return e||n?n?e&&a(e)&&a(n)?_object_spread({},e,n):n:e:{}},X=function(e,n,t){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){switch(o.label){case 0:return r=Object.entries(e).map(function(e){var r=_sliced_to_array(e,2),o=r[0],a=r[1];return _async_to_generator(function(){var e,r,s,i,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:if(!(r=a.destroy))return[2];s=a.type||"unknown",i=t.scope(s),c={id:o,config:a.config,env:null!==(e=a.env)&&void 0!==e?e:{},logger:i},l.label=1;case 1:return l.trys.push([1,3,,4]),[4,Promise.race([r(c),new Promise(function(e,t){return setTimeout(function(){return t(new Error("".concat(n," '").concat(o,"' destroy timed out")))},5e3)})])];case 2:return l.sent(),[3,4];case 3:return u=l.sent(),i.error("".concat(n," '").concat(o,"' destroy failed: ").concat(u)),[3,4];case 4:return[2]}})})()}),[4,Promise.allSettled(r)];case 1:return o.sent(),[2]}})})()},$=function(e,t,r,i){return _async_to_generator(function(){var c,u,l,f,d,_,v;return _ts_generator(this,function(g){switch(g.label){case 0:switch(l=!1,t){case Le.Commands.Config:return[3,1];case Le.Commands.Consent:return[3,2];case Le.Commands.Custom:return[3,3];case Le.Commands.Destination:return[3,4];case Le.Commands.Globals:return[3,11];case Le.Commands.On:return[3,12];case Le.Commands.Ready:return[3,15];case Le.Commands.Run:return[3,16];case Le.Commands.Session:return[3,18];case Le.Commands.Shutdown:return[3,19];case Le.Commands.User:return[3,21]}return[3,22];case 1:return a(r)&&(n(e.config,r,{shallow:!1}),u=r,l=!0),[3,22];case 2:return a(r)&&(f=function(e,t){var r={};return Object.entries(t).forEach(function(e){var n=_sliced_to_array(e,2),t=n[0],o=n[1];r[t]=!!o}),e.consent=n(e.consent,r),{update:r}}(e,r),d=f.update,u=d,l=!0),[3,22];case 3:return a(r)&&(e.custom=n(e.custom,r),u=r,l=!0),[3,22];case 4:return a(r)?"code"in r&&a(r.code)?[4,K(e,r,i)]:[3,6]:[3,10];case 5:return _=c=g.sent(),[3,9];case 6:return(v=o(r.push))?[4,K(e,{code:r},i)]:[3,8];case 7:v=c=g.sent(),g.label=8;case 8:_=v,g.label=9;case 9:g.label=10;case 10:return[3,22];case 11:return a(r)&&(e.globals=n(e.globals,r),u=r,l=!0),[3,22];case 12:return s(r)?[4,N(e,r,i)]:[3,14];case 13:g.sent(),g.label=14;case 14:return[3,22];case 15:return l=!0,[3,22];case 16:return[4,Y(e,r)];case 17:return c=g.sent(),l=!0,[3,22];case 18:return l=!0,[3,22];case 19:return[4,(p=e,_async_to_generator(function(){var e;return _ts_generator(this,function(n){switch(n.label){case 0:return e=p.logger,[4,X(p.sources,"source",e)];case 1:return n.sent(),[4,X(p.destinations,"destination",e)];case 2:return n.sent(),[4,X(p.transformers,"transformer",e)];case 3:return n.sent(),[4,X(p.stores,"store",e)];case 4:return n.sent(),[2]}})})())];case 20:return g.sent(),[3,22];case 21:a(r)&&(n(e.user,r,{shallow:!1}),u=r,l=!0),g.label=22;case 22:return l?[4,U(e,t,void 0,u)]:[3,25];case 23:return g.sent(),[4,L(e)];case 24:c=g.sent(),g.label=25;case 25:return[2,c||F({ok:!0})]}var p})})()},Q=function(e,n){if(!n.name)throw new Error("Event name is required");var t=_sliced_to_array(n.name.split(" "),2),r=t[0],o=t[1];if(!r||!o)throw new Error("Event name is invalid");++e.count;var a=n.timestamp,s=void 0===a?Date.now():a,i=n.group,c=void 0===i?e.group:i,u=n.count,l=void 0===u?e.count:u,f=n.name,d=void 0===f?"".concat(r," ").concat(o):f,_=n.data,v=void 0===_?{}:_,g=n.context,p=void 0===g?{}:g,y=n.globals,b=void 0===y?e.globals:y,h=n.custom,m=void 0===h?{}:h,w=n.user,j=void 0===w?e.user:w,k=n.nested,O=void 0===k?[]:k,S=n.consent,x=void 0===S?e.consent:S,C=n.id,A=void 0===C?"".concat(s,"-").concat(c,"-").concat(l):C,E=n.trigger,P=void 0===E?"":E,D=n.entity,q=void 0===D?r:D,M=n.action,I=void 0===M?o:M,R=n.timing,N=void 0===R?0:R,T=n.version,G=void 0===T?{source:e.version,tagging:e.config.tagging||0}:T,U=n.source;return{name:d,data:v,context:p,globals:b,custom:m,user:j,nested:O,consent:x,id:A,trigger:P,entity:q,action:I,timestamp:s,timing:N,group:c,count:l,version:G,source:void 0===U?{type:"collector",id:"",previous_id:""}:U}},Y=function(e,t){return _async_to_generator(function(){return _ts_generator(this,function(r){switch(r.label){case 0:return e.allowed=!0,e.count=0,e.group=u(),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.queuePush=[]}),e.queue=[],e.round++,[4,L(e)];case 1:return[2,r.sent()]}})})()},Z=function(t){return _async_to_generator(function(){var r,o,a,s,i,u,l,f,d;return _ts_generator(this,function(v){switch(v.label){case 0:return a=n({globalsStatic:{},sessionStatic:{},tagging:0,run:!0},t,{merge:!1,extend:!1}),s={level:null===(r=t.logger)||void 0===r?void 0:r.level,handler:null===(o=t.logger)||void 0===o?void 0:o.handler},i=_(s),u=_object_spread({},a.globalsStatic,t.globals),(l={allowed:!1,config:a,consent:t.consent||{},count:0,custom:t.custom||{},destinations:{},transformers:{},stores:{},globals:u,group:"",hooks:t.hooks||{},logger:i,on:{},queue:[],round:0,session:void 0,status:{startedAt:Date.now(),in:0,out:0,failed:0,sources:{},destinations:{}},timing:Date.now(),user:t.user||{},version:"3.4.1",sources:{},pending:{sources:{},destinations:{}},push:void 0,command:void 0}).push=function(n,t){return m(function(r){var o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _async_to_generator(function(){return _ts_generator(this,function(a){switch(a.label){case 0:return[4,p(function(){return _async_to_generator(function(){var a,s,i,u,l,f,d,_,v,g,p,y,b,m,w,j,k,O,S,x,C;return _ts_generator(this,function(A){switch(A.label){case 0:return a=Date.now(),s=o.id,i=o.ingest,u=o.respond,l=o.mapping,f=o.preChain,d=o.include,_=o.exclude,v=u,g=r,p=d||_?function(e,n,t){var r=e;return n&&(r=Object.fromEntries(Object.entries(r).filter(function(e){var t=_sliced_to_array(e,1)[0];return n.includes(t)}))),t&&(r=Object.fromEntries(Object.entries(r).filter(function(e){var n=_sliced_to_array(e,1)[0];return!t.includes(n)}))),r}(n.destinations,d,_):void 0,y=null!=i?i:e(s||"unknown"),l?[4,h(g,l,n)]:[3,2];case 1:if((b=A.sent()).ignore)return[2,F({ok:!0})];if(l.consent&&!c(l.consent,n.consent,b.event.consent))return[2,F({ok:!0})];g=b.event,A.label=2;case 2:return(null==f?void 0:f.length)&&n.transformers&&Object.keys(n.transformers).length>0?[4,Be(n,n.transformers,f,g,y,v,s?"source.".concat(s,".next"):void 0)]:[3,6];case 3:return null===(m=A.sent()).event?[2,F({ok:!0})]:(m.respond&&(v=m.respond),Array.isArray(m.event)?[4,Promise.all(m.event.map(function(e){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(a){return r=t(e),o=Q(n,r),[2,L(n,o,{id:s,ingest:y,respond:v},p)]})})()}))]:[3,5]);case 4:return j=A.sent(),s&&(n.status.sources[s]||(n.status.sources[s]={count:0,duration:0}),(k=n.status.sources[s]).count+=m.event.length,k.lastAt=Date.now(),k.duration+=Date.now()-a),[2,null!==(w=j[0])&&void 0!==w?w:F({ok:!0})];case 5:g=m.event,A.label=6;case 6:return O=t(g),S=Q(n,O),[4,L(n,S,{id:s,ingest:y,respond:v},p)];case 7:return x=A.sent(),s&&(n.status.sources[s]||(n.status.sources[s]={count:0,duration:0}),(C=n.status.sources[s]).count++,C.lastAt=Date.now(),C.duration+=Date.now()-a),[2,x]}})})()},function(){return F({ok:!1})})()];case 1:return[2,a.sent()]}})})()},"Push",n.hooks,n.logger)}(l,function(e){return _object_spread({timing:Math.round((Date.now()-l.timing)/10)/100,source:{type:"collector",id:"",previous_id:""}},e)}),l.command=function(e,n){return m(function(t,r,o){return _async_to_generator(function(){return _ts_generator(this,function(a){switch(a.label){case 0:return[4,p(function(){return _async_to_generator(function(){return _ts_generator(this,function(a){switch(a.label){case 0:return[4,n(e,t,r,o)];case 1:return[2,a.sent()]}})})()},function(){return F({ok:!1})})()];case 1:return[2,a.sent()]}})})()},"Command",e.hooks,e.logger)}(l,$),f=t.stores||{},[4,function(e){return _async_to_generator(function(e){var n,t,r,o,a,s,i,c,u,l,f,d,_,v,g,p,y,b,h,w,j,k=arguments;return _ts_generator(this,function(O){switch(O.label){case 0:n=k.length>1&&void 0!==k[1]?k[1]:{},t={},r=!0,o=!1,a=void 0,O.label=1;case 1:O.trys.push([1,6,7,8]),s=Object.entries(n)[Symbol.iterator](),O.label=2;case 2:return(r=(i=s.next()).done)?[3,5]:(c=_sliced_to_array(i.value,2),u=c[0],l=c[1],f=l.code,d=l.config,_=void 0===d?{}:d,v=l.env,g=void 0===v?{}:v,p=e.logger.scope("store").scope(u),[4,f({collector:e,logger:p,id:u,config:_,env:g})]);case 3:y=O.sent(),b=y.get,h=y.set,w=y.delete,y.get=m(b,"StoreGet",e.hooks,e.logger),y.set=m(h,"StoreSet",e.hooks,e.logger),y.delete=m(w,"StoreDelete",e.hooks,e.logger),t[u]=y,O.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return j=O.sent(),o=!0,a=j,[3,8];case 7:try{r||null==s.return||s.return()}finally{if(o)throw a}return[7];case 8:return[2,t]}})}).apply(this,arguments)}(l,f)];case 1:return l.stores=v.sent(),function(e,n,t){var r=new Map,o=!0,a=!1,s=void 0;try{for(var i,c=Object.entries(e)[Symbol.iterator]();!(o=(i=c.next()).done);o=!0){var u=_sliced_to_array(i.value,2),l=u[0],f=u[1];n[l]&&r.set(f,n[l])}}catch(e){a=!0,s=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw s}}if(0!==r.size)for(var d=!0,_=!1,v=void 0,g=0,p=[t.transformers,t.destinations,t.sources];g<p.length;g++){var y=p[g];if(y)try{for(var b,h=Object.values(y)[Symbol.iterator]();!(d=(b=h.next()).done);d=!0){m(b.value.env)}}catch(e){_=!0,v=e}finally{try{d||null==h.return||h.return()}finally{if(_)throw v}}}function m(e){if(e){var n=!0,t=!1,o=void 0;try{for(var a,s=Object.entries(e)[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var i=_sliced_to_array(a.value,2),c=i[0],u=i[1];if("object"==(void 0===u?"undefined":_type_of(u))&&null!==u){var l=r.get(u);l&&(e[c]=l)}}}catch(e){t=!0,o=e}finally{try{n||null==s.return||s.return()}finally{if(t)throw o}}}}}(f,l.stores,t),l.stores.__cache||(d=new Map,l.stores.__cache={type:"memory",config:{},get:function(e){var n=d.get(e);if(n){if(!(n.expires&&Date.now()>n.expires))return n.value;d.delete(e)}},set:function(e,n,t){d.set(e,{value:n,expires:t?Date.now()+t:void 0})},delete:function(e){d.delete(e)}}),[4,z(l,t.destinations||{})];case 2:return l.destinations=v.sent(),[4,function(n){return _async_to_generator(function(n){var t,r,o,a,s,i,c,u,l,f,d,_,v,g,p,y,b,h,m,w,j,k,O,S,x=arguments;return _ts_generator(this,function(C){switch(C.label){case 0:t=x.length>1&&void 0!==x[1]?x[1]:{},r={},o=!0,a=!1,s=void 0,C.label=1;case 1:C.trys.push([1,6,7,8]),i=Object.entries(t)[Symbol.iterator](),C.label=2;case 2:return(o=(c=i.next()).done)?[3,5]:(u=_sliced_to_array(c.value,2),l=u[0],f=u[1],d=f.code,_=f.env,v=void 0===_?{}:_,g=E(f,"before"),p=g.config,y=E(_object_spread_props(_object_spread({},f),{config:p}),"next"),b=y.config,h=Object.keys(v).length>0?_object_spread_props(_object_spread({},b),{env:v}):b,m=f.cache,w=m?_object_spread_props(_object_spread({},h),{cache:m}):h,j=n.logger.scope("transformer").scope(l),k={collector:n,logger:j,id:l,ingest:e(l),config:w,env:v},[4,d(k)]);case 3:O=C.sent(),r[l]=O,C.label=4;case 4:return o=!0,[3,2];case 5:return[3,8];case 6:return S=C.sent(),a=!0,s=S,[3,8];case 7:try{o||null==i.return||i.return()}finally{if(a)throw s}return[7];case 8:return[2,r]}})}).apply(this,arguments)}(l,t.transformers||{})];case 3:return[2,(l.transformers=v.sent(),l)]}})})()},ee=function(e){return _async_to_generator(function(){var n,t,r,o,a,s,i,c,u,l,f;return _ts_generator(this,function(d){switch(d.label){case 0:return[4,Z(e=e||{})];case 1:return n=d.sent(),r=n,t={type:"elb",config:{},push:function(e,n,t,o,a,s){return _async_to_generator(function(){var i,c;return _ts_generator(this,function(u){if("string"==typeof e&&e.startsWith("walker "))return i=e.replace("walker ",""),[2,r.command(i,n,t)];if("string"==typeof e)c={name:e},n&&"object"==(void 0===n?"undefined":_type_of(n))&&!Array.isArray(n)&&(c.data=n);else{if(!e||"object"!=(void 0===e?"undefined":_type_of(e)))return[2,F({ok:!1})];c=e,n&&"object"==(void 0===n?"undefined":_type_of(n))&&!Array.isArray(n)&&(c.data=_object_spread({},c.data||{},n))}return[2,(o&&"object"==(void 0===o?"undefined":_type_of(o))&&(c.context=o),a&&Array.isArray(a)&&(c.nested=a),s&&"object"==(void 0===s?"undefined":_type_of(s))&&(c.custom=s),r.push(c))]})})()}},n.sources.elb=t,[4,R(n,e.sources||{})];case 2:return o=d.sent(),Object.assign(n.sources,o),a=e.consent,s=e.user,i=e.globals,c=e.custom,a?[4,n.command("consent",a)]:[3,4];case 3:d.sent(),d.label=4;case 4:return s?[4,n.command("user",s)]:[3,6];case 5:d.sent(),d.label=6;case 6:return i&&Object.assign(n.globals,i),c&&Object.assign(n.custom,c),n.config.run?[4,n.command("run")]:[3,8];case 7:d.sent(),d.label=8;case 8:return u=t.push,l=Object.values(n.sources).filter(function(e){return"elb"!==e.type}),[2,((f=l.find(function(e){return e.config.primary}))?u=f.push:l.length>0&&(u=l[0].push),{collector:n,elb:u})]}})})()},ne=Object.defineProperty,te=Object.getOwnPropertyDescriptor,re=Object.getOwnPropertyNames,oe=Object.prototype.hasOwnProperty,ae=function(e,n){for(var t in n)ne(e,t,{get:n[t],enumerable:!0})},se={};ae(se,{SourceUsercentrics:function(){return ie},createMockElbFn:function(){return we},createTrigger:function(){return Fe},default:function(){return Xe},fullConsent:function(){return ce},fullConsentCustomMapped:function(){return be},fullConsentMapped:function(){return ge},fullConsentUpperCase:function(){return de},implicitConsent:function(){return fe},minimalConsent:function(){return le},minimalConsentMapped:function(){return ye},nonConsentEvent:function(){return ve},noopLogger:function(){return je},partialConsent:function(){return ue},partialConsentMapped:function(){return pe},serviceLevelConsent:function(){return _e},serviceLevelMapped:function(){return he},sourceUsercentrics:function(){return Je},step:function(){return ke},trigger:function(){return Ve}});var ie={},ce={event:"consent_status",type:"explicit",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0},"Google Analytics":!0,"Google Ads Remarketing":!0},ue={event:"consent_status",type:"explicit",action:"onUpdateServices",ucCategory:{essential:!0,functional:!0,marketing:!1},"Google Analytics":!0,"Google Ads Remarketing":!1},le={event:"consent_status",type:"explicit",action:"onDenyAllServices",ucCategory:{essential:!0,functional:!1,marketing:!1},"Google Analytics":!1,"Google Ads Remarketing":!1},fe={event:"consent_status",type:"implicit",ucCategory:{essential:!0,functional:!1,marketing:!1},"Google Analytics":!1,"Google Ads Remarketing":!1},de={event:"consent_status",type:"EXPLICIT",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0}},_e={event:"consent_status",type:"explicit",action:"onUpdateServices",ucCategory:{essential:!0,functional:"partial",marketing:"partial"},"Google Analytics":!0,"Google Ads Remarketing":!1,Hotjar:!0},ve={event:"other_event",type:"explicit"},ge={essential:!0,functional:!0,marketing:!0},pe={essential:!0,functional:!0,marketing:!1},ye={essential:!0,functional:!1,marketing:!1},be={functional:!0,marketing:!0},he={essential:!0,google_analytics:!0,google_ads_remarketing:!1,hotjar:!0},me=function(){},we=function(){return function(){return Promise.resolve({ok:!0})}},je={error:me,warn:me,info:me,debug:me,throw:function(e){throw"string"==typeof e?new Error(e):e},json:me,scope:function(){return je}},ke={};ae(ke,{categoryMapOverride:function(){return xe},customEventName:function(){return Ce},fullConsent:function(){return Oe},minimalConsent:function(){return Se}});var Oe={title:"Full consent",description:"A Usercentrics onAcceptAllServices event emits a walker consent command with essential, functional, and marketing granted.",trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0}},out:[["elb","walker consent",{essential:!0,functional:!0,marketing:!0}]]},Se={title:"Minimal consent",description:"A Usercentrics onDenyAllServices event emits a walker consent command with only essential granted.",trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",action:"onDenyAllServices",ucCategory:{essential:!0,functional:!1,marketing:!1}},out:[["elb","walker consent",{essential:!0,functional:!1,marketing:!1}]]},xe={title:"Category map override",description:"Custom categoryMap remaps essential to functional and functional to analytics",trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",ucCategory:{essential:!0,functional:!0,marketing:!1}},mapping:{categoryMap:{essential:"functional",functional:"analytics"}},out:[["elb","walker consent",{functional:!0,analytics:!0,marketing:!1}]]},Ce={title:"Custom event name",description:"Using UC_SDK_EVENT instead of ucEvent for Usercentrics SDK v2",trigger:{type:"consent",options:{eventName:"UC_SDK_EVENT"}},in:{event:"consent_status",type:"explicit",ucCategory:{essential:!0,functional:!0,marketing:!0}},mapping:{eventName:"UC_SDK_EVENT"},out:[["elb","walker consent",{essential:!0,functional:!0,marketing:!0}]]},Ae=Object.defineProperty;!function(e,n){for(var t in n)Ae(e,t,{get:n[t],enumerable:!0})}({},{Level:function(){return Pe}});var Ee,Pe=((Ee=Pe||{})[Ee.ERROR=0]="ERROR",Ee[Ee.WARN=1]="WARN",Ee[Ee.INFO=2]="INFO",Ee[Ee.DEBUG=3]="DEBUG",Ee),De={merge:!0,shallow:!0,extend:!0};function qe(e){var n=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(n.has(e))return n.get(e);var t=Object.prototype.toString.call(e);if("[object Object]"===t){var r={};for(var o in n.set(e,r),e)Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=qe(e[o],n));return r}if("[object Array]"===t){var a=[];return n.set(e,a),e.forEach(function(e){a.push(qe(e,n))}),a}if("[object Date]"===t)return new Date(e.getTime());if("[object RegExp]"===t){var s=e;return new RegExp(s.source,s.flags)}return e}function Me(e){for(var n=arguments.length>2?arguments[2]:void 0,o=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"").split("."),a=e,s=0;s<o.length;s++){var i=o[s];if("*"===i&&t(a)){var c=o.slice(s+1).join("."),u=[],l=!0,f=!1,d=void 0;try{for(var _,v=a[Symbol.iterator]();!(l=(_=v.next()).done);l=!0){var g=Me(_.value,c,n);u.push(g)}}catch(e){f=!0,d=e}finally{try{l||null==v.return||v.return()}finally{if(f)throw d}}return u}if(void 0===(a=_instanceof(a,Object)?a[i]:void 0))break}return r(a)?a:n}var Ie={data:function(e){return e.data},globals:function(e){return e.globals},context:function(e){return e.context},user:function(e){return e.user},source:function(e){return e.source},version:function(e){return e.version},event:function(e){return{entity:e.entity,action:e.action,id:e.id,timestamp:e.timestamp,name:e.name,trigger:e.trigger,group:e.group,count:e.count,timing:e.timing}}},Re=function(e,n,t,r){var o="".concat(Pe[e]).concat(r.length>0?" [".concat(r.join(":"),"]"):""),a=Object.keys(t).length>0,s=0===e?console.error:1===e?console.warn:console.log;a?s(o,n,t):s(o,n)};function Ne(e){var n=e.level,t=e.handler,r=e.jsonHandler,o=e.scope,a=function(e,r,a){if(e<=n){var s=d(r,a);t?t(e,s.message,s.context,o,Re):Re(e,s.message,s.context,o)}};return{error:function(e,n){return a(0,e,n)},warn:function(e,n){return a(1,e,n)},info:function(e,n){return a(2,e,n)},debug:function(e,n){return a(3,e,n)},throw:function(e,n){var r=d(e,n);throw t?t(0,r.message,r.context,o,Re):Re(0,r.message,r.context,o),new Error(r.message)},json:function(e){r?r(e):console.log(JSON.stringify(e,null,2))},scope:function(e){return Ne({level:n,handler:t,jsonHandler:r,scope:_to_consumable_array(o).concat([e])})}}}function Te(e){return function(e){return"boolean"==typeof e}(e)||s(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!r(e)||t(e)&&e.every(Te)||a(e)&&Object.values(e).every(Te)}function Ge(e,n){return _async_to_generator(function(e,n){var o,a,i,u=arguments;return _ts_generator(this,function(l){return a=(o=u.length>2&&void 0!==u[2]?u[2]:{}).collector,i=o.consent,[2,(t(n)?n:[n]).reduce(function(n,u){return _async_to_generator(function(){var l,f,d,_,g,y,h,m,w,j,k,O,S,x,C,A,E,P,D,q,M;return _ts_generator(this,function(I){switch(I.label){case 0:return[4,n];case 1:return(l=I.sent())?[2,l]:(f=s(u)?{key:u}:u,Object.keys(f).length?(d=f.condition,_=f.consent,g=f.fn,y=f.key,h=f.loop,m=f.map,w=f.set,j=f.validate,k=f.value,(O=d)?[4,p(d)(e,u,a)]:[3,3]):[2]);case 2:O=!I.sent(),I.label=3;case 3:return O?[2]:_&&!c(_,i)?[2,k]:(S=r(k)?k:e,g?[4,p(g)(e,u,o)]:[3,5]);case 4:S=I.sent(),I.label=5;case 5:return y&&(S=Me(e,y,k)),h?(x=_sliced_to_array(h,2),C=x[0],A=x[1],"this"!==C?[3,6]:(P=[e],[3,8])):[3,11];case 6:return[4,b(e,C,o)];case 7:P=I.sent(),I.label=8;case 8:return t(E=P)?[4,Promise.all(E.map(function(e){return b(e,A,o)}))]:[3,10];case 9:S=I.sent().filter(r),I.label=10;case 10:return[3,17];case 11:return m?[4,Object.entries(m).reduce(function(n,t){var a=_sliced_to_array(t,2),s=a[0],i=a[1];return _async_to_generator(function(){var t,a;return _ts_generator(this,function(c){switch(c.label){case 0:return[4,n];case 1:return t=c.sent(),[4,b(e,i,o)];case 2:return a=c.sent(),[2,(r(a)&&(t[s]=a),t)]}})})()},Promise.resolve({}))]:[3,13];case 12:return S=I.sent(),[3,16];case 13:return(D=w)?[4,Promise.all(w.map(function(n){return Ge(e,n,o)}))]:[3,15];case 14:D=S=I.sent(),I.label=15;case 15:I.label=16;case 16:I.label=17;case 17:return(q=j)?[4,p(j)(S)]:[3,19];case 18:q=!I.sent(),I.label=19;case 19:return q&&(S=void 0),M=v(S),[2,r(M)?M:v(k)]}})})()},Promise.resolve(void 0))]})}).apply(this,arguments)}function Ue(e){if("*"===e)return function(){return!0};if("and"in e){var n=e.and.map(Ue);return function(e){return n.every(function(n){return n(e)})}}if("or"in e){var t=e.or.map(Ue);return function(e){return t.some(function(n){return n(e)})}}return function(e){var n=e.key,t=e.operator,r=e.value,o=e.not,a=function(e,n){switch(e){case"eq":return function(e){return String(null!=e?e:"")===n};case"contains":return function(e){return String(null!=e?e:"").includes(n)};case"prefix":return function(e){return String(null!=e?e:"").startsWith(n)};case"suffix":return function(e){return String(null!=e?e:"").endsWith(n)};case"regex":var t=new RegExp(n);return function(e){return t.test(String(null!=e?e:""))};case"gt":var r=Number(n);return function(e){return Number(e)>r};case"lt":var o=Number(n);return function(e){return Number(e)<o};case"exists":return function(e){return null!=e}}}(t,r);return function(e){var t=Me(e,n),r=a(t);return o?!r:r}}(e)}function He(e){if(null!=e){if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;return w(e)?{type:"routes",routes:e.map(function(e){return{match:Ue(e.match),next:He(e.next)}})}:{type:"chain",value:e}}}}function Ke(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e){if("static"===e.type)return e.value;if("chain"===e.type)return e.value;var t=!0,r=!1,o=void 0;try{for(var a,s=e.routes[Symbol.iterator]();!(t=(a=s.next()).done);t=!0){var i=a.value;if(i.match(n))return Ke(i.next,n)}}catch(e){r=!0,o=e}finally{try{t||null==s.return||s.return()}finally{if(r)throw o}}}}var Le={Commands:{Action:"action",Actions:"actions",Config:"config",Consent:"consent",Context:"context",Custom:"custom",Destination:"destination",Elb:"elb",Globals:"globals",Hook:"hook",Init:"init",Link:"link",On:"on",Prefix:"data-elb",Ready:"ready",Run:"run",Session:"session",Shutdown:"shutdown",User:"user",Walker:"walker"},Utils:{Storage:{Cookie:"cookie",Local:"local",Session:"session"}}};function Be(n,t,r,o,a,s,i){return _async_to_generator(function(){var c,u,l,f,d,_,v,g,y,b;return _ts_generator(this,function(h){switch(h.label){case 0:i&&(null==a?void 0:a._meta)&&(a._meta.chainPath=i),c=o,u=s,l=!0,f=!1,d=void 0,h.label=1;case 1:h.trys.push([1,6,7,8]),_=function(){var o,s,l,f,d,_,v,y,b,h,m,x,E,M,I,R,N,T,G,U,H,K,L,B,W,F,V,z,J,X,$,Q,Y,Z,ee,ne,te,re,oe,ae,se;return _ts_generator(this,function(ie){switch(ie.label){case 0:return o=g.value,(v=t[o])?a&&a._meta&&a._meta.path.length>256?[2,{v:(n.logger.error("Max path length exceeded at ".concat(o)),{event:null,respond:u})}]:(a&&a._meta&&(a._meta.hops++,a._meta.path.push(o)),[4,p(D)(n,v,o)]):(n.logger.warn("Transformer not found: ".concat(o)),[2,"continue"]);case 1:if(!ie.sent())return[2,{v:(n.logger.error("Transformer init failed: ".concat(o)),{event:null,respond:u})}];if(i&&void 0!==(null===(l=v.config)||void 0===l||null===(s=l.chainMocks)||void 0===s?void 0:s[i]))return y=v.config.chainMocks[i],n.logger.scope("transformer:".concat(v.type||"unknown")).debug("chainMock",{chain:i}),c=y,[2,"continue"];if(void 0!==(null===(f=v.config)||void 0===f?void 0:f.mock))return n.logger.scope("transformer:".concat(v.type||"unknown")).debug("mock"),c=v.config.mock,[2,"continue"];if(null===(d=v.config)||void 0===d?void 0:d.disabled)return[2,"continue"];if(b=null===(_=v.config)||void 0===_?void 0:_.cache,h=b?k(b):void 0,m=h?C(h,n):void 0,x=void 0,h&&m){if(E=j(a,c),"HIT"===(null==(M=O(h,m,E,"t:".concat(o)))?void 0:M.status)&&M.value)return c=M.value,h.full?[2,{v:{event:c,respond:u}}]:[2,"continue"];"MISS"===(null==M?void 0:M.status)&&(x={key:M.key,ttl:M.rule.ttl})}return(I=v.config.before)&&(R=P("string"==typeof I||Array.isArray(I)&&!w(I)?I:Ke(He(I),j(a,c))||void 0,A(t))).length>0?[4,Be(n,t,R,c,a,u,i)]:[3,3];case 2:if(null===(T=ie.sent()).event)return[2,{v:{event:null,respond:null!==(N=T.respond)&&void 0!==N?N:u}}];T.respond&&(u=T.respond),c=Array.isArray(T.event)?T.event[0]:T.event,ie.label=3;case 3:return[4,p(q,function(e){return n.logger.scope("transformer:".concat(v.type||"unknown")).error("Push failed",{error:e}),!1})(n,v,o,c,a,u)];case 4:return!1===(G=ie.sent())?[2,{v:{event:null,respond:u}}]:Array.isArray(G)?(U=r.slice(r.indexOf(o)+1),[4,Promise.all(G.map(function(r){return _async_to_generator(function(){var o,s,l,f,d;return _ts_generator(this,function(_){return o=r.event||c,s=a?_object_spread_props(_object_spread({},a),{_meta:_object_spread_props(_object_spread({},a._meta),{path:_to_consumable_array(a._meta.path)})}):e("unknown"),r.next?(l=r.next,w(r.next)&&(f=He(r.next),l=Ke(f,j(s,o))),l&&(d=P(l,A(t))).length>0?[2,Be(n,t,d,o,s,u,i)]:[2,{event:o,respond:u}]):[2,U.length>0?Be(n,t,U,o,s,u,i):{event:o,respond:u}]})})()}))]):[3,6];case 5:H=ie.sent(),K=u,L=[],B=!0,W=!1,F=void 0;try{for(V=H.flat()[Symbol.iterator]();!(B=(z=V.next()).done);B=!0)if(null!==(J=z.value))if(J&&"object"==(void 0===J?"undefined":_type_of(J))&&"event"in J){if(($=J).respond&&(K=$.respond),null===$.event)continue;Array.isArray($.event)?(X=L).push.apply(X,_to_consumable_array($.event)):L.push($.event)}else L.push(J)}catch(e){W=!0,F=e}finally{try{B||null==V.return||V.return()}finally{if(W)throw F}}return[2,{v:0===L.length?{event:null,respond:K}:1===L.length?{event:L[0],respond:K}:{event:L,respond:K}}];case 6:if(G&&"object"==(void 0===G?"undefined":_type_of(G))){if(Q=G.event,Y=G.respond,Z=G.next,Y&&(u=Y),Z)return ee=Z,!w(Z)||(ne=He(Z),ee=Ke(ne,j(a,c)))?[2,{v:(te=P(ee,A(t))).length>0?Be(n,t,te,Q||c,a,u,i):(n.logger.warn("Branch target not found: ".concat(JSON.stringify(Z))),{event:null,respond:u})}]:(Q&&(c=Q),[2,"continue"]);Q&&(c=Q)}return x&&m&&S(m,x.key,c,x.ttl),(!G||"object"==(void 0===G?"undefined":_type_of(G))&&!G.next)&&v.config.next&&w(v.config.next)?(re=v.config.next,oe=He(re),(ae=Ke(oe,j(a,c)))&&(se=P(ae,A(t))).length>0?[2,{v:Be(n,t,se,c,a,u,i)}]:[2,{v:{event:c,respond:u}}]):[2]}})},v=r[Symbol.iterator](),h.label=2;case 2:return(l=(g=v.next()).done)?[3,5]:[5,_ts_values(_())];case 3:if("object"===_type_of(y=h.sent()))return[2,y.v];h.label=4;case 4:return l=!0,[3,2];case 5:return[3,8];case 6:return b=h.sent(),f=!0,d=b,[3,8];case 7:try{l||null==v.return||v.return()}finally{if(f)throw d}return[7];case 8:return[2,{event:c,respond:u}]}})})()}var We,Fe=function(e){return _async_to_generator(function(){var n,t;return _ts_generator(this,function(r){return t=function(t,r){return function(t){return _async_to_generator(function(){var o,a,s;return _ts_generator(this,function(i){switch(i.label){case 0:return n?[3,2]:[4,ee(_object_spread_props(_object_spread({},e),{run:null===(o=e.run)||void 0===o||o}))];case 1:a=i.sent(),n={collector:a.collector,elb:a.elb},i.label=2;case 2:return s=(null==r?void 0:r.eventName)||"ucEvent",window.dispatchEvent(new CustomEvent(s,{detail:t})),[2]}})})()}},[2,{get flow(){return n},trigger:t}]})})()},Ve=function(e,n){if(e&&"object"===(void 0===e?"undefined":_type_of(e)))return function(){n.window.dispatchEvent(new CustomEvent("ucEvent",{detail:e}))}},ze=["action","event","type","ucCategory"],Je=function(e){return _async_to_generator(function(){var n,t,r,o,a,s,i,c,u,l,f,d,_,v,g,p,y,b,h;return _ts_generator(this,function(m){return c=e.config,u=e.env,l=u.elb,f=null!==(n=u.window)&&void 0!==n?n:void 0!==globalThis.window?globalThis.window:void 0,d={eventName:null!==(t=null==c||null===(a=c.settings)||void 0===a?void 0:a.eventName)&&void 0!==t?t:"ucEvent",categoryMap:null!==(r=null==c||null===(s=c.settings)||void 0===s?void 0:s.categoryMap)&&void 0!==r?r:{},explicitOnly:null===(o=null==c||null===(i=c.settings)||void 0===i?void 0:i.explicitOnly)||void 0===o||o},_={settings:d},f&&(p=function(e){return Object.values(e).every(function(e){return"boolean"==typeof e})},y=function(e){var n={};return e.ucCategory&&p(e.ucCategory)?Object.entries(e.ucCategory).forEach(function(e){var t,r,o=_sliced_to_array(e,2),a=o[0],s=o[1];if("boolean"==typeof s){var i=null!==(t=null===(r=d.categoryMap)||void 0===r?void 0:r[a])&&void 0!==t?t:a;n[i]=n[i]||s}}):(e.ucCategory&&Object.entries(e.ucCategory).forEach(function(e){var t=_sliced_to_array(e,2),r=t[0],o=t[1];if("boolean"==typeof o){var a,s,i=null!==(a=null===(s=d.categoryMap)||void 0===s?void 0:s[r])&&void 0!==a?a:r;n[i]=n[i]||o}}),Object.entries(e).forEach(function(e){var t=_sliced_to_array(e,2),r=t[0],o=t[1];if(!ze.includes(r)&&"boolean"==typeof o){var a=r.toLowerCase().replace(/ /g,"_");n[a]=o}})),n},b=function(e){var n;if("consent_status"===e.event&&(!d.explicitOnly||"explicit"===(null===(n=e.type)||void 0===n?void 0:n.toLowerCase()))){var t=y(e);Object.keys(t).length>0&&l("walker consent",t)}},h=null!==(g=d.eventName)&&void 0!==g?g:"ucEvent",v=function(e){var n=e;n.detail&&b(n.detail)},f.addEventListener(h,v)),[2,{type:"usercentrics",config:_,push:l,destroy:function(e){return _async_to_generator(function(){var e,n;return _ts_generator(this,function(t){return f&&v&&(n=null!==(e=d.eventName)&&void 0!==e?e:"ucEvent",f.removeEventListener(n,v)),[2]})})()}}]})})()},Xe=Je;return We=se,function(e,n,t,r){if(n&&"object"===(void 0===n?"undefined":_type_of(n))||"function"==typeof n){var o=!0,a=!1,s=void 0;try{for(var i,c=function(){var o=i.value;oe.call(e,o)||o===t||ne(e,o,{get:function(){return n[o]},enumerable:!(r=te(n,o))||r.enumerable})},u=re(n)[Symbol.iterator]();!(o=(i=u.next()).done);o=!0)c()}catch(e){a=!0,s=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw s}}}return e}(ne({},"__esModule",{value:!0}),We)}();
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,i=(e,n)=>{for(var o in n)t(e,o,{get:n[o],enumerable:!0})},l={};i(l,{SourceUsercentrics:()=>s,createMockElbFn:()=>b,createTrigger:()=>M,default:()=>U,fullConsent:()=>r,fullConsentCustomMapped:()=>C,fullConsentMapped:()=>f,fullConsentUpperCase:()=>p,implicitConsent:()=>g,minimalConsent:()=>u,minimalConsentMapped:()=>d,nonConsentEvent:()=>y,noopLogger:()=>E,partialConsent:()=>c,partialConsentMapped:()=>m,serviceLevelConsent:()=>v,serviceLevelMapped:()=>k,sourceUsercentrics:()=>G,step:()=>_,trigger:()=>N}),module.exports=(e=l,((e,i,l,s)=>{if(i&&"object"==typeof i||"function"==typeof i)for(let r of o(i))a.call(e,r)||r===l||t(e,r,{get:()=>i[r],enumerable:!(s=n(i,r))||s.enumerable});return e})(t({},"__esModule",{value:!0}),e));var s={},r={event:"consent_status",type:"explicit",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0},"Google Analytics":!0,"Google Ads Remarketing":!0},c={event:"consent_status",type:"explicit",action:"onUpdateServices",ucCategory:{essential:!0,functional:!0,marketing:!1},"Google Analytics":!0,"Google Ads Remarketing":!1},u={event:"consent_status",type:"explicit",action:"onDenyAllServices",ucCategory:{essential:!0,functional:!1,marketing:!1},"Google Analytics":!1,"Google Ads Remarketing":!1},g={event:"consent_status",type:"implicit",ucCategory:{essential:!0,functional:!1,marketing:!1},"Google Analytics":!1,"Google Ads Remarketing":!1},p={event:"consent_status",type:"EXPLICIT",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0}},v={event:"consent_status",type:"explicit",action:"onUpdateServices",ucCategory:{essential:!0,functional:"partial",marketing:"partial"},"Google Analytics":!0,"Google Ads Remarketing":!1,Hotjar:!0},y={event:"other_event",type:"explicit"},f={essential:!0,functional:!0,marketing:!0},m={essential:!0,functional:!0,marketing:!1},d={essential:!0,functional:!1,marketing:!1},C={functional:!0,marketing:!0},k={essential:!0,google_analytics:!0,google_ads_remarketing:!1,hotjar:!0},w=()=>{},b=()=>()=>Promise.resolve({ok:!0}),E={error:w,warn:w,info:w,debug:w,throw:e=>{throw"string"==typeof e?new Error(e):e},json:w,scope:()=>E},_={};i(_,{categoryMapOverride:()=>h,customEventName:()=>j,fullConsent:()=>A,minimalConsent:()=>O});var A={trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0}},out:[["elb","walker consent",{essential:!0,functional:!0,marketing:!0}]]},O={trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",action:"onDenyAllServices",ucCategory:{essential:!0,functional:!1,marketing:!1}},out:[["elb","walker consent",{essential:!0,functional:!1,marketing:!1}]]},h={description:"Custom categoryMap remaps essential to functional and functional to analytics",trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",ucCategory:{essential:!0,functional:!0,marketing:!1}},mapping:{categoryMap:{essential:"functional",functional:"analytics"}},out:[["elb","walker consent",{functional:!0,analytics:!0,marketing:!1}]]},j={description:"Using UC_SDK_EVENT instead of ucEvent for Usercentrics SDK v2",trigger:{type:"consent",options:{eventName:"UC_SDK_EVENT"}},in:{event:"consent_status",type:"explicit",ucCategory:{essential:!0,functional:!0,marketing:!0}},mapping:{eventName:"UC_SDK_EVENT"},out:[["elb","walker consent",{essential:!0,functional:!0,marketing:!0}]]},x=require("@walkeros/collector"),M=async e=>{let t;return{get flow(){return t},trigger:(n,o)=>async n=>{var a;if(!t){const n=await(0,x.startFlow)({...e,run:null==(a=e.run)||a});t={collector:n.collector,elb:n.elb}}const i=(null==o?void 0:o.eventName)||"ucEvent";window.dispatchEvent(new CustomEvent(i,{detail:n}))}}},N=(e,t)=>{if(e&&"object"==typeof e)return()=>{t.window.dispatchEvent(new CustomEvent("ucEvent",{detail:e}))}},S=["action","event","type","ucCategory"],G=async e=>{var t,n,o,a,i,l,s,r;const{config:c,env:u}=e,{elb:g}=u,p=null!=(t=u.window)?t:void 0!==globalThis.window?globalThis.window:void 0,v={eventName:null!=(o=null==(n=null==c?void 0:c.settings)?void 0:n.eventName)?o:"ucEvent",categoryMap:null!=(i=null==(a=null==c?void 0:c.settings)?void 0:a.categoryMap)?i:{},explicitOnly:null==(s=null==(l=null==c?void 0:c.settings)?void 0:l.explicitOnly)||s},y={settings:v};let f;if(p){const e=e=>Object.values(e).every(e=>"boolean"==typeof e),t=t=>{const n={};return t.ucCategory&&e(t.ucCategory)?Object.entries(t.ucCategory).forEach(([e,t])=>{var o,a;if("boolean"!=typeof t)return;const i=null!=(a=null==(o=v.categoryMap)?void 0:o[e])?a:e;n[i]=n[i]||t}):(t.ucCategory&&Object.entries(t.ucCategory).forEach(([e,t])=>{var o,a;if("boolean"==typeof t){const i=null!=(a=null==(o=v.categoryMap)?void 0:o[e])?a:e;n[i]=n[i]||t}}),Object.entries(t).forEach(([e,t])=>{if(S.includes(e))return;if("boolean"!=typeof t)return;const o=e.toLowerCase().replace(/ /g,"_");n[o]=t})),n},n=e=>{var n;if("consent_status"!==e.event)return;if(v.explicitOnly&&"explicit"!==(null==(n=e.type)?void 0:n.toLowerCase()))return;const o=t(e);Object.keys(o).length>0&&g("walker consent",o)},o=null!=(r=v.eventName)?r:"ucEvent";f=e=>{const t=e;t.detail&&n(t.detail)},p.addEventListener(o,f)}return{type:"usercentrics",config:y,push:g,destroy:async e=>{var t;if(p&&f){const e=null!=(t=v.eventName)?t:"ucEvent";p.removeEventListener(e,f)}}}},U=G;//# sourceMappingURL=index.js.map
1
+ "use strict";var e,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,o=Object.getOwnPropertyNames,i=Object.prototype.hasOwnProperty,a=(e,n)=>{for(var o in n)t(e,o,{get:n[o],enumerable:!0})},l={};a(l,{SourceUsercentrics:()=>s,createMockElbFn:()=>b,createTrigger:()=>x,default:()=>G,fullConsent:()=>r,fullConsentCustomMapped:()=>C,fullConsentMapped:()=>m,fullConsentUpperCase:()=>p,implicitConsent:()=>g,minimalConsent:()=>u,minimalConsentMapped:()=>d,nonConsentEvent:()=>y,noopLogger:()=>E,partialConsent:()=>c,partialConsentMapped:()=>f,serviceLevelConsent:()=>v,serviceLevelMapped:()=>k,sourceUsercentrics:()=>U,step:()=>_,trigger:()=>S}),module.exports=(e=l,((e,a,l,s)=>{if(a&&"object"==typeof a||"function"==typeof a)for(let r of o(a))i.call(e,r)||r===l||t(e,r,{get:()=>a[r],enumerable:!(s=n(a,r))||s.enumerable});return e})(t({},"__esModule",{value:!0}),e));var s={},r={event:"consent_status",type:"explicit",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0},"Google Analytics":!0,"Google Ads Remarketing":!0},c={event:"consent_status",type:"explicit",action:"onUpdateServices",ucCategory:{essential:!0,functional:!0,marketing:!1},"Google Analytics":!0,"Google Ads Remarketing":!1},u={event:"consent_status",type:"explicit",action:"onDenyAllServices",ucCategory:{essential:!0,functional:!1,marketing:!1},"Google Analytics":!1,"Google Ads Remarketing":!1},g={event:"consent_status",type:"implicit",ucCategory:{essential:!0,functional:!1,marketing:!1},"Google Analytics":!1,"Google Ads Remarketing":!1},p={event:"consent_status",type:"EXPLICIT",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0}},v={event:"consent_status",type:"explicit",action:"onUpdateServices",ucCategory:{essential:!0,functional:"partial",marketing:"partial"},"Google Analytics":!0,"Google Ads Remarketing":!1,Hotjar:!0},y={event:"other_event",type:"explicit"},m={essential:!0,functional:!0,marketing:!0},f={essential:!0,functional:!0,marketing:!1},d={essential:!0,functional:!1,marketing:!1},C={functional:!0,marketing:!0},k={essential:!0,google_analytics:!0,google_ads_remarketing:!1,hotjar:!0},w=()=>{},b=()=>()=>Promise.resolve({ok:!0}),E={error:w,warn:w,info:w,debug:w,throw:e=>{throw"string"==typeof e?new Error(e):e},json:w,scope:()=>E},_={};a(_,{categoryMapOverride:()=>O,customEventName:()=>M,fullConsent:()=>A,minimalConsent:()=>h});var A={title:"Full consent",description:"A Usercentrics onAcceptAllServices event emits a walker consent command with essential, functional, and marketing granted.",trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0}},out:[["elb","walker consent",{essential:!0,functional:!0,marketing:!0}]]},h={title:"Minimal consent",description:"A Usercentrics onDenyAllServices event emits a walker consent command with only essential granted.",trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",action:"onDenyAllServices",ucCategory:{essential:!0,functional:!1,marketing:!1}},out:[["elb","walker consent",{essential:!0,functional:!1,marketing:!1}]]},O={title:"Category map override",description:"Custom categoryMap remaps essential to functional and functional to analytics",trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",ucCategory:{essential:!0,functional:!0,marketing:!1}},mapping:{categoryMap:{essential:"functional",functional:"analytics"}},out:[["elb","walker consent",{functional:!0,analytics:!0,marketing:!1}]]},M={title:"Custom event name",description:"Using UC_SDK_EVENT instead of ucEvent for Usercentrics SDK v2",trigger:{type:"consent",options:{eventName:"UC_SDK_EVENT"}},in:{event:"consent_status",type:"explicit",ucCategory:{essential:!0,functional:!0,marketing:!0}},mapping:{eventName:"UC_SDK_EVENT"},out:[["elb","walker consent",{essential:!0,functional:!0,marketing:!0}]]},j=require("@walkeros/collector"),x=async e=>{let t;return{get flow(){return t},trigger:(n,o)=>async n=>{var i;if(!t){const n=await(0,j.startFlow)({...e,run:null==(i=e.run)||i});t={collector:n.collector,elb:n.elb}}const a=(null==o?void 0:o.eventName)||"ucEvent";window.dispatchEvent(new CustomEvent(a,{detail:n}))}}},S=(e,t)=>{if(e&&"object"==typeof e)return()=>{t.window.dispatchEvent(new CustomEvent("ucEvent",{detail:e}))}},N=["action","event","type","ucCategory"],U=async e=>{var t,n,o,i,a,l,s,r;const{config:c,env:u}=e,{elb:g}=u,p=null!=(t=u.window)?t:void 0!==globalThis.window?globalThis.window:void 0,v={eventName:null!=(o=null==(n=null==c?void 0:c.settings)?void 0:n.eventName)?o:"ucEvent",categoryMap:null!=(a=null==(i=null==c?void 0:c.settings)?void 0:i.categoryMap)?a:{},explicitOnly:null==(s=null==(l=null==c?void 0:c.settings)?void 0:l.explicitOnly)||s},y={settings:v};let m;if(p){const e=e=>Object.values(e).every(e=>"boolean"==typeof e),t=t=>{const n={};return t.ucCategory&&e(t.ucCategory)?Object.entries(t.ucCategory).forEach(([e,t])=>{var o,i;if("boolean"!=typeof t)return;const a=null!=(i=null==(o=v.categoryMap)?void 0:o[e])?i:e;n[a]=n[a]||t}):(t.ucCategory&&Object.entries(t.ucCategory).forEach(([e,t])=>{var o,i;if("boolean"==typeof t){const a=null!=(i=null==(o=v.categoryMap)?void 0:o[e])?i:e;n[a]=n[a]||t}}),Object.entries(t).forEach(([e,t])=>{if(N.includes(e))return;if("boolean"!=typeof t)return;const o=e.toLowerCase().replace(/ /g,"_");n[o]=t})),n},n=e=>{var n;if("consent_status"!==e.event)return;if(v.explicitOnly&&"explicit"!==(null==(n=e.type)?void 0:n.toLowerCase()))return;const o=t(e);Object.keys(o).length>0&&g("walker consent",o)},o=null!=(r=v.eventName)?r:"ucEvent";m=e=>{const t=e;t.detail&&n(t.detail)},p.addEventListener(o,m)}return{type:"usercentrics",config:y,push:g,destroy:async e=>{var t;if(p&&m){const e=null!=(t=v.eventName)?t:"ucEvent";p.removeEventListener(e,m)}}}},G=U;//# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/types/index.ts","../src/examples/inputs.ts","../src/examples/outputs.ts","../src/examples/env.ts","../src/examples/step.ts","../src/examples/trigger.ts"],"sourcesContent":["import type { Source, WalkerOS } from '@walkeros/core';\nimport type { Types, Settings, UsercentricsEventDetail } from './types';\n\n// Export types for external usage\nexport * as SourceUsercentrics from './types';\n\n// Export examples\nexport * from './examples';\n\n/** Reserved keys in event.detail that are not service names */\nconst RESERVED_KEYS = ['action', 'event', 'type', 'ucCategory'];\n\n/**\n * Usercentrics consent management source for walkerOS.\n *\n * This source listens to Usercentrics CMP events and translates\n * consent states to walkerOS consent commands.\n *\n * @example\n * ```typescript\n * import { sourceUsercentrics } from '@walkeros/web-source-cmp-usercentrics';\n *\n * await startFlow({\n * sources: {\n * consent: {\n * code: sourceUsercentrics,\n * config: {\n * settings: {\n * eventName: 'ucEvent',\n * categoryMap: {\n * essential: 'functional',\n * functional: 'functional',\n * marketing: 'marketing',\n * },\n * },\n * },\n * },\n * },\n * });\n * ```\n */\nexport const sourceUsercentrics: Source.Init<Types> = async (context) => {\n const { config, env } = context;\n const { elb } = env;\n\n // Resolve window with fallback to globalThis\n const actualWindow =\n env.window ??\n (typeof globalThis.window !== 'undefined' ? globalThis.window : undefined);\n\n // Merge user settings with defaults\n const settings: Settings = {\n eventName: config?.settings?.eventName ?? 'ucEvent',\n categoryMap: config?.settings?.categoryMap ?? {},\n explicitOnly: config?.settings?.explicitOnly ?? true,\n };\n\n const fullConfig: Source.Config<Types> = { settings };\n\n // Track listener reference for cleanup\n let consentListener: ((e: Event) => void) | undefined;\n\n // Only setup if in browser environment\n if (actualWindow) {\n /**\n * Determine if ucCategory represents group-level consent.\n * Group-level: all values are booleans.\n * Service-level: some values are non-boolean (e.g., 'partial').\n */\n const isGroupLevel = (\n ucCategory: Record<string, boolean | unknown>,\n ): boolean => {\n return Object.values(ucCategory).every((val) => typeof val === 'boolean');\n };\n\n /**\n * Parse consent from Usercentrics event detail.\n *\n * Two modes:\n * 1. Group-level: ucCategory has all booleans -> use ucCategory as consent\n * 2. Service-level: ucCategory has non-booleans -> extract individual\n * service keys from event.detail + boolean entries from ucCategory\n *\n * categoryMap is applied in both modes for ucCategory boolean entries.\n */\n const parseConsent = (\n detail: UsercentricsEventDetail,\n ): WalkerOS.Consent => {\n const state: WalkerOS.Consent = {};\n\n if (detail.ucCategory && isGroupLevel(detail.ucCategory)) {\n // Group-level consent: use ucCategory values\n Object.entries(detail.ucCategory).forEach(([category, value]) => {\n if (typeof value !== 'boolean') return;\n const mapped = settings.categoryMap?.[category] ?? category;\n // OR logic: if ANY source category is true, target group is true\n state[mapped] = state[mapped] || value;\n });\n } else {\n // Service-level consent: extract individual services\n // Include boolean entries from ucCategory (with categoryMap applied)\n if (detail.ucCategory) {\n Object.entries(detail.ucCategory).forEach(([key, value]) => {\n if (typeof value === 'boolean') {\n const mapped = settings.categoryMap?.[key] ?? key;\n state[mapped] = state[mapped] || value;\n }\n });\n }\n\n // Extract service keys (not reserved keys)\n Object.entries(detail).forEach(([key, value]) => {\n if (RESERVED_KEYS.includes(key)) return;\n if (typeof value !== 'boolean') return;\n // Normalize: lowercase, spaces to underscores\n const normalized = key.toLowerCase().replace(/ /g, '_');\n state[normalized] = value;\n });\n }\n\n return state;\n };\n\n /**\n * Handle a Usercentrics consent event.\n */\n const handleConsent = (detail: UsercentricsEventDetail) => {\n // Only process consent_status events\n if (detail.event !== 'consent_status') return;\n\n // Skip implicit consent if explicitOnly is true\n // Use case-insensitive comparison (Usercentrics docs show both 'explicit' and 'EXPLICIT')\n if (settings.explicitOnly && detail.type?.toLowerCase() !== 'explicit')\n return;\n\n const state = parseConsent(detail);\n\n // Only call if we have consent state to report\n if (Object.keys(state).length > 0) {\n elb('walker consent', state);\n }\n };\n\n // Listen for Usercentrics consent events\n const eventName = settings.eventName ?? 'ucEvent';\n consentListener = (e: Event) => {\n const customEvent = e as CustomEvent<UsercentricsEventDetail>;\n if (customEvent.detail) {\n handleConsent(customEvent.detail);\n }\n };\n actualWindow.addEventListener(eventName, consentListener);\n }\n\n return {\n type: 'usercentrics',\n config: fullConfig,\n push: elb,\n destroy: async (_context) => {\n if (actualWindow && consentListener) {\n const eventName = settings.eventName ?? 'ucEvent';\n actualWindow.removeEventListener(eventName, consentListener);\n }\n },\n };\n};\n\nexport default sourceUsercentrics;\n","import type { Source, Elb } from '@walkeros/core';\n\n/**\n * Usercentrics consent event detail structure.\n *\n * Fired as event.detail on the configured window event (e.g. 'ucEvent').\n * Contains both category-level (ucCategory) and service-level consent.\n */\nexport interface UsercentricsEventDetail {\n /** Always 'consent_status' for consent events */\n event: string;\n /** 'explicit' when user actively chose, 'implicit' for page-load defaults (casing may vary) */\n type: string;\n /** Action taken: 'onAcceptAllServices', 'onDenyAllServices', 'onUpdateServices' */\n action?: string;\n /** Category-level consent booleans (e.g. { marketing: true, functional: false }) */\n ucCategory?: Record<string, boolean | unknown>;\n /** Service-level consent as top-level keys (e.g. 'Google Analytics': true) */\n [service: string]: unknown;\n}\n\ndeclare global {\n interface WindowEventMap {\n ucEvent: CustomEvent<UsercentricsEventDetail>;\n }\n}\n\n/**\n * Settings for Usercentrics source\n */\nexport interface Settings {\n /**\n * Window event name to listen for.\n * Configured in Usercentrics admin under Implementation > Data Layer & Events.\n * Can also be set to 'UC_SDK_EVENT' for the built-in Browser SDK event.\n *\n * Default: 'ucEvent'\n */\n eventName?: string;\n\n /**\n * Map Usercentrics categories to walkerOS consent groups.\n * Keys: Usercentrics category names (from ucCategory)\n * Values: walkerOS consent group names\n *\n * Applied in both group-level and service-level consent modes.\n * When multiple source categories map to the same group, OR logic applies:\n * if ANY source category is true, the target group is true.\n *\n * Default: {} (pass through category names as-is)\n */\n categoryMap?: Record<string, string>;\n\n /**\n * Only process explicit consent (user made a choice).\n * When true: Ignores events where type !== 'explicit'\n * When false: Processes any consent_status event including implicit/defaults\n *\n * Default: true\n */\n explicitOnly?: boolean;\n}\n\n/**\n * User input settings (all optional)\n */\nexport type InitSettings = Partial<Settings>;\n\n/**\n * No mapping configuration for this source\n */\nexport interface Mapping {}\n\n/**\n * Push function type - uses elb for consent commands\n */\nexport type Push = Elb.Fn;\n\n/**\n * Environment interface for Usercentrics source\n */\nexport interface Env extends Source.BaseEnv {\n window?: Window & typeof globalThis;\n}\n\n/**\n * Types bundle for Usercentrics source\n */\nexport type Types = Source.Types<Settings, Mapping, Push, Env, InitSettings>;\n\n/**\n * Config type alias\n */\nexport type Config = Source.Config<Types>;\n","import type { UsercentricsEventDetail } from '../types';\n\n/**\n * Example Usercentrics consent event detail inputs.\n *\n * These represent real event.detail payloads from Usercentrics CMP.\n */\n\n/**\n * Full consent - user accepted all categories (explicit)\n */\nexport const fullConsent: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'explicit',\n action: 'onAcceptAllServices',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: true,\n },\n 'Google Analytics': true,\n 'Google Ads Remarketing': true,\n};\n\n/**\n * Partial consent - user accepted only essential and functional (explicit)\n */\nexport const partialConsent: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'explicit',\n action: 'onUpdateServices',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: false,\n },\n 'Google Analytics': true,\n 'Google Ads Remarketing': false,\n};\n\n/**\n * Minimal consent - user denied everything except essential (explicit)\n */\nexport const minimalConsent: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'explicit',\n action: 'onDenyAllServices',\n ucCategory: {\n essential: true,\n functional: false,\n marketing: false,\n },\n 'Google Analytics': false,\n 'Google Ads Remarketing': false,\n};\n\n/**\n * Implicit consent - page load with default consent state\n * (not an explicit user choice)\n */\nexport const implicitConsent: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'implicit',\n ucCategory: {\n essential: true,\n functional: false,\n marketing: false,\n },\n 'Google Analytics': false,\n 'Google Ads Remarketing': false,\n};\n\n/**\n * Explicit consent with uppercase type field (Usercentrics docs are\n * inconsistent about casing - some show 'EXPLICIT', others 'explicit')\n */\nexport const fullConsentUpperCase: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'EXPLICIT',\n action: 'onAcceptAllServices',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: true,\n },\n};\n\n/**\n * Service-level consent - ucCategory has mixed types (non-boolean values\n * indicate individual service-level choice rather than group-level)\n */\nexport const serviceLevelConsent: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'explicit',\n action: 'onUpdateServices',\n ucCategory: {\n essential: true,\n functional: 'partial', // Non-boolean indicates mixed service choices\n marketing: 'partial',\n },\n 'Google Analytics': true,\n 'Google Ads Remarketing': false,\n Hotjar: true,\n};\n\n/**\n * Non-consent event (should be ignored)\n */\nexport const nonConsentEvent: UsercentricsEventDetail = {\n event: 'other_event',\n type: 'explicit',\n};\n","import type { WalkerOS } from '@walkeros/core';\n\n/**\n * Expected walkerOS consent outputs.\n *\n * These represent the consent state after parsing Usercentrics event details\n * with no category mapping configured (pass-through).\n */\n\n/**\n * Full consent - all categories true (group-level)\n */\nexport const fullConsentMapped: WalkerOS.Consent = {\n essential: true,\n functional: true,\n marketing: true,\n};\n\n/**\n * Partial consent - essential and functional true, marketing false\n */\nexport const partialConsentMapped: WalkerOS.Consent = {\n essential: true,\n functional: true,\n marketing: false,\n};\n\n/**\n * Minimal consent - only essential true\n */\nexport const minimalConsentMapped: WalkerOS.Consent = {\n essential: true,\n functional: false,\n marketing: false,\n};\n\n/**\n * Full consent with custom category mapping applied\n * (essential->functional, functional->functional, marketing->marketing)\n */\nexport const fullConsentCustomMapped: WalkerOS.Consent = {\n functional: true,\n marketing: true,\n};\n\n/**\n * Service-level consent - individual service booleans + boolean ucCategory entries\n * (services normalized: lowercase, spaces to underscores)\n * (ucCategory boolean entries mapped through categoryMap)\n */\nexport const serviceLevelMapped: WalkerOS.Consent = {\n essential: true,\n google_analytics: true,\n google_ads_remarketing: false,\n hotjar: true,\n};\n","import type { Elb, Logger } from '@walkeros/core';\n\n/**\n * Example environment configurations for Usercentrics source testing.\n */\n\nconst noop = () => {};\n\n/**\n * Create a properly typed elb/push function mock\n */\nexport const createMockElbFn = (): Elb.Fn => {\n const fn = (() =>\n Promise.resolve({\n ok: true,\n })) as Elb.Fn;\n return fn;\n};\n\n/**\n * Simple no-op logger for demo purposes\n */\nexport const noopLogger: Logger.Instance = {\n error: noop,\n warn: noop,\n info: noop,\n debug: noop,\n throw: (message: string | Error) => {\n throw typeof message === 'string' ? new Error(message) : message;\n },\n json: noop,\n scope: () => noopLogger,\n};\n","import type { Flow } from '@walkeros/core';\n\nexport const fullConsent: Flow.StepExample = {\n trigger: { type: 'consent' },\n in: {\n event: 'consent_status',\n type: 'explicit',\n action: 'onAcceptAllServices',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: true,\n },\n },\n out: [\n [\n 'elb',\n 'walker consent',\n {\n essential: true,\n functional: true,\n marketing: true,\n },\n ],\n ],\n};\n\nexport const minimalConsent: Flow.StepExample = {\n trigger: { type: 'consent' },\n in: {\n event: 'consent_status',\n type: 'explicit',\n action: 'onDenyAllServices',\n ucCategory: {\n essential: true,\n functional: false,\n marketing: false,\n },\n },\n out: [\n [\n 'elb',\n 'walker consent',\n {\n essential: true,\n functional: false,\n marketing: false,\n },\n ],\n ],\n};\n\nexport const categoryMapOverride: Flow.StepExample = {\n description:\n 'Custom categoryMap remaps essential to functional and functional to analytics',\n trigger: { type: 'consent' },\n in: {\n event: 'consent_status',\n type: 'explicit',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: false,\n },\n },\n mapping: {\n categoryMap: { essential: 'functional', functional: 'analytics' },\n },\n out: [\n [\n 'elb',\n 'walker consent',\n {\n functional: true,\n analytics: true,\n marketing: false,\n },\n ],\n ],\n};\n\nexport const customEventName: Flow.StepExample = {\n description: 'Using UC_SDK_EVENT instead of ucEvent for Usercentrics SDK v2',\n trigger: { type: 'consent', options: { eventName: 'UC_SDK_EVENT' } },\n in: {\n event: 'consent_status',\n type: 'explicit',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: true,\n },\n },\n mapping: { eventName: 'UC_SDK_EVENT' },\n out: [\n [\n 'elb',\n 'walker consent',\n {\n essential: true,\n functional: true,\n marketing: true,\n },\n ],\n ],\n};\n","import type { Trigger, Collector } from '@walkeros/core';\nimport { startFlow } from '@walkeros/collector';\n\ninterface UsercentricsContent {\n event: string;\n type: string;\n action?: string;\n ucCategory?: Record<string, boolean | unknown>;\n [service: string]: unknown;\n}\n\nconst createTrigger: Trigger.CreateFn<UsercentricsContent, void> = async (\n config: Collector.InitConfig,\n) => {\n let flow: Trigger.FlowHandle | undefined;\n\n const trigger: Trigger.Fn<UsercentricsContent, void> =\n (type?: string, opts?: unknown) => async (content: UsercentricsContent) => {\n // Lazy startFlow — source registers ucEvent listener during init\n if (!flow) {\n const result = await startFlow({ ...config, run: config.run ?? true });\n flow = { collector: result.collector, elb: result.elb };\n }\n\n // Dispatch the CMP event — source's listener catches it\n const eventName =\n (opts as { eventName?: string })?.eventName || 'ucEvent';\n window.dispatchEvent(new CustomEvent(eventName, { detail: content }));\n };\n\n return {\n get flow() {\n return flow;\n },\n trigger,\n };\n};\n\n/** Dispatches ucEvent CustomEvent after source init (post-init trigger). */\nconst trigger = (\n input: unknown,\n env: Record<string, unknown>,\n): void | (() => void) => {\n if (!input || typeof input !== 'object') return;\n return () => {\n (env.window as Window).dispatchEvent(\n new CustomEvent('ucEvent', { detail: input }),\n );\n };\n};\n\nexport { createTrigger, trigger };\n"],"mappings":"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","names":["fullConsent","minimalConsent","trigger","_a","_b"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/types/index.ts","../src/examples/inputs.ts","../src/examples/outputs.ts","../src/examples/env.ts","../src/examples/step.ts","../src/examples/trigger.ts"],"sourcesContent":["import type { Source, WalkerOS } from '@walkeros/core';\nimport type { Types, Settings, UsercentricsEventDetail } from './types';\n\n// Export types for external usage\nexport * as SourceUsercentrics from './types';\n\n// Export examples\nexport * from './examples';\n\n/** Reserved keys in event.detail that are not service names */\nconst RESERVED_KEYS = ['action', 'event', 'type', 'ucCategory'];\n\n/**\n * Usercentrics consent management source for walkerOS.\n *\n * This source listens to Usercentrics CMP events and translates\n * consent states to walkerOS consent commands.\n *\n * @example\n * ```typescript\n * import { sourceUsercentrics } from '@walkeros/web-source-cmp-usercentrics';\n *\n * await startFlow({\n * sources: {\n * consent: {\n * code: sourceUsercentrics,\n * config: {\n * settings: {\n * eventName: 'ucEvent',\n * categoryMap: {\n * essential: 'functional',\n * functional: 'functional',\n * marketing: 'marketing',\n * },\n * },\n * },\n * },\n * },\n * });\n * ```\n */\nexport const sourceUsercentrics: Source.Init<Types> = async (context) => {\n const { config, env } = context;\n const { elb } = env;\n\n // Resolve window with fallback to globalThis\n const actualWindow =\n env.window ??\n (typeof globalThis.window !== 'undefined' ? globalThis.window : undefined);\n\n // Merge user settings with defaults\n const settings: Settings = {\n eventName: config?.settings?.eventName ?? 'ucEvent',\n categoryMap: config?.settings?.categoryMap ?? {},\n explicitOnly: config?.settings?.explicitOnly ?? true,\n };\n\n const fullConfig: Source.Config<Types> = { settings };\n\n // Track listener reference for cleanup\n let consentListener: ((e: Event) => void) | undefined;\n\n // Only setup if in browser environment\n if (actualWindow) {\n /**\n * Determine if ucCategory represents group-level consent.\n * Group-level: all values are booleans.\n * Service-level: some values are non-boolean (e.g., 'partial').\n */\n const isGroupLevel = (\n ucCategory: Record<string, boolean | unknown>,\n ): boolean => {\n return Object.values(ucCategory).every((val) => typeof val === 'boolean');\n };\n\n /**\n * Parse consent from Usercentrics event detail.\n *\n * Two modes:\n * 1. Group-level: ucCategory has all booleans -> use ucCategory as consent\n * 2. Service-level: ucCategory has non-booleans -> extract individual\n * service keys from event.detail + boolean entries from ucCategory\n *\n * categoryMap is applied in both modes for ucCategory boolean entries.\n */\n const parseConsent = (\n detail: UsercentricsEventDetail,\n ): WalkerOS.Consent => {\n const state: WalkerOS.Consent = {};\n\n if (detail.ucCategory && isGroupLevel(detail.ucCategory)) {\n // Group-level consent: use ucCategory values\n Object.entries(detail.ucCategory).forEach(([category, value]) => {\n if (typeof value !== 'boolean') return;\n const mapped = settings.categoryMap?.[category] ?? category;\n // OR logic: if ANY source category is true, target group is true\n state[mapped] = state[mapped] || value;\n });\n } else {\n // Service-level consent: extract individual services\n // Include boolean entries from ucCategory (with categoryMap applied)\n if (detail.ucCategory) {\n Object.entries(detail.ucCategory).forEach(([key, value]) => {\n if (typeof value === 'boolean') {\n const mapped = settings.categoryMap?.[key] ?? key;\n state[mapped] = state[mapped] || value;\n }\n });\n }\n\n // Extract service keys (not reserved keys)\n Object.entries(detail).forEach(([key, value]) => {\n if (RESERVED_KEYS.includes(key)) return;\n if (typeof value !== 'boolean') return;\n // Normalize: lowercase, spaces to underscores\n const normalized = key.toLowerCase().replace(/ /g, '_');\n state[normalized] = value;\n });\n }\n\n return state;\n };\n\n /**\n * Handle a Usercentrics consent event.\n */\n const handleConsent = (detail: UsercentricsEventDetail) => {\n // Only process consent_status events\n if (detail.event !== 'consent_status') return;\n\n // Skip implicit consent if explicitOnly is true\n // Use case-insensitive comparison (Usercentrics docs show both 'explicit' and 'EXPLICIT')\n if (settings.explicitOnly && detail.type?.toLowerCase() !== 'explicit')\n return;\n\n const state = parseConsent(detail);\n\n // Only call if we have consent state to report\n if (Object.keys(state).length > 0) {\n elb('walker consent', state);\n }\n };\n\n // Listen for Usercentrics consent events\n const eventName = settings.eventName ?? 'ucEvent';\n consentListener = (e: Event) => {\n const customEvent = e as CustomEvent<UsercentricsEventDetail>;\n if (customEvent.detail) {\n handleConsent(customEvent.detail);\n }\n };\n actualWindow.addEventListener(eventName, consentListener);\n }\n\n return {\n type: 'usercentrics',\n config: fullConfig,\n push: elb,\n destroy: async (_context) => {\n if (actualWindow && consentListener) {\n const eventName = settings.eventName ?? 'ucEvent';\n actualWindow.removeEventListener(eventName, consentListener);\n }\n },\n };\n};\n\nexport default sourceUsercentrics;\n","import type { Source, Elb } from '@walkeros/core';\n\n/**\n * Usercentrics consent event detail structure.\n *\n * Fired as event.detail on the configured window event (e.g. 'ucEvent').\n * Contains both category-level (ucCategory) and service-level consent.\n */\nexport interface UsercentricsEventDetail {\n /** Always 'consent_status' for consent events */\n event: string;\n /** 'explicit' when user actively chose, 'implicit' for page-load defaults (casing may vary) */\n type: string;\n /** Action taken: 'onAcceptAllServices', 'onDenyAllServices', 'onUpdateServices' */\n action?: string;\n /** Category-level consent booleans (e.g. { marketing: true, functional: false }) */\n ucCategory?: Record<string, boolean | unknown>;\n /** Service-level consent as top-level keys (e.g. 'Google Analytics': true) */\n [service: string]: unknown;\n}\n\ndeclare global {\n interface WindowEventMap {\n ucEvent: CustomEvent<UsercentricsEventDetail>;\n }\n}\n\n/**\n * Settings for Usercentrics source\n */\nexport interface Settings {\n /**\n * Window event name to listen for.\n * Configured in Usercentrics admin under Implementation > Data Layer & Events.\n * Can also be set to 'UC_SDK_EVENT' for the built-in Browser SDK event.\n *\n * Default: 'ucEvent'\n */\n eventName?: string;\n\n /**\n * Map Usercentrics categories to walkerOS consent groups.\n * Keys: Usercentrics category names (from ucCategory)\n * Values: walkerOS consent group names\n *\n * Applied in both group-level and service-level consent modes.\n * When multiple source categories map to the same group, OR logic applies:\n * if ANY source category is true, the target group is true.\n *\n * Default: {} (pass through category names as-is)\n */\n categoryMap?: Record<string, string>;\n\n /**\n * Only process explicit consent (user made a choice).\n * When true: Ignores events where type !== 'explicit'\n * When false: Processes any consent_status event including implicit/defaults\n *\n * Default: true\n */\n explicitOnly?: boolean;\n}\n\n/**\n * User input settings (all optional)\n */\nexport type InitSettings = Partial<Settings>;\n\n/**\n * No mapping configuration for this source\n */\nexport interface Mapping {}\n\n/**\n * Push function type - uses elb for consent commands\n */\nexport type Push = Elb.Fn;\n\n/**\n * Environment interface for Usercentrics source\n */\nexport interface Env extends Source.BaseEnv {\n window?: Window & typeof globalThis;\n}\n\n/**\n * Types bundle for Usercentrics source\n */\nexport type Types = Source.Types<Settings, Mapping, Push, Env, InitSettings>;\n\n/**\n * Config type alias\n */\nexport type Config = Source.Config<Types>;\n","import type { UsercentricsEventDetail } from '../types';\n\n/**\n * Example Usercentrics consent event detail inputs.\n *\n * These represent real event.detail payloads from Usercentrics CMP.\n */\n\n/**\n * Full consent - user accepted all categories (explicit)\n */\nexport const fullConsent: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'explicit',\n action: 'onAcceptAllServices',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: true,\n },\n 'Google Analytics': true,\n 'Google Ads Remarketing': true,\n};\n\n/**\n * Partial consent - user accepted only essential and functional (explicit)\n */\nexport const partialConsent: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'explicit',\n action: 'onUpdateServices',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: false,\n },\n 'Google Analytics': true,\n 'Google Ads Remarketing': false,\n};\n\n/**\n * Minimal consent - user denied everything except essential (explicit)\n */\nexport const minimalConsent: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'explicit',\n action: 'onDenyAllServices',\n ucCategory: {\n essential: true,\n functional: false,\n marketing: false,\n },\n 'Google Analytics': false,\n 'Google Ads Remarketing': false,\n};\n\n/**\n * Implicit consent - page load with default consent state\n * (not an explicit user choice)\n */\nexport const implicitConsent: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'implicit',\n ucCategory: {\n essential: true,\n functional: false,\n marketing: false,\n },\n 'Google Analytics': false,\n 'Google Ads Remarketing': false,\n};\n\n/**\n * Explicit consent with uppercase type field (Usercentrics docs are\n * inconsistent about casing - some show 'EXPLICIT', others 'explicit')\n */\nexport const fullConsentUpperCase: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'EXPLICIT',\n action: 'onAcceptAllServices',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: true,\n },\n};\n\n/**\n * Service-level consent - ucCategory has mixed types (non-boolean values\n * indicate individual service-level choice rather than group-level)\n */\nexport const serviceLevelConsent: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'explicit',\n action: 'onUpdateServices',\n ucCategory: {\n essential: true,\n functional: 'partial', // Non-boolean indicates mixed service choices\n marketing: 'partial',\n },\n 'Google Analytics': true,\n 'Google Ads Remarketing': false,\n Hotjar: true,\n};\n\n/**\n * Non-consent event (should be ignored)\n */\nexport const nonConsentEvent: UsercentricsEventDetail = {\n event: 'other_event',\n type: 'explicit',\n};\n","import type { WalkerOS } from '@walkeros/core';\n\n/**\n * Expected walkerOS consent outputs.\n *\n * These represent the consent state after parsing Usercentrics event details\n * with no category mapping configured (pass-through).\n */\n\n/**\n * Full consent - all categories true (group-level)\n */\nexport const fullConsentMapped: WalkerOS.Consent = {\n essential: true,\n functional: true,\n marketing: true,\n};\n\n/**\n * Partial consent - essential and functional true, marketing false\n */\nexport const partialConsentMapped: WalkerOS.Consent = {\n essential: true,\n functional: true,\n marketing: false,\n};\n\n/**\n * Minimal consent - only essential true\n */\nexport const minimalConsentMapped: WalkerOS.Consent = {\n essential: true,\n functional: false,\n marketing: false,\n};\n\n/**\n * Full consent with custom category mapping applied\n * (essential->functional, functional->functional, marketing->marketing)\n */\nexport const fullConsentCustomMapped: WalkerOS.Consent = {\n functional: true,\n marketing: true,\n};\n\n/**\n * Service-level consent - individual service booleans + boolean ucCategory entries\n * (services normalized: lowercase, spaces to underscores)\n * (ucCategory boolean entries mapped through categoryMap)\n */\nexport const serviceLevelMapped: WalkerOS.Consent = {\n essential: true,\n google_analytics: true,\n google_ads_remarketing: false,\n hotjar: true,\n};\n","import type { Elb, Logger } from '@walkeros/core';\n\n/**\n * Example environment configurations for Usercentrics source testing.\n */\n\nconst noop = () => {};\n\n/**\n * Create a properly typed elb/push function mock\n */\nexport const createMockElbFn = (): Elb.Fn => {\n const fn = (() =>\n Promise.resolve({\n ok: true,\n })) as Elb.Fn;\n return fn;\n};\n\n/**\n * Simple no-op logger for demo purposes\n */\nexport const noopLogger: Logger.Instance = {\n error: noop,\n warn: noop,\n info: noop,\n debug: noop,\n throw: (message: string | Error) => {\n throw typeof message === 'string' ? new Error(message) : message;\n },\n json: noop,\n scope: () => noopLogger,\n};\n","import type { Flow } from '@walkeros/core';\n\nexport const fullConsent: Flow.StepExample = {\n title: 'Full consent',\n description:\n 'A Usercentrics onAcceptAllServices event emits a walker consent command with essential, functional, and marketing granted.',\n trigger: { type: 'consent' },\n in: {\n event: 'consent_status',\n type: 'explicit',\n action: 'onAcceptAllServices',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: true,\n },\n },\n out: [\n [\n 'elb',\n 'walker consent',\n {\n essential: true,\n functional: true,\n marketing: true,\n },\n ],\n ],\n};\n\nexport const minimalConsent: Flow.StepExample = {\n title: 'Minimal consent',\n description:\n 'A Usercentrics onDenyAllServices event emits a walker consent command with only essential granted.',\n trigger: { type: 'consent' },\n in: {\n event: 'consent_status',\n type: 'explicit',\n action: 'onDenyAllServices',\n ucCategory: {\n essential: true,\n functional: false,\n marketing: false,\n },\n },\n out: [\n [\n 'elb',\n 'walker consent',\n {\n essential: true,\n functional: false,\n marketing: false,\n },\n ],\n ],\n};\n\nexport const categoryMapOverride: Flow.StepExample = {\n title: 'Category map override',\n description:\n 'Custom categoryMap remaps essential to functional and functional to analytics',\n trigger: { type: 'consent' },\n in: {\n event: 'consent_status',\n type: 'explicit',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: false,\n },\n },\n mapping: {\n categoryMap: { essential: 'functional', functional: 'analytics' },\n },\n out: [\n [\n 'elb',\n 'walker consent',\n {\n functional: true,\n analytics: true,\n marketing: false,\n },\n ],\n ],\n};\n\nexport const customEventName: Flow.StepExample = {\n title: 'Custom event name',\n description: 'Using UC_SDK_EVENT instead of ucEvent for Usercentrics SDK v2',\n trigger: { type: 'consent', options: { eventName: 'UC_SDK_EVENT' } },\n in: {\n event: 'consent_status',\n type: 'explicit',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: true,\n },\n },\n mapping: { eventName: 'UC_SDK_EVENT' },\n out: [\n [\n 'elb',\n 'walker consent',\n {\n essential: true,\n functional: true,\n marketing: true,\n },\n ],\n ],\n};\n","import type { Trigger, Collector } from '@walkeros/core';\nimport { startFlow } from '@walkeros/collector';\n\ninterface UsercentricsContent {\n event: string;\n type: string;\n action?: string;\n ucCategory?: Record<string, boolean | unknown>;\n [service: string]: unknown;\n}\n\nconst createTrigger: Trigger.CreateFn<UsercentricsContent, void> = async (\n config: Collector.InitConfig,\n) => {\n let flow: Trigger.FlowHandle | undefined;\n\n const trigger: Trigger.Fn<UsercentricsContent, void> =\n (type?: string, opts?: unknown) => async (content: UsercentricsContent) => {\n // Lazy startFlow — source registers ucEvent listener during init\n if (!flow) {\n const result = await startFlow({ ...config, run: config.run ?? true });\n flow = { collector: result.collector, elb: result.elb };\n }\n\n // Dispatch the CMP event — source's listener catches it\n const eventName =\n (opts as { eventName?: string })?.eventName || 'ucEvent';\n window.dispatchEvent(new CustomEvent(eventName, { detail: content }));\n };\n\n return {\n get flow() {\n return flow;\n },\n trigger,\n };\n};\n\n/** Dispatches ucEvent CustomEvent after source init (post-init trigger). */\nconst trigger = (\n input: unknown,\n env: Record<string, unknown>,\n): void | (() => void) => {\n if (!input || typeof input !== 'object') return;\n return () => {\n (env.window as Window).dispatchEvent(\n new CustomEvent('ucEvent', { detail: input }),\n );\n };\n};\n\nexport { createTrigger, trigger };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA;;;ACWO,IAAM,cAAuC;AAAA,EAClD,OAAO;AAAA,EACP,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,YAAY;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,WAAW;AAAA,EACb;AAAA,EACA,oBAAoB;AAAA,EACpB,0BAA0B;AAC5B;AAKO,IAAM,iBAA0C;AAAA,EACrD,OAAO;AAAA,EACP,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,YAAY;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,WAAW;AAAA,EACb;AAAA,EACA,oBAAoB;AAAA,EACpB,0BAA0B;AAC5B;AAKO,IAAM,iBAA0C;AAAA,EACrD,OAAO;AAAA,EACP,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,YAAY;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,WAAW;AAAA,EACb;AAAA,EACA,oBAAoB;AAAA,EACpB,0BAA0B;AAC5B;AAMO,IAAM,kBAA2C;AAAA,EACtD,OAAO;AAAA,EACP,MAAM;AAAA,EACN,YAAY;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,WAAW;AAAA,EACb;AAAA,EACA,oBAAoB;AAAA,EACpB,0BAA0B;AAC5B;AAMO,IAAM,uBAAgD;AAAA,EAC3D,OAAO;AAAA,EACP,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,YAAY;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA,IACZ,WAAW;AAAA,EACb;AACF;AAMO,IAAM,sBAA+C;AAAA,EAC1D,OAAO;AAAA,EACP,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,YAAY;AAAA,IACV,WAAW;AAAA,IACX,YAAY;AAAA;AAAA,IACZ,WAAW;AAAA,EACb;AAAA,EACA,oBAAoB;AAAA,EACpB,0BAA0B;AAAA,EAC1B,QAAQ;AACV;AAKO,IAAM,kBAA2C;AAAA,EACtD,OAAO;AAAA,EACP,MAAM;AACR;;;ACnGO,IAAM,oBAAsC;AAAA,EACjD,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,WAAW;AACb;AAKO,IAAM,uBAAyC;AAAA,EACpD,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,WAAW;AACb;AAKO,IAAM,uBAAyC;AAAA,EACpD,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,WAAW;AACb;AAMO,IAAM,0BAA4C;AAAA,EACvD,YAAY;AAAA,EACZ,WAAW;AACb;AAOO,IAAM,qBAAuC;AAAA,EAClD,WAAW;AAAA,EACX,kBAAkB;AAAA,EAClB,wBAAwB;AAAA,EACxB,QAAQ;AACV;;;ACjDA,IAAM,OAAO,MAAM;AAAC;AAKb,IAAM,kBAAkB,MAAc;AAC3C,QAAM,MAAM,MACV,QAAQ,QAAQ;AAAA,IACd,IAAI;AAAA,EACN,CAAC;AACH,SAAO;AACT;AAKO,IAAM,aAA8B;AAAA,EACzC,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO,CAAC,YAA4B;AAClC,UAAM,OAAO,YAAY,WAAW,IAAI,MAAM,OAAO,IAAI;AAAA,EAC3D;AAAA,EACA,MAAM;AAAA,EACN,OAAO,MAAM;AACf;;;AChCA;AAAA;AAAA;AAAA;AAAA,qBAAAA;AAAA,EAAA,sBAAAC;AAAA;AAEO,IAAMD,eAAgC;AAAA,EAC3C,OAAO;AAAA,EACP,aACE;AAAA,EACF,SAAS,EAAE,MAAM,UAAU;AAAA,EAC3B,IAAI;AAAA,IACF,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,YAAY;AAAA,MACV,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,KAAK;AAAA,IACH;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,QACE,WAAW;AAAA,QACX,YAAY;AAAA,QACZ,WAAW;AAAA,MACb;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAMC,kBAAmC;AAAA,EAC9C,OAAO;AAAA,EACP,aACE;AAAA,EACF,SAAS,EAAE,MAAM,UAAU;AAAA,EAC3B,IAAI;AAAA,IACF,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,YAAY;AAAA,MACV,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,KAAK;AAAA,IACH;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,QACE,WAAW;AAAA,QACX,YAAY;AAAA,QACZ,WAAW;AAAA,MACb;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,sBAAwC;AAAA,EACnD,OAAO;AAAA,EACP,aACE;AAAA,EACF,SAAS,EAAE,MAAM,UAAU;AAAA,EAC3B,IAAI;AAAA,IACF,OAAO;AAAA,IACP,MAAM;AAAA,IACN,YAAY;AAAA,MACV,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IACP,aAAa,EAAE,WAAW,cAAc,YAAY,YAAY;AAAA,EAClE;AAAA,EACA,KAAK;AAAA,IACH;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,QACE,YAAY;AAAA,QACZ,WAAW;AAAA,QACX,WAAW;AAAA,MACb;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,kBAAoC;AAAA,EAC/C,OAAO;AAAA,EACP,aAAa;AAAA,EACb,SAAS,EAAE,MAAM,WAAW,SAAS,EAAE,WAAW,eAAe,EAAE;AAAA,EACnE,IAAI;AAAA,IACF,OAAO;AAAA,IACP,MAAM;AAAA,IACN,YAAY;AAAA,MACV,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,WAAW;AAAA,IACb;AAAA,EACF;AAAA,EACA,SAAS,EAAE,WAAW,eAAe;AAAA,EACrC,KAAK;AAAA,IACH;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,QACE,WAAW;AAAA,QACX,YAAY;AAAA,QACZ,WAAW;AAAA,MACb;AAAA,IACF;AAAA,EACF;AACF;;;AChHA,uBAA0B;AAU1B,IAAM,gBAA6D,OACjE,WACG;AACH,MAAI;AAEJ,QAAMC,WACJ,CAAC,MAAe,SAAmB,OAAO,YAAiC;AAjB/E;AAmBM,QAAI,CAAC,MAAM;AACT,YAAM,SAAS,UAAM,4BAAU,EAAE,GAAG,QAAQ,MAAK,YAAO,QAAP,YAAc,KAAK,CAAC;AACrE,aAAO,EAAE,WAAW,OAAO,WAAW,KAAK,OAAO,IAAI;AAAA,IACxD;AAGA,UAAM,aACH,6BAAiC,cAAa;AACjD,WAAO,cAAc,IAAI,YAAY,WAAW,EAAE,QAAQ,QAAQ,CAAC,CAAC;AAAA,EACtE;AAEF,SAAO;AAAA,IACL,IAAI,OAAO;AACT,aAAO;AAAA,IACT;AAAA,IACA,SAAAA;AAAA,EACF;AACF;AAGA,IAAM,UAAU,CACd,OACA,QACwB;AACxB,MAAI,CAAC,SAAS,OAAO,UAAU,SAAU;AACzC,SAAO,MAAM;AACX,IAAC,IAAI,OAAkB;AAAA,MACrB,IAAI,YAAY,WAAW,EAAE,QAAQ,MAAM,CAAC;AAAA,IAC9C;AAAA,EACF;AACF;;;ANvCA,IAAM,gBAAgB,CAAC,UAAU,SAAS,QAAQ,YAAY;AA+BvD,IAAM,qBAAyC,OAAO,YAAY;AAzCzE;AA0CE,QAAM,EAAE,QAAQ,IAAI,IAAI;AACxB,QAAM,EAAE,IAAI,IAAI;AAGhB,QAAM,gBACJ,SAAI,WAAJ,YACC,OAAO,WAAW,WAAW,cAAc,WAAW,SAAS;AAGlE,QAAM,WAAqB;AAAA,IACzB,YAAW,4CAAQ,aAAR,mBAAkB,cAAlB,YAA+B;AAAA,IAC1C,cAAa,4CAAQ,aAAR,mBAAkB,gBAAlB,YAAiC,CAAC;AAAA,IAC/C,eAAc,4CAAQ,aAAR,mBAAkB,iBAAlB,YAAkC;AAAA,EAClD;AAEA,QAAM,aAAmC,EAAE,SAAS;AAGpD,MAAI;AAGJ,MAAI,cAAc;AAMhB,UAAM,eAAe,CACnB,eACY;AACZ,aAAO,OAAO,OAAO,UAAU,EAAE,MAAM,CAAC,QAAQ,OAAO,QAAQ,SAAS;AAAA,IAC1E;AAYA,UAAM,eAAe,CACnB,WACqB;AACrB,YAAM,QAA0B,CAAC;AAEjC,UAAI,OAAO,cAAc,aAAa,OAAO,UAAU,GAAG;AAExD,eAAO,QAAQ,OAAO,UAAU,EAAE,QAAQ,CAAC,CAAC,UAAU,KAAK,MAAM;AA5FzE,cAAAC,KAAAC;AA6FU,cAAI,OAAO,UAAU,UAAW;AAChC,gBAAM,UAASA,OAAAD,MAAA,SAAS,gBAAT,gBAAAA,IAAuB,cAAvB,OAAAC,MAAoC;AAEnD,gBAAM,MAAM,IAAI,MAAM,MAAM,KAAK;AAAA,QACnC,CAAC;AAAA,MACH,OAAO;AAGL,YAAI,OAAO,YAAY;AACrB,iBAAO,QAAQ,OAAO,UAAU,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAtGtE,gBAAAD,KAAAC;AAuGY,gBAAI,OAAO,UAAU,WAAW;AAC9B,oBAAM,UAASA,OAAAD,MAAA,SAAS,gBAAT,gBAAAA,IAAuB,SAAvB,OAAAC,MAA+B;AAC9C,oBAAM,MAAM,IAAI,MAAM,MAAM,KAAK;AAAA,YACnC;AAAA,UACF,CAAC;AAAA,QACH;AAGA,eAAO,QAAQ,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAK,KAAK,MAAM;AAC/C,cAAI,cAAc,SAAS,GAAG,EAAG;AACjC,cAAI,OAAO,UAAU,UAAW;AAEhC,gBAAM,aAAa,IAAI,YAAY,EAAE,QAAQ,MAAM,GAAG;AACtD,gBAAM,UAAU,IAAI;AAAA,QACtB,CAAC;AAAA,MACH;AAEA,aAAO;AAAA,IACT;AAKA,UAAM,gBAAgB,CAAC,WAAoC;AA9H/D,UAAAD;AAgIM,UAAI,OAAO,UAAU,iBAAkB;AAIvC,UAAI,SAAS,kBAAgBA,MAAA,OAAO,SAAP,gBAAAA,IAAa,mBAAkB;AAC1D;AAEF,YAAM,QAAQ,aAAa,MAAM;AAGjC,UAAI,OAAO,KAAK,KAAK,EAAE,SAAS,GAAG;AACjC,YAAI,kBAAkB,KAAK;AAAA,MAC7B;AAAA,IACF;AAGA,UAAM,aAAY,cAAS,cAAT,YAAsB;AACxC,sBAAkB,CAAC,MAAa;AAC9B,YAAM,cAAc;AACpB,UAAI,YAAY,QAAQ;AACtB,sBAAc,YAAY,MAAM;AAAA,MAClC;AAAA,IACF;AACA,iBAAa,iBAAiB,WAAW,eAAe;AAAA,EAC1D;AAEA,SAAO;AAAA,IACL,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,SAAS,OAAO,aAAa;AA9JjC,UAAAA;AA+JM,UAAI,gBAAgB,iBAAiB;AACnC,cAAM,aAAYA,MAAA,SAAS,cAAT,OAAAA,MAAsB;AACxC,qBAAa,oBAAoB,WAAW,eAAe;AAAA,MAC7D;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAO,gBAAQ;","names":["fullConsent","minimalConsent","trigger","_a","_b"]}
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- var e=Object.defineProperty,t={},n={event:"consent_status",type:"explicit",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0},"Google Analytics":!0,"Google Ads Remarketing":!0},o={event:"consent_status",type:"explicit",action:"onUpdateServices",ucCategory:{essential:!0,functional:!0,marketing:!1},"Google Analytics":!0,"Google Ads Remarketing":!1},a={event:"consent_status",type:"explicit",action:"onDenyAllServices",ucCategory:{essential:!0,functional:!1,marketing:!1},"Google Analytics":!1,"Google Ads Remarketing":!1},i={event:"consent_status",type:"implicit",ucCategory:{essential:!0,functional:!1,marketing:!1},"Google Analytics":!1,"Google Ads Remarketing":!1},l={event:"consent_status",type:"EXPLICIT",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0}},s={event:"consent_status",type:"explicit",action:"onUpdateServices",ucCategory:{essential:!0,functional:"partial",marketing:"partial"},"Google Analytics":!0,"Google Ads Remarketing":!1,Hotjar:!0},c={event:"other_event",type:"explicit"},r={essential:!0,functional:!0,marketing:!0},u={essential:!0,functional:!0,marketing:!1},g={essential:!0,functional:!1,marketing:!1},v={functional:!0,marketing:!0},p={essential:!0,google_analytics:!0,google_ads_remarketing:!1,hotjar:!0},y=()=>{},f=()=>()=>Promise.resolve({ok:!0}),m={error:y,warn:y,info:y,debug:y,throw:e=>{throw"string"==typeof e?new Error(e):e},json:y,scope:()=>m},d={};((t,n)=>{for(var o in n)e(t,o,{get:n[o],enumerable:!0})})(d,{categoryMapOverride:()=>w,customEventName:()=>E,fullConsent:()=>k,minimalConsent:()=>C});var k={trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0}},out:[["elb","walker consent",{essential:!0,functional:!0,marketing:!0}]]},C={trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",action:"onDenyAllServices",ucCategory:{essential:!0,functional:!1,marketing:!1}},out:[["elb","walker consent",{essential:!0,functional:!1,marketing:!1}]]},w={description:"Custom categoryMap remaps essential to functional and functional to analytics",trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",ucCategory:{essential:!0,functional:!0,marketing:!1}},mapping:{categoryMap:{essential:"functional",functional:"analytics"}},out:[["elb","walker consent",{functional:!0,analytics:!0,marketing:!1}]]},E={description:"Using UC_SDK_EVENT instead of ucEvent for Usercentrics SDK v2",trigger:{type:"consent",options:{eventName:"UC_SDK_EVENT"}},in:{event:"consent_status",type:"explicit",ucCategory:{essential:!0,functional:!0,marketing:!0}},mapping:{eventName:"UC_SDK_EVENT"},out:[["elb","walker consent",{essential:!0,functional:!0,marketing:!0}]]};import{startFlow as b}from"@walkeros/collector";var _=async e=>{let t;return{get flow(){return t},trigger:(n,o)=>async n=>{var a;if(!t){const n=await b({...e,run:null==(a=e.run)||a});t={collector:n.collector,elb:n.elb}}const i=(null==o?void 0:o.eventName)||"ucEvent";window.dispatchEvent(new CustomEvent(i,{detail:n}))}}},A=(e,t)=>{if(e&&"object"==typeof e)return()=>{t.window.dispatchEvent(new CustomEvent("ucEvent",{detail:e}))}},x=["action","event","type","ucCategory"],h=async e=>{var t,n,o,a,i,l,s,c;const{config:r,env:u}=e,{elb:g}=u,v=null!=(t=u.window)?t:void 0!==globalThis.window?globalThis.window:void 0,p={eventName:null!=(o=null==(n=null==r?void 0:r.settings)?void 0:n.eventName)?o:"ucEvent",categoryMap:null!=(i=null==(a=null==r?void 0:r.settings)?void 0:a.categoryMap)?i:{},explicitOnly:null==(s=null==(l=null==r?void 0:r.settings)?void 0:l.explicitOnly)||s},y={settings:p};let f;if(v){const e=e=>Object.values(e).every(e=>"boolean"==typeof e),t=t=>{const n={};return t.ucCategory&&e(t.ucCategory)?Object.entries(t.ucCategory).forEach(([e,t])=>{var o,a;if("boolean"!=typeof t)return;const i=null!=(a=null==(o=p.categoryMap)?void 0:o[e])?a:e;n[i]=n[i]||t}):(t.ucCategory&&Object.entries(t.ucCategory).forEach(([e,t])=>{var o,a;if("boolean"==typeof t){const i=null!=(a=null==(o=p.categoryMap)?void 0:o[e])?a:e;n[i]=n[i]||t}}),Object.entries(t).forEach(([e,t])=>{if(x.includes(e))return;if("boolean"!=typeof t)return;const o=e.toLowerCase().replace(/ /g,"_");n[o]=t})),n},n=e=>{var n;if("consent_status"!==e.event)return;if(p.explicitOnly&&"explicit"!==(null==(n=e.type)?void 0:n.toLowerCase()))return;const o=t(e);Object.keys(o).length>0&&g("walker consent",o)},o=null!=(c=p.eventName)?c:"ucEvent";f=e=>{const t=e;t.detail&&n(t.detail)},v.addEventListener(o,f)}return{type:"usercentrics",config:y,push:g,destroy:async e=>{var t;if(v&&f){const e=null!=(t=p.eventName)?t:"ucEvent";v.removeEventListener(e,f)}}}},S=h;export{t as SourceUsercentrics,f as createMockElbFn,_ as createTrigger,S as default,n as fullConsent,v as fullConsentCustomMapped,r as fullConsentMapped,l as fullConsentUpperCase,i as implicitConsent,a as minimalConsent,g as minimalConsentMapped,c as nonConsentEvent,m as noopLogger,o as partialConsent,u as partialConsentMapped,s as serviceLevelConsent,p as serviceLevelMapped,h as sourceUsercentrics,d as step,A as trigger};//# sourceMappingURL=index.mjs.map
1
+ var e=Object.defineProperty,t={},n={event:"consent_status",type:"explicit",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0},"Google Analytics":!0,"Google Ads Remarketing":!0},i={event:"consent_status",type:"explicit",action:"onUpdateServices",ucCategory:{essential:!0,functional:!0,marketing:!1},"Google Analytics":!0,"Google Ads Remarketing":!1},o={event:"consent_status",type:"explicit",action:"onDenyAllServices",ucCategory:{essential:!0,functional:!1,marketing:!1},"Google Analytics":!1,"Google Ads Remarketing":!1},a={event:"consent_status",type:"implicit",ucCategory:{essential:!0,functional:!1,marketing:!1},"Google Analytics":!1,"Google Ads Remarketing":!1},l={event:"consent_status",type:"EXPLICIT",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0}},s={event:"consent_status",type:"explicit",action:"onUpdateServices",ucCategory:{essential:!0,functional:"partial",marketing:"partial"},"Google Analytics":!0,"Google Ads Remarketing":!1,Hotjar:!0},c={event:"other_event",type:"explicit"},r={essential:!0,functional:!0,marketing:!0},u={essential:!0,functional:!0,marketing:!1},g={essential:!0,functional:!1,marketing:!1},v={functional:!0,marketing:!0},p={essential:!0,google_analytics:!0,google_ads_remarketing:!1,hotjar:!0},y=()=>{},m=()=>()=>Promise.resolve({ok:!0}),f={error:y,warn:y,info:y,debug:y,throw:e=>{throw"string"==typeof e?new Error(e):e},json:y,scope:()=>f},d={};((t,n)=>{for(var i in n)e(t,i,{get:n[i],enumerable:!0})})(d,{categoryMapOverride:()=>C,customEventName:()=>E,fullConsent:()=>k,minimalConsent:()=>w});var k={title:"Full consent",description:"A Usercentrics onAcceptAllServices event emits a walker consent command with essential, functional, and marketing granted.",trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0}},out:[["elb","walker consent",{essential:!0,functional:!0,marketing:!0}]]},w={title:"Minimal consent",description:"A Usercentrics onDenyAllServices event emits a walker consent command with only essential granted.",trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",action:"onDenyAllServices",ucCategory:{essential:!0,functional:!1,marketing:!1}},out:[["elb","walker consent",{essential:!0,functional:!1,marketing:!1}]]},C={title:"Category map override",description:"Custom categoryMap remaps essential to functional and functional to analytics",trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",ucCategory:{essential:!0,functional:!0,marketing:!1}},mapping:{categoryMap:{essential:"functional",functional:"analytics"}},out:[["elb","walker consent",{functional:!0,analytics:!0,marketing:!1}]]},E={title:"Custom event name",description:"Using UC_SDK_EVENT instead of ucEvent for Usercentrics SDK v2",trigger:{type:"consent",options:{eventName:"UC_SDK_EVENT"}},in:{event:"consent_status",type:"explicit",ucCategory:{essential:!0,functional:!0,marketing:!0}},mapping:{eventName:"UC_SDK_EVENT"},out:[["elb","walker consent",{essential:!0,functional:!0,marketing:!0}]]};import{startFlow as A}from"@walkeros/collector";var b=async e=>{let t;return{get flow(){return t},trigger:(n,i)=>async n=>{var o;if(!t){const n=await A({...e,run:null==(o=e.run)||o});t={collector:n.collector,elb:n.elb}}const a=(null==i?void 0:i.eventName)||"ucEvent";window.dispatchEvent(new CustomEvent(a,{detail:n}))}}},_=(e,t)=>{if(e&&"object"==typeof e)return()=>{t.window.dispatchEvent(new CustomEvent("ucEvent",{detail:e}))}},h=["action","event","type","ucCategory"],x=async e=>{var t,n,i,o,a,l,s,c;const{config:r,env:u}=e,{elb:g}=u,v=null!=(t=u.window)?t:void 0!==globalThis.window?globalThis.window:void 0,p={eventName:null!=(i=null==(n=null==r?void 0:r.settings)?void 0:n.eventName)?i:"ucEvent",categoryMap:null!=(a=null==(o=null==r?void 0:r.settings)?void 0:o.categoryMap)?a:{},explicitOnly:null==(s=null==(l=null==r?void 0:r.settings)?void 0:l.explicitOnly)||s},y={settings:p};let m;if(v){const e=e=>Object.values(e).every(e=>"boolean"==typeof e),t=t=>{const n={};return t.ucCategory&&e(t.ucCategory)?Object.entries(t.ucCategory).forEach(([e,t])=>{var i,o;if("boolean"!=typeof t)return;const a=null!=(o=null==(i=p.categoryMap)?void 0:i[e])?o:e;n[a]=n[a]||t}):(t.ucCategory&&Object.entries(t.ucCategory).forEach(([e,t])=>{var i,o;if("boolean"==typeof t){const a=null!=(o=null==(i=p.categoryMap)?void 0:i[e])?o:e;n[a]=n[a]||t}}),Object.entries(t).forEach(([e,t])=>{if(h.includes(e))return;if("boolean"!=typeof t)return;const i=e.toLowerCase().replace(/ /g,"_");n[i]=t})),n},n=e=>{var n;if("consent_status"!==e.event)return;if(p.explicitOnly&&"explicit"!==(null==(n=e.type)?void 0:n.toLowerCase()))return;const i=t(e);Object.keys(i).length>0&&g("walker consent",i)},i=null!=(c=p.eventName)?c:"ucEvent";m=e=>{const t=e;t.detail&&n(t.detail)},v.addEventListener(i,m)}return{type:"usercentrics",config:y,push:g,destroy:async e=>{var t;if(v&&m){const e=null!=(t=p.eventName)?t:"ucEvent";v.removeEventListener(e,m)}}}},S=x;export{t as SourceUsercentrics,m as createMockElbFn,b as createTrigger,S as default,n as fullConsent,v as fullConsentCustomMapped,r as fullConsentMapped,l as fullConsentUpperCase,a as implicitConsent,o as minimalConsent,g as minimalConsentMapped,c as nonConsentEvent,f as noopLogger,i as partialConsent,u as partialConsentMapped,s as serviceLevelConsent,p as serviceLevelMapped,x as sourceUsercentrics,d as step,_ as trigger};//# sourceMappingURL=index.mjs.map