yaml

package
v1.1.2-rc.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 23, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DecodeField added in v0.9.0

func DecodeField(node *yaml.Node, path string, out any) error

DecodeField retrieves the value at the specified path in the YAML document and decodes it into the provided value. The path is specified using a dot-separated string, similar to the UpdateField function.

func SetStringsInBytes

func SetStringsInBytes(inBytes []byte, updates []Update) ([]byte, error)

SetStringsInBytes returns a copy of the provided bytes with the changes specified by Updates applied. Keys are of the form <key 0>.<key 1>...<key n>. Integers may be used as keys in cases where a specific node needs to be selected from a sequence. An error is returned for any attempted update to a key that does not exist or does not address a scalar node. Importantly, all comments and style choices in the input bytes are preserved in the output.

func SetStringsInFile

func SetStringsInFile(file string, updates []Update) error

SetStringsInFile overwrites the specified file with the changes specified by the the list of Updates. Keys are of the form <key 0>.<key 1>...<key n>. Integers may be used as keys in cases where a specific node needs to be selected from a sequence. An error is returned for any attempted update to a key that does not exist or does not address a scalar node. Importantly, all comments and style choices in the input bytes are preserved in the output.

func UpdateField added in v0.9.0

func UpdateField(node *yaml.Node, key string, value any) error

UpdateField updates the value of a field in a YAML document. The field is specified using a dot-separated path. If the field does not exist, it is created. The YAML node is modified in place, preserving comments and style.

The value parameter can be any Go value that can be marshaled to YAML using the yaml package. This includes basic types (string, int, bool, etc.), maps, slices, and structs.

Types

type FieldNotFoundErr added in v0.9.0

type FieldNotFoundErr struct {
	// contains filtered or unexported fields
}

FieldNotFoundErr is an error type that is returned when a field is not found in the YAML document.

func (FieldNotFoundErr) Error added in v0.9.0

func (e FieldNotFoundErr) Error() string

Error implements the error interface.

type Update

type Update struct {
	// Key is the dot-separated path to the field to update.
	Key string
	// Value is the new value to set for the field.
	Value string
}

Update represents a discrete update to be made to a YAML document.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL