jason-trace-log 0.0.0
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/LICENSE +7 -0
- package/README.md +50 -0
- package/dist/lib/baseTrace.js +405 -0
- package/dist/lib/baseTrace.js.map +1 -0
- package/dist/lib/constants.js +26 -0
- package/dist/lib/constants.js.map +1 -0
- package/dist/lib/core/fetch.js +138 -0
- package/dist/lib/core/fetch.js.map +1 -0
- package/dist/lib/core/fingerprint.js +66 -0
- package/dist/lib/core/fingerprint.js.map +1 -0
- package/dist/lib/core/interface.js +3 -0
- package/dist/lib/core/interface.js.map +1 -0
- package/dist/lib/core/request.js +26 -0
- package/dist/lib/core/request.js.map +1 -0
- package/dist/lib/core/send.js +176 -0
- package/dist/lib/core/send.js.map +1 -0
- package/dist/lib/core/util.js +186 -0
- package/dist/lib/core/util.js.map +1 -0
- package/dist/lib/core/webvitals.js +63 -0
- package/dist/lib/core/webvitals.js.map +1 -0
- package/dist/lib/index.js +19 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/trace.js +27 -0
- package/dist/lib/trace.js.map +1 -0
- package/dist/lib/typings/common.js +131 -0
- package/dist/lib/typings/common.js.map +1 -0
- package/dist/trace-log.esm.js +1391 -0
- package/dist/trace-log.esm.js.map +1 -0
- package/dist/trace-log.umd.js +1400 -0
- package/dist/trace-log.umd.js.map +1 -0
- package/dist/trace-sdk.esm.js +1391 -0
- package/dist/trace-sdk.esm.js.map +1 -0
- package/dist/trace-sdk.umd.js +1401 -0
- package/dist/trace-sdk.umd.js.map +1 -0
- package/dist/types/baseTrace.d.ts +58 -0
- package/dist/types/constants.d.ts +12 -0
- package/dist/types/core/fetch.d.ts +21 -0
- package/dist/types/core/fingerprint.d.ts +14 -0
- package/dist/types/core/interface.d.ts +10 -0
- package/dist/types/core/request.d.ts +3 -0
- package/dist/types/core/send.d.ts +84 -0
- package/dist/types/core/util.d.ts +19 -0
- package/dist/types/core/webvitals.d.ts +8 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/trace.d.ts +3 -0
- package/dist/types/typings/common.d.ts +84 -0
- package/package.json +140 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trace-sdk.umd.js","sources":["../node_modules/.pnpm/web-vitals@3.5.2/node_modules/web-vitals/dist/web-vitals.js","../node_modules/.pnpm/web-vitals-reporter@1.0.0/node_modules/web-vitals-reporter/src/index.js","../src/core/webvitals.ts","../node_modules/.pnpm/js-base64@3.7.8/node_modules/js-base64/base64.mjs","../src/typings/common.ts","../src/core/util.ts","../src/core/fetch.ts","../src/core/fingerprint.ts","../node_modules/.pnpm/lts-web-sdk@1.0.24/node_modules/lts-web-sdk/websdk.min.js","../src/core/send.ts","../src/baseTrace.ts","../src/trace.ts","../src/index.ts"],"sourcesContent":["var e,n,t,i,r,a=-1,o=function(e){addEventListener(\"pageshow\",(function(n){n.persisted&&(a=n.timeStamp,e(n))}),!0)},c=function(){return window.performance&&performance.getEntriesByType&&performance.getEntriesByType(\"navigation\")[0]},u=function(){var e=c();return e&&e.activationStart||0},f=function(e,n){var t=c(),i=\"navigate\";a>=0?i=\"back-forward-cache\":t&&(document.prerendering||u()>0?i=\"prerender\":document.wasDiscarded?i=\"restore\":t.type&&(i=t.type.replace(/_/g,\"-\")));return{name:e,value:void 0===n?-1:n,rating:\"good\",delta:0,entries:[],id:\"v3-\".concat(Date.now(),\"-\").concat(Math.floor(8999999999999*Math.random())+1e12),navigationType:i}},s=function(e,n,t){try{if(PerformanceObserver.supportedEntryTypes.includes(e)){var i=new PerformanceObserver((function(e){Promise.resolve().then((function(){n(e.getEntries())}))}));return i.observe(Object.assign({type:e,buffered:!0},t||{})),i}}catch(e){}},d=function(e,n,t,i){var r,a;return function(o){n.value>=0&&(o||i)&&((a=n.value-(r||0))||void 0===r)&&(r=n.value,n.delta=a,n.rating=function(e,n){return e>n[1]?\"poor\":e>n[0]?\"needs-improvement\":\"good\"}(n.value,t),e(n))}},l=function(e){requestAnimationFrame((function(){return requestAnimationFrame((function(){return e()}))}))},p=function(e){var n=function(n){\"pagehide\"!==n.type&&\"hidden\"!==document.visibilityState||e(n)};addEventListener(\"visibilitychange\",n,!0),addEventListener(\"pagehide\",n,!0)},v=function(e){var n=!1;return function(t){n||(e(t),n=!0)}},m=-1,h=function(){return\"hidden\"!==document.visibilityState||document.prerendering?1/0:0},g=function(e){\"hidden\"===document.visibilityState&&m>-1&&(m=\"visibilitychange\"===e.type?e.timeStamp:0,T())},y=function(){addEventListener(\"visibilitychange\",g,!0),addEventListener(\"prerenderingchange\",g,!0)},T=function(){removeEventListener(\"visibilitychange\",g,!0),removeEventListener(\"prerenderingchange\",g,!0)},E=function(){return m<0&&(m=h(),y(),o((function(){setTimeout((function(){m=h(),y()}),0)}))),{get firstHiddenTime(){return m}}},C=function(e){document.prerendering?addEventListener(\"prerenderingchange\",(function(){return e()}),!0):e()},L=[1800,3e3],w=function(e,n){n=n||{},C((function(){var t,i=E(),r=f(\"FCP\"),a=s(\"paint\",(function(e){e.forEach((function(e){\"first-contentful-paint\"===e.name&&(a.disconnect(),e.startTime<i.firstHiddenTime&&(r.value=Math.max(e.startTime-u(),0),r.entries.push(e),t(!0)))}))}));a&&(t=d(e,r,L,n.reportAllChanges),o((function(i){r=f(\"FCP\"),t=d(e,r,L,n.reportAllChanges),l((function(){r.value=performance.now()-i.timeStamp,t(!0)}))})))}))},b=[.1,.25],S=function(e,n){n=n||{},w(v((function(){var t,i=f(\"CLS\",0),r=0,a=[],c=function(e){e.forEach((function(e){if(!e.hadRecentInput){var n=a[0],t=a[a.length-1];r&&e.startTime-t.startTime<1e3&&e.startTime-n.startTime<5e3?(r+=e.value,a.push(e)):(r=e.value,a=[e])}})),r>i.value&&(i.value=r,i.entries=a,t())},u=s(\"layout-shift\",c);u&&(t=d(e,i,b,n.reportAllChanges),p((function(){c(u.takeRecords()),t(!0)})),o((function(){r=0,i=f(\"CLS\",0),t=d(e,i,b,n.reportAllChanges),l((function(){return t()}))})),setTimeout(t,0))})))},A={passive:!0,capture:!0},I=new Date,P=function(i,r){e||(e=r,n=i,t=new Date,k(removeEventListener),F())},F=function(){if(n>=0&&n<t-I){var r={entryType:\"first-input\",name:e.type,target:e.target,cancelable:e.cancelable,startTime:e.timeStamp,processingStart:e.timeStamp+n};i.forEach((function(e){e(r)})),i=[]}},M=function(e){if(e.cancelable){var n=(e.timeStamp>1e12?new Date:performance.now())-e.timeStamp;\"pointerdown\"==e.type?function(e,n){var t=function(){P(e,n),r()},i=function(){r()},r=function(){removeEventListener(\"pointerup\",t,A),removeEventListener(\"pointercancel\",i,A)};addEventListener(\"pointerup\",t,A),addEventListener(\"pointercancel\",i,A)}(n,e):P(n,e)}},k=function(e){[\"mousedown\",\"keydown\",\"touchstart\",\"pointerdown\"].forEach((function(n){return e(n,M,A)}))},D=[100,300],x=function(t,r){r=r||{},C((function(){var a,c=E(),u=f(\"FID\"),l=function(e){e.startTime<c.firstHiddenTime&&(u.value=e.processingStart-e.startTime,u.entries.push(e),a(!0))},m=function(e){e.forEach(l)},h=s(\"first-input\",m);a=d(t,u,D,r.reportAllChanges),h&&p(v((function(){m(h.takeRecords()),h.disconnect()}))),h&&o((function(){var o;u=f(\"FID\"),a=d(t,u,D,r.reportAllChanges),i=[],n=-1,e=null,k(addEventListener),o=l,i.push(o),F()}))}))},B=0,R=1/0,H=0,N=function(e){e.forEach((function(e){e.interactionId&&(R=Math.min(R,e.interactionId),H=Math.max(H,e.interactionId),B=H?(H-R)/7+1:0)}))},O=function(){return r?B:performance.interactionCount||0},q=function(){\"interactionCount\"in performance||r||(r=s(\"event\",N,{type:\"event\",buffered:!0,durationThreshold:0}))},j=[200,500],_=0,z=function(){return O()-_},G=[],J={},K=function(e){var n=G[G.length-1],t=J[e.interactionId];if(t||G.length<10||e.duration>n.latency){if(t)t.entries.push(e),t.latency=Math.max(t.latency,e.duration);else{var i={id:e.interactionId,latency:e.duration,entries:[e]};J[i.id]=i,G.push(i)}G.sort((function(e,n){return n.latency-e.latency})),G.splice(10).forEach((function(e){delete J[e.id]}))}},Q=function(e,n){n=n||{},C((function(){var t;q();var i,r=f(\"INP\"),a=function(e){e.forEach((function(e){(e.interactionId&&K(e),\"first-input\"===e.entryType)&&(!G.some((function(n){return n.entries.some((function(n){return e.duration===n.duration&&e.startTime===n.startTime}))}))&&K(e))}));var n,t=(n=Math.min(G.length-1,Math.floor(z()/50)),G[n]);t&&t.latency!==r.value&&(r.value=t.latency,r.entries=t.entries,i())},c=s(\"event\",a,{durationThreshold:null!==(t=n.durationThreshold)&&void 0!==t?t:40});i=d(e,r,j,n.reportAllChanges),c&&(\"PerformanceEventTiming\"in window&&\"interactionId\"in PerformanceEventTiming.prototype&&c.observe({type:\"first-input\",buffered:!0}),p((function(){a(c.takeRecords()),r.value<0&&z()>0&&(r.value=0,r.entries=[]),i(!0)})),o((function(){G=[],_=O(),r=f(\"INP\"),i=d(e,r,j,n.reportAllChanges)})))}))},U=[2500,4e3],V={},W=function(e,n){n=n||{},C((function(){var t,i=E(),r=f(\"LCP\"),a=function(e){var n=e[e.length-1];n&&n.startTime<i.firstHiddenTime&&(r.value=Math.max(n.startTime-u(),0),r.entries=[n],t())},c=s(\"largest-contentful-paint\",a);if(c){t=d(e,r,U,n.reportAllChanges);var m=v((function(){V[r.id]||(a(c.takeRecords()),c.disconnect(),V[r.id]=!0,t(!0))}));[\"keydown\",\"click\"].forEach((function(e){addEventListener(e,(function(){return setTimeout(m,0)}),!0)})),p(m),o((function(i){r=f(\"LCP\"),t=d(e,r,U,n.reportAllChanges),l((function(){r.value=performance.now()-i.timeStamp,V[r.id]=!0,t(!0)}))}))}}))},X=[800,1800],Y=function e(n){document.prerendering?C((function(){return e(n)})):\"complete\"!==document.readyState?addEventListener(\"load\",(function(){return e(n)}),!0):setTimeout(n,0)},Z=function(e,n){n=n||{};var t=f(\"TTFB\"),i=d(e,t,X,n.reportAllChanges);Y((function(){var r=c();if(r){var a=r.responseStart;if(a<=0||a>performance.now())return;t.value=Math.max(a-u(),0),t.entries=[r],i(!0),o((function(){t=f(\"TTFB\",0),(i=d(e,t,X,n.reportAllChanges))(!0)}))}}))};export{b as CLSThresholds,L as FCPThresholds,D as FIDThresholds,j as INPThresholds,U as LCPThresholds,X as TTFBThresholds,S as getCLS,w as getFCP,x as getFID,Q as getINP,W as getLCP,Z as getTTFB,S as onCLS,w as onFCP,x as onFID,Q as onINP,W as onLCP,Z as onTTFB};\n","/**\n * @typedef {Object<string,any>} Result\n * @typedef {import('web-vitals').Metric | Object<string,any>} Metric\n * @typedef {{ effectiveType: 'slow-2g' | '2g' | '3g' | '4g', rtt: number, downlink: number }} NetworkInformation\n *\n * @typedef {object} CreateApiReporterOptions\n * @prop {object} [initial]\n * @prop {(metric: Metric, result: Result) => Result} [mapMetric]\n * @prop {(result: Result) => Result | void} [beforeSend]\n * @prop {(url: string, result: Result) => any} [onSend]\n */\n\n/**\n * Create Web Vitals API reporter, that accepts `Metric` values and sends it to `url`\n * using `navigator.sendBeacon` when available or fallbacks back to XMLHttpRequest.\n *\n * The function sends request only once.\n * Use `onSend` to implement a custom logic.\n *\n * @param {string} url\n * @param {CreateApiReporterOptions} [opts]\n * @return {(metric: Metric) => void}\n */\n\nexport function createApiReporter(url, opts = {}) {\n let isSent = false\n let isCalled = false\n let result = /** @type {Result} */ ({ id: generateUniqueId(), ...opts.initial })\n\n const sendValues = () => {\n if (isSent) return // data is already sent\n if (!isCalled) return // no data collected\n\n result.duration = now()\n if (opts.beforeSend) {\n const newResult = opts.beforeSend(result)\n if (newResult) result = { ...result, ...newResult }\n }\n isSent = true\n if (opts.onSend) {\n opts.onSend(url, result)\n } else {\n if (typeof navigator === 'undefined') return\n if (navigator.sendBeacon) return navigator.sendBeacon(url, JSON.stringify(result))\n const client = new XMLHttpRequest()\n client.open('POST', url, false) // third parameter indicates sync xhr\n client.setRequestHeader('Content-Type', 'text/plain;charset=UTF-8')\n client.send(JSON.stringify(result))\n }\n }\n\n const mapMetric =\n opts.mapMetric ||\n function (metric) {\n const isWebVital = ['FCP', 'TTFB', 'LCP', 'CLS', 'FID'].indexOf(metric.name) !== -1\n return { [metric.name]: isWebVital ? round(metric.value, metric.name === 'CLS' ? 4 : 0) : metric.value }\n }\n\n /** @param {Metric} metric */\n const report = (metric) => {\n if (!isCalled) isCalled = true\n result = { ...result, ...mapMetric(metric, result) }\n }\n\n // should be the last call to capture latest CLS\n setTimeout(() => {\n // Safari does not fire \"visibilitychange\" on the tab close\n // So we have 2 options: loose Safari data, or loose LCP/CLS that depends on \"visibilitychange\" logic.\n // Current solution: if LCP/CLS supported, use `onHidden` otherwise, use `pagehide` to fire the callback in the end.\n //\n // More details: https://github.com/treosh/web-vitals-reporter/issues/3\n const supportedEntryTypes = (PerformanceObserver && PerformanceObserver.supportedEntryTypes) || []\n const isLatestVisibilityChangeSupported = supportedEntryTypes.indexOf('layout-shift') !== -1\n\n if (isLatestVisibilityChangeSupported) {\n const onVisibilityChange = () => {\n if (document.visibilityState === 'hidden') {\n sendValues()\n removeEventListener('visibilitychange', onVisibilityChange, true)\n }\n }\n addEventListener('visibilitychange', onVisibilityChange, true)\n } else {\n addEventListener('pagehide', sendValues, { capture: true, once: true })\n }\n })\n\n return report\n}\n\n/**\n * Get device information.\n * - Effective connection type: https://developer.mozilla.org/en-US/docs/Web/API/NetworkInformation\n * - Device memory: https://developer.mozilla.org/en-US/docs/Web/API/Navigator/deviceMemory\n */\n\nexport function getDeviceInfo() {\n const nav = /** @type {null | (Navigator & { deviceMemory: number, connection: NetworkInformation })} */ (typeof navigator ===\n 'undefined'\n ? null\n : navigator)\n const conn = nav && nav.connection ? nav.connection : null\n return {\n url: location ? location.href : null,\n referrer: document ? document.referrer : null,\n userAgent: nav ? nav.userAgent : null,\n memory: nav ? nav.deviceMemory : undefined,\n cpus: nav ? nav.hardwareConcurrency : undefined,\n connection: conn ? { effectiveType: conn.effectiveType, rtt: conn.rtt, downlink: conn.downlink } : undefined,\n }\n}\n\n/**\n * Get time since a session started.\n */\n\nfunction now() {\n const perf = typeof performance === 'undefined' ? null : performance\n return perf && perf.now ? round(perf.now()) : null\n}\n\n/**\n * Round, source: https://stackoverflow.com/a/18358056\n *\n * @param {number} val\n * @param {number} [precision]\n * @return {number}\n */\n\nfunction round(val, precision = 0) {\n // @ts-ignore\n return +(Math.round(`${val}e+${precision}`) + `e-${precision}`)\n}\n\n/**\n * Generate a unique id, copied from:\n * https://github.com/GoogleChrome/web-vitals/blob/master/src/lib/generateUniqueID.ts\n */\n\nfunction generateUniqueId() {\n return `v1-${Date.now()}-${Math.floor(Math.random() * (9e12 - 1)) + 1e12}`\n}\n","import { Metric, onCLS, onFID, onLCP, onTTFB, onINP, onFCP } from 'web-vitals'\nimport { createApiReporter, getDeviceInfo } from 'web-vitals-reporter'\n\nconst SCORE_RANGE_LCP: [number, number] = [2500, 4500]\nconst SCORE_RANGE_FID: [number, number] = [100, 300]\nconst SCORE_RANGE_CLS: [number, number] = [0.1, 0.25]\nconst SCORE_RANGE_FCP: [number, number] = [1.8, 3]\nconst SCORE_RANGE_INP: [number, number] = [200, 500]\nconst SCORE_RANGE_TTFB: [number, number] = [800, 1800]\n\nconst score = (value: number, range: [number, number]) => {\n return value < range[0] ? 'good' : value < range[1] ? 'needs improvement' : 'poor'\n}\n\nexport function generateUniqueId() {\n return `v1-${Date.now()}-${Math.floor(Math.random() * (9e12 - 1)) + 1e12}`\n}\n\nfunction round(val, precision = 0) {\n // @ts-ignore\n return +(Math.round(`${val}e+${precision}`) + `e-${precision}`)\n}\n\nexport function mapMetric(metric) {\n const isWebVital = ['FCP', 'TTFB', 'LCP', 'CLS', 'FID'].indexOf(metric.name) !== -1;\n return {\n [metric.name]: isWebVital ? round(metric.value, metric.name === 'CLS' ? 4 : 0) : metric.value,\n [`${metric.name}Rating`]: metric.rating\n }\n};\n\nconst sendToAnalytics = createApiReporter('/analytics', {\n initial: getDeviceInfo(),\n beforeSend: (result) => {\n console.log('beforeSend')\n const { LCP, FID, CLS } = result\n console.info('web-vitals: ', result)\n if (!LCP || !FID || !CLS) return // Core Web Vitals are not supported\n\n // return extra attributes to merge into the final result\n return {\n LCPScore: score(LCP, SCORE_RANGE_LCP),\n // FIDScore: FID < 100 ? 'good' : FID < 300 ? 'needs improvement' : 'poor',\n FIDScore: score(FID, SCORE_RANGE_FID),\n // CLSScore: CLS < 0.1 ? 'good' : CLS < 0.25 ? 'needs improvement' : 'poor'\n CLSScore: score(CLS, SCORE_RANGE_CLS),\n }\n },\n})\n\n\nexport const onVitals = (saveMetric) => {\n console.log('webvitals setup')\n onLCP(saveMetric)\n onFID(saveMetric)\n onCLS(saveMetric)\n // onTTFB(saveMetric)\n // onINP(saveMetric)\n // onFCP(saveMetric)\n}\n\nexport default {}\n","/**\n * base64.ts\n *\n * Licensed under the BSD 3-Clause License.\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * References:\n * http://en.wikipedia.org/wiki/Base64\n *\n * @author Dan Kogai (https://github.com/dankogai)\n */\nconst version = '3.7.8';\n/**\n * @deprecated use lowercase `version`.\n */\nconst VERSION = version;\nconst _hasBuffer = typeof Buffer === 'function';\nconst _TD = typeof TextDecoder === 'function' ? new TextDecoder() : undefined;\nconst _TE = typeof TextEncoder === 'function' ? new TextEncoder() : undefined;\nconst b64ch = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';\nconst b64chs = Array.prototype.slice.call(b64ch);\nconst b64tab = ((a) => {\n let tab = {};\n a.forEach((c, i) => tab[c] = i);\n return tab;\n})(b64chs);\nconst b64re = /^(?:[A-Za-z\\d+\\/]{4})*?(?:[A-Za-z\\d+\\/]{2}(?:==)?|[A-Za-z\\d+\\/]{3}=?)?$/;\nconst _fromCC = String.fromCharCode.bind(String);\nconst _U8Afrom = typeof Uint8Array.from === 'function'\n ? Uint8Array.from.bind(Uint8Array)\n : (it) => new Uint8Array(Array.prototype.slice.call(it, 0));\nconst _mkUriSafe = (src) => src\n .replace(/=/g, '').replace(/[+\\/]/g, (m0) => m0 == '+' ? '-' : '_');\nconst _tidyB64 = (s) => s.replace(/[^A-Za-z0-9\\+\\/]/g, '');\n/**\n * polyfill version of `btoa`\n */\nconst btoaPolyfill = (bin) => {\n // console.log('polyfilled');\n let u32, c0, c1, c2, asc = '';\n const pad = bin.length % 3;\n for (let i = 0; i < bin.length;) {\n if ((c0 = bin.charCodeAt(i++)) > 255 ||\n (c1 = bin.charCodeAt(i++)) > 255 ||\n (c2 = bin.charCodeAt(i++)) > 255)\n throw new TypeError('invalid character found');\n u32 = (c0 << 16) | (c1 << 8) | c2;\n asc += b64chs[u32 >> 18 & 63]\n + b64chs[u32 >> 12 & 63]\n + b64chs[u32 >> 6 & 63]\n + b64chs[u32 & 63];\n }\n return pad ? asc.slice(0, pad - 3) + \"===\".substring(pad) : asc;\n};\n/**\n * does what `window.btoa` of web browsers do.\n * @param {String} bin binary string\n * @returns {string} Base64-encoded string\n */\nconst _btoa = typeof btoa === 'function' ? (bin) => btoa(bin)\n : _hasBuffer ? (bin) => Buffer.from(bin, 'binary').toString('base64')\n : btoaPolyfill;\nconst _fromUint8Array = _hasBuffer\n ? (u8a) => Buffer.from(u8a).toString('base64')\n : (u8a) => {\n // cf. https://stackoverflow.com/questions/12710001/how-to-convert-uint8-array-to-base64-encoded-string/12713326#12713326\n const maxargs = 0x1000;\n let strs = [];\n for (let i = 0, l = u8a.length; i < l; i += maxargs) {\n strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs)));\n }\n return _btoa(strs.join(''));\n };\n/**\n * converts a Uint8Array to a Base64 string.\n * @param {boolean} [urlsafe] URL-and-filename-safe a la RFC4648 §5\n * @returns {string} Base64 string\n */\nconst fromUint8Array = (u8a, urlsafe = false) => urlsafe ? _mkUriSafe(_fromUint8Array(u8a)) : _fromUint8Array(u8a);\n// This trick is found broken https://github.com/dankogai/js-base64/issues/130\n// const utob = (src: string) => unescape(encodeURIComponent(src));\n// reverting good old fationed regexp\nconst cb_utob = (c) => {\n if (c.length < 2) {\n var cc = c.charCodeAt(0);\n return cc < 0x80 ? c\n : cc < 0x800 ? (_fromCC(0xc0 | (cc >>> 6))\n + _fromCC(0x80 | (cc & 0x3f)))\n : (_fromCC(0xe0 | ((cc >>> 12) & 0x0f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n else {\n var cc = 0x10000\n + (c.charCodeAt(0) - 0xD800) * 0x400\n + (c.charCodeAt(1) - 0xDC00);\n return (_fromCC(0xf0 | ((cc >>> 18) & 0x07))\n + _fromCC(0x80 | ((cc >>> 12) & 0x3f))\n + _fromCC(0x80 | ((cc >>> 6) & 0x3f))\n + _fromCC(0x80 | (cc & 0x3f)));\n }\n};\nconst re_utob = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFFF]|[^\\x00-\\x7F]/g;\n/**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-8 string\n * @returns {string} UTF-16 string\n */\nconst utob = (u) => u.replace(re_utob, cb_utob);\n//\nconst _encode = _hasBuffer\n ? (s) => Buffer.from(s, 'utf8').toString('base64')\n : _TE\n ? (s) => _fromUint8Array(_TE.encode(s))\n : (s) => _btoa(utob(s));\n/**\n * converts a UTF-8-encoded string to a Base64 string.\n * @param {boolean} [urlsafe] if `true` make the result URL-safe\n * @returns {string} Base64 string\n */\nconst encode = (src, urlsafe = false) => urlsafe\n ? _mkUriSafe(_encode(src))\n : _encode(src);\n/**\n * converts a UTF-8-encoded string to URL-safe Base64 RFC4648 §5.\n * @returns {string} Base64 string\n */\nconst encodeURI = (src) => encode(src, true);\n// This trick is found broken https://github.com/dankogai/js-base64/issues/130\n// const btou = (src: string) => decodeURIComponent(escape(src));\n// reverting good old fationed regexp\nconst re_btou = /[\\xC0-\\xDF][\\x80-\\xBF]|[\\xE0-\\xEF][\\x80-\\xBF]{2}|[\\xF0-\\xF7][\\x80-\\xBF]{3}/g;\nconst cb_btou = (cccc) => {\n switch (cccc.length) {\n case 4:\n var cp = ((0x07 & cccc.charCodeAt(0)) << 18)\n | ((0x3f & cccc.charCodeAt(1)) << 12)\n | ((0x3f & cccc.charCodeAt(2)) << 6)\n | (0x3f & cccc.charCodeAt(3)), offset = cp - 0x10000;\n return (_fromCC((offset >>> 10) + 0xD800)\n + _fromCC((offset & 0x3FF) + 0xDC00));\n case 3:\n return _fromCC(((0x0f & cccc.charCodeAt(0)) << 12)\n | ((0x3f & cccc.charCodeAt(1)) << 6)\n | (0x3f & cccc.charCodeAt(2)));\n default:\n return _fromCC(((0x1f & cccc.charCodeAt(0)) << 6)\n | (0x3f & cccc.charCodeAt(1)));\n }\n};\n/**\n * @deprecated should have been internal use only.\n * @param {string} src UTF-16 string\n * @returns {string} UTF-8 string\n */\nconst btou = (b) => b.replace(re_btou, cb_btou);\n/**\n * polyfill version of `atob`\n */\nconst atobPolyfill = (asc) => {\n // console.log('polyfilled');\n asc = asc.replace(/\\s+/g, '');\n if (!b64re.test(asc))\n throw new TypeError('malformed base64.');\n asc += '=='.slice(2 - (asc.length & 3));\n let u24, r1, r2;\n let binArray = []; // use array to avoid minor gc in loop\n for (let i = 0; i < asc.length;) {\n u24 = b64tab[asc.charAt(i++)] << 18\n | b64tab[asc.charAt(i++)] << 12\n | (r1 = b64tab[asc.charAt(i++)]) << 6\n | (r2 = b64tab[asc.charAt(i++)]);\n if (r1 === 64) {\n binArray.push(_fromCC(u24 >> 16 & 255));\n }\n else if (r2 === 64) {\n binArray.push(_fromCC(u24 >> 16 & 255, u24 >> 8 & 255));\n }\n else {\n binArray.push(_fromCC(u24 >> 16 & 255, u24 >> 8 & 255, u24 & 255));\n }\n }\n return binArray.join('');\n};\n/**\n * does what `window.atob` of web browsers do.\n * @param {String} asc Base64-encoded string\n * @returns {string} binary string\n */\nconst _atob = typeof atob === 'function' ? (asc) => atob(_tidyB64(asc))\n : _hasBuffer ? (asc) => Buffer.from(asc, 'base64').toString('binary')\n : atobPolyfill;\n//\nconst _toUint8Array = _hasBuffer\n ? (a) => _U8Afrom(Buffer.from(a, 'base64'))\n : (a) => _U8Afrom(_atob(a).split('').map(c => c.charCodeAt(0)));\n/**\n * converts a Base64 string to a Uint8Array.\n */\nconst toUint8Array = (a) => _toUint8Array(_unURI(a));\n//\nconst _decode = _hasBuffer\n ? (a) => Buffer.from(a, 'base64').toString('utf8')\n : _TD\n ? (a) => _TD.decode(_toUint8Array(a))\n : (a) => btou(_atob(a));\nconst _unURI = (a) => _tidyB64(a.replace(/[-_]/g, (m0) => m0 == '-' ? '+' : '/'));\n/**\n * converts a Base64 string to a UTF-8 string.\n * @param {String} src Base64 string. Both normal and URL-safe are supported\n * @returns {string} UTF-8 string\n */\nconst decode = (src) => _decode(_unURI(src));\n/**\n * check if a value is a valid Base64 string\n * @param {String} src a value to check\n */\nconst isValid = (src) => {\n if (typeof src !== 'string')\n return false;\n const s = src.replace(/\\s+/g, '').replace(/={0,2}$/, '');\n return !/[^\\s0-9a-zA-Z\\+/]/.test(s) || !/[^\\s0-9a-zA-Z\\-_]/.test(s);\n};\n//\nconst _noEnum = (v) => {\n return {\n value: v, enumerable: false, writable: true, configurable: true\n };\n};\n/**\n * extend String.prototype with relevant methods\n */\nconst extendString = function () {\n const _add = (name, body) => Object.defineProperty(String.prototype, name, _noEnum(body));\n _add('fromBase64', function () { return decode(this); });\n _add('toBase64', function (urlsafe) { return encode(this, urlsafe); });\n _add('toBase64URI', function () { return encode(this, true); });\n _add('toBase64URL', function () { return encode(this, true); });\n _add('toUint8Array', function () { return toUint8Array(this); });\n};\n/**\n * extend Uint8Array.prototype with relevant methods\n */\nconst extendUint8Array = function () {\n const _add = (name, body) => Object.defineProperty(Uint8Array.prototype, name, _noEnum(body));\n _add('toBase64', function (urlsafe) { return fromUint8Array(this, urlsafe); });\n _add('toBase64URI', function () { return fromUint8Array(this, true); });\n _add('toBase64URL', function () { return fromUint8Array(this, true); });\n};\n/**\n * extend Builtin prototypes with relevant methods\n */\nconst extendBuiltins = () => {\n extendString();\n extendUint8Array();\n};\nconst gBase64 = {\n version: version,\n VERSION: VERSION,\n atob: _atob,\n atobPolyfill: atobPolyfill,\n btoa: _btoa,\n btoaPolyfill: btoaPolyfill,\n fromBase64: decode,\n toBase64: encode,\n encode: encode,\n encodeURI: encodeURI,\n encodeURL: encodeURI,\n utob: utob,\n btou: btou,\n decode: decode,\n isValid: isValid,\n fromUint8Array: fromUint8Array,\n toUint8Array: toUint8Array,\n extendString: extendString,\n extendUint8Array: extendUint8Array,\n extendBuiltins: extendBuiltins\n};\n// makecjs:CUT //\nexport { version };\nexport { VERSION };\nexport { _atob as atob };\nexport { atobPolyfill };\nexport { _btoa as btoa };\nexport { btoaPolyfill };\nexport { decode as fromBase64 };\nexport { encode as toBase64 };\nexport { utob };\nexport { encode };\nexport { encodeURI };\nexport { encodeURI as encodeURL };\nexport { btou };\nexport { decode };\nexport { isValid };\nexport { fromUint8Array };\nexport { toUint8Array };\nexport { extendString };\nexport { extendUint8Array };\nexport { extendBuiltins };\n// and finally,\nexport { gBase64 as Base64 };\n","export enum TraceDataSeverity {\n // 其他\n Else = 'else',\n // 错误级别\n Error = 'error',\n // 告警级别\n Warning = 'warning',\n // 日志级别\n Info = 'info',\n // 调试级别\n Debug = 'debug',\n /** 上报的错误等级 */\n // 低危级别\n Low = 'low',\n // 普通级别\n Normal = 'normal',\n // 高危级别\n High = 'high',\n // 极其严重\n Critical = 'critical'\n}\n\nexport enum TraceTypes {\n // PVUV\n PAGE_VIEW = 'PageView',\n // Event\n EVENT = 'EVENT',\n // 性能\n PERF = 'Perf',\n // 资源\n RESOURCE = 'Resource',\n // 动作、行为类型\n ACTION = 'Action',\n // 请求类型\n FETCH = 'Fetch',\n // 代码错误\n CODE_ERROR = 'CodeError',\n // 日志\n CONSOLE = 'Console',\n // 其它\n CUSTOMER = 'Customer'\n}\n\nexport enum TraceClientTypes {\n // 安卓\n ANDROID_H5 = 'android',\n // iOS\n IOS_H5 = 'ios',\n // PC端\n PC_H5 = 'pc',\n // 浏览器\n BROWSER_H5 = 'browser'\n}\n\nexport enum BrowserType {\n // 手机端浏览器\n MOBILE = 'mobile',\n // PC浏览器\n PC = 'pc',\n // webview\n WEBVIEW = 'webview',\n // 小程序\n MINI_PROGRAM = 'miniProgram'\n}\n\nexport enum TraceLevelType {\n // 告警级别\n Error = 'error',\n // 预警级别\n Warn = 'warn',\n // 普通日志\n Info = 'info',\n // 调试日志\n Debug = 'debug'\n}\n\nexport enum BreadcrumbTypes {\n ROUTE = 'Route',\n CLICK = 'UI.Click',\n CONSOLE = 'Console',\n FETCH = 'Fetch',\n UNHANDLEDREJECTION = 'Unhandledrejection',\n RESOURCE = 'Resource',\n CODE_ERROR = 'Code Error',\n CUSTOMER = 'Customer'\n}\n\nexport enum TraceDataTypes {\n UNKNOWN = 'UNKNOWN',\n UNKNOWN_FUNCTION = 'UNKNOWN_FUNCTION',\n JAVASCRIPT = 'JAVASCRIPT',\n LOG = 'LOG',\n HTTP = 'HTTP',\n VUE = 'VUE',\n REACT = 'REACT',\n RESOURCE = 'RESOURCE',\n PROMISE = 'PROMISE',\n ROUTE = 'ROUTE',\n PERF = 'PERF'\n}\n\nexport enum BreadcrumbsCategorys {\n Http = 'http',\n User = 'user',\n Debug = 'debug',\n Exception = 'exception',\n Lifecycle = 'lifecycle'\n}\n\nexport enum TraceBaseDataName {\n Fetch = 'Fetch',\n TypeError = 'TypeError',\n Unhandledrejection = 'Unhandledrejection',\n Log = 'Log',\n Perf = 'Perf',\n Resource = 'Resource'\n}\n\nexport enum SendMethod {\n // 图片\n IMG = 'img',\n // beacon\n BEACON = 'beacon',\n // 华为云日志 lts\n LTS = 'lts'\n}\n","import { BreadcrumbTypes, TraceDataSeverity, TraceDataTypes, BreadcrumbsCategorys, TraceLevelType, TraceTypes } from \"../typings/common\"\n\n// 获取时间\nexport const getTimestamp = (): number => Date.now()\n\n\nexport const getFetchStatusLevel = (status: number): TraceDataSeverity => {\n if (status >= 500) {\n return TraceDataSeverity.Critical\n } else if (status >= 400) {\n return TraceDataSeverity.Error\n } else if (status >= 300) {\n return TraceDataSeverity.Warning\n } else if (status >= 200) {\n return TraceDataSeverity.Info\n } else {\n return TraceDataSeverity.Else\n }\n}\n\n\nexport const isResourceTarget = (target: HTMLElement) =>\n target instanceof HTMLScriptElement ||\n target instanceof HTMLLinkElement ||\n target instanceof HTMLImageElement ||\n target instanceof HTMLVideoElement ||\n target instanceof HTMLAudioElement\n\n /**\n * 根据字符串生成hashcode\n *\n * @export\n * @param {string} str\n * @return {*} {number} 可为正数和负数\n */\nexport function hashCode(str: string): number {\n let hash = 0\n if (str.length == 0) return hash\n for (let i = 0; i < str.length; i++) {\n const char = str.charCodeAt(i)\n hash = (hash << 5) - hash + char\n hash = hash & hash\n }\n return hash\n}\n\nexport function dataTypes2BreadcrumbsType(data: TraceDataTypes) {\n switch (data) {\n case TraceDataTypes.JAVASCRIPT:\n case TraceDataTypes.UNKNOWN:\n case TraceDataTypes.UNKNOWN_FUNCTION:\n case TraceDataTypes.REACT:\n case TraceDataTypes.VUE:\n return BreadcrumbTypes.CODE_ERROR\n case TraceDataTypes.PROMISE:\n return BreadcrumbTypes.UNHANDLEDREJECTION\n case TraceDataTypes.HTTP:\n return BreadcrumbTypes.FETCH\n case TraceDataTypes.PERF:\n case TraceDataTypes.LOG:\n return BreadcrumbTypes.CONSOLE\n case TraceDataTypes.RESOURCE:\n return BreadcrumbTypes.RESOURCE\n case TraceDataTypes.ROUTE:\n return BreadcrumbTypes.ROUTE\n default:\n return BreadcrumbTypes.CUSTOMER\n }\n}\n\nexport function dataCategory2BreadcrumbsCategory(data: TraceDataTypes) {\n switch (data) {\n case TraceDataTypes.JAVASCRIPT:\n case TraceDataTypes.UNKNOWN:\n case TraceDataTypes.UNKNOWN_FUNCTION:\n return BreadcrumbsCategorys.Exception\n case TraceDataTypes.REACT:\n case TraceDataTypes.VUE:\n return BreadcrumbsCategorys.Lifecycle\n case TraceDataTypes.PROMISE:\n return BreadcrumbsCategorys.Exception\n case TraceDataTypes.HTTP:\n return BreadcrumbsCategorys.Http\n case TraceDataTypes.PERF:\n case TraceDataTypes.LOG:\n return BreadcrumbsCategorys.Debug\n case TraceDataTypes.RESOURCE:\n return BreadcrumbsCategorys.Http\n case TraceDataTypes.ROUTE:\n return BreadcrumbsCategorys.Lifecycle\n }\n}\n\nexport function getTraceDataLevel(level: TraceDataSeverity) {\n switch (level) {\n case TraceDataSeverity.High:\n case TraceDataSeverity.Critical:\n case TraceDataSeverity.Error:\n return TraceLevelType.Error\n case TraceDataSeverity.Warning:\n return TraceLevelType.Warn\n case TraceDataSeverity.Debug:\n case TraceDataSeverity.Low:\n return TraceLevelType.Debug\n default:\n return TraceLevelType.Info\n }\n}\n\nexport function getTraceDataType(type: TraceDataTypes) {\n switch (type) {\n case TraceDataTypes.PROMISE:\n case TraceDataTypes.UNKNOWN:\n case TraceDataTypes.UNKNOWN_FUNCTION:\n case TraceDataTypes.JAVASCRIPT:\n return TraceTypes.CODE_ERROR\n case TraceDataTypes.REACT:\n case TraceDataTypes.VUE:\n case TraceDataTypes.ROUTE:\n return TraceTypes.EVENT\n case TraceDataTypes.PERF:\n return TraceTypes.PERF\n case TraceDataTypes.HTTP:\n return TraceTypes.FETCH\n case TraceDataTypes.RESOURCE:\n return TraceTypes.RESOURCE\n default:\n return TraceTypes.CUSTOMER\n }\n}\n\nexport function getPerfLevel(data: TracePerf) {\n let level = TraceLevelType.Info\n if (data.LCPRating === 'poor'\n || data.FIDRating === 'poor'\n || data.FCPRating === 'poor'\n || data.TTFBRating === 'poor'\n || data.CLSRating === 'poor'\n || data.INPRating === 'poor'\n ) {\n // console.log('[getPerfLevel] error')\n level = TraceLevelType.Error\n return\n }\n if (\n data.LCPRating === 'needs improvement'\n || data.CLSRating === 'needs improvement'\n || data.FCPRating === 'needs improvement'\n || data.FIDRating === 'needs improvement'\n || data.INPRating === 'needs improvement'\n || data.TTFBRating === 'needs improvement'\n ) {\n // console.log('[getPerfLevel] warn')\n level = TraceLevelType.Warn\n return\n }\n return level\n}\n\nexport function uuid() {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n /* tslint:disable */\n const r = (Math.random() * 16) | 0;\n /* tslint:disable */\n const v = c === 'x' ? r : (r & 0x3) | 0x8;\n\n return v.toString(16);\n });\n}\n\nexport function safeStringify(obj: object): string {\n const set = new Set()\n const str = JSON.stringify(obj, function (_key, value) {\n if (set.has(value)) {\n return ''\n }\n typeof value === 'object' && set.add(value)\n return value\n })\n set.clear()\n return str\n}\n","import { encode } from 'js-base64';\nimport { getTimestamp, uuid } from \"./util\";\n\nconst { fetch: originFetch } = window;\n\n// 拦截fetch\n// window.fetch = async (...args: any) => {\n// const [url, options] = args;\n\n// const res = await originFetch(url, options);\n\n// return res\n// }\n\nexport type OnFetchError = {\n url: string\n status: number\n statusText: string\n method: 'POST' | 'GET'\n body: any,\n elapsedTime: number\n}\n\nexport type OnBeforeProps = {\n url: string\n method: 'POST' | 'GET'\n options?: RequestInit\n}\n\nexport type InterceptFetchType = {\n pagePath: string\n onError: (error: OnFetchError) => void;\n onBefore?: (props: OnBeforeProps) => void;\n onAfter?: (result: any) => void;\n}\n\n// 拦截fetch\nconst interceptFetch = ({\n pagePath,\n onError,\n onBefore,\n onAfter\n}: InterceptFetchType) => {\n\n return async (...args: any) => {\n let [url, options] = args;\n const startTime = getTimestamp()\n\n const traceId = uuid();\n const traceSegmentId = uuid();\n const appId = uuid();\n const appVersion = 'v1.0.0'\n\n if (Object.prototype.toString.call(args[0]) === '[object Request]') {\n url = new URL(url.url);\n } else {\n if (args[0].startsWith('http://') || args[0].startsWith('https://')) {\n url = new URL(args[0]);\n } else if (args[0].startsWith('//')) {\n url = new URL(`${window.location.protocol}${args[0]}`);\n } else {\n url = new URL(window.location.href);\n url.pathname = args[0];\n }\n }\n\n const traceIdStr = String(encode(traceId));\n const segmentId = String(encode(traceSegmentId));\n const service = String(encode(appId));\n const instance = String(encode(appVersion));\n const endpoint = String(encode(pagePath));\n const peer = String(encode(url.host));\n const index = 1;\n const values = `${1}-${traceIdStr}-${segmentId}-${index}-${service}-${instance}-${endpoint}-${peer}`;\n\n if (!options) {\n options = {};\n }\n if (!options.headers) {\n options.headers = {};\n }\n options.headers['sw8'] = values;\n\n let res;\n try {\n onBefore && onBefore({\n url,\n method: options.method,\n options\n })\n res = await originFetch(url, options);\n\n onAfter && onAfter(res)\n } catch (err) {\n if (!!options.signal && err.name == 'AbortError') {\n onError({\n url,\n status: res.status,\n statusText: res.statusText,\n method: options.method,\n body: options.body,\n elapsedTime: getTimestamp() - startTime,\n })\n } else {\n throw err\n }\n }\n if (!(res.ok && res.status >= 200 && res.status < 300)) {\n onError({\n url,\n status: res.status,\n statusText: res.statusText,\n method: options.method,\n body: options.body,\n elapsedTime: getTimestamp() - startTime,\n })\n }\n\n return res\n }\n}\n\nexport default interceptFetch\n","// https://www.cnblogs.com/cute/p/13142139.html\nfunction bin2hex(str: string) {\n // discuss at: http://phpjs.org/functions/bin2hex/\n // original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)\n // bugfixed by: Onno Marsman\n // bugfixed by: Linuxworld\n // improved by: ntoniazzi (http://phpjs.org/functions/bin2hex:361#comment_177616)\n // example 1: bin2hex('Kev');\n // returns 1: '4b6576'\n // example 2: bin2hex(String.fromCharCode(0x00));\n // returns 2: '00'\n\n // https://gist.github.com/cythrawll/8603752\n\n // let i = 0\n let o = ''\n // let l: number\n let n = null\n str += '';\n for (let i = 0, l = str.length; i < l; i++) {\n n = str.charCodeAt(i).toString(16);\n o += n.length < 2 ? '0' + n : n;\n }\n\n return o;\n}\n\ntype FingerprintOptions = {\n font?: string\n reactStyle?: string | CanvasGradient | CanvasPattern\n contentStyle?: string | CanvasGradient | CanvasPattern\n textBaseline?: CanvasTextBaseline\n}\n\nconst DEFAULT_FINGPRINT_OPTIONS: FingerprintOptions = {\n font: \"14px 'Arial'\",\n reactStyle: \"#f60\",\n contentStyle: \"#f60\",\n textBaseline: \"top\"\n}\n\n/**\n * 生成唯一ID(非用户ID)\n * 通过HTML5 Canvas API创建一个接近不重复的唯一指纹ID\n * @param content\n * @returns\n */\nexport const getFingerprintId = (content: string, options?: FingerprintOptions) => {\n if (!content) {\n console.error(\"content is empty\");\n return null;\n }\n const canvas = document.createElement('canvas');\n const ctx = canvas.getContext(\"2d\");\n // 如果不存在,则返回空值,说明不支持Canvas指纹\n if (!ctx) return null;\n\n const txt = content || 'geekbang';\n ctx.textBaseline = options && options.textBaseline ? options.textBaseline : \"top\";\n ctx.font = options && options.font ? options.font : \"14px 'Arial'\";\n\n ctx.fillStyle = options && options.reactStyle ? options.reactStyle : \"#f60\";\n // 先画一个62x20矩形内容\n ctx.fillRect(125, 1, 62, 20);\n\n ctx.fillStyle = options && options.contentStyle ? options.contentStyle : \"#069\";\n // 把字填充到矩形内\n ctx.fillText(txt, 2, 15);\n // ctx.fillStyle = \"rgba(102, 204, 0, 0.7)\";\n // ctx.fillText(txt, 4, 17);\n\n const b64 = canvas.toDataURL().replace(\"data:image/png;base64,\",\"\");\n const bin = atob(b64);\n const crc = bin2hex(bin.slice(-16,-12));\n return crc;\n}\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.lib=t():e.lib=t()}(window,function(){return n=[function(e,t,n){\"use strict\";function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,function(e){e=function(e,t){if(\"object\"!==o(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return(\"string\"===t?String:Number)(e);n=n.call(e,t||\"default\");if(\"object\"!==o(n))return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}(e,\"string\");return\"symbol\"===o(e)?e:String(e)}(r.key),r)}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.webPrint=void 0;var c=n(3),n=function(){function e(){if(!(this instanceof e))throw new TypeError(\"Cannot call a class as a function\");this.logLevel=c.LogLevel.OFF}var t,n,r;return t=e,(n=[{key:\"initLogLevel\",value:function(e){e&&(c.LogLevel[e.debug]?this.logLevel=e.debug:e.debug&&\"boolean\"==typeof e.debug?this.logLevel=c.LogLevel.DEBUG:this.logLevel=c.LogLevel.OFF)}},{key:\"log\",value:function(e){1<=this.isEnumVal(this.logLevel)&&console.log(\"LTSSDK:\".concat(e))}},{key:\"warn\",value:function(e){2<=this.isEnumVal(this.logLevel)&&console.warn(\"LTSSDK:\".concat(e))}},{key:\"error\",value:function(e){3<=this.isEnumVal(this.logLevel)&&console.error(\"LTSSDK:\".concat(e))}},{key:\"isEnumVal\",value:function(e){return[c.LogLevel.OFF,c.LogLevel.INFO,c.LogLevel.WARN,c.LogLevel.ERROR,c.LogLevel.DEBUG].indexOf(e)}}])&&i(t.prototype,n),r&&i(t,r),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.webPrint=new n},function(e,n,t){\"use strict\";function r(e){return(r=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}Object.defineProperty(n,\"__esModule\",{value:!0}),n.checkConfigKey=n.checkLabels=n.checkObjectTypeAndLength=n.checkPattern=n.checkLogParamString=n.excludeObject=n.isValidString=n.isEmpty=void 0;var o=t(0),i=\"The length of $1 exceeds the maximum value of $2.\",c=\"$1 is null.\",a=\"$1 is invalid.\";function l(e){return!e||\"\"===e}n.isEmpty=l;n.isValidString=function(e,t){return l(e)?(o.webPrint.warn(\"LTS.0001|\".concat(c.replace(\"$1\",t))),!1):\"string\"==typeof e||(o.webPrint.warn(\"LTS.0002|\".concat(a.replace(\"$1\",t))),!1)},n.excludeObject=function(e,t){return\"object\"!==r(e)||(o.webPrint.warn(\"LTS.0002|\".concat(a.replace(\"$1\",t))),!1)},n.checkLogParamString=function(e,t,n){return t?!(String(t).length>n&&(o.webPrint.warn(\"LTS.0003|\".concat(i.replace(\"$1\",e).replace(\"$2\",n))),1)):(o.webPrint.warn(\"LTS.0001|\".concat(c.replace(\"$1\",e))),!1)},n.checkPattern=function(e,t,n){return!!n.test(t)||(o.webPrint.warn(\"LTS.0006|\".concat(e,\" doesn't match pattern.\")),!1)},n.checkObjectTypeAndLength=function(e,t,n){return e&&\"object\"!==r(e)||\"boolean\"==typeof e?(o.webPrint.warn(\"LTS.0002|\".concat(a.replace(\"$1\",t))),!1):!(Object.keys(e).length>n&&(o.webPrint.warn(\"LTS.0003|\".concat(i.replace(\"$1\",t).replace(\"$2\",n))),1))},n.checkLabels=function(e){var t;return!e||!(!(0,n.checkObjectTypeAndLength)(e,\"labels\",50)||!(0,n.checkLogParamString)(\"labels value\",JSON.stringify(e),30720))&&(t=!0,Object.keys(e||{}).forEach(function(e){(0,n.checkLogParamString)(\"labels key:\".concat(e),e,64)||(t=!1),(0,n.checkPattern)(\"labels key:\".concat(e),e,/^[a-zA-Z][A-Za-z0-9_]*$/)||(t=!1)}),t)};n.checkConfigKey=function(e){var t,n=new Set([\"url\",\"region\",\"projectId\",\"groupId\",\"streamId\",\"group\",\"cacheThreshold\",\"timeThreshold\",\"debug\",\"platform\",\"logLevel\",\"timeInterval\"]);return!e||(t=!0,Object.keys(e).forEach(function(e){n.has(e)||(t=!1)}),t||o.webPrint.warn(\"LTS.0007|Invalid configuration parameters.\"),t)}},function(e,t,n){\"use strict\";function r(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){var n;if(e)return\"string\"==typeof e?o(e,t):\"Map\"===(n=\"Object\"===(n=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:n)||\"Set\"===n?Array.from(e):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getLabelMap=t.getHeader=t.getBodyArray=void 0;var i=n(9),c=n(10).version,a=(t.getBodyArray=function(e,t,n){return l(n,e)?a(t,n):null},function(e,t){return{labels:e&&JSON.parse(e)||{},logs:(t||[]).map(function(e){return{contents:[Object.assign(Object.assign({},null==e?void 0:e.content),{__client_time__:e.log_time_ns})]}})}}),l=function(e,t){return!(!e||0===e.length||(t=(e=t||{}).groupId,e=e.streamId,!t)||!e)},u=(t.getLabelMap=function(e){var t=new Map;return e.forEach(function(e){t.has(e.labels)?t.set(e.labels,[].concat(r(t.get(e.labels)),[e])):t.set(e.labels,[e])}),t},t.getHeader=function(e){var t=\"X-Sdk-date\",n=\"Lts-Sdk-Version\",r={\"Content-Type\":\"application/json\"};return r[\"Lts-Sdk-Request-Id\"]=i.UUID.create(),r[n]=c,r[t]=u(),Object.assign(Object.assign({},r),e)},function(){try{return(new Date).toISOString().replace(/\\.[\\d]{3}Z/,\"Z\").replace(/(\\:)|(\\-)/g,\"\")}catch(e){return\"\"}})},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0}),t.LogLevel=t.REGIONS=t.POLICY_CONSTANTS=void 0,t.POLICY_CONSTANTS={TIME_MIN:1,TIME_MAX:1800,THRESHOLD_MIN:30,THRESHOLD_MAX:1e3},t.REGIONS={\"cn-north-7\":\"cn-north-7\",\"cn-north-4\":\"cn-north-4\",\"cn-north-6\":\"cn-north-6\",\"cn-north-5\":\"cn-north-5\",\"cn-north-9\":\"cn-north-9\",\"cn-east-3\":\"cn-east-3\",\"cn-south-1\":\"cn-south-1\",\"ru-northwest-2\":\"ru-northwest-2\",\"af-south-1\":\"af-south-1\",\"cn-north-1\":\"cn-north-1\",\"cn-east-2\":\"cn-east-2\",\"cn-south-4\":\"cn-south-4\",\"cn-south-2\":\"cn-south-2\",\"cn-southwest-2\":\"cn-southwest-2\",\"ap-southeast-2\":\"ap-southeast-2\",\"ap-southeast-3\":\"ap-southeast-3\",\"ap-southeast-1\":\"ap-southeast-1\",\"cn-north-2\":\"cn-north-2\"},t.LogLevel={OFF:\"OFF\",INFO:\"INFO\",WARN:\"WARN\",ERROR:\"ERROR\",DEBUG:\"DEBUG\"}},function(e,t,n){e.exports=n(5)},function(e,t,n){\"use strict\";function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,function(e){e=function(e,t){if(\"object\"!==o(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return(\"string\"===t?String:Number)(e);n=n.call(e,t||\"default\");if(\"object\"!==o(n))return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}(e,\"string\");return\"symbol\"===o(e)?e:String(e)}(r.key),r)}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.default=void 0;var c=n(6),a=n(11),l=n(0),u=n(1),n=function(){function t(e){if(!(this instanceof t))throw new TypeError(\"Cannot call a class as a function\");this.uploading=!1,this.sendService={reportFlag:!1,url:\"\"},this.logRecords=[],this.config(e)}var e,n,r;return e=t,(n=[{key:\"config\",value:function(e){(0,u.checkObjectTypeAndLength)(e,\"Configuration\",11)&&(this.webConfig=Object.assign(Object.assign({},this.webConfig),e),l.webPrint.initLogLevel(this.webConfig),this.webConfig.timeThreshold=(null==(e=this.webConfig)?void 0:e.timeInterval)||(null==(e=this.webConfig)?void 0:e.timeThreshold)||3),a.default.checkConfig(this.webConfig)?(this.sendService.reportFlag=!0,this.sendService.url=a.default.updateUrl(this.webConfig),this.logUploadPolicyScheduleTime(),l.webPrint.log(\"init success\")):(this.sendService.reportFlag=!1,l.webPrint.error(\"Failed to initialize the sdk.\"))}},{key:\"reportImmediately\",value:function(e,t){l.webPrint.initLogLevel(this.webConfig),this.sendService.reportFlag?(c.default.writeLog(Object.assign(Object.assign({},this.webConfig),this.sendService),this.logRecords,e,t),c.default.uploadData(Object.assign(Object.assign({},this.webConfig),this.sendService),this.logRecords)):l.webPrint.log(\"LTS.0100|The LTSSDK is not initialized.\")}},{key:\"report\",value:function(e,t){l.webPrint.initLogLevel(this.webConfig),this.sendService.reportFlag?e?c.default.writeLog(Object.assign(Object.assign({},this.webConfig),this.sendService),this.logRecords,e,t):l.webPrint.warn(\"LTS.0001|Content is null.\"):l.webPrint.log(\"LTS.0100|The LTSSDK is not initialized.\")}},{key:\"logUploadPolicyScheduleTime\",value:function(){var e;this.webConfig.timeThreshold&&!this.uploading&&(e=1e3*this.webConfig.timeThreshold,this.setHeartbeatFunc(e))}},{key:\"setHeartbeatFunc\",value:function(e){var t=this;this.sendTimer=setTimeout(function(){t.uploading=!0,t.logRecords=t.logRecords.filter(function(e){return\"SUCCESS\"!==e.sendState}),c.default.uploadData(Object.assign(Object.assign({},t.webConfig),t.sendService),t.logRecords),t.uploading=!1,t.logUploadPolicyScheduleTime()},e)}}])&&i(e.prototype,n),r&&i(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),t}();t.default=n},function(e,t,n){\"use strict\";function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,function(e){e=function(e,t){if(\"object\"!==o(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return(\"string\"===t?String:Number)(e);n=n.call(e,t||\"default\");if(\"object\"!==o(n))return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}(e,\"string\");return\"symbol\"===o(e)?e:String(e)}(r.key),r)}}Object.defineProperty(t,\"__esModule\",{value:!0});var c=n(7),a=n(2),l=n(1),u=n(0),n=function(){function e(){if(!(this instanceof e))throw new TypeError(\"Cannot call a class as a function\");this.failTime=0,this.failTimer=null,this.failLockTime=1,this.censor=function(e,t){return t==1/0||t==-1/0?String(t):t}}var t,n,r;return t=e,(n=[{key:\"uploadData\",value:function(n,e){var r=this;n.reportFlag&&(10<=this.failTime?this.initTimeLock():(e=e.filter(function(e){return\"READY\"===e.sendState||\"RESEND\"===e.sendState}),(e=(0,a.getLabelMap)(e))&&0!==e.size&&e.forEach(function(e,t){e=r.getLogListSplitByBodyLimit(e);r.sendDataByPackage(e,t,n)})))}},{key:\"getLogListSplitByBodyLimit\",value:function(t){var n,r,o,i;return t&&0!==t.length?(n=[],i=o=r=0,t.forEach(function(e){e=JSON.stringify(e).length;96256<=(i+=e)&&(n.push(t.slice(r,o)),i=e,r=o),o++}),r!==o&&n.push(t.slice(r,o)),n):[]}},{key:\"sendDataByPackage\",value:function(e,r,o){var i=this;e.forEach(function(t){var e,n=(0,a.getBodyArray)(o,r,t);\"string\"==typeof n&&(0,l.isEmpty)(n)||(e=(0,a.getHeader)({}),t.forEach(function(e){e.sendState=\"SENDING\"}),(0,c.default)(n,e,o).then(function(){i.doUploadSuccess(t,o)},function(e){i.doUploadFail(o,t,e)}).catch(function(e){i.doUploadFail(o,t,e)}))})}},{key:\"initTimeLock\",value:function(){var e=this;this.failTimer||(this.failLockTime=this.failLockTime<32?2*this.failLockTime:32,this.failTimer=setTimeout(function(){e.failTime=0,e.failTimer=null},6e4*this.failLockTime))}},{key:\"doUploadFail\",value:function(e,t,n){this.failTime++,t.forEach(function(e){e.sendState=\"RESEND\"}),u.webPrint.initLogLevel(e),u.webPrint.error(\"LTS.0300|Request failed, response code=\".concat(n.status||\"--\",\", error=\").concat(n.statusText||\"send fail\",\".\"))}},{key:\"doUploadSuccess\",value:function(e,t){this.failTime=0,this.failLockTime=1,e.forEach(function(e){e.sendState=\"SUCCESS\"}),u.webPrint.initLogLevel(t),u.webPrint.log(\"senddata success.\")}},{key:\"logUploadPolicyThreshold\",value:function(e,t){e.cacheThreshold&&t.filter(function(e){return\"READY\"===e.sendState||\"RESEND\"===e.sendState}).length>=e.cacheThreshold&&this.uploadData(e,t)}},{key:\"writeLog\",value:function(t,n,e,r){var o=this;e&&(0,l.checkLabels)(r)&&(Array.isArray(e)?e.forEach(function(e){o.addLogToList(t,n,e,r)}):this.addLogToList(t,n,e,r))}},{key:\"addLogToList\",value:function(e,t,n,r){(0,l.checkObjectTypeAndLength)(n,\"content\",300)?(r={labels:JSON.stringify(r,this.censor),content:this.formatLogContent(n),sendState:\"READY\",log_time_ns:(new Date).getTime()},t.push(r),this.logUploadPolicyThreshold(e,t)):(u.webPrint.initLogLevel(e),u.webPrint.warn(\"LTS.0002|Log content is invalid.\"))}},{key:\"formatLogContent\",value:function(e){var t=JSON.stringify(e,this.censor);return 30720<(null==t?void 0:t.length)?{content:t.substring(0,30720)}:e}}])&&i(t.prototype,n),r&&i(t,r),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.default=new n},function(e,t,n){\"use strict\";Object.defineProperty(t,\"__esModule\",{value:!0});var r=n(8);t.default=function(e,t,n){return(new r.default).webRequest(e,t,n)}},function(e,t,n){\"use strict\";function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,function(e){e=function(e,t){if(\"object\"!==o(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return(\"string\"===t?String:Number)(e);n=n.call(e,t||\"default\");if(\"object\"!==o(n))return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}(e,\"string\");return\"symbol\"===o(e)?e:String(e)}(r.key),r)}}Object.defineProperty(t,\"__esModule\",{value:!0});var c=n(2),n=function(){function e(){if(!(this instanceof e))throw new TypeError(\"Cannot call a class as a function\")}var t,n,r;return t=e,(n=[{key:\"webRequest\",value:function(e,t,n){return n.url?(t=(0,c.getHeader)(t),null!==window&&void 0!==window&&window.XMLHttpRequest?this.sendByAjax(e,t,n):\"undefined\"!=typeof fetch?this.sendByBeacon(e,t,n):Promise.reject(new Error(\"not supported\"))):Promise.reject(new Error(\"check the config.\"))}},{key:\"sendByBeacon\",value:function(e,r,t){var o;return\"undefined\"!=typeof fetch?(o=null==t?void 0:t.url,new Promise(function(t,n){fetch(o,{method:\"POST\",body:JSON.stringify(e),headers:r}).then(function(e){200===e.status?t():n(e)}).catch(function(e){n(e)})})):Promise.reject(new Error(\"missing fetch method\"))}},{key:\"sendByAjax\",value:function(f,d,b){return new Promise(function(e,t){var n=null==b?void 0:b.url;if(window.XMLHttpRequest&&n){var r=new XMLHttpRequest;if(r.timeout=15e3,r.onabort=function(){t(new Error(\"The request was aborted!\"))},r.onerror=function(){t(new Error(\"An error occurred during the transaction!\"))},r.ontimeout=function(){t(new Error(\"Timeout!\"))},r.onload=function(){r.readyState===r.DONE&&200===r.status?e():t(new Error(\"senddata fail!\"))},b&&\"get\"===String(b.method).toLocaleLowerCase()){r.open(\"GET\",n+\"?\"+f,!0);for(var o=0,i=Object.keys(d);o<i.length;o++){var c=i[o];r.setRequestHeader(c,d[c])}r.send()}else{var a=b&&b.async;r.open(\"POST\",n,null==a||a);for(var l=0,u=Object.keys(d);l<u.length;l++){var s=u[l];r.setRequestHeader(s,d[s])}r.send(JSON.stringify(f))}}else t(new Error(\"url is missing\"))})}}])&&i(t.prototype,n),r&&i(t,r),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.default=n},function(e,t,n){\"use strict\";function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,function(e){e=function(e,t){if(\"object\"!==o(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return(\"string\"===t?String:Number)(e);n=n.call(e,t||\"default\");if(\"object\"!==o(n))return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}(e,\"string\");return\"symbol\"===o(e)?e:String(e)}(r.key),r)}}Object.defineProperty(t,\"__esModule\",{value:!0}),t.UUID=void 0;var r=function(){function e(){if(!(this instanceof e))throw new TypeError(\"Cannot call a class as a function\")}var t,n,r;return t=e,(n=[{key:\"create\",value:function(){var e=Math.floor(Math.random()*(Math.pow(2,12)-1+1))+0,t=Math.floor(Math.random()*(Math.pow(2,32)-1+1))+0,n=Math.floor(Math.random()*(Math.pow(2,16)-1+1))+0,r=Math.floor(Math.random()*(Math.pow(2,6)-1+1))+0,o=Math.floor(Math.random()*(Math.pow(2,8)-1+1))+0,i=(0|Math.random()*(1<<30))+(0|Math.random()*(1<<18))*(1<<30);function c(e,t,n){n=n||\"0\";for(var r=t-(e=String(e)).length;0<r;r>>>=1,n+=n)1&r&&(e=n+e);return e}return[c(t.toString(16),8),c(n.toString(16),4),c((16384|e).toString(16),4),c((128|r).toString(16),2),c(o.toString(16),2),c(i.toString(16),12)].join(\"\")}}])&&i(t.prototype,n),r&&i(t,r),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.UUID=new r},function(e){e.exports=JSON.parse('{\"name\":\"@cloud/lts-web-sdk\",\"version\":\"1.0.24\",\"description\":\"lts-web-sdk\",\"main\":\"./websdk.min.js\",\"license\":\"MIT\",\"scripts\":{\"debug\":\"http-serve -p 8080\",\"build\":\"rimraf dist && cross-env NODE_ENV=development webpack --config webpack.config.js\",\"build:prod\":\"rimraf dist && tsc -p tsconfig.json && cross-env NODE_ENV=production webpack --config webpack.config.js\",\"lint\":\"eslint --ext .js src/\",\"jest\":\"jest --coverage --watch\",\"fix-lint\":\"eslint --ext .js src/ --fix\",\"build:baidu\":\"rimraf lib && npx babel src --out-dir dist/src\",\"build:bd\":\"rimraf dist && tsc -p tsconfig.json && cross-env NODE_ENV=production webpack --config webpack.config.js\",\"build:cdn\":\"rimraf dist && tsc -p tsconfig.json && cross-env NODE_ENV=production webpack --config webpack-cdn.config.js\",\"tsc\":\"tsc -p tsconfig.json\",\"test\":\"mocha --exit\",\"test-report\":\"tsc -p tsconfig.json && nyc --reporter=html mocha --exit\"},\"devDependencies\":{\"@babel/cli\":\"^7.4.3\",\"@babel/core\":\"^7.4.3\",\"@babel/preset-env\":\"^7.4.3\",\"@cloud/eslint-config-cbc\":\"^1.7.3\",\"babel-eslint\":\"^10.1.0\",\"babel-loader\":\"^8.0.5\",\"babel-plugin-syntax-dynamic-import\":\"^6.18.0\",\"cross-env\":\"^5.2.1\",\"eslint\":\"^6.1.0\",\"http-serve\":\"^1.0.1\",\"jest\":\"^27.4.5\",\"mocha\":\"^10.2.0\",\"nyc\":\"^15.1.0\",\"sinon\":\"^15.2.0\",\"uglifyjs-webpack-plugin\":\"^2.1.2\",\"webpack\":\"^4.29.6\",\"webpack-cli\":\"^3.3.0\"}}')},function(e,t,n){\"use strict\";function o(e){return(o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e})(e)}function i(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,\"value\"in r&&(r.writable=!0),Object.defineProperty(e,function(e){e=function(e,t){if(\"object\"!==o(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0===n)return(\"string\"===t?String:Number)(e);n=n.call(e,t||\"default\");if(\"object\"!==o(n))return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}(e,\"string\");return\"symbol\"===o(e)?e:String(e)}(r.key),r)}}Object.defineProperty(t,\"__esModule\",{value:!0});var c=n(1),a=n(3),l=n(0),n=function(){function e(){var t=this;if(!(this instanceof e))throw new TypeError(\"Cannot call a class as a function\");this.checkConfig=function(e){return!!e&&t.checkReportPolices(e)&&t.checkLogConfig(e)&&t.checkUrl(e)&&t.checkRegion(e)&&t.checkProjectId(e)&&(0,c.checkConfigKey)(e)},this.checkProjectId=function(e){e=null==e?void 0:e.projectId;return!(!(0,c.isValidString)(e,\"projectId\")||!(0,c.checkLogParamString)(\"projectId\",e,128))},this.checkRegion=function(e){return!(!(0,c.checkLogParamString)(\"region\",null==e?void 0:e.region,128)||!a.REGIONS[null==e?void 0:e.region]&&(l.webPrint.warn(\"LTS.0009|Unsupported region.\"),1))},this.checkUrl=function(e){return!(null!=e&&e.url&&!(0,c.checkLogParamString)(\"url\",null==e?void 0:e.url,128)||null!=e&&e.url&&(\"string\"!=typeof(null==e?void 0:e.url)||!/^https?:\\/\\/(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]+$/.test(null==e?void 0:e.url))&&(l.webPrint.warn(\"LTS.0006|Url doesn't match pattern.\"),1))},this.checkLogConfig=function(e){var t=null==e?void 0:e.groupId;return!!((0,c.isValidString)(t,\"groupId\")&&(0,c.checkLogParamString)(\"groupId\",t,128)&&(t=null==e?void 0:e.streamId,(0,c.isValidString)(t,\"streamId\"))&&(0,c.checkLogParamString)(\"streamId\",t,128))}}var t,n,r;return t=e,(n=[{key:\"updateUrl\",value:function(e){var t=null==e?void 0:e.url,t=(null!=(t=t||\"https://lts-access.\".concat(e.region,\".myhuaweicloud.com\"))?t:\"\").split(\",\")[0];return\"\".concat(t,\"/v3/\").concat(e.projectId,\"/lts/groups/\").concat(e.groupId,\"/streams/\").concat(e.streamId,\"/logs\")}},{key:\"checkReportPolices\",value:function(e){if(e)return this.checkThreshold(e,\"timeThreshold\",a.POLICY_CONSTANTS.TIME_MIN,a.POLICY_CONSTANTS.TIME_MAX,\"timeInterval\")&&this.checkThreshold(e,\"cacheThreshold\",a.POLICY_CONSTANTS.THRESHOLD_MIN,a.POLICY_CONSTANTS.THRESHOLD_MAX)}},{key:\"checkThreshold\",value:function(e,t,n,r,o){var i=e[t];if(void 0===i)e[t]=30;else{if(\"number\"!=typeof i)return l.webPrint.warn(\"LTS.0002|\".concat(o||t,\" is invalid.\")),!1;if(i<n||r<i)return l.webPrint.warn(\"LTS.0004|The value of \".concat(o||t,\" must be between \").concat(n,\" and \").concat(r,\".\")),!1}return!0}}])&&i(t.prototype,n),r&&i(t,r),Object.defineProperty(t,\"prototype\",{writable:!1}),e}();t.default=new n}],r={},o.m=n,o.c=r,o.d=function(e,t,n){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},o.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&\"object\"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(o.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:t}),2&e&&\"string\"!=typeof t)for(var r in t)o.d(n,r,function(e){return t[e]}.bind(null,r));return n},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,\"a\",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p=\"\",o(o.s=4);function o(e){var t;return(r[e]||(t=r[e]={i:e,l:!1,exports:{}},n[e].call(t.exports,t,t.exports,o),t.l=!0,t)).exports}var n,r});","import { safeStringify } from './util'\nimport { SendMethod } from '../typings/common'\n// @ts-ignore\nimport LTS_WEB_SDK from 'lts-web-sdk'\n\nlet ltsInstance: any = null\n\nexport function getDeviceClient() {\n if (typeof navigator === 'undefined') {\n return {}\n }\n\n return {\n name: navigator.userAgent,\n version: navigator.appVersion,\n language: navigator.language,\n platform: navigator.platform,\n screen: {\n width: window.screen?.width || 0,\n height: window.screen?.height || 0,\n colorDepth: window.screen?.colorDepth || 0\n },\n viewport: {\n width: window.innerWidth || 0,\n height: window.innerHeight || 0\n }\n }\n}\n\nexport function convertTraceDataToLTS(traceData: TraceData) {\n const data = traceData.data\n\n const hasStack = data && 'stack' in data && data.stack\n const exception = hasStack\n ? {\n values: [\n {\n value: data.message || data.name || 'Unknown error',\n stacktrace: {\n frames: (data.stack as string).split('\\n').map((line: string) => ({\n filename: line.match(/\\((.+):\\d+:\\d+\\)/)?.pop() || 'unknown',\n lineno: parseInt(line.match(/:(\\d+):/)?.pop() || '0'),\n colno: parseInt(line.match(/:\\d+:(\\d+)\\)/)?.pop() || '0'),\n function: line.match(/at\\s+(.+)\\s+\\(/)?.pop() || 'unknown'\n }))\n }\n }\n ]\n }\n : undefined\n\n const tags: Record<string, string> = {}\n if (traceData.fpId) tags.fpId = traceData.fpId\n if (traceData.pid) tags.pid = traceData.pid\n if (traceData.appId) tags.appId = traceData.appId\n if (traceData.uid) tags.uid = String(traceData.uid)\n if (data && 'tag' in data && data.tag) {\n tags.tag = data.tag\n }\n\n const hasUrl = data && 'url' in data && data.url\n const request = hasUrl\n ? {\n url: (data as TraceDataFetch | TraceDataResource).url || '',\n method: 'method' in data && data.method ? (data as TraceDataFetch).method : 'GET',\n headers: {},\n data: 'body' in data && data.body ? (data as TraceDataFetch).body : undefined\n }\n : undefined\n\n return {\n client: getDeviceClient(),\n environment: traceData.bt || 'unknown',\n tags,\n level: traceData.level || 'info',\n exception,\n transaction: traceData.traceId,\n extra: {\n type: traceData.type,\n url: traceData.url,\n ua: traceData.ua,\n createdAt: traceData.createdAt,\n updatedAt: traceData.updatedAt,\n breadcrumbs: traceData.breadcrumbs,\n perf: traceData.perf\n },\n request\n }\n}\n\nexport function sendByLTS(ltsConfig: any, data: TraceData) {\n try {\n if (!ltsInstance) {\n ltsInstance = new LTS_WEB_SDK({\n region: ltsConfig.region,\n projectId: ltsConfig.projectId,\n groupId: ltsConfig.groupId,\n streamId: ltsConfig.streamId,\n debug: ltsConfig.debug || false\n })\n }\n\n const ltsData = convertTraceDataToLTS(data)\n ltsInstance.reportImmediately(ltsData)\n } catch (error) {\n console.error('Failed to send data to LTS:', error)\n }\n}\n\n// 使用sendBeacon发送数据\nexport function sendBeacon(url: string, data: TraceData) {\n if (typeof navigator === 'undefined') return\n navigator.sendBeacon && navigator.sendBeacon(url, JSON.stringify(data))\n}\n\n// 使用img发送数据\nexport function sendByImg(url: string, data: TraceData) {\n const spliceStr = url.indexOf('?') === -1 ? '?' : '&'\n const imageUrl = `${url}${spliceStr}data=${encodeURIComponent(safeStringify(data))}`\n let img = new Image()\n img.src = imageUrl\n img.onload = function() {\n console.log('Tracking data sent successfully!')\n img = null\n }\n img.onerror = function(err) {\n console.error('Failed to send tracking data.', err)\n img = null\n }\n}\n\n// 使用XMLHttpRequest发送数据\nexport function sendByXHR(url: string, data: TraceData) {\n const xhr = new XMLHttpRequest()\n xhr.open('get', url)\n xhr.setRequestHeader('Content-Type', 'application/json;charset=UTF-8')\n xhr.withCredentials = true\n xhr.send(safeStringify(data))\n}\n\n// 统一的发送接口\nexport function send(\n method: SendMethod,\n url: string | undefined,\n ltsConfig: any | undefined,\n data: TraceData\n) {\n switch (method) {\n case SendMethod.BEACON:\n if (url) {\n sendBeacon(url, data)\n } else {\n console.warn('dsn is required for beacon method')\n }\n break\n case SendMethod.LTS:\n if (ltsConfig) {\n sendByLTS(ltsConfig, data)\n } else {\n console.warn('ltsConfig is required for lts method')\n }\n break\n case SendMethod.IMG:\n default:\n if (url) {\n sendByImg(url, data)\n } else {\n console.warn('dsn is required for img method')\n }\n break\n }\n}\n","import { BaseTraceInterface } from './core/interface'\nimport { onVitals, mapMetric, generateUniqueId } from './core/webvitals'\nimport interceptFetch, { OnBeforeProps, OnFetchError } from './core/fetch'\nimport {\n dataCategory2BreadcrumbsCategory,\n dataTypes2BreadcrumbsType,\n getPerfLevel,\n getTimestamp,\n getTraceDataLevel,\n getTraceDataType,\n hashCode,\n isResourceTarget,\n uuid\n} from './core/util'\nimport {\n BreadcrumbTypes,\n BreadcrumbsCategorys,\n BrowserType,\n TraceClientTypes,\n TraceDataSeverity,\n TraceDataTypes,\n TraceLevelType,\n TraceTypes\n} from './typings/common'\nimport { getFingerprintId } from './core/fingerprint'\nimport { send } from './core/send'\nimport { SendMethod } from './typings/common'\n\nexport interface LTSConfig {\n region: string\n projectId: string\n groupId: string\n streamId: string\n debug?: boolean\n}\n\nexport interface TraceOptions {\n perfOnSend?: () => void\n perfBeforeSend?: () => void\n dsn?: string\n debug?: boolean\n appId: string\n sendMethod?: SendMethod\n ltsConfig?: LTSConfig\n}\n\nexport class BaseTrace implements BaseTraceInterface {\n // 日志上报后端API\n public dsn: string = ''\n // 页面ID\n public pageId: string = ''\n //\n public userAgent = navigator.userAgent\n //\n public browserType = BrowserType.MOBILE\n // fingerprintId\n public fpId = ''\n // user id\n public uid = ''\n // appId\n public appId = ''\n\n // 是否开启debug状态\n public debug = true\n\n // 发送方式\n public sendMethod: SendMethod = SendMethod.IMG\n\n // 华为云LTS配置\n public ltsConfig?: LTSConfig\n\n // 性能日志数据\n public perfData: TracePerf = {\n id: ''\n }\n\n // 存储错误资源数据\n public resources: TraceDataResource[] = []\n\n public result = {}\n\n // 记录用户行为\n public breadcrumb: TraceBreadcrumbs = []\n\n // 最大存储用户行为\n public maxBreadcrumb = 10\n\n // 是否开启用户行为\n public breadcrumbEnabled = true\n\n public observer = null\n\n // 存储链路日志数据\n public queue: TraceData[] = []\n\n // 发送请求时间间隔\n public sendTimer = 1000\n\n public constructor(options: TraceOptions) {\n console.log('BaseTrace constructor.')\n this.pageId = uuid()\n this.dsn = options.dsn || ''\n this.appId = options.appId\n this.debug = !!options.debug\n this.sendMethod = options.sendMethod || SendMethod.IMG\n this.ltsConfig = options.ltsConfig\n this.perfData = {\n id: generateUniqueId()\n }\n this.fpId = getFingerprintId('TraceCourse')\n\n this.observer = new PerformanceObserver((list, observer) => {\n list.getEntries().forEach(entry => {\n this.debug && console.debug(`name : ${entry.name}`)\n this.debug && console.debug(`type : ${entry.entryType}`)\n this.debug && console.debug(`duration: ${entry.duration}`)\n if (entry.entryType === 'resource') {\n this.handleObserverResource(entry as PerformanceResourceTiming)\n }\n })\n })\n }\n\n public log(log: TraceDataLog) {\n this.saveBreadcrumb({\n name: 'customer-log',\n level: log.level,\n type: dataTypes2BreadcrumbsType(log.type),\n category: dataCategory2BreadcrumbsCategory(log.type),\n message: log.message,\n time: getTimestamp()\n })\n this.debug && console.debug(`log: ${JSON.stringify(log)}`)\n this.send(log)\n }\n\n public info(message: string, tag?: string) {\n this.log({\n name: 'customer-info',\n type: TraceDataTypes.LOG,\n level: TraceDataSeverity.Info,\n message,\n time: getTimestamp(),\n dataId: hashCode(`${message}|${tag || ''}`),\n tag\n })\n }\n\n public warn(message: string, tag?: string) {\n this.log({\n name: 'customer-warning',\n type: TraceDataTypes.LOG,\n level: TraceDataSeverity.Warning,\n message,\n time: getTimestamp(),\n dataId: hashCode(`${message}|${tag || ''}`),\n tag\n })\n }\n\n public error(message: string, tag?: string) {\n this.log({\n name: 'customer-error',\n type: TraceDataTypes.LOG,\n level: TraceDataSeverity.Error,\n message,\n time: getTimestamp(),\n dataId: hashCode(`${message}|${tag || ''}`),\n tag\n })\n }\n\n public setTraceData(data: TraceTypeData | TracePerf) {\n let type = TraceTypes.CONSOLE\n let level = TraceLevelType.Debug\n let _data = null\n let perf = null\n\n if (!!(data as TraceTypeData).dataId) {\n type = getTraceDataType((data as TraceTypeData).type)\n level = getTraceDataLevel((data as TraceTypeData).level)\n _data = data as TraceTypeData\n }\n if (!!(data as TracePerf).id) {\n type = TraceTypes.PERF\n level = getPerfLevel(data as TracePerf)\n perf = data as TracePerf\n }\n\n const traceData: TraceData = {\n type,\n level,\n createdAt: getTimestamp(),\n updatedAt: getTimestamp(),\n data: _data,\n perf,\n breadcrumbs: this.breadcrumb,\n traceId: uuid(),\n ua: this.userAgent,\n bt: this.browserType,\n fpId: this.fpId,\n appId: this.appId,\n clientType: TraceClientTypes.BROWSER_H5,\n url: document.URL,\n pid: this.pageId,\n uid: this.uid\n }\n this.debug && console.log('[setTraceData]traceData: ', traceData)\n return traceData\n }\n\n public send(data: TraceTypeData | TracePerf) {\n const traceData = this.setTraceData(data)\n send(this.sendMethod, this.dsn, this.ltsConfig, traceData)\n }\n\n createPerfReport() {\n const report = metric => {\n this.perfData = { ...this.perfData, ...mapMetric(metric) }\n }\n\n setTimeout(() => {\n const supportedEntryTypes =\n (PerformanceObserver && PerformanceObserver.supportedEntryTypes) || []\n const isLatestVisibilityChangeSupported = supportedEntryTypes.indexOf('layout-shift') !== -1\n\n if (isLatestVisibilityChangeSupported) {\n const onVisibilityChange = () => {\n if (document.visibilityState === 'hidden') {\n console.log('this.send', this.perfData)\n this.send(this.perfData)\n // removeEventListener('visibilitychange', onVisibilityChange, true)\n }\n }\n addEventListener('visibilitychange', onVisibilityChange, true)\n } else {\n addEventListener(\n 'pagehide',\n () => {\n console.log('pagehide', this.perfData)\n this.send(this.perfData)\n },\n { capture: true, once: true }\n )\n }\n })\n\n return report\n }\n\n public saveError(event: ErrorEvent) {\n console.log('[onResourceError] event: ', event)\n const target = event.target || event.srcElement\n const isResTarget = isResourceTarget(target as HTMLElement)\n\n if (!isResTarget) {\n const traceData: TraceTypeData = {\n dataId: hashCode(`${event.type}-${event.error.stack}`),\n name: 'script-error',\n level: TraceDataSeverity.Error,\n message: event.message,\n time: getTimestamp(),\n type: TraceDataTypes.JAVASCRIPT,\n stack: event.error.stack\n }\n this.resources.push(traceData)\n this.breadcrumb.push({\n name: event.error.name,\n type: BreadcrumbTypes.CODE_ERROR,\n category: BreadcrumbsCategorys.Exception,\n level: TraceDataSeverity.Error,\n message: event.message,\n stack: event.error.stack,\n time: getTimestamp()\n })\n this.queue.push(this.setTraceData(traceData))\n } else {\n const url =\n (target as HTMLElement).getAttribute('src') || (target as HTMLElement).getAttribute('href')\n const traceData: TraceTypeData = {\n dataId: hashCode(\n `${(target as HTMLElement).nodeName.toLowerCase()}-${event.message}${url}`\n ),\n name: 'resource-load-error',\n level: TraceDataSeverity.Warning,\n message: event.message,\n time: getTimestamp(),\n type: TraceDataTypes.RESOURCE,\n stack: null\n }\n this.resources.push(traceData)\n this.breadcrumb.push({\n name: traceData.name,\n type: BreadcrumbTypes.RESOURCE,\n category: BreadcrumbsCategorys.Exception,\n level: TraceDataSeverity.Warning,\n message: event.message,\n time: getTimestamp()\n })\n this.queue.push(this.setTraceData(traceData))\n }\n }\n\n public handleObserverResource(entry: PerformanceResourceTiming) {\n if (entry.entryType === 'resource') {\n let level = TraceDataSeverity.Info\n if (entry.duration > 1000 && entry.duration < 1500) {\n level = TraceDataSeverity.Warning\n } else if (entry.duration > 1500) {\n level = TraceDataSeverity.Error\n }\n entry.duration > 1000 &&\n this.resources.push({\n url: entry.name,\n name: `${entry.entryType}-duration-${entry.initiatorType}`,\n type: TraceDataTypes.PERF,\n level,\n message: `duration:${Math.round(entry.duration)}`,\n time: getTimestamp(),\n dataId: hashCode(`${entry.entryType}-${entry.name}`)\n })\n }\n }\n\n // 这里的构造数据有问题,后续需要更新\n public onFetchError(message: OnFetchError) {\n console.log('[onFetchError] message: ', message)\n const traceBaseData: TraceBaseData = {\n dataId: hashCode(`${message.url}-${message.method}-${message.status}-${message.statusText}`),\n name: 'fetch-error',\n level: TraceDataSeverity.Critical,\n message: '',\n time: getTimestamp(),\n type: TraceDataTypes.HTTP\n }\n const errorData: TraceDataFetch = {\n ...traceBaseData,\n url: message.url,\n status: message.status,\n message: message.statusText,\n method: message.method,\n body: message.body,\n elapsedTime: message.elapsedTime,\n httpType: 'fetch'\n }\n console.log('error data: ', errorData)\n this.queue.push(this.setTraceData(errorData))\n }\n\n public onGlobalError() {\n const _t = this\n console.log('onGlobalError')\n window.addEventListener('error', event => {\n _t.saveError(event)\n })\n window.addEventListener('unhandledrejection', (event: any) => {\n // _t.saveError(event)\n console.log(event)\n if (event instanceof PromiseRejectionEvent) {\n const errorEvent = new ErrorEvent('promiseRejection', {\n message: event.reason.toString(),\n // filename: event.filename,\n // lineno: event.lineno,\n // colno: event.colno,\n error: event.reason\n })\n _t.saveError(errorEvent)\n } else if (event instanceof ErrorEvent) {\n _t.saveError(event)\n }\n })\n }\n\n public onGlobalClick() {\n const _t = this\n window.addEventListener('click', event => {\n const target = event.target as HTMLElement\n const innerHTML = target.innerHTML\n const bc: TraceAction = {\n name: 'click',\n level: TraceDataSeverity.Normal,\n type: BreadcrumbTypes.CLICK,\n category: BreadcrumbsCategorys.User,\n message: innerHTML,\n time: getTimestamp()\n }\n this.saveBreadcrumb(bc)\n })\n }\n\n public onObserverResource() {\n const _t = this\n // const observer = new PerformanceObserver((list, observer) => {\n // list.getEntries().forEach((entry) => {\n // console.log(`name : ${entry.name}`);\n // console.log(`type : ${entry.entryType}`);\n // console.log(`duration: ${entry.duration}`);\n // _t.handleObserverResource(entry)\n // });\n // });\n // observer.observe({\n // entryTypes: [\"resource\"],\n // });\n }\n\n public saveBreadcrumb(data: TraceAction) {\n if (this.breadcrumbEnabled) {\n this.breadcrumb.push(data)\n if (this.breadcrumb.length > this.maxBreadcrumb) {\n this.breadcrumb.shift()\n }\n }\n }\n\n public setUserId(userId: string) {\n this.uid = userId\n }\n\n // 初始化实例\n public static init(options: TraceOptions): BaseTrace {\n const traceSdk = new BaseTrace(options)\n\n traceSdk.onGlobalError()\n // traceSdk.onObserverResource()\n traceSdk.observer.observe({\n entryTypes: ['resource']\n })\n\n window.fetch = interceptFetch({\n pagePath: '',\n onError: error => {\n traceSdk.onFetchError(error)\n },\n onBefore: (props: OnBeforeProps) => {\n traceSdk.saveBreadcrumb({\n name: 'fetch',\n level: TraceDataSeverity.Normal,\n type: BreadcrumbTypes.FETCH,\n category: BreadcrumbsCategorys.Http,\n message: props.url,\n time: getTimestamp(),\n request: {\n method: props.method,\n url: props.url,\n options: props.options\n }\n })\n },\n onAfter: (result: any) => {\n traceSdk.saveBreadcrumb({\n name: 'fetch',\n level: TraceDataSeverity.Normal,\n type: BreadcrumbTypes.FETCH,\n category: BreadcrumbsCategorys.Http,\n message: result.status,\n time: getTimestamp(),\n response: {\n status: result.status,\n statusText: result.statusText\n }\n })\n }\n })\n\n // 监听页面性能\n onVitals(traceSdk.createPerfReport())\n\n setInterval(() => {\n // console.log('[queue] traceSdk.queue: ', traceSdk.queue)\n const data = traceSdk.queue.shift()\n // console.log('[queue] data: ', data)\n if (data) send(traceSdk.sendMethod, traceSdk.dsn, traceSdk.ltsConfig, data)\n }, traceSdk.sendTimer)\n\n // @ts-ignore\n window.traceSdk = traceSdk\n return traceSdk\n }\n}\n","import { BaseTrace } from \"./baseTrace\";\n\nexport default class TraceSdk extends BaseTrace {\n\n}\n","import { TraceOptions } from \"./baseTrace\";\nimport TraceSdk from \"./trace\";\n\nlet instance: any;\n\nexport const init = (options: TraceOptions) => {\n\n if (instance) {\n return instance\n }\n instance = TraceSdk.init(options);\n console.log('instance: ', instance)\n return instance\n};\n\n// @ts-ignore\nwindow.traceSdkInit = init\n"],"names":["generateUniqueId","round","onLCP","onFID","onCLS"],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { BaseTraceInterface } from './core/interface';
|
|
2
|
+
import { OnFetchError } from './core/fetch';
|
|
3
|
+
import { BrowserType } from './typings/common';
|
|
4
|
+
import { SendMethod } from './typings/common';
|
|
5
|
+
export interface LTSConfig {
|
|
6
|
+
region: string;
|
|
7
|
+
projectId: string;
|
|
8
|
+
groupId: string;
|
|
9
|
+
streamId: string;
|
|
10
|
+
debug?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface TraceOptions {
|
|
13
|
+
perfOnSend?: () => void;
|
|
14
|
+
perfBeforeSend?: () => void;
|
|
15
|
+
dsn?: string;
|
|
16
|
+
debug?: boolean;
|
|
17
|
+
appId: string;
|
|
18
|
+
sendMethod?: SendMethod;
|
|
19
|
+
ltsConfig?: LTSConfig;
|
|
20
|
+
}
|
|
21
|
+
export declare class BaseTrace implements BaseTraceInterface {
|
|
22
|
+
dsn: string;
|
|
23
|
+
pageId: string;
|
|
24
|
+
userAgent: string;
|
|
25
|
+
browserType: BrowserType;
|
|
26
|
+
fpId: string;
|
|
27
|
+
uid: string;
|
|
28
|
+
appId: string;
|
|
29
|
+
debug: boolean;
|
|
30
|
+
sendMethod: SendMethod;
|
|
31
|
+
ltsConfig?: LTSConfig;
|
|
32
|
+
perfData: TracePerf;
|
|
33
|
+
resources: TraceDataResource[];
|
|
34
|
+
result: {};
|
|
35
|
+
breadcrumb: TraceBreadcrumbs;
|
|
36
|
+
maxBreadcrumb: number;
|
|
37
|
+
breadcrumbEnabled: boolean;
|
|
38
|
+
observer: any;
|
|
39
|
+
queue: TraceData[];
|
|
40
|
+
sendTimer: number;
|
|
41
|
+
constructor(options: TraceOptions);
|
|
42
|
+
log(log: TraceDataLog): void;
|
|
43
|
+
info(message: string, tag?: string): void;
|
|
44
|
+
warn(message: string, tag?: string): void;
|
|
45
|
+
error(message: string, tag?: string): void;
|
|
46
|
+
setTraceData(data: TraceTypeData | TracePerf): TraceData;
|
|
47
|
+
send(data: TraceTypeData | TracePerf): void;
|
|
48
|
+
createPerfReport(): (metric: any) => void;
|
|
49
|
+
saveError(event: ErrorEvent): void;
|
|
50
|
+
handleObserverResource(entry: PerformanceResourceTiming): void;
|
|
51
|
+
onFetchError(message: OnFetchError): void;
|
|
52
|
+
onGlobalError(): void;
|
|
53
|
+
onGlobalClick(): void;
|
|
54
|
+
onObserverResource(): void;
|
|
55
|
+
saveBreadcrumb(data: TraceAction): void;
|
|
56
|
+
setUserId(userId: string): void;
|
|
57
|
+
static init(options: TraceOptions): BaseTrace;
|
|
58
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type OnFetchError = {
|
|
2
|
+
url: string;
|
|
3
|
+
status: number;
|
|
4
|
+
statusText: string;
|
|
5
|
+
method: 'POST' | 'GET';
|
|
6
|
+
body: any;
|
|
7
|
+
elapsedTime: number;
|
|
8
|
+
};
|
|
9
|
+
export type OnBeforeProps = {
|
|
10
|
+
url: string;
|
|
11
|
+
method: 'POST' | 'GET';
|
|
12
|
+
options?: RequestInit;
|
|
13
|
+
};
|
|
14
|
+
export type InterceptFetchType = {
|
|
15
|
+
pagePath: string;
|
|
16
|
+
onError: (error: OnFetchError) => void;
|
|
17
|
+
onBefore?: (props: OnBeforeProps) => void;
|
|
18
|
+
onAfter?: (result: any) => void;
|
|
19
|
+
};
|
|
20
|
+
declare const interceptFetch: ({ pagePath, onError, onBefore, onAfter }: InterceptFetchType) => (...args: any) => Promise<any>;
|
|
21
|
+
export default interceptFetch;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
type FingerprintOptions = {
|
|
2
|
+
font?: string;
|
|
3
|
+
reactStyle?: string | CanvasGradient | CanvasPattern;
|
|
4
|
+
contentStyle?: string | CanvasGradient | CanvasPattern;
|
|
5
|
+
textBaseline?: CanvasTextBaseline;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* 生成唯一ID(非用户ID)
|
|
9
|
+
* 通过HTML5 Canvas API创建一个接近不重复的唯一指纹ID
|
|
10
|
+
* @param content
|
|
11
|
+
* @returns
|
|
12
|
+
*/
|
|
13
|
+
export declare const getFingerprintId: (content: string, options?: FingerprintOptions) => string;
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { SendMethod } from '../typings/common';
|
|
2
|
+
export declare function getDeviceClient(): {
|
|
3
|
+
name?: undefined;
|
|
4
|
+
version?: undefined;
|
|
5
|
+
language?: undefined;
|
|
6
|
+
platform?: undefined;
|
|
7
|
+
screen?: undefined;
|
|
8
|
+
viewport?: undefined;
|
|
9
|
+
} | {
|
|
10
|
+
name: string;
|
|
11
|
+
version: string;
|
|
12
|
+
language: string;
|
|
13
|
+
platform: string;
|
|
14
|
+
screen: {
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
colorDepth: number;
|
|
18
|
+
};
|
|
19
|
+
viewport: {
|
|
20
|
+
width: number;
|
|
21
|
+
height: number;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
export declare function convertTraceDataToLTS(traceData: TraceData): {
|
|
25
|
+
client: {
|
|
26
|
+
name?: undefined;
|
|
27
|
+
version?: undefined;
|
|
28
|
+
language?: undefined;
|
|
29
|
+
platform?: undefined;
|
|
30
|
+
screen?: undefined;
|
|
31
|
+
viewport?: undefined;
|
|
32
|
+
} | {
|
|
33
|
+
name: string;
|
|
34
|
+
version: string;
|
|
35
|
+
language: string;
|
|
36
|
+
platform: string;
|
|
37
|
+
screen: {
|
|
38
|
+
width: number;
|
|
39
|
+
height: number;
|
|
40
|
+
colorDepth: number;
|
|
41
|
+
};
|
|
42
|
+
viewport: {
|
|
43
|
+
width: number;
|
|
44
|
+
height: number;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
environment: string;
|
|
48
|
+
tags: Record<string, string>;
|
|
49
|
+
level: string;
|
|
50
|
+
exception: {
|
|
51
|
+
values: {
|
|
52
|
+
value: string;
|
|
53
|
+
stacktrace: {
|
|
54
|
+
frames: {
|
|
55
|
+
filename: string;
|
|
56
|
+
lineno: number;
|
|
57
|
+
colno: number;
|
|
58
|
+
function: string;
|
|
59
|
+
}[];
|
|
60
|
+
};
|
|
61
|
+
}[];
|
|
62
|
+
};
|
|
63
|
+
transaction: string;
|
|
64
|
+
extra: {
|
|
65
|
+
type: import("../typings/common").TraceTypes;
|
|
66
|
+
url: string;
|
|
67
|
+
ua: string;
|
|
68
|
+
createdAt: number;
|
|
69
|
+
updatedAt: number;
|
|
70
|
+
breadcrumbs: TraceBreadcrumbs;
|
|
71
|
+
perf: TracePerf;
|
|
72
|
+
};
|
|
73
|
+
request: {
|
|
74
|
+
url: string;
|
|
75
|
+
method: "POST" | "GET";
|
|
76
|
+
headers: {};
|
|
77
|
+
data: string;
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
export declare function sendByLTS(ltsConfig: any, data: TraceData): void;
|
|
81
|
+
export declare function sendBeacon(url: string, data: TraceData): void;
|
|
82
|
+
export declare function sendByImg(url: string, data: TraceData): void;
|
|
83
|
+
export declare function sendByXHR(url: string, data: TraceData): void;
|
|
84
|
+
export declare function send(method: SendMethod, url: string | undefined, ltsConfig: any | undefined, data: TraceData): void;
|