youzanyun-devtool-worker
Version:
- web - ws - proxy
98 lines (97 loc) • 3.18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const tslib_1 = require("tslib");
const child_process_1 = require("child_process");
const spring4js_nodejs_1 = require("spring4js-nodejs");
let ExecuteService = class ExecuteService {
constructor() {
}
async start() {
}
promiseExec(cmd, options) {
return new Promise((resolve, reject) => {
options.shell = true;
options.env = process.env;
options.env.LC_CTYPE = 'UTF-8';
child_process_1.exec(cmd, options, (error, stdout, stderr) => {
if (error) {
console.log('error', error);
reject(error);
return;
}
if (stderr) {
console.log('stderr', stderr);
reject(stderr);
return;
}
resolve(stdout);
});
});
}
promiseExecFile(file, args = [], options = {}) {
return new Promise((resolve, reject) => {
options.shell = true;
options.env = process.env;
options.env.LC_CTYPE = 'UTF-8';
child_process_1.execFile(file, args, options, (error, stdout, stderr) => {
if (error) {
console.log('error', error);
reject(error);
return;
}
if (stderr) {
console.log('stderr', stderr);
reject(stderr);
return;
}
resolve(stdout);
});
});
}
promiseSpawm(cmd, args = [], options = {}, log) {
return new Promise((resolve, reject) => {
options.stdio = 'pipe';
options.shell = true;
options.env = process.env;
options.env.LC_CTYPE = 'UTF-8';
let error_cache = '';
const ls = child_process_1.spawn(cmd, args, options);
ls.on('error', (err) => {
if (log) {
log.report(`err ${err}`);
}
reject(err);
});
if (ls.stdout) {
ls.stdout.on('data', (data) => {
if (log) {
log.report(data.toString('utf-8'));
}
});
}
if (ls.stderr) {
ls.stderr.on('data', (data) => {
if (log) {
log.report(data.toString('utf-8'));
}
error_cache += data.toString('utf-8');
});
}
ls.on('close', (code) => {
if (log) {
log.report(`code:${code}`);
}
if (+code === 0) {
resolve(code);
}
else {
reject(error_cache);
}
});
});
}
};
ExecuteService = tslib_1.__decorate([
spring4js_nodejs_1.Service()
], ExecuteService);
exports.default = ExecuteService;