All files human-case.ts

100% Statements 6/6
100% Branches 1/1
100% Functions 1/1
100% Lines 6/6

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 19 20 21 221x 1x 1x                               1x 20x 20x  
import { removeDiacritics } from './remove-diacritics.ts';
import { tokenize } from './tokenize.ts';
import { space } from './unicode.ts';
 
/**
 * Convert an identifier string to a human case
 * @param input - The identifier string
 * @returns string in human case
 * @group Programming
 * @category Variables
 * @example
 * ```typescript
 * humanCase('helloWorld'); // 'hello world'
 * humanCase('HelloWorld'); // 'hello world'
 * humanCase('foo_bar-baz'); // 'foo bar baz'
 * humanCase('FOO BAR'); // 'foo bar'
 * ```
 */
export function humanCase(input: string): string {
  return tokenize(removeDiacritics(input)).join(space).toLowerCase();
}