@grindife/supamelon
Version:
Combination of supabase and watermelondb
18 lines (14 loc) • 481 B
JavaScript
// @flow
import {
type ConnectableObservable,
type Observable,
ReplaySubject,
multicast,
} from '../__wmelonRxShim'
// Creates a Connectable observable, that, while connected, replays the latest emission
// upon subscription. When disconnected, the replay cache is cleared.
export default function publishReplayLatestWhileConnected<T>(
source: Observable<T>,
): ConnectableObservable<T> {
return source.pipe(multicast(() => new ReplaySubject(1)))
}