| 1234567891011121314151617181920212223242526 |
- import { Subscriber } from '../Subscriber';
- import { rxSubscriber as rxSubscriberSymbol } from '../symbol/rxSubscriber';
- import { empty as emptyObserver } from '../Observer';
- import { PartialObserver } from '../types';
- export function toSubscriber<T>(
- nextOrObserver?: PartialObserver<T> | ((value: T) => void),
- error?: (error: any) => void,
- complete?: () => void): Subscriber<T> {
- if (nextOrObserver) {
- if (nextOrObserver instanceof Subscriber) {
- return (<Subscriber<T>> nextOrObserver);
- }
- if (nextOrObserver[rxSubscriberSymbol]) {
- return nextOrObserver[rxSubscriberSymbol]();
- }
- }
- if (!nextOrObserver && !error && !complete) {
- return new Subscriber(emptyObserver);
- }
- return new Subscriber(nextOrObserver, error, complete);
- }
|