使用GraphQL指令而不将schemaDirectives对象传递给makeExecutableSchema

时间:2019-07-17 19:34:33

标签: node.js graphql

我正在尝试从一堆graphQL软件包中构建一个可执行模式,在合并这些模式之前,我需要添加指令。但是makeExecutableSchema在所有软件包合并后运行。在makeExecutableSchema之前可以使用指令吗?

function buildExecutableSchema(packageInfos = []) {
    const allTypeDefs = R.filter(isNotEmptyOrNil, R.map(pkg => pkg.allTypeDefs, packageInfos));
    const mergedTypeDefs = mergeTypes(allTypeDefs);
    const resolvers = getPackageInfoResolvers(packageInfos);
    const logger = { log: e => log.error(e) };

    // https://www.apollographql.com/docs/graphql-tools/generate-schema.html#makeExecutableSchema
    const execSchema = makeExecutableSchema({
        typeDefs: mergedTypeDefs,
        resolvers,
        logger,
        allowUndefinedInResolve: graphqlOptions.allowUndefinedInResolve,
        resolverValidationOptions: graphqlOptions.resolverValidationOptions,
        inheritResolversFromInterfaces: graphqlOptions.inheritResolversFromInterfaces,
        schemaDirectives: {
            packagedata:packageDataToType
          }
    });

    return execSchema;
}```

0 个答案:

没有答案