write static method

Uint8List write(
  1. Uint8List output
)

Implementation

static Uint8List write(Uint8List output) {
  var size = output.length;

  final lenBuffer = [];
  do {
    var sizePart = size & 0x7f;
    size = size >> 7;
    if (size > 0) {
      sizePart |= 0x80;
    }
    lenBuffer.add(sizePart);
  } while (size > 0);

  size = output.length;

  final _buf = Uint8List(lenBuffer.length + size);
  final _dat = ByteData.view(_buf.buffer, _buf.offsetInBytes);
  var _offset = 0;
  final _builder = BytesBuilder(copy: false);

  lenBuffer.forEach((element) {
    _dat.setUint8(_offset, element);
    _offset++;
  });
  output.forEach((element) {
    _dat.setUint8(_offset, element);
    _offset++;
  });
  _builder.add(Uint8List.view(
    _buf.buffer,
    _buf.offsetInBytes,
    _offset,
  ));
  final x = _builder.takeBytes();
  return x;
}