UNPKG

rx-subject

Version:

minimal Subject implementation (0.4k bytes), independent of reactive framework

18 lines (17 loc) 507 B
export interface Subject<T> { sink: Observer<T>; source$: Subscribable<T>; } export interface Observer<T> { next(val: T): void; error?(error?: any): void; complete?(): void; } export interface Subscribable<T> { subscribe(observer: Observer<T>): Subscription; subscribe(next: (val: T) => void, error?: (error?: any) => void, complete?: () => void): Subscription; } export interface Subscription { unsubscribe(): void; } export default function createSubject<T>(): Subject<T>;