Encode an array or non-nil slice.
(v reflect.Value, enc Encoder)
| 209 | |
| 210 | // Encode an array or non-nil slice. |
| 211 | func encodeList(v reflect.Value, enc Encoder) error { |
| 212 | // Byte slices encode specially. |
| 213 | if v.Type().Kind() == reflect.Slice && v.Type().Elem().Kind() == reflect.Uint8 { |
| 214 | enc.EncodeBytes(v.Bytes()) |
| 215 | return nil |
| 216 | } |
| 217 | n := v.Len() |
| 218 | enc2 := enc.EncodeList(n) |
| 219 | for i := range n { |
| 220 | if err := encode(v.Index(i), enc2); err != nil { |
| 221 | return err |
| 222 | } |
| 223 | enc2.ListIndex(i) |
| 224 | } |
| 225 | return nil |
| 226 | } |
| 227 | |
| 228 | // Encode a map. |
| 229 | func encodeMap(v reflect.Value, enc Encoder) error { |
no test coverage detected