initial commits

master
Charles Iliya Krempeaux 2023-11-05 00:23:40 -07:00
parent bb64ec8664
commit 55e928d3cf
2 changed files with 51 additions and 0 deletions

19
errors/errors.go 100644
View File

@ -0,0 +1,19 @@
package rfc8259errors
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: JSON parser had a problem — problem reading rune: %w", err)
}
func ErrProblemUnreadingRune(err error, r rune) error {
return erorr.Errorf("rfc8259: JSON parser had an internal-error — problem unreading rune %q (%U): %w", r, r, err)
}

32
number/number.go 100644
View File

@ -0,0 +1,32 @@
package rfc8259number
import (
"fmt"
"sourcecode.social/reiver/go-opt"
)
type Number struct {
opt.Optional[string]
}
func Nothing() Number {
return Number{opt.Nothing[string]()}
}
func Something(value string) Number {
return Number{opt.Something(value)}
}
func (receiver Number) GoString() string {
switch receiver {
case Nothing():
return "rfc8259number.Nothing()"
default:
value, found := receiver.Get()
if !found {
return fmt.Sprintf("--INTERNAL-ERROR--")
}
return fmt.Sprintf("rfc8259number.Something(%#v)", value)
}
}