Как использовать пользовательские типы graphQL, импортированные из пакета npm в apollo's graphql-gql

Я не хочу писать свои собственные скалярные типы, я хочу импортировать их из библиотеки. Например, я хочу UnixTimestamp из этого пакета npm - gnt

в моем typeDefs.js Я пытаюсь что-то вроде этого

import { gql } from 'apollo-server-express'
import { UnixDate } from 'gnt'

export default gql`
type vacation {
  from: ${UnixDate}
  to: ${UnixDate}
}
/* other types and queries */
`

Но это не работает. я получил Error: Type "UnixDate" not found in document.

1 ответ

Решение

Добавление UnixDate таким образом поле присваивает этот скаляр этому конкретному полю и сообщает GraphQL, как его обрабатывать, но он явно не добавляет скаляр в саму схему. Вам все еще нужно добавить скаляр к typeDefs, например так:

export default gql`
  scalar ${UnixDate} /* use template literal placeholder */

  type vacation {
    from: ${UnixDate}
    to: ${UnixDate}
  }
  # Other typeDefs
`
Другие вопросы по тегам