initial commits
parent
f8b713a160
commit
d40fa44b46
|
@ -1,19 +0,0 @@
|
||||||
package rfc8259wholenumber
|
|
||||||
|
|
||||||
import (
|
|
||||||
"sourcecode.social/reiver/go-erorr"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
errNilDestination = erorr.Error("rfc8259: nil destination")
|
|
||||||
errNilRuneScanner = erorr.Error("rfc8259: nil rune-scanner")
|
|
||||||
errUnexpectedEndOfFile = erorr.Error("rfc8259: unexpected end-of-file")
|
|
||||||
)
|
|
||||||
|
|
||||||
func errProblemReadingRune(err error) error {
|
|
||||||
return erorr.Errorf("rfc8259: the JSON parser had a problem — problem reading rune: %w", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
func errProblemUnreadingRune(err error, r rune) error {
|
|
||||||
return erorr.Errorf("rfc8259: the JSON parser had an internal-error — problem unreading rune %q (%U): %w", r, r, err)
|
|
||||||
}
|
|
|
@ -4,6 +4,8 @@ import (
|
||||||
"io"
|
"io"
|
||||||
|
|
||||||
"sourcecode.social/reiver/go-erorr"
|
"sourcecode.social/reiver/go-erorr"
|
||||||
|
|
||||||
|
"sourcecode.social/reiver/go-rfc8259/errors"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Parse tries to parse the JSON whole-number literal.
|
// Parse tries to parse the JSON whole-number literal.
|
||||||
|
@ -37,10 +39,10 @@ import (
|
||||||
// fmt.Printf("dst = %#v\n", dst)
|
// fmt.Printf("dst = %#v\n", dst)
|
||||||
func Parse(runescanner io.RuneScanner, dst *WholeNumber) error {
|
func Parse(runescanner io.RuneScanner, dst *WholeNumber) error {
|
||||||
if nil == runescanner {
|
if nil == runescanner {
|
||||||
return errNilRuneScanner
|
return rfc8259errors.ErrNilRuneScanner
|
||||||
}
|
}
|
||||||
if nil == dst {
|
if nil == dst {
|
||||||
return errNilDestination
|
return rfc8259errors.ErrNilDestination
|
||||||
}
|
}
|
||||||
|
|
||||||
var buffer [256]byte
|
var buffer [256]byte
|
||||||
|
@ -54,9 +56,9 @@ func Parse(runescanner io.RuneScanner, dst *WholeNumber) error {
|
||||||
r, _, err = runescanner.ReadRune()
|
r, _, err = runescanner.ReadRune()
|
||||||
if nil != err {
|
if nil != err {
|
||||||
if io.EOF == err {
|
if io.EOF == err {
|
||||||
return errUnexpectedEndOfFile
|
return rfc8259errors.ErrUnexpectedEndOfFile
|
||||||
}
|
}
|
||||||
return errProblemReadingRune(err)
|
return rfc8259errors.ErrProblemReadingRune(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -79,7 +81,7 @@ func Parse(runescanner io.RuneScanner, dst *WholeNumber) error {
|
||||||
|
|
||||||
r, _, err = runescanner.ReadRune()
|
r, _, err = runescanner.ReadRune()
|
||||||
if nil != err && io.EOF != err {
|
if nil != err && io.EOF != err {
|
||||||
return errProblemReadingRune(err)
|
return rfc8259errors.ErrProblemReadingRune(err)
|
||||||
}
|
}
|
||||||
if io.EOF == err {
|
if io.EOF == err {
|
||||||
/////////////////////// BREAK
|
/////////////////////// BREAK
|
||||||
|
@ -91,7 +93,7 @@ func Parse(runescanner io.RuneScanner, dst *WholeNumber) error {
|
||||||
p = append(p, string(r)...)
|
p = append(p, string(r)...)
|
||||||
default:
|
default:
|
||||||
if err := runescanner.UnreadRune(); nil != err {
|
if err := runescanner.UnreadRune(); nil != err {
|
||||||
return errProblemUnreadingRune(err, r)
|
return rfc8259errors.ErrProblemUnreadingRune(err, r)
|
||||||
}
|
}
|
||||||
/////////////////////// BREAK
|
/////////////////////// BREAK
|
||||||
break loop
|
break loop
|
||||||
|
|
Loading…
Reference in New Issue