GraphQL\Validator\ValidationContext::getVariableUsages PHP Метод

getVariableUsages() публичный Метод

public getVariableUsages ( GraphQL\Language\AST\HasSelectionSet $node ) : array
$node GraphQL\Language\AST\HasSelectionSet
Результат array List of ['node' => VariableNode, 'type' => ?InputObjectType]
    function getVariableUsages(HasSelectionSet $node)
    {
        $usages = isset($this->variableUsages[$node]) ? $this->variableUsages[$node] : null;
        if (!$usages) {
            $newUsages = [];
            $typeInfo = new TypeInfo($this->schema);
            Visitor::visit($node, Visitor::visitWithTypeInfo($typeInfo, [NodeKind::VARIABLE_DEFINITION => function () {
                return false;
            }, NodeKind::VARIABLE => function (VariableNode $variable) use(&$newUsages, $typeInfo) {
                $newUsages[] = ['node' => $variable, 'type' => $typeInfo->getInputType()];
            }]));
            $usages = $newUsages;
            $this->variableUsages[$node] = $usages;
        }
        return $usages;
    }