@typescript-deploys/pr-build 5.0.0-pr-52244-8 → 5.0.0-pr-52382-14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/tsc.js CHANGED
@@ -23,7 +23,7 @@ var __export = (target, all) => {
23
23
 
24
24
  // src/compiler/corePublic.ts
25
25
  var versionMajorMinor = "5.0";
26
- var version = `${versionMajorMinor}.0-insiders.20230123`;
26
+ var version = `${versionMajorMinor}.0-insiders.20230125`;
27
27
 
28
28
  // src/compiler/core.ts
29
29
  var emptyArray = [];
@@ -46308,7 +46308,7 @@ function createTypeChecker(host) {
46308
46308
  return writer ? symbolToStringWorker(writer).getText() : usingSingleLineStringWriter(symbolToStringWorker);
46309
46309
  function symbolToStringWorker(writer2) {
46310
46310
  const entity = builder(symbol, meaning, enclosingDeclaration, nodeFlags);
46311
- const printer = (enclosingDeclaration == null ? void 0 : enclosingDeclaration.kind) === 308 /* SourceFile */ ? createPrinter({ removeComments: true, neverAsciiEscape: true }) : createPrinter({ removeComments: true });
46311
+ const printer = (enclosingDeclaration == null ? void 0 : enclosingDeclaration.kind) === 308 /* SourceFile */ ? createPrinterWithRemoveCommentsNeverAsciiEscape() : createPrinterWithRemoveComments();
46312
46312
  const sourceFile = enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration);
46313
46313
  printer.writeNode(
46314
46314
  4 /* Unspecified */,
@@ -46330,7 +46330,7 @@ function createTypeChecker(host) {
46330
46330
  sigOutput = kind === 1 /* Construct */ ? 177 /* ConstructSignature */ : 176 /* CallSignature */;
46331
46331
  }
46332
46332
  const sig = nodeBuilder.signatureToSignatureDeclaration(signature, sigOutput, enclosingDeclaration, toNodeBuilderFlags(flags) | 70221824 /* IgnoreErrors */ | 512 /* WriteTypeParametersInQualifiedName */);
46333
- const printer = createPrinter({ removeComments: true, omitTrailingSemicolon: true });
46333
+ const printer = createPrinterWithRemoveCommentsOmitTrailingSemicolon();
46334
46334
  const sourceFile = enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration);
46335
46335
  printer.writeNode(
46336
46336
  4 /* Unspecified */,
@@ -46347,8 +46347,7 @@ function createTypeChecker(host) {
46347
46347
  const typeNode = nodeBuilder.typeToTypeNode(type, enclosingDeclaration, toNodeBuilderFlags(flags) | 70221824 /* IgnoreErrors */ | (noTruncation ? 1 /* NoTruncation */ : 0));
46348
46348
  if (typeNode === void 0)
46349
46349
  return Debug.fail("should always get typenode");
46350
- const options = { removeComments: type !== unresolvedType };
46351
- const printer = createPrinter(options);
46350
+ const printer = type !== unresolvedType ? createPrinterWithRemoveComments() : createPrinterWithDefaults();
46352
46351
  const sourceFile = enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration);
46353
46352
  printer.writeNode(
46354
46353
  4 /* Unspecified */,
@@ -49699,7 +49698,7 @@ function createTypeChecker(host) {
49699
49698
  typePredicate.type && nodeBuilder.typeToTypeNode(typePredicate.type, enclosingDeclaration, toNodeBuilderFlags(flags) | 70221824 /* IgnoreErrors */ | 512 /* WriteTypeParametersInQualifiedName */)
49700
49699
  // TODO: GH#18217
49701
49700
  );
49702
- const printer = createPrinter({ removeComments: true });
49701
+ const printer = createPrinterWithRemoveComments();
49703
49702
  const sourceFile = enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration);
49704
49703
  printer.writeNode(
49705
49704
  4 /* Unspecified */,
@@ -106274,6 +106273,10 @@ function emitUsingBuildInfoWorker(config, host, getCommandLine, customTransforme
106274
106273
  );
106275
106274
  return outputFiles;
106276
106275
  }
106276
+ var createPrinterWithDefaults = memoize(() => createPrinter({}));
106277
+ var createPrinterWithRemoveComments = memoize(() => createPrinter({ removeComments: true }));
106278
+ var createPrinterWithRemoveCommentsNeverAsciiEscape = memoize(() => createPrinter({ removeComments: true, neverAsciiEscape: true }));
106279
+ var createPrinterWithRemoveCommentsOmitTrailingSemicolon = memoize(() => createPrinter({ removeComments: true, omitTrailingSemicolon: true }));
106277
106280
  function createPrinter(printerOptions = {}, handlers = {}) {
106278
106281
  const {
106279
106282
  hasGlobalName,
package/lib/tsserver.js CHANGED
@@ -429,6 +429,10 @@ __export(server_exports, {
429
429
  createPatternMatcher: () => createPatternMatcher,
430
430
  createPrependNodes: () => createPrependNodes,
431
431
  createPrinter: () => createPrinter,
432
+ createPrinterWithDefaults: () => createPrinterWithDefaults,
433
+ createPrinterWithRemoveComments: () => createPrinterWithRemoveComments,
434
+ createPrinterWithRemoveCommentsNeverAsciiEscape: () => createPrinterWithRemoveCommentsNeverAsciiEscape,
435
+ createPrinterWithRemoveCommentsOmitTrailingSemicolon: () => createPrinterWithRemoveCommentsOmitTrailingSemicolon,
432
436
  createProgram: () => createProgram,
433
437
  createProgramHost: () => createProgramHost,
434
438
  createPropertyNameNodeForIdentifierOrLiteral: () => createPropertyNameNodeForIdentifierOrLiteral,
@@ -2373,7 +2377,7 @@ __export(ts_server_exports3, {
2373
2377
 
2374
2378
  // src/compiler/corePublic.ts
2375
2379
  var versionMajorMinor = "5.0";
2376
- var version = `${versionMajorMinor}.0-insiders.20230123`;
2380
+ var version = `${versionMajorMinor}.0-insiders.20230125`;
2377
2381
  var Comparison = /* @__PURE__ */ ((Comparison3) => {
2378
2382
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2379
2383
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -50977,7 +50981,7 @@ function createTypeChecker(host) {
50977
50981
  return writer ? symbolToStringWorker(writer).getText() : usingSingleLineStringWriter(symbolToStringWorker);
50978
50982
  function symbolToStringWorker(writer2) {
50979
50983
  const entity = builder(symbol, meaning, enclosingDeclaration, nodeFlags);
50980
- const printer = (enclosingDeclaration == null ? void 0 : enclosingDeclaration.kind) === 308 /* SourceFile */ ? createPrinter({ removeComments: true, neverAsciiEscape: true }) : createPrinter({ removeComments: true });
50984
+ const printer = (enclosingDeclaration == null ? void 0 : enclosingDeclaration.kind) === 308 /* SourceFile */ ? createPrinterWithRemoveCommentsNeverAsciiEscape() : createPrinterWithRemoveComments();
50981
50985
  const sourceFile = enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration);
50982
50986
  printer.writeNode(
50983
50987
  4 /* Unspecified */,
@@ -50999,7 +51003,7 @@ function createTypeChecker(host) {
50999
51003
  sigOutput = kind === 1 /* Construct */ ? 177 /* ConstructSignature */ : 176 /* CallSignature */;
51000
51004
  }
51001
51005
  const sig = nodeBuilder.signatureToSignatureDeclaration(signature, sigOutput, enclosingDeclaration, toNodeBuilderFlags(flags) | 70221824 /* IgnoreErrors */ | 512 /* WriteTypeParametersInQualifiedName */);
51002
- const printer = createPrinter({ removeComments: true, omitTrailingSemicolon: true });
51006
+ const printer = createPrinterWithRemoveCommentsOmitTrailingSemicolon();
51003
51007
  const sourceFile = enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration);
51004
51008
  printer.writeNode(
51005
51009
  4 /* Unspecified */,
@@ -51016,8 +51020,7 @@ function createTypeChecker(host) {
51016
51020
  const typeNode = nodeBuilder.typeToTypeNode(type, enclosingDeclaration, toNodeBuilderFlags(flags) | 70221824 /* IgnoreErrors */ | (noTruncation ? 1 /* NoTruncation */ : 0));
51017
51021
  if (typeNode === void 0)
51018
51022
  return Debug.fail("should always get typenode");
51019
- const options = { removeComments: type !== unresolvedType };
51020
- const printer = createPrinter(options);
51023
+ const printer = type !== unresolvedType ? createPrinterWithRemoveComments() : createPrinterWithDefaults();
51021
51024
  const sourceFile = enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration);
51022
51025
  printer.writeNode(
51023
51026
  4 /* Unspecified */,
@@ -54368,7 +54371,7 @@ function createTypeChecker(host) {
54368
54371
  typePredicate.type && nodeBuilder.typeToTypeNode(typePredicate.type, enclosingDeclaration, toNodeBuilderFlags(flags) | 70221824 /* IgnoreErrors */ | 512 /* WriteTypeParametersInQualifiedName */)
54369
54372
  // TODO: GH#18217
54370
54373
  );
54371
- const printer = createPrinter({ removeComments: true });
54374
+ const printer = createPrinterWithRemoveComments();
54372
54375
  const sourceFile = enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration);
54373
54376
  printer.writeNode(
54374
54377
  4 /* Unspecified */,
@@ -111125,6 +111128,10 @@ function emitUsingBuildInfoWorker(config, host, getCommandLine, customTransforme
111125
111128
  );
111126
111129
  return outputFiles;
111127
111130
  }
111131
+ var createPrinterWithDefaults = memoize(() => createPrinter({}));
111132
+ var createPrinterWithRemoveComments = memoize(() => createPrinter({ removeComments: true }));
111133
+ var createPrinterWithRemoveCommentsNeverAsciiEscape = memoize(() => createPrinter({ removeComments: true, neverAsciiEscape: true }));
111134
+ var createPrinterWithRemoveCommentsOmitTrailingSemicolon = memoize(() => createPrinter({ removeComments: true, omitTrailingSemicolon: true }));
111128
111135
  function createPrinter(printerOptions = {}, handlers = {}) {
111129
111136
  const {
111130
111137
  hasGlobalName,
@@ -126912,6 +126919,10 @@ __export(ts_exports3, {
126912
126919
  createPatternMatcher: () => createPatternMatcher,
126913
126920
  createPrependNodes: () => createPrependNodes,
126914
126921
  createPrinter: () => createPrinter,
126922
+ createPrinterWithDefaults: () => createPrinterWithDefaults,
126923
+ createPrinterWithRemoveComments: () => createPrinterWithRemoveComments,
126924
+ createPrinterWithRemoveCommentsNeverAsciiEscape: () => createPrinterWithRemoveCommentsNeverAsciiEscape,
126925
+ createPrinterWithRemoveCommentsOmitTrailingSemicolon: () => createPrinterWithRemoveCommentsOmitTrailingSemicolon,
126915
126926
  createProgram: () => createProgram,
126916
126927
  createProgramHost: () => createProgramHost,
126917
126928
  createPropertyNameNodeForIdentifierOrLiteral: () => createPropertyNameNodeForIdentifierOrLiteral,
@@ -131004,7 +131015,7 @@ function signatureToDisplayParts(typechecker, signature, enclosingDeclaration, f
131004
131015
  function nodeToDisplayParts(node, enclosingDeclaration) {
131005
131016
  const file = enclosingDeclaration.getSourceFile();
131006
131017
  return mapToDisplayParts((writer) => {
131007
- const printer = createPrinter({ removeComments: true, omitTrailingSemicolon: true });
131018
+ const printer = createPrinterWithRemoveCommentsOmitTrailingSemicolon();
131008
131019
  printer.writeNode(4 /* Unspecified */, node, file, writer);
131009
131020
  });
131010
131021
  }
@@ -137389,12 +137400,9 @@ function createLanguageService(host, documentRegistry = createDocumentRegistry(h
137389
137400
  Debug.assertEqual(action.type, "install package");
137390
137401
  return host.installPackage ? host.installPackage({ fileName: getPath(action.file), packageName: action.packageName }) : Promise.reject("Host does not implement `installPackage`");
137391
137402
  }
137392
- function getDocCommentTemplateAtPosition2(fileName, position, options) {
137393
- return ts_JsDoc_exports.getDocCommentTemplateAtPosition(getNewLineOrDefaultFromHost(
137394
- host,
137395
- /*formatSettings*/
137396
- void 0
137397
- ), syntaxTreeCache.getCurrentSourceFile(fileName), position, options);
137403
+ function getDocCommentTemplateAtPosition2(fileName, position, options, formatOptions) {
137404
+ const formatSettings = formatOptions ? ts_formatting_exports.getFormatContext(formatOptions, host).options : void 0;
137405
+ return ts_JsDoc_exports.getDocCommentTemplateAtPosition(getNewLineOrDefaultFromHost(host, formatSettings), syntaxTreeCache.getCurrentSourceFile(fileName), position, options);
137398
137406
  }
137399
137407
  function isValidBraceCompletionAtPosition(fileName, position, openingBrace) {
137400
137408
  if (openingBrace === 60 /* lessThan */) {
@@ -138575,10 +138583,10 @@ var LanguageServiceShimObject = class extends ShimBase {
138575
138583
  }
138576
138584
  );
138577
138585
  }
138578
- getDocCommentTemplateAtPosition(fileName, position, options) {
138586
+ getDocCommentTemplateAtPosition(fileName, position, options, formatOptions) {
138579
138587
  return this.forwardJSONCall(
138580
138588
  `getDocCommentTemplateAtPosition('${fileName}', ${position})`,
138581
- () => this.languageService.getDocCommentTemplateAtPosition(fileName, position, options)
138589
+ () => this.languageService.getDocCommentTemplateAtPosition(fileName, position, options, formatOptions)
138582
138590
  );
138583
138591
  }
138584
138592
  /// NAVIGATE TO
@@ -139470,7 +139478,7 @@ function getCallHierarchyItemName(program, node) {
139470
139478
  }
139471
139479
  }
139472
139480
  if (text === void 0) {
139473
- const printer = createPrinter({ removeComments: true, omitTrailingSemicolon: true });
139481
+ const printer = createPrinterWithRemoveCommentsOmitTrailingSemicolon();
139474
139482
  text = usingSingleLineStringWriter((writer) => printer.writeNode(4 /* Unspecified */, node, node.getSourceFile(), writer));
139475
139483
  }
139476
139484
  return { text, pos: declName.getStart(), end: declName.getEnd() };
@@ -157240,8 +157248,7 @@ function provideInlayHints(context) {
157240
157248
  }
157241
157249
  function printTypeInSingleLine(type) {
157242
157250
  const flags = 70221824 /* IgnoreErrors */ | 1048576 /* AllowUniqueESSymbolType */ | 16384 /* UseAliasDefinedOutsideCurrentScope */;
157243
- const options = { removeComments: true };
157244
- const printer = createPrinter(options);
157251
+ const printer = createPrinterWithRemoveComments();
157245
157252
  return usingSingleLineStringWriter((writer) => {
157246
157253
  const typeNode = checker.typeToTypeNode(
157247
157254
  type,
@@ -157331,6 +157338,8 @@ var jsDocTagNames = [
157331
157338
  "lends",
157332
157339
  "license",
157333
157340
  "link",
157341
+ "linkcode",
157342
+ "linkplain",
157334
157343
  "listens",
157335
157344
  "member",
157336
157345
  "memberof",
@@ -157343,6 +157352,7 @@ var jsDocTagNames = [
157343
157352
  "package",
157344
157353
  "param",
157345
157354
  "private",
157355
+ "prop",
157346
157356
  "property",
157347
157357
  "protected",
157348
157358
  "public",
@@ -164169,7 +164179,7 @@ function createTypeHelpItems(symbol, { argumentCount, argumentsSpan: applicableS
164169
164179
  }
164170
164180
  function getTypeHelpItem(symbol, typeParameters, checker, enclosingDeclaration, sourceFile) {
164171
164181
  const typeSymbolDisplay = symbolToDisplayParts(checker, symbol);
164172
- const printer = createPrinter({ removeComments: true });
164182
+ const printer = createPrinterWithRemoveComments();
164173
164183
  const parameters = typeParameters.map((t) => createSignatureHelpParameterForTypeParameter(t, checker, enclosingDeclaration, sourceFile, printer));
164174
164184
  const documentation = symbol.getDocumentationComment(checker);
164175
164185
  const tags = symbol.getJsDocTags(checker);
@@ -164213,7 +164223,7 @@ function returnTypeToDisplayParts(candidateSignature, enclosingDeclaration, chec
164213
164223
  }
164214
164224
  function itemInfoForTypeParameters(candidateSignature, checker, enclosingDeclaration, sourceFile) {
164215
164225
  const typeParameters = (candidateSignature.target || candidateSignature).typeParameters;
164216
- const printer = createPrinter({ removeComments: true });
164226
+ const printer = createPrinterWithRemoveComments();
164217
164227
  const parameters = (typeParameters || emptyArray).map((t) => createSignatureHelpParameterForTypeParameter(t, checker, enclosingDeclaration, sourceFile, printer));
164218
164228
  const thisParameter = candidateSignature.thisParameter ? [checker.symbolToParameterDeclaration(candidateSignature.thisParameter, enclosingDeclaration, signatureHelpNodeBuilderFlags)] : [];
164219
164229
  return checker.getExpandedParameters(candidateSignature).map((paramList) => {
@@ -164225,7 +164235,7 @@ function itemInfoForTypeParameters(candidateSignature, checker, enclosingDeclara
164225
164235
  });
164226
164236
  }
164227
164237
  function itemInfoForParameters(candidateSignature, checker, enclosingDeclaration, sourceFile) {
164228
- const printer = createPrinter({ removeComments: true });
164238
+ const printer = createPrinterWithRemoveComments();
164229
164239
  const typeParameterParts = mapToDisplayParts((writer) => {
164230
164240
  if (candidateSignature.typeParameters && candidateSignature.typeParameters.length) {
164231
164241
  const args = factory.createNodeArray(candidateSignature.typeParameters.map((p) => checker.typeParameterToDeclaration(p, enclosingDeclaration, signatureHelpNodeBuilderFlags)));
@@ -164600,7 +164610,6 @@ function getSymbolDisplayPartsDocumentationAndSymbolKind(typeChecker, symbol, so
164600
164610
  let hasAddedSymbolInfo = false;
164601
164611
  const isThisExpression = location.kind === 108 /* ThisKeyword */ && isInExpressionContext(location) || isThisInTypeQuery(location);
164602
164612
  let type;
164603
- let printer;
164604
164613
  let documentationFromAlias;
164605
164614
  let tagsFromAlias;
164606
164615
  let hasMultipleSignatures = false;
@@ -164752,16 +164761,15 @@ function getSymbolDisplayPartsDocumentationAndSymbolKind(typeChecker, symbol, so
164752
164761
  writeTypeParametersOfSymbol(symbol, sourceFile);
164753
164762
  }
164754
164763
  if (symbolFlags & 524288 /* TypeAlias */ && semanticMeaning & 2 /* Type */) {
164755
- const exportSymbol = typeChecker.getExportSymbolOfSymbol(symbol);
164756
164764
  prefixNextMeaning();
164757
164765
  displayParts.push(keywordPart(154 /* TypeKeyword */));
164758
164766
  displayParts.push(spacePart());
164759
164767
  addFullSymbolName(symbol);
164760
- writeTypeParametersOfSymbol(exportSymbol, sourceFile);
164768
+ writeTypeParametersOfSymbol(symbol, sourceFile);
164761
164769
  displayParts.push(spacePart());
164762
164770
  displayParts.push(operatorPart(63 /* EqualsToken */));
164763
164771
  displayParts.push(spacePart());
164764
- addRange(displayParts, typeToDisplayParts(typeChecker, isConstTypeReference(location.parent) ? typeChecker.getTypeAtLocation(location.parent) : typeChecker.getDeclaredTypeOfSymbol(exportSymbol), enclosingDeclaration, 8388608 /* InTypeAlias */));
164772
+ addRange(displayParts, typeToDisplayParts(typeChecker, isConstTypeReference(location.parent) ? typeChecker.getTypeAtLocation(location.parent) : typeChecker.getDeclaredTypeOfSymbol(symbol), enclosingDeclaration, 8388608 /* InTypeAlias */));
164765
164773
  }
164766
164774
  if (symbolFlags & 384 /* Enum */) {
164767
164775
  prefixNextMeaning();
@@ -164994,10 +165002,7 @@ function getSymbolDisplayPartsDocumentationAndSymbolKind(typeChecker, symbol, so
164994
165002
  }
164995
165003
  return { displayParts, documentation, symbolKind, tags: tags.length === 0 ? void 0 : tags };
164996
165004
  function getPrinter() {
164997
- if (!printer) {
164998
- printer = createPrinter({ removeComments: true });
164999
- }
165000
- return printer;
165005
+ return createPrinterWithRemoveComments();
165001
165006
  }
165002
165007
  function prefixNextMeaning() {
165003
165008
  if (displayParts.length) {
@@ -178154,7 +178159,7 @@ Project '${project.projectName}' (${ProjectKind[project.projectKind]}) ${counter
178154
178159
  getDocCommentTemplate(args) {
178155
178160
  const { file, languageService } = this.getFileAndLanguageServiceForSyntacticOperation(args);
178156
178161
  const position = this.getPositionInFile(args, file);
178157
- return languageService.getDocCommentTemplateAtPosition(file, position, this.getPreferences(file));
178162
+ return languageService.getDocCommentTemplateAtPosition(file, position, this.getPreferences(file), this.getFormatOptions(file));
178158
178163
  }
178159
178164
  getSpanOfEnclosingComment(args) {
178160
178165
  const { file, languageService } = this.getFileAndLanguageServiceForSyntacticOperation(args);
@@ -181077,6 +181082,10 @@ start(initializeNodeSystem(), require("os").platform());
181077
181082
  createPatternMatcher,
181078
181083
  createPrependNodes,
181079
181084
  createPrinter,
181085
+ createPrinterWithDefaults,
181086
+ createPrinterWithRemoveComments,
181087
+ createPrinterWithRemoveCommentsNeverAsciiEscape,
181088
+ createPrinterWithRemoveCommentsOmitTrailingSemicolon,
181080
181089
  createProgram,
181081
181090
  createProgramHost,
181082
181091
  createPropertyNameNodeForIdentifierOrLiteral,
@@ -9990,7 +9990,7 @@ declare namespace ts {
9990
9990
  getFormattingEditsForRange(fileName: string, start: number, end: number, options: FormatCodeOptions | FormatCodeSettings): TextChange[];
9991
9991
  getFormattingEditsForDocument(fileName: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[];
9992
9992
  getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[];
9993
- getDocCommentTemplateAtPosition(fileName: string, position: number, options?: DocCommentTemplateOptions): TextInsertion | undefined;
9993
+ getDocCommentTemplateAtPosition(fileName: string, position: number, options?: DocCommentTemplateOptions, formatOptions?: FormatCodeSettings): TextInsertion | undefined;
9994
9994
  isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean;
9995
9995
  /**
9996
9996
  * This will return a defined result if the position is after the `>` of the opening tag, or somewhere in the text, of a JSXElement with no closing tag.
@@ -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-insiders.20230123`;
45
+ version = `${versionMajorMinor}.0-insiders.20230125`;
46
46
  Comparison = /* @__PURE__ */ ((Comparison3) => {
47
47
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
48
48
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -48708,7 +48708,7 @@ ${lanes.join("\n")}
48708
48708
  return writer ? symbolToStringWorker(writer).getText() : usingSingleLineStringWriter(symbolToStringWorker);
48709
48709
  function symbolToStringWorker(writer2) {
48710
48710
  const entity = builder(symbol, meaning, enclosingDeclaration, nodeFlags);
48711
- const printer = (enclosingDeclaration == null ? void 0 : enclosingDeclaration.kind) === 308 /* SourceFile */ ? createPrinter({ removeComments: true, neverAsciiEscape: true }) : createPrinter({ removeComments: true });
48711
+ const printer = (enclosingDeclaration == null ? void 0 : enclosingDeclaration.kind) === 308 /* SourceFile */ ? createPrinterWithRemoveCommentsNeverAsciiEscape() : createPrinterWithRemoveComments();
48712
48712
  const sourceFile = enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration);
48713
48713
  printer.writeNode(
48714
48714
  4 /* Unspecified */,
@@ -48730,7 +48730,7 @@ ${lanes.join("\n")}
48730
48730
  sigOutput = kind === 1 /* Construct */ ? 177 /* ConstructSignature */ : 176 /* CallSignature */;
48731
48731
  }
48732
48732
  const sig = nodeBuilder.signatureToSignatureDeclaration(signature, sigOutput, enclosingDeclaration, toNodeBuilderFlags(flags) | 70221824 /* IgnoreErrors */ | 512 /* WriteTypeParametersInQualifiedName */);
48733
- const printer = createPrinter({ removeComments: true, omitTrailingSemicolon: true });
48733
+ const printer = createPrinterWithRemoveCommentsOmitTrailingSemicolon();
48734
48734
  const sourceFile = enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration);
48735
48735
  printer.writeNode(
48736
48736
  4 /* Unspecified */,
@@ -48747,8 +48747,7 @@ ${lanes.join("\n")}
48747
48747
  const typeNode = nodeBuilder.typeToTypeNode(type, enclosingDeclaration, toNodeBuilderFlags(flags) | 70221824 /* IgnoreErrors */ | (noTruncation ? 1 /* NoTruncation */ : 0));
48748
48748
  if (typeNode === void 0)
48749
48749
  return Debug.fail("should always get typenode");
48750
- const options = { removeComments: type !== unresolvedType };
48751
- const printer = createPrinter(options);
48750
+ const printer = type !== unresolvedType ? createPrinterWithRemoveComments() : createPrinterWithDefaults();
48752
48751
  const sourceFile = enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration);
48753
48752
  printer.writeNode(
48754
48753
  4 /* Unspecified */,
@@ -52099,7 +52098,7 @@ ${lanes.join("\n")}
52099
52098
  typePredicate.type && nodeBuilder.typeToTypeNode(typePredicate.type, enclosingDeclaration, toNodeBuilderFlags(flags) | 70221824 /* IgnoreErrors */ | 512 /* WriteTypeParametersInQualifiedName */)
52100
52099
  // TODO: GH#18217
52101
52100
  );
52102
- const printer = createPrinter({ removeComments: true });
52101
+ const printer = createPrinterWithRemoveComments();
52103
52102
  const sourceFile = enclosingDeclaration && getSourceFileOfNode(enclosingDeclaration);
52104
52103
  printer.writeNode(
52105
52104
  4 /* Unspecified */,
@@ -113784,7 +113783,7 @@ ${lanes.join("\n")}
113784
113783
  function getEmitListItem(emit, parenthesizerRule) {
113785
113784
  return emit.length === 1 ? emitListItemNoParenthesizer : typeof parenthesizerRule === "object" ? emitListItemWithParenthesizerRuleSelector : emitListItemWithParenthesizerRule;
113786
113785
  }
113787
- var brackets, notImplementedResolver, TempFlags;
113786
+ var brackets, notImplementedResolver, createPrinterWithDefaults, createPrinterWithRemoveComments, createPrinterWithRemoveCommentsNeverAsciiEscape, createPrinterWithRemoveCommentsOmitTrailingSemicolon, TempFlags;
113788
113787
  var init_emitter = __esm({
113789
113788
  "src/compiler/emitter.ts"() {
113790
113789
  "use strict";
@@ -113835,6 +113834,10 @@ ${lanes.join("\n")}
113835
113834
  getDeclarationStatementsForSourceFile: notImplemented,
113836
113835
  isImportRequiredByAugmentation: notImplemented
113837
113836
  };
113837
+ createPrinterWithDefaults = memoize(() => createPrinter({}));
113838
+ createPrinterWithRemoveComments = memoize(() => createPrinter({ removeComments: true }));
113839
+ createPrinterWithRemoveCommentsNeverAsciiEscape = memoize(() => createPrinter({ removeComments: true, neverAsciiEscape: true }));
113840
+ createPrinterWithRemoveCommentsOmitTrailingSemicolon = memoize(() => createPrinter({ removeComments: true, omitTrailingSemicolon: true }));
113838
113841
  TempFlags = /* @__PURE__ */ ((TempFlags2) => {
113839
113842
  TempFlags2[TempFlags2["Auto"] = 0] = "Auto";
113840
113843
  TempFlags2[TempFlags2["CountMask"] = 268435455] = "CountMask";
@@ -126889,7 +126892,7 @@ ${lanes.join("\n")}
126889
126892
  function nodeToDisplayParts(node, enclosingDeclaration) {
126890
126893
  const file = enclosingDeclaration.getSourceFile();
126891
126894
  return mapToDisplayParts((writer) => {
126892
- const printer = createPrinter({ removeComments: true, omitTrailingSemicolon: true });
126895
+ const printer = createPrinterWithRemoveCommentsOmitTrailingSemicolon();
126893
126896
  printer.writeNode(4 /* Unspecified */, node, file, writer);
126894
126897
  });
126895
126898
  }
@@ -132743,12 +132746,9 @@ ${lanes.join("\n")}
132743
132746
  Debug.assertEqual(action.type, "install package");
132744
132747
  return host.installPackage ? host.installPackage({ fileName: getPath(action.file), packageName: action.packageName }) : Promise.reject("Host does not implement `installPackage`");
132745
132748
  }
132746
- function getDocCommentTemplateAtPosition2(fileName, position, options) {
132747
- return ts_JsDoc_exports.getDocCommentTemplateAtPosition(getNewLineOrDefaultFromHost(
132748
- host,
132749
- /*formatSettings*/
132750
- void 0
132751
- ), syntaxTreeCache.getCurrentSourceFile(fileName), position, options);
132749
+ function getDocCommentTemplateAtPosition2(fileName, position, options, formatOptions) {
132750
+ const formatSettings = formatOptions ? ts_formatting_exports.getFormatContext(formatOptions, host).options : void 0;
132751
+ return ts_JsDoc_exports.getDocCommentTemplateAtPosition(getNewLineOrDefaultFromHost(host, formatSettings), syntaxTreeCache.getCurrentSourceFile(fileName), position, options);
132752
132752
  }
132753
132753
  function isValidBraceCompletionAtPosition(fileName, position, openingBrace) {
132754
132754
  if (openingBrace === 60 /* lessThan */) {
@@ -134620,10 +134620,10 @@ ${lanes.join("\n")}
134620
134620
  }
134621
134621
  );
134622
134622
  }
134623
- getDocCommentTemplateAtPosition(fileName, position, options) {
134623
+ getDocCommentTemplateAtPosition(fileName, position, options, formatOptions) {
134624
134624
  return this.forwardJSONCall(
134625
134625
  `getDocCommentTemplateAtPosition('${fileName}', ${position})`,
134626
- () => this.languageService.getDocCommentTemplateAtPosition(fileName, position, options)
134626
+ () => this.languageService.getDocCommentTemplateAtPosition(fileName, position, options, formatOptions)
134627
134627
  );
134628
134628
  }
134629
134629
  /// NAVIGATE TO
@@ -135517,7 +135517,7 @@ ${lanes.join("\n")}
135517
135517
  }
135518
135518
  }
135519
135519
  if (text === void 0) {
135520
- const printer = createPrinter({ removeComments: true, omitTrailingSemicolon: true });
135520
+ const printer = createPrinterWithRemoveCommentsOmitTrailingSemicolon();
135521
135521
  text = usingSingleLineStringWriter((writer) => printer.writeNode(4 /* Unspecified */, node, node.getSourceFile(), writer));
135522
135522
  }
135523
135523
  return { text, pos: declName.getStart(), end: declName.getEnd() };
@@ -153998,8 +153998,7 @@ ${lanes.join("\n")}
153998
153998
  }
153999
153999
  function printTypeInSingleLine(type) {
154000
154000
  const flags = 70221824 /* IgnoreErrors */ | 1048576 /* AllowUniqueESSymbolType */ | 16384 /* UseAliasDefinedOutsideCurrentScope */;
154001
- const options = { removeComments: true };
154002
- const printer = createPrinter(options);
154001
+ const printer = createPrinterWithRemoveComments();
154003
154002
  return usingSingleLineStringWriter((writer) => {
154004
154003
  const typeNode = checker.typeToTypeNode(
154005
154004
  type,
@@ -154415,6 +154414,8 @@ ${lanes.join("\n")}
154415
154414
  "lends",
154416
154415
  "license",
154417
154416
  "link",
154417
+ "linkcode",
154418
+ "linkplain",
154418
154419
  "listens",
154419
154420
  "member",
154420
154421
  "memberof",
@@ -154427,6 +154428,7 @@ ${lanes.join("\n")}
154427
154428
  "package",
154428
154429
  "param",
154429
154430
  "private",
154431
+ "prop",
154430
154432
  "property",
154431
154433
  "protected",
154432
154434
  "public",
@@ -161171,7 +161173,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
161171
161173
  }
161172
161174
  function getTypeHelpItem(symbol, typeParameters, checker, enclosingDeclaration, sourceFile) {
161173
161175
  const typeSymbolDisplay = symbolToDisplayParts(checker, symbol);
161174
- const printer = createPrinter({ removeComments: true });
161176
+ const printer = createPrinterWithRemoveComments();
161175
161177
  const parameters = typeParameters.map((t) => createSignatureHelpParameterForTypeParameter(t, checker, enclosingDeclaration, sourceFile, printer));
161176
161178
  const documentation = symbol.getDocumentationComment(checker);
161177
161179
  const tags = symbol.getJsDocTags(checker);
@@ -161214,7 +161216,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
161214
161216
  }
161215
161217
  function itemInfoForTypeParameters(candidateSignature, checker, enclosingDeclaration, sourceFile) {
161216
161218
  const typeParameters = (candidateSignature.target || candidateSignature).typeParameters;
161217
- const printer = createPrinter({ removeComments: true });
161219
+ const printer = createPrinterWithRemoveComments();
161218
161220
  const parameters = (typeParameters || emptyArray).map((t) => createSignatureHelpParameterForTypeParameter(t, checker, enclosingDeclaration, sourceFile, printer));
161219
161221
  const thisParameter = candidateSignature.thisParameter ? [checker.symbolToParameterDeclaration(candidateSignature.thisParameter, enclosingDeclaration, signatureHelpNodeBuilderFlags)] : [];
161220
161222
  return checker.getExpandedParameters(candidateSignature).map((paramList) => {
@@ -161226,7 +161228,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
161226
161228
  });
161227
161229
  }
161228
161230
  function itemInfoForParameters(candidateSignature, checker, enclosingDeclaration, sourceFile) {
161229
- const printer = createPrinter({ removeComments: true });
161231
+ const printer = createPrinterWithRemoveComments();
161230
161232
  const typeParameterParts = mapToDisplayParts((writer) => {
161231
161233
  if (candidateSignature.typeParameters && candidateSignature.typeParameters.length) {
161232
161234
  const args = factory.createNodeArray(candidateSignature.typeParameters.map((p) => checker.typeParameterToDeclaration(p, enclosingDeclaration, signatureHelpNodeBuilderFlags)));
@@ -161632,7 +161634,6 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
161632
161634
  let hasAddedSymbolInfo = false;
161633
161635
  const isThisExpression = location.kind === 108 /* ThisKeyword */ && isInExpressionContext(location) || isThisInTypeQuery(location);
161634
161636
  let type;
161635
- let printer;
161636
161637
  let documentationFromAlias;
161637
161638
  let tagsFromAlias;
161638
161639
  let hasMultipleSignatures = false;
@@ -161784,16 +161785,15 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
161784
161785
  writeTypeParametersOfSymbol(symbol, sourceFile);
161785
161786
  }
161786
161787
  if (symbolFlags & 524288 /* TypeAlias */ && semanticMeaning & 2 /* Type */) {
161787
- const exportSymbol = typeChecker.getExportSymbolOfSymbol(symbol);
161788
161788
  prefixNextMeaning();
161789
161789
  displayParts.push(keywordPart(154 /* TypeKeyword */));
161790
161790
  displayParts.push(spacePart());
161791
161791
  addFullSymbolName(symbol);
161792
- writeTypeParametersOfSymbol(exportSymbol, sourceFile);
161792
+ writeTypeParametersOfSymbol(symbol, sourceFile);
161793
161793
  displayParts.push(spacePart());
161794
161794
  displayParts.push(operatorPart(63 /* EqualsToken */));
161795
161795
  displayParts.push(spacePart());
161796
- addRange(displayParts, typeToDisplayParts(typeChecker, isConstTypeReference(location.parent) ? typeChecker.getTypeAtLocation(location.parent) : typeChecker.getDeclaredTypeOfSymbol(exportSymbol), enclosingDeclaration, 8388608 /* InTypeAlias */));
161796
+ addRange(displayParts, typeToDisplayParts(typeChecker, isConstTypeReference(location.parent) ? typeChecker.getTypeAtLocation(location.parent) : typeChecker.getDeclaredTypeOfSymbol(symbol), enclosingDeclaration, 8388608 /* InTypeAlias */));
161797
161797
  }
161798
161798
  if (symbolFlags & 384 /* Enum */) {
161799
161799
  prefixNextMeaning();
@@ -162026,10 +162026,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
162026
162026
  }
162027
162027
  return { displayParts, documentation, symbolKind, tags: tags.length === 0 ? void 0 : tags };
162028
162028
  function getPrinter() {
162029
- if (!printer) {
162030
- printer = createPrinter({ removeComments: true });
162031
- }
162032
- return printer;
162029
+ return createPrinterWithRemoveComments();
162033
162030
  }
162034
162031
  function prefixNextMeaning() {
162035
162032
  if (displayParts.length) {
@@ -175500,7 +175497,7 @@ Project '${project.projectName}' (${ProjectKind[project.projectKind]}) ${counter
175500
175497
  getDocCommentTemplate(args) {
175501
175498
  const { file, languageService } = this.getFileAndLanguageServiceForSyntacticOperation(args);
175502
175499
  const position = this.getPositionInFile(args, file);
175503
- return languageService.getDocCommentTemplateAtPosition(file, position, this.getPreferences(file));
175500
+ return languageService.getDocCommentTemplateAtPosition(file, position, this.getPreferences(file), this.getFormatOptions(file));
175504
175501
  }
175505
175502
  getSpanOfEnclosingComment(args) {
175506
175503
  const { file, languageService } = this.getFileAndLanguageServiceForSyntacticOperation(args);
@@ -177736,6 +177733,10 @@ ${e.message}`;
177736
177733
  createPatternMatcher: () => createPatternMatcher,
177737
177734
  createPrependNodes: () => createPrependNodes,
177738
177735
  createPrinter: () => createPrinter,
177736
+ createPrinterWithDefaults: () => createPrinterWithDefaults,
177737
+ createPrinterWithRemoveComments: () => createPrinterWithRemoveComments,
177738
+ createPrinterWithRemoveCommentsNeverAsciiEscape: () => createPrinterWithRemoveCommentsNeverAsciiEscape,
177739
+ createPrinterWithRemoveCommentsOmitTrailingSemicolon: () => createPrinterWithRemoveCommentsOmitTrailingSemicolon,
177739
177740
  createProgram: () => createProgram,
177740
177741
  createProgramHost: () => createProgramHost,
177741
177742
  createPropertyNameNodeForIdentifierOrLiteral: () => createPropertyNameNodeForIdentifierOrLiteral,
@@ -180088,6 +180089,10 @@ ${e.message}`;
180088
180089
  createPatternMatcher: () => createPatternMatcher,
180089
180090
  createPrependNodes: () => createPrependNodes,
180090
180091
  createPrinter: () => createPrinter,
180092
+ createPrinterWithDefaults: () => createPrinterWithDefaults,
180093
+ createPrinterWithRemoveComments: () => createPrinterWithRemoveComments,
180094
+ createPrinterWithRemoveCommentsNeverAsciiEscape: () => createPrinterWithRemoveCommentsNeverAsciiEscape,
180095
+ createPrinterWithRemoveCommentsOmitTrailingSemicolon: () => createPrinterWithRemoveCommentsOmitTrailingSemicolon,
180091
180096
  createProgram: () => createProgram,
180092
180097
  createProgramHost: () => createProgramHost,
180093
180098
  createPropertyNameNodeForIdentifierOrLiteral: () => createPropertyNameNodeForIdentifierOrLiteral,
@@ -6088,7 +6088,7 @@ declare namespace ts {
6088
6088
  getFormattingEditsForRange(fileName: string, start: number, end: number, options: FormatCodeOptions | FormatCodeSettings): TextChange[];
6089
6089
  getFormattingEditsForDocument(fileName: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[];
6090
6090
  getFormattingEditsAfterKeystroke(fileName: string, position: number, key: string, options: FormatCodeOptions | FormatCodeSettings): TextChange[];
6091
- getDocCommentTemplateAtPosition(fileName: string, position: number, options?: DocCommentTemplateOptions): TextInsertion | undefined;
6091
+ getDocCommentTemplateAtPosition(fileName: string, position: number, options?: DocCommentTemplateOptions, formatOptions?: FormatCodeSettings): TextInsertion | undefined;
6092
6092
  isValidBraceCompletionAtPosition(fileName: string, position: number, openingBrace: number): boolean;
6093
6093
  /**
6094
6094
  * This will return a defined result if the position is after the `>` of the opening tag, or somewhere in the text, of a JSXElement with no closing tag.