Is implements errors.Is support.
(target error)
| 80 | |
| 81 | // Is implements errors.Is support. |
| 82 | func (e *Error) Is(target error) bool { |
| 83 | if target == nil { |
| 84 | return false |
| 85 | } |
| 86 | |
| 87 | // Check if target is an *Error with the same code |
| 88 | if te, ok := target.(*Error); ok { |
| 89 | return e.Code == te.Code |
| 90 | } |
| 91 | |
| 92 | // Check against common errors |
| 93 | switch e.Code { |
| 94 | case ErrCodeCanceled: |
| 95 | return errors.Is(target, context.Canceled) |
| 96 | case ErrCodeTimeout: |
| 97 | return errors.Is(target, context.DeadlineExceeded) |
| 98 | } |
| 99 | |
| 100 | return false |
| 101 | } |
| 102 | |
| 103 | // NewError creates a new standardized error. |
| 104 | func NewError(code ErrorCode, provider, message string) *Error { |
no outgoing calls