encoder

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2021 License: MIT Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New_LinkedByteWriterNode added in v0.0.3

func New_LinkedByteWriterNode(size int) *_LinkedByteWriterNode

Types

type BoolEncoder added in v0.0.3

type BoolEncoder struct {
}

func NewBoolEncoder added in v0.0.3

func NewBoolEncoder() *BoolEncoder

func (*BoolEncoder) Decode added in v0.0.3

func (b *BoolEncoder) Decode(reader IReader) (interface{}, error)

func (*BoolEncoder) Encode added in v0.0.3

func (b *BoolEncoder) Encode(raw interface{}, writer IWriter) error

type BufferWriter added in v0.0.2

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

func NewBufferWriter added in v0.0.2

func NewBufferWriter() *BufferWriter

func (*BufferWriter) GetContent added in v0.0.2

func (b *BufferWriter) GetContent() ([]byte, error)

func (*BufferWriter) Reset added in v0.0.3

func (b *BufferWriter) Reset()

func (*BufferWriter) Write added in v0.0.2

func (b *BufferWriter) Write(datas []byte) error

func (*BufferWriter) WriteByte added in v0.0.2

func (b *BufferWriter) WriteByte(data byte) error

func (*BufferWriter) WriteString added in v0.0.3

func (b *BufferWriter) WriteString(data string) error

type ByteArrayEncoder

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

func NewByteArrayEncoder

func NewByteArrayEncoder() *ByteArrayEncoder

func (*ByteArrayEncoder) Decode

func (b *ByteArrayEncoder) Decode(reader IReader) (interface{}, error)

func (*ByteArrayEncoder) Encode

func (b *ByteArrayEncoder) Encode(raw interface{}, writer IWriter) error

type FloatEncoder

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

func NewFloatEncoder

func NewFloatEncoder() *FloatEncoder

func (*FloatEncoder) Decode

func (f *FloatEncoder) Decode(reader IReader) (interface{}, error)

func (*FloatEncoder) Encode

func (f *FloatEncoder) Encode(data interface{}, writer IWriter) error

type IReader added in v0.0.2

type IReader interface {
	ReadByte() (byte, error)
	Read(int) ([]byte, error)
	HasData() bool
}

type IValueEncoderUnit

type IValueEncoderUnit interface {
	Encode(interface{}, IWriter) error
	Decode(IReader) (interface{}, error)
}

type IWriter added in v0.0.2

type IWriter interface {
	WriteString(string) error
	WriteByte(byte) error
	Write([]byte) error
	Reset()
	GetContent() ([]byte, error)
}

type IntEncoder

type IntEncoder struct {
}

func NewIntEncoder

func NewIntEncoder() *IntEncoder

func (*IntEncoder) Decode

func (i *IntEncoder) Decode(reader IReader) (interface{}, error)

func (*IntEncoder) Encode

func (i *IntEncoder) Encode(raw interface{}, writer IWriter) error

type JsoniterEncoder

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

func NewJsoniterEncoder

func NewJsoniterEncoder() *JsoniterEncoder

func (*JsoniterEncoder) Decode

func (j *JsoniterEncoder) Decode(reader IReader) (interface{}, error)

func (*JsoniterEncoder) Encode

func (j *JsoniterEncoder) Encode(data interface{}, writer IWriter) error

type LinkedByteWriter added in v0.0.2

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

Make a linked list to store byte and convert them to byte array

I'm highly aware that there are data structure library for thing like this Already checked some with 5K and 8K star but they didn't provide a simple and dynamic linked list implementation So i have to make a simple wheel //DEV NOTE Sometime, out smarting the system just isn't worth it, This particular writer is slow, i mean, really slow. Sticking with bytes buffer or even slice append is faster

func NewLinkedByteWriter added in v0.0.2

func NewLinkedByteWriter() *LinkedByteWriter

func (*LinkedByteWriter) GetContent added in v0.0.2

func (l *LinkedByteWriter) GetContent() ([]byte, error)

func (*LinkedByteWriter) GetSize added in v0.0.2

