Inheritance: extends Youshido\GraphQL\Field\InputFieldInterface
Beispiel #1
0
 public function resolveArgs(FieldInterface $value)
 {
     if ($value->hasArguments()) {
         return $value->getArguments();
     }
     return [];
 }
Beispiel #2
0
 public function assertValidResolvedValueForField(FieldInterface $field, $resolvedValue)
 {
     if ($field->getType()->getKind() == TypeMap::KIND_NON_NULL && is_null($resolvedValue)) {
         throw new ResolveException(sprintf('Cannot return null for non-nullable field "%s"', $field->getName()));
     }
     if (!$field->getType()->getNullableType()->isValidValue($resolvedValue)) {
         throw new ResolveException(sprintf('Not valid resolved type for field "%s"', $field->getName()));
     }
 }
Beispiel #3
0
 /**
  * @return AbstractType
  */
 public function getReturnType()
 {
     return $this->field->getType();
 }
Beispiel #4
0
 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);
 }