initial import

This commit is contained in:
kevin
2020-07-26 17:09:05 +08:00
commit 7e3a369a8f
647 changed files with 54754 additions and 0 deletions

45
core/errorx/batcherror.go Normal file
View File

@@ -0,0 +1,45 @@
package errorx
import "bytes"
type (
BatchError struct {
errs errorArray
}
errorArray []error
)
func (be *BatchError) Add(err error) {
if err != nil {
be.errs = append(be.errs, err)
}
}
func (be *BatchError) Err() error {
switch len(be.errs) {
case 0:
return nil
case 1:
return be.errs[0]
default:
return be.errs
}
}
func (be *BatchError) NotNil() bool {
return len(be.errs) > 0
}
func (ea errorArray) Error() string {
var buf bytes.Buffer
for i := range ea {
if i > 0 {
buf.WriteByte('\n')
}
buf.WriteString(ea[i].Error())
}
return buf.String()
}