/** PURE_IMPORTS_START _Observable,_Subscription,_util_subscribeToPromise PURE_IMPORTS_END */ import { Observable } from '../Observable'; import { Subscription } from '../Subscription'; import { subscribeToPromise } from '../util/subscribeToPromise'; export function fromPromise(input, scheduler) { if (!scheduler) { return new Observable(subscribeToPromise(input)); } else { return new Observable(function (subscriber) { var sub = new Subscription(); sub.add(scheduler.schedule(function () { return input.then(function (value) { sub.add(scheduler.schedule(function () { subscriber.next(value); sub.add(scheduler.schedule(function () { return subscriber.complete(); })); })); }, function (err) { sub.add(scheduler.schedule(function () { return subscriber.error(err); })); }); })); return sub; }); } } //# sourceMappingURL=fromPromise.js.map