@foal/cli
Version:
CLI tool for FoalTS
41 lines (40 loc) • 1.28 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CreateServiceCommandService = void 0;
// FoalTS
const path_1 = require("path");
const utils_1 = require("../utils");
/**
* Service for creating a new service file.
*/
class CreateServiceCommandService {
generator;
constructor(generator) {
this.generator = generator;
}
/**
* Create a new service file.
*
* @param {string} name - The name of the service
* @returns {void}
*/
run({ name }) {
let root = '';
if (this.generator.exists('src/app/services')) {
root = 'src/app/services';
}
else if (this.generator.exists('services')) {
root = 'services';
}
const names = (0, utils_1.getNames)((0, path_1.basename)(name));
const subdir = (0, path_1.dirname)(name);
this.generator
.cd(root)
.ensureDir(subdir)
.cd(subdir)
.render('service/service.empty.ts', `${names.kebabName}.service.ts`, names)
.ensureFile('index.ts')
.addNamedExportIn('index.ts', names.upperFirstCamelName, `./${names.kebabName}.service`);
}
}
exports.CreateServiceCommandService = CreateServiceCommandService;