@script-bridge/server
Version:
two-way communication system between ScriptAPI and backend server using http request
29 lines (28 loc) • 1.11 kB
TypeScript
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;
}