Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
child_process: move exports to bottom for better code style
  • Loading branch information
himself65 committed May 29, 2019
commit cfbb5bbfb1ba0a0db455e1fb0648715d675753f1
53 changes: 29 additions & 24 deletions lib/child_process.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,7 @@ const {

const MAX_BUFFER = 1024 * 1024;

exports.ChildProcess = ChildProcess;

exports.fork = function fork(modulePath /* , args, options */) {
function fork(modulePath /* , args, options */) {
validateString(modulePath, 'modulePath');

// Get options and args arguments.
Expand Down Expand Up @@ -108,10 +106,9 @@ exports.fork = function fork(modulePath /* , args, options */) {
options.shell = false;

return spawn(options.execPath, args, options);
};

}

exports._forkChild = function _forkChild(fd) {
function _forkChild(fd) {
// set process.send()
const p = new Pipe(PipeConstants.IPC);
p.open(fd);
Expand All @@ -123,8 +120,7 @@ exports._forkChild = function _forkChild(fd) {
process.on('removeListener', function onRemoveListener(name) {
if (name === 'message' || name === 'disconnect') control.unref();
});
};

}

function normalizeExecArgs(command, options, callback) {
if (typeof options === 'function') {
Expand All @@ -144,12 +140,12 @@ function normalizeExecArgs(command, options, callback) {
}


exports.exec = function exec(command, options, callback) {
function exec(command, options, callback) {
const opts = normalizeExecArgs(command, options, callback);
return exports.execFile(opts.file,
opts.options,
opts.callback);
};
return module.exports.execFile(opts.file,
opts.options,
opts.callback);
}

const customPromiseExecFunction = (orig) => {
return (...args) => {
Expand All @@ -167,12 +163,12 @@ const customPromiseExecFunction = (orig) => {
};
};

Object.defineProperty(exports.exec, promisify.custom, {
Object.defineProperty(exec, promisify.custom, {
enumerable: false,
value: customPromiseExecFunction(exports.exec)
value: customPromiseExecFunction(exec)
});

exports.execFile = function execFile(file /* , args, options, callback */) {
function execFile(file /* , args, options, callback */) {
let args = [];
let callback;
let options;
Expand Down Expand Up @@ -386,11 +382,11 @@ exports.execFile = function execFile(file /* , args, options, callback */) {
child.addListener('error', errorhandler);

return child;
};
}

Object.defineProperty(exports.execFile, promisify.custom, {
Object.defineProperty(execFile, promisify.custom, {
enumerable: false,
value: customPromiseExecFunction(exports.execFile)
value: customPromiseExecFunction(execFile)
});

function normalizeSpawnArguments(file, args, options) {
Expand Down Expand Up @@ -531,15 +527,15 @@ function normalizeSpawnArguments(file, args, options) {
}


var spawn = exports.spawn = function spawn(file, args, options) {
function spawn(file, args, options) {
const child = new ChildProcess();

options = normalizeSpawnArguments(file, args, options);
debug('spawn', options);
child.spawn(options);

return child;
};
}

function spawnSync(file, args, options) {
options = {
Expand Down Expand Up @@ -587,7 +583,6 @@ function spawnSync(file, args, options) {

return child_process.spawnSync(options);
}
exports.spawnSync = spawnSync;


function checkExecSyncError(ret, args, cmd) {
Expand Down Expand Up @@ -625,7 +620,6 @@ function execFileSync(command, args, options) {

return ret.stdout;
}
exports.execFileSync = execFileSync;


function execSync(command, options) {
Expand All @@ -644,7 +638,6 @@ function execSync(command, options) {

return ret.stdout;
}
exports.execSync = execSync;


function validateTimeout(timeout) {
Expand Down Expand Up @@ -672,3 +665,15 @@ function sanitizeKillSignal(killSignal) {
killSignal);
}
}

module.exports = {
_forkChild,
ChildProcess,
exec,
execFile,
execFileSync,
execSync,
fork,
spawn,
spawnSync
};
Comment thread
himself65 marked this conversation as resolved.
Outdated