mongodb-stitch
Version:
[](https://gitter.im/mongodb/stitch?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
23 lines (22 loc) • 878 B
TypeScript
import Event from "./Event";
import EventListener from "./EventListener";
import EventStream from "./EventStream";
export default abstract class BaseEventStream<T extends BaseEventStream<T>> implements EventStream {
protected static readonly RETRY_TIMEOUT_MILLIS: number;
private readonly reconnecter?;
protected closed: boolean;
protected events: Array<Event>;
protected listeners: Array<EventListener>;
protected lastErr?: string;
constructor(reconnecter?: () => Promise<T>);
abstract open(): void;
protected abstract afterClose(): void;
protected abstract onReconnect(next: T): void;
protected reconnect(error?: Error): void;
protected poll(): void;
addListener(listener: EventListener): void;
removeListener(listener: EventListener): void;
private listenOnce;
nextEvent(): Promise<Event>;
close(): void;
}