UNPKG

@ledgerhq/live-common

Version:
28 lines 997 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useReplaySubject = useReplaySubject; exports.useObservable = useObservable; const rxjs_1 = require("rxjs"); const react_1 = require("react"); // emit value each time it changes by reference. it replays the last value at subscribe time. function useReplaySubject(value) { const [subject] = (0, react_1.useState)(() => new rxjs_1.ReplaySubject()); (0, react_1.useEffect)(() => { subject.next(value); }, [subject, value]); (0, react_1.useEffect)(() => { return () => { subject.complete(); }; }, [subject]); return subject; } function useObservable(observable, initialValue) { const [value, update] = (0, react_1.useState)(initialValue || undefined); (0, react_1.useEffect)(() => { const s = observable.subscribe(update); return () => s.unsubscribe(); }, [observable]); return value; } //# sourceMappingURL=observable.js.map