diff options
Diffstat (limited to 'reencode.go')
-rw-r--r-- | reencode.go | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/reencode.go b/reencode.go index f100275..32796f6 100644 --- a/reencode.go +++ b/reencode.go @@ -72,9 +72,9 @@ type ReEncoderConfig struct { // bufio.Writer. func NewReEncoder(out io.Writer, cfg ReEncoderConfig) *ReEncoder { return &ReEncoder{ - ReEncoderConfig: cfg, - out: fastio.NewAllWriter(out), - specu: new(speculation), + cfg: cfg, + out: fastio.NewAllWriter(out), + specu: new(speculation), } } @@ -87,7 +87,7 @@ func NewReEncoder(out io.Writer, cfg ReEncoderConfig) *ReEncoder { // // The memory use of a ReEncoder is O(CompactIfUnder+depth). type ReEncoder struct { - ReEncoderConfig + cfg ReEncoderConfig out fastio.AllWriter // state: .Write's and .WriteString's utf8-decoding buffer @@ -239,7 +239,7 @@ func (enc *ReEncoder) Close() error { } return enc.err } - if enc.AllowMultipleValues { + if enc.cfg.AllowMultipleValues { enc.par.Reset() } } @@ -283,7 +283,7 @@ rehandle: return enc.written, enc.err } if t == jsonparse.RuneTypeEOF { - if enc.AllowMultipleValues && len(enc.barriers) == 0 { + if enc.cfg.AllowMultipleValues && len(enc.barriers) == 0 { enc.par.Reset() goto rehandle } else { @@ -328,7 +328,7 @@ func (enc *ReEncoder) stackSize() int { } func (enc *ReEncoder) handleRune(c rune, t jsonparse.RuneType, stackSize int) error { - if enc.CompactIfUnder == 0 || enc.Compact || enc.Indent == "" { + if enc.cfg.CompactIfUnder == 0 || enc.cfg.Compact || enc.cfg.Indent == "" { return enc.handleRuneNoSpeculation(c, t) } @@ -342,10 +342,10 @@ func (enc *ReEncoder) handleRune(c rune, t jsonparse.RuneType, stackSize int) er enc.specu.speculating = true enc.specu.endWhenStackSize = stackSize - 1 enc.specu.fmt = ReEncoder{ - ReEncoderConfig: enc.ReEncoderConfig, - out: &enc.specu.compact, + cfg: enc.cfg, + out: &enc.specu.compact, } - enc.specu.fmt.Compact = true + enc.specu.fmt.cfg.Compact = true enc.specu.buf = append(enc.specu.buf, inputTuple{ c: c, t: t, @@ -369,7 +369,7 @@ func (enc *ReEncoder) handleRune(c rune, t jsonparse.RuneType, stackSize int) er return err } switch { - case enc.specu.compact.Len() >= enc.CompactIfUnder: // stop speculating; use indent + case enc.specu.compact.Len() >= enc.cfg.CompactIfUnder: // stop speculating; use indent buf := append([]inputTuple(nil), enc.specu.buf...) enc.specu.Reset() if err := enc.handleRuneMain(buf[0].c, buf[0].t); err != nil { @@ -414,7 +414,7 @@ func (enc *ReEncoder) handleRunePre(c rune, t jsonparse.RuneType) (error, bool) if err := enc.emitByte('\n'); err != nil { return err, false } - case enc.Indent != "" && !enc.Compact: + case enc.cfg.Indent != "" && !enc.cfg.Compact: if err := enc.emitByte('\n'); err != nil { return err, false } @@ -458,11 +458,11 @@ func (enc *ReEncoder) handleRunePre(c rune, t jsonparse.RuneType) (error, bool) // whitespace switch { - case enc.Compact: + case enc.cfg.Compact: if t == jsonparse.RuneTypeSpace { return nil, false } - case enc.Indent != "": + case enc.cfg.Indent != "": switch t { case jsonparse.RuneTypeSpace: // let us manage whitespace, don't pass it through @@ -500,7 +500,7 @@ func (enc *ReEncoder) handleRunePre(c rune, t jsonparse.RuneType) (error, bool) // handleRuneMain handles the new rune itself, not buffered things. func (enc *ReEncoder) handleRuneMain(c rune, t jsonparse.RuneType) error { - escaper := enc.BackslashEscape + escaper := enc.cfg.BackslashEscape if escaper == nil { escaper = EscapeDefault } @@ -549,7 +549,7 @@ func (enc *ReEncoder) handleRuneMain(c rune, t jsonparse.RuneType) error { case jsonparse.RuneTypeEOF: // EOF implied by the start of the next top-level value enc.wasNumber = enc.lastNonSpace.IsNumber() switch { - case enc.ForceTrailingNewlines && len(enc.barriers) == 0: + case enc.cfg.ForceTrailingNewlines && len(enc.barriers) == 0: t = jsonparse.RuneTypeError // enc.lastNonSpace : an NL isn't needed (we already printed one) err = enc.emitByte('\n') default: @@ -585,13 +585,13 @@ func (enc *ReEncoder) emitNlIndent() error { if err := enc.emitByte('\n'); err != nil { return err } - if enc.Prefix != "" { - if err := enc.emit(enc.out.WriteString(enc.Prefix)); err != nil { + if enc.cfg.Prefix != "" { + if err := enc.emit(enc.out.WriteString(enc.cfg.Prefix)); err != nil { return err } } for i := 0; i < enc.curIndent; i++ { - if err := enc.emit(enc.out.WriteString(enc.Indent)); err != nil { + if err := enc.emit(enc.out.WriteString(enc.cfg.Indent)); err != nil { return err } } |