@builder.io/mitosis
Version:
Write components once, run everywhere. Compiles to Vue, React, Solid, and Liquid. Import code from Figma and Builder.io
16 lines (15 loc) • 807 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.getSignalInputs = void 0;
const getSignalInputs = ({ props, json, writeableSignals, requiredSignals, }) => {
const propsTypeRef = json.propsTypeRef !== 'any' ? json.propsTypeRef : undefined;
return props
.map((prop) => {
const hasDefaultProp = json.defaultProps && json.defaultProps.hasOwnProperty(prop);
const propType = propsTypeRef ? `${propsTypeRef}["${prop}"]` : 'any';
const defaultProp = hasDefaultProp ? `defaultProps["${prop}"]` : '';
return `${prop} = ${writeableSignals.includes(prop) ? 'model' : 'input'}${requiredSignals.includes(prop) ? '.required' : ''}<${propType}>(${defaultProp})`;
})
.join('\n');
};
exports.getSignalInputs = getSignalInputs;
;