#graphql #graphql-js
#graphql #graphql-js
Вопрос:
Предположим, у меня есть схема GraphQL, построенная следующим образом:
var { buildSchema } = require('graphql');
// Construct a schema, using GraphQL schema language
var schema = buildSchema(`
type Human = // some object type
type Droid = // another object type
union SearchResult = Human | Droid
type Query {
result: SearchResult
}
`);
const searchResultVariants = ?
Теперь я ищу способ программно определить все варианты SearchResult
типа в одной программе для данного schema
, есть ли способ для этого? Спасибо
Ответ №1:
Получить абстрактный тип (интерфейс или объединение), о котором идет речь:
const searchResultType = schema.getType('SearchResult');
затем получите его возможные типы:
const possibleTypes = schema.getPossibleTypes(searchResultType);
possibleTypes
будет создан массив GraphQLObjectType
объектов.
Вы также можете проверить, является ли конкретный тип возможным типом абстрактного типа с помощью isPossibleType
.
Комментарии:
1. Спасибо за ваш ответ, не могли бы вы, пожалуйста, поделиться, где документированы эти методы?