aboutsummaryrefslogtreecommitdiffstats
path: root/json.go
diff options
context:
space:
mode:
Diffstat (limited to 'json.go')
-rw-r--r--json.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/json.go b/json.go
new file mode 100644
index 0000000..e200770
--- /dev/null
+++ b/json.go
@@ -0,0 +1,15 @@
+package lulu
+
+import "encoding/json"
+
+func unmarshalSliceOrVal[T any](data []byte) ([]T, error) {
+ var vs []T
+ if err := json.Unmarshal(data, &vs); err != nil {
+ var v T
+ if err := json.Unmarshal(data, &v); err != nil {
+ return nil, err
+ }
+ return []T{v}, nil
+ }
+ return vs, nil
+}