Skip to content

Commit 0ce5c4a

Browse files
authored
improve isRequireVariableDeclaration parameters (microsoft#42865)
One parameter is always called with `true`, so drop it.
1 parent 36d021a commit 0ce5c4a

File tree

6 files changed

+11
-14
lines changed

6 files changed

+11
-14
lines changed

src/compiler/binder.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3307,7 +3307,7 @@ namespace ts {
33073307
}
33083308

33093309
if (!isBindingPattern(node.name)) {
3310-
if (isInJSFile(node) && isRequireVariableDeclaration(node, /*requireStringLiteralLikeArgument*/ true) && !getJSDocTypeTag(node)) {
3310+
if (isInJSFile(node) && isRequireVariableDeclaration(node) && !getJSDocTypeTag(node)) {
33113311
declareSymbolAndAddToSymbolTable(node as Declaration, SymbolFlags.Alias, SymbolFlags.AliasExcludes);
33123312
}
33133313
else if (isBlockOrCatchScoped(node)) {

src/compiler/checker.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2495,7 +2495,7 @@ namespace ts {
24952495
&& isAliasableOrJsExpression(node.parent.right)
24962496
|| node.kind === SyntaxKind.ShorthandPropertyAssignment
24972497
|| node.kind === SyntaxKind.PropertyAssignment && isAliasableOrJsExpression((node as PropertyAssignment).initializer)
2498-
|| isRequireVariableDeclaration(node, /*requireStringLiteralLikeArgument*/ true);
2498+
|| isRequireVariableDeclaration(node);
24992499
}
25002500

25012501
function isAliasableOrJsExpression(e: Expression) {
@@ -34412,7 +34412,7 @@ namespace ts {
3441234412
}
3441334413
// For a commonjs `const x = require`, validate the alias and exit
3441434414
const symbol = getSymbolOfNode(node);
34415-
if (symbol.flags & SymbolFlags.Alias && isRequireVariableDeclaration(node, /*requireStringLiteralLikeArgument*/ true)) {
34415+
if (symbol.flags & SymbolFlags.Alias && isRequireVariableDeclaration(node)) {
3441634416
checkAliasSymbol(node);
3441734417
return;
3441834418
}

src/compiler/utilities.ts

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1965,8 +1965,7 @@ namespace ts {
19651965
}
19661966

19671967
export function getExternalModuleRequireArgument(node: Node) {
1968-
return isRequireVariableDeclaration(node, /*requireStringLiteralLikeArgument*/ true)
1969-
&& (getLeftmostAccessExpression(node.initializer) as CallExpression).arguments[0] as StringLiteral;
1968+
return isRequireVariableDeclaration(node) && (getLeftmostAccessExpression(node.initializer) as CallExpression).arguments[0] as StringLiteral;
19701969
}
19711970

19721971
export function isInternalModuleImportEqualsDeclaration(node: Node): node is ImportEqualsDeclaration {
@@ -2033,19 +2032,17 @@ namespace ts {
20332032
* Returns true if the node is a VariableDeclaration initialized to a require call (see `isRequireCall`).
20342033
* This function does not test if the node is in a JavaScript file or not.
20352034
*/
2036-
export function isRequireVariableDeclaration(node: Node, requireStringLiteralLikeArgument: true): node is RequireVariableDeclaration;
2037-
export function isRequireVariableDeclaration(node: Node, requireStringLiteralLikeArgument: boolean): node is VariableDeclaration;
2038-
export function isRequireVariableDeclaration(node: Node, requireStringLiteralLikeArgument: boolean): node is VariableDeclaration {
2035+
export function isRequireVariableDeclaration(node: Node): node is RequireVariableDeclaration {
20392036
if (node.kind === SyntaxKind.BindingElement) {
20402037
node = node.parent.parent;
20412038
}
2042-
return isVariableDeclaration(node) && !!node.initializer && isRequireCall(getLeftmostAccessExpression(node.initializer), requireStringLiteralLikeArgument);
2039+
return isVariableDeclaration(node) && !!node.initializer && isRequireCall(getLeftmostAccessExpression(node.initializer), /*requireStringLiteralLikeArgument*/ true);
20432040
}
20442041

2045-
export function isRequireVariableStatement(node: Node, requireStringLiteralLikeArgument = true): node is RequireVariableStatement {
2042+
export function isRequireVariableStatement(node: Node): node is RequireVariableStatement {
20462043
return isVariableStatement(node)
20472044
&& node.declarationList.declarations.length > 0
2048-
&& every(node.declarationList.declarations, decl => isRequireVariableDeclaration(decl, requireStringLiteralLikeArgument));
2045+
&& every(node.declarationList.declarations, decl => isRequireVariableDeclaration(decl));
20492046
}
20502047

20512048
export function isSingleOrDoubleQuote(charCode: number) {

src/services/codefixes/importFixes.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -376,7 +376,7 @@ namespace ts.codefix {
376376
// Can't use an es6 import for a type in JS.
377377
return exportedSymbolIsTypeOnly && isSourceFileJS(sourceFile) ? emptyArray : mapDefined(sourceFile.imports, (moduleSpecifier): FixAddToExistingImportInfo | undefined => {
378378
const i = importFromModuleSpecifier(moduleSpecifier);
379-
if (isRequireVariableDeclaration(i.parent, /*requireStringLiteralLikeArgument*/ true)) {
379+
if (isRequireVariableDeclaration(i.parent)) {
380380
return checker.resolveExternalModuleName(moduleSpecifier) === moduleSymbol ? { declaration: i.parent, importKind } : undefined;
381381
}
382382
if (i.kind === SyntaxKind.ImportDeclaration || i.kind === SyntaxKind.ImportEqualsDeclaration) {

src/services/goToDefinition.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -232,7 +232,7 @@ namespace ts.GoToDefinition {
232232
return declaration.parent.kind === SyntaxKind.NamedImports;
233233
case SyntaxKind.BindingElement:
234234
case SyntaxKind.VariableDeclaration:
235-
return isInJSFile(declaration) && isRequireVariableDeclaration(declaration, /*requireStringLiteralLikeArgument*/ true);
235+
return isInJSFile(declaration) && isRequireVariableDeclaration(declaration);
236236
default:
237237
return false;
238238
}

src/services/importTracker.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -619,7 +619,7 @@ namespace ts.FindAllReferences {
619619
Debug.assert((parent as ImportClause | NamespaceImport).name === node);
620620
return true;
621621
case SyntaxKind.BindingElement:
622-
return isInJSFile(node) && isRequireVariableDeclaration(parent, /*requireStringLiteralLikeArgument*/ true);
622+
return isInJSFile(node) && isRequireVariableDeclaration(parent);
623623
default:
624624
return false;
625625
}

0 commit comments

Comments
 (0)