From 58b7df5e9f1c0d4858528f326440599620a8c1fb Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 14 Aug 2022 20:52:06 -0600 Subject: Create a compat/json compatibility library --- decode.go | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) (limited to 'decode.go') diff --git a/decode.go b/decode.go index 0769bc7..8426526 100644 --- a/decode.go +++ b/decode.go @@ -27,8 +27,7 @@ type runeBuffer interface { } type Decoder struct { - io runeTypeScanner - buf *bufio.Reader + io runeTypeScanner // config disallowUnknownFields bool @@ -39,23 +38,18 @@ type Decoder struct { stack []any } -var forceBufio bool // used by the tests to implement .Buffered() - func NewDecoder(r io.Reader) *Decoder { rr, ok := r.(io.RuneReader) - var ret Decoder - if forceBufio || !ok { + if !ok { rr = bufio.NewReader(r) - if forceBufio { - ret.buf = rr.(*bufio.Reader) - } } - ret.io = &noWSRuneTypeScanner{ - inner: &runeTypeScannerImpl{ - inner: rr, + return &Decoder{ + io: &noWSRuneTypeScanner{ + inner: &runeTypeScannerImpl{ + inner: rr, + }, }, } - return &ret } func (dec *Decoder) DisallowUnknownFields() { dec.disallowUnknownFields = true } -- cgit v1.2.3-2-g168b