@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.
Files changed (72) hide show
  1. package/build/3rd_party/discord.cjs +1 -1
  2. package/build/3rd_party/discord.mjs +1 -1
  3. package/build/Auth.cjs +1 -1
  4. package/build/Auth.mjs +1 -1
  5. package/build/Client.cjs +3 -2
  6. package/build/Client.cjs.map +1 -1
  7. package/build/Client.d.ts +1 -1
  8. package/build/Client.mjs +3 -2
  9. package/build/Client.mjs.map +1 -1
  10. package/build/Connection.cjs +30 -1
  11. package/build/Connection.cjs.map +1 -1
  12. package/build/Connection.d.ts +1 -0
  13. package/build/Connection.mjs +27 -1
  14. package/build/Connection.mjs.map +1 -1
  15. package/build/HTTP.cjs +1 -1
  16. package/build/HTTP.mjs +1 -1
  17. package/build/Protocol.cjs +1 -1
  18. package/build/Protocol.mjs +1 -1
  19. package/build/Room.cjs +17 -14
  20. package/build/Room.cjs.map +1 -1
  21. package/build/Room.mjs +12 -9
  22. package/build/Room.mjs.map +1 -1
  23. package/build/Storage.cjs +1 -1
  24. package/build/Storage.mjs +1 -1
  25. package/build/core/nanoevents.cjs +1 -1
  26. package/build/core/nanoevents.mjs +1 -1
  27. package/build/core/signal.cjs +1 -1
  28. package/build/core/signal.mjs +1 -1
  29. package/build/core/utils.cjs +1 -1
  30. package/build/core/utils.mjs +1 -1
  31. package/build/debug.cjs +226 -113
  32. package/build/debug.cjs.map +1 -1
  33. package/build/debug.mjs +226 -113
  34. package/build/debug.mjs.map +1 -1
  35. package/build/errors/Errors.cjs +1 -12
  36. package/build/errors/Errors.cjs.map +1 -1
  37. package/build/errors/Errors.d.ts +0 -10
  38. package/build/errors/Errors.mjs +2 -13
  39. package/build/errors/Errors.mjs.map +1 -1
  40. package/build/index.cjs +11 -11
  41. package/build/index.cjs.map +1 -1
  42. package/build/index.d.ts +2 -2
  43. package/build/index.mjs +3 -3
  44. package/build/index.mjs.map +1 -1
  45. package/build/legacy.cjs +1 -1
  46. package/build/legacy.mjs +1 -1
  47. package/build/serializer/NoneSerializer.cjs +1 -1
  48. package/build/serializer/NoneSerializer.mjs +1 -1
  49. package/build/serializer/SchemaSerializer.cjs +1 -1
  50. package/build/serializer/SchemaSerializer.mjs +1 -1
  51. package/build/serializer/Serializer.cjs +1 -1
  52. package/build/serializer/Serializer.mjs +1 -1
  53. package/build/transport/H3Transport.cjs +1 -1
  54. package/build/transport/H3Transport.mjs +1 -1
  55. package/build/transport/WebSocketTransport.cjs +16 -5
  56. package/build/transport/WebSocketTransport.cjs.map +1 -1
  57. package/build/transport/WebSocketTransport.mjs +16 -5
  58. package/build/transport/WebSocketTransport.mjs.map +1 -1
  59. package/dist/colyseus-cocos-creator.js +118 -49
  60. package/dist/colyseus-cocos-creator.js.map +1 -1
  61. package/dist/colyseus.js +118 -49
  62. package/dist/colyseus.js.map +1 -1
  63. package/dist/debug.js +284 -143
  64. package/dist/debug.js.map +1 -1
  65. package/package.json +4 -4
  66. package/src/Client.ts +2 -2
  67. package/src/Connection.ts +30 -0
  68. package/src/Room.ts +13 -10
  69. package/src/debug.ts +246 -111
  70. package/src/errors/Errors.ts +0 -11
  71. package/src/index.ts +2 -2
  72. package/src/transport/WebSocketTransport.ts +16 -4
