typescript 5.0.0-dev.20221212 → 5.0.0-dev.20221213

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/typescript.js CHANGED
@@ -42,7 +42,7 @@ var ts = (() => {
42
42
  "src/compiler/corePublic.ts"() {
43
43
  "use strict";
44
44
  versionMajorMinor = "5.0";
45
- version = `${versionMajorMinor}.0-dev.20221212`;
45
+ version = `${versionMajorMinor}.0-dev.20221213`;
46
46
  Comparison = /* @__PURE__ */ ((Comparison3) => {
47
47
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
48
48
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -3881,14 +3881,15 @@ ${lanes.join("\n")}
3881
3881
  SyntaxKind5[SyntaxKind5["JSDocTypedefTag"] = 348] = "JSDocTypedefTag";
3882
3882
  SyntaxKind5[SyntaxKind5["JSDocSeeTag"] = 349] = "JSDocSeeTag";
3883
3883
  SyntaxKind5[SyntaxKind5["JSDocPropertyTag"] = 350] = "JSDocPropertyTag";
3884
- SyntaxKind5[SyntaxKind5["SyntaxList"] = 351] = "SyntaxList";
3885
- SyntaxKind5[SyntaxKind5["NotEmittedStatement"] = 352] = "NotEmittedStatement";
3886
- SyntaxKind5[SyntaxKind5["PartiallyEmittedExpression"] = 353] = "PartiallyEmittedExpression";
3887
- SyntaxKind5[SyntaxKind5["CommaListExpression"] = 354] = "CommaListExpression";
3888
- SyntaxKind5[SyntaxKind5["MergeDeclarationMarker"] = 355] = "MergeDeclarationMarker";
3889
- SyntaxKind5[SyntaxKind5["EndOfDeclarationMarker"] = 356] = "EndOfDeclarationMarker";
3890
- SyntaxKind5[SyntaxKind5["SyntheticReferenceExpression"] = 357] = "SyntheticReferenceExpression";
3891
- SyntaxKind5[SyntaxKind5["Count"] = 358] = "Count";
3884
+ SyntaxKind5[SyntaxKind5["JSDocThrowsTag"] = 351] = "JSDocThrowsTag";
3885
+ SyntaxKind5[SyntaxKind5["SyntaxList"] = 352] = "SyntaxList";
3886
+ SyntaxKind5[SyntaxKind5["NotEmittedStatement"] = 353] = "NotEmittedStatement";
3887
+ SyntaxKind5[SyntaxKind5["PartiallyEmittedExpression"] = 354] = "PartiallyEmittedExpression";
3888
+ SyntaxKind5[SyntaxKind5["CommaListExpression"] = 355] = "CommaListExpression";
3889
+ SyntaxKind5[SyntaxKind5["MergeDeclarationMarker"] = 356] = "MergeDeclarationMarker";
3890
+ SyntaxKind5[SyntaxKind5["EndOfDeclarationMarker"] = 357] = "EndOfDeclarationMarker";
3891
+ SyntaxKind5[SyntaxKind5["SyntheticReferenceExpression"] = 358] = "SyntheticReferenceExpression";
3892
+ SyntaxKind5[SyntaxKind5["Count"] = 359] = "Count";
3892
3893
  SyntaxKind5[SyntaxKind5["FirstAssignment"] = 63 /* EqualsToken */] = "FirstAssignment";
3893
3894
  SyntaxKind5[SyntaxKind5["LastAssignment"] = 78 /* CaretEqualsToken */] = "LastAssignment";
3894
3895
  SyntaxKind5[SyntaxKind5["FirstCompoundAssignment"] = 64 /* PlusEqualsToken */] = "FirstCompoundAssignment";
@@ -3917,9 +3918,9 @@ ${lanes.join("\n")}
3917
3918
  SyntaxKind5[SyntaxKind5["LastStatement"] = 256 /* DebuggerStatement */] = "LastStatement";
3918
3919
  SyntaxKind5[SyntaxKind5["FirstNode"] = 163 /* QualifiedName */] = "FirstNode";
3919
3920
  SyntaxKind5[SyntaxKind5["FirstJSDocNode"] = 312 /* JSDocTypeExpression */] = "FirstJSDocNode";
3920
- SyntaxKind5[SyntaxKind5["LastJSDocNode"] = 350 /* JSDocPropertyTag */] = "LastJSDocNode";
3921
+ SyntaxKind5[SyntaxKind5["LastJSDocNode"] = 351 /* JSDocThrowsTag */] = "LastJSDocNode";
3921
3922
  SyntaxKind5[SyntaxKind5["FirstJSDocTagNode"] = 330 /* JSDocTag */] = "FirstJSDocTagNode";
3922
- SyntaxKind5[SyntaxKind5["LastJSDocTagNode"] = 350 /* JSDocPropertyTag */] = "LastJSDocTagNode";
3923
+ SyntaxKind5[SyntaxKind5["LastJSDocTagNode"] = 351 /* JSDocThrowsTag */] = "LastJSDocTagNode";
3923
3924
  SyntaxKind5[SyntaxKind5["FirstContextualKeyword"] = 126 /* AbstractKeyword */] = "FirstContextualKeyword";
3924
3925
  SyntaxKind5[SyntaxKind5["LastContextualKeyword"] = 162 /* OfKeyword */] = "LastContextualKeyword";
3925
3926
  return SyntaxKind5;
@@ -11875,8 +11876,8 @@ ${lanes.join("\n")}
11875
11876
  case 227 /* SpreadElement */:
11876
11877
  case 231 /* AsExpression */:
11877
11878
  case 229 /* OmittedExpression */:
11878
- case 354 /* CommaListExpression */:
11879
- case 353 /* PartiallyEmittedExpression */:
11879
+ case 355 /* CommaListExpression */:
11880
+ case 354 /* PartiallyEmittedExpression */:
11880
11881
  case 235 /* SatisfiesExpression */:
11881
11882
  return true;
11882
11883
  default:
@@ -11953,7 +11954,7 @@ ${lanes.join("\n")}
11953
11954
  return kind === 259 /* FunctionDeclaration */ || kind === 279 /* MissingDeclaration */ || kind === 260 /* ClassDeclaration */ || kind === 261 /* InterfaceDeclaration */ || kind === 262 /* TypeAliasDeclaration */ || kind === 263 /* EnumDeclaration */ || kind === 264 /* ModuleDeclaration */ || kind === 269 /* ImportDeclaration */ || kind === 268 /* ImportEqualsDeclaration */ || kind === 275 /* ExportDeclaration */ || kind === 274 /* ExportAssignment */ || kind === 267 /* NamespaceExportDeclaration */;
11954
11955
  }
11955
11956
  function isStatementKindButNotDeclarationKind(kind) {
11956
- return kind === 249 /* BreakStatement */ || kind === 248 /* ContinueStatement */ || kind === 256 /* DebuggerStatement */ || kind === 243 /* DoStatement */ || kind === 241 /* ExpressionStatement */ || kind === 239 /* EmptyStatement */ || kind === 246 /* ForInStatement */ || kind === 247 /* ForOfStatement */ || kind === 245 /* ForStatement */ || kind === 242 /* IfStatement */ || kind === 253 /* LabeledStatement */ || kind === 250 /* ReturnStatement */ || kind === 252 /* SwitchStatement */ || kind === 254 /* ThrowStatement */ || kind === 255 /* TryStatement */ || kind === 240 /* VariableStatement */ || kind === 244 /* WhileStatement */ || kind === 251 /* WithStatement */ || kind === 352 /* NotEmittedStatement */ || kind === 356 /* EndOfDeclarationMarker */ || kind === 355 /* MergeDeclarationMarker */;
11957
+ return kind === 249 /* BreakStatement */ || kind === 248 /* ContinueStatement */ || kind === 256 /* DebuggerStatement */ || kind === 243 /* DoStatement */ || kind === 241 /* ExpressionStatement */ || kind === 239 /* EmptyStatement */ || kind === 246 /* ForInStatement */ || kind === 247 /* ForOfStatement */ || kind === 245 /* ForStatement */ || kind === 242 /* IfStatement */ || kind === 253 /* LabeledStatement */ || kind === 250 /* ReturnStatement */ || kind === 252 /* SwitchStatement */ || kind === 254 /* ThrowStatement */ || kind === 255 /* TryStatement */ || kind === 240 /* VariableStatement */ || kind === 244 /* WhileStatement */ || kind === 251 /* WithStatement */ || kind === 353 /* NotEmittedStatement */ || kind === 357 /* EndOfDeclarationMarker */ || kind === 356 /* MergeDeclarationMarker */;
11957
11958
  }
11958
11959
  function isDeclaration(node) {
11959
11960
  if (node.kind === 165 /* TypeParameter */) {
@@ -12014,13 +12015,13 @@ ${lanes.join("\n")}
12014
12015
  return kind === 292 /* CaseClause */ || kind === 293 /* DefaultClause */;
12015
12016
  }
12016
12017
  function isJSDocNode(node) {
12017
- return node.kind >= 312 /* FirstJSDocNode */ && node.kind <= 350 /* LastJSDocNode */;
12018
+ return node.kind >= 312 /* FirstJSDocNode */ && node.kind <= 351 /* LastJSDocNode */;
12018
12019
  }
12019
12020
  function isJSDocCommentContainingNode(node) {
12020
12021
  return node.kind === 323 /* JSDoc */ || node.kind === 322 /* JSDocNamepathType */ || node.kind === 324 /* JSDocText */ || isJSDocLinkLike(node) || isJSDocTag(node) || isJSDocTypeLiteral(node) || isJSDocSignature(node);
12021
12022
  }
12022
12023
  function isJSDocTag(node) {
12023
- return node.kind >= 330 /* FirstJSDocTagNode */ && node.kind <= 350 /* LastJSDocTagNode */;
12024
+ return node.kind >= 330 /* FirstJSDocTagNode */ && node.kind <= 351 /* LastJSDocTagNode */;
12024
12025
  }
12025
12026
  function isSetAccessor(node) {
12026
12027
  return node.kind === 175 /* SetAccessor */;
@@ -12434,7 +12435,7 @@ ${lanes.join("\n")}
12434
12435
  if (includeJsDoc && hasJSDocNodes(node)) {
12435
12436
  return getTokenPosOfNode(node.jsDoc[0], sourceFile);
12436
12437
  }
12437
- if (node.kind === 351 /* SyntaxList */ && node._children.length > 0) {
12438
+ if (node.kind === 352 /* SyntaxList */ && node._children.length > 0) {
12438
12439
  return getTokenPosOfNode(node._children[0], sourceFile, includeJsDoc);
12439
12440
  }
12440
12441
  return skipTrivia(
@@ -13596,7 +13597,7 @@ ${lanes.join("\n")}
13596
13597
  case 233 /* MetaProperty */:
13597
13598
  return true;
13598
13599
  case 230 /* ExpressionWithTypeArguments */:
13599
- return !isHeritageClause(node.parent);
13600
+ return !isHeritageClause(node.parent) && !isJSDocAugmentsTag(node.parent);
13600
13601
  case 163 /* QualifiedName */:
13601
13602
  while (node.parent.kind === 163 /* QualifiedName */) {
13602
13603
  node = node.parent;
@@ -14648,7 +14649,7 @@ ${lanes.join("\n")}
14648
14649
  }
14649
14650
  function getOperatorPrecedence(nodeKind, operatorKind, hasArguments) {
14650
14651
  switch (nodeKind) {
14651
- case 354 /* CommaListExpression */:
14652
+ case 355 /* CommaListExpression */:
14652
14653
  return 0 /* Comma */;
14653
14654
  case 227 /* SpreadElement */:
14654
14655
  return 1 /* Spread */;
@@ -15604,7 +15605,18 @@ ${lanes.join("\n")}
15604
15605
  return cls && !cls.isImplements ? cls.class : void 0;
15605
15606
  }
15606
15607
  function tryGetClassImplementingOrExtendingExpressionWithTypeArguments(node) {
15607
- return isExpressionWithTypeArguments(node) && isHeritageClause(node.parent) && isClassLike(node.parent.parent) ? { class: node.parent.parent, isImplements: node.parent.token === 117 /* ImplementsKeyword */ } : void 0;
15608
+ if (isExpressionWithTypeArguments(node)) {
15609
+ if (isHeritageClause(node.parent) && isClassLike(node.parent.parent)) {
15610
+ return { class: node.parent.parent, isImplements: node.parent.token === 117 /* ImplementsKeyword */ };
15611
+ }
15612
+ if (isJSDocAugmentsTag(node.parent)) {
15613
+ const host = getEffectiveJSDocHost(node.parent);
15614
+ if (host && isClassLike(host)) {
15615
+ return { class: host, isImplements: false };
15616
+ }
15617
+ }
15618
+ }
15619
+ return void 0;
15608
15620
  }
15609
15621
  function isAssignmentExpression(node, excludeCompoundAssignment) {
15610
15622
  return isBinaryExpression(node) && (excludeCompoundAssignment ? node.operatorToken.kind === 63 /* EqualsToken */ : isAssignmentOperator(node.operatorToken.kind)) && isLeftHandSideExpression(node.left);
@@ -16178,7 +16190,7 @@ ${lanes.join("\n")}
16178
16190
  case 209 /* ElementAccessExpression */:
16179
16191
  case 208 /* PropertyAccessExpression */:
16180
16192
  case 232 /* NonNullExpression */:
16181
- case 353 /* PartiallyEmittedExpression */:
16193
+ case 354 /* PartiallyEmittedExpression */:
16182
16194
  case 235 /* SatisfiesExpression */:
16183
16195
  node = node.expression;
16184
16196
  continue;
@@ -17283,7 +17295,7 @@ ${lanes.join("\n")}
17283
17295
  return parent2.types;
17284
17296
  case 186 /* TupleType */:
17285
17297
  case 206 /* ArrayLiteralExpression */:
17286
- case 354 /* CommaListExpression */:
17298
+ case 355 /* CommaListExpression */:
17287
17299
  case 272 /* NamedImports */:
17288
17300
  case 276 /* NamedExports */:
17289
17301
  return parent2.elements;
@@ -17446,6 +17458,23 @@ ${lanes.join("\n")}
17446
17458
  var _a2;
17447
17459
  return ((_a2 = getSnippetElement(node)) == null ? void 0 : _a2.kind) === 0 /* TabStop */;
17448
17460
  }
17461
+ function isJSDocOptionalParameter(node) {
17462
+ return isInJSFile(node) && (node.type && node.type.kind === 319 /* JSDocOptionalType */ || getJSDocParameterTags(node).some(({ isBracketed, typeExpression }) => isBracketed || !!typeExpression && typeExpression.type.kind === 319 /* JSDocOptionalType */));
17463
+ }
17464
+ function isOptionalDeclaration(declaration) {
17465
+ switch (declaration.kind) {
17466
+ case 169 /* PropertyDeclaration */:
17467
+ case 168 /* PropertySignature */:
17468
+ return !!declaration.questionToken;
17469
+ case 166 /* Parameter */:
17470
+ return !!declaration.questionToken || isJSDocOptionalParameter(declaration);
17471
+ case 350 /* JSDocPropertyTag */:
17472
+ case 343 /* JSDocParameterTag */:
17473
+ return isOptionalJSDocPropertyLikeTag(declaration);
17474
+ default:
17475
+ return false;
17476
+ }
17477
+ }
17449
17478
  var resolvingEmptyArray, externalHelpersModuleNameText, defaultMaximumTruncationLength, noTruncationMaximumTruncationLength, stringWriter, GetLiteralTextFlags, fullTripleSlashReferencePathRegEx, fullTripleSlashReferenceTypeReferenceDirectiveRegEx, fullTripleSlashAMDReferencePathRegEx, defaultLibReferenceRegEx, AssignmentKind, FunctionFlags, Associativity, OperatorPrecedence, templateSubstitutionRegExp, doubleQuoteEscapedCharsRegExp, singleQuoteEscapedCharsRegExp, backtickQuoteEscapedCharsRegExp, escapedCharsMap, nonAsciiCharacters, jsxDoubleQuoteEscapedCharsRegExp, jsxSingleQuoteEscapedCharsRegExp, jsxEscapedCharsMap, indentStrings, base64Digits, carriageReturnLineFeed, lineFeed, AccessKind, objectAllocator, localizedDiagnosticMessages, reservedCharacterPattern, wildcardCharCodes, commonPackageFolders, implicitExcludePathRegexPattern, filesMatcher, directoriesMatcher, excludeMatcher, wildcardMatchers, supportedTSExtensions, supportedTSExtensionsFlat, supportedTSExtensionsWithJson, supportedTSExtensionsForExtractExtension, supportedJSExtensions, supportedJSExtensionsFlat, allSupportedExtensions, allSupportedExtensionsWithJson, supportedDeclarationExtensions, supportedTSImplementationExtensions, extensionsToRemove, emptyFileSystemEntries;
17450
17479
  var init_utilities = __esm({
17451
17480
  "src/compiler/utilities.ts"() {
@@ -18569,6 +18598,12 @@ ${lanes.join("\n")}
18569
18598
  get updateJSDocDeprecatedTag() {
18570
18599
  return getJSDocSimpleTagUpdateFunction(334 /* JSDocDeprecatedTag */);
18571
18600
  },
18601
+ get createJSDocThrowsTag() {
18602
+ return getJSDocTypeLikeTagCreateFunction(351 /* JSDocThrowsTag */);
18603
+ },
18604
+ get updateJSDocThrowsTag() {
18605
+ return getJSDocTypeLikeTagUpdateFunction(351 /* JSDocThrowsTag */);
18606
+ },
18572
18607
  createJSDocUnknownTag,
18573
18608
  updateJSDocUnknownTag,
18574
18609
  createJSDocText,
@@ -21518,18 +21553,18 @@ ${lanes.join("\n")}
21518
21553
  return node;
21519
21554
  }
21520
21555
  function createSyntaxList3(children) {
21521
- const node = createBaseNode(351 /* SyntaxList */);
21556
+ const node = createBaseNode(352 /* SyntaxList */);
21522
21557
  node._children = children;
21523
21558
  return node;
21524
21559
  }
21525
21560
  function createNotEmittedStatement2(original) {
21526
- const node = createBaseNode(352 /* NotEmittedStatement */);
21561
+ const node = createBaseNode(353 /* NotEmittedStatement */);
21527
21562
  node.original = original;
21528
21563
  setTextRange(node, original);
21529
21564
  return node;
21530
21565
  }
21531
21566
  function createPartiallyEmittedExpression2(expression, original) {
21532
- const node = createBaseNode(353 /* PartiallyEmittedExpression */);
21567
+ const node = createBaseNode(354 /* PartiallyEmittedExpression */);
21533
21568
  node.expression = expression;
21534
21569
  node.original = original;
21535
21570
  node.transformFlags |= propagateChildFlags(node.expression) | 1 /* ContainsTypeScript */;
@@ -21551,7 +21586,7 @@ ${lanes.join("\n")}
21551
21586
  return node;
21552
21587
  }
21553
21588
  function createCommaListExpression(elements) {
21554
- const node = createBaseNode(354 /* CommaListExpression */);
21589
+ const node = createBaseNode(355 /* CommaListExpression */);
21555
21590
  node.elements = createNodeArray2(sameFlatMap(elements, flattenCommaElements));
21556
21591
  node.transformFlags |= propagateChildrenFlags(node.elements);
21557
21592
  return node;
@@ -21560,19 +21595,19 @@ ${lanes.join("\n")}
21560
21595
  return node.elements !== elements ? update(createCommaListExpression(elements), node) : node;
21561
21596
  }
21562
21597
  function createEndOfDeclarationMarker(original) {
21563
- const node = createBaseNode(356 /* EndOfDeclarationMarker */);
21598
+ const node = createBaseNode(357 /* EndOfDeclarationMarker */);
21564
21599
  node.emitNode = {};
21565
21600
  node.original = original;
21566
21601
  return node;
21567
21602
  }
21568
21603
  function createMergeDeclarationMarker(original) {
21569
- const node = createBaseNode(355 /* MergeDeclarationMarker */);
21604
+ const node = createBaseNode(356 /* MergeDeclarationMarker */);
21570
21605
  node.emitNode = {};
21571
21606
  node.original = original;
21572
21607
  return node;
21573
21608
  }
21574
21609
  function createSyntheticReferenceExpression(expression, thisArg) {
21575
- const node = createBaseNode(357 /* SyntheticReferenceExpression */);
21610
+ const node = createBaseNode(358 /* SyntheticReferenceExpression */);
21576
21611
  node.expression = expression;
21577
21612
  node.thisArg = thisArg;
21578
21613
  node.transformFlags |= propagateChildFlags(node.expression) | propagateChildFlags(node.thisArg);
@@ -21720,7 +21755,7 @@ ${lanes.join("\n")}
21720
21755
  return updateSatisfiesExpression(outerExpression, expression, outerExpression.type);
21721
21756
  case 232 /* NonNullExpression */:
21722
21757
  return updateNonNullExpression2(outerExpression, expression);
21723
- case 353 /* PartiallyEmittedExpression */:
21758
+ case 354 /* PartiallyEmittedExpression */:
21724
21759
  return updatePartiallyEmittedExpression2(outerExpression, expression);
21725
21760
  }
21726
21761
  }
@@ -22209,7 +22244,7 @@ ${lanes.join("\n")}
22209
22244
  case 213 /* TypeAssertionExpression */:
22210
22245
  case 235 /* SatisfiesExpression */:
22211
22246
  case 231 /* AsExpression */:
22212
- case 353 /* PartiallyEmittedExpression */:
22247
+ case 354 /* PartiallyEmittedExpression */:
22213
22248
  case 214 /* ParenthesizedExpression */:
22214
22249
  case 106 /* SuperKeyword */:
22215
22250
  return -2147483648 /* OuterExpressionExcludes */;
@@ -23776,10 +23811,10 @@ ${lanes.join("\n")}
23776
23811
  return node.kind === 234 /* SyntheticExpression */;
23777
23812
  }
23778
23813
  function isPartiallyEmittedExpression(node) {
23779
- return node.kind === 353 /* PartiallyEmittedExpression */;
23814
+ return node.kind === 354 /* PartiallyEmittedExpression */;
23780
23815
  }
23781
23816
  function isCommaListExpression(node) {
23782
- return node.kind === 354 /* CommaListExpression */;
23817
+ return node.kind === 355 /* CommaListExpression */;
23783
23818
  }
23784
23819
  function isTemplateSpan(node) {
23785
23820
  return node.kind === 236 /* TemplateSpan */;
@@ -23923,16 +23958,16 @@ ${lanes.join("\n")}
23923
23958
  return node.kind === 279 /* MissingDeclaration */;
23924
23959
  }
23925
23960
  function isNotEmittedStatement(node) {
23926
- return node.kind === 352 /* NotEmittedStatement */;
23961
+ return node.kind === 353 /* NotEmittedStatement */;
23927
23962
  }
23928
23963
  function isSyntheticReference(node) {
23929
- return node.kind === 357 /* SyntheticReferenceExpression */;
23964
+ return node.kind === 358 /* SyntheticReferenceExpression */;
23930
23965
  }
23931
23966
  function isMergeDeclarationMarker(node) {
23932
- return node.kind === 355 /* MergeDeclarationMarker */;
23967
+ return node.kind === 356 /* MergeDeclarationMarker */;
23933
23968
  }
23934
23969
  function isEndOfDeclarationMarker(node) {
23935
- return node.kind === 356 /* EndOfDeclarationMarker */;
23970
+ return node.kind === 357 /* EndOfDeclarationMarker */;
23936
23971
  }
23937
23972
  function isExternalModuleReference(node) {
23938
23973
  return node.kind === 280 /* ExternalModuleReference */;
@@ -24120,8 +24155,11 @@ ${lanes.join("\n")}
24120
24155
  function isJSDocImplementsTag(node) {
24121
24156
  return node.kind === 332 /* JSDocImplementsTag */;
24122
24157
  }
24158
+ function isJSDocThrowsTag(node) {
24159
+ return node.kind === 351 /* JSDocThrowsTag */;
24160
+ }
24123
24161
  function isSyntaxList(n) {
24124
- return n.kind === 351 /* SyntaxList */;
24162
+ return n.kind === 352 /* SyntaxList */;
24125
24163
  }
24126
24164
  var init_nodeTests = __esm({
24127
24165
  "src/compiler/factory/nodeTests.ts"() {
@@ -24431,7 +24469,7 @@ ${lanes.join("\n")}
24431
24469
  return firstStatement !== void 0 && isPrologueDirective(firstStatement) && isUseStrictPrologue(firstStatement);
24432
24470
  }
24433
24471
  function isCommaSequence(node) {
24434
- return node.kind === 223 /* BinaryExpression */ && node.operatorToken.kind === 27 /* CommaToken */ || node.kind === 354 /* CommaListExpression */;
24472
+ return node.kind === 223 /* BinaryExpression */ && node.operatorToken.kind === 27 /* CommaToken */ || node.kind === 355 /* CommaListExpression */;
24435
24473
  }
24436
24474
  function isJSDocTypeAssertion(node) {
24437
24475
  return isParenthesizedExpression(node) && isInJSFile(node) && !!getJSDocTypeTag(node);
@@ -24454,7 +24492,7 @@ ${lanes.join("\n")}
24454
24492
  return (kinds & 2 /* TypeAssertions */) !== 0;
24455
24493
  case 232 /* NonNullExpression */:
24456
24494
  return (kinds & 4 /* NonNullAssertions */) !== 0;
24457
- case 353 /* PartiallyEmittedExpression */:
24495
+ case 354 /* PartiallyEmittedExpression */:
24458
24496
  return (kinds & 8 /* PartiallyEmittedExpressions */) !== 0;
24459
24497
  }
24460
24498
  return false;
@@ -25103,7 +25141,7 @@ ${lanes.join("\n")}
25103
25141
  function forEachChildInJSDocParameterOrPropertyTag(node, cbNode, cbNodes) {
25104
25142
  return visitNode2(cbNode, node.tagName) || (node.isNameFirst ? visitNode2(cbNode, node.name) || visitNode2(cbNode, node.typeExpression) : visitNode2(cbNode, node.typeExpression) || visitNode2(cbNode, node.name)) || (typeof node.comment === "string" ? void 0 : visitNodes(cbNode, cbNodes, node.comment));
25105
25143
  }
25106
- function forEachChildInJSDocReturnTag(node, cbNode, cbNodes) {
25144
+ function forEachChildInJSDocTypeLikeTag(node, cbNode, cbNodes) {
25107
25145
  return visitNode2(cbNode, node.tagName) || visitNode2(cbNode, node.typeExpression) || (typeof node.comment === "string" ? void 0 : visitNodes(cbNode, cbNodes, node.comment));
25108
25146
  }
25109
25147
  function forEachChildInJSDocLinkCodeOrPlain(node, cbNode, _cbNodes) {
@@ -25773,7 +25811,7 @@ ${lanes.join("\n")}
25773
25811
  [279 /* MissingDeclaration */]: function forEachChildInMissingDeclaration(node, cbNode, cbNodes) {
25774
25812
  return visitNodes(cbNode, cbNodes, node.illegalDecorators) || visitNodes(cbNode, cbNodes, node.modifiers);
25775
25813
  },
25776
- [354 /* CommaListExpression */]: function forEachChildInCommaListExpression(node, cbNode, cbNodes) {
25814
+ [355 /* CommaListExpression */]: function forEachChildInCommaListExpression(node, cbNode, cbNodes) {
25777
25815
  return visitNodes(cbNode, cbNodes, node.elements);
25778
25816
  },
25779
25817
  [281 /* JsxElement */]: function forEachChildInJsxElement(node, cbNode, cbNodes) {
@@ -25841,10 +25879,11 @@ ${lanes.join("\n")}
25841
25879
  [341 /* JSDocCallbackTag */]: function forEachChildInJSDocCallbackTag(node, cbNode, cbNodes) {
25842
25880
  return visitNode2(cbNode, node.tagName) || visitNode2(cbNode, node.fullName) || visitNode2(cbNode, node.typeExpression) || (typeof node.comment === "string" ? void 0 : visitNodes(cbNode, cbNodes, node.comment));
25843
25881
  },
25844
- [344 /* JSDocReturnTag */]: forEachChildInJSDocReturnTag,
25845
- [346 /* JSDocTypeTag */]: forEachChildInJSDocReturnTag,
25846
- [345 /* JSDocThisTag */]: forEachChildInJSDocReturnTag,
25847
- [342 /* JSDocEnumTag */]: forEachChildInJSDocReturnTag,
25882
+ [344 /* JSDocReturnTag */]: forEachChildInJSDocTypeLikeTag,
25883
+ [346 /* JSDocTypeTag */]: forEachChildInJSDocTypeLikeTag,
25884
+ [345 /* JSDocThisTag */]: forEachChildInJSDocTypeLikeTag,
25885
+ [342 /* JSDocEnumTag */]: forEachChildInJSDocTypeLikeTag,
25886
+ [351 /* JSDocThrowsTag */]: forEachChildInJSDocTypeLikeTag,
25848
25887
  [326 /* JSDocSignature */]: function forEachChildInJSDocSignature(node, cbNode, _cbNodes) {
25849
25888
  return forEach(node.typeParameters, cbNode) || forEach(node.parameters, cbNode) || visitNode2(cbNode, node.type);
25850
25889
  },
@@ -25862,7 +25901,7 @@ ${lanes.join("\n")}
25862
25901
  [339 /* JSDocReadonlyTag */]: forEachChildInJSDocTag,
25863
25902
  [334 /* JSDocDeprecatedTag */]: forEachChildInJSDocTag,
25864
25903
  [340 /* JSDocOverrideTag */]: forEachChildInJSDocTag,
25865
- [353 /* PartiallyEmittedExpression */]: forEachChildInPartiallyEmittedExpression
25904
+ [354 /* PartiallyEmittedExpression */]: forEachChildInPartiallyEmittedExpression
25866
25905
  };
25867
25906
  ((Parser2) => {
25868
25907
  const scanner2 = createScanner(99 /* Latest */, true);
@@ -31043,6 +31082,10 @@ ${lanes.join("\n")}
31043
31082
  case "see":
31044
31083
  tag = parseSeeTag(start2, tagName, margin, indentText);
31045
31084
  break;
31085
+ case "exception":
31086
+ case "throws":
31087
+ tag = parseThrowsTag(start2, tagName, margin, indentText);
31088
+ break;
31046
31089
  default:
31047
31090
  tag = parseUnknownTag(start2, tagName, margin, indentText);
31048
31091
  break;
@@ -31295,6 +31338,11 @@ ${lanes.join("\n")}
31295
31338
  const comments2 = indent2 !== void 0 && indentText !== void 0 ? parseTrailingTagComments(start2, getNodePos(), indent2, indentText) : void 0;
31296
31339
  return finishNode(factory2.createJSDocSeeTag(tagName, nameExpression, comments2), start2);
31297
31340
  }
31341
+ function parseThrowsTag(start2, tagName, indent2, indentText) {
31342
+ const typeExpression = tryParseTypeExpression();
31343
+ const comment = parseTrailingTagComments(start2, getNodePos(), indent2, indentText);
31344
+ return finishNode(factory2.createJSDocThrowsTag(tagName, typeExpression, comment), start2);
31345
+ }
31298
31346
  function parseAuthorTag(start2, tagName, indent2, indentText) {
31299
31347
  const commentStart = getNodePos();
31300
31348
  const textOnly = parseAuthorNameAndEmail();
@@ -47419,8 +47467,8 @@ ${lanes.join("\n")}
47419
47467
  if (isBindingPattern(declaration.parent)) {
47420
47468
  return getTypeForBindingElement(declaration);
47421
47469
  }
47422
- const isProperty = isPropertyDeclaration(declaration) && !hasAccessorModifier(declaration) || isPropertySignature(declaration);
47423
- const isOptional = includeOptionality && (isProperty && !!declaration.questionToken || isParameter(declaration) && (!!declaration.questionToken || isJSDocOptionalParameter(declaration)) || isOptionalJSDocPropertyLikeTag(declaration));
47470
+ const isProperty = isPropertyDeclaration(declaration) && !hasAccessorModifier(declaration) || isPropertySignature(declaration) || isJSDocPropertyTag(declaration);
47471
+ const isOptional = includeOptionality && isOptionalDeclaration(declaration);
47424
47472
  const declaredType = tryGetTypeFromEffectiveTypeNode(declaration);
47425
47473
  if (declaredType) {
47426
47474
  return addOptionality(declaredType, isProperty, isOptional);
@@ -50328,9 +50376,6 @@ ${lanes.join("\n")}
50328
50376
  });
50329
50377
  return result;
50330
50378
  }
50331
- function isJSDocOptionalParameter(node) {
50332
- return isInJSFile(node) && (node.type && node.type.kind === 319 /* JSDocOptionalType */ || getJSDocParameterTags(node).some(({ isBracketed, typeExpression }) => isBracketed || !!typeExpression && typeExpression.type.kind === 319 /* JSDocOptionalType */));
50333
- }
50334
50379
  function tryFindAmbientModule(moduleName, withAugmentations) {
50335
50380
  if (isExternalModuleNameRelative(moduleName)) {
50336
50381
  return void 0;
@@ -76699,13 +76744,13 @@ ${lanes.join("\n")}
76699
76744
  visitLexicalEnvironment(node.statements, visitor, context)
76700
76745
  );
76701
76746
  },
76702
- [353 /* PartiallyEmittedExpression */]: function visitEachChildOfPartiallyEmittedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
76747
+ [354 /* PartiallyEmittedExpression */]: function visitEachChildOfPartiallyEmittedExpression(node, visitor, context, _nodesVisitor, nodeVisitor, _tokenVisitor) {
76703
76748
  return context.factory.updatePartiallyEmittedExpression(
76704
76749
  node,
76705
76750
  nodeVisitor(node.expression, visitor, isExpression)
76706
76751
  );
76707
76752
  },
76708
- [354 /* CommaListExpression */]: function visitEachChildOfCommaListExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
76753
+ [355 /* CommaListExpression */]: function visitEachChildOfCommaListExpression(node, visitor, context, nodesVisitor, _nodeVisitor, _tokenVisitor) {
76709
76754
  return context.factory.updateCommaListExpression(
76710
76755
  node,
76711
76756
  nodesVisitor(node.elements, visitor, isExpression)
@@ -82827,7 +82872,7 @@ ${lanes.join("\n")}
82827
82872
  return visitObjectLiteralExpression(node);
82828
82873
  case 223 /* BinaryExpression */:
82829
82874
  return visitBinaryExpression(node, expressionResultIsUnused2);
82830
- case 354 /* CommaListExpression */:
82875
+ case 355 /* CommaListExpression */:
82831
82876
  return visitCommaListExpression(node, expressionResultIsUnused2);
82832
82877
  case 295 /* CatchClause */:
82833
82878
  return visitCatchClause(node);
@@ -85066,7 +85111,7 @@ ${lanes.join("\n")}
85066
85111
  return visitParenthesizedExpression(node, expressionResultIsUnused2);
85067
85112
  case 223 /* BinaryExpression */:
85068
85113
  return visitBinaryExpression(node, expressionResultIsUnused2);
85069
- case 354 /* CommaListExpression */:
85114
+ case 355 /* CommaListExpression */:
85070
85115
  return visitCommaListExpression(node, expressionResultIsUnused2);
85071
85116
  case 14 /* NoSubstitutionTemplateLiteral */:
85072
85117
  case 15 /* TemplateHead */:
@@ -87773,7 +87818,7 @@ ${lanes.join("\n")}
87773
87818
  switch (node.kind) {
87774
87819
  case 223 /* BinaryExpression */:
87775
87820
  return visitBinaryExpression(node);
87776
- case 354 /* CommaListExpression */:
87821
+ case 355 /* CommaListExpression */:
87777
87822
  return visitCommaListExpression(node);
87778
87823
  case 224 /* ConditionalExpression */:
87779
87824
  return visitConditionalExpression(node);
@@ -89864,9 +89909,9 @@ ${lanes.join("\n")}
89864
89909
  return visitFunctionDeclaration(node);
89865
89910
  case 260 /* ClassDeclaration */:
89866
89911
  return visitClassDeclaration(node);
89867
- case 355 /* MergeDeclarationMarker */:
89912
+ case 356 /* MergeDeclarationMarker */:
89868
89913
  return visitMergeDeclarationMarker(node);
89869
- case 356 /* EndOfDeclarationMarker */:
89914
+ case 357 /* EndOfDeclarationMarker */:
89870
89915
  return visitEndOfDeclarationMarker(node);
89871
89916
  default:
89872
89917
  return visitor(node);
@@ -89883,7 +89928,7 @@ ${lanes.join("\n")}
89883
89928
  return visitExpressionStatement(node);
89884
89929
  case 214 /* ParenthesizedExpression */:
89885
89930
  return visitParenthesizedExpression(node, valueIsDiscarded);
89886
- case 353 /* PartiallyEmittedExpression */:
89931
+ case 354 /* PartiallyEmittedExpression */:
89887
89932
  return visitPartiallyEmittedExpression(node, valueIsDiscarded);
89888
89933
  case 210 /* CallExpression */:
89889
89934
  if (isImportCall(node) && currentSourceFile.impliedNodeFormat === void 0) {
@@ -91665,9 +91710,9 @@ ${lanes.join("\n")}
91665
91710
  return visitCatchClause(node);
91666
91711
  case 238 /* Block */:
91667
91712
  return visitBlock(node);
91668
- case 355 /* MergeDeclarationMarker */:
91713
+ case 356 /* MergeDeclarationMarker */:
91669
91714
  return visitMergeDeclarationMarker(node);
91670
- case 356 /* EndOfDeclarationMarker */:
91715
+ case 357 /* EndOfDeclarationMarker */:
91671
91716
  return visitEndOfDeclarationMarker(node);
91672
91717
  default:
91673
91718
  return visitor(node);
@@ -91815,7 +91860,7 @@ ${lanes.join("\n")}
91815
91860
  return visitExpressionStatement(node);
91816
91861
  case 214 /* ParenthesizedExpression */:
91817
91862
  return visitParenthesizedExpression(node, valueIsDiscarded);
91818
- case 353 /* PartiallyEmittedExpression */:
91863
+ case 354 /* PartiallyEmittedExpression */:
91819
91864
  return visitPartiallyEmittedExpression(node, valueIsDiscarded);
91820
91865
  case 223 /* BinaryExpression */:
91821
91866
  if (isDestructuringAssignment(node)) {
@@ -94247,7 +94292,7 @@ ${lanes.join("\n")}
94247
94292
  }
94248
94293
  function transformNodes(resolver, host, factory2, options, nodes, transformers, allowDtsFiles) {
94249
94294
  var _a2, _b;
94250
- const enabledSyntaxKindFeatures = new Array(358 /* Count */);
94295
+ const enabledSyntaxKindFeatures = new Array(359 /* Count */);
94251
94296
  let lexicalEnvironmentVariableDeclarations;
94252
94297
  let lexicalEnvironmentFunctionDeclarations;
94253
94298
  let lexicalEnvironmentStatements;
@@ -95931,6 +95976,7 @@ ${lanes.join("\n")}
95931
95976
  case 344 /* JSDocReturnTag */:
95932
95977
  case 345 /* JSDocThisTag */:
95933
95978
  case 346 /* JSDocTypeTag */:
95979
+ case 351 /* JSDocThrowsTag */:
95934
95980
  return emitJSDocSimpleTypedTag(node);
95935
95981
  case 347 /* JSDocTemplateTag */:
95936
95982
  return emitJSDocTemplateTag(node);
@@ -95938,9 +95984,9 @@ ${lanes.join("\n")}
95938
95984
  return emitJSDocTypedefTag(node);
95939
95985
  case 349 /* JSDocSeeTag */:
95940
95986
  return emitJSDocSeeTag(node);
95941
- case 352 /* NotEmittedStatement */:
95942
- case 356 /* EndOfDeclarationMarker */:
95943
- case 355 /* MergeDeclarationMarker */:
95987
+ case 353 /* NotEmittedStatement */:
95988
+ case 357 /* EndOfDeclarationMarker */:
95989
+ case 356 /* MergeDeclarationMarker */:
95944
95990
  return;
95945
95991
  }
95946
95992
  if (isExpression(node)) {
@@ -96035,18 +96081,18 @@ ${lanes.join("\n")}
96035
96081
  return emitJsxSelfClosingElement(node);
96036
96082
  case 285 /* JsxFragment */:
96037
96083
  return emitJsxFragment(node);
96038
- case 351 /* SyntaxList */:
96084
+ case 352 /* SyntaxList */:
96039
96085
  return Debug.fail("SyntaxList should not be printed");
96040
- case 352 /* NotEmittedStatement */:
96086
+ case 353 /* NotEmittedStatement */:
96041
96087
  return;
96042
- case 353 /* PartiallyEmittedExpression */:
96088
+ case 354 /* PartiallyEmittedExpression */:
96043
96089
  return emitPartiallyEmittedExpression(node);
96044
- case 354 /* CommaListExpression */:
96090
+ case 355 /* CommaListExpression */:
96045
96091
  return emitCommaList(node);
96046
- case 355 /* MergeDeclarationMarker */:
96047
- case 356 /* EndOfDeclarationMarker */:
96092
+ case 356 /* MergeDeclarationMarker */:
96093
+ case 357 /* EndOfDeclarationMarker */:
96048
96094
  return;
96049
- case 357 /* SyntheticReferenceExpression */:
96095
+ case 358 /* SyntheticReferenceExpression */:
96050
96096
  return Debug.fail("SyntheticReferenceExpression should not be printed");
96051
96097
  }
96052
96098
  }
@@ -98961,7 +99007,7 @@ ${lanes.join("\n")}
98961
99007
  const skipTrailingComments = end < 0 || (emitFlags & 2048 /* NoTrailingComments */) !== 0 || node.kind === 11 /* JsxText */;
98962
99008
  if ((pos > 0 || end > 0) && pos !== end) {
98963
99009
  if (!skipLeadingComments) {
98964
- emitLeadingComments(pos, node.kind !== 352 /* NotEmittedStatement */);
99010
+ emitLeadingComments(pos, node.kind !== 353 /* NotEmittedStatement */);
98965
99011
  }
98966
99012
  if (!skipLeadingComments || pos >= 0 && (emitFlags & 1024 /* NoLeadingComments */) !== 0) {
98967
99013
  containerPos = pos;
@@ -98984,7 +99030,7 @@ ${lanes.join("\n")}
98984
99030
  containerPos = savedContainerPos;
98985
99031
  containerEnd = savedContainerEnd;
98986
99032
  declarationListContainerEnd = savedDeclarationListContainerEnd;
98987
- if (!skipTrailingComments && node.kind !== 352 /* NotEmittedStatement */) {
99033
+ if (!skipTrailingComments && node.kind !== 353 /* NotEmittedStatement */) {
98988
99034
  emitTrailingComments(end);
98989
99035
  }
98990
99036
  }
@@ -99236,7 +99282,7 @@ ${lanes.join("\n")}
99236
99282
  }
99237
99283
  } else {
99238
99284
  const source = sourceMapRange.source || sourceMapSource;
99239
- if (node.kind !== 352 /* NotEmittedStatement */ && (emitFlags & 32 /* NoLeadingSourceMap */) === 0 && sourceMapRange.pos >= 0) {
99285
+ if (node.kind !== 353 /* NotEmittedStatement */ && (emitFlags & 32 /* NoLeadingSourceMap */) === 0 && sourceMapRange.pos >= 0) {
99240
99286
  emitSourcePos(sourceMapRange.source || sourceMapSource, skipSourceTrivia(source, sourceMapRange.pos));
99241
99287
  }
99242
99288
  if (emitFlags & 128 /* NoNestedSourceMaps */) {
@@ -99251,7 +99297,7 @@ ${lanes.join("\n")}
99251
99297
  if (emitFlags & 128 /* NoNestedSourceMaps */) {
99252
99298
  sourceMapsDisabled = false;
99253
99299
  }
99254
- if (node.kind !== 352 /* NotEmittedStatement */ && (emitFlags & 64 /* NoTrailingSourceMap */) === 0 && sourceMapRange.end >= 0) {
99300
+ if (node.kind !== 353 /* NotEmittedStatement */ && (emitFlags & 64 /* NoTrailingSourceMap */) === 0 && sourceMapRange.end >= 0) {
99255
99301
  emitSourcePos(sourceMapRange.source || sourceMapSource, sourceMapRange.end);
99256
99302
  }
99257
99303
  }
@@ -111474,7 +111520,7 @@ ${lanes.join("\n")}
111474
111520
  if (text)
111475
111521
  parts.push(linkTextPart(text));
111476
111522
  } else {
111477
- parts.push(linkTextPart(name + (suffix || text.indexOf("://") === 0 ? "" : " ") + text));
111523
+ parts.push(linkTextPart(name + (suffix ? "" : " ") + text));
111478
111524
  }
111479
111525
  }
111480
111526
  parts.push(linkPart("}"));
@@ -111490,20 +111536,26 @@ ${lanes.join("\n")}
111490
111536
  return text;
111491
111537
  }
111492
111538
  function findLinkNameEnd(text) {
111539
+ let pos = text.indexOf("://");
111540
+ if (pos === 0) {
111541
+ while (pos < text.length && text.charCodeAt(pos) !== 124 /* bar */)
111542
+ pos++;
111543
+ return pos;
111544
+ }
111493
111545
  if (text.indexOf("()") === 0)
111494
111546
  return 2;
111495
- if (text[0] !== "<")
111496
- return 0;
111497
- let brackets2 = 0;
111498
- let i = 0;
111499
- while (i < text.length) {
111500
- if (text[i] === "<")
111501
- brackets2++;
111502
- if (text[i] === ">")
111503
- brackets2--;
111504
- i++;
111505
- if (!brackets2)
111506
- return i;
111547
+ if (text.charAt(0) === "<") {
111548
+ let brackets2 = 0;
111549
+ let i = 0;
111550
+ while (i < text.length) {
111551
+ if (text[i] === "<")
111552
+ brackets2++;
111553
+ if (text[i] === ">")
111554
+ brackets2--;
111555
+ i++;
111556
+ if (!brackets2)
111557
+ return i;
111558
+ }
111507
111559
  }
111508
111560
  return 0;
111509
111561
  }
@@ -113186,7 +113238,7 @@ ${lanes.join("\n")}
113186
113238
  pushClassification(start, width, 1 /* comment */);
113187
113239
  }
113188
113240
  function classifyJSDocComment(docComment) {
113189
- var _a2, _b, _c, _d, _e, _f, _g;
113241
+ var _a2, _b, _c, _d, _e, _f, _g, _h;
113190
113242
  let pos = docComment.pos;
113191
113243
  if (docComment.tags) {
113192
113244
  for (const tag of docComment.tags) {
@@ -113240,6 +113292,11 @@ ${lanes.join("\n")}
113240
113292
  case 332 /* JSDocImplementsTag */:
113241
113293
  commentStart = tag.class.end;
113242
113294
  break;
113295
+ case 351 /* JSDocThrowsTag */:
113296
+ processElement(tag.typeExpression);
113297
+ pos = tag.end;
113298
+ commentStart = ((_h = tag.typeExpression) == null ? void 0 : _h.end) || commentStart;
113299
+ break;
113243
113300
  }
113244
113301
  if (typeof tag.comment === "object") {
113245
113302
  pushCommentRange(tag.comment.pos, tag.comment.end - tag.comment.pos);
@@ -116305,7 +116362,7 @@ ${lanes.join("\n")}
116305
116362
  }
116306
116363
  }
116307
116364
  function createSyntaxList(nodes, parent2) {
116308
- const list = createNode(351 /* SyntaxList */, nodes.pos, nodes.end, parent2);
116365
+ const list = createNode(352 /* SyntaxList */, nodes.pos, nodes.end, parent2);
116309
116366
  list._children = [];
116310
116367
  let pos = nodes.pos;
116311
116368
  for (const node of nodes) {
@@ -117728,7 +117785,7 @@ ${lanes.join("\n")}
117728
117785
  if (!children.length) {
117729
117786
  return void 0;
117730
117787
  }
117731
- const child = find(children, (kid) => kid.kind < 312 /* FirstJSDocNode */ || kid.kind > 350 /* LastJSDocNode */);
117788
+ const child = find(children, (kid) => kid.kind < 312 /* FirstJSDocNode */ || kid.kind > 351 /* LastJSDocNode */);
117732
117789
  return child.kind < 163 /* FirstNode */ ? child : child.getFirstToken(sourceFile);
117733
117790
  }
117734
117791
  getLastToken(sourceFile) {
@@ -127834,6 +127891,9 @@ ${lanes.join("\n")}
127834
127891
  addClassElement(method);
127835
127892
  }
127836
127893
  function createName(node) {
127894
+ if (isIdentifier(node) && node.escapedText === "constructor") {
127895
+ return factory.createComputedPropertyName(factory.createStringLiteral(idText(node), quotePreference === 0 /* Single */));
127896
+ }
127837
127897
  return getSynthesizedDeepClone(node, false);
127838
127898
  }
127839
127899
  function createBody(block, quotePreference2, ambient2) {
@@ -131125,6 +131185,7 @@ ${lanes.join("\n")}
131125
131185
  case 344 /* JSDocReturnTag */:
131126
131186
  case 346 /* JSDocTypeTag */:
131127
131187
  case 348 /* JSDocTypedefTag */:
131188
+ case 351 /* JSDocThrowsTag */:
131128
131189
  return true;
131129
131190
  case 347 /* JSDocTemplateTag */:
131130
131191
  return !!tag.constraint;
@@ -132313,7 +132374,7 @@ ${lanes.join("\n")}
132313
132374
  }
132314
132375
  function tryGetObjectTypeDeclarationCompletionContainer(sourceFile, contextToken, location, position) {
132315
132376
  switch (location.kind) {
132316
- case 351 /* SyntaxList */:
132377
+ case 352 /* SyntaxList */:
132317
132378
  return tryCast(location.parent, isObjectTypeDeclaration);
132318
132379
  case 1 /* EndOfFileToken */:
132319
132380
  const cls = tryCast(lastOrUndefined(cast(location.parent, isSourceFile).statements), isObjectTypeDeclaration);
@@ -136420,6 +136481,9 @@ ${lanes.join("\n")}
136420
136481
  const { comment, kind } = tag;
136421
136482
  const namePart = getTagNameDisplayPart(kind);
136422
136483
  switch (kind) {
136484
+ case 351 /* JSDocThrowsTag */:
136485
+ const typeExpression = tag.typeExpression;
136486
+ return typeExpression ? withNode(typeExpression) : comment === void 0 ? void 0 : getDisplayPartsFromComment(comment, checker);
136423
136487
  case 332 /* JSDocImplementsTag */:
136424
136488
  return withNode(tag.class);
136425
136489
  case 331 /* JSDocAugmentsTag */:
@@ -150286,6 +150350,7 @@ ${options.prefix}` : "\n" : options.prefix
150286
150350
  isJSDocNode: () => isJSDocNode,
150287
150351
  isJSDocNonNullableType: () => isJSDocNonNullableType,
150288
150352
  isJSDocNullableType: () => isJSDocNullableType,
150353
+ isJSDocOptionalParameter: () => isJSDocOptionalParameter,
150289
150354
  isJSDocOptionalType: () => isJSDocOptionalType,
150290
150355
  isJSDocOverrideTag: () => isJSDocOverrideTag,
150291
150356
  isJSDocParameterTag: () => isJSDocParameterTag,
@@ -150301,6 +150366,7 @@ ${options.prefix}` : "\n" : options.prefix
150301
150366
  isJSDocTag: () => isJSDocTag,
150302
150367
  isJSDocTemplateTag: () => isJSDocTemplateTag,
150303
150368
  isJSDocThisTag: () => isJSDocThisTag,
150369
+ isJSDocThrowsTag: () => isJSDocThrowsTag,
150304
150370
  isJSDocTypeAlias: () => isJSDocTypeAlias,
150305
150371
  isJSDocTypeAssertion: () => isJSDocTypeAssertion,
150306
150372
  isJSDocTypeExpression: () => isJSDocTypeExpression,
@@ -150431,6 +150497,7 @@ ${options.prefix}` : "\n" : options.prefix
150431
150497
  isOmittedExpression: () => isOmittedExpression,
150432
150498
  isOptionalChain: () => isOptionalChain,
150433
150499
  isOptionalChainRoot: () => isOptionalChainRoot,
150500
+ isOptionalDeclaration: () => isOptionalDeclaration,
150434
150501
  isOptionalJSDocPropertyLikeTag: () => isOptionalJSDocPropertyLikeTag,
150435
150502
  isOptionalTypeNode: () => isOptionalTypeNode,
150436
150503
  isOuterExpression: () => isOuterExpression,