initial commits
							parent
							
								
									bb64ec8664
								
							
						
					
					
						commit
						55e928d3cf
					
				| 
						 | 
					@ -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)
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -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)
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
		Reference in New Issue