1234567891011121314151617181920212223242526272829303132333435 |
- 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
|