MCPcopy Index your code
hub / github.com/go-openapi/jsonpointer / drainSingle

Function drainSingle

pointer.go:710–736  ·  view source on GitHub ↗

drainSingle drains a single level of object or array. The decoder has to guarantee the beginning delim (i.e. '{' or '[') has been consumed.

(dec *json.Decoder)

Source from the content-addressed store, hash-verified

708//
709// The decoder has to guarantee the beginning delim (i.e. '{' or '[') has been consumed.
710func drainSingle(dec *json.Decoder) error {
711 for dec.More() {
712 tk, err := dec.Token()
713 if err != nil {
714 return err
715 }
716 if delim, isDelim := tk.(json.Delim); isDelim {
717 switch delim {
718 case '{':
719 if err = drainSingle(dec); err != nil {
720 return err
721 }
722 case '[':
723 if err = drainSingle(dec); err != nil {
724 return err
725 }
726 }
727 }
728 }
729
730 // consumes the ending delim
731 if _, err := dec.Token(); err != nil {
732 return err
733 }
734
735 return nil
736}
737
738// JSON pointer encoding: ~0 => ~ ~1 => / ... and vice versa.
739

Callers 2

offsetSingleObjectFunction · 0.85
offsetSingleArrayFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…