fix: support async child process methods without callback in asar (#15927)
* fix: support async child process methods without callback in asar * fix: support async child process methods without callback in asar (improved)
This commit is contained in:
parent
6c998aa4f2
commit
dc93d94bc8
2 changed files with 19 additions and 3 deletions
|
@ -143,10 +143,10 @@
|
|||
return error
|
||||
}
|
||||
|
||||
const overrideAPISync = function (module, name, pathArgumentIndex) {
|
||||
const overrideAPISync = function (module, name, pathArgumentIndex, fromAsync) {
|
||||
if (pathArgumentIndex == null) pathArgumentIndex = 0
|
||||
const old = module[name]
|
||||
module[name] = function () {
|
||||
const func = function () {
|
||||
const pathArgument = arguments[pathArgumentIndex]
|
||||
const { isAsar, asarPath, filePath } = splitPath(pathArgument)
|
||||
if (!isAsar) return old.apply(this, arguments)
|
||||
|
@ -160,6 +160,10 @@
|
|||
arguments[pathArgumentIndex] = newPath
|
||||
return old.apply(this, arguments)
|
||||
}
|
||||
if (fromAsync) {
|
||||
return func
|
||||
}
|
||||
module[name] = func
|
||||
}
|
||||
|
||||
const overrideAPI = function (module, name, pathArgumentIndex) {
|
||||
|
@ -172,7 +176,7 @@
|
|||
|
||||
const callback = arguments[arguments.length - 1]
|
||||
if (typeof callback !== 'function') {
|
||||
return overrideAPISync(module, name, pathArgumentIndex)
|
||||
return overrideAPISync(module, name, pathArgumentIndex, true).apply(this, arguments)
|
||||
}
|
||||
|
||||
const archive = getOrCreateArchive(asarPath)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue