/** * If `string` is less than `length` characters long, add however many `padWith` characters * are necessary to make up the difference to the END of the string. * @param string * @param length * @param padWith */ export function padRight(string: string, length: number, padWith = ' '): string { while ( string.length < length ) { string += padWith } return string } /** * If `string` is less than `length` characters long, add however many `padWith` characters * are necessary to make up the difference to the BEGINNING of the string. * @param string * @param length * @param padWith */ export function padLeft(string: string, length: number, padWith = ' '): string { while ( string.length < length ) { string = `${padWith}${string}` } return string } /** * If `string` is less than `length` characters long, add however many `padWith` characters * are necessary to make up the difference evenly split between the beginning and end of the string. * @param string * @param length * @param padWith */ export function padCenter(string: string, length: number, padWith = ' '): string { let bit = false while ( string.length < length ) { if ( bit ) { string = `${padWith}${string}` } else { string += padWith } bit = !bit } return string } /** * Convert a string to PascalCase. * @param input */ export function stringToPascal(input: string): string { return input.split(/[\s_-]+/i) .map(part => { return part[0].toUpperCase() + part.substr(1) }) .join('') .split(/\W+/i) .join('') }