Skip to content

Commit 0960d8f

Browse files
Fix for arrays default value. (#60)
1 parent f107925 commit 0960d8f

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

pkg/action/utils.go

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,8 +144,21 @@ func getDefaultByType(o *Option) interface{} {
144144
}
145145

146146
func defaultVal[T any](val interface{}, d T) T {
147-
if val != nil {
148-
return val.(T)
147+
if val == nil {
148+
return d
149+
}
150+
151+
switch v := val.(type) {
152+
case T:
153+
return v
154+
case []interface{}:
155+
if _, ok := (interface{})(d).([]string); ok {
156+
strSlice := make([]string, len(v))
157+
for i, item := range v {
158+
strSlice[i] = fmt.Sprintf("%v", item)
159+
}
160+
return (interface{})(strSlice).(T)
161+
}
149162
}
150163
return d
151164
}

0 commit comments

Comments
 (0)