@elsikora/nestjs-crud-automator
Version:
A library for automating the creation of CRUD operations in NestJS.
40 lines (38 loc) • 1.28 kB
JavaScript
/**
* Converts a string to camel case format with special handling for known compound words
* @param {string} string - The string to convert to camel case
* @returns {string} The camel-cased string
*/
function CamelCaseString(string) {
const knownCompounds = {
getlist: "GetList",
partialupdate: "PartialUpdate",
};
const hasInternalCaps = /[a-z][A-Z]/.test(string);
if (hasInternalCaps) {
const firstChar = string.charAt(0).toUpperCase();
return firstChar + string.slice(1);
}
const cleanString = string.replaceAll(/[^a-z0-9]+/gi, " ");
const words = cleanString.split(" ");
if (words.length === 1 && words[0]) {
const word = words[0].toLowerCase();
if (knownCompounds[word]) {
return knownCompounds[word];
}
return word.charAt(0).toUpperCase() + word.slice(1);
}
return words
.map((word) => {
if (!word)
return "";
const lowerWord = word.toLowerCase();
if (knownCompounds[lowerWord]) {
return knownCompounds[lowerWord];
}
return word.charAt(0).toUpperCase() + lowerWord.slice(1);
})
.join("");
}
export { CamelCaseString };
//# sourceMappingURL=camel-case-string.utility.js.map