typescript 5.0.0-dev.20230206 → 5.0.0-dev.20230207

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/typescript.js CHANGED
@@ -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.20230206`;
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
  }
@@ -126618,7 +126624,7 @@ ${lanes.join("\n")}
126618
126624
  );
126619
126625
  }
126620
126626
  function makeStringLiteral(text, quotePreference) {
126621
- return factory.createStringLiteral(text, quotePreference === QuotePreference.Single);
126627
+ return factory.createStringLiteral(text, quotePreference === 0 /* Single */);
126622
126628
  }
126623
126629
  function quotePreferenceFromString(str, sourceFile) {
126624
126630
  return isStringDoubleQuoted(str, sourceFile) ? 1 /* Double */ : 0 /* Single */;
@@ -127520,7 +127526,13 @@ ${lanes.join("\n")}
127520
127526
  function createPackageJsonImportFilter(fromFile, preferences, host) {
127521
127527
  const packageJsons = (host.getPackageJsonsVisibleToFile && host.getPackageJsonsVisibleToFile(fromFile.fileName) || getPackageJsonsVisibleToFile(fromFile.fileName, host)).filter((p) => p.parseable);
127522
127528
  let usesNodeCoreModules;
127523
- return { allowsImportingAmbientModule, allowsImportingSourceFile, allowsImportingSpecifier };
127529
+ let ambientModuleCache;
127530
+ let sourceFileCache;
127531
+ return {
127532
+ allowsImportingAmbientModule,
127533
+ allowsImportingSourceFile,
127534
+ allowsImportingSpecifier
127535
+ };
127524
127536
  function moduleSpecifierIsCoveredByPackageJson(specifier) {
127525
127537
  const packageName = getNodeModuleRootSpecifier(specifier);
127526
127538
  for (const packageJson of packageJsons) {
@@ -127534,26 +127546,49 @@ ${lanes.join("\n")}
127534
127546
  if (!packageJsons.length || !moduleSymbol.valueDeclaration) {
127535
127547
  return true;
127536
127548
  }
127537
- const declaringSourceFile = moduleSymbol.valueDeclaration.getSourceFile();
127538
- const declaringNodeModuleName = getNodeModulesPackageNameFromFileName(declaringSourceFile.fileName, moduleSpecifierResolutionHost);
127539
- if (typeof declaringNodeModuleName === "undefined") {
127540
- return true;
127549
+ if (!ambientModuleCache) {
127550
+ ambientModuleCache = /* @__PURE__ */ new Map();
127551
+ } else {
127552
+ const cached = ambientModuleCache.get(moduleSymbol);
127553
+ if (cached !== void 0) {
127554
+ return cached;
127555
+ }
127541
127556
  }
127542
127557
  const declaredModuleSpecifier = stripQuotes(moduleSymbol.getName());
127543
127558
  if (isAllowedCoreNodeModulesImport(declaredModuleSpecifier)) {
127559
+ ambientModuleCache.set(moduleSymbol, true);
127544
127560
  return true;
127545
127561
  }
127546
- return moduleSpecifierIsCoveredByPackageJson(declaringNodeModuleName) || moduleSpecifierIsCoveredByPackageJson(declaredModuleSpecifier);
127562
+ const declaringSourceFile = moduleSymbol.valueDeclaration.getSourceFile();
127563
+ const declaringNodeModuleName = getNodeModulesPackageNameFromFileName(declaringSourceFile.fileName, moduleSpecifierResolutionHost);
127564
+ if (typeof declaringNodeModuleName === "undefined") {
127565
+ ambientModuleCache.set(moduleSymbol, true);
127566
+ return true;
127567
+ }
127568
+ const result = moduleSpecifierIsCoveredByPackageJson(declaringNodeModuleName) || moduleSpecifierIsCoveredByPackageJson(declaredModuleSpecifier);
127569
+ ambientModuleCache.set(moduleSymbol, result);
127570
+ return result;
127547
127571
  }
127548
127572
  function allowsImportingSourceFile(sourceFile, moduleSpecifierResolutionHost) {
127549
127573
  if (!packageJsons.length) {
127550
127574
  return true;
127551
127575
  }
127576
+ if (!sourceFileCache) {
127577
+ sourceFileCache = /* @__PURE__ */ new Map();
127578
+ } else {
127579
+ const cached = sourceFileCache.get(sourceFile);
127580
+ if (cached !== void 0) {
127581
+ return cached;
127582
+ }
127583
+ }
127552
127584
  const moduleSpecifier = getNodeModulesPackageNameFromFileName(sourceFile.fileName, moduleSpecifierResolutionHost);
127553
127585
  if (!moduleSpecifier) {
127586
+ sourceFileCache.set(sourceFile, true);
127554
127587
  return true;
127555
127588
  }
127556
- return moduleSpecifierIsCoveredByPackageJson(moduleSpecifier);
127589
+ const result = moduleSpecifierIsCoveredByPackageJson(moduleSpecifier);
127590
+ sourceFileCache.set(sourceFile, result);
127591
+ return result;
127557
127592
  }
127558
127593
  function allowsImportingSpecifier(moduleSpecifier) {
127559
127594
  if (!packageJsons.length || isAllowedCoreNodeModulesImport(moduleSpecifier)) {
@@ -127773,6 +127808,64 @@ ${lanes.join("\n")}
127773
127808
  function isSourceFileFromLibrary(program, node) {
127774
127809
  return program.isSourceFileFromExternalLibrary(node) || program.isSourceFileDefaultLibrary(node);
127775
127810
  }
127811
+ function newCaseClauseTracker(checker, clauses) {
127812
+ const existingStrings = /* @__PURE__ */ new Set();
127813
+ const existingNumbers = /* @__PURE__ */ new Set();
127814
+ const existingBigInts = /* @__PURE__ */ new Set();
127815
+ for (const clause of clauses) {
127816
+ if (!isDefaultClause(clause)) {
127817
+ if (isLiteralExpression(clause.expression)) {
127818
+ const expression = clause.expression;
127819
+ switch (expression.kind) {
127820
+ case 14 /* NoSubstitutionTemplateLiteral */:
127821
+ case 10 /* StringLiteral */:
127822
+ existingStrings.add(expression.text);
127823
+ break;
127824
+ case 8 /* NumericLiteral */:
127825
+ existingNumbers.add(parseInt(expression.text));
127826
+ break;
127827
+ case 9 /* BigIntLiteral */:
127828
+ const parsedBigInt = parseBigInt(endsWith(expression.text, "n") ? expression.text.slice(0, -1) : expression.text);
127829
+ if (parsedBigInt) {
127830
+ existingBigInts.add(pseudoBigIntToString(parsedBigInt));
127831
+ }
127832
+ break;
127833
+ }
127834
+ } else {
127835
+ const symbol = checker.getSymbolAtLocation(clause.expression);
127836
+ if (symbol && symbol.valueDeclaration && isEnumMember(symbol.valueDeclaration)) {
127837
+ const enumValue = checker.getConstantValue(symbol.valueDeclaration);
127838
+ if (enumValue !== void 0) {
127839
+ addValue(enumValue);
127840
+ }
127841
+ }
127842
+ }
127843
+ }
127844
+ }
127845
+ return {
127846
+ addValue,
127847
+ hasValue
127848
+ };
127849
+ function addValue(value) {
127850
+ switch (typeof value) {
127851
+ case "string":
127852
+ existingStrings.add(value);
127853
+ break;
127854
+ case "number":
127855
+ existingNumbers.add(value);
127856
+ }
127857
+ }
127858
+ function hasValue(value) {
127859
+ switch (typeof value) {
127860
+ case "string":
127861
+ return existingStrings.has(value);
127862
+ case "number":
127863
+ return existingNumbers.has(value);
127864
+ case "object":
127865
+ return existingBigInts.has(pseudoBigIntToString(value));
127866
+ }
127867
+ }
127868
+ }
127776
127869
  var scanner, SemanticMeaning, tripleSlashDirectivePrefixRegex, typeKeywords, QuotePreference, displayPartWriter, lineFeed2, ANONYMOUS, syntaxMayBeASICandidate;
127777
127870
  var init_utilities4 = __esm({
127778
127871
  "src/services/utilities.ts"() {
@@ -139282,13 +139375,13 @@ ${lanes.join("\n")}
139282
139375
  var _a2, _b;
139283
139376
  const { fix, symbolName: symbolName2 } = info;
139284
139377
  switch (fix.kind) {
139285
- case ImportFixKind.UseNamespace:
139378
+ case 0 /* UseNamespace */:
139286
139379
  addToNamespace.push(fix);
139287
139380
  break;
139288
- case ImportFixKind.JsdocTypeImport:
139381
+ case 1 /* JsdocTypeImport */:
139289
139382
  importType.push(fix);
139290
139383
  break;
139291
- case ImportFixKind.AddToExisting: {
139384
+ case 2 /* AddToExisting */: {
139292
139385
  const { importClauseOrBindingPattern, importKind, addAsTypeOnly } = fix;
139293
139386
  const key = String(getNodeId(importClauseOrBindingPattern));
139294
139387
  let entry = addToExisting.get(key);
@@ -139307,7 +139400,7 @@ ${lanes.join("\n")}
139307
139400
  }
139308
139401
  break;
139309
139402
  }
139310
- case ImportFixKind.AddNew: {
139403
+ case 3 /* AddNew */: {
139311
139404
  const { moduleSpecifier, importKind, useRequire, addAsTypeOnly } = fix;
139312
139405
  const entry = getNewImportEntry(moduleSpecifier, importKind, useRequire, addAsTypeOnly);
139313
139406
  Debug.assert(entry.useRequire === useRequire, "(Add new) Tried to add an `import` and a `require` for the same module");
@@ -139328,7 +139421,7 @@ ${lanes.join("\n")}
139328
139421
  }
139329
139422
  break;
139330
139423
  }
139331
- case ImportFixKind.PromoteTypeOnly:
139424
+ case 4 /* PromoteTypeOnly */:
139332
139425
  break;
139333
139426
  default:
139334
139427
  Debug.assertNever(fix, `fix wasn't never - got kind ${fix.kind}`);
