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 }