UNPKG

mst-effect

Version:

Designed to be used with MobX-State-Tree to create asynchronous actions using RxJS.

10 lines (9 loc) 451 B
import { addDisposer } from 'mobx-state-tree'; import { Subject } from 'rxjs'; export function signal(self, fn) { var _a; const payloadSource = new Subject(); const signal$ = (_a = fn === null || fn === void 0 ? void 0 : fn(payloadSource.asObservable())) !== null && _a !== void 0 ? _a : payloadSource.asObservable(); addDisposer(self, () => payloadSource.complete()); return [signal$, (payload) => payloadSource.next(payload)]; }