Add template caching

This commit is contained in:
Cohee
2023-08-26 14:07:41 +03:00
parent bca44ba682
commit 11c7c81d1b

View File

@@ -501,10 +501,13 @@ function getUrlSync(url, cache = true) {
}).responseText; }).responseText;
} }
const templateCache = {};
export function renderTemplate(templateId, templateData = {}, sanitize = true, localize = true, fullPath = false) { export function renderTemplate(templateId, templateData = {}, sanitize = true, localize = true, fullPath = false) {
try { try {
const pathToTemplate = fullPath ? templateId : `/scripts/templates/${templateId}.html`; const pathToTemplate = fullPath ? templateId : `/scripts/templates/${templateId}.html`;
const templateContent = getUrlSync(pathToTemplate); const templateContent = (pathToTemplate in templateCache) ? templateCache[pathToTemplate] : getUrlSync(pathToTemplate);
templateCache[pathToTemplate] = templateContent;
const template = Handlebars.compile(templateContent); const template = Handlebars.compile(templateContent);
let result = template(templateData); let result = template(templateData);