UNPKG

@sdc-monitor/utils

Version:
2 lines (1 loc) 13 kB
var MITO=function(e){"use strict";var t=function(){return(t=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function n(e,t,n){if(n||2===arguments.length)for(var r,o=0,a=t.length;o<a;o++)!r&&o in t||(r||(r=Array.prototype.slice.call(t,0,o)),r[o]=t[o]);return e.concat(r||Array.prototype.slice.call(t))}"function"==typeof SuppressedError&&SuppressedError;var r=Object.prototype.toString;function o(e){return function(t){return r.call(t)==="[object ".concat(e,"]")}}var a={isNumber:o("Number"),isString:o("String"),isBoolean:o("Boolean"),isNull:o("Null"),isUndefined:o("Undefined"),isSymbol:o("Symbol"),isFunction:o("Function"),isObject:o("Object"),isArray:o("Array"),isProcess:o("process"),isWindow:o("Window")};function i(e,t){try{return e instanceof t}catch(e){return!1}}var c=a.isProcess("undefined"!=typeof process?process:0),s=a.isObject("undefined"!=typeof wx?wx:0)&&a.isFunction("undefined"!=typeof App?App:0),u=a.isWindow("undefined"!=typeof window?window:0);function l(){return u?window:s?wx:c?process:void 0}var f=l(),p=(f.__MITO__=f.__MITO__||{},f.__MITO__);var d="MITO Logger",g=function(){function e(){var e=this;if(this.enabled=!1,this._console={},f.console=console||f.console,console||f.console){["log","debug","info","warn","error","assert"].forEach((function(t){t in f.console&&(e._console[t]=f.console[t])}))}}return e.prototype.disable=function(){this.enabled=!1},e.prototype.bindOptions=function(e){this.enabled=!!e},e.prototype.enable=function(){this.enabled=!0},e.prototype.getEnableStatus=function(){return this.enabled},e.prototype.log=function(){for(var e,t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];this.enabled&&(e=this._console).log.apply(e,n(["".concat(d,"[Log]:")],t,!1))},e.prototype.warn=function(){for(var e,t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];this.enabled&&(e=this._console).warn.apply(e,n(["".concat(d,"[Warn]:")],t,!1))},e.prototype.error=function(){for(var e,t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];(e=this._console).error.apply(e,n(["".concat(d,"[Error]:")],t,!1))},e}(),h=p.logger||(p.logger=new g);function m(){return"undefined"==typeof document||null==document.location?"":document.location.href}function y(){return s?S():u?m():""}function v(){return Date.now()}function b(e,t){return r.call(e)==="[object ".concat(t,"]")}function O(e,t,n){return!!b(e,n)||(void 0!==e&&h.error("".concat(t,"期望传入:").concat(n,"类型,当前是:").concat(r.call(e),"类型")),!1)}function x(e,t){var n=[];return Object.keys(t).forEach((function(e){n.push("".concat(e,"=").concat(t[e]))})),e=-1!==e.indexOf("?")?"".concat(e,"&").concat(n.join("&")):"".concat(e,"?").concat(n.join("&"))}function S(){if(!a.isFunction(getCurrentPages))return"";var e=getCurrentPages();if(!e.length)return"App";var t=e.pop();return x(t.route,t.options)}function w(e){var t=new Date(e);return t.getFullYear()+"-"+((t.getMonth()+1<10?"0"+(t.getMonth()+1):t.getMonth()+1)+"-")+((t.getDate()<10?"0"+t.getDate():t.getDate())+" ")+((t.getHours()<10?"0"+t.getHours():t.getHours())+":")+((t.getMinutes()<10?"0"+t.getMinutes():t.getMinutes())+":")+(t.getSeconds()<10?"0"+t.getSeconds():t.getSeconds())}function N(e,n){var r={time:v(),url:y(),name:e.name,level:n,message:e.message};if(void 0===e.stack||!e.stack)return r;for(var o,a,i,c=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|[a-z]:|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,s=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,u=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,l=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,f=/\((\S*)(?::(\d+))(?::(\d+))\)/,p=e.stack.split("\n"),d=[],g=0,h=p.length;g<h;++g){if(a=c.exec(p[g])){var m=a[2]&&0===a[2].indexOf("native");a[2]&&0===a[2].indexOf("eval")&&(o=f.exec(a[2]))&&(a[2]=o[1],a[3]=o[2],a[4]=o[3]),i={url:m?null:a[2],func:a[1]||"UNKNOWN_FUNCTION",args:m?[a[2]]:[],line:a[3]?+a[3]:null,column:a[4]?+a[4]:null}}else if(a=u.exec(p[g]))i={url:a[2],func:a[1]||"UNKNOWN_FUNCTION",args:[],line:+a[3],column:a[4]?+a[4]:null};else{if(!(a=s.exec(p[g])))continue;a[3]&&a[3].indexOf(" > eval")>-1&&(o=l.exec(a[3]))?(a[3]=o[1],a[4]=o[2],a[5]=null):0!==g||a[5]||void 0===e.columnNumber||(d[0].column=e.columnNumber+1),i={url:a[3],func:a[1]||"UNKNOWN_FUNCTION",args:a[2]?a[2].split(","):[],line:a[4]?+a[4]:null,column:a[5]?+a[5]:null}}!i.func&&i.line&&(i.func="UNKNOWN_FUNCTION"),d.push(i)}return d.length?t(t({},r),{stack:d}):null}var E,T=function(){function e(){this.stack=[],this.isFlushing=!1,"Promise"in f&&(this.micro=Promise.resolve())}return e.prototype.addTask=function(e){var t=this;"function"==typeof e&&("Promise"in f?(this.stack.push(e),this.isFlushing||(this.isFlushing=!0,this.micro.then((function(){return t.flushStack()})))):e())},e.prototype.clear=function(){this.stack=[]},e.prototype.getStack=function(){return this.stack},e.prototype.flushStack=function(){var e=this.stack.slice(0);this.stack.length=0,this.isFlushing=!1;for(var t=0,n=e;t<n.length;t++){(0,n[t])()}},e}();e.Severity=void 0,(E=e.Severity||(e.Severity={})).Else="else",E.Error="error",E.Warning="warning",E.Info="info",E.Debug="debug",E.Low="low",E.Normal="normal",E.High="high",E.Critical="critical",function(e){e.fromString=function(t){switch(t){case"debug":return e.Debug;case"info":case"log":case"assert":return e.Info;case"warn":case"warning":return e.Warning;case e.Low:case e.Normal:case e.High:case e.Critical:case"error":return e.Error;default:return e.Else}}}(e.Severity||(e.Severity={}));var k={};function _(e){return Object.keys(e).sort().reduce((function(t,n){return a.isObject(e[n])?t[n]=_(e[n]):t[n]=e[n],t}),{})}function j(e){try{if(/\{.*\}/.test(e)){var t=JSON.parse(e);return t=_(t),JSON.stringify(t)}return e}catch(t){return e}}function I(e){return e.replace(/[?#].*$/,"").replace(/\/(\d+)\//g,"/{param}/$1").replace(/\/\d+([/]*$)/g,"/{param}$1")}function C(e){return e.replace(/(\S+)(\/Documents\/)(\S*)/,"$3")}function P(e){return e.replace(/(\S+)(\/#\/)(\S*)/,"$1")}function U(e){var t=0;if(0==e.length)return t;for(var n=0;n<e.length;n++){t=(t<<5)-t+e.charCodeAt(n),t&=t}return t}return e.Logger=g,e.Queue=T,e._global=f,e._support=p,e.createErrorId=function(e,t,n){var r;switch(e.type){case"HTTP":r=e.type+e.request.method+e.response.status+I(e.request.url)+t;break;case"JAVASCRIPT":case"VUE":case"REACT":r=e.type+e.name+e.message+t;break;case"LOG":r=e.customTag+e.type+e.name+t;break;case"PROMISE":r=function(e,t){var n=I(e.url);if("unhandledrejection"===e.name)return e.type+j(e.message)+t;return e.type+e.name+j(e.message)+n}(e,t);break;default:r=e.type+e.message+t}return r=U(r),k[r]>=n?null:("number"==typeof k[r]?k[r]++:k[r]=1,r)},e.defaultFunctionName="<anonymous>",e.extractErrorStack=N,e.firstStrtoLowerCase=function(e){return e.replace(/\b(\w)(\w*)/g,(function(e,t,n){return"".concat(t.toLowerCase()).concat(n)}))},e.firstStrtoUppercase=function(e){return e.replace(/\b(\w)(\w*)/g,(function(e,t,n){return"".concat(t.toUpperCase()).concat(n)}))},e.fromHttpStatus=function(e){if(e<400)return"ok";if(e>=400&&e<500)switch(e){case 401:return"unauthenticated";case 403:return"permission_denied";case 404:return"not_found";case 409:return"already_exists";case 413:return"failed_precondition";case 429:return"resource_exhausted";default:return"invalid_argument"}if(e>=500&&e<600)switch(e){case 501:return"unimplemented";case 503:return"unavailable";case 504:return"deadline_exceeded";default:return"internal_error"}return"unknown_error"},e.generateUUID=function(){var e=(new Date).getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){var n=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?n:3&n|8).toString(16)}))},e.getAppId=function(){return wx.getAccountInfoSync().miniProgram.appId},e.getBigVersion=function(e){return Number(e.split(".")[0])},e.getBreadcrumbCategoryInBrowser=function(e){switch(e){case"Xhr":case"Fetch":return"http";case"UI.Click":case"Route":return"user";case"Customer":case"Console":return"debug";case"Unhandledrejection":case"Code Error":case"Resource":default:return"exception"}},e.getBreadcrumbCategoryInWx=function(e){switch(e){case"Xhr":return"http";case"Route":case"UI.Tap":case"UI.Touchmove":return"user";case"Customer":case"Console":return"debug";case"App On Launch":case"App On Show":case"App On Hide":case"Page On Load":case"Page On Show":case"Page On Ready":case"Page On Hide":case"Page On Share App Message":case"Page On Share Timeline":case"Page On Tab Item Tap":return"lifecycle";case"Unhandledrejection":case"Code Error":case"Resource":case"Vue":case"React":default:return"exception"}},e.getCurrentRoute=S,e.getFlutterRealOrigin=function(e){return P(C(e))},e.getFlutterRealPath=C,e.getFunctionName=function(e){return e&&"function"==typeof e&&e.name||"<anonymous>"},e.getGlobal=l,e.getLocationHref=m,e.getObjectWithForIn=function(e){if(!a.isObject(e))return e;var t={};for(var n in e)t[n]=e[n];return t},e.getRealPath=I,e.getTimestamp=v,e.getUrlWithEnv=y,e.hashCode=U,e.htmlElementAsString=function(e){var t=e.tagName.toLowerCase();if("body"===t)return null;var n=e.classList.value;n=""!==n?' class="'.concat(n,'"'):"";var r=e.id?' id="'.concat(e.id,'"'):"",o=e.innerText;return"<".concat(t).concat(r).concat(""!==n?n:"",">").concat(o,"</").concat(t,">")},e.interceptStr=function(e,t){return a.isString(e)?e.slice(0,t)+(e.length>t?";slice the first ".concat(t," characters"):""):""},e.isBrowserEnv=u,e.isEmpty=function(e){return a.isString(e)&&""===e.trim()||null==e},e.isEmptyObject=function(e){return a.isObject(e)&&0===Object.keys(e).length},e.isError=function(e){switch(r.call(e)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return i(e,Error)}},e.isExistProperty=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},e.isInclude=function(e,t){return!!~e.indexOf(t)},e.isInstanceOf=i,e.isNodeEnv=c,e.isType=o,e.isWxMiniEnv=s,e.logger=h,e.nativeToString=r,e.nativeTryCatch=function(e,t){try{e()}catch(e){console.error("err",e),t&&t(e)}},e.on=function(e,t,n,r){void 0===r&&(r=!1),e.addEventListener(t,n,r)},e.parseErrorString=function(e){var t=e.split("\n");if(t.length<2)return null;-1!==t[0].indexOf("MiniProgramError")&&t.splice(0,1);var n=t.splice(0,1)[0],r=t.splice(0,1)[0].split(":")[0],o=[];return t.forEach((function(e){var t=/at\s+([\S]+)\s+\(/.exec(e),n=/\(([^)]+)\)/.exec(e);n||(n=/\s+at\s+(\S+)/.exec(e));var r=Array.isArray(t)&&t.length>0?t[1].trim():"",a=(Array.isArray(n)&&n.length>0?n[1]:"").split(":");o.push({args:[],func:r||"UNKNOWN_FUNCTION",column:Number(a.pop()),line:Number(a.pop()),url:a.join(":")})})),{message:n,name:r,stack:o}},e.parseUrlToObj=function(e){if(!e)return{};var t=e.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!t)return{};var n=t[6]||"",r=t[8]||"";return{host:t[4],path:t[5],protocol:t[2],relative:t[5]+n+r}},e.removeHashPath=P,e.replaceOld=function(e,t,n,r){if(void 0===r&&(r=!1),void 0!==e&&(t in e||r)){var o=n(e[t]);"function"==typeof o&&(e[t]=o)}},e.safeStringify=function(e){var t=new Set,n=JSON.stringify(e,(function(e,n){return t.has(n)?"Circular":("object"==typeof n&&t.add(n),n)}));return t.clear(),n},e.setUrlQuery=x,e.silentConsoleScope=function(e){e()},e.sleepRun=function(e,t){void 0===t&&(t=200),setTimeout((function(){e()}),t)},e.sortObjByKey=_,e.stringToObjAndOrder=j,e.supportsHistory=function(){var e=f.chrome,t=e&&e.app&&e.app.runtime,n="history"in f&&!!f.history.pushState&&!!f.history.replaceState;return!t&&n},e.throttle=function(e,t){var n=!0;return function(){for(var r=[],o=0;o<arguments.length;o++)r[o]=arguments[o];n&&(e.apply(this,r),n=!1,setTimeout((function(){n=!0}),t))}},e.timestampToTime=w,e.toStringAny=b,e.toStringValidateOption=O,e.transformParams=function(e){var t=e.data.type;if(!t||!["HTTP","RESOURCE","JAVASCRIPT","LOG","PROMISE","VUE"].includes(t))return null;var n={level:"VUE"===t?"WARN":"ERROR",authInfo:{sdkVersion:e.authInfo.sdkVersion,apikey:e.authInfo.apikey},time:w(e.data.time),type:t,url:e.data.url},r=new Object,o=e.data.request,a=e.data.response;"HTTP"===t&&(r.http={request:{httpType:o.httpType,data:o.data||null,method:o.method,url:o.url},response:{data:a.data,status:a.status}});var i=e.data.stack,c=new Array;return e.data.stack&&e.data.stack.length>0?(c="VUE"===t&&"string"==typeof i?N({stack:i},e.data.level).stack:i,r.stack=c.map((function(t){return{func:t.func,line:t.line,column:t.column,message:e.data.message}}))):r.stack=[{message:e.data.message}],n.data=r,n},e.unknownToString=function(e){return a.isString(e)?e:a.isUndefined(e)?"undefined":JSON.stringify(e)},e.validateOptionsAndSet=function(e){var t=this;e.forEach((function(e){var n=e[0],r=e[1];return O(n,r,e[2])&&(t[r]=n)}))},e.variableTypeDetection=a,Object.defineProperty(e,"__esModule",{value:!0}),e}({});