@yuno-payments/sdk-event-log 1.9.0 → 1.10.0-miguel.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/cjs/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var e,t,s=require("axios"),i=require("ua-parser-js");function n(e,t,s,i){return new(s||(s=Promise))((function(n,o){function r(e){try{h(i.next(e))}catch(e){o(e)}}function a(e){try{h(i.throw(e))}catch(e){o(e)}}function h(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(r,a)}h((i=i.apply(e,t||[])).next())}))}function o(e,t,s,i){if("a"===s&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?i:"a"===s?i.call(e):i?i.value:t.get(e)}function r(e,t,s,i,n){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?n.call(e,s):n?n.value=s:t.set(e,s),s}"function"==typeof SuppressedError&&SuppressedError,exports.EventLogType=void 0,(e=exports.EventLogType||(exports.EventLogType={})).LOG="LOG",e.EVENT="EVENT",exports.Level=void 0,(t=exports.Level||(exports.Level={})).ERROR="ERROR",t.DEBUG="DEBUG",t.INFO="INFO";const a={dev:"-dev",staging:"-staging",sandbox:"-sandbox",prod:""},h=e=>{const[t]=e.split("_"),s=a[t];if(void 0===s)throw new Error(`Not environment found publicApiKey: ${e}, apiKeyPrefix: ${t}, environmentSuffix: ${s}`);return"https://api_ENVIRONMENT_.y.uno/v1".replace("_ENVIRONMENT_",s)};var c,l,d;const u=["localhost","127.0.0.1"];class v{constructor(e,t,s,i=!1){c.set(this,!1),l.set(this,void 0),d.set(this,{method:"POST",keepalive:!0,headers:{}}),r(this,c,i,"f"),o(this,d,"f").headers={"X-Platform":e,"public-api-key":t,"Content-Type":"application/json","accept-language":s},r(this,l,h(t),"f")}sendBatch(e){return o(this,c,"f")&&console.dir(e,{depth:null}),u.some((e=>window.location.href.includes(e)))?Promise.resolve(null):fetch(`${o(this,l,"f")}/sdk/event-log/publish`,Object.assign(Object.assign({},o(this,d,"f")),{body:JSON.stringify({batch:e})})).then((e=>e.json()))}sendMetricsBatch(e){return o(this,c,"f")&&console.dir(e,{depth:null}),u.some((e=>window.location.href.includes(e)))?Promise.resolve(null):fetch(`${o(this,l,"f")}/sdk/performance/publish`,Object.assign(Object.assign({},o(this,d,"f")),{body:JSON.stringify({batch:e})})).then((e=>e.json()))}}var f,g;c=new WeakMap,l=new WeakMap,d=new WeakMap;class p{constructor(e,t,i,n=!1){f.set(this,void 0),g.set(this,!1),r(this,g,n,"f"),r(this,f,s.create({baseURL:h(t),headers:{"X-Platform":e,"public-api-key":t,"accept-language":i},timeout:6e4}),"f")}sendBatch(e){return o(this,g,"f")&&console.dir(e,{depth:null}),o(this,f,"f").post("/sdk/event-log/publish",{batch:e}).then((({data:e})=>e))}sendMetricsBatch(e){return o(this,g,"f")&&console.dir(e,{depth:null}),o(this,f,"f").post("/sdk/performance/publish",{batch:e}).then((({data:e})=>e))}getInstances(){return o(this,f,"f")}}f=new WeakMap,g=new WeakMap;const m=new Function("try {return this===window;}catch(e){ return false;}");const b=e=>{if(!m())return;let t,s=document.cookie.split(";").find((t=>t.split("=")[0].trim()===e));return t=s?s.split("=")[1]:w(),s=`${e}=${t};path=/;${y()}`,document.cookie=s,t},w=()=>Date.now().toString(36)+Math.random().toString(36).substring(2,12).padStart(12,"0"),y=()=>{const e=new Date;e.setTime(e.getTime()+31536e6);return`expires=${e.toUTCString()}`};var E,M,I,L,O,k,x;class T{constructor(e,t){E.add(this),M.set(this,void 0),I.set(this,void 0),m()?(r(this,I,!0,"f"),o(this,E,"m",L).call(this,e,t)):r(this,M,setInterval((()=>{e()}),t),"f")}stop(){o(this,M,"f")?clearInterval(o(this,M,"f")):r(this,I,!1,"f")}}M=new WeakMap,I=new WeakMap,E=new WeakSet,L=function(e,t){let s;const i=n=>{void 0===s&&(s=n);n-s>=t&&(e(),s=n,console.log("step",new Date)),o(this,I,"f")&&window.requestAnimationFrame(i)};window.requestAnimationFrame(i)};class B{constructor(e,t,s){O.set(this,void 0),k.set(this,void 0),x.set(this,void 0),this.stop(),r(this,x,t,"f"),r(this,O,s,"f"),r(this,k,new T(this.sendBatch.bind(this),e),"f")}sendBatch(){return n(this,void 0,void 0,(function*(){const e=yield o(this,O,"f").getAllItems();e.length>0&&o(this,x,"f").call(this,e)}))}stop(){o(this,k,"f")&&(o(this,k,"f").stop(),r(this,k,void 0,"f"))}}var _,C,N,A;O=new WeakMap,k=new WeakMap,x=new WeakMap;class S{constructor(e,t){_.add(this),C.set(this,void 0),N.set(this,void 0),r(this,C,window.localStorage,"f"),r(this,N,`${t||"YUNO_EVENT_LOGS"}_${e}`,"f");const s=o(this,C,"f").getItem(o(this,N,"f"));null==s&&this.reset()}reset(){return n(this,void 0,void 0,(function*(){o(this,C,"f").setItem(o(this,N,"f"),JSON.stringify([]))}))}setItem(e){return n(this,void 0,void 0,(function*(){const t=o(this,_,"m",A).call(this);t.push(e),o(this,C,"f").setItem(o(this,N,"f"),function(e){const t=[];return JSON.stringify(e,(function(e,s){if("object"==typeof s&&null!==s){if(-1!==t.indexOf(s))return;t.push(s)}let i;return s instanceof Function||"function"==typeof s?(i=s.toString(),i.length<8||"function"!==i.substring(0,8)?"_arrow_"+i:i):s instanceof RegExp?"_regexp_"+s:s}))}(t))}))}getItem(e){throw new Error("Method not implemented."+e)}removeItem(e){throw new Error("Method not implemented."+e)}getAllItems(){const e=o(this,_,"m",A).call(this);return this.reset(),Promise.resolve(e)}count(){return o(this,_,"m",A).call(this).length}}var W,P;C=new WeakMap,N=new WeakMap,_=new WeakSet,A=function(){let e=o(this,C,"f").getItem(o(this,N,"f"));return null==e&&(e=JSON.stringify([]),o(this,C,"f").setItem(o(this,N,"f"),e)),JSON.parse(e)};class j{constructor(){W.set(this,void 0),r(this,W,[],"f")}reset(){return n(this,void 0,void 0,(function*(){r(this,W,[],"f")}))}setItem(e){return n(this,void 0,void 0,(function*(){o(this,W,"f").push(e)}))}getItem(e){throw new Error("Method not implemented."+e)}removeItem(e){throw new Error("Method not implemented."+e)}getAllItems(){const e=[...o(this,W,"f")];return this.reset(),Promise.resolve(e)}count(){return o(this,W,"f").length}}function R(e,t){const s=function(){try{const e="__yuno_storage__test";return window.localStorage.setItem(e,"test_value"),window.localStorage.removeItem(e),!0}catch(e){return!1}}()?"local-storage":"memory-storage";switch(s){case"local-storage":return new S(e,t);case"memory-storage":return new j;default:throw new Error(`Database type ${s} not supported`)}}W=new WeakMap;class D{constructor({organizationName:e,api:t,enableMetrics:s,debug:i=!1}){this.cron=void 0,this.debug=!1,P.set(this,0),this.api=t,this.database=R(e,"YUNO_METRIC_LOGS"),this.enableMetrics=s,this.debug=i}startCron({enableCron:e,batchTime:t}){this.cron&&this.cron.stop(),e&&t&&this.enableMetrics&&(this.cron=new B(t,this.api.sendMetricsBatch.bind(this.api),this.database),this.cron.sendBatch())}setMetric(e,t){return n(this,void 0,void 0,(function*(){if(!this.enableMetrics)return Promise.resolve();this.debug&&console.log("Metrics",{metricArgs:e}),yield this.database.setItem(e),r(this,P,o(this,P,"f")+1,"f"),o(this,P,"f")>=t&&(r(this,P,0,"f"),yield this.sendBatch())}))}setConfig({enableMetrics:e,enableCron:t,batchTime:s}){this.debug&&console.log("Metrics",{enableMetrics:e,enableCron:t,batchTime:s}),"boolean"==typeof e&&(this.enableMetrics=e),"boolean"==typeof t&&this.startCron({enableCron:t,batchTime:s})}sendBatch(){return n(this,void 0,void 0,(function*(){if(!this.enableMetrics)return Promise.resolve();this.debug&&console.log("Metrics sending batch");const e=yield this.database.getAllItems();return e.length?this.api.sendMetricsBatch(e):void 0}))}}var $,U,F,G,Q,K,V;P=new WeakMap;class z{constructor({organizationName:e,platform:t="Web",batchTime:s,enableEvents:n=!0,enableLogs:a=!0,enableCron:h,debug:c=!1,publicApiKey:l,language:d,xVersion:u,maxBatchQueued:f=30,workflow:g="SDK_CHECKOUT",country:w,cookieName:y="yuno",deviceId:E=b(y),clientAppDomain:M,enableMetrics:I=!1}){$.add(this),this.browserInfo=(new i.UAParser).getResult(),this.cron=void 0,this.isBrowser=m(),U.set(this,void 0),F.set(this,void 0),G.set(this,void 0),Q.set(this,0),this.maxBatchQueued=30,K.set(this,void 0),this.debug=!1,this.debug=c,this.enableEvents=n,this.enableLogs=a,r(this,F,t,"f"),this.language=d,this.country=w,r(this,G,u,"f"),this.enableCron=h,this.api=function(e,t,s,i=!1){return m()?new v(e,t,s,i):new p(e,t,s,i)}(t,l,d,c),this.database=R(e),r(this,Q,this.database.count(),"f"),this.organizationName=e,this.publicApiKey=l,this.maxBatchQueued=f,r(this,K,g,"f"),this.deviceId=E,this.batchTime=s,this.clientAppDomain=M,o(this,$,"m",V).call(this),h&&this.startCron(),this.metrics=new D({debug:c,organizationName:e,api:this.api,enableMetrics:I}),h&&this.metrics.startCron({enableCron:h,batchTime:s})}startCron(){return n(this,void 0,void 0,(function*(){this.cron&&this.cron.stop(),this.enableCron&&this.batchTime&&(this.enableEvents||this.enableLogs)&&(this.cron=new B(this.batchTime,this.api.sendBatch.bind(this.api),this.database),this.cron.sendBatch())}))}setEvent({eventLogArgs:e,level:t}){var s,i;if(!this.enableEvents)return;const n=Object.assign(Object.assign({},e),{location_lat:null===(s=o(this,U,"f"))||void 0===s?void 0:s.latitude,location_lng:null===(i=o(this,U,"f"))||void 0===i?void 0:i.longitude});return this.setItem({eventLogArgs:n,level:t,type:exports.EventLogType.EVENT})}setLog({eventLogArgs:e,level:t}){if(this.enableLogs)return this.setItem({eventLogArgs:e,level:t,type:exports.EventLogType.LOG})}setItem(e){return n(this,arguments,void 0,(function*({eventLogArgs:e,level:t,type:s}){var i,n,a,h,c;this.debug&&console.log("Loggers",{type:s,level:t,eventLogArgs:e}),yield this.database.setItem(Object.assign(Object.assign({os:null===(n=null===(i=this.browserInfo)||void 0===i?void 0:i.os)||void 0===n?void 0:n.name,organization_name:this.organizationName,client_app_domain:null!==(a=this.clientAppDomain)&&void 0!==a?a:this.getDomain()},e),{device_id:this.deviceId,metadata:Object.assign(Object.assign({},e.metadata),{browser_info:this.browserInfo,public_api_key:this.publicApiKey,language:this.language,country:this.country}),headers:Object.assign({user_agent:null===(h=this.browserInfo)||void 0===h?void 0:h.ua,platform:o(this,F,"f"),accept_language:this.language,"x-version":o(this,G,"f"),workflow:o(this,K,"f")},e.headers),url:null!==(c=e.url)&&void 0!==c?c:this.getUrl(),level:t,type:s})),r(this,Q,o(this,Q,"f")+1,"f"),o(this,Q,"f")>=this.maxBatchQueued&&(r(this,Q,0,"f"),yield this.sendBatch())}))}getUrl(){return this.isBrowser?window.location.href:null}getDomain(){return this.isBrowser?window.location.host:null}}U=new WeakMap,F=new WeakMap,G=new WeakMap,Q=new WeakMap,K=new WeakMap,$=new WeakSet,V=function(){return n(this,void 0,void 0,(function*(){this.isBrowser&&r(this,U,yield n(void 0,void 0,void 0,(function*(){var e;if(!(null===(e=window.navigator)||void 0===e?void 0:e.permissions))return;const t=yield window.navigator.permissions.query({name:"geolocation"});return t&&"granted"===t.state?new Promise(((e,t)=>{window.navigator.geolocation.getCurrentPosition((function(t){e({latitude:t.coords.latitude,longitude:t.coords.longitude})}),(function(e){t(e)}))})):void 0})),"f")}))};exports.EventLog=class extends z{constructor(){super(...arguments),this.logger={error:e=>this.setLog({eventLogArgs:e,level:exports.Level.ERROR}),debug:e=>this.setLog({eventLogArgs:e,level:exports.Level.DEBUG}),info:e=>this.setLog({eventLogArgs:e,level:exports.Level.INFO})}}event(e){return this.setEvent({eventLogArgs:e,level:exports.Level.INFO})}setMetric(e){return this.metrics?this.metrics.setMetric(e,this.maxBatchQueued):Promise.resolve()}sendBatch(){return n(this,void 0,void 0,(function*(){this.debug&&console.log("Loggers sendBatch");try{const e=yield this.database.getAllItems();e.length&&(yield this.api.sendBatch(e))}catch(e){}return Promise.resolve()}))}sendMetricBatch(){return n(this,void 0,void 0,(function*(){if(!this.metrics)return Promise.resolve();try{yield this.metrics.sendBatch()}catch(e){}return Promise.resolve()}))}getDeviceId(){return this.deviceId}setConfig({enableCron:e,batchTime:t,enableEvents:s,enableLogs:i,maxBatchQueued:n}){this.enableEvents=void 0!==s?s:this.enableEvents,this.enableLogs=void 0!==i?i:this.enableLogs,this.enableCron=void 0!==e?e:this.enableCron,this.batchTime=void 0!==t?t:this.batchTime,this.maxBatchQueued=void 0!==n?n:this.maxBatchQueued,this.startCron()}setMetricsConfig(e){this.metrics&&this.metrics.setConfig(e)}};
1
+ "use strict";var e,t,s=require("axios"),i=require("ua-parser-js");function n(e,t,s,i){return new(s||(s=Promise))((function(n,o){function r(e){try{h(i.next(e))}catch(e){o(e)}}function a(e){try{h(i.throw(e))}catch(e){o(e)}}function h(e){var t;e.done?n(e.value):(t=e.value,t instanceof s?t:new s((function(e){e(t)}))).then(r,a)}h((i=i.apply(e,t||[])).next())}))}function o(e,t,s,i){if("a"===s&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?i:"a"===s?i.call(e):i?i.value:t.get(e)}function r(e,t,s,i,n){if("m"===i)throw new TypeError("Private method is not writable");if("a"===i&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===i?n.call(e,s):n?n.value=s:t.set(e,s),s}"function"==typeof SuppressedError&&SuppressedError,exports.EventLogType=void 0,(e=exports.EventLogType||(exports.EventLogType={})).LOG="LOG",e.EVENT="EVENT",exports.Level=void 0,(t=exports.Level||(exports.Level={})).ERROR="ERROR",t.DEBUG="DEBUG",t.INFO="INFO";const a={dev:"-dev",staging:"-staging",sandbox:"-sandbox",prod:""},h=e=>{const[t]=e.split("_"),s=a[t];if(void 0===s)throw new Error(`Not environment found publicApiKey: ${e}, apiKeyPrefix: ${t}, environmentSuffix: ${s}`);return"https://api_ENVIRONMENT_.y.uno/v1".replace("_ENVIRONMENT_",s)};var c,l,d;const u=["localhost","127.0.0.1"];class g{constructor(e,t,s,i=!1){c.set(this,!1),l.set(this,void 0),d.set(this,{method:"POST",keepalive:!0,headers:{}}),r(this,c,i,"f"),o(this,d,"f").headers={"X-Platform":e,"public-api-key":t,"Content-Type":"application/json","accept-language":s},r(this,l,h(t),"f")}sendBatch(e){return o(this,c,"f")&&console.dir(e,{depth:null}),u.some((e=>window.location.href.includes(e)))?Promise.resolve(null):fetch(`${o(this,l,"f")}/sdk/event-log/publish`,Object.assign(Object.assign({},o(this,d,"f")),{body:JSON.stringify({batch:e})})).then((e=>e.json()))}sendMetricsBatch(e){return o(this,c,"f")&&console.dir(e,{depth:null}),u.some((e=>window.location.href.includes(e)))?Promise.resolve(null):fetch(`${o(this,l,"f")}/sdk/performance/publish`,Object.assign(Object.assign({},o(this,d,"f")),{body:JSON.stringify({batch:e})})).then((e=>e.json()))}}var f,v;c=new WeakMap,l=new WeakMap,d=new WeakMap;class p{constructor(e,t,i,n=!1){f.set(this,void 0),v.set(this,!1),r(this,v,n,"f"),r(this,f,s.create({baseURL:h(t),headers:{"X-Platform":e,"public-api-key":t,"accept-language":i},timeout:6e4}),"f")}sendBatch(e){return o(this,v,"f")&&console.dir(e,{depth:null}),o(this,f,"f").post("/sdk/event-log/publish",{batch:e}).then((({data:e})=>e))}sendMetricsBatch(e){return o(this,v,"f")&&console.dir(e,{depth:null}),o(this,f,"f").post("/sdk/performance/publish",{batch:e}).then((({data:e})=>e))}getInstances(){return o(this,f,"f")}}f=new WeakMap,v=new WeakMap;const m=new Function("try {return this===window;}catch(e){ return false;}");const b=e=>{if(!m())return;let t,s=document.cookie.split(";").find((t=>t.split("=")[0].trim()===e));return t=s?s.split("=")[1]:w(),s=`${e}=${t};path=/;${y()}`,document.cookie=s,t},w=()=>Date.now().toString(36)+Math.random().toString(36).substring(2,12).padStart(12,"0"),y=()=>{const e=new Date;e.setTime(e.getTime()+31536e6);return`expires=${e.toUTCString()}`};var M,E,I,L,O,k,x;class T{constructor(e,t){M.add(this),E.set(this,void 0),I.set(this,void 0),m()?(r(this,I,!0,"f"),o(this,M,"m",L).call(this,e,t)):r(this,E,setInterval((()=>{e()}),t),"f")}stop(){o(this,E,"f")?clearInterval(o(this,E,"f")):r(this,I,!1,"f")}}E=new WeakMap,I=new WeakMap,M=new WeakSet,L=function(e,t){let s;const i=n=>{void 0===s&&(s=n);n-s>=t&&(e(),s=n,console.log("step",new Date)),o(this,I,"f")&&window.requestAnimationFrame(i)};window.requestAnimationFrame(i)};class B{constructor(e,t,s){O.set(this,void 0),k.set(this,void 0),x.set(this,void 0),this.stop(),r(this,x,t,"f"),r(this,O,s,"f"),r(this,k,new T(this.sendBatch.bind(this),e),"f")}sendBatch(){return n(this,void 0,void 0,(function*(){const e=yield o(this,O,"f").getAllItems();e.length>0&&o(this,x,"f").call(this,e)}))}stop(){o(this,k,"f")&&(o(this,k,"f").stop(),r(this,k,void 0,"f"))}}var _,C,N,A;O=new WeakMap,k=new WeakMap,x=new WeakMap;class S{constructor(e,t){_.add(this),C.set(this,void 0),N.set(this,void 0),r(this,C,window.localStorage,"f"),r(this,N,`${t||"YUNO_EVENT_LOGS"}_${e}`,"f");const s=o(this,C,"f").getItem(o(this,N,"f"));null==s&&this.reset()}reset(){return n(this,void 0,void 0,(function*(){o(this,C,"f").setItem(o(this,N,"f"),JSON.stringify([]))}))}setItem(e){return n(this,void 0,void 0,(function*(){const t=o(this,_,"m",A).call(this);t.push(e),o(this,C,"f").setItem(o(this,N,"f"),function(e){const t=[];return JSON.stringify(e,(function(e,s){if("object"==typeof s&&null!==s){if(-1!==t.indexOf(s))return;t.push(s)}let i;return s instanceof Function||"function"==typeof s?(i=s.toString(),i.length<8||"function"!==i.substring(0,8)?"_arrow_"+i:i):s instanceof RegExp?"_regexp_"+s:s}))}(t))}))}getItem(e){throw new Error("Method not implemented."+e)}removeItem(e){throw new Error("Method not implemented."+e)}getAllItems(){const e=o(this,_,"m",A).call(this);return this.reset(),Promise.resolve(e)}count(){return o(this,_,"m",A).call(this).length}}var W,P;C=new WeakMap,N=new WeakMap,_=new WeakSet,A=function(){let e=o(this,C,"f").getItem(o(this,N,"f"));return null==e&&(e=JSON.stringify([]),o(this,C,"f").setItem(o(this,N,"f"),e)),JSON.parse(e)};class j{constructor(){W.set(this,void 0),r(this,W,[],"f")}reset(){return n(this,void 0,void 0,(function*(){r(this,W,[],"f")}))}setItem(e){return n(this,void 0,void 0,(function*(){o(this,W,"f").push(e)}))}getItem(e){throw new Error("Method not implemented."+e)}removeItem(e){throw new Error("Method not implemented."+e)}getAllItems(){const e=[...o(this,W,"f")];return this.reset(),Promise.resolve(e)}count(){return o(this,W,"f").length}}function R(e,t){const s=function(){try{const e="__yuno_storage__test";return window.localStorage.setItem(e,"test_value"),window.localStorage.removeItem(e),!0}catch(e){return!1}}()?"local-storage":"memory-storage";switch(s){case"local-storage":return new S(e,t);case"memory-storage":return new j;default:throw new Error(`Database type ${s} not supported`)}}W=new WeakMap;class D{constructor({organizationName:e,api:t,enableMetrics:s,debug:i=!1}){this.cron=void 0,this.debug=!1,P.set(this,0),this.api=t,this.database=R(e,"YUNO_METRIC_LOGS"),this.enableMetrics=s,this.debug=i}startCron({enableCron:e,batchTime:t}){this.cron&&this.cron.stop(),e&&t&&this.enableMetrics&&(this.cron=new B(t,this.api.sendMetricsBatch.bind(this.api),this.database),this.cron.sendBatch())}setMetric(e,t){return n(this,void 0,void 0,(function*(){if(!this.enableMetrics)return Promise.resolve();this.debug&&console.log("Metrics",{metricArgs:e}),yield this.database.setItem(e),r(this,P,o(this,P,"f")+1,"f"),o(this,P,"f")>=t&&(r(this,P,0,"f"),yield this.sendBatch())}))}setConfig({enableMetrics:e,enableCron:t,batchTime:s}){this.debug&&console.log("Metrics setConfig()",{enableMetrics:e,enableCron:t,batchTime:s}),"boolean"==typeof e&&(this.enableMetrics=e),"boolean"==typeof t&&this.startCron({enableCron:t,batchTime:s})}sendBatch(){return n(this,void 0,void 0,(function*(){if(!this.enableMetrics)return Promise.resolve();this.debug&&console.log("Metrics sending batch");const e=yield this.database.getAllItems();return e.length?this.api.sendMetricsBatch(e):void 0}))}}var $,U,F,G,Q,K,V;P=new WeakMap;class z{constructor({organizationName:e,platform:t="Web",batchTime:s,enableEvents:n=!0,enableLogs:a=!0,enableCron:h,debug:c=!1,publicApiKey:l,language:d,xVersion:u,maxBatchQueued:f=30,workflow:v="SDK_CHECKOUT",country:w,cookieName:y="yuno",deviceId:M=b(y),clientAppDomain:E,enableMetrics:I=!1}){$.add(this),this.browserInfo=(new i.UAParser).getResult(),this.cron=void 0,this.isBrowser=m(),U.set(this,void 0),F.set(this,void 0),G.set(this,void 0),Q.set(this,0),this.maxBatchQueued=30,K.set(this,void 0),this.debug=!1,this.debug=c,this.enableEvents=n,this.enableLogs=a,r(this,F,t,"f"),this.language=d,this.country=w,r(this,G,u,"f"),this.enableCron=h,this.api=function(e,t,s,i=!1){return m()?new g(e,t,s,i):new p(e,t,s,i)}(t,l,d,c),this.database=R(e),r(this,Q,this.database.count(),"f"),this.organizationName=e,this.publicApiKey=l,this.maxBatchQueued=f,r(this,K,v,"f"),this.deviceId=M,this.batchTime=s,this.clientAppDomain=E,o(this,$,"m",V).call(this),h&&this.startCron(),this.metrics=new D({debug:c,organizationName:e,api:this.api,enableMetrics:I}),h&&this.metrics.startCron({enableCron:h,batchTime:s})}startCron(){return n(this,void 0,void 0,(function*(){this.cron&&this.cron.stop(),this.enableCron&&this.batchTime&&(this.enableEvents||this.enableLogs)&&(this.cron=new B(this.batchTime,this.api.sendBatch.bind(this.api),this.database),this.cron.sendBatch())}))}setEvent({eventLogArgs:e,level:t}){var s,i;if(!this.enableEvents)return;const n=Object.assign(Object.assign({},e),{location_lat:null===(s=o(this,U,"f"))||void 0===s?void 0:s.latitude,location_lng:null===(i=o(this,U,"f"))||void 0===i?void 0:i.longitude});return this.setItem({eventLogArgs:n,level:t,type:exports.EventLogType.EVENT})}setLog({eventLogArgs:e,level:t}){if(this.enableLogs)return this.setItem({eventLogArgs:e,level:t,type:exports.EventLogType.LOG})}setItem(e){return n(this,arguments,void 0,(function*({eventLogArgs:e,level:t,type:s}){var i,n,a,h,c;this.debug&&console.log("Loggers",{type:s,level:t,eventLogArgs:e}),yield this.database.setItem(Object.assign(Object.assign({os:null===(n=null===(i=this.browserInfo)||void 0===i?void 0:i.os)||void 0===n?void 0:n.name,organization_name:this.organizationName,client_app_domain:null!==(a=this.clientAppDomain)&&void 0!==a?a:this.getDomain()},e),{device_id:this.deviceId,metadata:Object.assign(Object.assign({},e.metadata),{browser_info:this.browserInfo,public_api_key:this.publicApiKey,language:this.language,country:this.country}),headers:Object.assign({user_agent:null===(h=this.browserInfo)||void 0===h?void 0:h.ua,platform:o(this,F,"f"),accept_language:this.language,"x-version":o(this,G,"f"),workflow:o(this,K,"f")},e.headers),url:null!==(c=e.url)&&void 0!==c?c:this.getUrl(),level:t,type:s})),r(this,Q,o(this,Q,"f")+1,"f"),o(this,Q,"f")>=this.maxBatchQueued&&(r(this,Q,0,"f"),yield this.sendBatch())}))}getUrl(){return this.isBrowser?window.location.href:null}getDomain(){return this.isBrowser?window.location.host:null}}U=new WeakMap,F=new WeakMap,G=new WeakMap,Q=new WeakMap,K=new WeakMap,$=new WeakSet,V=function(){return n(this,void 0,void 0,(function*(){this.isBrowser&&r(this,U,yield n(void 0,void 0,void 0,(function*(){var e;if(!(null===(e=window.navigator)||void 0===e?void 0:e.permissions))return;const t=yield window.navigator.permissions.query({name:"geolocation"});return t&&"granted"===t.state?new Promise(((e,t)=>{window.navigator.geolocation.getCurrentPosition((function(t){e({latitude:t.coords.latitude,longitude:t.coords.longitude})}),(function(e){t(e)}))})):void 0})),"f")}))};exports.EventLog=class extends z{constructor(){super(...arguments),this.logger={error:e=>this.setLog({eventLogArgs:e,level:exports.Level.ERROR}),debug:e=>this.setLog({eventLogArgs:e,level:exports.Level.DEBUG}),info:e=>this.setLog({eventLogArgs:e,level:exports.Level.INFO})}}event(e){return this.setEvent({eventLogArgs:e,level:exports.Level.INFO})}setMetric(e){return this.metrics?this.metrics.setMetric(e,this.maxBatchQueued):Promise.resolve()}sendBatch(){return n(this,void 0,void 0,(function*(){this.debug&&console.log("Loggers sendBatch");try{const e=yield this.database.getAllItems();e.length&&(yield this.api.sendBatch(e))}catch(e){}return Promise.resolve()}))}sendMetricBatch(){return n(this,void 0,void 0,(function*(){if(!this.metrics)return Promise.resolve();try{yield this.metrics.sendBatch()}catch(e){}return Promise.resolve()}))}getDeviceId(){return this.deviceId}setConfig({enableCron:e,batchTime:t,enableEvents:s,enableLogs:i,maxBatchQueued:n}){this.enableEvents=void 0!==s?s:this.enableEvents,this.enableLogs=void 0!==i?i:this.enableLogs,this.enableCron=void 0!==e?e:this.enableCron,this.batchTime=void 0!==t?t:this.batchTime,this.maxBatchQueued=void 0!==n?n:this.maxBatchQueued,this.startCron()}setMetricsConfig(e){this.metrics&&(console.log("setMetricsConfig",e),this.metrics.setConfig(e))}};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/types/index.ts","../../node_modules/tslib/tslib.es6.js","../../src/api/api.utils.ts","../../src/api/fetch-api/fetch-api.ts","../../src/api/axios-api/axios-api.ts","../../src/utils/check-environment.ts","../../src/utils/client-location.ts","../../src/utils/device-id.ts","../../src/cron/interval.ts","../../src/cron/cron.ts","../../src/database/local-storage/local-storage.ts","../../src/utils/stringyfy.ts","../../src/database/memory-storage/memory-storage.ts","../../src/database/database.ts","../../src/metrics/metrics.ts","../../src/event-log-main/event-log-main.ts","../../src/utils/client-detection.ts","../../src/api/api.ts","../../src/index.ts"],"sourcesContent":["export enum EventLogType {\n LOG = 'LOG',\n EVENT = 'EVENT',\n}\n\nexport enum Level {\n ERROR = 'ERROR',\n DEBUG = 'DEBUG',\n INFO = 'INFO',\n}\n\ntype BaseEventLog = {\n type: EventLogType\n customer_session?: string | null\n checkout_session?: string | null\n original_created_at: string\n metadata?: object | Array<object> | null\n url?: string | null\n os?: string | null\n sdk_version: string\n headers?: null | object & {\n user_agent?: string | null\n accept_language?: string | null\n sdk_type?: string\n workflow?: string\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'x-version'?: string\n platform?: string | null\n }\n application_session: string\n application_name: string\n environment: string\n public_api_key: string\n organization_name?: string | null\n client_app_name?: string | null\n client_app_domain?: string | null\n device_id?: string\n}\n\nexport type Log = BaseEventLog & {\n method?: string | null\n request?: object | null\n response?: object | null\n status_code?: string | null\n trace_id?: string | null\n country?: string | null\n stack_trace?: string\n error_origin?: string\n level: Level\n step_name: string\n step_function: string\n step_location: string\n step_line?: number\n}\n\nexport type Event = BaseEventLog & {\n source: string\n event: string\n entity_code?: string\n user_email?: string\n description: string\n params?: object\n location_lat?: number | null\n location_lng?: number | null\n location_info?: string | null\n device_id?: string | null\n}\n\nexport type Metric = {\n environment: string\n dynamic_sdk: boolean\n original_created_at: string\n original_created_at_ms: number\n device_id?: string\n flow_trace_id: string\n checkout_session?: string | null\n customer_session?: string | null\n metadata: {\n country?: string\n public_api_key: string\n language?: string\n }\n sdk_version: string\n type: string\n payload: object\n}\n\nexport type Batch = Log | Event | Metric\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","const ApiKeyPrefixToEnvironmentSuffix: { [key: string]: string } = {\n dev: '-dev',\n staging: '-staging',\n sandbox: '-sandbox',\n prod: '',\n}\n\nexport const getBaseUrl = (publicApiKey: string) => {\n const [apiKeyPrefix] = publicApiKey.split('_')\n const environmentSuffix = ApiKeyPrefixToEnvironmentSuffix[apiKeyPrefix]\n\n if (environmentSuffix === undefined) {\n throw new Error(\n `Not environment found publicApiKey: ${publicApiKey}, apiKeyPrefix: ${apiKeyPrefix}, environmentSuffix: ${environmentSuffix}`\n )\n }\n\n return 'https://api_ENVIRONMENT_.y.uno/v1'.replace(\n '_ENVIRONMENT_',\n environmentSuffix\n )\n}\n","import { getBaseUrl } from '../api.utils'\nimport { Batch } from '../../types'\nimport { Api } from '../api.types'\n\nconst forbiddenUrls = ['localhost', '127.0.0.1']\n\nexport class FetchApi implements Api {\n #debug = false\n #baseUrl: string\n #options = {\n method: 'POST',\n // https://developer.mozilla.org/en-US/docs/Web/API/fetch#keepalive\n keepalive: true,\n headers: {},\n }\n\n constructor(platform: string, publicApiKey: string, acceptLanguage?: string, debug = false) {\n this.#debug = debug\n // eslint-disable-next-line @typescript-eslint/naming-convention\n this.#options.headers = { 'X-Platform': platform, 'public-api-key': publicApiKey, 'Content-Type': 'application/json', 'accept-language': acceptLanguage }\n this.#baseUrl = getBaseUrl(publicApiKey)\n }\n\n sendBatch(batches: Batch[]): Promise<null> {\n if (this.#debug) {\n console.dir(batches, { depth: null })\n }\n\n if (\n forbiddenUrls.some((url) => window.location.href.includes(url))\n ) {\n return Promise.resolve(null)\n }\n\n return fetch(`${this.#baseUrl}/sdk/event-log/publish`, { \n ...this.#options,\n body: JSON.stringify({ batch: batches }),\n }).then((response) => response.json())\n }\n\n sendMetricsBatch(batches: Batch[]): Promise<null> {\n if (this.#debug) {\n console.dir(batches, { depth: null })\n }\n\n if (\n forbiddenUrls.some((url) => window.location.href.includes(url))\n ) {\n return Promise.resolve(null)\n }\n\n return fetch(`${this.#baseUrl}/sdk/performance/publish`, { \n ...this.#options,\n body: JSON.stringify({ batch: batches }),\n }).then((response) => response.json())\n }\n}\n","import axios, { AxiosInstance } from 'axios'\nimport { getBaseUrl } from '../api.utils'\nimport { Batch } from '../../types'\nimport { Api } from '../api.types'\n\nexport class AxiosApi implements Api {\n #instance: AxiosInstance\n #debug = false\n\n constructor(platform: string, publicApiKey: string, acceptLanguage?: string, debug = false) {\n this.#debug = debug\n this.#instance = axios.create({\n baseURL: getBaseUrl(publicApiKey),\n // eslint-disable-next-line @typescript-eslint/naming-convention\n headers: { 'X-Platform': platform, 'public-api-key': publicApiKey, 'accept-language': acceptLanguage },\n timeout: 60000,\n })\n }\n\n sendBatch(batches: Batch[]): Promise<null> {\n if (this.#debug) {\n console.dir(batches, { depth: null })\n }\n\n return this.#instance\n .post('/sdk/event-log/publish', { batch: batches })\n .then(({ data }) => data)\n }\n\n sendMetricsBatch(batches: Batch[]): Promise<null> {\n if (this.#debug) {\n console.dir(batches, { depth: null })\n }\n\n return this.#instance\n .post('/sdk/performance/publish', { batch: batches })\n .then(({ data }) => data)\n }\n\n getInstances() {\n return this.#instance\n }\n}\n","export function isLocalStorageEnabled(): boolean {\n try {\n const key = '__yuno_storage__test'\n window.localStorage.setItem(key, 'test_value')\n window.localStorage.removeItem(key)\n return true\n } catch (e) {\n return false\n }\n}\n\n// https://stackoverflow.com/questions/17575790/environment-detection-node-js-or-browser\nexport const isBrowser = new Function(\n 'try {return this===window;}catch(e){ return false;}'\n)\n","export type ClientLocation = {\n latitude: number\n longitude: number\n}\n\nexport const getClientLocation = async (): Promise<ClientLocation | undefined> => {\n if (!window.navigator?.permissions) {\n return\n }\n\n const permissionStatus = await window.navigator.permissions.query({\n name: 'geolocation',\n })\n\n if (permissionStatus) {\n if (permissionStatus.state === 'granted') {\n return new Promise<ClientLocation>((resolve, reject) => {\n window.navigator.geolocation.getCurrentPosition(\n function success(position: GeolocationPosition) {\n resolve({\n latitude: position.coords.latitude,\n longitude: position.coords.longitude,\n })\n },\n function error(error: GeolocationPositionError) {\n reject(error)\n }\n )\n })\n }\n }\n\n return\n}\n","import { isBrowser } from './check-environment'\n\nexport const getDeviceId = (cookieName: string) => {\n if (!isBrowser()) {\n return\n }\n\n let cookie = document.cookie.split(';').find((cookie) => cookie.split('=')[0].trim() === cookieName)\n let deviceId\n\n if (cookie) {\n deviceId = cookie.split('=')[1]\n } else {\n deviceId = generateId()\n }\n\n cookie = `${cookieName}=${deviceId};path=/;${getExpires()}`\n document.cookie = cookie\n\n return deviceId\n}\n\nconst RADIX = 36\nconst START_INDEX = 2\nconst MAX_LENGHT = 12\nconst FILL_STRING = '0'\n\n// https://stackoverflow.com/questions/3231459/how-can-i-create-unique-ids-with-javascript\nconst generateId = () =>\n Date.now().toString(RADIX) +\n Math.random().toString(RADIX).substring(START_INDEX, MAX_LENGHT).padStart(MAX_LENGHT, FILL_STRING)\n\n\nconst TEN_YEARS = 31536000000\n\nconst getExpires = () => {\n const date = new Date()\n date.setTime(date.getTime() + TEN_YEARS)\n const expires = `expires=${date.toUTCString()}`\n\n return expires\n}\n","import { isBrowser } from '../utils'\n\nexport class Interval {\n #intervalId: NodeJS.Timeout | undefined\n #enableRequestAnimationFrame: boolean | undefined\n\n constructor(callback: () => void, time: number) {\n if (isBrowser()) {\n this.#enableRequestAnimationFrame = true\n this.#startRequestAnimationFrame(callback, time)\n } else {\n this.#intervalId = setInterval(() => {\n callback()\n }, time)\n }\n }\n\n stop() {\n if (this.#intervalId) {\n clearInterval(this.#intervalId)\n } else {\n this.#enableRequestAnimationFrame = false\n }\n }\n\n #startRequestAnimationFrame(callback: () => void, time: number) {\n let previousTimeStamp: number | undefined\n\n const step = (timeStamp: number) => {\n if (previousTimeStamp === undefined) {\n previousTimeStamp = timeStamp\n }\n\n const elapsed = timeStamp - previousTimeStamp\n\n if (elapsed >= time) {\n callback()\n previousTimeStamp = timeStamp\n console.log('step', new Date())\n }\n\n if (this.#enableRequestAnimationFrame) {\n window.requestAnimationFrame(step)\n }\n\n }\n\n window.requestAnimationFrame(step)\n }\n}\n","import { Database } from '../database'\nimport { Batch } from '../types'\nimport { CronInterface } from './cron.types'\nimport { Interval } from './interval'\n\nconst NONE_ITEMS = 0\n\nexport class Cron implements CronInterface{\n #database: Database\n #interval: Interval | undefined\n #callback: (items: Batch[])=> void\n\n constructor(\n batchTime: number, \n callback: (items: Batch[]) => void,\n database: Database) {\n this.stop()\n this.#callback = callback\n this.#database = database\n this.#interval = new Interval(this.sendBatch.bind(this), batchTime)\n }\n\n async sendBatch() {\n const items = await this.#database.getAllItems()\n\n if (items.length > NONE_ITEMS) {\n this.#callback(items)\n }\n }\n\n stop() {\n if (this.#interval) {\n this.#interval.stop()\n this.#interval = undefined\n }\n }\n}\n","import { Batch } from '../../types'\nimport { stringify } from '../../utils'\nimport { Database } from '../database.types'\n\nconst DATABASE_NAME_SPACE = 'YUNO_EVENT_LOGS'\n\nexport class LocalStorage implements Database {\n #localStorage: Storage\n #databaseName: string\n\n constructor(organizationName: string, databaseNameSpace?: string) {\n this.#localStorage = window.localStorage\n this.#databaseName = `${databaseNameSpace || DATABASE_NAME_SPACE}_${organizationName}`\n\n const database = this.#localStorage.getItem(this.#databaseName)\n\n if (database === null || database === undefined) {\n this.reset()\n }\n }\n async reset(): Promise<void> {\n this.#localStorage.setItem(this.#databaseName, JSON.stringify([]))\n }\n\n #getDatabase(): Batch[] {\n let database = this.#localStorage.getItem(this.#databaseName)\n\n if (database === null || database === undefined) {\n database = JSON.stringify([])\n\n this.#localStorage.setItem(this.#databaseName, database)\n }\n\n return JSON.parse(database)\n }\n\n async setItem(item: Batch): Promise<void> {\n const database = this.#getDatabase()\n\n database.push(item)\n\n this.#localStorage.setItem(this.#databaseName, stringify(database))\n }\n\n getItem(id: string): Promise<Batch> {\n throw new Error('Method not implemented.' + id)\n }\n removeItem(id: string): Promise<void> {\n throw new Error('Method not implemented.' + id)\n }\n\n getAllItems(): Promise<Batch[]> {\n const database = this.#getDatabase()\n this.reset()\n return Promise.resolve(database)\n }\n\n count(): number {\n const database = this.#getDatabase()\n\n return database.length\n }\n}\n","const DO_NOT_EXIST = -1\nconst FUNCTION_LENGTH = 8\nconst START_STRING = 0\n\nexport function stringify(obj: object) {\n const cache: Array<object> = []\n const str = JSON.stringify(obj, function (key, value) {\n if (typeof value === 'object' && value !== null) {\n if (cache.indexOf(value) !== DO_NOT_EXIST) {\n // Circular reference found, discard key\n return\n }\n // Store value in our collection\n cache.push(value)\n }\n // https://github.com/vkiryukhin/jsonfn/blob/master/jsonfn.js#L36\n let fnBody\n\n if (value instanceof Function || typeof value === 'function') {\n fnBody = value.toString()\n\n if (\n fnBody.length < FUNCTION_LENGTH ||\n fnBody.substring(START_STRING, FUNCTION_LENGTH) !== 'function'\n ) {\n //this is ES6 Arrow Function\n return '_arrow_' + fnBody\n }\n return fnBody\n }\n \n if (value instanceof RegExp) {\n return '_regexp_' + value\n }\n\n return value\n })\n\n return str\n}\n","import { Batch } from '../../types'\nimport { Database } from '../database.types'\n\nexport class MemoryStorage implements Database {\n #items: Batch[]\n\n constructor() {\n this.#items = []\n }\n\n async reset(): Promise<void> {\n this.#items = []\n }\n\n async setItem(item: Batch): Promise<void> {\n this.#items.push(item)\n }\n\n getItem(id: string): Promise<Batch> {\n throw new Error('Method not implemented.' + id)\n }\n removeItem(id: string): Promise<void> {\n throw new Error('Method not implemented.' + id)\n }\n\n getAllItems() {\n const items = [...this.#items]\n this.reset()\n return Promise.resolve(items)\n }\n\n count(): number {\n return this.#items.length\n }\n}\n","import { Database } from './database.types'\nimport { LocalStorage } from './local-storage'\nimport { MemoryStorage } from './memory-storage'\nimport { isLocalStorageEnabled } from '../utils'\n\nexport function databaseFactory(organizationName: string, databaseNameSpace?: string): Database {\n const databaseType = isLocalStorageEnabled()\n ? 'local-storage'\n : 'memory-storage'\n switch (databaseType) {\n case 'local-storage':\n return new LocalStorage(organizationName, databaseNameSpace)\n case 'memory-storage':\n return new MemoryStorage()\n default:\n throw new Error(`Database type ${databaseType} not supported`)\n }\n}\n","import { Api } from '../api'\nimport { Cron } from '../cron'\nimport { Database, databaseFactory } from '../database'\nimport { Metric } from '../types'\nimport { ConstructorArgs, SetMetricsConfigArgs, StartCronArgs } from './metrics.types'\n\nconst DATABASE_NAME_SPACE = 'YUNO_METRIC_LOGS'\nconst INIT_ITEMS = 0\n\nexport class Metrics {\n protected database: Database\n protected cron: Cron | undefined = undefined\n protected api: Api\n protected enableMetrics: boolean\n protected debug: boolean = false\n #totalItems = INIT_ITEMS\n\n constructor({\n organizationName,\n api,\n enableMetrics,\n debug = false\n }:ConstructorArgs) {\n this.api = api\n this.database = databaseFactory(organizationName, DATABASE_NAME_SPACE)\n this.enableMetrics = enableMetrics\n this.debug = debug\n }\n\n public startCron({\n enableCron,\n batchTime\n }:StartCronArgs) {\n if (this.cron) {\n this.cron.stop()\n }\n\n if (enableCron && batchTime && this.enableMetrics) {\n this.cron = new Cron(batchTime, this.api.sendMetricsBatch.bind(this.api), this.database)\n this.cron.sendBatch()\n }\n }\n\n public async setMetric(metricArgs: Metric, maxBatchQueued: number) {\n if (!this.enableMetrics) {\n return Promise.resolve()\n }\n\n if(this.debug) {\n console.log('Metrics',{ metricArgs })\n }\n\n await this.database.setItem(metricArgs)\n this.#totalItems += 1\n\n if (this.#totalItems >= maxBatchQueued) {\n this.#totalItems = INIT_ITEMS\n await this.sendBatch()\n }\n }\n\n public setConfig({\n enableMetrics,\n enableCron,\n batchTime,\n }:SetMetricsConfigArgs) {\n if(this.debug) {\n console.log('Metrics',{ enableMetrics, enableCron, batchTime })\n }\n\n if(typeof enableMetrics === 'boolean') {\n this.enableMetrics = enableMetrics\n }\n\n if(typeof enableCron === 'boolean') {\n this.startCron({\n enableCron,\n batchTime,\n })\n }\n }\n\n public async sendBatch() {\n if(!this.enableMetrics) {\n return Promise.resolve()\n }\n\n if(this.debug) {\n console.log('Metrics sending batch')\n }\n const items = await this.database.getAllItems()\n\n if (items.length) {\n return this.api.sendMetricsBatch(items)\n }\n }\n}\n","import { Api, apiFactory } from '../api'\nimport { Cron } from '../cron'\nimport { Database, databaseFactory } from '../database'\nimport { Metrics } from '../metrics'\nimport { EventLogType } from '../types'\nimport { ClientLocation, clientDetection, getClientLocation, getDeviceId, isBrowser } from '../utils'\nimport { EventArgs, InitArgs, Logger, SetEventLogArgs, SetItemArgs} from './event-logs-main.types'\n\nconst INIT_ITEMS = 0\nconst MAX_ITEMS = 30\n\nexport abstract class EventLogMain {\n protected enableEvents\n protected enableLogs\n protected api: Api\n protected database: Database\n protected organizationName: string\n protected browserInfo: UAParser.IResult = clientDetection()\n protected cron: Cron | undefined = undefined\n protected publicApiKey: string\n protected isBrowser = isBrowser()\n #location: ClientLocation | undefined\n #platform: string\n public language: string | undefined\n public country: string | undefined\n #xVersion: string | undefined\n protected enableCron: boolean | undefined\n #totalItems = INIT_ITEMS\n protected maxBatchQueued = MAX_ITEMS\n #workflow: string\n public deviceId: string | undefined\n protected batchTime: number | undefined\n protected clientAppDomain: string | undefined\n protected metrics: Metrics\n protected debug: boolean = false\n\n constructor({\n organizationName,\n platform = 'Web',\n batchTime,\n enableEvents = true,\n enableLogs = true,\n enableCron,\n debug = false,\n publicApiKey,\n language,\n xVersion,\n maxBatchQueued = MAX_ITEMS,\n workflow = 'SDK_CHECKOUT',\n country,\n cookieName = 'yuno',\n deviceId = getDeviceId(cookieName),\n clientAppDomain,\n enableMetrics = false,\n }: InitArgs) {\n this.debug = debug\n this.enableEvents = enableEvents\n this.enableLogs = enableLogs\n this.#platform = platform\n this.language = language\n this.country = country\n this.#xVersion = xVersion\n this.enableCron = enableCron\n this.api = apiFactory(platform, publicApiKey, language, debug)\n this.database = databaseFactory(organizationName)\n this.#totalItems = this.database.count()\n this.organizationName = organizationName\n this.publicApiKey = publicApiKey\n this.maxBatchQueued = maxBatchQueued\n this.#workflow = workflow\n this.deviceId = deviceId\n this.batchTime = batchTime\n this.clientAppDomain = clientAppDomain\n this.#getLocation()\n\n if (enableCron) {\n this.startCron()\n }\n\n\n this.metrics = new Metrics({\n debug,\n organizationName,\n api: this.api,\n enableMetrics: enableMetrics,\n })\n\n if(enableCron) {\n this.metrics.startCron({\n enableCron,\n batchTime\n })\n }\n }\n\n abstract event(eventArgs: EventArgs): Promise<void> | undefined\n\n abstract logger: Logger\n\n abstract sendBatch(): Promise<void>\n abstract sendMetricBatch(): Promise<void>\n\n protected async startCron() {\n if (this.cron) {\n this.cron.stop()\n }\n\n if (this.enableCron && this.batchTime && (this.enableEvents || this.enableLogs)) {\n this.cron = new Cron(this.batchTime, this.api.sendBatch.bind(this.api), this.database)\n this.cron.sendBatch()\n }\n }\n\n protected setEvent({\n eventLogArgs,\n level,\n }: SetEventLogArgs) {\n if (!this.enableEvents) {\n return\n }\n\n const eventArgs = {\n ...eventLogArgs,\n location_lat: this.#location?.latitude,\n location_lng: this.#location?.longitude,\n }\n \n return this.setItem({\n eventLogArgs: eventArgs,\n level,\n type: EventLogType.EVENT,\n })\n }\n\n protected setLog({\n eventLogArgs,\n level,\n }: SetEventLogArgs) {\n if (!this.enableLogs) {\n return\n }\n\n return this.setItem({\n eventLogArgs,\n level,\n type: EventLogType.LOG,\n })\n }\n\n protected async setItem({\n eventLogArgs,\n level,\n type,\n }: SetItemArgs) {\n if (this.debug) {\n console.log('Loggers',{\n type,\n level,\n eventLogArgs,\n })\n }\n await this.database.setItem(\n {\n os: this.browserInfo?.os?.name,\n organization_name: this.organizationName,\n client_app_domain: this.clientAppDomain ?? this.getDomain(),\n ...eventLogArgs,\n device_id: this.deviceId,\n metadata: {\n ...eventLogArgs.metadata,\n browser_info: this.browserInfo,\n public_api_key: this.publicApiKey,\n language: this.language,\n country: this.country,\n },\n headers: {\n user_agent: this.browserInfo?.ua,\n platform: this.#platform,\n accept_language: this.language,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'x-version': this.#xVersion,\n workflow: this.#workflow,\n ...eventLogArgs.headers,\n },\n url: eventLogArgs.url ?? this.getUrl(),\n level,\n type,\n }\n )\n\n this.#totalItems += 1\n\n if (this.#totalItems >= this.maxBatchQueued) {\n this.#totalItems = INIT_ITEMS\n await this.sendBatch()\n }\n }\n\n protected getUrl() {\n if (this.isBrowser) {\n return window.location.href\n }\n \n return null\n }\n\n protected getDomain() {\n if (this.isBrowser) {\n return window.location.host\n }\n \n return null\n }\n\n async #getLocation() {\n if (this.isBrowser) {\n this.#location = await getClientLocation()\n }\n }\n}\n","import { UAParser } from 'ua-parser-js'\n\nexport function clientDetection(): UAParser.IResult {\n const parser = new UAParser()\n\n return parser.getResult()\n}\n","import { FetchApi } from './fetch-api'\nimport { AxiosApi } from './axios-api'\nimport { isBrowser } from '../utils'\n\nexport function apiFactory(platform: string, publicApiKey: string, acceptLanguage?: string, debug = false) {\n if (isBrowser()) {\n return new FetchApi(platform, publicApiKey, acceptLanguage, debug)\n } \n\n return new AxiosApi(platform, publicApiKey, acceptLanguage, debug)\n}\n","/* eslint-disable no-empty */\nimport { Level, Metric } from './types'\nimport {\n EventArgs,\n LogArgs,\n EventLogMain,\n SetConfigArgs,\n} from './event-log-main'\nimport { SetMetricsConfigArgs } from './metrics/metrics.types'\n\nexport { Batch, Event, EventLogType, Level, Log, Metric } from './types'\nexport class EventLog extends EventLogMain {\n event(eventArgs: EventArgs) {\n return this.setEvent({\n eventLogArgs: eventArgs,\n level: Level.INFO,\n })\n }\n\n logger = {\n error: (logArgs: LogArgs) => {\n return this.setLog({\n eventLogArgs: logArgs,\n level: Level.ERROR,\n })\n },\n debug: (logArgs: LogArgs) => {\n return this.setLog({\n eventLogArgs: logArgs,\n level: Level.DEBUG,\n })\n },\n info: (logArgs: LogArgs) => {\n return this.setLog({\n eventLogArgs: logArgs,\n level: Level.INFO,\n })\n }\n }\n\n setMetric(metricArgs: Metric): Promise<void> {\n if (!this.metrics) {\n return Promise.resolve()\n }\n\n return this.metrics.setMetric(metricArgs, this.maxBatchQueued)\n }\n\n async sendBatch() {\n if(this.debug) {\n console.log('Loggers sendBatch')\n }\n try {\n const items = await this.database.getAllItems()\n\n if (items.length) {\n await this.api.sendBatch(items)\n }\n } catch (_) { }\n\n return Promise.resolve()\n }\n\n async sendMetricBatch() {\n if (!this.metrics) {\n return Promise.resolve()\n }\n try {\n await this.metrics.sendBatch()\n } catch (_) { }\n return Promise.resolve()\n }\n\n getDeviceId() {\n return this.deviceId\n }\n\n setConfig({\n enableCron,\n batchTime,\n enableEvents,\n enableLogs,\n maxBatchQueued,\n }: SetConfigArgs) {\n this.enableEvents =\n enableEvents !== undefined ? enableEvents : this.enableEvents\n this.enableLogs = enableLogs !== undefined ? enableLogs : this.enableLogs\n this.enableCron = enableCron !== undefined ? enableCron : this.enableCron\n this.batchTime = batchTime !== undefined ? batchTime : this.batchTime\n this.maxBatchQueued =\n maxBatchQueued !== undefined ? maxBatchQueued : this.maxBatchQueued\n\n this.startCron()\n }\n\n setMetricsConfig(args: SetMetricsConfigArgs) {\n if(!this.metrics) {\n return\n }\n this.metrics.setConfig(args)\n }\n}\n"],"names":["EventLogType","Level","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__classPrivateFieldGet","receiver","state","kind","f","TypeError","has","call","get","__classPrivateFieldSet","set","SuppressedError","ApiKeyPrefixToEnvironmentSuffix","dev","staging","sandbox","prod","getBaseUrl","publicApiKey","apiKeyPrefix","split","environmentSuffix","undefined","Error","replace","forbiddenUrls","FetchApi","constructor","platform","acceptLanguage","debug","_FetchApi_debug","this","_FetchApi_baseUrl","_FetchApi_options","method","keepalive","headers","sendBatch","batches","console","dir","depth","some","url","window","location","href","includes","fetch","Object","assign","body","JSON","stringify","batch","response","json","sendMetricsBatch","AxiosApi","_AxiosApi_instance","_AxiosApi_debug","axios","create","baseURL","timeout","post","data","getInstances","isBrowser","Function","getDeviceId","cookieName","deviceId","cookie","document","find","trim","generateId","getExpires","Date","now","toString","Math","random","substring","padStart","date","setTime","getTime","toUTCString","Interval","callback","time","_Interval_intervalId","_Interval_enableRequestAnimationFrame","setInterval","stop","clearInterval","WeakMap","_Interval_instances","WeakSet","_Interval_startRequestAnimationFrame","previousTimeStamp","timeStamp","log","requestAnimationFrame","Cron","batchTime","database","_Cron_database","_Cron_interval","_Cron_callback","bind","items","getAllItems","length","LocalStorage","organizationName","databaseNameSpace","_LocalStorage_localStorage","_LocalStorage_databaseName","localStorage","getItem","reset","setItem","item","push","obj","cache","key","indexOf","fnBody","RegExp","id","removeItem","count","parse","MemoryStorage","_MemoryStorage_items","databaseFactory","databaseType","isLocalStorageEnabled","Metrics","api","enableMetrics","cron","_Metrics_totalItems","startCron","enableCron","setMetric","metricArgs","maxBatchQueued","setConfig","EventLogMain","enableEvents","enableLogs","language","xVersion","workflow","country","clientAppDomain","browserInfo","UAParser","getResult","_EventLogMain_location","_EventLogMain_platform","_EventLogMain_xVersion","_EventLogMain_totalItems","_EventLogMain_workflow","apiFactory","_EventLogMain_instances","_EventLogMain_getLocation","metrics","setEvent","eventLogArgs","level","eventArgs","location_lat","_a","latitude","location_lng","_b","longitude","type","EVENT","setLog","LOG","arguments","os","_c","name","organization_name","client_app_domain","_d","getDomain","device_id","metadata","browser_info","public_api_key","user_agent","_e","ua","accept_language","_f","getUrl","host","navigator","permissions","permissionStatus","query","geolocation","getCurrentPosition","position","coords","error","logger","logArgs","ERROR","DEBUG","info","INFO","event","_","sendMetricBatch","setMetricsConfig","args"],"mappings":"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","x_google_ignoreList":[1]}
1
+ {"version":3,"file":"index.js","sources":["../../src/types/index.ts","../../node_modules/tslib/tslib.es6.js","../../src/api/api.utils.ts","../../src/api/fetch-api/fetch-api.ts","../../src/api/axios-api/axios-api.ts","../../src/utils/check-environment.ts","../../src/utils/client-location.ts","../../src/utils/device-id.ts","../../src/cron/interval.ts","../../src/cron/cron.ts","../../src/database/local-storage/local-storage.ts","../../src/utils/stringyfy.ts","../../src/database/memory-storage/memory-storage.ts","../../src/database/database.ts","../../src/metrics/metrics.ts","../../src/event-log-main/event-log-main.ts","../../src/utils/client-detection.ts","../../src/api/api.ts","../../src/index.ts"],"sourcesContent":["export enum EventLogType {\n LOG = 'LOG',\n EVENT = 'EVENT',\n}\n\nexport enum Level {\n ERROR = 'ERROR',\n DEBUG = 'DEBUG',\n INFO = 'INFO',\n}\n\ntype BaseEventLog = {\n type: EventLogType\n customer_session?: string | null\n checkout_session?: string | null\n original_created_at: string\n metadata?: object | Array<object> | null\n url?: string | null\n os?: string | null\n sdk_version: string\n headers?: null | object & {\n user_agent?: string | null\n accept_language?: string | null\n sdk_type?: string\n workflow?: string\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'x-version'?: string\n platform?: string | null\n }\n application_session: string\n application_name: string\n environment: string\n public_api_key: string\n organization_name?: string | null\n client_app_name?: string | null\n client_app_domain?: string | null\n device_id?: string\n}\n\nexport type Log = BaseEventLog & {\n method?: string | null\n request?: object | null\n response?: object | null\n status_code?: string | null\n trace_id?: string | null\n country?: string | null\n stack_trace?: string\n error_origin?: string\n level: Level\n step_name: string\n step_function: string\n step_location: string\n step_line?: number\n}\n\nexport type Event = BaseEventLog & {\n source: string\n event: string\n entity_code?: string\n user_email?: string\n description: string\n params?: object\n location_lat?: number | null\n location_lng?: number | null\n location_info?: string | null\n device_id?: string | null\n}\n\nexport type Metric = {\n environment: string\n dynamic_sdk: boolean\n original_created_at: string\n original_created_at_ms: number\n device_id?: string\n flow_trace_id: string\n checkout_session?: string | null\n customer_session?: string | null\n metadata: {\n country?: string\n public_api_key: string\n language?: string\n }\n sdk_version: string\n type: string\n payload: object\n}\n\nexport type Batch = Log | Event | Metric\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","const ApiKeyPrefixToEnvironmentSuffix: { [key: string]: string } = {\n dev: '-dev',\n staging: '-staging',\n sandbox: '-sandbox',\n prod: '',\n}\n\nexport const getBaseUrl = (publicApiKey: string) => {\n const [apiKeyPrefix] = publicApiKey.split('_')\n const environmentSuffix = ApiKeyPrefixToEnvironmentSuffix[apiKeyPrefix]\n\n if (environmentSuffix === undefined) {\n throw new Error(\n `Not environment found publicApiKey: ${publicApiKey}, apiKeyPrefix: ${apiKeyPrefix}, environmentSuffix: ${environmentSuffix}`\n )\n }\n\n return 'https://api_ENVIRONMENT_.y.uno/v1'.replace(\n '_ENVIRONMENT_',\n environmentSuffix\n )\n}\n","import { getBaseUrl } from '../api.utils'\nimport { Batch } from '../../types'\nimport { Api } from '../api.types'\n\nconst forbiddenUrls = ['localhost', '127.0.0.1']\n\nexport class FetchApi implements Api {\n #debug = false\n #baseUrl: string\n #options = {\n method: 'POST',\n // https://developer.mozilla.org/en-US/docs/Web/API/fetch#keepalive\n keepalive: true,\n headers: {},\n }\n\n constructor(platform: string, publicApiKey: string, acceptLanguage?: string, debug = false) {\n this.#debug = debug\n // eslint-disable-next-line @typescript-eslint/naming-convention\n this.#options.headers = { 'X-Platform': platform, 'public-api-key': publicApiKey, 'Content-Type': 'application/json', 'accept-language': acceptLanguage }\n this.#baseUrl = getBaseUrl(publicApiKey)\n }\n\n sendBatch(batches: Batch[]): Promise<null> {\n if (this.#debug) {\n console.dir(batches, { depth: null })\n }\n\n if (\n forbiddenUrls.some((url) => window.location.href.includes(url))\n ) {\n return Promise.resolve(null)\n }\n\n return fetch(`${this.#baseUrl}/sdk/event-log/publish`, { \n ...this.#options,\n body: JSON.stringify({ batch: batches }),\n }).then((response) => response.json())\n }\n\n sendMetricsBatch(batches: Batch[]): Promise<null> {\n if (this.#debug) {\n console.dir(batches, { depth: null })\n }\n\n if (\n forbiddenUrls.some((url) => window.location.href.includes(url))\n ) {\n return Promise.resolve(null)\n }\n\n return fetch(`${this.#baseUrl}/sdk/performance/publish`, { \n ...this.#options,\n body: JSON.stringify({ batch: batches }),\n }).then((response) => response.json())\n }\n}\n","import axios, { AxiosInstance } from 'axios'\nimport { getBaseUrl } from '../api.utils'\nimport { Batch } from '../../types'\nimport { Api } from '../api.types'\n\nexport class AxiosApi implements Api {\n #instance: AxiosInstance\n #debug = false\n\n constructor(platform: string, publicApiKey: string, acceptLanguage?: string, debug = false) {\n this.#debug = debug\n this.#instance = axios.create({\n baseURL: getBaseUrl(publicApiKey),\n // eslint-disable-next-line @typescript-eslint/naming-convention\n headers: { 'X-Platform': platform, 'public-api-key': publicApiKey, 'accept-language': acceptLanguage },\n timeout: 60000,\n })\n }\n\n sendBatch(batches: Batch[]): Promise<null> {\n if (this.#debug) {\n console.dir(batches, { depth: null })\n }\n\n return this.#instance\n .post('/sdk/event-log/publish', { batch: batches })\n .then(({ data }) => data)\n }\n\n sendMetricsBatch(batches: Batch[]): Promise<null> {\n if (this.#debug) {\n console.dir(batches, { depth: null })\n }\n\n return this.#instance\n .post('/sdk/performance/publish', { batch: batches })\n .then(({ data }) => data)\n }\n\n getInstances() {\n return this.#instance\n }\n}\n","export function isLocalStorageEnabled(): boolean {\n try {\n const key = '__yuno_storage__test'\n window.localStorage.setItem(key, 'test_value')\n window.localStorage.removeItem(key)\n return true\n } catch (e) {\n return false\n }\n}\n\n// https://stackoverflow.com/questions/17575790/environment-detection-node-js-or-browser\nexport const isBrowser = new Function(\n 'try {return this===window;}catch(e){ return false;}'\n)\n","export type ClientLocation = {\n latitude: number\n longitude: number\n}\n\nexport const getClientLocation = async (): Promise<ClientLocation | undefined> => {\n if (!window.navigator?.permissions) {\n return\n }\n\n const permissionStatus = await window.navigator.permissions.query({\n name: 'geolocation',\n })\n\n if (permissionStatus) {\n if (permissionStatus.state === 'granted') {\n return new Promise<ClientLocation>((resolve, reject) => {\n window.navigator.geolocation.getCurrentPosition(\n function success(position: GeolocationPosition) {\n resolve({\n latitude: position.coords.latitude,\n longitude: position.coords.longitude,\n })\n },\n function error(error: GeolocationPositionError) {\n reject(error)\n }\n )\n })\n }\n }\n\n return\n}\n","import { isBrowser } from './check-environment'\n\nexport const getDeviceId = (cookieName: string) => {\n if (!isBrowser()) {\n return\n }\n\n let cookie = document.cookie.split(';').find((cookie) => cookie.split('=')[0].trim() === cookieName)\n let deviceId\n\n if (cookie) {\n deviceId = cookie.split('=')[1]\n } else {\n deviceId = generateId()\n }\n\n cookie = `${cookieName}=${deviceId};path=/;${getExpires()}`\n document.cookie = cookie\n\n return deviceId\n}\n\nconst RADIX = 36\nconst START_INDEX = 2\nconst MAX_LENGHT = 12\nconst FILL_STRING = '0'\n\n// https://stackoverflow.com/questions/3231459/how-can-i-create-unique-ids-with-javascript\nconst generateId = () =>\n Date.now().toString(RADIX) +\n Math.random().toString(RADIX).substring(START_INDEX, MAX_LENGHT).padStart(MAX_LENGHT, FILL_STRING)\n\n\nconst TEN_YEARS = 31536000000\n\nconst getExpires = () => {\n const date = new Date()\n date.setTime(date.getTime() + TEN_YEARS)\n const expires = `expires=${date.toUTCString()}`\n\n return expires\n}\n","import { isBrowser } from '../utils'\n\nexport class Interval {\n #intervalId: NodeJS.Timeout | undefined\n #enableRequestAnimationFrame: boolean | undefined\n\n constructor(callback: () => void, time: number) {\n if (isBrowser()) {\n this.#enableRequestAnimationFrame = true\n this.#startRequestAnimationFrame(callback, time)\n } else {\n this.#intervalId = setInterval(() => {\n callback()\n }, time)\n }\n }\n\n stop() {\n if (this.#intervalId) {\n clearInterval(this.#intervalId)\n } else {\n this.#enableRequestAnimationFrame = false\n }\n }\n\n #startRequestAnimationFrame(callback: () => void, time: number) {\n let previousTimeStamp: number | undefined\n\n const step = (timeStamp: number) => {\n if (previousTimeStamp === undefined) {\n previousTimeStamp = timeStamp\n }\n\n const elapsed = timeStamp - previousTimeStamp\n\n if (elapsed >= time) {\n callback()\n previousTimeStamp = timeStamp\n console.log('step', new Date())\n }\n\n if (this.#enableRequestAnimationFrame) {\n window.requestAnimationFrame(step)\n }\n\n }\n\n window.requestAnimationFrame(step)\n }\n}\n","import { Database } from '../database'\nimport { Batch } from '../types'\nimport { CronInterface } from './cron.types'\nimport { Interval } from './interval'\n\nconst NONE_ITEMS = 0\n\nexport class Cron implements CronInterface{\n #database: Database\n #interval: Interval | undefined\n #callback: (items: Batch[])=> void\n\n constructor(\n batchTime: number, \n callback: (items: Batch[]) => void,\n database: Database) {\n this.stop()\n this.#callback = callback\n this.#database = database\n this.#interval = new Interval(this.sendBatch.bind(this), batchTime)\n }\n\n async sendBatch() {\n const items = await this.#database.getAllItems()\n\n if (items.length > NONE_ITEMS) {\n this.#callback(items)\n }\n }\n\n stop() {\n if (this.#interval) {\n this.#interval.stop()\n this.#interval = undefined\n }\n }\n}\n","import { Batch } from '../../types'\nimport { stringify } from '../../utils'\nimport { Database } from '../database.types'\n\nconst DATABASE_NAME_SPACE = 'YUNO_EVENT_LOGS'\n\nexport class LocalStorage implements Database {\n #localStorage: Storage\n #databaseName: string\n\n constructor(organizationName: string, databaseNameSpace?: string) {\n this.#localStorage = window.localStorage\n this.#databaseName = `${databaseNameSpace || DATABASE_NAME_SPACE}_${organizationName}`\n\n const database = this.#localStorage.getItem(this.#databaseName)\n\n if (database === null || database === undefined) {\n this.reset()\n }\n }\n async reset(): Promise<void> {\n this.#localStorage.setItem(this.#databaseName, JSON.stringify([]))\n }\n\n #getDatabase(): Batch[] {\n let database = this.#localStorage.getItem(this.#databaseName)\n\n if (database === null || database === undefined) {\n database = JSON.stringify([])\n\n this.#localStorage.setItem(this.#databaseName, database)\n }\n\n return JSON.parse(database)\n }\n\n async setItem(item: Batch): Promise<void> {\n const database = this.#getDatabase()\n\n database.push(item)\n\n this.#localStorage.setItem(this.#databaseName, stringify(database))\n }\n\n getItem(id: string): Promise<Batch> {\n throw new Error('Method not implemented.' + id)\n }\n removeItem(id: string): Promise<void> {\n throw new Error('Method not implemented.' + id)\n }\n\n getAllItems(): Promise<Batch[]> {\n const database = this.#getDatabase()\n this.reset()\n return Promise.resolve(database)\n }\n\n count(): number {\n const database = this.#getDatabase()\n\n return database.length\n }\n}\n","const DO_NOT_EXIST = -1\nconst FUNCTION_LENGTH = 8\nconst START_STRING = 0\n\nexport function stringify(obj: object) {\n const cache: Array<object> = []\n const str = JSON.stringify(obj, function (key, value) {\n if (typeof value === 'object' && value !== null) {\n if (cache.indexOf(value) !== DO_NOT_EXIST) {\n // Circular reference found, discard key\n return\n }\n // Store value in our collection\n cache.push(value)\n }\n // https://github.com/vkiryukhin/jsonfn/blob/master/jsonfn.js#L36\n let fnBody\n\n if (value instanceof Function || typeof value === 'function') {\n fnBody = value.toString()\n\n if (\n fnBody.length < FUNCTION_LENGTH ||\n fnBody.substring(START_STRING, FUNCTION_LENGTH) !== 'function'\n ) {\n //this is ES6 Arrow Function\n return '_arrow_' + fnBody\n }\n return fnBody\n }\n \n if (value instanceof RegExp) {\n return '_regexp_' + value\n }\n\n return value\n })\n\n return str\n}\n","import { Batch } from '../../types'\nimport { Database } from '../database.types'\n\nexport class MemoryStorage implements Database {\n #items: Batch[]\n\n constructor() {\n this.#items = []\n }\n\n async reset(): Promise<void> {\n this.#items = []\n }\n\n async setItem(item: Batch): Promise<void> {\n this.#items.push(item)\n }\n\n getItem(id: string): Promise<Batch> {\n throw new Error('Method not implemented.' + id)\n }\n removeItem(id: string): Promise<void> {\n throw new Error('Method not implemented.' + id)\n }\n\n getAllItems() {\n const items = [...this.#items]\n this.reset()\n return Promise.resolve(items)\n }\n\n count(): number {\n return this.#items.length\n }\n}\n","import { Database } from './database.types'\nimport { LocalStorage } from './local-storage'\nimport { MemoryStorage } from './memory-storage'\nimport { isLocalStorageEnabled } from '../utils'\n\nexport function databaseFactory(organizationName: string, databaseNameSpace?: string): Database {\n const databaseType = isLocalStorageEnabled()\n ? 'local-storage'\n : 'memory-storage'\n switch (databaseType) {\n case 'local-storage':\n return new LocalStorage(organizationName, databaseNameSpace)\n case 'memory-storage':\n return new MemoryStorage()\n default:\n throw new Error(`Database type ${databaseType} not supported`)\n }\n}\n","import { Api } from '../api'\nimport { Cron } from '../cron'\nimport { Database, databaseFactory } from '../database'\nimport { Metric } from '../types'\nimport { ConstructorArgs, SetMetricsConfigArgs, StartCronArgs } from './metrics.types'\n\nconst DATABASE_NAME_SPACE = 'YUNO_METRIC_LOGS'\nconst INIT_ITEMS = 0\n\nexport class Metrics {\n protected database: Database\n protected cron: Cron | undefined = undefined\n protected api: Api\n protected enableMetrics: boolean\n protected debug: boolean = false\n #totalItems = INIT_ITEMS\n\n constructor({\n organizationName,\n api,\n enableMetrics,\n debug = false\n }:ConstructorArgs) {\n this.api = api\n this.database = databaseFactory(organizationName, DATABASE_NAME_SPACE)\n this.enableMetrics = enableMetrics\n this.debug = debug\n }\n\n public startCron({\n enableCron,\n batchTime\n }:StartCronArgs) {\n if (this.cron) {\n this.cron.stop()\n }\n\n if (enableCron && batchTime && this.enableMetrics) {\n this.cron = new Cron(batchTime, this.api.sendMetricsBatch.bind(this.api), this.database)\n this.cron.sendBatch()\n }\n }\n\n public async setMetric(metricArgs: Metric, maxBatchQueued: number) {\n if (!this.enableMetrics) {\n return Promise.resolve()\n }\n\n if(this.debug) {\n console.log('Metrics',{ metricArgs })\n }\n\n await this.database.setItem(metricArgs)\n this.#totalItems += 1\n\n if (this.#totalItems >= maxBatchQueued) {\n this.#totalItems = INIT_ITEMS\n await this.sendBatch()\n }\n }\n\n public setConfig({\n enableMetrics,\n enableCron,\n batchTime,\n }:SetMetricsConfigArgs) {\n if(this.debug) {\n console.log('Metrics setConfig()',{ enableMetrics, enableCron, batchTime })\n }\n\n if(typeof enableMetrics === 'boolean') {\n this.enableMetrics = enableMetrics\n }\n\n if(typeof enableCron === 'boolean') {\n this.startCron({\n enableCron,\n batchTime,\n })\n }\n }\n\n public async sendBatch() {\n if(!this.enableMetrics) {\n return Promise.resolve()\n }\n\n if(this.debug) {\n console.log('Metrics sending batch')\n }\n const items = await this.database.getAllItems()\n\n if (items.length) {\n return this.api.sendMetricsBatch(items)\n }\n }\n}\n","import { Api, apiFactory } from '../api'\nimport { Cron } from '../cron'\nimport { Database, databaseFactory } from '../database'\nimport { Metrics } from '../metrics'\nimport { EventLogType } from '../types'\nimport { ClientLocation, clientDetection, getClientLocation, getDeviceId, isBrowser } from '../utils'\nimport { EventArgs, InitArgs, Logger, SetEventLogArgs, SetItemArgs} from './event-logs-main.types'\n\nconst INIT_ITEMS = 0\nconst MAX_ITEMS = 30\n\nexport abstract class EventLogMain {\n protected enableEvents\n protected enableLogs\n protected api: Api\n protected database: Database\n protected organizationName: string\n protected browserInfo: UAParser.IResult = clientDetection()\n protected cron: Cron | undefined = undefined\n protected publicApiKey: string\n protected isBrowser = isBrowser()\n #location: ClientLocation | undefined\n #platform: string\n public language: string | undefined\n public country: string | undefined\n #xVersion: string | undefined\n protected enableCron: boolean | undefined\n #totalItems = INIT_ITEMS\n protected maxBatchQueued = MAX_ITEMS\n #workflow: string\n public deviceId: string | undefined\n protected batchTime: number | undefined\n protected clientAppDomain: string | undefined\n protected metrics: Metrics\n protected debug: boolean = false\n\n constructor({\n organizationName,\n platform = 'Web',\n batchTime,\n enableEvents = true,\n enableLogs = true,\n enableCron,\n debug = false,\n publicApiKey,\n language,\n xVersion,\n maxBatchQueued = MAX_ITEMS,\n workflow = 'SDK_CHECKOUT',\n country,\n cookieName = 'yuno',\n deviceId = getDeviceId(cookieName),\n clientAppDomain,\n enableMetrics = false,\n }: InitArgs) {\n this.debug = debug\n this.enableEvents = enableEvents\n this.enableLogs = enableLogs\n this.#platform = platform\n this.language = language\n this.country = country\n this.#xVersion = xVersion\n this.enableCron = enableCron\n this.api = apiFactory(platform, publicApiKey, language, debug)\n this.database = databaseFactory(organizationName)\n this.#totalItems = this.database.count()\n this.organizationName = organizationName\n this.publicApiKey = publicApiKey\n this.maxBatchQueued = maxBatchQueued\n this.#workflow = workflow\n this.deviceId = deviceId\n this.batchTime = batchTime\n this.clientAppDomain = clientAppDomain\n this.#getLocation()\n\n if (enableCron) {\n this.startCron()\n }\n\n\n this.metrics = new Metrics({\n debug,\n organizationName,\n api: this.api,\n enableMetrics: enableMetrics,\n })\n\n if(enableCron) {\n this.metrics.startCron({\n enableCron,\n batchTime\n })\n }\n }\n\n abstract event(eventArgs: EventArgs): Promise<void> | undefined\n\n abstract logger: Logger\n\n abstract sendBatch(): Promise<void>\n abstract sendMetricBatch(): Promise<void>\n\n protected async startCron() {\n if (this.cron) {\n this.cron.stop()\n }\n\n if (this.enableCron && this.batchTime && (this.enableEvents || this.enableLogs)) {\n this.cron = new Cron(this.batchTime, this.api.sendBatch.bind(this.api), this.database)\n this.cron.sendBatch()\n }\n }\n\n protected setEvent({\n eventLogArgs,\n level,\n }: SetEventLogArgs) {\n if (!this.enableEvents) {\n return\n }\n\n const eventArgs = {\n ...eventLogArgs,\n location_lat: this.#location?.latitude,\n location_lng: this.#location?.longitude,\n }\n \n return this.setItem({\n eventLogArgs: eventArgs,\n level,\n type: EventLogType.EVENT,\n })\n }\n\n protected setLog({\n eventLogArgs,\n level,\n }: SetEventLogArgs) {\n if (!this.enableLogs) {\n return\n }\n\n return this.setItem({\n eventLogArgs,\n level,\n type: EventLogType.LOG,\n })\n }\n\n protected async setItem({\n eventLogArgs,\n level,\n type,\n }: SetItemArgs) {\n if (this.debug) {\n console.log('Loggers',{\n type,\n level,\n eventLogArgs,\n })\n }\n await this.database.setItem(\n {\n os: this.browserInfo?.os?.name,\n organization_name: this.organizationName,\n client_app_domain: this.clientAppDomain ?? this.getDomain(),\n ...eventLogArgs,\n device_id: this.deviceId,\n metadata: {\n ...eventLogArgs.metadata,\n browser_info: this.browserInfo,\n public_api_key: this.publicApiKey,\n language: this.language,\n country: this.country,\n },\n headers: {\n user_agent: this.browserInfo?.ua,\n platform: this.#platform,\n accept_language: this.language,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'x-version': this.#xVersion,\n workflow: this.#workflow,\n ...eventLogArgs.headers,\n },\n url: eventLogArgs.url ?? this.getUrl(),\n level,\n type,\n }\n )\n\n this.#totalItems += 1\n\n if (this.#totalItems >= this.maxBatchQueued) {\n this.#totalItems = INIT_ITEMS\n await this.sendBatch()\n }\n }\n\n protected getUrl() {\n if (this.isBrowser) {\n return window.location.href\n }\n \n return null\n }\n\n protected getDomain() {\n if (this.isBrowser) {\n return window.location.host\n }\n \n return null\n }\n\n async #getLocation() {\n if (this.isBrowser) {\n this.#location = await getClientLocation()\n }\n }\n}\n","import { UAParser } from 'ua-parser-js'\n\nexport function clientDetection(): UAParser.IResult {\n const parser = new UAParser()\n\n return parser.getResult()\n}\n","import { FetchApi } from './fetch-api'\nimport { AxiosApi } from './axios-api'\nimport { isBrowser } from '../utils'\n\nexport function apiFactory(platform: string, publicApiKey: string, acceptLanguage?: string, debug = false) {\n if (isBrowser()) {\n return new FetchApi(platform, publicApiKey, acceptLanguage, debug)\n } \n\n return new AxiosApi(platform, publicApiKey, acceptLanguage, debug)\n}\n","/* eslint-disable no-empty */\nimport { Level, Metric } from './types'\nimport {\n EventArgs,\n LogArgs,\n EventLogMain,\n SetConfigArgs,\n} from './event-log-main'\nimport { SetMetricsConfigArgs } from './metrics/metrics.types'\n\nexport { Batch, Event, EventLogType, Level, Log, Metric } from './types'\nexport class EventLog extends EventLogMain {\n event(eventArgs: EventArgs) {\n return this.setEvent({\n eventLogArgs: eventArgs,\n level: Level.INFO,\n })\n }\n\n logger = {\n error: (logArgs: LogArgs) => {\n return this.setLog({\n eventLogArgs: logArgs,\n level: Level.ERROR,\n })\n },\n debug: (logArgs: LogArgs) => {\n return this.setLog({\n eventLogArgs: logArgs,\n level: Level.DEBUG,\n })\n },\n info: (logArgs: LogArgs) => {\n return this.setLog({\n eventLogArgs: logArgs,\n level: Level.INFO,\n })\n }\n }\n\n setMetric(metricArgs: Metric): Promise<void> {\n if (!this.metrics) {\n return Promise.resolve()\n }\n\n return this.metrics.setMetric(metricArgs, this.maxBatchQueued)\n }\n\n async sendBatch() {\n if(this.debug) {\n console.log('Loggers sendBatch')\n }\n try {\n const items = await this.database.getAllItems()\n\n if (items.length) {\n await this.api.sendBatch(items)\n }\n } catch (_) { }\n\n return Promise.resolve()\n }\n\n async sendMetricBatch() {\n if (!this.metrics) {\n return Promise.resolve()\n }\n try {\n await this.metrics.sendBatch()\n } catch (_) { }\n return Promise.resolve()\n }\n\n getDeviceId() {\n return this.deviceId\n }\n\n setConfig({\n enableCron,\n batchTime,\n enableEvents,\n enableLogs,\n maxBatchQueued,\n }: SetConfigArgs) {\n this.enableEvents =\n enableEvents !== undefined ? enableEvents : this.enableEvents\n this.enableLogs = enableLogs !== undefined ? enableLogs : this.enableLogs\n this.enableCron = enableCron !== undefined ? enableCron : this.enableCron\n this.batchTime = batchTime !== undefined ? batchTime : this.batchTime\n this.maxBatchQueued =\n maxBatchQueued !== undefined ? maxBatchQueued : this.maxBatchQueued\n\n this.startCron()\n }\n\n setMetricsConfig(args: SetMetricsConfigArgs) {\n if(!this.metrics) {\n return\n }\n console.log('setMetricsConfig', args)\n this.metrics.setConfig(args)\n }\n}\n"],"names":["EventLogType","Level","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__classPrivateFieldGet","receiver","state","kind","f","TypeError","has","call","get","__classPrivateFieldSet","set","SuppressedError","ApiKeyPrefixToEnvironmentSuffix","dev","staging","sandbox","prod","getBaseUrl","publicApiKey","apiKeyPrefix","split","environmentSuffix","undefined","Error","replace","forbiddenUrls","FetchApi","constructor","platform","acceptLanguage","debug","_FetchApi_debug","this","_FetchApi_baseUrl","_FetchApi_options","method","keepalive","headers","sendBatch","batches","console","dir","depth","some","url","window","location","href","includes","fetch","Object","assign","body","JSON","stringify","batch","response","json","sendMetricsBatch","AxiosApi","_AxiosApi_instance","_AxiosApi_debug","axios","create","baseURL","timeout","post","data","getInstances","isBrowser","Function","getDeviceId","cookieName","deviceId","cookie","document","find","trim","generateId","getExpires","Date","now","toString","Math","random","substring","padStart","date","setTime","getTime","toUTCString","Interval","callback","time","_Interval_intervalId","_Interval_enableRequestAnimationFrame","setInterval","stop","clearInterval","WeakMap","_Interval_instances","WeakSet","_Interval_startRequestAnimationFrame","previousTimeStamp","timeStamp","log","requestAnimationFrame","Cron","batchTime","database","_Cron_database","_Cron_interval","_Cron_callback","bind","items","getAllItems","length","LocalStorage","organizationName","databaseNameSpace","_LocalStorage_localStorage","_LocalStorage_databaseName","localStorage","getItem","reset","setItem","item","push","obj","cache","key","indexOf","fnBody","RegExp","id","removeItem","count","parse","MemoryStorage","_MemoryStorage_items","databaseFactory","databaseType","isLocalStorageEnabled","Metrics","api","enableMetrics","cron","_Metrics_totalItems","startCron","enableCron","setMetric","metricArgs","maxBatchQueued","setConfig","EventLogMain","enableEvents","enableLogs","language","xVersion","workflow","country","clientAppDomain","browserInfo","UAParser","getResult","_EventLogMain_location","_EventLogMain_platform","_EventLogMain_xVersion","_EventLogMain_totalItems","_EventLogMain_workflow","apiFactory","_EventLogMain_instances","_EventLogMain_getLocation","metrics","setEvent","eventLogArgs","level","eventArgs","location_lat","_a","latitude","location_lng","_b","longitude","type","EVENT","setLog","LOG","arguments","os","_c","name","organization_name","client_app_domain","_d","getDomain","device_id","metadata","browser_info","public_api_key","user_agent","_e","ua","accept_language","_f","getUrl","host","navigator","permissions","permissionStatus","query","geolocation","getCurrentPosition","position","coords","error","logger","logArgs","ERROR","DEBUG","info","INFO","event","_","sendMetricBatch","setMetricsConfig","args"],"mappings":"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","x_google_ignoreList":[1]}
package/dist/esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import t from"axios";import{UAParser as e}from"ua-parser-js";function i(t,e,i,s){return new(i||(i=Promise))((function(n,o){function r(t){try{h(s.next(t))}catch(t){o(t)}}function a(t){try{h(s.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?n(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(r,a)}h((s=s.apply(t,e||[])).next())}))}function s(t,e,i,s){if("a"===i&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?s:"a"===i?s.call(t):s?s.value:e.get(t)}function n(t,e,i,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,i):n?n.value=i:e.set(t,i),i}var o,r;"function"==typeof SuppressedError&&SuppressedError,function(t){t.LOG="LOG",t.EVENT="EVENT"}(o||(o={})),function(t){t.ERROR="ERROR",t.DEBUG="DEBUG",t.INFO="INFO"}(r||(r={}));const a={dev:"-dev",staging:"-staging",sandbox:"-sandbox",prod:""},h=t=>{const[e]=t.split("_"),i=a[e];if(void 0===i)throw new Error(`Not environment found publicApiKey: ${t}, apiKeyPrefix: ${e}, environmentSuffix: ${i}`);return"https://api_ENVIRONMENT_.y.uno/v1".replace("_ENVIRONMENT_",i)};var c,l,d;const u=["localhost","127.0.0.1"];class f{constructor(t,e,i,o=!1){c.set(this,!1),l.set(this,void 0),d.set(this,{method:"POST",keepalive:!0,headers:{}}),n(this,c,o,"f"),s(this,d,"f").headers={"X-Platform":t,"public-api-key":e,"Content-Type":"application/json","accept-language":i},n(this,l,h(e),"f")}sendBatch(t){return s(this,c,"f")&&console.dir(t,{depth:null}),u.some((t=>window.location.href.includes(t)))?Promise.resolve(null):fetch(`${s(this,l,"f")}/sdk/event-log/publish`,Object.assign(Object.assign({},s(this,d,"f")),{body:JSON.stringify({batch:t})})).then((t=>t.json()))}sendMetricsBatch(t){return s(this,c,"f")&&console.dir(t,{depth:null}),u.some((t=>window.location.href.includes(t)))?Promise.resolve(null):fetch(`${s(this,l,"f")}/sdk/performance/publish`,Object.assign(Object.assign({},s(this,d,"f")),{body:JSON.stringify({batch:t})})).then((t=>t.json()))}}var g,v;c=new WeakMap,l=new WeakMap,d=new WeakMap;class m{constructor(e,i,s,o=!1){g.set(this,void 0),v.set(this,!1),n(this,v,o,"f"),n(this,g,t.create({baseURL:h(i),headers:{"X-Platform":e,"public-api-key":i,"accept-language":s},timeout:6e4}),"f")}sendBatch(t){return s(this,v,"f")&&console.dir(t,{depth:null}),s(this,g,"f").post("/sdk/event-log/publish",{batch:t}).then((({data:t})=>t))}sendMetricsBatch(t){return s(this,v,"f")&&console.dir(t,{depth:null}),s(this,g,"f").post("/sdk/performance/publish",{batch:t}).then((({data:t})=>t))}getInstances(){return s(this,g,"f")}}g=new WeakMap,v=new WeakMap;const p=new Function("try {return this===window;}catch(e){ return false;}");const b=t=>{if(!p())return;let e,i=document.cookie.split(";").find((e=>e.split("=")[0].trim()===t));return e=i?i.split("=")[1]:w(),i=`${t}=${e};path=/;${y()}`,document.cookie=i,e},w=()=>Date.now().toString(36)+Math.random().toString(36).substring(2,12).padStart(12,"0"),y=()=>{const t=new Date;t.setTime(t.getTime()+31536e6);return`expires=${t.toUTCString()}`};var M,E,I,O,k,B,_;class T{constructor(t,e){M.add(this),E.set(this,void 0),I.set(this,void 0),p()?(n(this,I,!0,"f"),s(this,M,"m",O).call(this,t,e)):n(this,E,setInterval((()=>{t()}),e),"f")}stop(){s(this,E,"f")?clearInterval(s(this,E,"f")):n(this,I,!1,"f")}}E=new WeakMap,I=new WeakMap,M=new WeakSet,O=function(t,e){let i;const n=o=>{void 0===i&&(i=o);o-i>=e&&(t(),i=o,console.log("step",new Date)),s(this,I,"f")&&window.requestAnimationFrame(n)};window.requestAnimationFrame(n)};class C{constructor(t,e,i){k.set(this,void 0),B.set(this,void 0),_.set(this,void 0),this.stop(),n(this,_,e,"f"),n(this,k,i,"f"),n(this,B,new T(this.sendBatch.bind(this),t),"f")}sendBatch(){return i(this,void 0,void 0,(function*(){const t=yield s(this,k,"f").getAllItems();t.length>0&&s(this,_,"f").call(this,t)}))}stop(){s(this,B,"f")&&(s(this,B,"f").stop(),n(this,B,void 0,"f"))}}var L,N,A,S;k=new WeakMap,B=new WeakMap,_=new WeakMap;class x{constructor(t,e){L.add(this),N.set(this,void 0),A.set(this,void 0),n(this,N,window.localStorage,"f"),n(this,A,`${e||"YUNO_EVENT_LOGS"}_${t}`,"f");const i=s(this,N,"f").getItem(s(this,A,"f"));null==i&&this.reset()}reset(){return i(this,void 0,void 0,(function*(){s(this,N,"f").setItem(s(this,A,"f"),JSON.stringify([]))}))}setItem(t){return i(this,void 0,void 0,(function*(){const e=s(this,L,"m",S).call(this);e.push(t),s(this,N,"f").setItem(s(this,A,"f"),function(t){const e=[];return JSON.stringify(t,(function(t,i){if("object"==typeof i&&null!==i){if(-1!==e.indexOf(i))return;e.push(i)}let s;return i instanceof Function||"function"==typeof i?(s=i.toString(),s.length<8||"function"!==s.substring(0,8)?"_arrow_"+s:s):i instanceof RegExp?"_regexp_"+i:i}))}(e))}))}getItem(t){throw new Error("Method not implemented."+t)}removeItem(t){throw new Error("Method not implemented."+t)}getAllItems(){const t=s(this,L,"m",S).call(this);return this.reset(),Promise.resolve(t)}count(){return s(this,L,"m",S).call(this).length}}var W,P;N=new WeakMap,A=new WeakMap,L=new WeakSet,S=function(){let t=s(this,N,"f").getItem(s(this,A,"f"));return null==t&&(t=JSON.stringify([]),s(this,N,"f").setItem(s(this,A,"f"),t)),JSON.parse(t)};class j{constructor(){W.set(this,void 0),n(this,W,[],"f")}reset(){return i(this,void 0,void 0,(function*(){n(this,W,[],"f")}))}setItem(t){return i(this,void 0,void 0,(function*(){s(this,W,"f").push(t)}))}getItem(t){throw new Error("Method not implemented."+t)}removeItem(t){throw new Error("Method not implemented."+t)}getAllItems(){const t=[...s(this,W,"f")];return this.reset(),Promise.resolve(t)}count(){return s(this,W,"f").length}}function R(t,e){const i=function(){try{const t="__yuno_storage__test";return window.localStorage.setItem(t,"test_value"),window.localStorage.removeItem(t),!0}catch(t){return!1}}()?"local-storage":"memory-storage";switch(i){case"local-storage":return new x(t,e);case"memory-storage":return new j;default:throw new Error(`Database type ${i} not supported`)}}W=new WeakMap;class D{constructor({organizationName:t,api:e,enableMetrics:i,debug:s=!1}){this.cron=void 0,this.debug=!1,P.set(this,0),this.api=e,this.database=R(t,"YUNO_METRIC_LOGS"),this.enableMetrics=i,this.debug=s}startCron({enableCron:t,batchTime:e}){this.cron&&this.cron.stop(),t&&e&&this.enableMetrics&&(this.cron=new C(e,this.api.sendMetricsBatch.bind(this.api),this.database),this.cron.sendBatch())}setMetric(t,e){return i(this,void 0,void 0,(function*(){if(!this.enableMetrics)return Promise.resolve();this.debug&&console.log("Metrics",{metricArgs:t}),yield this.database.setItem(t),n(this,P,s(this,P,"f")+1,"f"),s(this,P,"f")>=e&&(n(this,P,0,"f"),yield this.sendBatch())}))}setConfig({enableMetrics:t,enableCron:e,batchTime:i}){this.debug&&console.log("Metrics",{enableMetrics:t,enableCron:e,batchTime:i}),"boolean"==typeof t&&(this.enableMetrics=t),"boolean"==typeof e&&this.startCron({enableCron:e,batchTime:i})}sendBatch(){return i(this,void 0,void 0,(function*(){if(!this.enableMetrics)return Promise.resolve();this.debug&&console.log("Metrics sending batch");const t=yield this.database.getAllItems();return t.length?this.api.sendMetricsBatch(t):void 0}))}}var $,U,F,G,Q,K,V;P=new WeakMap;class z{constructor({organizationName:t,platform:i="Web",batchTime:o,enableEvents:r=!0,enableLogs:a=!0,enableCron:h,debug:c=!1,publicApiKey:l,language:d,xVersion:u,maxBatchQueued:g=30,workflow:v="SDK_CHECKOUT",country:w,cookieName:y="yuno",deviceId:M=b(y),clientAppDomain:E,enableMetrics:I=!1}){$.add(this),this.browserInfo=(new e).getResult(),this.cron=void 0,this.isBrowser=p(),U.set(this,void 0),F.set(this,void 0),G.set(this,void 0),Q.set(this,0),this.maxBatchQueued=30,K.set(this,void 0),this.debug=!1,this.debug=c,this.enableEvents=r,this.enableLogs=a,n(this,F,i,"f"),this.language=d,this.country=w,n(this,G,u,"f"),this.enableCron=h,this.api=function(t,e,i,s=!1){return p()?new f(t,e,i,s):new m(t,e,i,s)}(i,l,d,c),this.database=R(t),n(this,Q,this.database.count(),"f"),this.organizationName=t,this.publicApiKey=l,this.maxBatchQueued=g,n(this,K,v,"f"),this.deviceId=M,this.batchTime=o,this.clientAppDomain=E,s(this,$,"m",V).call(this),h&&this.startCron(),this.metrics=new D({debug:c,organizationName:t,api:this.api,enableMetrics:I}),h&&this.metrics.startCron({enableCron:h,batchTime:o})}startCron(){return i(this,void 0,void 0,(function*(){this.cron&&this.cron.stop(),this.enableCron&&this.batchTime&&(this.enableEvents||this.enableLogs)&&(this.cron=new C(this.batchTime,this.api.sendBatch.bind(this.api),this.database),this.cron.sendBatch())}))}setEvent({eventLogArgs:t,level:e}){var i,n;if(!this.enableEvents)return;const r=Object.assign(Object.assign({},t),{location_lat:null===(i=s(this,U,"f"))||void 0===i?void 0:i.latitude,location_lng:null===(n=s(this,U,"f"))||void 0===n?void 0:n.longitude});return this.setItem({eventLogArgs:r,level:e,type:o.EVENT})}setLog({eventLogArgs:t,level:e}){if(this.enableLogs)return this.setItem({eventLogArgs:t,level:e,type:o.LOG})}setItem(t){return i(this,arguments,void 0,(function*({eventLogArgs:t,level:e,type:i}){var o,r,a,h,c;this.debug&&console.log("Loggers",{type:i,level:e,eventLogArgs:t}),yield this.database.setItem(Object.assign(Object.assign({os:null===(r=null===(o=this.browserInfo)||void 0===o?void 0:o.os)||void 0===r?void 0:r.name,organization_name:this.organizationName,client_app_domain:null!==(a=this.clientAppDomain)&&void 0!==a?a:this.getDomain()},t),{device_id:this.deviceId,metadata:Object.assign(Object.assign({},t.metadata),{browser_info:this.browserInfo,public_api_key:this.publicApiKey,language:this.language,country:this.country}),headers:Object.assign({user_agent:null===(h=this.browserInfo)||void 0===h?void 0:h.ua,platform:s(this,F,"f"),accept_language:this.language,"x-version":s(this,G,"f"),workflow:s(this,K,"f")},t.headers),url:null!==(c=t.url)&&void 0!==c?c:this.getUrl(),level:e,type:i})),n(this,Q,s(this,Q,"f")+1,"f"),s(this,Q,"f")>=this.maxBatchQueued&&(n(this,Q,0,"f"),yield this.sendBatch())}))}getUrl(){return this.isBrowser?window.location.href:null}getDomain(){return this.isBrowser?window.location.host:null}}U=new WeakMap,F=new WeakMap,G=new WeakMap,Q=new WeakMap,K=new WeakMap,$=new WeakSet,V=function(){return i(this,void 0,void 0,(function*(){this.isBrowser&&n(this,U,yield i(void 0,void 0,void 0,(function*(){var t;if(!(null===(t=window.navigator)||void 0===t?void 0:t.permissions))return;const e=yield window.navigator.permissions.query({name:"geolocation"});return e&&"granted"===e.state?new Promise(((t,e)=>{window.navigator.geolocation.getCurrentPosition((function(e){t({latitude:e.coords.latitude,longitude:e.coords.longitude})}),(function(t){e(t)}))})):void 0})),"f")}))};class J extends z{constructor(){super(...arguments),this.logger={error:t=>this.setLog({eventLogArgs:t,level:r.ERROR}),debug:t=>this.setLog({eventLogArgs:t,level:r.DEBUG}),info:t=>this.setLog({eventLogArgs:t,level:r.INFO})}}event(t){return this.setEvent({eventLogArgs:t,level:r.INFO})}setMetric(t){return this.metrics?this.metrics.setMetric(t,this.maxBatchQueued):Promise.resolve()}sendBatch(){return i(this,void 0,void 0,(function*(){this.debug&&console.log("Loggers sendBatch");try{const t=yield this.database.getAllItems();t.length&&(yield this.api.sendBatch(t))}catch(t){}return Promise.resolve()}))}sendMetricBatch(){return i(this,void 0,void 0,(function*(){if(!this.metrics)return Promise.resolve();try{yield this.metrics.sendBatch()}catch(t){}return Promise.resolve()}))}getDeviceId(){return this.deviceId}setConfig({enableCron:t,batchTime:e,enableEvents:i,enableLogs:s,maxBatchQueued:n}){this.enableEvents=void 0!==i?i:this.enableEvents,this.enableLogs=void 0!==s?s:this.enableLogs,this.enableCron=void 0!==t?t:this.enableCron,this.batchTime=void 0!==e?e:this.batchTime,this.maxBatchQueued=void 0!==n?n:this.maxBatchQueued,this.startCron()}setMetricsConfig(t){this.metrics&&this.metrics.setConfig(t)}}export{J as EventLog,o as EventLogType,r as Level};
1
+ import t from"axios";import{UAParser as e}from"ua-parser-js";function i(t,e,i,s){return new(i||(i=Promise))((function(n,o){function r(t){try{h(s.next(t))}catch(t){o(t)}}function a(t){try{h(s.throw(t))}catch(t){o(t)}}function h(t){var e;t.done?n(t.value):(e=t.value,e instanceof i?e:new i((function(t){t(e)}))).then(r,a)}h((s=s.apply(t,e||[])).next())}))}function s(t,e,i,s){if("a"===i&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!s:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===i?s:"a"===i?s.call(t):s?s.value:e.get(t)}function n(t,e,i,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof e?t!==e||!n:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(t,i):n?n.value=i:e.set(t,i),i}var o,r;"function"==typeof SuppressedError&&SuppressedError,function(t){t.LOG="LOG",t.EVENT="EVENT"}(o||(o={})),function(t){t.ERROR="ERROR",t.DEBUG="DEBUG",t.INFO="INFO"}(r||(r={}));const a={dev:"-dev",staging:"-staging",sandbox:"-sandbox",prod:""},h=t=>{const[e]=t.split("_"),i=a[e];if(void 0===i)throw new Error(`Not environment found publicApiKey: ${t}, apiKeyPrefix: ${e}, environmentSuffix: ${i}`);return"https://api_ENVIRONMENT_.y.uno/v1".replace("_ENVIRONMENT_",i)};var c,l,d;const u=["localhost","127.0.0.1"];class f{constructor(t,e,i,o=!1){c.set(this,!1),l.set(this,void 0),d.set(this,{method:"POST",keepalive:!0,headers:{}}),n(this,c,o,"f"),s(this,d,"f").headers={"X-Platform":t,"public-api-key":e,"Content-Type":"application/json","accept-language":i},n(this,l,h(e),"f")}sendBatch(t){return s(this,c,"f")&&console.dir(t,{depth:null}),u.some((t=>window.location.href.includes(t)))?Promise.resolve(null):fetch(`${s(this,l,"f")}/sdk/event-log/publish`,Object.assign(Object.assign({},s(this,d,"f")),{body:JSON.stringify({batch:t})})).then((t=>t.json()))}sendMetricsBatch(t){return s(this,c,"f")&&console.dir(t,{depth:null}),u.some((t=>window.location.href.includes(t)))?Promise.resolve(null):fetch(`${s(this,l,"f")}/sdk/performance/publish`,Object.assign(Object.assign({},s(this,d,"f")),{body:JSON.stringify({batch:t})})).then((t=>t.json()))}}var g,v;c=new WeakMap,l=new WeakMap,d=new WeakMap;class m{constructor(e,i,s,o=!1){g.set(this,void 0),v.set(this,!1),n(this,v,o,"f"),n(this,g,t.create({baseURL:h(i),headers:{"X-Platform":e,"public-api-key":i,"accept-language":s},timeout:6e4}),"f")}sendBatch(t){return s(this,v,"f")&&console.dir(t,{depth:null}),s(this,g,"f").post("/sdk/event-log/publish",{batch:t}).then((({data:t})=>t))}sendMetricsBatch(t){return s(this,v,"f")&&console.dir(t,{depth:null}),s(this,g,"f").post("/sdk/performance/publish",{batch:t}).then((({data:t})=>t))}getInstances(){return s(this,g,"f")}}g=new WeakMap,v=new WeakMap;const p=new Function("try {return this===window;}catch(e){ return false;}");const b=t=>{if(!p())return;let e,i=document.cookie.split(";").find((e=>e.split("=")[0].trim()===t));return e=i?i.split("=")[1]:w(),i=`${t}=${e};path=/;${y()}`,document.cookie=i,e},w=()=>Date.now().toString(36)+Math.random().toString(36).substring(2,12).padStart(12,"0"),y=()=>{const t=new Date;t.setTime(t.getTime()+31536e6);return`expires=${t.toUTCString()}`};var M,E,I,O,k,B,_;class C{constructor(t,e){M.add(this),E.set(this,void 0),I.set(this,void 0),p()?(n(this,I,!0,"f"),s(this,M,"m",O).call(this,t,e)):n(this,E,setInterval((()=>{t()}),e),"f")}stop(){s(this,E,"f")?clearInterval(s(this,E,"f")):n(this,I,!1,"f")}}E=new WeakMap,I=new WeakMap,M=new WeakSet,O=function(t,e){let i;const n=o=>{void 0===i&&(i=o);o-i>=e&&(t(),i=o,console.log("step",new Date)),s(this,I,"f")&&window.requestAnimationFrame(n)};window.requestAnimationFrame(n)};class T{constructor(t,e,i){k.set(this,void 0),B.set(this,void 0),_.set(this,void 0),this.stop(),n(this,_,e,"f"),n(this,k,i,"f"),n(this,B,new C(this.sendBatch.bind(this),t),"f")}sendBatch(){return i(this,void 0,void 0,(function*(){const t=yield s(this,k,"f").getAllItems();t.length>0&&s(this,_,"f").call(this,t)}))}stop(){s(this,B,"f")&&(s(this,B,"f").stop(),n(this,B,void 0,"f"))}}var L,N,A,S;k=new WeakMap,B=new WeakMap,_=new WeakMap;class x{constructor(t,e){L.add(this),N.set(this,void 0),A.set(this,void 0),n(this,N,window.localStorage,"f"),n(this,A,`${e||"YUNO_EVENT_LOGS"}_${t}`,"f");const i=s(this,N,"f").getItem(s(this,A,"f"));null==i&&this.reset()}reset(){return i(this,void 0,void 0,(function*(){s(this,N,"f").setItem(s(this,A,"f"),JSON.stringify([]))}))}setItem(t){return i(this,void 0,void 0,(function*(){const e=s(this,L,"m",S).call(this);e.push(t),s(this,N,"f").setItem(s(this,A,"f"),function(t){const e=[];return JSON.stringify(t,(function(t,i){if("object"==typeof i&&null!==i){if(-1!==e.indexOf(i))return;e.push(i)}let s;return i instanceof Function||"function"==typeof i?(s=i.toString(),s.length<8||"function"!==s.substring(0,8)?"_arrow_"+s:s):i instanceof RegExp?"_regexp_"+i:i}))}(e))}))}getItem(t){throw new Error("Method not implemented."+t)}removeItem(t){throw new Error("Method not implemented."+t)}getAllItems(){const t=s(this,L,"m",S).call(this);return this.reset(),Promise.resolve(t)}count(){return s(this,L,"m",S).call(this).length}}var W,P;N=new WeakMap,A=new WeakMap,L=new WeakSet,S=function(){let t=s(this,N,"f").getItem(s(this,A,"f"));return null==t&&(t=JSON.stringify([]),s(this,N,"f").setItem(s(this,A,"f"),t)),JSON.parse(t)};class j{constructor(){W.set(this,void 0),n(this,W,[],"f")}reset(){return i(this,void 0,void 0,(function*(){n(this,W,[],"f")}))}setItem(t){return i(this,void 0,void 0,(function*(){s(this,W,"f").push(t)}))}getItem(t){throw new Error("Method not implemented."+t)}removeItem(t){throw new Error("Method not implemented."+t)}getAllItems(){const t=[...s(this,W,"f")];return this.reset(),Promise.resolve(t)}count(){return s(this,W,"f").length}}function R(t,e){const i=function(){try{const t="__yuno_storage__test";return window.localStorage.setItem(t,"test_value"),window.localStorage.removeItem(t),!0}catch(t){return!1}}()?"local-storage":"memory-storage";switch(i){case"local-storage":return new x(t,e);case"memory-storage":return new j;default:throw new Error(`Database type ${i} not supported`)}}W=new WeakMap;class D{constructor({organizationName:t,api:e,enableMetrics:i,debug:s=!1}){this.cron=void 0,this.debug=!1,P.set(this,0),this.api=e,this.database=R(t,"YUNO_METRIC_LOGS"),this.enableMetrics=i,this.debug=s}startCron({enableCron:t,batchTime:e}){this.cron&&this.cron.stop(),t&&e&&this.enableMetrics&&(this.cron=new T(e,this.api.sendMetricsBatch.bind(this.api),this.database),this.cron.sendBatch())}setMetric(t,e){return i(this,void 0,void 0,(function*(){if(!this.enableMetrics)return Promise.resolve();this.debug&&console.log("Metrics",{metricArgs:t}),yield this.database.setItem(t),n(this,P,s(this,P,"f")+1,"f"),s(this,P,"f")>=e&&(n(this,P,0,"f"),yield this.sendBatch())}))}setConfig({enableMetrics:t,enableCron:e,batchTime:i}){this.debug&&console.log("Metrics setConfig()",{enableMetrics:t,enableCron:e,batchTime:i}),"boolean"==typeof t&&(this.enableMetrics=t),"boolean"==typeof e&&this.startCron({enableCron:e,batchTime:i})}sendBatch(){return i(this,void 0,void 0,(function*(){if(!this.enableMetrics)return Promise.resolve();this.debug&&console.log("Metrics sending batch");const t=yield this.database.getAllItems();return t.length?this.api.sendMetricsBatch(t):void 0}))}}var $,U,F,G,Q,K,V;P=new WeakMap;class z{constructor({organizationName:t,platform:i="Web",batchTime:o,enableEvents:r=!0,enableLogs:a=!0,enableCron:h,debug:c=!1,publicApiKey:l,language:d,xVersion:u,maxBatchQueued:g=30,workflow:v="SDK_CHECKOUT",country:w,cookieName:y="yuno",deviceId:M=b(y),clientAppDomain:E,enableMetrics:I=!1}){$.add(this),this.browserInfo=(new e).getResult(),this.cron=void 0,this.isBrowser=p(),U.set(this,void 0),F.set(this,void 0),G.set(this,void 0),Q.set(this,0),this.maxBatchQueued=30,K.set(this,void 0),this.debug=!1,this.debug=c,this.enableEvents=r,this.enableLogs=a,n(this,F,i,"f"),this.language=d,this.country=w,n(this,G,u,"f"),this.enableCron=h,this.api=function(t,e,i,s=!1){return p()?new f(t,e,i,s):new m(t,e,i,s)}(i,l,d,c),this.database=R(t),n(this,Q,this.database.count(),"f"),this.organizationName=t,this.publicApiKey=l,this.maxBatchQueued=g,n(this,K,v,"f"),this.deviceId=M,this.batchTime=o,this.clientAppDomain=E,s(this,$,"m",V).call(this),h&&this.startCron(),this.metrics=new D({debug:c,organizationName:t,api:this.api,enableMetrics:I}),h&&this.metrics.startCron({enableCron:h,batchTime:o})}startCron(){return i(this,void 0,void 0,(function*(){this.cron&&this.cron.stop(),this.enableCron&&this.batchTime&&(this.enableEvents||this.enableLogs)&&(this.cron=new T(this.batchTime,this.api.sendBatch.bind(this.api),this.database),this.cron.sendBatch())}))}setEvent({eventLogArgs:t,level:e}){var i,n;if(!this.enableEvents)return;const r=Object.assign(Object.assign({},t),{location_lat:null===(i=s(this,U,"f"))||void 0===i?void 0:i.latitude,location_lng:null===(n=s(this,U,"f"))||void 0===n?void 0:n.longitude});return this.setItem({eventLogArgs:r,level:e,type:o.EVENT})}setLog({eventLogArgs:t,level:e}){if(this.enableLogs)return this.setItem({eventLogArgs:t,level:e,type:o.LOG})}setItem(t){return i(this,arguments,void 0,(function*({eventLogArgs:t,level:e,type:i}){var o,r,a,h,c;this.debug&&console.log("Loggers",{type:i,level:e,eventLogArgs:t}),yield this.database.setItem(Object.assign(Object.assign({os:null===(r=null===(o=this.browserInfo)||void 0===o?void 0:o.os)||void 0===r?void 0:r.name,organization_name:this.organizationName,client_app_domain:null!==(a=this.clientAppDomain)&&void 0!==a?a:this.getDomain()},t),{device_id:this.deviceId,metadata:Object.assign(Object.assign({},t.metadata),{browser_info:this.browserInfo,public_api_key:this.publicApiKey,language:this.language,country:this.country}),headers:Object.assign({user_agent:null===(h=this.browserInfo)||void 0===h?void 0:h.ua,platform:s(this,F,"f"),accept_language:this.language,"x-version":s(this,G,"f"),workflow:s(this,K,"f")},t.headers),url:null!==(c=t.url)&&void 0!==c?c:this.getUrl(),level:e,type:i})),n(this,Q,s(this,Q,"f")+1,"f"),s(this,Q,"f")>=this.maxBatchQueued&&(n(this,Q,0,"f"),yield this.sendBatch())}))}getUrl(){return this.isBrowser?window.location.href:null}getDomain(){return this.isBrowser?window.location.host:null}}U=new WeakMap,F=new WeakMap,G=new WeakMap,Q=new WeakMap,K=new WeakMap,$=new WeakSet,V=function(){return i(this,void 0,void 0,(function*(){this.isBrowser&&n(this,U,yield i(void 0,void 0,void 0,(function*(){var t;if(!(null===(t=window.navigator)||void 0===t?void 0:t.permissions))return;const e=yield window.navigator.permissions.query({name:"geolocation"});return e&&"granted"===e.state?new Promise(((t,e)=>{window.navigator.geolocation.getCurrentPosition((function(e){t({latitude:e.coords.latitude,longitude:e.coords.longitude})}),(function(t){e(t)}))})):void 0})),"f")}))};class J extends z{constructor(){super(...arguments),this.logger={error:t=>this.setLog({eventLogArgs:t,level:r.ERROR}),debug:t=>this.setLog({eventLogArgs:t,level:r.DEBUG}),info:t=>this.setLog({eventLogArgs:t,level:r.INFO})}}event(t){return this.setEvent({eventLogArgs:t,level:r.INFO})}setMetric(t){return this.metrics?this.metrics.setMetric(t,this.maxBatchQueued):Promise.resolve()}sendBatch(){return i(this,void 0,void 0,(function*(){this.debug&&console.log("Loggers sendBatch");try{const t=yield this.database.getAllItems();t.length&&(yield this.api.sendBatch(t))}catch(t){}return Promise.resolve()}))}sendMetricBatch(){return i(this,void 0,void 0,(function*(){if(!this.metrics)return Promise.resolve();try{yield this.metrics.sendBatch()}catch(t){}return Promise.resolve()}))}getDeviceId(){return this.deviceId}setConfig({enableCron:t,batchTime:e,enableEvents:i,enableLogs:s,maxBatchQueued:n}){this.enableEvents=void 0!==i?i:this.enableEvents,this.enableLogs=void 0!==s?s:this.enableLogs,this.enableCron=void 0!==t?t:this.enableCron,this.batchTime=void 0!==e?e:this.batchTime,this.maxBatchQueued=void 0!==n?n:this.maxBatchQueued,this.startCron()}setMetricsConfig(t){this.metrics&&(console.log("setMetricsConfig",t),this.metrics.setConfig(t))}}export{J as EventLog,o as EventLogType,r as Level};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/types/index.ts","../../src/api/api.utils.ts","../../src/api/fetch-api/fetch-api.ts","../../src/api/axios-api/axios-api.ts","../../src/utils/check-environment.ts","../../src/utils/client-location.ts","../../src/utils/device-id.ts","../../src/cron/interval.ts","../../src/cron/cron.ts","../../src/database/local-storage/local-storage.ts","../../src/utils/stringyfy.ts","../../src/database/memory-storage/memory-storage.ts","../../src/database/database.ts","../../src/metrics/metrics.ts","../../src/event-log-main/event-log-main.ts","../../src/utils/client-detection.ts","../../src/api/api.ts","../../src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","export enum EventLogType {\n LOG = 'LOG',\n EVENT = 'EVENT',\n}\n\nexport enum Level {\n ERROR = 'ERROR',\n DEBUG = 'DEBUG',\n INFO = 'INFO',\n}\n\ntype BaseEventLog = {\n type: EventLogType\n customer_session?: string | null\n checkout_session?: string | null\n original_created_at: string\n metadata?: object | Array<object> | null\n url?: string | null\n os?: string | null\n sdk_version: string\n headers?: null | object & {\n user_agent?: string | null\n accept_language?: string | null\n sdk_type?: string\n workflow?: string\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'x-version'?: string\n platform?: string | null\n }\n application_session: string\n application_name: string\n environment: string\n public_api_key: string\n organization_name?: string | null\n client_app_name?: string | null\n client_app_domain?: string | null\n device_id?: string\n}\n\nexport type Log = BaseEventLog & {\n method?: string | null\n request?: object | null\n response?: object | null\n status_code?: string | null\n trace_id?: string | null\n country?: string | null\n stack_trace?: string\n error_origin?: string\n level: Level\n step_name: string\n step_function: string\n step_location: string\n step_line?: number\n}\n\nexport type Event = BaseEventLog & {\n source: string\n event: string\n entity_code?: string\n user_email?: string\n description: string\n params?: object\n location_lat?: number | null\n location_lng?: number | null\n location_info?: string | null\n device_id?: string | null\n}\n\nexport type Metric = {\n environment: string\n dynamic_sdk: boolean\n original_created_at: string\n original_created_at_ms: number\n device_id?: string\n flow_trace_id: string\n checkout_session?: string | null\n customer_session?: string | null\n metadata: {\n country?: string\n public_api_key: string\n language?: string\n }\n sdk_version: string\n type: string\n payload: object\n}\n\nexport type Batch = Log | Event | Metric\n","const ApiKeyPrefixToEnvironmentSuffix: { [key: string]: string } = {\n dev: '-dev',\n staging: '-staging',\n sandbox: '-sandbox',\n prod: '',\n}\n\nexport const getBaseUrl = (publicApiKey: string) => {\n const [apiKeyPrefix] = publicApiKey.split('_')\n const environmentSuffix = ApiKeyPrefixToEnvironmentSuffix[apiKeyPrefix]\n\n if (environmentSuffix === undefined) {\n throw new Error(\n `Not environment found publicApiKey: ${publicApiKey}, apiKeyPrefix: ${apiKeyPrefix}, environmentSuffix: ${environmentSuffix}`\n )\n }\n\n return 'https://api_ENVIRONMENT_.y.uno/v1'.replace(\n '_ENVIRONMENT_',\n environmentSuffix\n )\n}\n","import { getBaseUrl } from '../api.utils'\nimport { Batch } from '../../types'\nimport { Api } from '../api.types'\n\nconst forbiddenUrls = ['localhost', '127.0.0.1']\n\nexport class FetchApi implements Api {\n #debug = false\n #baseUrl: string\n #options = {\n method: 'POST',\n // https://developer.mozilla.org/en-US/docs/Web/API/fetch#keepalive\n keepalive: true,\n headers: {},\n }\n\n constructor(platform: string, publicApiKey: string, acceptLanguage?: string, debug = false) {\n this.#debug = debug\n // eslint-disable-next-line @typescript-eslint/naming-convention\n this.#options.headers = { 'X-Platform': platform, 'public-api-key': publicApiKey, 'Content-Type': 'application/json', 'accept-language': acceptLanguage }\n this.#baseUrl = getBaseUrl(publicApiKey)\n }\n\n sendBatch(batches: Batch[]): Promise<null> {\n if (this.#debug) {\n console.dir(batches, { depth: null })\n }\n\n if (\n forbiddenUrls.some((url) => window.location.href.includes(url))\n ) {\n return Promise.resolve(null)\n }\n\n return fetch(`${this.#baseUrl}/sdk/event-log/publish`, { \n ...this.#options,\n body: JSON.stringify({ batch: batches }),\n }).then((response) => response.json())\n }\n\n sendMetricsBatch(batches: Batch[]): Promise<null> {\n if (this.#debug) {\n console.dir(batches, { depth: null })\n }\n\n if (\n forbiddenUrls.some((url) => window.location.href.includes(url))\n ) {\n return Promise.resolve(null)\n }\n\n return fetch(`${this.#baseUrl}/sdk/performance/publish`, { \n ...this.#options,\n body: JSON.stringify({ batch: batches }),\n }).then((response) => response.json())\n }\n}\n","import axios, { AxiosInstance } from 'axios'\nimport { getBaseUrl } from '../api.utils'\nimport { Batch } from '../../types'\nimport { Api } from '../api.types'\n\nexport class AxiosApi implements Api {\n #instance: AxiosInstance\n #debug = false\n\n constructor(platform: string, publicApiKey: string, acceptLanguage?: string, debug = false) {\n this.#debug = debug\n this.#instance = axios.create({\n baseURL: getBaseUrl(publicApiKey),\n // eslint-disable-next-line @typescript-eslint/naming-convention\n headers: { 'X-Platform': platform, 'public-api-key': publicApiKey, 'accept-language': acceptLanguage },\n timeout: 60000,\n })\n }\n\n sendBatch(batches: Batch[]): Promise<null> {\n if (this.#debug) {\n console.dir(batches, { depth: null })\n }\n\n return this.#instance\n .post('/sdk/event-log/publish', { batch: batches })\n .then(({ data }) => data)\n }\n\n sendMetricsBatch(batches: Batch[]): Promise<null> {\n if (this.#debug) {\n console.dir(batches, { depth: null })\n }\n\n return this.#instance\n .post('/sdk/performance/publish', { batch: batches })\n .then(({ data }) => data)\n }\n\n getInstances() {\n return this.#instance\n }\n}\n","export function isLocalStorageEnabled(): boolean {\n try {\n const key = '__yuno_storage__test'\n window.localStorage.setItem(key, 'test_value')\n window.localStorage.removeItem(key)\n return true\n } catch (e) {\n return false\n }\n}\n\n// https://stackoverflow.com/questions/17575790/environment-detection-node-js-or-browser\nexport const isBrowser = new Function(\n 'try {return this===window;}catch(e){ return false;}'\n)\n","export type ClientLocation = {\n latitude: number\n longitude: number\n}\n\nexport const getClientLocation = async (): Promise<ClientLocation | undefined> => {\n if (!window.navigator?.permissions) {\n return\n }\n\n const permissionStatus = await window.navigator.permissions.query({\n name: 'geolocation',\n })\n\n if (permissionStatus) {\n if (permissionStatus.state === 'granted') {\n return new Promise<ClientLocation>((resolve, reject) => {\n window.navigator.geolocation.getCurrentPosition(\n function success(position: GeolocationPosition) {\n resolve({\n latitude: position.coords.latitude,\n longitude: position.coords.longitude,\n })\n },\n function error(error: GeolocationPositionError) {\n reject(error)\n }\n )\n })\n }\n }\n\n return\n}\n","import { isBrowser } from './check-environment'\n\nexport const getDeviceId = (cookieName: string) => {\n if (!isBrowser()) {\n return\n }\n\n let cookie = document.cookie.split(';').find((cookie) => cookie.split('=')[0].trim() === cookieName)\n let deviceId\n\n if (cookie) {\n deviceId = cookie.split('=')[1]\n } else {\n deviceId = generateId()\n }\n\n cookie = `${cookieName}=${deviceId};path=/;${getExpires()}`\n document.cookie = cookie\n\n return deviceId\n}\n\nconst RADIX = 36\nconst START_INDEX = 2\nconst MAX_LENGHT = 12\nconst FILL_STRING = '0'\n\n// https://stackoverflow.com/questions/3231459/how-can-i-create-unique-ids-with-javascript\nconst generateId = () =>\n Date.now().toString(RADIX) +\n Math.random().toString(RADIX).substring(START_INDEX, MAX_LENGHT).padStart(MAX_LENGHT, FILL_STRING)\n\n\nconst TEN_YEARS = 31536000000\n\nconst getExpires = () => {\n const date = new Date()\n date.setTime(date.getTime() + TEN_YEARS)\n const expires = `expires=${date.toUTCString()}`\n\n return expires\n}\n","import { isBrowser } from '../utils'\n\nexport class Interval {\n #intervalId: NodeJS.Timeout | undefined\n #enableRequestAnimationFrame: boolean | undefined\n\n constructor(callback: () => void, time: number) {\n if (isBrowser()) {\n this.#enableRequestAnimationFrame = true\n this.#startRequestAnimationFrame(callback, time)\n } else {\n this.#intervalId = setInterval(() => {\n callback()\n }, time)\n }\n }\n\n stop() {\n if (this.#intervalId) {\n clearInterval(this.#intervalId)\n } else {\n this.#enableRequestAnimationFrame = false\n }\n }\n\n #startRequestAnimationFrame(callback: () => void, time: number) {\n let previousTimeStamp: number | undefined\n\n const step = (timeStamp: number) => {\n if (previousTimeStamp === undefined) {\n previousTimeStamp = timeStamp\n }\n\n const elapsed = timeStamp - previousTimeStamp\n\n if (elapsed >= time) {\n callback()\n previousTimeStamp = timeStamp\n console.log('step', new Date())\n }\n\n if (this.#enableRequestAnimationFrame) {\n window.requestAnimationFrame(step)\n }\n\n }\n\n window.requestAnimationFrame(step)\n }\n}\n","import { Database } from '../database'\nimport { Batch } from '../types'\nimport { CronInterface } from './cron.types'\nimport { Interval } from './interval'\n\nconst NONE_ITEMS = 0\n\nexport class Cron implements CronInterface{\n #database: Database\n #interval: Interval | undefined\n #callback: (items: Batch[])=> void\n\n constructor(\n batchTime: number, \n callback: (items: Batch[]) => void,\n database: Database) {\n this.stop()\n this.#callback = callback\n this.#database = database\n this.#interval = new Interval(this.sendBatch.bind(this), batchTime)\n }\n\n async sendBatch() {\n const items = await this.#database.getAllItems()\n\n if (items.length > NONE_ITEMS) {\n this.#callback(items)\n }\n }\n\n stop() {\n if (this.#interval) {\n this.#interval.stop()\n this.#interval = undefined\n }\n }\n}\n","import { Batch } from '../../types'\nimport { stringify } from '../../utils'\nimport { Database } from '../database.types'\n\nconst DATABASE_NAME_SPACE = 'YUNO_EVENT_LOGS'\n\nexport class LocalStorage implements Database {\n #localStorage: Storage\n #databaseName: string\n\n constructor(organizationName: string, databaseNameSpace?: string) {\n this.#localStorage = window.localStorage\n this.#databaseName = `${databaseNameSpace || DATABASE_NAME_SPACE}_${organizationName}`\n\n const database = this.#localStorage.getItem(this.#databaseName)\n\n if (database === null || database === undefined) {\n this.reset()\n }\n }\n async reset(): Promise<void> {\n this.#localStorage.setItem(this.#databaseName, JSON.stringify([]))\n }\n\n #getDatabase(): Batch[] {\n let database = this.#localStorage.getItem(this.#databaseName)\n\n if (database === null || database === undefined) {\n database = JSON.stringify([])\n\n this.#localStorage.setItem(this.#databaseName, database)\n }\n\n return JSON.parse(database)\n }\n\n async setItem(item: Batch): Promise<void> {\n const database = this.#getDatabase()\n\n database.push(item)\n\n this.#localStorage.setItem(this.#databaseName, stringify(database))\n }\n\n getItem(id: string): Promise<Batch> {\n throw new Error('Method not implemented.' + id)\n }\n removeItem(id: string): Promise<void> {\n throw new Error('Method not implemented.' + id)\n }\n\n getAllItems(): Promise<Batch[]> {\n const database = this.#getDatabase()\n this.reset()\n return Promise.resolve(database)\n }\n\n count(): number {\n const database = this.#getDatabase()\n\n return database.length\n }\n}\n","const DO_NOT_EXIST = -1\nconst FUNCTION_LENGTH = 8\nconst START_STRING = 0\n\nexport function stringify(obj: object) {\n const cache: Array<object> = []\n const str = JSON.stringify(obj, function (key, value) {\n if (typeof value === 'object' && value !== null) {\n if (cache.indexOf(value) !== DO_NOT_EXIST) {\n // Circular reference found, discard key\n return\n }\n // Store value in our collection\n cache.push(value)\n }\n // https://github.com/vkiryukhin/jsonfn/blob/master/jsonfn.js#L36\n let fnBody\n\n if (value instanceof Function || typeof value === 'function') {\n fnBody = value.toString()\n\n if (\n fnBody.length < FUNCTION_LENGTH ||\n fnBody.substring(START_STRING, FUNCTION_LENGTH) !== 'function'\n ) {\n //this is ES6 Arrow Function\n return '_arrow_' + fnBody\n }\n return fnBody\n }\n \n if (value instanceof RegExp) {\n return '_regexp_' + value\n }\n\n return value\n })\n\n return str\n}\n","import { Batch } from '../../types'\nimport { Database } from '../database.types'\n\nexport class MemoryStorage implements Database {\n #items: Batch[]\n\n constructor() {\n this.#items = []\n }\n\n async reset(): Promise<void> {\n this.#items = []\n }\n\n async setItem(item: Batch): Promise<void> {\n this.#items.push(item)\n }\n\n getItem(id: string): Promise<Batch> {\n throw new Error('Method not implemented.' + id)\n }\n removeItem(id: string): Promise<void> {\n throw new Error('Method not implemented.' + id)\n }\n\n getAllItems() {\n const items = [...this.#items]\n this.reset()\n return Promise.resolve(items)\n }\n\n count(): number {\n return this.#items.length\n }\n}\n","import { Database } from './database.types'\nimport { LocalStorage } from './local-storage'\nimport { MemoryStorage } from './memory-storage'\nimport { isLocalStorageEnabled } from '../utils'\n\nexport function databaseFactory(organizationName: string, databaseNameSpace?: string): Database {\n const databaseType = isLocalStorageEnabled()\n ? 'local-storage'\n : 'memory-storage'\n switch (databaseType) {\n case 'local-storage':\n return new LocalStorage(organizationName, databaseNameSpace)\n case 'memory-storage':\n return new MemoryStorage()\n default:\n throw new Error(`Database type ${databaseType} not supported`)\n }\n}\n","import { Api } from '../api'\nimport { Cron } from '../cron'\nimport { Database, databaseFactory } from '../database'\nimport { Metric } from '../types'\nimport { ConstructorArgs, SetMetricsConfigArgs, StartCronArgs } from './metrics.types'\n\nconst DATABASE_NAME_SPACE = 'YUNO_METRIC_LOGS'\nconst INIT_ITEMS = 0\n\nexport class Metrics {\n protected database: Database\n protected cron: Cron | undefined = undefined\n protected api: Api\n protected enableMetrics: boolean\n protected debug: boolean = false\n #totalItems = INIT_ITEMS\n\n constructor({\n organizationName,\n api,\n enableMetrics,\n debug = false\n }:ConstructorArgs) {\n this.api = api\n this.database = databaseFactory(organizationName, DATABASE_NAME_SPACE)\n this.enableMetrics = enableMetrics\n this.debug = debug\n }\n\n public startCron({\n enableCron,\n batchTime\n }:StartCronArgs) {\n if (this.cron) {\n this.cron.stop()\n }\n\n if (enableCron && batchTime && this.enableMetrics) {\n this.cron = new Cron(batchTime, this.api.sendMetricsBatch.bind(this.api), this.database)\n this.cron.sendBatch()\n }\n }\n\n public async setMetric(metricArgs: Metric, maxBatchQueued: number) {\n if (!this.enableMetrics) {\n return Promise.resolve()\n }\n\n if(this.debug) {\n console.log('Metrics',{ metricArgs })\n }\n\n await this.database.setItem(metricArgs)\n this.#totalItems += 1\n\n if (this.#totalItems >= maxBatchQueued) {\n this.#totalItems = INIT_ITEMS\n await this.sendBatch()\n }\n }\n\n public setConfig({\n enableMetrics,\n enableCron,\n batchTime,\n }:SetMetricsConfigArgs) {\n if(this.debug) {\n console.log('Metrics',{ enableMetrics, enableCron, batchTime })\n }\n\n if(typeof enableMetrics === 'boolean') {\n this.enableMetrics = enableMetrics\n }\n\n if(typeof enableCron === 'boolean') {\n this.startCron({\n enableCron,\n batchTime,\n })\n }\n }\n\n public async sendBatch() {\n if(!this.enableMetrics) {\n return Promise.resolve()\n }\n\n if(this.debug) {\n console.log('Metrics sending batch')\n }\n const items = await this.database.getAllItems()\n\n if (items.length) {\n return this.api.sendMetricsBatch(items)\n }\n }\n}\n","import { Api, apiFactory } from '../api'\nimport { Cron } from '../cron'\nimport { Database, databaseFactory } from '../database'\nimport { Metrics } from '../metrics'\nimport { EventLogType } from '../types'\nimport { ClientLocation, clientDetection, getClientLocation, getDeviceId, isBrowser } from '../utils'\nimport { EventArgs, InitArgs, Logger, SetEventLogArgs, SetItemArgs} from './event-logs-main.types'\n\nconst INIT_ITEMS = 0\nconst MAX_ITEMS = 30\n\nexport abstract class EventLogMain {\n protected enableEvents\n protected enableLogs\n protected api: Api\n protected database: Database\n protected organizationName: string\n protected browserInfo: UAParser.IResult = clientDetection()\n protected cron: Cron | undefined = undefined\n protected publicApiKey: string\n protected isBrowser = isBrowser()\n #location: ClientLocation | undefined\n #platform: string\n public language: string | undefined\n public country: string | undefined\n #xVersion: string | undefined\n protected enableCron: boolean | undefined\n #totalItems = INIT_ITEMS\n protected maxBatchQueued = MAX_ITEMS\n #workflow: string\n public deviceId: string | undefined\n protected batchTime: number | undefined\n protected clientAppDomain: string | undefined\n protected metrics: Metrics\n protected debug: boolean = false\n\n constructor({\n organizationName,\n platform = 'Web',\n batchTime,\n enableEvents = true,\n enableLogs = true,\n enableCron,\n debug = false,\n publicApiKey,\n language,\n xVersion,\n maxBatchQueued = MAX_ITEMS,\n workflow = 'SDK_CHECKOUT',\n country,\n cookieName = 'yuno',\n deviceId = getDeviceId(cookieName),\n clientAppDomain,\n enableMetrics = false,\n }: InitArgs) {\n this.debug = debug\n this.enableEvents = enableEvents\n this.enableLogs = enableLogs\n this.#platform = platform\n this.language = language\n this.country = country\n this.#xVersion = xVersion\n this.enableCron = enableCron\n this.api = apiFactory(platform, publicApiKey, language, debug)\n this.database = databaseFactory(organizationName)\n this.#totalItems = this.database.count()\n this.organizationName = organizationName\n this.publicApiKey = publicApiKey\n this.maxBatchQueued = maxBatchQueued\n this.#workflow = workflow\n this.deviceId = deviceId\n this.batchTime = batchTime\n this.clientAppDomain = clientAppDomain\n this.#getLocation()\n\n if (enableCron) {\n this.startCron()\n }\n\n\n this.metrics = new Metrics({\n debug,\n organizationName,\n api: this.api,\n enableMetrics: enableMetrics,\n })\n\n if(enableCron) {\n this.metrics.startCron({\n enableCron,\n batchTime\n })\n }\n }\n\n abstract event(eventArgs: EventArgs): Promise<void> | undefined\n\n abstract logger: Logger\n\n abstract sendBatch(): Promise<void>\n abstract sendMetricBatch(): Promise<void>\n\n protected async startCron() {\n if (this.cron) {\n this.cron.stop()\n }\n\n if (this.enableCron && this.batchTime && (this.enableEvents || this.enableLogs)) {\n this.cron = new Cron(this.batchTime, this.api.sendBatch.bind(this.api), this.database)\n this.cron.sendBatch()\n }\n }\n\n protected setEvent({\n eventLogArgs,\n level,\n }: SetEventLogArgs) {\n if (!this.enableEvents) {\n return\n }\n\n const eventArgs = {\n ...eventLogArgs,\n location_lat: this.#location?.latitude,\n location_lng: this.#location?.longitude,\n }\n \n return this.setItem({\n eventLogArgs: eventArgs,\n level,\n type: EventLogType.EVENT,\n })\n }\n\n protected setLog({\n eventLogArgs,\n level,\n }: SetEventLogArgs) {\n if (!this.enableLogs) {\n return\n }\n\n return this.setItem({\n eventLogArgs,\n level,\n type: EventLogType.LOG,\n })\n }\n\n protected async setItem({\n eventLogArgs,\n level,\n type,\n }: SetItemArgs) {\n if (this.debug) {\n console.log('Loggers',{\n type,\n level,\n eventLogArgs,\n })\n }\n await this.database.setItem(\n {\n os: this.browserInfo?.os?.name,\n organization_name: this.organizationName,\n client_app_domain: this.clientAppDomain ?? this.getDomain(),\n ...eventLogArgs,\n device_id: this.deviceId,\n metadata: {\n ...eventLogArgs.metadata,\n browser_info: this.browserInfo,\n public_api_key: this.publicApiKey,\n language: this.language,\n country: this.country,\n },\n headers: {\n user_agent: this.browserInfo?.ua,\n platform: this.#platform,\n accept_language: this.language,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'x-version': this.#xVersion,\n workflow: this.#workflow,\n ...eventLogArgs.headers,\n },\n url: eventLogArgs.url ?? this.getUrl(),\n level,\n type,\n }\n )\n\n this.#totalItems += 1\n\n if (this.#totalItems >= this.maxBatchQueued) {\n this.#totalItems = INIT_ITEMS\n await this.sendBatch()\n }\n }\n\n protected getUrl() {\n if (this.isBrowser) {\n return window.location.href\n }\n \n return null\n }\n\n protected getDomain() {\n if (this.isBrowser) {\n return window.location.host\n }\n \n return null\n }\n\n async #getLocation() {\n if (this.isBrowser) {\n this.#location = await getClientLocation()\n }\n }\n}\n","import { UAParser } from 'ua-parser-js'\n\nexport function clientDetection(): UAParser.IResult {\n const parser = new UAParser()\n\n return parser.getResult()\n}\n","import { FetchApi } from './fetch-api'\nimport { AxiosApi } from './axios-api'\nimport { isBrowser } from '../utils'\n\nexport function apiFactory(platform: string, publicApiKey: string, acceptLanguage?: string, debug = false) {\n if (isBrowser()) {\n return new FetchApi(platform, publicApiKey, acceptLanguage, debug)\n } \n\n return new AxiosApi(platform, publicApiKey, acceptLanguage, debug)\n}\n","/* eslint-disable no-empty */\nimport { Level, Metric } from './types'\nimport {\n EventArgs,\n LogArgs,\n EventLogMain,\n SetConfigArgs,\n} from './event-log-main'\nimport { SetMetricsConfigArgs } from './metrics/metrics.types'\n\nexport { Batch, Event, EventLogType, Level, Log, Metric } from './types'\nexport class EventLog extends EventLogMain {\n event(eventArgs: EventArgs) {\n return this.setEvent({\n eventLogArgs: eventArgs,\n level: Level.INFO,\n })\n }\n\n logger = {\n error: (logArgs: LogArgs) => {\n return this.setLog({\n eventLogArgs: logArgs,\n level: Level.ERROR,\n })\n },\n debug: (logArgs: LogArgs) => {\n return this.setLog({\n eventLogArgs: logArgs,\n level: Level.DEBUG,\n })\n },\n info: (logArgs: LogArgs) => {\n return this.setLog({\n eventLogArgs: logArgs,\n level: Level.INFO,\n })\n }\n }\n\n setMetric(metricArgs: Metric): Promise<void> {\n if (!this.metrics) {\n return Promise.resolve()\n }\n\n return this.metrics.setMetric(metricArgs, this.maxBatchQueued)\n }\n\n async sendBatch() {\n if(this.debug) {\n console.log('Loggers sendBatch')\n }\n try {\n const items = await this.database.getAllItems()\n\n if (items.length) {\n await this.api.sendBatch(items)\n }\n } catch (_) { }\n\n return Promise.resolve()\n }\n\n async sendMetricBatch() {\n if (!this.metrics) {\n return Promise.resolve()\n }\n try {\n await this.metrics.sendBatch()\n } catch (_) { }\n return Promise.resolve()\n }\n\n getDeviceId() {\n return this.deviceId\n }\n\n setConfig({\n enableCron,\n batchTime,\n enableEvents,\n enableLogs,\n maxBatchQueued,\n }: SetConfigArgs) {\n this.enableEvents =\n enableEvents !== undefined ? enableEvents : this.enableEvents\n this.enableLogs = enableLogs !== undefined ? enableLogs : this.enableLogs\n this.enableCron = enableCron !== undefined ? enableCron : this.enableCron\n this.batchTime = batchTime !== undefined ? batchTime : this.batchTime\n this.maxBatchQueued =\n maxBatchQueued !== undefined ? maxBatchQueued : this.maxBatchQueued\n\n this.startCron()\n }\n\n setMetricsConfig(args: SetMetricsConfigArgs) {\n if(!this.metrics) {\n return\n }\n this.metrics.setConfig(args)\n }\n}\n"],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__classPrivateFieldGet","receiver","state","kind","f","TypeError","has","call","get","__classPrivateFieldSet","set","EventLogType","Level","SuppressedError","ApiKeyPrefixToEnvironmentSuffix","dev","staging","sandbox","prod","getBaseUrl","publicApiKey","apiKeyPrefix","split","environmentSuffix","undefined","Error","replace","forbiddenUrls","FetchApi","constructor","platform","acceptLanguage","debug","_FetchApi_debug","this","_FetchApi_baseUrl","_FetchApi_options","method","keepalive","headers","sendBatch","batches","console","dir","depth","some","url","window","location","href","includes","fetch","Object","assign","body","JSON","stringify","batch","response","json","sendMetricsBatch","AxiosApi","_AxiosApi_instance","_AxiosApi_debug","axios","create","baseURL","timeout","post","data","getInstances","isBrowser","Function","getDeviceId","cookieName","deviceId","cookie","document","find","trim","generateId","getExpires","Date","now","toString","Math","random","substring","padStart","date","setTime","getTime","toUTCString","Interval","callback","time","_Interval_intervalId","_Interval_enableRequestAnimationFrame","setInterval","stop","clearInterval","WeakMap","_Interval_instances","WeakSet","_Interval_startRequestAnimationFrame","previousTimeStamp","timeStamp","log","requestAnimationFrame","Cron","batchTime","database","_Cron_database","_Cron_interval","_Cron_callback","bind","items","getAllItems","length","LocalStorage","organizationName","databaseNameSpace","_LocalStorage_localStorage","_LocalStorage_databaseName","localStorage","getItem","reset","setItem","item","push","obj","cache","key","indexOf","fnBody","RegExp","id","removeItem","count","parse","MemoryStorage","_MemoryStorage_items","databaseFactory","databaseType","isLocalStorageEnabled","Metrics","api","enableMetrics","cron","_Metrics_totalItems","startCron","enableCron","setMetric","metricArgs","maxBatchQueued","setConfig","EventLogMain","enableEvents","enableLogs","language","xVersion","workflow","country","clientAppDomain","browserInfo","UAParser","getResult","_EventLogMain_location","_EventLogMain_platform","_EventLogMain_xVersion","_EventLogMain_totalItems","_EventLogMain_workflow","apiFactory","_EventLogMain_instances","_EventLogMain_getLocation","metrics","setEvent","eventLogArgs","level","eventArgs","location_lat","_a","latitude","location_lng","_b","longitude","type","EVENT","setLog","LOG","arguments","os","_c","name","organization_name","client_app_domain","_d","getDomain","device_id","metadata","browser_info","public_api_key","user_agent","_e","ua","accept_language","_f","getUrl","host","navigator","permissions","permissionStatus","query","geolocation","getCurrentPosition","position","coords","error","EventLog","logger","logArgs","ERROR","DEBUG","info","INFO","event","_","sendMetricBatch","setMetricsConfig","args"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.js","sources":["../../node_modules/tslib/tslib.es6.js","../../src/types/index.ts","../../src/api/api.utils.ts","../../src/api/fetch-api/fetch-api.ts","../../src/api/axios-api/axios-api.ts","../../src/utils/check-environment.ts","../../src/utils/client-location.ts","../../src/utils/device-id.ts","../../src/cron/interval.ts","../../src/cron/cron.ts","../../src/database/local-storage/local-storage.ts","../../src/utils/stringyfy.ts","../../src/database/memory-storage/memory-storage.ts","../../src/database/database.ts","../../src/metrics/metrics.ts","../../src/event-log-main/event-log-main.ts","../../src/utils/client-detection.ts","../../src/api/api.ts","../../src/index.ts"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n","export enum EventLogType {\n LOG = 'LOG',\n EVENT = 'EVENT',\n}\n\nexport enum Level {\n ERROR = 'ERROR',\n DEBUG = 'DEBUG',\n INFO = 'INFO',\n}\n\ntype BaseEventLog = {\n type: EventLogType\n customer_session?: string | null\n checkout_session?: string | null\n original_created_at: string\n metadata?: object | Array<object> | null\n url?: string | null\n os?: string | null\n sdk_version: string\n headers?: null | object & {\n user_agent?: string | null\n accept_language?: string | null\n sdk_type?: string\n workflow?: string\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'x-version'?: string\n platform?: string | null\n }\n application_session: string\n application_name: string\n environment: string\n public_api_key: string\n organization_name?: string | null\n client_app_name?: string | null\n client_app_domain?: string | null\n device_id?: string\n}\n\nexport type Log = BaseEventLog & {\n method?: string | null\n request?: object | null\n response?: object | null\n status_code?: string | null\n trace_id?: string | null\n country?: string | null\n stack_trace?: string\n error_origin?: string\n level: Level\n step_name: string\n step_function: string\n step_location: string\n step_line?: number\n}\n\nexport type Event = BaseEventLog & {\n source: string\n event: string\n entity_code?: string\n user_email?: string\n description: string\n params?: object\n location_lat?: number | null\n location_lng?: number | null\n location_info?: string | null\n device_id?: string | null\n}\n\nexport type Metric = {\n environment: string\n dynamic_sdk: boolean\n original_created_at: string\n original_created_at_ms: number\n device_id?: string\n flow_trace_id: string\n checkout_session?: string | null\n customer_session?: string | null\n metadata: {\n country?: string\n public_api_key: string\n language?: string\n }\n sdk_version: string\n type: string\n payload: object\n}\n\nexport type Batch = Log | Event | Metric\n","const ApiKeyPrefixToEnvironmentSuffix: { [key: string]: string } = {\n dev: '-dev',\n staging: '-staging',\n sandbox: '-sandbox',\n prod: '',\n}\n\nexport const getBaseUrl = (publicApiKey: string) => {\n const [apiKeyPrefix] = publicApiKey.split('_')\n const environmentSuffix = ApiKeyPrefixToEnvironmentSuffix[apiKeyPrefix]\n\n if (environmentSuffix === undefined) {\n throw new Error(\n `Not environment found publicApiKey: ${publicApiKey}, apiKeyPrefix: ${apiKeyPrefix}, environmentSuffix: ${environmentSuffix}`\n )\n }\n\n return 'https://api_ENVIRONMENT_.y.uno/v1'.replace(\n '_ENVIRONMENT_',\n environmentSuffix\n )\n}\n","import { getBaseUrl } from '../api.utils'\nimport { Batch } from '../../types'\nimport { Api } from '../api.types'\n\nconst forbiddenUrls = ['localhost', '127.0.0.1']\n\nexport class FetchApi implements Api {\n #debug = false\n #baseUrl: string\n #options = {\n method: 'POST',\n // https://developer.mozilla.org/en-US/docs/Web/API/fetch#keepalive\n keepalive: true,\n headers: {},\n }\n\n constructor(platform: string, publicApiKey: string, acceptLanguage?: string, debug = false) {\n this.#debug = debug\n // eslint-disable-next-line @typescript-eslint/naming-convention\n this.#options.headers = { 'X-Platform': platform, 'public-api-key': publicApiKey, 'Content-Type': 'application/json', 'accept-language': acceptLanguage }\n this.#baseUrl = getBaseUrl(publicApiKey)\n }\n\n sendBatch(batches: Batch[]): Promise<null> {\n if (this.#debug) {\n console.dir(batches, { depth: null })\n }\n\n if (\n forbiddenUrls.some((url) => window.location.href.includes(url))\n ) {\n return Promise.resolve(null)\n }\n\n return fetch(`${this.#baseUrl}/sdk/event-log/publish`, { \n ...this.#options,\n body: JSON.stringify({ batch: batches }),\n }).then((response) => response.json())\n }\n\n sendMetricsBatch(batches: Batch[]): Promise<null> {\n if (this.#debug) {\n console.dir(batches, { depth: null })\n }\n\n if (\n forbiddenUrls.some((url) => window.location.href.includes(url))\n ) {\n return Promise.resolve(null)\n }\n\n return fetch(`${this.#baseUrl}/sdk/performance/publish`, { \n ...this.#options,\n body: JSON.stringify({ batch: batches }),\n }).then((response) => response.json())\n }\n}\n","import axios, { AxiosInstance } from 'axios'\nimport { getBaseUrl } from '../api.utils'\nimport { Batch } from '../../types'\nimport { Api } from '../api.types'\n\nexport class AxiosApi implements Api {\n #instance: AxiosInstance\n #debug = false\n\n constructor(platform: string, publicApiKey: string, acceptLanguage?: string, debug = false) {\n this.#debug = debug\n this.#instance = axios.create({\n baseURL: getBaseUrl(publicApiKey),\n // eslint-disable-next-line @typescript-eslint/naming-convention\n headers: { 'X-Platform': platform, 'public-api-key': publicApiKey, 'accept-language': acceptLanguage },\n timeout: 60000,\n })\n }\n\n sendBatch(batches: Batch[]): Promise<null> {\n if (this.#debug) {\n console.dir(batches, { depth: null })\n }\n\n return this.#instance\n .post('/sdk/event-log/publish', { batch: batches })\n .then(({ data }) => data)\n }\n\n sendMetricsBatch(batches: Batch[]): Promise<null> {\n if (this.#debug) {\n console.dir(batches, { depth: null })\n }\n\n return this.#instance\n .post('/sdk/performance/publish', { batch: batches })\n .then(({ data }) => data)\n }\n\n getInstances() {\n return this.#instance\n }\n}\n","export function isLocalStorageEnabled(): boolean {\n try {\n const key = '__yuno_storage__test'\n window.localStorage.setItem(key, 'test_value')\n window.localStorage.removeItem(key)\n return true\n } catch (e) {\n return false\n }\n}\n\n// https://stackoverflow.com/questions/17575790/environment-detection-node-js-or-browser\nexport const isBrowser = new Function(\n 'try {return this===window;}catch(e){ return false;}'\n)\n","export type ClientLocation = {\n latitude: number\n longitude: number\n}\n\nexport const getClientLocation = async (): Promise<ClientLocation | undefined> => {\n if (!window.navigator?.permissions) {\n return\n }\n\n const permissionStatus = await window.navigator.permissions.query({\n name: 'geolocation',\n })\n\n if (permissionStatus) {\n if (permissionStatus.state === 'granted') {\n return new Promise<ClientLocation>((resolve, reject) => {\n window.navigator.geolocation.getCurrentPosition(\n function success(position: GeolocationPosition) {\n resolve({\n latitude: position.coords.latitude,\n longitude: position.coords.longitude,\n })\n },\n function error(error: GeolocationPositionError) {\n reject(error)\n }\n )\n })\n }\n }\n\n return\n}\n","import { isBrowser } from './check-environment'\n\nexport const getDeviceId = (cookieName: string) => {\n if (!isBrowser()) {\n return\n }\n\n let cookie = document.cookie.split(';').find((cookie) => cookie.split('=')[0].trim() === cookieName)\n let deviceId\n\n if (cookie) {\n deviceId = cookie.split('=')[1]\n } else {\n deviceId = generateId()\n }\n\n cookie = `${cookieName}=${deviceId};path=/;${getExpires()}`\n document.cookie = cookie\n\n return deviceId\n}\n\nconst RADIX = 36\nconst START_INDEX = 2\nconst MAX_LENGHT = 12\nconst FILL_STRING = '0'\n\n// https://stackoverflow.com/questions/3231459/how-can-i-create-unique-ids-with-javascript\nconst generateId = () =>\n Date.now().toString(RADIX) +\n Math.random().toString(RADIX).substring(START_INDEX, MAX_LENGHT).padStart(MAX_LENGHT, FILL_STRING)\n\n\nconst TEN_YEARS = 31536000000\n\nconst getExpires = () => {\n const date = new Date()\n date.setTime(date.getTime() + TEN_YEARS)\n const expires = `expires=${date.toUTCString()}`\n\n return expires\n}\n","import { isBrowser } from '../utils'\n\nexport class Interval {\n #intervalId: NodeJS.Timeout | undefined\n #enableRequestAnimationFrame: boolean | undefined\n\n constructor(callback: () => void, time: number) {\n if (isBrowser()) {\n this.#enableRequestAnimationFrame = true\n this.#startRequestAnimationFrame(callback, time)\n } else {\n this.#intervalId = setInterval(() => {\n callback()\n }, time)\n }\n }\n\n stop() {\n if (this.#intervalId) {\n clearInterval(this.#intervalId)\n } else {\n this.#enableRequestAnimationFrame = false\n }\n }\n\n #startRequestAnimationFrame(callback: () => void, time: number) {\n let previousTimeStamp: number | undefined\n\n const step = (timeStamp: number) => {\n if (previousTimeStamp === undefined) {\n previousTimeStamp = timeStamp\n }\n\n const elapsed = timeStamp - previousTimeStamp\n\n if (elapsed >= time) {\n callback()\n previousTimeStamp = timeStamp\n console.log('step', new Date())\n }\n\n if (this.#enableRequestAnimationFrame) {\n window.requestAnimationFrame(step)\n }\n\n }\n\n window.requestAnimationFrame(step)\n }\n}\n","import { Database } from '../database'\nimport { Batch } from '../types'\nimport { CronInterface } from './cron.types'\nimport { Interval } from './interval'\n\nconst NONE_ITEMS = 0\n\nexport class Cron implements CronInterface{\n #database: Database\n #interval: Interval | undefined\n #callback: (items: Batch[])=> void\n\n constructor(\n batchTime: number, \n callback: (items: Batch[]) => void,\n database: Database) {\n this.stop()\n this.#callback = callback\n this.#database = database\n this.#interval = new Interval(this.sendBatch.bind(this), batchTime)\n }\n\n async sendBatch() {\n const items = await this.#database.getAllItems()\n\n if (items.length > NONE_ITEMS) {\n this.#callback(items)\n }\n }\n\n stop() {\n if (this.#interval) {\n this.#interval.stop()\n this.#interval = undefined\n }\n }\n}\n","import { Batch } from '../../types'\nimport { stringify } from '../../utils'\nimport { Database } from '../database.types'\n\nconst DATABASE_NAME_SPACE = 'YUNO_EVENT_LOGS'\n\nexport class LocalStorage implements Database {\n #localStorage: Storage\n #databaseName: string\n\n constructor(organizationName: string, databaseNameSpace?: string) {\n this.#localStorage = window.localStorage\n this.#databaseName = `${databaseNameSpace || DATABASE_NAME_SPACE}_${organizationName}`\n\n const database = this.#localStorage.getItem(this.#databaseName)\n\n if (database === null || database === undefined) {\n this.reset()\n }\n }\n async reset(): Promise<void> {\n this.#localStorage.setItem(this.#databaseName, JSON.stringify([]))\n }\n\n #getDatabase(): Batch[] {\n let database = this.#localStorage.getItem(this.#databaseName)\n\n if (database === null || database === undefined) {\n database = JSON.stringify([])\n\n this.#localStorage.setItem(this.#databaseName, database)\n }\n\n return JSON.parse(database)\n }\n\n async setItem(item: Batch): Promise<void> {\n const database = this.#getDatabase()\n\n database.push(item)\n\n this.#localStorage.setItem(this.#databaseName, stringify(database))\n }\n\n getItem(id: string): Promise<Batch> {\n throw new Error('Method not implemented.' + id)\n }\n removeItem(id: string): Promise<void> {\n throw new Error('Method not implemented.' + id)\n }\n\n getAllItems(): Promise<Batch[]> {\n const database = this.#getDatabase()\n this.reset()\n return Promise.resolve(database)\n }\n\n count(): number {\n const database = this.#getDatabase()\n\n return database.length\n }\n}\n","const DO_NOT_EXIST = -1\nconst FUNCTION_LENGTH = 8\nconst START_STRING = 0\n\nexport function stringify(obj: object) {\n const cache: Array<object> = []\n const str = JSON.stringify(obj, function (key, value) {\n if (typeof value === 'object' && value !== null) {\n if (cache.indexOf(value) !== DO_NOT_EXIST) {\n // Circular reference found, discard key\n return\n }\n // Store value in our collection\n cache.push(value)\n }\n // https://github.com/vkiryukhin/jsonfn/blob/master/jsonfn.js#L36\n let fnBody\n\n if (value instanceof Function || typeof value === 'function') {\n fnBody = value.toString()\n\n if (\n fnBody.length < FUNCTION_LENGTH ||\n fnBody.substring(START_STRING, FUNCTION_LENGTH) !== 'function'\n ) {\n //this is ES6 Arrow Function\n return '_arrow_' + fnBody\n }\n return fnBody\n }\n \n if (value instanceof RegExp) {\n return '_regexp_' + value\n }\n\n return value\n })\n\n return str\n}\n","import { Batch } from '../../types'\nimport { Database } from '../database.types'\n\nexport class MemoryStorage implements Database {\n #items: Batch[]\n\n constructor() {\n this.#items = []\n }\n\n async reset(): Promise<void> {\n this.#items = []\n }\n\n async setItem(item: Batch): Promise<void> {\n this.#items.push(item)\n }\n\n getItem(id: string): Promise<Batch> {\n throw new Error('Method not implemented.' + id)\n }\n removeItem(id: string): Promise<void> {\n throw new Error('Method not implemented.' + id)\n }\n\n getAllItems() {\n const items = [...this.#items]\n this.reset()\n return Promise.resolve(items)\n }\n\n count(): number {\n return this.#items.length\n }\n}\n","import { Database } from './database.types'\nimport { LocalStorage } from './local-storage'\nimport { MemoryStorage } from './memory-storage'\nimport { isLocalStorageEnabled } from '../utils'\n\nexport function databaseFactory(organizationName: string, databaseNameSpace?: string): Database {\n const databaseType = isLocalStorageEnabled()\n ? 'local-storage'\n : 'memory-storage'\n switch (databaseType) {\n case 'local-storage':\n return new LocalStorage(organizationName, databaseNameSpace)\n case 'memory-storage':\n return new MemoryStorage()\n default:\n throw new Error(`Database type ${databaseType} not supported`)\n }\n}\n","import { Api } from '../api'\nimport { Cron } from '../cron'\nimport { Database, databaseFactory } from '../database'\nimport { Metric } from '../types'\nimport { ConstructorArgs, SetMetricsConfigArgs, StartCronArgs } from './metrics.types'\n\nconst DATABASE_NAME_SPACE = 'YUNO_METRIC_LOGS'\nconst INIT_ITEMS = 0\n\nexport class Metrics {\n protected database: Database\n protected cron: Cron | undefined = undefined\n protected api: Api\n protected enableMetrics: boolean\n protected debug: boolean = false\n #totalItems = INIT_ITEMS\n\n constructor({\n organizationName,\n api,\n enableMetrics,\n debug = false\n }:ConstructorArgs) {\n this.api = api\n this.database = databaseFactory(organizationName, DATABASE_NAME_SPACE)\n this.enableMetrics = enableMetrics\n this.debug = debug\n }\n\n public startCron({\n enableCron,\n batchTime\n }:StartCronArgs) {\n if (this.cron) {\n this.cron.stop()\n }\n\n if (enableCron && batchTime && this.enableMetrics) {\n this.cron = new Cron(batchTime, this.api.sendMetricsBatch.bind(this.api), this.database)\n this.cron.sendBatch()\n }\n }\n\n public async setMetric(metricArgs: Metric, maxBatchQueued: number) {\n if (!this.enableMetrics) {\n return Promise.resolve()\n }\n\n if(this.debug) {\n console.log('Metrics',{ metricArgs })\n }\n\n await this.database.setItem(metricArgs)\n this.#totalItems += 1\n\n if (this.#totalItems >= maxBatchQueued) {\n this.#totalItems = INIT_ITEMS\n await this.sendBatch()\n }\n }\n\n public setConfig({\n enableMetrics,\n enableCron,\n batchTime,\n }:SetMetricsConfigArgs) {\n if(this.debug) {\n console.log('Metrics setConfig()',{ enableMetrics, enableCron, batchTime })\n }\n\n if(typeof enableMetrics === 'boolean') {\n this.enableMetrics = enableMetrics\n }\n\n if(typeof enableCron === 'boolean') {\n this.startCron({\n enableCron,\n batchTime,\n })\n }\n }\n\n public async sendBatch() {\n if(!this.enableMetrics) {\n return Promise.resolve()\n }\n\n if(this.debug) {\n console.log('Metrics sending batch')\n }\n const items = await this.database.getAllItems()\n\n if (items.length) {\n return this.api.sendMetricsBatch(items)\n }\n }\n}\n","import { Api, apiFactory } from '../api'\nimport { Cron } from '../cron'\nimport { Database, databaseFactory } from '../database'\nimport { Metrics } from '../metrics'\nimport { EventLogType } from '../types'\nimport { ClientLocation, clientDetection, getClientLocation, getDeviceId, isBrowser } from '../utils'\nimport { EventArgs, InitArgs, Logger, SetEventLogArgs, SetItemArgs} from './event-logs-main.types'\n\nconst INIT_ITEMS = 0\nconst MAX_ITEMS = 30\n\nexport abstract class EventLogMain {\n protected enableEvents\n protected enableLogs\n protected api: Api\n protected database: Database\n protected organizationName: string\n protected browserInfo: UAParser.IResult = clientDetection()\n protected cron: Cron | undefined = undefined\n protected publicApiKey: string\n protected isBrowser = isBrowser()\n #location: ClientLocation | undefined\n #platform: string\n public language: string | undefined\n public country: string | undefined\n #xVersion: string | undefined\n protected enableCron: boolean | undefined\n #totalItems = INIT_ITEMS\n protected maxBatchQueued = MAX_ITEMS\n #workflow: string\n public deviceId: string | undefined\n protected batchTime: number | undefined\n protected clientAppDomain: string | undefined\n protected metrics: Metrics\n protected debug: boolean = false\n\n constructor({\n organizationName,\n platform = 'Web',\n batchTime,\n enableEvents = true,\n enableLogs = true,\n enableCron,\n debug = false,\n publicApiKey,\n language,\n xVersion,\n maxBatchQueued = MAX_ITEMS,\n workflow = 'SDK_CHECKOUT',\n country,\n cookieName = 'yuno',\n deviceId = getDeviceId(cookieName),\n clientAppDomain,\n enableMetrics = false,\n }: InitArgs) {\n this.debug = debug\n this.enableEvents = enableEvents\n this.enableLogs = enableLogs\n this.#platform = platform\n this.language = language\n this.country = country\n this.#xVersion = xVersion\n this.enableCron = enableCron\n this.api = apiFactory(platform, publicApiKey, language, debug)\n this.database = databaseFactory(organizationName)\n this.#totalItems = this.database.count()\n this.organizationName = organizationName\n this.publicApiKey = publicApiKey\n this.maxBatchQueued = maxBatchQueued\n this.#workflow = workflow\n this.deviceId = deviceId\n this.batchTime = batchTime\n this.clientAppDomain = clientAppDomain\n this.#getLocation()\n\n if (enableCron) {\n this.startCron()\n }\n\n\n this.metrics = new Metrics({\n debug,\n organizationName,\n api: this.api,\n enableMetrics: enableMetrics,\n })\n\n if(enableCron) {\n this.metrics.startCron({\n enableCron,\n batchTime\n })\n }\n }\n\n abstract event(eventArgs: EventArgs): Promise<void> | undefined\n\n abstract logger: Logger\n\n abstract sendBatch(): Promise<void>\n abstract sendMetricBatch(): Promise<void>\n\n protected async startCron() {\n if (this.cron) {\n this.cron.stop()\n }\n\n if (this.enableCron && this.batchTime && (this.enableEvents || this.enableLogs)) {\n this.cron = new Cron(this.batchTime, this.api.sendBatch.bind(this.api), this.database)\n this.cron.sendBatch()\n }\n }\n\n protected setEvent({\n eventLogArgs,\n level,\n }: SetEventLogArgs) {\n if (!this.enableEvents) {\n return\n }\n\n const eventArgs = {\n ...eventLogArgs,\n location_lat: this.#location?.latitude,\n location_lng: this.#location?.longitude,\n }\n \n return this.setItem({\n eventLogArgs: eventArgs,\n level,\n type: EventLogType.EVENT,\n })\n }\n\n protected setLog({\n eventLogArgs,\n level,\n }: SetEventLogArgs) {\n if (!this.enableLogs) {\n return\n }\n\n return this.setItem({\n eventLogArgs,\n level,\n type: EventLogType.LOG,\n })\n }\n\n protected async setItem({\n eventLogArgs,\n level,\n type,\n }: SetItemArgs) {\n if (this.debug) {\n console.log('Loggers',{\n type,\n level,\n eventLogArgs,\n })\n }\n await this.database.setItem(\n {\n os: this.browserInfo?.os?.name,\n organization_name: this.organizationName,\n client_app_domain: this.clientAppDomain ?? this.getDomain(),\n ...eventLogArgs,\n device_id: this.deviceId,\n metadata: {\n ...eventLogArgs.metadata,\n browser_info: this.browserInfo,\n public_api_key: this.publicApiKey,\n language: this.language,\n country: this.country,\n },\n headers: {\n user_agent: this.browserInfo?.ua,\n platform: this.#platform,\n accept_language: this.language,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n 'x-version': this.#xVersion,\n workflow: this.#workflow,\n ...eventLogArgs.headers,\n },\n url: eventLogArgs.url ?? this.getUrl(),\n level,\n type,\n }\n )\n\n this.#totalItems += 1\n\n if (this.#totalItems >= this.maxBatchQueued) {\n this.#totalItems = INIT_ITEMS\n await this.sendBatch()\n }\n }\n\n protected getUrl() {\n if (this.isBrowser) {\n return window.location.href\n }\n \n return null\n }\n\n protected getDomain() {\n if (this.isBrowser) {\n return window.location.host\n }\n \n return null\n }\n\n async #getLocation() {\n if (this.isBrowser) {\n this.#location = await getClientLocation()\n }\n }\n}\n","import { UAParser } from 'ua-parser-js'\n\nexport function clientDetection(): UAParser.IResult {\n const parser = new UAParser()\n\n return parser.getResult()\n}\n","import { FetchApi } from './fetch-api'\nimport { AxiosApi } from './axios-api'\nimport { isBrowser } from '../utils'\n\nexport function apiFactory(platform: string, publicApiKey: string, acceptLanguage?: string, debug = false) {\n if (isBrowser()) {\n return new FetchApi(platform, publicApiKey, acceptLanguage, debug)\n } \n\n return new AxiosApi(platform, publicApiKey, acceptLanguage, debug)\n}\n","/* eslint-disable no-empty */\nimport { Level, Metric } from './types'\nimport {\n EventArgs,\n LogArgs,\n EventLogMain,\n SetConfigArgs,\n} from './event-log-main'\nimport { SetMetricsConfigArgs } from './metrics/metrics.types'\n\nexport { Batch, Event, EventLogType, Level, Log, Metric } from './types'\nexport class EventLog extends EventLogMain {\n event(eventArgs: EventArgs) {\n return this.setEvent({\n eventLogArgs: eventArgs,\n level: Level.INFO,\n })\n }\n\n logger = {\n error: (logArgs: LogArgs) => {\n return this.setLog({\n eventLogArgs: logArgs,\n level: Level.ERROR,\n })\n },\n debug: (logArgs: LogArgs) => {\n return this.setLog({\n eventLogArgs: logArgs,\n level: Level.DEBUG,\n })\n },\n info: (logArgs: LogArgs) => {\n return this.setLog({\n eventLogArgs: logArgs,\n level: Level.INFO,\n })\n }\n }\n\n setMetric(metricArgs: Metric): Promise<void> {\n if (!this.metrics) {\n return Promise.resolve()\n }\n\n return this.metrics.setMetric(metricArgs, this.maxBatchQueued)\n }\n\n async sendBatch() {\n if(this.debug) {\n console.log('Loggers sendBatch')\n }\n try {\n const items = await this.database.getAllItems()\n\n if (items.length) {\n await this.api.sendBatch(items)\n }\n } catch (_) { }\n\n return Promise.resolve()\n }\n\n async sendMetricBatch() {\n if (!this.metrics) {\n return Promise.resolve()\n }\n try {\n await this.metrics.sendBatch()\n } catch (_) { }\n return Promise.resolve()\n }\n\n getDeviceId() {\n return this.deviceId\n }\n\n setConfig({\n enableCron,\n batchTime,\n enableEvents,\n enableLogs,\n maxBatchQueued,\n }: SetConfigArgs) {\n this.enableEvents =\n enableEvents !== undefined ? enableEvents : this.enableEvents\n this.enableLogs = enableLogs !== undefined ? enableLogs : this.enableLogs\n this.enableCron = enableCron !== undefined ? enableCron : this.enableCron\n this.batchTime = batchTime !== undefined ? batchTime : this.batchTime\n this.maxBatchQueued =\n maxBatchQueued !== undefined ? maxBatchQueued : this.maxBatchQueued\n\n this.startCron()\n }\n\n setMetricsConfig(args: SetMetricsConfigArgs) {\n if(!this.metrics) {\n return\n }\n console.log('setMetricsConfig', args)\n this.metrics.setConfig(args)\n }\n}\n"],"names":["__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__classPrivateFieldGet","receiver","state","kind","f","TypeError","has","call","get","__classPrivateFieldSet","set","EventLogType","Level","SuppressedError","ApiKeyPrefixToEnvironmentSuffix","dev","staging","sandbox","prod","getBaseUrl","publicApiKey","apiKeyPrefix","split","environmentSuffix","undefined","Error","replace","forbiddenUrls","FetchApi","constructor","platform","acceptLanguage","debug","_FetchApi_debug","this","_FetchApi_baseUrl","_FetchApi_options","method","keepalive","headers","sendBatch","batches","console","dir","depth","some","url","window","location","href","includes","fetch","Object","assign","body","JSON","stringify","batch","response","json","sendMetricsBatch","AxiosApi","_AxiosApi_instance","_AxiosApi_debug","axios","create","baseURL","timeout","post","data","getInstances","isBrowser","Function","getDeviceId","cookieName","deviceId","cookie","document","find","trim","generateId","getExpires","Date","now","toString","Math","random","substring","padStart","date","setTime","getTime","toUTCString","Interval","callback","time","_Interval_intervalId","_Interval_enableRequestAnimationFrame","setInterval","stop","clearInterval","WeakMap","_Interval_instances","WeakSet","_Interval_startRequestAnimationFrame","previousTimeStamp","timeStamp","log","requestAnimationFrame","Cron","batchTime","database","_Cron_database","_Cron_interval","_Cron_callback","bind","items","getAllItems","length","LocalStorage","organizationName","databaseNameSpace","_LocalStorage_localStorage","_LocalStorage_databaseName","localStorage","getItem","reset","setItem","item","push","obj","cache","key","indexOf","fnBody","RegExp","id","removeItem","count","parse","MemoryStorage","_MemoryStorage_items","databaseFactory","databaseType","isLocalStorageEnabled","Metrics","api","enableMetrics","cron","_Metrics_totalItems","startCron","enableCron","setMetric","metricArgs","maxBatchQueued","setConfig","EventLogMain","enableEvents","enableLogs","language","xVersion","workflow","country","clientAppDomain","browserInfo","UAParser","getResult","_EventLogMain_location","_EventLogMain_platform","_EventLogMain_xVersion","_EventLogMain_totalItems","_EventLogMain_workflow","apiFactory","_EventLogMain_instances","_EventLogMain_getLocation","metrics","setEvent","eventLogArgs","level","eventArgs","location_lat","_a","latitude","location_lng","_b","longitude","type","EVENT","setLog","LOG","arguments","os","_c","name","organization_name","client_app_domain","_d","getDomain","device_id","metadata","browser_info","public_api_key","user_agent","_e","ua","accept_language","_f","getUrl","host","navigator","permissions","permissionStatus","query","geolocation","getCurrentPosition","position","coords","error","EventLog","logger","logArgs","ERROR","DEBUG","info","INFO","event","_","sendMetricBatch","setMetricsConfig","args"],"mappings":"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","x_google_ignoreList":[0]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yuno-payments/sdk-event-log",
3
- "version": "1.9.0",
3
+ "version": "1.10.0-miguel.1",
4
4
  "description": "Register application logs and events",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",