func (l *LinkedByteWriter) GetSize() int

func (*LinkedByteWriter) Write added in v0.0.2

func (l *LinkedByteWriter) Write(data []byte) error

func (*LinkedByteWriter) WriteByte added in v0.0.2

func (l *LinkedByteWriter) WriteByte(data byte) error

func (*LinkedByteWriter) WriteString added in v0.0.3

func (l *LinkedByteWriter) WriteString(data string) error

type ListEncoder

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

func NewListEncoder

func NewListEncoder(valueEncoder *ValueEncoder) *ListEncoder

func NewListInterfaceEncoder added in v0.0.3

func NewListInterfaceEncoder(valueEncoder *ValueEncoder) *ListEncoder

func (*ListEncoder) Decode

func (l *ListEncoder) Decode(reader IReader) (interface{}, error)

func (*ListEncoder) Encode

func (l *ListEncoder) Encode(data interface{}, writer IWriter) error

func (*ListEncoder) EncodeBool added in v0.0.3

func (l *ListEncoder) EncodeBool(data []bool, writer IWriter) error

func (*ListEncoder) EncodeFloat32 added in v0.0.3

func (l *ListEncoder) EncodeFloat32(data []float32, writer IWriter) error

func (*ListEncoder) EncodeFloat64 added in v0.0.3

func (l *ListEncoder) EncodeFloat64(data []float64, writer IWriter) error

func (*ListEncoder) EncodeInt added in v0.0.3

func (l *ListEncoder) EncodeInt(data []int, writer IWriter) error

func (*ListEncoder) EncodeInt16 added in v0.0.3

func (l *ListEncoder) EncodeInt16(data []int16, writer IWriter) error

func (*ListEncoder) EncodeInt32 added in v0.0.3

func (l *ListEncoder) EncodeInt32(data []int32, writer IWriter) error

func (*ListEncoder) EncodeInt64 added in v0.0.3

func (l *ListEncoder) EncodeInt64(data []int64, writer IWriter) error

func (*ListEncoder) EncodeInt8 added in v0.0.3

func (l *ListEncoder) EncodeInt8(data []int8, writer IWriter) error

func (*ListEncoder) EncodeInterface added in v0.0.3

func (l *ListEncoder) EncodeInterface(data []interface{}, writer IWriter) error

func (*ListEncoder) EncodeString added in v0.0.3

func (l *ListEncoder) EncodeString(data []string, writer IWriter) error

func (*ListEncoder) EncodeUint added in v0.0.3

func (l *ListEncoder) EncodeUint(data []uint, writer IWriter) error

func (*ListEncoder) EncodeUint16 added in v0.0.3

func (l *ListEncoder) EncodeUint16(data []uint16, writer IWriter) error

func (*ListEncoder) EncodeUint32 added in v0.0.3

func (l *ListEncoder) EncodeUint32(data []uint32, writer IWriter) error

func (*ListEncoder) EncodeUint64 added in v0.0.3

func (l *ListEncoder) EncodeUint64(data []uint64, writer IWriter) error

func (*ListEncoder) EncodeUint8 added in v0.0.3

func (l *ListEncoder) EncodeUint8(data []uint8, writer IWriter) error

type MapEncoder

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

func NewMapCommonEncoder added in v0.0.3

func NewMapCommonEncoder(valueEncoder *ValueEncoder) *MapEncoder

func NewMapEncoder

func NewMapEncoder(valueEncoder *ValueEncoder) *MapEncoder

func (*MapEncoder) Decode

func (l *MapEncoder) Decode(reader IReader) (interface{}, error)

func (*MapEncoder) Encode

func (l *MapEncoder) Encode(data interface{}, writer IWriter) error

func (*MapEncoder) EncodeInterfaceInterface added in v0.0.3

func (l *MapEncoder) EncodeInterfaceInterface(data map[interface{}]interface{}, writer IWriter) error

func (*MapEncoder) EncodeStringInterface added in v0.0.3

func (l *MapEncoder) EncodeStringInterface(data map[string]interface{}, writer IWriter) error

