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.
@@ -35,7 +35,7 @@ var ts = (() => {
35
35
  "src/compiler/corePublic.ts"() {
36
36
  "use strict";
37
37
  versionMajorMinor = "5.0";
38
- version = `${versionMajorMinor}.0-dev.20230205`;
38
+ version = `${versionMajorMinor}.0-dev.20230207`;
39
39
  Comparison = /* @__PURE__ */ ((Comparison3) => {
40
40
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
41
41
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -5492,7 +5492,7 @@ ${lanes.join("\n")}
5492
5492
  function createDirectoryWatcher(dirName, dirPath, fallbackOptions) {
5493
5493
  const watcher = fsWatch(
5494
5494
  dirName,
5495
- FileSystemEntryKind.Directory,
5495
+ 1 /* Directory */,
5496
5496
  (_eventName, relativeFileName, modifiedTime) => {
5497
5497
  if (!isString(relativeFileName))
5498
5498
  return;
@@ -5690,7 +5690,7 @@ ${lanes.join("\n")}
5690
5690
  }
5691
5691
  function nonSyncUpdateChildWatches(dirName, dirPath, fileName, options) {
5692
5692
  const parentWatcher = cache.get(dirPath);
5693
- if (parentWatcher && fileSystemEntryExists(dirName, FileSystemEntryKind.Directory)) {
5693
+ if (parentWatcher && fileSystemEntryExists(dirName, 1 /* Directory */)) {
5694
5694
  scheduleUpdateChildWatches(dirName, dirPath, fileName, options);
5695
5695
  return;
5696
5696
  }
@@ -5755,7 +5755,7 @@ ${lanes.join("\n")}
5755
5755
  return false;
5756
5756
  let newChildWatches;
5757
5757
  const hasChanges = enumerateInsertsAndDeletes(
5758
- fileSystemEntryExists(parentDir, FileSystemEntryKind.Directory) ? mapDefined(getAccessibleSortedChildDirectories(parentDir), (child) => {
5758
+ fileSystemEntryExists(parentDir, 1 /* Directory */) ? mapDefined(getAccessibleSortedChildDirectories(parentDir), (child) => {
5759
5759
  const childFullName = getNormalizedAbsolutePath(child, parentDir);
5760
5760
  return !isIgnoredPath(childFullName, options) && filePathComparer(childFullName, normalizePath(realpath(childFullName))) === 0 /* EqualTo */ ? childFullName : void 0;
5761
5761
  }) : emptyArray,
@@ -8559,6 +8559,10 @@ ${lanes.join("\n")}
8559
8559
  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."),
8560
8560
  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`."),
8561
8561
  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."),
8562
+ Entering_conditional_exports: diag(6413, 3 /* Message */, "Entering_conditional_exports_6413", "Entering conditional exports."),
8563
+ Resolved_under_condition_0: diag(6414, 3 /* Message */, "Resolved_under_condition_0_6414", "Resolved under condition '{0}'."),
8564
+ Failed_to_resolve_under_condition_0: diag(6415, 3 /* Message */, "Failed_to_resolve_under_condition_0_6415", "Failed to resolve under condition '{0}'."),
8565
+ Exiting_conditional_exports: diag(6416, 3 /* Message */, "Exiting_conditional_exports_6416", "Exiting conditional exports."),
8562
8566
  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}'"),
8563
8567
  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."),
8564
8568
  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."),
@@ -17051,10 +17055,10 @@ ${lanes.join("\n")}
17051
17055
  return symbol.exportSymbol ? symbol.exportSymbol.flags | symbol.flags : symbol.flags;
17052
17056
  }
17053
17057
  function isWriteOnlyAccess(node) {
17054
- return accessKind(node) === AccessKind.Write;
17058
+ return accessKind(node) === 1 /* Write */;
17055
17059
  }
17056
17060
  function isWriteAccess(node) {
17057
- return accessKind(node) !== AccessKind.Read;
17061
+ return accessKind(node) !== 0 /* Read */;
17058
17062
  }
17059
17063
  function accessKind(node) {
17060
17064
  const { parent: parent2 } = node;
@@ -18721,7 +18725,7 @@ ${lanes.join("\n")}
18721
18725
  const tag = getJSDocSatisfiesTag(node);
18722
18726
  return tag && tag.typeExpression && tag.typeExpression.type;
18723
18727
  }
18724
- var resolvingEmptyArray, externalHelpersModuleNameText, defaultMaximumTruncationLength, noTruncationMaximumTruncationLength, stringWriter, GetLiteralTextFlags, fullTripleSlashReferencePathRegEx, fullTripleSlashReferenceTypeReferenceDirectiveRegEx, fullTripleSlashAMDReferencePathRegEx, defaultLibReferenceRegEx, AssignmentKind, FunctionFlags, Associativity, OperatorPrecedence, templateSubstitutionRegExp, doubleQuoteEscapedCharsRegExp, singleQuoteEscapedCharsRegExp, backtickQuoteEscapedCharsRegExp, escapedCharsMap, nonAsciiCharacters, jsxDoubleQuoteEscapedCharsRegExp, jsxSingleQuoteEscapedCharsRegExp, jsxEscapedCharsMap, indentStrings, base64Digits, carriageReturnLineFeed, lineFeed, AccessKind, objectAllocator, objectAllocatorPatchers, localizedDiagnosticMessages, reservedCharacterPattern, wildcardCharCodes, commonPackageFolders, implicitExcludePathRegexPattern, filesMatcher, directoriesMatcher, excludeMatcher, wildcardMatchers, supportedTSExtensions, supportedTSExtensionsFlat, supportedTSExtensionsWithJson, supportedTSExtensionsForExtractExtension, supportedJSExtensions, supportedJSExtensionsFlat, allSupportedExtensions, allSupportedExtensionsWithJson, supportedDeclarationExtensions, supportedTSImplementationExtensions, ModuleSpecifierEnding, extensionsToRemove, emptyFileSystemEntries;
18728
+ var resolvingEmptyArray, externalHelpersModuleNameText, defaultMaximumTruncationLength, noTruncationMaximumTruncationLength, stringWriter, GetLiteralTextFlags, fullTripleSlashReferencePathRegEx, fullTripleSlashReferenceTypeReferenceDirectiveRegEx, fullTripleSlashAMDReferencePathRegEx, defaultLibReferenceRegEx, AssignmentKind, FunctionFlags, Associativity, OperatorPrecedence, templateSubstitutionRegExp, doubleQuoteEscapedCharsRegExp, singleQuoteEscapedCharsRegExp, backtickQuoteEscapedCharsRegExp, escapedCharsMap, nonAsciiCharacters, jsxDoubleQuoteEscapedCharsRegExp, jsxSingleQuoteEscapedCharsRegExp, jsxEscapedCharsMap, indentStrings, base64Digits, carriageReturnLineFeed, lineFeed, objectAllocator, objectAllocatorPatchers, localizedDiagnosticMessages, reservedCharacterPattern, wildcardCharCodes, commonPackageFolders, implicitExcludePathRegexPattern, filesMatcher, directoriesMatcher, excludeMatcher, wildcardMatchers, supportedTSExtensions, supportedTSExtensionsFlat, supportedTSExtensionsWithJson, supportedTSExtensionsForExtractExtension, supportedJSExtensions, supportedJSExtensionsFlat, allSupportedExtensions, allSupportedExtensionsWithJson, supportedDeclarationExtensions, supportedTSImplementationExtensions, ModuleSpecifierEnding, extensionsToRemove, emptyFileSystemEntries;
18725
18729
  var init_utilities = __esm({
18726
18730
  "src/compiler/utilities.ts"() {
18727
18731
  "use strict";
@@ -18825,12 +18829,6 @@ ${lanes.join("\n")}
18825
18829
  base64Digits = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
18826
18830
  carriageReturnLineFeed = "\r\n";
18827
18831
  lineFeed = "\n";
18828
- AccessKind = /* @__PURE__ */ ((AccessKind2) => {
18829
- AccessKind2[AccessKind2["Read"] = 0] = "Read";
18830
- AccessKind2[AccessKind2["Write"] = 1] = "Write";
18831
- AccessKind2[AccessKind2["ReadWrite"] = 2] = "ReadWrite";
18832
- return AccessKind2;
18833
- })(AccessKind || {});
18834
18832
  objectAllocator = {
18835
18833
  getNodeConstructor: () => Node4,
18836
18834
  getTokenConstructor: () => Token,
@@ -28298,7 +28296,7 @@ ${lanes.join("\n")}
28298
28296
  }
28299
28297
  sourceFlags = contextFlags;
28300
28298
  nextToken();
28301
- const statements = parseList(ParsingContext.SourceElements, parseStatement);
28299
+ const statements = parseList(0 /* SourceElements */, parseStatement);
28302
28300
  Debug.assert(token() === 1 /* EndOfFileToken */);
28303
28301
  const endOfFileToken = addJSDocComment(parseTokenNode());
28304
28302
  const sourceFile = createSourceFile2(fileName, languageVersion2, scriptKind2, isDeclarationFile, statements, endOfFileToken, sourceFlags, setExternalModuleIndicator2);
@@ -28361,7 +28359,7 @@ ${lanes.join("\n")}
28361
28359
  nextToken();
28362
28360
  while (token() !== 1 /* EndOfFileToken */) {
28363
28361
  const startPos = scanner2.getStartPos();
28364
- const statement = parseListElement(ParsingContext.SourceElements, parseStatement);
28362
+ const statement = parseListElement(0 /* SourceElements */, parseStatement);
28365
28363
  statements.push(statement);
28366
28364
  if (startPos === scanner2.getStartPos()) {
28367
28365
  nextToken();
@@ -29048,19 +29046,19 @@ ${lanes.join("\n")}
29048
29046
  return true;
29049
29047
  }
29050
29048
  switch (parsingContext2) {
29051
- case ParsingContext.SourceElements:
29052
- case ParsingContext.BlockStatements:
29053
- case ParsingContext.SwitchClauseStatements:
29049
+ case 0 /* SourceElements */:
29050
+ case 1 /* BlockStatements */:
29051
+ case 3 /* SwitchClauseStatements */:
29054
29052
  return !(token() === 26 /* SemicolonToken */ && inErrorRecovery) && isStartOfStatement();
29055
- case ParsingContext.SwitchClauses:
29053
+ case 2 /* SwitchClauses */:
29056
29054
  return token() === 82 /* CaseKeyword */ || token() === 88 /* DefaultKeyword */;
29057
- case ParsingContext.TypeMembers:
29055
+ case 4 /* TypeMembers */:
29058
29056
  return lookAhead(isTypeMemberStart);
29059
- case ParsingContext.ClassMembers:
29057
+ case 5 /* ClassMembers */:
29060
29058
  return lookAhead(isClassMemberStart) || token() === 26 /* SemicolonToken */ && !inErrorRecovery;
29061
- case ParsingContext.EnumMembers:
29059
+ case 6 /* EnumMembers */:
29062
29060
  return token() === 22 /* OpenBracketToken */ || isLiteralPropertyName();
29063
- case ParsingContext.ObjectLiteralMembers:
29061
+ case 12 /* ObjectLiteralMembers */:
29064
29062
  switch (token()) {
29065
29063
  case 22 /* OpenBracketToken */:
29066
29064
  case 41 /* AsteriskToken */:
@@ -29070,13 +29068,13 @@ ${lanes.join("\n")}
29070
29068
  default:
29071
29069
  return isLiteralPropertyName();
29072
29070
  }
29073
- case ParsingContext.RestProperties:
29071
+ case 18 /* RestProperties */:
29074
29072
  return isLiteralPropertyName();
29075
- case ParsingContext.ObjectBindingElements:
29073
+ case 9 /* ObjectBindingElements */:
29076
29074
  return token() === 22 /* OpenBracketToken */ || token() === 25 /* DotDotDotToken */ || isLiteralPropertyName();
29077
- case ParsingContext.AssertEntries:
29075
+ case 24 /* AssertEntries */:
29078
29076
  return isAssertionKey2();
29079
- case ParsingContext.HeritageClauseElement:
29077
+ case 7 /* HeritageClauseElement */:
29080
29078
  if (token() === 18 /* OpenBraceToken */) {
29081
29079
  return lookAhead(isValidHeritageClauseObjectLiteral);
29082
29080
  }
@@ -29085,40 +29083,40 @@ ${lanes.join("\n")}
29085
29083
  } else {
29086
29084
  return isIdentifier2() && !isHeritageClauseExtendsOrImplementsKeyword();
29087
29085
  }
29088
- case ParsingContext.VariableDeclarations:
29086
+ case 8 /* VariableDeclarations */:
29089
29087
  return isBindingIdentifierOrPrivateIdentifierOrPattern();
29090
- case ParsingContext.ArrayBindingElements:
29088
+ case 10 /* ArrayBindingElements */:
29091
29089
  return token() === 27 /* CommaToken */ || token() === 25 /* DotDotDotToken */ || isBindingIdentifierOrPrivateIdentifierOrPattern();
29092
- case ParsingContext.TypeParameters:
29090
+ case 19 /* TypeParameters */:
29093
29091
  return token() === 101 /* InKeyword */ || token() === 85 /* ConstKeyword */ || isIdentifier2();
29094
- case ParsingContext.ArrayLiteralMembers:
29092
+ case 15 /* ArrayLiteralMembers */:
29095
29093
  switch (token()) {
29096
29094
  case 27 /* CommaToken */:
29097
29095
  case 24 /* DotToken */:
29098
29096
  return true;
29099
29097
  }
29100
- case ParsingContext.ArgumentExpressions:
29098
+ case 11 /* ArgumentExpressions */:
29101
29099
  return token() === 25 /* DotDotDotToken */ || isStartOfExpression();
29102
- case ParsingContext.Parameters:
29100
+ case 16 /* Parameters */:
29103
29101
  return isStartOfParameter(
29104
29102
  /*isJSDocParameter*/
29105
29103
  false
29106
29104
  );
29107
- case ParsingContext.JSDocParameters:
29105
+ case 17 /* JSDocParameters */:
29108
29106
  return isStartOfParameter(
29109
29107
  /*isJSDocParameter*/
29110
29108
  true
29111
29109
  );
29112
- case ParsingContext.TypeArguments:
29113
- case ParsingContext.TupleElementTypes:
29110
+ case 20 /* TypeArguments */:
29111
+ case 21 /* TupleElementTypes */:
29114
29112
  return token() === 27 /* CommaToken */ || isStartOfType();
29115
- case ParsingContext.HeritageClauses:
29113
+ case 22 /* HeritageClauses */:
29116
29114
  return isHeritageClause2();
29117
- case ParsingContext.ImportOrExportSpecifiers:
29115
+ case 23 /* ImportOrExportSpecifiers */:
29118
29116
  return tokenIsIdentifierOrKeyword(token());
29119
- case ParsingContext.JsxAttributes:
29117
+ case 13 /* JsxAttributes */:
29120
29118
  return tokenIsIdentifierOrKeyword(token()) || token() === 18 /* OpenBraceToken */;
29121
- case ParsingContext.JsxChildren:
29119
+ case 14 /* JsxChildren */:
29122
29120
  return true;
29123
29121
  }
29124
29122
  return Debug.fail("Non-exhaustive case in 'isListElement'.");
@@ -29162,41 +29160,41 @@ ${lanes.join("\n")}
29162
29160
  return true;
29163
29161
  }
29164
29162
  switch (kind) {
29165
- case ParsingContext.BlockStatements:
29166
- case ParsingContext.SwitchClauses:
29167
- case ParsingContext.TypeMembers:
29168
- case ParsingContext.ClassMembers:
29169
- case ParsingContext.EnumMembers:
29170
- case ParsingContext.ObjectLiteralMembers:
29171
- case ParsingContext.ObjectBindingElements:
29172
- case ParsingContext.ImportOrExportSpecifiers:
29173
- case ParsingContext.AssertEntries:
29163
+ case 1 /* BlockStatements */:
29164
+ case 2 /* SwitchClauses */:
29165
+ case 4 /* TypeMembers */:
29166
+ case 5 /* ClassMembers */:
29167
+ case 6 /* EnumMembers */:
29168
+ case 12 /* ObjectLiteralMembers */:
29169
+ case 9 /* ObjectBindingElements */:
29170
+ case 23 /* ImportOrExportSpecifiers */:
29171
+ case 24 /* AssertEntries */:
29174
29172
  return token() === 19 /* CloseBraceToken */;
29175
- case ParsingContext.SwitchClauseStatements:
29173
+ case 3 /* SwitchClauseStatements */:
29176
29174
  return token() === 19 /* CloseBraceToken */ || token() === 82 /* CaseKeyword */ || token() === 88 /* DefaultKeyword */;
29177
- case ParsingContext.HeritageClauseElement:
29175
+ case 7 /* HeritageClauseElement */:
29178
29176
  return token() === 18 /* OpenBraceToken */ || token() === 94 /* ExtendsKeyword */ || token() === 117 /* ImplementsKeyword */;
29179
- case ParsingContext.VariableDeclarations:
29177
+ case 8 /* VariableDeclarations */:
29180
29178
  return isVariableDeclaratorListTerminator();
29181
- case ParsingContext.TypeParameters:
29179
+ case 19 /* TypeParameters */:
29182
29180
  return token() === 31 /* GreaterThanToken */ || token() === 20 /* OpenParenToken */ || token() === 18 /* OpenBraceToken */ || token() === 94 /* ExtendsKeyword */ || token() === 117 /* ImplementsKeyword */;
29183
- case ParsingContext.ArgumentExpressions:
29181
+ case 11 /* ArgumentExpressions */:
29184
29182
  return token() === 21 /* CloseParenToken */ || token() === 26 /* SemicolonToken */;
29185
- case ParsingContext.ArrayLiteralMembers:
29186
- case ParsingContext.TupleElementTypes:
29187
- case ParsingContext.ArrayBindingElements:
29183
+ case 15 /* ArrayLiteralMembers */:
29184
+ case 21 /* TupleElementTypes */:
29185
+ case 10 /* ArrayBindingElements */:
29188
29186
  return token() === 23 /* CloseBracketToken */;
29189
- case ParsingContext.JSDocParameters:
29190
- case ParsingContext.Parameters:
29191
- case ParsingContext.RestProperties:
29187
+ case 17 /* JSDocParameters */:
29188
+ case 16 /* Parameters */:
29189
+ case 18 /* RestProperties */:
29192
29190
  return token() === 21 /* CloseParenToken */ || token() === 23 /* CloseBracketToken */;
29193
- case ParsingContext.TypeArguments:
29191
+ case 20 /* TypeArguments */:
29194
29192
  return token() !== 27 /* CommaToken */;
29195
- case ParsingContext.HeritageClauses:
29193
+ case 22 /* HeritageClauses */:
29196
29194
  return token() === 18 /* OpenBraceToken */ || token() === 19 /* CloseBraceToken */;
29197
- case ParsingContext.JsxAttributes:
29195
+ case 13 /* JsxAttributes */:
29198
29196
  return token() === 31 /* GreaterThanToken */ || token() === 43 /* SlashToken */;
29199
- case ParsingContext.JsxChildren:
29197
+ case 14 /* JsxChildren */:
29200
29198
  return token() === 29 /* LessThanToken */ && lookAhead(nextTokenIsSlash);
29201
29199
  default:
29202
29200
  return false;
@@ -29215,7 +29213,7 @@ ${lanes.join("\n")}
29215
29213
  return false;
29216
29214
  }
29217
29215
  function isInSomeParsingContext() {
29218
- for (let kind = 0; kind < ParsingContext.Count; kind++) {
29216
+ for (let kind = 0; kind < 25 /* Count */; kind++) {
29219
29217
  if (parsingContext & 1 << kind) {
29220
29218
  if (isListElement2(
29221
29219
  kind,
@@ -29284,38 +29282,38 @@ ${lanes.join("\n")}
29284
29282
  }
29285
29283
  function isReusableParsingContext(parsingContext2) {
29286
29284
  switch (parsingContext2) {
29287
- case ParsingContext.ClassMembers:
29288
- case ParsingContext.SwitchClauses:
29289
- case ParsingContext.SourceElements:
29290
- case ParsingContext.BlockStatements:
29291
- case ParsingContext.SwitchClauseStatements:
29292
- case ParsingContext.EnumMembers:
29293
- case ParsingContext.TypeMembers:
29294
- case ParsingContext.VariableDeclarations:
29295
- case ParsingContext.JSDocParameters:
29296
- case ParsingContext.Parameters:
29285
+ case 5 /* ClassMembers */:
29286
+ case 2 /* SwitchClauses */:
29287
+ case 0 /* SourceElements */:
29288
+ case 1 /* BlockStatements */:
29289
+ case 3 /* SwitchClauseStatements */:
29290
+ case 6 /* EnumMembers */:
29291
+ case 4 /* TypeMembers */:
29292
+ case 8 /* VariableDeclarations */:
29293
+ case 17 /* JSDocParameters */:
29294
+ case 16 /* Parameters */:
29297
29295
  return true;
29298
29296
  }
29299
29297
  return false;
29300
29298
  }
29301
29299
  function canReuseNode(node, parsingContext2) {
29302
29300
  switch (parsingContext2) {
29303
- case ParsingContext.ClassMembers:
29301
+ case 5 /* ClassMembers */:
29304
29302
  return isReusableClassMember(node);
29305
- case ParsingContext.SwitchClauses:
29303
+ case 2 /* SwitchClauses */:
29306
29304
  return isReusableSwitchClause(node);
29307
- case ParsingContext.SourceElements:
29308
- case ParsingContext.BlockStatements:
29309
- case ParsingContext.SwitchClauseStatements:
29305
+ case 0 /* SourceElements */:
29306
+ case 1 /* BlockStatements */:
29307
+ case 3 /* SwitchClauseStatements */:
29310
29308
  return isReusableStatement(node);
29311
- case ParsingContext.EnumMembers:
29309
+ case 6 /* EnumMembers */:
29312
29310
  return isReusableEnumMember(node);
29313
- case ParsingContext.TypeMembers:
29311
+ case 4 /* TypeMembers */:
29314
29312
  return isReusableTypeMember(node);
29315
- case ParsingContext.VariableDeclarations:
29313
+ case 8 /* VariableDeclarations */:
29316
29314
  return isReusableVariableDeclaration(node);
29317
- case ParsingContext.JSDocParameters:
29318
- case ParsingContext.Parameters:
29315
+ case 17 /* JSDocParameters */:
29316
+ case 16 /* Parameters */:
29319
29317
  return isReusableParameter(node);
29320
29318
  }
29321
29319
  return false;
@@ -29425,56 +29423,56 @@ ${lanes.join("\n")}
29425
29423
  }
29426
29424
  function parsingContextErrors(context) {
29427
29425
  switch (context) {
29428
- case ParsingContext.SourceElements:
29426
+ case 0 /* SourceElements */:
29429
29427
  return token() === 88 /* DefaultKeyword */ ? parseErrorAtCurrentToken(Diagnostics._0_expected, tokenToString(93 /* ExportKeyword */)) : parseErrorAtCurrentToken(Diagnostics.Declaration_or_statement_expected);
29430
- case ParsingContext.BlockStatements:
29428
+ case 1 /* BlockStatements */:
29431
29429
  return parseErrorAtCurrentToken(Diagnostics.Declaration_or_statement_expected);
29432
- case ParsingContext.SwitchClauses:
29430
+ case 2 /* SwitchClauses */:
29433
29431
  return parseErrorAtCurrentToken(Diagnostics.case_or_default_expected);
29434
- case ParsingContext.SwitchClauseStatements:
29432
+ case 3 /* SwitchClauseStatements */:
29435
29433
  return parseErrorAtCurrentToken(Diagnostics.Statement_expected);
29436
- case ParsingContext.RestProperties:
29437
- case ParsingContext.TypeMembers:
29434
+ case 18 /* RestProperties */:
29435
+ case 4 /* TypeMembers */:
29438
29436
  return parseErrorAtCurrentToken(Diagnostics.Property_or_signature_expected);
29439
- case ParsingContext.ClassMembers:
29437
+ case 5 /* ClassMembers */:
29440
29438
  return parseErrorAtCurrentToken(Diagnostics.Unexpected_token_A_constructor_method_accessor_or_property_was_expected);
29441
- case ParsingContext.EnumMembers:
29439
+ case 6 /* EnumMembers */:
29442
29440
  return parseErrorAtCurrentToken(Diagnostics.Enum_member_expected);
29443
- case ParsingContext.HeritageClauseElement:
29441
+ case 7 /* HeritageClauseElement */:
29444
29442
  return parseErrorAtCurrentToken(Diagnostics.Expression_expected);
29445
- case ParsingContext.VariableDeclarations:
29443
+ case 8 /* VariableDeclarations */:
29446
29444
  return isKeyword(token()) ? parseErrorAtCurrentToken(Diagnostics._0_is_not_allowed_as_a_variable_declaration_name, tokenToString(token())) : parseErrorAtCurrentToken(Diagnostics.Variable_declaration_expected);
29447
- case ParsingContext.ObjectBindingElements:
29445
+ case 9 /* ObjectBindingElements */:
29448
29446
  return parseErrorAtCurrentToken(Diagnostics.Property_destructuring_pattern_expected);
29449
- case ParsingContext.ArrayBindingElements:
29447
+ case 10 /* ArrayBindingElements */:
29450
29448
  return parseErrorAtCurrentToken(Diagnostics.Array_element_destructuring_pattern_expected);
29451
- case ParsingContext.ArgumentExpressions:
29449
+ case 11 /* ArgumentExpressions */:
29452
29450
  return parseErrorAtCurrentToken(Diagnostics.Argument_expression_expected);
29453
- case ParsingContext.ObjectLiteralMembers:
29451
+ case 12 /* ObjectLiteralMembers */:
29454
29452
  return parseErrorAtCurrentToken(Diagnostics.Property_assignment_expected);
29455
- case ParsingContext.ArrayLiteralMembers:
29453
+ case 15 /* ArrayLiteralMembers */:
29456
29454
  return parseErrorAtCurrentToken(Diagnostics.Expression_or_comma_expected);
29457
- case ParsingContext.JSDocParameters:
29455
+ case 17 /* JSDocParameters */:
29458
29456
  return parseErrorAtCurrentToken(Diagnostics.Parameter_declaration_expected);
29459
- case ParsingContext.Parameters:
29457
+ case 16 /* Parameters */:
29460
29458
  return isKeyword(token()) ? parseErrorAtCurrentToken(Diagnostics._0_is_not_allowed_as_a_parameter_name, tokenToString(token())) : parseErrorAtCurrentToken(Diagnostics.Parameter_declaration_expected);
29461
- case ParsingContext.TypeParameters:
29459
+ case 19 /* TypeParameters */:
29462
29460
  return parseErrorAtCurrentToken(Diagnostics.Type_parameter_declaration_expected);
29463
- case ParsingContext.TypeArguments:
29461
+ case 20 /* TypeArguments */:
29464
29462
  return parseErrorAtCurrentToken(Diagnostics.Type_argument_expected);
29465
- case ParsingContext.TupleElementTypes:
29463
+ case 21 /* TupleElementTypes */:
29466
29464
  return parseErrorAtCurrentToken(Diagnostics.Type_expected);
29467
- case ParsingContext.HeritageClauses:
29465
+ case 22 /* HeritageClauses */:
29468
29466
  return parseErrorAtCurrentToken(Diagnostics.Unexpected_token_expected);
29469
- case ParsingContext.ImportOrExportSpecifiers:
29467
+ case 23 /* ImportOrExportSpecifiers */:
29470
29468
  return parseErrorAtCurrentToken(Diagnostics.Identifier_expected);
29471
- case ParsingContext.JsxAttributes:
29469
+ case 13 /* JsxAttributes */:
29472
29470
  return parseErrorAtCurrentToken(Diagnostics.Identifier_expected);
29473
- case ParsingContext.JsxChildren:
29471
+ case 14 /* JsxChildren */:
29474
29472
  return parseErrorAtCurrentToken(Diagnostics.Identifier_expected);
29475
- case ParsingContext.AssertEntries:
29473
+ case 24 /* AssertEntries */:
29476
29474
  return parseErrorAtCurrentToken(Diagnostics.Identifier_or_string_literal_expected);
29477
- case ParsingContext.Count:
29475
+ case 25 /* Count */:
29478
29476
  return Debug.fail("ParsingContext.Count used as a context");
29479
29477
  default:
29480
29478
  Debug.assertNever(context);
@@ -29533,7 +29531,7 @@ ${lanes.join("\n")}
29533
29531
  );
29534
29532
  }
29535
29533
  function getExpectedCommaDiagnostic(kind) {
29536
- return kind === ParsingContext.EnumMembers ? Diagnostics.An_enum_member_name_must_be_followed_by_a_or : void 0;
29534
+ return kind === 6 /* EnumMembers */ ? Diagnostics.An_enum_member_name_must_be_followed_by_a_or : void 0;
29537
29535
  }
29538
29536
  function createMissingList() {
29539
29537
  const list = createNodeArray([], getNodePos());
@@ -29727,7 +29725,7 @@ ${lanes.join("\n")}
29727
29725
  }
29728
29726
  function parseTypeArgumentsOfTypeReference() {
29729
29727
  if (!scanner2.hasPrecedingLineBreak() && reScanLessThanToken() === 29 /* LessThanToken */) {
29730
- return parseBracketedList(ParsingContext.TypeArguments, parseType, 29 /* LessThanToken */, 31 /* GreaterThanToken */);
29728
+ return parseBracketedList(20 /* TypeArguments */, parseType, 29 /* LessThanToken */, 31 /* GreaterThanToken */);
29731
29729
  }
29732
29730
  }
29733
29731
  function parseTypeReference() {
@@ -29909,7 +29907,7 @@ ${lanes.join("\n")}
29909
29907
  }
29910
29908
  function parseTypeParameters() {
29911
29909
  if (token() === 29 /* LessThanToken */) {
29912
- return parseBracketedList(ParsingContext.TypeParameters, parseTypeParameter, 29 /* LessThanToken */, 31 /* GreaterThanToken */);
29910
+ return parseBracketedList(19 /* TypeParameters */, parseTypeParameter, 29 /* LessThanToken */, 31 /* GreaterThanToken */);
29913
29911
  }
29914
29912
  }
29915
29913
  function isStartOfParameter(isJSDocParameter) {
@@ -30015,7 +30013,7 @@ ${lanes.join("\n")}
30015
30013
  const savedAwaitContext = inAwaitContext();
30016
30014
  setYieldContext(!!(flags & 1 /* Yield */));
30017
30015
  setAwaitContext(!!(flags & 2 /* Await */));
30018
- const parameters = flags & 32 /* JSDoc */ ? parseDelimitedList(ParsingContext.JSDocParameters, parseJSDocParameter) : parseDelimitedList(ParsingContext.Parameters, () => allowAmbiguity ? parseParameter(savedAwaitContext) : parseParameterForSpeculation(savedAwaitContext));
30016
+ const parameters = flags & 32 /* JSDoc */ ? parseDelimitedList(17 /* JSDocParameters */, parseJSDocParameter) : parseDelimitedList(16 /* Parameters */, () => allowAmbiguity ? parseParameter(savedAwaitContext) : parseParameterForSpeculation(savedAwaitContext));
30019
30017
  setYieldContext(savedYieldContext);
30020
30018
  setAwaitContext(savedAwaitContext);
30021
30019
  return parameters;
@@ -30083,7 +30081,7 @@ ${lanes.join("\n")}
30083
30081
  return token() === 58 /* ColonToken */ || token() === 27 /* CommaToken */ || token() === 23 /* CloseBracketToken */;
30084
30082
  }
30085
30083
  function parseIndexSignatureDeclaration(pos, hasJSDoc, modifiers) {
30086
- const parameters = parseBracketedList(ParsingContext.Parameters, () => parseParameter(
30084
+ const parameters = parseBracketedList(16 /* Parameters */, () => parseParameter(
30087
30085
  /*inOuterAwaitContext*/
30088
30086
  false
30089
30087
  ), 22 /* OpenBracketToken */, 23 /* CloseBracketToken */);
@@ -30182,7 +30180,7 @@ ${lanes.join("\n")}
30182
30180
  function parseObjectTypeMembers() {
30183
30181
  let members;
30184
30182
  if (parseExpected(18 /* OpenBraceToken */)) {
30185
- members = parseList(ParsingContext.TypeMembers, parseTypeMember);
30183
+ members = parseList(4 /* TypeMembers */, parseTypeMember);
30186
30184
  parseExpected(19 /* CloseBraceToken */);
30187
30185
  } else {
30188
30186
  members = createMissingList();
@@ -30236,7 +30234,7 @@ ${lanes.join("\n")}
30236
30234
  }
30237
30235
  const type = parseTypeAnnotation();
30238
30236
  parseSemicolon();
30239
- const members = parseList(ParsingContext.TypeMembers, parseTypeMember);
30237
+ const members = parseList(4 /* TypeMembers */, parseTypeMember);
30240
30238
  parseExpected(19 /* CloseBraceToken */);
30241
30239
  return finishNode(factory2.createMappedTypeNode(readonlyToken, typeParameter, nameType, questionToken, type, members), pos);
30242
30240
  }
@@ -30281,7 +30279,7 @@ ${lanes.join("\n")}
30281
30279
  const pos = getNodePos();
30282
30280
  return finishNode(
30283
30281
  factory2.createTupleTypeNode(
30284
- parseBracketedList(ParsingContext.TupleElementTypes, parseTupleElementNameOrTupleElementType, 22 /* OpenBracketToken */, 23 /* CloseBracketToken */)
30282
+ parseBracketedList(21 /* TupleElementTypes */, parseTupleElementNameOrTupleElementType, 22 /* OpenBracketToken */, 23 /* CloseBracketToken */)
30285
30283
  ),
30286
30284
  pos
30287
30285
  );
@@ -30909,10 +30907,10 @@ ${lanes.join("\n")}
30909
30907
  }
30910
30908
  function tryParseParenthesizedArrowFunctionExpression(allowReturnTypeInArrowFunction) {
30911
30909
  const triState = isParenthesizedArrowFunctionExpression();
30912
- if (triState === Tristate.False) {
30910
+ if (triState === 0 /* False */) {
30913
30911
  return void 0;
30914
30912
  }
30915
- return triState === Tristate.True ? parseParenthesizedArrowFunctionExpression(
30913
+ return triState === 1 /* True */ ? parseParenthesizedArrowFunctionExpression(
30916
30914
  /*allowAmbiguity*/
30917
30915
  true,
30918
30916
  /*allowReturnTypeInArrowFunction*/
@@ -30924,18 +30922,18 @@ ${lanes.join("\n")}
30924
30922
  return lookAhead(isParenthesizedArrowFunctionExpressionWorker);
30925
30923
  }
30926
30924
  if (token() === 38 /* EqualsGreaterThanToken */) {
30927
- return Tristate.True;
30925
+ return 1 /* True */;
30928
30926
  }
30929
- return Tristate.False;
30927
+ return 0 /* False */;
30930
30928
  }
30931
30929
  function isParenthesizedArrowFunctionExpressionWorker() {
30932
30930
  if (token() === 132 /* AsyncKeyword */) {
30933
30931
  nextToken();
30934
30932
  if (scanner2.hasPrecedingLineBreak()) {
30935
- return Tristate.False;
30933
+ return 0 /* False */;
30936
30934
  }
30937
30935
  if (token() !== 20 /* OpenParenToken */ && token() !== 29 /* LessThanToken */) {
30938
- return Tristate.False;
30936
+ return 0 /* False */;
30939
30937
  }
30940
30938
  }
30941
30939
  const first2 = token();
@@ -30947,45 +30945,45 @@ ${lanes.join("\n")}
30947
30945
  case 38 /* EqualsGreaterThanToken */:
30948
30946
  case 58 /* ColonToken */:
30949
30947
  case 18 /* OpenBraceToken */:
30950
- return Tristate.True;
30948
+ return 1 /* True */;
30951
30949
  default:
30952
- return Tristate.False;
30950
+ return 0 /* False */;
30953
30951
  }
30954
30952
  }
30955
30953
  if (second === 22 /* OpenBracketToken */ || second === 18 /* OpenBraceToken */) {
30956
- return Tristate.Unknown;
30954
+ return 2 /* Unknown */;
30957
30955
  }
30958
30956
  if (second === 25 /* DotDotDotToken */) {
30959
- return Tristate.True;
30957
+ return 1 /* True */;
30960
30958
  }
30961
30959
  if (isModifierKind(second) && second !== 132 /* AsyncKeyword */ && lookAhead(nextTokenIsIdentifier)) {
30962
30960
  if (nextToken() === 128 /* AsKeyword */) {
30963
- return Tristate.False;
30961
+ return 0 /* False */;
30964
30962
  }
30965
- return Tristate.True;
30963
+ return 1 /* True */;
30966
30964
  }
30967
30965
  if (!isIdentifier2() && second !== 108 /* ThisKeyword */) {
30968
- return Tristate.False;
30966
+ return 0 /* False */;
30969
30967
  }
30970
30968
  switch (nextToken()) {
30971
30969
  case 58 /* ColonToken */:
30972
- return Tristate.True;
30970
+ return 1 /* True */;
30973
30971
  case 57 /* QuestionToken */:
30974
30972
  nextToken();
30975
30973
  if (token() === 58 /* ColonToken */ || token() === 27 /* CommaToken */ || token() === 63 /* EqualsToken */ || token() === 21 /* CloseParenToken */) {
30976
- return Tristate.True;
30974
+ return 1 /* True */;
30977
30975
  }
30978
- return Tristate.False;
30976
+ return 0 /* False */;
30979
30977
  case 27 /* CommaToken */:
30980
30978
  case 63 /* EqualsToken */:
30981
30979
  case 21 /* CloseParenToken */:
30982
- return Tristate.Unknown;
30980
+ return 2 /* Unknown */;
30983
30981
  }
30984
- return Tristate.False;
30982
+ return 0 /* False */;
30985
30983
  } else {
30986
30984
  Debug.assert(first2 === 29 /* LessThanToken */);
30987
30985
  if (!isIdentifier2() && token() !== 85 /* ConstKeyword */) {
30988
- return Tristate.False;
30986
+ return 0 /* False */;
30989
30987
  }
30990
30988
  if (languageVariant === 1 /* JSX */) {
30991
30989
  const isArrowFunctionInJsx = lookAhead(() => {
@@ -31007,11 +31005,11 @@ ${lanes.join("\n")}
31007
31005
  return false;
31008
31006
  });
31009
31007
  if (isArrowFunctionInJsx) {
31010
- return Tristate.True;
31008
+ return 1 /* True */;
31011
31009
  }
31012
- return Tristate.False;
31010
+ return 0 /* False */;
31013
31011
  }
31014
- return Tristate.Unknown;
31012
+ return 2 /* Unknown */;
31015
31013
  }
31016
31014
  }
31017
31015
  function parsePossibleParenthesizedArrowFunctionExpression(allowReturnTypeInArrowFunction) {
@@ -31031,7 +31029,7 @@ ${lanes.join("\n")}
31031
31029
  }
31032
31030
  function tryParseAsyncSimpleArrowFunctionExpression(allowReturnTypeInArrowFunction) {
31033
31031
  if (token() === 132 /* AsyncKeyword */) {
31034
- if (lookAhead(isUnParenthesizedAsyncArrowFunctionWorker) === Tristate.True) {
31032
+ if (lookAhead(isUnParenthesizedAsyncArrowFunctionWorker) === 1 /* True */) {
31035
31033
  const pos = getNodePos();
31036
31034
  const asyncModifier = parseModifiersForArrowFunction();
31037
31035
  const expr = parseBinaryExpressionOrHigher(0 /* Lowest */);
@@ -31044,14 +31042,14 @@ ${lanes.join("\n")}
31044
31042
  if (token() === 132 /* AsyncKeyword */) {
31045
31043
  nextToken();
31046
31044
  if (scanner2.hasPrecedingLineBreak() || token() === 38 /* EqualsGreaterThanToken */) {
31047
- return Tristate.False;
31045
+ return 0 /* False */;
31048
31046
  }
31049
31047
  const expr = parseBinaryExpressionOrHigher(0 /* Lowest */);
31050
31048
  if (!scanner2.hasPrecedingLineBreak() && expr.kind === 79 /* Identifier */ && token() === 38 /* EqualsGreaterThanToken */) {
31051
- return Tristate.True;
31049
+ return 1 /* True */;
31052
31050
  }
31053
31051
  }
31054
- return Tristate.False;
31052
+ return 0 /* False */;
31055
31053
  }
31056
31054
  function parseParenthesizedArrowFunctionExpression(allowAmbiguity, allowReturnTypeInArrowFunction) {
31057
31055
  const pos = getNodePos();
@@ -31459,7 +31457,7 @@ ${lanes.join("\n")}
31459
31457
  const list = [];
31460
31458
  const listPos = getNodePos();
31461
31459
  const saveParsingContext = parsingContext;
31462
- parsingContext |= 1 << ParsingContext.JsxChildren;
31460
+ parsingContext |= 1 << 14 /* JsxChildren */;
31463
31461
  while (true) {
31464
31462
  const child = parseJsxChild(openingTag, currentToken = scanner2.reScanJsxToken());
31465
31463
  if (!child)
@@ -31474,7 +31472,7 @@ ${lanes.join("\n")}
31474
31472
  }
31475
31473
  function parseJsxAttributes() {
31476
31474
  const pos = getNodePos();
31477
- return finishNode(factory2.createJsxAttributes(parseList(ParsingContext.JsxAttributes, parseJsxAttribute)), pos);
31475
+ return finishNode(factory2.createJsxAttributes(parseList(13 /* JsxAttributes */, parseJsxAttribute)), pos);
31478
31476
  }
31479
31477
  function parseJsxOpeningOrSelfClosingElementOrOpeningFragment(inExpressionContext) {
31480
31478
  const pos = getNodePos();
@@ -31802,7 +31800,7 @@ ${lanes.join("\n")}
31802
31800
  }
31803
31801
  function parseArgumentList() {
31804
31802
  parseExpected(20 /* OpenParenToken */);
31805
- const result = parseDelimitedList(ParsingContext.ArgumentExpressions, parseArgumentExpression);
31803
+ const result = parseDelimitedList(11 /* ArgumentExpressions */, parseArgumentExpression);
31806
31804
  parseExpected(21 /* CloseParenToken */);
31807
31805
  return result;
31808
31806
  }
@@ -31814,7 +31812,7 @@ ${lanes.join("\n")}
31814
31812
  return void 0;
31815
31813
  }
31816
31814
  nextToken();
31817
- const typeArguments = parseDelimitedList(ParsingContext.TypeArguments, parseType);
31815
+ const typeArguments = parseDelimitedList(20 /* TypeArguments */, parseType);
31818
31816
  if (reScanGreaterToken() !== 31 /* GreaterThanToken */) {
31819
31817
  return void 0;
31820
31818
  }
@@ -31914,7 +31912,7 @@ ${lanes.join("\n")}
31914
31912
  const openBracketPosition = scanner2.getTokenPos();
31915
31913
  const openBracketParsed = parseExpected(22 /* OpenBracketToken */);
31916
31914
  const multiLine = scanner2.hasPrecedingLineBreak();
31917
- const elements = parseDelimitedList(ParsingContext.ArrayLiteralMembers, parseArgumentOrArrayLiteralElement);
31915
+ const elements = parseDelimitedList(15 /* ArrayLiteralMembers */, parseArgumentOrArrayLiteralElement);
31918
31916
  parseExpectedMatchingBrackets(22 /* OpenBracketToken */, 23 /* CloseBracketToken */, openBracketParsed, openBracketPosition);
31919
31917
  return finishNode(factory2.createArrayLiteralExpression(elements, multiLine), pos);
31920
31918
  }
@@ -31975,7 +31973,7 @@ ${lanes.join("\n")}
31975
31973
  const openBraceParsed = parseExpected(18 /* OpenBraceToken */);
31976
31974
  const multiLine = scanner2.hasPrecedingLineBreak();
31977
31975
  const properties = parseDelimitedList(
31978
- ParsingContext.ObjectLiteralMembers,
31976
+ 12 /* ObjectLiteralMembers */,
31979
31977
  parseObjectLiteralElement,
31980
31978
  /*considerSemicolonAsDelimiter*/
31981
31979
  true
@@ -32047,7 +32045,7 @@ ${lanes.join("\n")}
32047
32045
  const openBraceParsed = parseExpected(18 /* OpenBraceToken */, diagnosticMessage);
32048
32046
  if (openBraceParsed || ignoreMissingOpenBrace) {
32049
32047
  const multiLine = scanner2.hasPrecedingLineBreak();
32050
- const statements = parseList(ParsingContext.BlockStatements, parseStatement);
32048
+ const statements = parseList(1 /* BlockStatements */, parseStatement);
32051
32049
  parseExpectedMatchingBrackets(18 /* OpenBraceToken */, 19 /* CloseBraceToken */, openBraceParsed, openBracePosition);
32052
32050
  const result = withJSDoc(finishNode(factory2.createBlock(statements, multiLine), pos), hasJSDoc);
32053
32051
  if (token() === 63 /* EqualsToken */) {
@@ -32205,14 +32203,14 @@ ${lanes.join("\n")}
32205
32203
  parseExpected(82 /* CaseKeyword */);
32206
32204
  const expression = allowInAnd(parseExpression);
32207
32205
  parseExpected(58 /* ColonToken */);
32208
- const statements = parseList(ParsingContext.SwitchClauseStatements, parseStatement);
32206
+ const statements = parseList(3 /* SwitchClauseStatements */, parseStatement);
32209
32207
  return withJSDoc(finishNode(factory2.createCaseClause(expression, statements), pos), hasJSDoc);
32210
32208
  }
32211
32209
  function parseDefaultClause() {
32212
32210
  const pos = getNodePos();
32213
32211
  parseExpected(88 /* DefaultKeyword */);
32214
32212
  parseExpected(58 /* ColonToken */);
32215
- const statements = parseList(ParsingContext.SwitchClauseStatements, parseStatement);
32213
+ const statements = parseList(3 /* SwitchClauseStatements */, parseStatement);
32216
32214
  return finishNode(factory2.createDefaultClause(statements), pos);
32217
32215
  }
32218
32216
  function parseCaseOrDefaultClause() {
@@ -32221,7 +32219,7 @@ ${lanes.join("\n")}
32221
32219
  function parseCaseBlock() {
32222
32220
  const pos = getNodePos();
32223
32221
  parseExpected(18 /* OpenBraceToken */);
32224
- const clauses = parseList(ParsingContext.SwitchClauses, parseCaseOrDefaultClause);
32222
+ const clauses = parseList(2 /* SwitchClauses */, parseCaseOrDefaultClause);
32225
32223
  parseExpected(19 /* CloseBraceToken */);
32226
32224
  return finishNode(factory2.createCaseBlock(clauses), pos);
32227
32225
  }
@@ -32662,14 +32660,14 @@ ${lanes.join("\n")}
32662
32660
  function parseObjectBindingPattern() {
32663
32661
  const pos = getNodePos();
32664
32662
  parseExpected(18 /* OpenBraceToken */);
32665
- const elements = parseDelimitedList(ParsingContext.ObjectBindingElements, parseObjectBindingElement);
32663
+ const elements = parseDelimitedList(9 /* ObjectBindingElements */, parseObjectBindingElement);
32666
32664
  parseExpected(19 /* CloseBraceToken */);
32667
32665
  return finishNode(factory2.createObjectBindingPattern(elements), pos);
32668
32666
  }
32669
32667
  function parseArrayBindingPattern() {
32670
32668
  const pos = getNodePos();
32671
32669
  parseExpected(22 /* OpenBracketToken */);
32672
- const elements = parseDelimitedList(ParsingContext.ArrayBindingElements, parseArrayBindingElement);
32670
+ const elements = parseDelimitedList(10 /* ArrayBindingElements */, parseArrayBindingElement);
32673
32671
  parseExpected(23 /* CloseBracketToken */);
32674
32672
  return finishNode(factory2.createArrayBindingPattern(elements), pos);
32675
32673
  }
@@ -32727,7 +32725,7 @@ ${lanes.join("\n")}
32727
32725
  const savedDisallowIn = inDisallowInContext();
32728
32726
  setDisallowInContext(inForStatementInitializer);
32729
32727
  declarations = parseDelimitedList(
32730
- ParsingContext.VariableDeclarations,
32728
+ 8 /* VariableDeclarations */,
32731
32729
  inForStatementInitializer ? parseVariableDeclaration : parseVariableDeclarationAllowExclamation
32732
32730
  );
32733
32731
  setDisallowInContext(savedDisallowIn);
@@ -33130,7 +33128,7 @@ ${lanes.join("\n")}
33130
33128
  }
33131
33129
  function parseHeritageClauses() {
33132
33130
  if (isHeritageClause2()) {
33133
- return parseList(ParsingContext.HeritageClauses, parseHeritageClause);
33131
+ return parseList(22 /* HeritageClauses */, parseHeritageClause);
33134
33132
  }
33135
33133
  return void 0;
33136
33134
  }
@@ -33139,7 +33137,7 @@ ${lanes.join("\n")}
33139
33137
  const tok = token();
33140
33138
  Debug.assert(tok === 94 /* ExtendsKeyword */ || tok === 117 /* ImplementsKeyword */);
33141
33139
  nextToken();
33142
- const types = parseDelimitedList(ParsingContext.HeritageClauseElement, parseExpressionWithTypeArguments);
33140
+ const types = parseDelimitedList(7 /* HeritageClauseElement */, parseExpressionWithTypeArguments);
33143
33141
  return finishNode(factory2.createHeritageClause(tok, types), pos);
33144
33142
  }
33145
33143
  function parseExpressionWithTypeArguments() {
@@ -33152,13 +33150,13 @@ ${lanes.join("\n")}
33152
33150
  return finishNode(factory2.createExpressionWithTypeArguments(expression, typeArguments), pos);
33153
33151
  }
33154
33152
  function tryParseTypeArguments() {
33155
- return token() === 29 /* LessThanToken */ ? parseBracketedList(ParsingContext.TypeArguments, parseType, 29 /* LessThanToken */, 31 /* GreaterThanToken */) : void 0;
33153
+ return token() === 29 /* LessThanToken */ ? parseBracketedList(20 /* TypeArguments */, parseType, 29 /* LessThanToken */, 31 /* GreaterThanToken */) : void 0;
33156
33154
  }
33157
33155
  function isHeritageClause2() {
33158
33156
  return token() === 94 /* ExtendsKeyword */ || token() === 117 /* ImplementsKeyword */;
33159
33157
  }
33160
33158
  function parseClassMembers() {
33161
- return parseList(ParsingContext.ClassMembers, parseClassElement);
33159
+ return parseList(5 /* ClassMembers */, parseClassElement);
33162
33160
  }
33163
33161
  function parseInterfaceDeclaration(pos, hasJSDoc, modifiers) {
33164
33162
  parseExpected(118 /* InterfaceKeyword */);
@@ -33191,7 +33189,7 @@ ${lanes.join("\n")}
33191
33189
  const name = parseIdentifier();
33192
33190
  let members;
33193
33191
  if (parseExpected(18 /* OpenBraceToken */)) {
33194
- members = doOutsideOfYieldAndAwaitContext(() => parseDelimitedList(ParsingContext.EnumMembers, parseEnumMember));
33192
+ members = doOutsideOfYieldAndAwaitContext(() => parseDelimitedList(6 /* EnumMembers */, parseEnumMember));
33195
33193
  parseExpected(19 /* CloseBraceToken */);
33196
33194
  } else {
33197
33195
  members = createMissingList();
@@ -33203,7 +33201,7 @@ ${lanes.join("\n")}
33203
33201
  const pos = getNodePos();
33204
33202
  let statements;
33205
33203
  if (parseExpected(18 /* OpenBraceToken */)) {
33206
- statements = parseList(ParsingContext.BlockStatements, parseStatement);
33204
+ statements = parseList(1 /* BlockStatements */, parseStatement);
33207
33205
  parseExpected(19 /* CloseBraceToken */);
33208
33206
  } else {
33209
33207
  statements = createMissingList();
@@ -33328,7 +33326,7 @@ ${lanes.join("\n")}
33328
33326
  if (parseExpected(18 /* OpenBraceToken */)) {
33329
33327
  const multiLine = scanner2.hasPrecedingLineBreak();
33330
33328
  const elements = parseDelimitedList(
33331
- ParsingContext.AssertEntries,
33329
+ 24 /* AssertEntries */,
33332
33330
  parseAssertEntry,
33333
33331
  /*considerSemicolonAsDelimiter*/
33334
33332
  true
@@ -33412,7 +33410,7 @@ ${lanes.join("\n")}
33412
33410
  }
33413
33411
  function parseNamedImportsOrExports(kind) {
33414
33412
  const pos = getNodePos();
33415
- const node = kind === 272 /* NamedImports */ ? factory2.createNamedImports(parseBracketedList(ParsingContext.ImportOrExportSpecifiers, parseImportSpecifier, 18 /* OpenBraceToken */, 19 /* CloseBraceToken */)) : factory2.createNamedExports(parseBracketedList(ParsingContext.ImportOrExportSpecifiers, parseExportSpecifier, 18 /* OpenBraceToken */, 19 /* CloseBraceToken */));
33413
+ 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 */));
33416
33414
  return finishNode(node, pos);
33417
33415
  }
33418
33416
  function parseExportSpecifier() {
@@ -34861,7 +34859,7 @@ ${lanes.join("\n")}
34861
34859
  let currentArrayIndex = 0;
34862
34860
  Debug.assert(currentArrayIndex < currentArray.length);
34863
34861
  let current = currentArray[currentArrayIndex];
34864
- let lastQueriedPosition = InvalidPosition.Value;
34862
+ let lastQueriedPosition = -1 /* Value */;
34865
34863
  return {
34866
34864
  currentNode(position) {
34867
34865
  if (position !== lastQueriedPosition) {
@@ -34880,7 +34878,7 @@ ${lanes.join("\n")}
34880
34878
  };
34881
34879
  function findHighestListElementThatStartsAtPosition(position) {
34882
34880
  currentArray = void 0;
34883
- currentArrayIndex = InvalidPosition.Value;
34881
+ currentArrayIndex = -1 /* Value */;
34884
34882
  current = void 0;
34885
34883
  forEachChild(sourceFile, visitNode3, visitArray2);
34886
34884
  return;
@@ -38467,9 +38465,9 @@ ${lanes.join("\n")}
38467
38465
  const affectingLocations = [];
38468
38466
  let features = getNodeResolutionFeatures(options);
38469
38467
  if (resolutionMode === 99 /* ESNext */ && (getEmitModuleResolutionKind(options) === 3 /* Node16 */ || getEmitModuleResolutionKind(options) === 99 /* NodeNext */)) {
38470
- features |= NodeResolutionFeatures.EsmMode;
38468
+ features |= 32 /* EsmMode */;
38471
38469
  }
38472
- const conditions = features & NodeResolutionFeatures.Exports ? getConditions(options, !!(features & NodeResolutionFeatures.EsmMode)) : [];
38470
+ const conditions = features & 8 /* Exports */ ? getConditions(options, !!(features & 32 /* EsmMode */)) : [];
38473
38471
  const diagnostics = [];
38474
38472
  const moduleResolutionState = {
38475
38473
  compilerOptions: options,
@@ -38602,27 +38600,27 @@ ${lanes.join("\n")}
38602
38600
  }
38603
38601
  }
38604
38602
  function getNodeResolutionFeatures(options) {
38605
- let features = NodeResolutionFeatures.None;
38603
+ let features = 0 /* None */;
38606
38604
  switch (getEmitModuleResolutionKind(options)) {
38607
38605
  case 3 /* Node16 */:
38608
- features = NodeResolutionFeatures.Node16Default;
38606
+ features = 30 /* Node16Default */;
38609
38607
  break;
38610
38608
  case 99 /* NodeNext */:
38611
- features = NodeResolutionFeatures.NodeNextDefault;
38609
+ features = 30 /* NodeNextDefault */;
38612
38610
  break;
38613
38611
  case 100 /* Bundler */:
38614
- features = NodeResolutionFeatures.BundlerDefault;
38612
+ features = 30 /* BundlerDefault */;
38615
38613
  break;
38616
38614
  }
38617
38615
  if (options.resolvePackageJsonExports) {
38618
- features |= NodeResolutionFeatures.Exports;
38616
+ features |= 8 /* Exports */;
38619
38617
  } else if (options.resolvePackageJsonExports === false) {
38620
- features &= ~NodeResolutionFeatures.Exports;
38618
+ features &= ~8 /* Exports */;
38621
38619
  }
38622
38620
  if (options.resolvePackageJsonImports) {
38623
- features |= NodeResolutionFeatures.Imports;
38621
+ features |= 2 /* Imports */;
38624
38622
  } else if (options.resolvePackageJsonImports === false) {
38625
- features &= ~NodeResolutionFeatures.Imports;
38623
+ features &= ~2 /* Imports */;
38626
38624
  }
38627
38625
  return features;
38628
38626
  }
@@ -40184,18 +40182,24 @@ ${lanes.join("\n")}
40184
40182
  )));
40185
40183
  } else if (typeof target === "object" && target !== null) {
40186
40184
  if (!Array.isArray(target)) {
40185
+ traceIfEnabled(state, Diagnostics.Entering_conditional_exports);
40187
40186
  for (const condition of getOwnKeys(target)) {
40188
40187
  if (condition === "default" || state.conditions.indexOf(condition) >= 0 || isApplicableVersionedTypesKey(state.conditions, condition)) {
40189
40188
  traceIfEnabled(state, Diagnostics.Matched_0_condition_1, isImports ? "imports" : "exports", condition);
40190
40189
  const subTarget = target[condition];
40191
40190
  const result = loadModuleFromTargetImportOrExport(subTarget, subpath, pattern, key);
40192
40191
  if (result) {
40192
+ traceIfEnabled(state, Diagnostics.Resolved_under_condition_0, condition);
40193
+ traceIfEnabled(state, Diagnostics.Exiting_conditional_exports);
40193
40194
  return result;
40195
+ } else {
40196
+ traceIfEnabled(state, Diagnostics.Failed_to_resolve_under_condition_0, condition);
40194
40197
  }
40195
40198
  } else {
40196
40199
  traceIfEnabled(state, Diagnostics.Saw_non_matching_condition_0, condition);
40197
40200
  }
40198
40201
  }
40202
+ traceIfEnabled(state, Diagnostics.Exiting_conditional_exports);
40199
40203
  return void 0;
40200
40204
  } else {
40201
40205
  if (!length(target)) {
@@ -43900,7 +43904,7 @@ ${lanes.join("\n")}
43900
43904
  let redirectPathsSpecifiers;
43901
43905
  let relativeSpecifiers;
43902
43906
  for (const modulePath of modulePaths) {
43903
- const specifier = tryGetModuleNameAsNodeModule(
43907
+ const specifier = modulePath.isInNodeModules ? tryGetModuleNameAsNodeModule(
43904
43908
  modulePath,
43905
43909
  info,
43906
43910
  importingSourceFile,
@@ -43910,7 +43914,7 @@ ${lanes.join("\n")}
43910
43914
  /*packageNameOnly*/
43911
43915
  void 0,
43912
43916
  options.overrideImportMode
43913
- );
43917
+ ) : void 0;
43914
43918
  nodeModulesSpecifiers = append(nodeModulesSpecifiers, specifier);
43915
43919
  if (specifier && modulePath.isRedirect) {
43916
43920
  return nodeModulesSpecifiers;
@@ -49890,7 +49894,7 @@ ${lanes.join("\n")}
49890
49894
  if (signature.thisParameter) {
49891
49895
  return symbolToParameterDeclaration(signature.thisParameter, context);
49892
49896
  }
49893
- if (signature.declaration) {
49897
+ if (signature.declaration && isInJSFile(signature.declaration)) {
49894
49898
  const thisTag = getJSDocThisTag(signature.declaration);
49895
49899
  if (thisTag && thisTag.typeExpression) {
49896
49900
  return factory.createParameterDeclaration(
@@ -52871,7 +52875,7 @@ ${lanes.join("\n")}
52871
52875
  function getWidenedTypeForAssignmentDeclaration(symbol, resolvedSymbol) {
52872
52876
  const container = getAssignedExpandoInitializer(symbol.valueDeclaration);
52873
52877
  if (container) {
52874
- const tag = getJSDocTypeTag(container);
52878
+ const tag = isInJSFile(container) ? getJSDocTypeTag(container) : void 0;
52875
52879
  if (tag && tag.typeExpression) {
52876
52880
  return getTypeFromTypeNode(tag.typeExpression);
52877
52881
  }
@@ -63718,7 +63722,17 @@ ${lanes.join("\n")}
63718
63722
  return propType;
63719
63723
  }
63720
63724
  if (everyType(type, isTupleType)) {
63721
- return mapType(type, (t) => getRestTypeOfTupleType(t) || undefinedType);
63725
+ return mapType(type, (t) => {
63726
+ const tupleType = t;
63727
+ const restType = getRestTypeOfTupleType(tupleType);
63728
+ if (!restType) {
63729
+ return undefinedType;
63730
+ }
63731
+ if (compilerOptions.noUncheckedIndexedAccess && index >= tupleType.target.fixedLength + getEndElementCount(tupleType.target, 3 /* Fixed */)) {
63732
+ return getUnionType([restType, undefinedType]);
63733
+ }
63734
+ return restType;
63735
+ });
63722
63736
  }
63723
63737
  return void 0;
63724
63738
  }
@@ -66360,7 +66374,7 @@ ${lanes.join("\n")}
66360
66374
  }
66361
66375
  return declaredType;
66362
66376
  }
66363
- if (isVariableDeclaration(node) && node.parent.parent.kind === 246 /* ForInStatement */ && isMatchingReference(reference, node.parent.parent.expression)) {
66377
+ if (isVariableDeclaration(node) && node.parent.parent.kind === 246 /* ForInStatement */ && (isMatchingReference(reference, node.parent.parent.expression) || optionalChainContainsReference(node.parent.parent.expression, reference))) {
66364
66378
  return getNonNullableTypeIfNeeded(finalizeEvolvingArrayType(getTypeFromFlowType(getTypeAtFlowNode(flow.antecedent))));
66365
66379
  }
66366
66380
  return void 0;
@@ -67046,34 +67060,29 @@ ${lanes.join("\n")}
67046
67060
  if (!isTypeDerivedFrom(rightType, globalFunctionType)) {
67047
67061
  return type;
67048
67062
  }
67049
- let targetType;
67050
- const prototypeProperty = getPropertyOfType(rightType, "prototype");
67051
- if (prototypeProperty) {
67052
- const prototypePropertyType = getTypeOfSymbol(prototypeProperty);
67053
- if (!isTypeAny(prototypePropertyType)) {
67054
- targetType = prototypePropertyType;
67055
- }
67056
- }
67057
- if (isTypeAny(type) && (targetType === globalObjectType || targetType === globalFunctionType)) {
67063
+ const instanceType = mapType(rightType, getInstanceType);
67064
+ if (isTypeAny(type) && (instanceType === globalObjectType || instanceType === globalFunctionType) || !assumeTrue && !(instanceType.flags & 524288 /* Object */ && !isEmptyAnonymousObjectType(instanceType))) {
67058
67065
  return type;
67059
67066
  }
67060
- if (!targetType) {
67061
- const constructSignatures = getSignaturesOfType(rightType, 1 /* Construct */);
67062
- targetType = constructSignatures.length ? getUnionType(map(constructSignatures, (signature) => getReturnTypeOfSignature(getErasedSignature(signature)))) : emptyObjectType;
67063
- }
67064
- if (!assumeTrue && rightType.flags & 1048576 /* Union */) {
67065
- const nonConstructorTypeInUnion = find(rightType.types, (t) => !isConstructorType(t));
67066
- if (!nonConstructorTypeInUnion)
67067
- return type;
67068
- }
67069
67067
  return getNarrowedType(
67070
67068
  type,
67071
- targetType,
67069
+ instanceType,
67072
67070
  assumeTrue,
67073
67071
  /*checkDerived*/
67074
67072
  true
67075
67073
  );
67076
67074
  }
67075
+ function getInstanceType(constructorType) {
67076
+ const prototypePropertyType = getTypeOfPropertyOfType(constructorType, "prototype");
67077
+ if (prototypePropertyType && !isTypeAny(prototypePropertyType)) {
67078
+ return prototypePropertyType;
67079
+ }
67080
+ const constructSignatures = getSignaturesOfType(constructorType, 1 /* Construct */);
67081
+ if (constructSignatures.length) {
67082
+ return getUnionType(map(constructSignatures, (signature) => getReturnTypeOfSignature(getErasedSignature(signature))));
67083
+ }
67084
+ return emptyObjectType;
67085
+ }
67077
67086
  function getNarrowedType(type, candidate, assumeTrue, checkDerived) {
67078
67087
  var _a3;
67079
67088
  const key2 = type.flags & 1048576 /* Union */ ? `N${getTypeId(type)},${getTypeId(candidate)},${(assumeTrue ? 1 : 0) | (checkDerived ? 2 : 0)}` : void 0;
@@ -103232,6 +103241,9 @@ ${lanes.join("\n")}
103232
103241
  return visitEachChild(node, visitor, context);
103233
103242
  }
103234
103243
  function visitImportCallExpression(node) {
103244
+ if (moduleKind === 0 /* None */ && languageVersion >= 7 /* ES2020 */) {
103245
+ return visitEachChild(node, visitor, context);
103246
+ }
103235
103247
  const externalModuleName = getExternalModuleNameLiteral(factory2, node, currentSourceFile, host, resolver, compilerOptions);
103236
103248
  const firstArgument = visitNode(firstOrUndefined(node.arguments), visitor, isExpression);
103237
103249
  const argument = externalModuleName && (!firstArgument || !isStringLiteral(firstArgument) || firstArgument.text !== externalModuleName.text) ? externalModuleName : firstArgument;
@@ -109535,9 +109547,9 @@ ${lanes.join("\n")}
109535
109547
  formattedNameTempFlagsStack = [];
109536
109548
  formattedNameTempFlags = /* @__PURE__ */ new Map();
109537
109549
  privateNameTempFlagsStack = [];
109538
- privateNameTempFlags = TempFlags.Auto;
109550
+ privateNameTempFlags = 0 /* Auto */;
109539
109551
  tempFlagsStack = [];
109540
- tempFlags = TempFlags.Auto;
109552
+ tempFlags = 0 /* Auto */;
109541
109553
  reservedNamesStack = [];
109542
109554
  reservedNames = void 0;
109543
109555
  reservedPrivateNamesStack = [];
@@ -110506,7 +110518,7 @@ ${lanes.join("\n")}
110506
110518
  }
110507
110519
  function emitTypeLiteral(node) {
110508
110520
  pushPrivateNameGenerationScope(
110509
- TempFlags.Auto,
110521
+ 0 /* Auto */,
110510
110522
  /*newReservedMemberNames*/
110511
110523
  void 0
110512
110524
  );
@@ -110695,7 +110707,7 @@ ${lanes.join("\n")}
110695
110707
  }
110696
110708
  function emitObjectLiteralExpression(node) {
110697
110709
  pushPrivateNameGenerationScope(
110698
- TempFlags.Auto,
110710
+ 0 /* Auto */,
110699
110711
  /*newReservedMemberNames*/
110700
110712
  void 0
110701
110713
  );
@@ -111461,7 +111473,7 @@ ${lanes.join("\n")}
111461
111473
  }
111462
111474
  function emitClassDeclarationOrExpression(node) {
111463
111475
  pushPrivateNameGenerationScope(
111464
- TempFlags.Auto,
111476
+ 0 /* Auto */,
111465
111477
  /*newReservedMemberNames*/
111466
111478
  void 0
111467
111479
  );
@@ -111494,7 +111506,7 @@ ${lanes.join("\n")}
111494
111506
  }
111495
111507
  function emitInterfaceDeclaration(node) {
111496
111508
  pushPrivateNameGenerationScope(
111497
- TempFlags.Auto,
111509
+ 0 /* Auto */,
111498
111510
  /*newReservedMemberNames*/
111499
111511
  void 0
111500
111512
  );
@@ -112937,7 +112949,7 @@ ${lanes.join("\n")}
112937
112949
  return;
112938
112950
  }
112939
112951
  tempFlagsStack.push(tempFlags);
112940
- tempFlags = TempFlags.Auto;
112952
+ tempFlags = 0 /* Auto */;
112941
112953
  formattedNameTempFlagsStack.push(formattedNameTempFlags);
112942
112954
  formattedNameTempFlags = void 0;
112943
112955
  reservedNamesStack.push(reservedNames);
@@ -113123,7 +113135,7 @@ ${lanes.join("\n")}
113123
113135
  case "#":
113124
113136
  return privateNameTempFlags;
113125
113137
  default:
113126
- return (_a2 = formattedNameTempFlags == null ? void 0 : formattedNameTempFlags.get(formattedNameKey)) != null ? _a2 : TempFlags.Auto;
113138
+ return (_a2 = formattedNameTempFlags == null ? void 0 : formattedNameTempFlags.get(formattedNameKey)) != null ? _a2 : 0 /* Auto */;
113127
113139
  }
113128
113140
  }
113129
113141
  function setTempFlags(formattedNameKey, flags) {
@@ -113147,7 +113159,7 @@ ${lanes.join("\n")}
113147
113159
  const key = formatGeneratedName(privateName, prefix, "", suffix);
113148
113160
  let tempFlags2 = getTempFlags(key);
113149
113161
  if (flags && !(tempFlags2 & flags)) {
113150
- const name = flags === TempFlags._i ? "_i" : "_n";
113162
+ const name = flags === 268435456 /* _i */ ? "_i" : "_n";
113151
113163
  const fullName = formatGeneratedName(privateName, prefix, name, suffix);
113152
113164
  if (isUniqueName(fullName, privateName)) {
113153
113165
  tempFlags2 |= flags;
@@ -113161,7 +113173,7 @@ ${lanes.join("\n")}
113161
113173
  }
113162
113174
  }
113163
113175
  while (true) {
113164
- const count = tempFlags2 & TempFlags.CountMask;
113176
+ const count = tempFlags2 & 268435455 /* CountMask */;
113165
113177
  tempFlags2++;
113166
113178
  if (count !== 8 && count !== 13) {
113167
113179
  const name = count < 26 ? "_" + String.fromCharCode(97 /* a */ + count) : "_" + (count - 26);
@@ -113305,7 +113317,7 @@ ${lanes.join("\n")}
113305
113317
  return generateNameCached(node.name, privateName);
113306
113318
  }
113307
113319
  return makeTempVariableName(
113308
- TempFlags.Auto,
113320
+ 0 /* Auto */,
113309
113321
  /*reservedInNestedScopes*/
113310
113322
  false,
113311
113323
  privateName,
@@ -113362,7 +113374,7 @@ ${lanes.join("\n")}
113362
113374
  return generateNameForMethodOrAccessor(node, privateName, prefix, suffix);
113363
113375
  case 164 /* ComputedPropertyName */:
113364
113376
  return makeTempVariableName(
113365
- TempFlags.Auto,
113377
+ 0 /* Auto */,
113366
113378
  /*reserveInNestedScopes*/
113367
113379
  true,
113368
113380
  privateName,
@@ -113371,7 +113383,7 @@ ${lanes.join("\n")}
113371
113383
  );
113372
113384
  default:
113373
113385
  return makeTempVariableName(
113374
- TempFlags.Auto,
113386
+ 0 /* Auto */,
113375
113387
  /*reserveInNestedScopes*/
113376
113388
  false,
113377
113389
  privateName,
@@ -113386,11 +113398,11 @@ ${lanes.join("\n")}
113386
113398
  const suffix = formatGeneratedNamePart(autoGenerate.suffix);
113387
113399
  switch (autoGenerate.flags & 7 /* KindMask */) {
113388
113400
  case 1 /* Auto */:
113389
- return makeTempVariableName(TempFlags.Auto, !!(autoGenerate.flags & 8 /* ReservedInNestedScopes */), isPrivateIdentifier(name), prefix, suffix);
113401
+ return makeTempVariableName(0 /* Auto */, !!(autoGenerate.flags & 8 /* ReservedInNestedScopes */), isPrivateIdentifier(name), prefix, suffix);
113390
113402
  case 2 /* Loop */:
113391
113403
  Debug.assertNode(name, isIdentifier);
113392
113404
  return makeTempVariableName(
113393
- TempFlags._i,
113405
+ 268435456 /* _i */,
113394
113406
  !!(autoGenerate.flags & 8 /* ReservedInNestedScopes */),
113395
113407
  /*privateName*/
113396
113408
  false,
@@ -113872,7 +113884,7 @@ ${lanes.join("\n")}
113872
113884
  function getEmitListItem(emit, parenthesizerRule) {
113873
113885
  return emit.length === 1 ? emitListItemNoParenthesizer : typeof parenthesizerRule === "object" ? emitListItemWithParenthesizerRuleSelector : emitListItemWithParenthesizerRule;
113874
113886
  }
113875
- var brackets, notImplementedResolver, createPrinterWithDefaults, createPrinterWithRemoveComments, createPrinterWithRemoveCommentsNeverAsciiEscape, createPrinterWithRemoveCommentsOmitTrailingSemicolon, TempFlags;
113887
+ var brackets, notImplementedResolver, createPrinterWithDefaults, createPrinterWithRemoveComments, createPrinterWithRemoveCommentsNeverAsciiEscape, createPrinterWithRemoveCommentsOmitTrailingSemicolon;
113876
113888
  var init_emitter = __esm({
113877
113889
  "src/compiler/emitter.ts"() {
113878
113890
  "use strict";
@@ -113927,12 +113939,6 @@ ${lanes.join("\n")}
113927
113939
  createPrinterWithRemoveComments = /* @__PURE__ */ memoize(() => createPrinter({ removeComments: true }));
113928
113940
  createPrinterWithRemoveCommentsNeverAsciiEscape = /* @__PURE__ */ memoize(() => createPrinter({ removeComments: true, neverAsciiEscape: true }));
113929
113941
  createPrinterWithRemoveCommentsOmitTrailingSemicolon = /* @__PURE__ */ memoize(() => createPrinter({ removeComments: true, omitTrailingSemicolon: true }));
113930
- TempFlags = /* @__PURE__ */ ((TempFlags2) => {
113931
- TempFlags2[TempFlags2["Auto"] = 0] = "Auto";
113932
- TempFlags2[TempFlags2["CountMask"] = 268435455] = "CountMask";
113933
- TempFlags2[TempFlags2["_i"] = 268435456] = "_i";
113934
- return TempFlags2;
113935
- })(TempFlags || {});
113936
113942
  }
113937
113943
  });
113938
113944
 
@@ -114886,14 +114892,14 @@ ${lanes.join("\n")}
114886
114892
  function createModuleResolutionLoader(containingFile, redirectedReference, options, host, cache) {
114887
114893
  return {
114888
114894
  nameAndMode: moduleResolutionNameAndModeGetter,
114889
- resolve: (moduleName, resoluionMode) => resolveModuleName(
114895
+ resolve: (moduleName, resolutionMode) => resolveModuleName(
114890
114896
  moduleName,
114891
114897
  containingFile,
114892
114898
  options,
114893
114899
  host,
114894
114900
  cache,
114895
114901
  redirectedReference,
114896
- resoluionMode
114902
+ resolutionMode
114897
114903
  )
114898
114904
  };
114899
114905
  }
@@ -126604,7 +126610,7 @@ ${lanes.join("\n")}
126604
126610
  );
126605
126611
  }
126606
126612
  function makeStringLiteral(text, quotePreference) {
126607
- return factory.createStringLiteral(text, quotePreference === QuotePreference.Single);
126613
+ return factory.createStringLiteral(text, quotePreference === 0 /* Single */);
126608
126614
  }
126609
126615
  function quotePreferenceFromString(str, sourceFile) {
126610
126616
  return isStringDoubleQuoted(str, sourceFile) ? 1 /* Double */ : 0 /* Single */;
@@ -127506,7 +127512,13 @@ ${lanes.join("\n")}
127506
127512
  function createPackageJsonImportFilter(fromFile, preferences, host) {
127507
127513
  const packageJsons = (host.getPackageJsonsVisibleToFile && host.getPackageJsonsVisibleToFile(fromFile.fileName) || getPackageJsonsVisibleToFile(fromFile.fileName, host)).filter((p) => p.parseable);
127508
127514
  let usesNodeCoreModules;
127509
- return { allowsImportingAmbientModule, allowsImportingSourceFile, allowsImportingSpecifier };
127515
+ let ambientModuleCache;
127516
+ let sourceFileCache;
127517
+ return {
127518
+ allowsImportingAmbientModule,
127519
+ allowsImportingSourceFile,
127520
+ allowsImportingSpecifier
127521
+ };
127510
127522
  function moduleSpecifierIsCoveredByPackageJson(specifier) {
127511
127523
  const packageName = getNodeModuleRootSpecifier(specifier);
127512
127524
  for (const packageJson of packageJsons) {
@@ -127520,26 +127532,49 @@ ${lanes.join("\n")}
127520
127532
  if (!packageJsons.length || !moduleSymbol.valueDeclaration) {
127521
127533
  return true;
127522
127534
  }
127523
- const declaringSourceFile = moduleSymbol.valueDeclaration.getSourceFile();
127524
- const declaringNodeModuleName = getNodeModulesPackageNameFromFileName(declaringSourceFile.fileName, moduleSpecifierResolutionHost);
127525
- if (typeof declaringNodeModuleName === "undefined") {
127526
- return true;
127535
+ if (!ambientModuleCache) {
127536
+ ambientModuleCache = /* @__PURE__ */ new Map();
127537
+ } else {
127538
+ const cached = ambientModuleCache.get(moduleSymbol);
127539
+ if (cached !== void 0) {
127540
+ return cached;
127541
+ }
127527
127542
  }
127528
127543
  const declaredModuleSpecifier = stripQuotes(moduleSymbol.getName());
127529
127544
  if (isAllowedCoreNodeModulesImport(declaredModuleSpecifier)) {
127545
+ ambientModuleCache.set(moduleSymbol, true);
127546
+ return true;
127547
+ }
127548
+ const declaringSourceFile = moduleSymbol.valueDeclaration.getSourceFile();
127549
+ const declaringNodeModuleName = getNodeModulesPackageNameFromFileName(declaringSourceFile.fileName, moduleSpecifierResolutionHost);
127550
+ if (typeof declaringNodeModuleName === "undefined") {
127551
+ ambientModuleCache.set(moduleSymbol, true);
127530
127552
  return true;
127531
127553
  }
127532
- return moduleSpecifierIsCoveredByPackageJson(declaringNodeModuleName) || moduleSpecifierIsCoveredByPackageJson(declaredModuleSpecifier);
127554
+ const result = moduleSpecifierIsCoveredByPackageJson(declaringNodeModuleName) || moduleSpecifierIsCoveredByPackageJson(declaredModuleSpecifier);
127555
+ ambientModuleCache.set(moduleSymbol, result);
127556
+ return result;
127533
127557
  }
127534
127558
  function allowsImportingSourceFile(sourceFile, moduleSpecifierResolutionHost) {
127535
127559
  if (!packageJsons.length) {
127536
127560
  return true;
127537
127561
  }
127562
+ if (!sourceFileCache) {
127563
+ sourceFileCache = /* @__PURE__ */ new Map();
127564
+ } else {
127565
+ const cached = sourceFileCache.get(sourceFile);
127566
+ if (cached !== void 0) {
127567
+ return cached;
127568
+ }
127569
+ }
127538
127570
  const moduleSpecifier = getNodeModulesPackageNameFromFileName(sourceFile.fileName, moduleSpecifierResolutionHost);
127539
127571
  if (!moduleSpecifier) {
127572
+ sourceFileCache.set(sourceFile, true);
127540
127573
  return true;
127541
127574
  }
127542
- return moduleSpecifierIsCoveredByPackageJson(moduleSpecifier);
127575
+ const result = moduleSpecifierIsCoveredByPackageJson(moduleSpecifier);
127576
+ sourceFileCache.set(sourceFile, result);
127577
+ return result;
127543
127578
  }
127544
127579
  function allowsImportingSpecifier(moduleSpecifier) {
127545
127580
  if (!packageJsons.length || isAllowedCoreNodeModulesImport(moduleSpecifier)) {
@@ -127759,6 +127794,64 @@ ${lanes.join("\n")}
127759
127794
  function isSourceFileFromLibrary(program, node) {
127760
127795
  return program.isSourceFileFromExternalLibrary(node) || program.isSourceFileDefaultLibrary(node);
127761
127796
  }
127797
+ function newCaseClauseTracker(checker, clauses) {
127798
+ const existingStrings = /* @__PURE__ */ new Set();
127799
+ const existingNumbers = /* @__PURE__ */ new Set();
127800
+ const existingBigInts = /* @__PURE__ */ new Set();
127801
+ for (const clause of clauses) {
127802
+ if (!isDefaultClause(clause)) {
127803
+ if (isLiteralExpression(clause.expression)) {
127804
+ const expression = clause.expression;
127805
+ switch (expression.kind) {
127806
+ case 14 /* NoSubstitutionTemplateLiteral */:
127807
+ case 10 /* StringLiteral */:
127808
+ existingStrings.add(expression.text);
127809
+ break;
127810
+ case 8 /* NumericLiteral */:
127811
+ existingNumbers.add(parseInt(expression.text));
127812
+ break;
127813
+ case 9 /* BigIntLiteral */:
127814
+ const parsedBigInt = parseBigInt(endsWith(expression.text, "n") ? expression.text.slice(0, -1) : expression.text);
127815
+ if (parsedBigInt) {
127816
+ existingBigInts.add(pseudoBigIntToString(parsedBigInt));
127817
+ }
127818
+ break;
127819
+ }
127820
+ } else {
127821
+ const symbol = checker.getSymbolAtLocation(clause.expression);
127822
+ if (symbol && symbol.valueDeclaration && isEnumMember(symbol.valueDeclaration)) {
127823
+ const enumValue = checker.getConstantValue(symbol.valueDeclaration);
127824
+ if (enumValue !== void 0) {
127825
+ addValue(enumValue);
127826
+ }
127827
+ }
127828
+ }
127829
+ }
127830
+ }
127831
+ return {
127832
+ addValue,
127833
+ hasValue
127834
+ };
127835
+ function addValue(value) {
127836
+ switch (typeof value) {
127837
+ case "string":
127838
+ existingStrings.add(value);
127839
+ break;
127840
+ case "number":
127841
+ existingNumbers.add(value);
127842
+ }
127843
+ }
127844
+ function hasValue(value) {
127845
+ switch (typeof value) {
127846
+ case "string":
127847
+ return existingStrings.has(value);
127848
+ case "number":
127849
+ return existingNumbers.has(value);
127850
+ case "object":
127851
+ return existingBigInts.has(pseudoBigIntToString(value));
127852
+ }
127853
+ }
127854
+ }
127762
127855
  var scanner, SemanticMeaning, tripleSlashDirectivePrefixRegex, typeKeywords, QuotePreference, displayPartWriter, lineFeed2, ANONYMOUS, syntaxMayBeASICandidate;
127763
127856
  var init_utilities4 = __esm({
127764
127857
  "src/services/utilities.ts"() {
@@ -139268,13 +139361,13 @@ ${lanes.join("\n")}
139268
139361
  var _a2, _b;
139269
139362
  const { fix, symbolName: symbolName2 } = info;
139270
139363
  switch (fix.kind) {
139271
- case ImportFixKind.UseNamespace:
139364
+ case 0 /* UseNamespace */:
139272
139365
  addToNamespace.push(fix);
139273
139366
  break;
139274
- case ImportFixKind.JsdocTypeImport:
139367
+ case 1 /* JsdocTypeImport */:
139275
139368
  importType.push(fix);
139276
139369
  break;
139277
- case ImportFixKind.AddToExisting: {
139370
+ case 2 /* AddToExisting */: {
139278
139371
  const { importClauseOrBindingPattern, importKind, addAsTypeOnly } = fix;
139279
139372
  const key = String(getNodeId(importClauseOrBindingPattern));
139280
139373
  let entry = addToExisting.get(key);
@@ -139293,7 +139386,7 @@ ${lanes.join("\n")}
139293
139386
  }
139294
139387
  break;
139295
139388
  }
139296
- case ImportFixKind.AddNew: {
139389
+ case 3 /* AddNew */: {
139297
139390
  const { moduleSpecifier, importKind, useRequire, addAsTypeOnly } = fix;
139298
139391
  const entry = getNewImportEntry(moduleSpecifier, importKind, useRequire, addAsTypeOnly);
139299
139392
  Debug.assert(entry.useRequire === useRequire, "(Add new) Tried to add an `import` and a `require` for the same module");
@@ -139314,7 +139407,7 @@ ${lanes.join("\n")}
139314
139407
  }
139315
139408
  break;
139316
139409
  }
139317
- case ImportFixKind.PromoteTypeOnly:
139410
+ case 4 /* PromoteTypeOnly */:
139318
139411
  break;
139319
139412
  default:
139320
139413
  Debug.assertNever(fix, `fix wasn't never - got kind ${fix.kind}`);
@@ -139341,13 +139434,13 @@ ${lanes.join("\n")}
139341
139434
  namespaceLikeImport: void 0,
139342
139435
  useRequire
139343
139436
  };
139344
- if (importKind === 1 /* Default */ && addAsTypeOnly === AddAsTypeOnly.Required) {
139437
+ if (importKind === 1 /* Default */ && addAsTypeOnly === 2 /* Required */) {
139345
139438
  if (typeOnlyEntry)
139346
139439
  return typeOnlyEntry;
139347
139440
  newImports.set(typeOnlyKey, newEntry);
139348
139441
  return newEntry;
139349
139442
  }
139350
- if (addAsTypeOnly === AddAsTypeOnly.Allowed && (typeOnlyEntry || nonTypeOnlyEntry)) {
139443
+ if (addAsTypeOnly === 1 /* Allowed */ && (typeOnlyEntry || nonTypeOnlyEntry)) {
139351
139444
  return typeOnlyEntry || nonTypeOnlyEntry;
139352
139445
  }
139353
139446
  if (nonTypeOnlyEntry) {
@@ -140354,7 +140447,7 @@ ${lanes.join("\n")}
140354
140447
  }
140355
140448
  return !isStringANonContextualKeyword(res) ? res || "_" : `_${res}`;
140356
140449
  }
140357
- var importFixName, importFixId, errorCodes17, ImportFixKind, AddAsTypeOnly;
140450
+ var importFixName, importFixId, errorCodes17;
140358
140451
  var init_importFixes = __esm({
140359
140452
  "src/services/codefixes/importFixes.ts"() {
140360
140453
  "use strict";
@@ -140413,20 +140506,6 @@ ${lanes.join("\n")}
140413
140506
  return createCombinedCodeActions(ts_textChanges_exports.ChangeTracker.with(context, importAdder.writeFixes));
140414
140507
  }
140415
140508
  });
140416
- ImportFixKind = /* @__PURE__ */ ((ImportFixKind2) => {
140417
- ImportFixKind2[ImportFixKind2["UseNamespace"] = 0] = "UseNamespace";
140418
- ImportFixKind2[ImportFixKind2["JsdocTypeImport"] = 1] = "JsdocTypeImport";
140419
- ImportFixKind2[ImportFixKind2["AddToExisting"] = 2] = "AddToExisting";
140420
- ImportFixKind2[ImportFixKind2["AddNew"] = 3] = "AddNew";
140421
- ImportFixKind2[ImportFixKind2["PromoteTypeOnly"] = 4] = "PromoteTypeOnly";
140422
- return ImportFixKind2;
140423
- })(ImportFixKind || {});
140424
- AddAsTypeOnly = /* @__PURE__ */ ((AddAsTypeOnly2) => {
140425
- AddAsTypeOnly2[AddAsTypeOnly2["Allowed"] = 1] = "Allowed";
140426
- AddAsTypeOnly2[AddAsTypeOnly2["Required"] = 2] = "Required";
140427
- AddAsTypeOnly2[AddAsTypeOnly2["NotAllowed"] = 4] = "NotAllowed";
140428
- return AddAsTypeOnly2;
140429
- })(AddAsTypeOnly || {});
140430
140509
  }
140431
140510
  });
140432
140511
 
@@ -146730,19 +146809,19 @@ ${lanes.join("\n")}
146730
146809
  return void 0;
146731
146810
  }
146732
146811
  switch (completionData.kind) {
146733
- case CompletionDataKind.Data:
146812
+ case 0 /* Data */:
146734
146813
  const response = completionInfoFromData(sourceFile, host, program, compilerOptions, log, completionData, preferences, formatContext, position);
146735
146814
  if (response == null ? void 0 : response.isIncomplete) {
146736
146815
  incompleteCompletionsCache == null ? void 0 : incompleteCompletionsCache.set(response);
146737
146816
  }
146738
146817
  return response;
146739
- case CompletionDataKind.JsDocTagName:
146818
+ case 1 /* JsDocTagName */:
146740
146819
  return jsdocCompletionInfo(ts_JsDoc_exports.getJSDocTagNameCompletions());
146741
- case CompletionDataKind.JsDocTag:
146820
+ case 2 /* JsDocTag */:
146742
146821
  return jsdocCompletionInfo(ts_JsDoc_exports.getJSDocTagCompletions());
146743
- case CompletionDataKind.JsDocParameterName:
146822
+ case 3 /* JsDocParameterName */:
146744
146823
  return jsdocCompletionInfo(ts_JsDoc_exports.getJSDocParameterNameCompletions(completionData.tag));
146745
- case CompletionDataKind.Keywords:
146824
+ case 4 /* Keywords */:
146746
146825
  return specificKeywordCompletionInfo(completionData.keywordCompletions, completionData.isNewIdentifierLocation);
146747
146826
  default:
146748
146827
  return Debug.assertNever(completionData);
@@ -146845,7 +146924,7 @@ ${lanes.join("\n")}
146845
146924
  }
146846
146925
  function keywordCompletionData(keywordFilters, filterOutTsOnlyKeywords, isNewIdentifierLocation) {
146847
146926
  return {
146848
- kind: CompletionDataKind.Keywords,
146927
+ kind: 4 /* Keywords */,
146849
146928
  keywordCompletions: getKeywordCompletions(keywordFilters, filterOutTsOnlyKeywords),
146850
146929
  isNewIdentifierLocation
146851
146930
  };
@@ -147075,64 +147154,6 @@ ${lanes.join("\n")}
147075
147154
  }
147076
147155
  return void 0;
147077
147156
  }
147078
- function newCaseClauseTracker(checker, clauses) {
147079
- const existingStrings = /* @__PURE__ */ new Set();
147080
- const existingNumbers = /* @__PURE__ */ new Set();
147081
- const existingBigInts = /* @__PURE__ */ new Set();
147082
- for (const clause of clauses) {
147083
- if (!isDefaultClause(clause)) {
147084
- if (isLiteralExpression(clause.expression)) {
147085
- const expression = clause.expression;
147086
- switch (expression.kind) {
147087
- case 14 /* NoSubstitutionTemplateLiteral */:
147088
- case 10 /* StringLiteral */:
147089
- existingStrings.add(expression.text);
147090
- break;
147091
- case 8 /* NumericLiteral */:
147092
- existingNumbers.add(parseInt(expression.text));
147093
- break;
147094
- case 9 /* BigIntLiteral */:
147095
- const parsedBigInt = parseBigInt(endsWith(expression.text, "n") ? expression.text.slice(0, -1) : expression.text);
147096
- if (parsedBigInt) {
147097
- existingBigInts.add(pseudoBigIntToString(parsedBigInt));
147098
- }
147099
- break;
147100
- }
147101
- } else {
147102
- const symbol = checker.getSymbolAtLocation(clause.expression);
147103
- if (symbol && symbol.valueDeclaration && isEnumMember(symbol.valueDeclaration)) {
147104
- const enumValue = checker.getConstantValue(symbol.valueDeclaration);
147105
- if (enumValue !== void 0) {
147106
- addValue(enumValue);
147107
- }
147108
- }
147109
- }
147110
- }
147111
- }
147112
- return {
147113
- addValue,
147114
- hasValue
147115
- };
147116
- function addValue(value) {
147117
- switch (typeof value) {
147118
- case "string":
147119
- existingStrings.add(value);
147120
- break;
147121
- case "number":
147122
- existingNumbers.add(value);
147123
- }
147124
- }
147125
- function hasValue(value) {
147126
- switch (typeof value) {
147127
- case "string":
147128
- return existingStrings.has(value);
147129
- case "number":
147130
- return existingNumbers.has(value);
147131
- case "object":
147132
- return existingBigInts.has(pseudoBigIntToString(value));
147133
- }
147134
- }
147135
- }
147136
147157
  function typeNodeToExpression(typeNode, languageVersion, quotePreference) {
147137
147158
  switch (typeNode.kind) {
147138
147159
  case 180 /* TypeReference */:
@@ -147180,9 +147201,9 @@ ${lanes.join("\n")}
147180
147201
  }
147181
147202
  function isMemberCompletionKind(kind) {
147182
147203
  switch (kind) {
147183
- case CompletionKind.ObjectPropertyDeclaration:
147184
- case CompletionKind.MemberLike:
147185
- case CompletionKind.PropertyAccess:
147204
+ case 0 /* ObjectPropertyDeclaration */:
147205
+ case 3 /* MemberLike */:
147206
+ case 2 /* PropertyAccess */:
147186
147207
  return true;
147187
147208
  default:
147188
147209
  return false;
@@ -147298,7 +147319,7 @@ ${lanes.join("\n")}
147298
147319
  if ((origin == null ? void 0 : origin.kind) === 64 /* TypeOnlyAlias */) {
147299
147320
  hasAction = true;
147300
147321
  }
147301
- if (preferences.includeCompletionsWithClassMemberSnippets && preferences.includeCompletionsWithInsertText && completionKind === CompletionKind.MemberLike && isClassLikeMemberCompletion(symbol, location, sourceFile)) {
147322
+ if (preferences.includeCompletionsWithClassMemberSnippets && preferences.includeCompletionsWithInsertText && completionKind === 3 /* MemberLike */ && isClassLikeMemberCompletion(symbol, location, sourceFile)) {
147302
147323
  let importAdder;
147303
147324
  ({ insertText, isSnippet, importAdder, replacementSpan } = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, position, contextToken, formatContext));
147304
147325
  sortText = SortText.ClassMemberSnippets;
@@ -147833,7 +147854,7 @@ ${lanes.join("\n")}
147833
147854
  const symbol = symbols[i];
147834
147855
  const origin = symbolToOriginInfoMap == null ? void 0 : symbolToOriginInfoMap[i];
147835
147856
  const info = getCompletionEntryDisplayNameForSymbol(symbol, target, origin, kind, !!jsxIdentifierExpected);
147836
- if (!info || uniques.get(info.name) && (!origin || !originIsObjectLiteralMethod(origin)) || kind === CompletionKind.Global && symbolToSortTextMap && !shouldIncludeSymbol(symbol, symbolToSortTextMap)) {
147857
+ if (!info || uniques.get(info.name) && (!origin || !originIsObjectLiteralMethod(origin)) || kind === 1 /* Global */ && symbolToSortTextMap && !shouldIncludeSymbol(symbol, symbolToSortTextMap)) {
147837
147858
  continue;
147838
147859
  }
147839
147860
  const { name, needsConvertPropertyAccess } = info;
@@ -147972,7 +147993,7 @@ ${lanes.join("\n")}
147972
147993
  if (!completionData) {
147973
147994
  return { type: "none" };
147974
147995
  }
147975
- if (completionData.kind !== CompletionDataKind.Data) {
147996
+ if (completionData.kind !== 0 /* Data */) {
147976
147997
  return { type: "request", request: completionData };
147977
147998
  }
147978
147999
  const { symbols, literals, location, completionKind, symbolToOriginInfoMap, contextToken, previousToken, isJsxInitializer, isTypeOnlyLocation } = completionData;
@@ -147998,13 +148019,13 @@ ${lanes.join("\n")}
147998
148019
  case "request": {
147999
148020
  const { request } = symbolCompletion;
148000
148021
  switch (request.kind) {
148001
- case CompletionDataKind.JsDocTagName:
148022
+ case 1 /* JsDocTagName */:
148002
148023
  return ts_JsDoc_exports.getJSDocTagNameCompletionDetails(name);
148003
- case CompletionDataKind.JsDocTag:
148024
+ case 2 /* JsDocTag */:
148004
148025
  return ts_JsDoc_exports.getJSDocTagCompletionDetails(name);
148005
- case CompletionDataKind.JsDocParameterName:
148026
+ case 3 /* JsDocParameterName */:
148006
148027
  return ts_JsDoc_exports.getJSDocParameterNameCompletionDetails(name);
148007
- case CompletionDataKind.Keywords:
148028
+ case 4 /* Keywords */:
148008
148029
  return some(request.keywordCompletions, (c) => c.name === name) ? createSimpleDetails(name, "keyword" /* keyword */, 5 /* keyword */) : void 0;
148009
148030
  default:
148010
148031
  return Debug.assertNever(request);
@@ -150010,7 +150031,7 @@ ${lanes.join("\n")}
150010
150031
  }
150011
150032
  return charCode;
150012
150033
  }
150013
- var moduleSpecifierResolutionLimit, moduleSpecifierResolutionCacheAttemptLimit, SortText, CompletionSource, SymbolOriginInfoKind, CompletionDataKind, CompletionKind, _keywordCompletions, allKeywordsCompletions;
150034
+ var moduleSpecifierResolutionLimit, moduleSpecifierResolutionCacheAttemptLimit, SortText, CompletionSource, SymbolOriginInfoKind, CompletionKind, _keywordCompletions, allKeywordsCompletions;
150014
150035
  var init_completions = __esm({
150015
150036
  "src/services/completions.ts"() {
150016
150037
  "use strict";
@@ -150062,14 +150083,6 @@ ${lanes.join("\n")}
150062
150083
  SymbolOriginInfoKind2[SymbolOriginInfoKind2["SymbolMemberExport"] = 6] = "SymbolMemberExport";
150063
150084
  return SymbolOriginInfoKind2;
150064
150085
  })(SymbolOriginInfoKind || {});
150065
- CompletionDataKind = /* @__PURE__ */ ((CompletionDataKind2) => {
150066
- CompletionDataKind2[CompletionDataKind2["Data"] = 0] = "Data";
150067
- CompletionDataKind2[CompletionDataKind2["JsDocTagName"] = 1] = "JsDocTagName";
150068
- CompletionDataKind2[CompletionDataKind2["JsDocTag"] = 2] = "JsDocTag";
150069
- CompletionDataKind2[CompletionDataKind2["JsDocParameterName"] = 3] = "JsDocParameterName";
150070
- CompletionDataKind2[CompletionDataKind2["Keywords"] = 4] = "Keywords";
150071
- return CompletionDataKind2;
150072
- })(CompletionDataKind || {});
150073
150086
  CompletionKind = /* @__PURE__ */ ((CompletionKind2) => {
150074
150087
  CompletionKind2[CompletionKind2["ObjectPropertyDeclaration"] = 0] = "ObjectPropertyDeclaration";
150075
150088
  CompletionKind2[CompletionKind2["Global"] = 1] = "Global";
@@ -150128,9 +150141,9 @@ ${lanes.join("\n")}
150128
150141
  }
150129
150142
  const optionalReplacementSpan = createTextSpanFromStringLiteralLikeContent(contextToken);
150130
150143
  switch (completion.kind) {
150131
- case StringLiteralCompletionKind.Paths:
150144
+ case 0 /* Paths */:
150132
150145
  return convertPathCompletions(completion.paths);
150133
- case StringLiteralCompletionKind.Properties: {
150146
+ case 1 /* Properties */: {
150134
150147
  const entries = createSortedArray();
150135
150148
  getCompletionEntriesFromSymbols(
150136
150149
  completion.symbols,
@@ -150152,7 +150165,7 @@ ${lanes.join("\n")}
150152
150165
  );
150153
150166
  return { isGlobalCompletion: false, isMemberCompletion: true, isNewIdentifierLocation: completion.hasIndexSignature, optionalReplacementSpan, entries };
150154
150167
  }
150155
- case StringLiteralCompletionKind.Types: {
150168
+ case 2 /* Types */: {
150156
150169
  const entries = completion.types.map((type) => ({
150157
150170
  name: type.value,
150158
150171
  kindModifiers: "" /* none */,
@@ -150174,16 +150187,16 @@ ${lanes.join("\n")}
150174
150187
  }
150175
150188
  function stringLiteralCompletionDetails(name, location, completion, sourceFile, checker, cancellationToken) {
150176
150189
  switch (completion.kind) {
150177
- case StringLiteralCompletionKind.Paths: {
150190
+ case 0 /* Paths */: {
150178
150191
  const match = find(completion.paths, (p) => p.name === name);
150179
150192
  return match && createCompletionDetails(name, kindModifiersFromExtension(match.extension), match.kind, [textPart(name)]);
150180
150193
  }
150181
- case StringLiteralCompletionKind.Properties: {
150194
+ case 1 /* Properties */: {
150182
150195
  const match = find(completion.symbols, (s) => s.name === name);
150183
150196
  return match && createCompletionDetailsForSymbol(match, checker, sourceFile, location, cancellationToken);
150184
150197
  }
150185
- case StringLiteralCompletionKind.Types:
150186
- return find(completion.types, (t) => t.value === name) ? createCompletionDetails(name, "" /* none */, "type" /* typeElement */, [textPart(name)]) : void 0;
150198
+ case 2 /* Types */:
150199
+ return find(completion.types, (t) => t.value === name) ? createCompletionDetails(name, "" /* none */, "string" /* string */, [textPart(name)]) : void 0;
150187
150200
  default:
150188
150201
  return Debug.assertNever(completion);
150189
150202
  }
@@ -150285,6 +150298,10 @@ ${lanes.join("\n")}
150285
150298
  case 275 /* ExportDeclaration */:
150286
150299
  case 280 /* ExternalModuleReference */:
150287
150300
  return { kind: 0 /* Paths */, paths: getStringLiteralCompletionsFromModuleNames(sourceFile, node, compilerOptions, host, typeChecker, preferences) };
150301
+ case 292 /* CaseClause */:
150302
+ const tracker = newCaseClauseTracker(typeChecker, node.parent.parent.clauses);
150303
+ const literals = fromContextualType().types.filter((literal) => !tracker.hasValue(literal.value));
150304
+ return { kind: 2 /* Types */, types: literals, isNewIdentifier: false };
150288
150305
  default:
150289
150306
  return fromContextualType();
150290
150307
  }
@@ -150380,7 +150397,7 @@ ${lanes.join("\n")}
150380
150397
  const mode = isStringLiteralLike(node) ? getModeForUsageLocation(sourceFile, node) : void 0;
150381
150398
  const scriptPath = sourceFile.path;
150382
150399
  const scriptDirectory = getDirectoryPath(scriptPath);
150383
- const extensionOptions = getExtensionOptions(compilerOptions, ReferenceKind.ModuleSpecifier, sourceFile, typeChecker, preferences, mode);
150400
+ const extensionOptions = getExtensionOptions(compilerOptions, 1 /* ModuleSpecifier */, sourceFile, typeChecker, preferences, mode);
150384
150401
  return isPathRelativeToScript(literalValue) || !compilerOptions.baseUrl && (isRootedDiskPath(literalValue) || isUrl(literalValue)) ? getCompletionEntriesForRelativeModules(literalValue, scriptDirectory, compilerOptions, host, scriptPath, extensionOptions) : getCompletionEntriesForNonRelativeModules(literalValue, scriptDirectory, mode, compilerOptions, host, extensionOptions, typeChecker);
150385
150402
  }
150386
150403
  function getExtensionOptions(compilerOptions, referenceKind, importingSourceFile, typeChecker, preferences, resolutionMode) {
@@ -150896,7 +150913,7 @@ ${lanes.join("\n")}
150896
150913
  function isRequireCallArgument(node) {
150897
150914
  return isCallExpression(node.parent) && firstOrUndefined(node.parent.arguments) === node && isIdentifier(node.parent.expression) && node.parent.expression.escapedText === "require";
150898
150915
  }
150899
- var kindPrecedence, StringLiteralCompletionKind, ReferenceKind, tripleSlashDirectiveFragmentRegex, nodeModulesDependencyKeys;
150916
+ var kindPrecedence, tripleSlashDirectiveFragmentRegex, nodeModulesDependencyKeys;
150900
150917
  var init_stringCompletions = __esm({
150901
150918
  "src/services/stringCompletions.ts"() {
150902
150919
  "use strict";
@@ -150907,17 +150924,6 @@ ${lanes.join("\n")}
150907
150924
  ["script" /* scriptElement */]: 1,
150908
150925
  ["external module name" /* externalModuleName */]: 2
150909
150926
  };
150910
- StringLiteralCompletionKind = /* @__PURE__ */ ((StringLiteralCompletionKind2) => {
150911
- StringLiteralCompletionKind2[StringLiteralCompletionKind2["Paths"] = 0] = "Paths";
150912
- StringLiteralCompletionKind2[StringLiteralCompletionKind2["Properties"] = 1] = "Properties";
150913
- StringLiteralCompletionKind2[StringLiteralCompletionKind2["Types"] = 2] = "Types";
150914
- return StringLiteralCompletionKind2;
150915
- })(StringLiteralCompletionKind || {});
150916
- ReferenceKind = /* @__PURE__ */ ((ReferenceKind2) => {
150917
- ReferenceKind2[ReferenceKind2["Filename"] = 0] = "Filename";
150918
- ReferenceKind2[ReferenceKind2["ModuleSpecifier"] = 1] = "ModuleSpecifier";
150919
- return ReferenceKind2;
150920
- })(ReferenceKind || {});
150921
150927
  tripleSlashDirectiveFragmentRegex = /^(\/\/\/\s*<reference\s+(path|types)\s*=\s*(?:'|"))([^\3"]*)$/;
150922
150928
  nodeModulesDependencyKeys = ["dependencies", "devDependencies", "peerDependencies", "optionalDependencies"];
150923
150929
  }
@@ -152268,7 +152274,7 @@ ${lanes.join("\n")}
152268
152274
  ) || originalSymbol;
152269
152275
  const searchMeaning = node ? getIntersectingMeaningFromDeclarations(node, symbol) : 7 /* All */;
152270
152276
  const result = [];
152271
- const state = new State(sourceFiles, sourceFilesSet, node ? getSpecialSearchKind(node) : SpecialSearchKind.None, checker, cancellationToken, searchMeaning, options, result);
152277
+ const state = new State(sourceFiles, sourceFilesSet, node ? getSpecialSearchKind(node) : 0 /* None */, checker, cancellationToken, searchMeaning, options, result);
152272
152278
  const exportSpecifier = !isForRenameWithPrefixAndSuffixText(options) || !symbol.declarations ? void 0 : find(symbol.declarations, isExportSpecifier);
152273
152279
  if (exportSpecifier) {
152274
152280
  getReferencesAtExportSpecifier(
@@ -152324,14 +152330,14 @@ ${lanes.join("\n")}
152324
152330
  switch (node.kind) {
152325
152331
  case 173 /* Constructor */:
152326
152332
  case 135 /* ConstructorKeyword */:
152327
- return SpecialSearchKind.Constructor;
152333
+ return 1 /* Constructor */;
152328
152334
  case 79 /* Identifier */:
152329
152335
  if (isClassLike(node.parent)) {
152330
152336
  Debug.assert(node.parent.name === node);
152331
- return SpecialSearchKind.Class;
152337
+ return 2 /* Class */;
152332
152338
  }
152333
152339
  default:
152334
- return SpecialSearchKind.None;
152340
+ return 0 /* None */;
152335
152341
  }
152336
152342
  }
152337
152343
  function skipPastExportOrImportSpecifierOrUnion(symbol, node, checker, useLocalSymbolForExportSpecifier) {
@@ -159397,10 +159403,10 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
159397
159403
  const scopeDescription = isFunctionLikeDeclaration(scope) ? getDescriptionForFunctionLikeDeclaration(scope) : isClassLike(scope) ? getDescriptionForClassLikeDeclaration(scope) : getDescriptionForModuleLikeDeclaration(scope);
159398
159404
  let functionDescription;
159399
159405
  let constantDescription;
159400
- if (scopeDescription === SpecialScope.Global) {
159406
+ if (scopeDescription === 1 /* Global */) {
159401
159407
  functionDescription = formatStringFromArgs(getLocaleSpecificMessage(Diagnostics.Extract_to_0_in_1_scope), [functionDescriptionPart, "global"]);
159402
159408
  constantDescription = formatStringFromArgs(getLocaleSpecificMessage(Diagnostics.Extract_to_0_in_1_scope), [constantDescriptionPart, "global"]);
159403
- } else if (scopeDescription === SpecialScope.Module) {
159409
+ } else if (scopeDescription === 0 /* Module */) {
159404
159410
  functionDescription = formatStringFromArgs(getLocaleSpecificMessage(Diagnostics.Extract_to_0_in_1_scope), [functionDescriptionPart, "module"]);
159405
159411
  constantDescription = formatStringFromArgs(getLocaleSpecificMessage(Diagnostics.Extract_to_0_in_1_scope), [constantDescriptionPart, "module"]);
159406
159412
  } else {
@@ -159466,7 +159472,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
159466
159472
  return scope.kind === 260 /* ClassDeclaration */ ? scope.name ? `class '${scope.name.text}'` : "anonymous class declaration" : scope.name ? `class expression '${scope.name.text}'` : "anonymous class expression";
159467
159473
  }
159468
159474
  function getDescriptionForModuleLikeDeclaration(scope) {
159469
- return scope.kind === 265 /* ModuleBlock */ ? `namespace '${scope.parent.name.getText()}'` : scope.externalModuleIndicator ? SpecialScope.Module : SpecialScope.Global;
159475
+ return scope.kind === 265 /* ModuleBlock */ ? `namespace '${scope.parent.name.getText()}'` : scope.externalModuleIndicator ? 0 /* Module */ : 1 /* Global */;
159470
159476
  }
159471
159477
  function extractFunctionInScope(node, scope, { usages: usagesInScope, typeParameterUsages, substitutions }, exposedVariableDeclarations, range, context) {
159472
159478
  const checker = context.program.getTypeChecker();
@@ -159499,7 +159505,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
159499
159505
  typeNode
159500
159506
  );
159501
159507
  parameters.push(paramDecl);
159502
- if (usage.usage === Usage.Write) {
159508
+ if (usage.usage === 2 /* Write */) {
159503
159509
  (writes || (writes = [])).push(usage);
159504
159510
  }
159505
159511
  callArguments.push(factory.createIdentifier(name));
@@ -160457,7 +160463,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
160457
160463
  function isStringLiteralJsxAttribute(node) {
160458
160464
  return isStringLiteral(node) && node.parent && isJsxAttribute(node.parent);
160459
160465
  }
160460
- var refactorName11, extractConstantAction, extractFunctionAction, Messages, RangeFacts, SpecialScope, Usage;
160466
+ var refactorName11, extractConstantAction, extractFunctionAction, Messages, RangeFacts;
160461
160467
  var init_extractSymbol = __esm({
160462
160468
  "src/services/refactors/extractSymbol.ts"() {
160463
160469
  "use strict";
@@ -160520,16 +160526,6 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
160520
160526
  RangeFacts2[RangeFacts2["InStaticRegion"] = 32] = "InStaticRegion";
160521
160527
  return RangeFacts2;
160522
160528
  })(RangeFacts || {});
160523
- SpecialScope = /* @__PURE__ */ ((SpecialScope2) => {
160524
- SpecialScope2[SpecialScope2["Module"] = 0] = "Module";
160525
- SpecialScope2[SpecialScope2["Global"] = 1] = "Global";
160526
- return SpecialScope2;
160527
- })(SpecialScope || {});
160528
- Usage = /* @__PURE__ */ ((Usage2) => {
160529
- Usage2[Usage2["Read"] = 1] = "Read";
160530
- Usage2[Usage2["Write"] = 2] = "Write";
160531
- return Usage2;
160532
- })(Usage || {});
160533
160529
  }
160534
160530
  });
160535
160531
 
@@ -160961,7 +160957,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
160961
160957
  if (!candidateInfo) {
160962
160958
  return isSourceFileJS(sourceFile) ? createJSSignatureHelpItems(argumentInfo, program, cancellationToken) : void 0;
160963
160959
  }
160964
- return typeChecker.runWithCancellationToken(cancellationToken, (typeChecker2) => candidateInfo.kind === CandidateOrTypeKind.Candidate ? createSignatureHelpItems(candidateInfo.candidates, candidateInfo.resolvedSignature, argumentInfo, sourceFile, typeChecker2) : createTypeHelpItems(candidateInfo.symbol, argumentInfo, sourceFile, typeChecker2));
160960
+ return typeChecker.runWithCancellationToken(cancellationToken, (typeChecker2) => candidateInfo.kind === 0 /* Candidate */ ? createSignatureHelpItems(candidateInfo.candidates, candidateInfo.resolvedSignature, argumentInfo, sourceFile, typeChecker2) : createTypeHelpItems(candidateInfo.symbol, argumentInfo, sourceFile, typeChecker2));
160965
160961
  }
160966
160962
  function getCandidateOrTypeInfo({ invocation, argumentCount }, checker, sourceFile, startingToken, onlyUseSyntacticOwners) {
160967
160963
  switch (invocation.kind) {
@@ -161433,16 +161429,11 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
161433
161429
  });
161434
161430
  return { name: typeParameter.symbol.name, documentation: typeParameter.symbol.getDocumentationComment(checker), displayParts, isOptional: false, isRest: false };
161435
161431
  }
161436
- var CandidateOrTypeKind, signatureHelpNodeBuilderFlags, separatorDisplayParts;
161432
+ var signatureHelpNodeBuilderFlags, separatorDisplayParts;
161437
161433
  var init_signatureHelp = __esm({
161438
161434
  "src/services/signatureHelp.ts"() {
161439
161435
  "use strict";
161440
161436
  init_ts4();
161441
- CandidateOrTypeKind = /* @__PURE__ */ ((CandidateOrTypeKind2) => {
161442
- CandidateOrTypeKind2[CandidateOrTypeKind2["Candidate"] = 0] = "Candidate";
161443
- CandidateOrTypeKind2[CandidateOrTypeKind2["Type"] = 1] = "Type";
161444
- return CandidateOrTypeKind2;
161445
- })(CandidateOrTypeKind || {});
161446
161437
  signatureHelpNodeBuilderFlags = 8192 /* OmitParameterModifiers */ | 70221824 /* IgnoreErrors */ | 16384 /* UseAliasDefinedOutsideCurrentScope */;
161447
161438
  separatorDisplayParts = [punctuationPart(27 /* CommaToken */), spacePart()];
161448
161439
  }
@@ -165447,7 +165438,7 @@ ${options.prefix}` : "\n" : options.prefix
165447
165438
  if (currentTokenInfo.leadingTrivia) {
165448
165439
  processTrivia(currentTokenInfo.leadingTrivia, parent2, childContextNode, dynamicIndentation);
165449
165440
  }
165450
- let lineAction = LineAction.None;
165441
+ let lineAction = 0 /* None */;
165451
165442
  const isTokenInRange = rangeContainsRange(originalRange, currentTokenInfo.token);
165452
165443
  const tokenStart = sourceFile.getLineAndCharacterOfPosition(currentTokenInfo.token.pos);
165453
165444
  if (isTokenInRange) {
@@ -165455,11 +165446,11 @@ ${options.prefix}` : "\n" : options.prefix
165455
165446
  const savePreviousRange = previousRange;
165456
165447
  lineAction = processRange(currentTokenInfo.token, tokenStart, parent2, childContextNode, dynamicIndentation);
165457
165448
  if (!rangeHasError) {
165458
- if (lineAction === LineAction.None) {
165449
+ if (lineAction === 0 /* None */) {
165459
165450
  const prevEndLine = savePreviousRange && sourceFile.getLineAndCharacterOfPosition(savePreviousRange.end).line;
165460
165451
  indentToken = lastTriviaWasNewLine && tokenStart.line !== prevEndLine;
165461
165452
  } else {
165462
- indentToken = lineAction === LineAction.LineAdded;
165453
+ indentToken = lineAction === 1 /* LineAdded */;
165463
165454
  }
165464
165455
  }
165465
165456
  }
@@ -165485,7 +165476,7 @@ ${options.prefix}` : "\n" : options.prefix
165485
165476
  );
165486
165477
  }
165487
165478
  if (tokenIndentation !== -1 /* Unknown */ && indentNextTokenOrTrivia) {
165488
- insertIndentation(currentTokenInfo.token.pos, tokenIndentation, lineAction === LineAction.LineAdded);
165479
+ insertIndentation(currentTokenInfo.token.pos, tokenIndentation, lineAction === 1 /* LineAdded */);
165489
165480
  lastIndentedLine = tokenStart.line;
165490
165481
  indentationOnLastIndentedLine = tokenIndentation;
165491
165482
  }
@@ -165532,7 +165523,7 @@ ${options.prefix}` : "\n" : options.prefix
165532
165523
  }
165533
165524
  function processRange(range, rangeStart, parent2, contextNode, dynamicIndentation) {
165534
165525
  const rangeHasError = rangeContainsError(range);
165535
- let lineAction = LineAction.None;
165526
+ let lineAction = 0 /* None */;
165536
165527
  if (!rangeHasError) {
165537
165528
  if (!previousRange) {
165538
165529
  const originalStart = sourceFile.getLineAndCharacterOfPosition(originalRange.pos);
@@ -165551,13 +165542,13 @@ ${options.prefix}` : "\n" : options.prefix
165551
165542
  formattingContext.updateContext(previousItem, previousParent2, currentItem, currentParent, contextNode);
165552
165543
  const rules = getRules(formattingContext);
165553
165544
  let trimTrailingWhitespaces = formattingContext.options.trimTrailingWhitespace !== false;
165554
- let lineAction = LineAction.None;
165545
+ let lineAction = 0 /* None */;
165555
165546
  if (rules) {
165556
165547
  forEachRight(rules, (rule2) => {
165557
165548
  lineAction = applyRuleEdits(rule2, previousItem, previousStartLine, currentItem, currentStartLine);
165558
165549
  if (dynamicIndentation) {
165559
165550
  switch (lineAction) {
165560
- case LineAction.LineRemoved:
165551
+ case 2 /* LineRemoved */:
165561
165552
  if (currentParent.getStart(sourceFile) === currentItem.pos) {
165562
165553
  dynamicIndentation.recomputeIndentation(
165563
165554
  /*lineAddedByFormatting*/
@@ -165566,7 +165557,7 @@ ${options.prefix}` : "\n" : options.prefix
165566
165557
  );
165567
165558
  }
165568
165559
  break;
165569
- case LineAction.LineAdded:
165560
+ case 1 /* LineAdded */:
165570
165561
  if (currentParent.getStart(sourceFile) === currentItem.pos) {
165571
165562
  dynamicIndentation.recomputeIndentation(
165572
165563
  /*lineAddedByFormatting*/
@@ -165576,7 +165567,7 @@ ${options.prefix}` : "\n" : options.prefix
165576
165567
  }
165577
165568
  break;
165578
165569
  default:
165579
- Debug.assert(lineAction === LineAction.None);
165570
+ Debug.assert(lineAction === 0 /* None */);
165580
165571
  }
165581
165572
  }
165582
165573
  trimTrailingWhitespaces = trimTrailingWhitespaces && !(rule2.action & 16 /* DeleteSpace */) && rule2.flags !== 1 /* CanDeleteNewLines */;
@@ -165723,11 +165714,11 @@ ${options.prefix}` : "\n" : options.prefix
165723
165714
  const onLaterLine = currentStartLine !== previousStartLine;
165724
165715
  switch (rule2.action) {
165725
165716
  case 1 /* StopProcessingSpaceActions */:
165726
- return LineAction.None;
165717
+ return 0 /* None */;
165727
165718
  case 16 /* DeleteSpace */:
165728
165719
  if (previousRange2.end !== currentRange.pos) {
165729
165720
  recordDelete(previousRange2.end, currentRange.pos - previousRange2.end);
165730
- return onLaterLine ? LineAction.LineRemoved : LineAction.None;
165721
+ return onLaterLine ? 2 /* LineRemoved */ : 0 /* None */;
165731
165722
  }
165732
165723
  break;
165733
165724
  case 32 /* DeleteToken */:
@@ -165735,28 +165726,28 @@ ${options.prefix}` : "\n" : options.prefix
165735
165726
  break;
165736
165727
  case 8 /* InsertNewLine */:
165737
165728
  if (rule2.flags !== 1 /* CanDeleteNewLines */ && previousStartLine !== currentStartLine) {
165738
- return LineAction.None;
165729
+ return 0 /* None */;
165739
165730
  }
165740
165731
  const lineDelta = currentStartLine - previousStartLine;
165741
165732
  if (lineDelta !== 1) {
165742
165733
  recordReplace(previousRange2.end, currentRange.pos - previousRange2.end, getNewLineOrDefaultFromHost(host, options));
165743
- return onLaterLine ? LineAction.None : LineAction.LineAdded;
165734
+ return onLaterLine ? 0 /* None */ : 1 /* LineAdded */;
165744
165735
  }
165745
165736
  break;
165746
165737
  case 4 /* InsertSpace */:
165747
165738
  if (rule2.flags !== 1 /* CanDeleteNewLines */ && previousStartLine !== currentStartLine) {
165748
- return LineAction.None;
165739
+ return 0 /* None */;
165749
165740
  }
165750
165741
  const posDelta = currentRange.pos - previousRange2.end;
165751
165742
  if (posDelta !== 1 || sourceFile.text.charCodeAt(previousRange2.end) !== 32 /* space */) {
165752
165743
  recordReplace(previousRange2.end, currentRange.pos - previousRange2.end, " ");
165753
- return onLaterLine ? LineAction.LineRemoved : LineAction.None;
165744
+ return onLaterLine ? 2 /* LineRemoved */ : 0 /* None */;
165754
165745
  }
165755
165746
  break;
165756
165747
  case 64 /* InsertTrailingSemicolon */:
165757
165748
  recordInsert(previousRange2.end, ";");
165758
165749
  }
165759
- return LineAction.None;
165750
+ return 0 /* None */;
165760
165751
  }
165761
165752
  }
165762
165753
  function getRangeOfEnclosingComment(sourceFile, position, precedingToken, tokenAtPosition = getTokenAtPosition(sourceFile, position)) {
@@ -165882,18 +165873,12 @@ ${options.prefix}` : "\n" : options.prefix
165882
165873
  return remainder ? spacesString + repeatString(" ", remainder) : spacesString;
165883
165874
  }
165884
165875
  }
165885
- var LineAction, internedSizes, internedTabsIndentation, internedSpacesIndentation;
165876
+ var internedSizes, internedTabsIndentation, internedSpacesIndentation;
165886
165877
  var init_formatting = __esm({
165887
165878
  "src/services/formatting/formatting.ts"() {
165888
165879
  "use strict";
165889
165880
  init_ts4();
165890
165881
  init_ts_formatting();
165891
- LineAction = /* @__PURE__ */ ((LineAction2) => {
165892
- LineAction2[LineAction2["None"] = 0] = "None";
165893
- LineAction2[LineAction2["LineAdded"] = 1] = "LineAdded";
165894
- LineAction2[LineAction2["LineRemoved"] = 2] = "LineRemoved";
165895
- return LineAction2;
165896
- })(LineAction || {});
165897
165882
  }
165898
165883
  });
165899
165884
 
@@ -165997,7 +165982,7 @@ ${options.prefix}` : "\n" : options.prefix
165997
165982
  )) {
165998
165983
  const currentStart = getStartLineAndCharacterForNode(current, sourceFile);
165999
165984
  const nextTokenKind = nextTokenIsCurlyBraceOnSameLineAsCursor(precedingToken, current, lineAtPosition, sourceFile);
166000
- const indentationDelta = nextTokenKind !== NextTokenKind.Unknown ? assumeNewLineBeforeCloseBrace && nextTokenKind === NextTokenKind.CloseBrace ? options.indentSize : 0 : lineAtPosition !== currentStart.line ? options.indentSize : 0;
165985
+ const indentationDelta = nextTokenKind !== 0 /* Unknown */ ? assumeNewLineBeforeCloseBrace && nextTokenKind === 2 /* CloseBrace */ ? options.indentSize : 0 : lineAtPosition !== currentStart.line ? options.indentSize : 0;
166001
165986
  return getIndentationForNodeWorker(
166002
165987
  current,
166003
165988
  currentStart,
@@ -173650,6 +173635,10 @@ ${json}${newLine}`;
173650
173635
  continue;
173651
173636
  if (isLocationProjectReferenceRedirect(project, location))
173652
173637
  continue;
173638
+ updateProjectIfDirty(project);
173639
+ if (!project.containsFile(toNormalizedPath(location.fileName))) {
173640
+ continue;
173641
+ }
173653
173642
  const projectResults = searchPosition(project, location);
173654
173643
  resultsMap.set(project, projectResults != null ? projectResults : emptyArray2);
173655
173644
  searchedProjectKeys.add(getProjectKey(project));
@@ -179332,6 +179321,7 @@ ${e.message}`;
179332
179321
  mutateMapSkippingNewValues: () => mutateMapSkippingNewValues,
179333
179322
  needsParentheses: () => needsParentheses,
179334
179323
  needsScopeMarker: () => needsScopeMarker,
179324
+ newCaseClauseTracker: () => newCaseClauseTracker,
179335
179325
  newPrivateEnvironment: () => newPrivateEnvironment,
179336
179326
  noEmitNotification: () => noEmitNotification,
179337
179327
  noEmitSubstitution: () => noEmitSubstitution,
@@ -181690,6 +181680,7 @@ ${e.message}`;
181690
181680
  mutateMapSkippingNewValues: () => mutateMapSkippingNewValues,
181691
181681
  needsParentheses: () => needsParentheses,
181692
181682
  needsScopeMarker: () => needsScopeMarker,
181683
+ newCaseClauseTracker: () => newCaseClauseTracker,
181693
181684
  newPrivateEnvironment: () => newPrivateEnvironment,
181694
181685
  noEmitNotification: () => noEmitNotification,
181695
181686
  noEmitSubstitution: () => noEmitSubstitution,