package eliom

  1. Overview
  2. Docs
Module type
Class type
include Eliom_shared_sigs.RLIST with type 'a signal := 'a React.S.t and type 'a sv := 'a Value.t and type 'a ct := 'a FakeReactiveData.RList.t and type 'a chandle := 'a FakeReactiveData.RList.handle
type 'a t

The type of (shared) reactive lists

type 'a handle

Handles are used to manipulate reactive lists

val create : ?default: ('a FakeReactiveData.RList.t * 'a FakeReactiveData.RList.handle) option Eliom_client_value.t -> ?reset_default:bool -> 'a list -> 'a t * 'a handle

create ?default ?reset_default l produces a pair l, f, where s is a (shared) reactive list, and f is a handle for manipulating the list.

The initial value of the list is l, unless default is provided. default, if provided, is used as the client-side list (and corresponding handle). reset_default, if set to true (default: false), resets the value of default to l.

val concat : 'a t -> 'a t -> 'a t
val value : 'a t -> 'a list Value.t
val signal : ?eq:('a -> 'a -> bool) Value.t -> 'a t -> 'a list React.S.t
val singleton_s : 'a React.S.t -> 'a t
val map : ('a -> 'b) Value.t -> 'a t -> 'b t
val from_signal : ?eq:('a -> 'a -> bool) Value.t -> 'a list React.S.t -> 'a t
val acc_e : ?init:('a t * 'a handle) -> 'a React.E.t Eliom_client_value.t -> 'a t
module Lwt : sig ... end

Cooperative versions of the ReactiveData operators

val synced : 'a t -> bool

If synced l is true, then the server-side and client-side values of l are equal. This means that the client-side code can initially rely on the server-provided value, and defer any updates until the first client-side update of l.