diff options
Diffstat (limited to 'vendor/codeberg.org/gruf/go-errors/errors.go')
-rw-r--r-- | vendor/codeberg.org/gruf/go-errors/errors.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/vendor/codeberg.org/gruf/go-errors/errors.go b/vendor/codeberg.org/gruf/go-errors/errors.go index 283bdb098..b1b41bf02 100644 --- a/vendor/codeberg.org/gruf/go-errors/errors.go +++ b/vendor/codeberg.org/gruf/go-errors/errors.go @@ -105,6 +105,25 @@ func Data(err error) ErrorData { return nil } +// UnwrapAll fully unwraps an error stack to produce a string output. +func UnwrapAll(err error) string { + if err == nil { + return "" + } + + // Start error output + out := err.Error() + err = Unwrap(err) + + // Unwrap and append each + for err != nil { + out += ": " + err.Error() + err = Unwrap(err) + } + + return out +} + // stringError is the simplest ErrorContext implementation type stringError string |