From 4abd19ae148c35ad35ccdc6bde2d4f14595d2e2d Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Thu, 16 Jan 2020 01:24:52 +0800 Subject: [PATCH] Use array destructuring for some simple case (#7330) * Use array destructuring for some simple case * Revert [0] --- src/config/resolve-config.js | 4 +--- src/document/doc-printer.js | 13 +++---------- src/language-html/preprocess.js | 9 +++------ src/language-js/printer-estree.js | 3 +-- src/utils/front-matter.js | 12 +++++++----- website/pages/en/versions.js | 4 +--- website/playground/markdown.js | 6 +----- 7 files changed, 17 insertions(+), 34 deletions(-) diff --git a/src/config/resolve-config.js b/src/config/resolve-config.js index 519df2d1e..0ec049bfa 100644 --- a/src/config/resolve-config.js +++ b/src/config/resolve-config.js @@ -73,9 +73,7 @@ function _resolveConfig(filePath, opts, sync) { const loadEditorConfig = resolveEditorConfig.getLoadFunction(loadOpts); const arr = [load, loadEditorConfig].map(l => l(filePath, opts.config)); - const unwrapAndMerge = arr => { - const result = arr[0]; - const editorConfigured = arr[1]; + const unwrapAndMerge = ([result, editorConfigured]) => { const merged = Object.assign( {}, editorConfigured, diff --git a/src/document/doc-printer.js b/src/document/doc-printer.js index e219fa663..e5b6b7822 100644 --- a/src/document/doc-printer.js +++ b/src/document/doc-printer.js @@ -153,10 +153,7 @@ function fits(next, restCommands, width, options, mustBeFlat) { continue; } - const x = cmds.pop(); - const ind = x[0]; - const mode = x[1]; - const doc = x[2]; + const [ind, mode, doc] = cmds.pop(); if (typeof doc === "string") { out.push(doc); @@ -253,10 +250,7 @@ function printDocToString(doc, options) { let lineSuffix = []; while (cmds.length !== 0) { - const x = cmds.pop(); - const ind = x[0]; - const mode = x[1]; - const doc = x[2]; + const [ind, mode, doc] = cmds.pop(); if (typeof doc === "string") { out.push(doc); @@ -383,7 +377,7 @@ function printDocToString(doc, options) { break; } - const content = parts[0]; + const [content, whitespace] = parts; const contentFlatCmd = [ind, MODE_FLAT, content]; const contentBreakCmd = [ind, MODE_BREAK, content]; const contentFits = fits(contentFlatCmd, [], rem, options, true); @@ -397,7 +391,6 @@ function printDocToString(doc, options) { break; } - const whitespace = parts[1]; const whitespaceFlatCmd = [ind, MODE_FLAT, whitespace]; const whitespaceBreakCmd = [ind, MODE_BREAK, whitespace]; diff --git a/src/language-html/preprocess.js b/src/language-html/preprocess.js index 9e85cbb34..b87e9781c 100644 --- a/src/language-html/preprocess.js +++ b/src/language-html/preprocess.js @@ -39,15 +39,12 @@ function removeIgnorableFirstLf(ast /*, options */) { node.children[0].type === "text" && node.children[0].value[0] === "\n" ) { - const text = node.children[0]; + const [text, ...rest] = node.children; return node.clone({ children: text.value.length === 1 - ? node.children.slice(1) - : [].concat( - text.clone({ value: text.value.slice(1) }), - node.children.slice(1) - ) + ? rest + : [text.clone({ value: text.value.slice(1) }), ...rest] }); } return node; diff --git a/src/language-js/printer-estree.js b/src/language-js/printer-estree.js index bcaadf117..f74f3bfee 100644 --- a/src/language-js/printer-estree.js +++ b/src/language-js/printer-estree.js @@ -3872,8 +3872,7 @@ function shouldGroupFirstArg(args) { return false; } - const firstArg = args[0]; - const secondArg = args[1]; + const [firstArg, secondArg] = args; return ( (!firstArg.comments || !firstArg.comments.length) && (firstArg.type === "FunctionExpression" || diff --git a/src/utils/front-matter.js b/src/utils/front-matter.js index 2002486f0..1d525d209 100644 --- a/src/utils/front-matter.js +++ b/src/utils/front-matter.js @@ -23,13 +23,15 @@ function parse(text) { return { frontMatter: null, content: text }; } - const raw = match[0].replace(/\n$/, ""); - const delimiter = match[1]; - const value = match[2]; + const [raw, delimiter, value] = match; return { - frontMatter: { type: DELIMITER_MAP[delimiter], value, raw }, - content: match[0].replace(/[^\n]/g, " ") + text.slice(match[0].length) + frontMatter: { + type: DELIMITER_MAP[delimiter], + value, + raw: raw.replace(/\n$/, "") + }, + content: raw.replace(/[^\n]/g, " ") + text.slice(raw.length) }; } diff --git a/website/pages/en/versions.js b/website/pages/en/versions.js index a7b5351b7..610703022 100755 --- a/website/pages/en/versions.js +++ b/website/pages/en/versions.js @@ -21,9 +21,7 @@ const devVersion = isMasterDevVersion ? masterVersion : null; const latestVersion = isMasterDevVersion ? rootPackageJson.devDependencies.prettier : masterVersion; - -const latestDocsVersion = versions[0]; -const pastDocsVersions = versions.slice(1); +const [latestDocsVersion, ...pastDocsVersions] = versions; function Versions(props) { const { config: siteConfig } = props; diff --git a/website/playground/markdown.js b/website/playground/markdown.js index b1bf85320..7f6bf2b2e 100644 --- a/website/playground/markdown.js +++ b/website/playground/markdown.js @@ -57,11 +57,7 @@ function getMarkdownSyntax(options) { function formatCLIOptions(cliOptions) { return cliOptions - .map(option => { - const name = option[0]; - const value = option[1]; - return value === true ? name : `${name} ${value}`; - }) + .map(([name, value]) => (value === true ? name : `${name} ${value}`)) .join("\n"); }