bindStream static method

RealtimeQueryBridge bindStream({
  1. required Stream<Map<String, dynamic>> stream,
  2. required List key,
  3. bool filter(
    1. Map<String, dynamic> payload
    )?,
})

Listens to an existing channel stream and calls BloomData.invalidateQueries with key on every message (or when filter returns true).

  • stream: Broadcast event stream from a channel subscription.
  • key: BloomData query key to invalidate.
  • filter: Optional filter predicate.

Implementation

static RealtimeQueryBridge bindStream({
  required Stream<Map<String, dynamic>> stream,
  required List<dynamic> key,
  bool Function(Map<String, dynamic> payload)? filter,
}) {
  final sub = stream.listen((payload) {
    if (filter == null || filter(payload)) {
      BloomData.invalidateQueries(key);
    }
  });
  return RealtimeQueryBridge._(sub);
}