model

package
v0.0.4 Latest Latest
Warning

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

Go to latest
Published: Dec 4, 2022 License: GPL-3.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ArrayNode

type ArrayNode struct {
	Value NodeArrayValue
}

func (*ArrayNode) Index added in v0.0.3

func (n *ArrayNode) Index(idx int) (Node, error)

func (*ArrayNode) Len added in v0.0.3

func (n *ArrayNode) Len() int

func (*ArrayNode) MarshalJSON added in v0.0.3

func (n *ArrayNode) MarshalJSON() ([]byte, error)

func (*ArrayNode) Merge added in v0.0.3

func (n *ArrayNode) Merge(n2 *ArrayNode)

func (*ArrayNode) Set added in v0.0.4

func (n *ArrayNode) Set(v any) error

func (ArrayNode) Type added in v0.0.3

func (n ArrayNode) Type() NodeType

type BooleanNode

type BooleanNode struct {
	Value bool
}

func (*BooleanNode) MarshalJSON added in v0.0.3

func (n *BooleanNode) MarshalJSON() ([]byte, error)

func (*BooleanNode) Set added in v0.0.4

func (n *BooleanNode) Set(v any) error

func (BooleanNode) Type added in v0.0.3

func (n BooleanNode) Type() NodeType

type Node

type Node interface {
	Type() NodeType
	MarshalJSON() ([]byte, error)
	Set(v any) error
}

Node of JSON tree

func NewNode

func NewNode(value any) Node

NewNode creates new node from value

func Query added in v0.0.3

func Query(n Node, query []string) (Node, error)

Query returns node by array query

type NodeArrayValue

type NodeArrayValue []Node

type NodeObjectValue

type NodeObjectValue map[string]Node

func (NodeObjectValue) Set

func (n NodeObjectValue) Set(k string, v any) error

type NodeType

type NodeType string
const (
	StringType  NodeType = "string"
	NumberType  NodeType = "number"
	ObjectType  NodeType = "object"
	ArrayType   NodeType = "array"
	BooleanType NodeType = "boolean"
	NullType    NodeType = "null"
)

type NullNode

type NullNode struct{}

func (NullNode) MarshalJSON added in v0.0.3

func (n NullNode) MarshalJSON() ([]byte, error)

func (NullNode) Set added in v0.0.4

func (n NullNode) Set(v any) error

func (NullNode) Type added in v0.0.3

func (n NullNode) Type() NodeType

type NumberNode

type NumberNode struct {
	Value float64
}

func (*NumberNode) MarshalJSON added in v0.0.3

func (n *NumberNode) MarshalJSON() ([]byte, error)

func (*NumberNode) Set added in v0.0.4

func (n *NumberNode) Set(v any) error

func (NumberNode) Type added in v0.0.3

func (n NumberNode) Type() NodeType

type ObjectNode

type ObjectNode struct {
	Value NodeObjectValue
	Meta  map[string]any
}

func (*ObjectNode) Get added in v0.0.3

func (n *ObjectNode) Get(k string) (Node, error)

func (*ObjectNode) Len added in v0.0.3

func (n *ObjectNode) Len() int

func (*ObjectNode) MarshalJSON added in v0.0.3

func (n *ObjectNode) MarshalJSON() ([]byte, error)

func (*ObjectNode) Merge added in v0.0.3

func (n *ObjectNode) Merge(n2 *ObjectNode)

func (*ObjectNode) Remove added in v0.0.4

func (n *ObjectNode) Remove(key string)

func (*ObjectNode) Set added in v0.0.3

func (n *ObjectNode) Set(v any) error

func (ObjectNode) Type added in v0.0.3

func (n ObjectNode) Type() NodeType

type StringNode

type StringNode struct {
	Value string
}

func (*StringNode) MarshalJSON added in v0.0.3

func (n *StringNode) MarshalJSON() ([]byte, error)

func (*StringNode) Set added in v0.0.4

func (n *StringNode) Set(v any) error

func (StringNode) Type added in v0.0.3

func (n StringNode) Type() NodeType

Jump to

Keyboard shortcuts

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