Module Lwt_react.E

module E: sig .. end

include React.E

Lwt-specific utilities


val with_finaliser : (unit -> unit) -> 'a Lwt_react.event -> 'a Lwt_react.event
with_finaliser f e returns an event e' which behave as e, except that f is called when e' is garbage collected.
val next : 'a Lwt_react.event -> 'a Lwt.t
next e returns the next occurrence of e
val limit : (unit -> unit Lwt.t) -> 'a Lwt_react.event -> 'a Lwt_react.event
limit f e limits the rate of e with f.

For example, to limit the rate of an event to 1 per second you can use: limit (fun () -> Lwt_unix.sleep 1.0) event.

val from : (unit -> 'a Lwt.t) -> 'a Lwt_react.event
from f creates an event which occurs each time f () returns a value. If f raises an exception, the event is just stopped.
val to_stream : 'a Lwt_react.event -> 'a Lwt_stream.t
Creates a stream holding all values occurring on the given event
val of_stream : 'a Lwt_stream.t -> 'a Lwt_react.event
of_stream stream creates an event which occurs each time a value is available on the stream.
val delay : 'a Lwt_react.event Lwt.t -> 'a Lwt_react.event
delay thread is an event which does not occurs until thread returns. Then it behaves as the event returned by thread.
val keep : 'a Lwt_react.event -> unit
keep e keeps a reference to e so it will never be garbage collected.

Threaded versions of React transformation functions



Threaded versions of React transformation functions



The following functions behave as their React counterpart, except that they takes functions that may yield.

As usual the _s suffix is used when calls are serialized, and the _p suffix is used when they are not.

Note that *_p functions may not preserve event order.

val app_s : ('a -> 'b Lwt.t) Lwt_react.event -> 'a Lwt_react.event -> 'b Lwt_react.event
val app_p : ('a -> 'b Lwt.t) Lwt_react.event -> 'a Lwt_react.event -> 'b Lwt_react.event
val map_s : ('a -> 'b Lwt.t) -> 'a Lwt_react.event -> 'b Lwt_react.event
val map_p : ('a -> 'b Lwt.t) -> 'a Lwt_react.event -> 'b Lwt_react.event
val filter_s : ('a -> bool Lwt.t) -> 'a Lwt_react.event -> 'a Lwt_react.event
val filter_p : ('a -> bool Lwt.t) -> 'a Lwt_react.event -> 'a Lwt_react.event
val fmap_s : ('a -> 'b option Lwt.t) -> 'a Lwt_react.event -> 'b Lwt_react.event
val fmap_p : ('a -> 'b option Lwt.t) -> 'a Lwt_react.event -> 'b Lwt_react.event
val diff_s : ('a -> 'a -> 'b Lwt.t) -> 'a Lwt_react.event -> 'b Lwt_react.event
val accum_s : ('a -> 'a Lwt.t) Lwt_react.event -> 'a -> 'a Lwt_react.event
val fold_s : ('a -> 'b -> 'a Lwt.t) -> 'a -> 'b Lwt_react.event -> 'a Lwt_react.event
val merge_s : ('a -> 'b -> 'a Lwt.t) -> 'a -> 'b Lwt_react.event list -> 'a Lwt_react.event
val run_s : 'a Lwt.t Lwt_react.event -> 'a Lwt_react.event
val run_p : 'a Lwt.t Lwt_react.event -> 'a Lwt_react.event