writeStringList method

void writeStringList(
  1. int offset,
  2. List<Uint8List?>? values
)

Implementation

void writeStringList(int offset, List<Uint8List?>? values) {
  assert(offset < _staticSize);
  if (values == null) {
    _byteData.setUint32(offset, 0, Endian.little);
    _byteData.setUint32(offset + 4, 0, Endian.little);
  } else {
    _byteData.setUint32(offset, _dynamicOffset, Endian.little);
    _byteData.setUint32(offset + 4, values.length, Endian.little);

    final offsetListOffset = _dynamicOffset;
    _dynamicOffset += values.length * 8;
    for (var i = 0; i < values.length; i++) {
      final value = values[i];
      _writeBytes(value, offsetListOffset + i * 8, _dynamicOffset);
      _dynamicOffset += value?.length ?? 0;
    }
  }
}