UNPKG

@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
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