Youshido\GraphQL\Execution\Processor::parseArgumentsValues PHP Method

parseArgumentsValues() protected method

protected parseArgumentsValues ( Youshido\GraphQL\Field\FieldInterface $field, Youshido\GraphQL\Parser\Ast\Interfaces\FieldInterface $ast )
$field Youshido\GraphQL\Field\FieldInterface
$ast Youshido\GraphQL\Parser\Ast\Interfaces\FieldInterface
    protected function parseArgumentsValues(FieldInterface $field, AstFieldInterface $ast)
    {
        $values = [];
        $defaults = [];
        foreach ($field->getArguments() as $argument) {
            /** @var $argument InputField */
            if ($argument->getConfig()->has('default')) {
                $defaults[$argument->getName()] = $argument->getConfig()->getDefaultValue();
            }
        }
        foreach ($ast->getArguments() as $astArgument) {
            $argument = $field->getArgument($astArgument->getName());
            $argumentType = $argument->getType()->getNullableType();
            $values[$argument->getName()] = $argumentType->parseValue($astArgument->getValue());
            if (isset($defaults[$argument->getName()])) {
                unset($defaults[$argument->getName()]);
            }
        }
        return array_merge($values, $defaults);
    }