in packages/codegen-ui-react/lib/react-component-render-helper.ts [264:297]
export function resolvePropToExpression(prop: ComponentPropertyValueTypes): Expression {
if (isFixedPropertyWithValue(prop)) {
const propValue = prop.value;
switch (typeof propValue) {
case 'number':
return factory.createNumericLiteral(propValue, undefined);
case 'boolean':
return propValue ? factory.createTrue() : factory.createFalse();
default:
return factory.createStringLiteral(propValue.toString(), undefined);
}
}
if (isBoundProperty(prop)) {
const expr =
prop.defaultValue === undefined
? buildBindingExpression(prop)
: buildBindingWithDefaultExpression(prop, prop.defaultValue);
return expr;
}
if (isCollectionItemBoundProperty(prop)) {
const expr =
prop.defaultValue === undefined
? buildCollectionBindingExpression(prop)
: buildCollectionBindingWithDefaultExpression(prop, prop.defaultValue);
return expr;
}
if (isConcatenatedProperty(prop)) {
return buildConcatExpression(prop);
}
if (isConditionalProperty(prop)) {
return buildConditionalExpression(prop);
}
return factory.createVoidZero();
}