mirror of
https://github.com/denoland/deno.git
synced 2025-09-26 12:19:12 +00:00
feat(unstable): rework Deno.Command (#16812)
Refactors the `Deno.Command` class to not handle any state, but only being an intermediary to calling its methods, and as such any methods and properties besides `output`, `outputSync` & `spawn` have been removed. Interracting with a `spawn`ed subprocess now works by using the methods and properties on the returned class of the `spawn` method.
This commit is contained in:
parent
fb04e87387
commit
1dd4843b62
6 changed files with 102 additions and 148 deletions
|
@ -482,6 +482,14 @@ delete Intl.v8BreakIterator;
|
|||
},
|
||||
});
|
||||
|
||||
ObjectAssign(internals.nodeUnstable, {
|
||||
Command: __bootstrap.spawn.createCommand(
|
||||
internals.nodeUnstable.spawn,
|
||||
internals.nodeUnstable.spawnSync,
|
||||
internals.nodeUnstable.spawnChild,
|
||||
),
|
||||
});
|
||||
|
||||
const finalDenoNs = {
|
||||
core,
|
||||
internal: internalSymbol,
|
||||
|
@ -513,6 +521,14 @@ delete Intl.v8BreakIterator;
|
|||
ops.op_net_listen_unixpacket,
|
||||
),
|
||||
});
|
||||
|
||||
ObjectAssign(finalDenoNs, {
|
||||
Command: __bootstrap.spawn.createCommand(
|
||||
finalDenoNs.spawn,
|
||||
finalDenoNs.spawnSync,
|
||||
finalDenoNs.spawnChild,
|
||||
),
|
||||
});
|
||||
}
|
||||
|
||||
// Setup `Deno` global - we're actually overriding already existing global
|
||||
|
@ -617,6 +633,14 @@ delete Intl.v8BreakIterator;
|
|||
},
|
||||
});
|
||||
|
||||
ObjectAssign(internals.nodeUnstable, {
|
||||
Command: __bootstrap.spawn.createCommand(
|
||||
internals.nodeUnstable.spawn,
|
||||
internals.nodeUnstable.spawnSync,
|
||||
internals.nodeUnstable.spawnChild,
|
||||
),
|
||||
});
|
||||
|
||||
const finalDenoNs = {
|
||||
core,
|
||||
internal: internalSymbol,
|
||||
|
@ -640,6 +664,13 @@ delete Intl.v8BreakIterator;
|
|||
ops.op_net_listen_unixpacket,
|
||||
),
|
||||
});
|
||||
ObjectAssign(finalDenoNs, {
|
||||
Command: __bootstrap.spawn.createCommand(
|
||||
finalDenoNs.spawn,
|
||||
finalDenoNs.spawnSync,
|
||||
finalDenoNs.spawnChild,
|
||||
),
|
||||
});
|
||||
}
|
||||
ObjectDefineProperties(finalDenoNs, {
|
||||
pid: util.readOnly(runtimeOptions.pid),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue