diff options
Diffstat (limited to 'vendor/github.com/go-redis/redis/parser.go')
-rw-r--r-- | vendor/github.com/go-redis/redis/parser.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/vendor/github.com/go-redis/redis/parser.go b/vendor/github.com/go-redis/redis/parser.go index 1d7ec630e..b378abc4e 100644 --- a/vendor/github.com/go-redis/redis/parser.go +++ b/vendor/github.com/go-redis/redis/parser.go @@ -98,6 +98,20 @@ func stringIntMapParser(rd *proto.Reader, n int64) (interface{}, error) { } // Implements proto.MultiBulkParse +func stringStructMapParser(rd *proto.Reader, n int64) (interface{}, error) { + m := make(map[string]struct{}, n) + for i := int64(0); i < n; i++ { + key, err := rd.ReadStringReply() + if err != nil { + return nil, err + } + + m[key] = struct{}{} + } + return m, nil +} + +// Implements proto.MultiBulkParse func zSliceParser(rd *proto.Reader, n int64) (interface{}, error) { zz := make([]Z, n/2) for i := int64(0); i < n; i += 2 { |