1
1
import { TSESTree as T , ESLintUtils } from "@typescript-eslint/utils" ;
2
+ import { isJSXElementOrFragment } from "../utils" ;
2
3
3
4
const createRule = ESLintUtils . RuleCreator . withoutDocs ;
4
5
@@ -25,7 +26,7 @@ export default createRule({
25
26
const sourceCode = context . getSourceCode ( ) ;
26
27
const putIntoJSX = ( node : T . Node ) : string => {
27
28
const text = sourceCode . getText ( node ) ;
28
- return node . type === "JSXElement" || node . type === "JSXFragment" ? text : `{${ text } }` ;
29
+ return isJSXElementOrFragment ( node ) ? text : `{${ text } }` ;
29
30
} ;
30
31
31
32
const logicalExpressionHandler = ( node : T . LogicalExpression ) => {
@@ -36,7 +37,7 @@ export default createRule({
36
37
fix : ( fixer ) =>
37
38
fixer . replaceText (
38
39
node . parent ?. type === "JSXExpressionContainer" &&
39
- node . parent . parent ?. type === "JSXElement"
40
+ isJSXElementOrFragment ( node . parent . parent )
40
41
? node . parent
41
42
: node ,
42
43
`<Show when={${ sourceCode . getText ( node . left ) } }>${ putIntoJSX ( node . right ) } </Show>`
@@ -55,7 +56,7 @@ export default createRule({
55
56
fix : ( fixer ) =>
56
57
fixer . replaceText (
57
58
node . parent ?. type === "JSXExpressionContainer" &&
58
- node . parent . parent ?. type === "JSXElement"
59
+ isJSXElementOrFragment ( node . parent . parent )
59
60
? node . parent
60
61
: node ,
61
62
`<Show when={${ sourceCode . getText ( node . test ) } } fallback={${ sourceCode . getText (
@@ -68,7 +69,7 @@ export default createRule({
68
69
69
70
return {
70
71
JSXExpressionContainer ( node ) {
71
- if ( node . parent ?. type !== "JSXElement" ) {
72
+ if ( ! isJSXElementOrFragment ( node . parent ) ) {
72
73
return ;
73
74
}
74
75
if ( node . expression . type === "LogicalExpression" ) {
0 commit comments