processLargeFile method

Future<List<DocumentNode>> processLargeFile(
  1. BuildStep buildStep,
  2. AssetId assetId, {
  3. int chunkSize = defaultChunkSize,
  4. bool enableMemoryMonitoring = true,
})

Process a large file using streaming/chunked approach

Implementation

Future<List<DocumentNode>> processLargeFile(
  BuildStep buildStep,
  AssetId assetId, {
  int chunkSize = defaultChunkSize,
  bool enableMemoryMonitoring = true,
}) async {
  final fileSize = await _getFileSize(buildStep, assetId);

  // Use streaming for files larger than 1MB
  if (fileSize > 1024 * 1024) {
    return _processFileStreaming(
      buildStep,
      assetId,
      chunkSize: chunkSize,
      enableMemoryMonitoring: enableMemoryMonitoring,
    );
  } else {
    // Use regular processing for smaller files
    return _processFileRegular(buildStep, assetId);
  }
}