purescript-graphql
purescript-graphql copied to clipboard
End to End typesafe GraphQL with PureScript
Hi! I was reading in the tutorial "PureScript GraphQL does not support subscriptions yet". Is this hard to implement? Do you have plans in doing so?
Currently it is not possible to add default values for field arguments and input fields. Ideally we could introduce a new function (and operator alias) `withDefaultValue`. If there is no...
We have to typecheck variables based on their definition and place of use. The following query is invalid but is currently accepted by PureScript GraphQL. ```gql type Query { hello(name:...
In GraphQL, if a field errors the error will be added to the `errors` field in the response (as described in the [specification](https://spec.graphql.org/June2018/#sec-Errors)). Furthermore the value for the field is...
## The Problem The GraphQL spec [demands that neighboring fields are executed in parallel](http://spec.graphql.org/June2018/#sec-Normal-and-Serial-Execution) for all fields that are not fields in the root mutation type. Mutation fields must be...
In GraphQL fields can be deprecated. This should also be possible in PureScript GraphQL. The fields continue working, the deprecation is only visible in the introspection query. This could be...
The implementation seems to think that fragments are operations: ``` Operation name is required for queries with multiple operations. ``` But this query should be fine: ```gql { search {...
I am currently struggling with union types. One idea was to return a tuple of output type and value from a resolve type function. The problem is, that this does...
It could be interesting to create [`Contravariant` instance](https://pursuit.purescript.org/packages/purescript-contravariant/4.0.1/docs/Data.Functor.Contravariant#t:Contravariant) for the GraphQL types. A contravariant is basically the opposite of a functor: > A Contravariant functor can be seen as a...
Currently `arg` takes the type first and then the name of the argument. The inital idea was that this could be useful to quickly create alias functions like: ```purescript intArg...