@firtoz/socka
Version:
Standard Schema–first WebSocket RPC for TypeScript — Bun, Hono, Node ws, Cloudflare Workers, Durable Objects
22 lines (19 loc) • 1.19 kB
TypeScript
import { Context } from 'hono';
import { WSEvents } from 'hono/ws';
import { S as SockaContractBound } from '../socka-report-error-BALZPjd1.js';
import { S as SockaWebSocketSession, c as SockaWebSocketInit, a as SockaWebSocketSessionConfigUnion } from '../SockaWebSocketSession-CmEtwVE-.js';
import '@standard-schema/spec';
type SockaHonoCloudflareOptions<TContract extends SockaContractBound, TData> = {
sessions?: Map<WebSocket, SockaWebSocketSession<TContract, TData>>;
sockaInit?: (c: Context) => SockaWebSocketInit | undefined;
resolveScope?: (c: Context) => {
sessions: Map<WebSocket, SockaWebSocketSession<TContract, TData>>;
config: SockaWebSocketSessionConfigUnion<TContract, TData>;
};
};
/**
* Callback for `upgradeWebSocket` from `hono/cloudflare-workers` (no `onOpen`;
* the session is created on first `onMessage`).
*/
declare function sockaHonoCloudflare<TContract extends SockaContractBound, TData>(config: SockaWebSocketSessionConfigUnion<TContract, TData>, options?: SockaHonoCloudflareOptions<TContract, TData>): (c: Context) => Omit<WSEvents<WebSocket>, "onOpen">;
export { type SockaHonoCloudflareOptions, sockaHonoCloudflare };