packObject method
Implementation
void packObject(Map<dynamic, Packable> obj) {
var keys = obj.keys.toList();
int length = keys.length;
if (length <= 0x0f) {
packUint8(0x80 + length);
} else if (length <= 0xffff) {
_bufferBuilder.append(0xde);
packUint16(length);
} else if (length <= 0xffffffff) {
_bufferBuilder.append(0xdf);
packUint32(length);
} else {
throw Exception('Invalid length');
}
for (var key in keys) {
pack(key);
pack(obj[key]);
}
}