-
Notifications
You must be signed in to change notification settings - Fork 1
/
Deadpan-DDP.cabal
75 lines (72 loc) · 3.79 KB
/
Deadpan-DDP.cabal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
name: Deadpan-DDP
version: 0.9.6.0
synopsis: Write clients for Meteor's DDP Protocol
description: The Deadpan-DDP project includes a debugging-tool, as well as a general purpose library.
.
<https://github.com/meteor/meteor/blob/devel/packages/ddp/DDP.md DDP> is the protocol that
<http://meteor.com 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 <https://github.com/sordina/Deadpan-DDP#deadpan-ddp README.md> on Github for more information.
homepage: http://github.com/sordina/Deadpan-DDP
license: MIT
license-file: LICENSE
author: Lyndon Maydwell
maintainer: [email protected]
build-type: Simple
cabal-version: >=1.10
Extra-Source-Files: changelog.md
library
exposed-modules: Data.EJson, Data.EJson.EJson, Data.EJson.Aeson, Data.EJson.EJson2Value,
Web.DDP.Deadpan, Web.DDP.Deadpan.Callbacks, Web.DDP.Deadpan.Comms,
Web.DDP.Deadpan.DSL, Web.DDP.Deadpan.Websockets, Web.DDP.Deadpan.GUID
build-depends: base >= 4 && < 5, websockets, network,
text, unordered-containers, base64-bytestring,
aeson, scientific, bytestring,
vector, lens, network-uri, safe, mtl,
containers, stm, transformers, time >= 1.4, random, hashable, async
hs-source-dirs: src
default-language: Haskell2010
executable deadpan
main-is: Main.hs
build-depends: base >= 4 && < 5, websockets, network,
text, unordered-containers, base64-bytestring,
aeson, scientific, bytestring,
vector, lens, network-uri, safe, mtl,
containers, stm, transformers, time >= 1.4,
haskeline >= 0.7, random, hashable, async
hs-source-dirs: src
default-language: Haskell2010
test-suite doctests
type: exitcode-stdio-1.0
ghc-options: -threaded
main-is: test/DocTestTests.hs
build-depends: base, doctest >= 0.8, QuickCheck, filemanip
default-language: Haskell2010