如何解决给定一个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
类型的所有变体,有没有办法?谢谢
解决方法
获取相关的抽象类型(接口或联合):
const searchResultType = schema.getType('SearchResult');
然后获取其可能的类型:
const possibleTypes = schema.getPossibleTypes(searchResultType);
possibleTypes
将包含GraphQLObjectType
个对象的数组。
您还可以使用isPossibleType
测试特定类型是否是抽象类型的可能类型。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。