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);

  for (var element in lenBuffer) {
    dat.setUint8(offset, element);
    offset++;
  }
  for (var element in output) {
    dat.setUint8(offset, element);
    offset++;
  }
  builder.add(Uint8List.view(
    buf.buffer,
    buf.offsetInBytes,
    offset,
  ));
  final x = builder.takeBytes();
  return x;
}