mirror of
https://github.com/MercuryWorkshop/dreamlandjs.git
synced 2025-05-15 15:10:02 -04:00
css cachign
This commit is contained in:
parent
696a60ee1e
commit
12fe739da4
1 changed files with 6 additions and 1 deletions
7
css.js
7
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) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue