GraphQL\Examples\Blog\Type\Scalar\UrlType::parseLiteral PHP Method

parseLiteral() public method

Parses an externally provided literal value to use as an input (e.g. in Query AST)
public parseLiteral ( $ast ) : null | string
$ast Node
return null | string
    public function parseLiteral($ast)
    {
        // Note: throwing GraphQL\Error\Error vs \UnexpectedValueException to benefit from GraphQL
        // error location in query:
        if (!$ast instanceof StringValueNode) {
            throw new Error('Query error: Can only parse strings got: ' . $ast->kind, [$ast]);
        }
        if (!is_string($ast->value) || !filter_var($ast->value, FILTER_VALIDATE_URL)) {
            throw new Error('Query error: Not a valid URL', [$ast]);
        }
        return $ast->value;
    }