Skip to content

Commit

Permalink
remove onioning from compiled nested ternaries
Browse files Browse the repository at this point in the history
  • Loading branch information
ryansolid committed Jan 28, 2025
1 parent a265b14 commit 1f81838
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 94 deletions.
4 changes: 2 additions & 2 deletions packages/babel-plugin-jsx-dom-expressions/src/shared/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -274,10 +274,10 @@ export function transformCondition(path, inline, deep) {
: path.scope.generateUidIdentifier("_c$");
expr.test = t.callExpression(id, []);
if (t.isConditionalExpression(expr.consequent) || t.isLogicalExpression(expr.consequent)) {
expr.consequent = transformCondition(path.get("consequent"), inline, true);
expr.consequent = transformCondition(path.get("consequent"), true, true);
}
if (t.isConditionalExpression(expr.alternate) || t.isLogicalExpression(expr.alternate)) {
expr.alternate = transformCondition(path.get("alternate"), inline, true);
expr.alternate = transformCondition(path.get("alternate"), true, true);
}
}
} else if (t.isLogicalExpression(expr)) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,13 +53,7 @@ const template7 = (() => {
_el$7,
(() => {
var _c$3 = _$memo(() => state.count > 5);
return () =>
_c$3()
? (() => {
var _c$4 = _$memo(() => !!state.dynamic);
return () => (_c$4() ? best : good());
})()
: bad;
return () => (_c$3() ? (_$memo(() => !!state.dynamic)() ? best : good()) : bad);
})()
);
return _el$7;
Expand All @@ -69,8 +63,8 @@ const template8 = (() => {
_$insert(
_el$8,
(() => {
var _c$5 = _$memo(() => !!(state.dynamic && state.something));
return () => _c$5() && good();
var _c$4 = _$memo(() => !!(state.dynamic && state.something));
return () => _c$4() && good();
})()
);
return _el$8;
Expand All @@ -80,8 +74,8 @@ const template9 = (() => {
_$insert(
_el$9,
(() => {
var _c$6 = _$memo(() => !!state.dynamic);
return () => (_c$6() && good()) || bad;
var _c$5 = _$memo(() => !!state.dynamic);
return () => (_c$5() && good()) || bad;
})()
);
return _el$9;
Expand All @@ -96,14 +90,8 @@ const template11 = (() => {
_$insert(
_el$11,
(() => {
var _c$7 = _$memo(() => !!state.a);
return () =>
_c$7()
? a()
: (() => {
var _c$8 = _$memo(() => !!state.b);
return () => (_c$8() ? b() : state.c ? "c" : "fallback");
})();
var _c$6 = _$memo(() => !!state.a);
return () => (_c$6() ? a() : _$memo(() => !!state.b)() ? b() : state.c ? "c" : "fallback");
})()
);
return _el$11;
Expand Down Expand Up @@ -164,8 +152,8 @@ const template20 = (() => {
_$insert(
_el$13,
(() => {
var _c$9 = _$memo(() => !!state.dynamic);
return () => (_c$9() ? _$createComponent(Comp, {}) : _$createComponent(Comp, {}));
var _c$7 = _$memo(() => !!state.dynamic);
return () => (_c$7() ? _$createComponent(Comp, {}) : _$createComponent(Comp, {}));
})()
);
return _el$13;
Expand Down Expand Up @@ -215,8 +203,8 @@ const template29 = (() => {
_$insert(
_el$18,
(() => {
var _c$10 = _$memo(() => !!thing());
return () => (_c$10() && thing1()) ?? thing2() ?? thing3();
var _c$8 = _$memo(() => !!thing());
return () => (_c$8() && thing1()) ?? thing2() ?? thing3();
})()
);
return _el$18;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,13 +55,7 @@ const template7 = (() => {
_el$7,
(() => {
var _c$3 = _$memo(() => state.count > 5);
return () =>
_c$3()
? (() => {
var _c$4 = _$memo(() => !!state.dynamic);
return () => (_c$4() ? best : good());
})()
: bad;
return () => (_c$3() ? (_$memo(() => !!state.dynamic)() ? best : good()) : bad);
})()
);
return _el$7;
Expand All @@ -71,8 +65,8 @@ const template8 = (() => {
_$insert(
_el$8,
(() => {
var _c$5 = _$memo(() => !!(state.dynamic && state.something));
return () => _c$5() && good();
var _c$4 = _$memo(() => !!(state.dynamic && state.something));
return () => _c$4() && good();
})()
);
return _el$8;
Expand All @@ -82,8 +76,8 @@ const template9 = (() => {
_$insert(
_el$9,
(() => {
var _c$6 = _$memo(() => !!state.dynamic);
return () => (_c$6() && good()) || bad;
var _c$5 = _$memo(() => !!state.dynamic);
return () => (_c$5() && good()) || bad;
})()
);
return _el$9;
Expand All @@ -98,14 +92,8 @@ const template11 = (() => {
_$insert(
_el$11,
(() => {
var _c$7 = _$memo(() => !!state.a);
return () =>
_c$7()
? a()
: (() => {
var _c$8 = _$memo(() => !!state.b);
return () => (_c$8() ? b() : state.c ? "c" : "fallback");
})();
var _c$6 = _$memo(() => !!state.a);
return () => (_c$6() ? a() : _$memo(() => !!state.b)() ? b() : state.c ? "c" : "fallback");
})()
);
return _el$11;
Expand Down Expand Up @@ -169,8 +157,8 @@ const template20 = (() => {
_$insert(
_el$13,
(() => {
var _c$9 = _$memo(() => !!state.dynamic);
return () => (_c$9() ? _$createComponent(Comp, {}) : _$createComponent(Comp, {}));
var _c$7 = _$memo(() => !!state.dynamic);
return () => (_c$7() ? _$createComponent(Comp, {}) : _$createComponent(Comp, {}));
})()
);
return _el$13;
Expand Down Expand Up @@ -220,8 +208,8 @@ const template29 = (() => {
_$insert(
_el$18,
(() => {
var _c$10 = _$memo(() => !!thing());
return () => (_c$10() && thing1()) ?? thing2() ?? thing3();
var _c$8 = _$memo(() => !!thing());
return () => (_c$8() && thing1()) ?? thing2() ?? thing3();
})()
);
return _el$18;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,13 +53,7 @@ const template7 = (() => {
_el$7,
(() => {
var _c$3 = _$memo(() => state.count > 5);
return () =>
_c$3()
? (() => {
var _c$4 = _$memo(() => !!state.dynamic);
return () => (_c$4() ? best : good());
})()
: bad;
return () => (_c$3() ? (_$memo(() => !!state.dynamic)() ? best : good()) : bad);
})()
);
return _el$7;
Expand All @@ -69,8 +63,8 @@ const template8 = (() => {
_$insert(
_el$8,
(() => {
var _c$5 = _$memo(() => !!(state.dynamic && state.something));
return () => _c$5() && good();
var _c$4 = _$memo(() => !!(state.dynamic && state.something));
return () => _c$4() && good();
})()
);
return _el$8;
Expand All @@ -80,8 +74,8 @@ const template9 = (() => {
_$insert(
_el$9,
(() => {
var _c$6 = _$memo(() => !!state.dynamic);
return () => (_c$6() && good()) || bad;
var _c$5 = _$memo(() => !!state.dynamic);
return () => (_c$5() && good()) || bad;
})()
);
return _el$9;
Expand All @@ -96,14 +90,8 @@ const template11 = (() => {
_$insert(
_el$11,
(() => {
var _c$7 = _$memo(() => !!state.a);
return () =>
_c$7()
? a()
: (() => {
var _c$8 = _$memo(() => !!state.b);
return () => (_c$8() ? b() : state.c ? "c" : "fallback");
})();
var _c$6 = _$memo(() => !!state.a);
return () => (_c$6() ? a() : _$memo(() => !!state.b)() ? b() : state.c ? "c" : "fallback");
})()
);
return _el$11;
Expand Down Expand Up @@ -164,8 +152,8 @@ const template20 = (() => {
_$insert(
_el$13,
(() => {
var _c$9 = _$memo(() => !!state.dynamic);
return () => (_c$9() ? _$createComponent(Comp, {}) : _$createComponent(Comp, {}));
var _c$7 = _$memo(() => !!state.dynamic);
return () => (_c$7() ? _$createComponent(Comp, {}) : _$createComponent(Comp, {}));
})()
);
return _el$13;
Expand Down Expand Up @@ -215,8 +203,8 @@ const template29 = (() => {
_$insert(
_el$18,
(() => {
var _c$10 = _$memo(() => !!thing());
return () => (_c$10() && thing1()) ?? thing2() ?? thing3();
var _c$8 = _$memo(() => !!thing());
return () => (_c$8() && thing1()) ?? thing2() ?? thing3();
})()
);
return _el$18;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,13 +54,7 @@ const template7 = (() => {
_el$7,
(() => {
var _c$3 = _$memo(() => state.count > 5);
return () =>
_c$3()
? (() => {
var _c$4 = _$memo(() => !!state.dynamic);
return () => (_c$4() ? best : good());
})()
: bad;
return () => (_c$3() ? (_$memo(() => !!state.dynamic)() ? best : good()) : bad);
})()
);
return _el$7;
Expand All @@ -70,8 +64,8 @@ const template8 = (() => {
_$insert(
_el$8,
(() => {
var _c$5 = _$memo(() => !!(state.dynamic && state.something));
return () => _c$5() && good();
var _c$4 = _$memo(() => !!(state.dynamic && state.something));
return () => _c$4() && good();
})()
);
return _el$8;
Expand All @@ -81,8 +75,8 @@ const template9 = (() => {
_$insert(
_el$9,
(() => {
var _c$6 = _$memo(() => !!state.dynamic);
return () => (_c$6() && good()) || bad;
var _c$5 = _$memo(() => !!state.dynamic);
return () => (_c$5() && good()) || bad;
})()
);
return _el$9;
Expand All @@ -97,14 +91,8 @@ const template11 = (() => {
_$insert(
_el$11,
(() => {
var _c$7 = _$memo(() => !!state.a);
return () =>
_c$7()
? a()
: (() => {
var _c$8 = _$memo(() => !!state.b);
return () => (_c$8() ? b() : state.c ? "c" : "fallback");
})();
var _c$6 = _$memo(() => !!state.a);
return () => (_c$6() ? a() : _$memo(() => !!state.b)() ? b() : state.c ? "c" : "fallback");
})()
);
return _el$11;
Expand Down Expand Up @@ -169,8 +157,8 @@ const template20 = (() => {
_$insert(
_el$13,
(() => {
var _c$9 = _$memo(() => !!state.dynamic);
return () => (_c$9() ? _$createComponent(Comp, {}) : _$createComponent(Comp, {}));
var _c$7 = _$memo(() => !!state.dynamic);
return () => (_c$7() ? _$createComponent(Comp, {}) : _$createComponent(Comp, {}));
})()
);
return _el$13;
Expand Down Expand Up @@ -222,8 +210,8 @@ const template29 = (() => {
_$insert(
_el$18,
(() => {
var _c$10 = _$memo(() => !!thing());
return () => (_c$10() && thing1()) ?? thing2() ?? thing3();
var _c$8 = _$memo(() => !!thing());
return () => (_c$8() && thing1()) ?? thing2() ?? thing3();
})()
);
return _el$18;
Expand Down

0 comments on commit 1f81838

Please sign in to comment.