UNPKG

vite-uni-dev-tool

Version:

vite-uni-dev-tool, debug, uni-app, 一处编写,到处调试

274 lines (273 loc) 6.04 kB
import "../utils/index.js"; import { transformValueToView as d, transformValueToShortString as D, isArray as v } from "../utils/language.js"; import { getCurrentPagePath as m } from "../utils/page.js"; import { getCurrentDate as h } from "../utils/date.js"; import { parseValue as M } from "../utils/object.js"; class k { constructor(t) { this.timeMap = /* @__PURE__ */ new Map(), this.countMap = /* @__PURE__ */ new Map(), this.event = t; } /** * 包装之后的 console 方法 * * @param {DevTool.ConsoleType} type * @param {any[]} args * @memberof DevConsole */ factory(t, o) { var c, a, l; if (console[t](...o), this.event.getDevToolDestroy()) return; const i = m(), e = h(), s = (a = (c = new Error()) == null ? void 0 : c.stack) == null ? void 0 : a.split(` `), r = (l = s == null ? void 0 : s.slice(3)) == null ? void 0 : l[0]; let p = o == null ? void 0 : o.map((y) => { const u = d(y), g = M(y), f = u === "object" || u === "array" ? D(g, u) : ""; return { type: u, value: g, shortValue: f }; }); v(o) && o.length > 0 && this.event.updateConsoleList([ { type: t, position: i, time: e, args: p, stack: r } ]); } /** * DevTool 包装之后的 console.log 方法 * * @param {...any[]} args * @memberof DevConsole */ log(...t) { this.factory("log", t); } /** * DevTool 包装之后的 console.info 方法 * * @param {...any[]} args * @memberof DevConsole */ info(...t) { this.factory("info", t); } /** * DevTool 包装之后的 console.warn 方法 * * @param {...any[]} args * @memberof DevConsole */ warn(...t) { this.factory("warn", t); } /** * DevTool 包装之后的 console.error 方法 * * @param {...any[]} args * @memberof DevConsole */ error(...t) { this.factory("error", t); } /** * DevTool 包装之后的 console.time 方法 * * @param {string} label * @memberof DevConsole */ time(t) { console.time(t), this.timeMap.set(t, Date.now()); } /** * DevTool 包装之后的 console.timeEnd 方法 * * @param {string} label * @memberof DevConsole */ timeEnd(t) { var p, c, a; if (this.factory("timeEnd", [t]), this.event.getDevToolDestroy()) return; const n = m(), i = h(), e = (c = (p = new Error()) == null ? void 0 : p.stack) == null ? void 0 : c.split(` `), s = (a = e == null ? void 0 : e.slice(3)) == null ? void 0 : a[0], r = this.timeMap.get(t); if (r) { const l = Date.now() - r; this.event.updateConsoleList([ { type: "log", position: n, time: i, args: [ { type: "string", value: `${t ?? "[DevTool timeEnd error]"}: ${l}ms` } ], stack: s } ]); } this.timeMap.delete(t); } /** * DevTool 包装之后的 console.clear 方法 * * @memberof DevConsole */ clear() { this.factory("clear", []), this.event.updateConsoleList([]); } /** * DevTool 包装之后的 console.count 方法 * * @param {string} [label=''] * @memberof DevConsole */ count(t = "") { var e, s, r; if (this.factory("count", [t]), this.event.getDevToolDestroy()) return; this.countMap.set(t, (this.countMap.get(t) || 0) + 1); const n = (s = (e = new Error()) == null ? void 0 : e.stack) == null ? void 0 : s.split(` `), i = (r = n == null ? void 0 : n.slice(3)) == null ? void 0 : r[0]; this.event.updateConsoleList([ { type: "log", position: m(), time: h(), args: [ { type: "string", value: `${t}: ${this.countMap.get(t)}` } ], stack: i } ]); } /** * DevTool 包装之后的 console.countReset 方法 * * @param {string} [label=''] * @memberof DevConsole */ countReset(t = "") { this.countMap.delete(t); } /** * 原始 console.assert 方法 * * @param {...any[]} args * @memberof DevConsole */ assert(...t) { console.assert(...t); } /** * 原始 console.debug 方法 * * @param {...any[]} args * @memberof DevConsole */ debug(...t) { console.debug(...t); } /** * 原始 console.dir 方法 * * @param {...any[]} args * @memberof DevConsole */ dir(...t) { console.dir(...t); } /** * 原始 console.dirxml 方法 * * @param {...any[]} args * @memberof DevConsole */ dirxml(...t) { console.dirxml(...t); } /** * 原始 console.group 方法 * * @param {...any[]} args * @memberof DevConsole */ group(...t) { console.group(t); } /** * 原始 console.groupCollapsed 方法 * * @param {...any[]} args * @memberof DevConsole */ groupCollapsed(...t) { console.groupCollapsed(...t); } /** * 原始 console.groupEnd 方法 * * @memberof DevConsole */ groupEnd() { console.groupEnd(); } /** * 原始 console.table 方法 * * @param {...any[]} args * @memberof DevConsole */ table(...t) { console.table(...t); } /** * 原始 console.timeStamp 方法 * * @param {...any[]} args * @memberof DevConsole */ timeStamp(...t) { console.timeStamp(...t); } /** * 原始 console.profile 方法 * * @param {...any[]} args * @memberof DevConsole */ trace(...t) { var o; (o = console == null ? void 0 : console.trace) == null || o.call(console, ...t); } /** * 原始 console.profile 方法 * * @param {string} label * @memberof DevConsole */ // profile(label?: string) { // console?.profile?.(label); // } /** * 原始 console.profileEnd 方法 * * @param {string} [label] * @memberof DevConsole */ // profileEnd(label?: string) { // console?.profileEnd?.(label); // } } export { k as DevConsole };