mirror of
https://github.com/imezx/Warp.git
synced 2025-04-24 15:10:03 +00:00
2 lines
12 KiB
JavaScript
2 lines
12 KiB
JavaScript
|
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var version="2.13.0";function extractAdditionalParams(e){return e.reduce(function(e,t){var n=e.events,e=e.additionalParams;return"index"in t?{additionalParams:e,events:n.concat([t])}:{events:n,additionalParams:t}},{events:[],additionalParams:void 0})}var supportsCookies=function(){try{return Boolean(navigator.cookieEnabled)}catch(e){return!1}},supportsSendBeacon=function(){try{return Boolean(navigator.sendBeacon)}catch(e){return!1}},supportsXMLHttpRequest=function(){try{return Boolean(XMLHttpRequest)}catch(e){return!1}},supportsNativeFetch=function(){try{return void 0!==fetch}catch(e){return!1}},isUndefined=function(e){return void 0===e},isNumber=function(e){return"number"==typeof e},isFunction=function(e){return"function"==typeof e};function getFunctionalInterface(i){return function(e){for(var t=[],n=arguments.length-1;0<n--;)t[n]=arguments[n+1];e&&isFunction(i[e])?i[e].apply(i,t):console.warn("The method `"+e+"` doesn't exist.")}}var DEFAULT_ALGOLIA_AGENTS=["insights-js ("+version+")","insights-js-browser-cjs ("+version+")"];function addAlgoliaAgent(e){-1===this._ua.indexOf(e)&&this._ua.push(e)}function getVersion(e){isFunction(e)&&e(this.version)}function __rest(e,t){var n={};for(s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,s=Object.getOwnPropertySymbols(e);i<s.length;i++)t.indexOf(s[i])<0&&Object.prototype.propertyIsEnumerable.call(e,s[i])&&(n[s[i]]=e[s[i]]);return n}function makeSendEvents(s){return function(e,t){var i=this;if(!this._userHasOptedOut){if(!(!isUndefined(this._apiKey)&&!isUndefined(this._appId)||(null==(n=null==t?void 0:t.headers)?void 0:n["X-Algolia-Application-Id"])&&(null==(n=null==t?void 0:t.headers)?void 0:n["X-Algolia-API-Key"])))throw new Error("Before calling any methods on the analytics, you first need to call the 'init' function with appId and apiKey parameters or provide custom credentials in additional parameters.");!this._userToken&&this._anonymousUserToken&&this.setAnonymousUserToken(!0);var n=e.map(function(e){var t=e.filters,n=__rest(e,["filters"]),e=Object.assign(Object.assign({},n),{userToken:null!=(n=null==e?void 0:e.userToken)?n:i._userToken,authenticatedUserToken:null!=(n=null==e?void 0:e.authenticatedUserToken)?n:i._authenticatedUserToken});return isUndefined(t)||(e.filters=t.map(encodeURIComponent)),e});return sendRequest(s,this._ua,this._endpointOrigin,n,this._appId,this._apiKey,null==t?void 0:t.headers)}}}function sendRequest(e,t,n,i,s,r,o){var a=(o=void 0===o?{}:o)["X-Algolia-Application-Id"],c=o["X-Algolia-API-Key"],o=__rest(o,["X-Algolia-Application-Id","X-Algolia-API-Key"]),d=Object.assign({"X-Algolia-Application-Id":null!=a?a:s,"X-Algolia-API-Key":null!=c?c:r,"X-Algolia-Agent":encodeURIComponent(t.join("; "))},o);return e(n+"/1/events?"+Object.keys(d).map(function(e){return e+"="+d[e]}).join("&"),{events:i})}function createUUID(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)})}var COOKIE_KEY="_ALGOLIA",MONTH=2592e6,setCookie=function(e,t,n){var i=new Date,n=(i.setTime(i.getTime()+n),"expires="+i.toUTCString());document.cookie=e+"="+t+";"+n+";path=/"},getCookie=function(e){for(var t=e+"=",n=document.cookie.split(";"),i=0;i<n.length;i++){for(var s=n[i];" "===s.charAt(0);)s=s.substring(1);if(0===s.indexOf(t))return s.substring(t.length,s.length)}return""};function setAnonymousUserToken(e){(e=void 0!==e&&e)?this.setUserToken("anonymous-"+createUUID()):supportsCookies()&&((e=getCookie(COOKIE_KEY))&&""!==e&&0===e.indexOf("anonymous-")?this.setUserToken(e):(e=this.setUserToken("anonymous-"+createUUID()),setCookie(COOKIE_KEY,e,this._cookieDuration)))}function setUserToken(e){return this._userToken=e,isFunction(this._onUserTokenChangeCallback)&&this._onUserTokenChangeCallback(this._userToken),this._userToken}function getUserToken(e,t){return isFunction(t)&&t(null,this._userToken),this._userToken}function onUserTokenChange(e
|