UNPKG

@script-bridge/server

Version:

two-way communication system between ScriptAPI and backend server using http request

29 lines (28 loc) 1.11 kB
import { ServerRequest, ClientResponse, DisconnectReason, BaseAction } from '@script-bridge/protocol'; import type { ScriptBridgeServer } from './server'; export declare class Session { private readonly server; /** session id */ readonly id: `${string}-${string}-${string}-${string}-${string}`; /** client-defined id */ clientId: string; readonly _awaitingResponses: Map<string, (response: ClientResponse) => void>; private readonly sendQueue; private readonly deltaTimes; private lastQueryReceivedAt; private connectionCheckInterval; constructor(server: ScriptBridgeServer); disconnect(reason?: DisconnectReason): Promise<void>; destroy(): void; send<A extends BaseAction = BaseAction>(channelId: A['id'], data?: A['request'], timeout?: number): Promise<ClientResponse<A['response']>>; sendPing(): Promise<{ roundTrip: number; toClient: number; }>; get averagePing(): number; getQueue(): ServerRequest[]; onConnect(): void; private clearResponses; private startConnectionCheck; private stopConnectionCheck; }