Automattic\WooCommerce\Vendor\GraphQL\Utils

AST::typeFromASTpublic staticWC 1.0

Returns type definition for given AST Type node.

Method of the class: AST{}

No Hooks.

Returns

null. Nothing (null).

Usage

$result = AST::typeFromAST( $typeLoader, $inputTypeNode ): ?Type;
$typeLoader(callable) (required)
.
$inputTypeNode(NamedTypeNode|ListTypeNode|NonNullTypeNode) (required)
.

AST::typeFromAST() code WC 10.9.1

public static function typeFromAST(callable $typeLoader, Node $inputTypeNode): ?Type
{
    if ($inputTypeNode instanceof ListTypeNode) {
        $innerType = self::typeFromAST($typeLoader, $inputTypeNode->type);

        return $innerType === null
            ? null
            : new ListOfType($innerType);
    }

    if ($inputTypeNode instanceof NonNullTypeNode) {
        $innerType = self::typeFromAST($typeLoader, $inputTypeNode->type);
        if ($innerType === null) {
            return null;
        }

        assert($innerType instanceof NullableType, 'proven by schema validation');

        return new NonNull($innerType);
    }

    return $typeLoader($inputTypeNode->name->value);
}