From 0d431048d3e68609b90306efd9ed015143ae651f Mon Sep 17 00:00:00 2001 From: NeonXP Date: Mon, 21 Nov 2022 04:46:32 +0300 Subject: added set method --- model/numberNode.go | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'model/numberNode.go') diff --git a/model/numberNode.go b/model/numberNode.go index e1bffd9..b61b63c 100644 --- a/model/numberNode.go +++ b/model/numberNode.go @@ -1,6 +1,9 @@ package model -import "strconv" +import ( + "fmt" + "strconv" +) type NumberNode struct { Value float64 @@ -13,3 +16,13 @@ func (n NumberNode) Type() NodeType { func (n *NumberNode) MarshalJSON() ([]byte, error) { return []byte(strconv.FormatFloat(n.Value, 'g', -1, 64)), nil } + +func (n *NumberNode) Set(v any) error { + switch v := v.(type) { + case float64: + n.Value = v + case int: + n.Value = float64(v) + } + return fmt.Errorf("%v is not number", v) +} -- cgit v1.2.3