make multierr errors private

This commit is contained in:
sentriz
2021-11-10 19:09:12 +00:00
parent 0c790442f4
commit 43a929c36a
2 changed files with 17 additions and 7 deletions

View File

@@ -2,21 +2,31 @@ package multierr
import "strings"
type Err []error
type Err struct {
errs []error
}
func (me Err) Error() string {
func (me *Err) Error() string {
var builder strings.Builder
for _, err := range me {
for _, err := range me.errs {
builder.WriteString("\n")
builder.WriteString(err.Error())
}
return builder.String()
}
func (me Err) Len() int {
return len(me)
func (me *Err) Errors() []error {
return me.errs
}
func (me *Err) Len() int {
return len(me.errs)
}
func (me *Err) Add(err error) {
*me = append(*me, err)
me.errs = append(me.errs, err)
}
func (me *Err) Extend(errs []error) {
me.errs = append(me.errs, errs...)
}