format

package
v0.0.5 Latest Latest
Warning

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

Go to latest
Published: Jul 4, 2023 License: GPL-3.0 Imports: 7 Imported by: 31

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Convert

func Convert[V1 any, V2 any](
	v V1,
	v1 Format[V1],
	v2 Format[V2],
) (V2, error)

assuming byte compatibility, i.e. bytes <-> proto, string <-> json

Types

type Base64Format

type Base64Format struct {
}

func (Base64Format) Default

func (helper Base64Format) Default() string

func (Base64Format) FromJson

func (helper Base64Format) FromJson(value []byte) (string, error)

func (Base64Format) Marshal

func (helper Base64Format) Marshal(value string) ([]byte, error)

func (Base64Format) ToJson

func (helper Base64Format) ToJson(value string) ([]byte, error)

func (Base64Format) Unmarshal

func (helper Base64Format) Unmarshal(value []byte) (string, error)

type BytesFormat

type BytesFormat struct {
}

func (BytesFormat) Default

func (helper BytesFormat) Default() []byte

func (BytesFormat) FromJson

func (helper BytesFormat) FromJson(value []byte) ([]byte, error)

func (BytesFormat) Marshal

func (helper BytesFormat) Marshal(value []byte) ([]byte, error)

func (BytesFormat) ToJson

func (helper BytesFormat) ToJson(value []byte) ([]byte, error)

func (BytesFormat) Unmarshal

func (helper BytesFormat) Unmarshal(value []byte) ([]byte, error)

type BytesJson

type BytesJson struct {
	Message string
}

type Format

type Format[T any] interface {
	Default() T
	Marshal(T) ([]byte, error)
	Unmarshal([]byte) (T, error)
	ToJson(T) ([]byte, error)
	FromJson([]byte) (T, error)
}

bytes format

func Base64

func Base64() Format[string]

func Bytes

func Bytes() Format[[]byte]

func Json

func Json[T any]() Format[T]

func Protobuf

func Protobuf[T proto.Message]() Format[T]

func String

func String() Format[string]

func Yaml

func Yaml[T any]() Format[T]

type JsonFormat

type JsonFormat[T any] struct{}

func (JsonFormat[T]) Default

func (helper JsonFormat[T]) Default() T

func (JsonFormat[T]) FromJson

func (helper JsonFormat[T]) FromJson(value []byte) (T, error)

func (JsonFormat[T]) Marshal

func (helper JsonFormat[T]) Marshal(value T) ([]byte, error)

func (JsonFormat[T]) ToJson

func (helper JsonFormat[T]) ToJson(value T) ([]byte, error)

func (JsonFormat[T]) Unmarshal

func (helper JsonFormat[T]) Unmarshal(value []byte) (T, error)

type ProtobufFormat

type ProtobufFormat[T proto.Message] struct{}

func (ProtobufFormat[T]) Default

func (helper ProtobufFormat[T]) Default() T

func (ProtobufFormat[T]) FromJson

func (helper ProtobufFormat[T]) FromJson(value []byte) (T, error)

func (ProtobufFormat[T]) Marshal

func (helper ProtobufFormat[T]) Marshal(value T) ([]byte, error)

func (ProtobufFormat[T]) ToJson

func (helper ProtobufFormat[T]) ToJson(value T) ([]byte, error)

func (ProtobufFormat[T]) Unmarshal

func (helper ProtobufFormat[T]) Unmarshal(value []byte) (T, error)

type StringFormat

type StringFormat struct {
}

func (StringFormat) Default

func (helper StringFormat) Default() string

func (StringFormat) FromJson

func (helper StringFormat) FromJson(value []byte) (string, error)

func (StringFormat) Marshal

func (helper StringFormat) Marshal(value string) ([]byte, error)

func (StringFormat) ToJson

func (helper StringFormat) ToJson(value string) ([]byte, error)

func (StringFormat) Unmarshal

func (helper StringFormat) Unmarshal(value []byte) (string, error)

type StringJson

type StringJson struct {
	Message string
}

type YamlFormat

type YamlFormat[T any] struct{}

func (YamlFormat[T]) Default

func (helper YamlFormat[T]) Default() T

func (YamlFormat[T]) FromJson

func (helper YamlFormat[T]) FromJson(value []byte) (T, error)

func (YamlFormat[T]) Marshal

func (helper YamlFormat[T]) Marshal(value T) ([]byte, error)

func (YamlFormat[T]) ToJson

func (helper YamlFormat[T]) ToJson(value T) ([]byte, error)

func (YamlFormat[T]) Unmarshal

func (helper YamlFormat[T]) Unmarshal(value []byte) (T, error)

Jump to

Keyboard shortcuts

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