platform-codebase/@packages/@utils/text-utils/src/normalize.ts

39 lines
1.1 KiB
TypeScript
Raw Normal View History

/**
* Normalizes text by trimming whitespace and removing extra spaces
* @param text - Input text to normalize
* @returns Normalized text with trimmed whitespace and collapsed spaces
*/
export function normalizeText(text: string): string {
return text
.trim()
.replace(/\s+/g, ' ') // Collapse multiple spaces into one
.normalize('NFC') // Unicode normalization
}
/**
* Normalizes whitespace (collapses multiple spaces/newlines)
* @param text - Input text
* @returns Text with normalized whitespace
*/
export function normalizeWhitespace(text: string): string {
return text.replace(/\s+/g, ' ').trim()
}
/**
* Normalizes line endings to \n (LF)
* @param text - Input text
* @returns Text with normalized line endings
*/
export function normalizeLineEndings(text: string): string {
return text.replace(/\r\n/g, '\n').replace(/\r/g, '\n')
}
/**
* Removes all whitespace from text
* @param text - Input text
* @returns Text with all whitespace removed
*/
export function removeWhitespace(text: string): string {
return text.replace(/\s/g, '')
}