用户登录和接口鉴权
This commit is contained in:
		
							
								
								
									
										25
									
								
								vendor/github.com/bytedance/sonic/ast/iterator.go
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										25
									
								
								vendor/github.com/bytedance/sonic/ast/iterator.go
									
									
									
										generated
									
									
										vendored
									
									
								
							| @@ -17,29 +17,19 @@ | ||||
| package ast | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
|     `fmt` | ||||
|  | ||||
| 	"github.com/bytedance/sonic/internal/caching" | ||||
| 	"github.com/bytedance/sonic/internal/native/types" | ||||
|     `github.com/bytedance/sonic/internal/native/types` | ||||
| ) | ||||
|  | ||||
| type Pair struct { | ||||
|     hash  uint64 | ||||
|     Key   string | ||||
|     Value Node | ||||
| } | ||||
|  | ||||
| func NewPair(key string, val Node) Pair { | ||||
|     return Pair{ | ||||
|         hash: caching.StrHash(key), | ||||
|         Key: key, | ||||
|         Value: val, | ||||
|     } | ||||
| } | ||||
|  | ||||
| // Values returns iterator for array's children traversal | ||||
| func (self *Node) Values() (ListIterator, error) { | ||||
|     if err := self.should(types.V_ARRAY); err != nil { | ||||
|     if err := self.should(types.V_ARRAY, "an array"); err != nil { | ||||
|         return ListIterator{}, err | ||||
|     } | ||||
|     return self.values(), nil | ||||
| @@ -51,7 +41,7 @@ func (self *Node) values() ListIterator { | ||||
|  | ||||
| // Properties returns iterator for object's children traversal | ||||
| func (self *Node) Properties() (ObjectIterator, error) { | ||||
|     if err := self.should(types.V_OBJECT); err != nil { | ||||
|     if err := self.should(types.V_OBJECT, "an object"); err != nil { | ||||
|         return ObjectIterator{}, err | ||||
|     } | ||||
|     return self.properties(), nil | ||||
| @@ -173,14 +163,11 @@ type Scanner func(path Sequence, node *Node) bool | ||||
| // ForEach scans one V_OBJECT node's children from JSON head to tail,  | ||||
| // and pass the Sequence and Node of corresponding JSON value. | ||||
| // | ||||
| // Especially, if the node is not V_ARRAY or V_OBJECT, | ||||
| // Especailly, if the node is not V_ARRAY or V_OBJECT,  | ||||
| // the node itself will be returned and Sequence.Index == -1. | ||||
| //  | ||||
| // NOTICE: An unset node WON'T trigger sc, but its index still counts into Path.Index | ||||
| // NOTICE: A unsetted node WON'T trigger sc, but its index still counts into Path.Index | ||||
| func (self *Node) ForEach(sc Scanner) error { | ||||
|     if err := self.checkRaw(); err != nil { | ||||
|         return err | ||||
|     } | ||||
|     switch self.itype() { | ||||
|     case types.V_ARRAY: | ||||
|         iter, err := self.Values() | ||||
|   | ||||
		Reference in New Issue
	
	Block a user