UNPKG

js-flipper

Version:

Flipper bindings for Node.js and web

74 lines (73 loc) 2.2 kB
/// <reference types="node" /> import { FlipperRequest, FlipperResponse } from './message'; import { FlipperPlugin } from './plugin'; export declare enum WSCloseCode { NormalClosure = 1000, GoingAway = 1001, ProtocolError = 1002, UnsupportedData = 1003, NoStatusRecvd = 1005, AbnormalClosure = 1006, InvalidFramePayloadData = 1007, PolicyViolation = 1008, MessageTooBig = 1009, MissingExtension = 1010, InternalError = 1011, ServiceRestart = 1012, TryAgainLater = 1013, BadGateway = 1014, TLSHandshake = 1015 } export interface FlipperWebSocket { onclose: ((ev: { code: WSCloseCode; }) => void) | ((ev: { detail?: { code: WSCloseCode; }; }) => void) | null; onerror: ((ev: unknown) => void) | null; onmessage: ((ev: { data: Buffer | ArrayBuffer | Buffer[] | string; }) => void) | null; onopen: (() => void) | null; close(code?: number): void; send(data: string): void; readyState: number; } interface FlipperClientOptions { urlBase?: string; websocketFactory?: (url: string) => FlipperWebSocket; onError?: (e: unknown) => void; reconnectTimeout?: number; getDeviceId?: () => Promise<string> | string; } export declare class FlipperClient { private readonly plugins; private readonly connections; private ws?; private deviceId; private readonly os; private readonly device; private reconnectionTimer?; private resolveStartPromise?; private urlBase; private websocketFactory; private onError; private reconnectTimeout; private appName; constructor(); addPlugin(plugin: FlipperPlugin): void; getPlugin(id: string): FlipperPlugin | undefined; start(appName: string, { urlBase, websocketFactory, onError, reconnectTimeout, getDeviceId, }?: FlipperClientOptions): Promise<void>; stop(): void; sendData(payload: FlipperRequest | FlipperResponse): void; get isConnected(): boolean; private connectToFlipper; private reconnect; private onMessageReceived; private refreshPlugins; private connectPlugin; private disconnectPlugin; } export {};