UNPKG

@firtoz/socka

Version:

Standard Schema–first WebSocket RPC for TypeScript — Bun, Hono, Node ws, Cloudflare Workers, Durable Objects

46 lines (45 loc) • 1.41 kB
// src/server/dispatchSockaInboundMessage.ts async function dispatchSockaInboundMessage(session, wireFormat, data) { if (typeof data === "string") { await session.handleRawMessage(data); return; } if (typeof Buffer !== "undefined" && Buffer.isBuffer(data)) { if (wireFormat === "json") { await session.handleRawMessage(data.toString("utf8")); return; } await session.handleBinaryMessage(new Uint8Array(data).buffer); return; } if (data instanceof ArrayBuffer) { if (wireFormat === "json") { await session.handleRawMessage(new TextDecoder().decode(data)); return; } await session.handleBinaryMessage(data); return; } if (data instanceof Blob) { if (wireFormat === "json") { await session.handleRawMessage(await data.text()); } else { await session.handleBinaryMessage(await data.arrayBuffer()); } return; } if (ArrayBuffer.isView(data)) { const v = data; const view = new Uint8Array(v.buffer, v.byteOffset, v.byteLength); if (wireFormat === "json") { await session.handleRawMessage(new TextDecoder().decode(view)); return; } const copy = new Uint8Array(view.length); copy.set(view); await session.handleBinaryMessage(copy.buffer); } } export { dispatchSockaInboundMessage }; //# sourceMappingURL=chunk-JR2GENNT.js.map //# sourceMappingURL=chunk-JR2GENNT.js.map