unpackExt method

Object? unpackExt()

Implementation

Object? unpackExt() {
  var b = _d.getUint8(_offset++);
  if (b >= 0xd4 && b <= 0xd8) {
    var t = _d.getInt8(_offset++);
    var l = 1 << (b & 0xF - 4);
    return _unpackExt(t, l);
  } else if (b >= 0xc7 && b <= 0xc9) {
    var l = 0;
    if (b == 0xc7) {
      l = _d.getUint8(_offset++);
    } else if (b == 0xc8) {
      l = _d.getUint16(_offset);
      _offset += 2;
    } else if (b == 0xc9) {
      l = _d.getUint32(_offset);
      _offset += 4;
    }
    var t = _d.getInt8(_offset++);
    return _unpackExt(t, l);
  } else {
    throw _formatException('Unknown', b);
  }
}