avocado-old/packages/net/packet/index.js
2019-04-25 00:09:03 -05:00

45 lines
717 B
JavaScript

import schemapack from 'schemapack';
export class Packet {
constructor(data) {
this.data = data;
}
static get builder() {
if (!this._builder) {
this._builder = schemapack.build(this.schema);
}
return this._builder;
}
static pack(packet) {
return this.builder.encode({
_id: packet.data[0],
data: packet.data[1],
})
}
static get schema() {
return {
_id: 'uint8',
};
}
static unpack(packet) {
const {data} = this.builder.decode(packet);
return data;
}
}
export {
allPackets,
idFromPacket,
packetFromId,
registerPacket,
} from './registry';
import * as SocketIoParser from './socket.io-parser';
export {SocketIoParser};