easy-component-generator
Version:
    • 1.47 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateFiles = generateFiles;
const Templates_1 = require("../Templates");
async function generateFiles(type, name) {
const cleanName = name.replace(/(Types?)$/, '');
switch (type) {
case 'UI':
case 'Component':
case 'Block':
return [
{ name: `${cleanName}.tsx`, content: (0, Templates_1.getComponentTemplate)(cleanName) },
{ name: `T${cleanName}Props.ts`, content: (0, Templates_1.getPropsTemplate)(cleanName) },
{ name: 'index.ts', content: `export * from './${cleanName}';\n` },
];
case 'Type':
return [
{ name: `T${cleanName}.ts`, content: (0, Templates_1.getTypesTemplate)(cleanName) },
{ name: 'index.ts', content: `export * from './T${cleanName}';\n` }
];
case 'Hook':
const hookName = name.startsWith('use') ? name : `use${name}`;
return [
{ name: `${hookName}.ts`, content: (0, Templates_1.getHookTemplate)(cleanName) },
{ name: 'index.ts', content: `export * from './${hookName}';\n` }
];
default:
return [
{ name: `${cleanName}.ts`, content: (0, Templates_1.getFileTemplate)(cleanName) },
{ name: 'index.ts', content: `export * from './${cleanName}';\n` }
];
}
}