in dax/internal/client/response.go [979:1011]
func consumeMap(reader *cbor.Reader, consumer func(int, *cbor.Reader) error) error {
hdr, err := reader.PeekHeader()
if err != nil {
return err
}
len, err := reader.ReadMapLength()
if err != nil {
return err
}
if hdr == cbor.MapStream {
len = -1
}
for i := 0; len < 0 || i < len; i++ {
if len < 0 {
consumed, err := consumeBreak(reader)
if err != nil {
return err
}
if consumed {
break
}
}
id, err := reader.ReadInt()
if err != nil {
return err
}
if err := consumer(id, reader); err != nil {
return err
}
}
return nil
}