All files / string uncapitalize.ts

100% Statements 5/5
100% Branches 2/2
100% Functions 1/1
100% Lines 5/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18                    5x 5x 1x   4x 4x    
/**
 * Lower-cases the first character of a string and leaves the rest unchanged: the reverse of `capitalize`.
 *
 * @param input - The string.
 * @returns The string with its first character in lower case.
 * @example
 * uncapitalize('RingBuffer'); // 'ringBuffer'
 * uncapitalize('Élan'); // 'élan'
 */
export function uncapitalize(input: string): string {
  const first = input.codePointAt(0);
  if (first === undefined) {
    return input;
  }
  const firstCharacter = String.fromCodePoint(first);
  return firstCharacter.toLowerCase() + input.slice(firstCharacter.length);
}