parseRules method

List<CSSRule> parseRules({
  1. double? windowWidth,
  2. double? windowHeight,
  3. bool? isDarkMode,
})

Implementation

List<CSSRule> parseRules({double? windowWidth, double? windowHeight, bool? isDarkMode}) {
  var rules = <CSSRule>[];
  while (!_maybeEat(TokenKind.END_OF_FILE)) {
    final data = processRule();
    if (data != null) {
      for (CSSRule cssRule in data) {
        if (cssRule is CSSMediaDirective) {
          List<CSSRule>? mediaRules = cssRule.getValidMediaRules(windowWidth, windowHeight, isDarkMode ?? false);
          if (mediaRules != null) {
            rules.addAll(mediaRules);
          }
        } else {
          rules.add(cssRule);
        }
      }
    } else {
      _next();
    }
  }
  checkEndOfFile();

  return rules;
}