| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | 
							- package errors
 
- import (
 
- 	"errors"
 
- 	"strings"
 
- )
 
- type multiError []error
 
- func (e multiError) Error() string {
 
- 	var r strings.Builder
 
- 	r.WriteString("multierr: ")
 
- 	for _, err := range e {
 
- 		r.WriteString(err.Error())
 
- 		r.WriteString(" | ")
 
- 	}
 
- 	return r.String()
 
- }
 
- func Combine(maybeError ...error) error {
 
- 	var errs multiError
 
- 	for _, err := range maybeError {
 
- 		if err != nil {
 
- 			errs = append(errs, err)
 
- 		}
 
- 	}
 
- 	if len(errs) == 0 {
 
- 		return nil
 
- 	}
 
- 	return errs
 
- }
 
- func AllEqual(expected error, actual error) bool {
 
- 	switch errs := actual.(type) {
 
- 	case multiError:
 
- 		if len(errs) == 0 {
 
- 			return false
 
- 		}
 
- 		for _, err := range errs {
 
- 			if !errors.Is(err, expected) {
 
- 				return false
 
- 			}
 
- 		}
 
- 		return true
 
- 	default:
 
- 		return errors.Is(errs, expected)
 
- 	}
 
- }
 
 
  |