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...)
}

View File

@@ -295,7 +295,7 @@ func (p *Podcasts) RefreshPodcastsForUser(userID int) error {
}
func (p *Podcasts) refreshPodcasts(podcasts []*db.Podcast) error {
var errs multierr.Err
errs := &multierr.Err{}
for _, podcast := range podcasts {
fp := gofeed.NewParser()
feed, err := fp.ParseURL(podcast.URL)