frontend/.pnpm-store/v3/files/97/a6956d868ef46694271600f0573b1936c7f4fc63c61fa8bffa672bdfc7104aaf7a7cb1aa60616ce1b47b85a4558c7d79c29efb30b2f07175af9fea8710f190

18 lines
666 B
Plaintext

import { Subscriber } from '../Subscriber';
import { observable as Symbol_observable } from '../symbol/observable';
/**
* Subscribes to an object that implements Symbol.observable with the given
* Subscriber.
* @param obj An object that implements Symbol.observable
*/
export const subscribeToObservable = <T>(obj: any) => (subscriber: Subscriber<T>) => {
const obs = obj[Symbol_observable]();
if (typeof obs.subscribe !== 'function') {
// Should be caught by observable subscribe function error handling.
throw new TypeError('Provided object does not correctly implement Symbol.observable');
} else {
return obs.subscribe(subscriber);
}
};