(buf *bytes.Buffer, e jEntry, b []byte)
| 188 | } |
| 189 | |
| 190 | func formatEncodedJSONValue(buf *bytes.Buffer, e jEntry, b []byte) ([]byte, error) { |
| 191 | switch e.typCode { |
| 192 | case trueTag: |
| 193 | TrueJSONValue.Format(buf) |
| 194 | case falseTag: |
| 195 | FalseJSONValue.Format(buf) |
| 196 | case nullTag: |
| 197 | NullJSONValue.Format(buf) |
| 198 | case stringTag: |
| 199 | s := unsafeJSONString(b[:e.length]) |
| 200 | s.Format(buf) |
| 201 | b = b[e.length:] |
| 202 | case numberTag: |
| 203 | var d jsonNumber |
| 204 | var err error |
| 205 | b, d, err = decodeJSONNumber(b) |
| 206 | if err != nil { |
| 207 | return nil, err |
| 208 | } |
| 209 | d.Format(buf) |
| 210 | case containerTag: |
| 211 | return formatEncodedJSON(buf, b) |
| 212 | default: |
| 213 | return nil, errors.AssertionFailedf( |
| 214 | "error decoding JSON value, unexpected type code: %d", errors.Safe(e.typCode)) |
| 215 | } |
| 216 | return b, nil |
| 217 | } |
| 218 | |
| 219 | func unsafeJSONString(b []byte) jsonString { |
| 220 | return jsonString(encoding.UnsafeConvertBytesToString(b)) |
no test coverage detected
searching dependent graphs…