All files / src/utils string-utils.ts

70% Statements 7/10
70% Branches 7/10
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 22                  291x           291x 291x 291x 291x 232x    
/**
 * Converts an English plural word to its singular form.
 * Used for normalizing module names and file paths during dependency analysis.
 * Handles common irregular plurals and regular -s/-es endings.
 *
 * @param word - The plural word to convert to singular form
 * @returns The singular form of the word (e.g., 'children' -> 'child')
 */
export function singularize(word: string): string {
  const irregulars: Record<string, string> = {
    people: 'person',
    children: 'child',
    men: 'man',
    women: 'woman',
  };
  Iif (irregulars[word]) return irregulars[word];
  Iif (word.endsWith('ies')) return word.slice(0, -3) + 'y';
  Iif (word.endsWith('ses')) return word.slice(0, -2);
  if (word.endsWith('s') && word.length > 3) return word.slice(0, -1);
  return word;
}