updated dependencies and go
This commit is contained in:
+18
-41
@@ -5,6 +5,8 @@ import (
|
||||
"fmt"
|
||||
"math/rand"
|
||||
"reflect"
|
||||
"slices"
|
||||
"strings"
|
||||
)
|
||||
|
||||
func BoolCount(arr ...bool) int {
|
||||
@@ -41,22 +43,12 @@ func ReverseArray[T any](v []T) {
|
||||
}
|
||||
|
||||
func InArray[T comparable](needle T, haystack []T) bool {
|
||||
for _, v := range haystack {
|
||||
if v == needle {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
return slices.Contains(haystack, needle)
|
||||
}
|
||||
|
||||
// ArrContains checks if the value is contained in the array (same as InArray, but odther name for better findability)
|
||||
func ArrContains[T comparable](haystack []T, needle T) bool {
|
||||
for _, v := range haystack {
|
||||
if v == needle {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
return slices.Contains(haystack, needle)
|
||||
}
|
||||
|
||||
func ArrUnique[T comparable](array []T) []T {
|
||||
@@ -119,12 +111,7 @@ func ArrAllErr[T any](arr []T, fn func(T) (bool, error)) (bool, error) {
|
||||
}
|
||||
|
||||
func ArrNone[T any](arr []T, fn func(T) bool) bool {
|
||||
for _, av := range arr {
|
||||
if fn(av) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
return !slices.ContainsFunc(arr, fn)
|
||||
}
|
||||
|
||||
func ArrNoneErr[T any](arr []T, fn func(T) (bool, error)) (bool, error) {
|
||||
@@ -141,12 +128,7 @@ func ArrNoneErr[T any](arr []T, fn func(T) (bool, error)) (bool, error) {
|
||||
}
|
||||
|
||||
func ArrAny[T any](arr []T, fn func(T) bool) bool {
|
||||
for _, av := range arr {
|
||||
if fn(av) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
return slices.ContainsFunc(arr, fn)
|
||||
}
|
||||
|
||||
func ArrAnyErr[T any](arr []T, fn func(T) (bool, error)) (bool, error) {
|
||||
@@ -246,7 +228,7 @@ func ArrFirst[T any](arr []T, comp func(v T) bool) (T, bool) {
|
||||
func ArrFirstOrNil[T any](arr []T, comp func(v T) bool) *T {
|
||||
for _, v := range arr {
|
||||
if comp(v) {
|
||||
return Ptr(v)
|
||||
return new(v)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
@@ -274,7 +256,7 @@ func ArrLastOrNil[T any](arr []T, comp func(v T) bool) *T {
|
||||
}
|
||||
}
|
||||
if found {
|
||||
return Ptr(result)
|
||||
return new(result)
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
@@ -319,10 +301,8 @@ func ArrLastIndexFunc[T any](arr []T, comp func(v T) bool) int {
|
||||
}
|
||||
|
||||
func AddToSet[T comparable](set []T, add T) []T {
|
||||
for _, v := range set {
|
||||
if v == add {
|
||||
return set
|
||||
}
|
||||
if slices.Contains(set, add) {
|
||||
return set
|
||||
}
|
||||
return append(set, add)
|
||||
}
|
||||
@@ -522,7 +502,7 @@ func ArrAppend[T any](arr []T, add ...T) []T {
|
||||
func ArrPrepend[T any](arr []T, add ...T) []T {
|
||||
out := make([]T, len(arr)+len(add))
|
||||
copy(out[len(add):], arr)
|
||||
for i := 0; i < len(add); i++ {
|
||||
for i := range add {
|
||||
out[len(add)-i-1] = add[i]
|
||||
}
|
||||
return out
|
||||
@@ -558,8 +538,8 @@ func ArrExcept[T comparable](arr []T, needles ...T) []T {
|
||||
return r
|
||||
}
|
||||
|
||||
func ArrayToInterface[T any](t []T) []interface{} {
|
||||
res := make([]interface{}, 0, len(t))
|
||||
func ArrayToInterface[T any](t []T) []any {
|
||||
res := make([]any, 0, len(t))
|
||||
for i, _ := range t {
|
||||
res = append(res, t[i])
|
||||
}
|
||||
@@ -567,15 +547,15 @@ func ArrayToInterface[T any](t []T) []interface{} {
|
||||
}
|
||||
|
||||
func JoinString(arr []string, delimiter string) string {
|
||||
str := ""
|
||||
var str strings.Builder
|
||||
for i, v := range arr {
|
||||
str += v
|
||||
str.WriteString(v)
|
||||
if i < len(arr)-1 {
|
||||
str += delimiter
|
||||
str.WriteString(delimiter)
|
||||
}
|
||||
}
|
||||
|
||||
return str
|
||||
return str.String()
|
||||
}
|
||||
|
||||
// ArrChunk splits the array into buckets of max-size `chunkSize`
|
||||
@@ -595,10 +575,7 @@ func ArrChunk[T any](arr []T, chunkSize int) [][]T {
|
||||
i := 0
|
||||
for i < len(arr) {
|
||||
|
||||
right := i + chunkSize
|
||||
if right >= len(arr) {
|
||||
right = len(arr)
|
||||
}
|
||||
right := min(i+chunkSize, len(arr))
|
||||
|
||||
res = append(res, arr[i:right])
|
||||
|
||||
|
||||
Reference in New Issue
Block a user