Files
UT-Registration-Plus/src/shared/util/string.ts
2023-03-07 01:42:26 -06:00

46 lines
1.4 KiB
TypeScript

/**
* Given a string, returns a string with the first letter capitalized.
* @input The string to capitalize.
*/
export function capitalize(input: string): string {
let capitalized = '';
const words = input.split(' ');
for (const word of words) {
if (word.includes('-')) {
const hyphenatedWords = word.split('-');
for (const hyphenatedWord of hyphenatedWords) {
capitalized += `${capitalizeFirstLetter(hyphenatedWord)}-`;
}
capitalized = capitalized.substring(0, capitalized.length - 1);
} else {
capitalized += capitalizeFirstLetter(word);
}
capitalized += ' ';
}
return capitalized;
}
/**
* Given a string, returns a string with the first letter capitalized.
* @param input capitalize the first letter of this string
* @returns the string with the first letter capitalized
*/
export function capitalizeFirstLetter(input: string): string {
return input.charAt(0).toUpperCase() + input.slice(1).toLowerCase();
}
/**
* Cuts the
* @param input The string to ellipsify.
* @param length The length of the string to return.
* @returns The ellipsified string.
*/
export const ellipsify = (input: string, chars: number): string => {
let ellipisifed = input;
if (input && input.length > chars) {
ellipisifed = `${input.substring(0, chars)}...`;
}
return ellipisifed;
};