UNPKG

alwaysai

Version:

The alwaysAI command-line interface (CLI)

34 lines 1.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const child_process_1 = require("child_process"); const signalExit = require("signal-exit"); function runStreaming(cmd) { return new Promise((resolve, reject) => { const child = child_process_1.spawn(cmd.exe, cmd.args || [], { cwd: cmd.cwd, }); signalExit(() => { child.kill(); }); if (cmd.input) { cmd.input.pipe(child.stdin); } const errChunks = []; function stderrChunkHandler(chunk) { errChunks.push(chunk); } child.stderr.on('data', stderrChunkHandler); child.on('error', (err) => { if (err && !err.stderr) { err.stderr = Buffer.concat(errChunks).toString(); } reject(err); }); child.stdout.once('readable', () => { resolve(child.stdout); child.stderr.removeListener('data', stderrChunkHandler); }); }); } exports.runStreaming = runStreaming; //# sourceMappingURL=run-streaming.js.map