Perf: Avoid creation of intermediary array when iterating over style rules (#1272)
* Perf: Avoid creation of intermediary array when iterating over stylesheet rules by using the second `mapFn` argument of Array.from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from Performance analysis by: JonasBA <jonas@badalic.com> Authored-by: Eoghan Murray <eoghan@getthere.ie>
This commit is contained in:
@@ -61,15 +61,12 @@ export class StylesheetManager {
|
||||
let styleId;
|
||||
if (!this.styleMirror.has(sheet)) {
|
||||
styleId = this.styleMirror.add(sheet);
|
||||
const rules = Array.from(sheet.rules || CSSRule);
|
||||
styles.push({
|
||||
styleId,
|
||||
rules: rules.map((r, index) => {
|
||||
return {
|
||||
rule: stringifyRule(r),
|
||||
index,
|
||||
};
|
||||
}),
|
||||
rules: Array.from(sheet.rules || CSSRule, (r, index) => ({
|
||||
rule: stringifyRule(r),
|
||||
index,
|
||||
})),
|
||||
});
|
||||
} else styleId = this.styleMirror.getId(sheet);
|
||||
adoptedStyleSheetData.styleIds.push(styleId);
|
||||
|
||||
Reference in New Issue
Block a user