package reactiveData
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=ad73fa0434030cdbff27d8a2140fbb70dd6a09af0d318cd02522a1ce3302dc73
sha512=eece1988c8d60ffcbb714b9384a9bea893f6f4a44c0037395d6b2c43f0d06493377f9ca71f8e9751d2148bdfdc357cd8a5445e8b8ea73dc6b2e6acb3cc17bb5c
doc/reactiveData/ReactiveData/module-type-S/index.html
Module type ReactiveData.S
Source
Signature describing a reactive data structure ('a t
).
Most functions in S
are not safe to call during a React update step.
Reactive version of the data container
Raw (non-reactive) version of the data container
Patch format
Message format
Handle that permits applying incremental updates
Build a container from initial contents. The handle can be used for performing reactive updates.
from_event d e
is a container whose initial value is d
, and which gets updated for every occurrence of e
Convert a React signal into a ReactiveData container.
Whenever the signal changes from value v
to value v'
, we detect the differences between v
and v'
, and perform downstream computation (e.g., for map
) only on the new and modified elements.
patch h p
applies p
on the container corresponding to h
set h d
sets the contents of the container corresponding to h
, disregarding previous contents
map f c
applies f
on all elements of c
, producing a new reactive container c'
. Modifying the contents of c
leads to modifications of c'
. f
is applied only on the new or modified elements of c
.
fold f c v
accumulates the updates on c
with f
starting from v
.
The result is a signal of value f m_n (f ... (f m_1 v))
, where m_1
... m_n
are the messages that have been applied since the beginning of fold
. m_1
is a pseudo-message Set l
, accounting for the contents l
of c
at the time when accumulation starts.
Signal corresponding to contents