Skip to content

Commit 69d145c

Browse files
NathanaelAVladimir Enchev
authored and
Vladimir Enchev
committed
Changed createSelectorsFromSyntaxTree to use a loop rather than filter.
1. Changed code to lowercase the declaration property 2. Minimize the data pushed to each rule
1 parent af31be8 commit 69d145c

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

ui/styling/style-scope.ts

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,6 @@ export class StyleScope {
200200

201201
var rules = ast.stylesheet.rules;
202202
var rule: cssParser.Rule;
203-
var filteredDeclarations: cssParser.Declaration[];
204203
var i;
205204
var j;
206205

@@ -209,11 +208,25 @@ export class StyleScope {
209208
rule = rules[i];
210209
// Skip comment nodes.
211210
if (rule.type === "rule") {
211+
212212
// Filter comment nodes.
213-
filteredDeclarations = rule.declarations.filter((val, i, arr) => { return val.type === "declaration" });
214-
for (j = 0; j < rule.selectors.length; j++) {
215-
result.push(cssSelector.createSelector(rule.selectors[j], filteredDeclarations));
213+
var filteredDeclarations = [];
214+
if (rule.declarations) {
215+
for (j = 0; j < rule.declarations.length; j++) {
216+
var declaration = rule.declarations[j];
217+
if (declaration.type === "declaration") {
218+
filteredDeclarations.push({
219+
property: declaration.property.toLowerCase(),
220+
value: declaration.value
221+
});
222+
}
223+
}
216224
}
225+
226+
for (j = 0; j < rule.selectors.length; j++) {
227+
result.push(cssSelector.createSelector(rule.selectors[j], filteredDeclarations));
228+
}
229+
//}
217230
}
218231
}
219232

0 commit comments

Comments
 (0)