UNPKG

easy-component-generator

Version:

![npm](https://img.shields.io/npm/v/easy-component-generator) ![license](https://img.shields.io/npm/l/easy-component-generator) ![downloads](https://img.shields.io/npm/dt/easy-component-generator) ![size](https://img.shields.io/bundlephobia/min/easy-compo

34 lines (33 loc) 1.47 kB
"use strict"; 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` } ]; } }