From d911bdaf63b756357a52a45aa100756fd54fd2e7 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Tue, 20 Jan 2015 08:56:14 +1100 Subject: [PATCH] add AssignmentPattern support to scope tracking - fixes #537 --- lib/6to5/types/index.js | 3 ++- .../es6-let-scoping/exec-destructuring-defaults/exec.js | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 test/fixtures/transformation/es6-let-scoping/exec-destructuring-defaults/exec.js diff --git a/lib/6to5/types/index.js b/lib/6to5/types/index.js index 8bc6cb5d75..8e719cf369 100644 --- a/lib/6to5/types/index.js +++ b/lib/6to5/types/index.js @@ -487,7 +487,8 @@ t.getIds.nodes = { MemeberExpression: ["object"], SpreadElement: ["argument"], Property: ["value"], - ComprehensionBlock: ["left"] + ComprehensionBlock: ["left"], + AssignmentPattern: ["left"] }; t.getIds.arrays = { diff --git a/test/fixtures/transformation/es6-let-scoping/exec-destructuring-defaults/exec.js b/test/fixtures/transformation/es6-let-scoping/exec-destructuring-defaults/exec.js new file mode 100644 index 0000000000..a440bcb047 --- /dev/null +++ b/test/fixtures/transformation/es6-let-scoping/exec-destructuring-defaults/exec.js @@ -0,0 +1,5 @@ +var fields = [{ name: "title" }, { name: "content" }]; + +for (let { name, value = "Default value" } of fields) { + assert.equal(value, "Default value"); +}