package serialization import ( "bytes" "github.com/kelvinmwinuka/memstore/utils" "github.com/tidwall/resp" ) func Decode(raw string) ([]string, error) { rd := resp.NewReader(bytes.NewBufferString(raw)) res := []string{} v, _, err := rd.ReadValue() if err != nil { return nil, err } if utils.Contains[string]([]string{"SimpleString", "Integer", "Error"}, v.Type().String()) { return []string{v.String()}, nil } if v.Type().String() == "Array" { for _, elem := range v.Array() { res = append(res, elem.String()) } } return res, nil }