diff options
-rw-r--r-- | scss/expression.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/scss/expression.py b/scss/expression.py index 45c6bca..959ac34 100644 --- a/scss/expression.py +++ b/scss/expression.py @@ -232,8 +232,11 @@ class AnyOp(Expression): self.operands = operands def evaluate(self, calculator, divide=False): - operands = [operand.evaluate(calculator, divide=True) for operand in self.operands] - return Boolean(any(operands)) + for operand in self.operands: + value = operand.evaluate(calculator, divide=True) + if value: + return value + return value class AllOp(Expression): @@ -244,8 +247,11 @@ class AllOp(Expression): self.operands = operands def evaluate(self, calculator, divide=False): - operands = [operand.evaluate(calculator, divide=True) for operand in self.operands] - return Boolean(all(operands)) + for operand in self.operands: + value = operand.evaluate(calculator, divide=True) + if not value: + return value + return value class NotOp(Expression): |