MCPcopy Index your code
hub / github.com/getsops/sops / sliceFromJSONDecoder

Method sliceFromJSONDecoder

stores/json/store.go:104–133  ·  view source on GitHub ↗
(dec *json.Decoder)

Source from the content-addressed store, hash-verified

102}
103
104func (store Store) sliceFromJSONDecoder(dec *json.Decoder) ([]interface{}, error) {
105 var slice []interface{}
106 for {
107 t, err := dec.Token()
108 if err != nil {
109 return slice, err
110 }
111 if delim, ok := t.(json.Delim); ok && delim.String() == "]" {
112 return slice, nil
113 } else if ok && delim.String() == "{" {
114 item, err := store.treeBranchFromJSONDecoder(dec)
115 if err != nil {
116 return slice, err
117 }
118 slice = append(slice, item)
119 } else if ok && delim.String() == "[" {
120 item, err := store.sliceFromJSONDecoder(dec)
121 if err != nil {
122 return slice, err
123 }
124 slice = append(slice, item)
125 } else {
126 v, err := normalizeJSONNumber(t)
127 if err != nil {
128 return slice, err
129 }
130 slice = append(slice, v)
131 }
132 }
133}
134
135// normalizeJSONNumber converts a json.Number scalar (produced because the
136// decoder runs with UseNumber) into an int for integers within the int64 range

Callers 1

Implementers 5

Storestores/dotenv/store.go
Storestores/ini/store.go
Storestores/yaml/store.go
Storestores/json/store.go
BinaryStorestores/json/store.go

Calls 3

normalizeJSONNumberFunction · 0.85
StringMethod · 0.45

Tested by

no test coverage detected