1: <?php
2:
3: declare(strict_types=1);
4:
5: namespace LaravelUi5\OData\Protocol\Planning\Expression;
6:
7: final readonly class LambdaExpression extends FilterExpression
8: {
9: /**
10: * @param PropertyPathExpression $collection The navigation property being iterated.
11: * @param string $variable The lambda iteration variable, e.g. 'x' in 'tags/any(x: ...)'.
12: * @param FilterExpression $predicate The predicate applied to each element. The visitor recurses into it.
13: * @param LambdaOperator $operator
14: */
15: public function __construct(
16: public readonly PropertyPathExpression $collection,
17: public readonly string $variable,
18: public readonly FilterExpression $predicate,
19: public readonly LambdaOperator $operator,
20: ) {}
21:
22: public function kind(): FilterExpressionKind
23: {
24: return FilterExpressionKind::Lambda;
25: }
26: }
27: