sig
type 'a signal = 'a React.S.t
type 'a signal_list_wrap = 'a ReactiveData.RList.t
module Source :
sig
type 'a t
val create :
?eq:('a -> 'a -> bool) -> 'a -> 'a Ketrew_pure.Reactive.Source.t
val set : 'a Ketrew_pure.Reactive.Source.t -> 'a -> unit
val signal :
'a Ketrew_pure.Reactive.Source.t -> 'a Ketrew_pure.Reactive.signal
val value : 'a Ketrew_pure.Reactive.Source.t -> 'a
val modify : 'a Ketrew_pure.Reactive.Source.t -> f:('a -> 'a) -> unit
val modify_opt :
'a Ketrew_pure.Reactive.Source.t -> f:('a -> 'a option) -> unit
val map_signal :
'a Ketrew_pure.Reactive.Source.t ->
f:('a -> 'b) -> 'b Ketrew_pure.Reactive.signal
end
module Signal :
sig
type 'a t = 'a Ketrew_pure.Reactive.signal
val map :
'a Ketrew_pure.Reactive.Signal.t ->
f:('a -> 'b) -> 'b Ketrew_pure.Reactive.Signal.t
val bind :
'a Ketrew_pure.Reactive.Signal.t ->
f:('a -> 'b Ketrew_pure.Reactive.Signal.t) ->
'b Ketrew_pure.Reactive.Signal.t
val constant : 'a -> 'a Ketrew_pure.Reactive.Signal.t
val value : 'a Ketrew_pure.Reactive.Signal.t -> 'a
val singleton :
'a Ketrew_pure.Reactive.Signal.t ->
'a Ketrew_pure.Reactive.signal_list_wrap
val list :
'a list Ketrew_pure.Reactive.Signal.t ->
'a Ketrew_pure.Reactive.signal_list_wrap
val tuple_2 :
'a Ketrew_pure.Reactive.Signal.t ->
'b Ketrew_pure.Reactive.Signal.t ->
('a * 'b) Ketrew_pure.Reactive.Signal.t
val tuple_3 :
'a Ketrew_pure.Reactive.Signal.t ->
'b Ketrew_pure.Reactive.Signal.t ->
'c Ketrew_pure.Reactive.Signal.t ->
('a * 'b * 'c) Ketrew_pure.Reactive.Signal.t
end
end