stash/vendor/github.com/markbates/errx/errx.go
capnrowdy 404eaa32d2
Changes to Default Performer Images (for Accessibility) (#1489)
* Changes to support custom URL paths
* Refactor image resolver code
* Initialise box files at startup
* Update packr

Co-authored-by: WithoutPants <53250216+WithoutPants@users.noreply.github.com>
2021-08-10 13:51:31 +10:00

49 lines
622 B
Go

package errx
import "fmt"
// go2 errors
type Wrapper interface {
Unwrap() error
}
// pkg/errors
type Causer interface {
Cause() error
}
func Unwrap(err error) error {
switch e := err.(type) {
case Wrapper:
return e.Unwrap()
case Causer:
return e.Cause()
}
return err
}
var Cause = Unwrap
func Wrap(err error, msg string) error {
return wrapped{
err: err,
msg: msg,
}
}
type wrapped struct {
err error
msg string
}
func (w wrapped) Error() string {
return fmt.Sprintf("%s: %s", w.msg, w.err)
}
func (w wrapped) Unwrap() error {
return w.err
}
func (w wrapped) Cause() error {
return w.err
}