| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.spawn = exports.exec = void 0;
- var child_process_1 = require("child_process");
- var child_process_2 = require("child_process");
- var MAX_BUFFER = 10 * Math.pow(2, 20);
- function exec(command, stdout, stderr) {
- return new Promise(function (resolve, reject) {
- var stdoutbuf = "";
- var stderrbuf = "";
- // EXEC CHILD PROCESS
- var p = child_process_1.exec(command, { maxBuffer: MAX_BUFFER }, function (err, out) {
- if (err)
- return reject(err);
- if (stdoutbuf.length > 0 && typeof stdout === 'function')
- stdout(stdoutbuf);
- if (stderrbuf.length > 0 && typeof stderr === 'function')
- stderr(stderrbuf);
- resolve(out);
- });
- // PIPE STDOUT
- if (typeof stdout === 'function') {
- p.stdout.on("data", function (chunk) {
- stdoutbuf += chunk;
- var i = -1;
- while ((i = stdoutbuf.indexOf('\n')) >= 0) {
- var line = stdoutbuf.substring(0, i);
- stdoutbuf = stdoutbuf.substring(i + 1);
- if (typeof stdout === 'function') {
- stdout(line);
- }
- }
- });
- }
- else if (typeof stdout !== 'undefined') {
- p.stdout.pipe(stdout);
- }
- // PIPE STDERR
- if (typeof stderr === 'function') {
- p.stderr.on("data", function (chunk) {
- stderrbuf += chunk;
- var i = -1;
- while ((i = stderrbuf.indexOf('\n')) >= 0) {
- var line = stderrbuf.substring(0, i);
- stderrbuf = stderrbuf.substring(i + 1);
- if (typeof stderr === 'function') {
- stderr(line);
- }
- }
- });
- }
- else if (typeof stderr !== 'undefined') {
- p.stderr.pipe(stderr);
- }
- });
- }
- exports.exec = exec;
- function spawn(command, args, stdout, stderr) {
- return new Promise(function (resolve, reject) {
- try {
- var p = child_process_2.spawn(command, args);
- p.stdout.pipe(stdout);
- p.stderr.pipe(stderr);
- p.on('close', function (code, sig) {
- if (!code)
- resolve();
- else
- reject();
- });
- p.on('error', reject);
- p.on('exit', function (code, sig) {
- if (!code)
- resolve();
- else
- reject();
- });
- }
- catch (err) {
- console.error(err);
- }
- });
- }
- exports.spawn = spawn;
- //# sourceMappingURL=index.js.map
|