UNPKG

@redocly/theme

Version:

Shared UI components lib

19 lines (14 loc) 502 B
type Casing = 'original' | 'lowercase' | 'uppercase' | 'sentence'; export function changeTextCasing(str: string, casing: Casing = 'original') { if (casing === 'original' || !str) return str; if (casing === 'lowercase') { return str.toLowerCase(); } if (casing === 'uppercase') { return str.toUpperCase(); } if (casing === 'sentence') { const words = str?.split(/[\s-_]+/); return words.map((word) => word[0].toUpperCase() + word.slice(1).toLowerCase()).join(' '); } }