@@ -139355,13 +139448,13 @@ ${lanes.join("\n")}
139355
139448
  namespaceLikeImport: void 0,
139356
139449
  useRequire
139357
139450
  };
139358
- if (importKind === 1 /* Default */ && addAsTypeOnly === AddAsTypeOnly.Required) {
139451
+ if (importKind === 1 /* Default */ && addAsTypeOnly === 2 /* Required */) {
139359
139452
  if (typeOnlyEntry)
139360
139453
  return typeOnlyEntry;
139361
139454
  newImports.set(typeOnlyKey, newEntry);
139362
139455
  return newEntry;
139363
139456
  }
139364
- if (addAsTypeOnly === AddAsTypeOnly.Allowed && (typeOnlyEntry || nonTypeOnlyEntry)) {
139457
+ if (addAsTypeOnly === 1 /* Allowed */ && (typeOnlyEntry || nonTypeOnlyEntry)) {
139365
139458
  return typeOnlyEntry || nonTypeOnlyEntry;
139366
139459
  }
139367
139460
  if (nonTypeOnlyEntry) {
@@ -140368,7 +140461,7 @@ ${lanes.join("\n")}
140368
140461
  }
140369
140462
  return !isStringANonContextualKeyword(res) ? res || "_" : `_${res}`;
140370
140463
  }
140371
- var importFixName, importFixId, errorCodes17, ImportFixKind, AddAsTypeOnly;
140464
+ var importFixName, importFixId, errorCodes17;
140372
140465
  var init_importFixes = __esm({
140373
140466
  "src/services/codefixes/importFixes.ts"() {
140374
140467
  "use strict";
@@ -140427,20 +140520,6 @@ ${lanes.join("\n")}
140427
140520
  return createCombinedCodeActions(ts_textChanges_exports.ChangeTracker.with(context, importAdder.writeFixes));
140428
140521
  }
140429
140522
  });
140430
- ImportFixKind = /* @__PURE__ */ ((ImportFixKind2) => {
140431
- ImportFixKind2[ImportFixKind2["UseNamespace"] = 0] = "UseNamespace";
140432
- ImportFixKind2[ImportFixKind2["JsdocTypeImport"] = 1] = "JsdocTypeImport";
140433
- ImportFixKind2[ImportFixKind2["AddToExisting"] = 2] = "AddToExisting";
140434
- ImportFixKind2[ImportFixKind2["AddNew"] = 3] = "AddNew";
140435
- ImportFixKind2[ImportFixKind2["PromoteTypeOnly"] = 4] = "PromoteTypeOnly";
140436
- return ImportFixKind2;
140437
- })(ImportFixKind || {});
140438
- AddAsTypeOnly = /* @__PURE__ */ ((AddAsTypeOnly2) => {
140439
- AddAsTypeOnly2[AddAsTypeOnly2["Allowed"] = 1] = "Allowed";
140440
- AddAsTypeOnly2[AddAsTypeOnly2["Required"] = 2] = "Required";
140441
- AddAsTypeOnly2[AddAsTypeOnly2["NotAllowed"] = 4] = "NotAllowed";
140442
- return AddAsTypeOnly2;
140443
- })(AddAsTypeOnly || {});
140444
140523
  }
