summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scss/expression.py14
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):