(
{ type, data }: Packet,
supportsBinary: boolean,
callback: (encodedPacket: RawData) => void,
)
| 1 | import { PACKET_TYPES, Packet, RawData } from "./commons.js"; |
| 2 | |
| 3 | export const encodePacket = ( |
| 4 | { type, data }: Packet, |
| 5 | supportsBinary: boolean, |
| 6 | callback: (encodedPacket: RawData) => void, |
| 7 | ) => { |
| 8 | if (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) { |
| 9 | return callback( |
| 10 | supportsBinary ? data : "b" + toBuffer(data, true).toString("base64"), |
| 11 | ); |
| 12 | } |
| 13 | // plain string |
| 14 | return callback(PACKET_TYPES[type] + (data || "")); |
| 15 | }; |
| 16 | |
| 17 | const toBuffer = (data: BufferSource, forceBufferConversion: boolean) => { |
| 18 | if ( |
no test coverage detected