From 10a92db1285b74b6ee280c9d5e97d9534927c261 Mon Sep 17 00:00:00 2001 From: Volker Schukai <volker.schukai@schukai.com> Date: Fri, 23 Dec 2022 10:13:35 +0100 Subject: [PATCH] feat: Support Slice and Arrays --- set.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/set.go b/set.go index 124f9fa..f1ab15f 100644 --- a/set.go +++ b/set.go @@ -134,6 +134,17 @@ func SetValue[D any](obj D, keyWithDots string, newValue any) error { v.SetFloat(s) } + case reflect.Slice, reflect.Array: + + if newValueKind == reflect.Ptr { + newValue = reflect.ValueOf(newValue).Elem().Interface() + v.Set(reflect.ValueOf(newValue)) + } else if newValueKind == reflect.Slice { + v.Set(reflect.ValueOf(newValue)) + } else { + return newUnsupportedTypePathError(keyWithDots, v.Type()) + } + default: return newInvalidTypeForPathError(keyWithDots, v.Type().String(), newValueKind.String()) } -- GitLab