Documentation
¶
Index ¶
- func DeepCopyYAML(x yaml.MapSlice) yaml.MapSlice
- func DeepCopyYAMLValue(x interface{}) interface{}
- func GuessJSONStream(r io.Reader, size int) (io.Reader, []byte, bool)
- func IsJSONBuffer(buf []byte) bool
- func NestedBool(obj yaml.MapSlice, fields ...string) (bool, bool, error)
- func NestedFieldCopy(obj yaml.MapSlice, fields ...string) (interface{}, bool, error)
- func NestedFieldNoCopy(obj yaml.MapSlice, fields ...string) (interface{}, bool, error)
- func NestedFloat64(obj yaml.MapSlice, fields ...string) (float64, bool, error)
- func NestedInt64(obj yaml.MapSlice, fields ...string) (int64, bool, error)
- func NestedMap(obj yaml.MapSlice, fields ...string) (yaml.MapSlice, bool, error)
- func NestedSlice(obj yaml.MapSlice, fields ...string) ([]interface{}, bool, error)
- func NestedString(obj yaml.MapSlice, fields ...string) (string, bool, error)
- func NestedStringMap(obj yaml.MapSlice, fields ...string) (map[string]string, bool, error)
- func NestedStringSlice(obj yaml.MapSlice, fields ...string) ([]string, bool, error)
- func NewDocumentDecoder(r io.ReadCloser) io.ReadCloser
- func RemoveNestedField(obj *yaml.MapSlice, fields ...string)
- func SetNestedField(obj *yaml.MapSlice, value interface{}, fields ...string) error
- func SetNestedMap(obj *yaml.MapSlice, value yaml.MapSlice, fields ...string) error
- func SetNestedSlice(obj *yaml.MapSlice, value []interface{}, fields ...string) error
- func SetNestedStringMap(obj *yaml.MapSlice, value map[string]string, fields ...string) error
- func SetNestedStringSlice(obj *yaml.MapSlice, value []string, fields ...string) error
- func ToJSON(data []byte) ([]byte, error)
- func Unmarshal(data []byte, v interface{}) error
- type JSONSyntaxError
- type LineReader
- type Reader
- type YAMLDecoder
- type YAMLOrJSONDecoder
- type YAMLReader
- type YAMLSyntaxError
- type YAMLToJSONDecoder
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DeepCopyYAML ¶
func DeepCopyYAML(x yaml.MapSlice) yaml.MapSlice
DeepCopyYAML deep copies the passed value, assuming it is a valid JSON representation i.e. only contains types produced by json.Unmarshal() and also int64. bool, int64, float64, string, []interface{}, map[string]interface{}, json.Number and nil
func DeepCopyYAMLValue ¶
func DeepCopyYAMLValue(x interface{}) interface{}
DeepCopyYAMLValue deep copies the passed value, assuming it is a valid JSON representation i.e. only contains types produced by json.Unmarshal() and also int64. bool, int64, float64, string, []interface{}, map[string]interface{}, json.Number and nil
func GuessJSONStream ¶
GuessJSONStream scans the provided reader up to size, looking for an open brace indicating this is JSON. It will return the bufio.Reader it creates for the consumer.
func IsJSONBuffer ¶
IsJSONBuffer scans the provided buffer, looking for an open brace indicating this is JSON.
func NestedBool ¶
NestedBool returns the bool value of a nested field. Returns false if value is not found and an error if not a bool.
func NestedFieldCopy ¶
NestedFieldCopy returns a deep copy of the value of a nested field. Returns false if the value is missing. No error is returned for a nil field.
Note: fields passed to this function are treated as keys within the passed object; no array/slice syntax is supported.
func NestedFieldNoCopy ¶
NestedFieldNoCopy returns a reference to a nested field. Returns false if value is not found and an error if unable to traverse obj.
Note: fields passed to this function are treated as keys within the passed object; no array/slice syntax is supported.
func NestedFloat64 ¶
NestedFloat64 returns the float64 value of a nested field. Returns false if value is not found and an error if not a float64.
func NestedInt64 ¶
NestedInt64 returns the int64 value of a nested field. Returns false if value is not found and an error if not an int64.
func NestedMap ¶
NestedMap returns a deep copy of yaml.MapSlice value of a nested field. Returns false if value is not found and an error if not a yaml.MapSlice.
func NestedSlice ¶
NestedSlice returns a deep copy of []interface{} value of a nested field. Returns false if value is not found and an error if not a []interface{}.
func NestedString ¶
NestedString returns the string value of a nested field. Returns false if value is not found and an error if not a string.
func NestedStringMap ¶
NestedStringMap returns a copy of map[string]string value of a nested field. Returns false if value is not found and an error if not a yaml.MapSlice or contains non-string values in the map.
func NestedStringSlice ¶
NestedStringSlice returns a copy of []string value of a nested field. Returns false if value is not found and an error if not a []interface{} or contains non-string items in the slice.
func NewDocumentDecoder ¶
func NewDocumentDecoder(r io.ReadCloser) io.ReadCloser
NewDocumentDecoder decodes YAML documents from the provided stream in chunks by converting each document (as defined by the YAML spec) into its own chunk. io.ErrShortBuffer will be returned if the entire buffer could not be read to assist the caller in framing the chunk.
func RemoveNestedField ¶
func RemoveNestedField(obj *yaml.MapSlice, fields ...string)
RemoveNestedField removes the nested field from the obj.
func SetNestedField ¶
SetNestedField sets the value of a nested field to a deep copy of the value provided. Returns an error if value cannot be set because one of the nesting levels is not a yaml.MapSlice.
func SetNestedMap ¶
SetNestedMap sets the yaml.MapSlice value of a nested field. Returns an error if value cannot be set because one of the nesting levels is not a yaml.MapSlice.
func SetNestedSlice ¶
SetNestedSlice sets the slice value of a nested field. Returns an error if value cannot be set because one of the nesting levels is not a yaml.MapSlice.
func SetNestedStringMap ¶
SetNestedStringMap sets the map[string]string value of a nested field. Returns an error if value cannot be set because one of the nesting levels is not a yaml.MapSlice.
func SetNestedStringSlice ¶
SetNestedStringSlice sets the string slice value of a nested field. Returns an error if value cannot be set because one of the nesting levels is not a yaml.MapSlice.
Types ¶
type JSONSyntaxError ¶
func (JSONSyntaxError) Error ¶
func (e JSONSyntaxError) Error() string
type LineReader ¶
type LineReader struct {
// contains filtered or unexported fields
}
func (*LineReader) Read ¶
func (r *LineReader) Read() ([]byte, error)
Read returns a single line (with '\n' ended) from the underlying reader. An error is returned iff there is an error with the underlying reader.
type YAMLDecoder ¶
type YAMLDecoder struct {
// contains filtered or unexported fields
}
YAMLDecoder reads chunks of objects and returns ErrShortBuffer if the data is not sufficient.
func (*YAMLDecoder) Close ¶
func (d *YAMLDecoder) Close() error
type YAMLOrJSONDecoder ¶
type YAMLOrJSONDecoder struct {
// contains filtered or unexported fields
}
YAMLOrJSONDecoder attempts to decode a stream of JSON documents or YAML documents by sniffing for a leading { character.
func NewYAMLOrJSONDecoder ¶
func NewYAMLOrJSONDecoder(r io.Reader, bufferSize int) *YAMLOrJSONDecoder
NewYAMLOrJSONDecoder returns a decoder that will process YAML documents or JSON documents from the given reader as a stream. bufferSize determines how far into the stream the decoder will look to figure out whether this is a JSON stream (has whitespace followed by an open brace).
func (*YAMLOrJSONDecoder) Decode ¶
func (d *YAMLOrJSONDecoder) Decode(into interface{}) error
Decode unmarshals the next object from the underlying stream into the provide object, or returns an error.
type YAMLReader ¶
type YAMLReader struct {
// contains filtered or unexported fields
}
func NewYAMLReader ¶
func NewYAMLReader(r *bufio.Reader) *YAMLReader
func (*YAMLReader) Read ¶
func (r *YAMLReader) Read() ([]byte, error)
Read returns a full YAML document.
type YAMLSyntaxError ¶
type YAMLSyntaxError struct {
// contains filtered or unexported fields
}
func (YAMLSyntaxError) Error ¶
func (e YAMLSyntaxError) Error() string
type YAMLToJSONDecoder ¶
type YAMLToJSONDecoder struct {
// contains filtered or unexported fields
}
YAMLToJSONDecoder decodes YAML documents from an io.Reader by separating individual documents. It first converts the YAML body to JSON, then unmarshals the JSON.
func NewYAMLToJSONDecoder ¶
func NewYAMLToJSONDecoder(r io.Reader) *YAMLToJSONDecoder
NewYAMLToJSONDecoder decodes YAML documents from the provided stream in chunks by converting each document (as defined by the YAML spec) into its own chunk, converting it to JSON via yaml.YAMLToJSON, and then passing it to json.Decoder.
func (*YAMLToJSONDecoder) Decode ¶
func (d *YAMLToJSONDecoder) Decode(into interface{}) error
Decode reads a YAML document as JSON from the stream or returns an error. The decoding rules match json.Unmarshal, not yaml.Unmarshal.