@colyseus/sdk 0.17.13 → 0.17.15
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/3rd_party/discord.cjs +1 -1
- package/build/3rd_party/discord.mjs +1 -1
- package/build/Auth.cjs +1 -1
- package/build/Auth.mjs +1 -1
- package/build/Client.cjs +3 -2
- package/build/Client.cjs.map +1 -1
- package/build/Client.d.ts +1 -1
- package/build/Client.mjs +3 -2
- package/build/Client.mjs.map +1 -1
- package/build/Connection.cjs +30 -1
- package/build/Connection.cjs.map +1 -1
- package/build/Connection.d.ts +1 -0
- package/build/Connection.mjs +27 -1
- package/build/Connection.mjs.map +1 -1
- package/build/HTTP.cjs +1 -1
- package/build/HTTP.mjs +1 -1
- package/build/Protocol.cjs +1 -1
- package/build/Protocol.mjs +1 -1
- package/build/Room.cjs +17 -14
- package/build/Room.cjs.map +1 -1
- package/build/Room.mjs +12 -9
- package/build/Room.mjs.map +1 -1
- package/build/Storage.cjs +1 -1
- package/build/Storage.mjs +1 -1
- package/build/core/nanoevents.cjs +1 -1
- package/build/core/nanoevents.mjs +1 -1
- package/build/core/signal.cjs +1 -1
- package/build/core/signal.mjs +1 -1
- package/build/core/utils.cjs +1 -1
- package/build/core/utils.mjs +1 -1
- package/build/debug.cjs +226 -113
- package/build/debug.cjs.map +1 -1
- package/build/debug.mjs +226 -113
- package/build/debug.mjs.map +1 -1
- package/build/errors/Errors.cjs +1 -12
- package/build/errors/Errors.cjs.map +1 -1
- package/build/errors/Errors.d.ts +0 -10
- package/build/errors/Errors.mjs +2 -13
- package/build/errors/Errors.mjs.map +1 -1
- package/build/index.cjs +11 -11
- package/build/index.cjs.map +1 -1
- package/build/index.d.ts +2 -2
- package/build/index.mjs +3 -3
- package/build/index.mjs.map +1 -1
- package/build/legacy.cjs +1 -1
- package/build/legacy.mjs +1 -1
- package/build/serializer/NoneSerializer.cjs +1 -1
- package/build/serializer/NoneSerializer.mjs +1 -1
- package/build/serializer/SchemaSerializer.cjs +1 -1
- package/build/serializer/SchemaSerializer.mjs +1 -1
- package/build/serializer/Serializer.cjs +1 -1
- package/build/serializer/Serializer.mjs +1 -1
- package/build/transport/H3Transport.cjs +1 -1
- package/build/transport/H3Transport.mjs +1 -1
- package/build/transport/WebSocketTransport.cjs +16 -5
- package/build/transport/WebSocketTransport.cjs.map +1 -1
- package/build/transport/WebSocketTransport.mjs +16 -5
- package/build/transport/WebSocketTransport.mjs.map +1 -1
- package/dist/colyseus-cocos-creator.js +118 -49
- package/dist/colyseus-cocos-creator.js.map +1 -1
- package/dist/colyseus.js +118 -49
- package/dist/colyseus.js.map +1 -1
- package/dist/debug.js +284 -143
- package/dist/debug.js.map +1 -1
- package/package.json +4 -4
- package/src/Client.ts +2 -2
- package/src/Connection.ts +30 -0
- package/src/Room.ts +13 -10
- package/src/debug.ts +246 -111
- package/src/errors/Errors.ts +0 -11
- package/src/index.ts +2 -2
- package/src/transport/WebSocketTransport.ts +16 -4
package/build/errors/Errors.cjs
CHANGED
|
@@ -3,20 +3,9 @@
|
|
|
3
3
|
// This software is released under the MIT License.
|
|
4
4
|
// https://opensource.org/license/MIT
|
|
5
5
|
//
|
|
6
|
-
// colyseus.js@0.17.
|
|
6
|
+
// colyseus.js@0.17.15
|
|
7
7
|
'use strict';
|
|
8
8
|
|
|
9
|
-
exports.CloseCode = void 0;
|
|
10
|
-
(function (CloseCode) {
|
|
11
|
-
CloseCode[CloseCode["NORMAL_CLOSURE"] = 1000] = "NORMAL_CLOSURE";
|
|
12
|
-
CloseCode[CloseCode["GOING_AWAY"] = 1001] = "GOING_AWAY";
|
|
13
|
-
CloseCode[CloseCode["NO_STATUS_RECEIVED"] = 1005] = "NO_STATUS_RECEIVED";
|
|
14
|
-
CloseCode[CloseCode["ABNORMAL_CLOSURE"] = 1006] = "ABNORMAL_CLOSURE";
|
|
15
|
-
CloseCode[CloseCode["CONSENTED"] = 4000] = "CONSENTED";
|
|
16
|
-
CloseCode[CloseCode["SERVER_SHUTDOWN"] = 4001] = "SERVER_SHUTDOWN";
|
|
17
|
-
CloseCode[CloseCode["WITH_ERROR"] = 4002] = "WITH_ERROR";
|
|
18
|
-
CloseCode[CloseCode["DEVMODE_RESTART"] = 4010] = "DEVMODE_RESTART";
|
|
19
|
-
})(exports.CloseCode || (exports.CloseCode = {}));
|
|
20
9
|
class ServerError extends Error {
|
|
21
10
|
constructor(code, message) {
|
|
22
11
|
super(message);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Errors.cjs","sources":["../../src/errors/Errors.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"Errors.cjs","sources":["../../src/errors/Errors.ts"],"sourcesContent":["\nexport class ServerError extends Error {\n public code: number;\n\n constructor(code: number, message: string) {\n super(message);\n\n this.name = \"ServerError\";\n this.code = code;\n }\n}\n\nexport class AbortError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"AbortError\";\n }\n}\n"],"names":[],"mappings":";;;;;;;;AACM,MAAO,WAAY,SAAQ,KAAK,CAAA;IAGpC,WAAA,CAAY,IAAY,EAAE,OAAe,EAAA;QACvC,KAAK,CAAC,OAAO,CAAC;AAEd,QAAA,IAAI,CAAC,IAAI,GAAG,aAAa;AACzB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;IAClB;AACD;AAEK,MAAO,UAAW,SAAQ,KAAK,CAAA;AACnC,IAAA,WAAA,CAAY,OAAe,EAAA;QACzB,KAAK,CAAC,OAAO,CAAC;AACd,QAAA,IAAI,CAAC,IAAI,GAAG,YAAY;IAC1B;AACD;;;;;"}
|
package/build/errors/Errors.d.ts
CHANGED
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
export declare enum CloseCode {
|
|
2
|
-
NORMAL_CLOSURE = 1000,
|
|
3
|
-
GOING_AWAY = 1001,
|
|
4
|
-
NO_STATUS_RECEIVED = 1005,
|
|
5
|
-
ABNORMAL_CLOSURE = 1006,
|
|
6
|
-
CONSENTED = 4000,
|
|
7
|
-
SERVER_SHUTDOWN = 4001,
|
|
8
|
-
WITH_ERROR = 4002,
|
|
9
|
-
DEVMODE_RESTART = 4010
|
|
10
|
-
}
|
|
11
1
|
export declare class ServerError extends Error {
|
|
12
2
|
code: number;
|
|
13
3
|
constructor(code: number, message: string);
|
package/build/errors/Errors.mjs
CHANGED
|
@@ -3,18 +3,7 @@
|
|
|
3
3
|
// This software is released under the MIT License.
|
|
4
4
|
// https://opensource.org/license/MIT
|
|
5
5
|
//
|
|
6
|
-
// colyseus.js@0.17.
|
|
7
|
-
var CloseCode;
|
|
8
|
-
(function (CloseCode) {
|
|
9
|
-
CloseCode[CloseCode["NORMAL_CLOSURE"] = 1000] = "NORMAL_CLOSURE";
|
|
10
|
-
CloseCode[CloseCode["GOING_AWAY"] = 1001] = "GOING_AWAY";
|
|
11
|
-
CloseCode[CloseCode["NO_STATUS_RECEIVED"] = 1005] = "NO_STATUS_RECEIVED";
|
|
12
|
-
CloseCode[CloseCode["ABNORMAL_CLOSURE"] = 1006] = "ABNORMAL_CLOSURE";
|
|
13
|
-
CloseCode[CloseCode["CONSENTED"] = 4000] = "CONSENTED";
|
|
14
|
-
CloseCode[CloseCode["SERVER_SHUTDOWN"] = 4001] = "SERVER_SHUTDOWN";
|
|
15
|
-
CloseCode[CloseCode["WITH_ERROR"] = 4002] = "WITH_ERROR";
|
|
16
|
-
CloseCode[CloseCode["DEVMODE_RESTART"] = 4010] = "DEVMODE_RESTART";
|
|
17
|
-
})(CloseCode || (CloseCode = {}));
|
|
6
|
+
// colyseus.js@0.17.15
|
|
18
7
|
class ServerError extends Error {
|
|
19
8
|
code;
|
|
20
9
|
constructor(code, message) {
|
|
@@ -30,5 +19,5 @@ class AbortError extends Error {
|
|
|
30
19
|
}
|
|
31
20
|
}
|
|
32
21
|
|
|
33
|
-
export { AbortError,
|
|
22
|
+
export { AbortError, ServerError };
|
|
34
23
|
//# sourceMappingURL=Errors.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Errors.mjs","sources":["../../src/errors/Errors.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"Errors.mjs","sources":["../../src/errors/Errors.ts"],"sourcesContent":["\nexport class ServerError extends Error {\n public code: number;\n\n constructor(code: number, message: string) {\n super(message);\n\n this.name = \"ServerError\";\n this.code = code;\n }\n}\n\nexport class AbortError extends Error {\n constructor(message: string) {\n super(message);\n this.name = \"AbortError\";\n }\n}\n"],"names":[],"mappings":";;;;;;AACM,MAAO,WAAY,SAAQ,KAAK,CAAA;AAC7B,IAAA,IAAI;IAEX,WAAA,CAAY,IAAY,EAAE,OAAe,EAAA;QACvC,KAAK,CAAC,OAAO,CAAC;AAEd,QAAA,IAAI,CAAC,IAAI,GAAG,aAAa;AACzB,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI;IAClB;AACD;AAEK,MAAO,UAAW,SAAQ,KAAK,CAAA;AACnC,IAAA,WAAA,CAAY,OAAe,EAAA;QACzB,KAAK,CAAC,OAAO,CAAC;AACd,QAAA,IAAI,CAAC,IAAI,GAAG,YAAY;IAC1B;AACD;;;;"}
|
package/build/index.cjs
CHANGED
|
@@ -3,15 +3,15 @@
|
|
|
3
3
|
// This software is released under the MIT License.
|
|
4
4
|
// https://opensource.org/license/MIT
|
|
5
5
|
//
|
|
6
|
-
// colyseus.js@0.17.
|
|
6
|
+
// colyseus.js@0.17.15
|
|
7
7
|
'use strict';
|
|
8
8
|
|
|
9
9
|
require('./legacy.cjs');
|
|
10
10
|
var Client = require('./Client.cjs');
|
|
11
|
-
var Protocol = require('./Protocol.cjs');
|
|
12
11
|
var Room = require('./Room.cjs');
|
|
13
12
|
var Auth = require('./Auth.cjs');
|
|
14
13
|
var Errors = require('./errors/Errors.cjs');
|
|
14
|
+
var sharedTypes = require('@colyseus/shared-types');
|
|
15
15
|
var SchemaSerializer = require('./serializer/SchemaSerializer.cjs');
|
|
16
16
|
var NoneSerializer = require('./serializer/NoneSerializer.cjs');
|
|
17
17
|
var Serializer = require('./serializer/Serializer.cjs');
|
|
@@ -23,21 +23,21 @@ Serializer.registerSerializer('none', NoneSerializer.NoneSerializer);
|
|
|
23
23
|
exports.Client = Client.Client;
|
|
24
24
|
exports.ColyseusSDK = Client.ColyseusSDK;
|
|
25
25
|
exports.MatchMakeError = Client.MatchMakeError;
|
|
26
|
-
|
|
26
|
+
exports.Room = Room.Room;
|
|
27
|
+
exports.Auth = Auth.Auth;
|
|
28
|
+
exports.ServerError = Errors.ServerError;
|
|
29
|
+
Object.defineProperty(exports, "CloseCode", {
|
|
27
30
|
enumerable: true,
|
|
28
|
-
get: function () { return
|
|
31
|
+
get: function () { return sharedTypes.CloseCode; }
|
|
29
32
|
});
|
|
30
|
-
Object.defineProperty(exports, "
|
|
33
|
+
Object.defineProperty(exports, "ErrorCode", {
|
|
31
34
|
enumerable: true,
|
|
32
|
-
get: function () { return
|
|
35
|
+
get: function () { return sharedTypes.ErrorCode; }
|
|
33
36
|
});
|
|
34
|
-
exports
|
|
35
|
-
exports.Auth = Auth.Auth;
|
|
36
|
-
Object.defineProperty(exports, "CloseCode", {
|
|
37
|
+
Object.defineProperty(exports, "Protocol", {
|
|
37
38
|
enumerable: true,
|
|
38
|
-
get: function () { return
|
|
39
|
+
get: function () { return sharedTypes.Protocol; }
|
|
39
40
|
});
|
|
40
|
-
exports.ServerError = Errors.ServerError;
|
|
41
41
|
exports.SchemaSerializer = SchemaSerializer.SchemaSerializer;
|
|
42
42
|
exports.getStateCallbacks = SchemaSerializer.getStateCallbacks;
|
|
43
43
|
exports.registerSerializer = Serializer.registerSerializer;
|
package/build/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":["import './legacy';\n\nexport { ColyseusSDK, Client, MatchMakeError, type JoinOptions, type EndpointSettings, type ClientOptions, type ISeatReservation as SeatReservation } from './Client.ts';\nexport {
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../src/index.ts"],"sourcesContent":["import './legacy';\n\nexport { ColyseusSDK, Client, MatchMakeError, type JoinOptions, type EndpointSettings, type ClientOptions, type ISeatReservation as SeatReservation } from './Client.ts';\nexport { Room, type RoomAvailable } from './Room.ts';\nexport { Auth, type AuthSettings, type PopupSettings, type AuthResponse, type UserDataResponse, type ForgotPasswordResponse, type AuthData } from \"./Auth.ts\";\nexport { ServerError } from './errors/Errors.ts';\nexport { CloseCode, ErrorCode, Protocol } from '@colyseus/shared-types'; // convenience re-export / backwards compatibility\nexport type { InferRoomConstructor } from './core/utils.ts';\n\n/*\n * Serializers\n */\nimport { SchemaSerializer, getStateCallbacks } from \"./serializer/SchemaSerializer.ts\";\nimport { NoneSerializer } from \"./serializer/NoneSerializer.ts\";\nimport { registerSerializer } from './serializer/Serializer.ts';\nexport { Callbacks } from \"@colyseus/schema\";\n\nexport { registerSerializer, SchemaSerializer, getStateCallbacks };\nregisterSerializer('schema', SchemaSerializer);\nregisterSerializer('none', NoneSerializer);\n"],"names":["registerSerializer","SchemaSerializer","NoneSerializer"],"mappings":";;;;;;;;;;;;;;;;;;;AAkBAA,6BAAkB,CAAC,QAAQ,EAAEC,iCAAgB,CAAC;AAC9CD,6BAAkB,CAAC,MAAM,EAAEE,6BAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/build/index.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import './legacy';
|
|
2
2
|
export { ColyseusSDK, Client, MatchMakeError, type JoinOptions, type EndpointSettings, type ClientOptions, type ISeatReservation as SeatReservation } from './Client.ts';
|
|
3
|
-
export { Protocol, ErrorCode } from './Protocol.ts';
|
|
4
3
|
export { Room, type RoomAvailable } from './Room.ts';
|
|
5
4
|
export { Auth, type AuthSettings, type PopupSettings, type AuthResponse, type UserDataResponse, type ForgotPasswordResponse, type AuthData } from "./Auth.ts";
|
|
6
|
-
export { ServerError
|
|
5
|
+
export { ServerError } from './errors/Errors.ts';
|
|
6
|
+
export { CloseCode, ErrorCode, Protocol } from '@colyseus/shared-types';
|
|
7
7
|
export type { InferRoomConstructor } from './core/utils.ts';
|
|
8
8
|
import { SchemaSerializer, getStateCallbacks } from "./serializer/SchemaSerializer.ts";
|
|
9
9
|
import { registerSerializer } from './serializer/Serializer.ts';
|
package/build/index.mjs
CHANGED
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
// This software is released under the MIT License.
|
|
4
4
|
// https://opensource.org/license/MIT
|
|
5
5
|
//
|
|
6
|
-
// colyseus.js@0.17.
|
|
6
|
+
// colyseus.js@0.17.15
|
|
7
7
|
import './legacy.mjs';
|
|
8
8
|
export { Client, ColyseusSDK, MatchMakeError } from './Client.mjs';
|
|
9
|
-
export { ErrorCode, Protocol } from './Protocol.mjs';
|
|
10
9
|
export { Room } from './Room.mjs';
|
|
11
10
|
export { Auth } from './Auth.mjs';
|
|
12
|
-
export {
|
|
11
|
+
export { ServerError } from './errors/Errors.mjs';
|
|
12
|
+
export { CloseCode, ErrorCode, Protocol } from '@colyseus/shared-types';
|
|
13
13
|
import { SchemaSerializer } from './serializer/SchemaSerializer.mjs';
|
|
14
14
|
export { getStateCallbacks } from './serializer/SchemaSerializer.mjs';
|
|
15
15
|
import { NoneSerializer } from './serializer/NoneSerializer.mjs';
|
package/build/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import './legacy';\n\nexport { ColyseusSDK, Client, MatchMakeError, type JoinOptions, type EndpointSettings, type ClientOptions, type ISeatReservation as SeatReservation } from './Client.ts';\nexport {
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/index.ts"],"sourcesContent":["import './legacy';\n\nexport { ColyseusSDK, Client, MatchMakeError, type JoinOptions, type EndpointSettings, type ClientOptions, type ISeatReservation as SeatReservation } from './Client.ts';\nexport { Room, type RoomAvailable } from './Room.ts';\nexport { Auth, type AuthSettings, type PopupSettings, type AuthResponse, type UserDataResponse, type ForgotPasswordResponse, type AuthData } from \"./Auth.ts\";\nexport { ServerError } from './errors/Errors.ts';\nexport { CloseCode, ErrorCode, Protocol } from '@colyseus/shared-types'; // convenience re-export / backwards compatibility\nexport type { InferRoomConstructor } from './core/utils.ts';\n\n/*\n * Serializers\n */\nimport { SchemaSerializer, getStateCallbacks } from \"./serializer/SchemaSerializer.ts\";\nimport { NoneSerializer } from \"./serializer/NoneSerializer.ts\";\nimport { registerSerializer } from './serializer/Serializer.ts';\nexport { Callbacks } from \"@colyseus/schema\";\n\nexport { registerSerializer, SchemaSerializer, getStateCallbacks };\nregisterSerializer('schema', SchemaSerializer);\nregisterSerializer('none', NoneSerializer);\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAkBA,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,CAAC;AAC9C,kBAAkB,CAAC,MAAM,EAAE,cAAc,CAAC;;;;"}
|
package/build/legacy.cjs
CHANGED
package/build/legacy.mjs
CHANGED
|
@@ -3,10 +3,11 @@
|
|
|
3
3
|
// This software is released under the MIT License.
|
|
4
4
|
// https://opensource.org/license/MIT
|
|
5
5
|
//
|
|
6
|
-
// colyseus.js@0.17.
|
|
6
|
+
// colyseus.js@0.17.15
|
|
7
7
|
'use strict';
|
|
8
8
|
|
|
9
9
|
var NodeWebSocket = require('ws');
|
|
10
|
+
var sharedTypes = require('@colyseus/shared-types');
|
|
10
11
|
|
|
11
12
|
const WebSocket = globalThis.WebSocket || NodeWebSocket;
|
|
12
13
|
class WebSocketTransport {
|
|
@@ -33,12 +34,22 @@ class WebSocketTransport {
|
|
|
33
34
|
this.ws = new WebSocket(url, this.protocols);
|
|
34
35
|
}
|
|
35
36
|
this.ws.binaryType = 'arraybuffer';
|
|
36
|
-
this.ws.onopen = this.events.onopen;
|
|
37
|
-
this.ws.onmessage = this.events.onmessage;
|
|
38
|
-
this.ws.onclose = this.events.onclose;
|
|
39
|
-
this.ws.onerror = this.events.onerror;
|
|
37
|
+
this.ws.onopen = (event) => { var _a, _b; return (_b = (_a = this.events).onopen) === null || _b === void 0 ? void 0 : _b.call(_a, event); };
|
|
38
|
+
this.ws.onmessage = (event) => { var _a, _b; return (_b = (_a = this.events).onmessage) === null || _b === void 0 ? void 0 : _b.call(_a, event); };
|
|
39
|
+
this.ws.onclose = (event) => { var _a, _b; return (_b = (_a = this.events).onclose) === null || _b === void 0 ? void 0 : _b.call(_a, event); };
|
|
40
|
+
this.ws.onerror = (event) => { var _a, _b; return (_b = (_a = this.events).onerror) === null || _b === void 0 ? void 0 : _b.call(_a, event); };
|
|
40
41
|
}
|
|
41
42
|
close(code, reason) {
|
|
43
|
+
//
|
|
44
|
+
// trigger the onclose event immediately if the code is MAY_TRY_RECONNECT
|
|
45
|
+
// when "offline" event is triggered, the close frame is delayed. this
|
|
46
|
+
// way client can try to reconnect immediately.
|
|
47
|
+
//
|
|
48
|
+
if (code === sharedTypes.CloseCode.MAY_TRY_RECONNECT && this.events.onclose) {
|
|
49
|
+
this.ws.onclose = null;
|
|
50
|
+
this.events.onclose({ code, reason });
|
|
51
|
+
}
|
|
52
|
+
// then we close the connection
|
|
42
53
|
this.ws.close(code, reason);
|
|
43
54
|
}
|
|
44
55
|
get isOpen() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketTransport.cjs","sources":["../../src/transport/WebSocketTransport.ts"],"sourcesContent":["import NodeWebSocket from \"ws\";\nimport type { ITransport, ITransportEventMap } from \"./ITransport.ts\";\n\nconst WebSocket = globalThis.WebSocket || NodeWebSocket;\n\nexport class WebSocketTransport implements ITransport {\n ws: WebSocket | NodeWebSocket;\n protocols?: string | string[];\n\n events: ITransportEventMap;\n\n constructor(events: ITransportEventMap) {\n this.events = events;\n }\n\n public send(data: Buffer | Uint8Array): void {\n this.ws.send(data);\n }\n\n public sendUnreliable(data: Uint8Array): void {\n console.warn(\"@colyseus/sdk: 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":"
|
|
1
|
+
{"version":3,"file":"WebSocketTransport.cjs","sources":["../../src/transport/WebSocketTransport.ts"],"sourcesContent":["import NodeWebSocket from \"ws\";\nimport { CloseCode } from \"@colyseus/shared-types\";\nimport type { ITransport, ITransportEventMap } from \"./ITransport.ts\";\n\nconst WebSocket = globalThis.WebSocket || NodeWebSocket;\n\nexport class WebSocketTransport implements ITransport {\n ws: WebSocket | NodeWebSocket;\n protocols?: string | string[];\n\n events: ITransportEventMap;\n\n constructor(events: ITransportEventMap) {\n this.events = events;\n }\n\n public send(data: Buffer | Uint8Array): void {\n this.ws.send(data);\n }\n\n public sendUnreliable(data: Uint8Array): void {\n console.warn(\"@colyseus/sdk: 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 = (event) => this.events.onopen?.(event);\n this.ws.onmessage = (event) => this.events.onmessage?.(event);\n this.ws.onclose = (event) => this.events.onclose?.(event);\n this.ws.onerror = (event) => this.events.onerror?.(event);\n }\n\n public close(code?: number, reason?: string) {\n //\n // trigger the onclose event immediately if the code is MAY_TRY_RECONNECT\n // when \"offline\" event is triggered, the close frame is delayed. this\n // way client can try to reconnect immediately.\n //\n if (code === CloseCode.MAY_TRY_RECONNECT && this.events.onclose) {\n this.ws.onclose = null;\n this.events.onclose({ code, reason });\n }\n\n // then we close the connection\n this.ws.close(code, reason);\n }\n\n get isOpen() {\n return this.ws.readyState === WebSocket.OPEN;\n }\n\n}\n"],"names":["CloseCode"],"mappings":";;;;;;;;;;;AAIA,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,IAAI,aAAa;MAE1C,kBAAkB,CAAA;AAM3B,IAAA,WAAA,CAAY,MAA0B,EAAA;AAClC,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;IACxB;AAEO,IAAA,IAAI,CAAC,IAAyB,EAAA;AACjC,QAAA,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;IACtB;AAEO,IAAA,cAAc,CAAC,IAAgB,EAAA;AAClC,QAAA,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC;IAC/F;AAEA;;;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;QAExE;QAAE,OAAO,CAAC,EAAE;;AAER,YAAA,IAAI,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;QAChD;AAEA,QAAA,IAAI,CAAC,EAAE,CAAC,UAAU,GAAG,aAAa;QAClC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,KAAK,KAAI,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,CAAC,OAAA,MAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,EAAC,MAAM,mDAAG,KAAK,CAAC,CAAA,CAAA,CAAA;QACvD,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,KAAK,KAAI,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,CAAC,OAAA,MAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,EAAC,SAAS,mDAAG,KAAK,CAAC,CAAA,CAAA,CAAA;QAC7D,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,KAAK,KAAI,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,CAAC,OAAA,MAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,EAAC,OAAO,mDAAG,KAAK,CAAC,CAAA,CAAA,CAAA;QACzD,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,KAAK,KAAI,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,CAAC,OAAA,MAAA,CAAA,EAAA,GAAA,IAAI,CAAC,MAAM,EAAC,OAAO,mDAAG,KAAK,CAAC,CAAA,CAAA,CAAA;IAC7D;IAEO,KAAK,CAAC,IAAa,EAAE,MAAe,EAAA;;;;;;AAMvC,QAAA,IAAI,IAAI,KAAKA,qBAAS,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AAC7D,YAAA,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,IAAI;YACtB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACzC;;QAGA,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B;AAEA,IAAA,IAAI,MAAM,GAAA;QACN,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;IAChD;AAEH;;;;"}
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
// This software is released under the MIT License.
|
|
4
4
|
// https://opensource.org/license/MIT
|
|
5
5
|
//
|
|
6
|
-
// colyseus.js@0.17.
|
|
6
|
+
// colyseus.js@0.17.15
|
|
7
7
|
import NodeWebSocket from 'ws';
|
|
8
|
+
import { CloseCode } from '@colyseus/shared-types';
|
|
8
9
|
|
|
9
10
|
const WebSocket = globalThis.WebSocket || NodeWebSocket;
|
|
10
11
|
class WebSocketTransport {
|
|
@@ -34,12 +35,22 @@ class WebSocketTransport {
|
|
|
34
35
|
this.ws = new WebSocket(url, this.protocols);
|
|
35
36
|
}
|
|
36
37
|
this.ws.binaryType = 'arraybuffer';
|
|
37
|
-
this.ws.onopen = this.events.onopen;
|
|
38
|
-
this.ws.onmessage = this.events.onmessage;
|
|
39
|
-
this.ws.onclose = this.events.onclose;
|
|
40
|
-
this.ws.onerror = this.events.onerror;
|
|
38
|
+
this.ws.onopen = (event) => this.events.onopen?.(event);
|
|
39
|
+
this.ws.onmessage = (event) => this.events.onmessage?.(event);
|
|
40
|
+
this.ws.onclose = (event) => this.events.onclose?.(event);
|
|
41
|
+
this.ws.onerror = (event) => this.events.onerror?.(event);
|
|
41
42
|
}
|
|
42
43
|
close(code, reason) {
|
|
44
|
+
//
|
|
45
|
+
// trigger the onclose event immediately if the code is MAY_TRY_RECONNECT
|
|
46
|
+
// when "offline" event is triggered, the close frame is delayed. this
|
|
47
|
+
// way client can try to reconnect immediately.
|
|
48
|
+
//
|
|
49
|
+
if (code === CloseCode.MAY_TRY_RECONNECT && this.events.onclose) {
|
|
50
|
+
this.ws.onclose = null;
|
|
51
|
+
this.events.onclose({ code, reason });
|
|
52
|
+
}
|
|
53
|
+
// then we close the connection
|
|
43
54
|
this.ws.close(code, reason);
|
|
44
55
|
}
|
|
45
56
|
get isOpen() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebSocketTransport.mjs","sources":["../../src/transport/WebSocketTransport.ts"],"sourcesContent":["import NodeWebSocket from \"ws\";\nimport type { ITransport, ITransportEventMap } from \"./ITransport.ts\";\n\nconst WebSocket = globalThis.WebSocket || NodeWebSocket;\n\nexport class WebSocketTransport implements ITransport {\n ws: WebSocket | NodeWebSocket;\n protocols?: string | string[];\n\n events: ITransportEventMap;\n\n constructor(events: ITransportEventMap) {\n this.events = events;\n }\n\n public send(data: Buffer | Uint8Array): void {\n this.ws.send(data);\n }\n\n public sendUnreliable(data: Uint8Array): void {\n console.warn(\"@colyseus/sdk: 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":"
|
|
1
|
+
{"version":3,"file":"WebSocketTransport.mjs","sources":["../../src/transport/WebSocketTransport.ts"],"sourcesContent":["import NodeWebSocket from \"ws\";\nimport { CloseCode } from \"@colyseus/shared-types\";\nimport type { ITransport, ITransportEventMap } from \"./ITransport.ts\";\n\nconst WebSocket = globalThis.WebSocket || NodeWebSocket;\n\nexport class WebSocketTransport implements ITransport {\n ws: WebSocket | NodeWebSocket;\n protocols?: string | string[];\n\n events: ITransportEventMap;\n\n constructor(events: ITransportEventMap) {\n this.events = events;\n }\n\n public send(data: Buffer | Uint8Array): void {\n this.ws.send(data);\n }\n\n public sendUnreliable(data: Uint8Array): void {\n console.warn(\"@colyseus/sdk: 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 = (event) => this.events.onopen?.(event);\n this.ws.onmessage = (event) => this.events.onmessage?.(event);\n this.ws.onclose = (event) => this.events.onclose?.(event);\n this.ws.onerror = (event) => this.events.onerror?.(event);\n }\n\n public close(code?: number, reason?: string) {\n //\n // trigger the onclose event immediately if the code is MAY_TRY_RECONNECT\n // when \"offline\" event is triggered, the close frame is delayed. this\n // way client can try to reconnect immediately.\n //\n if (code === CloseCode.MAY_TRY_RECONNECT && this.events.onclose) {\n this.ws.onclose = null;\n this.events.onclose({ code, reason });\n }\n\n // then we close the connection\n this.ws.close(code, reason);\n }\n\n get isOpen() {\n return this.ws.readyState === WebSocket.OPEN;\n }\n\n}\n"],"names":[],"mappings":";;;;;;;;;AAIA,MAAM,SAAS,GAAG,UAAU,CAAC,SAAS,IAAI,aAAa;MAE1C,kBAAkB,CAAA;AAC3B,IAAA,EAAE;AACF,IAAA,SAAS;AAET,IAAA,MAAM;AAEN,IAAA,WAAA,CAAY,MAA0B,EAAA;AAClC,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;IACxB;AAEO,IAAA,IAAI,CAAC,IAAyB,EAAA;AACjC,QAAA,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;IACtB;AAEO,IAAA,cAAc,CAAC,IAAgB,EAAA;AAClC,QAAA,OAAO,CAAC,IAAI,CAAC,6EAA6E,CAAC;IAC/F;AAEA;;;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;QAExE;QAAE,OAAO,CAAC,EAAE;;AAER,YAAA,IAAI,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC;QAChD;AAEA,QAAA,IAAI,CAAC,EAAE,CAAC,UAAU,GAAG,aAAa;AAClC,QAAA,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;AACvD,QAAA,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;AAC7D,QAAA,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;AACzD,QAAA,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;IAC7D;IAEO,KAAK,CAAC,IAAa,EAAE,MAAe,EAAA;;;;;;AAMvC,QAAA,IAAI,IAAI,KAAK,SAAS,CAAC,iBAAiB,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;AAC7D,YAAA,IAAI,CAAC,EAAE,CAAC,OAAO,GAAG,IAAI;YACtB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QACzC;;QAGA,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;IAC/B;AAEA,IAAA,IAAI,MAAM,GAAA;QACN,OAAO,IAAI,CAAC,EAAE,CAAC,UAAU,KAAK,SAAS,CAAC,IAAI;IAChD;AAEH;;;;"}
|