| package xerrors | |
| import ( | |
| "errors" | |
| ) | |
| func As[T error](rawErr error) (T, bool) { | |
| err := new(T) | |
| ok := errors.As(rawErr, err) | |
| return *err, ok | |
| } | |
| func As0[T error](rawErr error) bool { | |
| err := new(T) | |
| ok := errors.As(rawErr, err) | |
| return ok | |
| } | |
| func Is(err, target error) bool { | |
| return errors.Is(err, target) | |
| } | |
| func IsNot(err, target error) bool { | |
| return !errors.Is(err, target) | |
| } | |
| func NoErr(err error) { | |
| if err != nil { | |
| panic(err) | |
| } | |
| } | |
| func NoErr2[T any](val T, err error) T { | |
| if err != nil { | |
| panic(err) | |
| } | |
| return val | |
| } | |