import { useMemo } from 'react' import { useIsChatMode, useWorkflow, useWorkflowVariables } from '../../hooks' import type { ValueSelector } from '../../types' import { VarType } from '../../types' type Params = { nodeId: string } const useIsVarFileAttribute = ({ nodeId, }: Params) => { const isChatMode = useIsChatMode() const { getBeforeNodesInSameBranch } = useWorkflow() const availableNodes = useMemo(() => { return getBeforeNodesInSameBranch(nodeId) }, [getBeforeNodesInSameBranch, nodeId]) const { getCurrentVariableType } = useWorkflowVariables() const getIsVarFileAttribute = (variable: ValueSelector) => { if (variable.length !== 3) return false const parentVariable = variable.slice(0, 2) const varType = getCurrentVariableType({ valueSelector: parentVariable, availableNodes, isChatMode, isConstant: false, }) return varType === VarType.file } return { getIsVarFileAttribute, } } export default useIsVarFileAttribute