From ff019cd85398b01b1a9dbf74fbf3e15cbcd226d0 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Thu, 6 Nov 2025 11:33:08 +0100 Subject: [PATCH] internal/sliceutil: add Deref utility Signed-off-by: Sebastiaan van Stijn --- internal/sliceutil/sliceutil.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/internal/sliceutil/sliceutil.go b/internal/sliceutil/sliceutil.go index 439ee6c6ce..e827886163 100644 --- a/internal/sliceutil/sliceutil.go +++ b/internal/sliceutil/sliceutil.go @@ -1,5 +1,18 @@ package sliceutil +func Deref[T any](slice []*T) []T { + if slice == nil { + return nil + } + out := make([]T, 0, len(slice)) + for _, p := range slice { + if p != nil { + out = append(out, *p) + } + } + return out +} + func Dedup[T comparable](slice []T) []T { keys := make(map[T]struct{}) out := make([]T, 0, len(slice))