Line after one-line if statement disappears
Opened this issue · 2 comments
Christilut commented
This is my script:
console.log(1)
if (false) throw new Error('test')
console.log(2)
console.log(3)
I run it like this:
// this.jsContents is the the above script
const jsContentsExecutor: string = `async function _execute() {${this.jsContents}}; return _execute();`
const jsExecutor = sandbox.compileAsync(jsContentsExecutor)
await jsExecutor({
// _vars: pluginVars, // Normally some vars are added
// _settings: pluginSettings
}).run()
This is the output:
1
3
So it appears the 2 is disappearing.
If I change the line to have brackets, it does work:
if (false) {
throw new Error('test')
}
Results in:
1
2
3
Christilut commented
Do while loop has the same problem:
console.log(1)
do {
console.log(2)
break
} while (true)
console.log(3)
console.log(4)
Results in:
1
2
4
alvarolm commented
hello there ! 👋
have you found a solution or are you using other library ?