Динамическое создание схемы graphql с циклическими ссылками
Используя graphql-js, мне нужно динамически создавать схему graphql, перебирая массив некоторых данных, например:
[{
name: 'author',
fields: [{
field: 'name'
}, {
field: 'books',
reference: 'book'
}]
}, {
name: 'book',
fields: [{
field: 'title'
}, {
field: 'author',
reference: 'author'
}]
}]
Проблема в круговых ссылках. Когда я создаю AuthorType, мне нужно, чтобы BookType уже был создан, и наоборот.
Получающаяся схема должна выглядеть так:
type Author : Object {
id: ID!
name: String,
books: [Book]
}
type Book : Object {
id: ID!
title: String
author: Author
}
Как я могу решить это?