import { useCallback, useState } from 'react' import useVarList from '../_base/hooks/use-var-list' import useOutputVarList from '../_base/hooks/use-output-var-list' import type { CodeLanguage, CodeNodeType } from './types' const useConfig = (initInputs: CodeNodeType) => { const [inputs, setInputs] = useState(initInputs) const { handleVarListChange, handleAddVariable } = useVarList({ inputs, setInputs, }) const handleCodeChange = useCallback((code: string) => { setInputs(prev => ({ ...prev, code })) }, [setInputs]) const handleCodeLanguageChange = useCallback((codeLanguage: CodeLanguage) => { setInputs(prev => ({ ...prev, code_language: codeLanguage })) }, [setInputs]) const { handleVarListChange: handleOutputVarListChange, handleAddVariable: handleAddOutputVariable } = useOutputVarList({ inputs, setInputs, }) return { inputs, handleVarListChange, handleAddVariable, handleCodeChange, handleCodeLanguageChange, handleOutputVarListChange, handleAddOutputVariable, } } export default useConfig