mirror of
https://github.com/hanzoai/expr.git
synced 2026-09-24 16:58:58 +00:00
Better map ast printing
This commit is contained in:
+7
-1
@@ -202,5 +202,11 @@ func (n *MapNode) String() string {
|
||||
}
|
||||
|
||||
func (n *PairNode) String() string {
|
||||
return fmt.Sprintf("%s: %s", n.Key.String(), n.Value.String())
|
||||
if str, ok := n.Key.(*StringNode); ok {
|
||||
if utils.IsValidIdentifier(str.Value) {
|
||||
return fmt.Sprintf("%s: %s", str.Value, n.Value.String())
|
||||
}
|
||||
return fmt.Sprintf("%q: %s", str.String(), n.Value.String())
|
||||
}
|
||||
return fmt.Sprintf("(%s): %s", n.Key.String(), n.Value.String())
|
||||
}
|
||||
|
||||
+3
-2
@@ -55,8 +55,8 @@ func TestPrint(t *testing.T) {
|
||||
{`func(a)`, `func(a)`},
|
||||
{`func(a, b)`, `func(a, b)`},
|
||||
{`{}`, `{}`},
|
||||
{`{a: b}`, `{"a": b}`},
|
||||
{`{a: b, c: d}`, `{"a": b, "c": d}`},
|
||||
{`{a: b}`, `{a: b}`},
|
||||
{`{a: b, c: d}`, `{a: b, c: d}`},
|
||||
{`[]`, `[]`},
|
||||
{`[a]`, `[a]`},
|
||||
{`[a, b]`, `[a, b]`},
|
||||
@@ -71,6 +71,7 @@ func TestPrint(t *testing.T) {
|
||||
{`a[1:]`, `a[1:]`},
|
||||
{`a[:]`, `a[:]`},
|
||||
{`(nil ?? 1) > 0`, `(nil ?? 1) > 0`},
|
||||
{`{("a" + "b"): 42}`, `{("a" + "b"): 42}`},
|
||||
}
|
||||
|
||||
for _, tt := range tests {
|
||||
|
||||
Reference in New Issue
Block a user