Как использовать пользовательские типы 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
`