示例#1
0
 /**
  * @param AbstractType $type
  * @param array        $mapping
  */
 private function populateType(AbstractType $type, array $mapping)
 {
     if (isset($mapping['description'])) {
         $type->setDescription($mapping['description']);
     }
 }
示例#2
0
 /**
  * @param Field[]                             $fields
  * @param AbstractType|FieldContainer[]|Field $parent
  */
 private function prepareFields(array $fields, AbstractType $parent)
 {
     foreach ($fields as $field) {
         if (null !== $field->getArguments()) {
             $this->prepareFields($field->getArguments(), $field);
         }
         $this->prepareResolver($field);
         $typeName = $field->getType();
         if (empty($typeName)) {
             throw new \InvalidArgumentException(sprintf('Missing type for field "%s" in "%s"', $field->getName(), $parent->getName()));
         }
         $field->setResolvedType(function () use($typeName) {
             return $this->typeResolver->resolveType($typeName);
         });
     }
 }
示例#3
0
 /**
  * {@inheritdoc}
  */
 public function toMapping()
 {
     $mapping = ['type' => $this->resolvedType, 'resolve' => $this->resolve, 'resolve_config' => $this->resolveConfig] + parent::toMapping();
     if (!empty($this->arguments)) {
         $mapping['args'] = [];
         foreach ($this->arguments as $argument) {
             $mapping['args'][$argument->getName()] = $argument->toMapping();
         }
     }
     return $mapping;
 }
 /**
  * @param AbstractType|Type|Field $item
  * @param array                   $guesses
  */
 private function applyBestGuess(AbstractType $item, array $guesses)
 {
     /** @var ResolveConfigGuess $best */
     $best = $this->getBestGuess($guesses);
     if (null !== $best) {
         $item->mergeResolveConfig($best->getConfig());
     }
 }