Module Lwt_react.S
include module type of React.S
type 'a t = 'a React.signalval const : 'a -> 'a React.signalval create :
?eq:('a -> 'a -> bool) ->
'a ->
'a React.signal * (?step:React.step -> 'a -> unit)val value : 'a React.signal -> 'aval retain : 'a React.signal -> (unit -> unit) -> [ `R of unit -> unit ]val eq_fun : 'a React.signal -> ('a -> 'a -> bool) optionval stop : ?strong:bool -> 'a React.signal -> unitval equal :
?eq:('a -> 'a -> bool) ->
'a React.signal ->
'a React.signal ->
boolval trace : ?iff:bool t -> ('a -> unit) -> 'a React.signal -> 'a React.signalval hold : ?eq:('a -> 'a -> bool) -> 'a -> 'a React.event -> 'a React.signalval app :
?eq:('b -> 'b -> bool) ->
('a -> 'b) React.signal ->
'a React.signal ->
'b React.signalval map :
?eq:('b -> 'b -> bool) ->
('a -> 'b) ->
'a React.signal ->
'b React.signalval filter :
?eq:('a -> 'a -> bool) ->
('a -> bool) ->
'a ->
'a React.signal ->
'a React.signalval fmap :
?eq:('b -> 'b -> bool) ->
('a -> 'b option) ->
'b ->
'a React.signal ->
'b React.signalval diff : ('a -> 'a -> 'b) -> 'a React.signal -> 'b React.eventval changes : 'a React.signal -> 'a React.eventval sample :
('b -> 'a -> 'c) ->
'b React.event ->
'a React.signal ->
'c React.eventval on :
?eq:('a -> 'a -> bool) ->
bool React.signal ->
'a ->
'a React.signal ->
'a React.signalval when_ :
?eq:('a -> 'a -> bool) ->
bool React.signal ->
'a ->
'a React.signal ->
'a React.signalval dismiss :
?eq:('a -> 'a -> bool) ->
'b React.event ->
'a ->
'a React.signal ->
'a React.signalval accum :
?eq:('a -> 'a -> bool) ->
('a -> 'a) React.event ->
'a ->
'a React.signalval fold :
?eq:('a -> 'a -> bool) ->
('a -> 'b -> 'a) ->
'a ->
'b React.event ->
'a React.signalval merge :
?eq:('a -> 'a -> bool) ->
('a -> 'b -> 'a) ->
'a ->
'b React.signal list ->
'a React.signalval switch :
?eq:('a -> 'a -> bool) ->
'a React.signal React.signal ->
'a React.signalval fix :
?eq:('a -> 'a -> bool) ->
'a ->
('a React.signal -> 'a React.signal * 'b) ->
'bval l1 :
?eq:('b -> 'b -> bool) ->
('a -> 'b) ->
'a React.signal ->
'b React.signalval l2 :
?eq:('c -> 'c -> bool) ->
('a -> 'b -> 'c) ->
'a React.signal ->
'b React.signal ->
'c React.signalval l3 :
?eq:('d -> 'd -> bool) ->
('a -> 'b -> 'c -> 'd) ->
'a React.signal ->
'b React.signal ->
'c React.signal ->
'd React.signalval l4 :
?eq:('e -> 'e -> bool) ->
('a -> 'b -> 'c -> 'd -> 'e) ->
'a React.signal ->
'b React.signal ->
'c React.signal ->
'd React.signal ->
'e React.signalval l5 :
?eq:('f -> 'f -> bool) ->
('a -> 'b -> 'c -> 'd -> 'e -> 'f) ->
'a React.signal ->
'b React.signal ->
'c React.signal ->
'd React.signal ->
'e React.signal ->
'f React.signalval l6 :
?eq:('g -> 'g -> bool) ->
('a -> 'b -> 'c -> 'd -> 'e -> 'f -> 'g) ->
'a React.signal ->
'b React.signal ->
'c React.signal ->
'd React.signal ->
'e React.signal ->
'f React.signal ->
'g React.signalmodule Bool : sig ... endmodule Int : sig ... endmodule Float : sig ... endmodule Pair : sig ... endmodule Option : sig ... endmodule Compare : sig ... endmodule type EqType = sig ... endmodule type S = sig ... endmodule Special : sig ... endMonadic interface
val return : 'a -> 'a signalSame as const.
bind ?eq s f is initially f x where x is the current value of s. Each time s changes to a new value y, bind signal f is set to f y, until the next change of signal.
Same as bind except that f returns a promise. Calls to f are serialized.
Lwt-specific utilities
with_finaliser f s returns a signal s' which behaves as s, except that f is called when s' is garbage collected.
limit f s limits the rate of s update with f.
For example, to limit it to 1 per second, you can use: limit (fun () -> Lwt_unix.sleep 1.0) s.
val keep : 'a signal -> unitkeep s keeps a reference to s so it will never be garbage collected.
Threaded versions of React transformation functions
The following functions behave as their React counterpart, except that they take functions that may yield.
The _s suffix means that calls are serialized.