6 declare(strict_types=1);
10 use GraphQL\Language\AST\FieldNode;
21 private $queryFields = [];
32 foreach ($this->getQueryFields($fieldNode) as $field) {
45 public function getQueryFields(FieldNode $fieldNode)
47 if (!isset($this->queryFields[$fieldNode->name->value])) {
48 $this->queryFields[$fieldNode->name->value] = [];
49 $query = $fieldNode->selectionSet->selections;
51 foreach (
$query as $field) {
52 if ($field->kind ===
'InlineFragment') {
55 $this->queryFields[$fieldNode->name->value][] = $field->name->value;
59 return $this->queryFields[$fieldNode->name->value];
join(FieldNode $fieldNode, AbstractCollection $collection)