|
@@ 21-27 (lines=7) @@
|
| 18 |
|
}; |
| 19 |
|
return any($arguments, $predicate); |
| 20 |
|
}), |
| 21 |
|
'and' => new NativeNode('and', function (NodeCalculatorVisitor $visitor, array $arguments) { |
| 22 |
|
$predicate = function ($item) use ($visitor) { |
| 23 |
|
$visit = $visitor->getVisitor($item); |
| 24 |
|
return !!$visit($item); |
| 25 |
|
}; |
| 26 |
|
return all($arguments, $predicate); |
| 27 |
|
}), |
| 28 |
|
'not' => new NativeNode('not', function (NodeCalculatorVisitor $visitor, array $arguments) { |
| 29 |
|
return all($arguments, function ($argument) use ($visitor) { |
| 30 |
|
$visit = $visitor->getVisitor($argument); |
|
@@ 28-33 (lines=6) @@
|
| 25 |
|
}; |
| 26 |
|
return all($arguments, $predicate); |
| 27 |
|
}), |
| 28 |
|
'not' => new NativeNode('not', function (NodeCalculatorVisitor $visitor, array $arguments) { |
| 29 |
|
return all($arguments, function ($argument) use ($visitor) { |
| 30 |
|
$visit = $visitor->getVisitor($argument); |
| 31 |
|
return !$visit($argument); |
| 32 |
|
}); |
| 33 |
|
}), |
| 34 |
|
'if' => new NativeNode('if', function (NodeCalculatorVisitor $visitor, array $arguments) { |
| 35 |
|
if (sizeof($arguments) != 3) { |
| 36 |
|
throw new RuntimeException("Function 'if' accepts only three arguments"); |