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 }