wsFrame
uses Buffer
A websocket text frame, as a server sends it (unmasked).
export function wsFrame(text: string): Buffer { const data = Buffer.from(text); const n = data.length; const head = n < 126 ? Buffer.from([0x81, n]) : n < 65536 ? Buffer.from([0x81, 126, n >> 8, n & 0xff]) : Buffer.concat([ Buffer.from([0x81, 127]), (() => { const b = Buffer.alloc(8); b.writeBigUInt64BE(BigInt(n)); return b; })(), ]); return Buffer.concat([head, data]); }