Initial commit
This commit is contained in:
49
node_modules/execa/lib/ipc/methods.js
generated
vendored
Normal file
49
node_modules/execa/lib/ipc/methods.js
generated
vendored
Normal file
@@ -0,0 +1,49 @@
|
||||
import process from 'node:process';
|
||||
import {sendMessage} from './send.js';
|
||||
import {getOneMessage} from './get-one.js';
|
||||
import {getEachMessage} from './get-each.js';
|
||||
import {getCancelSignal} from './graceful.js';
|
||||
|
||||
// Add promise-based IPC methods in current process
|
||||
export const addIpcMethods = (subprocess, {ipc}) => {
|
||||
Object.assign(subprocess, getIpcMethods(subprocess, false, ipc));
|
||||
};
|
||||
|
||||
// Get promise-based IPC in the subprocess
|
||||
export const getIpcExport = () => {
|
||||
const anyProcess = process;
|
||||
const isSubprocess = true;
|
||||
const ipc = process.channel !== undefined;
|
||||
|
||||
return {
|
||||
...getIpcMethods(anyProcess, isSubprocess, ipc),
|
||||
getCancelSignal: getCancelSignal.bind(undefined, {
|
||||
anyProcess,
|
||||
channel: anyProcess.channel,
|
||||
isSubprocess,
|
||||
ipc,
|
||||
}),
|
||||
};
|
||||
};
|
||||
|
||||
// Retrieve the `ipc` shared by both the current process and the subprocess
|
||||
const getIpcMethods = (anyProcess, isSubprocess, ipc) => ({
|
||||
sendMessage: sendMessage.bind(undefined, {
|
||||
anyProcess,
|
||||
channel: anyProcess.channel,
|
||||
isSubprocess,
|
||||
ipc,
|
||||
}),
|
||||
getOneMessage: getOneMessage.bind(undefined, {
|
||||
anyProcess,
|
||||
channel: anyProcess.channel,
|
||||
isSubprocess,
|
||||
ipc,
|
||||
}),
|
||||
getEachMessage: getEachMessage.bind(undefined, {
|
||||
anyProcess,
|
||||
channel: anyProcess.channel,
|
||||
isSubprocess,
|
||||
ipc,
|
||||
}),
|
||||
});
|
||||
Reference in New Issue
Block a user