ra-realtime
Version:
A saga enabling realtime updates for react-admin
18 lines (14 loc) • 455 B
JavaScript
import { eventChannel } from 'redux-saga';
import realtimeObserver from './realtimeObserver';
export const createSubscribeFactory = realtimeObserverImpl => (
watcher,
emitter
) => {
const observer = realtimeObserverImpl(emitter);
const result = watcher.subscribe(observer);
return result.unsubscribe;
};
export default watcher =>
eventChannel(emitter =>
createSubscribeFactory(realtimeObserver)(watcher, emitter)
);