jinaga
Version:
Data management for web and mobile applications.
34 lines • 1.33 kB
TypeScript
import { FactEnvelope, Storage } from "../storage";
import { UserIdentity } from "../user-identity";
type BookmarkListener = (feed: string, bookmark: string) => void;
export declare class WsGraphClient {
private readonly getWsUrl;
private readonly store;
private readonly onBookmark;
private readonly onErrorGlobal;
private readonly getUserIdentity?;
private readonly onFactsAdded?;
private socket;
private readonly activeFeeds;
private reconnectTimer;
private reconnectAttempt;
private connecting;
private hasEverConnected;
private pendingLines;
private waitingResolver;
private router;
private lastSavePromise;
constructor(getWsUrl: () => Promise<string>, store: Storage, onBookmark: BookmarkListener, onErrorGlobal: (err: Error) => void, getUserIdentity?: (() => Promise<UserIdentity | null>) | undefined, onFactsAdded?: ((envelopes: FactEnvelope[]) => Promise<void>) | undefined);
subscribe(feed: string, bookmark: string, feedRefreshIntervalSeconds: number): () => void;
private ensureConnected;
private openSocket;
private startGraphReader;
private pumpWaiting;
private readLine;
private scheduleReconnect;
private sendSub;
private sendUnsub;
private sendFramed;
}
export {};
//# sourceMappingURL=ws-graph-client.d.ts.map