Automattic\WooCommerce\Vendor\GraphQL\Language

Parser::parseTypeSystemDefinitionprivateWC 1.0

Method of the class: Parser{}

No Hooks.

Returns

TypeSystemDefinitionNode&Node.

Usage

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

Parser::parseTypeSystemDefinition() code WC 11.1.2

private function parseTypeSystemDefinition(): TypeSystemDefinitionNode
{
    // Many definitions begin with a description and require a lookahead.
    $keywordToken = $this->peekDescription()
        ? $this->lexer->lookahead()
        : $this->lexer->token;

    if ($keywordToken->kind === Token::NAME) {
        switch ($keywordToken->value) {
            case 'schema':
                return $this->parseSchemaDefinition();

            case 'scalar':
                return $this->parseScalarTypeDefinition();

            case 'type':
                return $this->parseObjectTypeDefinition();

            case 'interface':
                return $this->parseInterfaceTypeDefinition();

            case 'union':
                return $this->parseUnionTypeDefinition();

            case 'enum':
                return $this->parseEnumTypeDefinition();

            case 'input':
                return $this->parseInputObjectTypeDefinition();

            case 'directive':
                return $this->parseDirectiveDefinition();
        }
    }

    throw $this->unexpected($keywordToken);
}