All files / packages/fds-uif/generator-lwc/src/utils kebabCase.ts

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

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              6x          
/**
 * Convert PascalCase or camelCase to kebab-case.
 *
 * Used to derive LWC custom-element tag names from component identifiers
 * (e.g. `PrimitiveIcon` -> `primitive-icon`).
 */
export function kebabCase(str: string): string {
  return str
    .replace(/([a-z0-9])([A-Z])/g, '$1-$2')
    .replace(/([A-Z]+)([A-Z][a-z])/g, '$1-$2')
    .toLowerCase();
}