Monadic wrapper over Express web framework.


Monadic wrapper over Express web framework.

var Future  = require('data.future')
var Express = require('wrapper.express')(require('express'))
var routes = [
  Express.get('/:name', function(req) {
    return new Future(function(rejectresolve) {
      resolve(Express.send('Hello, ' + req.params.name))
var app = Express.create(routes)
Express.listen(8080, app).fork(
  function (error){ throw error }
, function (addr) { console.log('Running on http://localhost:' + addr.port) }

Or with Sweet.js macros:

var Express = require('wrapper.express')(require('express'));
var routes = $routes(Express) {
  get('/:name'): {params:{ name }} => $do {
    html <- Future.of('Hello, ' + name)
    return Express.send(html)

Check out the examples/ folder for more examples.

The easiest way is to grab it from NPM. If you're running in a Browser environment, you can use [Browserify][]

$ npm install wrapper.express

Check out the [Wiki][wiki] for detailed information about the library. There's also plenty of [Examples][examples] in the examples/ folder.

You can [read the API documentation online][docs] or build it yourself:

$ git clone git://github.com/folktale/wrapper.express.git
$ cd wrapper.express
$ npm install
$ make documentation

Then open the file docs/index.html in your browser.

This library requires express@4.x and node@0.10+.

Copyright (c) 2014 Quildreen Motta.

Released under the MIT licence.

[Fantasy Land]: https://github.com/fantasyland/fantasy-land [Browserify]: http://browserify.org/ [Git]: http://git-scm.com/ [Make]: http://www.gnu.org/software/make/ [Node.js]: http://nodejs.org/ [es5-shim]: https://github.com/kriskowal/es5-shim [docs]: http://folktale.github.io/wrapper.express [wiki]: https://github.com/folktale/wrapper.express/wiki [examples]: https://github.com/folktale/wrapper.express/tree/master/examples [release]: https://github.com/folktale/wrapper.express/releases/download/v0.2.1/wrapper.express-0.2.1.tar.gz