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

Я не хочу писать свои собственные скалярные типы, я хочу импортировать их из библиотеки. Например, мне нужен 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.


person Ruslan Zaytsev    schedule 30.10.2018    source источник


Ответы (1)


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

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

  type vacation {
    from: ${UnixDate}
    to: ${UnixDate}
  }
  # Other typeDefs
`
person Daniel Rearden    schedule 30.10.2018