8a3950d238
Change-Id: I361916cc18c67e72fbfdbb4b6547f80a5d098327
39 lines
767 B
Go
39 lines
767 B
Go
package yaml
|
|
|
|
import (
|
|
"io"
|
|
|
|
"sigs.k8s.io/yaml"
|
|
)
|
|
|
|
const (
|
|
// DotYamlSeparator yaml separator
|
|
DotYamlSeparator = "...\n"
|
|
// DashYamlSeparator yaml separator
|
|
DashYamlSeparator = "---\n"
|
|
)
|
|
|
|
// WriteOut dumps any yaml compatible document to writer, adding yaml separator `---`
|
|
// at the beginning of the document, and `...` at the end
|
|
func WriteOut(dst io.Writer, src interface{}) error {
|
|
yamlOut, err := yaml.Marshal(src)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// add separator for each document
|
|
_, err = dst.Write([]byte(DashYamlSeparator))
|
|
if err != nil {
|
|
return err
|
|
}
|
|
_, err = dst.Write(yamlOut)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
// add separator for each document
|
|
_, err = dst.Write([]byte(DotYamlSeparator))
|
|
if err != nil {
|
|
return err
|
|
}
|
|
return nil
|
|
}
|