From 7c82bffb2db973c774dda1e6e98bb2c4eca780aa Mon Sep 17 00:00:00 2001 From: "duanyi.aster" Date: Thu, 10 Aug 2023 16:41:50 +0800 Subject: [PATCH] Break Change: drop ast.Node API `UnsafeArray()` and `UnsafeMap()` --- ast/node.go | 36 +++++++++++----------- ast/node_test.go | 74 ++++++++++++++++++++++----------------------- ast/visitor_test.go | 27 ++++++++++------- 3 files changed, 71 insertions(+), 66 deletions(-) diff --git a/ast/node.go b/ast/node.go index 47272426c..444c8fe42 100644 --- a/ast/node.go +++ b/ast/node.go @@ -821,15 +821,15 @@ func (self *Node) MapUseNode() (map[string]Node, error) { // WARN: don't use it unless you know what you are doing // // Deprecated: this API now returns copied nodes instead of directly reference, -func (self *Node) UnsafeMap() ([]Pair, error) { - if err := self.should(types.V_OBJECT, "an object"); err != nil { - return nil, err - } - if err := self.skipAllKey(); err != nil { - return nil, err - } - return self.toGenericObjectUsePair() -} +// func (self *Node) UnsafeMap() ([]Pair, error) { +// if err := self.should(types.V_OBJECT, "an object"); err != nil { +// return nil, err +// } +// if err := self.skipAllKey(); err != nil { +// return nil, err +// } +// return self.toGenericObjectUsePair() +// } func (self *Node) unsafeMap() (*linkedPairs, error) { if err := self.should(types.V_OBJECT, "an object"); err != nil { @@ -935,15 +935,15 @@ func (self *Node) ArrayUseNode() ([]Node, error) { // // Deprecated: this API now returns copied nodes instead of directly reference, // which has no difference with ArrayUseNode -func (self *Node) UnsafeArray() ([]Node, error) { - if err := self.should(types.V_ARRAY, "an array"); err != nil { - return nil, err - } - if err := self.skipAllIndex(); err != nil { - return nil, err - } - return self.toGenericArrayUseNode() -} +// func (self *Node) UnsafeArray() ([]Node, error) { +// if err := self.should(types.V_ARRAY, "an array"); err != nil { +// return nil, err +// } +// if err := self.skipAllIndex(); err != nil { +// return nil, err +// } +// return self.toGenericArrayUseNode() +// } func (self *Node) unsafeArray() (*linkedNodes, error) { if err := self.should(types.V_ARRAY, "an array"); err != nil { diff --git a/ast/node_test.go b/ast/node_test.go index ef24659d2..c6dce5332 100644 --- a/ast/node_test.go +++ b/ast/node_test.go @@ -690,44 +690,44 @@ func TestUnset(t *testing.T) { } -func TestUnsafeNode(t *testing.T) { - str, loop := getTestIteratorSample(_DEFAULT_NODE_CAP) - - root, err := NewSearcher(str).GetByPath("array") - if err != nil { - t.Fatal(err) - } - a, _ := root.UnsafeArray() - if len(a) != loop { - t.Fatalf("exp:%v, got:%v", loop, len(a)) - } - for i := int64(0); i