tamim-cli
Version:
A CLI tool for generating module boilerplate code including routes, controllers, services, and more
32 lines (31 loc) • 1.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateFileContent = void 0;
const fileGeneratos_1 = require("./fileGeneratos");
const fileTypes_1 = require("../../enums/fileTypes");
const generateFileContent = (fileType, name, capitalizedModuleName, exportName, fields, options) => {
const generator = fileGeneratos_1.fileGenerators[`${fileType}.ts`];
if (!generator) {
return `// Define your ${fileType} logic here\nexport const ${exportName} = {};`;
}
const fileFieldData = [];
const processedFields = new Set();
fields.forEach((field) => {
if (!processedFields.has(field.name)) {
for (const fileType of Object.values(fileTypes_1.FileTypes)) {
if (field.name.toLowerCase().includes(fileType.toLowerCase()) &&
field.type === "string") {
fileFieldData.push({
fieldName: field.name,
fieldType: fileType,
});
processedFields.add(field.name);
break;
}
}
}
});
const isExistFileField = fileFieldData.length > 0;
return generator(name, capitalizedModuleName, fields, isExistFileField, fileFieldData || null, options);
};
exports.generateFileContent = generateFileContent;