/** * Given a string containing a GraphQL Type (ex. `[Int!]`), parse the AST for * that type. * Throws GraphQLError if a syntax error is encountered. * * This is useful within tools that operate upon GraphQL Types directly and * in isolation of complete GraphQL documents. * * Consider providing the results to the utility function: typeFromAST(). * @param Source|string $source * @param array $options * @return ListType|Name|NonNullType */ public static function parseType($source, array $options = []) { $sourceObj = $source instanceof Source ? $source : new Source($source); $parser = new Parser($sourceObj, $options); $parser->expect(Token::SOF); $type = $parser->parseTypeReference(); $parser->expect(Token::EOF); return $type; }