From 22ce2d26f3ad8884701550152576afb40446ee65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20Schw=C3=B6rer?= Date: Thu, 16 Feb 2023 13:22:15 +0100 Subject: [PATCH] v0.0.87 --- langext/array.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/langext/array.go b/langext/array.go index 433686f..a8a0e54 100644 --- a/langext/array.go +++ b/langext/array.go @@ -273,6 +273,18 @@ func ArrMapExt[T1 any, T2 any](arr []T1, conv func(idx int, v T1) T2) []T2 { return r } +func ArrMapErr[T1 any, T2 any](arr []T1, conv func(v T1) (T2, error)) ([]T2, error) { + var err error + r := make([]T2, len(arr)) + for i, v := range arr { + r[i], err = conv(v) + if err != nil { + return nil, err + } + } + return r, nil +} + func ArrFilterMap[T1 any, T2 any](arr []T1, filter func(v T1) bool, conv func(v T1) T2) []T2 { r := make([]T2, 0, len(arr)) for _, v := range arr {