@builder.io/mitosis
Version:
Write components once, run everywhere. Compiles to Vue, React, Solid, and Liquid. Import code from Figma and Builder.io
24 lines (23 loc) • 871 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.getOutputs = void 0;
const event_handlers_1 = require("../../../helpers/event-handlers");
const getOutputs = ({ json, outputVars, api, }) => {
const propsTypeRef = json.propsTypeRef !== 'any' ? json.propsTypeRef : undefined;
if (api === 'signals') {
return outputVars
.map((output) => {
const propType = propsTypeRef
? `<Parameters<Required<${propsTypeRef}>["${output}"]>[number] | void> `
: '';
return `${(0, event_handlers_1.getEventNameWithoutOn)(output)} = output${propType}()`;
})
.join('\n');
}
return outputVars
.map((output) => {
return `@Output() ${output} = new EventEmitter<any>()`;
})
.join('\n');
};
exports.getOutputs = getOutputs;
;