UNPKG

@mannguyen/nestcli

Version:

A CLI to create model

39 lines (31 loc) 1.1 kB
import { upperFirst, flatten, camelCase } from "lodash"; import { FileType, FolderName } from "../enums"; import { readFile, getDirectory, getFileName } from "../utils"; export async function mainModuleTemplate(options) { const directory = getDirectory({ fileType: FileType.MainModule }); const fileName = getFileName({ fileType: FileType.MainModule, model: options.model, }); const rows = await readFile({ directory, fileName }); for (const [idx, row] of [...rows].entries()) { if (row.indexOf("@Module") !== -1) { const rowImport = `import { ${upperFirst( camelCase(options.model) )}Module } from "./${FolderName.Module.replace( "{folderName}", options.model )}/${options.model}.module";`; rows.splice(idx - 1, 0, [rowImport]); } if (row.indexOf("TypeOrmModule.forRoot") !== -1) { const space = rows[idx + 1].split("TypeOrmModule.forRoot")[0]; rows.splice( idx + 1, 0, `${space}${upperFirst(camelCase(options.model))}Module,` ); } } return flatten(rows).join("\n"); }