A m-ld state machine extends the MeldState API for convenience, but
note that the state of a machine is inherently mutable. For example, two
consecutive asynchronous reads will not necessarily operate on the same
state. To work with immutable state, use the
overloads taking a procedure.
Shorthand method for deleting a single Subject by its
@id. This will also
remove references to the given Subject from other Subjects.
Handle updates from the domain, from the moment this method is called. All
data changes are signalled through the handler, strictly ordered according
to the clone's logical clock. The updates can therefore be correctly used
to maintain some other view of data, for example in a user interface or
separate database. This will include the notification of 'rev-up' updates
after a connect to the domain. To change this behaviour, ignore updates
while the clone status is marked as
This method is equivalent to calling read with a no-op procedure.
a procedure to run for every update
a subscription, allowing the caller to unsubscribe the handler
Shorthand method for retrieving a single Subject by its
@id, if it exists.
a promise resolving to the requested Subject, or
undefined if not found
Performs some read procedure on the current state, with notifications of subsequent updates.
The state passed to the procedure is immutable and is guaranteed to remain 'live' until the procedure's return Promise resolves or rejects.
a procedure to run for the current state
a procedure to run for every update that follows the state in the procedure
Actively reads data from the domain.
The query executes in response to either subscription to the returned
result, or calling
All results are guaranteed to derive from the current state; however since the observable results are delivered asynchronously, the current state is not guaranteed to be live in the subscriber. In order to keep this state alive during iteration (for example, to perform a consequential operation), perform the request in the scope of a read procedure instead.
the declarative read description
Performs some write procedure on the current state.
The state passed to the procedure is immutable and is guaranteed to remain
'live' until its
write method is called, or the procedure's return
Promise resolves or rejects.
a procedure to run against the current state. This
procedure is able to modify the given state, incrementally using its
Actively writes data to the domain.
one of the Write types
the declarative write description
the next state of the domain, changed by this write operation only