UNPKG

@stryke/prisma-trpc-generator

Version:

A fork of the prisma-trpc-generator code to work in ESM with Prisma v6.

33 lines (31 loc) 1.56 kB
const require_acronyms = require('./acronyms.cjs'); const require_articles = require('./articles.cjs'); const require_conjunctions = require('./conjunctions.cjs'); const require_prepositions = require('./prepositions.cjs'); const require_special_cases = require('./special-cases.cjs'); //#region ../string-format/src/format-special-cases.ts /** * Handle special words in a title. * * @see https://apastyle.apa.org/style-grammar-guidelines/capitalization/title-case * * @param value - The word to handle * @param index - The index of the word in the title * @param words - The full title as an array of words * @returns The formatted word */ function formatSpecialCases(value, index, words, options) { const lowercaseStr = value.toLowerCase(); const uppercaseStr = value.toUpperCase(); for (const special of require_special_cases.SPECIAL_CASES) if (special.toLowerCase() === lowercaseStr) return special; if (require_acronyms.ACRONYMS[uppercaseStr]) return options?.useDescriptions !== false ? require_acronyms.ACRONYMS[uppercaseStr].description : require_acronyms.ACRONYMS[uppercaseStr].display || uppercaseStr; if (index === 0) return value; if (index === words.length - 1) return value; if (value.length >= 4) return value; if (require_prepositions.PREPOSITIONS.includes(lowercaseStr)) return lowercaseStr; if (require_conjunctions.CONJUNCTIONS.includes(lowercaseStr)) return lowercaseStr; if (require_articles.ARTICLES.includes(lowercaseStr)) return lowercaseStr; return value; } //#endregion exports.formatSpecialCases = formatSpecialCases;