Documentation
¶
Index ¶
- Variables
- func Clone(node *yaml.Node) *yaml.Node
- func Compare(yaml1, yaml2 []byte) bool
- func EqualWithExclusion(a, b *yaml.Node, excludedPath ...string) bool
- func FindNode(node *yaml.Node, path string) (resultNode *yaml.Node, err error)
- func FindNodeValueOrDefault(node *yaml.Node, path string, defaultValue string) string
- func HasLockedTodos(node *yaml.Node) bool
- func IsLocal(node *yaml.Node) bool
- func IsLocked(node *yaml.Node) bool
- func Merge(dst, src *yaml.Node) *yaml.Node
- func SetOrAddNodeValue(node *yaml.Node, path string, value string) error
- func TreeToYaml(tree *yaml.Node, indent int) (string, error)
- func UnmarshalStrict(data []byte, ptr any) error
- type File
- type KeyValuePair
- type Writer
- type WriterMock
Constants ¶
This section is empty.
Variables ¶
View Source
var CustomTags = []string{"!lock", "!local"}
View Source
var DiskWriter = writerFunc(func(file *File) error { return os.WriteFile(file.Path, file.Yaml, 0o644) })
View Source
var KnownTags = append(StandardTags, CustomTags...)
View Source
var StandardTags = []string{
"",
"!!int",
"!!bool",
"!!float",
"!!map",
"!!str",
"!!seq",
"!!null",
"!!merge",
}
Functions ¶
func Compare ¶
Compare returns true if the two yaml documents are equivalent in terms of contents and comments, false otherwise, disregarding differences in formatting / whitespace.
func EqualWithExclusion ¶ added in v0.21.0
func FindNode ¶
FindNode traverses a given yaml.Node to locate the value Node of the provided path. The path is interpreted as being relative to the given yaml.Node.
func FindNodeValueOrDefault ¶
func HasLockedTodos ¶ added in v0.51.0
func UnmarshalStrict ¶ added in v0.54.4
Types ¶
type File ¶
type File struct {
// Path is the path to the yaml file.
Path string
// Yaml is the raw yaml of the yaml file.
Yaml []byte
// Tree is the root node of the tree representation of the yaml file.
Tree *yaml.Node
// ApiVersion is the API version of the CRD, if any.
ApiVersion string
// Kind is the kind of the CRD, if any.
Kind string
// MetadataName is the name of the CRD resource, if any.
MetadataName string
// Indent is the indent size of the yaml file to be used when writing it back to disk.
Indent int
}
File represents a yaml file loaded into memory in different forms, that can be round-tripped back to disk.
func NewFileFromObject ¶ added in v0.46.2
func NewFileFromTree ¶
func (*File) UpdateYamlFromTree ¶
type WriterMock ¶ added in v0.39.0
type WriterMock struct {
// WriteFileFunc mocks the WriteFile method.
WriteFileFunc func(file *File) error
// contains filtered or unexported fields
}
WriterMock is a mock implementation of Writer.
func TestSomethingThatUsesWriter(t *testing.T) {
// make and configure a mocked Writer
mockedWriter := &WriterMock{
WriteFileFunc: func(file *File) error {
panic("mock out the WriteFile method")
},
}
// use mockedWriter in code that requires Writer
// and then make assertions.
}
func (*WriterMock) WriteFile ¶ added in v0.39.0
func (mock *WriterMock) WriteFile(file *File) error
WriteFile calls WriteFileFunc.
func (*WriterMock) WriteFileCalls ¶ added in v0.39.0
func (mock *WriterMock) WriteFileCalls() []struct { File *File }
WriteFileCalls gets all the calls that were made to WriteFile. Check the length with:
len(mockedWriter.WriteFileCalls())
Click to show internal directories.
Click to hide internal directories.