(cfg EncoderConfig, spaced bool)
| 79 | } |
| 80 | |
| 81 | func newJSONEncoder(cfg EncoderConfig, spaced bool) *jsonEncoder { |
| 82 | if cfg.SkipLineEnding { |
| 83 | cfg.LineEnding = "" |
| 84 | } else if cfg.LineEnding == "" { |
| 85 | cfg.LineEnding = DefaultLineEnding |
| 86 | } |
| 87 | |
| 88 | // If no EncoderConfig.NewReflectedEncoder is provided by the user, then use default |
| 89 | if cfg.NewReflectedEncoder == nil { |
| 90 | cfg.NewReflectedEncoder = defaultReflectedEncoder |
| 91 | } |
| 92 | |
| 93 | return &jsonEncoder{ |
| 94 | EncoderConfig: &cfg, |
| 95 | buf: bufferpool.Get(), |
| 96 | spaced: spaced, |
| 97 | } |
| 98 | } |
| 99 | |
| 100 | func (enc *jsonEncoder) AddArray(key string, arr ArrayMarshaler) error { |
| 101 | enc.addKey(key) |
no test coverage detected