Spaces:
Build error
Build error
import { useStoreApi } from 'reactflow' | |
import { useMemo } from 'react' | |
import { useIsChatMode, useWorkflow, useWorkflowVariables } from '../../hooks' | |
import type { ValueSelector } from '../../types' | |
import { VarType } from '../../types' | |
type Params = { | |
nodeId: string | |
isInIteration: boolean | |
} | |
const useIsVarFileAttribute = ({ | |
nodeId, | |
isInIteration, | |
}: Params) => { | |
const isChatMode = useIsChatMode() | |
const store = useStoreApi() | |
const { getBeforeNodesInSameBranch } = useWorkflow() | |
const { | |
getNodes, | |
} = store.getState() | |
const currentNode = getNodes().find(n => n.id === nodeId) | |
const iterationNode = isInIteration ? getNodes().find(n => n.id === currentNode!.parentId) : null | |
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({ | |
parentNode: iterationNode, | |
valueSelector: parentVariable, | |
availableNodes, | |
isChatMode, | |
isConstant: false, | |
}) | |
return varType === VarType.file | |
} | |
return { | |
getIsVarFileAttribute, | |
} | |
} | |
export default useIsVarFileAttribute | |