UNPKG

@equinor/fusion-observable

Version:
18 lines 883 B
import { useEffect, useLayoutEffect } from 'react'; export const useObservableSubscription = (observable, observer, teardown) => { // biome-ignore lint/correctness/useExhaustiveDependencies: teardown should not trigger rerender useEffect(() => { const subscription = observable.subscribe(observer); subscription.add(teardown); return () => subscription.unsubscribe(); }, [observable, observer]); }; export const useObservableLayoutSubscription = (observable, observer, teardown) => { // biome-ignore lint/correctness/useExhaustiveDependencies: teardown should not trigger rerender useLayoutEffect(() => { const subscription = observable.subscribe(observer); subscription.add(teardown); return () => subscription.unsubscribe(); }, [observable, observer]); }; //# sourceMappingURL=useObservableSubscription.js.map