@@ -1,7 +1,10 @@
|
||||
const { PACKET_TYPES } = require("./commons")
|
||||
import { PACKET_TYPES, Packet, RawData } from "./commons.js"
|
||||
|
||||
export const encodePacket = ({ type, data }, supportsBinary, callback) => {
|
||||
console.trace('encodePacket', type, JSON.stringify(data))
|
||||
const encodePacket = (
|
||||
{ type, data }: Packet,
|
||||
supportsBinary: boolean,
|
||||
callback: (encodedPacket: RawData) => void
|
||||
) => {
|
||||
if (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) {
|
||||
const buffer = toBuffer(data)
|
||||
return callback(encodeBuffer(buffer, supportsBinary))
|
||||
@@ -21,6 +24,8 @@ const toBuffer = data => {
|
||||
}
|
||||
|
||||
// only 'message' packets can contain binary, so the type prefix is not needed
|
||||
const encodeBuffer = (data, supportsBinary) => {
|
||||
const encodeBuffer = (data: Buffer, supportsBinary: boolean): RawData => {
|
||||
return supportsBinary ? data : "b" + data.toString("base64")
|
||||
}
|
||||
|
||||
export default encodePacket
|
||||
|
||||
Reference in New Issue
Block a user