Source File
multierror.go
Belonging Package
src.elv.sh/pkg/diag
package diagimport// MultiError pack multiple errors into one error.type MultiError struct {Errors []error}func ( MultiError) () string {switch len(.Errors) {case 0:return "no error"case 1:return .Errors[0].Error()default:var bytes.Buffer.WriteString("multiple errors: ")for , := range .Errors {if > 0 {.WriteString("; ")}.WriteString(.Error())}return .String()}}// Errors concatenate multiple errors into one. If all errors are nil, it// returns nil. If there is one non-nil error, it is returned. Otherwise the// return value is a MultiError containing all the non-nil arguments. Arguments// of the type MultiError are flattened.func ( ...error) error {var []errorfor , := range {if != nil {if , := .(MultiError); {= append(, .Errors...)} else {= append(, )}}}switch len() {case 0:return nilcase 1:return [0]default:return MultiError{}}}
The pages are generated with Golds v0.2.8-preview. (GOOS=darwin GOARCH=arm64)