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
источник, но не повезло