processMediaExpression method

CSSMediaExpression? processMediaExpression([
  1. String op = MediaOperator.AND
])

Implementation

CSSMediaExpression? processMediaExpression([String op = MediaOperator.AND]) {
  var start = _peekToken.span;
  // Grammar: '(' S* media_feature S* [ ':' S* expr ]? ')' S*
  if (_maybeEat(TokenKind.LPAREN)) {
    if (_peekIdentifier()) {
      var feature = identifier().name;
      String text = '';
      if (_maybeEat(TokenKind.COLON)) {
        do {
          text += _next().text;
        } while(!_maybeEat(TokenKind.RPAREN));
        return CSSMediaExpression(op, {feature : text});
      }
    } else if (isChecked) {
      _warning('Missing media feature in media expression', location: _makeSpan(start));
    }
  }
  return null;
}