typescript 5.0.0-dev.20230205 → 5.0.0-dev.20230207
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/tsc.js +232 -244
- package/lib/tsserver.js +395 -403
- package/lib/tsserverlibrary.d.ts +0 -2
- package/lib/tsserverlibrary.js +401 -410
- package/lib/typescript.d.ts +0 -2
- package/lib/typescript.js +396 -410
- package/lib/typingsInstaller.js +177 -185
- package/package.json +1 -1
package/lib/tsserver.js
CHANGED
|
@@ -1858,6 +1858,7 @@ __export(server_exports, {
|
|
|
1858
1858
|
mutateMapSkippingNewValues: () => mutateMapSkippingNewValues,
|
|
1859
1859
|
needsParentheses: () => needsParentheses,
|
|
1860
1860
|
needsScopeMarker: () => needsScopeMarker,
|
|
1861
|
+
newCaseClauseTracker: () => newCaseClauseTracker,
|
|
1861
1862
|
newPrivateEnvironment: () => newPrivateEnvironment,
|
|
1862
1863
|
noEmitNotification: () => noEmitNotification,
|
|
1863
1864
|
noEmitSubstitution: () => noEmitSubstitution,
|
|
@@ -2286,7 +2287,7 @@ module.exports = __toCommonJS(server_exports);
|
|
|
2286
2287
|
|
|
2287
2288
|
// src/compiler/corePublic.ts
|
|
2288
2289
|
var versionMajorMinor = "5.0";
|
|
2289
|
-
var version = `${versionMajorMinor}.0-dev.
|
|
2290
|
+
var version = `${versionMajorMinor}.0-dev.20230207`;
|
|
2290
2291
|
var Comparison = /* @__PURE__ */ ((Comparison3) => {
|
|
2291
2292
|
Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
|
|
2292
2293
|
Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
|
|
@@ -7703,7 +7704,7 @@ function createUseFsEventsOnParentDirectoryWatchFile(fsWatch, useCaseSensitiveFi
|
|
|
7703
7704
|
function createDirectoryWatcher(dirName, dirPath, fallbackOptions) {
|
|
7704
7705
|
const watcher = fsWatch(
|
|
7705
7706
|
dirName,
|
|
7706
|
-
|
|
7707
|
+
1 /* Directory */,
|
|
7707
7708
|
(_eventName, relativeFileName, modifiedTime) => {
|
|
7708
7709
|
if (!isString(relativeFileName))
|
|
7709
7710
|
return;
|
|
@@ -7903,7 +7904,7 @@ function createDirectoryWatcherSupportingRecursive({
|
|
|
7903
7904
|
}
|
|
7904
7905
|
function nonSyncUpdateChildWatches(dirName, dirPath, fileName, options) {
|
|
7905
7906
|
const parentWatcher = cache.get(dirPath);
|
|
7906
|
-
if (parentWatcher && fileSystemEntryExists(dirName,
|
|
7907
|
+
if (parentWatcher && fileSystemEntryExists(dirName, 1 /* Directory */)) {
|
|
7907
7908
|
scheduleUpdateChildWatches(dirName, dirPath, fileName, options);
|
|
7908
7909
|
return;
|
|
7909
7910
|
}
|
|
@@ -7968,7 +7969,7 @@ function createDirectoryWatcherSupportingRecursive({
|
|
|
7968
7969
|
return false;
|
|
7969
7970
|
let newChildWatches;
|
|
7970
7971
|
const hasChanges = enumerateInsertsAndDeletes(
|
|
7971
|
-
fileSystemEntryExists(parentDir,
|
|
7972
|
+
fileSystemEntryExists(parentDir, 1 /* Directory */) ? mapDefined(getAccessibleSortedChildDirectories(parentDir), (child) => {
|
|
7972
7973
|
const childFullName = getNormalizedAbsolutePath(child, parentDir);
|
|
7973
7974
|
return !isIgnoredPath(childFullName, options) && filePathComparer(childFullName, normalizePath(realpath(childFullName))) === 0 /* EqualTo */ ? childFullName : void 0;
|
|
7974
7975
|
}) : emptyArray,
|
|
@@ -10735,6 +10736,10 @@ var Diagnostics = {
|
|
|
10735
10736
|
Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports: diag(6410, 3 /* Message */, "Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports_6410", "Conditions to set in addition to the resolver-specific defaults when resolving imports."),
|
|
10736
10737
|
true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false: diag(6411, 3 /* Message */, "true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false_6411", "`true` when 'moduleResolution' is 'node16', 'nodenext', or 'bundler'; otherwise `false`."),
|
|
10737
10738
|
Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_but_not_any_more: diag(6412, 3 /* Message */, "Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_6412", "Project '{0}' is out of date because buildinfo file '{1}' indicates that file '{2}' was root file of compilation but not any more."),
|
|
10739
|
+
Entering_conditional_exports: diag(6413, 3 /* Message */, "Entering_conditional_exports_6413", "Entering conditional exports."),
|
|
10740
|
+
Resolved_under_condition_0: diag(6414, 3 /* Message */, "Resolved_under_condition_0_6414", "Resolved under condition '{0}'."),
|
|
10741
|
+
Failed_to_resolve_under_condition_0: diag(6415, 3 /* Message */, "Failed_to_resolve_under_condition_0_6415", "Failed to resolve under condition '{0}'."),
|
|
10742
|
+
Exiting_conditional_exports: diag(6416, 3 /* Message */, "Exiting_conditional_exports_6416", "Exiting conditional exports."),
|
|
10738
10743
|
The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1: diag(6500, 3 /* Message */, "The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500", "The expected type comes from property '{0}' which is declared here on type '{1}'"),
|
|
10739
10744
|
The_expected_type_comes_from_this_index_signature: diag(6501, 3 /* Message */, "The_expected_type_comes_from_this_index_signature_6501", "The expected type comes from this index signature."),
|
|
10740
10745
|
The_expected_type_comes_from_the_return_type_of_this_signature: diag(6502, 3 /* Message */, "The_expected_type_comes_from_the_return_type_of_this_signature_6502", "The expected type comes from the return type of this signature."),
|
|
@@ -19310,17 +19315,11 @@ function getCombinedLocalAndExportSymbolFlags(symbol) {
|
|
|
19310
19315
|
return symbol.exportSymbol ? symbol.exportSymbol.flags | symbol.flags : symbol.flags;
|
|
19311
19316
|
}
|
|
19312
19317
|
function isWriteOnlyAccess(node) {
|
|
19313
|
-
return accessKind(node) ===
|
|
19318
|
+
return accessKind(node) === 1 /* Write */;
|
|
19314
19319
|
}
|
|
19315
19320
|
function isWriteAccess(node) {
|
|
19316
|
-
return accessKind(node) !==
|
|
19317
|
-
}
|
|
19318
|
-
var AccessKind = /* @__PURE__ */ ((AccessKind2) => {
|
|
19319
|
-
AccessKind2[AccessKind2["Read"] = 0] = "Read";
|
|
19320
|
-
AccessKind2[AccessKind2["Write"] = 1] = "Write";
|
|
19321
|
-
AccessKind2[AccessKind2["ReadWrite"] = 2] = "ReadWrite";
|
|
19322
|
-
return AccessKind2;
|
|
19323
|
-
})(AccessKind || {});
|
|
19321
|
+
return accessKind(node) !== 0 /* Read */;
|
|
19322
|
+
}
|
|
19324
19323
|
function accessKind(node) {
|
|
19325
19324
|
const { parent: parent2 } = node;
|
|
19326
19325
|
if (!parent2)
|
|
@@ -30186,7 +30185,7 @@ var Parser;
|
|
|
30186
30185
|
}
|
|
30187
30186
|
sourceFlags = contextFlags;
|
|
30188
30187
|
nextToken();
|
|
30189
|
-
const statements = parseList(
|
|
30188
|
+
const statements = parseList(0 /* SourceElements */, parseStatement);
|
|
30190
30189
|
Debug.assert(token() === 1 /* EndOfFileToken */);
|
|
30191
30190
|
const endOfFileToken = addJSDocComment(parseTokenNode());
|
|
30192
30191
|
const sourceFile = createSourceFile2(fileName, languageVersion2, scriptKind2, isDeclarationFile, statements, endOfFileToken, sourceFlags, setExternalModuleIndicator2);
|
|
@@ -30249,7 +30248,7 @@ var Parser;
|
|
|
30249
30248
|
nextToken();
|
|
30250
30249
|
while (token() !== 1 /* EndOfFileToken */) {
|
|
30251
30250
|
const startPos = scanner2.getStartPos();
|
|
30252
|
-
const statement = parseListElement(
|
|
30251
|
+
const statement = parseListElement(0 /* SourceElements */, parseStatement);
|
|
30253
30252
|
statements.push(statement);
|
|
30254
30253
|
if (startPos === scanner2.getStartPos()) {
|
|
30255
30254
|
nextToken();
|
|
@@ -30936,19 +30935,19 @@ var Parser;
|
|
|
30936
30935
|
return true;
|
|
30937
30936
|
}
|
|
30938
30937
|
switch (parsingContext2) {
|
|
30939
|
-
case
|
|
30940
|
-
case
|
|
30941
|
-
case
|
|
30938
|
+
case 0 /* SourceElements */:
|
|
30939
|
+
case 1 /* BlockStatements */:
|
|
30940
|
+
case 3 /* SwitchClauseStatements */:
|
|
30942
30941
|
return !(token() === 26 /* SemicolonToken */ && inErrorRecovery) && isStartOfStatement();
|
|
30943
|
-
case
|
|
30942
|
+
case 2 /* SwitchClauses */:
|
|
30944
30943
|
return token() === 82 /* CaseKeyword */ || token() === 88 /* DefaultKeyword */;
|
|
30945
|
-
case
|
|
30944
|
+
case 4 /* TypeMembers */:
|
|
30946
30945
|
return lookAhead(isTypeMemberStart);
|
|
30947
|
-
case
|
|
30946
|
+
case 5 /* ClassMembers */:
|
|
30948
30947
|
return lookAhead(isClassMemberStart) || token() === 26 /* SemicolonToken */ && !inErrorRecovery;
|
|
30949
|
-
case
|
|
30948
|
+
case 6 /* EnumMembers */:
|
|
30950
30949
|
return token() === 22 /* OpenBracketToken */ || isLiteralPropertyName();
|
|
30951
|
-
case
|
|
30950
|
+
case 12 /* ObjectLiteralMembers */:
|
|
30952
30951
|
switch (token()) {
|
|
30953
30952
|
case 22 /* OpenBracketToken */:
|
|
30954
30953
|
case 41 /* AsteriskToken */:
|
|
@@ -30958,13 +30957,13 @@ var Parser;
|
|
|
30958
30957
|
default:
|
|
30959
30958
|
return isLiteralPropertyName();
|
|
30960
30959
|
}
|
|
30961
|
-
case
|
|
30960
|
+
case 18 /* RestProperties */:
|
|
30962
30961
|
return isLiteralPropertyName();
|
|
30963
|
-
case
|
|
30962
|
+
case 9 /* ObjectBindingElements */:
|
|
30964
30963
|
return token() === 22 /* OpenBracketToken */ || token() === 25 /* DotDotDotToken */ || isLiteralPropertyName();
|
|
30965
|
-
case
|
|
30964
|
+
case 24 /* AssertEntries */:
|
|
30966
30965
|
return isAssertionKey2();
|
|
30967
|
-
case
|
|
30966
|
+
case 7 /* HeritageClauseElement */:
|
|
30968
30967
|
if (token() === 18 /* OpenBraceToken */) {
|
|
30969
30968
|
return lookAhead(isValidHeritageClauseObjectLiteral);
|
|
30970
30969
|
}
|
|
@@ -30973,40 +30972,40 @@ var Parser;
|
|
|
30973
30972
|
} else {
|
|
30974
30973
|
return isIdentifier2() && !isHeritageClauseExtendsOrImplementsKeyword();
|
|
30975
30974
|
}
|
|
30976
|
-
case
|
|
30975
|
+
case 8 /* VariableDeclarations */:
|
|
30977
30976
|
return isBindingIdentifierOrPrivateIdentifierOrPattern();
|
|
30978
|
-
case
|
|
30977
|
+
case 10 /* ArrayBindingElements */:
|
|
30979
30978
|
return token() === 27 /* CommaToken */ || token() === 25 /* DotDotDotToken */ || isBindingIdentifierOrPrivateIdentifierOrPattern();
|
|
30980
|
-
case
|
|
30979
|
+
case 19 /* TypeParameters */:
|
|
30981
30980
|
return token() === 101 /* InKeyword */ || token() === 85 /* ConstKeyword */ || isIdentifier2();
|
|
30982
|
-
case
|
|
30981
|
+
case 15 /* ArrayLiteralMembers */:
|
|
30983
30982
|
switch (token()) {
|
|
30984
30983
|
case 27 /* CommaToken */:
|
|
30985
30984
|
case 24 /* DotToken */:
|
|
30986
30985
|
return true;
|
|
30987
30986
|
}
|
|
30988
|
-
case
|
|
30987
|
+
case 11 /* ArgumentExpressions */:
|
|
30989
30988
|
return token() === 25 /* DotDotDotToken */ || isStartOfExpression();
|
|
30990
|
-
case
|
|
30989
|
+
case 16 /* Parameters */:
|
|
30991
30990
|
return isStartOfParameter(
|
|
30992
30991
|
/*isJSDocParameter*/
|
|
30993
30992
|
false
|
|
30994
30993
|
);
|
|
30995
|
-
case
|
|
30994
|
+
case 17 /* JSDocParameters */:
|
|
30996
30995
|
return isStartOfParameter(
|
|
30997
30996
|
/*isJSDocParameter*/
|
|
30998
30997
|
true
|
|
30999
30998
|
);
|
|
31000
|
-
case
|
|
31001
|
-
case
|
|
30999
|
+
case 20 /* TypeArguments */:
|
|
31000
|
+
case 21 /* TupleElementTypes */:
|
|
31002
31001
|
return token() === 27 /* CommaToken */ || isStartOfType();
|
|
31003
|
-
case
|
|
31002
|
+
case 22 /* HeritageClauses */:
|
|
31004
31003
|
return isHeritageClause2();
|
|
31005
|
-
case
|
|
31004
|
+
case 23 /* ImportOrExportSpecifiers */:
|
|
31006
31005
|
return tokenIsIdentifierOrKeyword(token());
|
|
31007
|
-
case
|
|
31006
|
+
case 13 /* JsxAttributes */:
|
|
31008
31007
|
return tokenIsIdentifierOrKeyword(token()) || token() === 18 /* OpenBraceToken */;
|
|
31009
|
-
case
|
|
31008
|
+
case 14 /* JsxChildren */:
|
|
31010
31009
|
return true;
|
|
31011
31010
|
}
|
|
31012
31011
|
return Debug.fail("Non-exhaustive case in 'isListElement'.");
|
|
@@ -31050,41 +31049,41 @@ var Parser;
|
|
|
31050
31049
|
return true;
|
|
31051
31050
|
}
|
|
31052
31051
|
switch (kind) {
|
|
31053
|
-
case
|
|
31054
|
-
case
|
|
31055
|
-
case
|
|
31056
|
-
case
|
|
31057
|
-
case
|
|
31058
|
-
case
|
|
31059
|
-
case
|
|
31060
|
-
case
|
|
31061
|
-
case
|
|
31052
|
+
case 1 /* BlockStatements */:
|
|
31053
|
+
case 2 /* SwitchClauses */:
|
|
31054
|
+
case 4 /* TypeMembers */:
|
|
31055
|
+
case 5 /* ClassMembers */:
|
|
31056
|
+
case 6 /* EnumMembers */:
|
|
31057
|
+
case 12 /* ObjectLiteralMembers */:
|
|
31058
|
+
case 9 /* ObjectBindingElements */:
|
|
31059
|
+
case 23 /* ImportOrExportSpecifiers */:
|
|
31060
|
+
case 24 /* AssertEntries */:
|
|
31062
31061
|
return token() === 19 /* CloseBraceToken */;
|
|
31063
|
-
case
|
|
31062
|
+
case 3 /* SwitchClauseStatements */:
|
|
31064
31063
|
return token() === 19 /* CloseBraceToken */ || token() === 82 /* CaseKeyword */ || token() === 88 /* DefaultKeyword */;
|
|
31065
|
-
case
|
|
31064
|
+
case 7 /* HeritageClauseElement */:
|
|
31066
31065
|
return token() === 18 /* OpenBraceToken */ || token() === 94 /* ExtendsKeyword */ || token() === 117 /* ImplementsKeyword */;
|
|
31067
|
-
case
|
|
31066
|
+
case 8 /* VariableDeclarations */:
|
|
31068
31067
|
return isVariableDeclaratorListTerminator();
|
|
31069
|
-
case
|
|
31068
|
+
case 19 /* TypeParameters */:
|
|
31070
31069
|
return token() === 31 /* GreaterThanToken */ || token() === 20 /* OpenParenToken */ || token() === 18 /* OpenBraceToken */ || token() === 94 /* ExtendsKeyword */ || token() === 117 /* ImplementsKeyword */;
|
|
31071
|
-
case
|
|
31070
|
+
case 11 /* ArgumentExpressions */:
|
|
31072
31071
|
return token() === 21 /* CloseParenToken */ || token() === 26 /* SemicolonToken */;
|
|
31073
|
-
case
|
|
31074
|
-
case
|
|
31075
|
-
case
|
|
31072
|
+
case 15 /* ArrayLiteralMembers */:
|
|
31073
|
+
case 21 /* TupleElementTypes */:
|
|
31074
|
+
case 10 /* ArrayBindingElements */:
|
|
31076
31075
|
return token() === 23 /* CloseBracketToken */;
|
|
31077
|
-
case
|
|
31078
|
-
case
|
|
31079
|
-
case
|
|
31076
|
+
case 17 /* JSDocParameters */:
|
|
31077
|
+
case 16 /* Parameters */:
|
|
31078
|
+
case 18 /* RestProperties */:
|
|
31080
31079
|
return token() === 21 /* CloseParenToken */ || token() === 23 /* CloseBracketToken */;
|
|
31081
|
-
case
|
|
31080
|
+
case 20 /* TypeArguments */:
|
|
31082
31081
|
return token() !== 27 /* CommaToken */;
|
|
31083
|
-
case
|
|
31082
|
+
case 22 /* HeritageClauses */:
|
|
31084
31083
|
return token() === 18 /* OpenBraceToken */ || token() === 19 /* CloseBraceToken */;
|
|
31085
|
-
case
|
|
31084
|
+
case 13 /* JsxAttributes */:
|
|
31086
31085
|
return token() === 31 /* GreaterThanToken */ || token() === 43 /* SlashToken */;
|
|
31087
|
-
case
|
|
31086
|
+
case 14 /* JsxChildren */:
|
|
31088
31087
|
return token() === 29 /* LessThanToken */ && lookAhead(nextTokenIsSlash);
|
|
31089
31088
|
default:
|
|
31090
31089
|
return false;
|
|
@@ -31103,7 +31102,7 @@ var Parser;
|
|
|
31103
31102
|
return false;
|
|
31104
31103
|
}
|
|
31105
31104
|
function isInSomeParsingContext() {
|
|
31106
|
-
for (let kind = 0; kind <
|
|
31105
|
+
for (let kind = 0; kind < 25 /* Count */; kind++) {
|
|
31107
31106
|
if (parsingContext & 1 << kind) {
|
|
31108
31107
|
if (isListElement2(
|
|
31109
31108
|
kind,
|
|
@@ -31172,38 +31171,38 @@ var Parser;
|
|
|
31172
31171
|
}
|
|
31173
31172
|
function isReusableParsingContext(parsingContext2) {
|
|
31174
31173
|
switch (parsingContext2) {
|
|
31175
|
-
case
|
|
31176
|
-
case
|
|
31177
|
-
case
|
|
31178
|
-
case
|
|
31179
|
-
case
|
|
31180
|
-
case
|
|
31181
|
-
case
|
|
31182
|
-
case
|
|
31183
|
-
case
|
|
31184
|
-
case
|
|
31174
|
+
case 5 /* ClassMembers */:
|
|
31175
|
+
case 2 /* SwitchClauses */:
|
|
31176
|
+
case 0 /* SourceElements */:
|
|
31177
|
+
case 1 /* BlockStatements */:
|
|
31178
|
+
case 3 /* SwitchClauseStatements */:
|
|
31179
|
+
case 6 /* EnumMembers */:
|
|
31180
|
+
case 4 /* TypeMembers */:
|
|
31181
|
+
case 8 /* VariableDeclarations */:
|
|
31182
|
+
case 17 /* JSDocParameters */:
|
|
31183
|
+
case 16 /* Parameters */:
|
|
31185
31184
|
return true;
|
|
31186
31185
|
}
|
|
31187
31186
|
return false;
|
|
31188
31187
|
}
|
|
31189
31188
|
function canReuseNode(node, parsingContext2) {
|
|
31190
31189
|
switch (parsingContext2) {
|
|
31191
|
-
case
|
|
31190
|
+
case 5 /* ClassMembers */:
|
|
31192
31191
|
return isReusableClassMember(node);
|
|
31193
|
-
case
|
|
31192
|
+
case 2 /* SwitchClauses */:
|
|
31194
31193
|
return isReusableSwitchClause(node);
|
|
31195
|
-
case
|
|
31196
|
-
case
|
|
31197
|
-
case
|
|
31194
|
+
case 0 /* SourceElements */:
|
|
31195
|
+
case 1 /* BlockStatements */:
|
|
31196
|
+
case 3 /* SwitchClauseStatements */:
|
|
31198
31197
|
return isReusableStatement(node);
|
|
31199
|
-
case
|
|
31198
|
+
case 6 /* EnumMembers */:
|
|
31200
31199
|
return isReusableEnumMember(node);
|
|
31201
|
-
case
|
|
31200
|
+
case 4 /* TypeMembers */:
|
|
31202
31201
|
return isReusableTypeMember(node);
|
|
31203
|
-
case
|
|
31202
|
+
case 8 /* VariableDeclarations */:
|
|
31204
31203
|
return isReusableVariableDeclaration(node);
|
|
31205
|
-
case
|
|
31206
|
-
case
|
|
31204
|
+
case 17 /* JSDocParameters */:
|
|
31205
|
+
case 16 /* Parameters */:
|
|
31207
31206
|
return isReusableParameter(node);
|
|
31208
31207
|
}
|
|
31209
31208
|
return false;
|
|
@@ -31313,56 +31312,56 @@ var Parser;
|
|
|
31313
31312
|
}
|
|
31314
31313
|
function parsingContextErrors(context) {
|
|
31315
31314
|
switch (context) {
|
|
31316
|
-
case
|
|
31315
|
+
case 0 /* SourceElements */:
|
|
31317
31316
|
return token() === 88 /* DefaultKeyword */ ? parseErrorAtCurrentToken(Diagnostics._0_expected, tokenToString(93 /* ExportKeyword */)) : parseErrorAtCurrentToken(Diagnostics.Declaration_or_statement_expected);
|
|
31318
|
-
case
|
|
31317
|
+
case 1 /* BlockStatements */:
|
|
31319
31318
|
return parseErrorAtCurrentToken(Diagnostics.Declaration_or_statement_expected);
|
|
31320
|
-
case
|
|
31319
|
+
case 2 /* SwitchClauses */:
|
|
31321
31320
|
return parseErrorAtCurrentToken(Diagnostics.case_or_default_expected);
|
|
31322
|
-
case
|
|
31321
|
+
case 3 /* SwitchClauseStatements */:
|
|
31323
31322
|
return parseErrorAtCurrentToken(Diagnostics.Statement_expected);
|
|
31324
|
-
case
|
|
31325
|
-
case
|
|
31323
|
+
case 18 /* RestProperties */:
|
|
31324
|
+
case 4 /* TypeMembers */:
|
|
31326
31325
|
return parseErrorAtCurrentToken(Diagnostics.Property_or_signature_expected);
|
|
31327
|
-
case
|
|
31326
|
+
case 5 /* ClassMembers */:
|
|
31328
31327
|
return parseErrorAtCurrentToken(Diagnostics.Unexpected_token_A_constructor_method_accessor_or_property_was_expected);
|
|
31329
|
-
case
|
|
31328
|
+
case 6 /* EnumMembers */:
|
|
31330
31329
|
return parseErrorAtCurrentToken(Diagnostics.Enum_member_expected);
|
|
31331
|
-
case
|
|
31330
|
+
case 7 /* HeritageClauseElement */:
|
|
31332
31331
|
return parseErrorAtCurrentToken(Diagnostics.Expression_expected);
|
|
31333
|
-
case
|
|
31332
|
+
case 8 /* VariableDeclarations */:
|
|
31334
31333
|
return isKeyword(token()) ? parseErrorAtCurrentToken(Diagnostics._0_is_not_allowed_as_a_variable_declaration_name, tokenToString(token())) : parseErrorAtCurrentToken(Diagnostics.Variable_declaration_expected);
|
|
31335
|
-
case
|
|
31334
|
+
case 9 /* ObjectBindingElements */:
|
|
31336
31335
|
return parseErrorAtCurrentToken(Diagnostics.Property_destructuring_pattern_expected);
|
|
31337
|
-
case
|
|
31336
|
+
case 10 /* ArrayBindingElements */:
|
|
31338
31337
|
return parseErrorAtCurrentToken(Diagnostics.Array_element_destructuring_pattern_expected);
|
|
31339
|
-
case
|
|
31338
|
+
case 11 /* ArgumentExpressions */:
|
|
31340
31339
|
return parseErrorAtCurrentToken(Diagnostics.Argument_expression_expected);
|
|
31341
|
-
case
|
|
31340
|
+
case 12 /* ObjectLiteralMembers */:
|
|
31342
31341
|
return parseErrorAtCurrentToken(Diagnostics.Property_assignment_expected);
|
|
31343
|
-
case
|
|
31342
|
+
case 15 /* ArrayLiteralMembers */:
|
|
31344
31343
|
return parseErrorAtCurrentToken(Diagnostics.Expression_or_comma_expected);
|
|
31345
|
-
case
|
|
31344
|
+
case 17 /* JSDocParameters */:
|
|
31346
31345
|
return parseErrorAtCurrentToken(Diagnostics.Parameter_declaration_expected);
|
|
31347
|
-
case
|
|
31346
|
+
case 16 /* Parameters */:
|
|
31348
31347
|
return isKeyword(token()) ? parseErrorAtCurrentToken(Diagnostics._0_is_not_allowed_as_a_parameter_name, tokenToString(token())) : parseErrorAtCurrentToken(Diagnostics.Parameter_declaration_expected);
|
|
31349
|
-
case
|
|
31348
|
+
case 19 /* TypeParameters */:
|
|
31350
31349
|
return parseErrorAtCurrentToken(Diagnostics.Type_parameter_declaration_expected);
|
|
31351
|
-
case
|
|
31350
|
+
case 20 /* TypeArguments */:
|
|
31352
31351
|
return parseErrorAtCurrentToken(Diagnostics.Type_argument_expected);
|
|
31353
|
-
case
|
|
31352
|
+
case 21 /* TupleElementTypes */:
|
|
31354
31353
|
return parseErrorAtCurrentToken(Diagnostics.Type_expected);
|
|
31355
|
-
case
|
|
31354
|
+
case 22 /* HeritageClauses */:
|
|
31356
31355
|
return parseErrorAtCurrentToken(Diagnostics.Unexpected_token_expected);
|
|
31357
|
-
case
|
|
31356
|
+
case 23 /* ImportOrExportSpecifiers */:
|
|
31358
31357
|
return parseErrorAtCurrentToken(Diagnostics.Identifier_expected);
|
|
31359
|
-
case
|
|
31358
|
+
case 13 /* JsxAttributes */:
|
|
31360
31359
|
return parseErrorAtCurrentToken(Diagnostics.Identifier_expected);
|
|
31361
|
-
case
|
|
31360
|
+
case 14 /* JsxChildren */:
|
|
31362
31361
|
return parseErrorAtCurrentToken(Diagnostics.Identifier_expected);
|
|
31363
|
-
case
|
|
31362
|
+
case 24 /* AssertEntries */:
|
|
31364
31363
|
return parseErrorAtCurrentToken(Diagnostics.Identifier_or_string_literal_expected);
|
|
31365
|
-
case
|
|
31364
|
+
case 25 /* Count */:
|
|
31366
31365
|
return Debug.fail("ParsingContext.Count used as a context");
|
|
31367
31366
|
default:
|
|
31368
31367
|
Debug.assertNever(context);
|
|
@@ -31421,7 +31420,7 @@ var Parser;
|
|
|
31421
31420
|
);
|
|
31422
31421
|
}
|
|
31423
31422
|
function getExpectedCommaDiagnostic(kind) {
|
|
31424
|
-
return kind ===
|
|
31423
|
+
return kind === 6 /* EnumMembers */ ? Diagnostics.An_enum_member_name_must_be_followed_by_a_or : void 0;
|
|
31425
31424
|
}
|
|
31426
31425
|
function createMissingList() {
|
|
31427
31426
|
const list = createNodeArray([], getNodePos());
|
|
@@ -31615,7 +31614,7 @@ var Parser;
|
|
|
31615
31614
|
}
|
|
31616
31615
|
function parseTypeArgumentsOfTypeReference() {
|
|
31617
31616
|
if (!scanner2.hasPrecedingLineBreak() && reScanLessThanToken() === 29 /* LessThanToken */) {
|
|
31618
|
-
return parseBracketedList(
|
|
31617
|
+
return parseBracketedList(20 /* TypeArguments */, parseType, 29 /* LessThanToken */, 31 /* GreaterThanToken */);
|
|
31619
31618
|
}
|
|
31620
31619
|
}
|
|
31621
31620
|
function parseTypeReference() {
|
|
@@ -31797,7 +31796,7 @@ var Parser;
|
|
|
31797
31796
|
}
|
|
31798
31797
|
function parseTypeParameters() {
|
|
31799
31798
|
if (token() === 29 /* LessThanToken */) {
|
|
31800
|
-
return parseBracketedList(
|
|
31799
|
+
return parseBracketedList(19 /* TypeParameters */, parseTypeParameter, 29 /* LessThanToken */, 31 /* GreaterThanToken */);
|
|
31801
31800
|
}
|
|
31802
31801
|
}
|
|
31803
31802
|
function isStartOfParameter(isJSDocParameter) {
|
|
@@ -31903,7 +31902,7 @@ var Parser;
|
|
|
31903
31902
|
const savedAwaitContext = inAwaitContext();
|
|
31904
31903
|
setYieldContext(!!(flags & 1 /* Yield */));
|
|
31905
31904
|
setAwaitContext(!!(flags & 2 /* Await */));
|
|
31906
|
-
const parameters = flags & 32 /* JSDoc */ ? parseDelimitedList(
|
|
31905
|
+
const parameters = flags & 32 /* JSDoc */ ? parseDelimitedList(17 /* JSDocParameters */, parseJSDocParameter) : parseDelimitedList(16 /* Parameters */, () => allowAmbiguity ? parseParameter(savedAwaitContext) : parseParameterForSpeculation(savedAwaitContext));
|
|
31907
31906
|
setYieldContext(savedYieldContext);
|
|
31908
31907
|
setAwaitContext(savedAwaitContext);
|
|
31909
31908
|
return parameters;
|
|
@@ -31971,7 +31970,7 @@ var Parser;
|
|
|
31971
31970
|
return token() === 58 /* ColonToken */ || token() === 27 /* CommaToken */ || token() === 23 /* CloseBracketToken */;
|
|
31972
31971
|
}
|
|
31973
31972
|
function parseIndexSignatureDeclaration(pos, hasJSDoc, modifiers) {
|
|
31974
|
-
const parameters = parseBracketedList(
|
|
31973
|
+
const parameters = parseBracketedList(16 /* Parameters */, () => parseParameter(
|
|
31975
31974
|
/*inOuterAwaitContext*/
|
|
31976
31975
|
false
|
|
31977
31976
|
), 22 /* OpenBracketToken */, 23 /* CloseBracketToken */);
|
|
@@ -32070,7 +32069,7 @@ var Parser;
|
|
|
32070
32069
|
function parseObjectTypeMembers() {
|
|
32071
32070
|
let members;
|
|
32072
32071
|
if (parseExpected(18 /* OpenBraceToken */)) {
|
|
32073
|
-
members = parseList(
|
|
32072
|
+
members = parseList(4 /* TypeMembers */, parseTypeMember);
|
|
32074
32073
|
parseExpected(19 /* CloseBraceToken */);
|
|
32075
32074
|
} else {
|
|
32076
32075
|
members = createMissingList();
|
|
@@ -32124,7 +32123,7 @@ var Parser;
|
|
|
32124
32123
|
}
|
|
32125
32124
|
const type = parseTypeAnnotation();
|
|
32126
32125
|
parseSemicolon();
|
|
32127
|
-
const members = parseList(
|
|
32126
|
+
const members = parseList(4 /* TypeMembers */, parseTypeMember);
|
|
32128
32127
|
parseExpected(19 /* CloseBraceToken */);
|
|
32129
32128
|
return finishNode(factory2.createMappedTypeNode(readonlyToken, typeParameter, nameType, questionToken, type, members), pos);
|
|
32130
32129
|
}
|
|
@@ -32169,7 +32168,7 @@ var Parser;
|
|
|
32169
32168
|
const pos = getNodePos();
|
|
32170
32169
|
return finishNode(
|
|
32171
32170
|
factory2.createTupleTypeNode(
|
|
32172
|
-
parseBracketedList(
|
|
32171
|
+
parseBracketedList(21 /* TupleElementTypes */, parseTupleElementNameOrTupleElementType, 22 /* OpenBracketToken */, 23 /* CloseBracketToken */)
|
|
32173
32172
|
),
|
|
32174
32173
|
pos
|
|
32175
32174
|
);
|
|
@@ -32797,10 +32796,10 @@ var Parser;
|
|
|
32797
32796
|
}
|
|
32798
32797
|
function tryParseParenthesizedArrowFunctionExpression(allowReturnTypeInArrowFunction) {
|
|
32799
32798
|
const triState = isParenthesizedArrowFunctionExpression();
|
|
32800
|
-
if (triState ===
|
|
32799
|
+
if (triState === 0 /* False */) {
|
|
32801
32800
|
return void 0;
|
|
32802
32801
|
}
|
|
32803
|
-
return triState ===
|
|
32802
|
+
return triState === 1 /* True */ ? parseParenthesizedArrowFunctionExpression(
|
|
32804
32803
|
/*allowAmbiguity*/
|
|
32805
32804
|
true,
|
|
32806
32805
|
/*allowReturnTypeInArrowFunction*/
|
|
@@ -32812,18 +32811,18 @@ var Parser;
|
|
|
32812
32811
|
return lookAhead(isParenthesizedArrowFunctionExpressionWorker);
|
|
32813
32812
|
}
|
|
32814
32813
|
if (token() === 38 /* EqualsGreaterThanToken */) {
|
|
32815
|
-
return
|
|
32814
|
+
return 1 /* True */;
|
|
32816
32815
|
}
|
|
32817
|
-
return
|
|
32816
|
+
return 0 /* False */;
|
|
32818
32817
|
}
|
|
32819
32818
|
function isParenthesizedArrowFunctionExpressionWorker() {
|
|
32820
32819
|
if (token() === 132 /* AsyncKeyword */) {
|
|
32821
32820
|
nextToken();
|
|
32822
32821
|
if (scanner2.hasPrecedingLineBreak()) {
|
|
32823
|
-
return
|
|
32822
|
+
return 0 /* False */;
|
|
32824
32823
|
}
|
|
32825
32824
|
if (token() !== 20 /* OpenParenToken */ && token() !== 29 /* LessThanToken */) {
|
|
32826
|
-
return
|
|
32825
|
+
return 0 /* False */;
|
|
32827
32826
|
}
|
|
32828
32827
|
}
|
|
32829
32828
|
const first2 = token();
|
|
@@ -32835,45 +32834,45 @@ var Parser;
|
|
|
32835
32834
|
case 38 /* EqualsGreaterThanToken */:
|
|
32836
32835
|
case 58 /* ColonToken */:
|
|
32837
32836
|
case 18 /* OpenBraceToken */:
|
|
32838
|
-
return
|
|
32837
|
+
return 1 /* True */;
|
|
32839
32838
|
default:
|
|
32840
|
-
return
|
|
32839
|
+
return 0 /* False */;
|
|
32841
32840
|
}
|
|
32842
32841
|
}
|
|
32843
32842
|
if (second === 22 /* OpenBracketToken */ || second === 18 /* OpenBraceToken */) {
|
|
32844
|
-
return
|
|
32843
|
+
return 2 /* Unknown */;
|
|
32845
32844
|
}
|
|
32846
32845
|
if (second === 25 /* DotDotDotToken */) {
|
|
32847
|
-
return
|
|
32846
|
+
return 1 /* True */;
|
|
32848
32847
|
}
|
|
32849
32848
|
if (isModifierKind(second) && second !== 132 /* AsyncKeyword */ && lookAhead(nextTokenIsIdentifier)) {
|
|
32850
32849
|
if (nextToken() === 128 /* AsKeyword */) {
|
|
32851
|
-
return
|
|
32850
|
+
return 0 /* False */;
|
|
32852
32851
|
}
|
|
32853
|
-
return
|
|
32852
|
+
return 1 /* True */;
|
|
32854
32853
|
}
|
|
32855
32854
|
if (!isIdentifier2() && second !== 108 /* ThisKeyword */) {
|
|
32856
|
-
return
|
|
32855
|
+
return 0 /* False */;
|
|
32857
32856
|
}
|
|
32858
32857
|
switch (nextToken()) {
|
|
32859
32858
|
case 58 /* ColonToken */:
|
|
32860
|
-
return
|
|
32859
|
+
return 1 /* True */;
|
|
32861
32860
|
case 57 /* QuestionToken */:
|
|
32862
32861
|
nextToken();
|
|
32863
32862
|
if (token() === 58 /* ColonToken */ || token() === 27 /* CommaToken */ || token() === 63 /* EqualsToken */ || token() === 21 /* CloseParenToken */) {
|
|
32864
|
-
return
|
|
32863
|
+
return 1 /* True */;
|
|
32865
32864
|
}
|
|
32866
|
-
return
|
|
32865
|
+
return 0 /* False */;
|
|
32867
32866
|
case 27 /* CommaToken */:
|
|
32868
32867
|
case 63 /* EqualsToken */:
|
|
32869
32868
|
case 21 /* CloseParenToken */:
|
|
32870
|
-
return
|
|
32869
|
+
return 2 /* Unknown */;
|
|
32871
32870
|
}
|
|
32872
|
-
return
|
|
32871
|
+
return 0 /* False */;
|
|
32873
32872
|
} else {
|
|
32874
32873
|
Debug.assert(first2 === 29 /* LessThanToken */);
|
|
32875
32874
|
if (!isIdentifier2() && token() !== 85 /* ConstKeyword */) {
|
|
32876
|
-
return
|
|
32875
|
+
return 0 /* False */;
|
|
32877
32876
|
}
|
|
32878
32877
|
if (languageVariant === 1 /* JSX */) {
|
|
32879
32878
|
const isArrowFunctionInJsx = lookAhead(() => {
|
|
@@ -32895,11 +32894,11 @@ var Parser;
|
|
|
32895
32894
|
return false;
|
|
32896
32895
|
});
|
|
32897
32896
|
if (isArrowFunctionInJsx) {
|
|
32898
|
-
return
|
|
32897
|
+
return 1 /* True */;
|
|
32899
32898
|
}
|
|
32900
|
-
return
|
|
32899
|
+
return 0 /* False */;
|
|
32901
32900
|
}
|
|
32902
|
-
return
|
|
32901
|
+
return 2 /* Unknown */;
|
|
32903
32902
|
}
|
|
32904
32903
|
}
|
|
32905
32904
|
function parsePossibleParenthesizedArrowFunctionExpression(allowReturnTypeInArrowFunction) {
|
|
@@ -32919,7 +32918,7 @@ var Parser;
|
|
|
32919
32918
|
}
|
|
32920
32919
|
function tryParseAsyncSimpleArrowFunctionExpression(allowReturnTypeInArrowFunction) {
|
|
32921
32920
|
if (token() === 132 /* AsyncKeyword */) {
|
|
32922
|
-
if (lookAhead(isUnParenthesizedAsyncArrowFunctionWorker) ===
|
|
32921
|
+
if (lookAhead(isUnParenthesizedAsyncArrowFunctionWorker) === 1 /* True */) {
|
|
32923
32922
|
const pos = getNodePos();
|
|
32924
32923
|
const asyncModifier = parseModifiersForArrowFunction();
|
|
32925
32924
|
const expr = parseBinaryExpressionOrHigher(0 /* Lowest */);
|
|
@@ -32932,14 +32931,14 @@ var Parser;
|
|
|
32932
32931
|
if (token() === 132 /* AsyncKeyword */) {
|
|
32933
32932
|
nextToken();
|
|
32934
32933
|
if (scanner2.hasPrecedingLineBreak() || token() === 38 /* EqualsGreaterThanToken */) {
|
|
32935
|
-
return
|
|
32934
|
+
return 0 /* False */;
|
|
32936
32935
|
}
|
|
32937
32936
|
const expr = parseBinaryExpressionOrHigher(0 /* Lowest */);
|
|
32938
32937
|
if (!scanner2.hasPrecedingLineBreak() && expr.kind === 79 /* Identifier */ && token() === 38 /* EqualsGreaterThanToken */) {
|
|
32939
|
-
return
|
|
32938
|
+
return 1 /* True */;
|
|
32940
32939
|
}
|
|
32941
32940
|
}
|
|
32942
|
-
return
|
|
32941
|
+
return 0 /* False */;
|
|
32943
32942
|
}
|
|
32944
32943
|
function parseParenthesizedArrowFunctionExpression(allowAmbiguity, allowReturnTypeInArrowFunction) {
|
|
32945
32944
|
const pos = getNodePos();
|
|
@@ -33347,7 +33346,7 @@ var Parser;
|
|
|
33347
33346
|
const list = [];
|
|
33348
33347
|
const listPos = getNodePos();
|
|
33349
33348
|
const saveParsingContext = parsingContext;
|
|
33350
|
-
parsingContext |= 1 <<
|
|
33349
|
+
parsingContext |= 1 << 14 /* JsxChildren */;
|
|
33351
33350
|
while (true) {
|
|
33352
33351
|
const child = parseJsxChild(openingTag, currentToken = scanner2.reScanJsxToken());
|
|
33353
33352
|
if (!child)
|
|
@@ -33362,7 +33361,7 @@ var Parser;
|
|
|
33362
33361
|
}
|
|
33363
33362
|
function parseJsxAttributes() {
|
|
33364
33363
|
const pos = getNodePos();
|
|
33365
|
-
return finishNode(factory2.createJsxAttributes(parseList(
|
|
33364
|
+
return finishNode(factory2.createJsxAttributes(parseList(13 /* JsxAttributes */, parseJsxAttribute)), pos);
|
|
33366
33365
|
}
|
|
33367
33366
|
function parseJsxOpeningOrSelfClosingElementOrOpeningFragment(inExpressionContext) {
|
|
33368
33367
|
const pos = getNodePos();
|
|
@@ -33690,7 +33689,7 @@ var Parser;
|
|
|
33690
33689
|
}
|
|
33691
33690
|
function parseArgumentList() {
|
|
33692
33691
|
parseExpected(20 /* OpenParenToken */);
|
|
33693
|
-
const result = parseDelimitedList(
|
|
33692
|
+
const result = parseDelimitedList(11 /* ArgumentExpressions */, parseArgumentExpression);
|
|
33694
33693
|
parseExpected(21 /* CloseParenToken */);
|
|
33695
33694
|
return result;
|
|
33696
33695
|
}
|
|
@@ -33702,7 +33701,7 @@ var Parser;
|
|
|
33702
33701
|
return void 0;
|
|
33703
33702
|
}
|
|
33704
33703
|
nextToken();
|
|
33705
|
-
const typeArguments = parseDelimitedList(
|
|
33704
|
+
const typeArguments = parseDelimitedList(20 /* TypeArguments */, parseType);
|
|
33706
33705
|
if (reScanGreaterToken() !== 31 /* GreaterThanToken */) {
|
|
33707
33706
|
return void 0;
|
|
33708
33707
|
}
|
|
@@ -33802,7 +33801,7 @@ var Parser;
|
|
|
33802
33801
|
const openBracketPosition = scanner2.getTokenPos();
|
|
33803
33802
|
const openBracketParsed = parseExpected(22 /* OpenBracketToken */);
|
|
33804
33803
|
const multiLine = scanner2.hasPrecedingLineBreak();
|
|
33805
|
-
const elements = parseDelimitedList(
|
|
33804
|
+
const elements = parseDelimitedList(15 /* ArrayLiteralMembers */, parseArgumentOrArrayLiteralElement);
|
|
33806
33805
|
parseExpectedMatchingBrackets(22 /* OpenBracketToken */, 23 /* CloseBracketToken */, openBracketParsed, openBracketPosition);
|
|
33807
33806
|
return finishNode(factory2.createArrayLiteralExpression(elements, multiLine), pos);
|
|
33808
33807
|
}
|
|
@@ -33863,7 +33862,7 @@ var Parser;
|
|
|
33863
33862
|
const openBraceParsed = parseExpected(18 /* OpenBraceToken */);
|
|
33864
33863
|
const multiLine = scanner2.hasPrecedingLineBreak();
|
|
33865
33864
|
const properties = parseDelimitedList(
|
|
33866
|
-
|
|
33865
|
+
12 /* ObjectLiteralMembers */,
|
|
33867
33866
|
parseObjectLiteralElement,
|
|
33868
33867
|
/*considerSemicolonAsDelimiter*/
|
|
33869
33868
|
true
|
|
@@ -33935,7 +33934,7 @@ var Parser;
|
|
|
33935
33934
|
const openBraceParsed = parseExpected(18 /* OpenBraceToken */, diagnosticMessage);
|
|
33936
33935
|
if (openBraceParsed || ignoreMissingOpenBrace) {
|
|
33937
33936
|
const multiLine = scanner2.hasPrecedingLineBreak();
|
|
33938
|
-
const statements = parseList(
|
|
33937
|
+
const statements = parseList(1 /* BlockStatements */, parseStatement);
|
|
33939
33938
|
parseExpectedMatchingBrackets(18 /* OpenBraceToken */, 19 /* CloseBraceToken */, openBraceParsed, openBracePosition);
|
|
33940
33939
|
const result = withJSDoc(finishNode(factory2.createBlock(statements, multiLine), pos), hasJSDoc);
|
|
33941
33940
|
if (token() === 63 /* EqualsToken */) {
|
|
@@ -34093,14 +34092,14 @@ var Parser;
|
|
|
34093
34092
|
parseExpected(82 /* CaseKeyword */);
|
|
34094
34093
|
const expression = allowInAnd(parseExpression);
|
|
34095
34094
|
parseExpected(58 /* ColonToken */);
|
|
34096
|
-
const statements = parseList(
|
|
34095
|
+
const statements = parseList(3 /* SwitchClauseStatements */, parseStatement);
|
|
34097
34096
|
return withJSDoc(finishNode(factory2.createCaseClause(expression, statements), pos), hasJSDoc);
|
|
34098
34097
|
}
|
|
34099
34098
|
function parseDefaultClause() {
|
|
34100
34099
|
const pos = getNodePos();
|
|
34101
34100
|
parseExpected(88 /* DefaultKeyword */);
|
|
34102
34101
|
parseExpected(58 /* ColonToken */);
|
|
34103
|
-
const statements = parseList(
|
|
34102
|
+
const statements = parseList(3 /* SwitchClauseStatements */, parseStatement);
|
|
34104
34103
|
return finishNode(factory2.createDefaultClause(statements), pos);
|
|
34105
34104
|
}
|
|
34106
34105
|
function parseCaseOrDefaultClause() {
|
|
@@ -34109,7 +34108,7 @@ var Parser;
|
|
|
34109
34108
|
function parseCaseBlock() {
|
|
34110
34109
|
const pos = getNodePos();
|
|
34111
34110
|
parseExpected(18 /* OpenBraceToken */);
|
|
34112
|
-
const clauses = parseList(
|
|
34111
|
+
const clauses = parseList(2 /* SwitchClauses */, parseCaseOrDefaultClause);
|
|
34113
34112
|
parseExpected(19 /* CloseBraceToken */);
|
|
34114
34113
|
return finishNode(factory2.createCaseBlock(clauses), pos);
|
|
34115
34114
|
}
|
|
@@ -34550,14 +34549,14 @@ var Parser;
|
|
|
34550
34549
|
function parseObjectBindingPattern() {
|
|
34551
34550
|
const pos = getNodePos();
|
|
34552
34551
|
parseExpected(18 /* OpenBraceToken */);
|
|
34553
|
-
const elements = parseDelimitedList(
|
|
34552
|
+
const elements = parseDelimitedList(9 /* ObjectBindingElements */, parseObjectBindingElement);
|
|
34554
34553
|
parseExpected(19 /* CloseBraceToken */);
|
|
34555
34554
|
return finishNode(factory2.createObjectBindingPattern(elements), pos);
|
|
34556
34555
|
}
|
|
34557
34556
|
function parseArrayBindingPattern() {
|
|
34558
34557
|
const pos = getNodePos();
|
|
34559
34558
|
parseExpected(22 /* OpenBracketToken */);
|
|
34560
|
-
const elements = parseDelimitedList(
|
|
34559
|
+
const elements = parseDelimitedList(10 /* ArrayBindingElements */, parseArrayBindingElement);
|
|
34561
34560
|
parseExpected(23 /* CloseBracketToken */);
|
|
34562
34561
|
return finishNode(factory2.createArrayBindingPattern(elements), pos);
|
|
34563
34562
|
}
|
|
@@ -34615,7 +34614,7 @@ var Parser;
|
|
|
34615
34614
|
const savedDisallowIn = inDisallowInContext();
|
|
34616
34615
|
setDisallowInContext(inForStatementInitializer);
|
|
34617
34616
|
declarations = parseDelimitedList(
|
|
34618
|
-
|
|
34617
|
+
8 /* VariableDeclarations */,
|
|
34619
34618
|
inForStatementInitializer ? parseVariableDeclaration : parseVariableDeclarationAllowExclamation
|
|
34620
34619
|
);
|
|
34621
34620
|
setDisallowInContext(savedDisallowIn);
|
|
@@ -35018,7 +35017,7 @@ var Parser;
|
|
|
35018
35017
|
}
|
|
35019
35018
|
function parseHeritageClauses() {
|
|
35020
35019
|
if (isHeritageClause2()) {
|
|
35021
|
-
return parseList(
|
|
35020
|
+
return parseList(22 /* HeritageClauses */, parseHeritageClause);
|
|
35022
35021
|
}
|
|
35023
35022
|
return void 0;
|
|
35024
35023
|
}
|
|
@@ -35027,7 +35026,7 @@ var Parser;
|
|
|
35027
35026
|
const tok = token();
|
|
35028
35027
|
Debug.assert(tok === 94 /* ExtendsKeyword */ || tok === 117 /* ImplementsKeyword */);
|
|
35029
35028
|
nextToken();
|
|
35030
|
-
const types = parseDelimitedList(
|
|
35029
|
+
const types = parseDelimitedList(7 /* HeritageClauseElement */, parseExpressionWithTypeArguments);
|
|
35031
35030
|
return finishNode(factory2.createHeritageClause(tok, types), pos);
|
|
35032
35031
|
}
|
|
35033
35032
|
function parseExpressionWithTypeArguments() {
|
|
@@ -35040,13 +35039,13 @@ var Parser;
|
|
|
35040
35039
|
return finishNode(factory2.createExpressionWithTypeArguments(expression, typeArguments), pos);
|
|
35041
35040
|
}
|
|
35042
35041
|
function tryParseTypeArguments() {
|
|
35043
|
-
return token() === 29 /* LessThanToken */ ? parseBracketedList(
|
|
35042
|
+
return token() === 29 /* LessThanToken */ ? parseBracketedList(20 /* TypeArguments */, parseType, 29 /* LessThanToken */, 31 /* GreaterThanToken */) : void 0;
|
|
35044
35043
|
}
|
|
35045
35044
|
function isHeritageClause2() {
|
|
35046
35045
|
return token() === 94 /* ExtendsKeyword */ || token() === 117 /* ImplementsKeyword */;
|
|
35047
35046
|
}
|
|
35048
35047
|
function parseClassMembers() {
|
|
35049
|
-
return parseList(
|
|
35048
|
+
return parseList(5 /* ClassMembers */, parseClassElement);
|
|
35050
35049
|
}
|
|
35051
35050
|
function parseInterfaceDeclaration(pos, hasJSDoc, modifiers) {
|
|
35052
35051
|
parseExpected(118 /* InterfaceKeyword */);
|
|
@@ -35079,7 +35078,7 @@ var Parser;
|
|
|
35079
35078
|
const name = parseIdentifier();
|
|
35080
35079
|
let members;
|
|
35081
35080
|
if (parseExpected(18 /* OpenBraceToken */)) {
|
|
35082
|
-
members = doOutsideOfYieldAndAwaitContext(() => parseDelimitedList(
|
|
35081
|
+
members = doOutsideOfYieldAndAwaitContext(() => parseDelimitedList(6 /* EnumMembers */, parseEnumMember));
|
|
35083
35082
|
parseExpected(19 /* CloseBraceToken */);
|
|
35084
35083
|
} else {
|
|
35085
35084
|
members = createMissingList();
|
|
@@ -35091,7 +35090,7 @@ var Parser;
|
|
|
35091
35090
|
const pos = getNodePos();
|
|
35092
35091
|
let statements;
|
|
35093
35092
|
if (parseExpected(18 /* OpenBraceToken */)) {
|
|
35094
|
-
statements = parseList(
|
|
35093
|
+
statements = parseList(1 /* BlockStatements */, parseStatement);
|
|
35095
35094
|
parseExpected(19 /* CloseBraceToken */);
|
|
35096
35095
|
} else {
|
|
35097
35096
|
statements = createMissingList();
|
|
@@ -35216,7 +35215,7 @@ var Parser;
|
|
|
35216
35215
|
if (parseExpected(18 /* OpenBraceToken */)) {
|
|
35217
35216
|
const multiLine = scanner2.hasPrecedingLineBreak();
|
|
35218
35217
|
const elements = parseDelimitedList(
|
|
35219
|
-
|
|
35218
|
+
24 /* AssertEntries */,
|
|
35220
35219
|
parseAssertEntry,
|
|
35221
35220
|
/*considerSemicolonAsDelimiter*/
|
|
35222
35221
|
true
|
|
@@ -35300,7 +35299,7 @@ var Parser;
|
|
|
35300
35299
|
}
|
|
35301
35300
|
function parseNamedImportsOrExports(kind) {
|
|
35302
35301
|
const pos = getNodePos();
|
|
35303
|
-
const node = kind === 272 /* NamedImports */ ? factory2.createNamedImports(parseBracketedList(
|
|
35302
|
+
const node = kind === 272 /* NamedImports */ ? factory2.createNamedImports(parseBracketedList(23 /* ImportOrExportSpecifiers */, parseImportSpecifier, 18 /* OpenBraceToken */, 19 /* CloseBraceToken */)) : factory2.createNamedExports(parseBracketedList(23 /* ImportOrExportSpecifiers */, parseExportSpecifier, 18 /* OpenBraceToken */, 19 /* CloseBraceToken */));
|
|
35304
35303
|
return finishNode(node, pos);
|
|
35305
35304
|
}
|
|
35306
35305
|
function parseExportSpecifier() {
|
|
@@ -36750,7 +36749,7 @@ var IncrementalParser;
|
|
|
36750
36749
|
let currentArrayIndex = 0;
|
|
36751
36750
|
Debug.assert(currentArrayIndex < currentArray.length);
|
|
36752
36751
|
let current = currentArray[currentArrayIndex];
|
|
36753
|
-
let lastQueriedPosition =
|
|
36752
|
+
let lastQueriedPosition = -1 /* Value */;
|
|
36754
36753
|
return {
|
|
36755
36754
|
currentNode(position) {
|
|
36756
36755
|
if (position !== lastQueriedPosition) {
|
|
@@ -36769,7 +36768,7 @@ var IncrementalParser;
|
|
|
36769
36768
|
};
|
|
36770
36769
|
function findHighestListElementThatStartsAtPosition(position) {
|
|
36771
36770
|
currentArray = void 0;
|
|
36772
|
-
currentArrayIndex =
|
|
36771
|
+
currentArrayIndex = -1 /* Value */;
|
|
36773
36772
|
current = void 0;
|
|
36774
36773
|
forEachChild(sourceFile, visitNode3, visitArray2);
|
|
36775
36774
|
return;
|
|
@@ -40566,9 +40565,9 @@ function resolveTypeReferenceDirective(typeReferenceDirectiveName, containingFil
|
|
|
40566
40565
|
const affectingLocations = [];
|
|
40567
40566
|
let features = getNodeResolutionFeatures(options);
|
|
40568
40567
|
if (resolutionMode === 99 /* ESNext */ && (getEmitModuleResolutionKind(options) === 3 /* Node16 */ || getEmitModuleResolutionKind(options) === 99 /* NodeNext */)) {
|
|
40569
|
-
features |=
|
|
40568
|
+
features |= 32 /* EsmMode */;
|
|
40570
40569
|
}
|
|
40571
|
-
const conditions = features &
|
|
40570
|
+
const conditions = features & 8 /* Exports */ ? getConditions(options, !!(features & 32 /* EsmMode */)) : [];
|
|
40572
40571
|
const diagnostics = [];
|
|
40573
40572
|
const moduleResolutionState = {
|
|
40574
40573
|
compilerOptions: options,
|
|
@@ -40701,27 +40700,27 @@ function resolveTypeReferenceDirective(typeReferenceDirectiveName, containingFil
|
|
|
40701
40700
|
}
|
|
40702
40701
|
}
|
|
40703
40702
|
function getNodeResolutionFeatures(options) {
|
|
40704
|
-
let features =
|
|
40703
|
+
let features = 0 /* None */;
|
|
40705
40704
|
switch (getEmitModuleResolutionKind(options)) {
|
|
40706
40705
|
case 3 /* Node16 */:
|
|
40707
|
-
features =
|
|
40706
|
+
features = 30 /* Node16Default */;
|
|
40708
40707
|
break;
|
|
40709
40708
|
case 99 /* NodeNext */:
|
|
40710
|
-
features =
|
|
40709
|
+
features = 30 /* NodeNextDefault */;
|
|
40711
40710
|
break;
|
|
40712
40711
|
case 100 /* Bundler */:
|
|
40713
|
-
features =
|
|
40712
|
+
features = 30 /* BundlerDefault */;
|
|
40714
40713
|
break;
|
|
40715
40714
|
}
|
|
40716
40715
|
if (options.resolvePackageJsonExports) {
|
|
40717
|
-
features |=
|
|
40716
|
+
features |= 8 /* Exports */;
|
|
40718
40717
|
} else if (options.resolvePackageJsonExports === false) {
|
|
40719
|
-
features &= ~
|
|
40718
|
+
features &= ~8 /* Exports */;
|
|
40720
40719
|
}
|
|
40721
40720
|
if (options.resolvePackageJsonImports) {
|
|
40722
|
-
features |=
|
|
40721
|
+
features |= 2 /* Imports */;
|
|
40723
40722
|
} else if (options.resolvePackageJsonImports === false) {
|
|
40724
|
-
features &= ~
|
|
40723
|
+
features &= ~2 /* Imports */;
|
|
40725
40724
|
}
|
|
40726
40725
|
return features;
|
|
40727
40726
|
}
|
|
@@ -42297,18 +42296,24 @@ function getLoadModuleFromTargetImportOrExport(extensions, state, cache, redirec
|
|
|
42297
42296
|
)));
|
|
42298
42297
|
} else if (typeof target === "object" && target !== null) {
|
|
42299
42298
|
if (!Array.isArray(target)) {
|
|
42299
|
+
traceIfEnabled(state, Diagnostics.Entering_conditional_exports);
|
|
42300
42300
|
for (const condition of getOwnKeys(target)) {
|
|
42301
42301
|
if (condition === "default" || state.conditions.indexOf(condition) >= 0 || isApplicableVersionedTypesKey(state.conditions, condition)) {
|
|
42302
42302
|
traceIfEnabled(state, Diagnostics.Matched_0_condition_1, isImports ? "imports" : "exports", condition);
|
|
42303
42303
|
const subTarget = target[condition];
|
|
42304
42304
|
const result = loadModuleFromTargetImportOrExport(subTarget, subpath, pattern, key);
|
|
42305
42305
|
if (result) {
|
|
42306
|
+
traceIfEnabled(state, Diagnostics.Resolved_under_condition_0, condition);
|
|
42307
|
+
traceIfEnabled(state, Diagnostics.Exiting_conditional_exports);
|
|
42306
42308
|
return result;
|
|
42309
|
+
} else {
|
|
42310
|
+
traceIfEnabled(state, Diagnostics.Failed_to_resolve_under_condition_0, condition);
|
|
42307
42311
|
}
|
|
42308
42312
|
} else {
|
|
42309
42313
|
traceIfEnabled(state, Diagnostics.Saw_non_matching_condition_0, condition);
|
|
42310
42314
|
}
|
|
42311
42315
|
}
|
|
42316
|
+
traceIfEnabled(state, Diagnostics.Exiting_conditional_exports);
|
|
42312
42317
|
return void 0;
|
|
42313
42318
|
} else {
|
|
42314
42319
|
if (!length(target)) {
|
|
@@ -45992,7 +45997,7 @@ function computeModuleSpecifiers(modulePaths, compilerOptions, importingSourceFi
|
|
|
45992
45997
|
let redirectPathsSpecifiers;
|
|
45993
45998
|
let relativeSpecifiers;
|
|
45994
45999
|
for (const modulePath of modulePaths) {
|
|
45995
|
-
const specifier = tryGetModuleNameAsNodeModule(
|
|
46000
|
+
const specifier = modulePath.isInNodeModules ? tryGetModuleNameAsNodeModule(
|
|
45996
46001
|
modulePath,
|
|
45997
46002
|
info,
|
|
45998
46003
|
importingSourceFile,
|
|
@@ -46002,7 +46007,7 @@ function computeModuleSpecifiers(modulePaths, compilerOptions, importingSourceFi
|
|
|
46002
46007
|
/*packageNameOnly*/
|
|
46003
46008
|
void 0,
|
|
46004
46009
|
options.overrideImportMode
|
|
46005
|
-
);
|
|
46010
|
+
) : void 0;
|
|
46006
46011
|
nodeModulesSpecifiers = append(nodeModulesSpecifiers, specifier);
|
|
46007
46012
|
if (specifier && modulePath.isRedirect) {
|
|
46008
46013
|
return nodeModulesSpecifiers;
|
|
@@ -52079,7 +52084,7 @@ function createTypeChecker(host) {
|
|
|
52079
52084
|
if (signature.thisParameter) {
|
|
52080
52085
|
return symbolToParameterDeclaration(signature.thisParameter, context);
|
|
52081
52086
|
}
|
|
52082
|
-
if (signature.declaration) {
|
|
52087
|
+
if (signature.declaration && isInJSFile(signature.declaration)) {
|
|
52083
52088
|
const thisTag = getJSDocThisTag(signature.declaration);
|
|
52084
52089
|
if (thisTag && thisTag.typeExpression) {
|
|
52085
52090
|
return factory.createParameterDeclaration(
|
|
@@ -55060,7 +55065,7 @@ function createTypeChecker(host) {
|
|
|
55060
55065
|
function getWidenedTypeForAssignmentDeclaration(symbol, resolvedSymbol) {
|
|
55061
55066
|
const container = getAssignedExpandoInitializer(symbol.valueDeclaration);
|
|
55062
55067
|
if (container) {
|
|
55063
|
-
const tag = getJSDocTypeTag(container);
|
|
55068
|
+
const tag = isInJSFile(container) ? getJSDocTypeTag(container) : void 0;
|
|
55064
55069
|
if (tag && tag.typeExpression) {
|
|
55065
55070
|
return getTypeFromTypeNode(tag.typeExpression);
|
|
55066
55071
|
}
|
|
@@ -65907,7 +65912,17 @@ function createTypeChecker(host) {
|
|
|
65907
65912
|
return propType;
|
|
65908
65913
|
}
|
|
65909
65914
|
if (everyType(type, isTupleType)) {
|
|
65910
|
-
return mapType(type, (t) =>
|
|
65915
|
+
return mapType(type, (t) => {
|
|
65916
|
+
const tupleType = t;
|
|
65917
|
+
const restType = getRestTypeOfTupleType(tupleType);
|
|
65918
|
+
if (!restType) {
|
|
65919
|
+
return undefinedType;
|
|
65920
|
+
}
|
|
65921
|
+
if (compilerOptions.noUncheckedIndexedAccess && index >= tupleType.target.fixedLength + getEndElementCount(tupleType.target, 3 /* Fixed */)) {
|
|
65922
|
+
return getUnionType([restType, undefinedType]);
|
|
65923
|
+
}
|
|
65924
|
+
return restType;
|
|
65925
|
+
});
|
|
65911
65926
|
}
|
|
65912
65927
|
return void 0;
|
|
65913
65928
|
}
|
|
@@ -68549,7 +68564,7 @@ function createTypeChecker(host) {
|
|
|
68549
68564
|
}
|
|
68550
68565
|
return declaredType;
|
|
68551
68566
|
}
|
|
68552
|
-
if (isVariableDeclaration(node) && node.parent.parent.kind === 246 /* ForInStatement */ && isMatchingReference(reference, node.parent.parent.expression)) {
|
|
68567
|
+
if (isVariableDeclaration(node) && node.parent.parent.kind === 246 /* ForInStatement */ && (isMatchingReference(reference, node.parent.parent.expression) || optionalChainContainsReference(node.parent.parent.expression, reference))) {
|
|
68553
68568
|
return getNonNullableTypeIfNeeded(finalizeEvolvingArrayType(getTypeFromFlowType(getTypeAtFlowNode(flow.antecedent))));
|
|
68554
68569
|
}
|
|
68555
68570
|
return void 0;
|
|
@@ -69235,34 +69250,29 @@ function createTypeChecker(host) {
|
|
|
69235
69250
|
if (!isTypeDerivedFrom(rightType, globalFunctionType)) {
|
|
69236
69251
|
return type;
|
|
69237
69252
|
}
|
|
69238
|
-
|
|
69239
|
-
|
|
69240
|
-
if (prototypeProperty) {
|
|
69241
|
-
const prototypePropertyType = getTypeOfSymbol(prototypeProperty);
|
|
69242
|
-
if (!isTypeAny(prototypePropertyType)) {
|
|
69243
|
-
targetType = prototypePropertyType;
|
|
69244
|
-
}
|
|
69245
|
-
}
|
|
69246
|
-
if (isTypeAny(type) && (targetType === globalObjectType || targetType === globalFunctionType)) {
|
|
69253
|
+
const instanceType = mapType(rightType, getInstanceType);
|
|
69254
|
+
if (isTypeAny(type) && (instanceType === globalObjectType || instanceType === globalFunctionType) || !assumeTrue && !(instanceType.flags & 524288 /* Object */ && !isEmptyAnonymousObjectType(instanceType))) {
|
|
69247
69255
|
return type;
|
|
69248
69256
|
}
|
|
69249
|
-
if (!targetType) {
|
|
69250
|
-
const constructSignatures = getSignaturesOfType(rightType, 1 /* Construct */);
|
|
69251
|
-
targetType = constructSignatures.length ? getUnionType(map(constructSignatures, (signature) => getReturnTypeOfSignature(getErasedSignature(signature)))) : emptyObjectType;
|
|
69252
|
-
}
|
|
69253
|
-
if (!assumeTrue && rightType.flags & 1048576 /* Union */) {
|
|
69254
|
-
const nonConstructorTypeInUnion = find(rightType.types, (t) => !isConstructorType(t));
|
|
69255
|
-
if (!nonConstructorTypeInUnion)
|
|
69256
|
-
return type;
|
|
69257
|
-
}
|
|
69258
69257
|
return getNarrowedType(
|
|
69259
69258
|
type,
|
|
69260
|
-
|
|
69259
|
+
instanceType,
|
|
69261
69260
|
assumeTrue,
|
|
69262
69261
|
/*checkDerived*/
|
|
69263
69262
|
true
|
|
69264
69263
|
);
|
|
69265
69264
|
}
|
|
69265
|
+
function getInstanceType(constructorType) {
|
|
69266
|
+
const prototypePropertyType = getTypeOfPropertyOfType(constructorType, "prototype");
|
|
69267
|
+
if (prototypePropertyType && !isTypeAny(prototypePropertyType)) {
|
|
69268
|
+
return prototypePropertyType;
|
|
69269
|
+
}
|
|
69270
|
+
const constructSignatures = getSignaturesOfType(constructorType, 1 /* Construct */);
|
|
69271
|
+
if (constructSignatures.length) {
|
|
69272
|
+
return getUnionType(map(constructSignatures, (signature) => getReturnTypeOfSignature(getErasedSignature(signature))));
|
|
69273
|
+
}
|
|
69274
|
+
return emptyObjectType;
|
|
69275
|
+
}
|
|
69266
69276
|
function getNarrowedType(type, candidate, assumeTrue, checkDerived) {
|
|
69267
69277
|
var _a3;
|
|
69268
69278
|
const key2 = type.flags & 1048576 /* Union */ ? `N${getTypeId(type)},${getTypeId(candidate)},${(assumeTrue ? 1 : 0) | (checkDerived ? 2 : 0)}` : void 0;
|
|
@@ -105155,6 +105165,9 @@ function transformModule(context) {
|
|
|
105155
105165
|
return visitEachChild(node, visitor, context);
|
|
105156
105166
|
}
|
|
105157
105167
|
function visitImportCallExpression(node) {
|
|
105168
|
+
if (moduleKind === 0 /* None */ && languageVersion >= 7 /* ES2020 */) {
|
|
105169
|
+
return visitEachChild(node, visitor, context);
|
|
105170
|
+
}
|
|
105158
105171
|
const externalModuleName = getExternalModuleNameLiteral(factory2, node, currentSourceFile, host, resolver, compilerOptions);
|
|
105159
105172
|
const firstArgument = visitNode(firstOrUndefined(node.arguments), visitor, isExpression);
|
|
105160
105173
|
const argument = externalModuleName && (!firstArgument || !isStringLiteral(firstArgument) || firstArgument.text !== externalModuleName.text) ? externalModuleName : firstArgument;
|
|
@@ -111459,9 +111472,9 @@ function createPrinter(printerOptions = {}, handlers = {}) {
|
|
|
111459
111472
|
formattedNameTempFlagsStack = [];
|
|
111460
111473
|
formattedNameTempFlags = /* @__PURE__ */ new Map();
|
|
111461
111474
|
privateNameTempFlagsStack = [];
|
|
111462
|
-
privateNameTempFlags =
|
|
111475
|
+
privateNameTempFlags = 0 /* Auto */;
|
|
111463
111476
|
tempFlagsStack = [];
|
|
111464
|
-
tempFlags =
|
|
111477
|
+
tempFlags = 0 /* Auto */;
|
|
111465
111478
|
reservedNamesStack = [];
|
|
111466
111479
|
reservedNames = void 0;
|
|
111467
111480
|
reservedPrivateNamesStack = [];
|
|
@@ -112430,7 +112443,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
|
|
|
112430
112443
|
}
|
|
112431
112444
|
function emitTypeLiteral(node) {
|
|
112432
112445
|
pushPrivateNameGenerationScope(
|
|
112433
|
-
|
|
112446
|
+
0 /* Auto */,
|
|
112434
112447
|
/*newReservedMemberNames*/
|
|
112435
112448
|
void 0
|
|
112436
112449
|
);
|
|
@@ -112619,7 +112632,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
|
|
|
112619
112632
|
}
|
|
112620
112633
|
function emitObjectLiteralExpression(node) {
|
|
112621
112634
|
pushPrivateNameGenerationScope(
|
|
112622
|
-
|
|
112635
|
+
0 /* Auto */,
|
|
112623
112636
|
/*newReservedMemberNames*/
|
|
112624
112637
|
void 0
|
|
112625
112638
|
);
|
|
@@ -113385,7 +113398,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
|
|
|
113385
113398
|
}
|
|
113386
113399
|
function emitClassDeclarationOrExpression(node) {
|
|
113387
113400
|
pushPrivateNameGenerationScope(
|
|
113388
|
-
|
|
113401
|
+
0 /* Auto */,
|
|
113389
113402
|
/*newReservedMemberNames*/
|
|
113390
113403
|
void 0
|
|
113391
113404
|
);
|
|
@@ -113418,7 +113431,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
|
|
|
113418
113431
|
}
|
|
113419
113432
|
function emitInterfaceDeclaration(node) {
|
|
113420
113433
|
pushPrivateNameGenerationScope(
|
|
113421
|
-
|
|
113434
|
+
0 /* Auto */,
|
|
113422
113435
|
/*newReservedMemberNames*/
|
|
113423
113436
|
void 0
|
|
113424
113437
|
);
|
|
@@ -114861,7 +114874,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
|
|
|
114861
114874
|
return;
|
|
114862
114875
|
}
|
|
114863
114876
|
tempFlagsStack.push(tempFlags);
|
|
114864
|
-
tempFlags =
|
|
114877
|
+
tempFlags = 0 /* Auto */;
|
|
114865
114878
|
formattedNameTempFlagsStack.push(formattedNameTempFlags);
|
|
114866
114879
|
formattedNameTempFlags = void 0;
|
|
114867
114880
|
reservedNamesStack.push(reservedNames);
|
|
@@ -115047,7 +115060,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
|
|
|
115047
115060
|
case "#":
|
|
115048
115061
|
return privateNameTempFlags;
|
|
115049
115062
|
default:
|
|
115050
|
-
return (_a2 = formattedNameTempFlags == null ? void 0 : formattedNameTempFlags.get(formattedNameKey)) != null ? _a2 :
|
|
115063
|
+
return (_a2 = formattedNameTempFlags == null ? void 0 : formattedNameTempFlags.get(formattedNameKey)) != null ? _a2 : 0 /* Auto */;
|
|
115051
115064
|
}
|
|
115052
115065
|
}
|
|
115053
115066
|
function setTempFlags(formattedNameKey, flags) {
|
|
@@ -115071,7 +115084,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
|
|
|
115071
115084
|
const key = formatGeneratedName(privateName, prefix, "", suffix);
|
|
115072
115085
|
let tempFlags2 = getTempFlags(key);
|
|
115073
115086
|
if (flags && !(tempFlags2 & flags)) {
|
|
115074
|
-
const name = flags ===
|
|
115087
|
+
const name = flags === 268435456 /* _i */ ? "_i" : "_n";
|
|
115075
115088
|
const fullName = formatGeneratedName(privateName, prefix, name, suffix);
|
|
115076
115089
|
if (isUniqueName(fullName, privateName)) {
|
|
115077
115090
|
tempFlags2 |= flags;
|
|
@@ -115085,7 +115098,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
|
|
|
115085
115098
|
}
|
|
115086
115099
|
}
|
|
115087
115100
|
while (true) {
|
|
115088
|
-
const count = tempFlags2 &
|
|
115101
|
+
const count = tempFlags2 & 268435455 /* CountMask */;
|
|
115089
115102
|
tempFlags2++;
|
|
115090
115103
|
if (count !== 8 && count !== 13) {
|
|
115091
115104
|
const name = count < 26 ? "_" + String.fromCharCode(97 /* a */ + count) : "_" + (count - 26);
|
|
@@ -115229,7 +115242,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
|
|
|
115229
115242
|
return generateNameCached(node.name, privateName);
|
|
115230
115243
|
}
|
|
115231
115244
|
return makeTempVariableName(
|
|
115232
|
-
|
|
115245
|
+
0 /* Auto */,
|
|
115233
115246
|
/*reservedInNestedScopes*/
|
|
115234
115247
|
false,
|
|
115235
115248
|
privateName,
|
|
@@ -115286,7 +115299,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
|
|
|
115286
115299
|
return generateNameForMethodOrAccessor(node, privateName, prefix, suffix);
|
|
115287
115300
|
case 164 /* ComputedPropertyName */:
|
|
115288
115301
|
return makeTempVariableName(
|
|
115289
|
-
|
|
115302
|
+
0 /* Auto */,
|
|
115290
115303
|
/*reserveInNestedScopes*/
|
|
115291
115304
|
true,
|
|
115292
115305
|
privateName,
|
|
@@ -115295,7 +115308,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
|
|
|
115295
115308
|
);
|
|
115296
115309
|
default:
|
|
115297
115310
|
return makeTempVariableName(
|
|
115298
|
-
|
|
115311
|
+
0 /* Auto */,
|
|
115299
115312
|
/*reserveInNestedScopes*/
|
|
115300
115313
|
false,
|
|
115301
115314
|
privateName,
|
|
@@ -115310,11 +115323,11 @@ function createPrinter(printerOptions = {}, handlers = {}) {
|
|
|
115310
115323
|
const suffix = formatGeneratedNamePart(autoGenerate.suffix);
|
|
115311
115324
|
switch (autoGenerate.flags & 7 /* KindMask */) {
|
|
115312
115325
|
case 1 /* Auto */:
|
|
115313
|
-
return makeTempVariableName(
|
|
115326
|
+
return makeTempVariableName(0 /* Auto */, !!(autoGenerate.flags & 8 /* ReservedInNestedScopes */), isPrivateIdentifier(name), prefix, suffix);
|
|
115314
115327
|
case 2 /* Loop */:
|
|
115315
115328
|
Debug.assertNode(name, isIdentifier);
|
|
115316
115329
|
return makeTempVariableName(
|
|
115317
|
-
|
|
115330
|
+
268435456 /* _i */,
|
|
115318
115331
|
!!(autoGenerate.flags & 8 /* ReservedInNestedScopes */),
|
|
115319
115332
|
/*privateName*/
|
|
115320
115333
|
false,
|
|
@@ -115784,12 +115797,6 @@ function getOpeningBracket(format) {
|
|
|
115784
115797
|
function getClosingBracket(format) {
|
|
115785
115798
|
return brackets[format & 15360 /* BracketsMask */][1];
|
|
115786
115799
|
}
|
|
115787
|
-
var TempFlags = /* @__PURE__ */ ((TempFlags2) => {
|
|
115788
|
-
TempFlags2[TempFlags2["Auto"] = 0] = "Auto";
|
|
115789
|
-
TempFlags2[TempFlags2["CountMask"] = 268435455] = "CountMask";
|
|
115790
|
-
TempFlags2[TempFlags2["_i"] = 268435456] = "_i";
|
|
115791
|
-
return TempFlags2;
|
|
115792
|
-
})(TempFlags || {});
|
|
115793
115800
|
function emitListItemNoParenthesizer(node, emit, _parenthesizerRule, _index) {
|
|
115794
115801
|
emit(node);
|
|
115795
115802
|
}
|
|
@@ -116767,14 +116774,14 @@ var moduleResolutionNameAndModeGetter = {
|
|
|
116767
116774
|
function createModuleResolutionLoader(containingFile, redirectedReference, options, host, cache) {
|
|
116768
116775
|
return {
|
|
116769
116776
|
nameAndMode: moduleResolutionNameAndModeGetter,
|
|
116770
|
-
resolve: (moduleName,
|
|
116777
|
+
resolve: (moduleName, resolutionMode) => resolveModuleName(
|
|
116771
116778
|
moduleName,
|
|
116772
116779
|
containingFile,
|
|
116773
116780
|
options,
|
|
116774
116781
|
host,
|
|
116775
116782
|
cache,
|
|
116776
116783
|
redirectedReference,
|
|
116777
|
-
|
|
116784
|
+
resolutionMode
|
|
116778
116785
|
)
|
|
116779
116786
|
};
|
|
116780
116787
|
}
|
|
@@ -128297,7 +128304,7 @@ function makeImport(defaultImport, namedImports, moduleSpecifier, quotePreferenc
|
|
|
128297
128304
|
);
|
|
128298
128305
|
}
|
|
128299
128306
|
function makeStringLiteral(text, quotePreference) {
|
|
128300
|
-
return factory.createStringLiteral(text, quotePreference ===
|
|
128307
|
+
return factory.createStringLiteral(text, quotePreference === 0 /* Single */);
|
|
128301
128308
|
}
|
|
128302
128309
|
var QuotePreference = /* @__PURE__ */ ((QuotePreference5) => {
|
|
128303
128310
|
QuotePreference5[QuotePreference5["Single"] = 0] = "Single";
|
|
@@ -129213,7 +129220,13 @@ function createPackageJsonInfo(fileName, host) {
|
|
|
129213
129220
|
function createPackageJsonImportFilter(fromFile, preferences, host) {
|
|
129214
129221
|
const packageJsons = (host.getPackageJsonsVisibleToFile && host.getPackageJsonsVisibleToFile(fromFile.fileName) || getPackageJsonsVisibleToFile(fromFile.fileName, host)).filter((p) => p.parseable);
|
|
129215
129222
|
let usesNodeCoreModules;
|
|
129216
|
-
|
|
129223
|
+
let ambientModuleCache;
|
|
129224
|
+
let sourceFileCache;
|
|
129225
|
+
return {
|
|
129226
|
+
allowsImportingAmbientModule,
|
|
129227
|
+
allowsImportingSourceFile,
|
|
129228
|
+
allowsImportingSpecifier
|
|
129229
|
+
};
|
|
129217
129230
|
function moduleSpecifierIsCoveredByPackageJson(specifier) {
|
|
129218
129231
|
const packageName = getNodeModuleRootSpecifier(specifier);
|
|
129219
129232
|
for (const packageJson of packageJsons) {
|
|
@@ -129227,26 +129240,49 @@ function createPackageJsonImportFilter(fromFile, preferences, host) {
|
|
|
129227
129240
|
if (!packageJsons.length || !moduleSymbol.valueDeclaration) {
|
|
129228
129241
|
return true;
|
|
129229
129242
|
}
|
|
129230
|
-
|
|
129231
|
-
|
|
129232
|
-
|
|
129233
|
-
|
|
129243
|
+
if (!ambientModuleCache) {
|
|
129244
|
+
ambientModuleCache = /* @__PURE__ */ new Map();
|
|
129245
|
+
} else {
|
|
129246
|
+
const cached = ambientModuleCache.get(moduleSymbol);
|
|
129247
|
+
if (cached !== void 0) {
|
|
129248
|
+
return cached;
|
|
129249
|
+
}
|
|
129234
129250
|
}
|
|
129235
129251
|
const declaredModuleSpecifier = stripQuotes(moduleSymbol.getName());
|
|
129236
129252
|
if (isAllowedCoreNodeModulesImport(declaredModuleSpecifier)) {
|
|
129253
|
+
ambientModuleCache.set(moduleSymbol, true);
|
|
129254
|
+
return true;
|
|
129255
|
+
}
|
|
129256
|
+
const declaringSourceFile = moduleSymbol.valueDeclaration.getSourceFile();
|
|
129257
|
+
const declaringNodeModuleName = getNodeModulesPackageNameFromFileName(declaringSourceFile.fileName, moduleSpecifierResolutionHost);
|
|
129258
|
+
if (typeof declaringNodeModuleName === "undefined") {
|
|
129259
|
+
ambientModuleCache.set(moduleSymbol, true);
|
|
129237
129260
|
return true;
|
|
129238
129261
|
}
|
|
129239
|
-
|
|
129262
|
+
const result = moduleSpecifierIsCoveredByPackageJson(declaringNodeModuleName) || moduleSpecifierIsCoveredByPackageJson(declaredModuleSpecifier);
|
|
129263
|
+
ambientModuleCache.set(moduleSymbol, result);
|
|
129264
|
+
return result;
|
|
129240
129265
|
}
|
|
129241
129266
|
function allowsImportingSourceFile(sourceFile, moduleSpecifierResolutionHost) {
|
|
129242
129267
|
if (!packageJsons.length) {
|
|
129243
129268
|
return true;
|
|
129244
129269
|
}
|
|
129270
|
+
if (!sourceFileCache) {
|
|
129271
|
+
sourceFileCache = /* @__PURE__ */ new Map();
|
|
129272
|
+
} else {
|
|
129273
|
+
const cached = sourceFileCache.get(sourceFile);
|
|
129274
|
+
if (cached !== void 0) {
|
|
129275
|
+
return cached;
|
|
129276
|
+
}
|
|
129277
|
+
}
|
|
129245
129278
|
const moduleSpecifier = getNodeModulesPackageNameFromFileName(sourceFile.fileName, moduleSpecifierResolutionHost);
|
|
129246
129279
|
if (!moduleSpecifier) {
|
|
129280
|
+
sourceFileCache.set(sourceFile, true);
|
|
129247
129281
|
return true;
|
|
129248
129282
|
}
|
|
129249
|
-
|
|
129283
|
+
const result = moduleSpecifierIsCoveredByPackageJson(moduleSpecifier);
|
|
129284
|
+
sourceFileCache.set(sourceFile, result);
|
|
129285
|
+
return result;
|
|
129250
129286
|
}
|
|
129251
129287
|
function allowsImportingSpecifier(moduleSpecifier) {
|
|
129252
129288
|
if (!packageJsons.length || isAllowedCoreNodeModulesImport(moduleSpecifier)) {
|
|
@@ -129466,6 +129502,64 @@ function jsxModeNeedsExplicitImport(jsx) {
|
|
|
129466
129502
|
function isSourceFileFromLibrary(program, node) {
|
|
129467
129503
|
return program.isSourceFileFromExternalLibrary(node) || program.isSourceFileDefaultLibrary(node);
|
|
129468
129504
|
}
|
|
129505
|
+
function newCaseClauseTracker(checker, clauses) {
|
|
129506
|
+
const existingStrings = /* @__PURE__ */ new Set();
|
|
129507
|
+
const existingNumbers = /* @__PURE__ */ new Set();
|
|
129508
|
+
const existingBigInts = /* @__PURE__ */ new Set();
|
|
129509
|
+
for (const clause of clauses) {
|
|
129510
|
+
if (!isDefaultClause(clause)) {
|
|
129511
|
+
if (isLiteralExpression(clause.expression)) {
|
|
129512
|
+
const expression = clause.expression;
|
|
129513
|
+
switch (expression.kind) {
|
|
129514
|
+
case 14 /* NoSubstitutionTemplateLiteral */:
|
|
129515
|
+
case 10 /* StringLiteral */:
|
|
129516
|
+
existingStrings.add(expression.text);
|
|
129517
|
+
break;
|
|
129518
|
+
case 8 /* NumericLiteral */:
|
|
129519
|
+
existingNumbers.add(parseInt(expression.text));
|
|
129520
|
+
break;
|
|
129521
|
+
case 9 /* BigIntLiteral */:
|
|
129522
|
+
const parsedBigInt = parseBigInt(endsWith(expression.text, "n") ? expression.text.slice(0, -1) : expression.text);
|
|
129523
|
+
if (parsedBigInt) {
|
|
129524
|
+
existingBigInts.add(pseudoBigIntToString(parsedBigInt));
|
|
129525
|
+
}
|
|
129526
|
+
break;
|
|
129527
|
+
}
|
|
129528
|
+
} else {
|
|
129529
|
+
const symbol = checker.getSymbolAtLocation(clause.expression);
|
|
129530
|
+
if (symbol && symbol.valueDeclaration && isEnumMember(symbol.valueDeclaration)) {
|
|
129531
|
+
const enumValue = checker.getConstantValue(symbol.valueDeclaration);
|
|
129532
|
+
if (enumValue !== void 0) {
|
|
129533
|
+
addValue(enumValue);
|
|
129534
|
+
}
|
|
129535
|
+
}
|
|
129536
|
+
}
|
|
129537
|
+
}
|
|
129538
|
+
}
|
|
129539
|
+
return {
|
|
129540
|
+
addValue,
|
|
129541
|
+
hasValue
|
|
129542
|
+
};
|
|
129543
|
+
function addValue(value) {
|
|
129544
|
+
switch (typeof value) {
|
|
129545
|
+
case "string":
|
|
129546
|
+
existingStrings.add(value);
|
|
129547
|
+
break;
|
|
129548
|
+
case "number":
|
|
129549
|
+
existingNumbers.add(value);
|
|
129550
|
+
}
|
|
129551
|
+
}
|
|
129552
|
+
function hasValue(value) {
|
|
129553
|
+
switch (typeof value) {
|
|
129554
|
+
case "string":
|
|
129555
|
+
return existingStrings.has(value);
|
|
129556
|
+
case "number":
|
|
129557
|
+
return existingNumbers.has(value);
|
|
129558
|
+
case "object":
|
|
129559
|
+
return existingBigInts.has(pseudoBigIntToString(value));
|
|
129560
|
+
}
|
|
129561
|
+
}
|
|
129562
|
+
}
|
|
129469
129563
|
|
|
129470
129564
|
// src/services/exportInfoMap.ts
|
|
129471
129565
|
var ImportKind = /* @__PURE__ */ ((ImportKind2) => {
|
|
@@ -140714,13 +140808,13 @@ function createImportAdderWorker(sourceFile, program, useAutoImportProvider, pre
|
|
|
140714
140808
|
var _a2, _b;
|
|
140715
140809
|
const { fix, symbolName: symbolName2 } = info;
|
|
140716
140810
|
switch (fix.kind) {
|
|
140717
|
-
case
|
|
140811
|
+
case 0 /* UseNamespace */:
|
|
140718
140812
|
addToNamespace.push(fix);
|
|
140719
140813
|
break;
|
|
140720
|
-
case
|
|
140814
|
+
case 1 /* JsdocTypeImport */:
|
|
140721
140815
|
importType.push(fix);
|
|
140722
140816
|
break;
|
|
140723
|
-
case
|
|
140817
|
+
case 2 /* AddToExisting */: {
|
|
140724
140818
|
const { importClauseOrBindingPattern, importKind, addAsTypeOnly } = fix;
|
|
140725
140819
|
const key = String(getNodeId(importClauseOrBindingPattern));
|
|
140726
140820
|
let entry = addToExisting.get(key);
|
|
@@ -140739,7 +140833,7 @@ function createImportAdderWorker(sourceFile, program, useAutoImportProvider, pre
|
|
|
140739
140833
|
}
|
|
140740
140834
|
break;
|
|
140741
140835
|
}
|
|
140742
|
-
case
|
|
140836
|
+
case 3 /* AddNew */: {
|
|
140743
140837
|
const { moduleSpecifier, importKind, useRequire, addAsTypeOnly } = fix;
|
|
140744
140838
|
const entry = getNewImportEntry(moduleSpecifier, importKind, useRequire, addAsTypeOnly);
|
|
140745
140839
|
Debug.assert(entry.useRequire === useRequire, "(Add new) Tried to add an `import` and a `require` for the same module");
|
|
@@ -140760,7 +140854,7 @@ function createImportAdderWorker(sourceFile, program, useAutoImportProvider, pre
|
|
|
140760
140854
|
}
|
|
140761
140855
|
break;
|
|
140762
140856
|
}
|
|
140763
|
-
case
|
|
140857
|
+
case 4 /* PromoteTypeOnly */:
|
|
140764
140858
|
break;
|
|
140765
140859
|
default:
|
|
140766
140860
|
Debug.assertNever(fix, `fix wasn't never - got kind ${fix.kind}`);
|
|
@@ -140787,13 +140881,13 @@ function createImportAdderWorker(sourceFile, program, useAutoImportProvider, pre
|
|
|
140787
140881
|
namespaceLikeImport: void 0,
|
|
140788
140882
|
useRequire
|
|
140789
140883
|
};
|
|
140790
|
-
if (importKind === 1 /* Default */ && addAsTypeOnly ===
|
|
140884
|
+
if (importKind === 1 /* Default */ && addAsTypeOnly === 2 /* Required */) {
|
|
140791
140885
|
if (typeOnlyEntry)
|
|
140792
140886
|
return typeOnlyEntry;
|
|
140793
140887
|
newImports.set(typeOnlyKey, newEntry);
|
|
140794
140888
|
return newEntry;
|
|
140795
140889
|
}
|
|
140796
|
-
if (addAsTypeOnly ===
|
|
140890
|
+
if (addAsTypeOnly === 1 /* Allowed */ && (typeOnlyEntry || nonTypeOnlyEntry)) {
|
|
140797
140891
|
return typeOnlyEntry || nonTypeOnlyEntry;
|
|
140798
140892
|
}
|
|
140799
140893
|
if (nonTypeOnlyEntry) {
|
|
@@ -140875,20 +140969,6 @@ function createImportSpecifierResolver(importingFile, program, host, preferences
|
|
|
140875
140969
|
return result && { ...result, computedWithoutCacheCount };
|
|
140876
140970
|
}
|
|
140877
140971
|
}
|
|
140878
|
-
var ImportFixKind = /* @__PURE__ */ ((ImportFixKind2) => {
|
|
140879
|
-
ImportFixKind2[ImportFixKind2["UseNamespace"] = 0] = "UseNamespace";
|
|
140880
|
-
ImportFixKind2[ImportFixKind2["JsdocTypeImport"] = 1] = "JsdocTypeImport";
|
|
140881
|
-
ImportFixKind2[ImportFixKind2["AddToExisting"] = 2] = "AddToExisting";
|
|
140882
|
-
ImportFixKind2[ImportFixKind2["AddNew"] = 3] = "AddNew";
|
|
140883
|
-
ImportFixKind2[ImportFixKind2["PromoteTypeOnly"] = 4] = "PromoteTypeOnly";
|
|
140884
|
-
return ImportFixKind2;
|
|
140885
|
-
})(ImportFixKind || {});
|
|
140886
|
-
var AddAsTypeOnly = /* @__PURE__ */ ((AddAsTypeOnly2) => {
|
|
140887
|
-
AddAsTypeOnly2[AddAsTypeOnly2["Allowed"] = 1] = "Allowed";
|
|
140888
|
-
AddAsTypeOnly2[AddAsTypeOnly2["Required"] = 2] = "Required";
|
|
140889
|
-
AddAsTypeOnly2[AddAsTypeOnly2["NotAllowed"] = 4] = "NotAllowed";
|
|
140890
|
-
return AddAsTypeOnly2;
|
|
140891
|
-
})(AddAsTypeOnly || {});
|
|
140892
140972
|
function getImportCompletionAction(targetSymbol, moduleSymbol, sourceFile, symbolName2, isJsxTagName, host, program, formatContext, position, preferences, cancellationToken) {
|
|
140893
140973
|
const compilerOptions = program.getCompilerOptions();
|
|
140894
140974
|
const exportInfos = pathIsBareSpecifier(stripQuotes(moduleSymbol.name)) ? [getSingleExportInfoForSymbol(targetSymbol, moduleSymbol, program, host)] : getAllExportInfoForSymbol(sourceFile, targetSymbol, symbolName2, isJsxTagName, program, host, preferences, cancellationToken);
|
|
@@ -147674,19 +147754,19 @@ function getCompletionsAtPosition(host, program, log, sourceFile, position, pref
|
|
|
147674
147754
|
return void 0;
|
|
147675
147755
|
}
|
|
147676
147756
|
switch (completionData.kind) {
|
|
147677
|
-
case
|
|
147757
|
+
case 0 /* Data */:
|
|
147678
147758
|
const response = completionInfoFromData(sourceFile, host, program, compilerOptions, log, completionData, preferences, formatContext, position);
|
|
147679
147759
|
if (response == null ? void 0 : response.isIncomplete) {
|
|
147680
147760
|
incompleteCompletionsCache == null ? void 0 : incompleteCompletionsCache.set(response);
|
|
147681
147761
|
}
|
|
147682
147762
|
return response;
|
|
147683
|
-
case
|
|
147763
|
+
case 1 /* JsDocTagName */:
|
|
147684
147764
|
return jsdocCompletionInfo(ts_JsDoc_exports.getJSDocTagNameCompletions());
|
|
147685
|
-
case
|
|
147765
|
+
case 2 /* JsDocTag */:
|
|
147686
147766
|
return jsdocCompletionInfo(ts_JsDoc_exports.getJSDocTagCompletions());
|
|
147687
|
-
case
|
|
147767
|
+
case 3 /* JsDocParameterName */:
|
|
147688
147768
|
return jsdocCompletionInfo(ts_JsDoc_exports.getJSDocParameterNameCompletions(completionData.tag));
|
|
147689
|
-
case
|
|
147769
|
+
case 4 /* Keywords */:
|
|
147690
147770
|
return specificKeywordCompletionInfo(completionData.keywordCompletions, completionData.isNewIdentifierLocation);
|
|
147691
147771
|
default:
|
|
147692
147772
|
return Debug.assertNever(completionData);
|
|
@@ -147789,7 +147869,7 @@ function specificKeywordCompletionInfo(entries, isNewIdentifierLocation) {
|
|
|
147789
147869
|
}
|
|
147790
147870
|
function keywordCompletionData(keywordFilters, filterOutTsOnlyKeywords, isNewIdentifierLocation) {
|
|
147791
147871
|
return {
|
|
147792
|
-
kind:
|
|
147872
|
+
kind: 4 /* Keywords */,
|
|
147793
147873
|
keywordCompletions: getKeywordCompletions(keywordFilters, filterOutTsOnlyKeywords),
|
|
147794
147874
|
isNewIdentifierLocation
|
|
147795
147875
|
};
|
|
@@ -148019,64 +148099,6 @@ function getExhaustiveCaseSnippets(caseBlock, sourceFile, preferences, options,
|
|
|
148019
148099
|
}
|
|
148020
148100
|
return void 0;
|
|
148021
148101
|
}
|
|
148022
|
-
function newCaseClauseTracker(checker, clauses) {
|
|
148023
|
-
const existingStrings = /* @__PURE__ */ new Set();
|
|
148024
|
-
const existingNumbers = /* @__PURE__ */ new Set();
|
|
148025
|
-
const existingBigInts = /* @__PURE__ */ new Set();
|
|
148026
|
-
for (const clause of clauses) {
|
|
148027
|
-
if (!isDefaultClause(clause)) {
|
|
148028
|
-
if (isLiteralExpression(clause.expression)) {
|
|
148029
|
-
const expression = clause.expression;
|
|
148030
|
-
switch (expression.kind) {
|
|
148031
|
-
case 14 /* NoSubstitutionTemplateLiteral */:
|
|
148032
|
-
case 10 /* StringLiteral */:
|
|
148033
|
-
existingStrings.add(expression.text);
|
|
148034
|
-
break;
|
|
148035
|
-
case 8 /* NumericLiteral */:
|
|
148036
|
-
existingNumbers.add(parseInt(expression.text));
|
|
148037
|
-
break;
|
|
148038
|
-
case 9 /* BigIntLiteral */:
|
|
148039
|
-
const parsedBigInt = parseBigInt(endsWith(expression.text, "n") ? expression.text.slice(0, -1) : expression.text);
|
|
148040
|
-
if (parsedBigInt) {
|
|
148041
|
-
existingBigInts.add(pseudoBigIntToString(parsedBigInt));
|
|
148042
|
-
}
|
|
148043
|
-
break;
|
|
148044
|
-
}
|
|
148045
|
-
} else {
|
|
148046
|
-
const symbol = checker.getSymbolAtLocation(clause.expression);
|
|
148047
|
-
if (symbol && symbol.valueDeclaration && isEnumMember(symbol.valueDeclaration)) {
|
|
148048
|
-
const enumValue = checker.getConstantValue(symbol.valueDeclaration);
|
|
148049
|
-
if (enumValue !== void 0) {
|
|
148050
|
-
addValue(enumValue);
|
|
148051
|
-
}
|
|
148052
|
-
}
|
|
148053
|
-
}
|
|
148054
|
-
}
|
|
148055
|
-
}
|
|
148056
|
-
return {
|
|
148057
|
-
addValue,
|
|
148058
|
-
hasValue
|
|
148059
|
-
};
|
|
148060
|
-
function addValue(value) {
|
|
148061
|
-
switch (typeof value) {
|
|
148062
|
-
case "string":
|
|
148063
|
-
existingStrings.add(value);
|
|
148064
|
-
break;
|
|
148065
|
-
case "number":
|
|
148066
|
-
existingNumbers.add(value);
|
|
148067
|
-
}
|
|
148068
|
-
}
|
|
148069
|
-
function hasValue(value) {
|
|
148070
|
-
switch (typeof value) {
|
|
148071
|
-
case "string":
|
|
148072
|
-
return existingStrings.has(value);
|
|
148073
|
-
case "number":
|
|
148074
|
-
return existingNumbers.has(value);
|
|
148075
|
-
case "object":
|
|
148076
|
-
return existingBigInts.has(pseudoBigIntToString(value));
|
|
148077
|
-
}
|
|
148078
|
-
}
|
|
148079
|
-
}
|
|
148080
148102
|
function typeNodeToExpression(typeNode, languageVersion, quotePreference) {
|
|
148081
148103
|
switch (typeNode.kind) {
|
|
148082
148104
|
case 180 /* TypeReference */:
|
|
@@ -148124,9 +148146,9 @@ function entityNameToExpression(entityName, languageVersion, quotePreference) {
|
|
|
148124
148146
|
}
|
|
148125
148147
|
function isMemberCompletionKind(kind) {
|
|
148126
148148
|
switch (kind) {
|
|
148127
|
-
case
|
|
148128
|
-
case
|
|
148129
|
-
case
|
|
148149
|
+
case 0 /* ObjectPropertyDeclaration */:
|
|
148150
|
+
case 3 /* MemberLike */:
|
|
148151
|
+
case 2 /* PropertyAccess */:
|
|
148130
148152
|
return true;
|
|
148131
148153
|
default:
|
|
148132
148154
|
return false;
|
|
@@ -148242,7 +148264,7 @@ function createCompletionEntry(symbol, sortText, replacementToken, contextToken,
|
|
|
148242
148264
|
if ((origin == null ? void 0 : origin.kind) === 64 /* TypeOnlyAlias */) {
|
|
148243
148265
|
hasAction = true;
|
|
148244
148266
|
}
|
|
148245
|
-
if (preferences.includeCompletionsWithClassMemberSnippets && preferences.includeCompletionsWithInsertText && completionKind ===
|
|
148267
|
+
if (preferences.includeCompletionsWithClassMemberSnippets && preferences.includeCompletionsWithInsertText && completionKind === 3 /* MemberLike */ && isClassLikeMemberCompletion(symbol, location, sourceFile)) {
|
|
148246
148268
|
let importAdder;
|
|
148247
148269
|
({ insertText, isSnippet, importAdder, replacementSpan } = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, position, contextToken, formatContext));
|
|
148248
148270
|
sortText = SortText.ClassMemberSnippets;
|
|
@@ -148777,7 +148799,7 @@ function getCompletionEntriesFromSymbols(symbols, entries, replacementToken, con
|
|
|
148777
148799
|
const symbol = symbols[i];
|
|
148778
148800
|
const origin = symbolToOriginInfoMap == null ? void 0 : symbolToOriginInfoMap[i];
|
|
148779
148801
|
const info = getCompletionEntryDisplayNameForSymbol(symbol, target, origin, kind, !!jsxIdentifierExpected);
|
|
148780
|
-
if (!info || uniques.get(info.name) && (!origin || !originIsObjectLiteralMethod(origin)) || kind ===
|
|
148802
|
+
if (!info || uniques.get(info.name) && (!origin || !originIsObjectLiteralMethod(origin)) || kind === 1 /* Global */ && symbolToSortTextMap && !shouldIncludeSymbol(symbol, symbolToSortTextMap)) {
|
|
148781
148803
|
continue;
|
|
148782
148804
|
}
|
|
148783
148805
|
const { name, needsConvertPropertyAccess } = info;
|
|
@@ -148916,7 +148938,7 @@ function getSymbolCompletionFromEntryId(program, log, sourceFile, position, entr
|
|
|
148916
148938
|
if (!completionData) {
|
|
148917
148939
|
return { type: "none" };
|
|
148918
148940
|
}
|
|
148919
|
-
if (completionData.kind !==
|
|
148941
|
+
if (completionData.kind !== 0 /* Data */) {
|
|
148920
148942
|
return { type: "request", request: completionData };
|
|
148921
148943
|
}
|
|
148922
148944
|
const { symbols, literals, location, completionKind, symbolToOriginInfoMap, contextToken, previousToken, isJsxInitializer, isTypeOnlyLocation } = completionData;
|
|
@@ -148942,13 +148964,13 @@ function getCompletionEntryDetails(program, log, sourceFile, position, entryId,
|
|
|
148942
148964
|
case "request": {
|
|
148943
148965
|
const { request } = symbolCompletion;
|
|
148944
148966
|
switch (request.kind) {
|
|
148945
|
-
case
|
|
148967
|
+
case 1 /* JsDocTagName */:
|
|
148946
148968
|
return ts_JsDoc_exports.getJSDocTagNameCompletionDetails(name);
|
|
148947
|
-
case
|
|
148969
|
+
case 2 /* JsDocTag */:
|
|
148948
148970
|
return ts_JsDoc_exports.getJSDocTagCompletionDetails(name);
|
|
148949
|
-
case
|
|
148971
|
+
case 3 /* JsDocParameterName */:
|
|
148950
148972
|
return ts_JsDoc_exports.getJSDocParameterNameCompletionDetails(name);
|
|
148951
|
-
case
|
|
148973
|
+
case 4 /* Keywords */:
|
|
148952
148974
|
return some(request.keywordCompletions, (c) => c.name === name) ? createSimpleDetails(name, "keyword" /* keyword */, 5 /* keyword */) : void 0;
|
|
148953
148975
|
default:
|
|
148954
148976
|
return Debug.assertNever(request);
|
|
@@ -149090,14 +149112,6 @@ function getCompletionEntrySymbol(program, log, sourceFile, position, entryId, h
|
|
|
149090
149112
|
const completion = getSymbolCompletionFromEntryId(program, log, sourceFile, position, entryId, host, preferences);
|
|
149091
149113
|
return completion.type === "symbol" ? completion.symbol : void 0;
|
|
149092
149114
|
}
|
|
149093
|
-
var CompletionDataKind = /* @__PURE__ */ ((CompletionDataKind2) => {
|
|
149094
|
-
CompletionDataKind2[CompletionDataKind2["Data"] = 0] = "Data";
|
|
149095
|
-
CompletionDataKind2[CompletionDataKind2["JsDocTagName"] = 1] = "JsDocTagName";
|
|
149096
|
-
CompletionDataKind2[CompletionDataKind2["JsDocTag"] = 2] = "JsDocTag";
|
|
149097
|
-
CompletionDataKind2[CompletionDataKind2["JsDocParameterName"] = 3] = "JsDocParameterName";
|
|
149098
|
-
CompletionDataKind2[CompletionDataKind2["Keywords"] = 4] = "Keywords";
|
|
149099
|
-
return CompletionDataKind2;
|
|
149100
|
-
})(CompletionDataKind || {});
|
|
149101
149115
|
var CompletionKind = /* @__PURE__ */ ((CompletionKind2) => {
|
|
149102
149116
|
CompletionKind2[CompletionKind2["ObjectPropertyDeclaration"] = 0] = "ObjectPropertyDeclaration";
|
|
149103
149117
|
CompletionKind2[CompletionKind2["Global"] = 1] = "Global";
|
|
@@ -151030,9 +151044,9 @@ function convertStringLiteralCompletions(completion, contextToken, sourceFile, h
|
|
|
151030
151044
|
}
|
|
151031
151045
|
const optionalReplacementSpan = createTextSpanFromStringLiteralLikeContent(contextToken);
|
|
151032
151046
|
switch (completion.kind) {
|
|
151033
|
-
case
|
|
151047
|
+
case 0 /* Paths */:
|
|
151034
151048
|
return convertPathCompletions(completion.paths);
|
|
151035
|
-
case
|
|
151049
|
+
case 1 /* Properties */: {
|
|
151036
151050
|
const entries = createSortedArray();
|
|
151037
151051
|
getCompletionEntriesFromSymbols(
|
|
151038
151052
|
completion.symbols,
|
|
@@ -151054,7 +151068,7 @@ function convertStringLiteralCompletions(completion, contextToken, sourceFile, h
|
|
|
151054
151068
|
);
|
|
151055
151069
|
return { isGlobalCompletion: false, isMemberCompletion: true, isNewIdentifierLocation: completion.hasIndexSignature, optionalReplacementSpan, entries };
|
|
151056
151070
|
}
|
|
151057
|
-
case
|
|
151071
|
+
case 2 /* Types */: {
|
|
151058
151072
|
const entries = completion.types.map((type) => ({
|
|
151059
151073
|
name: type.value,
|
|
151060
151074
|
kindModifiers: "" /* none */,
|
|
@@ -151076,16 +151090,16 @@ function getStringLiteralCompletionDetails(name, sourceFile, position, contextTo
|
|
|
151076
151090
|
}
|
|
151077
151091
|
function stringLiteralCompletionDetails(name, location, completion, sourceFile, checker, cancellationToken) {
|
|
151078
151092
|
switch (completion.kind) {
|
|
151079
|
-
case
|
|
151093
|
+
case 0 /* Paths */: {
|
|
151080
151094
|
const match = find(completion.paths, (p) => p.name === name);
|
|
151081
151095
|
return match && createCompletionDetails(name, kindModifiersFromExtension(match.extension), match.kind, [textPart(name)]);
|
|
151082
151096
|
}
|
|
151083
|
-
case
|
|
151097
|
+
case 1 /* Properties */: {
|
|
151084
151098
|
const match = find(completion.symbols, (s) => s.name === name);
|
|
151085
151099
|
return match && createCompletionDetailsForSymbol(match, checker, sourceFile, location, cancellationToken);
|
|
151086
151100
|
}
|
|
151087
|
-
case
|
|
151088
|
-
return find(completion.types, (t) => t.value === name) ? createCompletionDetails(name, "" /* none */, "
|
|
151101
|
+
case 2 /* Types */:
|
|
151102
|
+
return find(completion.types, (t) => t.value === name) ? createCompletionDetails(name, "" /* none */, "string" /* string */, [textPart(name)]) : void 0;
|
|
151089
151103
|
default:
|
|
151090
151104
|
return Debug.assertNever(completion);
|
|
151091
151105
|
}
|
|
@@ -151130,12 +151144,6 @@ function kindModifiersFromExtension(extension) {
|
|
|
151130
151144
|
return Debug.assertNever(extension);
|
|
151131
151145
|
}
|
|
151132
151146
|
}
|
|
151133
|
-
var StringLiteralCompletionKind = /* @__PURE__ */ ((StringLiteralCompletionKind2) => {
|
|
151134
|
-
StringLiteralCompletionKind2[StringLiteralCompletionKind2["Paths"] = 0] = "Paths";
|
|
151135
|
-
StringLiteralCompletionKind2[StringLiteralCompletionKind2["Properties"] = 1] = "Properties";
|
|
151136
|
-
StringLiteralCompletionKind2[StringLiteralCompletionKind2["Types"] = 2] = "Types";
|
|
151137
|
-
return StringLiteralCompletionKind2;
|
|
151138
|
-
})(StringLiteralCompletionKind || {});
|
|
151139
151147
|
function getStringLiteralCompletionEntries(sourceFile, node, position, typeChecker, compilerOptions, host, preferences) {
|
|
151140
151148
|
const parent2 = walkUpParentheses(node.parent);
|
|
151141
151149
|
switch (parent2.kind) {
|
|
@@ -151193,6 +151201,10 @@ function getStringLiteralCompletionEntries(sourceFile, node, position, typeCheck
|
|
|
151193
151201
|
case 275 /* ExportDeclaration */:
|
|
151194
151202
|
case 280 /* ExternalModuleReference */:
|
|
151195
151203
|
return { kind: 0 /* Paths */, paths: getStringLiteralCompletionsFromModuleNames(sourceFile, node, compilerOptions, host, typeChecker, preferences) };
|
|
151204
|
+
case 292 /* CaseClause */:
|
|
151205
|
+
const tracker = newCaseClauseTracker(typeChecker, node.parent.parent.clauses);
|
|
151206
|
+
const literals = fromContextualType().types.filter((literal) => !tracker.hasValue(literal.value));
|
|
151207
|
+
return { kind: 2 /* Types */, types: literals, isNewIdentifier: false };
|
|
151196
151208
|
default:
|
|
151197
151209
|
return fromContextualType();
|
|
151198
151210
|
}
|
|
@@ -151288,7 +151300,7 @@ function getStringLiteralCompletionsFromModuleNamesWorker(sourceFile, node, comp
|
|
|
151288
151300
|
const mode = isStringLiteralLike(node) ? getModeForUsageLocation(sourceFile, node) : void 0;
|
|
151289
151301
|
const scriptPath = sourceFile.path;
|
|
151290
151302
|
const scriptDirectory = getDirectoryPath(scriptPath);
|
|
151291
|
-
const extensionOptions = getExtensionOptions(compilerOptions,
|
|
151303
|
+
const extensionOptions = getExtensionOptions(compilerOptions, 1 /* ModuleSpecifier */, sourceFile, typeChecker, preferences, mode);
|
|
151292
151304
|
return isPathRelativeToScript(literalValue) || !compilerOptions.baseUrl && (isRootedDiskPath(literalValue) || isUrl(literalValue)) ? getCompletionEntriesForRelativeModules(literalValue, scriptDirectory, compilerOptions, host, scriptPath, extensionOptions) : getCompletionEntriesForNonRelativeModules(literalValue, scriptDirectory, mode, compilerOptions, host, extensionOptions, typeChecker);
|
|
151293
151305
|
}
|
|
151294
151306
|
function getExtensionOptions(compilerOptions, referenceKind, importingSourceFile, typeChecker, preferences, resolutionMode) {
|
|
@@ -151360,11 +151372,6 @@ function getCompletionEntriesForDirectoryFragmentWithRootDirs(rootDirs, fragment
|
|
|
151360
151372
|
exclude
|
|
151361
151373
|
).values()));
|
|
151362
151374
|
}
|
|
151363
|
-
var ReferenceKind = /* @__PURE__ */ ((ReferenceKind2) => {
|
|
151364
|
-
ReferenceKind2[ReferenceKind2["Filename"] = 0] = "Filename";
|
|
151365
|
-
ReferenceKind2[ReferenceKind2["ModuleSpecifier"] = 1] = "ModuleSpecifier";
|
|
151366
|
-
return ReferenceKind2;
|
|
151367
|
-
})(ReferenceKind || {});
|
|
151368
151375
|
function getCompletionEntriesForDirectoryFragment(fragment, scriptDirectory, extensionOptions, host, moduleSpecifierIsRelative, exclude, result = createNameAndKindSet()) {
|
|
151369
151376
|
var _a2;
|
|
151370
151377
|
if (fragment === void 0) {
|
|
@@ -153134,7 +153141,7 @@ var Core;
|
|
|
153134
153141
|
) || originalSymbol;
|
|
153135
153142
|
const searchMeaning = node ? getIntersectingMeaningFromDeclarations(node, symbol) : 7 /* All */;
|
|
153136
153143
|
const result = [];
|
|
153137
|
-
const state = new State(sourceFiles, sourceFilesSet, node ? getSpecialSearchKind(node) :
|
|
153144
|
+
const state = new State(sourceFiles, sourceFilesSet, node ? getSpecialSearchKind(node) : 0 /* None */, checker, cancellationToken, searchMeaning, options, result);
|
|
153138
153145
|
const exportSpecifier = !isForRenameWithPrefixAndSuffixText(options) || !symbol.declarations ? void 0 : find(symbol.declarations, isExportSpecifier);
|
|
153139
153146
|
if (exportSpecifier) {
|
|
153140
153147
|
getReferencesAtExportSpecifier(
|
|
@@ -153190,14 +153197,14 @@ var Core;
|
|
|
153190
153197
|
switch (node.kind) {
|
|
153191
153198
|
case 173 /* Constructor */:
|
|
153192
153199
|
case 135 /* ConstructorKeyword */:
|
|
153193
|
-
return
|
|
153200
|
+
return 1 /* Constructor */;
|
|
153194
153201
|
case 79 /* Identifier */:
|
|
153195
153202
|
if (isClassLike(node.parent)) {
|
|
153196
153203
|
Debug.assert(node.parent.name === node);
|
|
153197
|
-
return
|
|
153204
|
+
return 2 /* Class */;
|
|
153198
153205
|
}
|
|
153199
153206
|
default:
|
|
153200
|
-
return
|
|
153207
|
+
return 0 /* None */;
|
|
153201
153208
|
}
|
|
153202
153209
|
}
|
|
153203
153210
|
function skipPastExportOrImportSpecifierOrUnion(symbol, node, checker, useLocalSymbolForExportSpecifier) {
|
|
@@ -160126,10 +160133,10 @@ function getPossibleExtractions(targetRange, context) {
|
|
|
160126
160133
|
const scopeDescription = isFunctionLikeDeclaration(scope) ? getDescriptionForFunctionLikeDeclaration(scope) : isClassLike(scope) ? getDescriptionForClassLikeDeclaration(scope) : getDescriptionForModuleLikeDeclaration(scope);
|
|
160127
160134
|
let functionDescription;
|
|
160128
160135
|
let constantDescription;
|
|
160129
|
-
if (scopeDescription ===
|
|
160136
|
+
if (scopeDescription === 1 /* Global */) {
|
|
160130
160137
|
functionDescription = formatStringFromArgs(getLocaleSpecificMessage(Diagnostics.Extract_to_0_in_1_scope), [functionDescriptionPart, "global"]);
|
|
160131
160138
|
constantDescription = formatStringFromArgs(getLocaleSpecificMessage(Diagnostics.Extract_to_0_in_1_scope), [constantDescriptionPart, "global"]);
|
|
160132
|
-
} else if (scopeDescription ===
|
|
160139
|
+
} else if (scopeDescription === 0 /* Module */) {
|
|
160133
160140
|
functionDescription = formatStringFromArgs(getLocaleSpecificMessage(Diagnostics.Extract_to_0_in_1_scope), [functionDescriptionPart, "module"]);
|
|
160134
160141
|
constantDescription = formatStringFromArgs(getLocaleSpecificMessage(Diagnostics.Extract_to_0_in_1_scope), [constantDescriptionPart, "module"]);
|
|
160135
160142
|
} else {
|
|
@@ -160195,13 +160202,8 @@ function getDescriptionForClassLikeDeclaration(scope) {
|
|
|
160195
160202
|
return scope.kind === 260 /* ClassDeclaration */ ? scope.name ? `class '${scope.name.text}'` : "anonymous class declaration" : scope.name ? `class expression '${scope.name.text}'` : "anonymous class expression";
|
|
160196
160203
|
}
|
|
160197
160204
|
function getDescriptionForModuleLikeDeclaration(scope) {
|
|
160198
|
-
return scope.kind === 265 /* ModuleBlock */ ? `namespace '${scope.parent.name.getText()}'` : scope.externalModuleIndicator ?
|
|
160205
|
+
return scope.kind === 265 /* ModuleBlock */ ? `namespace '${scope.parent.name.getText()}'` : scope.externalModuleIndicator ? 0 /* Module */ : 1 /* Global */;
|
|
160199
160206
|
}
|
|
160200
|
-
var SpecialScope = /* @__PURE__ */ ((SpecialScope2) => {
|
|
160201
|
-
SpecialScope2[SpecialScope2["Module"] = 0] = "Module";
|
|
160202
|
-
SpecialScope2[SpecialScope2["Global"] = 1] = "Global";
|
|
160203
|
-
return SpecialScope2;
|
|
160204
|
-
})(SpecialScope || {});
|
|
160205
160207
|
function extractFunctionInScope(node, scope, { usages: usagesInScope, typeParameterUsages, substitutions }, exposedVariableDeclarations, range, context) {
|
|
160206
160208
|
const checker = context.program.getTypeChecker();
|
|
160207
160209
|
const scriptTarget = getEmitScriptTarget(context.program.getCompilerOptions());
|
|
@@ -160233,7 +160235,7 @@ function extractFunctionInScope(node, scope, { usages: usagesInScope, typeParame
|
|
|
160233
160235
|
typeNode
|
|
160234
160236
|
);
|
|
160235
160237
|
parameters.push(paramDecl);
|
|
160236
|
-
if (usage.usage ===
|
|
160238
|
+
if (usage.usage === 2 /* Write */) {
|
|
160237
160239
|
(writes || (writes = [])).push(usage);
|
|
160238
160240
|
}
|
|
160239
160241
|
callArguments.push(factory.createIdentifier(name));
|
|
@@ -160885,11 +160887,6 @@ function isReadonlyArray(v) {
|
|
|
160885
160887
|
function getEnclosingTextRange(targetRange, sourceFile) {
|
|
160886
160888
|
return isReadonlyArray(targetRange.range) ? { pos: first(targetRange.range).getStart(sourceFile), end: last(targetRange.range).getEnd() } : targetRange.range;
|
|
160887
160889
|
}
|
|
160888
|
-
var Usage = /* @__PURE__ */ ((Usage2) => {
|
|
160889
|
-
Usage2[Usage2["Read"] = 1] = "Read";
|
|
160890
|
-
Usage2[Usage2["Write"] = 2] = "Write";
|
|
160891
|
-
return Usage2;
|
|
160892
|
-
})(Usage || {});
|
|
160893
160890
|
function collectReadsAndWrites(targetRange, scopes, enclosingTextRange, sourceFile, checker, cancellationToken) {
|
|
160894
160891
|
const allTypeParameterUsages = /* @__PURE__ */ new Map();
|
|
160895
160892
|
const usagesPerScope = [];
|
|
@@ -161538,13 +161535,8 @@ function getSignatureHelpItems(program, sourceFile, position, triggerReason, can
|
|
|
161538
161535
|
if (!candidateInfo) {
|
|
161539
161536
|
return isSourceFileJS(sourceFile) ? createJSSignatureHelpItems(argumentInfo, program, cancellationToken) : void 0;
|
|
161540
161537
|
}
|
|
161541
|
-
return typeChecker.runWithCancellationToken(cancellationToken, (typeChecker2) => candidateInfo.kind ===
|
|
161538
|
+
return typeChecker.runWithCancellationToken(cancellationToken, (typeChecker2) => candidateInfo.kind === 0 /* Candidate */ ? createSignatureHelpItems(candidateInfo.candidates, candidateInfo.resolvedSignature, argumentInfo, sourceFile, typeChecker2) : createTypeHelpItems(candidateInfo.symbol, argumentInfo, sourceFile, typeChecker2));
|
|
161542
161539
|
}
|
|
161543
|
-
var CandidateOrTypeKind = /* @__PURE__ */ ((CandidateOrTypeKind2) => {
|
|
161544
|
-
CandidateOrTypeKind2[CandidateOrTypeKind2["Candidate"] = 0] = "Candidate";
|
|
161545
|
-
CandidateOrTypeKind2[CandidateOrTypeKind2["Type"] = 1] = "Type";
|
|
161546
|
-
return CandidateOrTypeKind2;
|
|
161547
|
-
})(CandidateOrTypeKind || {});
|
|
161548
161540
|
function getCandidateOrTypeInfo({ invocation, argumentCount }, checker, sourceFile, startingToken, onlyUseSyntacticOwners) {
|
|
161549
161541
|
switch (invocation.kind) {
|
|
161550
161542
|
case 0 /* Call */: {
|
|
@@ -165955,7 +165947,7 @@ function formatSpanWorker(originalRange, enclosingNode, initialIndentation, delt
|
|
|
165955
165947
|
if (currentTokenInfo.leadingTrivia) {
|
|
165956
165948
|
processTrivia(currentTokenInfo.leadingTrivia, parent2, childContextNode, dynamicIndentation);
|
|
165957
165949
|
}
|
|
165958
|
-
let lineAction =
|
|
165950
|
+
let lineAction = 0 /* None */;
|
|
165959
165951
|
const isTokenInRange = rangeContainsRange(originalRange, currentTokenInfo.token);
|
|
165960
165952
|
const tokenStart = sourceFile.getLineAndCharacterOfPosition(currentTokenInfo.token.pos);
|
|
165961
165953
|
if (isTokenInRange) {
|
|
@@ -165963,11 +165955,11 @@ function formatSpanWorker(originalRange, enclosingNode, initialIndentation, delt
|
|
|
165963
165955
|
const savePreviousRange = previousRange;
|
|
165964
165956
|
lineAction = processRange(currentTokenInfo.token, tokenStart, parent2, childContextNode, dynamicIndentation);
|
|
165965
165957
|
if (!rangeHasError) {
|
|
165966
|
-
if (lineAction ===
|
|
165958
|
+
if (lineAction === 0 /* None */) {
|
|
165967
165959
|
const prevEndLine = savePreviousRange && sourceFile.getLineAndCharacterOfPosition(savePreviousRange.end).line;
|
|
165968
165960
|
indentToken = lastTriviaWasNewLine && tokenStart.line !== prevEndLine;
|
|
165969
165961
|
} else {
|
|
165970
|
-
indentToken = lineAction ===
|
|
165962
|
+
indentToken = lineAction === 1 /* LineAdded */;
|
|
165971
165963
|
}
|
|
165972
165964
|
}
|
|
165973
165965
|
}
|
|
@@ -165993,7 +165985,7 @@ function formatSpanWorker(originalRange, enclosingNode, initialIndentation, delt
|
|
|
165993
165985
|
);
|
|
165994
165986
|
}
|
|
165995
165987
|
if (tokenIndentation !== -1 /* Unknown */ && indentNextTokenOrTrivia) {
|
|
165996
|
-
insertIndentation(currentTokenInfo.token.pos, tokenIndentation, lineAction ===
|
|
165988
|
+
insertIndentation(currentTokenInfo.token.pos, tokenIndentation, lineAction === 1 /* LineAdded */);
|
|
165997
165989
|
lastIndentedLine = tokenStart.line;
|
|
165998
165990
|
indentationOnLastIndentedLine = tokenIndentation;
|
|
165999
165991
|
}
|
|
@@ -166040,7 +166032,7 @@ function formatSpanWorker(originalRange, enclosingNode, initialIndentation, delt
|
|
|
166040
166032
|
}
|
|
166041
166033
|
function processRange(range, rangeStart, parent2, contextNode, dynamicIndentation) {
|
|
166042
166034
|
const rangeHasError = rangeContainsError(range);
|
|
166043
|
-
let lineAction =
|
|
166035
|
+
let lineAction = 0 /* None */;
|
|
166044
166036
|
if (!rangeHasError) {
|
|
166045
166037
|
if (!previousRange) {
|
|
166046
166038
|
const originalStart = sourceFile.getLineAndCharacterOfPosition(originalRange.pos);
|
|
@@ -166059,13 +166051,13 @@ function formatSpanWorker(originalRange, enclosingNode, initialIndentation, delt
|
|
|
166059
166051
|
formattingContext.updateContext(previousItem, previousParent2, currentItem, currentParent, contextNode);
|
|
166060
166052
|
const rules = getRules(formattingContext);
|
|
166061
166053
|
let trimTrailingWhitespaces = formattingContext.options.trimTrailingWhitespace !== false;
|
|
166062
|
-
let lineAction =
|
|
166054
|
+
let lineAction = 0 /* None */;
|
|
166063
166055
|
if (rules) {
|
|
166064
166056
|
forEachRight(rules, (rule2) => {
|
|
166065
166057
|
lineAction = applyRuleEdits(rule2, previousItem, previousStartLine, currentItem, currentStartLine);
|
|
166066
166058
|
if (dynamicIndentation) {
|
|
166067
166059
|
switch (lineAction) {
|
|
166068
|
-
case
|
|
166060
|
+
case 2 /* LineRemoved */:
|
|
166069
166061
|
if (currentParent.getStart(sourceFile) === currentItem.pos) {
|
|
166070
166062
|
dynamicIndentation.recomputeIndentation(
|
|
166071
166063
|
/*lineAddedByFormatting*/
|
|
@@ -166074,7 +166066,7 @@ function formatSpanWorker(originalRange, enclosingNode, initialIndentation, delt
|
|
|
166074
166066
|
);
|
|
166075
166067
|
}
|
|
166076
166068
|
break;
|
|
166077
|
-
case
|
|
166069
|
+
case 1 /* LineAdded */:
|
|
166078
166070
|
if (currentParent.getStart(sourceFile) === currentItem.pos) {
|
|
166079
166071
|
dynamicIndentation.recomputeIndentation(
|
|
166080
166072
|
/*lineAddedByFormatting*/
|
|
@@ -166084,7 +166076,7 @@ function formatSpanWorker(originalRange, enclosingNode, initialIndentation, delt
|
|
|
166084
166076
|
}
|
|
166085
166077
|
break;
|
|
166086
166078
|
default:
|
|
166087
|
-
Debug.assert(lineAction ===
|
|
166079
|
+
Debug.assert(lineAction === 0 /* None */);
|
|
166088
166080
|
}
|
|
166089
166081
|
}
|
|
166090
166082
|
trimTrailingWhitespaces = trimTrailingWhitespaces && !(rule2.action & 16 /* DeleteSpace */) && rule2.flags !== 1 /* CanDeleteNewLines */;
|
|
@@ -166231,11 +166223,11 @@ function formatSpanWorker(originalRange, enclosingNode, initialIndentation, delt
|
|
|
166231
166223
|
const onLaterLine = currentStartLine !== previousStartLine;
|
|
166232
166224
|
switch (rule2.action) {
|
|
166233
166225
|
case 1 /* StopProcessingSpaceActions */:
|
|
166234
|
-
return
|
|
166226
|
+
return 0 /* None */;
|
|
166235
166227
|
case 16 /* DeleteSpace */:
|
|
166236
166228
|
if (previousRange2.end !== currentRange.pos) {
|
|
166237
166229
|
recordDelete(previousRange2.end, currentRange.pos - previousRange2.end);
|
|
166238
|
-
return onLaterLine ?
|
|
166230
|
+
return onLaterLine ? 2 /* LineRemoved */ : 0 /* None */;
|
|
166239
166231
|
}
|
|
166240
166232
|
break;
|
|
166241
166233
|
case 32 /* DeleteToken */:
|
|
@@ -166243,36 +166235,30 @@ function formatSpanWorker(originalRange, enclosingNode, initialIndentation, delt
|
|
|
166243
166235
|
break;
|
|
166244
166236
|
case 8 /* InsertNewLine */:
|
|
166245
166237
|
if (rule2.flags !== 1 /* CanDeleteNewLines */ && previousStartLine !== currentStartLine) {
|
|
166246
|
-
return
|
|
166238
|
+
return 0 /* None */;
|
|
166247
166239
|
}
|
|
166248
166240
|
const lineDelta = currentStartLine - previousStartLine;
|
|
166249
166241
|
if (lineDelta !== 1) {
|
|
166250
166242
|
recordReplace(previousRange2.end, currentRange.pos - previousRange2.end, getNewLineOrDefaultFromHost(host, options));
|
|
166251
|
-
return onLaterLine ?
|
|
166243
|
+
return onLaterLine ? 0 /* None */ : 1 /* LineAdded */;
|
|
166252
166244
|
}
|
|
166253
166245
|
break;
|
|
166254
166246
|
case 4 /* InsertSpace */:
|
|
166255
166247
|
if (rule2.flags !== 1 /* CanDeleteNewLines */ && previousStartLine !== currentStartLine) {
|
|
166256
|
-
return
|
|
166248
|
+
return 0 /* None */;
|
|
166257
166249
|
}
|
|
166258
166250
|
const posDelta = currentRange.pos - previousRange2.end;
|
|
166259
166251
|
if (posDelta !== 1 || sourceFile.text.charCodeAt(previousRange2.end) !== 32 /* space */) {
|
|
166260
166252
|
recordReplace(previousRange2.end, currentRange.pos - previousRange2.end, " ");
|
|
166261
|
-
return onLaterLine ?
|
|
166253
|
+
return onLaterLine ? 2 /* LineRemoved */ : 0 /* None */;
|
|
166262
166254
|
}
|
|
166263
166255
|
break;
|
|
166264
166256
|
case 64 /* InsertTrailingSemicolon */:
|
|
166265
166257
|
recordInsert(previousRange2.end, ";");
|
|
166266
166258
|
}
|
|
166267
|
-
return
|
|
166259
|
+
return 0 /* None */;
|
|
166268
166260
|
}
|
|
166269
166261
|
}
|
|
166270
|
-
var LineAction = /* @__PURE__ */ ((LineAction2) => {
|
|
166271
|
-
LineAction2[LineAction2["None"] = 0] = "None";
|
|
166272
|
-
LineAction2[LineAction2["LineAdded"] = 1] = "LineAdded";
|
|
166273
|
-
LineAction2[LineAction2["LineRemoved"] = 2] = "LineRemoved";
|
|
166274
|
-
return LineAction2;
|
|
166275
|
-
})(LineAction || {});
|
|
166276
166262
|
function getRangeOfEnclosingComment(sourceFile, position, precedingToken, tokenAtPosition = getTokenAtPosition(sourceFile, position)) {
|
|
166277
166263
|
const jsdoc = findAncestor(tokenAtPosition, isJSDoc);
|
|
166278
166264
|
if (jsdoc)
|
|
@@ -166495,7 +166481,7 @@ var SmartIndenter;
|
|
|
166495
166481
|
)) {
|
|
166496
166482
|
const currentStart = getStartLineAndCharacterForNode(current, sourceFile);
|
|
166497
166483
|
const nextTokenKind = nextTokenIsCurlyBraceOnSameLineAsCursor(precedingToken, current, lineAtPosition, sourceFile);
|
|
166498
|
-
const indentationDelta = nextTokenKind !==
|
|
166484
|
+
const indentationDelta = nextTokenKind !== 0 /* Unknown */ ? assumeNewLineBeforeCloseBrace && nextTokenKind === 2 /* CloseBrace */ ? options.indentSize : 0 : lineAtPosition !== currentStart.line ? options.indentSize : 0;
|
|
166499
166485
|
return getIndentationForNodeWorker(
|
|
166500
166486
|
current,
|
|
166501
166487
|
currentStart,
|
|
@@ -168748,6 +168734,7 @@ __export(ts_exports3, {
|
|
|
168748
168734
|
mutateMapSkippingNewValues: () => mutateMapSkippingNewValues,
|
|
168749
168735
|
needsParentheses: () => needsParentheses,
|
|
168750
168736
|
needsScopeMarker: () => needsScopeMarker,
|
|
168737
|
+
newCaseClauseTracker: () => newCaseClauseTracker,
|
|
168751
168738
|
newPrivateEnvironment: () => newPrivateEnvironment,
|
|
168752
168739
|
noEmitNotification: () => noEmitNotification,
|
|
168753
168740
|
noEmitSubstitution: () => noEmitSubstitution,
|
|
@@ -176380,6 +176367,10 @@ function getPerProjectReferences(projects, defaultProject, initialLocation, isFo
|
|
|
176380
176367
|
continue;
|
|
176381
176368
|
if (isLocationProjectReferenceRedirect(project, location))
|
|
176382
176369
|
continue;
|
|
176370
|
+
updateProjectIfDirty(project);
|
|
176371
|
+
if (!project.containsFile(toNormalizedPath(location.fileName))) {
|
|
176372
|
+
continue;
|
|
176373
|
+
}
|
|
176383
176374
|
const projectResults = searchPosition(project, location);
|
|
176384
176375
|
resultsMap.set(project, projectResults != null ? projectResults : emptyArray2);
|
|
176385
176376
|
searchedProjectKeys.add(getProjectKey(project));
|
|
@@ -182692,6 +182683,7 @@ start(initializeNodeSystem(), require("os").platform());
|
|
|
182692
182683
|
mutateMapSkippingNewValues,
|
|
182693
182684
|
needsParentheses,
|
|
182694
182685
|
needsScopeMarker,
|
|
182686
|
+
newCaseClauseTracker,
|
|
182695
182687
|
newPrivateEnvironment,
|
|
182696
182688
|
noEmitNotification,
|
|
182697
182689
|
noEmitSubstitution,
|