UNPKG

colyseus.js

Version:

Colyseus Multiplayer SDK for JavaScript/TypeScript

1 lines 2.87 kB
{"version":3,"file":"WebSocketTransport.mjs","sources":["../../../src/transport/WebSocketTransport.ts"],"sourcesContent":["import NodeWebSocket from \"ws\";\nimport { ITransport, ITransportEventMap } from \"./ITransport\";\n\nconst WebSocket = globalThis.WebSocket || NodeWebSocket;\n\nexport class WebSocketTransport implements ITransport {\n ws: WebSocket | NodeWebSocket;\n protocols?: string | string[];\n\n constructor(public events: ITransportEventMap) {}\n\n public send(data: Buffer | Uint8Array): void {\n this.ws.send(data);\n }\n\n public sendUnreliable(data: ArrayBuffer | Array<number>): void {\n console.warn(\"colyseus.js: The WebSocket transport does not support unreliable messages\");\n }\n\n /**\n * @param url URL to connect to\n * @param headers custom headers to send with the connection (only supported in Node.js. Web Browsers do not allow setting custom headers)\n */\n public connect(url: string, headers?: any): void {\n try {\n // Node or Bun environments (supports custom headers)\n this.ws = new WebSocket(url, { headers, protocols: this.protocols });\n\n } catch (e) {\n // browser environment (custom headers not supported)\n this.ws = new WebSocket(url, this.protocols);\n }\n\n this.ws.binaryType = 'arraybuffer';\n this.ws.onopen = this.events.onopen;\n this.ws.onmessage = this.events.onmessage;\n this.ws.onclose = this.events.onclose;\n this.ws.onerror = this.events.onerror;\n }\n\n public close(code?: number, reason?: string) {\n this.ws.close(code, reason);\n }\n\n get isOpen() {\n return this.ws.readyState === WebSocket.OPEN;\n }\n\n}\n"],"names":[],"mappings":";;;AAGA,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,IAAI,aAAa;MAE1C,kBAAkB,CAAA;AAIR,IAAA,MAAA;AAHnB,IAAA,EAAE;AACF,IAAA,SAAS;AAET,IAAA,WAAA,CAAmB,MAA0B,EAAA;QAA1B,IAAM,CAAA,MAAA,GAAN,MAAM;;AAElB,IAAA,IAAI,CAAC,IAAyB,EAAA;AACjC,QAAA,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;;AAGf,IAAA,cAAc,CAAC,IAAiC,EAAA;AACnD,QAAA,OAAO,CAAC,IAAI,CAAC,2EAA2E,CAAC;;AAG7F;;;AAGG;IACI,OAAO,CAAC,GAAW,EAAE,OAAa,EAAA;AACrC,QAAA,IAAI;;AAEA,YAAA,IAAI,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC;;QAEtE,OAAO,CAAC,EAAE;;AAER,YAAA,IAAI,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;;AAGhD,QAAA,IAAI,CAAC,EAAE,CAAC,UAAU,GAAG,aAAa;QAClC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM;QACnC,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS;QACzC,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO;QACrC,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO;;IAGlC,KAAK,CAAC,IAAa,EAAE,MAAe,EAAA;QACvC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;;AAG/B,IAAA,IAAI,MAAM,GAAA;QACN,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;;AAGnD;;;;"}