@easyv/biz-components 1.0.27 → 1.0.29

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.
Files changed (26) hide show
  1. package/dist/_virtual/index.es2.js +2 -2
  2. package/dist/_virtual/index.es3.js +2 -2
  3. package/dist/_virtual/index.es4.js +2 -2
  4. package/dist/components/code-editor/code-editor.d.ts +3 -0
  5. package/dist/components/code-editor/code-editor.es.js +49 -24
  6. package/dist/components/code-editor/code-editor.es.js.map +1 -1
  7. package/dist/components/code-editor/constants.d.ts +135 -0
  8. package/dist/components/code-editor/constants.es.js +281 -0
  9. package/dist/components/code-editor/constants.es.js.map +1 -0
  10. package/dist/components/code-editor/utils.d.ts +61 -0
  11. package/dist/components/code-editor/utils.es.js +128 -0
  12. package/dist/components/code-editor/utils.es.js.map +1 -0
  13. package/dist/hooks/use-socket-events/use-socket-events.es.js +2 -2
  14. package/dist/hooks/use-socket-events/use-socket-events.es.js.map +1 -1
  15. package/dist/node_modules/.pnpm/@codemirror_lang-javascript@6.2.1/node_modules/@codemirror/lang-javascript/dist/index.es.js +1 -1
  16. package/dist/node_modules/.pnpm/@codemirror_language@6.11.0/node_modules/@codemirror/language/dist/index.es.js +2 -2
  17. package/dist/node_modules/.pnpm/@codemirror_view@6.38.0/node_modules/@codemirror/view/dist/index.es.js +1 -1
  18. package/dist/node_modules/.pnpm/acorn-walk@8.3.4/node_modules/acorn-walk/dist/walk.es.js +297 -0
  19. package/dist/node_modules/.pnpm/acorn-walk@8.3.4/node_modules/acorn-walk/dist/walk.es.js.map +1 -0
  20. package/dist/node_modules/.pnpm/classnames@2.3.2/node_modules/classnames/index.es.js +1 -1
  21. package/dist/node_modules/.pnpm/co-web-worker@1.0.1/node_modules/co-web-worker/index.es.js +1 -1
  22. package/dist/node_modules/.pnpm/prop-types@15.8.1/node_modules/prop-types/index.es.js +1 -1
  23. package/dist/stats.html +1 -1
  24. package/dist/utils/vosk-browser-manager/vosk-browser-manager.d.ts +2 -0
  25. package/dist/utils/vosk-browser-manager/vosk-browser-manager.es.js.map +1 -1
  26. package/package.json +5 -5
