Deadpan-DDP

Write clients for Meteor's DDP Protocol

http://github.com/sordina/Deadpan-DDP

Latest on Hackage:0.9.6.0

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

MIT licensed by Lyndon Maydwell
Maintained by [email protected]

The Deadpan-DDP project includes a debugging-tool, as well as a general purpose library.

DDP is the protocol that Meteor speaks between client and server.

The DDP tech-stack is: Websockets -> JSON -> EJson -> Collections -> Subscriptions + RPC.

In order to use the debugging tool, install this package and run deadpan for a usage statement.

In order to use the library, simply import Web.DDP.Deadpan.

The DSL monad is largely based around RPC calls and callbacks. In order to write an application you would call Web.DDP.Deadpan.runClient with

  • An initial application state (this includes initial callbacks)

  • A set of connection parameters

  • A Web.DDP.Deadpan.DSL.Deadpan application

There are several callback-sets provided in Web.DDP.Deadpan, however, if you want to pick in a more granular fashion, look inside Web.DDP.Deadpan.Callbacks.

The connection parameters are the triple (Domain, Port, Path)...

For convenience the function getURI is provided to turn a URI of the form websocket://localhost:3000/websocket into the triple (Right ("localhost", 3000, "websocket"))... or an error (Left "error message").

Refer to the README.md on Github for more information.