Cómo usar el paquete graphql-type-json con GraphQl

No puedo hacer que GraphQL reconozca el tipo escalar JSON.

Seguí los [documentos de Apolo] (http://dev.apollodata.com/tools/graphql-tools/scalars.html#Using-a-package) para definir un tipo escalar JSON GraphQL para mi esquema:

Esquema:

const SchemaDefinition = `
   scalar JSON
   schema {
     query: Query
     mutation: Mutation
  }
`

export default [
  SchemaDefinition,
  Query,
  Mutation,
  ...
]

Tipo de prueba:

const Test = `
  type Test {
    bodyJson: JSON
 }`

Resolver

import GraphQLJSON from 'graphql-type-json'

const QueryResolver = {
  Query: {
    viewer(root, args, ctx) {
      return User.query()
        .where('id', ctx.state.user)
        .first()
     }
  }
}

const scalarJSON = {
  JSON: GraphQLJSON
}

export default {
  ...QueryResolver,
  ...ViewerResolver,
  ...scalarJSON
  ...
}

Estoy usando PostgreSQL y la columna que estoy consultando (body_json) es del tipo de datos jsonb.

Si pruebo mi esquema a través de GraphiQL, cuando devuelvo el valor directamente de la base de datos (uso Knex para consultar) obtengo este mensaje de error de GraphQL:

Se esperaba un valor de tipo \ "JSON \" pero se recibió: [objeto Objeto]

Si uso JSON.stringify primero en el valor devuelto, obtengo este error:

"Se esperaba un valor de tipo \" JSON \ "pero se recibió: {\" key \ ": \" test \ "}"

¿Alguna sugerencia de lo que podría estar haciendo mal?

Respuestas a la pregunta(2)

Su respuesta a la pregunta