Skip to content

Commit 71bc92c

Browse files
committed
1 parent 1675777 commit 71bc92c

File tree

2 files changed

+13
-35
lines changed

2 files changed

+13
-35
lines changed

src/module/Chat/initializeChatNamespace.ts

+7-26
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,21 @@
1-
import type { SocketStream } from "@fastify/websocket";
1+
import type { WebSocket } from "@fastify/websocket";
22
import type { FastifyRequest } from "fastify";
3-
import type { WebSocket } from "ws";
4-
import {
5-
SocketsStore,
6-
defaultListeners,
7-
type CustomWebsocketEvent,
8-
} from "../../ws/index.js";
3+
import { SocketsStore, defaultListeners } from "../../ws/index.js";
94
import { Chat } from "./entity/index.js";
105

11-
export interface AdditionalListeners {
12-
addListener(
13-
event: "socket",
14-
listener: (this: WebSocket, event: CustomWebsocketEvent) => void,
15-
): this;
16-
on(
17-
event: "socket",
18-
listener: (this: WebSocket, event: CustomWebsocketEvent) => void,
19-
): this;
20-
}
21-
226
export default function initializeChat() {
237
const socketsStore = new SocketsStore();
248
const chat = new Chat({ socketsStore });
259

26-
return function getChatContext(
27-
connection: SocketStream & { socket: WebSocket & AdditionalListeners },
28-
request: FastifyRequest,
29-
) {
30-
socketsStore.add(connection.socket);
31-
socketsStore.room(request.session.user.id).add(connection.socket);
32-
connection.socket
10+
return function getChatContext(socket: WebSocket, request: FastifyRequest) {
11+
socketsStore.add(socket);
12+
socketsStore.room(request.session.user.id).add(socket);
13+
socket
3314
.addListener("socket", defaultListeners.socket)
3415
.addListener("message", defaultListeners.message);
3516
return {
3617
sender: request.session.user,
37-
socket: connection.socket,
18+
socket,
3819
chat,
3920
socketsStore,
4021
};

src/module/Lobbies/lobbies.plugin.ts

+6-9
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import assert from "node:assert";
2-
import type { SocketStream } from "@fastify/websocket";
2+
import type { WebSocket } from "@fastify/websocket";
33
import type { FastifyInstance, FastifyRequest } from "fastify";
44
import type { InitialGameSettings } from "@durak-game/durak-dts";
55
import {
@@ -96,18 +96,15 @@ function initializeGameLobbies() {
9696
const socketsStore = new SocketsStore();
9797
const lobbies = new Lobbies(socketsStore);
9898

99-
return function handleConnection(
100-
connection: SocketStream,
101-
request: FastifyRequest,
102-
) {
103-
socketsStore.add(connection.socket);
104-
socketsStore.room(request.session.user.id).add(connection.socket);
105-
connection.socket
99+
return function handleConnection(socket: WebSocket, request: FastifyRequest) {
100+
socketsStore.add(socket);
101+
socketsStore.room(request.session.user.id).add(socket);
102+
socket
106103
.addListener("message", defaultListeners.message)
107104
.addListener("socket", defaultListeners.socket);
108105
return {
109106
user: request.session.user,
110-
socket: connection.socket,
107+
socket,
111108
lobbies,
112109
};
113110
};

0 commit comments

Comments
 (0)