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

Function offsetSingleArray

pointer.go:671–705  ·  view source on GitHub ↗
(dec *json.Decoder, decodedToken string)

Source from the content-addressed store, hash-verified

669}
670
671func offsetSingleArray(dec *json.Decoder, decodedToken string) (int64, error) {
672 if decodedToken == dashToken {
673 return 0, errDashOnOffset()
674 }
675 idx, err := strconv.Atoi(decodedToken)
676 if err != nil {
677 return 0, fmt.Errorf("token reference %q is not a number: %w: %w", decodedToken, err, ErrPointer)
678 }
679 var i int
680 for i = 0; i < idx && dec.More(); i++ {
681 tk, err := dec.Token()
682 if err != nil {
683 return 0, err
684 }
685
686 if delim, isDelim := tk.(json.Delim); isDelim {
687 switch delim {
688 case '{':
689 if err = drainSingle(dec); err != nil {
690 return 0, err
691 }
692 case '[':
693 if err = drainSingle(dec); err != nil {
694 return 0, err
695 }
696 }
697 }
698 }
699
700 if !dec.More() {
701 return 0, fmt.Errorf("token reference %q not found: %w", decodedToken, ErrPointer)
702 }
703
704 return dec.InputOffset(), nil
705}
706
707// drainSingle drains a single level of object or array.
708//

Callers 1

OffsetMethod · 0.85

Calls 2

errDashOnOffsetFunction · 0.85
drainSingleFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…