Skip to content

Commit bb2c28b

Browse files
committed
fix
1 parent 8eeee99 commit bb2c28b

File tree

1 file changed

+25
-37
lines changed

1 file changed

+25
-37
lines changed

lib/utils/indent-ts.js

+25-37
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,10 @@ const { isTypeNode } = require('./ts-ast-utils')
5151
* @typedef {import('@typescript-eslint/types').TSESTree.TSInferType} TSInferType
5252
* @typedef {import('@typescript-eslint/types').TSESTree.TSOptionalType} TSOptionalType
5353
* @typedef {import('@typescript-eslint/types').TSESTree.TSNonNullExpression} TSNonNullExpression
54+
* @typedef {import('@typescript-eslint/types').TSESTree.TSAsExpression} TSAsExpression
55+
* @typedef {import('@typescript-eslint/types').TSESTree.TSSatisfiesExpression} TSSatisfiesExpression
56+
* @typedef {import('@typescript-eslint/types').TSESTree.TSTypeReference} TSTypeReference
57+
* @typedef {import('@typescript-eslint/types').TSESTree.TSInstantiationExpression} TSInstantiationExpression
5458
* @typedef {import('@typescript-eslint/types').TSESTree.JSXChild} JSXChild
5559
* @typedef {import('@typescript-eslint/types').TSESTree.TypeNode} TypeNode
5660
*
@@ -281,60 +285,57 @@ function defineVisitor({
281285
}
282286
},
283287
/**
284-
* Process as expression
288+
* Process as expression or satisfies expression
285289
*
286290
* e.g.
287291
* ```
288292
* var foo = bar as boolean
289293
* // ^^^^^^^^^^^^^^
290294
* ```
291-
*/
292-
TSAsExpression(node) {
293-
const expressionTokens = getFirstAndLastTokens(node.expression)
294-
const asToken = tokenStore.getTokenAfter(expressionTokens.lastToken)
295-
setOffset(
296-
[asToken, getFirstAndLastTokens(node.typeAnnotation).firstToken],
297-
1,
298-
expressionTokens.firstToken
299-
)
300-
},
301-
/**
302-
* Process satisfies expression
303295
*
304296
* e.g.
305297
* ```
306298
* var foo = bar satisfies Bar
307299
* // ^^^^^^^^^^^^^^^^^
308300
* ```
301+
*
302+
* @param {TSAsExpression | TSSatisfiesExpression} node
309303
*/
310-
TSSatisfiesExpression(node) {
304+
'TSAsExpression, TSSatisfiesExpression'(node) {
311305
const expressionTokens = getFirstAndLastTokens(node.expression)
312-
const satisfiesToken = tokenStore.getTokenAfter(
306+
const asOrSatisfiesToken = tokenStore.getTokenAfter(
313307
expressionTokens.lastToken
314308
)
315309
setOffset(
316-
[satisfiesToken, getFirstAndLastTokens(node.typeAnnotation).firstToken],
310+
[
311+
asOrSatisfiesToken,
312+
getFirstAndLastTokens(node.typeAnnotation).firstToken
313+
],
317314
1,
318315
expressionTokens.firstToken
319316
)
320317
},
321318
/**
322-
* Process type reference
319+
* Process type reference and instantiation expression
323320
*
324321
* e.g.
325322
* ```
326323
* const foo: Type<P>
327324
* // ^^^^^^^
328325
* ```
326+
*
327+
* e.g.
328+
* ```
329+
* const ErrorMap = Map<string, Error>;
330+
* // ^^^^^^^^^^^^^^^^^^
331+
* ```
332+
*
333+
* @param {TSTypeReference | TSInstantiationExpression} node
329334
*/
330-
TSTypeReference(node) {
335+
'TSTypeReference, TSInstantiationExpression'(node) {
331336
if (node.typeParameters) {
332-
const typeNameTokens = getFirstAndLastTokens(node.typeName)
333-
setOffset(
334-
tokenStore.getFirstToken(node.typeParameters),
335-
1,
336-
typeNameTokens.firstToken
337-
)
337+
const firstToken = tokenStore.getFirstToken(node)
338+
setOffset(tokenStore.getFirstToken(node.typeParameters), 1, firstToken)
338339
}
339340
},
340341
/**
@@ -1288,19 +1289,6 @@ function defineVisitor({
12881289
setOffset(quasiTokens, 0, firstToken)
12891290
setOffset(expressionToken, 1, firstToken)
12901291
},
1291-
/**
1292-
* Process instantiation expression
1293-
*
1294-
* e.g.
1295-
* ```
1296-
* const ErrorMap = Map<string, Error>;
1297-
* // ^^^^^^^^^^^^^^^^^^
1298-
* ```
1299-
*/
1300-
TSInstantiationExpression(node) {
1301-
const firstToken = tokenStore.getFirstToken(node)
1302-
setOffset(tokenStore.getFirstToken(node.typeParameters), 1, firstToken)
1303-
},
13041292
// ----------------------------------------------------------------------
13051293
// NON-STANDARD NODES
13061294
// ----------------------------------------------------------------------

0 commit comments

Comments
 (0)