matterbridge/vendor/github.com/wiggin77/merror/append.go

26 lines
529 B
Go
Raw Normal View History

package merror
// Append an error to a multi-error.
// If `to` is `nil` it will just assign `err`.
// If `to` is not a `*MError` it will create a new `*MError` and append both errors.
// If `err` is `nil` it will just return `to`.
// Otherwise it will just append to the existing `*MError`.
func Append(to, err error) error {
if err == nil {
return to
}
if to == nil {
return err
}
if merr, ok := to.(*MError); ok {
merr.Append(err)
return merr
}
merr := New()
merr.Append(to)
merr.Append(err)
return merr
}