Skip to content

Commit cad94e7

Browse files
committed
feat: convert ternary to jsx if else
1 parent a3eadc7 commit cad94e7

File tree

2 files changed

+37
-26
lines changed

2 files changed

+37
-26
lines changed

plugin/__tests__/variants.spec.js

Lines changed: 30 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -505,16 +505,19 @@ pluginTester({
505505
size: 'small'
506506
}
507507
styles.useVariants(__uni__variants)
508-
509-
return condition ? (
510-
<Variants variants={__uni__variants}>
511-
<Text style={[styles.container]}>Hello world</Text>
512-
</Variants>
513-
) : (
514-
<Variants variants={__uni__variants}>
515-
<Text style={[styles.container]}>Hello world</Text>
516-
</Variants>
517-
)
508+
if (condition) {
509+
return (
510+
<Variants variants={__uni__variants}>
511+
<Text style={[styles.container]}>Hello world</Text>
512+
</Variants>
513+
)
514+
} else {
515+
return (
516+
<Variants variants={__uni__variants}>
517+
<Text style={[styles.container]}>Hello world</Text>
518+
</Variants>
519+
)
520+
}
518521
}
519522
520523
const styles = StyleSheet.create(
@@ -798,20 +801,23 @@ pluginTester({
798801
error: !!error
799802
}
800803
styles.useVariants(__uni__variants)
801-
802-
return children ? (
803-
<Variants variants={__uni__variants}>
804-
<Text ref={ref} style={[styles.label]} {...props}>
805-
{children}
806-
</Text>
807-
</Variants>
808-
) : (
809-
<Variants variants={__uni__variants}>
810-
<Text ref={ref} style={[styles.label]} {...props}>
811-
{name}
812-
</Text>
813-
</Variants>
814-
)
804+
if (children) {
805+
return (
806+
<Variants variants={__uni__variants}>
807+
<Text ref={ref} style={[styles.label]} {...props}>
808+
{children}
809+
</Text>
810+
</Variants>
811+
)
812+
} else {
813+
return (
814+
<Variants variants={__uni__variants}>
815+
<Text ref={ref} style={[styles.label]} {...props}>
816+
{name}
817+
</Text>
818+
</Variants>
819+
)
820+
}
815821
}
816822
817823
const styles = StyleSheet.create(theme => ({}), 895830154)

plugin/variants.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,13 @@ function addJSXVariants(t, path) {
6767
const jsxElement = path.node.argument
6868

6969
if (t.isConditionalExpression(jsxElement)) {
70-
jsxElement.alternate = wrapVariants(t, jsxElement.alternate)
71-
jsxElement.consequent = wrapVariants(t, jsxElement.consequent)
70+
const ifStatement = t.ifStatement(
71+
jsxElement.test,
72+
t.blockStatement([t.returnStatement(jsxElement.consequent)]),
73+
t.blockStatement([t.returnStatement(jsxElement.alternate)])
74+
)
75+
76+
path.replaceWith(ifStatement)
7277

7378
return
7479
}

0 commit comments

Comments
 (0)