.ts
TypeScript
(application/typescript)
import { ChildProcessWithoutNullStreams } from "node:child_process";

export function spawnConcatChunks(
  process: ChildProcessWithoutNullStreams,
): Promise<string> {
  return new Promise<string>((resolve, reject) => {
    let buffer = [] as string[];
    process.stdout.on("data", (data) => buffer.push(data));
    process.stderr.on("data", (data) => {
      reject(new Error(Buffer.from(data).toString("utf-8")));
    });
    process.stdout.on("close", () => {
      resolve(buffer.join(""));
    });
  });
}