140445
140524
  });
140446
140525
 
@@ -146744,19 +146823,19 @@ ${lanes.join("\n")}
146744
146823
  return void 0;
146745
146824
  }
146746
146825
  switch (completionData.kind) {
146747
- case CompletionDataKind.Data:
146826
+ case 0 /* Data */:
146748
146827
  const response = completionInfoFromData(sourceFile, host, program, compilerOptions, log, completionData, preferences, formatContext, position);
146749
146828
  if (response == null ? void 0 : response.isIncomplete) {
146750
146829
  incompleteCompletionsCache == null ? void 0 : incompleteCompletionsCache.set(response);
146751
146830
  }
146752
146831
  return response;
146753
- case CompletionDataKind.JsDocTagName:
146832
+ case 1 /* JsDocTagName */:
146754
146833
  return jsdocCompletionInfo(ts_JsDoc_exports.getJSDocTagNameCompletions());
146755
- case CompletionDataKind.JsDocTag:
146834
+ case 2 /* JsDocTag */:
146756
146835
  return jsdocCompletionInfo(ts_JsDoc_exports.getJSDocTagCompletions());
146757
- case CompletionDataKind.JsDocParameterName:
146836
+ case 3 /* JsDocParameterName */:
146758
146837
  return jsdocCompletionInfo(ts_JsDoc_exports.getJSDocParameterNameCompletions(completionData.tag));
146759
- case CompletionDataKind.Keywords:
146838
+ case 4 /* Keywords */:
146760
146839
  return specificKeywordCompletionInfo(completionData.keywordCompletions, completionData.isNewIdentifierLocation);
146761
146840
  default:
146762
146841
  return Debug.assertNever(completionData);
@@ -146859,7 +146938,7 @@ ${lanes.join("\n")}
146859
146938
  }
146860
146939
  function keywordCompletionData(keywordFilters, filterOutTsOnlyKeywords, isNewIdentifierLocation) {
146861
146940
  return {
146862
- kind: CompletionDataKind.Keywords,
146941
+ kind: 4 /* Keywords */,
146863
146942
  keywordCompletions: getKeywordCompletions(keywordFilters, filterOutTsOnlyKeywords),
146864
146943
  isNewIdentifierLocation
146865
146944
  };
@@ -147089,64 +147168,6 @@ ${lanes.join("\n")}
147089
147168
  }
147090
147169
  return void 0;
147091
147170
  }
