encodeRmlFileInputs function

Uint8List encodeRmlFileInputs(
  1. List<RmlFileInput> files
)

Encodes files for the compiler. A file with null bytes is withheld.

Implementation

Uint8List encodeRmlFileInputs(List<RmlFileInput> files) {
  final out = BytesBuilder(copy: false);
  _writeVarUint(out, files.length);
  for (final file in files) {
    final path = utf8.encode(file.path);
    _writeVarUint(out, path.length);
    out.add(path);
    final bytes = file.bytes;
    _writeVarUint(out, bytes == null ? _flagBytesOmitted : 0);
    _writeVarUint(out, bytes?.length ?? 0);
    if (bytes != null) {
      out.add(bytes);
    }
  }
  return out.takeBytes();
}