UNPKG

@orpc/server

Version:

<div align="center"> <image align="center" src="https://orpc.dev/logo.webp" width=280 alt="oRPC logo" /> </div>

57 lines (53 loc) 2.3 kB
import { MaybeOptionalOptions } from '@orpc/shared'; import { C as Context, R as Router } from '../../shared/server.qKsRrdxW.mjs'; import { f as StandardHandler } from '../../shared/server.BqadksTP.mjs'; import { HandleStandardServerPeerMessageOptions } from '../standard-peer/index.mjs'; import { S as StandardRPCHandlerOptions } from '../../shared/server.ChUyt5-i.mjs'; import '@orpc/client'; import '@orpc/contract'; import '@orpc/standard-server'; import '@orpc/standard-server-peer'; import '../../shared/server.B8gYOD5g.mjs'; import '@orpc/client/standard'; import '../../shared/server.C8_sRzQB.mjs'; type MinimalWebsocket = Pick<WebSocket, 'addEventListener' | 'send'>; declare class WebsocketHandler<T extends Context> { #private; constructor(standardHandler: StandardHandler<T>); /** * Upgrades a WebSocket to enable handling * * This attaches the necessary 'message' and 'close' listeners to the WebSocket * * @warning Do not use this method if you're using `.message()` or `.close()` */ upgrade(ws: MinimalWebsocket, ...rest: MaybeOptionalOptions<HandleStandardServerPeerMessageOptions<T>>): void; /** * Handles a single message received from a WebSocket. * * @warning Avoid calling this directly if `.upgrade()` is used. * * @param ws The WebSocket instance * @param data The message payload, usually place in `event.data` */ message(ws: MinimalWebsocket, data: string | ArrayBuffer | Blob, ...rest: MaybeOptionalOptions<HandleStandardServerPeerMessageOptions<T>>): Promise<void>; /** * Closes the WebSocket peer and cleans up. * * @warning Avoid calling this directly if `.upgrade()` is used. */ close(ws: MinimalWebsocket): void; } interface RPCHandlerOptions<T extends Context> extends StandardRPCHandlerOptions<T> { } /** * RPC Handler for Websocket adapter * * @see {@link https://orpc.dev/docs/rpc-handler RPC Handler Docs} * @see {@link https://orpc.dev/docs/adapters/websocket Websocket Adapter Docs} */ declare class RPCHandler<T extends Context> extends WebsocketHandler<T> { constructor(router: Router<any, T>, options?: NoInfer<RPCHandlerOptions<T>>); } export { RPCHandler, WebsocketHandler }; export type { MinimalWebsocket, RPCHandlerOptions };