diff --git a/CHANGELOG.md b/CHANGELOG.md index 1dae8dd..11984ac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,11 @@ +## [4.0.4](https://github.com/socketio/socket.io-parser/compare/4.0.3...4.0.4) (2021-01-15) + + +### Bug Fixes + +* allow integers as event names ([1c220dd](https://github.com/socketio/socket.io-parser/commit/1c220ddbf45ea4b44bc8dbf6f9ae245f672ba1b9)) + + ## [4.0.3](https://github.com/socketio/socket.io-parser/compare/4.0.2...4.0.3) (2021-01-05) diff --git a/lib/index.ts b/lib/index.ts index 587dd54..636df23 100644 --- a/lib/index.ts +++ b/lib/index.ts @@ -245,7 +245,7 @@ export class Decoder extends Emitter { return typeof payload === "string" || typeof payload === "object"; case PacketType.EVENT: case PacketType.BINARY_EVENT: - return Array.isArray(payload) && typeof payload[0] === "string"; + return Array.isArray(payload) && payload.length > 0; case PacketType.ACK: case PacketType.BINARY_ACK: return Array.isArray(payload); diff --git a/package-lock.json b/package-lock.json index 3a2f1ce..fa41f9d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "socket.io-parser", - "version": "4.0.3", + "version": "4.0.4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 646bf45..f15f403 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "socket.io-parser", - "version": "4.0.3", + "version": "4.0.4", "description": "socket.io protocol parser", "repository": { "type": "git", diff --git a/test/parser.js b/test/parser.js index 0554d93..426e77c 100644 --- a/test/parser.js +++ b/test/parser.js @@ -47,6 +47,17 @@ describe("parser", () => { ); }); + it("encodes an event (with an integer as event name)", (done) => { + helpers.test( + { + type: PacketType.EVENT, + data: [1, "a", {}], + nsp: "/", + }, + done + ); + }); + it("encodes an event (with ack)", (done) => { helpers.test( {