diff options
author | Luke Shumaker <lukeshu@datawire.io> | 2022-08-14 20:52:06 -0600 |
---|---|---|
committer | Luke Shumaker <lukeshu@datawire.io> | 2022-08-15 00:28:47 -0600 |
commit | 58b7df5e9f1c0d4858528f326440599620a8c1fb (patch) | |
tree | dcbe104b42ff22debe4adf767ff1fe69785aa394 /decode.go | |
parent | 25d0b8365020ef4051dffd4f7704328402914613 (diff) |
Create a compat/json compatibility library
Diffstat (limited to 'decode.go')
-rw-r--r-- | decode.go | 20 |
1 files changed, 7 insertions, 13 deletions
@@ -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 } |