@schematics/angular 12.1.0-next.4 → 12.1.1

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.
@@ -14,7 +14,7 @@ and limitations under the License.
14
14
  ***************************************************************************** */
15
15
 
16
16
  declare namespace ts {
17
- const versionMajorMinor = "4.2";
17
+ const versionMajorMinor = "4.3";
18
18
  /** The version of the TypeScript compiler release */
19
19
  const version: string;
20
20
  /**
@@ -260,192 +260,196 @@ declare namespace ts {
260
260
  FromKeyword = 153,
261
261
  GlobalKeyword = 154,
262
262
  BigIntKeyword = 155,
263
- OfKeyword = 156,
264
- QualifiedName = 157,
265
- ComputedPropertyName = 158,
266
- TypeParameter = 159,
267
- Parameter = 160,
268
- Decorator = 161,
269
- PropertySignature = 162,
270
- PropertyDeclaration = 163,
271
- MethodSignature = 164,
272
- MethodDeclaration = 165,
273
- Constructor = 166,
274
- GetAccessor = 167,
275
- SetAccessor = 168,
276
- CallSignature = 169,
277
- ConstructSignature = 170,
278
- IndexSignature = 171,
279
- TypePredicate = 172,
280
- TypeReference = 173,
281
- FunctionType = 174,
282
- ConstructorType = 175,
283
- TypeQuery = 176,
284
- TypeLiteral = 177,
285
- ArrayType = 178,
286
- TupleType = 179,
287
- OptionalType = 180,
288
- RestType = 181,
289
- UnionType = 182,
290
- IntersectionType = 183,
291
- ConditionalType = 184,
292
- InferType = 185,
293
- ParenthesizedType = 186,
294
- ThisType = 187,
295
- TypeOperator = 188,
296
- IndexedAccessType = 189,
297
- MappedType = 190,
298
- LiteralType = 191,
299
- NamedTupleMember = 192,
300
- TemplateLiteralType = 193,
301
- TemplateLiteralTypeSpan = 194,
302
- ImportType = 195,
303
- ObjectBindingPattern = 196,
304
- ArrayBindingPattern = 197,
305
- BindingElement = 198,
306
- ArrayLiteralExpression = 199,
307
- ObjectLiteralExpression = 200,
308
- PropertyAccessExpression = 201,
309
- ElementAccessExpression = 202,
310
- CallExpression = 203,
311
- NewExpression = 204,
312
- TaggedTemplateExpression = 205,
313
- TypeAssertionExpression = 206,
314
- ParenthesizedExpression = 207,
315
- FunctionExpression = 208,
316
- ArrowFunction = 209,
317
- DeleteExpression = 210,
318
- TypeOfExpression = 211,
319
- VoidExpression = 212,
320
- AwaitExpression = 213,
321
- PrefixUnaryExpression = 214,
322
- PostfixUnaryExpression = 215,
323
- BinaryExpression = 216,
324
- ConditionalExpression = 217,
325
- TemplateExpression = 218,
326
- YieldExpression = 219,
327
- SpreadElement = 220,
328
- ClassExpression = 221,
329
- OmittedExpression = 222,
330
- ExpressionWithTypeArguments = 223,
331
- AsExpression = 224,
332
- NonNullExpression = 225,
333
- MetaProperty = 226,
334
- SyntheticExpression = 227,
335
- TemplateSpan = 228,
336
- SemicolonClassElement = 229,
337
- Block = 230,
338
- EmptyStatement = 231,
339
- VariableStatement = 232,
340
- ExpressionStatement = 233,
341
- IfStatement = 234,
342
- DoStatement = 235,
343
- WhileStatement = 236,
344
- ForStatement = 237,
345
- ForInStatement = 238,
346
- ForOfStatement = 239,
347
- ContinueStatement = 240,
348
- BreakStatement = 241,
349
- ReturnStatement = 242,
350
- WithStatement = 243,
351
- SwitchStatement = 244,
352
- LabeledStatement = 245,
353
- ThrowStatement = 246,
354
- TryStatement = 247,
355
- DebuggerStatement = 248,
356
- VariableDeclaration = 249,
357
- VariableDeclarationList = 250,
358
- FunctionDeclaration = 251,
359
- ClassDeclaration = 252,
360
- InterfaceDeclaration = 253,
361
- TypeAliasDeclaration = 254,
362
- EnumDeclaration = 255,
363
- ModuleDeclaration = 256,
364
- ModuleBlock = 257,
365
- CaseBlock = 258,
366
- NamespaceExportDeclaration = 259,
367
- ImportEqualsDeclaration = 260,
368
- ImportDeclaration = 261,
369
- ImportClause = 262,
370
- NamespaceImport = 263,
371
- NamedImports = 264,
372
- ImportSpecifier = 265,
373
- ExportAssignment = 266,
374
- ExportDeclaration = 267,
375
- NamedExports = 268,
376
- NamespaceExport = 269,
377
- ExportSpecifier = 270,
378
- MissingDeclaration = 271,
379
- ExternalModuleReference = 272,
380
- JsxElement = 273,
381
- JsxSelfClosingElement = 274,
382
- JsxOpeningElement = 275,
383
- JsxClosingElement = 276,
384
- JsxFragment = 277,
385
- JsxOpeningFragment = 278,
386
- JsxClosingFragment = 279,
387
- JsxAttribute = 280,
388
- JsxAttributes = 281,
389
- JsxSpreadAttribute = 282,
390
- JsxExpression = 283,
391
- CaseClause = 284,
392
- DefaultClause = 285,
393
- HeritageClause = 286,
394
- CatchClause = 287,
395
- PropertyAssignment = 288,
396
- ShorthandPropertyAssignment = 289,
397
- SpreadAssignment = 290,
398
- EnumMember = 291,
399
- UnparsedPrologue = 292,
400
- UnparsedPrepend = 293,
401
- UnparsedText = 294,
402
- UnparsedInternalText = 295,
403
- UnparsedSyntheticReference = 296,
404
- SourceFile = 297,
405
- Bundle = 298,
406
- UnparsedSource = 299,
407
- InputFiles = 300,
408
- JSDocTypeExpression = 301,
409
- JSDocNameReference = 302,
410
- JSDocAllType = 303,
411
- JSDocUnknownType = 304,
412
- JSDocNullableType = 305,
413
- JSDocNonNullableType = 306,
414
- JSDocOptionalType = 307,
415
- JSDocFunctionType = 308,
416
- JSDocVariadicType = 309,
417
- JSDocNamepathType = 310,
418
- JSDocComment = 311,
419
- JSDocTypeLiteral = 312,
420
- JSDocSignature = 313,
421
- JSDocTag = 314,
422
- JSDocAugmentsTag = 315,
423
- JSDocImplementsTag = 316,
424
- JSDocAuthorTag = 317,
425
- JSDocDeprecatedTag = 318,
426
- JSDocClassTag = 319,
427
- JSDocPublicTag = 320,
428
- JSDocPrivateTag = 321,
429
- JSDocProtectedTag = 322,
430
- JSDocReadonlyTag = 323,
431
- JSDocCallbackTag = 324,
432
- JSDocEnumTag = 325,
433
- JSDocParameterTag = 326,
434
- JSDocReturnTag = 327,
435
- JSDocThisTag = 328,
436
- JSDocTypeTag = 329,
437
- JSDocTemplateTag = 330,
438
- JSDocTypedefTag = 331,
439
- JSDocSeeTag = 332,
440
- JSDocPropertyTag = 333,
441
- SyntaxList = 334,
442
- NotEmittedStatement = 335,
443
- PartiallyEmittedExpression = 336,
444
- CommaListExpression = 337,
445
- MergeDeclarationMarker = 338,
446
- EndOfDeclarationMarker = 339,
447
- SyntheticReferenceExpression = 340,
448
- Count = 341,
263
+ OverrideKeyword = 156,
264
+ OfKeyword = 157,
265
+ QualifiedName = 158,
266
+ ComputedPropertyName = 159,
267
+ TypeParameter = 160,
268
+ Parameter = 161,
269
+ Decorator = 162,
270
+ PropertySignature = 163,
271
+ PropertyDeclaration = 164,
272
+ MethodSignature = 165,
273
+ MethodDeclaration = 166,
274
+ Constructor = 167,
275
+ GetAccessor = 168,
276
+ SetAccessor = 169,
277
+ CallSignature = 170,
278
+ ConstructSignature = 171,
279
+ IndexSignature = 172,
280
+ TypePredicate = 173,
281
+ TypeReference = 174,
282
+ FunctionType = 175,
283
+ ConstructorType = 176,
284
+ TypeQuery = 177,
285
+ TypeLiteral = 178,
286
+ ArrayType = 179,
287
+ TupleType = 180,
288
+ OptionalType = 181,
289
+ RestType = 182,
290
+ UnionType = 183,
291
+ IntersectionType = 184,
292
+ ConditionalType = 185,
293
+ InferType = 186,
294
+ ParenthesizedType = 187,
295
+ ThisType = 188,
296
+ TypeOperator = 189,
297
+ IndexedAccessType = 190,
298
+ MappedType = 191,
299
+ LiteralType = 192,
300
+ NamedTupleMember = 193,
301
+ TemplateLiteralType = 194,
302
+ TemplateLiteralTypeSpan = 195,
303
+ ImportType = 196,
304
+ ObjectBindingPattern = 197,
305
+ ArrayBindingPattern = 198,
306
+ BindingElement = 199,
307
+ ArrayLiteralExpression = 200,
308
+ ObjectLiteralExpression = 201,
309
+ PropertyAccessExpression = 202,
310
+ ElementAccessExpression = 203,
311
+ CallExpression = 204,
312
+ NewExpression = 205,
313
+ TaggedTemplateExpression = 206,
314
+ TypeAssertionExpression = 207,
315
+ ParenthesizedExpression = 208,
316
+ FunctionExpression = 209,
317
+ ArrowFunction = 210,
318
+ DeleteExpression = 211,
319
+ TypeOfExpression = 212,
320
+ VoidExpression = 213,
321
+ AwaitExpression = 214,
322
+ PrefixUnaryExpression = 215,
323
+ PostfixUnaryExpression = 216,
324
+ BinaryExpression = 217,
325
+ ConditionalExpression = 218,
326
+ TemplateExpression = 219,
327
+ YieldExpression = 220,
328
+ SpreadElement = 221,
329
+ ClassExpression = 222,
330
+ OmittedExpression = 223,
331
+ ExpressionWithTypeArguments = 224,
332
+ AsExpression = 225,
333
+ NonNullExpression = 226,
334
+ MetaProperty = 227,
335
+ SyntheticExpression = 228,
336
+ TemplateSpan = 229,
337
+ SemicolonClassElement = 230,
338
+ Block = 231,
339
+ EmptyStatement = 232,
340
+ VariableStatement = 233,
341
+ ExpressionStatement = 234,
342
+ IfStatement = 235,
343
+ DoStatement = 236,
344
+ WhileStatement = 237,
345
+ ForStatement = 238,
346
+ ForInStatement = 239,
347
+ ForOfStatement = 240,
348
+ ContinueStatement = 241,
349
+ BreakStatement = 242,
350
+ ReturnStatement = 243,
351
+ WithStatement = 244,
352
+ SwitchStatement = 245,
353
+ LabeledStatement = 246,
354
+ ThrowStatement = 247,
355
+ TryStatement = 248,
356
+ DebuggerStatement = 249,
357
+ VariableDeclaration = 250,
358
+ VariableDeclarationList = 251,
359
+ FunctionDeclaration = 252,
360
+ ClassDeclaration = 253,
361
+ InterfaceDeclaration = 254,
362
+ TypeAliasDeclaration = 255,
363
+ EnumDeclaration = 256,
364
+ ModuleDeclaration = 257,
365
+ ModuleBlock = 258,
366
+ CaseBlock = 259,
367
+ NamespaceExportDeclaration = 260,
368
+ ImportEqualsDeclaration = 261,
369
+ ImportDeclaration = 262,
370
+ ImportClause = 263,
371
+ NamespaceImport = 264,
372
+ NamedImports = 265,
373
+ ImportSpecifier = 266,
374
+ ExportAssignment = 267,
375
+ ExportDeclaration = 268,
376
+ NamedExports = 269,
377
+ NamespaceExport = 270,
378
+ ExportSpecifier = 271,
379
+ MissingDeclaration = 272,
380
+ ExternalModuleReference = 273,
381
+ JsxElement = 274,
382
+ JsxSelfClosingElement = 275,
383
+ JsxOpeningElement = 276,
384
+ JsxClosingElement = 277,
385
+ JsxFragment = 278,
386
+ JsxOpeningFragment = 279,
387
+ JsxClosingFragment = 280,
388
+ JsxAttribute = 281,
389
+ JsxAttributes = 282,
390
+ JsxSpreadAttribute = 283,
391
+ JsxExpression = 284,
392
+ CaseClause = 285,
393
+ DefaultClause = 286,
394
+ HeritageClause = 287,
395
+ CatchClause = 288,
396
+ PropertyAssignment = 289,
397
+ ShorthandPropertyAssignment = 290,
398
+ SpreadAssignment = 291,
399
+ EnumMember = 292,
400
+ UnparsedPrologue = 293,
401
+ UnparsedPrepend = 294,
402
+ UnparsedText = 295,
403
+ UnparsedInternalText = 296,
404
+ UnparsedSyntheticReference = 297,
405
+ SourceFile = 298,
406
+ Bundle = 299,
407
+ UnparsedSource = 300,
408
+ InputFiles = 301,
409
+ JSDocTypeExpression = 302,
410
+ JSDocNameReference = 303,
411
+ JSDocAllType = 304,
412
+ JSDocUnknownType = 305,
413
+ JSDocNullableType = 306,
414
+ JSDocNonNullableType = 307,
415
+ JSDocOptionalType = 308,
416
+ JSDocFunctionType = 309,
417
+ JSDocVariadicType = 310,
418
+ JSDocNamepathType = 311,
419
+ JSDocComment = 312,
420
+ JSDocText = 313,
421
+ JSDocTypeLiteral = 314,
422
+ JSDocSignature = 315,
423
+ JSDocLink = 316,
424
+ JSDocTag = 317,
425
+ JSDocAugmentsTag = 318,
426
+ JSDocImplementsTag = 319,
427
+ JSDocAuthorTag = 320,
428
+ JSDocDeprecatedTag = 321,
429
+ JSDocClassTag = 322,
430
+ JSDocPublicTag = 323,
431
+ JSDocPrivateTag = 324,
432
+ JSDocProtectedTag = 325,
433
+ JSDocReadonlyTag = 326,
434
+ JSDocOverrideTag = 327,
435
+ JSDocCallbackTag = 328,
436
+ JSDocEnumTag = 329,
437
+ JSDocParameterTag = 330,
438
+ JSDocReturnTag = 331,
439
+ JSDocThisTag = 332,
440
+ JSDocTypeTag = 333,
441
+ JSDocTemplateTag = 334,
442
+ JSDocTypedefTag = 335,
443
+ JSDocSeeTag = 336,
444
+ JSDocPropertyTag = 337,
445
+ SyntaxList = 338,
446
+ NotEmittedStatement = 339,
447
+ PartiallyEmittedExpression = 340,
448
+ CommaListExpression = 341,
449
+ MergeDeclarationMarker = 342,
450
+ EndOfDeclarationMarker = 343,
451
+ SyntheticReferenceExpression = 344,
452
+ Count = 345,
449
453
  FirstAssignment = 62,
450
454
  LastAssignment = 77,
451
455
  FirstCompoundAssignment = 63,
@@ -453,15 +457,15 @@ declare namespace ts {
453
457
  FirstReservedWord = 80,
454
458
  LastReservedWord = 115,
455
459
  FirstKeyword = 80,
456
- LastKeyword = 156,
460
+ LastKeyword = 157,
457
461
  FirstFutureReservedWord = 116,
458
462
  LastFutureReservedWord = 124,
459
- FirstTypeNode = 172,
460
- LastTypeNode = 195,
463
+ FirstTypeNode = 173,
464
+ LastTypeNode = 196,
461
465
  FirstPunctuation = 18,
462
466
  LastPunctuation = 77,
463
467
  FirstToken = 0,
464
- LastToken = 156,
468
+ LastToken = 157,
465
469
  FirstTriviaToken = 2,
466
470
  LastTriviaToken = 7,
467
471
  FirstLiteralToken = 8,
@@ -470,20 +474,20 @@ declare namespace ts {
470
474
  LastTemplateToken = 17,
471
475
  FirstBinaryOperator = 29,
472
476
  LastBinaryOperator = 77,
473
- FirstStatement = 232,
474
- LastStatement = 248,
475
- FirstNode = 157,
476
- FirstJSDocNode = 301,
477
- LastJSDocNode = 333,
478
- FirstJSDocTagNode = 314,
479
- LastJSDocTagNode = 333,
477
+ FirstStatement = 233,
478
+ LastStatement = 249,
479
+ FirstNode = 158,
480
+ FirstJSDocNode = 302,
481
+ LastJSDocNode = 337,
482
+ FirstJSDocTagNode = 317,
483
+ LastJSDocTagNode = 337,
480
484
  }
481
485
  export type TriviaSyntaxKind = SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia | SyntaxKind.NewLineTrivia | SyntaxKind.WhitespaceTrivia | SyntaxKind.ShebangTrivia | SyntaxKind.ConflictMarkerTrivia;
482
486
  export type LiteralSyntaxKind = SyntaxKind.NumericLiteral | SyntaxKind.BigIntLiteral | SyntaxKind.StringLiteral | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.RegularExpressionLiteral | SyntaxKind.NoSubstitutionTemplateLiteral;
483
487
  export type PseudoLiteralSyntaxKind = SyntaxKind.TemplateHead | SyntaxKind.TemplateMiddle | SyntaxKind.TemplateTail;
484
488
  export type PunctuationSyntaxKind = SyntaxKind.OpenBraceToken | SyntaxKind.CloseBraceToken | SyntaxKind.OpenParenToken | SyntaxKind.CloseParenToken | SyntaxKind.OpenBracketToken | SyntaxKind.CloseBracketToken | SyntaxKind.DotToken | SyntaxKind.DotDotDotToken | SyntaxKind.SemicolonToken | SyntaxKind.CommaToken | SyntaxKind.QuestionDotToken | SyntaxKind.LessThanToken | SyntaxKind.LessThanSlashToken | SyntaxKind.GreaterThanToken | SyntaxKind.LessThanEqualsToken | SyntaxKind.GreaterThanEqualsToken | SyntaxKind.EqualsEqualsToken | SyntaxKind.ExclamationEqualsToken | SyntaxKind.EqualsEqualsEqualsToken | SyntaxKind.ExclamationEqualsEqualsToken | SyntaxKind.EqualsGreaterThanToken | SyntaxKind.PlusToken | SyntaxKind.MinusToken | SyntaxKind.AsteriskToken | SyntaxKind.AsteriskAsteriskToken | SyntaxKind.SlashToken | SyntaxKind.PercentToken | SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken | SyntaxKind.LessThanLessThanToken | SyntaxKind.GreaterThanGreaterThanToken | SyntaxKind.GreaterThanGreaterThanGreaterThanToken | SyntaxKind.AmpersandToken | SyntaxKind.BarToken | SyntaxKind.CaretToken | SyntaxKind.ExclamationToken | SyntaxKind.TildeToken | SyntaxKind.AmpersandAmpersandToken | SyntaxKind.BarBarToken | SyntaxKind.QuestionQuestionToken | SyntaxKind.QuestionToken | SyntaxKind.ColonToken | SyntaxKind.AtToken | SyntaxKind.BacktickToken | SyntaxKind.EqualsToken | SyntaxKind.PlusEqualsToken | SyntaxKind.MinusEqualsToken | SyntaxKind.AsteriskEqualsToken | SyntaxKind.AsteriskAsteriskEqualsToken | SyntaxKind.SlashEqualsToken | SyntaxKind.PercentEqualsToken | SyntaxKind.LessThanLessThanEqualsToken | SyntaxKind.GreaterThanGreaterThanEqualsToken | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken | SyntaxKind.AmpersandEqualsToken | SyntaxKind.BarEqualsToken | SyntaxKind.CaretEqualsToken;
485
- export type KeywordSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AnyKeyword | SyntaxKind.AsKeyword | SyntaxKind.AssertsKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.AwaitKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.BreakKeyword | SyntaxKind.CaseKeyword | SyntaxKind.CatchKeyword | SyntaxKind.ClassKeyword | SyntaxKind.ConstKeyword | SyntaxKind.ConstructorKeyword | SyntaxKind.ContinueKeyword | SyntaxKind.DebuggerKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.DeleteKeyword | SyntaxKind.DoKeyword | SyntaxKind.ElseKeyword | SyntaxKind.EnumKeyword | SyntaxKind.ExportKeyword | SyntaxKind.ExtendsKeyword | SyntaxKind.FalseKeyword | SyntaxKind.FinallyKeyword | SyntaxKind.ForKeyword | SyntaxKind.FromKeyword | SyntaxKind.FunctionKeyword | SyntaxKind.GetKeyword | SyntaxKind.GlobalKeyword | SyntaxKind.IfKeyword | SyntaxKind.ImplementsKeyword | SyntaxKind.ImportKeyword | SyntaxKind.InferKeyword | SyntaxKind.InKeyword | SyntaxKind.InstanceOfKeyword | SyntaxKind.InterfaceKeyword | SyntaxKind.IntrinsicKeyword | SyntaxKind.IsKeyword | SyntaxKind.KeyOfKeyword | SyntaxKind.LetKeyword | SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword | SyntaxKind.NeverKeyword | SyntaxKind.NewKeyword | SyntaxKind.NullKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.OfKeyword | SyntaxKind.PackageKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.RequireKeyword | SyntaxKind.ReturnKeyword | SyntaxKind.SetKeyword | SyntaxKind.StaticKeyword | SyntaxKind.StringKeyword | SyntaxKind.SuperKeyword | SyntaxKind.SwitchKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.ThrowKeyword | SyntaxKind.TrueKeyword | SyntaxKind.TryKeyword | SyntaxKind.TypeKeyword | SyntaxKind.TypeOfKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.VarKeyword | SyntaxKind.VoidKeyword | SyntaxKind.WhileKeyword | SyntaxKind.WithKeyword | SyntaxKind.YieldKeyword;
486
- export type ModifierSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.ConstKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.ExportKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.StaticKeyword;
489
+ export type KeywordSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AnyKeyword | SyntaxKind.AsKeyword | SyntaxKind.AssertsKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.AwaitKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.BreakKeyword | SyntaxKind.CaseKeyword | SyntaxKind.CatchKeyword | SyntaxKind.ClassKeyword | SyntaxKind.ConstKeyword | SyntaxKind.ConstructorKeyword | SyntaxKind.ContinueKeyword | SyntaxKind.DebuggerKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.DeleteKeyword | SyntaxKind.DoKeyword | SyntaxKind.ElseKeyword | SyntaxKind.EnumKeyword | SyntaxKind.ExportKeyword | SyntaxKind.ExtendsKeyword | SyntaxKind.FalseKeyword | SyntaxKind.FinallyKeyword | SyntaxKind.ForKeyword | SyntaxKind.FromKeyword | SyntaxKind.FunctionKeyword | SyntaxKind.GetKeyword | SyntaxKind.GlobalKeyword | SyntaxKind.IfKeyword | SyntaxKind.ImplementsKeyword | SyntaxKind.ImportKeyword | SyntaxKind.InferKeyword | SyntaxKind.InKeyword | SyntaxKind.InstanceOfKeyword | SyntaxKind.InterfaceKeyword | SyntaxKind.IntrinsicKeyword | SyntaxKind.IsKeyword | SyntaxKind.KeyOfKeyword | SyntaxKind.LetKeyword | SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword | SyntaxKind.NeverKeyword | SyntaxKind.NewKeyword | SyntaxKind.NullKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.OfKeyword | SyntaxKind.PackageKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.OverrideKeyword | SyntaxKind.RequireKeyword | SyntaxKind.ReturnKeyword | SyntaxKind.SetKeyword | SyntaxKind.StaticKeyword | SyntaxKind.StringKeyword | SyntaxKind.SuperKeyword | SyntaxKind.SwitchKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.ThisKeyword | SyntaxKind.ThrowKeyword | SyntaxKind.TrueKeyword | SyntaxKind.TryKeyword | SyntaxKind.TypeKeyword | SyntaxKind.TypeOfKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.VarKeyword | SyntaxKind.VoidKeyword | SyntaxKind.WhileKeyword | SyntaxKind.WithKeyword | SyntaxKind.YieldKeyword;
490
+ export type ModifierSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.ConstKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.ExportKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.OverrideKeyword | SyntaxKind.StaticKeyword;
487
491
  export type KeywordTypeSyntaxKind = SyntaxKind.AnyKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.IntrinsicKeyword | SyntaxKind.NeverKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.StringKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.VoidKeyword;
488
492
  export type TokenSyntaxKind = SyntaxKind.Unknown | SyntaxKind.EndOfFileToken | TriviaSyntaxKind | LiteralSyntaxKind | PseudoLiteralSyntaxKind | PunctuationSyntaxKind | SyntaxKind.Identifier | KeywordSyntaxKind;
489
493
  export type JsxTokenSyntaxKind = SyntaxKind.LessThanSlashToken | SyntaxKind.EndOfFileToken | SyntaxKind.ConflictMarkerTrivia | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.OpenBraceToken | SyntaxKind.LessThanToken;
@@ -533,13 +537,14 @@ declare namespace ts {
533
537
  Const = 2048,
534
538
  HasComputedJSDocModifiers = 4096,
535
539
  Deprecated = 8192,
540
+ Override = 16384,
536
541
  HasComputedFlags = 536870912,
537
542
  AccessibilityModifier = 28,
538
- ParameterPropertyModifier = 92,
543
+ ParameterPropertyModifier = 16476,
539
544
  NonPublicAccessibilityModifier = 24,
540
- TypeScriptModifier = 2270,
545
+ TypeScriptModifier = 18654,
541
546
  ExportDefault = 513,
542
- All = 11263
547
+ All = 27647
543
548
  }
544
549
  export enum JsxFlags {
545
550
  None = 0,
@@ -558,7 +563,7 @@ declare namespace ts {
558
563
  }
559
564
  export interface JSDocContainer {
560
565
  }
561
- export type HasJSDoc = ParameterDeclaration | CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | PropertySignature | ArrowFunction | ParenthesizedExpression | SpreadAssignment | ShorthandPropertyAssignment | PropertyAssignment | FunctionExpression | LabeledStatement | ExpressionStatement | VariableStatement | FunctionDeclaration | ConstructorDeclaration | MethodDeclaration | PropertyDeclaration | AccessorDeclaration | ClassLikeDeclaration | InterfaceDeclaration | TypeAliasDeclaration | EnumMember | EnumDeclaration | ModuleDeclaration | ImportEqualsDeclaration | ImportDeclaration | NamespaceExportDeclaration | ExportAssignment | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | ExportDeclaration | NamedTupleMember | EndOfFileToken;
566
+ export type HasJSDoc = ParameterDeclaration | CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignature | PropertySignature | ArrowFunction | ParenthesizedExpression | SpreadAssignment | ShorthandPropertyAssignment | PropertyAssignment | FunctionExpression | EmptyStatement | DebuggerStatement | Block | VariableStatement | ExpressionStatement | IfStatement | DoStatement | WhileStatement | ForStatement | ForInStatement | ForOfStatement | BreakStatement | ContinueStatement | ReturnStatement | WithStatement | SwitchStatement | LabeledStatement | ThrowStatement | TryStatement | FunctionDeclaration | ConstructorDeclaration | MethodDeclaration | VariableDeclaration | PropertyDeclaration | AccessorDeclaration | ClassLikeDeclaration | InterfaceDeclaration | TypeAliasDeclaration | EnumMember | EnumDeclaration | ModuleDeclaration | ImportEqualsDeclaration | ImportDeclaration | NamespaceExportDeclaration | ExportAssignment | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | JSDocFunctionType | ExportDeclaration | NamedTupleMember | EndOfFileToken;
562
567
  export type HasType = SignatureDeclaration | VariableDeclaration | ParameterDeclaration | PropertySignature | PropertyDeclaration | TypePredicateNode | ParenthesizedTypeNode | TypeOperatorNode | MappedTypeNode | AssertionExpression | TypeAliasDeclaration | JSDocTypeExpression | JSDocNonNullableType | JSDocNullableType | JSDocOptionalType | JSDocVariadicType;
563
568
  export type HasTypeArguments = CallExpression | NewExpression | TaggedTemplateExpression | JsxOpeningElement | JsxSelfClosingElement;
564
569
  export type HasInitializer = HasExpressionInitializer | ForStatement | ForInStatement | ForOfStatement | JsxAttribute;
@@ -603,10 +608,11 @@ declare namespace ts {
603
608
  export type ProtectedKeyword = ModifierToken<SyntaxKind.ProtectedKeyword>;
604
609
  export type PublicKeyword = ModifierToken<SyntaxKind.PublicKeyword>;
605
610
  export type ReadonlyKeyword = ModifierToken<SyntaxKind.ReadonlyKeyword>;
611
+ export type OverrideKeyword = ModifierToken<SyntaxKind.OverrideKeyword>;
606
612
  export type StaticKeyword = ModifierToken<SyntaxKind.StaticKeyword>;
607
613
  /** @deprecated Use `ReadonlyKeyword` instead. */
608
614
  export type ReadonlyToken = ReadonlyKeyword;
609
- export type Modifier = AbstractKeyword | AsyncKeyword | ConstKeyword | DeclareKeyword | DefaultKeyword | ExportKeyword | PrivateKeyword | ProtectedKeyword | PublicKeyword | ReadonlyKeyword | StaticKeyword;
615
+ export type Modifier = AbstractKeyword | AsyncKeyword | ConstKeyword | DeclareKeyword | DefaultKeyword | ExportKeyword | PrivateKeyword | ProtectedKeyword | PublicKeyword | OverrideKeyword | ReadonlyKeyword | StaticKeyword;
610
616
  export type AccessibilityModifier = PublicKeyword | PrivateKeyword | ProtectedKeyword;
611
617
  export type ParameterPropertyModifier = AccessibilityModifier | ReadonlyKeyword;
612
618
  export type ClassMemberModifier = AccessibilityModifier | ReadonlyKeyword | StaticKeyword;
@@ -638,6 +644,7 @@ declare namespace ts {
638
644
  }
639
645
  export type EntityName = Identifier | QualifiedName;
640
646
  export type PropertyName = Identifier | StringLiteral | NumericLiteral | ComputedPropertyName | PrivateIdentifier;
647
+ export type MemberName = Identifier | PrivateIdentifier;
641
648
  export type DeclarationName = Identifier | PrivateIdentifier | StringLiteralLike | NumericLiteral | ComputedPropertyName | ElementAccessExpression | BindingPattern | EntityNameExpression;
642
649
  export interface Declaration extends Node {
643
650
  _declarationBrand: any;
@@ -686,7 +693,7 @@ declare namespace ts {
686
693
  readonly kind: SyntaxKind.ConstructSignature;
687
694
  }
688
695
  export type BindingName = Identifier | BindingPattern;
689
- export interface VariableDeclaration extends NamedDeclaration {
696
+ export interface VariableDeclaration extends NamedDeclaration, JSDocContainer {
690
697
  readonly kind: SyntaxKind.VariableDeclaration;
691
698
  readonly parent: VariableDeclarationList | CatchClause;
692
699
  readonly name: BindingName;
@@ -820,15 +827,15 @@ declare namespace ts {
820
827
  readonly kind: SyntaxKind.SemicolonClassElement;
821
828
  readonly parent: ClassLikeDeclaration;
822
829
  }
823
- export interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer {
830
+ export interface GetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement, JSDocContainer {
824
831
  readonly kind: SyntaxKind.GetAccessor;
825
- readonly parent: ClassLikeDeclaration | ObjectLiteralExpression;
832
+ readonly parent: ClassLikeDeclaration | ObjectLiteralExpression | TypeLiteralNode | InterfaceDeclaration;
826
833
  readonly name: PropertyName;
827
834
  readonly body?: FunctionBody;
828
835
  }
829
- export interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, ObjectLiteralElement, JSDocContainer {
836
+ export interface SetAccessorDeclaration extends FunctionLikeDeclarationBase, ClassElement, TypeElement, ObjectLiteralElement, JSDocContainer {
830
837
  readonly kind: SyntaxKind.SetAccessor;
831
- readonly parent: ClassLikeDeclaration | ObjectLiteralExpression;
838
+ readonly parent: ClassLikeDeclaration | ObjectLiteralExpression | TypeLiteralNode | InterfaceDeclaration;
832
839
  readonly name: PropertyName;
833
840
  readonly body?: FunctionBody;
834
841
  }
@@ -1216,11 +1223,11 @@ declare namespace ts {
1216
1223
  readonly kind: SyntaxKind.PropertyAccessExpression;
1217
1224
  readonly expression: LeftHandSideExpression;
1218
1225
  readonly questionDotToken?: QuestionDotToken;
1219
- readonly name: Identifier | PrivateIdentifier;
1226
+ readonly name: MemberName;
1220
1227
  }
1221
1228
  export interface PropertyAccessChain extends PropertyAccessExpression {
1222
1229
  _optionalChainBrand: any;
1223
- readonly name: Identifier | PrivateIdentifier;
1230
+ readonly name: MemberName;
1224
1231
  }
1225
1232
  export interface SuperPropertyAccessExpression extends PropertyAccessExpression {
1226
1233
  readonly expression: SuperExpression;
@@ -1373,7 +1380,7 @@ declare namespace ts {
1373
1380
  readonly containsOnlyTriviaWhiteSpaces: boolean;
1374
1381
  }
1375
1382
  export type JsxChild = JsxText | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment;
1376
- export interface Statement extends Node {
1383
+ export interface Statement extends Node, JSDocContainer {
1377
1384
  _statementBrand: any;
1378
1385
  }
1379
1386
  export interface NotEmittedStatement extends Statement {
@@ -1401,11 +1408,11 @@ declare namespace ts {
1401
1408
  readonly kind: SyntaxKind.Block;
1402
1409
  readonly statements: NodeArray<Statement>;
1403
1410
  }
1404
- export interface VariableStatement extends Statement, JSDocContainer {
1411
+ export interface VariableStatement extends Statement {
1405
1412
  readonly kind: SyntaxKind.VariableStatement;
1406
1413
  readonly declarationList: VariableDeclarationList;
1407
1414
  }
1408
- export interface ExpressionStatement extends Statement, JSDocContainer {
1415
+ export interface ExpressionStatement extends Statement {
1409
1416
  readonly kind: SyntaxKind.ExpressionStatement;
1410
1417
  readonly expression: Expression;
1411
1418
  }
@@ -1486,7 +1493,7 @@ declare namespace ts {
1486
1493
  readonly statements: NodeArray<Statement>;
1487
1494
  }
1488
1495
  export type CaseOrDefaultClause = CaseClause | DefaultClause;
1489
- export interface LabeledStatement extends Statement, JSDocContainer {
1496
+ export interface LabeledStatement extends Statement {
1490
1497
  readonly kind: SyntaxKind.LabeledStatement;
1491
1498
  readonly label: Identifier;
1492
1499
  readonly statement: Statement;
@@ -1606,7 +1613,7 @@ declare namespace ts {
1606
1613
  readonly parent: ImportEqualsDeclaration;
1607
1614
  readonly expression: Expression;
1608
1615
  }
1609
- export interface ImportDeclaration extends Statement, JSDocContainer {
1616
+ export interface ImportDeclaration extends Statement {
1610
1617
  readonly kind: SyntaxKind.ImportDeclaration;
1611
1618
  readonly parent: SourceFile | ModuleBlock;
1612
1619
  readonly importClause?: ImportClause;
@@ -1742,12 +1749,21 @@ declare namespace ts {
1742
1749
  readonly kind: SyntaxKind.JSDocComment;
1743
1750
  readonly parent: HasJSDoc;
1744
1751
  readonly tags?: NodeArray<JSDocTag>;
1745
- readonly comment?: string;
1752
+ readonly comment?: string | NodeArray<JSDocText | JSDocLink>;
1746
1753
  }
1747
1754
  export interface JSDocTag extends Node {
1748
1755
  readonly parent: JSDoc | JSDocTypeLiteral;
1749
1756
  readonly tagName: Identifier;
1750
- readonly comment?: string;
1757
+ readonly comment?: string | NodeArray<JSDocText | JSDocLink>;
1758
+ }
1759
+ export interface JSDocLink extends Node {
1760
+ readonly kind: SyntaxKind.JSDocLink;
1761
+ readonly name?: EntityName;
1762
+ text: string;
1763
+ }
1764
+ export interface JSDocText extends Node {
1765
+ readonly kind: SyntaxKind.JSDocText;
1766
+ text: string;
1751
1767
  }
1752
1768
  export interface JSDocUnknownTag extends JSDocTag {
1753
1769
  readonly kind: SyntaxKind.JSDocTag;
@@ -1789,6 +1805,9 @@ declare namespace ts {
1789
1805
  export interface JSDocReadonlyTag extends JSDocTag {
1790
1806
  readonly kind: SyntaxKind.JSDocReadonlyTag;
1791
1807
  }
1808
+ export interface JSDocOverrideTag extends JSDocTag {
1809
+ readonly kind: SyntaxKind.JSDocOverrideTag;
1810
+ }
1792
1811
  export interface JSDocEnumTag extends JSDocTag, Declaration {
1793
1812
  readonly kind: SyntaxKind.JSDocEnumTag;
1794
1813
  readonly parent: JSDoc;
@@ -2080,7 +2099,6 @@ declare namespace ts {
2080
2099
  * Gets a type checker that can be used to semantically analyze source files in the program.
2081
2100
  */
2082
2101
  getTypeChecker(): TypeChecker;
2083
- getTypeCatalog(): readonly Type[];
2084
2102
  getNodeCount(): number;
2085
2103
  getIdentifierCount(): number;
2086
2104
  getSymbolCount(): number;
@@ -2186,7 +2204,7 @@ declare namespace ts {
2186
2204
  * The function returns the value (local variable) symbol of an identifier in the short-hand property assignment.
2187
2205
  * This is necessary as an identifier in short-hand property assignment can contains two meaning: property name and property value.
2188
2206
  */
2189
- getShorthandAssignmentValueSymbol(location: Node): Symbol | undefined;
2207
+ getShorthandAssignmentValueSymbol(location: Node | undefined): Symbol | undefined;
2190
2208
  getExportSpecifierLocalTargetSymbol(location: ExportSpecifier | Identifier): Symbol | undefined;
2191
2209
  /**
2192
2210
  * If a symbol is a local symbol with an associated exported symbol, returns the exported symbol.
@@ -2261,6 +2279,8 @@ declare namespace ts {
2261
2279
  NoTypeReduction = 536870912,
2262
2280
  NoUndefinedOptionalParameterType = 1073741824,
2263
2281
  AllowThisInObjectLiteral = 32768,
2282
+ AllowQualifiedNameInPlaceOfIdentifier = 65536,
2283
+ /** @deprecated AllowQualifedNameInPlaceOfIdentifier. Use AllowQualifiedNameInPlaceOfIdentifier instead. */
2264
2284
  AllowQualifedNameInPlaceOfIdentifier = 65536,
2265
2285
  AllowAnonymousIdentifier = 131072,
2266
2286
  AllowEmptyUnionOrIntersection = 262144,
@@ -2271,8 +2291,7 @@ declare namespace ts {
2271
2291
  IgnoreErrors = 70221824,
2272
2292
  InObjectTypeLiteral = 4194304,
2273
2293
  InTypeAlias = 8388608,
2274
- InInitialEntityName = 16777216,
2275
- InReverseMappedType = 33554432
2294
+ InInitialEntityName = 16777216
2276
2295
  }
2277
2296
  export enum TypeFormatFlags {
2278
2297
  None = 0,
@@ -2405,8 +2424,8 @@ declare namespace ts {
2405
2424
  export interface Symbol {
2406
2425
  flags: SymbolFlags;
2407
2426
  escapedName: __String;
2408
- declarations: Declaration[];
2409
- valueDeclaration: Declaration;
2427
+ declarations?: Declaration[];
2428
+ valueDeclaration?: Declaration;
2410
2429
  members?: SymbolTable;
2411
2430
  exports?: SymbolTable;
2412
2431
  globalExports?: SymbolTable;
@@ -2540,15 +2559,15 @@ declare namespace ts {
2540
2559
  ObjectLiteral = 128,
2541
2560
  EvolvingArray = 256,
2542
2561
  ObjectLiteralPatternWithComputedProperties = 512,
2543
- ContainsSpread = 1024,
2544
- ReverseMapped = 2048,
2545
- JsxAttributes = 4096,
2546
- MarkerType = 8192,
2547
- JSLiteral = 16384,
2548
- FreshLiteral = 32768,
2549
- ArrayLiteral = 65536,
2550
- ObjectRestType = 131072,
2562
+ ReverseMapped = 1024,
2563
+ JsxAttributes = 2048,
2564
+ MarkerType = 4096,
2565
+ JSLiteral = 8192,
2566
+ FreshLiteral = 16384,
2567
+ ArrayLiteral = 32768,
2551
2568
  ClassOrInterface = 3,
2569
+ ContainsSpread = 4194304,
2570
+ ObjectRestType = 8388608,
2552
2571
  }
2553
2572
  export interface ObjectType extends Type {
2554
2573
  objectFlags: ObjectFlags;
@@ -2662,6 +2681,7 @@ declare namespace ts {
2662
2681
  type: Type;
2663
2682
  }
2664
2683
  export interface SubstitutionType extends InstantiableType {
2684
+ objectFlags: ObjectFlags;
2665
2685
  baseType: Type;
2666
2686
  substitute: Type;
2667
2687
  }
@@ -2686,16 +2706,17 @@ declare namespace ts {
2686
2706
  export enum InferencePriority {
2687
2707
  NakedTypeVariable = 1,
2688
2708
  SpeculativeTuple = 2,
2689
- HomomorphicMappedType = 4,
2690
- PartialHomomorphicMappedType = 8,
2691
- MappedTypeConstraint = 16,
2692
- ContravariantConditional = 32,
2693
- ReturnType = 64,
2694
- LiteralKeyof = 128,
2695
- NoConstraints = 256,
2696
- AlwaysStrict = 512,
2697
- MaxValue = 1024,
2698
- PriorityImpliesCombination = 208,
2709
+ SubstituteSource = 4,
2710
+ HomomorphicMappedType = 8,
2711
+ PartialHomomorphicMappedType = 16,
2712
+ MappedTypeConstraint = 32,
2713
+ ContravariantConditional = 64,
2714
+ ReturnType = 128,
2715
+ LiteralKeyof = 256,
2716
+ NoConstraints = 512,
2717
+ AlwaysStrict = 1024,
2718
+ MaxValue = 2048,
2719
+ PriorityImpliesCombination = 416,
2699
2720
  Circularity = -1
2700
2721
  }
2701
2722
  /** @deprecated Use FileExtensionInfo instead. */
@@ -2772,18 +2793,21 @@ declare namespace ts {
2772
2793
  FixedPollingInterval = 0,
2773
2794
  PriorityPollingInterval = 1,
2774
2795
  DynamicPriorityPolling = 2,
2775
- UseFsEvents = 3,
2776
- UseFsEventsOnParentDirectory = 4
2796
+ FixedChunkSizePolling = 3,
2797
+ UseFsEvents = 4,
2798
+ UseFsEventsOnParentDirectory = 5
2777
2799
  }
2778
2800
  export enum WatchDirectoryKind {
2779
2801
  UseFsEvents = 0,
2780
2802
  FixedPollingInterval = 1,
2781
- DynamicPriorityPolling = 2
2803
+ DynamicPriorityPolling = 2,
2804
+ FixedChunkSizePolling = 3
2782
2805
  }
2783
2806
  export enum PollingWatchKind {
2784
2807
  FixedInterval = 0,
2785
2808
  PriorityInterval = 1,
2786
- DynamicPriority = 2
2809
+ DynamicPriority = 2,
2810
+ FixedChunkSize = 3
2787
2811
  }
2788
2812
  export type CompilerOptionsValue = string | number | boolean | (string | number)[] | string[] | MapLike<string[]> | PluginImport[] | ProjectReference[] | null | undefined;
2789
2813
  export interface CompilerOptions {
@@ -2845,6 +2869,7 @@ declare namespace ts {
2845
2869
  outFile?: string;
2846
2870
  paths?: MapLike<string[]>;
2847
2871
  preserveConstEnums?: boolean;
2872
+ noImplicitOverride?: boolean;
2848
2873
  preserveSymlinks?: boolean;
2849
2874
  project?: string;
2850
2875
  reactNamespace?: string;
@@ -2955,6 +2980,7 @@ declare namespace ts {
2955
2980
  ES2018 = 5,
2956
2981
  ES2019 = 6,
2957
2982
  ES2020 = 7,
2983
+ ES2021 = 8,
2958
2984
  ESNext = 99,
2959
2985
  JSON = 100,
2960
2986
  Latest = 99
@@ -3128,17 +3154,21 @@ declare namespace ts {
3128
3154
  Iterator = 8388608,
3129
3155
  NoAsciiEscaping = 16777216,
3130
3156
  }
3131
- export interface EmitHelper {
3157
+ export interface EmitHelperBase {
3132
3158
  readonly name: string;
3133
3159
  readonly scoped: boolean;
3134
3160
  readonly text: string | ((node: EmitHelperUniqueNameCallback) => string);
3135
3161
  readonly priority?: number;
3136
3162
  readonly dependencies?: EmitHelper[];
3137
3163
  }
3138
- export interface UnscopedEmitHelper extends EmitHelper {
3164
+ export interface ScopedEmitHelper extends EmitHelperBase {
3165
+ readonly scoped: true;
3166
+ }
3167
+ export interface UnscopedEmitHelper extends EmitHelperBase {
3139
3168
  readonly scoped: false;
3140
3169
  readonly text: string;
3141
3170
  }
3171
+ export type EmitHelper = ScopedEmitHelper | UnscopedEmitHelper;
3142
3172
  export type EmitHelperUniqueNameCallback = (name: string) => string;
3143
3173
  export enum EmitHint {
3144
3174
  SourceFile = 0,
@@ -3166,14 +3196,27 @@ declare namespace ts {
3166
3196
  createStringLiteralFromNode(sourceNode: PropertyNameLiteral, isSingleQuote?: boolean): StringLiteral;
3167
3197
  createRegularExpressionLiteral(text: string): RegularExpressionLiteral;
3168
3198
  createIdentifier(text: string): Identifier;
3169
- /** Create a unique temporary variable. */
3170
- createTempVariable(recordTempVariable: ((node: Identifier) => void) | undefined): Identifier;
3171
- /** Create a unique temporary variable for use in a loop. */
3172
- createLoopVariable(): Identifier;
3199
+ /**
3200
+ * Create a unique temporary variable.
3201
+ * @param recordTempVariable An optional callback used to record the temporary variable name. This
3202
+ * should usually be a reference to `hoistVariableDeclaration` from a `TransformationContext`, but
3203
+ * can be `undefined` if you plan to record the temporary variable manually.
3204
+ * @param reservedInNestedScopes When `true`, reserves the temporary variable name in all nested scopes
3205
+ * during emit so that the variable can be referenced in a nested function body. This is an alternative to
3206
+ * setting `EmitFlags.ReuseTempVariableScope` on the nested function itself.
3207
+ */
3208
+ createTempVariable(recordTempVariable: ((node: Identifier) => void) | undefined, reservedInNestedScopes?: boolean): Identifier;
3209
+ /**
3210
+ * Create a unique temporary variable for use in a loop.
3211
+ * @param reservedInNestedScopes When `true`, reserves the temporary variable name in all nested scopes
3212
+ * during emit so that the variable can be referenced in a nested function body. This is an alternative to
3213
+ * setting `EmitFlags.ReuseTempVariableScope` on the nested function itself.
3214
+ */
3215
+ createLoopVariable(reservedInNestedScopes?: boolean): Identifier;
3173
3216
  /** Create a unique name based on the supplied text. */
3174
3217
  createUniqueName(text: string, flags?: GeneratedIdentifierFlags): Identifier;
3175
3218
  /** Create a unique name generated for a node. */
3176
- getGeneratedNameForNode(node: Node | undefined): Identifier;
3219
+ getGeneratedNameForNode(node: Node | undefined, flags?: GeneratedIdentifierFlags): Identifier;
3177
3220
  createPrivateIdentifier(text: string): PrivateIdentifier;
3178
3221
  createToken(token: SyntaxKind.SuperKeyword): SuperExpression;
3179
3222
  createToken(token: SyntaxKind.ThisKeyword): ThisExpression;
@@ -3284,10 +3327,10 @@ declare namespace ts {
3284
3327
  updateArrayLiteralExpression(node: ArrayLiteralExpression, elements: readonly Expression[]): ArrayLiteralExpression;
3285
3328
  createObjectLiteralExpression(properties?: readonly ObjectLiteralElementLike[], multiLine?: boolean): ObjectLiteralExpression;
3286
3329
  updateObjectLiteralExpression(node: ObjectLiteralExpression, properties: readonly ObjectLiteralElementLike[]): ObjectLiteralExpression;
3287
- createPropertyAccessExpression(expression: Expression, name: string | Identifier | PrivateIdentifier): PropertyAccessExpression;
3288
- updatePropertyAccessExpression(node: PropertyAccessExpression, expression: Expression, name: Identifier | PrivateIdentifier): PropertyAccessExpression;
3289
- createPropertyAccessChain(expression: Expression, questionDotToken: QuestionDotToken | undefined, name: string | Identifier | PrivateIdentifier): PropertyAccessChain;
3290
- updatePropertyAccessChain(node: PropertyAccessChain, expression: Expression, questionDotToken: QuestionDotToken | undefined, name: Identifier | PrivateIdentifier): PropertyAccessChain;
3330
+ createPropertyAccessExpression(expression: Expression, name: string | MemberName): PropertyAccessExpression;
3331
+ updatePropertyAccessExpression(node: PropertyAccessExpression, expression: Expression, name: MemberName): PropertyAccessExpression;
3332
+ createPropertyAccessChain(expression: Expression, questionDotToken: QuestionDotToken | undefined, name: string | MemberName): PropertyAccessChain;
3333
+ updatePropertyAccessChain(node: PropertyAccessChain, expression: Expression, questionDotToken: QuestionDotToken | undefined, name: MemberName): PropertyAccessChain;
3291
3334
  createElementAccessExpression(expression: Expression, index: number | Expression): ElementAccessExpression;
3292
3335
  updateElementAccessExpression(node: ElementAccessExpression, expression: Expression, argumentExpression: Expression): ElementAccessExpression;
3293
3336
  createElementAccessChain(expression: Expression, questionDotToken: QuestionDotToken | undefined, index: number | Expression): ElementAccessChain;
@@ -3455,52 +3498,58 @@ declare namespace ts {
3455
3498
  updateJSDocTypeExpression(node: JSDocTypeExpression, type: TypeNode): JSDocTypeExpression;
3456
3499
  createJSDocNameReference(name: EntityName): JSDocNameReference;
3457
3500
  updateJSDocNameReference(node: JSDocNameReference, name: EntityName): JSDocNameReference;
3501
+ createJSDocLink(name: EntityName | undefined, text: string): JSDocLink;
3502
+ updateJSDocLink(node: JSDocLink, name: EntityName | undefined, text: string): JSDocLink;
3458
3503
  createJSDocTypeLiteral(jsDocPropertyTags?: readonly JSDocPropertyLikeTag[], isArrayType?: boolean): JSDocTypeLiteral;
3459
3504
  updateJSDocTypeLiteral(node: JSDocTypeLiteral, jsDocPropertyTags: readonly JSDocPropertyLikeTag[] | undefined, isArrayType: boolean | undefined): JSDocTypeLiteral;
3460
3505
  createJSDocSignature(typeParameters: readonly JSDocTemplateTag[] | undefined, parameters: readonly JSDocParameterTag[], type?: JSDocReturnTag): JSDocSignature;
3461
3506
  updateJSDocSignature(node: JSDocSignature, typeParameters: readonly JSDocTemplateTag[] | undefined, parameters: readonly JSDocParameterTag[], type: JSDocReturnTag | undefined): JSDocSignature;
3462
- createJSDocTemplateTag(tagName: Identifier | undefined, constraint: JSDocTypeExpression | undefined, typeParameters: readonly TypeParameterDeclaration[], comment?: string): JSDocTemplateTag;
3463
- updateJSDocTemplateTag(node: JSDocTemplateTag, tagName: Identifier | undefined, constraint: JSDocTypeExpression | undefined, typeParameters: readonly TypeParameterDeclaration[], comment: string | undefined): JSDocTemplateTag;
3464
- createJSDocTypedefTag(tagName: Identifier | undefined, typeExpression?: JSDocTypeExpression | JSDocTypeLiteral, fullName?: Identifier | JSDocNamespaceDeclaration, comment?: string): JSDocTypedefTag;
3465
- updateJSDocTypedefTag(node: JSDocTypedefTag, tagName: Identifier | undefined, typeExpression: JSDocTypeExpression | JSDocTypeLiteral | undefined, fullName: Identifier | JSDocNamespaceDeclaration | undefined, comment: string | undefined): JSDocTypedefTag;
3466
- createJSDocParameterTag(tagName: Identifier | undefined, name: EntityName, isBracketed: boolean, typeExpression?: JSDocTypeExpression, isNameFirst?: boolean, comment?: string): JSDocParameterTag;
3467
- updateJSDocParameterTag(node: JSDocParameterTag, tagName: Identifier | undefined, name: EntityName, isBracketed: boolean, typeExpression: JSDocTypeExpression | undefined, isNameFirst: boolean, comment: string | undefined): JSDocParameterTag;
3468
- createJSDocPropertyTag(tagName: Identifier | undefined, name: EntityName, isBracketed: boolean, typeExpression?: JSDocTypeExpression, isNameFirst?: boolean, comment?: string): JSDocPropertyTag;
3469
- updateJSDocPropertyTag(node: JSDocPropertyTag, tagName: Identifier | undefined, name: EntityName, isBracketed: boolean, typeExpression: JSDocTypeExpression | undefined, isNameFirst: boolean, comment: string | undefined): JSDocPropertyTag;
3470
- createJSDocTypeTag(tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment?: string): JSDocTypeTag;
3471
- updateJSDocTypeTag(node: JSDocTypeTag, tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment: string | undefined): JSDocTypeTag;
3472
- createJSDocSeeTag(tagName: Identifier | undefined, nameExpression: JSDocNameReference | undefined, comment?: string): JSDocSeeTag;
3473
- updateJSDocSeeTag(node: JSDocSeeTag, tagName: Identifier | undefined, nameExpression: JSDocNameReference | undefined, comment?: string): JSDocSeeTag;
3474
- createJSDocReturnTag(tagName: Identifier | undefined, typeExpression?: JSDocTypeExpression, comment?: string): JSDocReturnTag;
3475
- updateJSDocReturnTag(node: JSDocReturnTag, tagName: Identifier | undefined, typeExpression: JSDocTypeExpression | undefined, comment: string | undefined): JSDocReturnTag;
3476
- createJSDocThisTag(tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment?: string): JSDocThisTag;
3477
- updateJSDocThisTag(node: JSDocThisTag, tagName: Identifier | undefined, typeExpression: JSDocTypeExpression | undefined, comment: string | undefined): JSDocThisTag;
3478
- createJSDocEnumTag(tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment?: string): JSDocEnumTag;
3479
- updateJSDocEnumTag(node: JSDocEnumTag, tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment: string | undefined): JSDocEnumTag;
3480
- createJSDocCallbackTag(tagName: Identifier | undefined, typeExpression: JSDocSignature, fullName?: Identifier | JSDocNamespaceDeclaration, comment?: string): JSDocCallbackTag;
3481
- updateJSDocCallbackTag(node: JSDocCallbackTag, tagName: Identifier | undefined, typeExpression: JSDocSignature, fullName: Identifier | JSDocNamespaceDeclaration | undefined, comment: string | undefined): JSDocCallbackTag;
3482
- createJSDocAugmentsTag(tagName: Identifier | undefined, className: JSDocAugmentsTag["class"], comment?: string): JSDocAugmentsTag;
3483
- updateJSDocAugmentsTag(node: JSDocAugmentsTag, tagName: Identifier | undefined, className: JSDocAugmentsTag["class"], comment: string | undefined): JSDocAugmentsTag;
3484
- createJSDocImplementsTag(tagName: Identifier | undefined, className: JSDocImplementsTag["class"], comment?: string): JSDocImplementsTag;
3485
- updateJSDocImplementsTag(node: JSDocImplementsTag, tagName: Identifier | undefined, className: JSDocImplementsTag["class"], comment: string | undefined): JSDocImplementsTag;
3486
- createJSDocAuthorTag(tagName: Identifier | undefined, comment?: string): JSDocAuthorTag;
3487
- updateJSDocAuthorTag(node: JSDocAuthorTag, tagName: Identifier | undefined, comment: string | undefined): JSDocAuthorTag;
3488
- createJSDocClassTag(tagName: Identifier | undefined, comment?: string): JSDocClassTag;
3489
- updateJSDocClassTag(node: JSDocClassTag, tagName: Identifier | undefined, comment: string | undefined): JSDocClassTag;
3490
- createJSDocPublicTag(tagName: Identifier | undefined, comment?: string): JSDocPublicTag;
3491
- updateJSDocPublicTag(node: JSDocPublicTag, tagName: Identifier | undefined, comment: string | undefined): JSDocPublicTag;
3492
- createJSDocPrivateTag(tagName: Identifier | undefined, comment?: string): JSDocPrivateTag;
3493
- updateJSDocPrivateTag(node: JSDocPrivateTag, tagName: Identifier | undefined, comment: string | undefined): JSDocPrivateTag;
3494
- createJSDocProtectedTag(tagName: Identifier | undefined, comment?: string): JSDocProtectedTag;
3495
- updateJSDocProtectedTag(node: JSDocProtectedTag, tagName: Identifier | undefined, comment: string | undefined): JSDocProtectedTag;
3496
- createJSDocReadonlyTag(tagName: Identifier | undefined, comment?: string): JSDocReadonlyTag;
3497
- updateJSDocReadonlyTag(node: JSDocReadonlyTag, tagName: Identifier | undefined, comment: string | undefined): JSDocReadonlyTag;
3498
- createJSDocUnknownTag(tagName: Identifier, comment?: string): JSDocUnknownTag;
3499
- updateJSDocUnknownTag(node: JSDocUnknownTag, tagName: Identifier, comment: string | undefined): JSDocUnknownTag;
3500
- createJSDocDeprecatedTag(tagName: Identifier, comment?: string): JSDocDeprecatedTag;
3501
- updateJSDocDeprecatedTag(node: JSDocDeprecatedTag, tagName: Identifier, comment?: string): JSDocDeprecatedTag;
3502
- createJSDocComment(comment?: string | undefined, tags?: readonly JSDocTag[] | undefined): JSDoc;
3503
- updateJSDocComment(node: JSDoc, comment: string | undefined, tags: readonly JSDocTag[] | undefined): JSDoc;
3507
+ createJSDocTemplateTag(tagName: Identifier | undefined, constraint: JSDocTypeExpression | undefined, typeParameters: readonly TypeParameterDeclaration[], comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocTemplateTag;
3508
+ updateJSDocTemplateTag(node: JSDocTemplateTag, tagName: Identifier | undefined, constraint: JSDocTypeExpression | undefined, typeParameters: readonly TypeParameterDeclaration[], comment: string | NodeArray<JSDocText | JSDocLink> | undefined): JSDocTemplateTag;
3509
+ createJSDocTypedefTag(tagName: Identifier | undefined, typeExpression?: JSDocTypeExpression | JSDocTypeLiteral, fullName?: Identifier | JSDocNamespaceDeclaration, comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocTypedefTag;
3510
+ updateJSDocTypedefTag(node: JSDocTypedefTag, tagName: Identifier | undefined, typeExpression: JSDocTypeExpression | JSDocTypeLiteral | undefined, fullName: Identifier | JSDocNamespaceDeclaration | undefined, comment: string | NodeArray<JSDocText | JSDocLink> | undefined): JSDocTypedefTag;
3511
+ createJSDocParameterTag(tagName: Identifier | undefined, name: EntityName, isBracketed: boolean, typeExpression?: JSDocTypeExpression, isNameFirst?: boolean, comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocParameterTag;
3512
+ updateJSDocParameterTag(node: JSDocParameterTag, tagName: Identifier | undefined, name: EntityName, isBracketed: boolean, typeExpression: JSDocTypeExpression | undefined, isNameFirst: boolean, comment: string | NodeArray<JSDocText | JSDocLink> | undefined): JSDocParameterTag;
3513
+ createJSDocPropertyTag(tagName: Identifier | undefined, name: EntityName, isBracketed: boolean, typeExpression?: JSDocTypeExpression, isNameFirst?: boolean, comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocPropertyTag;
3514
+ updateJSDocPropertyTag(node: JSDocPropertyTag, tagName: Identifier | undefined, name: EntityName, isBracketed: boolean, typeExpression: JSDocTypeExpression | undefined, isNameFirst: boolean, comment: string | NodeArray<JSDocText | JSDocLink> | undefined): JSDocPropertyTag;
3515
+ createJSDocTypeTag(tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocTypeTag;
3516
+ updateJSDocTypeTag(node: JSDocTypeTag, tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment: string | NodeArray<JSDocText | JSDocLink> | undefined): JSDocTypeTag;
3517
+ createJSDocSeeTag(tagName: Identifier | undefined, nameExpression: JSDocNameReference | undefined, comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocSeeTag;
3518
+ updateJSDocSeeTag(node: JSDocSeeTag, tagName: Identifier | undefined, nameExpression: JSDocNameReference | undefined, comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocSeeTag;
3519
+ createJSDocReturnTag(tagName: Identifier | undefined, typeExpression?: JSDocTypeExpression, comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocReturnTag;
3520
+ updateJSDocReturnTag(node: JSDocReturnTag, tagName: Identifier | undefined, typeExpression: JSDocTypeExpression | undefined, comment: string | NodeArray<JSDocText | JSDocLink> | undefined): JSDocReturnTag;
3521
+ createJSDocThisTag(tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocThisTag;
3522
+ updateJSDocThisTag(node: JSDocThisTag, tagName: Identifier | undefined, typeExpression: JSDocTypeExpression | undefined, comment: string | NodeArray<JSDocText | JSDocLink> | undefined): JSDocThisTag;
3523
+ createJSDocEnumTag(tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocEnumTag;
3524
+ updateJSDocEnumTag(node: JSDocEnumTag, tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment: string | NodeArray<JSDocText | JSDocLink> | undefined): JSDocEnumTag;
3525
+ createJSDocCallbackTag(tagName: Identifier | undefined, typeExpression: JSDocSignature, fullName?: Identifier | JSDocNamespaceDeclaration, comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocCallbackTag;
3526
+ updateJSDocCallbackTag(node: JSDocCallbackTag, tagName: Identifier | undefined, typeExpression: JSDocSignature, fullName: Identifier | JSDocNamespaceDeclaration | undefined, comment: string | NodeArray<JSDocText | JSDocLink> | undefined): JSDocCallbackTag;
3527
+ createJSDocAugmentsTag(tagName: Identifier | undefined, className: JSDocAugmentsTag["class"], comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocAugmentsTag;
3528
+ updateJSDocAugmentsTag(node: JSDocAugmentsTag, tagName: Identifier | undefined, className: JSDocAugmentsTag["class"], comment: string | NodeArray<JSDocText | JSDocLink> | undefined): JSDocAugmentsTag;
3529
+ createJSDocImplementsTag(tagName: Identifier | undefined, className: JSDocImplementsTag["class"], comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocImplementsTag;
3530
+ updateJSDocImplementsTag(node: JSDocImplementsTag, tagName: Identifier | undefined, className: JSDocImplementsTag["class"], comment: string | NodeArray<JSDocText | JSDocLink> | undefined): JSDocImplementsTag;
3531
+ createJSDocAuthorTag(tagName: Identifier | undefined, comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocAuthorTag;
3532
+ updateJSDocAuthorTag(node: JSDocAuthorTag, tagName: Identifier | undefined, comment: string | NodeArray<JSDocText | JSDocLink> | undefined): JSDocAuthorTag;
3533
+ createJSDocClassTag(tagName: Identifier | undefined, comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocClassTag;
3534
+ updateJSDocClassTag(node: JSDocClassTag, tagName: Identifier | undefined, comment: string | NodeArray<JSDocText | JSDocLink> | undefined): JSDocClassTag;
3535
+ createJSDocPublicTag(tagName: Identifier | undefined, comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocPublicTag;
3536
+ updateJSDocPublicTag(node: JSDocPublicTag, tagName: Identifier | undefined, comment: string | NodeArray<JSDocText | JSDocLink> | undefined): JSDocPublicTag;
3537
+ createJSDocPrivateTag(tagName: Identifier | undefined, comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocPrivateTag;
3538
+ updateJSDocPrivateTag(node: JSDocPrivateTag, tagName: Identifier | undefined, comment: string | NodeArray<JSDocText | JSDocLink> | undefined): JSDocPrivateTag;
3539
+ createJSDocProtectedTag(tagName: Identifier | undefined, comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocProtectedTag;
3540
+ updateJSDocProtectedTag(node: JSDocProtectedTag, tagName: Identifier | undefined, comment: string | NodeArray<JSDocText | JSDocLink> | undefined): JSDocProtectedTag;
3541
+ createJSDocReadonlyTag(tagName: Identifier | undefined, comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocReadonlyTag;
3542
+ updateJSDocReadonlyTag(node: JSDocReadonlyTag, tagName: Identifier | undefined, comment: string | NodeArray<JSDocText | JSDocLink> | undefined): JSDocReadonlyTag;
3543
+ createJSDocUnknownTag(tagName: Identifier, comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocUnknownTag;
3544
+ updateJSDocUnknownTag(node: JSDocUnknownTag, tagName: Identifier, comment: string | NodeArray<JSDocText | JSDocLink> | undefined): JSDocUnknownTag;
3545
+ createJSDocDeprecatedTag(tagName: Identifier, comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocDeprecatedTag;
3546
+ updateJSDocDeprecatedTag(node: JSDocDeprecatedTag, tagName: Identifier, comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocDeprecatedTag;
3547
+ createJSDocOverrideTag(tagName: Identifier, comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocOverrideTag;
3548
+ updateJSDocOverrideTag(node: JSDocOverrideTag, tagName: Identifier, comment?: string | NodeArray<JSDocText | JSDocLink>): JSDocOverrideTag;
3549
+ createJSDocText(text: string): JSDocText;
3550
+ updateJSDocText(node: JSDocText, text: string): JSDocText;
3551
+ createJSDocComment(comment?: string | NodeArray<JSDocText | JSDocLink> | undefined, tags?: readonly JSDocTag[] | undefined): JSDoc;
3552
+ updateJSDocComment(node: JSDoc, comment: string | NodeArray<JSDocText | JSDocLink> | undefined, tags: readonly JSDocTag[] | undefined): JSDoc;
3504
3553
  createJsxElement(openingElement: JsxOpeningElement, children: readonly JsxChild[], closingElement: JsxClosingElement): JsxElement;
3505
3554
  updateJsxElement(node: JsxElement, openingElement: JsxOpeningElement, children: readonly JsxChild[], closingElement: JsxClosingElement): JsxElement;
3506
3555
  createJsxSelfClosingElement(tagName: JsxTagNameExpression, typeArguments: readonly TypeNode[] | undefined, attributes: JsxAttributes): JsxSelfClosingElement;
@@ -3748,12 +3797,12 @@ declare namespace ts {
3748
3797
  * });
3749
3798
  * ```
3750
3799
  */
3751
- onEmitNode?(hint: EmitHint, node: Node | undefined, emitCallback: (hint: EmitHint, node: Node | undefined) => void): void;
3800
+ onEmitNode?(hint: EmitHint, node: Node, emitCallback: (hint: EmitHint, node: Node) => void): void;
3752
3801
  /**
3753
3802
  * A hook used to check if an emit notification is required for a node.
3754
3803
  * @param node The node to emit.
3755
3804
  */
3756
- isEmitNotificationEnabled?(node: Node | undefined): boolean;
3805
+ isEmitNotificationEnabled?(node: Node): boolean;
3757
3806
  /**
3758
3807
  * A hook used by the Printer to perform just-in-time substitution of a node. This is
3759
3808
  * primarily used by node transformations that need to substitute one node for another,
@@ -3867,6 +3916,8 @@ declare namespace ts {
3867
3916
  readonly disableSuggestions?: boolean;
3868
3917
  readonly quotePreference?: "auto" | "double" | "single";
3869
3918
  readonly includeCompletionsForModuleExports?: boolean;
3919
+ readonly includeCompletionsForImportStatements?: boolean;
3920
+ readonly includeCompletionsWithSnippetText?: boolean;
3870
3921
  readonly includeAutomaticOptionalChainCompletions?: boolean;
3871
3922
  readonly includeCompletionsWithInsertText?: boolean;
3872
3923
  readonly importModuleSpecifierPreference?: "shortest" | "project-relative" | "relative" | "non-relative";
@@ -3965,7 +4016,7 @@ declare namespace ts {
3965
4016
  scanJsxIdentifier(): SyntaxKind;
3966
4017
  scanJsxAttributeValue(): SyntaxKind;
3967
4018
  reScanJsxAttributeValue(): SyntaxKind;
3968
- reScanJsxToken(): JsxTokenSyntaxKind;
4019
+ reScanJsxToken(allowMultilineJsxText?: boolean): JsxTokenSyntaxKind;
3969
4020
  reScanLessThanToken(): SyntaxKind;
3970
4021
  reScanQuestionToken(): SyntaxKind;
3971
4022
  reScanInvalidIdentifier(): SyntaxKind;
@@ -4100,7 +4151,7 @@ declare namespace ts {
4100
4151
  function idText(identifierOrPrivateName: Identifier | PrivateIdentifier): string;
4101
4152
  function symbolName(symbol: Symbol): string;
4102
4153
  function getNameOfJSDocTypedef(declaration: JSDocTypedefTag): Identifier | PrivateIdentifier | undefined;
4103
- function getNameOfDeclaration(declaration: Declaration | Expression): DeclarationName | undefined;
4154
+ function getNameOfDeclaration(declaration: Declaration | Expression | undefined): DeclarationName | undefined;
4104
4155
  /**
4105
4156
  * Gets the JSDoc parameter tags for the node if present.
4106
4157
  *
@@ -4146,6 +4197,7 @@ declare namespace ts {
4146
4197
  function getJSDocProtectedTag(node: Node): JSDocProtectedTag | undefined;
4147
4198
  /** Gets the JSDoc protected tag for the node if present */
4148
4199
  function getJSDocReadonlyTag(node: Node): JSDocReadonlyTag | undefined;
4200
+ function getJSDocOverrideTagNoCache(node: Node): JSDocOverrideTag | undefined;
4149
4201
  /** Gets the JSDoc deprecated tag for the node if present */
4150
4202
  function getJSDocDeprecatedTag(node: Node): JSDocDeprecatedTag | undefined;
4151
4203
  /** Gets the JSDoc enum tag for the node if present */
@@ -4183,13 +4235,15 @@ declare namespace ts {
4183
4235
  function getAllJSDocTags<T extends JSDocTag>(node: Node, predicate: (tag: JSDocTag) => tag is T): readonly T[];
4184
4236
  /** Gets all JSDoc tags of a specified kind */
4185
4237
  function getAllJSDocTagsOfKind(node: Node, kind: SyntaxKind): readonly JSDocTag[];
4238
+ /** Gets the text of a jsdoc comment, flattening links to their text. */
4239
+ function getTextOfJSDocComment(comment?: string | NodeArray<JSDocText | JSDocLink>): string | undefined;
4186
4240
  /**
4187
4241
  * Gets the effective type parameters. If the node was parsed in a
4188
4242
  * JavaScript file, gets the type parameters from the `@template` tag from JSDoc.
4189
4243
  */
4190
4244
  function getEffectiveTypeParameterDeclarations(node: DeclarationWithTypeParameters): readonly TypeParameterDeclaration[];
4191
4245
  function getEffectiveConstraintOfTypeParameter(node: TypeParameterDeclaration): TypeNode | undefined;
4192
- function isIdentifierOrPrivateIdentifier(node: Node): node is Identifier | PrivateIdentifier;
4246
+ function isMemberName(node: Node): node is MemberName;
4193
4247
  function isPropertyAccessChain(node: Node): node is PropertyAccessChain;
4194
4248
  function isElementAccessChain(node: Node): node is ElementAccessChain;
4195
4249
  function isCallChain(node: Node): node is CallChain;
@@ -4204,6 +4258,12 @@ declare namespace ts {
4204
4258
  function isUnparsedTextLike(node: Node): node is UnparsedTextLike;
4205
4259
  function isUnparsedNode(node: Node): node is UnparsedNode;
4206
4260
  function isJSDocPropertyLikeTag(node: Node): node is JSDocPropertyLikeTag;
4261
+ /**
4262
+ * True if kind is of some token syntax kind.
4263
+ * For example, this is true for an IfKeyword but not for an IfStatement.
4264
+ * Literals are considered tokens, except TemplateLiteral, but does include TemplateHead/Middle/Tail.
4265
+ */
4266
+ function isTokenKind(kind: SyntaxKind): boolean;
4207
4267
  /**
4208
4268
  * True if node is of some token syntax kind.
4209
4269
  * For example, this is true for an IfKeyword but not for an IfStatement.
@@ -4220,7 +4280,7 @@ declare namespace ts {
4220
4280
  function isEntityName(node: Node): node is EntityName;
4221
4281
  function isPropertyName(node: Node): node is PropertyName;
4222
4282
  function isBindingName(node: Node): node is BindingName;
4223
- function isFunctionLike(node: Node): node is SignatureDeclaration;
4283
+ function isFunctionLike(node: Node | undefined): node is SignatureDeclaration;
4224
4284
  function isClassElement(node: Node): node is ClassElement;
4225
4285
  function isClassLike(node: Node): node is ClassLikeDeclaration;
4226
4286
  function isAccessor(node: Node): node is AccessorDeclaration;
@@ -4346,10 +4406,14 @@ declare namespace ts {
4346
4406
  function isTemplateHead(node: Node): node is TemplateHead;
4347
4407
  function isTemplateMiddle(node: Node): node is TemplateMiddle;
4348
4408
  function isTemplateTail(node: Node): node is TemplateTail;
4409
+ function isDotDotDotToken(node: Node): node is DotDotDotToken;
4410
+ function isPlusToken(node: Node): node is PlusToken;
4411
+ function isMinusToken(node: Node): node is MinusToken;
4412
+ function isAsteriskToken(node: Node): node is AsteriskToken;
4349
4413
  function isIdentifier(node: Node): node is Identifier;
4414
+ function isPrivateIdentifier(node: Node): node is PrivateIdentifier;
4350
4415
  function isQualifiedName(node: Node): node is QualifiedName;
4351
4416
  function isComputedPropertyName(node: Node): node is ComputedPropertyName;
4352
- function isPrivateIdentifier(node: Node): node is PrivateIdentifier;
4353
4417
  function isTypeParameterDeclaration(node: Node): node is TypeParameterDeclaration;
4354
4418
  function isParameter(node: Node): node is ParameterDeclaration;
4355
4419
  function isDecorator(node: Node): node is Decorator;
@@ -4492,6 +4556,7 @@ declare namespace ts {
4492
4556
  function isUnparsedSource(node: Node): node is UnparsedSource;
4493
4557
  function isJSDocTypeExpression(node: Node): node is JSDocTypeExpression;
4494
4558
  function isJSDocNameReference(node: Node): node is JSDocNameReference;
4559
+ function isJSDocLink(node: Node): node is JSDocLink;
4495
4560
  function isJSDocAllType(node: Node): node is JSDocAllType;
4496
4561
  function isJSDocUnknownType(node: Node): node is JSDocUnknownType;
4497
4562
  function isJSDocNullableType(node: Node): node is JSDocNullableType;
@@ -4511,6 +4576,7 @@ declare namespace ts {
4511
4576
  function isJSDocPrivateTag(node: Node): node is JSDocPrivateTag;
4512
4577
  function isJSDocProtectedTag(node: Node): node is JSDocProtectedTag;
4513
4578
  function isJSDocReadonlyTag(node: Node): node is JSDocReadonlyTag;
4579
+ function isJSDocOverrideTag(node: Node): node is JSDocOverrideTag;
4514
4580
  function isJSDocDeprecatedTag(node: Node): node is JSDocDeprecatedTag;
4515
4581
  function isJSDocSeeTag(node: Node): node is JSDocSeeTag;
4516
4582
  function isJSDocEnumTag(node: Node): node is JSDocEnumTag;
@@ -4575,7 +4641,7 @@ declare namespace ts {
4575
4641
  /**
4576
4642
  * Reads the config file, reports errors if any and exits if the config file cannot be found
4577
4643
  */
4578
- export function getParsedCommandLineOfConfigFile(configFileName: string, optionsToExtend: CompilerOptions, host: ParseConfigFileHost, extendedConfigCache?: Map<ExtendedConfigCacheEntry>, watchOptionsToExtend?: WatchOptions, extraFileExtensions?: readonly FileExtensionInfo[]): ParsedCommandLine | undefined;
4644
+ export function getParsedCommandLineOfConfigFile(configFileName: string, optionsToExtend: CompilerOptions | undefined, host: ParseConfigFileHost, extendedConfigCache?: Map<ExtendedConfigCacheEntry>, watchOptionsToExtend?: WatchOptions, extraFileExtensions?: readonly FileExtensionInfo[]): ParsedCommandLine | undefined;
4579
4645
  /**
4580
4646
  * Read tsconfig.json file
4581
4647
  * @param fileName The path to the config file
@@ -4643,13 +4709,13 @@ declare namespace ts {
4643
4709
  export {};
4644
4710
  }
4645
4711
  declare namespace ts {
4646
- function getEffectiveTypeRoots(options: CompilerOptions, host: GetEffectiveTypeRootsHost): string[] | undefined;
4712
+ export function getEffectiveTypeRoots(options: CompilerOptions, host: GetEffectiveTypeRootsHost): string[] | undefined;
4647
4713
  /**
4648
4714
  * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.
4649
4715
  * This is possible in case if resolution is performed for directives specified via 'types' parameter. In this case initial path for secondary lookups
4650
4716
  * is assumed to be the same as root directory of the project.
4651
4717
  */
4652
- function resolveTypeReferenceDirective(typeReferenceDirectiveName: string, containingFile: string | undefined, options: CompilerOptions, host: ModuleResolutionHost, redirectedReference?: ResolvedProjectReference): ResolvedTypeReferenceDirectiveWithFailedLookupLocations;
4718
+ export function resolveTypeReferenceDirective(typeReferenceDirectiveName: string, containingFile: string | undefined, options: CompilerOptions, host: ModuleResolutionHost, redirectedReference?: ResolvedProjectReference, cache?: TypeReferenceDirectiveResolutionCache): ResolvedTypeReferenceDirectiveWithFailedLookupLocations;
4653
4719
  /**
4654
4720
  * Given a set of options, returns the set of type directive names
4655
4721
  * that should be included for this program automatically.
@@ -4658,30 +4724,46 @@ declare namespace ts {
4658
4724
  * More type directives might appear in the program later as a result of loading actual source files;
4659
4725
  * this list is only the set of defaults that are implicitly included.
4660
4726
  */
4661
- function getAutomaticTypeDirectiveNames(options: CompilerOptions, host: ModuleResolutionHost): string[];
4727
+ export function getAutomaticTypeDirectiveNames(options: CompilerOptions, host: ModuleResolutionHost): string[];
4728
+ export interface TypeReferenceDirectiveResolutionCache extends PerDirectoryResolutionCache<ResolvedTypeReferenceDirectiveWithFailedLookupLocations>, PackageJsonInfoCache {
4729
+ }
4662
4730
  /**
4663
- * Cached module resolutions per containing directory.
4731
+ * Cached resolutions per containing directory.
4664
4732
  * This assumes that any module id will have the same resolution for sibling files located in the same folder.
4665
4733
  */
4666
- interface ModuleResolutionCache extends NonRelativeModuleNameResolutionCache {
4667
- getOrCreateCacheForDirectory(directoryName: string, redirectedReference?: ResolvedProjectReference): Map<ResolvedModuleWithFailedLookupLocations>;
4734
+ export interface PerDirectoryResolutionCache<T> {
4735
+ getOrCreateCacheForDirectory(directoryName: string, redirectedReference?: ResolvedProjectReference): Map<T>;
4736
+ clear(): void;
4737
+ /**
4738
+ * Updates with the current compilerOptions the cache will operate with.
4739
+ * This updates the redirects map as well if needed so module resolutions are cached if they can across the projects
4740
+ */
4741
+ update(options: CompilerOptions): void;
4742
+ }
4743
+ export interface ModuleResolutionCache extends PerDirectoryResolutionCache<ResolvedModuleWithFailedLookupLocations>, NonRelativeModuleNameResolutionCache, PackageJsonInfoCache {
4744
+ getPackageJsonInfoCache(): PackageJsonInfoCache;
4668
4745
  }
4669
4746
  /**
4670
4747
  * Stored map from non-relative module name to a table: directory -> result of module lookup in this directory
4671
4748
  * We support only non-relative module names because resolution of relative module names is usually more deterministic and thus less expensive.
4672
4749
  */
4673
- interface NonRelativeModuleNameResolutionCache {
4750
+ export interface NonRelativeModuleNameResolutionCache extends PackageJsonInfoCache {
4674
4751
  getOrCreateCacheForModuleName(nonRelativeModuleName: string, redirectedReference?: ResolvedProjectReference): PerModuleNameCache;
4675
4752
  }
4676
- interface PerModuleNameCache {
4753
+ export interface PackageJsonInfoCache {
4754
+ clear(): void;
4755
+ }
4756
+ export interface PerModuleNameCache {
4677
4757
  get(directory: string): ResolvedModuleWithFailedLookupLocations | undefined;
4678
4758
  set(directory: string, result: ResolvedModuleWithFailedLookupLocations): void;
4679
4759
  }
4680
- function createModuleResolutionCache(currentDirectory: string, getCanonicalFileName: (s: string) => string, options?: CompilerOptions): ModuleResolutionCache;
4681
- function resolveModuleNameFromCache(moduleName: string, containingFile: string, cache: ModuleResolutionCache): ResolvedModuleWithFailedLookupLocations | undefined;
4682
- function resolveModuleName(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations;
4683
- function nodeModuleNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations;
4684
- function classicNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: NonRelativeModuleNameResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations;
4760
+ export function createModuleResolutionCache(currentDirectory: string, getCanonicalFileName: (s: string) => string, options?: CompilerOptions): ModuleResolutionCache;
4761
+ export function createTypeReferenceDirectiveResolutionCache(currentDirectory: string, getCanonicalFileName: (s: string) => string, options?: CompilerOptions, packageJsonInfoCache?: PackageJsonInfoCache): TypeReferenceDirectiveResolutionCache;
4762
+ export function resolveModuleNameFromCache(moduleName: string, containingFile: string, cache: ModuleResolutionCache): ResolvedModuleWithFailedLookupLocations | undefined;
4763
+ export function resolveModuleName(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations;
4764
+ export function nodeModuleNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: ModuleResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations;
4765
+ export function classicNameResolver(moduleName: string, containingFile: string, compilerOptions: CompilerOptions, host: ModuleResolutionHost, cache?: NonRelativeModuleNameResolutionCache, redirectedReference?: ResolvedProjectReference): ResolvedModuleWithFailedLookupLocations;
4766
+ export {};
4685
4767
  }
4686
4768
  declare namespace ts {
4687
4769
  /**
@@ -4748,6 +4830,10 @@ declare namespace ts {
4748
4830
  * environment and merging hoisted declarations upon completion.
4749
4831
  */
4750
4832
  function visitFunctionBody(node: ConciseBody, visitor: Visitor, context: TransformationContext): ConciseBody;
4833
+ /**
4834
+ * Visits an iteration body, adding any block-scoped variables required by the transformation.
4835
+ */
4836
+ function visitIterationBody(body: Statement, visitor: Visitor, context: TransformationContext): Statement;
4751
4837
  /**
4752
4838
  * Visits each child of a Node using the supplied visitor, possibly returning a new Node of the same kind in its place.
4753
4839
  *
@@ -5036,6 +5122,8 @@ declare namespace ts {
5036
5122
  interface WatchCompilerHost<T extends BuilderProgram> extends ProgramHost<T>, WatchHost {
5037
5123
  /** Instead of using output d.ts file from project reference, use its source file */
5038
5124
  useSourceOfProjectReferenceRedirect?(): boolean;
5125
+ /** If provided, use this method to get parsed command lines for referenced projects */
5126
+ getParsedCommandLine?(fileName: string): ParsedCommandLine | undefined;
5039
5127
  /** If provided, callback to invoke after every new program creation */
5040
5128
  afterProgramCreate?(program: T): void;
5041
5129
  }
@@ -5131,9 +5219,9 @@ declare namespace ts {
5131
5219
  interface SolutionBuilderWithWatchHost<T extends BuilderProgram> extends SolutionBuilderHostBase<T>, WatchHost {
5132
5220
  }
5133
5221
  interface SolutionBuilder<T extends BuilderProgram> {
5134
- build(project?: string, cancellationToken?: CancellationToken): ExitStatus;
5222
+ build(project?: string, cancellationToken?: CancellationToken, writeFile?: WriteFileCallback, getCustomTransformers?: (project: string) => CustomTransformers): ExitStatus;
5135
5223
  clean(project?: string): ExitStatus;
5136
- buildReferences(project: string, cancellationToken?: CancellationToken): ExitStatus;
5224
+ buildReferences(project: string, cancellationToken?: CancellationToken, writeFile?: WriteFileCallback, getCustomTransformers?: (project: string) => CustomTransformers): ExitStatus;
5137
5225
  cleanReferences(project?: string): ExitStatus;
5138
5226
  getNextInvalidatedProject(cancellationToken?: CancellationToken): InvalidatedProject<T> | undefined;
5139
5227
  }
@@ -5291,7 +5379,7 @@ declare namespace ts {
5291
5379
  getName(): string;
5292
5380
  getDeclarations(): Declaration[] | undefined;
5293
5381
  getDocumentationComment(typeChecker: TypeChecker | undefined): SymbolDisplayPart[];
5294
- getJsDocTags(): JSDocTagInfo[];
5382
+ getJsDocTags(checker?: TypeChecker): JSDocTagInfo[];
5295
5383
  }
5296
5384
  interface Type {
5297
5385
  getFlags(): TypeFlags;
@@ -5422,6 +5510,7 @@ declare namespace ts {
5422
5510
  isKnownTypesPackageName?(name: string): boolean;
5423
5511
  installPackage?(options: InstallPackageOptions): Promise<ApplyCodeActionCommandResult>;
5424
5512
  writeFile?(fileName: string, content: string): void;
5513
+ getParsedCommandLine?(fileName: string): ParsedCommandLine | undefined;
5425
5514
  }
5426
5515
  type WithMetadata<T> = T & {
5427
5516
  metadata?: unknown;
@@ -5511,12 +5600,13 @@ declare namespace ts {
5511
5600
  *
5512
5601
  * @param fileName The path to the file
5513
5602
  * @param position A zero based index of the character where you want the entries
5514
- * @param entryName The name from an existing completion which came from `getCompletionsAtPosition`
5603
+ * @param entryName The `name` from an existing completion which came from `getCompletionsAtPosition`
5515
5604
  * @param formatOptions How should code samples in the completions be formatted, can be undefined for backwards compatibility
5516
- * @param source Source code for the current file, can be undefined for backwards compatibility
5605
+ * @param source `source` property from the completion entry
5517
5606
  * @param preferences User settings, can be undefined for backwards compatibility
5607
+ * @param data `data` property from the completion entry
5518
5608
  */
5519
- getCompletionEntryDetails(fileName: string, position: number, entryName: string, formatOptions: FormatCodeOptions | FormatCodeSettings | undefined, source: string | undefined, preferences: UserPreferences | undefined): CompletionEntryDetails | undefined;
5609
+ getCompletionEntryDetails(fileName: string, position: number, entryName: string, formatOptions: FormatCodeOptions | FormatCodeSettings | undefined, source: string | undefined, preferences: UserPreferences | undefined, data: CompletionEntryData | undefined): CompletionEntryDetails | undefined;
5520
5610
  getCompletionEntrySymbol(fileName: string, position: number, name: string, source: string | undefined): Symbol | undefined;
5521
5611
  /**
5522
5612
  * Gets semantic information about the identifier at a particular position in a
@@ -5577,7 +5667,7 @@ declare namespace ts {
5577
5667
  applyCodeActionCommand(fileName: string, action: CodeActionCommand | CodeActionCommand[]): Promise<ApplyCodeActionCommandResult | ApplyCodeActionCommandResult[]>;
5578
5668
  getApplicableRefactors(fileName: string, positionOrRange: number | TextRange, preferences: UserPreferences | undefined, triggerReason?: RefactorTriggerReason, kind?: string): ApplicableRefactorInfo[];
5579
5669
  getEditsForRefactor(fileName: string, formatOptions: FormatCodeSettings, positionOrRange: number | TextRange, refactorName: string, actionName: string, preferences: UserPreferences | undefined): RefactorEditInfo | undefined;
5580
- organizeImports(scope: OrganizeImportsScope, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): readonly FileTextChanges[];
5670
+ organizeImports(args: OrganizeImportsArgs, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): readonly FileTextChanges[];
5581
5671
  getEditsForFileRename(oldFilePath: string, newFilePath: string, formatOptions: FormatCodeSettings, preferences: UserPreferences | undefined): readonly FileTextChanges[];
5582
5672
  getEmitOutput(fileName: string, emitOnlyDtsFiles?: boolean, forceDtsEmit?: boolean): EmitOutput;
5583
5673
  getProgram(): Program | undefined;
@@ -5594,8 +5684,10 @@ declare namespace ts {
5594
5684
  type: "file";
5595
5685
  fileName: string;
5596
5686
  }
5597
- type OrganizeImportsScope = CombinedCodeFixScope;
5598
- type CompletionsTriggerCharacter = "." | '"' | "'" | "`" | "/" | "@" | "<" | "#";
5687
+ interface OrganizeImportsArgs extends CombinedCodeFixScope {
5688
+ skipDestructiveCodeActions?: boolean;
5689
+ }
5690
+ type CompletionsTriggerCharacter = "." | '"' | "'" | "`" | "/" | "@" | "<" | "#" | " ";
5599
5691
  interface GetCompletionsAtPositionOptions extends UserPreferences {
5600
5692
  /**
5601
5693
  * If the editor is asking for completions because a certain character was typed
@@ -5947,6 +6039,7 @@ declare namespace ts {
5947
6039
  name: string;
5948
6040
  containerKind: ScriptElementKind;
5949
6041
  containerName: string;
6042
+ unverified?: boolean;
5950
6043
  }
5951
6044
  interface DefinitionInfoAndBoundSpan {
5952
6045
  definitions?: readonly DefinitionInfo[];
@@ -5981,15 +6074,21 @@ declare namespace ts {
5981
6074
  typeParameterName = 18,
5982
6075
  enumMemberName = 19,
5983
6076
  functionName = 20,
5984
- regularExpressionLiteral = 21
6077
+ regularExpressionLiteral = 21,
6078
+ link = 22,
6079
+ linkName = 23,
6080
+ linkText = 24
5985
6081
  }
5986
6082
  interface SymbolDisplayPart {
5987
6083
  text: string;
5988
6084
  kind: string;
5989
6085
  }
6086
+ interface JSDocLinkDisplayPart extends SymbolDisplayPart {
6087
+ target: DocumentSpan;
6088
+ }
5990
6089
  interface JSDocTagInfo {
5991
6090
  name: string;
5992
- text?: string;
6091
+ text?: SymbolDisplayPart[];
5993
6092
  }
5994
6093
  interface QuickInfo {
5995
6094
  kind: ScriptElementKind;
@@ -6074,14 +6173,36 @@ declare namespace ts {
6074
6173
  * true when the current location also allows for a new identifier
6075
6174
  */
6076
6175
  isNewIdentifierLocation: boolean;
6176
+ /**
6177
+ * Indicates to client to continue requesting completions on subsequent keystrokes.
6178
+ */
6179
+ isIncomplete?: true;
6077
6180
  entries: CompletionEntry[];
6078
6181
  }
6182
+ interface CompletionEntryData {
6183
+ /** The file name declaring the export's module symbol, if it was an external module */
6184
+ fileName?: string;
6185
+ /** The module name (with quotes stripped) of the export's module symbol, if it was an ambient module */
6186
+ ambientModuleName?: string;
6187
+ /** True if the export was found in the package.json AutoImportProvider */
6188
+ isPackageJsonImport?: true;
6189
+ /**
6190
+ * The name of the property or export in the module's symbol table. Differs from the completion name
6191
+ * in the case of InternalSymbolName.ExportEquals and InternalSymbolName.Default.
6192
+ */
6193
+ exportName: string;
6194
+ /**
6195
+ * Set for auto imports with eagerly resolved module specifiers.
6196
+ */
6197
+ moduleSpecifier?: string;
6198
+ }
6079
6199
  interface CompletionEntry {
6080
6200
  name: string;
6081
6201
  kind: ScriptElementKind;
6082
6202
  kindModifiers?: string;
6083
6203
  sortText: string;
6084
6204
  insertText?: string;
6205
+ isSnippet?: true;
6085
6206
  /**
6086
6207
  * An optional span that indicates the text to be replaced by this completion item.
6087
6208
  * If present, this span should be used instead of the default one.
@@ -6090,9 +6211,20 @@ declare namespace ts {
6090
6211
  replacementSpan?: TextSpan;
6091
6212
  hasAction?: true;
6092
6213
  source?: string;
6214
+ sourceDisplay?: SymbolDisplayPart[];
6093
6215
  isRecommended?: true;
6094
6216
  isFromUncheckedFile?: true;
6095
6217
  isPackageJsonImport?: true;
6218
+ isImportStatementCompletion?: true;
6219
+ /**
6220
+ * A property to be sent back to TS Server in the CompletionDetailsRequest, along with `name`,
6221
+ * that allows TS Server to look up the symbol represented by the completion item, disambiguating
6222
+ * items with the same name. Currently only defined for auto-import completions, but the type is
6223
+ * `unknown` in the protocol, so it can be changed as needed to support other kinds of completions.
6224
+ * The presence of this property should generally not be used to assume that this completion entry
6225
+ * is an auto-import.
6226
+ */
6227
+ data?: CompletionEntryData;
6096
6228
  }
6097
6229
  interface CompletionEntryDetails {
6098
6230
  name: string;
@@ -6102,7 +6234,9 @@ declare namespace ts {
6102
6234
  documentation?: SymbolDisplayPart[];
6103
6235
  tags?: JSDocTagInfo[];
6104
6236
  codeActions?: CodeAction[];
6237
+ /** @deprecated Use `sourceDisplay` instead. */
6105
6238
  source?: SymbolDisplayPart[];
6239
+ sourceDisplay?: SymbolDisplayPart[];
6106
6240
  }
6107
6241
  interface OutliningSpan {
6108
6242
  /** The span of the document to actually collapse. */
@@ -6256,7 +6390,13 @@ declare namespace ts {
6256
6390
  */
6257
6391
  jsxAttribute = "JSX attribute",
6258
6392
  /** String literal */
6259
- string = "string"
6393
+ string = "string",
6394
+ /** Jsdoc @link: in `{@link C link text}`, the before and after text "{@link " and "}" */
6395
+ link = "link",
6396
+ /** Jsdoc @link: in `{@link C link text}`, the entity name "C" */
6397
+ linkName = "link name",
6398
+ /** Jsdoc @link: in `{@link C link text}`, the link text "link text" */
6399
+ linkText = "link text"
6260
6400
  }
6261
6401
  enum ScriptElementKindModifier {
6262
6402
  none = "",
@@ -6397,8 +6537,23 @@ declare namespace ts {
6397
6537
  * @param fileName The name of the file to be released
6398
6538
  * @param compilationSettings The compilation settings used to acquire the file
6399
6539
  */
6540
+ /**@deprecated pass scriptKind for correctness */
6400
6541
  releaseDocument(fileName: string, compilationSettings: CompilerOptions): void;
6542
+ /**
6543
+ * Informs the DocumentRegistry that a file is not needed any longer.
6544
+ *
6545
+ * Note: It is not allowed to call release on a SourceFile that was not acquired from
6546
+ * this registry originally.
6547
+ *
6548
+ * @param fileName The name of the file to be released
6549
+ * @param compilationSettings The compilation settings used to acquire the file
6550
+ * @param scriptKind The script kind of the file to be released
6551
+ */
6552
+ releaseDocument(fileName: string, compilationSettings: CompilerOptions, scriptKind: ScriptKind): void;
6553
+ /**
6554
+ * @deprecated pass scriptKind for correctness */
6401
6555
  releaseDocumentWithKey(path: Path, key: DocumentRegistryBucketKey): void;
6556
+ releaseDocumentWithKey(path: Path, key: DocumentRegistryBucketKey, scriptKind: ScriptKind): void;
6402
6557
  reportStats(): string;
6403
6558
  }
6404
6559
  type DocumentRegistryBucketKey = string & {
@@ -6469,7 +6624,7 @@ declare namespace ts {
6469
6624
  /** @deprecated Use `factory.createRegularExpressionLiteral` or the factory supplied by your transformation context instead. */
6470
6625
  const createRegularExpressionLiteral: (text: string) => RegularExpressionLiteral;
6471
6626
  /** @deprecated Use `factory.createLoopVariable` or the factory supplied by your transformation context instead. */
6472
- const createLoopVariable: () => Identifier;
6627
+ const createLoopVariable: (reservedInNestedScopes?: boolean | undefined) => Identifier;
6473
6628
  /** @deprecated Use `factory.createUniqueName` or the factory supplied by your transformation context instead. */
6474
6629
  const createUniqueName: (text: string, flags?: GeneratedIdentifierFlags | undefined) => Identifier;
6475
6630
  /** @deprecated Use `factory.createPrivateIdentifier` or the factory supplied by your transformation context instead. */
@@ -6641,13 +6796,13 @@ declare namespace ts {
6641
6796
  /** @deprecated Use `factory.updateObjectLiteralExpression` or the factory supplied by your transformation context instead. */
6642
6797
  const updateObjectLiteral: (node: ObjectLiteralExpression, properties: readonly ObjectLiteralElementLike[]) => ObjectLiteralExpression;
6643
6798
  /** @deprecated Use `factory.createPropertyAccessExpression` or the factory supplied by your transformation context instead. */
6644
- const createPropertyAccess: (expression: Expression, name: string | Identifier | PrivateIdentifier) => PropertyAccessExpression;
6799
+ const createPropertyAccess: (expression: Expression, name: string | MemberName) => PropertyAccessExpression;
6645
6800
  /** @deprecated Use `factory.updatePropertyAccessExpression` or the factory supplied by your transformation context instead. */
6646
- const updatePropertyAccess: (node: PropertyAccessExpression, expression: Expression, name: Identifier | PrivateIdentifier) => PropertyAccessExpression;
6801
+ const updatePropertyAccess: (node: PropertyAccessExpression, expression: Expression, name: MemberName) => PropertyAccessExpression;
6647
6802
  /** @deprecated Use `factory.createPropertyAccessChain` or the factory supplied by your transformation context instead. */
6648
- const createPropertyAccessChain: (expression: Expression, questionDotToken: QuestionDotToken | undefined, name: string | Identifier | PrivateIdentifier) => PropertyAccessChain;
6803
+ const createPropertyAccessChain: (expression: Expression, questionDotToken: QuestionDotToken | undefined, name: string | MemberName) => PropertyAccessChain;
6649
6804
  /** @deprecated Use `factory.updatePropertyAccessChain` or the factory supplied by your transformation context instead. */
6650
- const updatePropertyAccessChain: (node: PropertyAccessChain, expression: Expression, questionDotToken: QuestionDotToken | undefined, name: Identifier | PrivateIdentifier) => PropertyAccessChain;
6805
+ const updatePropertyAccessChain: (node: PropertyAccessChain, expression: Expression, questionDotToken: QuestionDotToken | undefined, name: MemberName) => PropertyAccessChain;
6651
6806
  /** @deprecated Use `factory.createElementAccessExpression` or the factory supplied by your transformation context instead. */
6652
6807
  const createElementAccess: (expression: Expression, index: number | Expression) => ElementAccessExpression;
6653
6808
  /** @deprecated Use `factory.updateElementAccessExpression` or the factory supplied by your transformation context instead. */
@@ -6917,51 +7072,51 @@ declare namespace ts {
6917
7072
  /** @deprecated Use `factory.createJSDocTypeExpression` or the factory supplied by your transformation context instead. */
6918
7073
  const createJSDocTypeExpression: (type: TypeNode) => JSDocTypeExpression;
6919
7074
  /** @deprecated Use `factory.createJSDocTypeTag` or the factory supplied by your transformation context instead. */
6920
- const createJSDocTypeTag: (tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment?: string | undefined) => JSDocTypeTag;
7075
+ const createJSDocTypeTag: (tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment?: string | NodeArray<JSDocText | JSDocLink> | undefined) => JSDocTypeTag;
6921
7076
  /** @deprecated Use `factory.createJSDocReturnTag` or the factory supplied by your transformation context instead. */
6922
- const createJSDocReturnTag: (tagName: Identifier | undefined, typeExpression?: JSDocTypeExpression | undefined, comment?: string | undefined) => JSDocReturnTag;
7077
+ const createJSDocReturnTag: (tagName: Identifier | undefined, typeExpression?: JSDocTypeExpression | undefined, comment?: string | NodeArray<JSDocText | JSDocLink> | undefined) => JSDocReturnTag;
6923
7078
  /** @deprecated Use `factory.createJSDocThisTag` or the factory supplied by your transformation context instead. */
6924
- const createJSDocThisTag: (tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment?: string | undefined) => JSDocThisTag;
7079
+ const createJSDocThisTag: (tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment?: string | NodeArray<JSDocText | JSDocLink> | undefined) => JSDocThisTag;
6925
7080
  /** @deprecated Use `factory.createJSDocComment` or the factory supplied by your transformation context instead. */
6926
- const createJSDocComment: (comment?: string | undefined, tags?: readonly JSDocTag[] | undefined) => JSDoc;
7081
+ const createJSDocComment: (comment?: string | NodeArray<JSDocText | JSDocLink> | undefined, tags?: readonly JSDocTag[] | undefined) => JSDoc;
6927
7082
  /** @deprecated Use `factory.createJSDocParameterTag` or the factory supplied by your transformation context instead. */
6928
- const createJSDocParameterTag: (tagName: Identifier | undefined, name: EntityName, isBracketed: boolean, typeExpression?: JSDocTypeExpression | undefined, isNameFirst?: boolean | undefined, comment?: string | undefined) => JSDocParameterTag;
7083
+ const createJSDocParameterTag: (tagName: Identifier | undefined, name: EntityName, isBracketed: boolean, typeExpression?: JSDocTypeExpression | undefined, isNameFirst?: boolean | undefined, comment?: string | NodeArray<JSDocText | JSDocLink> | undefined) => JSDocParameterTag;
6929
7084
  /** @deprecated Use `factory.createJSDocClassTag` or the factory supplied by your transformation context instead. */
6930
- const createJSDocClassTag: (tagName: Identifier | undefined, comment?: string | undefined) => JSDocClassTag;
7085
+ const createJSDocClassTag: (tagName: Identifier | undefined, comment?: string | NodeArray<JSDocText | JSDocLink> | undefined) => JSDocClassTag;
6931
7086
  /** @deprecated Use `factory.createJSDocAugmentsTag` or the factory supplied by your transformation context instead. */
6932
7087
  const createJSDocAugmentsTag: (tagName: Identifier | undefined, className: ExpressionWithTypeArguments & {
6933
7088
  readonly expression: Identifier | PropertyAccessEntityNameExpression;
6934
- }, comment?: string | undefined) => JSDocAugmentsTag;
7089
+ }, comment?: string | NodeArray<JSDocText | JSDocLink> | undefined) => JSDocAugmentsTag;
6935
7090
  /** @deprecated Use `factory.createJSDocEnumTag` or the factory supplied by your transformation context instead. */
6936
- const createJSDocEnumTag: (tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment?: string | undefined) => JSDocEnumTag;
7091
+ const createJSDocEnumTag: (tagName: Identifier | undefined, typeExpression: JSDocTypeExpression, comment?: string | NodeArray<JSDocText | JSDocLink> | undefined) => JSDocEnumTag;
6937
7092
  /** @deprecated Use `factory.createJSDocTemplateTag` or the factory supplied by your transformation context instead. */
6938
- const createJSDocTemplateTag: (tagName: Identifier | undefined, constraint: JSDocTypeExpression | undefined, typeParameters: readonly TypeParameterDeclaration[], comment?: string | undefined) => JSDocTemplateTag;
7093
+ const createJSDocTemplateTag: (tagName: Identifier | undefined, constraint: JSDocTypeExpression | undefined, typeParameters: readonly TypeParameterDeclaration[], comment?: string | NodeArray<JSDocText | JSDocLink> | undefined) => JSDocTemplateTag;
6939
7094
  /** @deprecated Use `factory.createJSDocTypedefTag` or the factory supplied by your transformation context instead. */
6940
- const createJSDocTypedefTag: (tagName: Identifier | undefined, typeExpression?: JSDocTypeLiteral | JSDocTypeExpression | undefined, fullName?: Identifier | JSDocNamespaceDeclaration | undefined, comment?: string | undefined) => JSDocTypedefTag;
7095
+ const createJSDocTypedefTag: (tagName: Identifier | undefined, typeExpression?: JSDocTypeLiteral | JSDocTypeExpression | undefined, fullName?: Identifier | JSDocNamespaceDeclaration | undefined, comment?: string | NodeArray<JSDocText | JSDocLink> | undefined) => JSDocTypedefTag;
6941
7096
  /** @deprecated Use `factory.createJSDocCallbackTag` or the factory supplied by your transformation context instead. */
6942
- const createJSDocCallbackTag: (tagName: Identifier | undefined, typeExpression: JSDocSignature, fullName?: Identifier | JSDocNamespaceDeclaration | undefined, comment?: string | undefined) => JSDocCallbackTag;
7097
+ const createJSDocCallbackTag: (tagName: Identifier | undefined, typeExpression: JSDocSignature, fullName?: Identifier | JSDocNamespaceDeclaration | undefined, comment?: string | NodeArray<JSDocText | JSDocLink> | undefined) => JSDocCallbackTag;
6943
7098
  /** @deprecated Use `factory.createJSDocSignature` or the factory supplied by your transformation context instead. */
6944
7099
  const createJSDocSignature: (typeParameters: readonly JSDocTemplateTag[] | undefined, parameters: readonly JSDocParameterTag[], type?: JSDocReturnTag | undefined) => JSDocSignature;
6945
7100
  /** @deprecated Use `factory.createJSDocPropertyTag` or the factory supplied by your transformation context instead. */
6946
- const createJSDocPropertyTag: (tagName: Identifier | undefined, name: EntityName, isBracketed: boolean, typeExpression?: JSDocTypeExpression | undefined, isNameFirst?: boolean | undefined, comment?: string | undefined) => JSDocPropertyTag;
7101
+ const createJSDocPropertyTag: (tagName: Identifier | undefined, name: EntityName, isBracketed: boolean, typeExpression?: JSDocTypeExpression | undefined, isNameFirst?: boolean | undefined, comment?: string | NodeArray<JSDocText | JSDocLink> | undefined) => JSDocPropertyTag;
6947
7102
  /** @deprecated Use `factory.createJSDocTypeLiteral` or the factory supplied by your transformation context instead. */
6948
7103
  const createJSDocTypeLiteral: (jsDocPropertyTags?: readonly JSDocPropertyLikeTag[] | undefined, isArrayType?: boolean | undefined) => JSDocTypeLiteral;
6949
7104
  /** @deprecated Use `factory.createJSDocImplementsTag` or the factory supplied by your transformation context instead. */
6950
7105
  const createJSDocImplementsTag: (tagName: Identifier | undefined, className: ExpressionWithTypeArguments & {
6951
7106
  readonly expression: Identifier | PropertyAccessEntityNameExpression;
6952
- }, comment?: string | undefined) => JSDocImplementsTag;
7107
+ }, comment?: string | NodeArray<JSDocText | JSDocLink> | undefined) => JSDocImplementsTag;
6953
7108
  /** @deprecated Use `factory.createJSDocAuthorTag` or the factory supplied by your transformation context instead. */
6954
- const createJSDocAuthorTag: (tagName: Identifier | undefined, comment?: string | undefined) => JSDocAuthorTag;
7109
+ const createJSDocAuthorTag: (tagName: Identifier | undefined, comment?: string | NodeArray<JSDocText | JSDocLink> | undefined) => JSDocAuthorTag;
6955
7110
  /** @deprecated Use `factory.createJSDocPublicTag` or the factory supplied by your transformation context instead. */
6956
- const createJSDocPublicTag: (tagName: Identifier | undefined, comment?: string | undefined) => JSDocPublicTag;
7111
+ const createJSDocPublicTag: (tagName: Identifier | undefined, comment?: string | NodeArray<JSDocText | JSDocLink> | undefined) => JSDocPublicTag;
6957
7112
  /** @deprecated Use `factory.createJSDocPrivateTag` or the factory supplied by your transformation context instead. */
6958
- const createJSDocPrivateTag: (tagName: Identifier | undefined, comment?: string | undefined) => JSDocPrivateTag;
7113
+ const createJSDocPrivateTag: (tagName: Identifier | undefined, comment?: string | NodeArray<JSDocText | JSDocLink> | undefined) => JSDocPrivateTag;
6959
7114
  /** @deprecated Use `factory.createJSDocProtectedTag` or the factory supplied by your transformation context instead. */
6960
- const createJSDocProtectedTag: (tagName: Identifier | undefined, comment?: string | undefined) => JSDocProtectedTag;
7115
+ const createJSDocProtectedTag: (tagName: Identifier | undefined, comment?: string | NodeArray<JSDocText | JSDocLink> | undefined) => JSDocProtectedTag;
6961
7116
  /** @deprecated Use `factory.createJSDocReadonlyTag` or the factory supplied by your transformation context instead. */
6962
- const createJSDocReadonlyTag: (tagName: Identifier | undefined, comment?: string | undefined) => JSDocReadonlyTag;
7117
+ const createJSDocReadonlyTag: (tagName: Identifier | undefined, comment?: string | NodeArray<JSDocText | JSDocLink> | undefined) => JSDocReadonlyTag;
6963
7118
  /** @deprecated Use `factory.createJSDocUnknownTag` or the factory supplied by your transformation context instead. */
6964
- const createJSDocTag: (tagName: Identifier, comment?: string | undefined) => JSDocUnknownTag;
7119
+ const createJSDocTag: (tagName: Identifier, comment?: string | NodeArray<JSDocText | JSDocLink> | undefined) => JSDocUnknownTag;
6965
7120
  /** @deprecated Use `factory.createJsxElement` or the factory supplied by your transformation context instead. */
6966
7121
  const createJsxElement: (openingElement: JsxOpeningElement, children: readonly JsxChild[], closingElement: JsxClosingElement) => JsxElement;
6967
7122
  /** @deprecated Use `factory.updateJsxElement` or the factory supplied by your transformation context instead. */
@@ -7217,6 +7372,10 @@ declare namespace ts {
7217
7372
  */
7218
7373
  interface Map<T> extends ESMap<string, T> {
7219
7374
  }
7375
+ /**
7376
+ * @deprecated Use `isMemberName` instead.
7377
+ */
7378
+ const isIdentifierOrPrivateIdentifier: (node: Node) => node is MemberName;
7220
7379
  }
7221
7380
 
7222
7381
  export = ts;