Скажем, у меня есть схема GraphQL, например:
type author {
id: Int
name: String
rating: Int
}
Вы можете использовать это определение типа для создания исполняемой схемы, по которой можно делать запросы.
Но если у меня нет указанных выше определений типов, а есть только объект GraphQLSchema, полученный с помощью запроса самоанализа, как мне сгенерировать указанные выше определения типов?
Я проверил graphql / utilities, у которых был метод printSchema, который принимает объект GraphQLSchema и печатает строку. Но я не могу фильтровать вывод только для конкретного узла, так как мне не нужна вся схема. Разбирать строковый вывод нежелательно.
Приветствуется указание на правильные методы.


В отличие от printSchema он не упоминается в документации, но graphql-js экспортирует метод printType именно для этого! См. В источники. Например с graphql-iso-date.
const { printType } = require('graphql');
const { GraphQLDate } = require('graphql-iso-date');
console.info(printType(GraphQLDate));
Он печатает:
"""
A date string, such as 2007-12-03, compliant with the `full-date` format
outlined in section 5.6 of the RFC 3339 profile of the ISO 8601 standard for
representation of dates and times using the Gregorian calendar.
"""
scalar Date
Что можно просто поместить в параметр makeExecutableSchema функций typeDefs.