147092
- function newCaseClauseTracker(checker, clauses) {
147093
- const existingStrings = /* @__PURE__ */ new Set();
147094
- const existingNumbers = /* @__PURE__ */ new Set();
147095
- const existingBigInts = /* @__PURE__ */ new Set();
147096
- for (const clause of clauses) {
147097
- if (!isDefaultClause(clause)) {
147098
- if (isLiteralExpression(clause.expression)) {
147099
- const expression = clause.expression;
147100
- switch (expression.kind) {
147101
- case 14 /* NoSubstitutionTemplateLiteral */:
147102
- case 10 /* StringLiteral */:
147103
- existingStrings.add(expression.text);
147104
- break;
147105
- case 8 /* NumericLiteral */:
147106
- existingNumbers.add(parseInt(expression.text));
147107
- break;
147108
- case 9 /* BigIntLiteral */:
147109
- const parsedBigInt = parseBigInt(endsWith(expression.text, "n") ? expression.text.slice(0, -1) : expression.text);
147110
- if (parsedBigInt) {
147111
- existingBigInts.add(pseudoBigIntToString(parsedBigInt));
147112
- }
147113
- break;
147114
- }
147115
- } else {
147116
- const symbol = checker.getSymbolAtLocation(clause.expression);
147117
- if (symbol && symbol.valueDeclaration && isEnumMember(symbol.valueDeclaration)) {
147118
- const enumValue = checker.getConstantValue(symbol.valueDeclaration);
147119
- if (enumValue !== void 0) {
147120
- addValue(enumValue);
147121
- }
147122
- }
147123
- }
147124
- }
147125
- }
147126
- return {
147127
- addValue,
147128
- hasValue
147129
- };
147130
- function addValue(value) {
147131
- switch (typeof value) {
147132
- case "string":
147133
- existingStrings.add(value);
147134
- break;
147135
- case "number":
147136
- existingNumbers.add(value);
147137
- }
147138
- }
147139
- function hasValue(value) {
147140
- switch (typeof value) {
147141
- case "string":
147142
- return existingStrings.has(value);
147143
- case "number":
147144
- return existingNumbers.has(value);
147145
- case "object":
147146
- return existingBigInts.has(pseudoBigIntToString(value));
147147
- }
147148
- }
147149
- }
147150
147171
  function typeNodeToExpression(typeNode, languageVersion, quotePreference) {
147151
147172
  switch (typeNode.kind) {
147152
147173
  case 180 /* TypeReference */:
@@ -147194,9 +147215,9 @@ ${lanes.join("\n")}
147194
147215
  }
147195
147216
  function isMemberCompletionKind(kind) {
147196
147217
  switch (kind) {
147197
- case CompletionKind.ObjectPropertyDeclaration:
147198
- case CompletionKind.MemberLike:
147199
- case CompletionKind.PropertyAccess:
147218
+ case 0 /* ObjectPropertyDeclaration */:
147219
+ case 3 /* MemberLike */:
147220
+ case 2 /* PropertyAccess */:
147200
147221
  return true;
147201
147222
  default:
147202
147223
  return false;
@@ -147312,7 +147333,7 @@ ${lanes.join("\n")}
147312
147333
  if ((origin == null ? void 0 : origin.kind) === 64 /* TypeOnlyAlias */) {
147313
147334
  hasAction = true;
147314
147335
  }
147315
- if (preferences.includeCompletionsWithClassMemberSnippets && preferences.includeCompletionsWithInsertText && completionKind === CompletionKind.MemberLike && isClassLikeMemberCompletion(symbol, location, sourceFile)) {
147336
+ if (preferences.includeCompletionsWithClassMemberSnippets && preferences.includeCompletionsWithInsertText && completionKind === 3 /* MemberLike */ && isClassLikeMemberCompletion(symbol, location, sourceFile)) {
147316
147337
  let importAdder;
147317
147338
  ({ insertText, isSnippet, importAdder, replacementSpan } = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, position, contextToken, formatContext));
147318
147339
  sortText = SortText.ClassMemberSnippets;
@@ -147847,7 +147868,7 @@ ${lanes.join("\n")}
147847
147868
  const symbol = symbols[i];
147848
147869
  const origin = symbolToOriginInfoMap == null ? void 0 : symbolToOriginInfoMap[i];
147849
147870
  const info = getCompletionEntryDisplayNameForSymbol(symbol, target, origin, kind, !!jsxIdentifierExpected);
147850
- if (!info || uniques.get(info.name) && (!origin || !originIsObjectLiteralMethod(origin)) || kind === CompletionKind.Global && symbolToSortTextMap && !shouldIncludeSymbol(symbol, symbolToSortTextMap)) {
147871
+ if (!info || uniques.get(info.name) && (!origin || !originIsObjectLiteralMethod(origin)) || kind === 1 /* Global */ && symbolToSortTextMap && !shouldIncludeSymbol(symbol, symbolToSortTextMap)) {
147851
147872
  continue;
147852
147873
  }
147853
147874
  const { name, needsConvertPropertyAccess } = info;
@@ -147986,7 +148007,7 @@ ${lanes.join("\n")}
147986
148007
  if (!completionData) {
147987
148008
  return { type: "none" };
147988
148009
  }
147989
- if (completionData.kind !== CompletionDataKind.Data) {
148010
+ if (completionData.kind !== 0 /* Data */) {
147990
148011
  return { type: "request", request: completionData };
147991
148012
  }
147992
148013
  const { symbols, literals, location, completionKind, symbolToOriginInfoMap, contextToken, previousToken, isJsxInitializer, isTypeOnlyLocation } = completionData;
@@ -148012,13 +148033,13 @@ ${lanes.join("\n")}
148012
148033
  case "request": {
148013
148034
  const { request } = symbolCompletion;
148014
148035
  switch (request.kind) {
148015
- case CompletionDataKind.JsDocTagName:
148036
+ case 1 /* JsDocTagName */:
148016
148037
  return ts_JsDoc_exports.getJSDocTagNameCompletionDetails(name);
148017
- case CompletionDataKind.JsDocTag:
148038
+ case 2 /* JsDocTag */:
148018
148039
  return ts_JsDoc_exports.getJSDocTagCompletionDetails(name);
148019
- case CompletionDataKind.JsDocParameterName:
148040
+ case 3 /* JsDocParameterName */:
148020
148041
  return ts_JsDoc_exports.getJSDocParameterNameCompletionDetails(name);
148021
- case CompletionDataKind.Keywords:
148042
+ case 4 /* Keywords */:
148022
148043
  return some(request.keywordCompletions, (c) => c.name === name) ? createSimpleDetails(name, "keyword" /* keyword */, 5 /* keyword */) : void 0;
148023
148044
  default:
148024
148045
  return Debug.assertNever(request);
@@ -150024,7 +150045,7 @@ ${lanes.join("\n")}
150024
150045
  }
150025
150046
  return charCode;
150026
150047
  }
150027
- var moduleSpecifierResolutionLimit, moduleSpecifierResolutionCacheAttemptLimit, SortText, CompletionSource, SymbolOriginInfoKind, CompletionDataKind, CompletionKind, _keywordCompletions, allKeywordsCompletions;
150048
+ var moduleSpecifierResolutionLimit, moduleSpecifierResolutionCacheAttemptLimit, SortText, CompletionSource, SymbolOriginInfoKind, CompletionKind, _keywordCompletions, allKeywordsCompletions;
150028
150049
  var init_completions = __esm({
150029
150050
  "src/services/completions.ts"() {
150030
150051
  "use strict";
@@ -150076,14 +150097,6 @@ ${lanes.join("\n")}
150076
150097
  SymbolOriginInfoKind2[SymbolOriginInfoKind2["SymbolMemberExport"] = 6] = "SymbolMemberExport";
150077
150098
  return SymbolOriginInfoKind2;
150078
150099
  })(SymbolOriginInfoKind || {});
150079
- CompletionDataKind = /* @__PURE__ */ ((CompletionDataKind2) => {
150080
- CompletionDataKind2[CompletionDataKind2["Data"] = 0] = "Data";
150081
- CompletionDataKind2[CompletionDataKind2["JsDocTagName"] = 1] = "JsDocTagName";
150082
- CompletionDataKind2[CompletionDataKind2["JsDocTag"] = 2] = "JsDocTag";
150083
- CompletionDataKind2[CompletionDataKind2["JsDocParameterName"] = 3] = "JsDocParameterName";
150084
- CompletionDataKind2[CompletionDataKind2["Keywords"] = 4] = "Keywords";
150085
- return CompletionDataKind2;
150086
- })(CompletionDataKind || {});
150087
150100
  CompletionKind = /* @__PURE__ */ ((CompletionKind2) => {
150088
150101
  CompletionKind2[CompletionKind2["ObjectPropertyDeclaration"] = 0] = "ObjectPropertyDeclaration";
150089
150102
  CompletionKind2[CompletionKind2["Global"] = 1] = "Global";
@@ -150142,9 +150155,9 @@ ${lanes.join("\n")}
150142
150155
  }
150143
150156
  const optionalReplacementSpan = createTextSpanFromStringLiteralLikeContent(contextToken);
150144
150157
  switch (completion.kind) {
150145
- case StringLiteralCompletionKind.Paths:
150158
+ case 0 /* Paths */:
150146
150159
  return convertPathCompletions(completion.paths);
150147
- case StringLiteralCompletionKind.Properties: {
150160
+ case 1 /* Properties */: {
150148
150161
  const entries = createSortedArray();
150149
150162
  getCompletionEntriesFromSymbols(
150150
150163
  completion.symbols,
@@ -150166,7 +150179,7 @@ ${lanes.join("\n")}
150166
150179
  );
150167
150180
  return { isGlobalCompletion: false, isMemberCompletion: true, isNewIdentifierLocation: completion.hasIndexSignature, optionalReplacementSpan, entries };
150168
150181
  }
150169
- case StringLiteralCompletionKind.Types: {
150182
+ case 2 /* Types */: {
150170
150183
  const entries = completion.types.map((type) => ({
150171
150184
  name: type.value,
150172
150185
  kindModifiers: "" /* none */,
@@ -150188,16 +150201,16 @@ ${lanes.join("\n")}
150188
150201
  }
150189
150202
  function stringLiteralCompletionDetails(name, location, completion, sourceFile, checker, cancellationToken) {
150190
150203
  switch (completion.kind) {
150191
- case StringLiteralCompletionKind.Paths: {
150204
+ case 0 /* Paths */: {
150192
150205
  const match = find(completion.paths, (p) => p.name === name);
150193
150206
  return match && createCompletionDetails(name, kindModifiersFromExtension(match.extension), match.kind, [textPart(name)]);
150194
150207
  }
150195
- case StringLiteralCompletionKind.Properties: {
150208
+ case 1 /* Properties */: {
150196
150209
  const match = find(completion.symbols, (s) => s.name === name);
150197
150210
  return match && createCompletionDetailsForSymbol(match, checker, sourceFile, location, cancellationToken);
150198
150211
  }
150199
- case StringLiteralCompletionKind.Types:
150200
- return find(completion.types, (t) => t.value === name) ? createCompletionDetails(name, "" /* none */, "type" /* typeElement */, [textPart(name)]) : void 0;
150212
+ case 2 /* Types */:
150213
+ return find(completion.types, (t) => t.value === name) ? createCompletionDetails(name, "" /* none */, "string" /* string */, [textPart(name)]) : void 0;
150201
150214
  default:
150202
150215
  return Debug.assertNever(completion);
150203
150216
  }
@@ -150299,6 +150312,10 @@ ${lanes.join("\n")}
150299
150312
  case 275 /* ExportDeclaration */:
150300
150313
  case 280 /* ExternalModuleReference */:
150301
150314
  return { kind: 0 /* Paths */, paths: getStringLiteralCompletionsFromModuleNames(sourceFile, node, compilerOptions, host, typeChecker, preferences) };
150315
+ case 292 /* CaseClause */:
150316
+ const tracker = newCaseClauseTracker(typeChecker, node.parent.parent.clauses);
150317
+ const literals = fromContextualType().types.filter((literal) => !tracker.hasValue(literal.value));
150318
+ return { kind: 2 /* Types */, types: literals, isNewIdentifier: false };
150302
150319
  default:
150303
150320
  return fromContextualType();
150304
150321
  }
@@ -150394,7 +150411,7 @@ ${lanes.join("\n")}
150394
150411
  const mode = isStringLiteralLike(node) ? getModeForUsageLocation(sourceFile, node) : void 0;
150395
150412
  const scriptPath = sourceFile.path;
150396
150413
  const scriptDirectory = getDirectoryPath(scriptPath);
150397
- const extensionOptions = getExtensionOptions(compilerOptions, ReferenceKind.ModuleSpecifier, sourceFile, typeChecker, preferences, mode);
150414
+ const extensionOptions = getExtensionOptions(compilerOptions, 1 /* ModuleSpecifier */, sourceFile, typeChecker, preferences, mode);
150398
150415
  return isPathRelativeToScript(literalValue) || !compilerOptions.baseUrl && (isRootedDiskPath(literalValue) || isUrl(literalValue)) ? getCompletionEntriesForRelativeModules(literalValue, scriptDirectory, compilerOptions, host, scriptPath, extensionOptions) : getCompletionEntriesForNonRelativeModules(literalValue, scriptDirectory, mode, compilerOptions, host, extensionOptions, typeChecker);
150399
150416
  }
150400
150417
  function getExtensionOptions(compilerOptions, referenceKind, importingSourceFile, typeChecker, preferences, resolutionMode) {
@@ -150910,7 +150927,7 @@ ${lanes.join("\n")}
150910
150927
  function isRequireCallArgument(node) {
150911
150928
  return isCallExpression(node.parent) && firstOrUndefined(node.parent.arguments) === node && isIdentifier(node.parent.expression) && node.parent.expression.escapedText === "require";
150912
150929
  }
150913
- var kindPrecedence, StringLiteralCompletionKind, ReferenceKind, tripleSlashDirectiveFragmentRegex, nodeModulesDependencyKeys;
150930
+ var kindPrecedence, tripleSlashDirectiveFragmentRegex, nodeModulesDependencyKeys;
150914
150931
  var init_stringCompletions = __esm({
150915
150932
  "src/services/stringCompletions.ts"() {
150916
150933
  "use strict";
@@ -150921,17 +150938,6 @@ ${lanes.join("\n")}
150921
150938
  ["script" /* scriptElement */]: 1,
150922
150939
  ["external module name" /* externalModuleName */]: 2
150923
150940
  };
150924
- StringLiteralCompletionKind = /* @__PURE__ */ ((StringLiteralCompletionKind2) => {
150925
- StringLiteralCompletionKind2[StringLiteralCompletionKind2["Paths"] = 0] = "Paths";
150926
- StringLiteralCompletionKind2[StringLiteralCompletionKind2["Properties"] = 1] = "Properties";
150927
- StringLiteralCompletionKind2[StringLiteralCompletionKind2["Types"] = 2] = "Types";
150928
- return StringLiteralCompletionKind2;
150929
- })(StringLiteralCompletionKind || {});
150930
- ReferenceKind = /* @__PURE__ */ ((ReferenceKind2) => {
150931
- ReferenceKind2[ReferenceKind2["Filename"] = 0] = "Filename";
150932
- ReferenceKind2[ReferenceKind2["ModuleSpecifier"] = 1] = "ModuleSpecifier";
150933
- return ReferenceKind2;
150934
- })(ReferenceKind || {});
150935
150941
  tripleSlashDirectiveFragmentRegex = /^(\/\/\/\s*<reference\s+(path|types)\s*=\s*(?:'|"))([^\3"]*)$/;
150936
150942
  nodeModulesDependencyKeys = ["dependencies", "devDependencies", "peerDependencies", "optionalDependencies"];
150937
150943
  }
@@ -152282,7 +152288,7 @@ ${lanes.join("\n")}
152282
152288
  ) || originalSymbol;
152283
152289
  const searchMeaning = node ? getIntersectingMeaningFromDeclarations(node, symbol) : 7 /* All */;
152284
152290
  const result = [];
152285
- const state = new State(sourceFiles, sourceFilesSet, node ? getSpecialSearchKind(node) : SpecialSearchKind.None, checker, cancellationToken, searchMeaning, options, result);
152291
+ const state = new State(sourceFiles, sourceFilesSet, node ? getSpecialSearchKind(node) : 0 /* None */, checker, cancellationToken, searchMeaning, options, result);
152286
152292
  const exportSpecifier = !isForRenameWithPrefixAndSuffixText(options) || !symbol.declarations ? void 0 : find(symbol.declarations, isExportSpecifier);
152287
152293
  if (exportSpecifier) {
152288
152294
  getReferencesAtExportSpecifier(
@@ -152338,14 +152344,14 @@ ${lanes.join("\n")}
152338
152344
  switch (node.kind) {
152339
152345
  case 173 /* Constructor */:
152340
152346
  case 135 /* ConstructorKeyword */:
152341
- return SpecialSearchKind.Constructor;
152347
+ return 1 /* Constructor */;
152342
152348
  case 79 /* Identifier */:
152343
152349
  if (isClassLike(node.parent)) {
152344
152350
  Debug.assert(node.parent.name === node);
152345
- return SpecialSearchKind.Class;
152351
+ return 2 /* Class */;
152346
152352
  }
152347
152353
  default:
152348
- return SpecialSearchKind.None;
152354
+ return 0 /* None */;
152349
152355
  }
152350
152356
  }
152351
152357
  function skipPastExportOrImportSpecifierOrUnion(symbol, node, checker, useLocalSymbolForExportSpecifier) {
@@ -159411,10 +159417,10 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
159411
159417
  const scopeDescription = isFunctionLikeDeclaration(scope) ? getDescriptionForFunctionLikeDeclaration(scope) : isClassLike(scope) ? getDescriptionForClassLikeDeclaration(scope) : getDescriptionForModuleLikeDeclaration(scope);
159412
159418
  let functionDescription;
159413
159419
  let constantDescription;
159414
- if (scopeDescription === SpecialScope.Global) {
159420
+ if (scopeDescription === 1 /* Global */) {
159415
159421
  functionDescription = formatStringFromArgs(getLocaleSpecificMessage(Diagnostics.Extract_to_0_in_1_scope), [functionDescriptionPart, "global"]);
159416
159422
  constantDescription = formatStringFromArgs(getLocaleSpecificMessage(Diagnostics.Extract_to_0_in_1_scope), [constantDescriptionPart, "global"]);
159417
- } else if (scopeDescription === SpecialScope.Module) {
159423
+ } else if (scopeDescription === 0 /* Module */) {
159418
159424
  functionDescription = formatStringFromArgs(getLocaleSpecificMessage(Diagnostics.Extract_to_0_in_1_scope), [functionDescriptionPart, "module"]);
159419
159425
  constantDescription = formatStringFromArgs(getLocaleSpecificMessage(Diagnostics.Extract_to_0_in_1_scope), [constantDescriptionPart, "module"]);
159420
159426
  } else {
@@ -159480,7 +159486,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
159480
159486
  return scope.kind === 260 /* ClassDeclaration */ ? scope.name ? `class '${scope.name.text}'` : "anonymous class declaration" : scope.name ? `class expression '${scope.name.text}'` : "anonymous class expression";
159481
159487
  }
159482
159488
  function getDescriptionForModuleLikeDeclaration(scope) {
159483
- return scope.kind === 265 /* ModuleBlock */ ? `namespace '${scope.parent.name.getText()}'` : scope.externalModuleIndicator ? SpecialScope.Module : SpecialScope.Global;
159489
+ return scope.kind === 265 /* ModuleBlock */ ? `namespace '${scope.parent.name.getText()}'` : scope.externalModuleIndicator ? 0 /* Module */ : 1 /* Global */;
159484
159490
  }
159485
159491
  function extractFunctionInScope(node, scope, { usages: usagesInScope, typeParameterUsages, substitutions }, exposedVariableDeclarations, range, context) {
159486
159492
  const checker = context.program.getTypeChecker();
@@ -159513,7 +159519,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
159513
159519
  typeNode
159514
159520
  );
159515
159521
  parameters.push(paramDecl);
159516
- if (usage.usage === Usage.Write) {
159522
+ if (usage.usage === 2 /* Write */) {
159517
159523
  (writes || (writes = [])).push(usage);
159518
159524
  }
159519
159525
  callArguments.push(factory.createIdentifier(name));
@@ -160471,7 +160477,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
160471
160477
  function isStringLiteralJsxAttribute(node) {
160472
160478
  return isStringLiteral(node) && node.parent && isJsxAttribute(node.parent);
160473
160479
  }
160474
- var refactorName11, extractConstantAction, extractFunctionAction, Messages, RangeFacts, SpecialScope, Usage;
160480
+ var refactorName11, extractConstantAction, extractFunctionAction, Messages, RangeFacts;
160475
160481
  var init_extractSymbol = __esm({
160476
160482
  "src/services/refactors/extractSymbol.ts"() {
160477
160483
  "use strict";
@@ -160534,16 +160540,6 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
160534
160540
  RangeFacts2[RangeFacts2["InStaticRegion"] = 32] = "InStaticRegion";
160535
160541
  return RangeFacts2;
160536
160542
  })(RangeFacts || {});
160537
- SpecialScope = /* @__PURE__ */ ((SpecialScope2) => {
160538
- SpecialScope2[SpecialScope2["Module"] = 0] = "Module";
160539
- SpecialScope2[SpecialScope2["Global"] = 1] = "Global";
160540
- return SpecialScope2;
160541
- })(SpecialScope || {});
160542
- Usage = /* @__PURE__ */ ((Usage2) => {
160543
- Usage2[Usage2["Read"] = 1] = "Read";
160544
- Usage2[Usage2["Write"] = 2] = "Write";
160545
- return Usage2;
160546
- })(Usage || {});
160547
160543
  }
160548
160544
  });
160549
160545
 
@@ -160975,7 +160971,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
160975
160971
  if (!candidateInfo) {
160976
160972
  return isSourceFileJS(sourceFile) ? createJSSignatureHelpItems(argumentInfo, program, cancellationToken) : void 0;
160977
160973
  }
160978
- return typeChecker.runWithCancellationToken(cancellationToken, (typeChecker2) => candidateInfo.kind === CandidateOrTypeKind.Candidate ? createSignatureHelpItems(candidateInfo.candidates, candidateInfo.resolvedSignature, argumentInfo, sourceFile, typeChecker2) : createTypeHelpItems(candidateInfo.symbol, argumentInfo, sourceFile, typeChecker2));
160974
+ return typeChecker.runWithCancellationToken(cancellationToken, (typeChecker2) => candidateInfo.kind === 0 /* Candidate */ ? createSignatureHelpItems(candidateInfo.candidates, candidateInfo.resolvedSignature, argumentInfo, sourceFile, typeChecker2) : createTypeHelpItems(candidateInfo.symbol, argumentInfo, sourceFile, typeChecker2));
160979
160975
  }
160980
160976
  function getCandidateOrTypeInfo({ invocation, argumentCount }, checker, sourceFile, startingToken, onlyUseSyntacticOwners) {
160981
160977
  switch (invocation.kind) {
@@ -161447,16 +161443,11 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
161447
161443
  });
161448
161444
  return { name: typeParameter.symbol.name, documentation: typeParameter.symbol.getDocumentationComment(checker), displayParts, isOptional: false, isRest: false };
161449
161445
  }
161450
- var CandidateOrTypeKind, signatureHelpNodeBuilderFlags, separatorDisplayParts;
161446
+ var signatureHelpNodeBuilderFlags, separatorDisplayParts;
161451
161447
  var init_signatureHelp = __esm({
161452
161448
  "src/services/signatureHelp.ts"() {
161453
161449
  "use strict";
161454
161450
  init_ts4();
161455
- CandidateOrTypeKind = /* @__PURE__ */ ((CandidateOrTypeKind2) => {
161456
- CandidateOrTypeKind2[CandidateOrTypeKind2["Candidate"] = 0] = "Candidate";
161457
- CandidateOrTypeKind2[CandidateOrTypeKind2["Type"] = 1] = "Type";
161458
- return CandidateOrTypeKind2;
161459
- })(CandidateOrTypeKind || {});
161460
161451
  signatureHelpNodeBuilderFlags = 8192 /* OmitParameterModifiers */ | 70221824 /* IgnoreErrors */ | 16384 /* UseAliasDefinedOutsideCurrentScope */;
161461
161452
  separatorDisplayParts = [punctuationPart(27 /* CommaToken */), spacePart()];
161462
161453
  }
@@ -165461,7 +165452,7 @@ ${options.prefix}` : "\n" : options.prefix
165461
165452
  if (currentTokenInfo.leadingTrivia) {
165462
165453
  processTrivia(currentTokenInfo.leadingTrivia, parent2, childContextNode, dynamicIndentation);
165463
165454
  }
165464
- let lineAction = LineAction.None;
165455
+ let lineAction = 0 /* None */;
165465
165456
  const isTokenInRange = rangeContainsRange(originalRange, currentTokenInfo.token);
165466
165457
  const tokenStart = sourceFile.getLineAndCharacterOfPosition(currentTokenInfo.token.pos);
165467
165458
  if (isTokenInRange) {
@@ -165469,11 +165460,11 @@ ${options.prefix}` : "\n" : options.prefix
165469
165460
  const savePreviousRange = previousRange;
165470
165461
  lineAction = processRange(currentTokenInfo.token, tokenStart, parent2, childContextNode, dynamicIndentation);
165471
165462
  if (!rangeHasError) {
165472
- if (lineAction === LineAction.None) {
165463
+ if (lineAction === 0 /* None */) {
165473
165464
  const prevEndLine = savePreviousRange && sourceFile.getLineAndCharacterOfPosition(savePreviousRange.end).line;
165474
165465
  indentToken = lastTriviaWasNewLine && tokenStart.line !== prevEndLine;
165475
165466
  } else {
165476
- indentToken = lineAction === LineAction.LineAdded;
165467
+ indentToken = lineAction === 1 /* LineAdded */;
165477
165468
  }
165478
165469
  }
165479
165470
  }
@@ -165499,7 +165490,7 @@ ${options.prefix}` : "\n" : options.prefix
165499
165490
  );
165500
165491
  }
165501
165492
  if (tokenIndentation !== -1 /* Unknown */ && indentNextTokenOrTrivia) {
165502
- insertIndentation(currentTokenInfo.token.pos, tokenIndentation, lineAction === LineAction.LineAdded);
165493
+ insertIndentation(currentTokenInfo.token.pos, tokenIndentation, lineAction === 1 /* LineAdded */);
165503
165494
  lastIndentedLine = tokenStart.line;
165504
165495
  indentationOnLastIndentedLine = tokenIndentation;
165505
165496
  }
@@ -165546,7 +165537,7 @@ ${options.prefix}` : "\n" : options.prefix
165546
165537
  }
165547
165538
  function processRange(range, rangeStart, parent2, contextNode, dynamicIndentation) {
165548
165539
  const rangeHasError = rangeContainsError(range);
165549
- let lineAction = LineAction.None;
165540
+ let lineAction = 0 /* None */;
165550
165541
  if (!rangeHasError) {
165551
165542
  if (!previousRange) {
165552
165543
  const originalStart = sourceFile.getLineAndCharacterOfPosition(originalRange.pos);
@@ -165565,13 +165556,13 @@ ${options.prefix}` : "\n" : options.prefix
165565
165556
  formattingContext.updateContext(previousItem, previousParent2, currentItem, currentParent, contextNode);
165566
165557
  const rules = getRules(formattingContext);
165567
165558
  let trimTrailingWhitespaces = formattingContext.options.trimTrailingWhitespace !== false;
165568
- let lineAction = LineAction.None;
165559
+ let lineAction = 0 /* None */;
165569
165560
  if (rules) {
165570
165561
  forEachRight(rules, (rule2) => {
165571
165562
  lineAction = applyRuleEdits(rule2, previousItem, previousStartLine, currentItem, currentStartLine);
165572
165563
  if (dynamicIndentation) {
165573
165564
  switch (lineAction) {
165574
- case LineAction.LineRemoved:
165565
+ case 2 /* LineRemoved */:
165575
165566
  if (currentParent.getStart(sourceFile) === currentItem.pos) {
165576
165567
  dynamicIndentation.recomputeIndentation(
165577
165568
  /*lineAddedByFormatting*/
@@ -165580,7 +165571,7 @@ ${options.prefix}` : "\n" : options.prefix
165580
165571
  );
165581
165572
  }
165582
165573
  break;
165583
- case LineAction.LineAdded:
165574
+ case 1 /* LineAdded */:
165584
165575
  if (currentParent.getStart(sourceFile) === currentItem.pos) {
165585
165576
  dynamicIndentation.recomputeIndentation(
165586
165577
  /*lineAddedByFormatting*/
@@ -165590,7 +165581,7 @@ ${options.prefix}` : "\n" : options.prefix
165590
165581
  }
165591
165582
  break;
165592
165583
  default:
165593
- Debug.assert(lineAction === LineAction.None);
165584
+ Debug.assert(lineAction === 0 /* None */);
165594
165585
  }
165595
165586
  }
165596
165587
  trimTrailingWhitespaces = trimTrailingWhitespaces && !(rule2.action & 16 /* DeleteSpace */) && rule2.flags !== 1 /* CanDeleteNewLines */;
@@ -165737,11 +165728,11 @@ ${options.prefix}` : "\n" : options.prefix
165737
165728
  const onLaterLine = currentStartLine !== previousStartLine;
165738
165729
  switch (rule2.action) {
165739
165730
  case 1 /* StopProcessingSpaceActions */:
165740
- return LineAction.None;
165731
+ return 0 /* None */;
165741
165732
  case 16 /* DeleteSpace */:
165742
165733
  if (previousRange2.end !== currentRange.pos) {
165743
165734
  recordDelete(previousRange2.end, currentRange.pos - previousRange2.end);
165744
- return onLaterLine ? LineAction.LineRemoved : LineAction.None;
165735
+ return onLaterLine ? 2 /* LineRemoved */ : 0 /* None */;
165745
165736
  }
165746
165737
  break;
165747
165738
  case 32 /* DeleteToken */:
@@ -165749,28 +165740,28 @@ ${options.prefix}` : "\n" : options.prefix
165749
165740
  break;
165750
165741
  case 8 /* InsertNewLine */:
165751
165742
  if (rule2.flags !== 1 /* CanDeleteNewLines */ && previousStartLine !== currentStartLine) {
165752
- return LineAction.None;
165743
+ return 0 /* None */;
165753
165744
  }
165754
165745
  const lineDelta = currentStartLine - previousStartLine;
165755
165746
  if (lineDelta !== 1) {
165756
165747
  recordReplace(previousRange2.end, currentRange.pos - previousRange2.end, getNewLineOrDefaultFromHost(host, options));
165757
- return onLaterLine ? LineAction.None : LineAction.LineAdded;
165748
+ return onLaterLine ? 0 /* None */ : 1 /* LineAdded */;
165758
165749
  }
165759
165750
  break;
165760
165751
  case 4 /* InsertSpace */:
165761
165752
  if (rule2.flags !== 1 /* CanDeleteNewLines */ && previousStartLine !== currentStartLine) {
165762
- return LineAction.None;
165753
+ return 0 /* None */;
165763
165754
  }
165764
165755
  const posDelta = currentRange.pos - previousRange2.end;
165765
165756
  if (posDelta !== 1 || sourceFile.text.charCodeAt(previousRange2.end) !== 32 /* space */) {
165766
165757
  recordReplace(previousRange2.end, currentRange.pos - previousRange2.end, " ");
165767
- return onLaterLine ? LineAction.LineRemoved : LineAction.None;
165758
+ return onLaterLine ? 2 /* LineRemoved */ : 0 /* None */;
165768
165759
  }
165769
165760
  break;
165770
165761
  case 64 /* InsertTrailingSemicolon */:
165771
165762
  recordInsert(previousRange2.end, ";");
165772
165763
  }
165773
- return LineAction.None;
165764
+ return 0 /* None */;
165774
165765
  }
165775
165766
  }
165776
165767
  function getRangeOfEnclosingComment(sourceFile, position, precedingToken, tokenAtPosition = getTokenAtPosition(sourceFile, position)) {
@@ -165896,18 +165887,12 @@ ${options.prefix}` : "\n" : options.prefix
165896
165887
  return remainder ? spacesString + repeatString(" ", remainder) : spacesString;
165897
165888
  }
165898
165889
  }
165899
- var LineAction, internedSizes, internedTabsIndentation, internedSpacesIndentation;
165890
+ var internedSizes, internedTabsIndentation, internedSpacesIndentation;
165900
165891
  var init_formatting = __esm({
165901
165892
  "src/services/formatting/formatting.ts"() {
165902
165893
  "use strict";
165903
165894
  init_ts4();
165904
165895
  init_ts_formatting();
165905
- LineAction = /* @__PURE__ */ ((LineAction2) => {
165906
- LineAction2[LineAction2["None"] = 0] = "None";
165907
- LineAction2[LineAction2["LineAdded"] = 1] = "LineAdded";
165908
- LineAction2[LineAction2["LineRemoved"] = 2] = "LineRemoved";
165909
- return LineAction2;
165910
- })(LineAction || {});
165911
165896
  }
165912
165897
  });
165913
165898
 
@@ -166011,7 +165996,7 @@ ${options.prefix}` : "\n" : options.prefix
166011
165996
  )) {
166012
165997
  const currentStart = getStartLineAndCharacterForNode(current, sourceFile);
166013
165998
  const nextTokenKind = nextTokenIsCurlyBraceOnSameLineAsCursor(precedingToken, current, lineAtPosition, sourceFile);
166014
- const indentationDelta = nextTokenKind !== NextTokenKind.Unknown ? assumeNewLineBeforeCloseBrace && nextTokenKind === NextTokenKind.CloseBrace ? options.indentSize : 0 : lineAtPosition !== currentStart.line ? options.indentSize : 0;
165999
+ const indentationDelta = nextTokenKind !== 0 /* Unknown */ ? assumeNewLineBeforeCloseBrace && nextTokenKind === 2 /* CloseBrace */ ? options.indentSize : 0 : lineAtPosition !== currentStart.line ? options.indentSize : 0;
166015
166000
  return getIndentationForNodeWorker(
166016
166001
  current,
166017
166002
  currentStart,
@@ -168517,6 +168502,7 @@ ${options.prefix}` : "\n" : options.prefix
168517
168502
  mutateMapSkippingNewValues: () => mutateMapSkippingNewValues,
168518
168503
  needsParentheses: () => needsParentheses,
168519
168504
  needsScopeMarker: () => needsScopeMarker,
168505
+ newCaseClauseTracker: () => newCaseClauseTracker,
168520
168506
  newPrivateEnvironment: () => newPrivateEnvironment,
168521
168507
  noEmitNotification: () => noEmitNotification,
168522
168508
  noEmitSubstitution: () => noEmitSubstitution,