diff options
Diffstat (limited to 'vendor/github.com/go-errors/errors/error_backward.go')
-rw-r--r-- | vendor/github.com/go-errors/errors/error_backward.go | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/vendor/github.com/go-errors/errors/error_backward.go b/vendor/github.com/go-errors/errors/error_backward.go new file mode 100644 index 000000000..d7e09a824 --- /dev/null +++ b/vendor/github.com/go-errors/errors/error_backward.go @@ -0,0 +1,22 @@ +// +build !go1.13 + +package errors + +// Is detects whether the error is equal to a given error. Errors +// are considered equal by this function if they are the same object, +// or if they both contain the same error inside an errors.Error. +func Is(e error, original error) bool { + if e == original { + return true + } + + if e, ok := e.(*Error); ok { + return Is(e.Err, original) + } + + if original, ok := original.(*Error); ok { + return Is(e, original.Err) + } + + return false +}
\ No newline at end of file |