saksoff5th_pixcel
Version:
Lightweight pixcel library for saksoff5th
3 lines (2 loc) • 28.1 kB
JavaScript
import{uuid as e,paramsParse as t,dotProp as n}from"analytics-utils";import{get as r,remove as i,set as o,globalContext as a,KEY as s}from"@analytics/global-storage-utils";import{isObject as c,PREFIX as u,isFunction as l,isBoolean as d,isString as p,isBrowser as m,isArray as f}from"@analytics/type-utils";import g from"crypto-js/sha256";function y(){return y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},y.apply(this,arguments)}const h="function",b="undefined",w="reducer",E="@@redux/",v=E+"INIT",S=E+Math.random().toString(36),I=/* #__PURE__ */(()=>typeof Symbol===h&&Symbol.observable||"@@observable")(),_=" != "+h;function x(e,t,n){if(typeof t===h&&typeof n===b&&(n=t,t=void 0),typeof n!==b){if(typeof n!==h)throw new Error("enhancer"+_);return n(x)(e,t)}if(typeof e!==h)throw new Error(w+_);let r=e,i=t,o=[],a=o,s=!1;function u(){a===o&&(a=o.slice())}function l(){return i}function d(e){if(typeof e!==h)throw new Error("Listener"+_);let t=!0;return u(),a.push(e),function(){if(!t)return;t=!1,u();const n=a.indexOf(e);a.splice(n,1)}}function p(e){if(!c(e))throw new Error("Act != obj");if(typeof e.type===b)throw new Error("ActType "+b);if(s)throw new Error("Dispatch in "+w);try{s=!0,i=r(i,e)}finally{s=!1}const t=o=a;for(let e=0;e<t.length;e++)(0,t[e])();return e}return p({type:v}),{dispatch:p,subscribe:d,getState:l,replaceReducer:function(e){if(typeof e!==h)throw new Error("next "+w+_);r=e,p({type:v})},[I]:function(){const e=d;return{subscribe(t){if("object"!=typeof t)throw new TypeError("Observer != obj");function n(){t.next&&t.next(l())}return n(),{unsubscribe:e(n)}},[I](){return this}}}}}function P(e,t){const n=t&&t.type;return"action "+(n&&n.toString()||"?")+w+" "+e+" returns "+b}function A(...e){return 0===e.length?e=>e:1===e.length?e[0]:e.reduce((e,t)=>(...n)=>e(t(...n)))}const k=u+"anon_id",T=u+"user_id",N=u+"user_traits",O="analytics",q="userId",j="anonymousId",D=["bootstrap","params","campaign","initializeStart","initialize","initializeEnd","ready","resetStart","reset","resetEnd","pageStart","page","pageEnd","pageAborted","trackStart","track","trackEnd","trackAborted","identifyStart","identify","identifyEnd","identifyAborted","userIdChanged","registerPlugins","enablePlugin","disablePlugin","online","offline","setItemStart","setItem","setItemEnd","setItemAborted","removeItemStart","removeItem","removeItemEnd","removeItemAborted"],z=["name","EVENTS","config","loaded"];var M=D.reduce((e,t)=>(e[t]=t,e),{registerPluginType:e=>`registerPlugin:${e}`,pluginReadyType:e=>`ready:${e}`});const L=/^utm_/,C=/^an_prop_/,V=/^an_trait_/;function R(e){const{setItem:t}=e.storage;return n=>r=>i=>{if(i.type===M.bootstrap){const{params:r,user:o,persistedUser:a,initialUser:s}=i,c=a.userId===o.userId;a.anonymousId!==o.anonymousId&&t(k,o.anonymousId),c||t(T,o.userId),s.traits&&t(N,y({},c&&a.traits?a.traits:{},s.traits));const u=Object.keys(i.params);if(u.length){const{an_uid:t,an_event:i}=r,o=u.reduce((e,t)=>{if(t.match(L)||t.match(/^(d|g)clid/)){const n=t.replace(L,"");e.campaign["campaign"===n?"name":n]=r[t]}return t.match(C)&&(e.props[t.replace(C,"")]=r[t]),t.match(V)&&(e.traits[t.replace(V,"")]=r[t]),e},{campaign:{},props:{},traits:{}});n.dispatch(y({type:M.params,raw:r},o,t?{userId:t}:{})),t&&setTimeout(()=>e.identify(t,o.traits),0),i&&setTimeout(()=>e.track(i,o.props),0),Object.keys(o.campaign).length&&n.dispatch({type:M.campaign,campaign:o.campaign})}}return r(i)}}function B(e){return function(t={},n={}){if(n.type===M.setItemEnd){if(n.key===k)return y({},t,{anonymousId:n.value});if(n.key===T)return y({},t,{userId:n.value})}switch(n.type){case M.identify:return Object.assign({},t,{userId:n.userId,traits:y({},t.traits,n.traits)});case M.reset:return[T,k,N].forEach(t=>{e.removeItem(t)}),Object.assign({},t,{userId:null,anonymousId:null,traits:{}});default:return t}}}function H(e){return{userId:e.getItem(T),anonymousId:e.getItem(k),traits:e.getItem(N)}}const U=e=>u+"TEMP"+u+e;function Y(t){const{setItem:n,removeItem:r,getItem:o}=t.storage;return t=>a=>s=>{const{userId:c,traits:u,options:l}=s;if(s.type===M.reset&&([T,N,k].forEach(e=>{r(e)}),[q,j,"traits"].forEach(e=>{i(U(e))})),s.type===M.identify){o(k)||n(k,e());const r=o(T),i=o(N)||{};r&&r!==c&&t.dispatch({type:M.userIdChanged,old:{userId:r,traits:i},new:{userId:c,traits:u},options:l}),c&&n(T,c),u&&n(N,y({},i,u))}return a(s)}}const X={};function J(e,t){X[e]&&l(X[e])&&(X[e](t),delete X[e])}function K(e,t,n){return new Promise((r,i)=>t()?r(e):n<1?i(y({},e,{queue:!0})):new Promise(e=>setTimeout(e,10)).then(o=>K(e,t,n-10).then(r,i)))}function W(e){return{abort:e}}function F(e,t,n){const r={},i=t(),{plugins:o,context:a,queue:s,user:u}=e.getState();if(!a.offline&&s&&s.actions&&s.actions.length){const t=s.actions.reduce((e,t,n)=>(o[t.plugin].loaded?(e.process.push(t),e.processIndex.push(n)):(e.requeue.push(t),e.requeueIndex.push(n)),e),{processIndex:[],process:[],requeue:[],requeueIndex:[]});if(t.processIndex&&t.processIndex.length){t.processIndex.forEach(t=>{const a=s.actions[t],d=a.plugin,p=a.payload.type,m=i[d][p];if(m&&l(m)){const t=function(e={},t={}){return[q,j].reduce((n,r)=>(e.hasOwnProperty(r)&&t[r]&&t[r]!==e[r]&&(n[r]=t[r]),n),e)}(a.payload,u);let i;const s=r[t.meta.rid];if(!s&&(i=m({payload:t,config:o[d].config,instance:n,abort:W}),i&&c(i)&&i.abort))return void(r[t.meta.rid]=!0);if(!s){const n=`${p}:${d}`;e.dispatch(y({},t,{type:n,_:{called:n,from:"queueDrain"}}))}}});const a=s.actions.filter((e,n)=>!~t.processIndex.indexOf(n));s.actions=a}}}const G=/Start$/,Z=/^bootstrap/,Q=/^ready/;async function ee({data:e,action:t,instance:n,state:r,allPlugins:i,allMatches:o,store:a,EVENTS:s}){const{plugins:u,context:d}=r,p=t.type,m=p.match(G);let f=e.exact.map(e=>e.pluginName);m&&(f=o.during.map(e=>e.pluginName));const g=function(e,t){return function(n,r,i){const{config:o,name:a}=r;let s=`${a}.${n.type}`;i&&(s=i.event);const c=n.type.match(G)?function(e,t,n,r,i){return function(o,a){const s=r?r.name:e;let c=a&&se(a)?a:n;if(r&&(c=a&&se(a)?a:[e],!c.includes(e)||1!==c.length))throw new Error(`Method ${t} can only abort ${e} plugin. ${JSON.stringify(c)} input valid`);return y({},i,{abort:{reason:o,plugins:c,caller:t,_:s}})}}(a,s,t,i,n):function(e,t){return()=>{throw new Error(e.type+" action not cancellable. Remove abort in "+t)}}(n,s);return{payload:le(n),instance:e,config:o||{},abort:c}}}(n,f),h=e.exact.reduce((e,t)=>{const{pluginName:n,methodName:r}=t;let i=!1;return r.match(/^initialize/)||r.match(/^reset/)||(i=!u[n].loaded),d.offline&&r.match(/^(page|track|identify)/)&&(i=!0),e[`${n}`]=i,e},{}),b=await e.exact.reduce(async(r,o,a)=>{const{pluginName:s}=o,d=await r;if(e.namespaced&&e.namespaced[s]){const r=await e.namespaced[s].reduce(async(e,t,r)=>{const o=await e;if(!t.method||!l(t.method))return o;!function(e,t){const n=ue(e);if(n&&n.name===t){const r=ue(n.method);throw new Error([t+" plugin is calling method "+e,"Plugins cant call self",`Use ${n.method} ${r?"or "+r.method:""} in ${t} plugin insteadof ${e}`].join("\n"))}}(t.methodName,t.pluginName);const a=await t.method({payload:o,instance:n,abort:(d=o,m=s,f=t.pluginName,function(e,t){return y({},d,{abort:{reason:e,plugins:t||[m],caller:p,from:f||m}})}),config:ne(t.pluginName,u,i),plugins:u});var d,m,f;const g=c(a)?a:{};return Promise.resolve(y({},o,g))},Promise.resolve(t));d[s]=r}else d[s]=t;return Promise.resolve(d)},Promise.resolve({})),w=await e.exact.reduce(async(t,r,o)=>{const s=e.exact.length===o+1,{pluginName:l}=r,d=i[l],f=await t;let w=b[l]?b[l]:{};if(m&&(w=f),oe(w,l))return te({data:w,method:p,instance:n,pluginName:l,store:a}),Promise.resolve(f);if(oe(f,l))return s&&te({data:f,method:p,instance:n,store:a}),Promise.resolve(f);if(h.hasOwnProperty(l)&&!0===h[l])return a.dispatch({type:"queue",plugin:l,payload:w,_:{called:"queue",from:"queueMechanism"}}),Promise.resolve(f);const E=g(b[l],i[l]),v=await d[p]({abort:E.abort,payload:w,instance:n,config:ne(l,u,i),plugins:u}),S=y({},f,c(v)?v:{}),I=b[l];if(oe(I,l))te({data:I,method:p,instance:n,pluginName:l,store:a});else{const e=`${p}:${l}`;(e.match(/:/g)||[]).length<2&&!p.match(Z)&&!p.match(Q)&&n.dispatch(y({},m?S:w,{type:e,_:{called:e,from:"submethod"}}))}return Promise.resolve(S)},Promise.resolve(t));if(!(p.match(G)||p.match(/^registerPlugin/)||p.match(Q)||p.match(Z)||p.match(/^params/)||p.match(/^userIdChanged/))){if(s.plugins.includes(p),w._&&w._.originalAction===p)return w;let t=y({},w,{_:{originalAction:w.type,called:w.type,from:"engineEnd"}});ae(w,e.exact.length)&&!p.match(/End$/)&&(t=y({},t,{type:w.type+"Aborted"})),a.dispatch(t)}return w}function te({data:e,method:t,pluginName:n,store:r}){const i=t+"Aborted"+(n?":"+n:"");r.dispatch(y({},e,{type:i,_:{called:i,from:"abort"}}))}function ne(e,t,n){const r=t[e]||n[e];return r&&r.config?r.config:{}}function re(e,t){return t.reduce((t,n)=>n[e]?t.concat({methodName:e,pluginName:n.name,method:n[e]}):t,[])}function ie(e,t){const n=e.replace(G,""),r=t?`:${t}`:"";return[`${e}${r}`,`${n}${r}`,`${n}End${r}`]}function oe({abort:e},t){return!!e&&(!0===e||ce(e,t)||e&&ce(e.plugins,t))}function ae({abort:e},t){if(!e)return!1;if(!0===e||p(e))return!0;const{plugins:n}=e;return se(e)&&e.length===t||se(n)&&n.length===t}function se(e){return Array.isArray(e)}function ce(e,t){return!(!e||!se(e))&&e.includes(t)}function ue(e){const t=e.match(/(.*):(.*)/);return!!t&&{method:t[1],name:t[2]}}function le(e){return Object.keys(e).reduce((t,n)=>("type"===n||(t[n]=c(e[n])?Object.assign({},e[n]):e[n]),t),{})}function de(e,t,n){const r={};return i=>o=>async a=>{const{type:s,abort:c,plugins:u}=a;let p=a;if(c)return o(a);if(s===M.enablePlugin&&i.dispatch({type:M.initializeStart,plugins:u,disabled:[],fromEnable:!0,meta:a.meta}),s===M.disablePlugin&&setTimeout(()=>J(a.meta.rid,{payload:a}),0),s===M.initializeEnd){const e=t(),n=Object.keys(e),o=n.filter(e=>u.includes(e)).map(t=>e[t]);let s=[],c=[],l=a.disabled;const d=o.map(e=>{const{loaded:t,name:n,config:o}=e;return K(e,()=>t({config:o}),1e4).then(t=>(r[n]||(i.dispatch({type:M.pluginReadyType(n),name:n,events:Object.keys(e).filter(e=>!z.includes(e))}),r[n]=!0),s=s.concat(n),e)).catch(e=>{if(e instanceof Error)throw new Error(e);return c=c.concat(e.name),e})});Promise.all(d).then(e=>{const t={plugins:s,failed:c,disabled:l};setTimeout(()=>{n.length===d.length+l.length&&i.dispatch(y({},{type:M.ready},t))},0)})}if(s!==M.bootstrap){/^ready:([^:]*)$/.test(s)&&setTimeout(()=>F(i,t,e),0);const r=await async function(e,t,n,r,i){const o=l(t)?t():t,a=e.type,s=a.replace(G,"");if(e._&&e._.called)return e;const c=n.getState();let u=function(e,t={},n={}){return Object.keys(e).filter(e=>{const r=n.plugins||{};return d(r[e])?r[e]:!1!==r.all&&(!t[e]||!1!==t[e].enabled)}).map(t=>e[t])}(o,c.plugins,e.options);a===M.initializeStart&&e.fromEnable&&(u=Object.keys(c.plugins).filter(t=>{const n=c.plugins[t];return e.plugins.includes(t)&&!n.initialized}).map(e=>o[e]));const p=u.map(e=>e.name),m=function(e,t,n){const r=ie(e).map(e=>re(e,t));return t.reduce((n,r)=>{const{name:i}=r,o=ie(e,i),[a,s,c]=o.map(e=>re(e,t));return a.length&&(n.beforeNS[i]=a),s.length&&(n.duringNS[i]=s),c.length&&(n.afterNS[i]=c),n},{before:r[0],beforeNS:{},during:r[1],duringNS:{},after:r[2],afterNS:{}})}(a,u),f=await ee({action:e,data:{exact:m.before,namespaced:m.beforeNS},state:c,allPlugins:o,allMatches:m,instance:n,store:r,EVENTS:i});if(ae(f,p.length))return f;let g;if(g=a===s?f:await ee({action:y({},f,{type:s}),data:{exact:m.during,namespaced:m.duringNS},state:c,allPlugins:o,allMatches:m,instance:n,store:r,EVENTS:i}),a.match(G)){const e=`${s}End`,t=await ee({action:y({},g,{type:e}),data:{exact:m.after,namespaced:m.afterNS},state:c,allPlugins:o,allMatches:m,instance:n,store:r,EVENTS:i});t.meta&&t.meta.hasCallback&&J(t.meta.rid,{payload:t})}return f}(a,t,e,i,n);return o(r)}return o(p)}}function pe(e){return t=>t=>n=>{const{type:r,key:i,value:o,options:a}=n;if(r===M.setItem||r===M.removeItem){if(n.abort)return t(n);r===M.setItem?e.setItem(i,o,a):e.removeItem(i,a)}return t(n)}}class me{constructor(){this.before=[],this.after=[],this.addMiddleware=(e,t)=>{this[t]=this[t].concat(e)},this.removeMiddleware=(e,t)=>{const n=this[t].findIndex(t=>t===e);-1!==n&&(this[t]=[...this[t].slice(0,n),...this[t].slice(n+1)])},this.dynamicMiddlewares=e=>t=>n=>r=>{const i={getState:t.getState,dispatch:e=>t.dispatch(e)};return A(...this[e].map(e=>e(i)))(n)(r)}}}function fe(e){return function(t={},n){let r={};if("initialize:aborted"===n.type)return t;if(/^registerPlugin:([^:]*)$/.test(n.type)){const i=ge(n.type,"registerPlugin"),o=e()[i];if(!o||!i)return t;const a=n.enabled,s=o.config;return r[i]={enabled:a,initialized:!!a&&Boolean(!o.initialize),loaded:!!a&&Boolean(o.loaded({config:s})),config:s},y({},t,r)}if(/^initialize:([^:]*)$/.test(n.type)){const i=ge(n.type,M.initialize),o=e()[i];return o&&i?(r[i]=y({},t[i],{initialized:!0,loaded:Boolean(o.loaded({config:o.config}))}),y({},t,r)):t}if(/^ready:([^:]*)$/.test(n.type))return r[n.name]=y({},t[n.name],{loaded:!0}),y({},t,r);switch(n.type){case M.disablePlugin:return y({},t,ye(n.plugins,!1,t));case M.enablePlugin:return y({},t,ye(n.plugins,!0,t));default:return t}}}function ge(e,t){return e.substring(t.length+1,e.length)}function ye(e,t,n){return e.reduce((e,r)=>(e[r]=y({},n[r],{enabled:t}),e),n)}function he(e){try{return JSON.parse(JSON.stringify(e))}catch(e){}return e}const be={last:{},history:[]};function we(e=be,t){const{type:n,event:r,properties:i,options:o,meta:a}=t;if(n===M.track){const t=he(y({event:r,properties:i},Object.keys(o).length&&{options:o},{meta:a}));return y({},e,{last:t,history:e.history.concat(t)})}return e}const Ee={actions:[]};function ve(e=Ee,t){const{type:n,payload:r}=t;switch(n){case"queue":let n;return n=r&&r.type&&r.type===M.identify?[t].concat(e.actions):e.actions.concat(t),y({},e,{actions:n});case"dequeue":return[];default:return e}}const Se=/#.*$/;function Ie(e){const t=/(http[s]?:\/\/)?([^\/\s]+\/)(.*)/g.exec(e);return"/"+(t&&t[3]?t[3].split("?")[0].replace(Se,""):"")}const _e=(e={})=>{if(!m)return e;const{title:t,referrer:n}=document,{location:r,innerWidth:i,innerHeight:o}=window,{hash:a,search:s}=r,c=function(e){const t=function(){if(!m)return;const e=document.getElementsByTagName("link");for(var t,n=0;t=e[n];n++)if("canonical"===t.getAttribute("rel"))return t.getAttribute("href")}();return t?t.match(/\?/)?t:t+e:window.location.href.replace(Se,"")}(s),u={title:t,url:c,path:Ie(c),hash:a,search:s,width:i,height:o};return n&&""!==n&&(u.referrer=n),y({},u,e)},xe={last:{},history:[]};function Pe(e=xe,t){const{properties:n,options:r,meta:i}=t;if(t.type===M.page){const t=he(y({properties:n,meta:i},Object.keys(r).length&&{options:r}));return y({},e,{last:t,history:e.history.concat(t)})}return e}let Ae,ke;Ae="na",ke={};const Te={initialized:!1,sessionId:e(),app:null,version:null,debug:!1,offline:!!m&&!navigator.onLine,os:{name:"na"},userAgent:m?navigator.userAgent:"node",library:{name:O,version:"0.3.0"},timezone:void 0,locale:void 0,campaign:{},referrer:ke};function Ne(e=Te,t){const{initialized:n}=e,{type:r,campaign:i}=t;switch(r){case M.campaign:return y({},e,{campaign:i});case M.offline:return y({},e,{offline:!0});case M.online:return y({},e,{offline:!1});default:return n?e:y({},Te,e,{initialized:!0})}}const Oe=["plugins","reducers","storage"];function qe(){return o(O,[]),e=>(t,n,r)=>{const i=e(t,n,r),o=i.dispatch;return Object.assign(i,{dispatch:e=>(a[s][O].push(e.action||e),o(e))})}}function je(e){return function(){return A(A.apply(null,arguments),qe())}}function $e(e){return e?f(e)?e:[e]:[]}function De(t={},n,r){const i=e();var o,a;return n&&(X[i]=(o=n,a=function(e){const t=e||Array.prototype.slice.call(arguments);let n;for(let e=0;e<t.length;e++)if(l(t[e])){n=t[e];break}return n}(r),e=>{a&&a(e),o(e)})),y({},t,{rid:i,ts:(new Date).getTime()},n?{hasCallback:!0}:{})}const ze="before",Me="after",Le="in_store",Ce="home_delivery";function Ve(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){let t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})}function Re(e){let t=e+"=",n=document.cookie.split(";");for(let e=0;e<n.length;e++){let r=n[e].trim();if(0===r.indexOf(t))return r.substring(t.length,r.length)}return null}function Be(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)?"app":"website"}function He(){const e=document.querySelector("a.product-brand.adobelaunch__brand");let t="";return e&&(t=e.getAttribute("data-adobelaunchproductid")),t}function Ue(){const e=document.querySelector("span.formatted_sale_price.formatted_price.js-final-sale-price.bfx-price.bfx-list-price"),t=document.querySelector("span.formatted_sale_price.formatted_price.js-final-sale-price.bfx-price.bfx-sale-price");let n="";return e&&(n=t?t.getAttribute("data-unformatted-price"):e.getAttribute("data-unformatted-price")),n}function Ye(){const e=document.querySelector(".product-detail span.product-name");let t="";return e&&(t=e.innerText),t}function Xe(){return!(!window.pageData||!window.pageData.visitor||"anonymous"!==window.pageData.visitor.logged_in_status)}function Je(){let e=[];Xe()||e.push(window.pageData.visitor.SHA_256_hash_email_address);const t=document.querySelector(".instore-section"),n=document.querySelector("#instorepick-details .pickup-person-summary div.email"),r=n?n.innerText.trim().toLowerCase():"";if(t&&!t.classList.contains("d-none")&&r){let t=g(r).toString();-1===e.indexOf(t)&&e.push(t)}const i=document.querySelector(".instore-section")?document.querySelector(".instore-section").nextElementSibling:null,o=document.querySelector(".card.shipping-summary div.shipping-email"),a=o?o.innerText.trim().toLowerCase():"";if(i&&!i.classList.contains("d-none")&&a){let t=g(a).toString();-1===e.indexOf(t)&&e.push(t)}return e}function Ke(){let e=[];Xe()||e.push(g(window.pageData.visitor.phone.trim().replace(/[()-]/g,"")).toString());const t=document.querySelector(".instore-section"),n=document.querySelector("#instorepick-details .pickup-person-summary div.phone"),r=n?n.innerText.trim().replace(/[()-]/g,""):"";if(t&&!t.classList.contains("d-none")&&r){let t=g(r).toString();-1===e.indexOf(t)&&e.push(t)}const i=document.querySelector(".instore-section")?document.querySelector(".instore-section").nextElementSibling:null,o=document.querySelector(".card.shipping-summary div.shipping-phone"),a=o?o.innerText.trim().replace(/[()-]/g,""):"";if(i&&!i.classList.contains("d-none")&&a){let t=g(a).toString();-1===e.indexOf(t)&&e.push(t)}return e}function We(){const e=document.querySelector(".subtotal-item span.sub-total"),t=e?e.innerText:"";return t?t.match(/[\d,.]+/)[0]:""}function Fe(){let e=[],t={};window.pageData.products.forEach(function(e){const n=e.code;let r=e.quantity;t[n]=t[n]?Number(t[n])+Number(r):Number(r)});for(let n in t)e.push({id:n,quantity:t[n]});return e}function Ge(){const e=document.querySelector(".summary-details.shipping .address-summary span.postalCode");return g(e.innerText).toString()}const Ze="ViewContent",Qe="AddToCart",et="Purchase",tt="product_group",nt="https://4k9okm2zhg.execute-api.us-east-1.amazonaws.com/marketing/",rt={X_API_KEY:"mcqNDqiz1B6Y8i85sBKD68SLqI3zVIzW8jyNkZUq",REAL_TIME_EVENT_PATH:nt+"realTimeEvent",DELAY_TIME_EVENT_PATH:nt+"delayTimeEvent"};if("undefined"!=typeof window){console.log("😁huanjing1");const a=function(a={}){const s=a.reducers||{},u=a.initialUser||{},d=(a.plugins||[]).reduce((e,t)=>{if(l(t))return e.middlewares=e.middlewares.concat(t),e;if(t.NAMESPACE&&(t.name=t.NAMESPACE),!t.name)throw new Error("https://lytics.dev/errors/1");t.config||(t.config={});const n=t.EVENTS?Object.keys(t.EVENTS).map(e=>t.EVENTS[e]):[];e.pluginEnabled[t.name]=!(!1===t.enabled||!1===t.config.enabled),delete t.enabled,t.methods&&(e.methods[t.name]=Object.keys(t.methods).reduce((e,n)=>{var r;return e[n]=(r=t.methods[n],function(){const e=Array.prototype.slice.call(arguments);let t=new Array(r.length);for(let n=0;n<e.length;n++)t[n]=e[n];return t[t.length]=F,r.apply({instance:F},t)}),e},{}),delete t.methods);const r=Object.keys(t).concat(n),i=new Set(e.events.concat(r));if(e.events=Array.from(i),e.pluginsArray=e.pluginsArray.concat(t),e.plugins[t.name])throw new Error(t.name+"AlreadyLoaded");return e.plugins[t.name]=t,e.plugins[t.name].loaded||(e.plugins[t.name].loaded=()=>!0),e},{plugins:{},pluginEnabled:{},methods:{},pluginsArray:[],middlewares:[],events:[]}),f=a.storage?a.storage:{getItem:r,setItem:o,removeItem:i},g=function(e){return function(t,n,i){return n.getState("user")[t]||(i&&c(i)&&i[t]?i[t]:H(e)[t]||r(U(t))||null)}}(f);let E=d.plugins;const I=d.events.filter(e=>!z.includes(e)).sort(),_=new Set(I.concat(D).filter(e=>!z.includes(e))),T=Array.from(_).sort(),N=()=>E,{addMiddleware:O,removeMiddleware:$,dynamicMiddlewares:L}=new me,C=()=>{throw new Error("Abort disabled inListener")},V=t(),X=H(f),J=y({},X,u,V.an_uid?{userId:V.an_uid}:{},V.an_aid?{anonymousId:V.an_aid}:{});J.anonymousId||(J.anonymousId=e());const K=y({enable:(e,t)=>new Promise(n=>{ie.dispatch({type:M.enablePlugin,plugins:$e(e),_:{originalAction:M.enablePlugin}},n,[t])}),disable:(e,t)=>new Promise(n=>{ie.dispatch({type:M.disablePlugin,plugins:$e(e),_:{originalAction:M.disablePlugin}},n,[t])})},d.methods);let W=!1;const F={identify:async(e,t,n,r)=>{const i=p(e)?e:null,a=c(e)?e:t,s=n||{},u=F.user();o(U(q),i);const l=i||a.userId||g(q,F,a);return new Promise(e=>{ie.dispatch(y({type:M.identifyStart,userId:l,traits:a||{},options:s,anonymousId:u.anonymousId},u.id&&u.id!==i&&{previousId:u.id}),e,[t,n,r])})},track:async(e,t,n,r)=>{const i=c(e)?e.event:e;if(!i||!p(i))throw new Error("EventMissing");const o=c(e)?e:t||{},a=c(n)?n:{};return new Promise(e=>{ie.dispatch({type:M.trackStart,event:i,properties:o,options:a,userId:g(q,F,t),anonymousId:g(j,F,t)},e,[t,n,r])})},page:async(e,t,n)=>{const r=c(e)?e:{},i=c(t)?t:{};return new Promise(o=>{ie.dispatch({type:M.pageStart,properties:_e(r),options:i,userId:g(q,F,r),anonymousId:g(j,F,r)},o,[e,t,n])})},user:e=>{if(e===q||"id"===e)return g(q,F);if(e===j||"anonId"===e)return g(j,F);const t=F.getState("user");return e?n(t,e):t},reset:e=>new Promise(t=>{ie.dispatch({type:M.resetStart},t,e)}),ready:e=>(W&&e({plugins:K,instance:F}),F.on(M.ready,t=>{e(t),W=!0})),on:(e,t)=>{if(!e||!l(t))return!1;if(e===M.bootstrap)throw new Error(".on disabled for "+e);const n=/Start$|Start:/;if("*"===e){const e=e=>e=>r=>(r.type.match(n)&&t({payload:r,instance:F,plugins:E}),e(r)),r=e=>e=>r=>(r.type.match(n)||t({payload:r,instance:F,plugins:E}),e(r));return O(e,ze),O(r,Me),()=>{$(e,ze),$(r,Me)}}const r=e.match(n)?ze:Me,i=n=>n=>r=>(r.type===e&&t({payload:r,instance:F,plugins:E,abort:C}),n(r));return O(i,r),()=>$(i,r)},once:(e,t)=>{if(!e||!l(t))return!1;if(e===M.bootstrap)throw new Error(".once disabled for "+e);const n=F.on(e,({payload:e})=>{t({payload:e,instance:F,plugins:E,abort:C}),n()});return n},getState:e=>{const t=ie.getState();return e?n(t,e):Object.assign({},t)},dispatch:e=>{const t=p(e)?{type:e}:e;if(D.includes(t.type))throw new Error("reserved action "+t.type);const n=y({},t,{_:y({originalAction:t.type},e._||{})});ie.dispatch(n)},enablePlugin:K.enable,disablePlugin:K.disable,plugins:K,storage:{getItem:f.getItem,setItem:(e,t,n)=>{ie.dispatch({type:M.setItemStart,key:e,value:t,options:n})},removeItem:(e,t)=>{ie.dispatch({type:M.removeItemStart,key:e,options:t})}},setAnonymousId:(e,t)=>{F.storage.setItem(k,e,t)},events:{core:D,plugins:I}},G=d.middlewares.concat([e=>e=>t=>(t.meta||(t.meta=De()),e(t)),L(ze),de(F,N,{all:T,plugins:I}),pe(f),R(F),Y(F),L(Me)]),Z={context:Ne,user:B(f),page:Pe,track:we,plugins:fe(N),queue:ve};let Q=A,ee=A;if(m&&a.debug){const e=window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;e&&(Q=e({trace:!0,traceLimit:25})),ee=function(){return 0===arguments.length?qe():c(typeof arguments[0])?je():je().apply(null,arguments)}}const te=function(e){return Object.keys(e).reduce((t,n)=>(Oe.includes(n)||(t[n]=e[n]),t),{})}(a),ne=d.pluginsArray.reduce((e,t)=>{const{name:n,config:r,loaded:i}=t,o=d.pluginEnabled[n];return e[n]={enabled:o,initialized:!!o&&Boolean(!t.initialize),loaded:Boolean(i({config:r})),config:r},e},{}),re={context:te,user:J,plugins:ne},ie=x(function(e){const t=Object.keys(e),n={};for(let r=0;r<t.length;r++){const i=t[r];typeof e[i]===h&&(n[i]=e[i])}const r=Object.keys(n);let i;try{!function(e){Object.keys(e).forEach(t=>{const n=e[t];if(typeof n(void 0,{type:v})===b||typeof n(void 0,{type:S})===b)throw new Error(w+" "+t+" "+b)})}(n)}catch(e){i=e}return function(e={},t){if(i)throw i;let o=!1;const a={};for(let i=0;i<r.length;i++){const s=r[i],c=e[s],u=(0,n[s])(c,t);if(typeof u===b){const e=P(s,t);throw new Error(e)}a[s]=u,o=o||u!==c}return o?a:e}}(y({},Z,s)),re,ee(Q(function(...e){return t=>(n,r,i)=>{const o=t(n,r,i);let a=o.dispatch,s=[];const c={getState:o.getState,dispatch:e=>a(e)};return s=e.map(e=>e(c)),a=A(...s)(o.dispatch),y({},o,{dispatch:a})}}(...G))));var oe;ie.dispatch=(oe=ie.dispatch,function(e,t,n){const r=y({},e,{meta:De(e.meta,t,$e(n))});return oe.apply(null,[r])});const ae=Object.keys(E);ie.dispatch({type:M.bootstrap,plugins:ae,config:te,params:V,user:J,initialUser:u,persistedUser:X});const se=ae.filter(e=>d.pluginEnabled[e]),ce=ae.filter(e=>!d.pluginEnabled[e]);return ie.dispatch({type:M.registerPlugins,plugins:ae,enabled:d.pluginEnabled}),d.pluginsArray.map((e,t)=>{const{bootstrap:n,config:r,name:i}=e;n&&l(n)&&n({instance:F,config:r,payload:e}),ie.dispatch({type:M.registerPluginType(i),name:i,enabled:d.pluginEnabled[i],plugin:e}),d.pluginsArray.length===t+1&&ie.dispatch({type:M.initializeStart,plugins:se,disabled:ce})}),F}({app:"SFCC",debug:!0,plugins:[{name:"sfcc-plugin",config:{},initialize:({})=>{console.log("sfcc-plugin load")},page:({})=>{},track:({payload:e})=>{const{event:t,properties:n}=e;console.log(`😁Event ${e.type}`,e),function(e,t,n,r){let i=new XMLHttpRequest;i.open("POST",t,!0),i.onreadystatechange=function(){},i.setRequestHeader("x-api-key",rt.X_API_KEY),i.setRequestHeader("Content-type","application/json"),i.send(JSON.stringify(n))}(0,t===et?rt.REAL_TIME_EVENT_PATH:rt.DELAY_TIME_EVENT_PATH,n)},identify:({})=>{},loaded:()=>!0}]});document.addEventListener("DOMContentLoaded",function(){const e=window.location.href;if(e.includes("/product/"))try{a.track(Ze,{id:Ve(),ev:Ze,ts:(new Date).getTime(),as:Be(),eu:e,"ud[em]":Je(),"ud[ph]":Ke(),"ud[ge]":"","cd[content_type]":tt,"cd[content_ids]":[He()],"cd[currency]":Re("bfx.currency"),"cd[value]":Ue(),"cd[content_name]":Ye()})}catch(e){}}),$("body").on("product:afterAddToCart",function(e,t){try{let e=t.product,n=(window,""),r="",i="";e&&(n=e.brand.name,r=e.price.sales.value,i=e.id),console.log(n,r,i),a.track(Qe,{id:Ve(),ev:Qe,ts:(new Date).getTime(),as:"website",eu:window.location.href,"ud[em]":Je(),"ud[ph]":Ke(),"ud[ge]":"","cd[content_type]":tt,"cd[content_ids]":[i],"cd[content_brands]":[n],"cd[currency]":Re("bfx.currency"),"cd[value]":r})}catch(e){}}),document.addEventListener("DOMContentLoaded",function(){const e=document.querySelector(".place-order");try{if(e&&e.addEventListener("click",function(){a.track(et,{id:Ve(),ev:et,ts:(new Date).getTime(),as:Be(),eu:window.location.href,"ud[em]":Je(),"ud[ph]":Ke(),"ud[ge]":"","ud[zp]":Ge(),"cd[content_type]":tt,"cd[contents]":Fe(),"cd[currency]":Re("bfx.currency"),"cd[value]":We(),"cd[delivery_category]":document.querySelector("div.instore-section").classList.contains("d-none")?Ce:Le})}),/orderconfirm$/.test(location.pathname)&&window.pageData.order&&window.pageData.order.payment_method&&window.pageData.order.payment_method.includes("DW_APPLE_PAY")){let e=window.pageData.order.subtotal;a.track(et,{id:Ve(),ev:et,ts:Date.now(),as:Be(),eu:window.location.href,"ud[em]":window.pageData.visitor.email_address||"","ud[ph]":window.pageData.visitor.phone||"","ud[ge]":"","ud[zp]":window.pageData.order.shipping_zip,"cd[content_type]":tt,"cd[contents]":Fe(),"cd[currency]":Re("bfx.currency"),"cd[value]":e,"cd[delivery_category]":"GROUND_HOME_DELIVERY"===window.pageData.order.shipping_method?Ce:Le})}}catch(e){}})}
//# sourceMappingURL=core.modern.js.map