@@ -213,27 +213,11 @@ namespace ts.formatting {
213
213
public NoSpaceBetweenYieldKeywordAndStar : Rule ;
214
214
public SpaceBetweenYieldOrYieldStarAndOperand : Rule ;
215
215
216
- // Async-await
216
+ // Async functions
217
217
public SpaceBetweenAsyncAndFunctionKeyword : Rule ;
218
- public NoSpaceBetweenAsyncAndFunctionKeyword : Rule ;
219
- public SpaceAfterAwaitKeyword : Rule ;
220
- public NoSpaceAfterAwaitKeyword : Rule ;
221
-
222
- // Type alias declaration
223
- public SpaceAfterTypeKeyword : Rule ;
224
- public NoSpaceAfterTypeKeyword : Rule ;
225
218
226
219
// Tagged template string
227
220
public SpaceBetweenTagAndTemplateString : Rule ;
228
- public NoSpaceBetweenTagAndTemplateString : Rule ;
229
-
230
- // Type operation
231
- public SpaceBeforeBar : Rule ;
232
- public NoSpaceBeforeBar : Rule ;
233
- public SpaceAfterBar : Rule ;
234
- public NoSpaceAfterBar : Rule ;
235
- public SpaceBeforeAmpersand : Rule ;
236
- public SpaceAfterAmpersand : Rule ;
237
221
238
222
constructor ( ) {
239
223
///
@@ -315,7 +299,7 @@ namespace ts.formatting {
315
299
316
300
this . NoSpaceBeforeComma = new Rule ( RuleDescriptor . create2 ( Shared . TokenRange . Any , SyntaxKind . CommaToken ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
317
301
318
- this . SpaceAfterCertainKeywords = new Rule ( RuleDescriptor . create4 ( Shared . TokenRange . FromTokens ( [ SyntaxKind . VarKeyword , SyntaxKind . ThrowKeyword , SyntaxKind . NewKeyword , SyntaxKind . DeleteKeyword , SyntaxKind . ReturnKeyword , SyntaxKind . TypeOfKeyword ] ) , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Space ) ) ;
302
+ this . SpaceAfterCertainKeywords = new Rule ( RuleDescriptor . create4 ( Shared . TokenRange . FromTokens ( [ SyntaxKind . VarKeyword , SyntaxKind . ThrowKeyword , SyntaxKind . NewKeyword , SyntaxKind . DeleteKeyword , SyntaxKind . ReturnKeyword , SyntaxKind . TypeOfKeyword , SyntaxKind . AwaitKeyword ] ) , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Space ) ) ;
319
303
this . SpaceAfterLetConstInVariableDeclaration = new Rule ( RuleDescriptor . create4 ( Shared . TokenRange . FromTokens ( [ SyntaxKind . LetKeyword , SyntaxKind . ConstKeyword ] ) , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext , Rules . IsStartOfVariableDeclarationList ) , RuleAction . Space ) ) ;
320
304
this . NoSpaceBeforeOpenParenInFuncCall = new Rule ( RuleDescriptor . create2 ( Shared . TokenRange . Any , SyntaxKind . OpenParenToken ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext , Rules . IsFunctionCallOrNewContext , Rules . IsPreviousTokenNotComma ) , RuleAction . Delete ) ) ;
321
305
this . SpaceAfterFunctionInFuncDecl = new Rule ( RuleDescriptor . create3 ( SyntaxKind . FunctionKeyword , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsFunctionDeclContext ) , RuleAction . Space ) ) ;
@@ -348,7 +332,7 @@ namespace ts.formatting {
348
332
this . NoSpaceAfterModuleImport = new Rule ( RuleDescriptor . create2 ( Shared . TokenRange . FromTokens ( [ SyntaxKind . ModuleKeyword , SyntaxKind . RequireKeyword ] ) , SyntaxKind . OpenParenToken ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
349
333
350
334
// Add a space around certain TypeScript keywords
351
- this . SpaceAfterCertainTypeScriptKeywords = new Rule ( RuleDescriptor . create4 ( Shared . TokenRange . FromTokens ( [ SyntaxKind . AbstractKeyword , SyntaxKind . ClassKeyword , SyntaxKind . DeclareKeyword , SyntaxKind . DefaultKeyword , SyntaxKind . EnumKeyword , SyntaxKind . ExportKeyword , SyntaxKind . ExtendsKeyword , SyntaxKind . GetKeyword , SyntaxKind . ImplementsKeyword , SyntaxKind . ImportKeyword , SyntaxKind . InterfaceKeyword , SyntaxKind . ModuleKeyword , SyntaxKind . NamespaceKeyword , SyntaxKind . PrivateKeyword , SyntaxKind . PublicKeyword , SyntaxKind . ProtectedKeyword , SyntaxKind . SetKeyword , SyntaxKind . StaticKeyword ] ) , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Space ) ) ;
335
+ this . SpaceAfterCertainTypeScriptKeywords = new Rule ( RuleDescriptor . create4 ( Shared . TokenRange . FromTokens ( [ SyntaxKind . AbstractKeyword , SyntaxKind . ClassKeyword , SyntaxKind . DeclareKeyword , SyntaxKind . DefaultKeyword , SyntaxKind . EnumKeyword , SyntaxKind . ExportKeyword , SyntaxKind . ExtendsKeyword , SyntaxKind . GetKeyword , SyntaxKind . ImplementsKeyword , SyntaxKind . ImportKeyword , SyntaxKind . InterfaceKeyword , SyntaxKind . ModuleKeyword , SyntaxKind . NamespaceKeyword , SyntaxKind . PrivateKeyword , SyntaxKind . PublicKeyword , SyntaxKind . ProtectedKeyword , SyntaxKind . SetKeyword , SyntaxKind . StaticKeyword , SyntaxKind . TypeKeyword ] ) , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Space ) ) ;
352
336
this . SpaceBeforeCertainTypeScriptKeywords = new Rule ( RuleDescriptor . create4 ( Shared . TokenRange . Any , Shared . TokenRange . FromTokens ( [ SyntaxKind . ExtendsKeyword , SyntaxKind . ImplementsKeyword ] ) ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Space ) ) ;
353
337
354
338
// Treat string literals in module names as identifiers, and add a space between the literal and the opening Brace braces, e.g.: module "m2" {
@@ -384,25 +368,9 @@ namespace ts.formatting {
384
368
385
369
// Async-await
386
370
this . SpaceBetweenAsyncAndFunctionKeyword = new Rule ( RuleDescriptor . create1 ( SyntaxKind . AsyncKeyword , SyntaxKind . FunctionKeyword ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Space ) ) ;
387
- this . NoSpaceBetweenAsyncAndFunctionKeyword = new Rule ( RuleDescriptor . create1 ( SyntaxKind . AsyncKeyword , SyntaxKind . FunctionKeyword ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
388
- this . SpaceAfterAwaitKeyword = new Rule ( RuleDescriptor . create3 ( SyntaxKind . AwaitKeyword , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Space ) ) ;
389
- this . NoSpaceAfterAwaitKeyword = new Rule ( RuleDescriptor . create3 ( SyntaxKind . AwaitKeyword , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
390
-
391
- // Type alias declaration
392
- this . SpaceAfterTypeKeyword = new Rule ( RuleDescriptor . create3 ( SyntaxKind . TypeKeyword , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Space ) ) ;
393
- this . NoSpaceAfterTypeKeyword = new Rule ( RuleDescriptor . create3 ( SyntaxKind . TypeKeyword , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
394
371
395
372
// template string
396
373
this . SpaceBetweenTagAndTemplateString = new Rule ( RuleDescriptor . create3 ( SyntaxKind . Identifier , Shared . TokenRange . FromTokens ( [ SyntaxKind . NoSubstitutionTemplateLiteral , SyntaxKind . TemplateHead ] ) ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Space ) ) ;
397
- this . NoSpaceBetweenTagAndTemplateString = new Rule ( RuleDescriptor . create3 ( SyntaxKind . Identifier , Shared . TokenRange . FromTokens ( [ SyntaxKind . NoSubstitutionTemplateLiteral , SyntaxKind . TemplateHead ] ) ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
398
-
399
- // type operation
400
- this . SpaceBeforeBar = new Rule ( RuleDescriptor . create3 ( SyntaxKind . BarToken , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Space ) ) ;
401
- this . NoSpaceBeforeBar = new Rule ( RuleDescriptor . create3 ( SyntaxKind . BarToken , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
402
- this . SpaceAfterBar = new Rule ( RuleDescriptor . create2 ( Shared . TokenRange . Any , SyntaxKind . BarToken ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Space ) ) ;
403
- this . NoSpaceAfterBar = new Rule ( RuleDescriptor . create2 ( Shared . TokenRange . Any , SyntaxKind . BarToken ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Delete ) ) ;
404
- this . SpaceBeforeAmpersand = new Rule ( RuleDescriptor . create3 ( SyntaxKind . AmpersandToken , Shared . TokenRange . Any ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Space ) ) ;
405
- this . SpaceAfterAmpersand = new Rule ( RuleDescriptor . create2 ( Shared . TokenRange . Any , SyntaxKind . AmpersandToken ) , RuleOperation . create2 ( new RuleOperationContext ( Rules . IsSameLineTokenContext ) , RuleAction . Space ) ) ;
406
374
407
375
// These rules are higher in priority than user-configurable rules.
408
376
this . HighPriorityCommonRules =
@@ -430,12 +398,8 @@ namespace ts.formatting {
430
398
this . NoSpaceBeforeOpenParenInFuncCall ,
431
399
this . SpaceBeforeBinaryKeywordOperator , this . SpaceAfterBinaryKeywordOperator ,
432
400
this . SpaceAfterVoidOperator ,
433
- this . SpaceBetweenAsyncAndFunctionKeyword , this . NoSpaceBetweenAsyncAndFunctionKeyword ,
434
- this . SpaceAfterAwaitKeyword , this . NoSpaceAfterAwaitKeyword ,
435
- this . SpaceAfterTypeKeyword , this . NoSpaceAfterTypeKeyword ,
436
- this . SpaceBetweenTagAndTemplateString , this . NoSpaceBetweenTagAndTemplateString ,
437
- this . SpaceBeforeBar , this . NoSpaceBeforeBar , this . SpaceAfterBar , this . NoSpaceAfterBar ,
438
- this . SpaceBeforeAmpersand , this . SpaceAfterAmpersand ,
401
+ this . SpaceBetweenAsyncAndFunctionKeyword ,
402
+ this . SpaceBetweenTagAndTemplateString ,
439
403
440
404
// TypeScript-specific rules
441
405
this . NoSpaceAfterConstructor , this . NoSpaceAfterModuleImport ,
@@ -539,6 +503,8 @@ namespace ts.formatting {
539
503
case SyntaxKind . ConditionalExpression :
540
504
case SyntaxKind . AsExpression :
541
505
case SyntaxKind . TypePredicate :
506
+ case SyntaxKind . UnionType :
507
+ case SyntaxKind . IntersectionType :
542
508
return true ;
543
509
544
510
// equals in binding elements: function foo([[x, y] = [1, 2]])
0 commit comments