@@ -5,19 +5,18 @@ import (
55 "errors"
66
77 "github.com/foomo/fender/rule"
8- "go.uber.org/multierr"
98)
109
1110type Fend func (ctx context.Context , mode Mode ) error
1211
1312func fend [T any ](ctx context.Context , mode Mode , meta string , value T , rules ... rule.Rule [T ]) error {
14- var causes error
13+ var causes [] * rule. Error
1514 for _ , r := range rules {
1615 err := r (ctx , value )
1716 if errors .Is (err , rule .ErrBreak ) {
1817 break
1918 } else if e , ok := err .(* rule.Error ); ok { //nolint:errorlint
20- causes = multierr . Append (causes , e )
19+ causes = append (causes , e )
2120 // break if we only want the first error
2221 if mode == ModeFirst {
2322 break
@@ -27,19 +26,19 @@ func fend[T any](ctx context.Context, mode Mode, meta string, value T, rules ...
2726 }
2827 }
2928 if causes != nil {
30- return NewError (meta , causes )
29+ return NewError (meta , causes ... )
3130 }
3231 return nil
3332}
3433
3534func fendDynamic (ctx context.Context , mode Mode , meta string , rules ... rule.DynamicRule ) error {
36- var causes error
35+ var causes [] * rule. Error
3736 for _ , r := range rules {
3837 err := r (ctx )
3938 if errors .Is (err , rule .ErrBreak ) {
4039 break
4140 } else if e , ok := err .(* rule.Error ); ok { //nolint:errorlint
42- causes = multierr . Append (causes , e )
41+ causes = append (causes , e )
4342 // break if we only want the first error
4443 if mode == ModeFirst {
4544 break
@@ -49,7 +48,7 @@ func fendDynamic(ctx context.Context, mode Mode, meta string, rules ...rule.Dyna
4948 }
5049 }
5150 if causes != nil {
52- return NewError (meta , causes )
51+ return NewError (meta , causes ... )
5352 }
5453 return nil
5554}
0 commit comments