Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GuessJSONStream

func GuessJSONStream(r io.Reader, size int) (io.Reader, []byte, bool)

    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 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 ToJSON

      func ToJSON(data []byte) ([]byte, error)

        ToJSON converts a single YAML document into a JSON document or returns an error. If the document appears to be JSON the YAML decoding path is not used (so that error messages are JSON specific).

        func Unmarshal

        func Unmarshal(data []byte, v interface{}) error

          Unmarshal unmarshals the given data If v is a *map[string]interface{}, *[]interface{}, or *interface{} numbers are converted to int64 or float64

          Types

          type JSONSyntaxError

          type JSONSyntaxError struct {
          	Line int
          	Err  error
          }

          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 Reader

            type Reader interface {
            	Read() ([]byte, error)
            }

            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

              func (*YAMLDecoder) Read

              func (d *YAMLDecoder) Read(data []byte) (n int, err error)

                Read reads the previous slice into the buffer, or attempts to read the next chunk. TODO: switch to readline approach.

                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.

                              Source Files