@mongez/gnz
Version:
Generator Z, the next generation of scaffolding tools.
73 lines (72 loc) • 2.37 kB
JavaScript
import {toStudlyCase,toKebabCase,ltrim,toCamelCase}from'@mongez/reinforcements';import pluralize from'pluralize';const namesFactory = {
qwikComponent(name) {
return toStudlyCase(name);
},
qwikPath(name) {
return toKebabCase(name);
},
qwikPageComponent(name) {
return toStudlyCase(name.replaceAll(/\(|\)|\[|\]|\./g, "").replaceAll("/", "_"));
},
qwikPagePath(name) {
return ltrim(name, "/");
},
// Warlock.js
routePath(name) {
return `/${toKebabCase(pluralize(name))}`;
},
repositoryClassName(name) {
name = name.replace(/Repository$/i, "");
return `${pluralize(toStudlyCase(name))}Repository`;
},
repositoryExportName(name) {
name = name.replace(/Repository$/i, "");
return `${pluralize(toCamelCase(name))}Repository`;
},
repositoryFilePath(name) {
name = name.replace(/Repository$/i, "");
return `${toKebabCase(pluralize(name))}.repository`;
},
// Database Model
modelTableName(name) {
return toCamelCase(pluralize(name));
},
modelClassName(name) {
name = name.replace(/Model$/i, "");
return toStudlyCase(pluralize(name, 1));
},
modelFilePath(name) {
name = name.replace(/Model$/i, "");
return `${toKebabCase(pluralize(name, 1))}.model`;
},
modelFolderPath(name) {
return toKebabCase(pluralize(name, 1));
},
// Output
outputFilePath(name) {
name = name.replace(/Output$/i, "");
return `${toKebabCase(pluralize(name, 1))}.output`;
},
outputClassName(name) {
name = name.replace(/Output$/i, "");
return `${toStudlyCase(pluralize(name, 1))}Output`;
},
// Restful
restfulClassName(name) {
return `Restful${toStudlyCase(pluralize(name))}`;
},
restfulExportName(name) {
return `restful${toStudlyCase(pluralize(name))}`;
},
restfulFilePath(name) {
return `${toKebabCase(pluralize(name))}.restful`;
},
controllerName(name) {
name = name.replace(/Controller$/i, "");
return `${toCamelCase(name)}Controller`;
},
controllerFilePath(name) {
name = name.replace(/Controller$/i, "");
return `${toKebabCase(name)}.controller`;
},
};export{namesFactory};//# sourceMappingURL=names-factory.js.map