11import { TSESTree as T , ESLintUtils } from "@typescript-eslint/utils" ;
2+ import { isJSXElementOrFragment } from "../utils" ;
23
34const createRule = ESLintUtils . RuleCreator . withoutDocs ;
45
@@ -25,7 +26,7 @@ export default createRule({
2526 const sourceCode = context . getSourceCode ( ) ;
2627 const putIntoJSX = ( node : T . Node ) : string => {
2728 const text = sourceCode . getText ( node ) ;
28- return node . type === "JSXElement" || node . type === "JSXFragment" ? text : `{${ text } }` ;
29+ return isJSXElementOrFragment ( node ) ? text : `{${ text } }` ;
2930 } ;
3031
3132 const logicalExpressionHandler = ( node : T . LogicalExpression ) => {
@@ -36,7 +37,7 @@ export default createRule({
3637 fix : ( fixer ) =>
3738 fixer . replaceText (
3839 node . parent ?. type === "JSXExpressionContainer" &&
39- node . parent . parent ?. type === "JSXElement"
40+ isJSXElementOrFragment ( node . parent . parent )
4041 ? node . parent
4142 : node ,
4243 `<Show when={${ sourceCode . getText ( node . left ) } }>${ putIntoJSX ( node . right ) } </Show>`
@@ -55,7 +56,7 @@ export default createRule({
5556 fix : ( fixer ) =>
5657 fixer . replaceText (
5758 node . parent ?. type === "JSXExpressionContainer" &&
58- node . parent . parent ?. type === "JSXElement"
59+ isJSXElementOrFragment ( node . parent . parent )
5960 ? node . parent
6061 : node ,
6162 `<Show when={${ sourceCode . getText ( node . test ) } } fallback={${ sourceCode . getText (
@@ -68,7 +69,7 @@ export default createRule({
6869
6970 return {
7071 JSXExpressionContainer ( node ) {
71- if ( node . parent ?. type !== "JSXElement" ) {
72+ if ( ! isJSXElementOrFragment ( node . parent ) ) {
7273 return ;
7374 }
7475 if ( node . expression . type === "LogicalExpression" ) {
0 commit comments