Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'util/common/multi_error.go')
-rw-r--r--util/common/multi_error.go30
1 files changed, 30 insertions, 0 deletions
diff --git a/util/common/multi_error.go b/util/common/multi_error.go
new file mode 100644
index 00000000..ff9ff628
--- /dev/null
+++ b/util/common/multi_error.go
@@ -0,0 +1,30 @@
+package common
+
+import (
+ "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
+}