UNPKG

vuoto

Version:

Modern whitespace normalizer CLI with enhanced output and developer experience - cut the noise, clean the void

36 lines (35 loc) 1.41 kB
import { normalizeByteOrderMark, normalizeEmSpace, normalizeEnSpace, normalizeFormFeed, normalizeIdeographicSpace, normalizeInvisibleSeparators, normalizeLineSeparator, normalizeNarrowNoBreakSpace, normalizeNonBreakingSpace, normalizeParagraphSeparator, normalizeVerticalTab, normalizeVisibleMiscSpaces, normalizeZeroWidth, } from './normalizers/index.js'; /** * Applies all whitespace normalizations in sequence. * @param input The string to normalize. * * @returns The normalized string. * * @example * * ```ts * const normalized = normalize('Hello\u200BWorld'); // 'HelloWorld' * ``` */ export function normalize(input) { let output = input; // Invisible / zero-width output = normalizeZeroWidth(output); output = normalizeByteOrderMark(output); output = normalizeInvisibleSeparators(output); // Non-breaking variants output = normalizeNonBreakingSpace(output); output = normalizeNarrowNoBreakSpace(output); // Line / paragraph separators output = normalizeLineSeparator(output); output = normalizeParagraphSeparator(output); // Visible wide spaces output = normalizeEmSpace(output); output = normalizeEnSpace(output); output = normalizeIdeographicSpace(output); output = normalizeVisibleMiscSpaces(output); // Legacy controls output = normalizeFormFeed(output); output = normalizeVerticalTab(output); return output; }