aesirx-analytics 1.1.3 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
package/dist/analytics.js CHANGED
@@ -1,4 +1,4 @@
1
- (()=>{var D,I=(r,e)=>(Object.keys(e).forEach(t=>{e[t]!==void 0&&(r[t]=e[t])}),r),_=async(r,e)=>{let i=await(await fetch(r,{method:"POST",body:JSON.stringify(e),headers:I({"Content-Type":"application/json"},{["x-tracker-cache"]:D})})).json();if(i.error)throw i.error;return i};var N={"Amazon Silk":"amazon_silk","Android Browser":"android",Bada:"bada",BlackBerry:"blackberry",Chrome:"chrome",Chromium:"chromium",Electron:"electron",Epiphany:"epiphany",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot","Internet Explorer":"ie","K-Meleon":"k_meleon",Maxthon:"maxthon","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver",Opera:"opera","Opera Coast":"opera_coast",PhantomJS:"phantomjs",Puffin:"puffin",QupZilla:"qupzilla",QQ:"qq",QQLite:"qqlite",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SeaMonkey:"seamonkey",Sleipnir:"sleipnir",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat","Yandex Browser":"yandex",Roku:"roku"},F={amazon_silk:"Amazon Silk",android:"Android Browser",bada:"Bada",blackberry:"BlackBerry",chrome:"Chrome",chromium:"Chromium",electron:"Electron",epiphany:"Epiphany",firefox:"Firefox",focus:"Focus",generic:"Generic",googlebot:"Googlebot",google_search:"Google Search",ie:"Internet Explorer",k_meleon:"K-Meleon",maxthon:"Maxthon",edge:"Microsoft Edge",mz:"MZ Browser",naver:"NAVER Whale Browser",opera:"Opera",opera_coast:"Opera Coast",phantomjs:"PhantomJS",puffin:"Puffin",qupzilla:"QupZilla",qq:"QQ Browser",qqlite:"QQ Browser Lite",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",sleipnir:"Sleipnir",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yandex:"Yandex Browser"},l={tablet:"tablet",mobile:"mobile",desktop:"desktop",tv:"tv"},p={WindowsPhone:"Windows Phone",Windows:"Windows",MacOS:"macOS",iOS:"iOS",Android:"Android",WebOS:"WebOS",BlackBerry:"BlackBerry",Bada:"Bada",Tizen:"Tizen",Linux:"Linux",ChromeOS:"Chrome OS",PlayStation4:"PlayStation 4",Roku:"Roku"},v={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Presto:"Presto",Gecko:"Gecko",WebKit:"WebKit"};var s=class{static getFirstMatch(e,t){let i=t.match(e);return i&&i.length>0&&i[1]||""}static getSecondMatch(e,t){let i=t.match(e);return i&&i.length>1&&i[2]||""}static matchAndReturnConst(e,t,i){if(e.test(t))return i}static getWindowsVersionName(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}}static getMacOSVersionName(e){let t=e.split(".").splice(0,2).map(i=>parseInt(i,10)||0);if(t.push(0),t[0]===10)switch(t[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}}static getAndroidVersionName(e){let t=e.split(".").splice(0,2).map(i=>parseInt(i,10)||0);if(t.push(0),!(t[0]===1&&t[1]<5)){if(t[0]===1&&t[1]<6)return"Cupcake";if(t[0]===1&&t[1]>=6)return"Donut";if(t[0]===2&&t[1]<2)return"Eclair";if(t[0]===2&&t[1]===2)return"Froyo";if(t[0]===2&&t[1]>2)return"Gingerbread";if(t[0]===3)return"Honeycomb";if(t[0]===4&&t[1]<1)return"Ice Cream Sandwich";if(t[0]===4&&t[1]<4)return"Jelly Bean";if(t[0]===4&&t[1]>=4)return"KitKat";if(t[0]===5)return"Lollipop";if(t[0]===6)return"Marshmallow";if(t[0]===7)return"Nougat";if(t[0]===8)return"Oreo";if(t[0]===9)return"Pie"}}static getVersionPrecision(e){return e.split(".").length}static compareVersions(e,t,i=!1){let n=s.getVersionPrecision(e),c=s.getVersionPrecision(t),a=Math.max(n,c),h=0,o=s.map([e,t],g=>{let m=a-s.getVersionPrecision(g),y=g+new Array(m+1).join(".0");return s.map(y.split("."),S=>new Array(20-S.length).join("0")+S).reverse()});for(i&&(h=a-Math.min(n,c)),a-=1;a>=h;){if(o[0][a]>o[1][a])return 1;if(o[0][a]===o[1][a]){if(a===h)return 0;a-=1}else if(o[0][a]<o[1][a])return-1}}static map(e,t){let i=[],n;if(Array.prototype.map)return Array.prototype.map.call(e,t);for(n=0;n<e.length;n+=1)i.push(t(e[n]));return i}static find(e,t){let i,n;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(i=0,n=e.length;i<n;i+=1){let c=e[i];if(t(c,i))return c}}static assign(e,...t){let i=e,n,c;if(Object.assign)return Object.assign(e,...t);for(n=0,c=t.length;n<c;n+=1){let a=t[n];typeof a=="object"&&a!==null&&Object.keys(a).forEach(o=>{i[o]=a[o]})}return e}static getBrowserAlias(e){return N[e]}static getBrowserTypeByAlias(e){return F[e]||""}};var d=/version\/(\d+(\.?_?\d+)+)/i,Q=[{test:[/googlebot/i],describe(r){let e={name:"Googlebot"},t=s.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,r)||s.getFirstMatch(d,r);return t&&(e.version=t),e}},{test:[/opera/i],describe(r){let e={name:"Opera"},t=s.getFirstMatch(d,r)||s.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/opr\/|opios/i],describe(r){let e={name:"Opera"},t=s.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,r)||s.getFirstMatch(d,r);return t&&(e.version=t),e}},{test:[/SamsungBrowser/i],describe(r){let e={name:"Samsung Internet for Android"},t=s.getFirstMatch(d,r)||s.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/Whale/i],describe(r){let e={name:"NAVER Whale Browser"},t=s.getFirstMatch(d,r)||s.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/MZBrowser/i],describe(r){let e={name:"MZ Browser"},t=s.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,r)||s.getFirstMatch(d,r);return t&&(e.version=t),e}},{test:[/focus/i],describe(r){let e={name:"Focus"},t=s.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,r)||s.getFirstMatch(d,r);return t&&(e.version=t),e}},{test:[/swing/i],describe(r){let e={name:"Swing"},t=s.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,r)||s.getFirstMatch(d,r);return t&&(e.version=t),e}},{test:[/coast/i],describe(r){let e={name:"Opera Coast"},t=s.getFirstMatch(d,r)||s.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe(r){let e={name:"Opera Touch"},t=s.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,r)||s.getFirstMatch(d,r);return t&&(e.version=t),e}},{test:[/yabrowser/i],describe(r){let e={name:"Yandex Browser"},t=s.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,r)||s.getFirstMatch(d,r);return t&&(e.version=t),e}},{test:[/ucbrowser/i],describe(r){let e={name:"UC Browser"},t=s.getFirstMatch(d,r)||s.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/Maxthon|mxios/i],describe(r){let e={name:"Maxthon"},t=s.getFirstMatch(d,r)||s.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/epiphany/i],describe(r){let e={name:"Epiphany"},t=s.getFirstMatch(d,r)||s.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/puffin/i],describe(r){let e={name:"Puffin"},t=s.getFirstMatch(d,r)||s.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/sleipnir/i],describe(r){let e={name:"Sleipnir"},t=s.getFirstMatch(d,r)||s.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/k-meleon/i],describe(r){let e={name:"K-Meleon"},t=s.getFirstMatch(d,r)||s.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/micromessenger/i],describe(r){let e={name:"WeChat"},t=s.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,r)||s.getFirstMatch(d,r);return t&&(e.version=t),e}},{test:[/qqbrowser/i],describe(r){let e={name:/qqbrowserlite/i.test(r)?"QQ Browser Lite":"QQ Browser"},t=s.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,r)||s.getFirstMatch(d,r);return t&&(e.version=t),e}},{test:[/msie|trident/i],describe(r){let e={name:"Internet Explorer"},t=s.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/\sedg\//i],describe(r){let e={name:"Microsoft Edge"},t=s.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/edg([ea]|ios)/i],describe(r){let e={name:"Microsoft Edge"},t=s.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/vivaldi/i],describe(r){let e={name:"Vivaldi"},t=s.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/seamonkey/i],describe(r){let e={name:"SeaMonkey"},t=s.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/sailfish/i],describe(r){let e={name:"Sailfish"},t=s.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,r);return t&&(e.version=t),e}},{test:[/silk/i],describe(r){let e={name:"Amazon Silk"},t=s.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/phantom/i],describe(r){let e={name:"PhantomJS"},t=s.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/slimerjs/i],describe(r){let e={name:"SlimerJS"},t=s.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe(r){let e={name:"BlackBerry"},t=s.getFirstMatch(d,r)||s.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/(web|hpw)[o0]s/i],describe(r){let e={name:"WebOS Browser"},t=s.getFirstMatch(d,r)||s.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/bada/i],describe(r){let e={name:"Bada"},t=s.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/tizen/i],describe(r){let e={name:"Tizen"},t=s.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,r)||s.getFirstMatch(d,r);return t&&(e.version=t),e}},{test:[/qupzilla/i],describe(r){let e={name:"QupZilla"},t=s.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,r)||s.getFirstMatch(d,r);return t&&(e.version=t),e}},{test:[/firefox|iceweasel|fxios/i],describe(r){let e={name:"Firefox"},t=s.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/electron/i],describe(r){let e={name:"Electron"},t=s.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/MiuiBrowser/i],describe(r){let e={name:"Miui"},t=s.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/chromium/i],describe(r){let e={name:"Chromium"},t=s.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,r)||s.getFirstMatch(d,r);return t&&(e.version=t),e}},{test:[/chrome|crios|crmo/i],describe(r){let e={name:"Chrome"},t=s.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/GSA/i],describe(r){let e={name:"Google Search"},t=s.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test(r){let e=!r.test(/like android/i),t=r.test(/android/i);return e&&t},describe(r){let e={name:"Android Browser"},t=s.getFirstMatch(d,r);return t&&(e.version=t),e}},{test:[/playstation 4/i],describe(r){let e={name:"PlayStation 4"},t=s.getFirstMatch(d,r);return t&&(e.version=t),e}},{test:[/safari|applewebkit/i],describe(r){let e={name:"Safari"},t=s.getFirstMatch(d,r);return t&&(e.version=t),e}},{test:[/.*/i],describe(r){let e=/^(.*)\/(.*) /,t=/^(.*)\/(.*)[ \t]\((.*)/,n=r.search("\\(")!==-1?t:e;return{name:s.getFirstMatch(n,r),version:s.getSecondMatch(n,r)}}}],R=Q;var L=[{test:[/Roku\/DVP/],describe(r){let e=s.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,r);return{name:p.Roku,version:e}}},{test:[/windows phone/i],describe(r){let e=s.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,r);return{name:p.WindowsPhone,version:e}}},{test:[/windows /i],describe(r){let e=s.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,r),t=s.getWindowsVersionName(e);return{name:p.Windows,version:e,versionName:t}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe(r){let e={name:p.iOS},t=s.getSecondMatch(/(Version\/)(\d[\d.]+)/,r);return t&&(e.version=t),e}},{test:[/macintosh/i],describe(r){let e=s.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,r).replace(/[_\s]/g,"."),t=s.getMacOSVersionName(e),i={name:p.MacOS,version:e};return t&&(i.versionName=t),i}},{test:[/(ipod|iphone|ipad)/i],describe(r){let e=s.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,r).replace(/[_\s]/g,".");return{name:p.iOS,version:e}}},{test(r){let e=!r.test(/like android/i),t=r.test(/android/i);return e&&t},describe(r){let e=s.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,r),t=s.getAndroidVersionName(e),i={name:p.Android,version:e};return t&&(i.versionName=t),i}},{test:[/(web|hpw)[o0]s/i],describe(r){let e=s.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,r),t={name:p.WebOS};return e&&e.length&&(t.version=e),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe(r){let e=s.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,r)||s.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,r)||s.getFirstMatch(/\bbb(\d+)/i,r);return{name:p.BlackBerry,version:e}}},{test:[/bada/i],describe(r){let e=s.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,r);return{name:p.Bada,version:e}}},{test:[/tizen/i],describe(r){let e=s.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,r);return{name:p.Tizen,version:e}}},{test:[/linux/i],describe(){return{name:p.Linux}}},{test:[/CrOS/],describe(){return{name:p.ChromeOS}}},{test:[/PlayStation 4/],describe(r){let e=s.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,r);return{name:p.PlayStation4,version:e}}}];var T=[{test:[/googlebot/i],describe(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe(r){let e=s.getFirstMatch(/(can-l01)/i,r)&&"Nova",t={type:l.mobile,vendor:"Huawei"};return e&&(t.model=e),t}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe(){return{type:l.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe(){return{type:l.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe(){return{type:l.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe(){return{type:l.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe(){return{type:l.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe(){return{type:l.tablet}}},{test(r){let e=r.test(/ipod|iphone/i),t=r.test(/like (ipod|iphone)/i);return e&&!t},describe(r){let e=s.getFirstMatch(/(ipod|iphone)/i,r);return{type:l.mobile,vendor:"Apple",model:e}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe(){return{type:l.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe(){return{type:l.mobile}}},{test(r){return r.getBrowserName(!0)==="blackberry"},describe(){return{type:l.mobile,vendor:"BlackBerry"}}},{test(r){return r.getBrowserName(!0)==="bada"},describe(){return{type:l.mobile}}},{test(r){return r.getBrowserName()==="windows phone"},describe(){return{type:l.mobile,vendor:"Microsoft"}}},{test(r){let e=Number(String(r.getOSVersion()).split(".")[0]);return r.getOSName(!0)==="android"&&e>=3},describe(){return{type:l.tablet}}},{test(r){return r.getOSName(!0)==="android"},describe(){return{type:l.mobile}}},{test(r){return r.getOSName(!0)==="macos"},describe(){return{type:l.desktop,vendor:"Apple"}}},{test(r){return r.getOSName(!0)==="windows"},describe(){return{type:l.desktop}}},{test(r){return r.getOSName(!0)==="linux"},describe(){return{type:l.desktop}}},{test(r){return r.getOSName(!0)==="playstation 4"},describe(){return{type:l.tv}}},{test(r){return r.getOSName(!0)==="roku"},describe(){return{type:l.tv}}}];var C=[{test(r){return r.getBrowserName(!0)==="microsoft edge"},describe(r){if(/\sedg\//i.test(r))return{name:v.Blink};let t=s.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,r);return{name:v.EdgeHTML,version:t}}},{test:[/trident/i],describe(r){let e={name:v.Trident},t=s.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test(r){return r.test(/presto/i)},describe(r){let e={name:v.Presto},t=s.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test(r){let e=r.test(/gecko/i),t=r.test(/like gecko/i);return e&&!t},describe(r){let e={name:v.Gecko},t=s.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/(apple)?webkit\/537\.36/i],describe(){return{name:v.Blink}}},{test:[/(apple)?webkit/i],describe(r){let e={name:v.WebKit},t=s.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}}];var A=class{constructor(e,t=!1){if(e==null||e==="")throw new Error("UserAgent parameter can't be empty");this._ua=e,this.parsedResult={},t!==!0&&this.parse()}getUA(){return this._ua}test(e){return e.test(this._ua)}parseBrowser(){this.parsedResult.browser={};let e=s.find(R,t=>{if(typeof t.test=="function")return t.test(this);if(t.test instanceof Array)return t.test.some(i=>this.test(i));throw new Error("Browser's test function is not valid")});return e&&(this.parsedResult.browser=e.describe(this.getUA())),this.parsedResult.browser}getBrowser(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()}getBrowserName(e){return e?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""}getBrowserVersion(){return this.getBrowser().version}getOS(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()}parseOS(){this.parsedResult.os={};let e=s.find(L,t=>{if(typeof t.test=="function")return t.test(this);if(t.test instanceof Array)return t.test.some(i=>this.test(i));throw new Error("Browser's test function is not valid")});return e&&(this.parsedResult.os=e.describe(this.getUA())),this.parsedResult.os}getOSName(e){let{name:t}=this.getOS();return e?String(t).toLowerCase()||"":t||""}getOSVersion(){return this.getOS().version}getPlatform(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()}getPlatformType(e=!1){let{type:t}=this.getPlatform();return e?String(t).toLowerCase()||"":t||""}parsePlatform(){this.parsedResult.platform={};let e=s.find(T,t=>{if(typeof t.test=="function")return t.test(this);if(t.test instanceof Array)return t.test.some(i=>this.test(i));throw new Error("Browser's test function is not valid")});return e&&(this.parsedResult.platform=e.describe(this.getUA())),this.parsedResult.platform}getEngine(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()}getEngineName(e){return e?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""}parseEngine(){this.parsedResult.engine={};let e=s.find(C,t=>{if(typeof t.test=="function")return t.test(this);if(t.test instanceof Array)return t.test.some(i=>this.test(i));throw new Error("Browser's test function is not valid")});return e&&(this.parsedResult.engine=e.describe(this.getUA())),this.parsedResult.engine}parse(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this}getResult(){return s.assign({},this.parsedResult)}satisfies(e){let t={},i=0,n={},c=0;if(Object.keys(e).forEach(h=>{let o=e[h];typeof o=="string"?(n[h]=o,c+=1):typeof o=="object"&&(t[h]=o,i+=1)}),i>0){let h=Object.keys(t),o=s.find(h,m=>this.isOS(m));if(o){let m=this.satisfies(t[o]);if(m!==void 0)return m}let g=s.find(h,m=>this.isPlatform(m));if(g){let m=this.satisfies(t[g]);if(m!==void 0)return m}}if(c>0){let h=Object.keys(n),o=s.find(h,g=>this.isBrowser(g,!0));if(o!==void 0)return this.compareVersion(n[o])}}isBrowser(e,t=!1){let i=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),c=s.getBrowserTypeByAlias(n);return t&&c&&(n=c.toLowerCase()),n===i}compareVersion(e){let t=[0],i=e,n=!1,c=this.getBrowserVersion();if(typeof c=="string")return e[0]===">"||e[0]==="<"?(i=e.substr(1),e[1]==="="?(n=!0,i=e.substr(2)):t=[],e[0]===">"?t.push(1):t.push(-1)):e[0]==="="?i=e.substr(1):e[0]==="~"&&(n=!0,i=e.substr(1)),t.indexOf(s.compareVersions(c,i,n))>-1}isOS(e){return this.getOSName(!0)===String(e).toLowerCase()}isPlatform(e){return this.getPlatformType(!0)===String(e).toLowerCase()}isEngine(e){return this.getEngineName(!0)===String(e).toLowerCase()}is(e,t=!1){return this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)}some(e=[]){return e.some(t=>this.is(t))}},O=A;var E=class{static getParser(e,t=!1){if(typeof e!="string")throw new Error("UserAgent should be a string");return new O(e,t)}static parse(e){return new O(e).getResult()}static get BROWSER_MAP(){return F}static get ENGINE_MAP(){return v}static get OS_MAP(){return p}static get PLATFORMS_MAP(){return l}},W=E;var k=(r,e)=>`${r}/visitor/v1/${e}`,x=async(r,e,t,i)=>{let{document:n}=window,{pathname:c,search:a,origin:h}=location;e=`${h}${c}${a}`,t=n.referrer,i=window.navigator.userAgent;let o=W.parse(window.navigator.userAgent),g=o?.browser?.name,m=o?.browser?.version??"0",y=window.navigator.userLanguage||window.navigator.language,S=o?.platform?.model??o?.platform?.type,u=`${h}`,f=window.location.search,b=new URLSearchParams(f),M=[];for(let w of b.keys())w.startsWith("utm_")&&b.get(w)&&M.push({name:w,value:b.get(w)});if(!b.get("visitor_uuid")){let w="";try{return await _(k(r,"init"),{url:e,referer:t,user_agent:i,ip:w,domain:u,browser_name:g,browser_version:m,lang:y,device:S,event_name:"visit",event_type:"action",attributes:M})}catch(P){throw window.alert("Analytics Error: "+P),P}}},B=async(r,e,t)=>{let{location:i,document:n}=window,{pathname:c,origin:a}=i;t=t?i.protocol+"//"+i.host+t:n.referrer?$("visitor_uuid",n.referrer):`${a}${c}`;let h=i.protocol+"//"+i.host+i.pathname,o=window.location.search,g=new URLSearchParams(o);return await _(k(r,"start"),{...g.get("visitor_uuid")&&{visitor_uuid:g.get("visitor_uuid")},...e&&{visitor_uuid:e},referer:t==="/"?"":t,url:h})},j=async(r,e,t,i)=>{let{location:n,document:c}=window;t=t?n.protocol+"//"+n.host+t:c.referrer.split("?")[0];let a=n.protocol+"//"+n.host+n.pathname,h=window.location.search,o=new URLSearchParams(h);return await _(k(r,"start"),{...o.get("visitor_uuid")&&{visitor_uuid:o.get("visitor_uuid")},...e&&{visitor_uuid:e},referer:t==="/"?"":t,url:a,...i})},q=(r,e)=>{let t=new URL(window.location.href);t.searchParams.set(r,e),window.history.pushState({path:t.href},"",t.href)},U=(r,e=window.location.href)=>{if(e)return new URL(e).searchParams.get(r)},z=r=>{let e=document.getElementsByTagName("a");for(let t=0;t<e.length;t++){let i=U("visitor_uuid",e[t].href);if(e[t].href){let n=new URL(e[t].href);!i&&r&&n.searchParams.append("visitor_uuid",r),e[t].href=n.href}}},V=(r,e,t)=>{if(e&&t){let i={event_uuid:e,visitor_uuid:t},n={type:"application/json"},c=new Blob([JSON.stringify(i)],n);navigator.sendBeacon(k(r,"end"),c)}},G=r=>{document.addEventListener("visibilitychange",async()=>{if(document.visibilityState==="hidden"&&V(r,window.event_uuid_start,window.visitor_uuid_start),document.visibilityState==="visible"){let e=await B(r,window.visitor_uuid,window.referer);window.event_uuid_start=e?.event_uuid}}),window.addEventListener("pagehide",e=>{e.persisted&&V(r,window.event_uuid_start,window.visitor_uuid_start)},!1)};function $(r,e){let t=e.split("?")[0],i,n=[],c=e.indexOf("?")!==-1?e.split("?")[1]:"";if(c!==""){n=c.split("&");for(let a=n.length-1;a>=0;a-=1)i=n[a].split("=")[0],i===r&&n.splice(a,1);n.length&&(t=t+"?"+n.join("&"))}return t}var K=()=>{let r=(u,f,b)=>{let M=u[f];return(...w)=>(b.apply(null,w),M.apply(u,w))},e=async u=>{if(!u)return;let{pathname:f,search:b,origin:M}=location;u=`${M}${f}${b}`;let w=u.toString();w.substring(0,4)==="http"?u="/"+w.split("/").splice(3).join("/"):u=w};if(!window.tracker){let u=f=>f;u.initTracker=x,u.startTracker=B,window.tracker=u}history.pushState=r(history,"pushState",e),history.replaceState=r(history,"replaceState",e);let t=window.aesirx1stparty?window.aesirx1stparty:"",i=t?t.replace(/\/$/,""):"",{currentScript:n}=document;if(!n)return;let c="data-",a="false",o=n.getAttribute.bind(n)(c+"aesirx-event-name")!==a,g="[data-aesirx-event-name]",m=async()=>{if(document.readyState==="complete"){let u=await x(i);u&&u.visitor_uuid&&q("visitor_uuid",u.visitor_uuid);let f=await B(i);f&&(window.event_uuid_start=f.event_uuid,window.visitor_uuid_start=f.visitor_uuid);let M=new URLSearchParams(window.location.search).get("visitor_uuid");M&&z(M),o&&y(document)}};document.addEventListener("readystatechange",m,!0),G(i);let y=u=>{let f=u.querySelectorAll(g);Array.prototype.forEach.call(f,S)},S=u=>{u.addEventListener("click",()=>{let f=[];Object.keys(u.dataset).forEach(b=>{b.startsWith("aesirxEventAttribute")&&f.push({name:b.replace("aesirxEventAttribute","").toLowerCase(),value:u.dataset[b]})}),j(i,"","",{event_name:u.dataset.aesirxEventName,event_type:u.dataset.aesirxEventType,attributes:f})},!0)};m()};K();})();
1
+ (()=>{var me,he=(r,e)=>(Object.keys(e).forEach(t=>{e[t]!==void 0&&(r[t]=e[t])}),r),x=async(r,e)=>{let i=await(await fetch(r,{method:"POST",body:JSON.stringify(e),headers:he({"Content-Type":"application/json"},{["x-tracker-cache"]:me})})).json();if(i.error)throw i.error;return i};var z={"Amazon Silk":"amazon_silk","Android Browser":"android",Bada:"bada",BlackBerry:"blackberry",Chrome:"chrome",Chromium:"chromium",Electron:"electron",Epiphany:"epiphany",Firefox:"firefox",Focus:"focus",Generic:"generic","Google Search":"google_search",Googlebot:"googlebot","Internet Explorer":"ie","K-Meleon":"k_meleon",Maxthon:"maxthon","Microsoft Edge":"edge","MZ Browser":"mz","NAVER Whale Browser":"naver",Opera:"opera","Opera Coast":"opera_coast",PhantomJS:"phantomjs",Puffin:"puffin",QupZilla:"qupzilla",QQ:"qq",QQLite:"qqlite",Safari:"safari",Sailfish:"sailfish","Samsung Internet for Android":"samsung_internet",SeaMonkey:"seamonkey",Sleipnir:"sleipnir",Swing:"swing",Tizen:"tizen","UC Browser":"uc",Vivaldi:"vivaldi","WebOS Browser":"webos",WeChat:"wechat","Yandex Browser":"yandex",Roku:"roku"},B={amazon_silk:"Amazon Silk",android:"Android Browser",bada:"Bada",blackberry:"BlackBerry",chrome:"Chrome",chromium:"Chromium",electron:"Electron",epiphany:"Epiphany",firefox:"Firefox",focus:"Focus",generic:"Generic",googlebot:"Googlebot",google_search:"Google Search",ie:"Internet Explorer",k_meleon:"K-Meleon",maxthon:"Maxthon",edge:"Microsoft Edge",mz:"MZ Browser",naver:"NAVER Whale Browser",opera:"Opera",opera_coast:"Opera Coast",phantomjs:"PhantomJS",puffin:"Puffin",qupzilla:"QupZilla",qq:"QQ Browser",qqlite:"QQ Browser Lite",safari:"Safari",sailfish:"Sailfish",samsung_internet:"Samsung Internet for Android",seamonkey:"SeaMonkey",sleipnir:"Sleipnir",swing:"Swing",tizen:"Tizen",uc:"UC Browser",vivaldi:"Vivaldi",webos:"WebOS Browser",wechat:"WeChat",yandex:"Yandex Browser"},m={tablet:"tablet",mobile:"mobile",desktop:"desktop",tv:"tv"},w={WindowsPhone:"Windows Phone",Windows:"Windows",MacOS:"macOS",iOS:"iOS",Android:"Android",WebOS:"WebOS",BlackBerry:"BlackBerry",Bada:"Bada",Tizen:"Tizen",Linux:"Linux",ChromeOS:"Chrome OS",PlayStation4:"PlayStation 4",Roku:"Roku"},S={EdgeHTML:"EdgeHTML",Blink:"Blink",Trident:"Trident",Presto:"Presto",Gecko:"Gecko",WebKit:"WebKit"};var s=class{static getFirstMatch(e,t){let i=t.match(e);return i&&i.length>0&&i[1]||""}static getSecondMatch(e,t){let i=t.match(e);return i&&i.length>1&&i[2]||""}static matchAndReturnConst(e,t,i){if(e.test(t))return i}static getWindowsVersionName(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.0":return"10";default:return}}static getMacOSVersionName(e){let t=e.split(".").splice(0,2).map(i=>parseInt(i,10)||0);if(t.push(0),t[0]===10)switch(t[1]){case 5:return"Leopard";case 6:return"Snow Leopard";case 7:return"Lion";case 8:return"Mountain Lion";case 9:return"Mavericks";case 10:return"Yosemite";case 11:return"El Capitan";case 12:return"Sierra";case 13:return"High Sierra";case 14:return"Mojave";case 15:return"Catalina";default:return}}static getAndroidVersionName(e){let t=e.split(".").splice(0,2).map(i=>parseInt(i,10)||0);if(t.push(0),!(t[0]===1&&t[1]<5)){if(t[0]===1&&t[1]<6)return"Cupcake";if(t[0]===1&&t[1]>=6)return"Donut";if(t[0]===2&&t[1]<2)return"Eclair";if(t[0]===2&&t[1]===2)return"Froyo";if(t[0]===2&&t[1]>2)return"Gingerbread";if(t[0]===3)return"Honeycomb";if(t[0]===4&&t[1]<1)return"Ice Cream Sandwich";if(t[0]===4&&t[1]<4)return"Jelly Bean";if(t[0]===4&&t[1]>=4)return"KitKat";if(t[0]===5)return"Lollipop";if(t[0]===6)return"Marshmallow";if(t[0]===7)return"Nougat";if(t[0]===8)return"Oreo";if(t[0]===9)return"Pie"}}static getVersionPrecision(e){return e.split(".").length}static compareVersions(e,t,i=!1){let n=s.getVersionPrecision(e),a=s.getVersionPrecision(t),c=Math.max(n,a),p=0,o=s.map([e,t],g=>{let h=c-s.getVersionPrecision(g),M=g+new Array(h+1).join(".0");return s.map(M.split("."),A=>new Array(20-A.length).join("0")+A).reverse()});for(i&&(p=c-Math.min(n,a)),c-=1;c>=p;){if(o[0][c]>o[1][c])return 1;if(o[0][c]===o[1][c]){if(c===p)return 0;c-=1}else if(o[0][c]<o[1][c])return-1}}static map(e,t){let i=[],n;if(Array.prototype.map)return Array.prototype.map.call(e,t);for(n=0;n<e.length;n+=1)i.push(t(e[n]));return i}static find(e,t){let i,n;if(Array.prototype.find)return Array.prototype.find.call(e,t);for(i=0,n=e.length;i<n;i+=1){let a=e[i];if(t(a,i))return a}}static assign(e,...t){let i=e,n,a;if(Object.assign)return Object.assign(e,...t);for(n=0,a=t.length;n<a;n+=1){let c=t[n];typeof c=="object"&&c!==null&&Object.keys(c).forEach(o=>{i[o]=c[o]})}return e}static getBrowserAlias(e){return z[e]}static getBrowserTypeByAlias(e){return B[e]||""}};var l=/version\/(\d+(\.?_?\d+)+)/i,ge=[{test:[/googlebot/i],describe(r){let e={name:"Googlebot"},t=s.getFirstMatch(/googlebot\/(\d+(\.\d+))/i,r)||s.getFirstMatch(l,r);return t&&(e.version=t),e}},{test:[/opera/i],describe(r){let e={name:"Opera"},t=s.getFirstMatch(l,r)||s.getFirstMatch(/(?:opera)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/opr\/|opios/i],describe(r){let e={name:"Opera"},t=s.getFirstMatch(/(?:opr|opios)[\s/](\S+)/i,r)||s.getFirstMatch(l,r);return t&&(e.version=t),e}},{test:[/SamsungBrowser/i],describe(r){let e={name:"Samsung Internet for Android"},t=s.getFirstMatch(l,r)||s.getFirstMatch(/(?:SamsungBrowser)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/Whale/i],describe(r){let e={name:"NAVER Whale Browser"},t=s.getFirstMatch(l,r)||s.getFirstMatch(/(?:whale)[\s/](\d+(?:\.\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/MZBrowser/i],describe(r){let e={name:"MZ Browser"},t=s.getFirstMatch(/(?:MZBrowser)[\s/](\d+(?:\.\d+)+)/i,r)||s.getFirstMatch(l,r);return t&&(e.version=t),e}},{test:[/focus/i],describe(r){let e={name:"Focus"},t=s.getFirstMatch(/(?:focus)[\s/](\d+(?:\.\d+)+)/i,r)||s.getFirstMatch(l,r);return t&&(e.version=t),e}},{test:[/swing/i],describe(r){let e={name:"Swing"},t=s.getFirstMatch(/(?:swing)[\s/](\d+(?:\.\d+)+)/i,r)||s.getFirstMatch(l,r);return t&&(e.version=t),e}},{test:[/coast/i],describe(r){let e={name:"Opera Coast"},t=s.getFirstMatch(l,r)||s.getFirstMatch(/(?:coast)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/opt\/\d+(?:.?_?\d+)+/i],describe(r){let e={name:"Opera Touch"},t=s.getFirstMatch(/(?:opt)[\s/](\d+(\.?_?\d+)+)/i,r)||s.getFirstMatch(l,r);return t&&(e.version=t),e}},{test:[/yabrowser/i],describe(r){let e={name:"Yandex Browser"},t=s.getFirstMatch(/(?:yabrowser)[\s/](\d+(\.?_?\d+)+)/i,r)||s.getFirstMatch(l,r);return t&&(e.version=t),e}},{test:[/ucbrowser/i],describe(r){let e={name:"UC Browser"},t=s.getFirstMatch(l,r)||s.getFirstMatch(/(?:ucbrowser)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/Maxthon|mxios/i],describe(r){let e={name:"Maxthon"},t=s.getFirstMatch(l,r)||s.getFirstMatch(/(?:Maxthon|mxios)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/epiphany/i],describe(r){let e={name:"Epiphany"},t=s.getFirstMatch(l,r)||s.getFirstMatch(/(?:epiphany)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/puffin/i],describe(r){let e={name:"Puffin"},t=s.getFirstMatch(l,r)||s.getFirstMatch(/(?:puffin)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/sleipnir/i],describe(r){let e={name:"Sleipnir"},t=s.getFirstMatch(l,r)||s.getFirstMatch(/(?:sleipnir)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/k-meleon/i],describe(r){let e={name:"K-Meleon"},t=s.getFirstMatch(l,r)||s.getFirstMatch(/(?:k-meleon)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/micromessenger/i],describe(r){let e={name:"WeChat"},t=s.getFirstMatch(/(?:micromessenger)[\s/](\d+(\.?_?\d+)+)/i,r)||s.getFirstMatch(l,r);return t&&(e.version=t),e}},{test:[/qqbrowser/i],describe(r){let e={name:/qqbrowserlite/i.test(r)?"QQ Browser Lite":"QQ Browser"},t=s.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\d+(\.?_?\d+)+)/i,r)||s.getFirstMatch(l,r);return t&&(e.version=t),e}},{test:[/msie|trident/i],describe(r){let e={name:"Internet Explorer"},t=s.getFirstMatch(/(?:msie |rv:)(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/\sedg\//i],describe(r){let e={name:"Microsoft Edge"},t=s.getFirstMatch(/\sedg\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/edg([ea]|ios)/i],describe(r){let e={name:"Microsoft Edge"},t=s.getSecondMatch(/edg([ea]|ios)\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/vivaldi/i],describe(r){let e={name:"Vivaldi"},t=s.getFirstMatch(/vivaldi\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/seamonkey/i],describe(r){let e={name:"SeaMonkey"},t=s.getFirstMatch(/seamonkey\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/sailfish/i],describe(r){let e={name:"Sailfish"},t=s.getFirstMatch(/sailfish\s?browser\/(\d+(\.\d+)?)/i,r);return t&&(e.version=t),e}},{test:[/silk/i],describe(r){let e={name:"Amazon Silk"},t=s.getFirstMatch(/silk\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/phantom/i],describe(r){let e={name:"PhantomJS"},t=s.getFirstMatch(/phantomjs\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/slimerjs/i],describe(r){let e={name:"SlimerJS"},t=s.getFirstMatch(/slimerjs\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe(r){let e={name:"BlackBerry"},t=s.getFirstMatch(l,r)||s.getFirstMatch(/blackberry[\d]+\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/(web|hpw)[o0]s/i],describe(r){let e={name:"WebOS Browser"},t=s.getFirstMatch(l,r)||s.getFirstMatch(/w(?:eb)?[o0]sbrowser\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/bada/i],describe(r){let e={name:"Bada"},t=s.getFirstMatch(/dolfin\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/tizen/i],describe(r){let e={name:"Tizen"},t=s.getFirstMatch(/(?:tizen\s?)?browser\/(\d+(\.?_?\d+)+)/i,r)||s.getFirstMatch(l,r);return t&&(e.version=t),e}},{test:[/qupzilla/i],describe(r){let e={name:"QupZilla"},t=s.getFirstMatch(/(?:qupzilla)[\s/](\d+(\.?_?\d+)+)/i,r)||s.getFirstMatch(l,r);return t&&(e.version=t),e}},{test:[/firefox|iceweasel|fxios/i],describe(r){let e={name:"Firefox"},t=s.getFirstMatch(/(?:firefox|iceweasel|fxios)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/electron/i],describe(r){let e={name:"Electron"},t=s.getFirstMatch(/(?:electron)\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/MiuiBrowser/i],describe(r){let e={name:"Miui"},t=s.getFirstMatch(/(?:MiuiBrowser)[\s/](\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/chromium/i],describe(r){let e={name:"Chromium"},t=s.getFirstMatch(/(?:chromium)[\s/](\d+(\.?_?\d+)+)/i,r)||s.getFirstMatch(l,r);return t&&(e.version=t),e}},{test:[/chrome|crios|crmo/i],describe(r){let e={name:"Chrome"},t=s.getFirstMatch(/(?:chrome|crios|crmo)\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/GSA/i],describe(r){let e={name:"Google Search"},t=s.getFirstMatch(/(?:GSA)\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test(r){let e=!r.test(/like android/i),t=r.test(/android/i);return e&&t},describe(r){let e={name:"Android Browser"},t=s.getFirstMatch(l,r);return t&&(e.version=t),e}},{test:[/playstation 4/i],describe(r){let e={name:"PlayStation 4"},t=s.getFirstMatch(l,r);return t&&(e.version=t),e}},{test:[/safari|applewebkit/i],describe(r){let e={name:"Safari"},t=s.getFirstMatch(l,r);return t&&(e.version=t),e}},{test:[/.*/i],describe(r){let e=/^(.*)\/(.*) /,t=/^(.*)\/(.*)[ \t]\((.*)/,n=r.search("\\(")!==-1?t:e;return{name:s.getFirstMatch(n,r),version:s.getSecondMatch(n,r)}}}],G=ge;var Q=[{test:[/Roku\/DVP/],describe(r){let e=s.getFirstMatch(/Roku\/DVP-(\d+\.\d+)/i,r);return{name:w.Roku,version:e}}},{test:[/windows phone/i],describe(r){let e=s.getFirstMatch(/windows phone (?:os)?\s?(\d+(\.\d+)*)/i,r);return{name:w.WindowsPhone,version:e}}},{test:[/windows /i],describe(r){let e=s.getFirstMatch(/Windows ((NT|XP)( \d\d?.\d)?)/i,r),t=s.getWindowsVersionName(e);return{name:w.Windows,version:e,versionName:t}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe(r){let e={name:w.iOS},t=s.getSecondMatch(/(Version\/)(\d[\d.]+)/,r);return t&&(e.version=t),e}},{test:[/macintosh/i],describe(r){let e=s.getFirstMatch(/mac os x (\d+(\.?_?\d+)+)/i,r).replace(/[_\s]/g,"."),t=s.getMacOSVersionName(e),i={name:w.MacOS,version:e};return t&&(i.versionName=t),i}},{test:[/(ipod|iphone|ipad)/i],describe(r){let e=s.getFirstMatch(/os (\d+([_\s]\d+)*) like mac os x/i,r).replace(/[_\s]/g,".");return{name:w.iOS,version:e}}},{test(r){let e=!r.test(/like android/i),t=r.test(/android/i);return e&&t},describe(r){let e=s.getFirstMatch(/android[\s/-](\d+(\.\d+)*)/i,r),t=s.getAndroidVersionName(e),i={name:w.Android,version:e};return t&&(i.versionName=t),i}},{test:[/(web|hpw)[o0]s/i],describe(r){let e=s.getFirstMatch(/(?:web|hpw)[o0]s\/(\d+(\.\d+)*)/i,r),t={name:w.WebOS};return e&&e.length&&(t.version=e),t}},{test:[/blackberry|\bbb\d+/i,/rim\stablet/i],describe(r){let e=s.getFirstMatch(/rim\stablet\sos\s(\d+(\.\d+)*)/i,r)||s.getFirstMatch(/blackberry\d+\/(\d+([_\s]\d+)*)/i,r)||s.getFirstMatch(/\bbb(\d+)/i,r);return{name:w.BlackBerry,version:e}}},{test:[/bada/i],describe(r){let e=s.getFirstMatch(/bada\/(\d+(\.\d+)*)/i,r);return{name:w.Bada,version:e}}},{test:[/tizen/i],describe(r){let e=s.getFirstMatch(/tizen[/\s](\d+(\.\d+)*)/i,r);return{name:w.Tizen,version:e}}},{test:[/linux/i],describe(){return{name:w.Linux}}},{test:[/CrOS/],describe(){return{name:w.ChromeOS}}},{test:[/PlayStation 4/],describe(r){let e=s.getFirstMatch(/PlayStation 4[/\s](\d+(\.\d+)*)/i,r);return{name:w.PlayStation4,version:e}}}];var U=[{test:[/googlebot/i],describe(){return{type:"bot",vendor:"Google"}}},{test:[/huawei/i],describe(r){let e=s.getFirstMatch(/(can-l01)/i,r)&&"Nova",t={type:m.mobile,vendor:"Huawei"};return e&&(t.model=e),t}},{test:[/nexus\s*(?:7|8|9|10).*/i],describe(){return{type:m.tablet,vendor:"Nexus"}}},{test:[/ipad/i],describe(){return{type:m.tablet,vendor:"Apple",model:"iPad"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\//],describe(){return{type:m.tablet,vendor:"Apple",model:"iPad"}}},{test:[/kftt build/i],describe(){return{type:m.tablet,vendor:"Amazon",model:"Kindle Fire HD 7"}}},{test:[/silk/i],describe(){return{type:m.tablet,vendor:"Amazon"}}},{test:[/tablet(?! pc)/i],describe(){return{type:m.tablet}}},{test(r){let e=r.test(/ipod|iphone/i),t=r.test(/like (ipod|iphone)/i);return e&&!t},describe(r){let e=s.getFirstMatch(/(ipod|iphone)/i,r);return{type:m.mobile,vendor:"Apple",model:e}}},{test:[/nexus\s*[0-6].*/i,/galaxy nexus/i],describe(){return{type:m.mobile,vendor:"Nexus"}}},{test:[/[^-]mobi/i],describe(){return{type:m.mobile}}},{test(r){return r.getBrowserName(!0)==="blackberry"},describe(){return{type:m.mobile,vendor:"BlackBerry"}}},{test(r){return r.getBrowserName(!0)==="bada"},describe(){return{type:m.mobile}}},{test(r){return r.getBrowserName()==="windows phone"},describe(){return{type:m.mobile,vendor:"Microsoft"}}},{test(r){let e=Number(String(r.getOSVersion()).split(".")[0]);return r.getOSName(!0)==="android"&&e>=3},describe(){return{type:m.tablet}}},{test(r){return r.getOSName(!0)==="android"},describe(){return{type:m.mobile}}},{test(r){return r.getOSName(!0)==="macos"},describe(){return{type:m.desktop,vendor:"Apple"}}},{test(r){return r.getOSName(!0)==="windows"},describe(){return{type:m.desktop}}},{test(r){return r.getOSName(!0)==="linux"},describe(){return{type:m.desktop}}},{test(r){return r.getOSName(!0)==="playstation 4"},describe(){return{type:m.tv}}},{test(r){return r.getOSName(!0)==="roku"},describe(){return{type:m.tv}}}];var $=[{test(r){return r.getBrowserName(!0)==="microsoft edge"},describe(r){if(/\sedg\//i.test(r))return{name:S.Blink};let t=s.getFirstMatch(/edge\/(\d+(\.?_?\d+)+)/i,r);return{name:S.EdgeHTML,version:t}}},{test:[/trident/i],describe(r){let e={name:S.Trident},t=s.getFirstMatch(/trident\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test(r){return r.test(/presto/i)},describe(r){let e={name:S.Presto},t=s.getFirstMatch(/presto\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test(r){let e=r.test(/gecko/i),t=r.test(/like gecko/i);return e&&!t},describe(r){let e={name:S.Gecko},t=s.getFirstMatch(/gecko\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}},{test:[/(apple)?webkit\/537\.36/i],describe(){return{name:S.Blink}}},{test:[/(apple)?webkit/i],describe(r){let e={name:S.WebKit},t=s.getFirstMatch(/webkit\/(\d+(\.?_?\d+)+)/i,r);return t&&(e.version=t),e}}];var q=class{constructor(e,t=!1){if(e==null||e==="")throw new Error("UserAgent parameter can't be empty");this._ua=e,this.parsedResult={},t!==!0&&this.parse()}getUA(){return this._ua}test(e){return e.test(this._ua)}parseBrowser(){this.parsedResult.browser={};let e=s.find(G,t=>{if(typeof t.test=="function")return t.test(this);if(t.test instanceof Array)return t.test.some(i=>this.test(i));throw new Error("Browser's test function is not valid")});return e&&(this.parsedResult.browser=e.describe(this.getUA())),this.parsedResult.browser}getBrowser(){return this.parsedResult.browser?this.parsedResult.browser:this.parseBrowser()}getBrowserName(e){return e?String(this.getBrowser().name).toLowerCase()||"":this.getBrowser().name||""}getBrowserVersion(){return this.getBrowser().version}getOS(){return this.parsedResult.os?this.parsedResult.os:this.parseOS()}parseOS(){this.parsedResult.os={};let e=s.find(Q,t=>{if(typeof t.test=="function")return t.test(this);if(t.test instanceof Array)return t.test.some(i=>this.test(i));throw new Error("Browser's test function is not valid")});return e&&(this.parsedResult.os=e.describe(this.getUA())),this.parsedResult.os}getOSName(e){let{name:t}=this.getOS();return e?String(t).toLowerCase()||"":t||""}getOSVersion(){return this.getOS().version}getPlatform(){return this.parsedResult.platform?this.parsedResult.platform:this.parsePlatform()}getPlatformType(e=!1){let{type:t}=this.getPlatform();return e?String(t).toLowerCase()||"":t||""}parsePlatform(){this.parsedResult.platform={};let e=s.find(U,t=>{if(typeof t.test=="function")return t.test(this);if(t.test instanceof Array)return t.test.some(i=>this.test(i));throw new Error("Browser's test function is not valid")});return e&&(this.parsedResult.platform=e.describe(this.getUA())),this.parsedResult.platform}getEngine(){return this.parsedResult.engine?this.parsedResult.engine:this.parseEngine()}getEngineName(e){return e?String(this.getEngine().name).toLowerCase()||"":this.getEngine().name||""}parseEngine(){this.parsedResult.engine={};let e=s.find($,t=>{if(typeof t.test=="function")return t.test(this);if(t.test instanceof Array)return t.test.some(i=>this.test(i));throw new Error("Browser's test function is not valid")});return e&&(this.parsedResult.engine=e.describe(this.getUA())),this.parsedResult.engine}parse(){return this.parseBrowser(),this.parseOS(),this.parsePlatform(),this.parseEngine(),this}getResult(){return s.assign({},this.parsedResult)}satisfies(e){let t={},i=0,n={},a=0;if(Object.keys(e).forEach(p=>{let o=e[p];typeof o=="string"?(n[p]=o,a+=1):typeof o=="object"&&(t[p]=o,i+=1)}),i>0){let p=Object.keys(t),o=s.find(p,h=>this.isOS(h));if(o){let h=this.satisfies(t[o]);if(h!==void 0)return h}let g=s.find(p,h=>this.isPlatform(h));if(g){let h=this.satisfies(t[g]);if(h!==void 0)return h}}if(a>0){let p=Object.keys(n),o=s.find(p,g=>this.isBrowser(g,!0));if(o!==void 0)return this.compareVersion(n[o])}}isBrowser(e,t=!1){let i=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),a=s.getBrowserTypeByAlias(n);return t&&a&&(n=a.toLowerCase()),n===i}compareVersion(e){let t=[0],i=e,n=!1,a=this.getBrowserVersion();if(typeof a=="string")return e[0]===">"||e[0]==="<"?(i=e.substr(1),e[1]==="="?(n=!0,i=e.substr(2)):t=[],e[0]===">"?t.push(1):t.push(-1)):e[0]==="="?i=e.substr(1):e[0]==="~"&&(n=!0,i=e.substr(1)),t.indexOf(s.compareVersions(a,i,n))>-1}isOS(e){return this.getOSName(!0)===String(e).toLowerCase()}isPlatform(e){return this.getPlatformType(!0)===String(e).toLowerCase()}isEngine(e){return this.getEngineName(!0)===String(e).toLowerCase()}is(e,t=!1){return this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)}some(e=[]){return e.some(t=>this.is(t))}},R=q;var C=class{static getParser(e,t=!1){if(typeof e!="string")throw new Error("UserAgent should be a string");return new R(e,t)}static parse(e){return new R(e).getResult()}static get BROWSER_MAP(){return B}static get ENGINE_MAP(){return S}static get OS_MAP(){return w}static get PLATFORMS_MAP(){return m}},K=C;var T=(r,e)=>`${r}/visitor/v1/${e}`,I=async(r,e,t,i)=>{let{document:n}=window,{pathname:a,search:c,origin:p}=location;e=`${p}${a}${c}`,t=n.referrer,i=window.navigator.userAgent;let o=K.parse(window.navigator.userAgent),g=o?.browser?.name,h=o?.browser?.version??"0",M=window.navigator.userLanguage||window.navigator.language,A=o?.platform?.model??o?.platform?.type,u=location?.host?.replace(/^www\./,""),f=window.location.search,b=new URLSearchParams(f),_=[];for(let v of b.keys())v.startsWith("utm_")&&b.get(v)&&_.push({name:v,value:b.get(v)});if(!b.get("visitor_uuid")){let v="";try{return await x(T(r,"init"),{url:e,referer:t,user_agent:i,ip:v,domain:u,browser_name:g,browser_version:h,lang:M,device:A,event_name:"visit",event_type:"action",attributes:_})}catch(F){console.error("Analytics Error: ",F)}}},P=async(r,e,t)=>{let{location:i,document:n}=window,{pathname:a,origin:c}=i;t=t?i.protocol+"//"+i.host+t:n.referrer?be("visitor_uuid",n.referrer):`${c}${a}`;let p=i.protocol+"//"+i.host+i.pathname,o=window.location.search,g=new URLSearchParams(o);return await x(T(r,"start"),{...g.get("visitor_uuid")&&{visitor_uuid:g.get("visitor_uuid")},...e&&{visitor_uuid:e},referer:t==="/"?"":t,url:p})},k=async(r,e,t,i)=>{let{location:n,document:a}=window;t=t?n.protocol+"//"+n.host+t:a.referrer.split("?")[0];let c=n.protocol+"//"+n.host+n.pathname,p=window.location.search,o=new URLSearchParams(p),g={...o.get("visitor_uuid")&&{visitor_uuid:o.get("visitor_uuid")},...e&&{visitor_uuid:e},referer:t==="/"?"":t,url:c,...i},h={type:"application/json"},M=new Blob([JSON.stringify(g)],h);return navigator.sendBeacon(T(r,"start"),M)},Z=(r,e)=>{let t=new URL(window.location.href);t.searchParams.set(r,e),window.history.pushState({path:t.href},"",t.href)},fe=(r,e=window.location.href)=>{if(e)return new URL(e).searchParams.get(r)},X=r=>{let e=document.getElementsByTagName("a");for(let t=0;t<e.length;t++){let i=fe("visitor_uuid",e[t].href);if(e[t].href){let n=new URL(e[t].href);!i&&r&&n.searchParams.append("visitor_uuid",r),e[t].href=n.href}}},J=(r,e,t)=>{if(e&&t){let i={event_uuid:e,visitor_uuid:t},n={type:"application/json"},a=new Blob([JSON.stringify(i)],n);navigator.sendBeacon(T(r,"end"),a)}},Y=r=>{document.addEventListener("visibilitychange",async()=>{if(document.visibilityState==="hidden"&&J(r,window.event_uuid_start,window.visitor_uuid_start),document.visibilityState==="visible"&&(new URLSearchParams(window.location.search).get("visitor_uuid")||window.visitor_uuid)){let t=await P(r,window.visitor_uuid,window.referer);window.event_uuid_start=t?.event_uuid}}),window.addEventListener("pagehide",e=>{e.persisted&&J(r,window.event_uuid_start,window.visitor_uuid_start)},!1)};function be(r,e){let t=e.split("?")[0],i,n=[],a=e.indexOf("?")!==-1?e.split("?")[1]:"";if(a!==""){n=a.split("&");for(let c=n.length-1;c>=0;c-=1)i=n[c].split("=")[0],i===r&&n.splice(c,1);n.length&&(t=t+"?"+n.join("&"))}return t}var ee=window.aesirx1stparty?window.aesirx1stparty:"",W=ee?ee.replace(/\/$/,""):"",te=()=>{Array.from(document.querySelectorAll(".cart:not(.variations_form) .single_add_to_cart_button")).forEach(n=>{n.addEventListener("click",()=>{let a=n.closest(".product").querySelector(".product_title")?.innerText,c=n.closest(".product").querySelector('input[name="quantity"]').value;n.classList.contains("disabled")||i(a,n.value,c)})}),Array.from(document.querySelectorAll(".add_to_cart_button.product_type_simple")).forEach(n=>{n.addEventListener("click",()=>{let a=n.closest(".product").querySelector(".woocommerce-loop-product__title")?.innerText;n.classList.contains("disabled")||i(a,n.dataset.product_id,"1")})}),Array.from(document.querySelectorAll(".cart.variations_form .single_add_to_cart_button")).forEach(n=>{n.addEventListener("click",()=>{let a=n.closest(".product").querySelector(".product_title")?.innerText,c=n.closest(".product").querySelector('input[name="quantity"]').value,p=n.closest(".product").querySelector('input[name="product_id"]').value,o=n.closest(".product").querySelector('input[name="variation_id"]').value;n.classList.contains("disabled")||i(a,p,c,o)})});let i=(n,a,c=null,p=null)=>{let o=Array();d(o,n,"wooocommerce_product_name"),d(o,a,"wooocommerce_product_id"),d(o,c,"wooocommerce_quantity"),d(o,p,"wooocommerce_variant_id"),k(W,"","",{event_name:"Add to cart",event_type:"submit",attributes:o})}},re=()=>{Array.from(document.querySelectorAll('form[role="search"] button[type="submit"]')).forEach(t=>{t.addEventListener("click",()=>{let i=t.closest("form").querySelector('input[type="search"]')?.value;!t.classList.contains("disabled")&&t.closest("form").querySelector('input[name="post_type"]')?.value==="product"&&e(i)})});let e=t=>{let i=Array();d(i,t,"wooocommerce_search"),k(W,"","",{event_name:"Search product",event_type:"submit",attributes:i})}},se=()=>{document.querySelector("form.woocommerce-checkout")?.addEventListener("submit",function(r){jQuery("form.woocommerce-checkout").on("checkout_place_order",function(){let e=r.target,t=Array();e.querySelectorAll(".cart_item").forEach((y,L)=>{let O=y.querySelector(".product-name"),j="";for(let E=0;E<O.childNodes.length;++E)O.childNodes[E].nodeType===Node.TEXT_NODE&&(j+=O.childNodes[E].textContent);d(t,j.trim(),"product-"+L+"-name");let pe=y.querySelector(".product-quantity").innerText?.replace("\xD7","");d(t,pe.trim(),"product-"+L+"-quantity");let N=y.querySelector(".woocommerce-Price-amount bdi"),D="";for(let E=0;E<N.childNodes.length;++E)N.childNodes[E].nodeType===Node.TEXT_NODE&&(D+=N.childNodes[E].textContent);d(t,D.trim(),"product-"+L+"-price")});let n=e.querySelector(".order-total .woocommerce-Price-amount bdi"),a="";for(let y=0;y<n.childNodes.length;++y)n.childNodes[y].nodeType===Node.TEXT_NODE&&(a+=n.childNodes[y].textContent);d(t,a.trim(),"order-total");let c=e.querySelector('input[name="billing_first_name"]'),p=e.querySelector('input[name="billing_last_name"]'),o=e.querySelector('input[name="billing_company"]'),g=e.querySelector('input[name="billing_address_1"]'),h=e.querySelector('input[name="billing_address_2"]'),M=e.querySelector('input[name="billing_postcode"]'),A=e.querySelector('input[name="billing_city"]'),u=e.querySelector('input[name="billing_state"]'),f=e.querySelector('input[name="billing_phone"]'),b=e.querySelector('input[name="billing_email"]'),_=e.querySelector('input[name="shipping_first_name"]'),v=e.querySelector('input[name="shipping_last_name"]'),F=e.querySelector('input[name="shipping_company"]'),ie=e.querySelector('input[name="shipping_address_1"]'),ne=e.querySelector('input[name="shipping_address_2"]'),oe=e.querySelector('input[name="shipping_postcode"]'),ae=e.querySelector('input[name="shipping_city"]'),ce=e.querySelector('input[name="shipping_state"]'),de=e.querySelectorAll('input[name="shipping_method[0]"]'),ue=e.querySelectorAll('input[name="payment_method"]'),le=e.querySelector('input[name="mailpoet_woocommerce_checkout_optin"]'),V="";ue?.forEach(y=>{y.checked&&(V=y.value)});let H="";de?.forEach(y=>{y.checked&&(H=y.value)}),d(t,c.value,"billing_first_name"),d(t,p.value,"billing_last_name"),d(t,o.value,"billing_company"),d(t,g.value,"billing_address_1"),d(t,h.value,"billing_address_2"),d(t,M.value,"billing_postcode"),d(t,A.value,"billing_city"),d(t,u.value,"billing_state"),d(t,f.value,"billing_phone"),d(t,b.value,"billing_email"),d(t,_.value,"shipping_first_name"),d(t,v.value,"shipping_last_name"),d(t,F.value,"shipping_company"),d(t,ie.value,"shipping_address_1"),d(t,ne.value,"shipping_address_2"),d(t,oe.value,"shipping_postcode"),d(t,ae.value,"shipping_city"),d(t,ce.value,"shipping_state"),d(t,H,"shipping_method"),d(t,V,"payment_method"),d(t,le.value,"mailpoet_woocommerce_checkout_optin"),k(W,"","",{event_name:"Checkout",event_type:"submit",attributes:t})})})},d=(r,e,t)=>{e&&r.push({name:t,value:e??""})};var we=()=>{let r=(u,f,b)=>{let _=u[f];return(...v)=>(b.apply(null,v),_.apply(u,v))},e=async u=>{if(!u)return;let{pathname:f,search:b,origin:_}=location;u=`${_}${f}${b}`;let v=u.toString();v.substring(0,4)==="http"?u="/"+v.split("/").splice(3).join("/"):u=v};if(!window.tracker){let u=f=>f;u.initTracker=I,u.startTracker=P,window.tracker=u}history.pushState=r(history,"pushState",e),history.replaceState=r(history,"replaceState",e);let t=window.aesirx1stparty?window.aesirx1stparty:"",i=t?t.replace(/\/$/,""):"",{currentScript:n}=document;if(!n)return;let a="data-",c="false",o=n.getAttribute.bind(n)(a+"aesirx-event-name")!==c,g="[data-aesirx-event-name]",h=async()=>{if(document.readyState==="complete"){let u=await I(i);u&&u.visitor_uuid&&Z("visitor_uuid",u.visitor_uuid);let f=new URLSearchParams(window.location.search);if(f.get("visitor_uuid")){let _=await P(i);_&&(window.event_uuid_start=_.event_uuid,window.visitor_uuid_start=_.visitor_uuid)}let b=f.get("visitor_uuid");b&&X(b),o&&M(document)}};document.addEventListener("readystatechange",h,!0),Y(i);let M=u=>{let f=u.querySelectorAll(g);Array.prototype.forEach.call(f,A)},A=u=>{u.addEventListener("click",()=>{let f=[];Object.keys(u.dataset).forEach(b=>{b.startsWith("aesirxEventAttribute")&&f.push({name:b.replace("aesirxEventAttribute","").toLowerCase(),value:u.dataset[b]})}),k(i,"","",{event_name:u.dataset.aesirxEventName,event_type:u.dataset.aesirxEventType,attributes:f})},!0)};h()},ve=()=>{te(),re(),se()};we();document.addEventListener("DOMContentLoaded",()=>{(document.body.classList.contains("woocommerce-js")||document.body.classList.contains("woocommerce-no-js"))&&ve()});})();
2
2
  /*! Bundled license information:
3
3
 
4
4
  bowser/src/bowser.js:
package/dist/index.d.ts CHANGED
@@ -27,7 +27,7 @@ interface AnalyticsReact {
27
27
  }
28
28
  declare const AnalyticsReact: ({ location, history, children }: AnalyticsReact) => JSX.Element;
29
29
 
30
- declare const trackEvent: (endpoint: string, visitor_uuid: string, referer?: string, data?: object) => Promise<any>;
30
+ declare const trackEvent: (endpoint: string, visitor_uuid: string, referer?: string, data?: object) => Promise<boolean>;
31
31
 
32
32
  interface AnalyticsContextType {
33
33
  visitor_uuid: string;
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import D from"react";import q,{useState as b}from"react";var p=q.createContext({visitor_uuid:void 0,event_uuid_start:void 0,visitor_uuid_start:void 0,setUUID:void 0,setEventIDStart:void 0,setUUIDStart:void 0}),h=({children:i})=>{let[e,t]=b(),[r,s]=b(),[c,u]=b();return q.createElement(p.Provider,{value:{visitor_uuid:e,event_uuid_start:r,visitor_uuid_start:c,setUUID:t,setEventIDStart:s,setUUIDStart:u}},i)};import R,{useCallback as Y,useEffect as x,useState as F}from"react";var $,B=(i,e)=>(Object.keys(e).forEach(t=>{e[t]!==void 0&&(i[t]=e[t])}),i),y=async(i,e)=>{let r=await(await fetch(i,{method:"POST",body:JSON.stringify(e),headers:B({"Content-Type":"application/json"},{["x-tracker-cache"]:$})})).json();if(r.error)throw r.error;return r};import V from"bowser";var g=(i,e)=>`${i}/visitor/v1/${e}`,S=async(i,e,t,r)=>{let{document:s}=window,{pathname:c,search:u,origin:a}=location;e=`${a}${c}${u}`,t=s.referrer,r=window.navigator.userAgent;let o=V.parse(window.navigator.userAgent),n=o?.browser?.name,d=o?.browser?.version??"0",v=window.navigator.userLanguage||window.navigator.language,l=o?.platform?.model??o?.platform?.type,H=`${a}`,O=window.location.search,m=new URLSearchParams(O),k=[];for(let _ of m.keys())_.startsWith("utm_")&&m.get(_)&&k.push({name:_,value:m.get(_)});if(!m.get("visitor_uuid")){let _="";try{return await y(g(i,"init"),{url:e,referer:t,user_agent:r,ip:_,domain:H,browser_name:n,browser_version:d,lang:v,device:l,event_name:"visit",event_type:"action",attributes:k})}catch(C){throw window.alert("Analytics Error: "+C),C}}},f=async(i,e,t)=>{let{location:r,document:s}=window,{pathname:c,origin:u}=r;t=t?r.protocol+"//"+r.host+t:s.referrer?U("visitor_uuid",s.referrer):`${u}${c}`;let a=r.protocol+"//"+r.host+r.pathname,o=window.location.search,n=new URLSearchParams(o);return await y(g(i,"start"),{...n.get("visitor_uuid")&&{visitor_uuid:n.get("visitor_uuid")},...e&&{visitor_uuid:e},referer:t==="/"?"":t,url:a})},J=async(i,e,t,r)=>{let{location:s,document:c}=window;t=t?s.protocol+"//"+s.host+t:c.referrer.split("?")[0];let u=s.protocol+"//"+s.host+s.pathname,a=window.location.search,o=new URLSearchParams(a);return await y(g(i,"start"),{...o.get("visitor_uuid")&&{visitor_uuid:o.get("visitor_uuid")},...e&&{visitor_uuid:e},referer:t==="/"?"":t,url:u,...r})};var Q=(i,e=window.location.href)=>{if(e)return new URL(e).searchParams.get(i)},P=i=>{let e=document.getElementsByTagName("a");for(let t=0;t<e.length;t++){let r=Q("visitor_uuid",e[t].href);if(e[t].href){let s=new URL(e[t].href);!r&&i&&s.searchParams.append("visitor_uuid",i),e[t].href=s.href}}},w=(i,e,t)=>{if(e&&t){let r={event_uuid:e,visitor_uuid:t},s={type:"application/json"},c=new Blob([JSON.stringify(r)],s);navigator.sendBeacon(g(i,"end"),c)}},A=i=>{document.addEventListener("visibilitychange",async()=>{if(document.visibilityState==="hidden"&&w(i,window.event_uuid_start,window.visitor_uuid_start),document.visibilityState==="visible"){let e=await f(i,window.visitor_uuid,window.referer);window.event_uuid_start=e?.event_uuid}}),window.addEventListener("pagehide",e=>{e.persisted&&w(i,window.event_uuid_start,window.visitor_uuid_start)},!1)};function U(i,e){let t=e.split("?")[0],r,s=[],c=e.indexOf("?")!==-1?e.split("?")[1]:"";if(c!==""){s=c.split("&");for(let u=s.length-1;u>=0;u-=1)r=s[u].split("=")[0],r===i&&s.splice(u,1);s.length&&(t=t+"?"+s.join("&"))}return t}var W=({router:i,children:e})=>{let t=R.useContext(p),r=process.env.NEXT_PUBLIC_ENDPOINT_ANALYTICS_URL,[s,c]=F(""),u=Y(async a=>{let o=a||"";window.referer=o;let n=await f(r,t.visitor_uuid,o);n.event_uuid&&t.setEventIDStart(n.event_uuid),n.visitor_uuid&&t.setUUIDStart(n.visitor_uuid)},[t,r]);return x(()=>{(async()=>{let n=new URLSearchParams(window.location.search).get("visitor_uuid");if(t.visitor_uuid)await u(U("visitor_uuid",i.asPath));else if(n)t.setUUID(n);else{let d=await S(r);d?.visitor_uuid&&t.setUUID(d?.visitor_uuid)}})()},[t.visitor_uuid]),x(()=>{let a=async()=>{let{visitor_uuid:l}=i.query;l&&c(U("visitor_uuid",i.asPath)),t.visitor_uuid_start&&!l&&(w(r,window.event_uuid_start,t.visitor_uuid_start),await u(s))};i.events.on("routeChangeComplete",a);let o=new URLSearchParams(window.location.search),n=o.get("visitor_uuid"),d=o.get("state"),v=o.get("code");return!n&&!d&&!v&&t.visitor_uuid&&(i.asPath.includes("?")?Object.keys(i.query).length&&i.replace({query:{...i.query,visitor_uuid:t.visitor_uuid}},void 0,{shallow:!0}):i.replace({query:{...i.query,visitor_uuid:t.visitor_uuid}},void 0,{shallow:!0})),n&&P(n),()=>{i.events.off("routeChangeComplete",a)}},[i.events,t.visitor_uuid,i.asPath,i.query]),x(()=>{(async()=>{A(r)})()},[]),x(()=>{(async()=>{window.visitor_uuid=t.visitor_uuid,window.event_uuid_start=t.event_uuid_start,window.visitor_uuid_start=t.visitor_uuid_start})()},[t.event_uuid_start,t.visitor_uuid_start]),R.createElement(R.Fragment,null,e)},E=W;var X=({router:i,children:e})=>D.createElement(D.Fragment,null,D.createElement(h,null,D.createElement(E,{router:i},e))),z=X;import j from"react";import T,{useEffect as N,useState as G}from"react";import I from"query-string";var K=({location:i,history:e,children:t})=>{let r=T.useContext(p),s=process.env.REACT_APP_ENDPOINT_ANALYTICS_URL,[c,u]=G(i.pathname);return N(()=>{(async()=>{if(r.visitor_uuid_start&&w(s,window.event_uuid_start,r.visitor_uuid_start),r.visitor_uuid){let n={...I.parse(i.search),visitor_uuid:r.visitor_uuid};e.replace({search:I.stringify(n)});let d=c||"";window.referer=d;let v=await f(s,r.visitor_uuid,d);v.event_uuid&&r.setEventIDStart(v.event_uuid),v.visitor_uuid&&r.setUUIDStart(v.visitor_uuid),u(i.pathname),P(r.visitor_uuid)}else{let n=new URLSearchParams(window.location.search).get("visitor_uuid");if(n)r.setUUID(n);else{let d=await S(s);d.visitor_uuid&&r.setUUID(d.visitor_uuid);let l={...I.parse(i.search),visitor_uuid:d.visitor_uuid};e.replace({search:I.stringify(l)})}}})()},[i.pathname,r.visitor_uuid,e]),N(()=>{(async()=>{A(s)})()},[]),N(()=>{(async()=>{window.visitor_uuid=r.visitor_uuid,window.event_uuid_start=r.event_uuid_start,window.visitor_uuid_start=r.visitor_uuid_start})()},[r.visitor_uuid,r.event_uuid_start,r.visitor_uuid_start]),T.createElement(T.Fragment,null,t)},L=K;var M=({location:i,history:e,children:t})=>j.createElement(h,null,j.createElement(L,{location:i,history:e},t)),Z=M;export{p as AnalyticsContext,z as AnalyticsNext,Z as AnalyticsReact,J as trackEvent};
1
+ import x from"react";import q,{useState as I}from"react";var p=q.createContext({visitor_uuid:void 0,event_uuid_start:void 0,visitor_uuid_start:void 0,setUUID:void 0,setEventIDStart:void 0,setUUIDStart:void 0}),h=({children:i})=>{let[r,t]=I(),[e,s]=I(),[a,c]=I();return q.createElement(p.Provider,{value:{visitor_uuid:r,event_uuid_start:e,visitor_uuid_start:a,setUUID:t,setEventIDStart:s,setUUIDStart:c}},i)};import C,{useCallback as Y,useEffect as A,useState as F}from"react";var B,$=(i,r)=>(Object.keys(r).forEach(t=>{r[t]!==void 0&&(i[t]=r[t])}),i),b=async(i,r)=>{let e=await(await fetch(i,{method:"POST",body:JSON.stringify(r),headers:$({"Content-Type":"application/json"},{["x-tracker-cache"]:B})})).json();if(e.error)throw e.error;return e};import J from"bowser";var y=(i,r)=>`${i}/visitor/v1/${r}`,g=async(i,r,t,e)=>{let{document:s}=window,{pathname:a,search:c,origin:u}=location;r=`${u}${a}${c}`,t=s.referrer,e=window.navigator.userAgent;let o=J.parse(window.navigator.userAgent),n=o?.browser?.name,d=o?.browser?.version??"0",l=window.navigator.userLanguage||window.navigator.language,v=o?.platform?.model??o?.platform?.type,H=location?.host?.replace(/^www\./,""),O=window.location.search,m=new URLSearchParams(O),T=[];for(let _ of m.keys())_.startsWith("utm_")&&m.get(_)&&T.push({name:_,value:m.get(_)});if(!m.get("visitor_uuid")){let _="";try{return await b(y(i,"init"),{url:r,referer:t,user_agent:e,ip:_,domain:H,browser_name:n,browser_version:d,lang:l,device:v,event_name:"visit",event_type:"action",attributes:T})}catch(k){console.error("Analytics Error: ",k)}}},f=async(i,r,t)=>{let{location:e,document:s}=window,{pathname:a,origin:c}=e;t=t?e.protocol+"//"+e.host+t:s.referrer?U("visitor_uuid",s.referrer):`${c}${a}`;let u=e.protocol+"//"+e.host+e.pathname,o=window.location.search,n=new URLSearchParams(o);return await b(y(i,"start"),{...n.get("visitor_uuid")&&{visitor_uuid:n.get("visitor_uuid")},...r&&{visitor_uuid:r},referer:t==="/"?"":t,url:u})},V=async(i,r,t,e)=>{let{location:s,document:a}=window;t=t?s.protocol+"//"+s.host+t:a.referrer.split("?")[0];let c=s.protocol+"//"+s.host+s.pathname,u=window.location.search,o=new URLSearchParams(u),n={...o.get("visitor_uuid")&&{visitor_uuid:o.get("visitor_uuid")},...r&&{visitor_uuid:r},referer:t==="/"?"":t,url:c,...e},d={type:"application/json"},l=new Blob([JSON.stringify(n)],d);return navigator.sendBeacon(y(i,"start"),l)};var Q=(i,r=window.location.href)=>{if(r)return new URL(r).searchParams.get(i)},S=i=>{let r=document.getElementsByTagName("a");for(let t=0;t<r.length;t++){let e=Q("visitor_uuid",r[t].href);if(r[t].href){let s=new URL(r[t].href);!e&&i&&s.searchParams.append("visitor_uuid",i),r[t].href=s.href}}},w=(i,r,t)=>{if(r&&t){let e={event_uuid:r,visitor_uuid:t},s={type:"application/json"},a=new Blob([JSON.stringify(e)],s);navigator.sendBeacon(y(i,"end"),a)}},P=i=>{document.addEventListener("visibilitychange",async()=>{if(document.visibilityState==="hidden"&&w(i,window.event_uuid_start,window.visitor_uuid_start),document.visibilityState==="visible"&&(new URLSearchParams(window.location.search).get("visitor_uuid")||window.visitor_uuid)){let t=await f(i,window.visitor_uuid,window.referer);window.event_uuid_start=t?.event_uuid}}),window.addEventListener("pagehide",r=>{r.persisted&&w(i,window.event_uuid_start,window.visitor_uuid_start)},!1)};function U(i,r){let t=r.split("?")[0],e,s=[],a=r.indexOf("?")!==-1?r.split("?")[1]:"";if(a!==""){s=a.split("&");for(let c=s.length-1;c>=0;c-=1)e=s[c].split("=")[0],e===i&&s.splice(c,1);s.length&&(t=t+"?"+s.join("&"))}return t}var W=({router:i,children:r})=>{let t=C.useContext(p),e=process.env.NEXT_PUBLIC_ENDPOINT_ANALYTICS_URL,[s,a]=F(""),c=Y(async u=>{let o=u||"";window.referer=o;let n=await f(e,t.visitor_uuid,o);n.event_uuid&&t.setEventIDStart(n.event_uuid),n.visitor_uuid&&t.setUUIDStart(n.visitor_uuid)},[t,e]);return A(()=>{(async()=>{let n=new URLSearchParams(window.location.search).get("visitor_uuid");if(t.visitor_uuid)await c(U("visitor_uuid",i.asPath));else if(n)t.setUUID(n);else{let d=await g(e);d?.visitor_uuid&&t.setUUID(d?.visitor_uuid)}})()},[t.visitor_uuid]),A(()=>{let u=async()=>{let{visitor_uuid:v}=i.query;v&&a(U("visitor_uuid",i.asPath)),t.visitor_uuid_start&&!v&&(w(e,window.event_uuid_start,t.visitor_uuid_start),await c(s))};i.events.on("routeChangeComplete",u);let o=new URLSearchParams(window.location.search),n=o.get("visitor_uuid"),d=o.get("state"),l=o.get("code");return!n&&!d&&!l&&t.visitor_uuid&&(i.asPath.includes("?")?Object.keys(i.query).length&&i.replace({query:{...i.query,visitor_uuid:t.visitor_uuid}},void 0,{shallow:!0}):i.replace({query:{...i.query,visitor_uuid:t.visitor_uuid}},void 0,{shallow:!0})),n&&S(n),()=>{i.events.off("routeChangeComplete",u)}},[i.events,t.visitor_uuid,i.asPath,i.query]),A(()=>{(async()=>{P(e)})()},[]),A(()=>{(async()=>{window.visitor_uuid=t.visitor_uuid,window.event_uuid_start=t.event_uuid_start,window.visitor_uuid_start=t.visitor_uuid_start})()},[t.event_uuid_start,t.visitor_uuid_start]),C.createElement(C.Fragment,null,r)},E=W;var X=({router:i,children:r})=>x.createElement(x.Fragment,null,x.createElement(h,null,x.createElement(E,{router:i},r))),z=X;import j from"react";import R,{useEffect as N,useState as G}from"react";import D from"query-string";var K=({location:i,history:r,children:t})=>{let e=R.useContext(p),s=process.env.REACT_APP_ENDPOINT_ANALYTICS_URL,[a,c]=G(i.pathname);return N(()=>{(async()=>{if(e.visitor_uuid_start&&w(s,window.event_uuid_start,e.visitor_uuid_start),e.visitor_uuid){let n={...D.parse(i.search),visitor_uuid:e.visitor_uuid};r.replace({search:D.stringify(n)});let d=a||"";window.referer=d;let l=await f(s,e.visitor_uuid,d);l.event_uuid&&e.setEventIDStart(l.event_uuid),l.visitor_uuid&&e.setUUIDStart(l.visitor_uuid),c(i.pathname),S(e.visitor_uuid)}else{let n=new URLSearchParams(window.location.search).get("visitor_uuid");if(n)e.setUUID(n);else{let d=await g(s);d.visitor_uuid&&e.setUUID(d.visitor_uuid);let v={...D.parse(i.search),visitor_uuid:d.visitor_uuid};r.replace({search:D.stringify(v)})}}})()},[i.pathname,e.visitor_uuid,r]),N(()=>{(async()=>{P(s)})()},[]),N(()=>{(async()=>{window.visitor_uuid=e.visitor_uuid,window.event_uuid_start=e.event_uuid_start,window.visitor_uuid_start=e.visitor_uuid_start})()},[e.visitor_uuid,e.event_uuid_start,e.visitor_uuid_start]),R.createElement(R.Fragment,null,t)},L=K;var M=({location:i,history:r,children:t})=>j.createElement(h,null,j.createElement(L,{location:i,history:r},t)),Z=M;export{p as AnalyticsContext,z as AnalyticsNext,Z as AnalyticsReact,V as trackEvent};
2
2
  /*
3
3
  * @copyright Copyright (C) 2022 AesirX. All rights reserved.
4
4
  * @license GNU General Public License version 3, see LICENSE.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aesirx-analytics",
3
- "version": "1.1.3",
3
+ "version": "1.1.5",
4
4
  "license": "GPL-3.0-only",
5
5
  "author": "AesirX",
6
6
  "repository": "https://gitlab.redweb.dk/aesirx/analytics",
@@ -13,7 +13,6 @@
13
13
  "react": "^18.2.0"
14
14
  },
15
15
  "scripts": {
16
- "clean": "rimraf lib",
17
16
  "dev": "tsup --watch --onSuccess 'yalc push --changed --no-scripts'",
18
17
  "build": "tsup",
19
18
  "lint": "eslint --fix \"src/**/\"",
@@ -43,13 +42,13 @@
43
42
  ]
44
43
  },
45
44
  "devDependencies": {
46
- "@babel/preset-env": "^7.21.4",
47
- "@babel/preset-typescript": "^7.21.4",
45
+ "@babel/preset-env": "^7.21.5",
46
+ "@babel/preset-typescript": "^7.21.5",
48
47
  "@jest/globals": "^29.5.0",
49
48
  "@types/jest": "^29.5.0",
50
- "@types/node": "^18.15.11",
49
+ "@types/node": "^20.1.4",
51
50
  "@types/react": "^18.0.30",
52
- "@types/react-dom": "^18.0.11",
51
+ "@types/react-dom": "^18.2.4",
53
52
  "@typescript-eslint/eslint-plugin": "^5.57.0",
54
53
  "@typescript-eslint/parser": "^5.57.0",
55
54
  "dotenv": "^16.0.3",
@@ -59,7 +58,6 @@
59
58
  "jest-environment-jsdom": "^29.4.3",
60
59
  "node-fetch": "^3.3.1",
61
60
  "prettier": "^2.8.4",
62
- "rimraf": "^4.4.1",
63
61
  "ts-jest": "^29.0.5",
64
62
  "tsup": "^6.7.0",
65
63
  "typescript": "^5.0.3"