From 1b71356b221a41673922f6e6c8769b2468b27dda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Victor?= Date: Mon, 26 Feb 2024 23:41:25 -0300 Subject: [PATCH] Make values parameter in OneOf to be variadic (#12) This PR alters the signature of `validate.OneOf` function so that its second parameter, `values`, becomes a variadic parameter instead of a flat slice type. This aims to improve the experience of restraining values. --- validate/order.go | 2 +- validate/order_test.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/validate/order.go b/validate/order.go index d97e080..1f39f67 100644 --- a/validate/order.go +++ b/validate/order.go @@ -45,7 +45,7 @@ func NotEqualField[T comparable](target *T, field *T) Field { } // OneOf validates if target is one of values. -func OneOf[T comparable](target *T, values []T) Field { +func OneOf[T comparable](target *T, values ...T) Field { return Field{ Valid: target != nil && slices.Contains(values, *target), Message: fmt.Sprintf("{0} should be one of %v", values), diff --git a/validate/order_test.go b/validate/order_test.go index 2bf1362..4656ff3 100644 --- a/validate/order_test.go +++ b/validate/order_test.go @@ -141,7 +141,7 @@ func TestOneOf(t *testing.T) { t.Parallel() // Act - result := validate.OneOf(test.target, test.values) + result := validate.OneOf(test.target, test.values...) // Assert expectedResult := validate.Field{