Динамическое создание схемы 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
}

Как я могу решить это?

Ответы на вопрос(2)

Ваш ответ на вопрос