//// App//const _init = app.init;app.init = function () {console.time("Init");_init.call(app);console.timeEnd("Init");return console.time("Load");};const _start = app.start;app.start = function () {console.timeEnd("Load");console.time("Start");_start.call(app, ...arguments);return console.timeEnd("Start");};//// Searcher//app.Searcher = class TimingSearcher extends app.Searcher {setup() {console.groupCollapsed(`Search: ${this.query}`);console.time("Total");return super.setup();}match() {if (this.matcher) {console.timeEnd(this.matcher.name);}return super.match();}setupMatcher() {console.time(this.matcher.name);return super.setupMatcher();}end() {console.log(`Results: ${this.totalResults}`);console.timeEnd("Total");console.groupEnd();return super.end();}kill() {if (this.timeout) {if (this.matcher) {console.timeEnd(this.matcher.name);}console.groupEnd();console.timeEnd("Total");console.warn("Killed");}return super.kill();}};//// View tree//this.viewTree = function (view, level, visited) {if (view == null) {view = app.document;}if (level == null) {level = 0;}if (visited == null) {visited = [];}if (visited.includes(view)) {return;}visited.push(view);console.log(`%c ${Array(level + 1).join("")}${view.constructor.name}: ${!!view.activated}`,"color:" + ((view.activated && "green") || "red"),);for (var key of Object.keys(view || {})) {var value = view[key];if (key !== "view" && value) {if (typeof value === "object" && value.setupElement) {this.viewTree(value, level + 1, visited);} else if (value.constructor.toString().match(/Object\(\)/)) {for (var k of Object.keys(value || {})) {var v = value[k];if (v && typeof v === "object" && v.setupElement) {this.viewTree(v, level + 1, visited);}}}}}};
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。