package github-hooks

  1. Overview
  2. Docs
GitHub API web hook listener library

Install

Dune Dependency

Authors

Maintainers

Sources

github-hooks-0.5.0.tbz
sha256=bd92e6d3b8f6106e65851ebb0e8d56f8f87dd2d7cf09ecaae2ea5f5ed422f4c9
sha512=13620ae004c2b56b974ffbd76f9a0627a63967636bc834809f82a39abb1abf75491f0f17858445fbeb292faf5ed4cb0b9e343023d4794e6a0860311e9bff9cc2

doc/github-hooks/Github_hooks/Make/argument-2-Github/Monad/index.html

Module Github.Monad

All API requests are bound through this monad which encapsulates an Lwt cooperative thread and includes some state which may be set via API functions.

type 'a t

'a t is an Lwt thread sensitive to GitHub API state.

val return : 'a -> 'a t

return x is the value x wrapped in a state-sensitive Lwt thread.

val bind : ('a -> 'b t) -> 'a t -> 'b t

bind m f is the eventual value of f applied to the contents of m. Its argument order is designed for currying.

val map : ('a -> 'b) -> 'a t -> 'b t

map f m is bind m (fun x -> return (f x)). Its argument order is designed for currying.

val (>>=) : 'a t -> ('a -> 'b t) -> 'b t

m >>= f is {!bind} f m.

val (>|=) : 'a t -> ('a -> 'b) -> 'b t

m >|= f is {!map} f m.

val (>>~) : 'a Response.t t -> ('a -> 'b t) -> 'b t

m >>~ f is m >|= {!Response.value} >>= f.

val catch : (unit -> 'a t) -> (exn -> 'a t) -> 'a t

catch try with is the result of trying try. If try succeeds, its result is returned. If try raises an exception, with is applied to the exception and the result of with is returned.

val fail : exn -> 'a t

fail exn raises exception exn inside of the monad.

val run : 'a t -> 'a Lwt.t

run m is the Lwt thread corresponding to the sequence of API actions represented by m. Once a t has been run, any GitHub API state such as associated default security tokens or declared user agent string will not be available in subsequently bound functions.

val embed : 'a Lwt.t -> 'a t

embed lwt is an Lwt thread lifted into the GitHub API monad. Its monadic state will be inherited from any monadic values bound before it.

OCaml

Innovation. Community. Security.