Versions in this module Expand all Collapse all v0 v0.2.0 Jun 15, 2020 v0.1.0 Dec 4, 2019 Changes in this version + const EOI + func IsIdentifierPart(r rune) bool + func IsIdentifierStart(r rune) bool + func NewScanner(path string) *scanner + func Value(val interface{}) interface + type Field interface + BaseType func() reflect.Type + Get func(base interface{}) (interface{}, error) + GetAsValue func(base interface{}) (interface{}, error) + Set func(base interface{}, value interface{}) error + String func() string + Type func() reflect.Type + func NewField(base interface{}, path string) (Field, error) + func RequiredField(base interface{}, path string) Field + type FieldNode struct + func (this *FieldNode) Get(src interface{}) (interface{}, error) + func (this *FieldNode) Next() Node + func (this *FieldNode) Set(src interface{}, val interface{}) error + func (this *FieldNode) String() string + func (this *FieldNode) Type(src interface{}) (reflect.Type, error) + func (this *FieldNode) Validate(src interface{}) error + func (this *FieldNode) ValidateType(src interface{}, val interface{}) error + type Node interface + Get func(interface{}) (interface{}, error) + Next func() Node + Set func(interface{}, interface{}) error + String func() string + Type func(interface{}) (reflect.Type, error) + Validate func(interface{}) error + ValidateType func(interface{}, interface{}) error + func Compile(path string) (Node, error) + func FieldPath(path string) (Node, error) + func NewEntry(index int, next Node) Node + func NewFieldNode(name string, next Node) Node + func NewProjection(path Node, next Node) Node + func NewSelection(path Node, value interface{}, next Node) Node + func NewSlice(start, end int, next Node) Node + type ProjectionNode struct + func (this *ProjectionNode) Get(src interface{}) (interface{}, error) + func (this *ProjectionNode) Next() Node + func (this *ProjectionNode) Set(src interface{}, val interface{}) error + func (this *ProjectionNode) String() string + func (this *ProjectionNode) Type(src interface{}) (reflect.Type, error) + func (this *ProjectionNode) Validate(src interface{}) error + func (this *ProjectionNode) ValidateType(src interface{}, val interface{}) error + type SelectionNode struct + func (this *SelectionNode) Get(src interface{}) (interface{}, error) + func (this *SelectionNode) Next() Node + func (this *SelectionNode) Set(src interface{}, val interface{}) error + func (this *SelectionNode) String() string + func (this *SelectionNode) Type(src interface{}) (reflect.Type, error) + func (this *SelectionNode) Validate(src interface{}) error + func (this *SelectionNode) ValidateType(src interface{}, val interface{}) error + type SliceEntryNode struct + func (this *SliceEntryNode) Get(src interface{}) (interface{}, error) + func (this *SliceEntryNode) Next() Node + func (this *SliceEntryNode) Set(src interface{}, val interface{}) error + func (this *SliceEntryNode) String() string + func (this *SliceEntryNode) Type(src interface{}) (reflect.Type, error) + func (this *SliceEntryNode) Validate(src interface{}) error + func (this *SliceEntryNode) ValidateType(src interface{}, val interface{}) error + type SliceNode struct + func (this *SliceNode) Get(src interface{}) (interface{}, error) + func (this *SliceNode) Next() Node + func (this *SliceNode) Set(src interface{}, val interface{}) error + func (this *SliceNode) String() string + func (this *SliceNode) Type(src interface{}) (reflect.Type, error) + func (this *SliceNode) Validate(src interface{}) error + func (this *SliceNode) ValidateType(src interface{}, val interface{}) error