UNPKG

@equinor/fusion-observable

Version:
12 lines 613 B
import { useMemo } from 'react'; import { distinctUntilChanged, map } from 'rxjs/operators'; import { mapProp } from '../operators'; const selectorFn = (subject, selector, compare) => { const selectorFn = typeof selector === 'function' ? map(selector) : mapProp(selector); return subject.pipe(selectorFn, distinctUntilChanged(compare)); }; /** Implementation of `useObservableSelector`. */ export function useObservableSelector(subject, selector, compare) { return useMemo(() => selectorFn(subject, selector, compare), [subject, selector, compare]); } //# sourceMappingURL=useObservableSelector.js.map