block hoist assignment pattern destructuring - fixes #652
This commit is contained in:
@@ -46,9 +46,11 @@ var push = function (opts, nodes, elem, parentId) {
|
||||
var pushAssignmentPattern = function (opts, nodes, pattern, parentId) {
|
||||
var tempParentId = opts.scope.generateUidBasedOnNode(parentId, opts.file);
|
||||
|
||||
nodes.push(t.variableDeclaration("var", [
|
||||
var declar = t.variableDeclaration("var", [
|
||||
t.variableDeclarator(tempParentId, parentId)
|
||||
]));
|
||||
]);
|
||||
declar._blockHoist = opts.blockHoist;
|
||||
nodes.push(declar);
|
||||
|
||||
nodes.push(buildVariableAssign(
|
||||
opts,
|
||||
|
||||
@@ -3,4 +3,11 @@ function* foo() {
|
||||
return bar;
|
||||
}
|
||||
|
||||
assert.deepEqual(foo().next().value, "bar");
|
||||
assert.equal(foo().next().value, "bar");
|
||||
|
||||
function *foo({ bar = 0 }) {
|
||||
return bar;
|
||||
}
|
||||
|
||||
assert.equal(foo({ bar: undefined }).next(), 0);
|
||||
assert.equal(foo({ bar: 3 }).next(), 3);
|
||||
|
||||
Reference in New Issue
Block a user