packArray method

void packArray(
  1. List ary
)

Implementation

void packArray(List<Packable> ary) {
  int length = ary.length;
  if (length <= 0x0f) {
    packUint8(0x90 + length);
  } else if (length <= 0xffff) {
    _bufferBuilder.append(0xdc);
    packUint16(length);
  } else if (length <= 0xffffffff) {
    _bufferBuilder.append(0xdd);
    packUint32(length);
  } else {
    throw Exception('Invalid length');
  }

  for (var item in ary) {
    pack(item);
  }
}