From 5070077d838c7f098dcab9c701331af37db1e763 Mon Sep 17 00:00:00 2001 From: Edward Faulkner Date: Wed, 27 May 2015 14:46:27 -0400 Subject: [PATCH] Improved ArrayPattern formatting --- escodegen.js | 6 ++--- .../spread-element.expected.js | 24 ++++--------------- .../destructuring-assignment.expected.js | 21 ++++------------ .../spread-element.expected.js | 12 ++-------- test/harmony.js | 6 ++--- 5 files changed, 16 insertions(+), 53 deletions(-) diff --git a/escodegen.js b/escodegen.js index 3f1c330a..84edc1a2 100644 --- a/escodegen.js +++ b/escodegen.js @@ -2025,15 +2025,15 @@ }, ArrayPattern: function (expr, precedence, flags) { - return this.ArrayExpression(expr, precedence, flags); + return this.ArrayExpression(expr, precedence, flags, true); }, - ArrayExpression: function (expr, precedence, flags) { + ArrayExpression: function (expr, precedence, flags, isPattern) { var result, multiline, that = this; if (!expr.elements.length) { return '[]'; } - multiline = expr.elements.length > 1; + multiline = isPattern ? false : expr.elements.length > 1; result = ['[', multiline ? newline : '']; withIndent(function (indent) { var i, iz; diff --git a/test/compare-fixed-harmony/spread-element.expected.js b/test/compare-fixed-harmony/spread-element.expected.js index 48a01abd..80bf18b6 100644 --- a/test/compare-fixed-harmony/spread-element.expected.js +++ b/test/compare-fixed-harmony/spread-element.expected.js @@ -1,22 +1,6 @@ -var [ - a, - b, - ...rest -] = array; -const [ - a, - b, - ...rest -] = array; -function a([ - a, - b, - ...rest -]) { +var [a, b, ...rest] = array; +const [a, b, ...rest] = array; +function a([a, b, ...rest]) { } -([ - a, - b, - ...rest -]) => { +([a, b, ...rest]) => { }; diff --git a/test/compare-harmony/destructuring-assignment.expected.js b/test/compare-harmony/destructuring-assignment.expected.js index 227c366b..6d4a1bb0 100644 --- a/test/compare-harmony/destructuring-assignment.expected.js +++ b/test/compare-harmony/destructuring-assignment.expected.js @@ -2,27 +2,14 @@ function t1({responseText: responseText}) { } function t2({responseText}) { } -function t3([ - a, - b -]) { +function t3([a, b]) { } -var [ - i, - j, - k -] = array; +var [i, j, k] = array; var {i, j, k} = obj; let {i, j, k} = obj; const {i, j, k} = obj; var {value} = obj; var {value} = obj; var [obj.hello] = prop; -var [ - obj.hello, - ...obj.ok -] = prop; -var [ - obj.hello, - ...obj['hello'] -] = prop; +var [obj.hello, ...obj.ok] = prop; +var [obj.hello, ...obj['hello']] = prop; diff --git a/test/compare-harmony/spread-element.expected.js b/test/compare-harmony/spread-element.expected.js index 2533b3c2..9de0bf33 100644 --- a/test/compare-harmony/spread-element.expected.js +++ b/test/compare-harmony/spread-element.expected.js @@ -1,10 +1,2 @@ -var [ - a, - b, - ...rest -] = array; -const [ - a, - b, - ...rest -] = array; +var [a, b, ...rest] = array; +const [a, b, ...rest] = array; diff --git a/test/harmony.js b/test/harmony.js index 68f94b32..11102937 100644 --- a/test/harmony.js +++ b/test/harmony.js @@ -1380,7 +1380,7 @@ data = { } }, - 'for (let [\n a,\n b\n ] in obj) {\n}': { + 'for (let [a, b] in obj) {\n}': { generateFrom: { type: 'Program', body: [{ @@ -1421,7 +1421,7 @@ data = { } }, - 'function getIdField([\n a,\n b,\n c\n]) {\n}': { + 'function getIdField([a, b, c]) {\n}': { generateFrom: { type: 'Program', body: [{ @@ -1461,7 +1461,7 @@ data = { } }, - '[\n x,\n ...y\n] = list;': { + '[x, ...y] = list;': { generateFrom: { "type": "Program", "body": [