module Option: sig
.. end
val none : 'a option React.signal
none
is S.const None
.
val some : 'a React.signal -> 'a option React.signal
some s
is S.map ~eq (fun v -> Some v) None
, where eq
uses
s
's equality function to test the Some v
's equalities.
val value : ?eq:('a -> 'a -> bool) ->
default:[ `Always of 'a React.signal | `Init of 'a React.signal ] ->
'a option React.signal -> 'a React.signal
value default s
is
s
with only its
Some v
values.
Whenever
s
is
None
, if
default
is
`Always dv
then
the current value of
dv
is used instead. If
default
is
`Init dv
the current value of
dv
is only used
if there's no value at creation time, otherwise the last
Some v
value of
s
is used.
- [
value ~default s
]t = v
if [s
]t = Some v
- [
value ~default:(`Always d) s
]t =
[d
]t
if [s
]t = None
- [
value ~default:(`Init d) s
]0 =
[d
]0
if [s
]0 = None
- [
value ~default:(`Init d) s
]t =
[value ~default:(`Init d) s
]t'
if [s
]t = None
and t' is the greatest t' < t
with [s
]t' <> None
or 0 if there is no such t'
.