...

Package yaml

import "cuelang.org/go/encoding/yaml"
Overview
Index

Overview ▾

Package yaml converts YAML encodings to and from CUE. When converting to CUE, comments and position information are retained.

func Decode

func Decode(r *cue.Runtime, filename string, src interface{}) (*cue.Instance, error)

Decode converts a YAML file to a CUE value. Streams are returned as a list of the streamed values.

Deprecated: use Extract and build the File with cue.Context.BuildFile.

func Encode

func Encode(v cue.Value) ([]byte, error)

Encode returns the YAML encoding of v.

func EncodeStream

func EncodeStream(iter cue.Iterator) ([]byte, error)

EncodeStream returns the YAML encoding of iter, where consecutive values of iter are separated with a `---`.

func Extract

func Extract(filename string, src interface{}) (*ast.File, error)

Extract parses the YAML specified by src to a CUE expression. If there's more than one document, the documents will be returned as a list. The src argument may be a nil, string, []byte, or io.Reader. If src is nil, the result of reading the file specified by filename will be used.

func Validate

func Validate(b []byte, v cue.Value) error

Validate validates the YAML and confirms it matches the constraints specified by v. For YAML streams, all values must match v.