Skip to content

gribouille/elm-graphql

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

elm-graphql

A simple ELM library to use the GraphQL API.

Install

> elm install gribouille/elm-graphql

Examples

To run the examples:

$ cd examples
$ npm install
$ npm run server
$ npm run dev

Open http://localhost:8000/src/Main.elm.

Usage

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
  }

Documentation

The API documentation is available here.

Contributing

Feedback and contributions are very welcome.

License

This project is licensed under Mozilla Public License Version 2.0.