Я пытаюсь использовать библиотеку graphql-geojson в приложении Apollo / Express для обслуживания GeoJSON ответы.
Библиотека предоставляет преобразователи, но я не нашел способа добавить типы в определение схемы, не записывая их вручную. И даже тогда это оказалось не так просто.
Другой настраиваемый тип, Date from graphql-date, я могу просто объявить в схеме как собственный скаляр:
const typeDefs: DocumentNode = gql`
scalar Date
scalar PointObject
type Station {
id: ID!
name: String!
geom: PointObject
created: Date!
}
...
}
Однако объявление PointObject как скаляр позволяет получить полный GeoJSON (что нормально), но приводит к ошибкам:
«GraphQLError: Поле \" geom \ "не должно иметь выделения, поскольку тип \" GeoJSONPoint \ "не имеет подполей».
когда вы пытаетесь вернуть подвыбор geom
, например:
{
stations {
id
name
geom {
coordinates
}
}
}
Есть ли способ объединить типы, предоставленные библиотекой, с моей схемой?