UNPKG

@lifaon/rx-js-light

Version:

Blazing fast Observables

24 lines (23 loc) 793 B
import {STATIC_COMPLETE_NOTIFICATION} from "../../../../../../misc/notifications/built-in/complete/complete-notification.constant.mjs"; import {createErrorNotification} from "../../../../../../misc/notifications/built-in/error/create-error-notification.mjs"; import {createNextNotification} from "../../../../../../misc/notifications/built-in/next/create-next-notification.mjs"; export function fromPromise(promise) { return emit => { let running = true; promise.then(value => { if (running) { emit(createNextNotification(value)); } if (running) { emit(STATIC_COMPLETE_NOTIFICATION); } }, error => { if (running) { emit(createErrorNotification(error)); } }); return () => { running = false; }; }; }