diff options
Diffstat (limited to 'json.go')
| -rw-r--r-- | json.go | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -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 +} |