给定一个 graphql.js 模式,我如何找到特定联合类型的所有变体?
Given a graphql.js schema, how can I find all the variants of a particular union type?
假设我有一个这样构建的 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 = ?
现在我正在寻找一种方法,以编程方式在给定 schema
的同一程序中找出 SearchResult
类型的所有变体,有办法吗?谢谢
获取有问题的抽象类型(接口或联合):
const searchResultType = schema.getType('SearchResult');
然后得到它可能的类型:
const possibleTypes = schema.getPossibleTypes(searchResultType);
possibleTypes
将是 GraphQLObjectType
个对象的数组。
您还可以使用 isPossibleType
.
测试特定类型是否是抽象类型的可能类型
假设我有一个这样构建的 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 = ?
现在我正在寻找一种方法,以编程方式在给定 schema
的同一程序中找出 SearchResult
类型的所有变体,有办法吗?谢谢
获取有问题的抽象类型(接口或联合):
const searchResultType = schema.getType('SearchResult');
然后得到它可能的类型:
const possibleTypes = schema.getPossibleTypes(searchResultType);
possibleTypes
将是 GraphQLObjectType
个对象的数组。
您还可以使用 isPossibleType
.