UNPKG

@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
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 };