UNPKG

@colyseus/core

Version:

Multiplayer Framework for Node.js.

78 lines (76 loc) 2.54 kB
"use strict"; 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 });