Files
PandaX/kit/flow/flow.go
lixxxww a329e336e0 提交kit/flow
Signed-off-by: lixxxww <941403820@qq.com>
2024-01-23 11:32:00 +00:00

41 lines
723 B
Go

package flow
type Flow struct {
Nodes []Node `json:"nodes"`
Edges []Edge `json:"edges"`
}
func (f *Flow) GetStartNode(ty string) *Node {
for _, node := range f.Nodes {
if node.IsStartNode(ty) {
return &node
}
}
return nil
}
func (f *Flow) GetTargetNodeId(sourceNodeId string) string {
for _, edge := range f.Edges {
return edge.getTargetNode(sourceNodeId)
}
return ""
}
func (f *Flow) GetTargetNode(sourceNodeId string) *Node {
for _, edge := range f.Edges {
if edge.SourceNodeId == sourceNodeId {
return f.GetNode(edge.TargetNodeId)
}
}
return nil
}
func (f *Flow) GetNode(nodeId string) *Node {
for _, node := range f.Nodes {
if node.Id == nodeId {
return &node
}
}
return nil
}