@@ -1351,6 +1351,65 @@ func (cmd *MapStringIntCmd) readReply(rd *proto.Reader) error {
13511351 return nil
13521352}
13531353
1354+ // ------------------------------------------------------------------------------
1355+ type MapStringSliceInterfaceCmd struct {
1356+ baseCmd
1357+ val map [string ][]interface {}
1358+ }
1359+
1360+ func NewMapStringSliceInterfaceCmd (ctx context.Context , args ... interface {}) * MapStringSliceInterfaceCmd {
1361+ return & MapStringSliceInterfaceCmd {
1362+ baseCmd : baseCmd {
1363+ ctx : ctx ,
1364+ args : args ,
1365+ },
1366+ }
1367+ }
1368+
1369+ func (cmd * MapStringSliceInterfaceCmd ) String () string {
1370+ return cmdString (cmd , cmd .val )
1371+ }
1372+
1373+ func (cmd * MapStringSliceInterfaceCmd ) SetVal (val map [string ][]interface {}) {
1374+ cmd .val = val
1375+ }
1376+
1377+ func (cmd * MapStringSliceInterfaceCmd ) Result () (map [string ][]interface {}, error ) {
1378+ return cmd .val , cmd .err
1379+ }
1380+
1381+ func (cmd * MapStringSliceInterfaceCmd ) Val () map [string ][]interface {} {
1382+ return cmd .val
1383+ }
1384+
1385+ func (cmd * MapStringSliceInterfaceCmd ) readReply (rd * proto.Reader ) (err error ) {
1386+ n , err := rd .ReadMapLen ()
1387+ if err != nil {
1388+ return err
1389+ }
1390+ cmd .val = make (map [string ][]interface {}, n )
1391+ for i := 0 ; i < n ; i ++ {
1392+ k , err := rd .ReadString ()
1393+ if err != nil {
1394+ return err
1395+ }
1396+ nn , err := rd .ReadArrayLen ()
1397+ if err != nil {
1398+ return err
1399+ }
1400+ cmd .val [k ] = make ([]interface {}, nn )
1401+ for j := 0 ; j < nn ; j ++ {
1402+ value , err := rd .ReadReply ()
1403+ if err != nil {
1404+ return err
1405+ }
1406+ cmd.val [k ][j ] = value
1407+ }
1408+ }
1409+
1410+ return nil
1411+ }
1412+
13541413//------------------------------------------------------------------------------
13551414
13561415type StringStructMapCmd struct {
0 commit comments