package errorhelper // NewMultiError returns a new MultiError object. func NewMultiError() *MultiError { return &MultiError{ errors: []error{}, } } // MultiError is a structure for holding multiple errors so they // can be checked at a later point. type MultiError struct { errors []error } // Add will add the given error if it is not nil. func (m *MultiError) Add(err error) { if err != nil { m.errors = append(m.errors, err) } } // HasErrors will return true if any non-nil errors have been // added. func (m *MultiError) HasErrors() bool { if len(m.errors) > 0 { return true } return false } // Error will print the first error is encountered. func (m *MultiError) Error() string { if !m.HasErrors() { return "" } return m.errors[0].Error() }