github.com/YousefHaggyHeroku/pack@v1.5.5/internal/builder/writer/yaml.go (about)

     1  package writer
     2  
     3  import (
     4  	"bytes"
     5  
     6  	"gopkg.in/yaml.v3"
     7  )
     8  
     9  type YAML struct {
    10  	StructuredFormat
    11  }
    12  
    13  func NewYAML() BuilderWriter {
    14  	return &YAML{
    15  		StructuredFormat: StructuredFormat{
    16  			MarshalFunc: func(v interface{}) ([]byte, error) {
    17  				buf := bytes.NewBuffer(nil)
    18  				if err := yaml.NewEncoder(buf).Encode(v); err != nil {
    19  					return []byte{}, err
    20  				}
    21  				return buf.Bytes(), nil
    22  			},
    23  		},
    24  	}
    25  }