From 6f1d1df79f161cfc695f74d271d689ba72c44d09 Mon Sep 17 00:00:00 2001 From: NeonXP Date: Sun, 4 Dec 2022 16:02:03 +0300 Subject: Meta data for objects --- model/node.go | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'model/node.go') 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{ -- cgit v1.2.3