trucoshi 0.0.11 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/server/index.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var crypto_1 = require("crypto");
|
|
3
4
|
var http_1 = require("http");
|
|
4
5
|
var socket_io_1 = require("socket.io");
|
|
6
|
+
var lib_1 = require("../lib");
|
|
7
|
+
var user_1 = require("./classes/user");
|
|
5
8
|
var types_1 = require("./types");
|
|
6
9
|
var PORT = 4001;
|
|
7
10
|
var httpServer = (0, http_1.createServer)();
|
|
@@ -12,15 +15,47 @@ var io = new socket_io_1.Server(httpServer, {
|
|
|
12
15
|
},
|
|
13
16
|
});
|
|
14
17
|
var sessions = new Map();
|
|
15
|
-
|
|
18
|
+
var tables = new Map();
|
|
19
|
+
var matches = new Map();
|
|
20
|
+
io.on("connection", function (_socket) {
|
|
21
|
+
var socket = _socket;
|
|
16
22
|
socket.on(types_1.EClientEvent.PING, function (msg) {
|
|
17
|
-
|
|
23
|
+
socket.emit(types_1.EServerEvent.PONG, msg);
|
|
18
24
|
});
|
|
19
|
-
socket.on(types_1.EClientEvent.CREATE_MATCH, function (
|
|
25
|
+
socket.on(types_1.EClientEvent.CREATE_MATCH, function (callback) {
|
|
26
|
+
var _a;
|
|
27
|
+
if ((_a = socket.user) === null || _a === void 0 ? void 0 : _a.session) {
|
|
28
|
+
var trucoshi = (0, lib_1.Trucoshi)();
|
|
29
|
+
tables.set(socket.user.session, trucoshi);
|
|
30
|
+
return callback({ success: true });
|
|
31
|
+
}
|
|
32
|
+
callback({ success: false });
|
|
33
|
+
});
|
|
34
|
+
socket.on(types_1.EClientEvent.START_MATCH, function () {
|
|
35
|
+
var _a, _b;
|
|
36
|
+
if ((_a = socket.user) === null || _a === void 0 ? void 0 : _a.session) {
|
|
37
|
+
var table = tables.get((_b = socket.user) === null || _b === void 0 ? void 0 : _b.session);
|
|
38
|
+
if (table) {
|
|
39
|
+
matches.set(socket.user.session, table.startMatch());
|
|
40
|
+
}
|
|
41
|
+
}
|
|
20
42
|
});
|
|
21
|
-
socket.on(types_1.EClientEvent.
|
|
22
|
-
|
|
43
|
+
socket.on(types_1.EClientEvent.SET_SESSION, function (session, id, callback) {
|
|
44
|
+
var _a;
|
|
45
|
+
if ((_a = socket.user) === null || _a === void 0 ? void 0 : _a.session) {
|
|
46
|
+
socket.user.id = id;
|
|
47
|
+
return callback({ success: true });
|
|
48
|
+
}
|
|
49
|
+
var storedSession = sessions.get(session);
|
|
50
|
+
if (storedSession) {
|
|
51
|
+
storedSession.id = id;
|
|
52
|
+
socket.user = storedSession;
|
|
53
|
+
return callback({ success: true });
|
|
23
54
|
}
|
|
55
|
+
var newSession = (0, crypto_1.randomUUID)();
|
|
56
|
+
socket.user = (0, user_1.User)(id, newSession);
|
|
57
|
+
sessions.set(newSession, socket.user);
|
|
58
|
+
return callback({ success: true, session: newSession });
|
|
24
59
|
});
|
|
25
60
|
});
|
|
26
61
|
httpServer.listen(PORT);
|
package/dist/server/types.d.ts
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
|
+
import { Socket } from "socket.io";
|
|
2
|
+
import { IUser } from "./classes/user";
|
|
1
3
|
export declare enum EClientEvent {
|
|
2
4
|
PING = "PING",
|
|
3
5
|
CREATE_MATCH = "CREATE_MATCH",
|
|
4
6
|
JOIN_MATCH = "JOIN_MATCH",
|
|
5
7
|
START_MATCH = "START_MATCH",
|
|
6
|
-
|
|
8
|
+
SET_USER_ID = "SET_USER_ID",
|
|
9
|
+
SET_SESSION = "SET_SESSION"
|
|
7
10
|
}
|
|
8
11
|
export declare enum EServerEvent {
|
|
9
|
-
SET_SESSION_ID = "SET_SESSION_ID",
|
|
10
12
|
PONG = "PONG"
|
|
11
13
|
}
|
|
14
|
+
export interface TrucoshiSocket extends Socket {
|
|
15
|
+
user?: IUser;
|
|
16
|
+
}
|
package/dist/server/types.js
CHANGED
|
@@ -7,10 +7,10 @@ var EClientEvent;
|
|
|
7
7
|
EClientEvent["CREATE_MATCH"] = "CREATE_MATCH";
|
|
8
8
|
EClientEvent["JOIN_MATCH"] = "JOIN_MATCH";
|
|
9
9
|
EClientEvent["START_MATCH"] = "START_MATCH";
|
|
10
|
-
EClientEvent["
|
|
10
|
+
EClientEvent["SET_USER_ID"] = "SET_USER_ID";
|
|
11
|
+
EClientEvent["SET_SESSION"] = "SET_SESSION";
|
|
11
12
|
})(EClientEvent = exports.EClientEvent || (exports.EClientEvent = {}));
|
|
12
13
|
var EServerEvent;
|
|
13
14
|
(function (EServerEvent) {
|
|
14
|
-
EServerEvent["SET_SESSION_ID"] = "SET_SESSION_ID";
|
|
15
15
|
EServerEvent["PONG"] = "PONG";
|
|
16
16
|
})(EServerEvent = exports.EServerEvent || (exports.EServerEvent = {}));
|