PATH:
usr
/
local
/
lib
/
node_modules
/
ghost-cli
/
node_modules
/
rxjs
/
_esm2015
/
internal
/
observable
import { Observable } from '../Observable'; import { AsyncSubject } from '../AsyncSubject'; import { map } from '../operators/map'; import { canReportError } from '../util/canReportError'; import { isScheduler } from '../util/isScheduler'; import { isArray } from '../util/isArray'; export function bindNodeCallback(callbackFunc, resultSelector, scheduler) { if (resultSelector) { if (isScheduler(resultSelector)) { scheduler = resultSelector; } else { return (...args) => bindNodeCallback(callbackFunc, scheduler)(...args).pipe(map(args => isArray(args) ? resultSelector(...args) : resultSelector(args))); } } return function (...args) { const params = { subject: undefined, args, callbackFunc, scheduler, context: this, }; return new Observable(subscriber => { const { context } = params; let { subject } = params; if (!scheduler) { if (!subject) { subject = params.subject = new AsyncSubject(); const handler = (...innerArgs) => { const err = innerArgs.shift(); if (err) { subject.error(err); return; } subject.next(innerArgs.length <= 1 ? innerArgs[0] : innerArgs); subject.complete(); }; try { callbackFunc.apply(context, [...args, handler]); } catch (err) { if (canReportError(subject)) { subject.error(err); } else { console.warn(err); } } } return subject.subscribe(subscriber); } else { return scheduler.schedule(dispatch, 0, { params, subscriber, context }); } }); }; } function dispatch(state) { const { params, subscriber, context } = state; const { callbackFunc, args, scheduler } = params; let subject = params.subject; if (!subject) { subject = params.subject = new AsyncSubject(); const handler = (...innerArgs) => { const err = innerArgs.shift(); if (err) { this.add(scheduler.schedule(dispatchError, 0, { err, subject })); } else { const value = innerArgs.length <= 1 ? innerArgs[0] : innerArgs; this.add(scheduler.schedule(dispatchNext, 0, { value, subject })); } }; try { callbackFunc.apply(context, [...args, handler]); } catch (err) { this.add(scheduler.schedule(dispatchError, 0, { err, subject })); } } this.add(subject.subscribe(subscriber)); } function dispatchNext(arg) { const { value, subject } = arg; subject.next(value); subject.complete(); } function dispatchError(arg) { const { err, subject } = arg; subject.error(err); } //# sourceMappingURL=bindNodeCallback.js.map
[-] zip.js.map
[edit]
[-] concat.js
[edit]
[-] fromEventPattern.js
[edit]
[-] combineLatest.js
[edit]
[-] using.js
[edit]
[-] fromArray.js.map
[edit]
[-] generate.js
[edit]
[-] generate.js.map
[edit]
[+]
dom
[+]
..
[-] defer.js
[edit]
[-] ConnectableObservable.js
[edit]
[-] concat.js.map
[edit]
[-] from.js.map
[edit]
[-] range.js.map
[edit]
[-] merge.js.map
[edit]
[-] bindCallback.js
[edit]
[-] forkJoin.js.map
[edit]
[-] bindNodeCallback.js.map
[edit]
[-] SubscribeOnObservable.js
[edit]
[-] interval.js
[edit]
[-] fromPromise.js.map
[edit]
[-] of.js
[edit]
[-] ConnectableObservable.js.map
[edit]
[-] throwError.js.map
[edit]
[-] iif.js
[edit]
[-] timer.js.map
[edit]
[-] merge.js
[edit]
[-] bindCallback.js.map
[edit]
[-] onErrorResumeNext.js
[edit]
[-] onErrorResumeNext.js.map
[edit]
[-] partition.js
[edit]
[-] never.js.map
[edit]
[-] fromPromise.js
[edit]
[-] pairs.js
[edit]
[-] timer.js
[edit]
[-] interval.js.map
[edit]
[-] zip.js
[edit]
[-] iif.js.map
[edit]
[-] fromArray.js
[edit]
[-] race.js
[edit]
[-] range.js
[edit]
[-] race.js.map
[edit]
[-] forkJoin.js
[edit]
[-] bindNodeCallback.js
[edit]
[-] throwError.js
[edit]
[-] fromEvent.js
[edit]
[-] empty.js.map
[edit]
[-] defer.js.map
[edit]
[-] SubscribeOnObservable.js.map
[edit]
[-] empty.js
[edit]
[-] pairs.js.map
[edit]
[-] fromIterable.js.map
[edit]
[-] never.js
[edit]
[-] fromEventPattern.js.map
[edit]
[-] combineLatest.js.map
[edit]
[-] partition.js.map
[edit]
[-] using.js.map
[edit]
[-] fromEvent.js.map
[edit]
[-] of.js.map
[edit]
[-] from.js
[edit]
[-] fromIterable.js
[edit]