all.go 365 B

1234567891011121314
  1. package validate
  2. // All validates a value using a sequence of validation functions.
  3. // If any validation function returns an error, the sequence stops and the error is returned.
  4. func All[T any](fs ...func(T) error) func(T) error {
  5. return func(value T) error {
  6. for _, f := range fs {
  7. if err := f(value); err != nil {
  8. return err
  9. }
  10. }
  11. return nil
  12. }
  13. }