UNPKG

@foal/cli

Version:

CLI tool for FoalTS

43 lines (42 loc) 1.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CreateEntityCommandService = void 0; // FoalTS const path_1 = require("path"); const utils_1 = require("../utils"); /** * Service for creating a new entity file. */ class CreateEntityCommandService { generator; constructor(generator) { this.generator = generator; } /** * Create a new entity file. * * @param {string} name - The name of the entity * @returns {void} */ run({ name }) { let root = ''; if (this.generator.exists('src/app/entities')) { root = 'src/app/entities'; } else if (this.generator.exists('entities')) { root = 'entities'; } const names = (0, utils_1.getNames)((0, path_1.basename)(name)); const subdir = (0, path_1.dirname)(name); const isMongoDBProject = this.generator.projectHasDependency('mongodb'); this.generator .cd(root) .ensureDir(subdir) .cd(subdir) .renderOnlyIf(!isMongoDBProject, 'entity/entity.ts', `${names.kebabName}.entity.ts`, names) .renderOnlyIf(isMongoDBProject, 'entity/entity.mongodb.ts', `${names.kebabName}.entity.ts`, names) .ensureFile('index.ts') .addNamedExportIn('index.ts', names.upperFirstCamelName, `./${names.kebabName}.entity`); } } exports.CreateEntityCommandService = CreateEntityCommandService;