5180 fichiers 38.5 Mo 0 téléchargements 231 vues mis à jour il y a 5 heures ui
nitro-v36-with-renderer-v36 / src / api / chat-history / ChatEntryPlainText.ts
ChatEntryPlainText.ts 812 o Télécharger le fichier
import { ChatEntryType } from './ChatEntryType';
import { IChatEntry } from './IChatEntry';

/**
 * What a chat entry said, as plain text. Room chat is stored as the bubble's HTML - entities for every accented
 * letter, colour spans, line breaks - so a report built from it reached the moderators as markup. Entries from older
 * clients have only that HTML and are decoded here.
 */
export const ChatEntryPlainText = (entry: IChatEntry): string => {
    if (typeof entry?.text === 'string') return entry.text;

    const message = entry?.message ?? '';

    if (entry?.type !== ChatEntryType.TYPE_CHAT || typeof DOMParser === 'undefined') return message;

    const document = new DOMParser().parseFromString(message.replace(/<br\s*\/?>/gi, '\n'), 'text/html');

    return document.body.textContent ?? '';
};
15Sujets
1Dépôts
20Membres
2En ligne
Profile
Inscrit
Dernière visite
Messages
0
Votes positifs
0
Votes négatifs
0

Nous utilisons des cookies pour assurer le bon fonctionnement du site et améliorer votre expérience. en savoir plus

Autoriser