Fix compiling of each block params in strict mode

Fixes #1820
Closes #1821
This commit is contained in:
arturmakaranka
2022-05-04 22:08:54 +04:00
committed by Jay Linski
parent e3a54485db
commit 30dbf04781
2 changed files with 13 additions and 3 deletions
@@ -537,7 +537,9 @@ JavaScriptCompiler.prototype = {
resolvePath: function(type, parts, i, falsy, strict) {
if (this.options.strict || this.options.assumeObjects) {
this.push(strictLookup(this.options.strict && strict, this, parts, type));
this.push(
strictLookup(this.options.strict && strict, this, parts, i, type)
);
return;
}
@@ -1261,9 +1263,8 @@ JavaScriptCompiler.isValidJavaScriptVariableName = function(name) {
);
};
function strictLookup(requireTerminal, compiler, parts, type) {
function strictLookup(requireTerminal, compiler, parts, i, type) {
let stack = compiler.popStack(),
i = 0,
len = parts.length;
if (requireTerminal) {
len--;