Write clients for Meteor's DDP Protocol.
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.