hyperjson

package
v1.10.2 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2021 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func OffsetOf

func OffsetOf(value interface{}, field string) uintptr

func StringValueDecoder

func StringValueDecoder(target unsafe.Pointer, p *Parser) error

func Uint64ValueDecoder

func Uint64ValueDecoder(target unsafe.Pointer, p *Parser) error

Types

type ArrayConsumer

type ArrayConsumer func() error

type Field

type Field struct {
	JsonName string
	Offset   uintptr
	Decoder  ValueDecoder
}

type ObjectConsumer

type ObjectConsumer func(key []byte) error

The key parameter must be used before calling any other method on the parser

type Parser

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

func NewWithBytes

func NewWithBytes(buf []byte) *Parser

func NewWithReader

func NewWithReader(r io.Reader, buf []byte) *Parser

func (*Parser) ConsumeArrayBegin

func (p *Parser) ConsumeArrayBegin() error

func (*Parser) ConsumeArrayEnd

func (p *Parser) ConsumeArrayEnd() error

func (*Parser) ConsumeObjectBegin

func (p *Parser) ConsumeObjectBegin() error

func (*Parser) ConsumeObjectEnd

func (p *Parser) ConsumeObjectEnd() error

func (*Parser) NextType

func (p *Parser) NextType() (Type, error)

func (*Parser) ReadArray

func (p *Parser) ReadArray(consumer ArrayConsumer) error

func (*Parser) ReadBoolean

func (p *Parser) ReadBoolean() (Token, error)

func (*Parser) ReadLiteral

func (p *Parser) ReadLiteral() (Token, error)

func (*Parser) ReadNull

func (p *Parser) ReadNull() (Token, error)

func (*Parser) ReadNumber

func (p *Parser) ReadNumber() (Token, error)

func (*Parser) ReadObject

func (p *Parser) ReadObject(consumer ObjectConsumer) error

func (*Parser) ReadString

func (p *Parser) ReadString() (Token, error)

func (*Parser) Skip

func (p *Parser) Skip() error

type Token

type Token struct {
	Type  Type
	Value []byte
}

type Type

type Type uint8
const (
	TypeError Type = iota
	TypeNull
	TypeObjectBegin
	TypeObjectEnd
	TypeArrayBegin
	TypeArrayEnd
	TypeBoolean
	TypeNumber
	TypeString
)

func (Type) String

func (i Type) String() string

type ValueDecoder

type ValueDecoder func(target unsafe.Pointer, p *Parser) error

func MakeArrayDecoder

func MakeArrayDecoder(arrayType reflect2.ArrayType, decoder ValueDecoder) ValueDecoder

func MakeMapDecoder

func MakeMapDecoder(keyDecoder, valueDecoder ValueDecoder) ValueDecoder

func MakeSliceDecoder

func MakeSliceDecoder(sliceType reflect2.SliceType, decoder ValueDecoder) ValueDecoder

func MakeStructDecoder

func MakeStructDecoder(fields []Field) ValueDecoder

Jump to

Keyboard shortcuts

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