Graphql 关于模式缝合的自定义指令

Graphql 关于模式缝合的自定义指令,graphql,apollo,graphql-js,Graphql,Apollo,Graphql Js,我正在尝试将一个指令添加到一个从远程模式扩展的类型中 const extensionSchema = ` directive @upper on FIELD_DEFINITION extend type User { firstname: String @upper } `; // resolvedSchemas is an array of makeRemoteExecutableSchema coming from introspect

我正在尝试将一个指令添加到一个从远程模式扩展的类型中

   const extensionSchema = `
    directive @upper on FIELD_DEFINITION
    extend type User {
        firstname: String @upper
    }

`;
    // resolvedSchemas is an array of makeRemoteExecutableSchema coming from introspection queries.
resolvedSchemas.push(extensionSchema);

return mergeSchemas({
    schemas: resolvedSchemas,
    schemaDirectives: {
        upper: UpperCaseDirective
    }
   })
我得到:
错误:未知指令“upper”。
。 我错过了什么

我的指示:

const { SchemaDirectiveVisitor } = require("graphql-tools");
const { defaultFieldResolver } = require("graphql");

module.exports = class UpperCaseDirective extends SchemaDirectiveVisitor {
  visitFieldDefinition(field) {
    const { resolve = defaultFieldResolver } = field;
    field.resolve = async function (...args) {
            const result = await resolve.apply(this, args);
            console.log("RESULTADOOOO", result);
      if (typeof result === "string") {
        return result.toUpperCase();
      }
      return result;
    };
  }
}

我知道这个问题太老了,但我还是来了;您是将合并的模式添加到makeExecutableSchema还是将任何模式传递给apollo服务器构造函数?(我假设这是阿波罗服务器…你从哪里得到合并模式功能?