import config from "@delement/configs/prettyhtml"; import jsb from "js-beautify"; /** * Получает отформатированную HTML-строку * @param html{String} * @param isFixQuotes{Boolean=} * @returns {String} Возвращает форматированную HTML-строку (или пустую строку, если исходный HTML пустой). * @example * import { getPrettyHTML } from "@delement/ui/utils"; * * const html = getPrettyHTML("
text
"); */ export const getPrettyHTML = (html: string = "", isFixQuotes: boolean = true): string => { if (!html) { return ""; } const replaceMasks: Array<[string, string]> = [ [ "=\"{", "='{" ], [ "}\"", "}'" ], [ """, "\"" ], ]; const getReplaced = (str: string) => { replaceMasks.forEach(([ searchValue, replaceValue ]) => str = str.replaceAll(searchValue, replaceValue)); return str; }; const source: string = isFixQuotes ? getReplaced(html) : html; return jsb.html_beautify(source, config); };