@typescript-deploys/pr-build 5.0.0-pr-52282-27 → 5.0.0-pr-52667-13

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/tsserver.js CHANGED
@@ -2287,7 +2287,7 @@ module.exports = __toCommonJS(server_exports);
2287
2287
 
2288
2288
  // src/compiler/corePublic.ts
2289
2289
  var versionMajorMinor = "5.0";
2290
- var version = `${versionMajorMinor}.0-insiders.20230207`;
2290
+ var version = `${versionMajorMinor}.0-insiders.20230208`;
2291
2291
  var Comparison = /* @__PURE__ */ ((Comparison3) => {
2292
2292
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2293
2293
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -7704,7 +7704,7 @@ function createUseFsEventsOnParentDirectoryWatchFile(fsWatch, useCaseSensitiveFi
7704
7704
  function createDirectoryWatcher(dirName, dirPath, fallbackOptions) {
7705
7705
  const watcher = fsWatch(
7706
7706
  dirName,
7707
- FileSystemEntryKind.Directory,
7707
+ 1 /* Directory */,
7708
7708
  (_eventName, relativeFileName, modifiedTime) => {
7709
7709
  if (!isString(relativeFileName))
7710
7710
  return;
@@ -7904,7 +7904,7 @@ function createDirectoryWatcherSupportingRecursive({
7904
7904
  }
7905
7905
  function nonSyncUpdateChildWatches(dirName, dirPath, fileName, options) {
7906
7906
  const parentWatcher = cache.get(dirPath);
7907
- if (parentWatcher && fileSystemEntryExists(dirName, FileSystemEntryKind.Directory)) {
7907
+ if (parentWatcher && fileSystemEntryExists(dirName, 1 /* Directory */)) {
7908
7908
  scheduleUpdateChildWatches(dirName, dirPath, fileName, options);
7909
7909
  return;
7910
7910
  }
@@ -7969,7 +7969,7 @@ function createDirectoryWatcherSupportingRecursive({
7969
7969
  return false;
7970
7970
  let newChildWatches;
7971
7971
  const hasChanges = enumerateInsertsAndDeletes(
7972
- fileSystemEntryExists(parentDir, FileSystemEntryKind.Directory) ? mapDefined(getAccessibleSortedChildDirectories(parentDir), (child) => {
7972
+ fileSystemEntryExists(parentDir, 1 /* Directory */) ? mapDefined(getAccessibleSortedChildDirectories(parentDir), (child) => {
7973
7973
  const childFullName = getNormalizedAbsolutePath(child, parentDir);
7974
7974
  return !isIgnoredPath(childFullName, options) && filePathComparer(childFullName, normalizePath(realpath(childFullName))) === 0 /* EqualTo */ ? childFullName : void 0;
7975
7975
  }) : emptyArray,
@@ -19315,17 +19315,11 @@ function getCombinedLocalAndExportSymbolFlags(symbol) {
19315
19315
  return symbol.exportSymbol ? symbol.exportSymbol.flags | symbol.flags : symbol.flags;
19316
19316
  }
19317
19317
  function isWriteOnlyAccess(node) {
19318
- return accessKind(node) === AccessKind.Write;
19318
+ return accessKind(node) === 1 /* Write */;
19319
19319
  }
19320
19320
  function isWriteAccess(node) {
19321
- return accessKind(node) !== AccessKind.Read;
19322
- }
19323
- var AccessKind = /* @__PURE__ */ ((AccessKind2) => {
19324
- AccessKind2[AccessKind2["Read"] = 0] = "Read";
19325
- AccessKind2[AccessKind2["Write"] = 1] = "Write";
19326
- AccessKind2[AccessKind2["ReadWrite"] = 2] = "ReadWrite";
19327
- return AccessKind2;
19328
- })(AccessKind || {});
19321
+ return accessKind(node) !== 0 /* Read */;
19322
+ }
19329
19323
  function accessKind(node) {
19330
19324
  const { parent: parent2 } = node;
19331
19325
  if (!parent2)
@@ -30191,7 +30185,7 @@ var Parser;
30191
30185
  }
30192
30186
  sourceFlags = contextFlags;
30193
30187
  nextToken();
30194
- const statements = parseList(ParsingContext.SourceElements, parseStatement);
30188
+ const statements = parseList(0 /* SourceElements */, parseStatement);
30195
30189
  Debug.assert(token() === 1 /* EndOfFileToken */);
30196
30190
  const endOfFileToken = addJSDocComment(parseTokenNode());
30197
30191
  const sourceFile = createSourceFile2(fileName, languageVersion2, scriptKind2, isDeclarationFile, statements, endOfFileToken, sourceFlags, setExternalModuleIndicator2);
@@ -30254,7 +30248,7 @@ var Parser;
30254
30248
  nextToken();
30255
30249
  while (token() !== 1 /* EndOfFileToken */) {
30256
30250
  const startPos = scanner2.getStartPos();
30257
- const statement = parseListElement(ParsingContext.SourceElements, parseStatement);
30251
+ const statement = parseListElement(0 /* SourceElements */, parseStatement);
30258
30252
  statements.push(statement);
30259
30253
  if (startPos === scanner2.getStartPos()) {
30260
30254
  nextToken();
@@ -30941,19 +30935,19 @@ var Parser;
30941
30935
  return true;
30942
30936
  }
30943
30937
  switch (parsingContext2) {
30944
- case ParsingContext.SourceElements:
30945
- case ParsingContext.BlockStatements:
30946
- case ParsingContext.SwitchClauseStatements:
30938
+ case 0 /* SourceElements */:
30939
+ case 1 /* BlockStatements */:
30940
+ case 3 /* SwitchClauseStatements */:
30947
30941
  return !(token() === 26 /* SemicolonToken */ && inErrorRecovery) && isStartOfStatement();
30948
- case ParsingContext.SwitchClauses:
30942
+ case 2 /* SwitchClauses */:
30949
30943
  return token() === 82 /* CaseKeyword */ || token() === 88 /* DefaultKeyword */;
30950
- case ParsingContext.TypeMembers:
30944
+ case 4 /* TypeMembers */:
30951
30945
  return lookAhead(isTypeMemberStart);
30952
- case ParsingContext.ClassMembers:
30946
+ case 5 /* ClassMembers */:
30953
30947
  return lookAhead(isClassMemberStart) || token() === 26 /* SemicolonToken */ && !inErrorRecovery;
30954
- case ParsingContext.EnumMembers:
30948
+ case 6 /* EnumMembers */:
30955
30949
  return token() === 22 /* OpenBracketToken */ || isLiteralPropertyName();
30956
- case ParsingContext.ObjectLiteralMembers:
30950
+ case 12 /* ObjectLiteralMembers */:
30957
30951
  switch (token()) {
30958
30952
  case 22 /* OpenBracketToken */:
30959
30953
  case 41 /* AsteriskToken */:
@@ -30963,13 +30957,13 @@ var Parser;
30963
30957
  default:
30964
30958
  return isLiteralPropertyName();
30965
30959
  }
30966
- case ParsingContext.RestProperties:
30960
+ case 18 /* RestProperties */:
30967
30961
  return isLiteralPropertyName();
30968
- case ParsingContext.ObjectBindingElements:
30962
+ case 9 /* ObjectBindingElements */:
30969
30963
  return token() === 22 /* OpenBracketToken */ || token() === 25 /* DotDotDotToken */ || isLiteralPropertyName();
30970
- case ParsingContext.AssertEntries:
30964
+ case 24 /* AssertEntries */:
30971
30965
  return isAssertionKey2();
30972
- case ParsingContext.HeritageClauseElement:
30966
+ case 7 /* HeritageClauseElement */:
30973
30967
  if (token() === 18 /* OpenBraceToken */) {
30974
30968
  return lookAhead(isValidHeritageClauseObjectLiteral);
30975
30969
  }
@@ -30978,40 +30972,40 @@ var Parser;
30978
30972
  } else {
30979
30973
  return isIdentifier2() && !isHeritageClauseExtendsOrImplementsKeyword();
30980
30974
  }
30981
- case ParsingContext.VariableDeclarations:
30975
+ case 8 /* VariableDeclarations */:
30982
30976
  return isBindingIdentifierOrPrivateIdentifierOrPattern();
30983
- case ParsingContext.ArrayBindingElements:
30977
+ case 10 /* ArrayBindingElements */:
30984
30978
  return token() === 27 /* CommaToken */ || token() === 25 /* DotDotDotToken */ || isBindingIdentifierOrPrivateIdentifierOrPattern();
30985
- case ParsingContext.TypeParameters:
30979
+ case 19 /* TypeParameters */:
30986
30980
  return token() === 101 /* InKeyword */ || token() === 85 /* ConstKeyword */ || isIdentifier2();
30987
- case ParsingContext.ArrayLiteralMembers:
30981
+ case 15 /* ArrayLiteralMembers */:
30988
30982
  switch (token()) {
30989
30983
  case 27 /* CommaToken */:
30990
30984
  case 24 /* DotToken */:
30991
30985
  return true;
30992
30986
  }
30993
- case ParsingContext.ArgumentExpressions:
30987
+ case 11 /* ArgumentExpressions */:
30994
30988
  return token() === 25 /* DotDotDotToken */ || isStartOfExpression();
30995
- case ParsingContext.Parameters:
30989
+ case 16 /* Parameters */:
30996
30990
  return isStartOfParameter(
30997
30991
  /*isJSDocParameter*/
30998
30992
  false
30999
30993
  );
31000
- case ParsingContext.JSDocParameters:
30994
+ case 17 /* JSDocParameters */:
31001
30995
  return isStartOfParameter(
31002
30996
  /*isJSDocParameter*/
31003
30997
  true
31004
30998
  );
31005
- case ParsingContext.TypeArguments:
31006
- case ParsingContext.TupleElementTypes:
30999
+ case 20 /* TypeArguments */:
31000
+ case 21 /* TupleElementTypes */:
31007
31001
  return token() === 27 /* CommaToken */ || isStartOfType();
31008
- case ParsingContext.HeritageClauses:
31002
+ case 22 /* HeritageClauses */:
31009
31003
  return isHeritageClause2();
31010
- case ParsingContext.ImportOrExportSpecifiers:
31004
+ case 23 /* ImportOrExportSpecifiers */:
31011
31005
  return tokenIsIdentifierOrKeyword(token());
31012
- case ParsingContext.JsxAttributes:
31006
+ case 13 /* JsxAttributes */:
31013
31007
  return tokenIsIdentifierOrKeyword(token()) || token() === 18 /* OpenBraceToken */;
31014
- case ParsingContext.JsxChildren:
31008
+ case 14 /* JsxChildren */:
31015
31009
  return true;
31016
31010
  }
31017
31011
  return Debug.fail("Non-exhaustive case in 'isListElement'.");
@@ -31055,41 +31049,41 @@ var Parser;
31055
31049
  return true;
31056
31050
  }
31057
31051
  switch (kind) {
31058
- case ParsingContext.BlockStatements:
31059
- case ParsingContext.SwitchClauses:
31060
- case ParsingContext.TypeMembers:
31061
- case ParsingContext.ClassMembers:
31062
- case ParsingContext.EnumMembers:
31063
- case ParsingContext.ObjectLiteralMembers:
31064
- case ParsingContext.ObjectBindingElements:
31065
- case ParsingContext.ImportOrExportSpecifiers:
31066
- case ParsingContext.AssertEntries:
31052
+ case 1 /* BlockStatements */:
31053
+ case 2 /* SwitchClauses */:
31054
+ case 4 /* TypeMembers */:
31055
+ case 5 /* ClassMembers */:
31056
+ case 6 /* EnumMembers */:
31057
+ case 12 /* ObjectLiteralMembers */:
31058
+ case 9 /* ObjectBindingElements */:
31059
+ case 23 /* ImportOrExportSpecifiers */:
31060
+ case 24 /* AssertEntries */:
31067
31061
  return token() === 19 /* CloseBraceToken */;
31068
- case ParsingContext.SwitchClauseStatements:
31062
+ case 3 /* SwitchClauseStatements */:
31069
31063
  return token() === 19 /* CloseBraceToken */ || token() === 82 /* CaseKeyword */ || token() === 88 /* DefaultKeyword */;
31070
- case ParsingContext.HeritageClauseElement:
31064
+ case 7 /* HeritageClauseElement */:
31071
31065
  return token() === 18 /* OpenBraceToken */ || token() === 94 /* ExtendsKeyword */ || token() === 117 /* ImplementsKeyword */;
31072
- case ParsingContext.VariableDeclarations:
31066
+ case 8 /* VariableDeclarations */:
31073
31067
  return isVariableDeclaratorListTerminator();
31074
- case ParsingContext.TypeParameters:
31068
+ case 19 /* TypeParameters */:
31075
31069
  return token() === 31 /* GreaterThanToken */ || token() === 20 /* OpenParenToken */ || token() === 18 /* OpenBraceToken */ || token() === 94 /* ExtendsKeyword */ || token() === 117 /* ImplementsKeyword */;
31076
- case ParsingContext.ArgumentExpressions:
31070
+ case 11 /* ArgumentExpressions */:
31077
31071
  return token() === 21 /* CloseParenToken */ || token() === 26 /* SemicolonToken */;
31078
- case ParsingContext.ArrayLiteralMembers:
31079
- case ParsingContext.TupleElementTypes:
31080
- case ParsingContext.ArrayBindingElements:
31072
+ case 15 /* ArrayLiteralMembers */:
31073
+ case 21 /* TupleElementTypes */:
31074
+ case 10 /* ArrayBindingElements */:
31081
31075
  return token() === 23 /* CloseBracketToken */;
31082
- case ParsingContext.JSDocParameters:
31083
- case ParsingContext.Parameters:
31084
- case ParsingContext.RestProperties:
31076
+ case 17 /* JSDocParameters */:
31077
+ case 16 /* Parameters */:
31078
+ case 18 /* RestProperties */:
31085
31079
  return token() === 21 /* CloseParenToken */ || token() === 23 /* CloseBracketToken */;
31086
- case ParsingContext.TypeArguments:
31080
+ case 20 /* TypeArguments */:
31087
31081
  return token() !== 27 /* CommaToken */;
31088
- case ParsingContext.HeritageClauses:
31082
+ case 22 /* HeritageClauses */:
31089
31083
  return token() === 18 /* OpenBraceToken */ || token() === 19 /* CloseBraceToken */;
31090
- case ParsingContext.JsxAttributes:
31084
+ case 13 /* JsxAttributes */:
31091
31085
  return token() === 31 /* GreaterThanToken */ || token() === 43 /* SlashToken */;
31092
- case ParsingContext.JsxChildren:
31086
+ case 14 /* JsxChildren */:
31093
31087
  return token() === 29 /* LessThanToken */ && lookAhead(nextTokenIsSlash);
31094
31088
  default:
31095
31089
  return false;
@@ -31108,7 +31102,7 @@ var Parser;
31108
31102
  return false;
31109
31103
  }
31110
31104
  function isInSomeParsingContext() {
31111
- for (let kind = 0; kind < ParsingContext.Count; kind++) {
31105
+ for (let kind = 0; kind < 25 /* Count */; kind++) {
31112
31106
  if (parsingContext & 1 << kind) {
31113
31107
  if (isListElement2(
31114
31108
  kind,
@@ -31177,38 +31171,38 @@ var Parser;
31177
31171
  }
31178
31172
  function isReusableParsingContext(parsingContext2) {
31179
31173
  switch (parsingContext2) {
31180
- case ParsingContext.ClassMembers:
31181
- case ParsingContext.SwitchClauses:
31182
- case ParsingContext.SourceElements:
31183
- case ParsingContext.BlockStatements:
31184
- case ParsingContext.SwitchClauseStatements:
31185
- case ParsingContext.EnumMembers:
31186
- case ParsingContext.TypeMembers:
31187
- case ParsingContext.VariableDeclarations:
31188
- case ParsingContext.JSDocParameters:
31189
- case ParsingContext.Parameters:
31174
+ case 5 /* ClassMembers */:
31175
+ case 2 /* SwitchClauses */:
31176
+ case 0 /* SourceElements */:
31177
+ case 1 /* BlockStatements */:
31178
+ case 3 /* SwitchClauseStatements */:
31179
+ case 6 /* EnumMembers */:
31180
+ case 4 /* TypeMembers */:
31181
+ case 8 /* VariableDeclarations */:
31182
+ case 17 /* JSDocParameters */:
31183
+ case 16 /* Parameters */:
31190
31184
  return true;
31191
31185
  }
31192
31186
  return false;
31193
31187
  }
31194
31188
  function canReuseNode(node, parsingContext2) {
31195
31189
  switch (parsingContext2) {
31196
- case ParsingContext.ClassMembers:
31190
+ case 5 /* ClassMembers */:
31197
31191
  return isReusableClassMember(node);
31198
- case ParsingContext.SwitchClauses:
31192
+ case 2 /* SwitchClauses */:
31199
31193
  return isReusableSwitchClause(node);
31200
- case ParsingContext.SourceElements:
31201
- case ParsingContext.BlockStatements:
31202
- case ParsingContext.SwitchClauseStatements:
31194
+ case 0 /* SourceElements */:
31195
+ case 1 /* BlockStatements */:
31196
+ case 3 /* SwitchClauseStatements */:
31203
31197
  return isReusableStatement(node);
31204
- case ParsingContext.EnumMembers:
31198
+ case 6 /* EnumMembers */:
31205
31199
  return isReusableEnumMember(node);
31206
- case ParsingContext.TypeMembers:
31200
+ case 4 /* TypeMembers */:
31207
31201
  return isReusableTypeMember(node);
31208
- case ParsingContext.VariableDeclarations:
31202
+ case 8 /* VariableDeclarations */:
31209
31203
  return isReusableVariableDeclaration(node);
31210
- case ParsingContext.JSDocParameters:
31211
- case ParsingContext.Parameters:
31204
+ case 17 /* JSDocParameters */:
31205
+ case 16 /* Parameters */:
31212
31206
  return isReusableParameter(node);
31213
31207
  }
31214
31208
  return false;
@@ -31318,56 +31312,56 @@ var Parser;
31318
31312
  }
31319
31313
  function parsingContextErrors(context) {
31320
31314
  switch (context) {
31321
- case ParsingContext.SourceElements:
31315
+ case 0 /* SourceElements */:
31322
31316
  return token() === 88 /* DefaultKeyword */ ? parseErrorAtCurrentToken(Diagnostics._0_expected, tokenToString(93 /* ExportKeyword */)) : parseErrorAtCurrentToken(Diagnostics.Declaration_or_statement_expected);
31323
- case ParsingContext.BlockStatements:
31317
+ case 1 /* BlockStatements */:
31324
31318
  return parseErrorAtCurrentToken(Diagnostics.Declaration_or_statement_expected);
31325
- case ParsingContext.SwitchClauses:
31319
+ case 2 /* SwitchClauses */:
31326
31320
  return parseErrorAtCurrentToken(Diagnostics.case_or_default_expected);
31327
- case ParsingContext.SwitchClauseStatements:
31321
+ case 3 /* SwitchClauseStatements */:
31328
31322
  return parseErrorAtCurrentToken(Diagnostics.Statement_expected);
31329
- case ParsingContext.RestProperties:
31330
- case ParsingContext.TypeMembers:
31323
+ case 18 /* RestProperties */:
31324
+ case 4 /* TypeMembers */:
31331
31325
  return parseErrorAtCurrentToken(Diagnostics.Property_or_signature_expected);
31332
- case ParsingContext.ClassMembers:
31326
+ case 5 /* ClassMembers */:
31333
31327
  return parseErrorAtCurrentToken(Diagnostics.Unexpected_token_A_constructor_method_accessor_or_property_was_expected);
31334
- case ParsingContext.EnumMembers:
31328
+ case 6 /* EnumMembers */:
31335
31329
  return parseErrorAtCurrentToken(Diagnostics.Enum_member_expected);
31336
- case ParsingContext.HeritageClauseElement:
31330
+ case 7 /* HeritageClauseElement */:
31337
31331
  return parseErrorAtCurrentToken(Diagnostics.Expression_expected);
31338
- case ParsingContext.VariableDeclarations:
31332
+ case 8 /* VariableDeclarations */:
31339
31333
  return isKeyword(token()) ? parseErrorAtCurrentToken(Diagnostics._0_is_not_allowed_as_a_variable_declaration_name, tokenToString(token())) : parseErrorAtCurrentToken(Diagnostics.Variable_declaration_expected);
31340
- case ParsingContext.ObjectBindingElements:
31334
+ case 9 /* ObjectBindingElements */:
31341
31335
  return parseErrorAtCurrentToken(Diagnostics.Property_destructuring_pattern_expected);
31342
- case ParsingContext.ArrayBindingElements:
31336
+ case 10 /* ArrayBindingElements */:
31343
31337
  return parseErrorAtCurrentToken(Diagnostics.Array_element_destructuring_pattern_expected);
31344
- case ParsingContext.ArgumentExpressions:
31338
+ case 11 /* ArgumentExpressions */:
31345
31339
  return parseErrorAtCurrentToken(Diagnostics.Argument_expression_expected);
31346
- case ParsingContext.ObjectLiteralMembers:
31340
+ case 12 /* ObjectLiteralMembers */:
31347
31341
  return parseErrorAtCurrentToken(Diagnostics.Property_assignment_expected);
31348
- case ParsingContext.ArrayLiteralMembers:
31342
+ case 15 /* ArrayLiteralMembers */:
31349
31343
  return parseErrorAtCurrentToken(Diagnostics.Expression_or_comma_expected);
31350
- case ParsingContext.JSDocParameters:
31344
+ case 17 /* JSDocParameters */:
31351
31345
  return parseErrorAtCurrentToken(Diagnostics.Parameter_declaration_expected);
31352
- case ParsingContext.Parameters:
31346
+ case 16 /* Parameters */:
31353
31347
  return isKeyword(token()) ? parseErrorAtCurrentToken(Diagnostics._0_is_not_allowed_as_a_parameter_name, tokenToString(token())) : parseErrorAtCurrentToken(Diagnostics.Parameter_declaration_expected);
31354
- case ParsingContext.TypeParameters:
31348
+ case 19 /* TypeParameters */:
31355
31349
  return parseErrorAtCurrentToken(Diagnostics.Type_parameter_declaration_expected);
31356
- case ParsingContext.TypeArguments:
31350
+ case 20 /* TypeArguments */:
31357
31351
  return parseErrorAtCurrentToken(Diagnostics.Type_argument_expected);
31358
- case ParsingContext.TupleElementTypes:
31352
+ case 21 /* TupleElementTypes */:
31359
31353
  return parseErrorAtCurrentToken(Diagnostics.Type_expected);
31360
- case ParsingContext.HeritageClauses:
31354
+ case 22 /* HeritageClauses */:
31361
31355
  return parseErrorAtCurrentToken(Diagnostics.Unexpected_token_expected);
31362
- case ParsingContext.ImportOrExportSpecifiers:
31356
+ case 23 /* ImportOrExportSpecifiers */:
31363
31357
  return parseErrorAtCurrentToken(Diagnostics.Identifier_expected);
31364
- case ParsingContext.JsxAttributes:
31358
+ case 13 /* JsxAttributes */:
31365
31359
  return parseErrorAtCurrentToken(Diagnostics.Identifier_expected);
31366
- case ParsingContext.JsxChildren:
31360
+ case 14 /* JsxChildren */:
31367
31361
  return parseErrorAtCurrentToken(Diagnostics.Identifier_expected);
31368
- case ParsingContext.AssertEntries:
31362
+ case 24 /* AssertEntries */:
31369
31363
  return parseErrorAtCurrentToken(Diagnostics.Identifier_or_string_literal_expected);
31370
- case ParsingContext.Count:
31364
+ case 25 /* Count */:
31371
31365
  return Debug.fail("ParsingContext.Count used as a context");
31372
31366
  default:
31373
31367
  Debug.assertNever(context);
@@ -31426,7 +31420,7 @@ var Parser;
31426
31420
  );
31427
31421
  }
31428
31422
  function getExpectedCommaDiagnostic(kind) {
31429
- return kind === ParsingContext.EnumMembers ? Diagnostics.An_enum_member_name_must_be_followed_by_a_or : void 0;
31423
+ return kind === 6 /* EnumMembers */ ? Diagnostics.An_enum_member_name_must_be_followed_by_a_or : void 0;
31430
31424
  }
31431
31425
  function createMissingList() {
31432
31426
  const list = createNodeArray([], getNodePos());
@@ -31620,7 +31614,7 @@ var Parser;
31620
31614
  }
31621
31615
  function parseTypeArgumentsOfTypeReference() {
31622
31616
  if (!scanner2.hasPrecedingLineBreak() && reScanLessThanToken() === 29 /* LessThanToken */) {
31623
- return parseBracketedList(ParsingContext.TypeArguments, parseType, 29 /* LessThanToken */, 31 /* GreaterThanToken */);
31617
+ return parseBracketedList(20 /* TypeArguments */, parseType, 29 /* LessThanToken */, 31 /* GreaterThanToken */);
31624
31618
  }
31625
31619
  }
31626
31620
  function parseTypeReference() {
@@ -31802,7 +31796,7 @@ var Parser;
31802
31796
  }
31803
31797
  function parseTypeParameters() {
31804
31798
  if (token() === 29 /* LessThanToken */) {
31805
- return parseBracketedList(ParsingContext.TypeParameters, parseTypeParameter, 29 /* LessThanToken */, 31 /* GreaterThanToken */);
31799
+ return parseBracketedList(19 /* TypeParameters */, parseTypeParameter, 29 /* LessThanToken */, 31 /* GreaterThanToken */);
31806
31800
  }
31807
31801
  }
31808
31802
  function isStartOfParameter(isJSDocParameter) {
@@ -31908,7 +31902,7 @@ var Parser;
31908
31902
  const savedAwaitContext = inAwaitContext();
31909
31903
  setYieldContext(!!(flags & 1 /* Yield */));
31910
31904
  setAwaitContext(!!(flags & 2 /* Await */));
31911
- const parameters = flags & 32 /* JSDoc */ ? parseDelimitedList(ParsingContext.JSDocParameters, parseJSDocParameter) : parseDelimitedList(ParsingContext.Parameters, () => allowAmbiguity ? parseParameter(savedAwaitContext) : parseParameterForSpeculation(savedAwaitContext));
31905
+ const parameters = flags & 32 /* JSDoc */ ? parseDelimitedList(17 /* JSDocParameters */, parseJSDocParameter) : parseDelimitedList(16 /* Parameters */, () => allowAmbiguity ? parseParameter(savedAwaitContext) : parseParameterForSpeculation(savedAwaitContext));
31912
31906
  setYieldContext(savedYieldContext);
31913
31907
  setAwaitContext(savedAwaitContext);
31914
31908
  return parameters;
@@ -31976,7 +31970,7 @@ var Parser;
31976
31970
  return token() === 58 /* ColonToken */ || token() === 27 /* CommaToken */ || token() === 23 /* CloseBracketToken */;
31977
31971
  }
31978
31972
  function parseIndexSignatureDeclaration(pos, hasJSDoc, modifiers) {
31979
- const parameters = parseBracketedList(ParsingContext.Parameters, () => parseParameter(
31973
+ const parameters = parseBracketedList(16 /* Parameters */, () => parseParameter(
31980
31974
  /*inOuterAwaitContext*/
31981
31975
  false
31982
31976
  ), 22 /* OpenBracketToken */, 23 /* CloseBracketToken */);
@@ -32075,7 +32069,7 @@ var Parser;
32075
32069
  function parseObjectTypeMembers() {
32076
32070
  let members;
32077
32071
  if (parseExpected(18 /* OpenBraceToken */)) {
32078
- members = parseList(ParsingContext.TypeMembers, parseTypeMember);
32072
+ members = parseList(4 /* TypeMembers */, parseTypeMember);
32079
32073
  parseExpected(19 /* CloseBraceToken */);
32080
32074
  } else {
32081
32075
  members = createMissingList();
@@ -32129,7 +32123,7 @@ var Parser;
32129
32123
  }
32130
32124
  const type = parseTypeAnnotation();
32131
32125
  parseSemicolon();
32132
- const members = parseList(ParsingContext.TypeMembers, parseTypeMember);
32126
+ const members = parseList(4 /* TypeMembers */, parseTypeMember);
32133
32127
  parseExpected(19 /* CloseBraceToken */);
32134
32128
  return finishNode(factory2.createMappedTypeNode(readonlyToken, typeParameter, nameType, questionToken, type, members), pos);
32135
32129
  }
@@ -32174,7 +32168,7 @@ var Parser;
32174
32168
  const pos = getNodePos();
32175
32169
  return finishNode(
32176
32170
  factory2.createTupleTypeNode(
32177
- parseBracketedList(ParsingContext.TupleElementTypes, parseTupleElementNameOrTupleElementType, 22 /* OpenBracketToken */, 23 /* CloseBracketToken */)
32171
+ parseBracketedList(21 /* TupleElementTypes */, parseTupleElementNameOrTupleElementType, 22 /* OpenBracketToken */, 23 /* CloseBracketToken */)
32178
32172
  ),
32179
32173
  pos
32180
32174
  );
@@ -32802,10 +32796,10 @@ var Parser;
32802
32796
  }
32803
32797
  function tryParseParenthesizedArrowFunctionExpression(allowReturnTypeInArrowFunction) {
32804
32798
  const triState = isParenthesizedArrowFunctionExpression();
32805
- if (triState === Tristate.False) {
32799
+ if (triState === 0 /* False */) {
32806
32800
  return void 0;
32807
32801
  }
32808
- return triState === Tristate.True ? parseParenthesizedArrowFunctionExpression(
32802
+ return triState === 1 /* True */ ? parseParenthesizedArrowFunctionExpression(
32809
32803
  /*allowAmbiguity*/
32810
32804
  true,
32811
32805
  /*allowReturnTypeInArrowFunction*/
@@ -32817,18 +32811,18 @@ var Parser;
32817
32811
  return lookAhead(isParenthesizedArrowFunctionExpressionWorker);
32818
32812
  }
32819
32813
  if (token() === 38 /* EqualsGreaterThanToken */) {
32820
- return Tristate.True;
32814
+ return 1 /* True */;
32821
32815
  }
32822
- return Tristate.False;
32816
+ return 0 /* False */;
32823
32817
  }
32824
32818
  function isParenthesizedArrowFunctionExpressionWorker() {
32825
32819
  if (token() === 132 /* AsyncKeyword */) {
32826
32820
  nextToken();
32827
32821
  if (scanner2.hasPrecedingLineBreak()) {
32828
- return Tristate.False;
32822
+ return 0 /* False */;
32829
32823
  }
32830
32824
  if (token() !== 20 /* OpenParenToken */ && token() !== 29 /* LessThanToken */) {
32831
- return Tristate.False;
32825
+ return 0 /* False */;
32832
32826
  }
32833
32827
  }
32834
32828
  const first2 = token();
@@ -32840,45 +32834,45 @@ var Parser;
32840
32834
  case 38 /* EqualsGreaterThanToken */:
32841
32835
  case 58 /* ColonToken */:
32842
32836
  case 18 /* OpenBraceToken */:
32843
- return Tristate.True;
32837
+ return 1 /* True */;
32844
32838
  default:
32845
- return Tristate.False;
32839
+ return 0 /* False */;
32846
32840
  }
32847
32841
  }
32848
32842
  if (second === 22 /* OpenBracketToken */ || second === 18 /* OpenBraceToken */) {
32849
- return Tristate.Unknown;
32843
+ return 2 /* Unknown */;
32850
32844
  }
32851
32845
  if (second === 25 /* DotDotDotToken */) {
32852
- return Tristate.True;
32846
+ return 1 /* True */;
32853
32847
  }
32854
32848
  if (isModifierKind(second) && second !== 132 /* AsyncKeyword */ && lookAhead(nextTokenIsIdentifier)) {
32855
32849
  if (nextToken() === 128 /* AsKeyword */) {
32856
- return Tristate.False;
32850
+ return 0 /* False */;
32857
32851
  }
32858
- return Tristate.True;
32852
+ return 1 /* True */;
32859
32853
  }
32860
32854
  if (!isIdentifier2() && second !== 108 /* ThisKeyword */) {
32861
- return Tristate.False;
32855
+ return 0 /* False */;
32862
32856
  }
32863
32857
  switch (nextToken()) {
32864
32858
  case 58 /* ColonToken */:
32865
- return Tristate.True;
32859
+ return 1 /* True */;
32866
32860
  case 57 /* QuestionToken */:
32867
32861
  nextToken();
32868
32862
  if (token() === 58 /* ColonToken */ || token() === 27 /* CommaToken */ || token() === 63 /* EqualsToken */ || token() === 21 /* CloseParenToken */) {
32869
- return Tristate.True;
32863
+ return 1 /* True */;
32870
32864
  }
32871
- return Tristate.False;
32865
+ return 0 /* False */;
32872
32866
  case 27 /* CommaToken */:
32873
32867
  case 63 /* EqualsToken */:
32874
32868
  case 21 /* CloseParenToken */:
32875
- return Tristate.Unknown;
32869
+ return 2 /* Unknown */;
32876
32870
  }
32877
- return Tristate.False;
32871
+ return 0 /* False */;
32878
32872
  } else {
32879
32873
  Debug.assert(first2 === 29 /* LessThanToken */);
32880
32874
  if (!isIdentifier2() && token() !== 85 /* ConstKeyword */) {
32881
- return Tristate.False;
32875
+ return 0 /* False */;
32882
32876
  }
32883
32877
  if (languageVariant === 1 /* JSX */) {
32884
32878
  const isArrowFunctionInJsx = lookAhead(() => {
@@ -32900,11 +32894,11 @@ var Parser;
32900
32894
  return false;
32901
32895
  });
32902
32896
  if (isArrowFunctionInJsx) {
32903
- return Tristate.True;
32897
+ return 1 /* True */;
32904
32898
  }
32905
- return Tristate.False;
32899
+ return 0 /* False */;
32906
32900
  }
32907
- return Tristate.Unknown;
32901
+ return 2 /* Unknown */;
32908
32902
  }
32909
32903
  }
32910
32904
  function parsePossibleParenthesizedArrowFunctionExpression(allowReturnTypeInArrowFunction) {
@@ -32924,7 +32918,7 @@ var Parser;
32924
32918
  }
32925
32919
  function tryParseAsyncSimpleArrowFunctionExpression(allowReturnTypeInArrowFunction) {
32926
32920
  if (token() === 132 /* AsyncKeyword */) {
32927
- if (lookAhead(isUnParenthesizedAsyncArrowFunctionWorker) === Tristate.True) {
32921
+ if (lookAhead(isUnParenthesizedAsyncArrowFunctionWorker) === 1 /* True */) {
32928
32922
  const pos = getNodePos();
32929
32923
  const asyncModifier = parseModifiersForArrowFunction();
32930
32924
  const expr = parseBinaryExpressionOrHigher(0 /* Lowest */);
@@ -32937,14 +32931,14 @@ var Parser;
32937
32931
  if (token() === 132 /* AsyncKeyword */) {
32938
32932
  nextToken();
32939
32933
  if (scanner2.hasPrecedingLineBreak() || token() === 38 /* EqualsGreaterThanToken */) {
32940
- return Tristate.False;
32934
+ return 0 /* False */;
32941
32935
  }
32942
32936
  const expr = parseBinaryExpressionOrHigher(0 /* Lowest */);
32943
32937
  if (!scanner2.hasPrecedingLineBreak() && expr.kind === 79 /* Identifier */ && token() === 38 /* EqualsGreaterThanToken */) {
32944
- return Tristate.True;
32938
+ return 1 /* True */;
32945
32939
  }
32946
32940
  }
32947
- return Tristate.False;
32941
+ return 0 /* False */;
32948
32942
  }
32949
32943
  function parseParenthesizedArrowFunctionExpression(allowAmbiguity, allowReturnTypeInArrowFunction) {
32950
32944
  const pos = getNodePos();
@@ -33149,6 +33143,12 @@ var Parser;
33149
33143
  case 114 /* VoidKeyword */:
33150
33144
  return parseVoidExpression();
33151
33145
  case 29 /* LessThanToken */:
33146
+ if (languageVariant === 1 /* JSX */ && token() === 29 /* LessThanToken */ && lookAhead(nextTokenIsIdentifierOrKeywordOrGreaterThan)) {
33147
+ return parseJsxElementOrSelfClosingElementOrFragment(
33148
+ /*inExpressionContext*/
33149
+ true
33150
+ );
33151
+ }
33152
33152
  return parseTypeAssertion();
33153
33153
  case 133 /* AwaitKeyword */:
33154
33154
  if (isAwaitExpression2()) {
@@ -33352,7 +33352,7 @@ var Parser;
33352
33352
  const list = [];
33353
33353
  const listPos = getNodePos();
33354
33354
  const saveParsingContext = parsingContext;
33355
- parsingContext |= 1 << ParsingContext.JsxChildren;
33355
+ parsingContext |= 1 << 14 /* JsxChildren */;
33356
33356
  while (true) {
33357
33357
  const child = parseJsxChild(openingTag, currentToken = scanner2.reScanJsxToken());
33358
33358
  if (!child)
@@ -33367,7 +33367,7 @@ var Parser;
33367
33367
  }
33368
33368
  function parseJsxAttributes() {
33369
33369
  const pos = getNodePos();
33370
- return finishNode(factory2.createJsxAttributes(parseList(ParsingContext.JsxAttributes, parseJsxAttribute)), pos);
33370
+ return finishNode(factory2.createJsxAttributes(parseList(13 /* JsxAttributes */, parseJsxAttribute)), pos);
33371
33371
  }
33372
33372
  function parseJsxOpeningOrSelfClosingElementOrOpeningFragment(inExpressionContext) {
33373
33373
  const pos = getNodePos();
@@ -33520,6 +33520,7 @@ var Parser;
33520
33520
  return finishNode(factory2.createJsxJsxClosingFragment(), pos);
33521
33521
  }
33522
33522
  function parseTypeAssertion() {
33523
+ Debug.assert(scriptKind === 3 /* TS */ || scriptKind === 4 /* TSX */, "Type assertions should never be parsed outside of TS/TSX; they should either be comparisons or JSX.");
33523
33524
  const pos = getNodePos();
33524
33525
  parseExpected(29 /* LessThanToken */);
33525
33526
  const type = parseType();
@@ -33695,7 +33696,7 @@ var Parser;
33695
33696
  }
33696
33697
  function parseArgumentList() {
33697
33698
  parseExpected(20 /* OpenParenToken */);
33698
- const result = parseDelimitedList(ParsingContext.ArgumentExpressions, parseArgumentExpression);
33699
+ const result = parseDelimitedList(11 /* ArgumentExpressions */, parseArgumentExpression);
33699
33700
  parseExpected(21 /* CloseParenToken */);
33700
33701
  return result;
33701
33702
  }
@@ -33707,7 +33708,7 @@ var Parser;
33707
33708
  return void 0;
33708
33709
  }
33709
33710
  nextToken();
33710
- const typeArguments = parseDelimitedList(ParsingContext.TypeArguments, parseType);
33711
+ const typeArguments = parseDelimitedList(20 /* TypeArguments */, parseType);
33711
33712
  if (reScanGreaterToken() !== 31 /* GreaterThanToken */) {
33712
33713
  return void 0;
33713
33714
  }
@@ -33807,7 +33808,7 @@ var Parser;
33807
33808
  const openBracketPosition = scanner2.getTokenPos();
33808
33809
  const openBracketParsed = parseExpected(22 /* OpenBracketToken */);
33809
33810
  const multiLine = scanner2.hasPrecedingLineBreak();
33810
- const elements = parseDelimitedList(ParsingContext.ArrayLiteralMembers, parseArgumentOrArrayLiteralElement);
33811
+ const elements = parseDelimitedList(15 /* ArrayLiteralMembers */, parseArgumentOrArrayLiteralElement);
33811
33812
  parseExpectedMatchingBrackets(22 /* OpenBracketToken */, 23 /* CloseBracketToken */, openBracketParsed, openBracketPosition);
33812
33813
  return finishNode(factory2.createArrayLiteralExpression(elements, multiLine), pos);
33813
33814
  }
@@ -33868,7 +33869,7 @@ var Parser;
33868
33869
  const openBraceParsed = parseExpected(18 /* OpenBraceToken */);
33869
33870
  const multiLine = scanner2.hasPrecedingLineBreak();
33870
33871
  const properties = parseDelimitedList(
33871
- ParsingContext.ObjectLiteralMembers,
33872
+ 12 /* ObjectLiteralMembers */,
33872
33873
  parseObjectLiteralElement,
33873
33874
  /*considerSemicolonAsDelimiter*/
33874
33875
  true
@@ -33940,7 +33941,7 @@ var Parser;
33940
33941
  const openBraceParsed = parseExpected(18 /* OpenBraceToken */, diagnosticMessage);
33941
33942
  if (openBraceParsed || ignoreMissingOpenBrace) {
33942
33943
  const multiLine = scanner2.hasPrecedingLineBreak();
33943
- const statements = parseList(ParsingContext.BlockStatements, parseStatement);
33944
+ const statements = parseList(1 /* BlockStatements */, parseStatement);
33944
33945
  parseExpectedMatchingBrackets(18 /* OpenBraceToken */, 19 /* CloseBraceToken */, openBraceParsed, openBracePosition);
33945
33946
  const result = withJSDoc(finishNode(factory2.createBlock(statements, multiLine), pos), hasJSDoc);
33946
33947
  if (token() === 63 /* EqualsToken */) {
@@ -34098,14 +34099,14 @@ var Parser;
34098
34099
  parseExpected(82 /* CaseKeyword */);
34099
34100
  const expression = allowInAnd(parseExpression);
34100
34101
  parseExpected(58 /* ColonToken */);
34101
- const statements = parseList(ParsingContext.SwitchClauseStatements, parseStatement);
34102
+ const statements = parseList(3 /* SwitchClauseStatements */, parseStatement);
34102
34103
  return withJSDoc(finishNode(factory2.createCaseClause(expression, statements), pos), hasJSDoc);
34103
34104
  }
34104
34105
  function parseDefaultClause() {
34105
34106
  const pos = getNodePos();
34106
34107
  parseExpected(88 /* DefaultKeyword */);
34107
34108
  parseExpected(58 /* ColonToken */);
34108
- const statements = parseList(ParsingContext.SwitchClauseStatements, parseStatement);
34109
+ const statements = parseList(3 /* SwitchClauseStatements */, parseStatement);
34109
34110
  return finishNode(factory2.createDefaultClause(statements), pos);
34110
34111
  }
34111
34112
  function parseCaseOrDefaultClause() {
@@ -34114,7 +34115,7 @@ var Parser;
34114
34115
  function parseCaseBlock() {
34115
34116
  const pos = getNodePos();
34116
34117
  parseExpected(18 /* OpenBraceToken */);
34117
- const clauses = parseList(ParsingContext.SwitchClauses, parseCaseOrDefaultClause);
34118
+ const clauses = parseList(2 /* SwitchClauses */, parseCaseOrDefaultClause);
34118
34119
  parseExpected(19 /* CloseBraceToken */);
34119
34120
  return finishNode(factory2.createCaseBlock(clauses), pos);
34120
34121
  }
@@ -34555,14 +34556,14 @@ var Parser;
34555
34556
  function parseObjectBindingPattern() {
34556
34557
  const pos = getNodePos();
34557
34558
  parseExpected(18 /* OpenBraceToken */);
34558
- const elements = parseDelimitedList(ParsingContext.ObjectBindingElements, parseObjectBindingElement);
34559
+ const elements = parseDelimitedList(9 /* ObjectBindingElements */, parseObjectBindingElement);
34559
34560
  parseExpected(19 /* CloseBraceToken */);
34560
34561
  return finishNode(factory2.createObjectBindingPattern(elements), pos);
34561
34562
  }
34562
34563
  function parseArrayBindingPattern() {
34563
34564
  const pos = getNodePos();
34564
34565
  parseExpected(22 /* OpenBracketToken */);
34565
- const elements = parseDelimitedList(ParsingContext.ArrayBindingElements, parseArrayBindingElement);
34566
+ const elements = parseDelimitedList(10 /* ArrayBindingElements */, parseArrayBindingElement);
34566
34567
  parseExpected(23 /* CloseBracketToken */);
34567
34568
  return finishNode(factory2.createArrayBindingPattern(elements), pos);
34568
34569
  }
@@ -34620,7 +34621,7 @@ var Parser;
34620
34621
  const savedDisallowIn = inDisallowInContext();
34621
34622
  setDisallowInContext(inForStatementInitializer);
34622
34623
  declarations = parseDelimitedList(
34623
- ParsingContext.VariableDeclarations,
34624
+ 8 /* VariableDeclarations */,
34624
34625
  inForStatementInitializer ? parseVariableDeclaration : parseVariableDeclarationAllowExclamation
34625
34626
  );
34626
34627
  setDisallowInContext(savedDisallowIn);
@@ -35023,7 +35024,7 @@ var Parser;
35023
35024
  }
35024
35025
  function parseHeritageClauses() {
35025
35026
  if (isHeritageClause2()) {
35026
- return parseList(ParsingContext.HeritageClauses, parseHeritageClause);
35027
+ return parseList(22 /* HeritageClauses */, parseHeritageClause);
35027
35028
  }
35028
35029
  return void 0;
35029
35030
  }
@@ -35032,7 +35033,7 @@ var Parser;
35032
35033
  const tok = token();
35033
35034
  Debug.assert(tok === 94 /* ExtendsKeyword */ || tok === 117 /* ImplementsKeyword */);
35034
35035
  nextToken();
35035
- const types = parseDelimitedList(ParsingContext.HeritageClauseElement, parseExpressionWithTypeArguments);
35036
+ const types = parseDelimitedList(7 /* HeritageClauseElement */, parseExpressionWithTypeArguments);
35036
35037
  return finishNode(factory2.createHeritageClause(tok, types), pos);
35037
35038
  }
35038
35039
  function parseExpressionWithTypeArguments() {
@@ -35045,13 +35046,13 @@ var Parser;
35045
35046
  return finishNode(factory2.createExpressionWithTypeArguments(expression, typeArguments), pos);
35046
35047
  }
35047
35048
  function tryParseTypeArguments() {
35048
- return token() === 29 /* LessThanToken */ ? parseBracketedList(ParsingContext.TypeArguments, parseType, 29 /* LessThanToken */, 31 /* GreaterThanToken */) : void 0;
35049
+ return token() === 29 /* LessThanToken */ ? parseBracketedList(20 /* TypeArguments */, parseType, 29 /* LessThanToken */, 31 /* GreaterThanToken */) : void 0;
35049
35050
  }
35050
35051
  function isHeritageClause2() {
35051
35052
  return token() === 94 /* ExtendsKeyword */ || token() === 117 /* ImplementsKeyword */;
35052
35053
  }
35053
35054
  function parseClassMembers() {
35054
- return parseList(ParsingContext.ClassMembers, parseClassElement);
35055
+ return parseList(5 /* ClassMembers */, parseClassElement);
35055
35056
  }
35056
35057
  function parseInterfaceDeclaration(pos, hasJSDoc, modifiers) {
35057
35058
  parseExpected(118 /* InterfaceKeyword */);
@@ -35084,7 +35085,7 @@ var Parser;
35084
35085
  const name = parseIdentifier();
35085
35086
  let members;
35086
35087
  if (parseExpected(18 /* OpenBraceToken */)) {
35087
- members = doOutsideOfYieldAndAwaitContext(() => parseDelimitedList(ParsingContext.EnumMembers, parseEnumMember));
35088
+ members = doOutsideOfYieldAndAwaitContext(() => parseDelimitedList(6 /* EnumMembers */, parseEnumMember));
35088
35089
  parseExpected(19 /* CloseBraceToken */);
35089
35090
  } else {
35090
35091
  members = createMissingList();
@@ -35096,7 +35097,7 @@ var Parser;
35096
35097
  const pos = getNodePos();
35097
35098
  let statements;
35098
35099
  if (parseExpected(18 /* OpenBraceToken */)) {
35099
- statements = parseList(ParsingContext.BlockStatements, parseStatement);
35100
+ statements = parseList(1 /* BlockStatements */, parseStatement);
35100
35101
  parseExpected(19 /* CloseBraceToken */);
35101
35102
  } else {
35102
35103
  statements = createMissingList();
@@ -35221,7 +35222,7 @@ var Parser;
35221
35222
  if (parseExpected(18 /* OpenBraceToken */)) {
35222
35223
  const multiLine = scanner2.hasPrecedingLineBreak();
35223
35224
  const elements = parseDelimitedList(
35224
- ParsingContext.AssertEntries,
35225
+ 24 /* AssertEntries */,
35225
35226
  parseAssertEntry,
35226
35227
  /*considerSemicolonAsDelimiter*/
35227
35228
  true
@@ -35305,7 +35306,7 @@ var Parser;
35305
35306
  }
35306
35307
  function parseNamedImportsOrExports(kind) {
35307
35308
  const pos = getNodePos();
35308
- 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 */));
35309
+ 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 */));
35309
35310
  return finishNode(node, pos);
35310
35311
  }
35311
35312
  function parseExportSpecifier() {
@@ -36755,7 +36756,7 @@ var IncrementalParser;
36755
36756
  let currentArrayIndex = 0;
36756
36757
  Debug.assert(currentArrayIndex < currentArray.length);
36757
36758
  let current = currentArray[currentArrayIndex];
36758
- let lastQueriedPosition = InvalidPosition.Value;
36759
+ let lastQueriedPosition = -1 /* Value */;
36759
36760
  return {
36760
36761
  currentNode(position) {
36761
36762
  if (position !== lastQueriedPosition) {
@@ -36774,7 +36775,7 @@ var IncrementalParser;
36774
36775
  };
36775
36776
  function findHighestListElementThatStartsAtPosition(position) {
36776
36777
  currentArray = void 0;
36777
- currentArrayIndex = InvalidPosition.Value;
36778
+ currentArrayIndex = -1 /* Value */;
36778
36779
  current = void 0;
36779
36780
  forEachChild(sourceFile, visitNode3, visitArray2);
36780
36781
  return;
@@ -40571,9 +40572,9 @@ function resolveTypeReferenceDirective(typeReferenceDirectiveName, containingFil
40571
40572
  const affectingLocations = [];
40572
40573
  let features = getNodeResolutionFeatures(options);
40573
40574
  if (resolutionMode === 99 /* ESNext */ && (getEmitModuleResolutionKind(options) === 3 /* Node16 */ || getEmitModuleResolutionKind(options) === 99 /* NodeNext */)) {
40574
- features |= NodeResolutionFeatures.EsmMode;
40575
+ features |= 32 /* EsmMode */;
40575
40576
  }
40576
- const conditions = features & NodeResolutionFeatures.Exports ? getConditions(options, !!(features & NodeResolutionFeatures.EsmMode)) : [];
40577
+ const conditions = features & 8 /* Exports */ ? getConditions(options, !!(features & 32 /* EsmMode */)) : [];
40577
40578
  const diagnostics = [];
40578
40579
  const moduleResolutionState = {
40579
40580
  compilerOptions: options,
@@ -40706,27 +40707,27 @@ function resolveTypeReferenceDirective(typeReferenceDirectiveName, containingFil
40706
40707
  }
40707
40708
  }
40708
40709
  function getNodeResolutionFeatures(options) {
40709
- let features = NodeResolutionFeatures.None;
40710
+ let features = 0 /* None */;
40710
40711
  switch (getEmitModuleResolutionKind(options)) {
40711
40712
  case 3 /* Node16 */:
40712
- features = NodeResolutionFeatures.Node16Default;
40713
+ features = 30 /* Node16Default */;
40713
40714
  break;
40714
40715
  case 99 /* NodeNext */:
40715
- features = NodeResolutionFeatures.NodeNextDefault;
40716
+ features = 30 /* NodeNextDefault */;
40716
40717
  break;
40717
40718
  case 100 /* Bundler */:
40718
- features = NodeResolutionFeatures.BundlerDefault;
40719
+ features = 30 /* BundlerDefault */;
40719
40720
  break;
40720
40721
  }
40721
40722
  if (options.resolvePackageJsonExports) {
40722
- features |= NodeResolutionFeatures.Exports;
40723
+ features |= 8 /* Exports */;
40723
40724
  } else if (options.resolvePackageJsonExports === false) {
40724
- features &= ~NodeResolutionFeatures.Exports;
40725
+ features &= ~8 /* Exports */;
40725
40726
  }
40726
40727
  if (options.resolvePackageJsonImports) {
40727
- features |= NodeResolutionFeatures.Imports;
40728
+ features |= 2 /* Imports */;
40728
40729
  } else if (options.resolvePackageJsonImports === false) {
40729
- features &= ~NodeResolutionFeatures.Imports;
40730
+ features &= ~2 /* Imports */;
40730
40731
  }
40731
40732
  return features;
40732
40733
  }
@@ -46686,7 +46687,6 @@ var SignatureCheckMode = /* @__PURE__ */ ((SignatureCheckMode3) => {
46686
46687
  SignatureCheckMode3[SignatureCheckMode3["StrictCallback"] = 2] = "StrictCallback";
46687
46688
  SignatureCheckMode3[SignatureCheckMode3["IgnoreReturnTypes"] = 4] = "IgnoreReturnTypes";
46688
46689
  SignatureCheckMode3[SignatureCheckMode3["StrictArity"] = 8] = "StrictArity";
46689
- SignatureCheckMode3[SignatureCheckMode3["StrictTopSignature"] = 16] = "StrictTopSignature";
46690
46690
  SignatureCheckMode3[SignatureCheckMode3["Callback"] = 3] = "Callback";
46691
46691
  return SignatureCheckMode3;
46692
46692
  })(SignatureCheckMode || {});
@@ -62794,24 +62794,16 @@ function createTypeChecker(host) {
62794
62794
  void 0
62795
62795
  ) !== 0 /* False */;
62796
62796
  }
62797
- function isTopSignature(s) {
62798
- if (!s.typeParameters && (!s.thisParameter || isTypeAny(getTypeOfParameter(s.thisParameter))) && s.parameters.length === 1 && signatureHasRestParameter(s)) {
62799
- const paramType = getTypeOfParameter(s.parameters[0]);
62800
- const restType = isArrayType(paramType) ? getTypeArguments(paramType)[0] : paramType;
62801
- return !!(restType.flags & (1 /* Any */ | 131072 /* Never */) && getReturnTypeOfSignature(s).flags & 3 /* AnyOrUnknown */);
62802
- }
62803
- return false;
62797
+ function isAnySignature(s) {
62798
+ return !s.typeParameters && (!s.thisParameter || isTypeAny(getTypeOfParameter(s.thisParameter))) && s.parameters.length === 1 && signatureHasRestParameter(s) && (getTypeOfParameter(s.parameters[0]) === anyArrayType || isTypeAny(getTypeOfParameter(s.parameters[0]))) && isTypeAny(getReturnTypeOfSignature(s));
62804
62799
  }
62805
62800
  function compareSignaturesRelated(source, target, checkMode, reportErrors2, errorReporter, incompatibleErrorReporter, compareTypes, reportUnreliableMarkers) {
62806
62801
  if (source === target) {
62807
62802
  return -1 /* True */;
62808
62803
  }
62809
- if (!(checkMode & 16 /* StrictTopSignature */ && isTopSignature(source)) && isTopSignature(target)) {
62804
+ if (isAnySignature(target)) {
62810
62805
  return -1 /* True */;
62811
62806
  }
62812
- if (checkMode & 16 /* StrictTopSignature */ && isTopSignature(source) && !isTopSignature(target)) {
62813
- return 0 /* False */;
62814
- }
62815
62807
  const targetCount = getParameterCount(target);
62816
62808
  const sourceHasMoreParameters = !hasEffectiveRestParameter(target) && (checkMode & 8 /* StrictArity */ ? hasEffectiveRestParameter(source) || getParameterCount(source) > targetCount : getMinArgumentCount(source) > targetCount);
62817
62809
  if (sourceHasMoreParameters) {
@@ -63029,9 +63021,7 @@ function createTypeChecker(host) {
63029
63021
  function isSimpleTypeRelatedTo(source, target, relation, errorReporter) {
63030
63022
  const s = source.flags;
63031
63023
  const t = target.flags;
63032
- if (t & 1 /* Any */ || s & 131072 /* Never */ || source === wildcardType)
63033
- return true;
63034
- if (t & 2 /* Unknown */ && !(relation === strictSubtypeRelation && s & 1 /* Any */))
63024
+ if (t & 3 /* AnyOrUnknown */ || s & 131072 /* Never */ || source === wildcardType)
63035
63025
  return true;
63036
63026
  if (t & 131072 /* Never */)
63037
63027
  return false;
@@ -65271,11 +65261,10 @@ function createTypeChecker(host) {
65271
65261
  return (source2, target2) => reportIncompatibleError(Diagnostics.Construct_signature_return_types_0_and_1_are_incompatible, typeToString(source2), typeToString(target2));
65272
65262
  }
65273
65263
  function signatureRelatedTo(source2, target2, erase, reportErrors2, intersectionState, incompatibleReporter) {
65274
- const checkMode = relation === subtypeRelation ? 16 /* StrictTopSignature */ : relation === strictSubtypeRelation ? 16 /* StrictTopSignature */ | 8 /* StrictArity */ : 0 /* None */;
65275
65264
  return compareSignaturesRelated(
65276
65265
  erase ? getErasedSignature(source2) : source2,
65277
65266
  erase ? getErasedSignature(target2) : target2,
65278
- checkMode,
65267
+ relation === strictSubtypeRelation ? 8 /* StrictArity */ : 0,
65279
65268
  reportErrors2,
65280
65269
  reportError,
65281
65270
  incompatibleReporter,
@@ -65400,7 +65389,7 @@ function createTypeChecker(host) {
65400
65389
  if (sourceInfo) {
65401
65390
  return indexInfoRelatedTo(sourceInfo, targetInfo, reportErrors2, intersectionState);
65402
65391
  }
65403
- if (!(intersectionState & 1 /* Source */) && (relation !== strictSubtypeRelation || getObjectFlags(source2) & 8192 /* FreshLiteral */) && isObjectTypeWithInferableIndex(source2)) {
65392
+ if (!(intersectionState & 1 /* Source */) && isObjectTypeWithInferableIndex(source2)) {
65404
65393
  return membersRelatedToIndexInfo(source2, targetInfo, reportErrors2, intersectionState);
65405
65394
  }
65406
65395
  if (reportErrors2) {
@@ -65930,7 +65919,17 @@ function createTypeChecker(host) {
65930
65919
  return propType;
65931
65920
  }
65932
65921
  if (everyType(type, isTupleType)) {
65933
- return mapType(type, (t) => getRestTypeOfTupleType(t) || undefinedType);
65922
+ return mapType(type, (t) => {
65923
+ const tupleType = t;
65924
+ const restType = getRestTypeOfTupleType(tupleType);
65925
+ if (!restType) {
65926
+ return undefinedType;
65927
+ }
65928
+ if (compilerOptions.noUncheckedIndexedAccess && index >= tupleType.target.fixedLength + getEndElementCount(tupleType.target, 3 /* Fixed */)) {
65929
+ return getUnionType([restType, undefinedType]);
65930
+ }
65931
+ return restType;
65932
+ });
65934
65933
  }
65935
65934
  return void 0;
65936
65935
  }
@@ -68572,7 +68571,7 @@ function createTypeChecker(host) {
68572
68571
  }
68573
68572
  return declaredType;
68574
68573
  }
68575
- if (isVariableDeclaration(node) && node.parent.parent.kind === 246 /* ForInStatement */ && isMatchingReference(reference, node.parent.parent.expression)) {
68574
+ if (isVariableDeclaration(node) && node.parent.parent.kind === 246 /* ForInStatement */ && (isMatchingReference(reference, node.parent.parent.expression) || optionalChainContainsReference(node.parent.parent.expression, reference))) {
68576
68575
  return getNonNullableTypeIfNeeded(finalizeEvolvingArrayType(getTypeFromFlowType(getTypeAtFlowNode(flow.antecedent))));
68577
68576
  }
68578
68577
  return void 0;
@@ -69287,29 +69286,18 @@ function createTypeChecker(host) {
69287
69286
  return (_a3 = getCachedType(key2)) != null ? _a3 : setCachedType(key2, getNarrowedTypeWorker(type, candidate, assumeTrue, checkDerived));
69288
69287
  }
69289
69288
  function getNarrowedTypeWorker(type, candidate, assumeTrue, checkDerived) {
69289
+ const isRelated = checkDerived ? isTypeDerivedFrom : isTypeSubtypeOf;
69290
69290
  if (!assumeTrue) {
69291
- if (checkDerived) {
69292
- return filterType(type, (t) => !isTypeDerivedFrom(t, candidate));
69293
- }
69294
- const trueType2 = getNarrowedType(
69295
- type,
69296
- candidate,
69297
- /*assumeTrue*/
69298
- true,
69299
- /*checkDerived*/
69300
- false
69301
- );
69302
- return filterType(type, (t) => !isTypeSubsetOf(t, trueType2));
69291
+ return filterType(type, (t) => !isRelated(t, candidate));
69303
69292
  }
69304
69293
  if (type.flags & 3 /* AnyOrUnknown */) {
69305
69294
  return candidate;
69306
69295
  }
69307
- const isRelated = checkDerived ? isTypeDerivedFrom : isTypeSubtypeOf;
69308
69296
  const keyPropertyName = type.flags & 1048576 /* Union */ ? getKeyPropertyName(type) : void 0;
69309
69297
  const narrowedType = mapType(candidate, (c) => {
69310
69298
  const discriminant = keyPropertyName && getTypeOfPropertyOfType(c, keyPropertyName);
69311
69299
  const matching = discriminant && getConstituentTypeForKeyType(type, discriminant);
69312
- const directlyRelated = mapType(matching || type, checkDerived ? (t) => isTypeDerivedFrom(t, c) ? t : isTypeDerivedFrom(c, t) ? c : neverType : (t) => isTypeSubtypeOf(c, t) && !isTypeIdenticalTo(c, t) ? c : isTypeSubtypeOf(t, c) ? t : neverType);
69300
+ const directlyRelated = mapType(matching || type, checkDerived ? (t) => isTypeDerivedFrom(t, c) ? t : isTypeDerivedFrom(c, t) ? c : neverType : (t) => isTypeSubtypeOf(c, t) ? c : isTypeSubtypeOf(t, c) ? t : neverType);
69313
69301
  return directlyRelated.flags & 131072 /* Never */ ? mapType(type, (t) => maybeTypeOfKind(t, 465829888 /* Instantiable */) && isRelated(c, getBaseConstraintOfType(t) || unknownType) ? getIntersectionType([t, c]) : neverType) : directlyRelated;
69314
69302
  });
69315
69303
  return !(narrowedType.flags & 131072 /* Never */) ? narrowedType : isTypeSubtypeOf(candidate, type) ? candidate : isTypeAssignableTo(type, candidate) ? type : isTypeAssignableTo(candidate, type) ? candidate : getIntersectionType([type, candidate]);
@@ -77065,7 +77053,7 @@ function createTypeChecker(host) {
77065
77053
  return leftType;
77066
77054
  } else {
77067
77055
  checkAssignmentOperator(rightType);
77068
- return rightType;
77056
+ return getRegularTypeOfObjectLiteral(rightType);
77069
77057
  }
77070
77058
  case 27 /* CommaToken */:
77071
77059
  if (!compilerOptions.allowUnreachableCode && isSideEffectFree(left) && !isIndirectCall(left.parent)) {
@@ -105184,6 +105172,9 @@ function transformModule(context) {
105184
105172
  return visitEachChild(node, visitor, context);
105185
105173
  }
105186
105174
  function visitImportCallExpression(node) {
105175
+ if (moduleKind === 0 /* None */ && languageVersion >= 7 /* ES2020 */) {
105176
+ return visitEachChild(node, visitor, context);
105177
+ }
105187
105178
  const externalModuleName = getExternalModuleNameLiteral(factory2, node, currentSourceFile, host, resolver, compilerOptions);
105188
105179
  const firstArgument = visitNode(firstOrUndefined(node.arguments), visitor, isExpression);
105189
105180
  const argument = externalModuleName && (!firstArgument || !isStringLiteral(firstArgument) || firstArgument.text !== externalModuleName.text) ? externalModuleName : firstArgument;
@@ -111488,9 +111479,9 @@ function createPrinter(printerOptions = {}, handlers = {}) {
111488
111479
  formattedNameTempFlagsStack = [];
111489
111480
  formattedNameTempFlags = /* @__PURE__ */ new Map();
111490
111481
  privateNameTempFlagsStack = [];
111491
- privateNameTempFlags = TempFlags.Auto;
111482
+ privateNameTempFlags = 0 /* Auto */;
111492
111483
  tempFlagsStack = [];
111493
- tempFlags = TempFlags.Auto;
111484
+ tempFlags = 0 /* Auto */;
111494
111485
  reservedNamesStack = [];
111495
111486
  reservedNames = void 0;
111496
111487
  reservedPrivateNamesStack = [];
@@ -112459,7 +112450,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
112459
112450
  }
112460
112451
  function emitTypeLiteral(node) {
112461
112452
  pushPrivateNameGenerationScope(
112462
- TempFlags.Auto,
112453
+ 0 /* Auto */,
112463
112454
  /*newReservedMemberNames*/
112464
112455
  void 0
112465
112456
  );
@@ -112648,7 +112639,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
112648
112639
  }
112649
112640
  function emitObjectLiteralExpression(node) {
112650
112641
  pushPrivateNameGenerationScope(
112651
- TempFlags.Auto,
112642
+ 0 /* Auto */,
112652
112643
  /*newReservedMemberNames*/
112653
112644
  void 0
112654
112645
  );
@@ -113414,7 +113405,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
113414
113405
  }
113415
113406
  function emitClassDeclarationOrExpression(node) {
113416
113407
  pushPrivateNameGenerationScope(
113417
- TempFlags.Auto,
113408
+ 0 /* Auto */,
113418
113409
  /*newReservedMemberNames*/
113419
113410
  void 0
113420
113411
  );
@@ -113447,7 +113438,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
113447
113438
  }
113448
113439
  function emitInterfaceDeclaration(node) {
113449
113440
  pushPrivateNameGenerationScope(
113450
- TempFlags.Auto,
113441
+ 0 /* Auto */,
113451
113442
  /*newReservedMemberNames*/
113452
113443
  void 0
113453
113444
  );
@@ -114890,7 +114881,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
114890
114881
  return;
114891
114882
  }
114892
114883
  tempFlagsStack.push(tempFlags);
114893
- tempFlags = TempFlags.Auto;
114884
+ tempFlags = 0 /* Auto */;
114894
114885
  formattedNameTempFlagsStack.push(formattedNameTempFlags);
114895
114886
  formattedNameTempFlags = void 0;
114896
114887
  reservedNamesStack.push(reservedNames);
@@ -115076,7 +115067,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
115076
115067
  case "#":
115077
115068
  return privateNameTempFlags;
115078
115069
  default:
115079
- return (_a2 = formattedNameTempFlags == null ? void 0 : formattedNameTempFlags.get(formattedNameKey)) != null ? _a2 : TempFlags.Auto;
115070
+ return (_a2 = formattedNameTempFlags == null ? void 0 : formattedNameTempFlags.get(formattedNameKey)) != null ? _a2 : 0 /* Auto */;
115080
115071
  }
115081
115072
  }
115082
115073
  function setTempFlags(formattedNameKey, flags) {
@@ -115100,7 +115091,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
115100
115091
  const key = formatGeneratedName(privateName, prefix, "", suffix);
115101
115092
  let tempFlags2 = getTempFlags(key);
115102
115093
  if (flags && !(tempFlags2 & flags)) {
115103
- const name = flags === TempFlags._i ? "_i" : "_n";
115094
+ const name = flags === 268435456 /* _i */ ? "_i" : "_n";
115104
115095
  const fullName = formatGeneratedName(privateName, prefix, name, suffix);
115105
115096
  if (isUniqueName(fullName, privateName)) {
115106
115097
  tempFlags2 |= flags;
@@ -115114,7 +115105,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
115114
115105
  }
115115
115106
  }
115116
115107
  while (true) {
115117
- const count = tempFlags2 & TempFlags.CountMask;
115108
+ const count = tempFlags2 & 268435455 /* CountMask */;
115118
115109
  tempFlags2++;
115119
115110
  if (count !== 8 && count !== 13) {
115120
115111
  const name = count < 26 ? "_" + String.fromCharCode(97 /* a */ + count) : "_" + (count - 26);
@@ -115258,7 +115249,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
115258
115249
  return generateNameCached(node.name, privateName);
115259
115250
  }
115260
115251
  return makeTempVariableName(
115261
- TempFlags.Auto,
115252
+ 0 /* Auto */,
115262
115253
  /*reservedInNestedScopes*/
115263
115254
  false,
115264
115255
  privateName,
@@ -115315,7 +115306,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
115315
115306
  return generateNameForMethodOrAccessor(node, privateName, prefix, suffix);
115316
115307
  case 164 /* ComputedPropertyName */:
115317
115308
  return makeTempVariableName(
115318
- TempFlags.Auto,
115309
+ 0 /* Auto */,
115319
115310
  /*reserveInNestedScopes*/
115320
115311
  true,
115321
115312
  privateName,
@@ -115324,7 +115315,7 @@ function createPrinter(printerOptions = {}, handlers = {}) {
115324
115315
  );
115325
115316
  default:
115326
115317
  return makeTempVariableName(
115327
- TempFlags.Auto,
115318
+ 0 /* Auto */,
115328
115319
  /*reserveInNestedScopes*/
115329
115320
  false,
115330
115321
  privateName,
@@ -115339,11 +115330,11 @@ function createPrinter(printerOptions = {}, handlers = {}) {
115339
115330
  const suffix = formatGeneratedNamePart(autoGenerate.suffix);
115340
115331
  switch (autoGenerate.flags & 7 /* KindMask */) {
115341
115332
  case 1 /* Auto */:
115342
- return makeTempVariableName(TempFlags.Auto, !!(autoGenerate.flags & 8 /* ReservedInNestedScopes */), isPrivateIdentifier(name), prefix, suffix);
115333
+ return makeTempVariableName(0 /* Auto */, !!(autoGenerate.flags & 8 /* ReservedInNestedScopes */), isPrivateIdentifier(name), prefix, suffix);
115343
115334
  case 2 /* Loop */:
115344
115335
  Debug.assertNode(name, isIdentifier);
115345
115336
  return makeTempVariableName(
115346
- TempFlags._i,
115337
+ 268435456 /* _i */,
115347
115338
  !!(autoGenerate.flags & 8 /* ReservedInNestedScopes */),
115348
115339
  /*privateName*/
115349
115340
  false,
@@ -115813,12 +115804,6 @@ function getOpeningBracket(format) {
115813
115804
  function getClosingBracket(format) {
115814
115805
  return brackets[format & 15360 /* BracketsMask */][1];
115815
115806
  }
115816
- var TempFlags = /* @__PURE__ */ ((TempFlags2) => {
115817
- TempFlags2[TempFlags2["Auto"] = 0] = "Auto";
115818
- TempFlags2[TempFlags2["CountMask"] = 268435455] = "CountMask";
115819
- TempFlags2[TempFlags2["_i"] = 268435456] = "_i";
115820
- return TempFlags2;
115821
- })(TempFlags || {});
115822
115807
  function emitListItemNoParenthesizer(node, emit, _parenthesizerRule, _index) {
115823
115808
  emit(node);
115824
115809
  }
@@ -128326,7 +128311,7 @@ function makeImport(defaultImport, namedImports, moduleSpecifier, quotePreferenc
128326
128311
  );
128327
128312
  }
128328
128313
  function makeStringLiteral(text, quotePreference) {
128329
- return factory.createStringLiteral(text, quotePreference === QuotePreference.Single);
128314
+ return factory.createStringLiteral(text, quotePreference === 0 /* Single */);
128330
128315
  }
128331
128316
  var QuotePreference = /* @__PURE__ */ ((QuotePreference5) => {
128332
128317
  QuotePreference5[QuotePreference5["Single"] = 0] = "Single";
@@ -140830,13 +140815,13 @@ function createImportAdderWorker(sourceFile, program, useAutoImportProvider, pre
140830
140815
  var _a2, _b;
140831
140816
  const { fix, symbolName: symbolName2 } = info;
140832
140817
  switch (fix.kind) {
140833
- case ImportFixKind.UseNamespace:
140818
+ case 0 /* UseNamespace */:
140834
140819
  addToNamespace.push(fix);
140835
140820
  break;
140836
- case ImportFixKind.JsdocTypeImport:
140821
+ case 1 /* JsdocTypeImport */:
140837
140822
  importType.push(fix);
140838
140823
  break;
140839
- case ImportFixKind.AddToExisting: {
140824
+ case 2 /* AddToExisting */: {
140840
140825
  const { importClauseOrBindingPattern, importKind, addAsTypeOnly } = fix;
140841
140826
  const key = String(getNodeId(importClauseOrBindingPattern));
140842
140827
  let entry = addToExisting.get(key);
@@ -140855,7 +140840,7 @@ function createImportAdderWorker(sourceFile, program, useAutoImportProvider, pre
140855
140840
  }
140856
140841
  break;
140857
140842
  }
140858
- case ImportFixKind.AddNew: {
140843
+ case 3 /* AddNew */: {
140859
140844
  const { moduleSpecifier, importKind, useRequire, addAsTypeOnly } = fix;
140860
140845
  const entry = getNewImportEntry(moduleSpecifier, importKind, useRequire, addAsTypeOnly);
140861
140846
  Debug.assert(entry.useRequire === useRequire, "(Add new) Tried to add an `import` and a `require` for the same module");
@@ -140876,7 +140861,7 @@ function createImportAdderWorker(sourceFile, program, useAutoImportProvider, pre
140876
140861
  }
140877
140862
  break;
140878
140863
  }
140879
- case ImportFixKind.PromoteTypeOnly:
140864
+ case 4 /* PromoteTypeOnly */:
140880
140865
  break;
140881
140866
  default:
140882
140867
  Debug.assertNever(fix, `fix wasn't never - got kind ${fix.kind}`);
@@ -140903,13 +140888,13 @@ function createImportAdderWorker(sourceFile, program, useAutoImportProvider, pre
140903
140888
  namespaceLikeImport: void 0,
140904
140889
  useRequire
140905
140890
  };
140906
- if (importKind === 1 /* Default */ && addAsTypeOnly === AddAsTypeOnly.Required) {
140891
+ if (importKind === 1 /* Default */ && addAsTypeOnly === 2 /* Required */) {
140907
140892
  if (typeOnlyEntry)
140908
140893
  return typeOnlyEntry;
140909
140894
  newImports.set(typeOnlyKey, newEntry);
140910
140895
  return newEntry;
140911
140896
  }
140912
- if (addAsTypeOnly === AddAsTypeOnly.Allowed && (typeOnlyEntry || nonTypeOnlyEntry)) {
140897
+ if (addAsTypeOnly === 1 /* Allowed */ && (typeOnlyEntry || nonTypeOnlyEntry)) {
140913
140898
  return typeOnlyEntry || nonTypeOnlyEntry;
140914
140899
  }
140915
140900
  if (nonTypeOnlyEntry) {
@@ -140991,20 +140976,6 @@ function createImportSpecifierResolver(importingFile, program, host, preferences
140991
140976
  return result && { ...result, computedWithoutCacheCount };
140992
140977
  }
140993
140978
  }
140994
- var ImportFixKind = /* @__PURE__ */ ((ImportFixKind2) => {
140995
- ImportFixKind2[ImportFixKind2["UseNamespace"] = 0] = "UseNamespace";
140996
- ImportFixKind2[ImportFixKind2["JsdocTypeImport"] = 1] = "JsdocTypeImport";
140997
- ImportFixKind2[ImportFixKind2["AddToExisting"] = 2] = "AddToExisting";
140998
- ImportFixKind2[ImportFixKind2["AddNew"] = 3] = "AddNew";
140999
- ImportFixKind2[ImportFixKind2["PromoteTypeOnly"] = 4] = "PromoteTypeOnly";
141000
- return ImportFixKind2;
141001
- })(ImportFixKind || {});
141002
- var AddAsTypeOnly = /* @__PURE__ */ ((AddAsTypeOnly2) => {
141003
- AddAsTypeOnly2[AddAsTypeOnly2["Allowed"] = 1] = "Allowed";
141004
- AddAsTypeOnly2[AddAsTypeOnly2["Required"] = 2] = "Required";
141005
- AddAsTypeOnly2[AddAsTypeOnly2["NotAllowed"] = 4] = "NotAllowed";
141006
- return AddAsTypeOnly2;
141007
- })(AddAsTypeOnly || {});
141008
140979
  function getImportCompletionAction(targetSymbol, moduleSymbol, sourceFile, symbolName2, isJsxTagName, host, program, formatContext, position, preferences, cancellationToken) {
141009
140980
  const compilerOptions = program.getCompilerOptions();
141010
140981
  const exportInfos = pathIsBareSpecifier(stripQuotes(moduleSymbol.name)) ? [getSingleExportInfoForSymbol(targetSymbol, moduleSymbol, program, host)] : getAllExportInfoForSymbol(sourceFile, targetSymbol, symbolName2, isJsxTagName, program, host, preferences, cancellationToken);
@@ -147790,19 +147761,19 @@ function getCompletionsAtPosition(host, program, log, sourceFile, position, pref
147790
147761
  return void 0;
147791
147762
  }
147792
147763
  switch (completionData.kind) {
147793
- case CompletionDataKind.Data:
147764
+ case 0 /* Data */:
147794
147765
  const response = completionInfoFromData(sourceFile, host, program, compilerOptions, log, completionData, preferences, formatContext, position);
147795
147766
  if (response == null ? void 0 : response.isIncomplete) {
147796
147767
  incompleteCompletionsCache == null ? void 0 : incompleteCompletionsCache.set(response);
147797
147768
  }
147798
147769
  return response;
147799
- case CompletionDataKind.JsDocTagName:
147770
+ case 1 /* JsDocTagName */:
147800
147771
  return jsdocCompletionInfo(ts_JsDoc_exports.getJSDocTagNameCompletions());
147801
- case CompletionDataKind.JsDocTag:
147772
+ case 2 /* JsDocTag */:
147802
147773
  return jsdocCompletionInfo(ts_JsDoc_exports.getJSDocTagCompletions());
147803
- case CompletionDataKind.JsDocParameterName:
147774
+ case 3 /* JsDocParameterName */:
147804
147775
  return jsdocCompletionInfo(ts_JsDoc_exports.getJSDocParameterNameCompletions(completionData.tag));
147805
- case CompletionDataKind.Keywords:
147776
+ case 4 /* Keywords */:
147806
147777
  return specificKeywordCompletionInfo(completionData.keywordCompletions, completionData.isNewIdentifierLocation);
147807
147778
  default:
147808
147779
  return Debug.assertNever(completionData);
@@ -147905,7 +147876,7 @@ function specificKeywordCompletionInfo(entries, isNewIdentifierLocation) {
147905
147876
  }
147906
147877
  function keywordCompletionData(keywordFilters, filterOutTsOnlyKeywords, isNewIdentifierLocation) {
147907
147878
  return {
147908
- kind: CompletionDataKind.Keywords,
147879
+ kind: 4 /* Keywords */,
147909
147880
  keywordCompletions: getKeywordCompletions(keywordFilters, filterOutTsOnlyKeywords),
147910
147881
  isNewIdentifierLocation
147911
147882
  };
@@ -148182,9 +148153,9 @@ function entityNameToExpression(entityName, languageVersion, quotePreference) {
148182
148153
  }
148183
148154
  function isMemberCompletionKind(kind) {
148184
148155
  switch (kind) {
148185
- case CompletionKind.ObjectPropertyDeclaration:
148186
- case CompletionKind.MemberLike:
148187
- case CompletionKind.PropertyAccess:
148156
+ case 0 /* ObjectPropertyDeclaration */:
148157
+ case 3 /* MemberLike */:
148158
+ case 2 /* PropertyAccess */:
148188
148159
  return true;
148189
148160
  default:
148190
148161
  return false;
@@ -148300,7 +148271,7 @@ function createCompletionEntry(symbol, sortText, replacementToken, contextToken,
148300
148271
  if ((origin == null ? void 0 : origin.kind) === 64 /* TypeOnlyAlias */) {
148301
148272
  hasAction = true;
148302
148273
  }
148303
- if (preferences.includeCompletionsWithClassMemberSnippets && preferences.includeCompletionsWithInsertText && completionKind === CompletionKind.MemberLike && isClassLikeMemberCompletion(symbol, location, sourceFile)) {
148274
+ if (preferences.includeCompletionsWithClassMemberSnippets && preferences.includeCompletionsWithInsertText && completionKind === 3 /* MemberLike */ && isClassLikeMemberCompletion(symbol, location, sourceFile)) {
148304
148275
  let importAdder;
148305
148276
  ({ insertText, isSnippet, importAdder, replacementSpan } = getEntryForMemberCompletion(host, program, options, preferences, name, symbol, location, position, contextToken, formatContext));
148306
148277
  sortText = SortText.ClassMemberSnippets;
@@ -148835,7 +148806,7 @@ function getCompletionEntriesFromSymbols(symbols, entries, replacementToken, con
148835
148806
  const symbol = symbols[i];
148836
148807
  const origin = symbolToOriginInfoMap == null ? void 0 : symbolToOriginInfoMap[i];
148837
148808
  const info = getCompletionEntryDisplayNameForSymbol(symbol, target, origin, kind, !!jsxIdentifierExpected);
148838
- if (!info || uniques.get(info.name) && (!origin || !originIsObjectLiteralMethod(origin)) || kind === CompletionKind.Global && symbolToSortTextMap && !shouldIncludeSymbol(symbol, symbolToSortTextMap)) {
148809
+ if (!info || uniques.get(info.name) && (!origin || !originIsObjectLiteralMethod(origin)) || kind === 1 /* Global */ && symbolToSortTextMap && !shouldIncludeSymbol(symbol, symbolToSortTextMap)) {
148839
148810
  continue;
148840
148811
  }
148841
148812
  const { name, needsConvertPropertyAccess } = info;
@@ -148974,7 +148945,7 @@ function getSymbolCompletionFromEntryId(program, log, sourceFile, position, entr
148974
148945
  if (!completionData) {
148975
148946
  return { type: "none" };
148976
148947
  }
148977
- if (completionData.kind !== CompletionDataKind.Data) {
148948
+ if (completionData.kind !== 0 /* Data */) {
148978
148949
  return { type: "request", request: completionData };
148979
148950
  }
148980
148951
  const { symbols, literals, location, completionKind, symbolToOriginInfoMap, contextToken, previousToken, isJsxInitializer, isTypeOnlyLocation } = completionData;
@@ -149000,13 +148971,13 @@ function getCompletionEntryDetails(program, log, sourceFile, position, entryId,
149000
148971
  case "request": {
149001
148972
  const { request } = symbolCompletion;
149002
148973
  switch (request.kind) {
149003
- case CompletionDataKind.JsDocTagName:
148974
+ case 1 /* JsDocTagName */:
149004
148975
  return ts_JsDoc_exports.getJSDocTagNameCompletionDetails(name);
149005
- case CompletionDataKind.JsDocTag:
148976
+ case 2 /* JsDocTag */:
149006
148977
  return ts_JsDoc_exports.getJSDocTagCompletionDetails(name);
149007
- case CompletionDataKind.JsDocParameterName:
148978
+ case 3 /* JsDocParameterName */:
149008
148979
  return ts_JsDoc_exports.getJSDocParameterNameCompletionDetails(name);
149009
- case CompletionDataKind.Keywords:
148980
+ case 4 /* Keywords */:
149010
148981
  return some(request.keywordCompletions, (c) => c.name === name) ? createSimpleDetails(name, "keyword" /* keyword */, 5 /* keyword */) : void 0;
149011
148982
  default:
149012
148983
  return Debug.assertNever(request);
@@ -149148,14 +149119,6 @@ function getCompletionEntrySymbol(program, log, sourceFile, position, entryId, h
149148
149119
  const completion = getSymbolCompletionFromEntryId(program, log, sourceFile, position, entryId, host, preferences);
149149
149120
  return completion.type === "symbol" ? completion.symbol : void 0;
149150
149121
  }
149151
- var CompletionDataKind = /* @__PURE__ */ ((CompletionDataKind2) => {
149152
- CompletionDataKind2[CompletionDataKind2["Data"] = 0] = "Data";
149153
- CompletionDataKind2[CompletionDataKind2["JsDocTagName"] = 1] = "JsDocTagName";
149154
- CompletionDataKind2[CompletionDataKind2["JsDocTag"] = 2] = "JsDocTag";
149155
- CompletionDataKind2[CompletionDataKind2["JsDocParameterName"] = 3] = "JsDocParameterName";
149156
- CompletionDataKind2[CompletionDataKind2["Keywords"] = 4] = "Keywords";
149157
- return CompletionDataKind2;
149158
- })(CompletionDataKind || {});
149159
149122
  var CompletionKind = /* @__PURE__ */ ((CompletionKind2) => {
149160
149123
  CompletionKind2[CompletionKind2["ObjectPropertyDeclaration"] = 0] = "ObjectPropertyDeclaration";
149161
149124
  CompletionKind2[CompletionKind2["Global"] = 1] = "Global";
@@ -151088,9 +151051,9 @@ function convertStringLiteralCompletions(completion, contextToken, sourceFile, h
151088
151051
  }
151089
151052
  const optionalReplacementSpan = createTextSpanFromStringLiteralLikeContent(contextToken);
151090
151053
  switch (completion.kind) {
151091
- case StringLiteralCompletionKind.Paths:
151054
+ case 0 /* Paths */:
151092
151055
  return convertPathCompletions(completion.paths);
151093
- case StringLiteralCompletionKind.Properties: {
151056
+ case 1 /* Properties */: {
151094
151057
  const entries = createSortedArray();
151095
151058
  getCompletionEntriesFromSymbols(
151096
151059
  completion.symbols,
@@ -151112,7 +151075,7 @@ function convertStringLiteralCompletions(completion, contextToken, sourceFile, h
151112
151075
  );
151113
151076
  return { isGlobalCompletion: false, isMemberCompletion: true, isNewIdentifierLocation: completion.hasIndexSignature, optionalReplacementSpan, entries };
151114
151077
  }
151115
- case StringLiteralCompletionKind.Types: {
151078
+ case 2 /* Types */: {
151116
151079
  const entries = completion.types.map((type) => ({
151117
151080
  name: type.value,
151118
151081
  kindModifiers: "" /* none */,
@@ -151134,15 +151097,15 @@ function getStringLiteralCompletionDetails(name, sourceFile, position, contextTo
151134
151097
  }
151135
151098
  function stringLiteralCompletionDetails(name, location, completion, sourceFile, checker, cancellationToken) {
151136
151099
  switch (completion.kind) {
151137
- case StringLiteralCompletionKind.Paths: {
151100
+ case 0 /* Paths */: {
151138
151101
  const match = find(completion.paths, (p) => p.name === name);
151139
151102
  return match && createCompletionDetails(name, kindModifiersFromExtension(match.extension), match.kind, [textPart(name)]);
151140
151103
  }
151141
- case StringLiteralCompletionKind.Properties: {
151104
+ case 1 /* Properties */: {
151142
151105
  const match = find(completion.symbols, (s) => s.name === name);
151143
151106
  return match && createCompletionDetailsForSymbol(match, checker, sourceFile, location, cancellationToken);
151144
151107
  }
151145
- case StringLiteralCompletionKind.Types:
151108
+ case 2 /* Types */:
151146
151109
  return find(completion.types, (t) => t.value === name) ? createCompletionDetails(name, "" /* none */, "string" /* string */, [textPart(name)]) : void 0;
151147
151110
  default:
151148
151111
  return Debug.assertNever(completion);
@@ -151188,12 +151151,6 @@ function kindModifiersFromExtension(extension) {
151188
151151
  return Debug.assertNever(extension);
151189
151152
  }
151190
151153
  }
151191
- var StringLiteralCompletionKind = /* @__PURE__ */ ((StringLiteralCompletionKind2) => {
151192
- StringLiteralCompletionKind2[StringLiteralCompletionKind2["Paths"] = 0] = "Paths";
151193
- StringLiteralCompletionKind2[StringLiteralCompletionKind2["Properties"] = 1] = "Properties";
151194
- StringLiteralCompletionKind2[StringLiteralCompletionKind2["Types"] = 2] = "Types";
151195
- return StringLiteralCompletionKind2;
151196
- })(StringLiteralCompletionKind || {});
151197
151154
  function getStringLiteralCompletionEntries(sourceFile, node, position, typeChecker, compilerOptions, host, preferences) {
151198
151155
  const parent2 = walkUpParentheses(node.parent);
151199
151156
  switch (parent2.kind) {
@@ -151350,7 +151307,7 @@ function getStringLiteralCompletionsFromModuleNamesWorker(sourceFile, node, comp
151350
151307
  const mode = isStringLiteralLike(node) ? getModeForUsageLocation(sourceFile, node) : void 0;
151351
151308
  const scriptPath = sourceFile.path;
151352
151309
  const scriptDirectory = getDirectoryPath(scriptPath);
151353
- const extensionOptions = getExtensionOptions(compilerOptions, ReferenceKind.ModuleSpecifier, sourceFile, typeChecker, preferences, mode);
151310
+ const extensionOptions = getExtensionOptions(compilerOptions, 1 /* ModuleSpecifier */, sourceFile, typeChecker, preferences, mode);
151354
151311
  return isPathRelativeToScript(literalValue) || !compilerOptions.baseUrl && (isRootedDiskPath(literalValue) || isUrl(literalValue)) ? getCompletionEntriesForRelativeModules(literalValue, scriptDirectory, compilerOptions, host, scriptPath, extensionOptions) : getCompletionEntriesForNonRelativeModules(literalValue, scriptDirectory, mode, compilerOptions, host, extensionOptions, typeChecker);
151355
151312
  }
151356
151313
  function getExtensionOptions(compilerOptions, referenceKind, importingSourceFile, typeChecker, preferences, resolutionMode) {
@@ -151422,11 +151379,6 @@ function getCompletionEntriesForDirectoryFragmentWithRootDirs(rootDirs, fragment
151422
151379
  exclude
151423
151380
  ).values()));
151424
151381
  }
151425
- var ReferenceKind = /* @__PURE__ */ ((ReferenceKind2) => {
151426
- ReferenceKind2[ReferenceKind2["Filename"] = 0] = "Filename";
151427
- ReferenceKind2[ReferenceKind2["ModuleSpecifier"] = 1] = "ModuleSpecifier";
151428
- return ReferenceKind2;
151429
- })(ReferenceKind || {});
151430
151382
  function getCompletionEntriesForDirectoryFragment(fragment, scriptDirectory, extensionOptions, host, moduleSpecifierIsRelative, exclude, result = createNameAndKindSet()) {
151431
151383
  var _a2;
151432
151384
  if (fragment === void 0) {
@@ -153196,7 +153148,7 @@ var Core;
153196
153148
  ) || originalSymbol;
153197
153149
  const searchMeaning = node ? getIntersectingMeaningFromDeclarations(node, symbol) : 7 /* All */;
153198
153150
  const result = [];
153199
- const state = new State(sourceFiles, sourceFilesSet, node ? getSpecialSearchKind(node) : SpecialSearchKind.None, checker, cancellationToken, searchMeaning, options, result);
153151
+ const state = new State(sourceFiles, sourceFilesSet, node ? getSpecialSearchKind(node) : 0 /* None */, checker, cancellationToken, searchMeaning, options, result);
153200
153152
  const exportSpecifier = !isForRenameWithPrefixAndSuffixText(options) || !symbol.declarations ? void 0 : find(symbol.declarations, isExportSpecifier);
153201
153153
  if (exportSpecifier) {
153202
153154
  getReferencesAtExportSpecifier(
@@ -153252,14 +153204,14 @@ var Core;
153252
153204
  switch (node.kind) {
153253
153205
  case 173 /* Constructor */:
153254
153206
  case 135 /* ConstructorKeyword */:
153255
- return SpecialSearchKind.Constructor;
153207
+ return 1 /* Constructor */;
153256
153208
  case 79 /* Identifier */:
153257
153209
  if (isClassLike(node.parent)) {
153258
153210
  Debug.assert(node.parent.name === node);
153259
- return SpecialSearchKind.Class;
153211
+ return 2 /* Class */;
153260
153212
  }
153261
153213
  default:
153262
- return SpecialSearchKind.None;
153214
+ return 0 /* None */;
153263
153215
  }
153264
153216
  }
153265
153217
  function skipPastExportOrImportSpecifierOrUnion(symbol, node, checker, useLocalSymbolForExportSpecifier) {
@@ -160188,10 +160140,10 @@ function getPossibleExtractions(targetRange, context) {
160188
160140
  const scopeDescription = isFunctionLikeDeclaration(scope) ? getDescriptionForFunctionLikeDeclaration(scope) : isClassLike(scope) ? getDescriptionForClassLikeDeclaration(scope) : getDescriptionForModuleLikeDeclaration(scope);
160189
160141
  let functionDescription;
160190
160142
  let constantDescription;
160191
- if (scopeDescription === SpecialScope.Global) {
160143
+ if (scopeDescription === 1 /* Global */) {
160192
160144
  functionDescription = formatStringFromArgs(getLocaleSpecificMessage(Diagnostics.Extract_to_0_in_1_scope), [functionDescriptionPart, "global"]);
160193
160145
  constantDescription = formatStringFromArgs(getLocaleSpecificMessage(Diagnostics.Extract_to_0_in_1_scope), [constantDescriptionPart, "global"]);
160194
- } else if (scopeDescription === SpecialScope.Module) {
160146
+ } else if (scopeDescription === 0 /* Module */) {
160195
160147
  functionDescription = formatStringFromArgs(getLocaleSpecificMessage(Diagnostics.Extract_to_0_in_1_scope), [functionDescriptionPart, "module"]);
160196
160148
  constantDescription = formatStringFromArgs(getLocaleSpecificMessage(Diagnostics.Extract_to_0_in_1_scope), [constantDescriptionPart, "module"]);
160197
160149
  } else {
@@ -160257,13 +160209,8 @@ function getDescriptionForClassLikeDeclaration(scope) {
160257
160209
  return scope.kind === 260 /* ClassDeclaration */ ? scope.name ? `class '${scope.name.text}'` : "anonymous class declaration" : scope.name ? `class expression '${scope.name.text}'` : "anonymous class expression";
160258
160210
  }
160259
160211
  function getDescriptionForModuleLikeDeclaration(scope) {
160260
- return scope.kind === 265 /* ModuleBlock */ ? `namespace '${scope.parent.name.getText()}'` : scope.externalModuleIndicator ? SpecialScope.Module : SpecialScope.Global;
160212
+ return scope.kind === 265 /* ModuleBlock */ ? `namespace '${scope.parent.name.getText()}'` : scope.externalModuleIndicator ? 0 /* Module */ : 1 /* Global */;
160261
160213
  }
160262
- var SpecialScope = /* @__PURE__ */ ((SpecialScope2) => {
160263
- SpecialScope2[SpecialScope2["Module"] = 0] = "Module";
160264
- SpecialScope2[SpecialScope2["Global"] = 1] = "Global";
160265
- return SpecialScope2;
160266
- })(SpecialScope || {});
160267
160214
  function extractFunctionInScope(node, scope, { usages: usagesInScope, typeParameterUsages, substitutions }, exposedVariableDeclarations, range, context) {
160268
160215
  const checker = context.program.getTypeChecker();
160269
160216
  const scriptTarget = getEmitScriptTarget(context.program.getCompilerOptions());
@@ -160295,7 +160242,7 @@ function extractFunctionInScope(node, scope, { usages: usagesInScope, typeParame
160295
160242
  typeNode
160296
160243
  );
160297
160244
  parameters.push(paramDecl);
160298
- if (usage.usage === Usage.Write) {
160245
+ if (usage.usage === 2 /* Write */) {
160299
160246
  (writes || (writes = [])).push(usage);
160300
160247
  }
160301
160248
  callArguments.push(factory.createIdentifier(name));
@@ -160947,11 +160894,6 @@ function isReadonlyArray(v) {
160947
160894
  function getEnclosingTextRange(targetRange, sourceFile) {
160948
160895
  return isReadonlyArray(targetRange.range) ? { pos: first(targetRange.range).getStart(sourceFile), end: last(targetRange.range).getEnd() } : targetRange.range;
160949
160896
  }
160950
- var Usage = /* @__PURE__ */ ((Usage2) => {
160951
- Usage2[Usage2["Read"] = 1] = "Read";
160952
- Usage2[Usage2["Write"] = 2] = "Write";
160953
- return Usage2;
160954
- })(Usage || {});
160955
160897
  function collectReadsAndWrites(targetRange, scopes, enclosingTextRange, sourceFile, checker, cancellationToken) {
160956
160898
  const allTypeParameterUsages = /* @__PURE__ */ new Map();
160957
160899
  const usagesPerScope = [];
@@ -161600,13 +161542,8 @@ function getSignatureHelpItems(program, sourceFile, position, triggerReason, can
161600
161542
  if (!candidateInfo) {
161601
161543
  return isSourceFileJS(sourceFile) ? createJSSignatureHelpItems(argumentInfo, program, cancellationToken) : void 0;
161602
161544
  }
161603
- return typeChecker.runWithCancellationToken(cancellationToken, (typeChecker2) => candidateInfo.kind === CandidateOrTypeKind.Candidate ? createSignatureHelpItems(candidateInfo.candidates, candidateInfo.resolvedSignature, argumentInfo, sourceFile, typeChecker2) : createTypeHelpItems(candidateInfo.symbol, argumentInfo, sourceFile, typeChecker2));
161545
+ return typeChecker.runWithCancellationToken(cancellationToken, (typeChecker2) => candidateInfo.kind === 0 /* Candidate */ ? createSignatureHelpItems(candidateInfo.candidates, candidateInfo.resolvedSignature, argumentInfo, sourceFile, typeChecker2) : createTypeHelpItems(candidateInfo.symbol, argumentInfo, sourceFile, typeChecker2));
161604
161546
  }
161605
- var CandidateOrTypeKind = /* @__PURE__ */ ((CandidateOrTypeKind2) => {
161606
- CandidateOrTypeKind2[CandidateOrTypeKind2["Candidate"] = 0] = "Candidate";
161607
- CandidateOrTypeKind2[CandidateOrTypeKind2["Type"] = 1] = "Type";
161608
- return CandidateOrTypeKind2;
161609
- })(CandidateOrTypeKind || {});
161610
161547
  function getCandidateOrTypeInfo({ invocation, argumentCount }, checker, sourceFile, startingToken, onlyUseSyntacticOwners) {
161611
161548
  switch (invocation.kind) {
161612
161549
  case 0 /* Call */: {
@@ -166017,7 +165954,7 @@ function formatSpanWorker(originalRange, enclosingNode, initialIndentation, delt
166017
165954
  if (currentTokenInfo.leadingTrivia) {
166018
165955
  processTrivia(currentTokenInfo.leadingTrivia, parent2, childContextNode, dynamicIndentation);
166019
165956
  }
166020
- let lineAction = LineAction.None;
165957
+ let lineAction = 0 /* None */;
166021
165958
  const isTokenInRange = rangeContainsRange(originalRange, currentTokenInfo.token);
166022
165959
  const tokenStart = sourceFile.getLineAndCharacterOfPosition(currentTokenInfo.token.pos);
166023
165960
  if (isTokenInRange) {
@@ -166025,11 +165962,11 @@ function formatSpanWorker(originalRange, enclosingNode, initialIndentation, delt
166025
165962
  const savePreviousRange = previousRange;
166026
165963
  lineAction = processRange(currentTokenInfo.token, tokenStart, parent2, childContextNode, dynamicIndentation);
166027
165964
  if (!rangeHasError) {
166028
- if (lineAction === LineAction.None) {
165965
+ if (lineAction === 0 /* None */) {
166029
165966
  const prevEndLine = savePreviousRange && sourceFile.getLineAndCharacterOfPosition(savePreviousRange.end).line;
166030
165967
  indentToken = lastTriviaWasNewLine && tokenStart.line !== prevEndLine;
166031
165968
  } else {
166032
- indentToken = lineAction === LineAction.LineAdded;
165969
+ indentToken = lineAction === 1 /* LineAdded */;
166033
165970
  }
166034
165971
  }
166035
165972
  }
@@ -166055,7 +165992,7 @@ function formatSpanWorker(originalRange, enclosingNode, initialIndentation, delt
166055
165992
  );
166056
165993
  }
166057
165994
  if (tokenIndentation !== -1 /* Unknown */ && indentNextTokenOrTrivia) {
166058
- insertIndentation(currentTokenInfo.token.pos, tokenIndentation, lineAction === LineAction.LineAdded);
165995
+ insertIndentation(currentTokenInfo.token.pos, tokenIndentation, lineAction === 1 /* LineAdded */);
166059
165996
  lastIndentedLine = tokenStart.line;
166060
165997
  indentationOnLastIndentedLine = tokenIndentation;
166061
165998
  }
@@ -166102,7 +166039,7 @@ function formatSpanWorker(originalRange, enclosingNode, initialIndentation, delt
166102
166039
  }
166103
166040
  function processRange(range, rangeStart, parent2, contextNode, dynamicIndentation) {
166104
166041
  const rangeHasError = rangeContainsError(range);
166105
- let lineAction = LineAction.None;
166042
+ let lineAction = 0 /* None */;
166106
166043
  if (!rangeHasError) {
166107
166044
  if (!previousRange) {
166108
166045
  const originalStart = sourceFile.getLineAndCharacterOfPosition(originalRange.pos);
@@ -166121,13 +166058,13 @@ function formatSpanWorker(originalRange, enclosingNode, initialIndentation, delt
166121
166058
  formattingContext.updateContext(previousItem, previousParent2, currentItem, currentParent, contextNode);
166122
166059
  const rules = getRules(formattingContext);
166123
166060
  let trimTrailingWhitespaces = formattingContext.options.trimTrailingWhitespace !== false;
166124
- let lineAction = LineAction.None;
166061
+ let lineAction = 0 /* None */;
166125
166062
  if (rules) {
166126
166063
  forEachRight(rules, (rule2) => {
166127
166064
  lineAction = applyRuleEdits(rule2, previousItem, previousStartLine, currentItem, currentStartLine);
166128
166065
  if (dynamicIndentation) {
166129
166066
  switch (lineAction) {
166130
- case LineAction.LineRemoved:
166067
+ case 2 /* LineRemoved */:
166131
166068
  if (currentParent.getStart(sourceFile) === currentItem.pos) {
166132
166069
  dynamicIndentation.recomputeIndentation(
166133
166070
  /*lineAddedByFormatting*/
@@ -166136,7 +166073,7 @@ function formatSpanWorker(originalRange, enclosingNode, initialIndentation, delt
166136
166073
  );
166137
166074
  }
166138
166075
  break;
166139
- case LineAction.LineAdded:
166076
+ case 1 /* LineAdded */:
166140
166077
  if (currentParent.getStart(sourceFile) === currentItem.pos) {
166141
166078
  dynamicIndentation.recomputeIndentation(
166142
166079
  /*lineAddedByFormatting*/
@@ -166146,7 +166083,7 @@ function formatSpanWorker(originalRange, enclosingNode, initialIndentation, delt
166146
166083
  }
166147
166084
  break;
166148
166085
  default:
166149
- Debug.assert(lineAction === LineAction.None);
166086
+ Debug.assert(lineAction === 0 /* None */);
166150
166087
  }
166151
166088
  }
166152
166089
  trimTrailingWhitespaces = trimTrailingWhitespaces && !(rule2.action & 16 /* DeleteSpace */) && rule2.flags !== 1 /* CanDeleteNewLines */;
@@ -166293,11 +166230,11 @@ function formatSpanWorker(originalRange, enclosingNode, initialIndentation, delt
166293
166230
  const onLaterLine = currentStartLine !== previousStartLine;
166294
166231
  switch (rule2.action) {
166295
166232
  case 1 /* StopProcessingSpaceActions */:
166296
- return LineAction.None;
166233
+ return 0 /* None */;
166297
166234
  case 16 /* DeleteSpace */:
166298
166235
  if (previousRange2.end !== currentRange.pos) {
166299
166236
  recordDelete(previousRange2.end, currentRange.pos - previousRange2.end);
166300
- return onLaterLine ? LineAction.LineRemoved : LineAction.None;
166237
+ return onLaterLine ? 2 /* LineRemoved */ : 0 /* None */;
166301
166238
  }
166302
166239
  break;
166303
166240
  case 32 /* DeleteToken */:
@@ -166305,36 +166242,30 @@ function formatSpanWorker(originalRange, enclosingNode, initialIndentation, delt
166305
166242
  break;
166306
166243
  case 8 /* InsertNewLine */:
166307
166244
  if (rule2.flags !== 1 /* CanDeleteNewLines */ && previousStartLine !== currentStartLine) {
166308
- return LineAction.None;
166245
+ return 0 /* None */;
166309
166246
  }
166310
166247
  const lineDelta = currentStartLine - previousStartLine;
166311
166248
  if (lineDelta !== 1) {
166312
166249
  recordReplace(previousRange2.end, currentRange.pos - previousRange2.end, getNewLineOrDefaultFromHost(host, options));
166313
- return onLaterLine ? LineAction.None : LineAction.LineAdded;
166250
+ return onLaterLine ? 0 /* None */ : 1 /* LineAdded */;
166314
166251
  }
166315
166252
  break;
166316
166253
  case 4 /* InsertSpace */:
166317
166254
  if (rule2.flags !== 1 /* CanDeleteNewLines */ && previousStartLine !== currentStartLine) {
166318
- return LineAction.None;
166255
+ return 0 /* None */;
166319
166256
  }
166320
166257
  const posDelta = currentRange.pos - previousRange2.end;
166321
166258
  if (posDelta !== 1 || sourceFile.text.charCodeAt(previousRange2.end) !== 32 /* space */) {
166322
166259
  recordReplace(previousRange2.end, currentRange.pos - previousRange2.end, " ");
166323
- return onLaterLine ? LineAction.LineRemoved : LineAction.None;
166260
+ return onLaterLine ? 2 /* LineRemoved */ : 0 /* None */;
166324
166261
  }
166325
166262
  break;
166326
166263
  case 64 /* InsertTrailingSemicolon */:
166327
166264
  recordInsert(previousRange2.end, ";");
166328
166265
  }
166329
- return LineAction.None;
166266
+ return 0 /* None */;
166330
166267
  }
166331
166268
  }
166332
- var LineAction = /* @__PURE__ */ ((LineAction2) => {
166333
- LineAction2[LineAction2["None"] = 0] = "None";
166334
- LineAction2[LineAction2["LineAdded"] = 1] = "LineAdded";
166335
- LineAction2[LineAction2["LineRemoved"] = 2] = "LineRemoved";
166336
- return LineAction2;
166337
- })(LineAction || {});
166338
166269
  function getRangeOfEnclosingComment(sourceFile, position, precedingToken, tokenAtPosition = getTokenAtPosition(sourceFile, position)) {
166339
166270
  const jsdoc = findAncestor(tokenAtPosition, isJSDoc);
166340
166271
  if (jsdoc)
@@ -166557,7 +166488,7 @@ var SmartIndenter;
166557
166488
  )) {
166558
166489
  const currentStart = getStartLineAndCharacterForNode(current, sourceFile);
166559
166490
  const nextTokenKind = nextTokenIsCurlyBraceOnSameLineAsCursor(precedingToken, current, lineAtPosition, sourceFile);
166560
- const indentationDelta = nextTokenKind !== NextTokenKind.Unknown ? assumeNewLineBeforeCloseBrace && nextTokenKind === NextTokenKind.CloseBrace ? options.indentSize : 0 : lineAtPosition !== currentStart.line ? options.indentSize : 0;
166491
+ const indentationDelta = nextTokenKind !== 0 /* Unknown */ ? assumeNewLineBeforeCloseBrace && nextTokenKind === 2 /* CloseBrace */ ? options.indentSize : 0 : lineAtPosition !== currentStart.line ? options.indentSize : 0;
166561
166492
  return getIndentationForNodeWorker(
166562
166493
  current,
166563
166494
  currentStart,