in dax/internal/client/response.go [950:977]
func consumeArray(reader *cbor.Reader, consumer func(reader *cbor.Reader) error) error {
hdr, err := reader.PeekHeader()
if err != nil {
return err
}
len, err := reader.ReadArrayLength()
if err != nil {
return err
}
if hdr == cbor.ArrayStream {
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
}
}
if err := consumer(reader); err != nil {
return err
}
}
return nil
}