@@ -0,0 +1,128 @@
1
+ import { parse } from "../../node_modules/.pnpm/acorn@8.15.0/node_modules/acorn/dist/acorn.es.js";
2
+ import { simple } from "../../node_modules/.pnpm/acorn-walk@8.3.4/node_modules/acorn-walk/dist/walk.es.js";
3
+ import { LINT_CONFIG, nodeGlobals, browserGlobals, ERROR_MESSAGES, DIAGNOSTIC_SEVERITY } from "./constants.es.js";
4
+ const getGlobalDefinitions = (environment) => {
5
+ return environment === "node" ? nodeGlobals : browserGlobals;
6
+ };
7
+ const collectVariableDeclarations = (ast) => {
8
+ const declaredVars = /* @__PURE__ */ new Map();
9
+ simple(ast, {
10
+ // 处理变量声明
11
+ VariableDeclarator(node) {
12
+ if (node.id && node.id.type === "Identifier") {
13
+ declaredVars.set(node.id.name, {
14
+ line: node.id.loc.start.line,
15
+ column: node.id.loc.start.column,
16
+ used: false
17
+ });
18
+ }
19
+ },
20
+ // 处理函数声明
21
+ FunctionDeclaration(node) {
22
+ if (node.id && node.id.type === "Identifier") {
23
+ declaredVars.set(node.id.name, {
24
+ line: node.id.loc.start.line,
25
+ column: node.id.loc.start.column,
26
+ used: false
27
+ });
28
+ }
29
+ }
30
+ });
31
+ return declaredVars;
32
+ };
33
+ const checkVariableUsageAndMethods = (ast, declaredVars, globals, view) => {
34
+ const diagnostics = [];
35
+ simple(ast, {
36
+ Identifier(node) {
37
+ if (declaredVars.has(node.name)) {
38
+ const varInfo = declaredVars.get(node.name);
39
+ varInfo.used = true;
40
+ }
41
+ },
42
+ MemberExpression(node) {
43
+ if (node.object && node.property && !node.computed) {
44
+ const objectName = node.object.name;
45
+ const propertyName = node.property.name;
46
+ if (objectName && propertyName && objectName in globals && typeof globals[objectName] === "object") {
47
+ const methods = globals[objectName];
48
+ if (!methods[propertyName]) {
49
+ const line = view.state.doc.line(node.property.loc.start.line);
50
+ const from = line.from + node.property.loc.start.column;
51
+ const to = from + propertyName.length;
52
+ diagnostics.push({
53
+ from,
54
+ to,
55
+ severity: DIAGNOSTIC_SEVERITY.WARNING,
56
+ message: ERROR_MESSAGES.METHOD_NOT_EXIST(objectName, propertyName)
57
+ });
58
+ }
59
+ }
60
+ }
61
+ }
62
+ });
63
+ return diagnostics;
64
+ };
65
+ const checkUnusedVariables = (declaredVars, view) => {
66
+ const diagnostics = [];
67
+ for (const [varName, varInfo] of declaredVars) {
68
+ if (!varInfo.used) {
69
+ const line = view.state.doc.line(varInfo.line);
70
+ const from = line.from + varInfo.column;
71
+ const to = from + varName.length;
72
+ diagnostics.push({
73
+ from,
74
+ to,
75
+ severity: DIAGNOSTIC_SEVERITY.WARNING,
76
+ message: ERROR_MESSAGES.UNUSED_VARIABLE(varName)
77
+ });
78
+ }
79
+ }
80
+ return diagnostics;
81
+ };
82
+ const handleSyntaxError = (error, view) => {
83
+ const { loc, message } = error;
84
+ console.log(`%c ❤️ love ==== js lint error:`, LINT_CONFIG.CONSOLE_STYLES.ERROR, { error });
85
+ console.dir(error);
86
+ const errorMsg = ERROR_MESSAGES.SYNTAX_ERROR(loc.line, loc.column, message);
87
+ const line = view.state.doc.line(loc.line);
88
+ const from = line.from + loc.column - 1;
89
+ const to = Math.min(from + 1, line.to);
90
+ return [
91
+ {
92
+ from,
93
+ to,
94
+ severity: DIAGNOSTIC_SEVERITY.ERROR,
95
+ message: errorMsg
96
+ }
97
+ ];
98
+ };
99
+ const lintJavaScriptCode = (code, environment, view) => {
100
+ const diagnostics = [];
101
+ try {
102
+ const ast = parse(code, { ecmaVersion: LINT_CONFIG.ECMA_VERSION, locations: true });
103
+ const globals = getGlobalDefinitions(environment);
104
+ const declaredVars = collectVariableDeclarations(ast);
105
+ const usageAndMethodDiagnostics = checkVariableUsageAndMethods(
106
+ ast,
107
+ declaredVars,
108
+ globals,
109
+ view
110
+ );
111
+ diagnostics.push(...usageAndMethodDiagnostics);
112
+ const unusedVariableDiagnostics = checkUnusedVariables(declaredVars, view);
113
+ diagnostics.push(...unusedVariableDiagnostics);
114
+ } catch (error) {
115
+ const syntaxErrorDiagnostics = handleSyntaxError(error, view);
116
+ diagnostics.push(...syntaxErrorDiagnostics);
117
+ }
118
+ return diagnostics;
119
+ };
120
+ export {
121
+ checkUnusedVariables,
122
+ checkVariableUsageAndMethods,
123
+ collectVariableDeclarations,
124
+ getGlobalDefinitions,
125
+ handleSyntaxError,
126
+ lintJavaScriptCode
127
+ };
128
+ //# sourceMappingURL=utils.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.es.js","sources":["../../../src/components/code-editor/utils.ts"],"sourcesContent":["import { Diagnostic } from '@codemirror/lint';\nimport { EditorView } from '@codemirror/view';\nimport * as acorn from 'acorn';\nimport { simple as walk } from 'acorn-walk';\nimport {\n browserGlobals,\n DIAGNOSTIC_SEVERITY,\n ERROR_MESSAGES,\n LINT_CONFIG,\n nodeGlobals,\n} from './constants';\n\n// 获取全局变量定义 - 基于 TypeScript 类型定义\nexport const getGlobalDefinitions = (environment: 'browser' | 'node') => {\n return environment === 'node' ? nodeGlobals : browserGlobals;\n};\n\n// 变量信息接口\nexport interface VariableInfo {\n line: number;\n column: number;\n used: boolean;\n}\n\n// 收集变量声明\nexport const collectVariableDeclarations = (ast: any): Map<string, VariableInfo> => {\n const declaredVars = new Map<string, VariableInfo>();\n\n walk(ast, {\n // 处理变量声明\n VariableDeclarator(node: any) {\n if (node.id && node.id.type === 'Identifier') {\n declaredVars.set(node.id.name, {\n line: node.id.loc.start.line,\n column: node.id.loc.start.column,\n used: false,\n });\n }\n },\n // 处理函数声明\n FunctionDeclaration(node: any) {\n if (node.id && node.id.type === 'Identifier') {\n declaredVars.set(node.id.name, {\n line: node.id.loc.start.line,\n column: node.id.loc.start.column,\n used: false,\n });\n }\n },\n });\n\n return declaredVars;\n};\n\n// 检查变量使用和方法调用\nexport const checkVariableUsageAndMethods = (\n ast: any,\n declaredVars: Map<string, VariableInfo>,\n globals: any,\n view: EditorView,\n): Diagnostic[] => {\n const diagnostics: Diagnostic[] = [];\n\n walk(ast, {\n Identifier(node: any) {\n if (declaredVars.has(node.name)) {\n const varInfo = declaredVars.get(node.name)!;\n varInfo.used = true;\n }\n },\n MemberExpression(node: any) {\n // 检测方法调用是否存在\n if (node.object && node.property && !node.computed) {\n const objectName = node.object.name;\n const propertyName = node.property.name;\n\n // 检查全局对象的方法\n if (\n objectName &&\n propertyName &&\n objectName in globals &&\n typeof globals[objectName as keyof typeof globals] === 'object'\n ) {\n const methods = globals[objectName as keyof typeof globals] as Record<string, boolean>;\n if (!methods[propertyName]) {\n const line = view.state.doc.line(node.property.loc.start.line);\n const from = line.from + node.property.loc.start.column;\n const to = from + propertyName.length;\n\n diagnostics.push({\n from,\n to,\n severity: DIAGNOSTIC_SEVERITY.WARNING,\n message: ERROR_MESSAGES.METHOD_NOT_EXIST(objectName, propertyName),\n });\n }\n }\n }\n },\n });\n\n return diagnostics;\n};\n\n// 检查未使用的变量\nexport const checkUnusedVariables = (\n declaredVars: Map<string, VariableInfo>,\n view: EditorView,\n): Diagnostic[] => {\n const diagnostics: Diagnostic[] = [];\n\n for (const [varName, varInfo] of declaredVars) {\n if (!varInfo.used) {\n const line = view.state.doc.line(varInfo.line);\n const from = line.from + varInfo.column;\n const to = from + varName.length;\n\n diagnostics.push({\n from,\n to,\n severity: DIAGNOSTIC_SEVERITY.WARNING,\n message: ERROR_MESSAGES.UNUSED_VARIABLE(varName),\n });\n }\n }\n\n return diagnostics;\n};\n\n// 处理语法错误\nexport const handleSyntaxError = (error: any, view: EditorView): Diagnostic[] => {\n const { loc, message } = error;\n console.log(`%c ❤️ love ==== js lint error:`, LINT_CONFIG.CONSOLE_STYLES.ERROR, { error });\n console.dir(error);\n const errorMsg = ERROR_MESSAGES.SYNTAX_ERROR(loc.line, loc.column, message);\n\n // 将行列号转换为 CodeMirror 需要的字符位置\n const line = view.state.doc.line(loc.line);\n const from = line.from + loc.column - 1; // loc.column 是基于 1 的,需要减 1\n const to = Math.min(from + 1, line.to); // 确保不超过行尾\n\n return [\n {\n from,\n to,\n severity: DIAGNOSTIC_SEVERITY.ERROR,\n message: errorMsg,\n },\n ];\n};\n\n// JavaScript代码语法检查主函数\nexport const lintJavaScriptCode = (\n code: string,\n environment: 'browser' | 'node',\n view: EditorView,\n): Diagnostic[] => {\n const diagnostics: Diagnostic[] = [];\n\n try {\n const ast = acorn.parse(code, { ecmaVersion: LINT_CONFIG.ECMA_VERSION, locations: true });\n const globals = getGlobalDefinitions(environment);\n\n // 收集变量声明\n const declaredVars = collectVariableDeclarations(ast);\n\n // 检查变量使用和方法调用\n const usageAndMethodDiagnostics = checkVariableUsageAndMethods(\n ast,\n declaredVars,\n globals,\n view,\n );\n diagnostics.push(...usageAndMethodDiagnostics);\n\n // 检查未使用的变量\n const unusedVariableDiagnostics = checkUnusedVariables(declaredVars, view);\n diagnostics.push(...unusedVariableDiagnostics);\n } catch (error: any) {\n const syntaxErrorDiagnostics = handleSyntaxError(error, view);\n diagnostics.push(...syntaxErrorDiagnostics);\n }\n\n return diagnostics;\n};\n"],"names":["walk","acorn.parse"],"mappings":"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"}
@@ -58,7 +58,7 @@ function useSocketEvents(props) {
58
58
  const socket = socketRef.current;
59
59
  useEffect(() => {
60
60
  function broadcastCallback(data) {
61
- var _a, _b;
61
+ var _a, _b, _c;
62
62
  const roomId = (_a = data == null ? void 0 : data.data) == null ? void 0 : _a.roomId;
63
63
  if (roomId) {
64
64
  const id = (socket == null ? void 0 : socket.auth)["custom-socket-id"];
@@ -66,7 +66,7 @@ function useSocketEvents(props) {
66
66
  messageWindowByType[roomId] = [];
67
67
  }
68
68
  if (!((_b = messageWindowByType[roomId]) == null ? void 0 : _b.includes(id))) {
69
- messageWindowByType[roomId].push(id);
69
+ (_c = messageWindowByType[roomId]) == null ? void 0 : _c.push(id);
70
70
  (socket == null ? void 0 : socket.auth)["room-offset-map"][roomId] = id;
71
71
  }
72
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use-socket-events.es.js","sources":["../../../src/hooks/use-socket-events/use-socket-events.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { useMemoizedFn } from 'ahooks';\nimport { isNil } from 'lodash-es';\nimport { type Manager, type Socket } from 'socket.io-client';\nimport {\n EXPLICIT_DISCONNECT_REASON,\n MAX_TIMEOUT,\n messageWindowByType,\n socketBroadcastMessageList,\n SocketEventType,\n socketNormalMessageList,\n} from './constant';\nimport { AuthConfig, BroadcastData, SocketEventData, SocketOnErrorData } from './types';\n\nconst generateId = () => {\n return Math.random().toString().slice(2, 20);\n};\n\ninterface UseSocketDataCommonProps {\n basename: string;\n SocketManager: typeof Manager;\n host?: string;\n onBroadcast?: (dataAndType: BroadcastData) => void;\n onSocketEvent?: (dataAndType: SocketEventData) => void;\n onError?: (data: SocketOnErrorData) => void;\n}\ninterface UserIdProps {\n spaceId: number;\n userId?: number;\n}\ninterface GuestSocketIdProps {\n guestToken: string;\n}\ntype UseSocketDataProps = UseSocketDataCommonProps & (UserIdProps | GuestSocketIdProps);\n\nexport function useSocketEvents(props: UseSocketDataProps): Socket | null {\n const {\n basename,\n host,\n SocketManager,\n onBroadcast: propsOnBroadcast,\n onSocketEvent: propsOnSocketEvent,\n onError: propsOnError,\n } = props;\n const userId = (props as UserIdProps).userId;\n const spaceId = (props as UserIdProps).spaceId;\n const guestToken = (props as GuestSocketIdProps).guestToken;\n\n const refTimeout = useRef<NodeJS.Timeout | null>(null);\n const onBroadcast = useMemoizedFn((data: BroadcastData) => propsOnBroadcast?.(data));\n const onSocketEvent = useMemoizedFn((data: SocketEventData) => propsOnSocketEvent?.(data));\n const onError = useMemoizedFn((data: SocketOnErrorData) => propsOnError?.(data));\n const socketRef = useRef<Socket | null>(null);\n\n useEffect(() => {\n if (guestToken === '') {\n onError?.({\n type: 'connectError',\n errorMsg: 'guestToken 为空字符串,无法连接进入会话房间!',\n });\n return;\n }\n if (isNil(userId) && !guestToken) {\n onError?.({\n type: 'connectError',\n errorMsg: 'userId 为空,无法连接进入会话房间!',\n });\n return;\n }\n\n const customSocketId = guestToken ? `guest-${generateId()}` : `${userId}-${generateId()}`;\n socketRef.current?.disconnect();\n socketRef.current = new SocketManager(host || window.location.origin, {\n transports: ['websocket'],\n forceNew: false,\n path: `${basename}/socket/easyv-mps`,\n reconnectionDelay: 5000,\n reconnectionDelayMax: 10000,\n }).socket('/easyv-mps', {\n auth: {\n 'custom-socket-id': customSocketId,\n 'space-id': spaceId || 0,\n 'guest-token': guestToken || '',\n 'room-offset-map': messageWindowByType,\n },\n });\n }, [SocketManager, basename, guestToken, host, onError, spaceId, userId]);\n\n const socket = socketRef.current;\n\n useEffect(() => {\n function broadcastCallback(data: { data: { roomId: string } }) {\n const roomId = data?.data?.roomId;\n if (roomId) {\n const id = (socket?.auth as AuthConfig)['custom-socket-id'];\n if (!messageWindowByType[roomId]) {\n messageWindowByType[roomId] = [];\n }\n if (!messageWindowByType[roomId]?.includes(id)) {\n // 重复消息过滤\n messageWindowByType[roomId].push(id);\n (socket?.auth as AuthConfig)['room-offset-map'][roomId] = id;\n }\n }\n }\n\n socketNormalMessageList.forEach((item) => {\n socket?.on(item, (data) => {\n onBroadcast?.({ data, eventType: item });\n });\n });\n socketBroadcastMessageList.forEach((item) => {\n socket?.on(item, (data) => {\n broadcastCallback({\n data,\n });\n onBroadcast?.({ data, eventType: item });\n });\n });\n\n socket?.on('connect', () => {\n if (socket?.connected) {\n onSocketEvent?.({ data: undefined, eventType: SocketEventType.CONNECT });\n // 清理定时任务\n clearDelayer(refTimeout.current);\n } else {\n onSocketEvent?.({ data: undefined, eventType: SocketEventType.CONNECT_ERROR });\n }\n });\n\n socket?.on('reconnect', (reason) => {\n // 断开\n onSocketEvent?.({ data: undefined, eventType: SocketEventType.RECONNECT });\n if (EXPLICIT_DISCONNECT_REASON.has(reason)) {\n // 意外断开,启动一个定时器,规定时间内没重新连上就弹框,要求客户刷新页面\n clearDelayer(refTimeout.current);\n refTimeout.current = setTimeout(() => {\n // 连接超时\n onSocketEvent?.({ data: undefined, eventType: SocketEventType.CONNECT_TIMEOUT });\n }, MAX_TIMEOUT);\n }\n console.log('重连成功');\n });\n socket?.on('connect_error', (error) => {\n onSocketEvent?.({\n data: { success: false, data: error },\n eventType: SocketEventType.CONNECT_ERROR,\n });\n onError?.({ type: 'connectError', errorMsg: error.message });\n });\n return () => {\n // 主动断开\n if (socket?.connected) {\n socket?.close();\n }\n };\n }, [onBroadcast, onError, onSocketEvent, socket]);\n\n return socket;\n}\n\n/**\n * clear timeout util\n * */\nfunction clearDelayer(timeoutId: NodeJS.Timeout | null) {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-socket-events.es.js","sources":["../../../src/hooks/use-socket-events/use-socket-events.ts"],"sourcesContent":["import { useEffect, useRef } from 'react';\nimport { useMemoizedFn } from 'ahooks';\nimport { isNil } from 'lodash-es';\nimport { type Manager, type Socket } from 'socket.io-client';\nimport {\n EXPLICIT_DISCONNECT_REASON,\n MAX_TIMEOUT,\n messageWindowByType,\n socketBroadcastMessageList,\n SocketEventType,\n socketNormalMessageList,\n} from './constant';\nimport { AuthConfig, BroadcastData, SocketEventData, SocketOnErrorData } from './types';\n\nconst generateId = () => {\n return Math.random().toString().slice(2, 20);\n};\n\ninterface UseSocketDataCommonProps {\n basename: string;\n SocketManager: typeof Manager;\n host?: string;\n onBroadcast?: (dataAndType: BroadcastData) => void;\n onSocketEvent?: (dataAndType: SocketEventData) => void;\n onError?: (data: SocketOnErrorData) => void;\n}\ninterface UserIdProps {\n spaceId: number;\n userId?: number;\n}\ninterface GuestSocketIdProps {\n guestToken: string;\n}\ntype UseSocketDataProps = UseSocketDataCommonProps & (UserIdProps | GuestSocketIdProps);\n\nexport function useSocketEvents(props: UseSocketDataProps): Socket | null {\n const {\n basename,\n host,\n SocketManager,\n onBroadcast: propsOnBroadcast,\n onSocketEvent: propsOnSocketEvent,\n onError: propsOnError,\n } = props;\n const userId = (props as UserIdProps).userId;\n const spaceId = (props as UserIdProps).spaceId;\n const guestToken = (props as GuestSocketIdProps).guestToken;\n\n const refTimeout = useRef<NodeJS.Timeout | null>(null);\n const onBroadcast = useMemoizedFn((data: BroadcastData) => propsOnBroadcast?.(data));\n const onSocketEvent = useMemoizedFn((data: SocketEventData) => propsOnSocketEvent?.(data));\n const onError = useMemoizedFn((data: SocketOnErrorData) => propsOnError?.(data));\n const socketRef = useRef<Socket | null>(null);\n\n useEffect(() => {\n if (guestToken === '') {\n onError?.({\n type: 'connectError',\n errorMsg: 'guestToken 为空字符串,无法连接进入会话房间!',\n });\n return;\n }\n if (isNil(userId) && !guestToken) {\n onError?.({\n type: 'connectError',\n errorMsg: 'userId 为空,无法连接进入会话房间!',\n });\n return;\n }\n\n const customSocketId = guestToken ? `guest-${generateId()}` : `${userId}-${generateId()}`;\n socketRef.current?.disconnect();\n socketRef.current = new SocketManager(host || window.location.origin, {\n transports: ['websocket'],\n forceNew: false,\n path: `${basename}/socket/easyv-mps`,\n reconnectionDelay: 5000,\n reconnectionDelayMax: 10000,\n }).socket('/easyv-mps', {\n auth: {\n 'custom-socket-id': customSocketId,\n 'space-id': spaceId || 0,\n 'guest-token': guestToken || '',\n 'room-offset-map': messageWindowByType,\n },\n });\n }, [SocketManager, basename, guestToken, host, onError, spaceId, userId]);\n\n const socket = socketRef.current;\n\n useEffect(() => {\n function broadcastCallback(data: { data: { roomId: string } }) {\n const roomId = data?.data?.roomId;\n if (roomId) {\n const id = (socket?.auth as AuthConfig)['custom-socket-id'];\n if (!messageWindowByType[roomId]) {\n messageWindowByType[roomId] = [];\n }\n if (!messageWindowByType[roomId]?.includes(id)) {\n // 重复消息过滤\n messageWindowByType[roomId]?.push(id);\n (socket?.auth as AuthConfig)['room-offset-map'][roomId] = id;\n }\n }\n }\n\n socketNormalMessageList.forEach((item) => {\n socket?.on(item, (data) => {\n onBroadcast?.({ data, eventType: item });\n });\n });\n socketBroadcastMessageList.forEach((item) => {\n socket?.on(item, (data) => {\n broadcastCallback({\n data,\n });\n onBroadcast?.({ data, eventType: item });\n });\n });\n\n socket?.on('connect', () => {\n if (socket?.connected) {\n onSocketEvent?.({ data: undefined, eventType: SocketEventType.CONNECT });\n // 清理定时任务\n clearDelayer(refTimeout.current);\n } else {\n onSocketEvent?.({ data: undefined, eventType: SocketEventType.CONNECT_ERROR });\n }\n });\n\n socket?.on('reconnect', (reason) => {\n // 断开\n onSocketEvent?.({ data: undefined, eventType: SocketEventType.RECONNECT });\n if (EXPLICIT_DISCONNECT_REASON.has(reason)) {\n // 意外断开,启动一个定时器,规定时间内没重新连上就弹框,要求客户刷新页面\n clearDelayer(refTimeout.current);\n refTimeout.current = setTimeout(() => {\n // 连接超时\n onSocketEvent?.({ data: undefined, eventType: SocketEventType.CONNECT_TIMEOUT });\n }, MAX_TIMEOUT);\n }\n console.log('重连成功');\n });\n socket?.on('connect_error', (error) => {\n onSocketEvent?.({\n data: { success: false, data: error },\n eventType: SocketEventType.CONNECT_ERROR,\n });\n onError?.({ type: 'connectError', errorMsg: error.message });\n });\n return () => {\n // 主动断开\n if (socket?.connected) {\n socket?.close();\n }\n };\n }, [onBroadcast, onError, onSocketEvent, socket]);\n\n return socket;\n}\n\n/**\n * clear timeout util\n * */\nfunction clearDelayer(timeoutId: NodeJS.Timeout | null) {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { parser } from "../../../../../@lezer_javascript@1.4.21/node_modules/@lezer/javascript/dist/index.es.js";
2
- import { LanguageSupport, LRLanguage, sublanguageProp, defineLanguageFacet, indentNodeProp, foldNodeProp, continuedIndent, delimitedIndent, flatIndent, foldInside, syntaxTree } from "../../../../../@codemirror_language@6.11.0/node_modules/@codemirror/language/dist/index.es.js";
2
+ import { LRLanguage, LanguageSupport, indentNodeProp, foldNodeProp, continuedIndent, delimitedIndent, flatIndent, foldInside, sublanguageProp, defineLanguageFacet, syntaxTree } from "../../../../../@codemirror_language@6.11.0/node_modules/@codemirror/language/dist/index.es.js";
3
3
  import { EditorSelection } from "../../../../../@codemirror_state@6.5.2/node_modules/@codemirror/state/dist/index.es.js";
4
4
  import { EditorView } from "../../../../../@codemirror_view@6.38.0/node_modules/@codemirror/view/dist/index.es.js";
5
5
  import { snippetCompletion, ifNotIn, completeFromList } from "../../../../../@codemirror_autocomplete@6.11.0_@codemirror_language@6.11.0_@codemirror_state@6.5.2_@co_f627118f465fbcaad567121946d7b883/node_modules/@codemirror/autocomplete/dist/index.es.js";
@@ -1,6 +1,6 @@
1
1
  import { NodeProp, Tree, IterMode, TreeFragment, Parser, NodeType } from "../../../../../@lezer_common@1.2.3/node_modules/@lezer/common/dist/index.es.js";
2
- import { Facet, EditorState, Prec, StateEffect, StateField, RangeSetBuilder, RangeSet, countColumn, combineConfig } from "../../../../../@codemirror_state@6.5.2/node_modules/@codemirror/state/dist/index.es.js";
3
- import { EditorView, ViewPlugin, logException, gutter, Decoration, GutterMarker, WidgetType, Direction } from "../../../../../@codemirror_view@6.38.0/node_modules/@codemirror/view/dist/index.es.js";
2
+ import { EditorState, Facet, Prec, StateEffect, StateField, RangeSetBuilder, RangeSet, countColumn, combineConfig } from "../../../../../@codemirror_state@6.5.2/node_modules/@codemirror/state/dist/index.es.js";
3
+ import { ViewPlugin, EditorView, logException, gutter, Decoration, GutterMarker, WidgetType, Direction } from "../../../../../@codemirror_view@6.38.0/node_modules/@codemirror/view/dist/index.es.js";
4
4
  import { tagHighlighter, tags, highlightTree, styleTags } from "../../../../../@lezer_highlight@1.2.1/node_modules/@lezer/highlight/dist/index.es.js";
5
5
  import { StyleModule } from "../../../../../style-mod@4.1.2/node_modules/style-mod/src/style-mod.es.js";
6
6
  var _a;
@@ -1,4 +1,4 @@
1
- import { EditorState, StateEffect, Facet, Transaction, Annotation, EditorSelection, Prec, RangeSet, StateField, MapMode, Text, ChangeSet, findClusterBreak, RangeValue, findColumn, codePointAt, codePointSize, combineConfig, countColumn, RangeSetBuilder, CharCategory } from "../../../../../@codemirror_state@6.5.2/node_modules/@codemirror/state/dist/index.es.js";
1
+ import { EditorState, StateEffect, Facet, Transaction, Annotation, EditorSelection, Prec, RangeSet, StateField, MapMode, RangeValue, Text, ChangeSet, findClusterBreak, findColumn, codePointAt, codePointSize, combineConfig, countColumn, RangeSetBuilder, CharCategory } from "../../../../../@codemirror_state@6.5.2/node_modules/@codemirror/state/dist/index.es.js";
2
2
  import { StyleModule } from "../../../../../style-mod@4.1.2/node_modules/style-mod/src/style-mod.es.js";
3
3
  import { keyName, base, shift } from "../../../../../w3c-keyname@2.2.8/node_modules/w3c-keyname/index.es.js";
4
4
  function getSelection(root) {
@@ -0,0 +1,297 @@
1
+ function simple(node, visitors, baseVisitor, state, override) {
2
+ if (!baseVisitor) {
3
+ baseVisitor = base;
4
+ }
5
+ (function c(node2, st, override2) {
6
+ var type = override2 || node2.type;
7
+ baseVisitor[type](node2, st, c);
8
+ if (visitors[type]) {
9
+ visitors[type](node2, st);
10
+ }
11
+ })(node, state, override);
12
+ }
13
+ function skipThrough(node, st, c) {
14
+ c(node, st);
15
+ }
16
+ function ignore(_node, _st, _c) {
17
+ }
18
+ var base = {};
19
+ base.Program = base.BlockStatement = base.StaticBlock = function(node, st, c) {
20
+ for (var i = 0, list = node.body; i < list.length; i += 1) {
21
+ var stmt = list[i];
22
+ c(stmt, st, "Statement");
23
+ }
24
+ };
25
+ base.Statement = skipThrough;
26
+ base.EmptyStatement = ignore;
27
+ base.ExpressionStatement = base.ParenthesizedExpression = base.ChainExpression = function(node, st, c) {
28
+ return c(node.expression, st, "Expression");
29
+ };
30
+ base.IfStatement = function(node, st, c) {
31
+ c(node.test, st, "Expression");
32
+ c(node.consequent, st, "Statement");
33
+ if (node.alternate) {
34
+ c(node.alternate, st, "Statement");
35
+ }
36
+ };
37
+ base.LabeledStatement = function(node, st, c) {
38
+ return c(node.body, st, "Statement");
39
+ };
40
+ base.BreakStatement = base.ContinueStatement = ignore;
41
+ base.WithStatement = function(node, st, c) {
42
+ c(node.object, st, "Expression");
43
+ c(node.body, st, "Statement");
44
+ };
45
+ base.SwitchStatement = function(node, st, c) {
46
+ c(node.discriminant, st, "Expression");
47
+ for (var i = 0, list = node.cases; i < list.length; i += 1) {
48
+ var cs = list[i];
49
+ c(cs, st);
50
+ }
51
+ };
52
+ base.SwitchCase = function(node, st, c) {
53
+ if (node.test) {
54
+ c(node.test, st, "Expression");
55
+ }
56
+ for (var i = 0, list = node.consequent; i < list.length; i += 1) {
57
+ var cons = list[i];
58
+ c(cons, st, "Statement");
59
+ }
60
+ };
61
+ base.ReturnStatement = base.YieldExpression = base.AwaitExpression = function(node, st, c) {
62
+ if (node.argument) {
63
+ c(node.argument, st, "Expression");
64
+ }
65
+ };
66
+ base.ThrowStatement = base.SpreadElement = function(node, st, c) {
67
+ return c(node.argument, st, "Expression");
68
+ };
69
+ base.TryStatement = function(node, st, c) {
70
+ c(node.block, st, "Statement");
71
+ if (node.handler) {
72
+ c(node.handler, st);
73
+ }
74
+ if (node.finalizer) {
75
+ c(node.finalizer, st, "Statement");
76
+ }
77
+ };
78
+ base.CatchClause = function(node, st, c) {
79
+ if (node.param) {
80
+ c(node.param, st, "Pattern");
81
+ }
82
+ c(node.body, st, "Statement");
83
+ };
84
+ base.WhileStatement = base.DoWhileStatement = function(node, st, c) {
85
+ c(node.test, st, "Expression");
86
+ c(node.body, st, "Statement");
87
+ };
88
+ base.ForStatement = function(node, st, c) {
89
+ if (node.init) {
90
+ c(node.init, st, "ForInit");
91
+ }
92
+ if (node.test) {
93
+ c(node.test, st, "Expression");
94
+ }
95
+ if (node.update) {
96
+ c(node.update, st, "Expression");
97
+ }
98
+ c(node.body, st, "Statement");
99
+ };
100
+ base.ForInStatement = base.ForOfStatement = function(node, st, c) {
101
+ c(node.left, st, "ForInit");
102
+ c(node.right, st, "Expression");
103
+ c(node.body, st, "Statement");
104
+ };
105
+ base.ForInit = function(node, st, c) {
106
+ if (node.type === "VariableDeclaration") {
107
+ c(node, st);
108
+ } else {
109
+ c(node, st, "Expression");
110
+ }
111
+ };
112
+ base.DebuggerStatement = ignore;
113
+ base.FunctionDeclaration = function(node, st, c) {
114
+ return c(node, st, "Function");
115
+ };
116
+ base.VariableDeclaration = function(node, st, c) {
117
+ for (var i = 0, list = node.declarations; i < list.length; i += 1) {
118
+ var decl = list[i];
119
+ c(decl, st);
120
+ }
121
+ };
122
+ base.VariableDeclarator = function(node, st, c) {
123
+ c(node.id, st, "Pattern");
124
+ if (node.init) {
125
+ c(node.init, st, "Expression");
126
+ }
127
+ };
128
+ base.Function = function(node, st, c) {
129
+ if (node.id) {
130
+ c(node.id, st, "Pattern");
131
+ }
132
+ for (var i = 0, list = node.params; i < list.length; i += 1) {
133
+ var param = list[i];
134
+ c(param, st, "Pattern");
135
+ }
136
+ c(node.body, st, node.expression ? "Expression" : "Statement");
137
+ };
138
+ base.Pattern = function(node, st, c) {
139
+ if (node.type === "Identifier") {
140
+ c(node, st, "VariablePattern");
141
+ } else if (node.type === "MemberExpression") {
142
+ c(node, st, "MemberPattern");
143
+ } else {
144
+ c(node, st);
145
+ }
146
+ };
147
+ base.VariablePattern = ignore;
148
+ base.MemberPattern = skipThrough;
149
+ base.RestElement = function(node, st, c) {
150
+ return c(node.argument, st, "Pattern");
151
+ };
152
+ base.ArrayPattern = function(node, st, c) {
153
+ for (var i = 0, list = node.elements; i < list.length; i += 1) {
154
+ var elt = list[i];
155
+ if (elt) {
156
+ c(elt, st, "Pattern");
157
+ }
158
+ }
159
+ };
160
+ base.ObjectPattern = function(node, st, c) {
161
+ for (var i = 0, list = node.properties; i < list.length; i += 1) {
162
+ var prop = list[i];
163
+ if (prop.type === "Property") {
164
+ if (prop.computed) {
165
+ c(prop.key, st, "Expression");
166
+ }
167
+ c(prop.value, st, "Pattern");
168
+ } else if (prop.type === "RestElement") {
169
+ c(prop.argument, st, "Pattern");
170
+ }
171
+ }
172
+ };
173
+ base.Expression = skipThrough;
174
+ base.ThisExpression = base.Super = base.MetaProperty = ignore;
175
+ base.ArrayExpression = function(node, st, c) {
176
+ for (var i = 0, list = node.elements; i < list.length; i += 1) {
177
+ var elt = list[i];
178
+ if (elt) {
179
+ c(elt, st, "Expression");
180
+ }
181
+ }
182
+ };
183
+ base.ObjectExpression = function(node, st, c) {
184
+ for (var i = 0, list = node.properties; i < list.length; i += 1) {
185
+ var prop = list[i];
186
+ c(prop, st);
187
+ }
188
+ };
189
+ base.FunctionExpression = base.ArrowFunctionExpression = base.FunctionDeclaration;
190
+ base.SequenceExpression = function(node, st, c) {
191
+ for (var i = 0, list = node.expressions; i < list.length; i += 1) {
192
+ var expr = list[i];
193
+ c(expr, st, "Expression");
194
+ }
195
+ };
196
+ base.TemplateLiteral = function(node, st, c) {
197
+ for (var i = 0, list = node.quasis; i < list.length; i += 1) {
198
+ var quasi = list[i];
199
+ c(quasi, st);
200
+ }
201
+ for (var i$1 = 0, list$1 = node.expressions; i$1 < list$1.length; i$1 += 1) {
202
+ var expr = list$1[i$1];
203
+ c(expr, st, "Expression");
204
+ }
205
+ };
206
+ base.TemplateElement = ignore;
207
+ base.UnaryExpression = base.UpdateExpression = function(node, st, c) {
208
+ c(node.argument, st, "Expression");
209
+ };
210
+ base.BinaryExpression = base.LogicalExpression = function(node, st, c) {
211
+ c(node.left, st, "Expression");
212
+ c(node.right, st, "Expression");
213
+ };
214
+ base.AssignmentExpression = base.AssignmentPattern = function(node, st, c) {
215
+ c(node.left, st, "Pattern");
216
+ c(node.right, st, "Expression");
217
+ };
218
+ base.ConditionalExpression = function(node, st, c) {
219
+ c(node.test, st, "Expression");
220
+ c(node.consequent, st, "Expression");
221
+ c(node.alternate, st, "Expression");
222
+ };
223
+ base.NewExpression = base.CallExpression = function(node, st, c) {
224
+ c(node.callee, st, "Expression");
225
+ if (node.arguments) {
226
+ for (var i = 0, list = node.arguments; i < list.length; i += 1) {
227
+ var arg = list[i];
228
+ c(arg, st, "Expression");
229
+ }
230
+ }
231
+ };
232
+ base.MemberExpression = function(node, st, c) {
233
+ c(node.object, st, "Expression");
234
+ if (node.computed) {
235
+ c(node.property, st, "Expression");
236
+ }
237
+ };
238
+ base.ExportNamedDeclaration = base.ExportDefaultDeclaration = function(node, st, c) {
239
+ if (node.declaration) {
240
+ c(node.declaration, st, node.type === "ExportNamedDeclaration" || node.declaration.id ? "Statement" : "Expression");
241
+ }
242
+ if (node.source) {
243
+ c(node.source, st, "Expression");
244
+ }
245
+ };
246
+ base.ExportAllDeclaration = function(node, st, c) {
247
+ if (node.exported) {
248
+ c(node.exported, st);
249
+ }
250
+ c(node.source, st, "Expression");
251
+ };
252
+ base.ImportDeclaration = function(node, st, c) {
253
+ for (var i = 0, list = node.specifiers; i < list.length; i += 1) {
254
+ var spec = list[i];
255
+ c(spec, st);
256
+ }
257
+ c(node.source, st, "Expression");
258
+ };
259
+ base.ImportExpression = function(node, st, c) {
260
+ c(node.source, st, "Expression");
261
+ };
262
+ base.ImportSpecifier = base.ImportDefaultSpecifier = base.ImportNamespaceSpecifier = base.Identifier = base.PrivateIdentifier = base.Literal = ignore;
263
+ base.TaggedTemplateExpression = function(node, st, c) {
264
+ c(node.tag, st, "Expression");
265
+ c(node.quasi, st, "Expression");
266
+ };
267
+ base.ClassDeclaration = base.ClassExpression = function(node, st, c) {
268
+ return c(node, st, "Class");
269
+ };
270
+ base.Class = function(node, st, c) {
271
+ if (node.id) {
272
+ c(node.id, st, "Pattern");
273
+ }
274
+ if (node.superClass) {
275
+ c(node.superClass, st, "Expression");
276
+ }
277
+ c(node.body, st);
278
+ };
279
+ base.ClassBody = function(node, st, c) {
280
+ for (var i = 0, list = node.body; i < list.length; i += 1) {
281
+ var elt = list[i];
282
+ c(elt, st);
283
+ }
284
+ };
285
+ base.MethodDefinition = base.PropertyDefinition = base.Property = function(node, st, c) {
286
+ if (node.computed) {
287
+ c(node.key, st, "Expression");
288
+ }
289
+ if (node.value) {
290
+ c(node.value, st, "Expression");
291
+ }
292
+ };
293
+ export {
294
+ base,
295
+ simple
296
+ };
297
+ //# sourceMappingURL=walk.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"walk.es.js","sources":["../../../../../../../../../node_modules/.pnpm/acorn-walk@8.3.4/node_modules/acorn-walk/dist/walk.mjs"],"sourcesContent":["// AST walker module for ESTree compatible trees\n\n// A simple walk is one where you simply specify callbacks to be\n// called on specific nodes. The last two arguments are optional. A\n// simple use would be\n//\n// walk.simple(myTree, {\n// Expression: function(node) { ... }\n// });\n//\n// to do something with all expressions. All ESTree node types\n// can be used to identify node types, as well as Expression and\n// Statement, which denote categories of nodes.\n//\n// The base argument can be used to pass a custom (recursive)\n// walker, and state can be used to give this walked an initial\n// state.\n\nfunction simple(node, visitors, baseVisitor, state, override) {\n if (!baseVisitor) { baseVisitor = base\n ; }(function c(node, st, override) {\n var type = override || node.type;\n baseVisitor[type](node, st, c);\n if (visitors[type]) { visitors[type](node, st); }\n })(node, state, override);\n}\n\n// An ancestor walk keeps an array of ancestor nodes (including the\n// current node) and passes them to the callback as third parameter\n// (and also as state parameter when no other state is present).\nfunction ancestor(node, visitors, baseVisitor, state, override) {\n var ancestors = [];\n if (!baseVisitor) { baseVisitor = base\n ; }(function c(node, st, override) {\n var type = override || node.type;\n var isNew = node !== ancestors[ancestors.length - 1];\n if (isNew) { ancestors.push(node); }\n baseVisitor[type](node, st, c);\n if (visitors[type]) { visitors[type](node, st || ancestors, ancestors); }\n if (isNew) { ancestors.pop(); }\n })(node, state, override);\n}\n\n// A recursive walk is one where your functions override the default\n// walkers. They can modify and replace the state parameter that's\n// threaded through the walk, and can opt how and whether to walk\n// their child nodes (by calling their third argument on these\n// nodes).\nfunction recursive(node, state, funcs, baseVisitor, override) {\n var visitor = funcs ? make(funcs, baseVisitor || undefined) : baseVisitor\n ;(function c(node, st, override) {\n visitor[override || node.type](node, st, c);\n })(node, state, override);\n}\n\nfunction makeTest(test) {\n if (typeof test === \"string\")\n { return function (type) { return type === test; } }\n else if (!test)\n { return function () { return true; } }\n else\n { return test }\n}\n\nvar Found = function Found(node, state) { this.node = node; this.state = state; };\n\n// A full walk triggers the callback on each node\nfunction full(node, callback, baseVisitor, state, override) {\n if (!baseVisitor) { baseVisitor = base; }\n var last\n ;(function c(node, st, override) {\n var type = override || node.type;\n baseVisitor[type](node, st, c);\n if (last !== node) {\n callback(node, st, type);\n last = node;\n }\n })(node, state, override);\n}\n\n// An fullAncestor walk is like an ancestor walk, but triggers\n// the callback on each node\nfunction fullAncestor(node, callback, baseVisitor, state) {\n if (!baseVisitor) { baseVisitor = base; }\n var ancestors = [], last\n ;(function c(node, st, override) {\n var type = override || node.type;\n var isNew = node !== ancestors[ancestors.length - 1];\n if (isNew) { ancestors.push(node); }\n baseVisitor[type](node, st, c);\n if (last !== node) {\n callback(node, st || ancestors, ancestors, type);\n last = node;\n }\n if (isNew) { ancestors.pop(); }\n })(node, state);\n}\n\n// Find a node with a given start, end, and type (all are optional,\n// null can be used as wildcard). Returns a {node, state} object, or\n// undefined when it doesn't find a matching node.\nfunction findNodeAt(node, start, end, test, baseVisitor, state) {\n if (!baseVisitor) { baseVisitor = base; }\n test = makeTest(test);\n try {\n (function c(node, st, override) {\n var type = override || node.type;\n if ((start == null || node.start <= start) &&\n (end == null || node.end >= end))\n { baseVisitor[type](node, st, c); }\n if ((start == null || node.start === start) &&\n (end == null || node.end === end) &&\n test(type, node))\n { throw new Found(node, st) }\n })(node, state);\n } catch (e) {\n if (e instanceof Found) { return e }\n throw e\n }\n}\n\n// Find the innermost node of a given type that contains the given\n// position. Interface similar to findNodeAt.\nfunction findNodeAround(node, pos, test, baseVisitor, state) {\n test = makeTest(test);\n if (!baseVisitor) { baseVisitor = base; }\n try {\n (function c(node, st, override) {\n var type = override || node.type;\n if (node.start > pos || node.end < pos) { return }\n baseVisitor[type](node, st, c);\n if (test(type, node)) { throw new Found(node, st) }\n })(node, state);\n } catch (e) {\n if (e instanceof Found) { return e }\n throw e\n }\n}\n\n// Find the outermost matching node after a given position.\nfunction findNodeAfter(node, pos, test, baseVisitor, state) {\n test = makeTest(test);\n if (!baseVisitor) { baseVisitor = base; }\n try {\n (function c(node, st, override) {\n if (node.end < pos) { return }\n var type = override || node.type;\n if (node.start >= pos && test(type, node)) { throw new Found(node, st) }\n baseVisitor[type](node, st, c);\n })(node, state);\n } catch (e) {\n if (e instanceof Found) { return e }\n throw e\n }\n}\n\n// Find the outermost matching node before a given position.\nfunction findNodeBefore(node, pos, test, baseVisitor, state) {\n test = makeTest(test);\n if (!baseVisitor) { baseVisitor = base; }\n var max\n ;(function c(node, st, override) {\n if (node.start > pos) { return }\n var type = override || node.type;\n if (node.end <= pos && (!max || max.node.end < node.end) && test(type, node))\n { max = new Found(node, st); }\n baseVisitor[type](node, st, c);\n })(node, state);\n return max\n}\n\n// Used to create a custom walker. Will fill in all missing node\n// type properties with the defaults.\nfunction make(funcs, baseVisitor) {\n var visitor = Object.create(baseVisitor || base);\n for (var type in funcs) { visitor[type] = funcs[type]; }\n return visitor\n}\n\nfunction skipThrough(node, st, c) { c(node, st); }\nfunction ignore(_node, _st, _c) {}\n\n// Node walkers.\n\nvar base = {};\n\nbase.Program = base.BlockStatement = base.StaticBlock = function (node, st, c) {\n for (var i = 0, list = node.body; i < list.length; i += 1)\n {\n var stmt = list[i];\n\n c(stmt, st, \"Statement\");\n }\n};\nbase.Statement = skipThrough;\nbase.EmptyStatement = ignore;\nbase.ExpressionStatement = base.ParenthesizedExpression = base.ChainExpression =\n function (node, st, c) { return c(node.expression, st, \"Expression\"); };\nbase.IfStatement = function (node, st, c) {\n c(node.test, st, \"Expression\");\n c(node.consequent, st, \"Statement\");\n if (node.alternate) { c(node.alternate, st, \"Statement\"); }\n};\nbase.LabeledStatement = function (node, st, c) { return c(node.body, st, \"Statement\"); };\nbase.BreakStatement = base.ContinueStatement = ignore;\nbase.WithStatement = function (node, st, c) {\n c(node.object, st, \"Expression\");\n c(node.body, st, \"Statement\");\n};\nbase.SwitchStatement = function (node, st, c) {\n c(node.discriminant, st, \"Expression\");\n for (var i = 0, list = node.cases; i < list.length; i += 1) {\n var cs = list[i];\n\n c(cs, st);\n }\n};\nbase.SwitchCase = function (node, st, c) {\n if (node.test) { c(node.test, st, \"Expression\"); }\n for (var i = 0, list = node.consequent; i < list.length; i += 1)\n {\n var cons = list[i];\n\n c(cons, st, \"Statement\");\n }\n};\nbase.ReturnStatement = base.YieldExpression = base.AwaitExpression = function (node, st, c) {\n if (node.argument) { c(node.argument, st, \"Expression\"); }\n};\nbase.ThrowStatement = base.SpreadElement =\n function (node, st, c) { return c(node.argument, st, \"Expression\"); };\nbase.TryStatement = function (node, st, c) {\n c(node.block, st, \"Statement\");\n if (node.handler) { c(node.handler, st); }\n if (node.finalizer) { c(node.finalizer, st, \"Statement\"); }\n};\nbase.CatchClause = function (node, st, c) {\n if (node.param) { c(node.param, st, \"Pattern\"); }\n c(node.body, st, \"Statement\");\n};\nbase.WhileStatement = base.DoWhileStatement = function (node, st, c) {\n c(node.test, st, \"Expression\");\n c(node.body, st, \"Statement\");\n};\nbase.ForStatement = function (node, st, c) {\n if (node.init) { c(node.init, st, \"ForInit\"); }\n if (node.test) { c(node.test, st, \"Expression\"); }\n if (node.update) { c(node.update, st, \"Expression\"); }\n c(node.body, st, \"Statement\");\n};\nbase.ForInStatement = base.ForOfStatement = function (node, st, c) {\n c(node.left, st, \"ForInit\");\n c(node.right, st, \"Expression\");\n c(node.body, st, \"Statement\");\n};\nbase.ForInit = function (node, st, c) {\n if (node.type === \"VariableDeclaration\") { c(node, st); }\n else { c(node, st, \"Expression\"); }\n};\nbase.DebuggerStatement = ignore;\n\nbase.FunctionDeclaration = function (node, st, c) { return c(node, st, \"Function\"); };\nbase.VariableDeclaration = function (node, st, c) {\n for (var i = 0, list = node.declarations; i < list.length; i += 1)\n {\n var decl = list[i];\n\n c(decl, st);\n }\n};\nbase.VariableDeclarator = function (node, st, c) {\n c(node.id, st, \"Pattern\");\n if (node.init) { c(node.init, st, \"Expression\"); }\n};\n\nbase.Function = function (node, st, c) {\n if (node.id) { c(node.id, st, \"Pattern\"); }\n for (var i = 0, list = node.params; i < list.length; i += 1)\n {\n var param = list[i];\n\n c(param, st, \"Pattern\");\n }\n c(node.body, st, node.expression ? \"Expression\" : \"Statement\");\n};\n\nbase.Pattern = function (node, st, c) {\n if (node.type === \"Identifier\")\n { c(node, st, \"VariablePattern\"); }\n else if (node.type === \"MemberExpression\")\n { c(node, st, \"MemberPattern\"); }\n else\n { c(node, st); }\n};\nbase.VariablePattern = ignore;\nbase.MemberPattern = skipThrough;\nbase.RestElement = function (node, st, c) { return c(node.argument, st, \"Pattern\"); };\nbase.ArrayPattern = function (node, st, c) {\n for (var i = 0, list = node.elements; i < list.length; i += 1) {\n var elt = list[i];\n\n if (elt) { c(elt, st, \"Pattern\"); }\n }\n};\nbase.ObjectPattern = function (node, st, c) {\n for (var i = 0, list = node.properties; i < list.length; i += 1) {\n var prop = list[i];\n\n if (prop.type === \"Property\") {\n if (prop.computed) { c(prop.key, st, \"Expression\"); }\n c(prop.value, st, \"Pattern\");\n } else if (prop.type === \"RestElement\") {\n c(prop.argument, st, \"Pattern\");\n }\n }\n};\n\nbase.Expression = skipThrough;\nbase.ThisExpression = base.Super = base.MetaProperty = ignore;\nbase.ArrayExpression = function (node, st, c) {\n for (var i = 0, list = node.elements; i < list.length; i += 1) {\n var elt = list[i];\n\n if (elt) { c(elt, st, \"Expression\"); }\n }\n};\nbase.ObjectExpression = function (node, st, c) {\n for (var i = 0, list = node.properties; i < list.length; i += 1)\n {\n var prop = list[i];\n\n c(prop, st);\n }\n};\nbase.FunctionExpression = base.ArrowFunctionExpression = base.FunctionDeclaration;\nbase.SequenceExpression = function (node, st, c) {\n for (var i = 0, list = node.expressions; i < list.length; i += 1)\n {\n var expr = list[i];\n\n c(expr, st, \"Expression\");\n }\n};\nbase.TemplateLiteral = function (node, st, c) {\n for (var i = 0, list = node.quasis; i < list.length; i += 1)\n {\n var quasi = list[i];\n\n c(quasi, st);\n }\n\n for (var i$1 = 0, list$1 = node.expressions; i$1 < list$1.length; i$1 += 1)\n {\n var expr = list$1[i$1];\n\n c(expr, st, \"Expression\");\n }\n};\nbase.TemplateElement = ignore;\nbase.UnaryExpression = base.UpdateExpression = function (node, st, c) {\n c(node.argument, st, \"Expression\");\n};\nbase.BinaryExpression = base.LogicalExpression = function (node, st, c) {\n c(node.left, st, \"Expression\");\n c(node.right, st, \"Expression\");\n};\nbase.AssignmentExpression = base.AssignmentPattern = function (node, st, c) {\n c(node.left, st, \"Pattern\");\n c(node.right, st, \"Expression\");\n};\nbase.ConditionalExpression = function (node, st, c) {\n c(node.test, st, \"Expression\");\n c(node.consequent, st, \"Expression\");\n c(node.alternate, st, \"Expression\");\n};\nbase.NewExpression = base.CallExpression = function (node, st, c) {\n c(node.callee, st, \"Expression\");\n if (node.arguments)\n { for (var i = 0, list = node.arguments; i < list.length; i += 1)\n {\n var arg = list[i];\n\n c(arg, st, \"Expression\");\n } }\n};\nbase.MemberExpression = function (node, st, c) {\n c(node.object, st, \"Expression\");\n if (node.computed) { c(node.property, st, \"Expression\"); }\n};\nbase.ExportNamedDeclaration = base.ExportDefaultDeclaration = function (node, st, c) {\n if (node.declaration)\n { c(node.declaration, st, node.type === \"ExportNamedDeclaration\" || node.declaration.id ? \"Statement\" : \"Expression\"); }\n if (node.source) { c(node.source, st, \"Expression\"); }\n};\nbase.ExportAllDeclaration = function (node, st, c) {\n if (node.exported)\n { c(node.exported, st); }\n c(node.source, st, \"Expression\");\n};\nbase.ImportDeclaration = function (node, st, c) {\n for (var i = 0, list = node.specifiers; i < list.length; i += 1)\n {\n var spec = list[i];\n\n c(spec, st);\n }\n c(node.source, st, \"Expression\");\n};\nbase.ImportExpression = function (node, st, c) {\n c(node.source, st, \"Expression\");\n};\nbase.ImportSpecifier = base.ImportDefaultSpecifier = base.ImportNamespaceSpecifier = base.Identifier = base.PrivateIdentifier = base.Literal = ignore;\n\nbase.TaggedTemplateExpression = function (node, st, c) {\n c(node.tag, st, \"Expression\");\n c(node.quasi, st, \"Expression\");\n};\nbase.ClassDeclaration = base.ClassExpression = function (node, st, c) { return c(node, st, \"Class\"); };\nbase.Class = function (node, st, c) {\n if (node.id) { c(node.id, st, \"Pattern\"); }\n if (node.superClass) { c(node.superClass, st, \"Expression\"); }\n c(node.body, st);\n};\nbase.ClassBody = function (node, st, c) {\n for (var i = 0, list = node.body; i < list.length; i += 1)\n {\n var elt = list[i];\n\n c(elt, st);\n }\n};\nbase.MethodDefinition = base.PropertyDefinition = base.Property = function (node, st, c) {\n if (node.computed) { c(node.key, st, \"Expression\"); }\n if (node.value) { c(node.value, st, \"Expression\"); }\n};\n\nexport { ancestor, base, findNodeAfter, findNodeAround, findNodeAt, findNodeBefore, full, fullAncestor, make, recursive, simple };\n"],"names":["node","override"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,5 +1,5 @@
1
1
  import { getDefaultExportFromCjs } from "../../../../../_virtual/_commonjsHelpers.es.js";
2
- import { __module as classnames$1 } from "../../../../../_virtual/index.es3.js";
2
+ import { __module as classnames$1 } from "../../../../../_virtual/index.es4.js";
3
3
  /*!
4
4
  Copyright (c) 2018 Jed Watson.
5
5
  Licensed under the MIT License (MIT), see
@@ -1,5 +1,5 @@
1
1
  import { getDefaultExportFromCjs } from "../../../../../_virtual/_commonjsHelpers.es.js";
2
- import { __module as coWebWorker } from "../../../../../_virtual/index.es4.js";
2
+ import { __module as coWebWorker } from "../../../../../_virtual/index.es2.js";
3
3
  class CrossOriginWorker extends Worker {
4
4
  constructor(scriptUrl) {
5
5
  const b = new Blob([`importScripts('${new URL(scriptUrl).toString()}')`], { type: "application/javascript" });
@@ -1,5 +1,5 @@
1
1
  import { getDefaultExportFromCjs } from "../../../../../_virtual/_commonjsHelpers.es.js";
2
- import { __module as propTypes } from "../../../../../_virtual/index.es2.js";
2
+ import { __module as propTypes } from "../../../../../_virtual/index.es3.js";
3
3
  import { __require as requireReactIs } from "../../../react-is@16.13.1/node_modules/react-is/index.es.js";
4
4
  import { __require as requireFactoryWithTypeCheckers } from "./factoryWithTypeCheckers.es.js";
5
5
  import { __require as requireFactoryWithThrowingShims } from "./factoryWithThrowingShims.es.js";