codecs

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Feb 20, 2019 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DotenvCodec = &Codec{
		Type: "dotenv",
		Exts: []string{".env"},
		DecoderBuilder: func(r io.Reader, opts interface{}) (Decoder, error) {
			return NewDotenvDecoder(r), nil
		},
		EncoderBuilder: func(w io.Writer, opts interface{}) (Encoder, error) {
			return NewDotenvEncoder(w), nil
		},
	}
)
View Source
var (
	JsonCodec = &Codec{
		Type: "json",
		Exts: []string{".json"},
		DecoderBuilder: func(r io.Reader, opts interface{}) (Decoder, error) {
			return NewJsonDecoder(r), nil
		},
		EncoderBuilder: func(w io.Writer, opts interface{}) (Encoder, error) {
			enc := NewJsonEncoder(w)
			if v, ok := opts.(map[string]interface{})["indent"].(string); ok {
				enc.SetIndent("", v)
			}
			if v, ok := opts.(map[string]interface{})["escapeHTML"].(bool); ok {
				enc.SetEscapeHTML(v)
			}
			return enc, nil
		},
	}
)
View Source
var (
	MsgpackCodec = &Codec{
		Type:    "msgpack",
		Aliases: []string{"msgpack", "messagepack"},
		Exts:    []string{".msgpack", ".messagepack", ".mpack", ".mp"},
		DecoderBuilder: func(r io.Reader, opts interface{}) (Decoder, error) {
			return NewMsgpackDecoder(r), nil
		},
		EncoderBuilder: func(w io.Writer, opts interface{}) (Encoder, error) {
			return NewMsgpackEncoder(w), nil
		},
	}
)
View Source
var (
	TomlCodec = &Codec{
		Type: "toml",
		Exts: []string{".toml"},
		DecoderBuilder: func(r io.Reader, opts interface{}) (Decoder, error) {
			return NewTomlDecoder(r), nil
		},
		EncoderBuilder: func(w io.Writer, opts interface{}) (Encoder, error) {
			enc := NewTomlEncoder(w)
			if v, ok := opts.(map[string]interface{})["indent"].(string); ok {
				enc.Indent = v
			}
			return enc, nil
		},
	}
)
View Source
var (
	YamlCodec = &Codec{
		Type: "yaml",
		Exts: []string{".yml", ".yaml"},
		DecoderBuilder: func(r io.Reader, opts interface{}) (Decoder, error) {
			return NewYamlDecoder(r), nil
		},
		EncoderBuilder: func(w io.Writer, opts interface{}) (Encoder, error) {
			return NewYamlEncoder(w), nil
		},
	}
)

Functions

This section is empty.

Types

type Codec

type Codec struct {
	Type           string
	Aliases        []string
	Exts           []string
	DecoderBuilder func(r io.Reader, opts interface{}) (Decoder, error)
	EncoderBuilder func(w io.Writer, opts interface{}) (Encoder, error)
}

type CodecResolver

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

func NewCodecResolver

func NewCodecResolver() *CodecResolver

func (*CodecResolver) ExtToType

func (r *CodecResolver) ExtToType(ext string) string

func (*CodecResolver) Register

func (r *CodecResolver) Register(ty string, codec *Codec)

func (*CodecResolver) RegisterAll

func (r *CodecResolver) RegisterAll(codec *Codec)

func (*CodecResolver) RegisterAsDefault

func (r *CodecResolver) RegisterAsDefault(codec *Codec)

func (*CodecResolver) Resolve

func (r *CodecResolver) Resolve(key string) *Codec

func (*CodecResolver) ResolveWithExt

func (r *CodecResolver) ResolveWithExt(ext string) *Codec

type Decoder

type Decoder interface {
	Decode(data interface{}) error
}

type DotenvDecoder

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

func NewDotenvDecoder

func NewDotenvDecoder(r io.Reader) *DotenvDecoder

func (*DotenvDecoder) Decode

func (d *DotenvDecoder) Decode(data interface{}) error

type DotenvEncoder

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

func NewDotenvEncoder

func NewDotenvEncoder(w io.Writer) *DotenvEncoder

func (*DotenvEncoder) Encode

func (e *DotenvEncoder) Encode(data interface{}) error

type Encoder

type Encoder interface {
	Encode(data interface{}) error
}

type JsonDecoder

type JsonDecoder = json.Decoder

func NewJsonDecoder

func NewJsonDecoder(r io.Reader) *JsonDecoder

type JsonEncoder

type JsonEncoder = json.Encoder

func NewJsonEncoder

func NewJsonEncoder(w io.Writer) *JsonEncoder

type MsgpackDecoder

type MsgpackDecoder = msgpack.Decoder

func NewMsgpackDecoder

func NewMsgpackDecoder(r io.Reader) *MsgpackDecoder

type MsgpackEncoder

type MsgpackEncoder = msgpack.Encoder

func NewMsgpackEncoder

func NewMsgpackEncoder(w io.Writer) *MsgpackEncoder

type TomlDecoder

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

func NewTomlDecoder

func NewTomlDecoder(r io.Reader) *TomlDecoder

func (*TomlDecoder) Decode

func (d *TomlDecoder) Decode(data interface{}) error

type TomlEncoder

type TomlEncoder = toml.Encoder

func NewTomlEncoder

func NewTomlEncoder(w io.Writer) *TomlEncoder

type YamlDecoder

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

func NewYamlDecoder

func NewYamlDecoder(r io.Reader) *YamlDecoder

func (*YamlDecoder) Decode

func (d *YamlDecoder) Decode(data interface{}) error

type YamlEncoder

type YamlEncoder = yaml.Encoder

func NewYamlEncoder

func NewYamlEncoder(w io.Writer) *YamlEncoder

Jump to

Keyboard shortcuts

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