Don't create empty map when value is missing

This commit is contained in:
Vladimir Mihailenco 2020-02-02 10:48:23 +02:00
parent a8704c3bd0
commit 4eb2debcdc
2 changed files with 10 additions and 8 deletions

View File

@ -1003,18 +1003,20 @@ func xMessageSliceParser(rd *proto.Reader, n int64) (interface{}, error) {
return nil, err return nil, err
} }
var values map[string]interface{}
v, err := rd.ReadArrayReply(stringInterfaceMapParser) v, err := rd.ReadArrayReply(stringInterfaceMapParser)
if err != nil && err != proto.Nil { if err != nil {
if err != proto.Nil {
return nil, err return nil, err
} }
} else {
if v == nil || err == proto.Nil { values = v.(map[string]interface{})
v = make(map[string]interface{})
} }
msgs[i] = XMessage{ msgs[i] = XMessage{
ID: id, ID: id,
Values: v.(map[string]interface{}), Values: values,
} }
return nil, nil return nil, nil
}) })

View File

@ -3638,7 +3638,7 @@ var _ = Describe("Commands", func() {
Stream: "stream", Stream: "stream",
Messages: []redis.XMessage{ Messages: []redis.XMessage{
{ID: "1-0", Values: map[string]interface{}{"uno": "un"}}, {ID: "1-0", Values: map[string]interface{}{"uno": "un"}},
{ID: "2-0", Values: map[string]interface{}{}}, {ID: "2-0", Values: nil},
{ID: "3-0", Values: map[string]interface{}{"tres": "troix"}}, {ID: "3-0", Values: map[string]interface{}{"tres": "troix"}},
}}, }},
})) }))