A simple ELM library to use the GraphQL API.
> elm install gribouille/elm-graphql
To run the examples:
$ cd examples
$ npm install
$ npm run server
$ npm run dev
Open http://localhost:8000/src/Main.elm.
GraphQL API:
type User {
id: Int!
login: String!
firstname: String
lastname: String
email: String
}
type Query {
users: [User!]!
...
}
Library usage:
type alias User =
{ id : Int
, login : String
, firstname : String
, lastname : String
, email : String
}
userDecoder : Decoder User
userDecoder = ...
type Msg
= OnUsers (GraphQL.Response (List User))
| ...
get : Cmd Msg
get =
GraphQL.run
{ query = "query { users { id login firstname lastname email } }"
, decoder = usersDecoder
, root = "users"
, url = "<url/graphql>"
, headers = []
, on = OnUsers
, variables = Nothing
}
The API documentation is available here.
Feedback and contributions are very welcome.
This project is licensed under Mozilla Public License Version 2.0.