github.com/alkemics/goflow@v0.2.1/wrappers/types/renderers.go (about) 1 package types 2 3 import "github.com/alkemics/goflow" 4 5 type nodeRenderer struct { 6 goflow.NodeRenderer 7 8 typedInputs []goflow.Field 9 typedOutputs []goflow.Field 10 } 11 12 func (n nodeRenderer) Inputs() []goflow.Field { 13 return n.typedInputs 14 } 15 16 func (n nodeRenderer) Outputs() []goflow.Field { 17 return n.typedOutputs 18 } 19 20 type graphRenderer struct { 21 goflow.GraphRenderer 22 nodes []goflow.NodeRenderer 23 outputMap map[string]string 24 } 25 26 func (g graphRenderer) Nodes() []goflow.NodeRenderer { return g.nodes } 27 28 func (g graphRenderer) Outputs() []goflow.Field { 29 outputs := g.GraphRenderer.Outputs() 30 typedOutputs := make([]goflow.Field, len(outputs)) 31 for i, f := range outputs { 32 if typ, ok := g.outputMap[f.Name]; ok { 33 f.Type = typ 34 } 35 typedOutputs[i] = f 36 } 37 return typedOutputs 38 }