(streamWriter: StreamWriter, schemaFields: SchemaField[])
| 2500 | } |
| 2501 | // Stream-based version of writeFieldBuffered with better memory management |
| 2502 | const writeFieldBufferedStream = async (streamWriter: StreamWriter, schemaFields: SchemaField[]) => { |
| 2503 | // Synchronously serialize all fields to stream queue |
| 2504 | for (const schemaField of schemaFields) { |
| 2505 | const buffer = serializeSchemaFieldToBuffer(schemaField); |
| 2506 | streamWriter.addBuffer(buffer); |
| 2507 | // Flush periodically to avoid memory buildup and handle backpressure |
| 2508 | await streamWriter.flushIfNeeded(); |
| 2509 | } |
| 2510 | // Final flush |
| 2511 | await streamWriter.flush(); |
| 2512 | }; |
| 2513 | // Optimized buffered version with reduced Promise overhead (kept for compatibility) |
| 2514 | const writeFieldBuffered = async (file: BinaryFile, schemaFields: SchemaField[]) => { |
| 2515 | const accumulator = new BufferAccumulator(file); |
no test coverage detected