From a8c033a49371a3b8f16b4d5d82ec1cbaf13ac93e Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Fri, 10 Oct 2025 15:52:40 +0800 Subject: [PATCH] Remove unnecessary `parts` (#18027) --- src/language-js/print/hook.js | 24 ++++++++++------------- src/language-js/print/jsx.js | 3 +-- src/language-js/print/module.js | 13 +++++------- src/language-js/print/template-literal.js | 6 ++---- src/language-js/print/typescript.js | 4 ++-- 5 files changed, 20 insertions(+), 30 deletions(-) diff --git a/src/language-js/print/hook.js b/src/language-js/print/hook.js index 8f23a342e..fd295056b 100644 --- a/src/language-js/print/hook.js +++ b/src/language-js/print/hook.js @@ -84,11 +84,8 @@ function isDeclareHookTypeAnnotation(path) { */ function printHookTypeAnnotation(path, options, print) { const { node } = path; - const parts = []; - parts.push(isDeclareHookTypeAnnotation(path) ? "" : "hook "); - - let parametersDoc = printFunctionParameters( + const parametersDoc = printFunctionParameters( path, options, print, @@ -96,19 +93,18 @@ function printHookTypeAnnotation(path, options, print) { /* printTypeParams */ true, ); - const returnTypeDoc = []; - returnTypeDoc.push( + const returnTypeDoc = [ isDeclareHookTypeAnnotation(path) ? ": " : " => ", print("returnType"), - ); + ]; - if (shouldGroupFunctionParameters(node, returnTypeDoc)) { - parametersDoc = group(parametersDoc); - } - - parts.push(parametersDoc, returnTypeDoc); - - return group(parts); + return group([ + isDeclareHookTypeAnnotation(path) ? "" : "hook ", + shouldGroupFunctionParameters(node, returnTypeDoc) + ? group(parametersDoc) + : parametersDoc, + returnTypeDoc, + ]); } export { printDeclareHook, printHook, printHookTypeAnnotation }; diff --git a/src/language-js/print/jsx.js b/src/language-js/print/jsx.js index aeab8a792..3f3932b85 100644 --- a/src/language-js/print/jsx.js +++ b/src/language-js/print/jsx.js @@ -546,8 +546,7 @@ function shouldBreakJsxElement(path) { function printJsxAttribute(path, options, print) { const { node } = path; - const parts = []; - parts.push(print("name")); + const parts = [print("name")]; if (node.value) { let res; diff --git a/src/language-js/print/module.js b/src/language-js/print/module.js index ebda9fe27..a97402537 100644 --- a/src/language-js/print/module.js +++ b/src/language-js/print/module.js @@ -148,14 +148,11 @@ function printModuleSource(path, options, print) { return ""; } - /** @type{Doc[]} */ - const parts = []; - if (shouldPrintSpecifiers(node, options)) { - parts.push(" from"); - } - parts.push(" ", print("source")); - - return parts; + return [ + shouldPrintSpecifiers(node, options) ? " from" : "", + " ", + print("source"), + ]; } function printModuleSpecifiers(path, options, print) { diff --git a/src/language-js/print/template-literal.js b/src/language-js/print/template-literal.js index ecebecc85..98a0a1c1a 100644 --- a/src/language-js/print/template-literal.js +++ b/src/language-js/print/template-literal.js @@ -177,7 +177,6 @@ function printJestEachTemplateLiteral(path, options, print) { options.__inJestEach = true; const expressions = path.map(print, "expressions"); options.__inJestEach = false; - const parts = []; const stringifiedExpressions = expressions.map( (doc) => "${" + @@ -223,7 +222,7 @@ function printJestEachTemplateLiteral(path, options, print) { } } - parts.push( + return [ lineSuffixBoundary, "`", indent([ @@ -245,8 +244,7 @@ function printJestEachTemplateLiteral(path, options, print) { ]), hardline, "`", - ); - return parts; + ]; } } diff --git a/src/language-js/print/typescript.js b/src/language-js/print/typescript.js index e85988867..f1a6ca9ce 100644 --- a/src/language-js/print/typescript.js +++ b/src/language-js/print/typescript.js @@ -71,8 +71,6 @@ function printTypescript(path, options, print) { return node.type.slice(2, -7).toLowerCase(); } - const parts = []; - switch (node.type) { case "TSThisType": return "this"; @@ -223,6 +221,7 @@ function printTypescript(path, options, print) { return printTypeScriptMappedType(path, options, print); case "TSMethodSignature": { + const parts = []; const kind = node.kind && node.kind !== "method" ? `${node.kind} ` : ""; parts.push( printTypeScriptAccessibilityToken(node), @@ -281,6 +280,7 @@ function printTypescript(path, options, print) { case "TSExternalModuleReference": return ["require(", print("expression"), ")"]; case "TSModuleDeclaration": { + const parts = []; const { parent } = path; const parentIsDeclaration = parent.type === "TSModuleDeclaration"; const bodyIsDeclaration = node.body?.type === "TSModuleDeclaration";