summaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorKeuin <[email protected]>2023-07-01 22:02:01 +0800
committerKeuin <[email protected]>2023-07-01 22:02:01 +0800
commit5aba05d7237c2250e647a717f8abef658f30a9e9 (patch)
tree6fe77f8a9e4b043365bbc993990cdf2a34447039 /common
parent40e0b3172af1e8deab80a7bf2bf95337ef9201c6 (diff)
Refactor: replace homemade error type checking with idiom Go practices.
Diffstat (limited to 'common')
-rw-r--r--common/errors.go25
1 files changed, 0 insertions, 25 deletions
diff --git a/common/errors.go b/common/errors.go
index 62899c1..bdf49fb 100644
--- a/common/errors.go
+++ b/common/errors.go
@@ -1,34 +1,9 @@
package common
import (
- "errors"
"fmt"
- "reflect"
)
-// IsErrorOfType is a modified version of errors.Is, which loosen the check condition
-func IsErrorOfType(err, target error) bool {
- if target == nil {
- return err == target
- }
-
- isComparable := reflect.TypeOf(target).Comparable()
- for {
- if isComparable && reflect.TypeOf(target) == reflect.TypeOf(err) {
- return true
- }
- if x, ok := err.(interface{ Is(error) bool }); ok && x.Is(target) {
- return true
- }
- // TODO: consider supporting target.Is(err). This would allow
- // user-definable predicates, but also may allow for coping with sloppy
- // APIs, thereby making it easier to get away with them.
- if err = errors.Unwrap(err); err == nil {
- return false
- }
- }
-}
-
/*
Task errors.
*/