serialization

package
v0.0.0-...-8dfeaa5 Latest Latest
Warning

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

Go to latest
Published: Oct 29, 2023 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Deserialize

func Deserialize(serializer Serializer, typeName string, r io.Reader) (any, error)

func DeserializeFromText

func DeserializeFromText(serializer Serializer, typeName string, text string) (any, error)

func GetType

func GetType(typeName string) (reflect.Type, error)

GetType to get struct type that has mapped by type name.

func Map

func Map[T any]()

Map struct type to type's name.

Use T.TypeName() as type's name if T implements interface{TypeName() string}, else use struct type's name. Thread unsafe, should be invoked at startup.

func NewFromTypeName

func NewFromTypeName(typeName string) (reflect.Value, error)

NewFromTypeName to new struct value that has mapped by type name.

func Serialize

func Serialize(serializer Serializer, r io.Writer, v any) error

func SerializeToText

func SerializeToText(serializer Serializer, v any) (string, error)

Types

type BinarySerializer

type BinarySerializer interface {
	Serializer
	BinarySerializer()
}

func DefaultBinary

func DefaultBinary() BinarySerializer

type GobSerializer

type GobSerializer struct {
}

func (*GobSerializer) BinarySerializer

func (s *GobSerializer) BinarySerializer()

func (*GobSerializer) Deserialize

func (s *GobSerializer) Deserialize(r io.Reader, v any) error

func (*GobSerializer) Serialize

func (s *GobSerializer) Serialize(w io.Writer, v any) error

type JsonSerializer

type JsonSerializer struct {
}

func (*JsonSerializer) Deserialize

func (s *JsonSerializer) Deserialize(r io.Reader, v any) error

func (*JsonSerializer) Serialize

func (s *JsonSerializer) Serialize(w io.Writer, v any) error

func (*JsonSerializer) TextSerializer

func (s *JsonSerializer) TextSerializer()

type Serializable

type Serializable interface {
	TypeName() string
}

type Serializer

type Serializer interface {
	Serialize(w io.Writer, v any) error
	Deserialize(r io.Reader, v any) error
}

type TextSerializer

type TextSerializer interface {
	Serializer
	TextSerializer()
}

func DefaultText

func DefaultText() TextSerializer

Jump to

Keyboard shortcuts

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