From 12fe739da4a09ed36138160ea5dfe36f989e2967 Mon Sep 17 00:00:00 2001 From: CoolElectronics Date: Mon, 19 Feb 2024 11:10:24 -0500 Subject: [PATCH] css cachign --- css.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/css.js b/css.js index 1db8c2e..0be06fb 100644 --- a/css.js +++ b/css.js @@ -1,5 +1,5 @@ Object.assign(window, { css, rule, styled: { new: css, rule: rule } }); - +const cssmap = {}; function scopify_css(uid, css) { const virtualDoc = document.implementation.createHTMLDocument(""); const virtualStyleElement = document.createElement("style"); @@ -20,6 +20,9 @@ function scopify_css(uid, css) { return cssParsed; } function tagcss(strings, values, isblock) { + let cached = cssmap[strings[0]]; + let cachable = strings.length == 1; + if (cachable && cached) return cached; const uid = `dl${Array(5) .fill(0) .map(() => { @@ -68,6 +71,8 @@ function tagcss(strings, values, isblock) { styleElement.textContent = `.${uid} { ${flattened_template.join("")}; }` } + if (cachable) cssmap[strings[0]] = uid; + return uid; } export function rule(strings, ...values) {