streamBaseline<T extends Object> function

BaselineSource<T> streamBaseline<T extends Object>({
  1. required T? read(),
  2. required Stream<Object?> stream,
  3. Object? revisionOf(
    1. T value
    )?,
})

Builds a BaselineSource from stream-based state — a bloc, a ValueStream, anything that republishes the saved copy.

The signal this creates is disposed with the tracker that consumes it.

Implementation

BaselineSource<T> streamBaseline<T extends Object>({
  required T? Function() read,
  required Stream<Object?> stream,
  Object? Function(T value)? revisionOf,
}) {
  final signal = StreamSignal(stream);

  return BaselineSource<T>(
    read: read,
    signal: signal,
    revisionOf: revisionOf,
    onDispose: signal.dispose,
  );
}