ArgumentAwarePluginTrait.php in GraphQL 8.3
File
src/Plugin/GraphQL/Traits/ArgumentAwarePluginTrait.php
View source
<?php
namespace Drupal\graphql\Plugin\GraphQL\Traits;
use Drupal\graphql\Utility\StringHelper;
trait ArgumentAwarePluginTrait {
protected function buildArguments($definition) {
return array_map(function ($argument) use ($definition) {
return [
'optional' => !empty($argument['optional']),
'type' => $this
->buildArgumentType($argument, $definition),
'description' => $this
->buildArgumentDescription($argument, $definition),
'defaultValue' => $this
->buildArgumentDefault($argument, $definition),
];
}, $definition['arguments']);
}
protected function buildArgumentType($argument) {
$type = is_array($argument) ? $argument['type'] : $argument;
return StringHelper::parseType($type);
}
protected function buildArgumentDescription($argument, $definition) {
return (string) (isset($argument['description']) ? $argument['description'] : '');
}
protected function buildArgumentDefault($argument, $definition) {
return isset($argument['default']) ? $argument['default'] : NULL;
}
}