@agions/taroviz 1.1.1 → 1.2.1
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/README.md +324 -53
- package/dist/cjs/index.js +1 -0
- package/dist/esm/index.js +82979 -0
- package/package.json +160 -30
- package/src/__tests__/integration.test.tsx +168 -0
- package/src/adapters/__tests__/index.test.ts +91 -0
- package/src/adapters/h5/__tests__/index.test.ts +156 -0
- package/src/adapters/h5/index.ts +301 -0
- package/src/adapters/harmony/index.ts +274 -0
- package/src/adapters/index.ts +166 -0
- package/src/adapters/swan/index.ts +274 -0
- package/src/adapters/tt/index.ts +274 -0
- package/src/adapters/types.ts +162 -0
- package/src/adapters/weapp/index.ts +237 -0
- package/src/charts/bar/__tests__/index.test.tsx +113 -0
- package/src/charts/bar/index.tsx +18 -0
- package/src/charts/common/BaseChartWrapper.tsx +136 -0
- package/src/charts/funnel/index.tsx +18 -0
- package/src/charts/gauge/index.tsx +18 -0
- package/src/charts/heatmap/index.tsx +18 -0
- package/src/charts/index.ts +21 -0
- package/src/charts/line/__tests__/index.test.tsx +107 -0
- package/src/charts/line/index.tsx +18 -0
- package/src/charts/pie/__tests__/index.test.tsx +112 -0
- package/src/charts/pie/index.tsx +19 -0
- package/src/charts/radar/index.tsx +18 -0
- package/src/charts/scatter/index.tsx +18 -0
- package/src/charts/types.ts +619 -0
- package/src/charts/utils.ts +56 -0
- package/src/core/__tests__/platform.test.ts +48 -0
- package/src/core/animation/AnimationManager.ts +391 -0
- package/src/core/animation/index.ts +20 -0
- package/src/core/animation/types.ts +248 -0
- package/src/core/components/BaseChart.tsx +1313 -0
- package/src/core/components/ErrorBoundary.tsx +458 -0
- package/src/core/echarts.ts +58 -0
- package/src/core/index.ts +22 -0
- package/src/core/types/chart.ts +66 -0
- package/src/core/types/common.ts +224 -0
- package/src/core/types/index.ts +281 -0
- package/src/core/types/platform.ts +325 -0
- package/src/core/utils/__tests__/common.test.ts +52 -0
- package/src/core/utils/__tests__/environment.test.ts +94 -0
- package/src/core/utils/__tests__/i18n.test.ts +247 -0
- package/src/core/utils/__tests__/index.test.ts +219 -0
- package/src/core/utils/__tests__/uuid.test.ts +78 -0
- package/src/core/utils/chartInstances.ts +69 -0
- package/src/core/utils/codeGenerator/CodeGenerator.ts +655 -0
- package/src/core/utils/codeGenerator/index.ts +13 -0
- package/src/core/utils/codeGenerator/types.ts +198 -0
- package/src/core/utils/common.ts +58 -0
- package/src/core/utils/configGenerator/ConfigGenerator.ts +583 -0
- package/src/core/utils/configGenerator/index.ts +13 -0
- package/src/core/utils/configGenerator/types.ts +445 -0
- package/src/core/utils/debug/DebugPanel.tsx +637 -0
- package/src/core/utils/debug/debugger.ts +322 -0
- package/src/core/utils/debug/index.ts +21 -0
- package/src/core/utils/debug/types.ts +142 -0
- package/src/core/utils/i18n.ts +452 -0
- package/src/core/utils/index.ts +162 -0
- package/src/core/utils/performance/PerformanceAnalyzer.ts +586 -0
- package/src/core/utils/performance/index.ts +13 -0
- package/src/core/utils/performance/types.ts +180 -0
- package/src/core/utils/uuid.ts +30 -0
- package/src/editor/ThemeEditor.tsx +449 -0
- package/src/editor/index.ts +10 -0
- package/src/hooks/__tests__/index.test.tsx +333 -0
- package/src/hooks/index.ts +594 -0
- package/src/index.ts +75 -0
- package/src/main.tsx +247 -0
- package/src/react-dom.d.ts +7 -0
- package/src/themes/__tests__/index.test.ts +91 -0
- package/src/themes/index.ts +860 -0
- package/dist/389.index.esm.js +0 -1
- package/dist/389.index.js +0 -1
- package/dist/633.index.esm.js +0 -1
- package/dist/633.index.js +0 -1
- package/dist/967.index.esm.js +0 -1
- package/dist/967.index.js +0 -1
- package/dist/index.esm.js +0 -1
- package/dist/index.js +0 -1
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TaroViz 调试工具核心实现
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
import { DebugInfo, DebugPanelEventType } from './types';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* 调试管理器类
|
|
9
|
+
*/
|
|
10
|
+
class DebugManager {
|
|
11
|
+
private static instance: DebugManager;
|
|
12
|
+
private debugInfo: DebugInfo = {};
|
|
13
|
+
private isEnabled: boolean = false;
|
|
14
|
+
private eventHandlers: Map<string, Set<(event: any) => void>> = new Map();
|
|
15
|
+
private maxEvents: number = 100;
|
|
16
|
+
private maxErrors: number = 50;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* 私有构造函数
|
|
20
|
+
*/
|
|
21
|
+
private constructor() {
|
|
22
|
+
// 初始化调试信息
|
|
23
|
+
this.debugInfo = {
|
|
24
|
+
instance: {},
|
|
25
|
+
config: {},
|
|
26
|
+
data: {
|
|
27
|
+
series: [],
|
|
28
|
+
totalDataCount: 0,
|
|
29
|
+
currentDataCount: 0,
|
|
30
|
+
},
|
|
31
|
+
performance: {},
|
|
32
|
+
events: [],
|
|
33
|
+
errors: [],
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* 获取调试管理器实例
|
|
39
|
+
*/
|
|
40
|
+
public static getInstance(): DebugManager {
|
|
41
|
+
if (!DebugManager.instance) {
|
|
42
|
+
DebugManager.instance = new DebugManager();
|
|
43
|
+
}
|
|
44
|
+
return DebugManager.instance;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* 初始化调试器
|
|
49
|
+
*/
|
|
50
|
+
public init(): void {
|
|
51
|
+
this.isEnabled = true;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* 启用调试
|
|
56
|
+
*/
|
|
57
|
+
public enable(): void {
|
|
58
|
+
this.isEnabled = true;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* 禁用调试
|
|
63
|
+
*/
|
|
64
|
+
public disable(): void {
|
|
65
|
+
this.isEnabled = false;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* 获取调试状态
|
|
70
|
+
*/
|
|
71
|
+
public getStatus(): boolean {
|
|
72
|
+
return this.isEnabled;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* 获取调试信息
|
|
77
|
+
*/
|
|
78
|
+
public getDebugInfo(): DebugInfo {
|
|
79
|
+
return this.debugInfo;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* 更新调试信息
|
|
84
|
+
*/
|
|
85
|
+
public updateDebugInfo(info: Partial<DebugInfo>): void {
|
|
86
|
+
if (!this.isEnabled) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
this.debugInfo = {
|
|
91
|
+
...this.debugInfo,
|
|
92
|
+
...info,
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
this.emitEvent(DebugPanelEventType.INFO_UPDATE, { info });
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* 更新实例信息
|
|
100
|
+
*/
|
|
101
|
+
public updateInstanceInfo(instance: DebugInfo['instance']): void {
|
|
102
|
+
this.updateDebugInfo({ instance });
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* 更新配置信息
|
|
107
|
+
*/
|
|
108
|
+
public updateConfig(config: any): void {
|
|
109
|
+
this.updateDebugInfo({ config });
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* 更新数据信息
|
|
114
|
+
*/
|
|
115
|
+
public updateData(data: DebugInfo['data']): void {
|
|
116
|
+
this.updateDebugInfo({ data });
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* 更新性能信息
|
|
121
|
+
*/
|
|
122
|
+
public updatePerformance(performance: DebugInfo['performance']): void {
|
|
123
|
+
this.updateDebugInfo({ performance });
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* 添加事件记录
|
|
128
|
+
*/
|
|
129
|
+
public addEvent(type: string, params: any): void {
|
|
130
|
+
if (!this.isEnabled) {
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
const event = {
|
|
135
|
+
type,
|
|
136
|
+
timestamp: Date.now(),
|
|
137
|
+
params,
|
|
138
|
+
};
|
|
139
|
+
|
|
140
|
+
// 限制事件数量
|
|
141
|
+
if (this.debugInfo.events && this.debugInfo.events.length >= this.maxEvents) {
|
|
142
|
+
this.debugInfo.events.shift();
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
this.debugInfo.events = [...(this.debugInfo.events || []), event];
|
|
146
|
+
this.emitEvent(DebugPanelEventType.INFO_UPDATE, { info: this.debugInfo });
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* 添加错误记录
|
|
151
|
+
*/
|
|
152
|
+
public addError(type: string, message: string, stack?: string): void {
|
|
153
|
+
if (!this.isEnabled) {
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
const error = {
|
|
158
|
+
type,
|
|
159
|
+
message,
|
|
160
|
+
stack,
|
|
161
|
+
timestamp: Date.now(),
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
// 限制错误数量
|
|
165
|
+
if (this.debugInfo.errors && this.debugInfo.errors.length >= this.maxErrors) {
|
|
166
|
+
this.debugInfo.errors.shift();
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
this.debugInfo.errors = [...(this.debugInfo.errors || []), error];
|
|
170
|
+
this.emitEvent(DebugPanelEventType.INFO_UPDATE, { info: this.debugInfo });
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* 清空调试信息
|
|
175
|
+
*/
|
|
176
|
+
public clear(): void {
|
|
177
|
+
this.debugInfo = {
|
|
178
|
+
instance: {},
|
|
179
|
+
config: {},
|
|
180
|
+
data: {
|
|
181
|
+
series: [],
|
|
182
|
+
totalDataCount: 0,
|
|
183
|
+
currentDataCount: 0,
|
|
184
|
+
},
|
|
185
|
+
performance: {},
|
|
186
|
+
events: [],
|
|
187
|
+
errors: [],
|
|
188
|
+
};
|
|
189
|
+
this.emitEvent(DebugPanelEventType.INFO_UPDATE, { info: this.debugInfo });
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
/**
|
|
193
|
+
* 绑定事件
|
|
194
|
+
*/
|
|
195
|
+
public on(eventType: string, handler: (event: any) => void): void {
|
|
196
|
+
if (!this.eventHandlers.has(eventType)) {
|
|
197
|
+
this.eventHandlers.set(eventType, new Set());
|
|
198
|
+
}
|
|
199
|
+
this.eventHandlers.get(eventType)?.add(handler);
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* 解绑事件
|
|
204
|
+
*/
|
|
205
|
+
public off(eventType: string, handler?: (event: any) => void): void {
|
|
206
|
+
if (!handler) {
|
|
207
|
+
this.eventHandlers.delete(eventType);
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
this.eventHandlers.get(eventType)?.delete(handler);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
/**
|
|
214
|
+
* 触发事件
|
|
215
|
+
*/
|
|
216
|
+
private emitEvent(eventType: string, data: any): void {
|
|
217
|
+
const handlers = this.eventHandlers.get(eventType);
|
|
218
|
+
if (handlers) {
|
|
219
|
+
handlers.forEach((handler) => {
|
|
220
|
+
try {
|
|
221
|
+
handler(data);
|
|
222
|
+
} catch (error) {
|
|
223
|
+
console.error(`Error in debug event handler:`, error);
|
|
224
|
+
}
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
/**
|
|
230
|
+
* 设置最大事件数量
|
|
231
|
+
*/
|
|
232
|
+
public setMaxEvents(max: number): void {
|
|
233
|
+
this.maxEvents = max;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* 设置最大错误数量
|
|
238
|
+
*/
|
|
239
|
+
public setMaxErrors(max: number): void {
|
|
240
|
+
this.maxErrors = max;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
// 创建调试管理器实例
|
|
245
|
+
const debugManager = DebugManager.getInstance();
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* 初始化调试器
|
|
249
|
+
*/
|
|
250
|
+
export function initDebugger(): void {
|
|
251
|
+
debugManager.init();
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* 获取调试信息
|
|
256
|
+
*/
|
|
257
|
+
export function getDebugInfo(): DebugInfo {
|
|
258
|
+
return debugManager.getDebugInfo();
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* 更新调试信息
|
|
263
|
+
*/
|
|
264
|
+
export function updateDebugInfo(info: Partial<DebugInfo>): void {
|
|
265
|
+
debugManager.updateDebugInfo(info);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
/**
|
|
269
|
+
* 添加调试事件
|
|
270
|
+
*/
|
|
271
|
+
export function addDebugEvent(type: string, params: any): void {
|
|
272
|
+
debugManager.addEvent(type, params);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
/**
|
|
276
|
+
* 添加调试错误
|
|
277
|
+
*/
|
|
278
|
+
export function addDebugError(type: string, message: string, stack?: string): void {
|
|
279
|
+
debugManager.addError(type, message, stack);
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* 清空调试信息
|
|
284
|
+
*/
|
|
285
|
+
export function clearDebugInfo(): void {
|
|
286
|
+
debugManager.clear();
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* 启用调试
|
|
291
|
+
*/
|
|
292
|
+
export function enableDebugging(): void {
|
|
293
|
+
debugManager.enable();
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
/**
|
|
297
|
+
* 禁用调试
|
|
298
|
+
*/
|
|
299
|
+
export function disableDebugging(): void {
|
|
300
|
+
debugManager.disable();
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* 获取调试状态
|
|
305
|
+
*/
|
|
306
|
+
export function isDebuggingEnabled(): boolean {
|
|
307
|
+
return debugManager.getStatus();
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
/**
|
|
311
|
+
* 绑定调试事件
|
|
312
|
+
*/
|
|
313
|
+
export function onDebugEvent(eventType: string, handler: (event: any) => void): void {
|
|
314
|
+
debugManager.on(eventType, handler);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
/**
|
|
318
|
+
* 解绑调试事件
|
|
319
|
+
*/
|
|
320
|
+
export function offDebugEvent(eventType: string, handler?: (event: any) => void): void {
|
|
321
|
+
debugManager.off(eventType, handler);
|
|
322
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TaroViz 调试工具入口文件
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
// 导出类型定义
|
|
6
|
+
export * from './types';
|
|
7
|
+
|
|
8
|
+
// 导出调试面板组件
|
|
9
|
+
export { DebugPanel } from './DebugPanel';
|
|
10
|
+
|
|
11
|
+
// 导出调试工具函数
|
|
12
|
+
export {
|
|
13
|
+
initDebugger,
|
|
14
|
+
getDebugInfo,
|
|
15
|
+
updateDebugInfo,
|
|
16
|
+
addDebugEvent,
|
|
17
|
+
addDebugError,
|
|
18
|
+
clearDebugInfo,
|
|
19
|
+
enableDebugging,
|
|
20
|
+
disableDebugging,
|
|
21
|
+
} from './debugger';
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TaroViz 调试面板类型定义
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* 调试面板选项
|
|
7
|
+
*/
|
|
8
|
+
export interface DebugPanelOptions {
|
|
9
|
+
/**
|
|
10
|
+
* 是否启用调试面板
|
|
11
|
+
*/
|
|
12
|
+
enabled?: boolean;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* 调试面板位置
|
|
16
|
+
*/
|
|
17
|
+
position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* 调试面板宽度
|
|
21
|
+
*/
|
|
22
|
+
width?: number;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* 调试面板高度
|
|
26
|
+
*/
|
|
27
|
+
height?: number;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* 默认激活的标签页
|
|
31
|
+
*/
|
|
32
|
+
defaultTab?: DebugTabType;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* 是否自动展开
|
|
36
|
+
*/
|
|
37
|
+
autoExpand?: boolean;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* 调试标签页类型
|
|
42
|
+
*/
|
|
43
|
+
export type DebugTabType =
|
|
44
|
+
| 'instance'
|
|
45
|
+
| 'config'
|
|
46
|
+
| 'data'
|
|
47
|
+
| 'performance'
|
|
48
|
+
| 'events'
|
|
49
|
+
| 'errors'
|
|
50
|
+
| 'tools';
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* 调试信息类型
|
|
54
|
+
*/
|
|
55
|
+
export interface DebugInfo {
|
|
56
|
+
/**
|
|
57
|
+
* 图表实例信息
|
|
58
|
+
*/
|
|
59
|
+
instance?: {
|
|
60
|
+
id?: string;
|
|
61
|
+
type?: string;
|
|
62
|
+
version?: string;
|
|
63
|
+
renderer?: string;
|
|
64
|
+
width?: number;
|
|
65
|
+
height?: number;
|
|
66
|
+
platform?: string;
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* 配置信息
|
|
71
|
+
*/
|
|
72
|
+
config?: any;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* 数据信息
|
|
76
|
+
*/
|
|
77
|
+
data?: {
|
|
78
|
+
series?: any[];
|
|
79
|
+
totalDataCount?: number;
|
|
80
|
+
currentDataCount?: number;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* 性能信息
|
|
85
|
+
*/
|
|
86
|
+
performance?: {
|
|
87
|
+
initTime?: number;
|
|
88
|
+
renderTime?: number;
|
|
89
|
+
updateTime?: number;
|
|
90
|
+
dataSize?: number;
|
|
91
|
+
frameRate?: number;
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* 事件信息
|
|
96
|
+
*/
|
|
97
|
+
events?: Array<{
|
|
98
|
+
type: string;
|
|
99
|
+
timestamp: number;
|
|
100
|
+
params: any;
|
|
101
|
+
}>;
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* 错误信息
|
|
105
|
+
*/
|
|
106
|
+
errors?: Array<{
|
|
107
|
+
type: string;
|
|
108
|
+
message: string;
|
|
109
|
+
stack?: string;
|
|
110
|
+
timestamp: number;
|
|
111
|
+
}>;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* 调试面板事件类型
|
|
116
|
+
*/
|
|
117
|
+
export enum DebugPanelEventType {
|
|
118
|
+
/**
|
|
119
|
+
* 面板显示事件
|
|
120
|
+
*/
|
|
121
|
+
PANEL_SHOW = 'debugPanelShow',
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* 面板隐藏事件
|
|
125
|
+
*/
|
|
126
|
+
PANEL_HIDE = 'debugPanelHide',
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* 标签页切换事件
|
|
130
|
+
*/
|
|
131
|
+
TAB_CHANGE = 'debugPanelTabChange',
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* 调试信息更新事件
|
|
135
|
+
*/
|
|
136
|
+
INFO_UPDATE = 'debugPanelInfoUpdate',
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* 调试面板事件回调类型
|
|
141
|
+
*/
|
|
142
|
+
export type DebugPanelEventHandler = (event: { type: DebugPanelEventType; data?: any }) => void;
|