(rule)
| 56 | |
| 57 | |
| 58 | def has_shadow(rule): |
| 59 | if not rule.content: |
| 60 | return False |
| 61 | |
| 62 | for a, b, c in tripletwise(skip_whitespace(rule.content)): |
| 63 | if isinstance(a, tokens.IdentToken) and a.value in SHADOW_CSS_PROPERTIES: |
| 64 | assert isinstance( |
| 65 | c, (tokens.IdentToken, tokens.DimensionToken, tokens.NumberToken) |
| 66 | ), f"Unexpected node type {c.type}" |
| 67 | if isinstance(c, (tokens.DimensionToken, tokens.NumberToken)): |
| 68 | return True |
| 69 | |
| 70 | return False |
| 71 | |
| 72 | |
| 73 | def find_shadow(rules): |