/**
* Modul: HTML Utilities
* Zweck: XSS-Schutz fuer innerHTML-basiertes Rendering
* Abhaengigkeiten: keine
*/
const ESCAPE_MAP = {
'&': '&',
'<': '<',
'>': '>',
'"': '"',
"'": ''',
};
const ESCAPE_RE = /[&<>"']/g;
/**
* Escapet einen String fuer die sichere Einbettung in HTML.
* Gibt fuer null/undefined einen Leerstring zurueck.
*
* @param {*} str - Beliebiger Wert (wird zu String konvertiert)
* @returns {string} HTML-sicherer String
*/
export function esc(str) {
if (str == null) return '';
return String(str).replace(ESCAPE_RE, (ch) => ESCAPE_MAP[ch]);
}