github.com/alkemics/goflow@v0.2.1/gfutil/composed.go (about)

     1  package gfutil
     2  
     3  import "github.com/alkemics/goflow"
     4  
     5  func ComposeWrappers(wrappers ...goflow.GraphWrapper) goflow.GraphWrapper {
     6  	return func(unmarshal func(interface{}) error, graph goflow.GraphRenderer) (goflow.GraphRenderer, error) {
     7  		for _, wrapper := range wrappers {
     8  			g, err := wrapper(unmarshal, graph)
     9  			if err != nil {
    10  				return nil, err
    11  			}
    12  
    13  			graph = g
    14  		}
    15  
    16  		return graph, nil
    17  	}
    18  }