github.com/ActiveState/cli@v0.0.0-20240508170324-6801f60cd051/internal/errs/silencederror.go (about) 1 package errs 2 3 import ( 4 "errors" 5 ) 6 7 type silencedError struct { 8 err error 9 } 10 11 func Silence(err error) *silencedError { 12 return &silencedError{err} 13 } 14 15 func (s *silencedError) Error() string { return "silencedError" } 16 17 func (s *silencedError) Unwrap() error { return s.err } 18 19 func (s *silencedError) IsSilent() bool { return true } 20 21 func IsSilent(err error) bool { 22 var silentErr interface { 23 IsSilent() bool 24 } 25 return errors.As(err, &silentErr) && silentErr.IsSilent() 26 }