Subscribable.ts 460 B

12345678910111213141516
  1. import { Subscribable as RxjsSubscribable,
  2. Unsubscribable as RxjsUnsubscribable } from 'rxjs';
  3. export type Observer<S> = (v: S) => void
  4. export interface IUnsubscribable<T> {
  5. unsubscribe(observer: Observer<T>): void;
  6. }
  7. export interface ISubscribable<T> {
  8. subscribe(observer: Observer<T>): IUnsubscribable<T>;
  9. }
  10. export type Subscribable<T> = ISubscribable<T> | RxjsSubscribable<T>
  11. export type Subscription<T> = IUnsubscribable<T> | RxjsUnsubscribable