aboutsummaryrefslogtreecommitdiff
path: root/model/node.go
diff options
context:
space:
mode:
authorNeonXP <i@neonxp.dev>2022-12-04 16:02:03 +0300
committerNeonXP <i@neonxp.dev>2022-12-04 16:02:03 +0300
commit6f1d1df79f161cfc695f74d271d689ba72c44d09 (patch)
treef82a8d091629842613b241ca73f3d4259612f693 /model/node.go
parent0d431048d3e68609b90306efd9ed015143ae651f (diff)
Meta data for objectsv0.0.4
Diffstat (limited to 'model/node.go')
-rw-r--r--model/node.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/model/node.go b/model/node.go
index 9a55dae..fb6bae5 100644
--- a/model/node.go
+++ b/model/node.go
@@ -9,6 +9,9 @@ type Node interface {
// 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{
@@ -25,6 +28,7 @@ func NewNode(value any) Node {
case NodeObjectValue:
return &ObjectNode{
Value: value,
+ Meta: make(map[string]any),
}
case NodeArrayValue:
return &ArrayNode{