@lytjs/devtools 4.2.0 → 6.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/dist/index.cjs +1700 -564
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +743 -0
- package/dist/index.d.ts +743 -0
- package/dist/index.mjs +1613 -564
- package/dist/index.mjs.map +1 -0
- package/package.json +41 -26
- package/README.md +0 -153
- package/dist/types/batch-analyzer.d.ts +0 -150
- package/dist/types/batch-analyzer.d.ts.map +0 -1
- package/dist/types/component-profiler.d.ts +0 -144
- package/dist/types/component-profiler.d.ts.map +0 -1
- package/dist/types/component-tree.d.ts +0 -69
- package/dist/types/component-tree.d.ts.map +0 -1
- package/dist/types/event-panel.d.ts +0 -129
- package/dist/types/event-panel.d.ts.map +0 -1
- package/dist/types/event-tracker.d.ts +0 -80
- package/dist/types/event-tracker.d.ts.map +0 -1
- package/dist/types/hooks.d.ts +0 -177
- package/dist/types/hooks.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -185
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/memory-tracker.d.ts +0 -148
- package/dist/types/memory-tracker.d.ts.map +0 -1
- package/dist/types/panel.d.ts +0 -182
- package/dist/types/panel.d.ts.map +0 -1
- package/dist/types/perf-collector.d.ts +0 -328
- package/dist/types/perf-collector.d.ts.map +0 -1
- package/dist/types/perf-panel.d.ts +0 -231
- package/dist/types/perf-panel.d.ts.map +0 -1
- package/dist/types/render-tracker.d.ts +0 -147
- package/dist/types/render-tracker.d.ts.map +0 -1
- package/dist/types/route-panel.d.ts +0 -68
- package/dist/types/route-panel.d.ts.map +0 -1
- package/dist/types/router-panel-enhanced.d.ts +0 -118
- package/dist/types/router-panel-enhanced.d.ts.map +0 -1
- package/dist/types/state-inspector.d.ts +0 -80
- package/dist/types/state-inspector.d.ts.map +0 -1
- package/dist/types/time-travel.d.ts +0 -189
- package/dist/types/time-travel.d.ts.map +0 -1
- package/dist/types/virtual-tree.d.ts +0 -168
- package/dist/types/virtual-tree.d.ts.map +0 -1
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lyt.js DevTools - 批量操作分析器
|
|
3
|
-
*
|
|
4
|
-
* 追踪批量操作的执行时间和频率,提供统计分析和异常检测。
|
|
5
|
-
* 使用环形缓冲区限制内存占用。
|
|
6
|
-
*
|
|
7
|
-
* 纯原生零依赖实现。
|
|
8
|
-
*/
|
|
9
|
-
/** 批量操作记录 */
|
|
10
|
-
export interface BatchRecord {
|
|
11
|
-
/** 操作名称 */
|
|
12
|
-
name: string;
|
|
13
|
-
/** 开始时间戳 */
|
|
14
|
-
startTime: number;
|
|
15
|
-
/** 结束时间戳 */
|
|
16
|
-
endTime: number;
|
|
17
|
-
/** 持续时间 (ms) */
|
|
18
|
-
duration: number;
|
|
19
|
-
/** 操作序号 */
|
|
20
|
-
index: number;
|
|
21
|
-
}
|
|
22
|
-
/** 批量操作统计(按名称分组) */
|
|
23
|
-
export interface BatchNameStats {
|
|
24
|
-
/** 操作名称 */
|
|
25
|
-
name: string;
|
|
26
|
-
/** 执行次数 */
|
|
27
|
-
count: number;
|
|
28
|
-
/** 平均持续时间 (ms) */
|
|
29
|
-
avgDuration: number;
|
|
30
|
-
/** 最大持续时间 (ms) */
|
|
31
|
-
maxDuration: number;
|
|
32
|
-
/** 最小持续时间 (ms) */
|
|
33
|
-
minDuration: number;
|
|
34
|
-
/** 总持续时间 (ms) */
|
|
35
|
-
totalDuration: number;
|
|
36
|
-
/** 标准差 (ms) */
|
|
37
|
-
stdDev: number;
|
|
38
|
-
}
|
|
39
|
-
/** 整体批量操作统计 */
|
|
40
|
-
export interface BatchStats {
|
|
41
|
-
/** 总操作次数 */
|
|
42
|
-
totalBatches: number;
|
|
43
|
-
/** 总持续时间 (ms) */
|
|
44
|
-
totalDuration: number;
|
|
45
|
-
/** 平均持续时间 (ms) */
|
|
46
|
-
avgDuration: number;
|
|
47
|
-
/** 最大持续时间 (ms) */
|
|
48
|
-
maxDuration: number;
|
|
49
|
-
/** 最小持续时间 (ms) */
|
|
50
|
-
minDuration: number;
|
|
51
|
-
/** 按名称分组的统计 */
|
|
52
|
-
byName: BatchNameStats[];
|
|
53
|
-
}
|
|
54
|
-
/** 异常批量操作条目 */
|
|
55
|
-
export interface AnomalousBatch {
|
|
56
|
-
/** 操作名称 */
|
|
57
|
-
name: string;
|
|
58
|
-
/** 持续时间 (ms) */
|
|
59
|
-
duration: number;
|
|
60
|
-
/** 时间戳 */
|
|
61
|
-
timestamp: number;
|
|
62
|
-
/** 异常类型 */
|
|
63
|
-
anomalyType: 'slow' | 'fast' | 'outlier';
|
|
64
|
-
/** 异常描述 */
|
|
65
|
-
description: string;
|
|
66
|
-
/** 偏离平均值的标准差倍数 */
|
|
67
|
-
deviationSigma: number;
|
|
68
|
-
}
|
|
69
|
-
/** 批量操作分析器配置 */
|
|
70
|
-
export interface BatchAnalyzerConfig {
|
|
71
|
-
/** 环形缓冲区容量,默认 100 */
|
|
72
|
-
bufferSize?: number;
|
|
73
|
-
/** 异常检测的慢操作阈值 (ms),默认 1000 */
|
|
74
|
-
slowThreshold?: number;
|
|
75
|
-
/** 异常检测的标准差倍数阈值,默认 2 */
|
|
76
|
-
outlierSigmaThreshold?: number;
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* 批量操作分析器
|
|
80
|
-
*
|
|
81
|
-
* 追踪批量操作的执行时间和频率,提供统计分析和异常检测。
|
|
82
|
-
*/
|
|
83
|
-
export declare class BatchAnalyzer {
|
|
84
|
-
/** 批量操作记录缓冲区 */
|
|
85
|
-
private records;
|
|
86
|
-
/** 正在进行的操作映射 */
|
|
87
|
-
private pending;
|
|
88
|
-
/** 记录计数器(单调递增) */
|
|
89
|
-
private counter;
|
|
90
|
-
/** 配置 */
|
|
91
|
-
private readonly config;
|
|
92
|
-
constructor(config?: BatchAnalyzerConfig);
|
|
93
|
-
/**
|
|
94
|
-
* 开始一个批量操作
|
|
95
|
-
*
|
|
96
|
-
* @param name - 操作名称
|
|
97
|
-
* @returns 是否成功开始(如果同名操作已在进行中,返回 false)
|
|
98
|
-
*/
|
|
99
|
-
startBatch(name: string): boolean;
|
|
100
|
-
/**
|
|
101
|
-
* 结束一个批量操作
|
|
102
|
-
*
|
|
103
|
-
* @param name - 操作名称
|
|
104
|
-
* @returns 操作记录,如果操作未开始则返回 null
|
|
105
|
-
*/
|
|
106
|
-
endBatch(name: string): BatchRecord | null;
|
|
107
|
-
/**
|
|
108
|
-
* 获取批量操作统计
|
|
109
|
-
*
|
|
110
|
-
* @returns 批量操作统计信息
|
|
111
|
-
*/
|
|
112
|
-
getBatchStats(): BatchStats;
|
|
113
|
-
/**
|
|
114
|
-
* 检测异常批量操作
|
|
115
|
-
*
|
|
116
|
-
* 基于以下规则检测异常:
|
|
117
|
-
* - 慢操作:持续时间超过慢操作阈值
|
|
118
|
-
* - 离群值:持续时间偏离同组平均值超过指定标准差倍数
|
|
119
|
-
*
|
|
120
|
-
* @returns 异常批量操作数组
|
|
121
|
-
*/
|
|
122
|
-
detectAnomalousBatches(): AnomalousBatch[];
|
|
123
|
-
/**
|
|
124
|
-
* 获取所有批量操作记录
|
|
125
|
-
*
|
|
126
|
-
* @returns 批量操作记录数组
|
|
127
|
-
*/
|
|
128
|
-
getRecords(): BatchRecord[];
|
|
129
|
-
/**
|
|
130
|
-
* 获取记录数量
|
|
131
|
-
*
|
|
132
|
-
* @returns 记录数量
|
|
133
|
-
*/
|
|
134
|
-
getRecordCount(): number;
|
|
135
|
-
/**
|
|
136
|
-
* 获取正在进行的操作名称列表
|
|
137
|
-
*
|
|
138
|
-
* @returns 正在进行的操作名称数组
|
|
139
|
-
*/
|
|
140
|
-
getPendingBatches(): string[];
|
|
141
|
-
/**
|
|
142
|
-
* 清除所有记录和进行中的操作
|
|
143
|
-
*/
|
|
144
|
-
clear(): void;
|
|
145
|
-
/**
|
|
146
|
-
* 销毁分析器
|
|
147
|
-
*/
|
|
148
|
-
destroy(): void;
|
|
149
|
-
}
|
|
150
|
-
//# sourceMappingURL=batch-analyzer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"batch-analyzer.d.ts","sourceRoot":"","sources":["../../src/batch-analyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,aAAa;AACb,MAAM,WAAW,WAAW;IAC1B,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oBAAoB;AACpB,MAAM,WAAW,cAAc;IAC7B,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAe;AACf,MAAM,WAAW,UAAU;IACzB,YAAY;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe;IACf,MAAM,EAAE,cAAc,EAAE,CAAC;CAC1B;AAED,eAAe;AACf,MAAM,WAAW,cAAc;IAC7B,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACzC,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB;IAClB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,gBAAgB;AAChB,MAAM,WAAW,mBAAmB;IAClC,qBAAqB;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wBAAwB;IACxB,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAwED;;;;GAIG;AACH,qBAAa,aAAa;IACxB,gBAAgB;IAChB,OAAO,CAAC,OAAO,CAA0B;IACzC,gBAAgB;IAChB,OAAO,CAAC,OAAO,CAAkC;IACjD,kBAAkB;IAClB,OAAO,CAAC,OAAO,CAAa;IAC5B,SAAS;IACT,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgC;gBAE3C,MAAM,CAAC,EAAE,mBAAmB;IAaxC;;;;;OAKG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAQjC;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAsB1C;;;;OAIG;IACH,aAAa,IAAI,UAAU;IAsF3B;;;;;;;;OAQG;IACH,sBAAsB,IAAI,cAAc,EAAE;IAuD1C;;;;OAIG;IACH,UAAU,IAAI,WAAW,EAAE;IAI3B;;;;OAIG;IACH,cAAc,IAAI,MAAM;IAIxB;;;;OAIG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAI7B;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,OAAO,IAAI,IAAI;CAGhB"}
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lyt.js DevTools - 组件性能分析器
|
|
3
|
-
*
|
|
4
|
-
* 对单个组件进行详细的性能分析,追踪:
|
|
5
|
-
* - 渲染次数
|
|
6
|
-
* - 平均渲染时间
|
|
7
|
-
* - 最大渲染时间
|
|
8
|
-
* - 总渲染时间
|
|
9
|
-
* - 慢渲染自动检测(>16ms)
|
|
10
|
-
*
|
|
11
|
-
* 纯原生零依赖实现。
|
|
12
|
-
*/
|
|
13
|
-
/** 单次渲染记录 */
|
|
14
|
-
export interface RenderRecord {
|
|
15
|
-
/** 渲染耗时 (ms) */
|
|
16
|
-
duration: number;
|
|
17
|
-
/** 渲染时间戳 */
|
|
18
|
-
timestamp: number;
|
|
19
|
-
/** 是否为慢渲染 (>16ms) */
|
|
20
|
-
isSlow: boolean;
|
|
21
|
-
}
|
|
22
|
-
/** 组件分析结果 */
|
|
23
|
-
export interface ProfileResult {
|
|
24
|
-
/** 组件名称 */
|
|
25
|
-
componentName: string;
|
|
26
|
-
/** 渲染次数 */
|
|
27
|
-
renderCount: number;
|
|
28
|
-
/** 平均渲染时间 (ms) */
|
|
29
|
-
avgRenderTime: number;
|
|
30
|
-
/** 最大渲染时间 (ms) */
|
|
31
|
-
maxRenderTime: number;
|
|
32
|
-
/** 最小渲染时间 (ms) */
|
|
33
|
-
minRenderTime: number;
|
|
34
|
-
/** 总渲染时间 (ms) */
|
|
35
|
-
totalRenderTime: number;
|
|
36
|
-
/** 慢渲染次数 */
|
|
37
|
-
slowRenderCount: number;
|
|
38
|
-
/** 慢渲染阈值 (ms) */
|
|
39
|
-
slowThreshold: number;
|
|
40
|
-
/** 所有渲染记录 */
|
|
41
|
-
records: RenderRecord[];
|
|
42
|
-
/** 分析持续时间 (ms) */
|
|
43
|
-
profileDuration: number;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* 组件性能分析器
|
|
47
|
-
*
|
|
48
|
-
* 对指定组件进行性能分析,自动检测慢渲染。
|
|
49
|
-
* 支持同时分析多个组件。
|
|
50
|
-
*/
|
|
51
|
-
export declare class ComponentProfiler {
|
|
52
|
-
/** 活跃的分析会话映射(组件名 -> 会话) */
|
|
53
|
-
private activeProfiles;
|
|
54
|
-
/** 慢渲染阈值 (ms) */
|
|
55
|
-
private slowThreshold;
|
|
56
|
-
constructor(slowThreshold?: number);
|
|
57
|
-
/**
|
|
58
|
-
* 开始分析指定组件
|
|
59
|
-
*
|
|
60
|
-
* @param componentName - 组件名称
|
|
61
|
-
* @returns 是否成功开始(如果已经在分析中则返回 false)
|
|
62
|
-
*/
|
|
63
|
-
startProfile(componentName: string): boolean;
|
|
64
|
-
/**
|
|
65
|
-
* 停止分析指定组件并返回结果
|
|
66
|
-
*
|
|
67
|
-
* @param componentName - 组件名称
|
|
68
|
-
* @returns 分析结果,如果组件未被分析则返回 null
|
|
69
|
-
*/
|
|
70
|
-
stopProfile(componentName: string): ProfileResult | null;
|
|
71
|
-
/**
|
|
72
|
-
* 停止所有分析并返回所有结果
|
|
73
|
-
*
|
|
74
|
-
* @returns 所有分析结果数组
|
|
75
|
-
*/
|
|
76
|
-
stopAllProfiles(): ProfileResult[];
|
|
77
|
-
/**
|
|
78
|
-
* 记录一次组件渲染
|
|
79
|
-
*
|
|
80
|
-
* 如果组件正在被分析中,则记录此次渲染。
|
|
81
|
-
*
|
|
82
|
-
* @param componentName - 组件名称
|
|
83
|
-
* @param duration - 渲染耗时 (ms)
|
|
84
|
-
*/
|
|
85
|
-
recordRender(componentName: string, duration: number): void;
|
|
86
|
-
/**
|
|
87
|
-
* 获取指定组件的当前分析快照(不停止分析)
|
|
88
|
-
*
|
|
89
|
-
* @param componentName - 组件名称
|
|
90
|
-
* @returns 当前分析快照,如果组件未被分析则返回 null
|
|
91
|
-
*/
|
|
92
|
-
getSnapshot(componentName: string): ProfileResult | null;
|
|
93
|
-
/**
|
|
94
|
-
* 检查指定组件是否正在被分析
|
|
95
|
-
*
|
|
96
|
-
* @param componentName - 组件名称
|
|
97
|
-
* @returns 是否正在分析中
|
|
98
|
-
*/
|
|
99
|
-
isProfiling(componentName: string): boolean;
|
|
100
|
-
/**
|
|
101
|
-
* 获取所有正在分析的组件名称
|
|
102
|
-
*
|
|
103
|
-
* @returns 组件名称数组
|
|
104
|
-
*/
|
|
105
|
-
getActiveProfileNames(): string[];
|
|
106
|
-
/**
|
|
107
|
-
* 获取正在分析的组件数量
|
|
108
|
-
*
|
|
109
|
-
* @returns 组件数量
|
|
110
|
-
*/
|
|
111
|
-
getActiveProfileCount(): number;
|
|
112
|
-
/**
|
|
113
|
-
* 获取指定组件的慢渲染列表(仅当前活跃分析中的)
|
|
114
|
-
*
|
|
115
|
-
* @param componentName - 组件名称
|
|
116
|
-
* @returns 慢渲染记录数组
|
|
117
|
-
*/
|
|
118
|
-
getSlowRenders(componentName: string): RenderRecord[];
|
|
119
|
-
/**
|
|
120
|
-
* 设置慢渲染阈值
|
|
121
|
-
*
|
|
122
|
-
* @param threshold - 新的阈值 (ms)
|
|
123
|
-
*/
|
|
124
|
-
setSlowThreshold(threshold: number): void;
|
|
125
|
-
/**
|
|
126
|
-
* 获取当前慢渲染阈值
|
|
127
|
-
*
|
|
128
|
-
* @returns 阈值 (ms)
|
|
129
|
-
*/
|
|
130
|
-
getSlowThreshold(): number;
|
|
131
|
-
/**
|
|
132
|
-
* 清除所有分析数据
|
|
133
|
-
*/
|
|
134
|
-
clear(): void;
|
|
135
|
-
/**
|
|
136
|
-
* 销毁分析器
|
|
137
|
-
*/
|
|
138
|
-
destroy(): void;
|
|
139
|
-
/**
|
|
140
|
-
* 从分析会话构建结果对象
|
|
141
|
-
*/
|
|
142
|
-
private buildResult;
|
|
143
|
-
}
|
|
144
|
-
//# sourceMappingURL=component-profiler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"component-profiler.d.ts","sourceRoot":"","sources":["../../src/component-profiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,aAAa;AACb,MAAM,WAAW,YAAY;IAC3B,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,qBAAqB;IACrB,MAAM,EAAE,OAAO,CAAA;CAChB;AAED,aAAa;AACb,MAAM,WAAW,aAAa;IAC5B,WAAW;IACX,aAAa,EAAE,MAAM,CAAA;IACrB,WAAW;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,kBAAkB;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,kBAAkB;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,kBAAkB;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,iBAAiB;IACjB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY;IACZ,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa;IACb,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,kBAAkB;IAClB,eAAe,EAAE,MAAM,CAAA;CACxB;AAqBD;;;;;GAKG;AACH,qBAAa,iBAAiB;IAC5B,2BAA2B;IAC3B,OAAO,CAAC,cAAc,CAAwC;IAE9D,iBAAiB;IACjB,OAAO,CAAC,aAAa,CAAQ;gBAEjB,aAAa,GAAE,MAA+B;IAQ1D;;;;;OAKG;IACH,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAe5C;;;;;OAKG;IACH,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAWxD;;;;OAIG;IACH,eAAe,IAAI,aAAa,EAAE;IAelC;;;;;;;OAOG;IACH,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IAa3D;;;;;OAKG;IACH,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAaxD;;;;;OAKG;IACH,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAI3C;;;;OAIG;IACH,qBAAqB,IAAI,MAAM,EAAE;IAIjC;;;;OAIG;IACH,qBAAqB,IAAI,MAAM;IAI/B;;;;;OAKG;IACH,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,EAAE;IAUrD;;;;OAIG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAYzC;;;;OAIG;IACH,gBAAgB,IAAI,MAAM;IAQ1B;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,OAAO,IAAI,IAAI;IAQf;;OAEG;IACH,OAAO,CAAC,WAAW;CAuBpB"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lyt.js DevTools — 组件树检查器
|
|
3
|
-
*
|
|
4
|
-
* 遍历应用组件树,生成可视化的树形结构,支持组件选择、搜索过滤和高亮。
|
|
5
|
-
*
|
|
6
|
-
* 核心功能:
|
|
7
|
-
* - ComponentTreeInspector 类
|
|
8
|
-
* - 遍历应用组件树,生成树形结构
|
|
9
|
-
* - 显示每个组件的名称、状态数量、是否有更新、渲染耗时
|
|
10
|
-
* - 点击组件节点显示详情
|
|
11
|
-
* - 高亮选中组件(给对应 DOM 元素加边框)
|
|
12
|
-
* - 组件搜索/过滤功能
|
|
13
|
-
*
|
|
14
|
-
* 纯原生零依赖实现。
|
|
15
|
-
*/
|
|
16
|
-
import type { DevToolsPanel } from './panel';
|
|
17
|
-
/** 组件选中回调 */
|
|
18
|
-
type ComponentSelectCallback = (componentId: string | null) => void;
|
|
19
|
-
/**
|
|
20
|
-
* 组件树检查器
|
|
21
|
-
*
|
|
22
|
-
* 负责渲染和管理组件树视图,包括搜索、过滤、选择等功能。
|
|
23
|
-
*/
|
|
24
|
-
export declare class ComponentTreeInspector {
|
|
25
|
-
/** 面板引用 */
|
|
26
|
-
private panel;
|
|
27
|
-
/** 组件选中回调 */
|
|
28
|
-
private onSelect;
|
|
29
|
-
/** 搜索关键词 */
|
|
30
|
-
private searchKeyword;
|
|
31
|
-
/** 展开的节点 ID 集合 */
|
|
32
|
-
private expandedNodes;
|
|
33
|
-
/** 当前内容容器 */
|
|
34
|
-
private container;
|
|
35
|
-
/** 更新定时器 */
|
|
36
|
-
private updateTimer;
|
|
37
|
-
constructor(panel: DevToolsPanel, onSelect?: ComponentSelectCallback);
|
|
38
|
-
/**
|
|
39
|
-
* 渲染组件树到指定容器
|
|
40
|
-
*/
|
|
41
|
-
render(container: HTMLElement): void;
|
|
42
|
-
/**
|
|
43
|
-
* 渲染完整组件树
|
|
44
|
-
*/
|
|
45
|
-
private renderTree;
|
|
46
|
-
/**
|
|
47
|
-
* 构建组件树形数据结构
|
|
48
|
-
*/
|
|
49
|
-
private buildTree;
|
|
50
|
-
/**
|
|
51
|
-
* 渲染单个树节点
|
|
52
|
-
*/
|
|
53
|
-
private renderTreeNode;
|
|
54
|
-
/**
|
|
55
|
-
* 全局更新事件处理
|
|
56
|
-
* 使用防抖避免频繁更新
|
|
57
|
-
*/
|
|
58
|
-
private onUpdate;
|
|
59
|
-
/**
|
|
60
|
-
* 强制刷新组件树
|
|
61
|
-
*/
|
|
62
|
-
refresh(): void;
|
|
63
|
-
/**
|
|
64
|
-
* 销毁检查器
|
|
65
|
-
*/
|
|
66
|
-
destroy(): void;
|
|
67
|
-
}
|
|
68
|
-
export {};
|
|
69
|
-
//# sourceMappingURL=component-tree.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"component-tree.d.ts","sourceRoot":"","sources":["../../src/component-tree.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAWH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAkB7C,aAAa;AACb,KAAK,uBAAuB,GAAG,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;AAMpE;;;;GAIG;AACH,qBAAa,sBAAsB;IACjC,WAAW;IACX,OAAO,CAAC,KAAK,CAAgB;IAC7B,aAAa;IACb,OAAO,CAAC,QAAQ,CAA0B;IAC1C,YAAY;IACZ,OAAO,CAAC,aAAa,CAAc;IACnC,kBAAkB;IAClB,OAAO,CAAC,aAAa,CAAqB;IAC1C,aAAa;IACb,OAAO,CAAC,SAAS,CAA4B;IAC7C,YAAY;IACZ,OAAO,CAAC,WAAW,CAA8C;gBAErD,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,uBAAuB;IAoBpE;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAKpC;;OAEG;IACH,OAAO,CAAC,UAAU;IA6ClB;;OAEG;IACH,OAAO,CAAC,SAAS;IAuCjB;;OAEG;IACH,OAAO,CAAC,cAAc;IAyLtB;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAOd;IAEF;;OAEG;IACH,OAAO,IAAI,IAAI;IAQf;;OAEG;IACH,OAAO,IAAI,IAAI;CAShB"}
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lyt.js DevTools — 事件面板
|
|
3
|
-
*
|
|
4
|
-
* 独立的事件检查器,捕获和展示组件事件(emit 调用)。
|
|
5
|
-
* 支持过滤、暂停/恢复、环形缓冲区、导出 JSON 等功能。
|
|
6
|
-
*
|
|
7
|
-
* 纯原生零依赖实现。
|
|
8
|
-
*/
|
|
9
|
-
/** 捕获的事件 */
|
|
10
|
-
export interface CapturedEvent {
|
|
11
|
-
/** 事件名称 */
|
|
12
|
-
name: string;
|
|
13
|
-
/** 事件载荷 */
|
|
14
|
-
payload: any;
|
|
15
|
-
/** 来源组件 */
|
|
16
|
-
sourceComponent?: string;
|
|
17
|
-
/** 捕获时间戳 */
|
|
18
|
-
timestamp: number;
|
|
19
|
-
/** 事件序号 */
|
|
20
|
-
index: number;
|
|
21
|
-
}
|
|
22
|
-
/** 事件面板配置 */
|
|
23
|
-
export interface EventPanelConfig {
|
|
24
|
-
/** 最大缓冲区大小(环形缓冲区),默认 200 */
|
|
25
|
-
maxBuffer?: number;
|
|
26
|
-
/** 是否自动滚动到最新事件,默认 true */
|
|
27
|
-
autoScroll?: boolean;
|
|
28
|
-
/** 面板标题,默认 "事件面板" */
|
|
29
|
-
title?: string;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* 事件面板
|
|
33
|
-
*
|
|
34
|
-
* 捕获和展示组件事件,支持过滤、暂停/恢复、环形缓冲区和导出。
|
|
35
|
-
*/
|
|
36
|
-
export declare class EventPanel {
|
|
37
|
-
/** 事件缓冲区 */
|
|
38
|
-
private buffer;
|
|
39
|
-
/** 最大缓冲区大小 */
|
|
40
|
-
private maxBuffer;
|
|
41
|
-
/** 是否自动滚动 */
|
|
42
|
-
private autoScroll;
|
|
43
|
-
/** 面板标题 */
|
|
44
|
-
private title;
|
|
45
|
-
/** 是否暂停 */
|
|
46
|
-
private _paused;
|
|
47
|
-
/** 过滤模式 */
|
|
48
|
-
private filterPattern;
|
|
49
|
-
/** 事件计数器(单调递增) */
|
|
50
|
-
private counter;
|
|
51
|
-
/** 环形缓冲区写入位置 */
|
|
52
|
-
private writeIndex;
|
|
53
|
-
/** 缓冲区是否已满 */
|
|
54
|
-
private bufferFull;
|
|
55
|
-
/** DOM 根元素 */
|
|
56
|
-
private element;
|
|
57
|
-
constructor(config?: EventPanelConfig);
|
|
58
|
-
/**
|
|
59
|
-
* 捕获一个事件
|
|
60
|
-
*
|
|
61
|
-
* @param name - 事件名称
|
|
62
|
-
* @param payload - 事件载荷
|
|
63
|
-
* @param sourceComponent - 来源组件名称(可选)
|
|
64
|
-
*/
|
|
65
|
-
captureEvent(name: string, payload: any, sourceComponent?: string): void;
|
|
66
|
-
/**
|
|
67
|
-
* 获取所有事件(经过过滤)
|
|
68
|
-
*
|
|
69
|
-
* @returns 过滤后的事件数组
|
|
70
|
-
*/
|
|
71
|
-
getEvents(): CapturedEvent[];
|
|
72
|
-
/**
|
|
73
|
-
* 获取所有事件(不经过过滤)
|
|
74
|
-
*
|
|
75
|
-
* @returns 全部事件数组
|
|
76
|
-
*/
|
|
77
|
-
getAllEvents(): CapturedEvent[];
|
|
78
|
-
/**
|
|
79
|
-
* 清除所有事件
|
|
80
|
-
*/
|
|
81
|
-
clear(): void;
|
|
82
|
-
/**
|
|
83
|
-
* 设置过滤模式
|
|
84
|
-
*
|
|
85
|
-
* @param pattern - 过滤字符串
|
|
86
|
-
*/
|
|
87
|
-
setFilter(pattern: string): void;
|
|
88
|
-
/**
|
|
89
|
-
* 获取当前过滤模式
|
|
90
|
-
*/
|
|
91
|
-
getFilter(): string;
|
|
92
|
-
/**
|
|
93
|
-
* 暂停事件捕获
|
|
94
|
-
*/
|
|
95
|
-
pause(): void;
|
|
96
|
-
/**
|
|
97
|
-
* 恢复事件捕获
|
|
98
|
-
*/
|
|
99
|
-
resume(): void;
|
|
100
|
-
/**
|
|
101
|
-
* 是否暂停中
|
|
102
|
-
*/
|
|
103
|
-
isPaused(): boolean;
|
|
104
|
-
/**
|
|
105
|
-
* 导出事件为 JSON 字符串
|
|
106
|
-
*
|
|
107
|
-
* @returns JSON 字符串
|
|
108
|
-
*/
|
|
109
|
-
exportJSON(): string;
|
|
110
|
-
/**
|
|
111
|
-
* 获取缓冲区中的事件总数
|
|
112
|
-
*/
|
|
113
|
-
getCount(): number;
|
|
114
|
-
/**
|
|
115
|
-
* 获取最大缓冲区大小
|
|
116
|
-
*/
|
|
117
|
-
getMaxBuffer(): number;
|
|
118
|
-
/**
|
|
119
|
-
* 渲染面板 DOM 元素
|
|
120
|
-
*
|
|
121
|
-
* @returns 面板 DOM 元素
|
|
122
|
-
*/
|
|
123
|
-
render(): HTMLElement;
|
|
124
|
-
/**
|
|
125
|
-
* 销毁面板
|
|
126
|
-
*/
|
|
127
|
-
destroy(): void;
|
|
128
|
-
}
|
|
129
|
-
//# sourceMappingURL=event-panel.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-panel.d.ts","sourceRoot":"","sources":["../../src/event-panel.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,YAAY;AACZ,MAAM,WAAW,aAAa;IAC5B,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,OAAO,EAAE,GAAG,CAAC;IACb,WAAW;IACX,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,aAAa;AACb,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qBAAqB;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD;;;;GAIG;AACH,qBAAa,UAAU;IACrB,YAAY;IACZ,OAAO,CAAC,MAAM,CAAuB;IACrC,cAAc;IACd,OAAO,CAAC,SAAS,CAAS;IAC1B,aAAa;IACb,OAAO,CAAC,UAAU,CAAU;IAC5B,WAAW;IACX,OAAO,CAAC,KAAK,CAAS;IACtB,WAAW;IACX,OAAO,CAAC,OAAO,CAAkB;IACjC,WAAW;IACX,OAAO,CAAC,aAAa,CAAc;IACnC,kBAAkB;IAClB,OAAO,CAAC,OAAO,CAAa;IAC5B,gBAAgB;IAChB,OAAO,CAAC,UAAU,CAAa;IAC/B,cAAc;IACd,OAAO,CAAC,UAAU,CAAkB;IACpC,cAAc;IACd,OAAO,CAAC,OAAO,CAA4B;gBAE/B,MAAM,CAAC,EAAE,gBAAgB;IAUrC;;;;;;OAMG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI;IAuBxE;;;;OAIG;IACH,SAAS,IAAI,aAAa,EAAE;IAiB5B;;;;OAIG;IACH,YAAY,IAAI,aAAa,EAAE;IAM/B;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;;;OAIG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIhC;;OAEG;IACH,SAAS,IAAI,MAAM;IAInB;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,MAAM,IAAI,IAAI;IAId;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;;;OAIG;IACH,UAAU,IAAI,MAAM;IAKpB;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,YAAY,IAAI,MAAM;IAQtB;;;;OAIG;IACH,MAAM,IAAI,WAAW;IAkIrB;;OAEG;IACH,OAAO,IAAI,IAAI;CAOhB"}
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lyt.js DevTools — 事件追踪器
|
|
3
|
-
*
|
|
4
|
-
* 拦截和记录所有组件事件,提供事件列表实时显示、过滤和回放功能。
|
|
5
|
-
*
|
|
6
|
-
* 核心功能:
|
|
7
|
-
* - EventTracker 类
|
|
8
|
-
* - 拦截和记录所有组件事件(事件名称、触发时间、事件参数、来源组件)
|
|
9
|
-
* - 事件列表实时显示
|
|
10
|
-
* - 事件过滤(按名称/组件)
|
|
11
|
-
* - 事件回放功能(点击事件条目显示详情)
|
|
12
|
-
*
|
|
13
|
-
* 纯原生零依赖实现。
|
|
14
|
-
*/
|
|
15
|
-
import type { DevToolsPanel } from './panel';
|
|
16
|
-
/**
|
|
17
|
-
* 事件追踪器
|
|
18
|
-
*
|
|
19
|
-
* 负责显示和过滤组件事件记录,支持事件详情查看。
|
|
20
|
-
*/
|
|
21
|
-
export declare class EventTracker {
|
|
22
|
-
/** 面板引用 */
|
|
23
|
-
private panel;
|
|
24
|
-
/** 当前内容容器 */
|
|
25
|
-
private container;
|
|
26
|
-
/** 事件名称过滤关键词 */
|
|
27
|
-
private nameFilter;
|
|
28
|
-
/** 组件名称过滤关键词 */
|
|
29
|
-
private componentFilter;
|
|
30
|
-
/** 是否暂停记录 */
|
|
31
|
-
private paused;
|
|
32
|
-
/** 当前选中的事件 ID(用于显示详情) */
|
|
33
|
-
private selectedEventId;
|
|
34
|
-
/** 更新定时器 */
|
|
35
|
-
private updateTimer;
|
|
36
|
-
/** 自动滚动定时器 */
|
|
37
|
-
private autoScrollTimer;
|
|
38
|
-
constructor(panel: DevToolsPanel);
|
|
39
|
-
/**
|
|
40
|
-
* 渲染事件追踪器到指定容器
|
|
41
|
-
*/
|
|
42
|
-
render(container: HTMLElement): void;
|
|
43
|
-
/**
|
|
44
|
-
* 渲染事件列表
|
|
45
|
-
*/
|
|
46
|
-
private renderEvents;
|
|
47
|
-
/**
|
|
48
|
-
* 渲染事件详情
|
|
49
|
-
*/
|
|
50
|
-
private renderEventDetail;
|
|
51
|
-
/**
|
|
52
|
-
* HTML 转义
|
|
53
|
-
*/
|
|
54
|
-
private escapeHtml;
|
|
55
|
-
/**
|
|
56
|
-
* 清空事件记录
|
|
57
|
-
*/
|
|
58
|
-
private clearEvents;
|
|
59
|
-
/**
|
|
60
|
-
* 设置暂停状态
|
|
61
|
-
*/
|
|
62
|
-
setPaused(paused: boolean): void;
|
|
63
|
-
/**
|
|
64
|
-
* 获取暂停状态
|
|
65
|
-
*/
|
|
66
|
-
isPaused(): boolean;
|
|
67
|
-
/**
|
|
68
|
-
* 全局更新事件处理
|
|
69
|
-
*/
|
|
70
|
-
private onUpdate;
|
|
71
|
-
/**
|
|
72
|
-
* 强制刷新
|
|
73
|
-
*/
|
|
74
|
-
refresh(): void;
|
|
75
|
-
/**
|
|
76
|
-
* 销毁追踪器
|
|
77
|
-
*/
|
|
78
|
-
destroy(): void;
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=event-tracker.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"event-tracker.d.ts","sourceRoot":"","sources":["../../src/event-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAOH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAuD7C;;;;GAIG;AACH,qBAAa,YAAY;IACvB,WAAW;IACX,OAAO,CAAC,KAAK,CAAgB;IAC7B,aAAa;IACb,OAAO,CAAC,SAAS,CAA4B;IAC7C,gBAAgB;IAChB,OAAO,CAAC,UAAU,CAAc;IAChC,gBAAgB;IAChB,OAAO,CAAC,eAAe,CAAc;IACrC,aAAa;IACb,OAAO,CAAC,MAAM,CAAkB;IAChC,yBAAyB;IACzB,OAAO,CAAC,eAAe,CAAuB;IAC9C,YAAY;IACZ,OAAO,CAAC,WAAW,CAA8C;IACjE,cAAc;IACd,OAAO,CAAC,eAAe,CAA+C;gBAE1D,KAAK,EAAE,aAAa;IAahC;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,WAAW,GAAG,IAAI;IAKpC;;OAEG;IACH,OAAO,CAAC,YAAY;IA0OpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA0FzB;;OAEG;IACH,OAAO,CAAC,UAAU;IAYlB;;OAEG;IACH,OAAO,CAAC,WAAW;IAOnB;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;IAIhC;;OAEG;IACH,QAAQ,IAAI,OAAO;IAQnB;;OAEG;IACH,OAAO,CAAC,QAAQ,CAQd;IAEF;;OAEG;IACH,OAAO,IAAI,IAAI;IAQf;;OAEG;IACH,OAAO,IAAI,IAAI;CAYhB"}
|