import { htmlSafe } from "@ember/template";
import { escapeExpression } from "discourse/lib/utilities";
export const IMAGE_MARKDOWN_REGEX =
/!\[(.*?)\|(\d{1,4}x\d{1,4})(,\s*\d{1,3}%)?(.*?)\]\((upload:\/\/.*?)\)(?!(.*`))/g;
export function jsonToHtml(json) {
if (typeof json !== "object") {
return escapeExpression(json);
}
let html = "
";
for (let key in json) {
if (!json.hasOwnProperty(key)) {
continue;
}
html += "- ";
if (typeof json[key] === "object" && Array.isArray(json[key])) {
html += `${escapeExpression(key)}: ${jsonToHtml(
json[key]
)}`;
} else if (typeof json[key] === "object") {
html += `${escapeExpression(key)}:
- ${jsonToHtml(
json[key]
)}
`;
} else {
let value = json[key];
if (typeof value === "string") {
value = escapeExpression(value);
value = value.replace(/\n/g, "
");
}
html += `${escapeExpression(key)}: ${value}`;
}
html += " ";
}
html += "
";
return htmlSafe(html);
}