import BasicNode from '@/components/FlowEditor/node/basicNode/BasicNode'; import SwitchNode from '@/components/FlowEditor/node/switchNode/SwitchNode'; import ImageNode from '@/components/FlowEditor/node/imageNode/ImageNode'; import CodeNode from '@/components/FlowEditor/node/codeNode/CodeNode'; import RestNode from '@/components/FlowEditor/node/restNode/RestNode'; import LocalNode from '@/components/FlowEditor/node/localNode/LocalNode'; import { nodeTypeMap, registerNodeType } from '@/components/FlowEditor/node'; export const resolveNodeComponent = (nodeType: string) => { switch (nodeType) { case 'BASIC': case 'SUB': return BasicNode; case 'SWITCH': return SwitchNode; case 'IMAGE': return ImageNode; case 'CODE': return CodeNode; case 'REST': return RestNode; default: return LocalNode; } }; export const ensureNodeTypeRegistered = ( nodeType: string, nodeName: string, component?: any ) => { const nodeMap = Array.from(Object.values(nodeTypeMap).map((key) => key)); if (!nodeMap.includes(nodeType)) { registerNodeType( nodeType, component || resolveNodeComponent(nodeType), nodeName ); } };