diff options
Diffstat (limited to 'model/stringNode.go')
-rw-r--r-- | model/stringNode.go | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/model/stringNode.go b/model/stringNode.go index afa4023..b8dfcfb 100644 --- a/model/stringNode.go +++ b/model/stringNode.go @@ -1,5 +1,7 @@ package model +import "fmt" + type StringNode struct { Value string } @@ -11,3 +13,12 @@ func (n StringNode) Type() NodeType { func (n *StringNode) MarshalJSON() ([]byte, error) { return []byte(`"` + n.Value + `"`), nil } + +func (n *StringNode) Set(v any) error { + val, ok := v.(string) + if !ok { + return fmt.Errorf("%v is not string", v) + } + n.Value = val + return nil +} |