是否可以合并两个GraphQLSchema实例?

是否可以合并两个GraphQLSchema实例?,graphql,graphql-js,Graphql,Graphql Js,我希望编写一个类似于Object.assign或或merge的函数,但它对GraphQLSchema对象进行操作 假设我有两个实例,分别称为Base和Other,我想将Other合并到Base中以生成一个新的实例结果 在结果中,只存在一个基本字段或其他字段的字段由其原始GraphQLFieldConfig 这两个字段中的字段都减少为另一个字段中的GraphQLFieldConfig 看起来似乎没有记录在案的方法来做到这一点。对吗?如果我选择(相当危险的)未记录路径,我会注意到我可以利用对象的

我希望编写一个类似于
Object.assign
merge
的函数,但它对
GraphQLSchema
对象进行操作

假设我有两个实例,分别称为Base和Other,我想将Other合并到Base中以生成一个新的实例结果

  • 在结果中,只存在一个基本字段或其他字段的字段由其原始
    GraphQLFieldConfig
  • 这两个字段中的字段都减少为另一个字段中的
    GraphQLFieldConfig
看起来似乎没有记录在案的方法来做到这一点。对吗?如果我选择(相当危险的)未记录路径,我会注意到我可以利用对象的内部属性:

,但我不想那样做

如有任何建议,将不胜感激。提前谢谢

请检查图书馆。我想这可能对你有帮助。请查一下图书馆。我想这可能会对您有所帮助

以下是我的解决方案:

const { mergeTypes } = require('merge-graphql-schemas');
const { printSchema, parse } = require('graphql');

const typeArray = graphqlSchemas.map(printSchema);
const schema = mergeTypes(typeArray, { all: true });

  try {
    parse(schema);
  } catch (err) {
    console.log(err);
  }
GraphQLSchema
GraphQLSchema
类型。就我而言,它是数组

printSchema
GraphQLSchema
转换为字符串模板架构

mergeTypes
将所有字符串模板架构合并为一个

为了安全起见,请使用
try/catch
验证模式是否有效。

以下是我的解决方案:

const { mergeTypes } = require('merge-graphql-schemas');
const { printSchema, parse } = require('graphql');

const typeArray = graphqlSchemas.map(printSchema);
const schema = mergeTypes(typeArray, { all: true });

  try {
    parse(schema);
  } catch (err) {
    console.log(err);
  }
GraphQLSchema
GraphQLSchema
类型。就我而言,它是数组

printSchema
GraphQLSchema
转换为字符串模板架构

mergeTypes
将所有字符串模板架构合并为一个


并且,为了安全起见,请使用
try/catch
验证架构是否有效。

使用“graphql工具”中的合并架构,可以合并GraphQLSchema对象


使用“graphql工具”中的合并架构,可以合并GraphQLSchema对象


此库似乎不支持合并
GraphQLSchema
对象。它只支持合并graphql字符串架构。此库似乎不支持合并
GraphQLSchema
对象。它只支持合并graphql字符串模式。