func consumeArray()

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
}