aboutsummaryrefslogtreecommitdiff
path: root/model/node.go
diff options
context:
space:
mode:
authorNeonXP <i@neonxp.dev>2022-12-27 02:37:02 +0300
committerNeonXP <i@neonxp.dev>2022-12-27 02:40:03 +0300
commit76a7f461ebbde70ea0e3d4f9b79c08139acaee7c (patch)
tree5e6dcb05f00be5109b3465ef16a6e9169a27497e /model/node.go
parent6f1d1df79f161cfc695f74d271d689ba72c44d09 (diff)
Completely rewritedv0.1.0
Diffstat (limited to 'model/node.go')
-rw-r--r--model/node.go44
1 files changed, 0 insertions, 44 deletions
diff --git a/model/node.go b/model/node.go
deleted file mode 100644
index fb6bae5..0000000
--- a/model/node.go
+++ /dev/null
@@ -1,44 +0,0 @@
-package model
-
-// Node of JSON tree
-type Node interface {
- Type() NodeType
- MarshalJSON() ([]byte, error)
- Set(v any) error
-}
-
-// NewNode creates new node from value
-func NewNode(value any) Node {
- if value, ok := value.(Node); ok {
- return value
- }
- switch value := value.(type) {
- case string:
- return &StringNode{
- Value: value,
- }
- case float64:
- return &NumberNode{
- Value: value,
- }
- case int:
- return &NumberNode{
- Value: float64(value),
- }
- case NodeObjectValue:
- return &ObjectNode{
- Value: value,
- Meta: make(map[string]any),
- }
- case NodeArrayValue:
- return &ArrayNode{
- Value: value,
- }
- case bool:
- return &BooleanNode{
- Value: value,
- }
- default:
- return NullNode{}
- }
-}