unpackInt method
Unpack value if it exist. Otherwise returns null
.
Throws FormatException if value is not an integer,
Implementation
int? unpackInt() {
final b = _d.getUint8(_offset);
int? v;
if (b <= 0x7f || b >= 0xe0) {
/// Int value in fixnum range [-32..127] encoded in header 1 byte
v = _d.getInt8(_offset);
_offset += 1;
} else if (b == 0xcc) {
v = _d.getUint8(++_offset);
_offset += 1;
} else if (b == 0xcd) {
v = _d.getUint16(++_offset);
_offset += 2;
} else if (b == 0xce) {
v = _d.getUint32(++_offset);
_offset += 4;
} else if (b == 0xcf) {
v = _d.getUint64(++_offset);
_offset += 8;
} else if (b == 0xd0) {
v = _d.getInt8(++_offset);
_offset += 1;
} else if (b == 0xd1) {
v = _d.getInt16(++_offset);
_offset += 2;
} else if (b == 0xd2) {
v = _d.getInt32(++_offset);
_offset += 4;
} else if (b == 0xd3) {
v = _d.getInt64(++_offset);
_offset += 8;
} else if (b == 0xc0) {
v = null;
_offset += 1;
} else {
throw _formatException('integer', b);
}
return v;
}