Я пытаюсь использовать библиотеку 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: Field \" geom \ "не должен иметь выборпоскольку тип \ "GeoJSONPoint \" не имеет подполей. "
, когда вы пытаетесь вернуть подвыбор geom
, например:
{
stations {
id
name
geom {
coordinates
}
}
}
Есть ли способобъединить типы, предоставленные библиотекой, с моей схемой?