All files kebab-case.ts

100% Statements 5/5
100% Branches 1/1
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 19 20 211x 1x                               1x 11x 11x  
import { removeDiacritics } from './remove-diacritics.ts';
import { tokenize } from './tokenize.ts';
 
/**
 * Convert an identifier string to a kebab-case form
 * @param input - The identifier string
 * @returns the identifier in kebab-case form
 * @group Programming
 * @category Variables
 * @example
 * ```typescript
 * kebabCase('hello world'); // 'hello-world'
 * kebabCase('HelloWorld'); // 'hello-world'
 * kebabCase('foo_bar-baz'); // 'foo-bar-baz'
 * kebabCase('FOO BAR'); // 'foo-bar'
 * ```
 */
export function kebabCase(input: string): string {
  return tokenize(removeDiacritics(input)).join('-').toLowerCase();
}