Skip to content

Commit c4319e3

Browse files
author
Andy
authored
Clean up uses of ensureScriptKind (#16714)
* Clean up uses of ensureScriptKind * Remove unneeded parentheses
1 parent 2ccfe50 commit c4319e3

File tree

3 files changed

+5
-13
lines changed

3 files changed

+5
-13
lines changed

src/compiler/core.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2114,14 +2114,14 @@ namespace ts {
21142114
return absolute.substring(0, absolute.lastIndexOf(directorySeparator, wildcardOffset));
21152115
}
21162116

2117-
export function ensureScriptKind(fileName: string, scriptKind?: ScriptKind): ScriptKind {
2117+
export function ensureScriptKind(fileName: string, scriptKind: ScriptKind | undefined): ScriptKind {
21182118
// Using scriptKind as a condition handles both:
21192119
// - 'scriptKind' is unspecified and thus it is `undefined`
21202120
// - 'scriptKind' is set and it is `Unknown` (0)
21212121
// If the 'scriptKind' is 'undefined' or 'Unknown' then we attempt
21222122
// to get the ScriptKind from the file name. If it cannot be resolved
21232123
// from the file name then the default 'TS' script kind is returned.
2124-
return (scriptKind || getScriptKindFromFileName(fileName)) || ScriptKind.TS;
2124+
return scriptKind || getScriptKindFromFileName(fileName) || ScriptKind.TS;
21252125
}
21262126

21272127
export function getScriptKindFromFileName(fileName: string): ScriptKind {

src/services/jsTyping.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,7 @@ namespace ts.JsTyping {
7171
// Only infer typings for .js and .jsx files
7272
fileNames = mapDefined(fileNames, fileName => {
7373
const path = normalizePath(fileName);
74-
const kind = ensureScriptKind(path, getScriptKindFromFileName(path));
75-
if (kind === ScriptKind.JS || kind === ScriptKind.JSX) {
74+
if (hasJavaScriptFileExtension(path)) {
7675
return path;
7776
}
7877
});
@@ -191,7 +190,7 @@ namespace ts.JsTyping {
191190
}
192191
}
193192

194-
const hasJsxFile = forEach(fileNames, f => ensureScriptKind(f, getScriptKindFromFileName(f)) === ScriptKind.JSX);
193+
const hasJsxFile = some(fileNames, f => fileExtensionIs(f, Extension.Jsx));
195194
if (hasJsxFile) {
196195
addInferredTyping("react");
197196
}

src/services/utilities.ts

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1310,14 +1310,7 @@ namespace ts {
13101310
export function getScriptKind(fileName: string, host?: LanguageServiceHost): ScriptKind {
13111311
// First check to see if the script kind was specified by the host. Chances are the host
13121312
// may override the default script kind for the file extension.
1313-
let scriptKind: ScriptKind;
1314-
if (host && host.getScriptKind) {
1315-
scriptKind = host.getScriptKind(fileName);
1316-
}
1317-
if (!scriptKind) {
1318-
scriptKind = getScriptKindFromFileName(fileName);
1319-
}
1320-
return ensureScriptKind(fileName, scriptKind);
1313+
return ensureScriptKind(fileName, host && host.getScriptKind && host.getScriptKind(fileName));
13211314
}
13221315

13231316
export function getFirstNonSpaceCharacterPosition(text: string, position: number) {

0 commit comments

Comments
 (0)