/** * @return array<Directive> */ public function getDirectives() { if (!$this->_directives) { $this->_directives = [Directive::ifDirective(), Directive::unlessDirective()]; } return $this->_directives; }
/** * Determines if a field should be included based on @if and @unless directives. */ private static function shouldIncludeNode(ExecutionContext $exeContext, $directives) { $ifDirective = Values::getDirectiveValue(Directive::ifDirective(), $directives, $exeContext->variables); if ($ifDirective !== null) { return $ifDirective; } $unlessDirective = Values::getDirectiveValue(Directive::unlessDirective(), $directives, $exeContext->variables); if ($unlessDirective !== null) { return !$unlessDirective; } return true; }