nestedRecursiveValidationRules = array_merge( $this->nestedRecursiveValidationRules, array_map(static fn (string | object $rule) => [$rule, $condition], $rules), ); return $this; } public function getNestedRecursiveValidationRules(): array { $rules = []; foreach ($this->nestedRecursiveValidationRules as [$rule, $condition]) { if (is_numeric($rule)) { $rules[] = $this->evaluate($condition); } elseif ($this->evaluate($condition)) { $rules[] = $this->evaluate($rule); } } return $rules; } }