Skip to content

Commit da8cc13

Browse files
committed
support for satisfies op
1 parent 64ef074 commit da8cc13

File tree

3 files changed

+30
-2
lines changed

3 files changed

+30
-2
lines changed

lib/utils/indent-ts.js

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -296,6 +296,26 @@ function defineVisitor({
296296
expressionTokens.firstToken
297297
)
298298
},
299+
/**
300+
* Process satisfies expression
301+
*
302+
* e.g.
303+
* ```
304+
* var foo = bar satisfies Bar
305+
* // ^^^^^^^^^^^^^^^^^
306+
* ```
307+
*/
308+
TSSatisfiesExpression(node) {
309+
const expressionTokens = getFirstAndLastTokens(node.expression)
310+
const satisfiesToken = tokenStore.getTokenAfter(
311+
expressionTokens.lastToken
312+
)
313+
setOffset(
314+
[satisfiesToken, getFirstAndLastTokens(node.typeAnnotation).firstToken],
315+
1,
316+
expressionTokens.firstToken
317+
)
318+
},
299319
/**
300320
* Process type reference
301321
*

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
"@types/node": "^13.13.5",
7070
"@types/semver": "^7.3.9",
7171
"@types/xml-name-validator": "^4.0.0",
72-
"@typescript-eslint/parser": "^5.43.0",
72+
"@typescript-eslint/parser": "^5.44.0",
7373
"@vuepress/plugin-pwa": "^1.9.7",
7474
"acorn": "^8.7.1",
7575
"env-cmd": "^10.1.0",
@@ -87,7 +87,7 @@
8787
"mocha": "^10.0.0",
8888
"nyc": "^15.1.0",
8989
"prettier": "^2.6.2",
90-
"typescript": "^4.6.4",
90+
"typescript": "^4.9.3",
9191
"vue-eslint-editor": "^1.1.0",
9292
"vuepress": "^1.9.7"
9393
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<!--{"parserOptions": {"parser":"@typescript-eslint/parser"}, "requirements": { "@typescript-eslint/parser": ">=5.44.0" } }-->
2+
<script lang="ts">
3+
var a =
4+
{} satisfies
5+
Foo
6+
var b =
7+
{} satisfies Bar
8+
</script>

0 commit comments

Comments
 (0)