Automattic\WooCommerce\Vendor\GraphQL\Language

Parser::parseDefinitionprivateWC 1.0

Method of the class: Parser{}

No Hooks.

Returns

DefinitionNode&Node.

Usage

// private - for code of main (parent) class only
$result = $this->parseDefinition(): DefinitionNode;

Parser::parseDefinition() code WC 11.0.1

private function parseDefinition(): DefinitionNode
{
    if ($this->peek(Token::NAME)) {
        switch ($this->lexer->token->value) {
            case 'query':
            case 'mutation':
            case 'subscription':
            case 'fragment':
                return $this->parseExecutableDefinition();

                // Note: The schema definition language is an experimental addition.
            case 'schema':
            case 'scalar':
            case 'type':
            case 'interface':
            case 'union':
            case 'enum':
            case 'input':
            case 'directive':
                // Note: The schema definition language is an experimental addition.
                return $this->parseTypeSystemDefinition();

            case 'extend':
                return $this->parseTypeSystemExtension();
        }
    } elseif ($this->peek(Token::BRACE_L)) {
        return $this->parseExecutableDefinition();
    } elseif ($this->peekDescription()) {
        // Note: The schema definition language is an experimental addition.
        return $this->parseTypeSystemDefinition();
    }

    throw $this->unexpected();
}