@@ -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.13
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":["export enum CloseCode {\n NORMAL_CLOSURE = 1000,\n GOING_AWAY = 1001,\n NO_STATUS_RECEIVED = 1005,\n ABNORMAL_CLOSURE = 1006,\n\n CONSENTED = 4000,\n SERVER_SHUTDOWN = 4001,\n WITH_ERROR = 4002,\n DEVMODE_RESTART = 4010\n}\n\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":["CloseCode"],"mappings":";;;;;;;;AAAYA;AAAZ,CAAA,UAAY,SAAS,EAAA;AACjB,IAAA,SAAA,CAAA,SAAA,CAAA,gBAAA,CAAA,GAAA,IAAA,CAAA,GAAA,gBAAqB;AACrB,IAAA,SAAA,CAAA,SAAA,CAAA,YAAA,CAAA,GAAA,IAAA,CAAA,GAAA,YAAiB;AACjB,IAAA,SAAA,CAAA,SAAA,CAAA,oBAAA,CAAA,GAAA,IAAA,CAAA,GAAA,oBAAyB;AACzB,IAAA,SAAA,CAAA,SAAA,CAAA,kBAAA,CAAA,GAAA,IAAA,CAAA,GAAA,kBAAuB;AAEvB,IAAA,SAAA,CAAA,SAAA,CAAA,WAAA,CAAA,GAAA,IAAA,CAAA,GAAA,WAAgB;AAChB,IAAA,SAAA,CAAA,SAAA,CAAA,iBAAA,CAAA,GAAA,IAAA,CAAA,GAAA,iBAAsB;AACtB,IAAA,SAAA,CAAA,SAAA,CAAA,YAAA,CAAA,GAAA,IAAA,CAAA,GAAA,YAAiB;AACjB,IAAA,SAAA,CAAA,SAAA,CAAA,iBAAA,CAAA,GAAA,IAAA,CAAA,GAAA,iBAAsB;AAC1B,CAAC,EAVWA,iBAAS,KAATA,iBAAS,GAAA,EAAA,CAAA,CAAA;AAYf,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;;;;;"}
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;;;;;"}
@@ -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);
@@ -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.13
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, CloseCode, ServerError };
22
+ export { AbortError, ServerError };
34
23
  //# sourceMappingURL=Errors.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Errors.mjs","sources":["../../src/errors/Errors.ts"],"sourcesContent":["export enum CloseCode {\n NORMAL_CLOSURE = 1000,\n GOING_AWAY = 1001,\n NO_STATUS_RECEIVED = 1005,\n ABNORMAL_CLOSURE = 1006,\n\n CONSENTED = 4000,\n SERVER_SHUTDOWN = 4001,\n WITH_ERROR = 4002,\n DEVMODE_RESTART = 4010\n}\n\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":";;;;;;IAAY;AAAZ,CAAA,UAAY,SAAS,EAAA;AACjB,IAAA,SAAA,CAAA,SAAA,CAAA,gBAAA,CAAA,GAAA,IAAA,CAAA,GAAA,gBAAqB;AACrB,IAAA,SAAA,CAAA,SAAA,CAAA,YAAA,CAAA,GAAA,IAAA,CAAA,GAAA,YAAiB;AACjB,IAAA,SAAA,CAAA,SAAA,CAAA,oBAAA,CAAA,GAAA,IAAA,CAAA,GAAA,oBAAyB;AACzB,IAAA,SAAA,CAAA,SAAA,CAAA,kBAAA,CAAA,GAAA,IAAA,CAAA,GAAA,kBAAuB;AAEvB,IAAA,SAAA,CAAA,SAAA,CAAA,WAAA,CAAA,GAAA,IAAA,CAAA,GAAA,WAAgB;AAChB,IAAA,SAAA,CAAA,SAAA,CAAA,iBAAA,CAAA,GAAA,IAAA,CAAA,GAAA,iBAAsB;AACtB,IAAA,SAAA,CAAA,SAAA,CAAA,YAAA,CAAA,GAAA,IAAA,CAAA,GAAA,YAAiB;AACjB,IAAA,SAAA,CAAA,SAAA,CAAA,iBAAA,CAAA,GAAA,IAAA,CAAA,GAAA,iBAAsB;AAC1B,CAAC,EAVW,SAAS,KAAT,SAAS,GAAA,EAAA,CAAA,CAAA;AAYf,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;;;;"}
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.13
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
- Object.defineProperty(exports, "ErrorCode", {
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 Protocol.ErrorCode; }
31
+ get: function () { return sharedTypes.CloseCode; }
29
32
  });
