JSTQL-JS-Transform/output_testing/1262no-uncond.js

68 lines
1,001 B
JavaScript
Raw Normal View History

// When an object's properties are only read conditionally, we should
import { identity } from "shared-runtime";
// track the base object as a dependency.
function useOnlyConditionalDependencies({
props,
cond
}) {
const x = {};
if (cond |> identity(%)) {
x.b = props.a.b;
x.c = props.a.b.c;
}
return x;
}
export const FIXTURE_ENTRYPOINT = {
fn: useOnlyConditionalDependencies,
params: [{
props: {
a: {
b: 2
}
},
cond: true
}],
sequentialRenders: [{
props: {
a: {
b: 2
}
},
cond: true
}, {
props: null,
cond: false
},
// check we preserve nullthrows
{
props: {
a: {
b: {
c: undefined
}
}
},
cond: true
}, {
props: {
a: {
b: undefined
}
},
cond: true
}, {
props: {
a: {
b: {
c: undefined
}
}
},
cond: true
}, {
props: undefined,
cond: true
}]
};