summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/go-errors/errors/error_backward.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/go-errors/errors/error_backward.go')
-rw-r--r--vendor/github.com/go-errors/errors/error_backward.go22
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