All files / string/src compactWhitespace.ts

100% Statements 4/4
100% Branches 0/0
100% Functions 2/2
100% Lines 3/3

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 181x                           6x 6x    
import { whitespaceRegExp } from "@benneq/regexp";
 
/**
 * Replaces consecutive whitespaces of a String with a single space
 *
 * @example
 * Compact every duplicate whitespaces
 * ```ts
 * const s = compactWhitespace('  a  b  ');
 * console.log(s); // ' a b '
 * ```
 *
 * @returns the compacted `String`
 */
export const compactWhitespace = (str: string): string => {
  return str.replace(new RegExp(`${whitespaceRegExp.source}{2,}`, "g"), " ");
};