aboutsummaryrefslogtreecommitdiffstats
path: root/json.go
blob: e200770998fbe28e40c71c2b8fe1f2816d698d54 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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
}