All files / string squish.ts

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

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 141x                     3x    
const WHITESPACE_RUN_PATTERN = /\s+/gv;
 
/**
 * Trims a text and collapses every run of whitespace, line breaks included, into a single space.
 *
 * @param input - The text.
 * @returns The text on one line, without leading, trailing or repeated whitespace.
 * @example
 * squish('  Engine\n  room   temperature \t'); // 'Engine room temperature'
 */
export function squish(input: string): string {
  return input.trim().replaceAll(WHITESPACE_RUN_PATTERN, ' ');
}