MyNixOS website logo
Description

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.

Metadata

Version

0.9.6.0

License

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows