Input
function Foo({}) {
const outer = val => {
const fact = x => {
if (x <= 0) {
return 1;
}
return x * fact(x - 1);
};
return fact(val);
};
return outer(3);
}
export const FIXTURE_ENTRYPOINT = {
fn: Foo,
params: [{}],
};
Code
import { c as _c } from "react/compiler-runtime";
function Foo(t0) {
const $ = _c(1);
const outer = _temp;
let t1;
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
t1 = outer(3);
$[0] = t1;
} else {
t1 = $[0];
}
return t1;
}
function _temp(val) {
const fact = (x) => {
if (x <= 0) {
return 1;
}
return x * fact(x - 1);
};
return fact(val);
}
export const FIXTURE_ENTRYPOINT = {
fn: Foo,
params: [{}],
};
Eval output
(kind: ok) 6