Graphql: добавить распознаватели по умолчанию для анализируемой схемы?

makeExecutableSchema от Аполлона graphql-tools заполняет схему определителями по умолчанию, которые извлекают реквизиты из родительского объекта и вызывают связанные с полем преобразователи, если таковые имеются. Это поведение по умолчанию GraphQL, и это нормально.

Но у меня есть проанализированная схема, которая не является исполняемой. И у меня есть куча распознавателей (на уровне объекта). Хорошо, я добавляю их так:

import {addResolveFunctionsToSchema} from "graphql-tools/dist/schemaGenerator";
addResolveFunctionsToSchema({schema, resolvers});

Но это не добавит преобразователи по умолчанию для полей. Я знаю, что они не обязательны, и GraphQL по умолчанию будет иметь стандартное разрешение, но не определено resolve Свойство on field приводит к некоторым проблемам, если я, например, использую директиву уровня поля, которая оборачивает преобразователь в декоратор, например так:

  visitFieldDefinition(field: GraphQLField) {
    field.resolve = guard(field.resolve, this.args.scopes, ()=>null);
    return field;
  }

Теперь есть определитель, но обратный вызов не определен. Это не хорошо

Итак, вопрос в том, как заполнить необработанную проанализированную схему явными резолверами по умолчанию? Я пытался найти ответ в makeExecutableSchema источник, но не повезло

0 ответов

Другие вопросы по тегам