Progressively build a collection of events using the passed-in builder.
Progressively build a collection of events using the passed-in builder. A value containing the current version of the collection is notified for each incoming event.
Build a new Event by applying the given function to each value observed.
Build a new Event by applying the given function to each value
observed. Event values for which the partial function f
does
not apply are dropped; other values are transformed by f
.
Builds a new Event by keeping only the Events where
the previous and current values are not ==
to each other.
Builds a new Event by keeping only the Events where
the previous and current values are not ==
to each other.
Build a new Event by keeping only those Event values where the
equality predicate eq
applied to the current and new values
does not match.
Build a new Event by keeping only those Event values where the
equality predicate eq
applied to the current and new values
does not match.
The Event that stores the difference between successive updates to the parent event.
Build a new Event by keeping only those Event values that match
the predicate p
.
Build a new Event by keeping only those Event values that match
the predicate p
.
Build a new Event by incrementally accumulating over events,
starting with value z
.
Build a new Event by incrementally accumulating over events,
starting with value z
. Each intermediate aggregate is notified
to the derived event.
Join two events into a new Event which notifies a tuple of the last value in each underlying event.
Join two events into a new Event which notifies a tuple of the last value in each underlying event.
Build a new Event by transforming each new event value with f
.
Build a new Event by transforming each new event value with f
.
Merge two events; the resulting event interleaves events
from this and other
.
Merge two events; the resulting event interleaves events
from this and other
.
The Event which merges the events resulting from f
applied
to each element in this Event.
The Event which merges the events resulting from f
applied
to each element in this Event.
Notify this Witness with the given note.
Notify this Witness with the given note.
Patch up an Event of differences (like those produced by Event.diff) into an Event that reflects the current version of a data structure.
Patch up an Event of differences (like those produced by
Event.diff) into an Event that reflects the current
version of a data structure. That is: (event:
Event[CC[T]]).diff.patch
is equivalent to event
Register the given Witness to this Event.
Register the given Witness to this Event. Witnesses are notified of new values until it is deregistered by the returned Closable.
Observe this event with function s
.
Observe this event with function s
. Equivalent to
register(Witness(s))
.
Merge two Events of different types.
Merge two Events of different types.
Build a new Event representing a sliding window of at-most n
.
Build a new Event representing a sliding window of at-most n
.
Each event notified by the parent are added to a queue of size
at-most n
. This queue is in turn notified to register of
the returned event.
An event which consists of the first howmany
values
in the parent Event.
An event which consists of the first howmany
values
in the parent Event.
A Future which is satisfied by the first value observed.
A Future which is satisfied by the first value observed.
Merge two event streams in lock-step, combining corresponding event values.
Merge two event streams in lock-step, combining corresponding event values.
This can be dangerous! Since the implementation needs to queue outstanding Event-values from the slower producer, if one Event outpaces another, this queue can grow in an unbounded fashion.
A Java analog of
Event[A]()
.