import { Observer } from './Observer'; import { Subscription, ISubscription } from './Subscription'; /** * Typings */ export interface ISubscriber extends ISubscription, Observer {} export interface SubscriberConstructor { new (obs: Observer): ISubscriber; } /** * Implementation */ export class Subscriber extends Subscription implements Observer { public constructor(obs: Partial>) { super(); void obs; throw new Error('TODO'); } /* Observer implementation */ public next(value: T): void { void value; throw new Error('TODO'); } public error(err: unknown): void { void err; throw new Error('TODO'); } public complete(): void { throw new Error('TODO'); } }