mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-05 05:30:39 +08:00
57 lines
1.1 KiB
TypeScript
57 lines
1.1 KiB
TypeScript
import type { NodeWithVar, VarInInspect } from '@/types/workflow'
|
|
import { VarInInspectType } from '@/types/workflow'
|
|
import type { BlockEnum } from '../types'
|
|
import { VarType } from '../types'
|
|
|
|
type OutputToVarInInspectParams = {
|
|
nodeId: string
|
|
name: string
|
|
value: any
|
|
}
|
|
export const outputToVarInInspect = ({
|
|
nodeId,
|
|
name,
|
|
value,
|
|
}: OutputToVarInInspectParams): VarInInspect => {
|
|
return {
|
|
id: `${Date.now()}`, // TODO: wait for api
|
|
type: VarInInspectType.node,
|
|
name,
|
|
description: '',
|
|
selector: [nodeId, name],
|
|
value_type: VarType.string, // TODO: wait for api or get from node
|
|
value,
|
|
edited: false,
|
|
}
|
|
}
|
|
|
|
type NodeWithVarParams = {
|
|
nodeId: string
|
|
nodeType: BlockEnum
|
|
title: string
|
|
values: Record<string, any>
|
|
}
|
|
export const getNodeWithVar = ({
|
|
nodeId,
|
|
nodeType,
|
|
title,
|
|
values,
|
|
}: NodeWithVarParams): NodeWithVar => {
|
|
const res: NodeWithVar = {
|
|
nodeId,
|
|
nodeType,
|
|
title,
|
|
vars: [],
|
|
}
|
|
|
|
res.vars = Object.entries(values).map(([key, value]) => {
|
|
return outputToVarInInspect({
|
|
nodeId,
|
|
name: key,
|
|
value,
|
|
})
|
|
})
|
|
|
|
return res
|
|
}
|