Files
llm-in-text/src/utils/string.ts
T

28 lines
778 B
TypeScript
Raw Normal View History

/**
* Shared string utility functions.
* Extracted from repeated patterns across api.js, docBlock.js, proAccept.js, proBlock.js, webSearch.js.
*/
/**
* Normalize line endings to Unix-style (\n).
* Handles \r\n (Windows), \r (old Mac), and \n (Unix).
*/
export function normalizeNewlines(value: string = ''): string {
return String(value || '').replace(/\r\n?/g, '\n')
}
/**
* Safely coerce any value to a non-null string.
* Replaces the common `String(x || '')` pattern scattered across 20+ locations.
*/
export function safeString(value: unknown): string {
return String(value ?? '')
}
/**
* Remove trailing slashes from a URL/path string.
*/
export function stripTrailingSlashes(value: string = ''): string {
return safeString(value).replace(/\/+$/, '')
}