What fromLive needs from a pond live source: enough to
materialize a snapshot, and a way to hear that one is due.
Looser than core's LiveSource<S> in exactly one place — the
'event' listener's parameter is any. That is not laziness: this
package never reads the event, it only needs the notification, and
core's incremental operators type that listener differently.
LiveAggregation.on('event', …) hands back a widened ClosedEvent
rather than a schema-narrowed EventForSchema<Out>, so it does not
satisfy LiveSource<Out> structurally. Requiring the exact interface
would reject precisely the sources worth binding (see fromLive).
LiveSeries, LiveView, LiveAggregation, LiveRollingAggregation,
and LiveFusedRolling all match this.
What fromLive needs from a pond live source: enough to materialize a snapshot, and a way to hear that one is due.
Looser than core's
LiveSource<S>in exactly one place — the'event'listener's parameter isany. That is not laziness: this package never reads the event, it only needs the notification, and core's incremental operators type that listener differently.LiveAggregation.on('event', …)hands back a widenedClosedEventrather than a schema-narrowedEventForSchema<Out>, so it does not satisfyLiveSource<Out>structurally. Requiring the exact interface would reject precisely the sources worth binding (see fromLive).LiveSeries,LiveView,LiveAggregation,LiveRollingAggregation, andLiveFusedRollingall match this.