// Format setting key from Snake_Case / CamelCase to readable text export function formatSettingKey(name: string): string { if (!name) return '' return name // CamelCase -> spaces .replace(/([a-z])([A-Z])/g, '$1 $2') // snake_case -> spaces .replace(/_/g, ' ') // Remove extra spaces .replace(/\s+/g, ' ') .trim() // Capitalize first letter .replace(/^./, c => c.toUpperCase()) } // Strip HTML tags and template descriptions from setting descriptions export function stripHtml(html: string): string { if (!html) return '' let cleaned = html .replace(/<[^>]*>/g, '') .replace(/ /g, ' ') .replace(/&/g, '&') .replace(/</g, '<') .replace(/>/g, '>') .replace(/"/g, '"') .trim() // Remove template descriptions like "Параметр X управляет категорией Y" if (cleaned.match(/^Параметр .+ управляет категорией/)) { return '' } return cleaned }