@mannguyen/nestcli
Version:
A CLI to create model
39 lines (31 loc) • 1.1 kB
JavaScript
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");
}