@colyseus/core
Version:
Multiplayer Framework for Node.js.
78 lines (76 loc) • 2.54 kB
JavaScript
;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// packages/core/src/Transport.ts
var Transport_exports = {};
__export(Transport_exports, {
ClientArray: () => ClientArray,
ClientState: () => ClientState,
Transport: () => Transport,
connectClientToRoom: () => connectClientToRoom,
getTransport: () => getTransport,
setTransport: () => setTransport
});
module.exports = __toCommonJS(Transport_exports);
var http = require("http");
var https = require("https");
var import_shared_types = require("@colyseus/shared-types");
var import_schema = require("@colyseus/schema");
var import_events = require("events");
var import_Utils = require("./utils/Utils.cjs");
var import_ServerError = require("./errors/ServerError.cjs");
var _transport;
function setTransport(transport) {
_transport = transport;
}
function getTransport() {
return _transport;
}
var Transport = class {
};
var ClientState = {
JOINING: 0,
JOINED: 1,
RECONNECTING: 2,
RECONNECTED: 3,
LEAVING: 4,
CLOSED: 5
};
var ClientArray = class extends Array {
getById(sessionId) {
return this.find((client) => client.sessionId === sessionId);
}
delete(client) {
return (0, import_Utils.spliceOne)(this, this.indexOf(client));
}
};
async function connectClientToRoom(room, client, authContext, connectionOptions) {
if (!room || !room.hasReservedSeat(client.sessionId, connectionOptions.reconnectionToken)) {
throw new import_ServerError.ServerError(import_shared_types.ErrorCode.MATCHMAKE_EXPIRED, "seat reservation expired.");
}
await room["_onJoin"](client, authContext, connectionOptions);
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
ClientArray,
ClientState,
Transport,
connectClientToRoom,
getTransport,
setTransport
});