Commit b1595f0
Changed files (2)
pkg
pkg/x/iterate.go
@@ -10,7 +10,7 @@ func Find[T any](items []T, predicate Predicate[T]) T {
return item
}
}
- return Default[T]()
+ return Zero[T]()
}
func FindAll[T any](items []T, predicate Predicate[T]) []T {
@@ -24,7 +24,7 @@ func FindAll[T any](items []T, predicate Predicate[T]) []T {
}
func Contains[T comparable](items []T, predicate Predicate[T]) bool {
- return Find[T](items, predicate) != Default[T]()
+ return Find[T](items, predicate) != Zero[T]()
}
func Map[TInput any, TOutput any](items []TInput, mapFrom Mapper[TInput, TOutput]) []TOutput {
pkg/x/iterate_test.go
@@ -1,6 +1,7 @@
package x
import (
+ "net/http"
"strconv"
"testing"
@@ -28,6 +29,16 @@ func TestFind(t *testing.T) {
assert.Equal(t, 0, result)
})
+
+ t.Run("returns nil", func(t *testing.T) {
+ items := []*http.Client{http.DefaultClient}
+
+ result := Find(items, func(item *http.Client) bool {
+ return false
+ })
+
+ assert.Nil(t, result)
+ })
}
func TestFindAll(t *testing.T) {
@@ -72,6 +83,16 @@ func TestContains(t *testing.T) {
assert.False(t, result)
})
+
+ t.Run("returns false on nil", func(t *testing.T) {
+ items := []*http.Client{http.DefaultClient}
+
+ result := Contains(items, func(item *http.Client) bool {
+ return false
+ })
+
+ assert.False(t, result)
+ })
}
func TestMap(t *testing.T) {