From adf35f0f474a807d46c7cc286094d9e28dd92e4a Mon Sep 17 00:00:00 2001 From: iberdinsky Date: Mon, 29 Jul 2024 15:23:10 +0200 Subject: [PATCH] Fix for arrays default value. --- pkg/action/utils.go | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/pkg/action/utils.go b/pkg/action/utils.go index eb9afc4..9cb2771 100644 --- a/pkg/action/utils.go +++ b/pkg/action/utils.go @@ -144,8 +144,21 @@ func getDefaultByType(o *Option) interface{} { } func defaultVal[T any](val interface{}, d T) T { - if val != nil { - return val.(T) + if val == nil { + return d + } + + switch v := val.(type) { + case T: + return v + case []interface{}: + if _, ok := (interface{})(d).([]string); ok { + strSlice := make([]string, len(v)) + for i, item := range v { + strSlice[i] = fmt.Sprintf("%v", item) + } + return (interface{})(strSlice).(T) + } } return d }