@puq/names
Version:
The String Names Library provides a simple names function that takes a string input and returns all possible naming convention variants, such as camelCase, snake_case, CONSTANT_CASE, and more. Perfect for tasks like code generation, formatting standardiza
30 lines (29 loc) • 1.31 kB
JavaScript
import { normalize as e } from '../common/normalize.js';
export function names(a, r) {
let o = e(a), t = o.replace(/(?:^\w|[A-Z]|\b\w)/g, (e)=>e.toUpperCase()).replace(/\s+/g, ''), p = o.replace(/(?:^\w|[A-Z]|\b\w)/g, (e, a)=>0 === a ? e.toLowerCase() : e.toUpperCase()).replace(/\s+/g, ''), s = o.toUpperCase().replace(/\s/g, '_'), l = o.replace(/(?:^\w|[A-Z]|\b\w)/g, (e)=>e.toUpperCase()), m = o.replace(/\s/g, '-'), c = o.replace(/\s/g, '_'), n = {
camelCase: p,
kebabCase: m,
constCase: s,
titleCase: l,
pascalCase: t,
snakeCase: c,
sentenceCase: o[0].toUpperCase() + o.slice(1),
propertyName: p,
className: t,
fileName: m,
constantName: s,
dotCase: o.replace(/\s/g, '.'),
controllerName: t + 'Controller',
serviceName: t + 'Service',
moduleName: t + 'Module',
createDtoName: `Create${t}Dto`,
updateDtoName: `Update${t}Dto`,
queryDtoName: `Query${t}Dto`,
modelName: `${t}Model`,
optionsName: `${t}Options`
}, { wrapper: i, prefix: N, suffix: $ } = r || {};
return Object.entries(n).map(([e, a])=>{
N && (a = `${N}${a}`), $ && (a = `${a}${$}`), i && (a = `${i}${a}${i}`), n[e] = a;
}), n;
}
//# sourceMappingURL=names.js.map