| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | 
							- 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
 -   isInLoop: boolean
 - }
 - const useIsVarFileAttribute = ({
 -   nodeId,
 -   isInIteration,
 -   isInLoop,
 - }: 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 loopNode = isInLoop ? 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: isInIteration ? iterationNode : loopNode,
 -       valueSelector: parentVariable,
 -       availableNodes,
 -       isChatMode,
 -       isConstant: false,
 -     })
 -     return varType === VarType.file
 -   }
 -   return {
 -     getIsVarFileAttribute,
 -   }
 - }
 - 
 - export default useIsVarFileAttribute
 
 
  |