Это происходит потому, что модуль graphql-tools
импортирует graphql
из своего модуля CommonJS, в то время как мой код делает это из модуля ES.То есть каждый объект в моем собственном модуле происходит от модуля ES, а graph-tool
- нет.
Решение
Это так же просто, как импортировать что-либо из graphql
импорта модуля CommonJS, и оба объекта из graphql
и graphql-tools
смогут общаться друг с другом:
import graphql_ from 'graphql/index.js'
import graphqlTools from 'graphql-tools'
const { graphql } = graphql_
const { makeExecutableSchema } = graphqlTools
const typeDefs = `
type Query {
as: [A]
}
type A {
x: Int,
y: Int
}
`
const schema = makeExecutableSchema ({ typeDefs })
graphql(schema, '{ as { x, y } }').then(console.log)