type SliceReader added in v0.0.2

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

func NewSliceReader added in v0.0.2

func NewSliceReader(slice []byte) *SliceReader

func (*SliceReader) HasData added in v0.0.3

func (s *SliceReader) HasData() bool

func (*SliceReader) Read added in v0.0.2

func (s *SliceReader) Read(count int) ([]byte, error)

func (*SliceReader) ReadByte added in v0.0.2

func (s *SliceReader) ReadByte() (byte, error)

type SliceWriter added in v0.0.2

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

func NewSliceWriter added in v0.0.2

func NewSliceWriter() *SliceWriter

func (*SliceWriter) GetContent added in v0.0.2

func (b *SliceWriter) GetContent() ([]byte, error)

func (*SliceWriter) Write added in v0.0.2

func (b *SliceWriter) Write(datas []byte) error

func (*SliceWriter) WriteByte added in v0.0.2

func (b *SliceWriter) WriteByte(data byte) error

type StringEncoder

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

func NewStringEncoder

func NewStringEncoder() *StringEncoder

func (*StringEncoder) Decode

func (s *StringEncoder) Decode(reader IReader) (interface{}, error)

func (*StringEncoder) Encode

func (s *StringEncoder) Encode(data interface{}, writer IWriter) error

type StructEncoder added in v0.0.3

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

func NewStructEncoder added in v0.0.3

func NewStructEncoder(valueEncoder *ValueEncoder) *StructEncoder

func (*StructEncoder) Decode added in v0.0.3

func (s *StructEncoder) Decode(reader IReader) (interface{}, error)

func (*StructEncoder) Encode added in v0.0.3

func (s *StructEncoder) Encode(data interface{}, writer IWriter) error

type UintEncoder

type UintEncoder struct {
}

func NewUintEncoder

func NewUintEncoder() *UintEncoder

func (*UintEncoder) Decode

func (i *UintEncoder) Decode(reader IReader) (interface{}, error)

func (*UintEncoder) Encode

func (i *UintEncoder) Encode(data interface{}, writer IWriter) error

type UintUniversalEncoder added in v0.0.5

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

func NewUintUniversalEncoder added in v0.0.5

func NewUintUniversalEncoder() *UintUniversalEncoder

A wrapper that convert `uint` data type to `ìnt`

func (*UintUniversalEncoder) Decode added in v0.0.5

func (i *UintUniversalEncoder) Decode(reader IReader) (interface{}, error)

func (*UintUniversalEncoder) Encode added in v0.0.5

func (i *UintUniversalEncoder) Encode(data interface{}, writer IWriter) error

type ValueEncoder

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

func NewValueEncoder

func NewValueEncoder(encoders map[ValueEncoderType]IValueEncoderUnit) *ValueEncoder

func (*ValueEncoder) Decode

func (v *ValueEncoder) Decode(reader IReader) (interface{}, error)

func (*ValueEncoder) Encode

func (s *ValueEncoder) Encode(data interface{}, writer IWriter) error

func (*ValueEncoder) SetEncoder

func (v *ValueEncoder) SetEncoder(dataType ValueEncoderType, encoder IValueEncoderUnit)

type ValueEncoderType

type ValueEncoderType int
const (
	ByteValueEncoder      ValueEncoderType = 1 //Not Implemented
	IntValueEncoder       ValueEncoderType = 2
	UintValueEncoder      ValueEncoderType = 3
	FloatValueEncoder     ValueEncoderType = 4
	ComplexValueEncoder   ValueEncoderType = 5 //Not Implemented
	ByteArrayValueEncoder ValueEncoderType = 6
	StringValueEncoder    ValueEncoderType = 7
	ListValueEncoder      ValueEncoderType = 8
	MapValueEncoder       ValueEncoderType = 9
	BoolValueEncoder      ValueEncoderType = 10
	StructValueEncoder    ValueEncoderType = 11
	GeneralValueEncoder   ValueEncoderType = 255
)

Jump to

Keyboard shortcuts

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