From bb63f8f1778bc48b0999eb98db018762fafd95a1 Mon Sep 17 00:00:00 2001 From: Ciprian Hacman Date: Fri, 18 Nov 2022 15:22:57 +0200 Subject: [PATCH] Add generics alternatives for fi.Bool/Float*/Int*/String*() --- upup/pkg/fi/values.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/upup/pkg/fi/values.go b/upup/pkg/fi/values.go index 980fffd1bb..b684f0dad6 100644 --- a/upup/pkg/fi/values.go +++ b/upup/pkg/fi/values.go @@ -23,6 +23,19 @@ import ( "strconv" ) +// PtrTo returns a pointer to a copy of any value. +func PtrTo[T any](v T) *T { + return &v +} + +// ValueOf returns the value of a pointer or its zero value +func ValueOf[T any](v *T) T { + if v == nil { + return *new(T) + } + return *v +} + func StringValue(s *string) string { if s == nil { return ""