Automattic\WooCommerce\Vendor\GraphQL\Utils
ASTDefinitionBuilder::makeTypeDef
Method of the class: ASTDefinitionBuilder{}
No Hooks.
Returns
null. Nothing (null).
Usage
// private - for code of main (parent) class only $result = $this->makeTypeDef( $def ): ObjectType;
- $def(ObjectTypeDefinitionNode) (required)
- .
ASTDefinitionBuilder::makeTypeDef() ASTDefinitionBuilder::makeTypeDef code WC 10.9.1
private function makeTypeDef(ObjectTypeDefinitionNode $def): ObjectType
{
$name = $def->name->value;
/** @var array<ObjectTypeExtensionNode> $extensionASTNodes (proven by schema validation) */
$extensionASTNodes = $this->typeExtensionsMap[$name] ?? [];
$allNodes = [$def, ...$extensionASTNodes];
return new ObjectType([
'name' => $name,
'description' => $def->description->value ?? null,
'fields' => fn (): array => $this->makeFieldDefMap($allNodes),
'interfaces' => fn (): array => $this->makeImplementedInterfaces($allNodes),
'astNode' => $def,
'extensionASTNodes' => $extensionASTNodes,
]);
}