Servant Purescript
==================
[](https://travis-ci.org/eskimor/servant-purescript)
Generate typed PureScript query functions for your servant-api. Find an example, including
the generated code in [examples/central-counter](https://github.com/eskimor/servant-purescript/tree/master/examples/central-counter).
## Features
- Typed serialization/deserialization taken care of by Haskell's aeson and PureScript's argonaut.
Generic encoding/decoding of both made compatible by
[purescript-argonaut-generic-codecs](https://github.com/eskimor/purescript-argonaut-generic-codecs/blob/purescript-argonaut-generic-codec/src/Data/Argonaut/Generic/Aeson.purs).
- You can put common parameters like Auth tokens and the base URL in a reader monad so you don't
have to pass them explicitly. This is configurable in the code generator with `readerParams` in `Settings`.
## Usage
Apart from the above basic usage example the documentation is still lacking. For
the purescript side make sure you have
[purescript-servant-support](https://github.com/eskimor/purescript-servant-support)
and
[purescript-argonaut-generic-codecs](https://github.com/eskimor/purescript-argonaut-generic-codecs)
installed, otherwise the generated code will not compile.
## Status
It works!
Documentation is yet to come, but there is a usage example in
examples/central-counter which also uses servant-subscriber used for counter
live updates. Generated code is only partly tested, especially Query parameters
are still completely untested.
For type translations purescript-bridge is used.