From 600ff2f6beccba1daaf0c30a930f8461273bea15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A1bio=20Santos?= Date: Sun, 22 Nov 2015 18:02:35 +0000 Subject: [PATCH] Destructuring parameters with defaults. `function x({ foo, bar } = {}) { }` --- lib/ast.js | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/lib/ast.js b/lib/ast.js index ae10abdf..7ae3a114 100644 --- a/lib/ast.js +++ b/lib/ast.js @@ -425,13 +425,8 @@ var AST_ArrowParametersOrSeq = DEFNODE("ArrowParametersOrSeq", "expressions", { default: default_seen_above, names: ex.elements.map(to_fun_args) }); - } else if (ex instanceof AST_Assign && ex.left instanceof AST_Symbol) { - return new AST_SymbolFunarg({ - name: ex.left.name, - default: ex.right, - start: ex.start, - end: ex.end - }); + } else if (ex instanceof AST_Assign) { + return to_fun_args(ex.left, undefined, undefined, ex.right); } else { croak("Invalid function parameter", ex.start.line, ex.start.col); }