fix: parser was eating errors in listeners

This commit is contained in:
cha0s 2019-04-14 15:32:17 -05:00
parent 2e9e9a864a
commit 271d71c5fc

View File

@ -78,6 +78,7 @@ class Decoder extends decorateDecoder(class {}) {
parseBinary(obj) {
const view = new Uint8Array(obj);
const packetId = view[0];
let packet;
try {
const schema = schemaFromId(packetId);
if (!schema) {
@ -85,23 +86,27 @@ class Decoder extends decorateDecoder(class {}) {
}
const {data, nsp} = schema.decode(obj);
const Packet = packetFromId(packetId);
this.emit('decoded', {
packet = {
type: TYPES.EVENT,
data: [packetId, new Packet(data)],
nsp,
});
} catch (e) {
this.emit('decoded', errorPacket);
};
}
catch (e) {
packet = errorPacket;
}
this.emit('decoded', packet);
}
parseJSON(obj) {
let decoded;
try {
this.emit('decoded', JSON.parse(obj));
decoded = JSON.parse(obj);
}
catch (e) {
this.emit('decoded', errorPacket);
decoded = errorPacket;
}
this.emit('decoded', decoded);
}
}