Как разработчик FE, вы должны обрабатывать все типы имен свойств и правильно отображать их для пользователя.

Например, вы не хотите, чтобы пользователь видел:

количествоСтудентов = 100

в вашем пользовательском интерфейсе.

вы, вероятно, предпочтете отобразить:

Количество студентов = 100.

В сети много конвертеров, но большинство из них работают с простыми случаями.

Как насчет действительно сложного имени свойства.

Вот две написанные на Typescript функции, которые помогут вам получить желаемый результат. Вы можете использовать их независимо, добавить в трубу и т. д.

export function stringToCamelcase(str: string) {
if (str) {
let wordsArray = str.split(" ");
let newStr: string = "";
wordsArray.forEach(currentWord => {
let formmatedWord = "";
if (!wordIsUppercase(currentWord)) {
for (let i = 0; i < currentWord.length; i++) {
const currentChar = currentWord[i];
const nextChar = currentWord[i + 1];
if (i > 0) {
if (currentChar == currentChar.toLowerCase() && nextChar && nextChar == nextChar.toUpperCase() && currentWord[i + 2]) {
formmatedWord = formmatedWord + currentChar + " ";
}
else {
formmatedWord = formmatedWord + currentChar;
}
}
if (i == 0) {
formmatedWord = currentChar.toUpperCase();
}
}
newStr = newStr + " " + formmatedWord;
}
else {
newStr = newStr + " " + currentWord;
}
})
if (newStr) {
return newStr.replace(/\s\s+/g, ' ');
}
}
}
export function wordIsUppercase(word: string) {
return word == word.toUpperCase();
}