diff --git a/package.json b/package.json index 3155b85..d98eb63 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@hapiness/core", - "version": "1.3.1", + "version": "1.3.2", "description": "Project to have a HapiJS (https://hapijs.com/) based framework to create easier NodeJS back-end with some awesome features", "main": "commonjs/index.js", "types": "index.d.ts", diff --git a/src/extensions/socket-server/socket.ts b/src/extensions/socket-server/socket.ts index 36d6bda..2b6c913 100644 --- a/src/extensions/socket-server/socket.ts +++ b/src/extensions/socket-server/socket.ts @@ -14,6 +14,8 @@ export class Socket { private data$ = new Subject(); + private store: { [key: string]: any } = {}; + constructor( private _request: request, private _connection: connection, @@ -128,6 +130,15 @@ export class Socket { return this; } + setData(key: string, value: any): Socket { + this.store[key] = value; + return this; + } + + getData(key: string): any { + return this.store[key]; + } + private getJSON(data: string) { try { return JSON.parse(data); diff --git a/test/integration/socket-server-rooms.test.ts b/test/integration/socket-server-rooms.test.ts index 51ea41b..a511c9a 100644 --- a/test/integration/socket-server-rooms.test.ts +++ b/test/integration/socket-server-rooms.test.ts @@ -26,6 +26,7 @@ export class SocketServerRoomIntegration { socket => { unit.array(this.server.instance().getSockets()) .hasLength(1); + socket.setData('test', 123); socket .join('room1') .join('room2'); @@ -34,6 +35,7 @@ export class SocketServerRoomIntegration { socket.on('tata', data => {}); socket.on('*', data => { unit.string(data.utf8Data).is('received'); + unit.value(socket.getData('test')).is(123); socket.close(); this .server