假设我有一个像这样构建的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
类型的所有变体,有没有办法?谢谢
答案 0 :(得分:1)
获取相关的抽象类型(接口或联合):
const searchResultType = schema.getType('SearchResult');
然后获取其可能的类型:
const possibleTypes = schema.getPossibleTypes(searchResultType);
possibleTypes
将包含GraphQLObjectType
个对象的数组。
您还可以使用isPossibleType
测试特定类型是否是抽象类型的可能类型。