30
- Object.defineProperty(exports, "Protocol", {
33
+ Object.defineProperty(exports, "ErrorCode", {
31
34
  enumerable: true,
32
- get: function () { return Protocol.Protocol; }
35
+ get: function () { return sharedTypes.ErrorCode; }
33
36
  });
34
- exports.Room = Room.Room;
35
- exports.Auth = Auth.Auth;
36
- Object.defineProperty(exports, "CloseCode", {
37
+ Object.defineProperty(exports, "Protocol", {
37
38
  enumerable: true,
38
- get: function () { return Errors.CloseCode; }
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;
@@ -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 { Protocol, ErrorCode } from './Protocol.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, CloseCode } from './errors/Errors.ts';\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;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
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, CloseCode } from './errors/Errors.ts';
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.13
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 { CloseCode, ServerError } from './errors/Errors.mjs';
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';
@@ -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 { Protocol, ErrorCode } from './Protocol.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, CloseCode } from './errors/Errors.ts';\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;;;;"}
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
@@ -3,7 +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.13
6
+ // colyseus.js@0.17.15
7
7
  'use strict';
8
8
 
9
9
  //
package/build/legacy.mjs CHANGED
@@ -3,7 +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.13
6
+ // colyseus.js@0.17.15
7
7
  //
8
8
  // Polyfills for legacy environments
9
9
  //
@@ -3,7 +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.13
6
+ // colyseus.js@0.17.15
7
7
  'use strict';
8
8
 
9
9
  class NoneSerializer {
@@ -3,7 +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.13
6
+ // colyseus.js@0.17.15
7
7
  class NoneSerializer {
8
8
  setState(rawState) { }
9
9
  getState() { return null; }
@@ -3,7 +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.13
6
+ // colyseus.js@0.17.15
7
7
  'use strict';
8
8
 
9
9
  var schema = require('@colyseus/schema');
@@ -3,7 +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.13
6
+ // colyseus.js@0.17.15
7
7
  import { getDecoderStateCallbacks, Reflection, Decoder } from '@colyseus/schema';
8
8
 
9
9
  //
@@ -3,7 +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.13
6
+ // colyseus.js@0.17.15
7
7
  'use strict';
8
8
 
9
9
  const serializers = {};
@@ -3,7 +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.13
6
+ // colyseus.js@0.17.15
7
7
  const serializers = {};
8
8
  function registerSerializer(id, serializer) {
9
9
  serializers[id] = serializer;
@@ -3,7 +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.13
6
+ // colyseus.js@0.17.15
7
7
  'use strict';
8
8
 
9
9
  var tslib = require('tslib');
@@ -3,7 +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.13
6
+ // colyseus.js@0.17.15
7
7
  import { encode, decode } from '@colyseus/schema';
8
8
 
9
9
  class H3TransportTransport {
@@ -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.13
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":";;;;;;;;;;AAGA,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,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;IACzC;IAEO,KAAK,CAAC,IAAa,EAAE,MAAe,EAAA;QACvC,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;;;;"}
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.13
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":";;;;;;;;AAGA,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;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;IACzC;IAEO,KAAK,CAAC,IAAa,EAAE,MAAe,EAAA;QACvC,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;;;;"}
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;;;;"}