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