@colyseus/monitor 0.16.0-preview.2 → 0.16.0-preview.4
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/build/api.d.ts +1 -1
- package/build/api.js +95 -80
- package/build/api.js.map +7 -0
- package/build/api.mjs +68 -0
- package/build/api.mjs.map +7 -0
- package/build/ext/Room.js +62 -68
- package/build/ext/Room.js.map +7 -0
- package/build/ext/Room.mjs +72 -0
- package/build/ext/Room.mjs.map +7 -0
- package/build/index.d.ts +1 -1
- package/build/index.js +44 -18
- package/build/index.js.map +7 -0
- package/build/index.mjs +15 -0
- package/build/index.mjs.map +7 -0
- package/build/static/build/src/App.d.ts +2 -0
- package/build/static/build/src/components/CAppBar.d.ts +8 -0
- package/build/static/build/src/components/RoomInspect.d.ts +40 -0
- package/build/static/build/src/components/RoomList.d.ts +29 -0
- package/build/static/build/src/helpers/helpers.d.ts +6 -0
- package/build/static/build/src/index.d.ts +1 -0
- package/build/static/build/src/services.d.ts +5 -0
- package/build/static/build/src-backend/api.d.ts +2 -0
- package/build/static/build/src-backend/ext/Room.d.ts +1 -0
- package/build/static/build/src-backend/index.d.ts +11 -0
- package/build/static/bundle.js +22 -22
- package/build/static/bundle.js.map +1 -1
- package/build/static/styles.css +148 -137
- package/build/static/styles.css.map +1 -1
- package/build.mjs +90 -0
- package/package.json +5 -3
- package/src-backend/api.ts +84 -0
- package/src-backend/ext/Room.ts +67 -0
- package/src-backend/index.ts +31 -0
- package/tsconfig.json +2 -2
- package/webpack.config.js +2 -2
package/build/api.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { MonitorOptions } from
|
|
1
|
+
import type { MonitorOptions } from './index.js';
|
|
2
2
|
export declare function getAPI(opts: Partial<MonitorOptions>): any;
|
package/build/api.js
CHANGED
|
@@ -1,85 +1,100 @@
|
|
|
1
|
-
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
});
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
10
|
};
|
|
11
|
-
var
|
|
12
|
-
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
13
18
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
var api_exports = {};
|
|
29
|
+
__export(api_exports, {
|
|
30
|
+
getAPI: () => getAPI
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(api_exports);
|
|
33
|
+
var import_core = require("@colyseus/core");
|
|
34
|
+
var import_express = __toESM(require("express"));
|
|
35
|
+
var import_node_os_utils = __toESM(require("node-os-utils"));
|
|
19
36
|
const UNAVAILABLE_ROOM_ERROR = "@colyseus/monitor: room $roomId is not available anymore.";
|
|
20
37
|
function getAPI(opts) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
res.status(500);
|
|
80
|
-
res.json({ message });
|
|
81
|
-
}
|
|
82
|
-
}));
|
|
83
|
-
return api;
|
|
38
|
+
const api = import_express.default.Router();
|
|
39
|
+
api.get("/", async (req, res) => {
|
|
40
|
+
try {
|
|
41
|
+
const rooms = await import_core.matchMaker.query({});
|
|
42
|
+
const columns = opts.columns || ["roomId", "name", "clients", "maxClients", "locked", "elapsedTime"];
|
|
43
|
+
if (!opts.columns && rooms[0] && rooms[0].publicAddress !== void 0) {
|
|
44
|
+
columns.push("publicAddress");
|
|
45
|
+
}
|
|
46
|
+
let connections = 0;
|
|
47
|
+
res.json({
|
|
48
|
+
columns,
|
|
49
|
+
rooms: rooms.map((room) => {
|
|
50
|
+
const data = JSON.parse(JSON.stringify(room));
|
|
51
|
+
connections += room.clients;
|
|
52
|
+
data.locked = room.locked || false;
|
|
53
|
+
data.private = room.private;
|
|
54
|
+
data.maxClients = `${room.maxClients}`;
|
|
55
|
+
data.elapsedTime = Date.now() - new Date(room.createdAt).getTime();
|
|
56
|
+
return data;
|
|
57
|
+
}),
|
|
58
|
+
connections,
|
|
59
|
+
cpu: await import_node_os_utils.default.cpu.usage(),
|
|
60
|
+
memory: await import_node_os_utils.default.mem.used()
|
|
61
|
+
});
|
|
62
|
+
} catch (e) {
|
|
63
|
+
const message = e.message;
|
|
64
|
+
console.error(message);
|
|
65
|
+
res.status(500);
|
|
66
|
+
res.json({ message });
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
api.get("/room", async (req, res) => {
|
|
70
|
+
const roomId = req.query.roomId;
|
|
71
|
+
try {
|
|
72
|
+
const inspectData = await import_core.matchMaker.remoteRoomCall(roomId, "getInspectData");
|
|
73
|
+
res.json(inspectData);
|
|
74
|
+
} catch (e) {
|
|
75
|
+
const message = UNAVAILABLE_ROOM_ERROR.replace("$roomId", roomId);
|
|
76
|
+
console.error(message);
|
|
77
|
+
res.status(500);
|
|
78
|
+
res.json({ message });
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
api.get("/room/call", async (req, res) => {
|
|
82
|
+
const roomId = req.query.roomId;
|
|
83
|
+
const method = req.query.method;
|
|
84
|
+
const args = JSON.parse(req.query.args);
|
|
85
|
+
try {
|
|
86
|
+
const data = await import_core.matchMaker.remoteRoomCall(roomId, method, args);
|
|
87
|
+
res.json(data);
|
|
88
|
+
} catch (e) {
|
|
89
|
+
const message = UNAVAILABLE_ROOM_ERROR.replace("$roomId", roomId);
|
|
90
|
+
console.error(message);
|
|
91
|
+
res.status(500);
|
|
92
|
+
res.json({ message });
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
return api;
|
|
84
96
|
}
|
|
85
|
-
|
|
97
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
98
|
+
0 && (module.exports = {
|
|
99
|
+
getAPI
|
|
100
|
+
});
|
package/build/api.js.map
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src-backend/api.ts"],
|
|
4
|
+
"sourcesContent": ["import { matchMaker } from '@colyseus/core';\n\nimport express from 'express';\nimport osUtils from 'node-os-utils';\n\nimport type { MonitorOptions } from './index.js';\n\nconst UNAVAILABLE_ROOM_ERROR = \"@colyseus/monitor: room $roomId is not available anymore.\";\n\nexport function getAPI (opts: Partial<MonitorOptions>) {\n const api = express.Router();\n\n api.get(\"/\", async (req: express.Request, res: express.Response) => {\n try {\n const rooms: any[] = await matchMaker.query({});\n const columns = opts.columns || ['roomId', 'name', 'clients', 'maxClients', 'locked', 'elapsedTime'];\n\n // extend columns to expose \"publicAddress\", if present\n if (!opts.columns && rooms[0] && rooms[0].publicAddress !== undefined) {\n columns.push(\"publicAddress\");\n }\n\n let connections: number = 0;\n\n res.json({\n columns,\n rooms: rooms.map(room => {\n const data = JSON.parse(JSON.stringify(room));\n\n connections += room.clients;\n\n // additional data\n data.locked = room.locked || false;\n data.private = room.private;\n\n data.maxClients = `${room.maxClients}`;\n\n data.elapsedTime = Date.now() - new Date(room.createdAt).getTime();\n return data;\n }),\n\n connections,\n cpu: await osUtils.cpu.usage(),\n memory: await osUtils.mem.used()\n });\n } catch (e) {\n const message = e.message;\n console.error(message);\n res.status(500);\n res.json({ message });\n }\n });\n\n api.get(\"/room\", async (req: express.Request, res: express.Response) => {\n const roomId = req.query.roomId as string;\n try {\n const inspectData = await matchMaker.remoteRoomCall(roomId, \"getInspectData\");\n res.json(inspectData);\n } catch (e) {\n const message = UNAVAILABLE_ROOM_ERROR.replace(\"$roomId\", roomId);\n console.error(message);\n res.status(500);\n res.json({ message });\n }\n });\n\n api.get(\"/room/call\", async (req: express.Request, res: express.Response) => {\n const roomId = req.query.roomId as string;\n const method = req.query.method as string;\n const args = JSON.parse(req.query.args as string);\n\n try {\n const data = await matchMaker.remoteRoomCall(roomId, method, args);\n res.json(data);\n } catch (e) {\n const message = UNAVAILABLE_ROOM_ERROR.replace(\"$roomId\", roomId);\n console.error(message);\n res.status(500);\n res.json({ message });\n }\n });\n\n return api;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA2B;AAE3B,qBAAoB;AACpB,2BAAoB;AAIpB,MAAM,yBAAyB;AAExB,SAAS,OAAQ,MAA+B;AACnD,QAAM,MAAM,eAAAA,QAAQ,OAAO;AAE3B,MAAI,IAAI,KAAK,OAAO,KAAsB,QAA0B;AAChE,QAAI;AACA,YAAM,QAAe,MAAM,uBAAW,MAAM,CAAC,CAAC;AAC9C,YAAM,UAAU,KAAK,WAAW,CAAC,UAAU,QAAQ,WAAW,cAAc,UAAU,aAAa;AAGnG,UAAI,CAAC,KAAK,WAAW,MAAM,CAAC,KAAK,MAAM,CAAC,EAAE,kBAAkB,QAAW;AACnE,gBAAQ,KAAK,eAAe;AAAA,MAChC;AAEA,UAAI,cAAsB;AAE1B,UAAI,KAAK;AAAA,QACL;AAAA,QACA,OAAO,MAAM,IAAI,UAAQ;AACrB,gBAAM,OAAO,KAAK,MAAM,KAAK,UAAU,IAAI,CAAC;AAE5C,yBAAe,KAAK;AAGpB,eAAK,SAAS,KAAK,UAAU;AAC7B,eAAK,UAAU,KAAK;AAEpB,eAAK,aAAa,GAAG,KAAK,UAAU;AAEpC,eAAK,cAAc,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,QAAQ;AACjE,iBAAO;AAAA,QACX,CAAC;AAAA,QAED;AAAA,QACA,KAAK,MAAM,qBAAAC,QAAQ,IAAI,MAAM;AAAA,QAC7B,QAAQ,MAAM,qBAAAA,QAAQ,IAAI,KAAK;AAAA,MACnC,CAAC;AAAA,IACL,SAAS,GAAG;AACR,YAAM,UAAU,EAAE;AAClB,cAAQ,MAAM,OAAO;AACrB,UAAI,OAAO,GAAG;AACd,UAAI,KAAK,EAAE,QAAQ,CAAC;AAAA,IACxB;AAAA,EACJ,CAAC;AAED,MAAI,IAAI,SAAS,OAAO,KAAsB,QAA0B;AACpE,UAAM,SAAS,IAAI,MAAM;AACzB,QAAI;AACA,YAAM,cAAc,MAAM,uBAAW,eAAe,QAAQ,gBAAgB;AAC5E,UAAI,KAAK,WAAW;AAAA,IACxB,SAAS,GAAG;AACR,YAAM,UAAU,uBAAuB,QAAQ,WAAW,MAAM;AAChE,cAAQ,MAAM,OAAO;AACrB,UAAI,OAAO,GAAG;AACd,UAAI,KAAK,EAAE,QAAQ,CAAC;AAAA,IACxB;AAAA,EACJ,CAAC;AAED,MAAI,IAAI,cAAc,OAAO,KAAsB,QAA0B;AACzE,UAAM,SAAS,IAAI,MAAM;AACzB,UAAM,SAAS,IAAI,MAAM;AACzB,UAAM,OAAO,KAAK,MAAM,IAAI,MAAM,IAAc;AAEhD,QAAI;AACA,YAAM,OAAO,MAAM,uBAAW,eAAe,QAAQ,QAAQ,IAAI;AACjE,UAAI,KAAK,IAAI;AAAA,IACjB,SAAS,GAAG;AACR,YAAM,UAAU,uBAAuB,QAAQ,WAAW,MAAM;AAChE,cAAQ,MAAM,OAAO;AACrB,UAAI,OAAO,GAAG;AACd,UAAI,KAAK,EAAE,QAAQ,CAAC;AAAA,IACxB;AAAA,EACJ,CAAC;AAED,SAAO;AACX;",
|
|
6
|
+
"names": ["express", "osUtils"]
|
|
7
|
+
}
|
package/build/api.mjs
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
// src-backend/api.ts
|
|
2
|
+
import { matchMaker } from "@colyseus/core";
|
|
3
|
+
import express from "express";
|
|
4
|
+
import osUtils from "node-os-utils";
|
|
5
|
+
var UNAVAILABLE_ROOM_ERROR = "@colyseus/monitor: room $roomId is not available anymore.";
|
|
6
|
+
function getAPI(opts) {
|
|
7
|
+
const api = express.Router();
|
|
8
|
+
api.get("/", async (req, res) => {
|
|
9
|
+
try {
|
|
10
|
+
const rooms = await matchMaker.query({});
|
|
11
|
+
const columns = opts.columns || ["roomId", "name", "clients", "maxClients", "locked", "elapsedTime"];
|
|
12
|
+
if (!opts.columns && rooms[0] && rooms[0].publicAddress !== void 0) {
|
|
13
|
+
columns.push("publicAddress");
|
|
14
|
+
}
|
|
15
|
+
let connections = 0;
|
|
16
|
+
res.json({
|
|
17
|
+
columns,
|
|
18
|
+
rooms: rooms.map((room) => {
|
|
19
|
+
const data = JSON.parse(JSON.stringify(room));
|
|
20
|
+
connections += room.clients;
|
|
21
|
+
data.locked = room.locked || false;
|
|
22
|
+
data.private = room.private;
|
|
23
|
+
data.maxClients = `${room.maxClients}`;
|
|
24
|
+
data.elapsedTime = Date.now() - new Date(room.createdAt).getTime();
|
|
25
|
+
return data;
|
|
26
|
+
}),
|
|
27
|
+
connections,
|
|
28
|
+
cpu: await osUtils.cpu.usage(),
|
|
29
|
+
memory: await osUtils.mem.used()
|
|
30
|
+
});
|
|
31
|
+
} catch (e) {
|
|
32
|
+
const message = e.message;
|
|
33
|
+
console.error(message);
|
|
34
|
+
res.status(500);
|
|
35
|
+
res.json({ message });
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
api.get("/room", async (req, res) => {
|
|
39
|
+
const roomId = req.query.roomId;
|
|
40
|
+
try {
|
|
41
|
+
const inspectData = await matchMaker.remoteRoomCall(roomId, "getInspectData");
|
|
42
|
+
res.json(inspectData);
|
|
43
|
+
} catch (e) {
|
|
44
|
+
const message = UNAVAILABLE_ROOM_ERROR.replace("$roomId", roomId);
|
|
45
|
+
console.error(message);
|
|
46
|
+
res.status(500);
|
|
47
|
+
res.json({ message });
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
api.get("/room/call", async (req, res) => {
|
|
51
|
+
const roomId = req.query.roomId;
|
|
52
|
+
const method = req.query.method;
|
|
53
|
+
const args = JSON.parse(req.query.args);
|
|
54
|
+
try {
|
|
55
|
+
const data = await matchMaker.remoteRoomCall(roomId, method, args);
|
|
56
|
+
res.json(data);
|
|
57
|
+
} catch (e) {
|
|
58
|
+
const message = UNAVAILABLE_ROOM_ERROR.replace("$roomId", roomId);
|
|
59
|
+
console.error(message);
|
|
60
|
+
res.status(500);
|
|
61
|
+
res.json({ message });
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
return api;
|
|
65
|
+
}
|
|
66
|
+
export {
|
|
67
|
+
getAPI
|
|
68
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src-backend/api.ts"],
|
|
4
|
+
"sourcesContent": ["import { matchMaker } from '@colyseus/core';\n\nimport express from 'express';\nimport osUtils from 'node-os-utils';\n\nimport type { MonitorOptions } from './index.js';\n\nconst UNAVAILABLE_ROOM_ERROR = \"@colyseus/monitor: room $roomId is not available anymore.\";\n\nexport function getAPI (opts: Partial<MonitorOptions>) {\n const api = express.Router();\n\n api.get(\"/\", async (req: express.Request, res: express.Response) => {\n try {\n const rooms: any[] = await matchMaker.query({});\n const columns = opts.columns || ['roomId', 'name', 'clients', 'maxClients', 'locked', 'elapsedTime'];\n\n // extend columns to expose \"publicAddress\", if present\n if (!opts.columns && rooms[0] && rooms[0].publicAddress !== undefined) {\n columns.push(\"publicAddress\");\n }\n\n let connections: number = 0;\n\n res.json({\n columns,\n rooms: rooms.map(room => {\n const data = JSON.parse(JSON.stringify(room));\n\n connections += room.clients;\n\n // additional data\n data.locked = room.locked || false;\n data.private = room.private;\n\n data.maxClients = `${room.maxClients}`;\n\n data.elapsedTime = Date.now() - new Date(room.createdAt).getTime();\n return data;\n }),\n\n connections,\n cpu: await osUtils.cpu.usage(),\n memory: await osUtils.mem.used()\n });\n } catch (e) {\n const message = e.message;\n console.error(message);\n res.status(500);\n res.json({ message });\n }\n });\n\n api.get(\"/room\", async (req: express.Request, res: express.Response) => {\n const roomId = req.query.roomId as string;\n try {\n const inspectData = await matchMaker.remoteRoomCall(roomId, \"getInspectData\");\n res.json(inspectData);\n } catch (e) {\n const message = UNAVAILABLE_ROOM_ERROR.replace(\"$roomId\", roomId);\n console.error(message);\n res.status(500);\n res.json({ message });\n }\n });\n\n api.get(\"/room/call\", async (req: express.Request, res: express.Response) => {\n const roomId = req.query.roomId as string;\n const method = req.query.method as string;\n const args = JSON.parse(req.query.args as string);\n\n try {\n const data = await matchMaker.remoteRoomCall(roomId, method, args);\n res.json(data);\n } catch (e) {\n const message = UNAVAILABLE_ROOM_ERROR.replace(\"$roomId\", roomId);\n console.error(message);\n res.status(500);\n res.json({ message });\n }\n });\n\n return api;\n}\n"],
|
|
5
|
+
"mappings": ";AAAA,SAAS,kBAAkB;AAE3B,OAAO,aAAa;AACpB,OAAO,aAAa;AAIpB,IAAM,yBAAyB;AAExB,SAAS,OAAQ,MAA+B;AACnD,QAAM,MAAM,QAAQ,OAAO;AAE3B,MAAI,IAAI,KAAK,OAAO,KAAsB,QAA0B;AAChE,QAAI;AACA,YAAM,QAAe,MAAM,WAAW,MAAM,CAAC,CAAC;AAC9C,YAAM,UAAU,KAAK,WAAW,CAAC,UAAU,QAAQ,WAAW,cAAc,UAAU,aAAa;AAGnG,UAAI,CAAC,KAAK,WAAW,MAAM,CAAC,KAAK,MAAM,CAAC,EAAE,kBAAkB,QAAW;AACnE,gBAAQ,KAAK,eAAe;AAAA,MAChC;AAEA,UAAI,cAAsB;AAE1B,UAAI,KAAK;AAAA,QACL;AAAA,QACA,OAAO,MAAM,IAAI,UAAQ;AACrB,gBAAM,OAAO,KAAK,MAAM,KAAK,UAAU,IAAI,CAAC;AAE5C,yBAAe,KAAK;AAGpB,eAAK,SAAS,KAAK,UAAU;AAC7B,eAAK,UAAU,KAAK;AAEpB,eAAK,aAAa,GAAG,KAAK,UAAU;AAEpC,eAAK,cAAc,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE,QAAQ;AACjE,iBAAO;AAAA,QACX,CAAC;AAAA,QAED;AAAA,QACA,KAAK,MAAM,QAAQ,IAAI,MAAM;AAAA,QAC7B,QAAQ,MAAM,QAAQ,IAAI,KAAK;AAAA,MACnC,CAAC;AAAA,IACL,SAAS,GAAG;AACR,YAAM,UAAU,EAAE;AAClB,cAAQ,MAAM,OAAO;AACrB,UAAI,OAAO,GAAG;AACd,UAAI,KAAK,EAAE,QAAQ,CAAC;AAAA,IACxB;AAAA,EACJ,CAAC;AAED,MAAI,IAAI,SAAS,OAAO,KAAsB,QAA0B;AACpE,UAAM,SAAS,IAAI,MAAM;AACzB,QAAI;AACA,YAAM,cAAc,MAAM,WAAW,eAAe,QAAQ,gBAAgB;AAC5E,UAAI,KAAK,WAAW;AAAA,IACxB,SAAS,GAAG;AACR,YAAM,UAAU,uBAAuB,QAAQ,WAAW,MAAM;AAChE,cAAQ,MAAM,OAAO;AACrB,UAAI,OAAO,GAAG;AACd,UAAI,KAAK,EAAE,QAAQ,CAAC;AAAA,IACxB;AAAA,EACJ,CAAC;AAED,MAAI,IAAI,cAAc,OAAO,KAAsB,QAA0B;AACzE,UAAM,SAAS,IAAI,MAAM;AACzB,UAAM,SAAS,IAAI,MAAM;AACzB,UAAM,OAAO,KAAK,MAAM,IAAI,MAAM,IAAc;AAEhD,QAAI;AACA,YAAM,OAAO,MAAM,WAAW,eAAe,QAAQ,QAAQ,IAAI;AACjE,UAAI,KAAK,IAAI;AAAA,IACjB,SAAS,GAAG;AACR,YAAM,UAAU,uBAAuB,QAAQ,WAAW,MAAM;AAChE,cAAQ,MAAM,OAAO;AACrB,UAAI,OAAO,GAAG;AACd,UAAI,KAAK,EAAE,QAAQ,CAAC;AAAA,IACxB;AAAA,EACJ,CAAC;AAED,SAAO;AACX;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/build/ext/Room.js
CHANGED
|
@@ -1,76 +1,70 @@
|
|
|
1
|
-
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
10
18
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
// Monkey-patch Colyseus' default behaviour
|
|
14
|
-
//
|
|
15
|
-
const core_1 = require("@colyseus/core");
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
var import_core = require("@colyseus/core");
|
|
16
21
|
function getStateSize(room) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const fullState = hasState && room._serializer.getFullState();
|
|
23
|
-
return fullState && (fullState.byteLength || fullState.length) || 0;
|
|
22
|
+
const hasState = room._serializer.encoder || // schema v3
|
|
23
|
+
room._serializer.state || // schema v2
|
|
24
|
+
room._serializer.previousState;
|
|
25
|
+
const fullState = hasState && room._serializer.getFullState();
|
|
26
|
+
return fullState && (fullState.byteLength || fullState.length) || 0;
|
|
24
27
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
import_core.Room.prototype.getAvailableData = function() {
|
|
29
|
+
return {
|
|
30
|
+
clients: this.clients.length,
|
|
31
|
+
maxClients: this.maxClients,
|
|
32
|
+
metadata: this.metadata,
|
|
33
|
+
roomId: this.roomId
|
|
34
|
+
};
|
|
32
35
|
};
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
return Object.assign(Object.assign({}, data), { locked, elapsedTime, stateSize });
|
|
40
|
-
});
|
|
36
|
+
import_core.Room.prototype.getRoomListData = async function() {
|
|
37
|
+
const stateSize = getStateSize(this);
|
|
38
|
+
const elapsedTime = this.clock.elapsedTime;
|
|
39
|
+
const locked = this.locked;
|
|
40
|
+
const data = this.getAvailableData();
|
|
41
|
+
return __spreadProps(__spreadValues({}, data), { locked, elapsedTime, stateSize });
|
|
41
42
|
};
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
return Object.assign(Object.assign({}, data), { locked, clients, state, stateSize });
|
|
54
|
-
});
|
|
43
|
+
import_core.Room.prototype.getInspectData = async function() {
|
|
44
|
+
const state = this.state;
|
|
45
|
+
const stateSize = getStateSize(this);
|
|
46
|
+
const roomElapsedTime = this.clock.elapsedTime;
|
|
47
|
+
const data = this.getAvailableData();
|
|
48
|
+
const clients = this.clients.map((client) => ({
|
|
49
|
+
sessionId: client.sessionId,
|
|
50
|
+
elapsedTime: roomElapsedTime - client._joinedAt
|
|
51
|
+
}));
|
|
52
|
+
const locked = this.locked;
|
|
53
|
+
return __spreadProps(__spreadValues({}, data), { locked, clients, state, stateSize });
|
|
55
54
|
};
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
});
|
|
55
|
+
import_core.Room.prototype._forceClientDisconnect = async function(sessionId) {
|
|
56
|
+
for (let i = 0; i < this.clients.length; i++) {
|
|
57
|
+
if (this.clients[i].sessionId === sessionId) {
|
|
58
|
+
this.clients[i].leave();
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
66
62
|
};
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
75
|
-
});
|
|
63
|
+
import_core.Room.prototype._sendMessageToClient = async function(sessionId, type, data) {
|
|
64
|
+
for (let i = 0; i < this.clients.length; i++) {
|
|
65
|
+
if (this.clients[i].sessionId === sessionId) {
|
|
66
|
+
this.clients[i].send(type, data);
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
76
70
|
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src-backend/ext/Room.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Monkey-patch Colyseus' default behaviour\n//\nimport { Room, Client, ClientPrivate } from \"@colyseus/core\";\n\nfunction getStateSize(room) {\n // TODO: `Serializer<T>` should provide a method for this (e.g. `serializer.hasState()`)\n const hasState = (\n room._serializer.encoder || // schema v3\n room._serializer.state || // schema v2\n room._serializer.previousState // legacy-fossil-delta\n );\n const fullState = hasState && room._serializer.getFullState();\n return fullState && (fullState.byteLength || fullState.length) || 0;\n}\n\n(<any>Room.prototype).getAvailableData = function () {\n return {\n clients: this.clients.length,\n maxClients: this.maxClients,\n metadata: this.metadata,\n roomId: this.roomId,\n };\n};\n\n(<any>Room.prototype).getRoomListData = async function () {\n const stateSize = getStateSize(this);\n const elapsedTime = this.clock.elapsedTime;\n const locked = this.locked;\n const data = this.getAvailableData();\n\n return { ...data, locked, elapsedTime, stateSize };\n};\n\n(<any>Room.prototype).getInspectData = async function () {\n const state = this.state;\n const stateSize = getStateSize(this);\n const roomElapsedTime = this.clock.elapsedTime;\n\n const data = this.getAvailableData();\n const clients = this.clients.map((client: Client & ClientPrivate) => ({\n sessionId: client.sessionId,\n elapsedTime: roomElapsedTime - client._joinedAt\n }));\n const locked = this.locked;\n\n return { ...data, locked, clients, state, stateSize };\n};\n\n// Actions\n(<any>Room.prototype)._forceClientDisconnect = async function (sessionId) {\n for (let i = 0; i < this.clients.length; i++) {\n if (this.clients[i].sessionId === sessionId) {\n this.clients[i].leave();\n break;\n }\n }\n};\n\n(<any>Room.prototype)._sendMessageToClient = async function (sessionId, type, data) {\n for (let i = 0; i < this.clients.length; i++) {\n if (this.clients[i].sessionId === sessionId) {\n this.clients[i].send(type, data);\n break;\n }\n }\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAGA,kBAA4C;AAE5C,SAAS,aAAa,MAAM;AAExB,QAAM,WACJ,KAAK,YAAY;AAAA,EACjB,KAAK,YAAY;AAAA,EACjB,KAAK,YAAY;AAEnB,QAAM,YAAY,YAAY,KAAK,YAAY,aAAa;AAC5D,SAAO,cAAc,UAAU,cAAc,UAAU,WAAW;AACtE;AAEM,iBAAK,UAAW,mBAAmB,WAAY;AACjD,SAAO;AAAA,IACH,SAAS,KAAK,QAAQ;AAAA,IACtB,YAAY,KAAK;AAAA,IACjB,UAAU,KAAK;AAAA,IACf,QAAQ,KAAK;AAAA,EACjB;AACJ;AAEM,iBAAK,UAAW,kBAAkB,iBAAkB;AACtD,QAAM,YAAY,aAAa,IAAI;AACnC,QAAM,cAAc,KAAK,MAAM;AAC/B,QAAM,SAAS,KAAK;AACpB,QAAM,OAAO,KAAK,iBAAiB;AAEnC,SAAO,iCAAK,OAAL,EAAW,QAAQ,aAAa,UAAU;AACrD;AAEM,iBAAK,UAAW,iBAAiB,iBAAkB;AACrD,QAAM,QAAQ,KAAK;AACnB,QAAM,YAAY,aAAa,IAAI;AACnC,QAAM,kBAAkB,KAAK,MAAM;AAEnC,QAAM,OAAO,KAAK,iBAAiB;AACnC,QAAM,UAAU,KAAK,QAAQ,IAAI,CAAC,YAAoC;AAAA,IAClE,WAAW,OAAO;AAAA,IAClB,aAAa,kBAAkB,OAAO;AAAA,EAC1C,EAAE;AACF,QAAM,SAAS,KAAK;AAEpB,SAAO,iCAAK,OAAL,EAAW,QAAQ,SAAS,OAAO,UAAU;AACxD;AAGM,iBAAK,UAAW,yBAAyB,eAAgB,WAAW;AACtE,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,QAAQ,KAAK;AAC1C,QAAI,KAAK,QAAQ,CAAC,EAAE,cAAc,WAAW;AACzC,WAAK,QAAQ,CAAC,EAAE,MAAM;AACtB;AAAA,IACJ;AAAA,EACJ;AACJ;AAEM,iBAAK,UAAW,uBAAuB,eAAgB,WAAW,MAAM,MAAM;AAChF,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,QAAQ,KAAK;AAC1C,QAAI,KAAK,QAAQ,CAAC,EAAE,cAAc,WAAW;AACzC,WAAK,QAAQ,CAAC,EAAE,KAAK,MAAM,IAAI;AAC/B;AAAA,IACJ;AAAA,EACJ;AACJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
|
|
21
|
+
// src-backend/ext/Room.ts
|
|
22
|
+
import { Room } from "@colyseus/core";
|
|
23
|
+
function getStateSize(room) {
|
|
24
|
+
const hasState = room._serializer.encoder || // schema v3
|
|
25
|
+
room._serializer.state || // schema v2
|
|
26
|
+
room._serializer.previousState;
|
|
27
|
+
const fullState = hasState && room._serializer.getFullState();
|
|
28
|
+
return fullState && (fullState.byteLength || fullState.length) || 0;
|
|
29
|
+
}
|
|
30
|
+
Room.prototype.getAvailableData = function() {
|
|
31
|
+
return {
|
|
32
|
+
clients: this.clients.length,
|
|
33
|
+
maxClients: this.maxClients,
|
|
34
|
+
metadata: this.metadata,
|
|
35
|
+
roomId: this.roomId
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
Room.prototype.getRoomListData = async function() {
|
|
39
|
+
const stateSize = getStateSize(this);
|
|
40
|
+
const elapsedTime = this.clock.elapsedTime;
|
|
41
|
+
const locked = this.locked;
|
|
42
|
+
const data = this.getAvailableData();
|
|
43
|
+
return __spreadProps(__spreadValues({}, data), { locked, elapsedTime, stateSize });
|
|
44
|
+
};
|
|
45
|
+
Room.prototype.getInspectData = async function() {
|
|
46
|
+
const state = this.state;
|
|
47
|
+
const stateSize = getStateSize(this);
|
|
48
|
+
const roomElapsedTime = this.clock.elapsedTime;
|
|
49
|
+
const data = this.getAvailableData();
|
|
50
|
+
const clients = this.clients.map((client) => ({
|
|
51
|
+
sessionId: client.sessionId,
|
|
52
|
+
elapsedTime: roomElapsedTime - client._joinedAt
|
|
53
|
+
}));
|
|
54
|
+
const locked = this.locked;
|
|
55
|
+
return __spreadProps(__spreadValues({}, data), { locked, clients, state, stateSize });
|
|
56
|
+
};
|
|
57
|
+
Room.prototype._forceClientDisconnect = async function(sessionId) {
|
|
58
|
+
for (let i = 0; i < this.clients.length; i++) {
|
|
59
|
+
if (this.clients[i].sessionId === sessionId) {
|
|
60
|
+
this.clients[i].leave();
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
Room.prototype._sendMessageToClient = async function(sessionId, type, data) {
|
|
66
|
+
for (let i = 0; i < this.clients.length; i++) {
|
|
67
|
+
if (this.clients[i].sessionId === sessionId) {
|
|
68
|
+
this.clients[i].send(type, data);
|
|
69
|
+
break;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src-backend/ext/Room.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Monkey-patch Colyseus' default behaviour\n//\nimport { Room, Client, ClientPrivate } from \"@colyseus/core\";\n\nfunction getStateSize(room) {\n // TODO: `Serializer<T>` should provide a method for this (e.g. `serializer.hasState()`)\n const hasState = (\n room._serializer.encoder || // schema v3\n room._serializer.state || // schema v2\n room._serializer.previousState // legacy-fossil-delta\n );\n const fullState = hasState && room._serializer.getFullState();\n return fullState && (fullState.byteLength || fullState.length) || 0;\n}\n\n(<any>Room.prototype).getAvailableData = function () {\n return {\n clients: this.clients.length,\n maxClients: this.maxClients,\n metadata: this.metadata,\n roomId: this.roomId,\n };\n};\n\n(<any>Room.prototype).getRoomListData = async function () {\n const stateSize = getStateSize(this);\n const elapsedTime = this.clock.elapsedTime;\n const locked = this.locked;\n const data = this.getAvailableData();\n\n return { ...data, locked, elapsedTime, stateSize };\n};\n\n(<any>Room.prototype).getInspectData = async function () {\n const state = this.state;\n const stateSize = getStateSize(this);\n const roomElapsedTime = this.clock.elapsedTime;\n\n const data = this.getAvailableData();\n const clients = this.clients.map((client: Client & ClientPrivate) => ({\n sessionId: client.sessionId,\n elapsedTime: roomElapsedTime - client._joinedAt\n }));\n const locked = this.locked;\n\n return { ...data, locked, clients, state, stateSize };\n};\n\n// Actions\n(<any>Room.prototype)._forceClientDisconnect = async function (sessionId) {\n for (let i = 0; i < this.clients.length; i++) {\n if (this.clients[i].sessionId === sessionId) {\n this.clients[i].leave();\n break;\n }\n }\n};\n\n(<any>Room.prototype)._sendMessageToClient = async function (sessionId, type, data) {\n for (let i = 0; i < this.clients.length; i++) {\n if (this.clients[i].sessionId === sessionId) {\n this.clients[i].send(type, data);\n break;\n }\n }\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;AAGA,SAAS,YAAmC;AAE5C,SAAS,aAAa,MAAM;AAExB,QAAM,WACJ,KAAK,YAAY;AAAA,EACjB,KAAK,YAAY;AAAA,EACjB,KAAK,YAAY;AAEnB,QAAM,YAAY,YAAY,KAAK,YAAY,aAAa;AAC5D,SAAO,cAAc,UAAU,cAAc,UAAU,WAAW;AACtE;AAEM,KAAK,UAAW,mBAAmB,WAAY;AACjD,SAAO;AAAA,IACH,SAAS,KAAK,QAAQ;AAAA,IACtB,YAAY,KAAK;AAAA,IACjB,UAAU,KAAK;AAAA,IACf,QAAQ,KAAK;AAAA,EACjB;AACJ;AAEM,KAAK,UAAW,kBAAkB,iBAAkB;AACtD,QAAM,YAAY,aAAa,IAAI;AACnC,QAAM,cAAc,KAAK,MAAM;AAC/B,QAAM,SAAS,KAAK;AACpB,QAAM,OAAO,KAAK,iBAAiB;AAEnC,SAAO,iCAAK,OAAL,EAAW,QAAQ,aAAa,UAAU;AACrD;AAEM,KAAK,UAAW,iBAAiB,iBAAkB;AACrD,QAAM,QAAQ,KAAK;AACnB,QAAM,YAAY,aAAa,IAAI;AACnC,QAAM,kBAAkB,KAAK,MAAM;AAEnC,QAAM,OAAO,KAAK,iBAAiB;AACnC,QAAM,UAAU,KAAK,QAAQ,IAAI,CAAC,YAAoC;AAAA,IAClE,WAAW,OAAO;AAAA,IAClB,aAAa,kBAAkB,OAAO;AAAA,EAC1C,EAAE;AACF,QAAM,SAAS,KAAK;AAEpB,SAAO,iCAAK,OAAL,EAAW,QAAQ,SAAS,OAAO,UAAU;AACxD;AAGM,KAAK,UAAW,yBAAyB,eAAgB,WAAW;AACtE,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,QAAQ,KAAK;AAC1C,QAAI,KAAK,QAAQ,CAAC,EAAE,cAAc,WAAW;AACzC,WAAK,QAAQ,CAAC,EAAE,MAAM;AACtB;AAAA,IACJ;AAAA,EACJ;AACJ;AAEM,KAAK,UAAW,uBAAuB,eAAgB,WAAW,MAAM,MAAM;AAChF,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,QAAQ,KAAK;AAC1C,QAAI,KAAK,QAAQ,CAAC,EAAE,cAAc,WAAW;AACzC,WAAK,QAAQ,CAAC,EAAE,KAAK,MAAM,IAAI;AAC/B;AAAA,IACJ;AAAA,EACJ;AACJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/build/index.d.ts
CHANGED
package/build/index.js
CHANGED
|
@@ -1,21 +1,47 @@
|
|
|
1
|
-
|
|
2
|
-
var
|
|
3
|
-
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
4
10
|
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
var src_backend_exports = {};
|
|
29
|
+
__export(src_backend_exports, {
|
|
30
|
+
monitor: () => monitor
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(src_backend_exports);
|
|
33
|
+
var import_express = __toESM(require("express"));
|
|
34
|
+
var import_path = __toESM(require("path"));
|
|
35
|
+
var import_api = require("./api.js");
|
|
36
|
+
var import_Room = require("./ext/Room.js");
|
|
37
|
+
const frontendDirectory = import_path.default.resolve(__dirname, "..", "build", "static");
|
|
15
38
|
function monitor(opts = {}) {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
39
|
+
const router = import_express.default.Router();
|
|
40
|
+
router.use(import_express.default.static(frontendDirectory));
|
|
41
|
+
router.use("/api", (0, import_api.getAPI)(opts));
|
|
42
|
+
return router;
|
|
20
43
|
}
|
|
21
|
-
|
|
44
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
45
|
+
0 && (module.exports = {
|
|
46
|
+
monitor
|
|
47
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src-backend/index.ts"],
|
|
4
|
+
"sourcesContent": ["import express from 'express';\nimport path from 'path';\n\nimport { getAPI } from './api.js';\nimport './ext/Room.js';\n\nconst frontendDirectory = path.resolve(__dirname, \"..\", \"build\", \"static\");\n\nexport interface MonitorOptions {\n columns: Array<\n 'roomId' |\n 'name' |\n 'clients' |\n 'maxClients' |\n 'locked' |\n 'elapsedTime' |\n { metadata: string } |\n 'processId' |\n \"publicAddress\"\n >\n}\n\n/**\n * TODO: expose the `router` instead on next major version.\n */\nexport function monitor (opts: Partial<MonitorOptions> = {}): express.Router {\n const router = express.Router();\n router.use(express.static(frontendDirectory));\n router.use('/api', getAPI(opts));\n return router;\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAoB;AACpB,kBAAiB;AAEjB,iBAAuB;AACvB,kBAAO;AAEP,MAAM,oBAAoB,YAAAA,QAAK,QAAQ,WAAW,MAAM,SAAS,QAAQ;AAmBlE,SAAS,QAAS,OAAgC,CAAC,GAAmB;AACzE,QAAM,SAAS,eAAAC,QAAQ,OAAO;AAC9B,SAAO,IAAI,eAAAA,QAAQ,OAAO,iBAAiB,CAAC;AAC5C,SAAO,IAAI,YAAQ,mBAAO,IAAI,CAAC;AAC/B,SAAO;AACX;",
|
|
6
|
+
"names": ["path", "express"]
|
|
7
|
+
}
|