@stryke/prisma-trpc-generator
Version:
A fork of the prisma-trpc-generator code to work in ESM with Prisma v6.
20 lines (18 loc) • 1.07 kB
JavaScript
const require_acronyms = require('./acronyms.cjs');
const require_combine = require('./combine.cjs');
const require_decamelize = require('./decamelize.cjs');
const require_format_special_cases = require('./format-special-cases.cjs');
const require_upper_case_first = require('./upper-case-first.cjs');
//#region ../string-format/src/title-case.ts
/**
* Convert a string to title case.
*
* @param input - The input string to convert.
* @param options - Options for formatting special cases.
* @returns The title cased string.
*/
function titleCase(input, options) {
return input?.replaceAll(":", " - ")?.replaceAll("+", " + ")?.split(/\s+-\s+/).map((segment) => require_decamelize.decamelize(segment).split(/[\s\-_]/).map(require_upper_case_first.upperCaseFirst).map((value) => options?.expandAcronyms ? require_acronyms.ACRONYMS[value]?.description || value : value).map((value, index, array) => require_format_special_cases.formatSpecialCases(value, index, array, options)).reduce(require_combine.combine)).join(" - ");
}
//#endregion
exports.titleCase = titleCase;