package yaml

import "cuelang.org/go/internal/encoding/yaml"

Index

Functions

func Encode

func Encode(n ast.Node) (b []byte, err error)

Encode converts a CUE AST to YAML.

The given file must only contain values that can be directly supported by YAML:

Type          Restrictions
BasicLit
File          no imports, aliases, or definitions
StructLit     no embeddings, aliases, or definitions
List
Field         must be regular; label must be a BasicLit or Ident
CommentGroup

TODO: support anchors through Ident.

func NewDecoder

func NewDecoder(filename string, b []byte) *decoder

NewDecoder creates a decoder for YAML values to extract CUE syntax tree nodes.

The filename is used for position information in CUE syntax tree nodes as well as any errors encountered while decoding YAML.

func Unmarshal

func Unmarshal(filename string, data []byte) (ast.Expr, error)

Unmarshal parses a single YAML value to a CUE expression.

Types

type Decoder

type Decoder interface {
	// Decode consumes a YAML value and returns it in CUE syntax tree node.
	Decode() (ast.Expr, error)
}

Decoder is a temporary interface compatible with both the old and new yaml decoders.

Source Files

decode.go encode.go

Version
v0.12.0 (latest)
Published
Jan 30, 2025
Platform
linux/amd64
Imports
17 packages
Last checked
8 hours ago

Tools for package owners.