@kohost/api-client 3.7.5 → 3.7.7

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.
@@ -456,12 +456,21 @@ var require_cjs2 = __commonJS({
456
456
  }
457
457
  });
458
458
 
459
- // node_modules/engine.io-client/build/cjs/globalThis.browser.js
460
- var require_globalThis_browser = __commonJS({
461
- "node_modules/engine.io-client/build/cjs/globalThis.browser.js"(exports) {
459
+ // node_modules/engine.io-client/build/cjs/globals.js
460
+ var require_globals = __commonJS({
461
+ "node_modules/engine.io-client/build/cjs/globals.js"(exports) {
462
462
  "use strict";
463
463
  Object.defineProperty(exports, "__esModule", { value: true });
464
- exports.globalThisShim = void 0;
464
+ exports.defaultBinaryType = exports.globalThisShim = exports.nextTick = void 0;
465
+ exports.createCookieJar = createCookieJar;
466
+ exports.nextTick = (() => {
467
+ const isPromiseAvailable = typeof Promise === "function" && typeof Promise.resolve === "function";
468
+ if (isPromiseAvailable) {
469
+ return (cb) => Promise.resolve().then(cb);
470
+ } else {
471
+ return (cb, setTimeoutFn) => setTimeoutFn(cb, 0);
472
+ }
473
+ })();
465
474
  exports.globalThisShim = (() => {
466
475
  if (typeof self !== "undefined") {
467
476
  return self;
@@ -471,6 +480,10 @@ var require_globalThis_browser = __commonJS({
471
480
  return Function("return this")();
472
481
  }
473
482
  })();
483
+ exports.defaultBinaryType = "arraybuffer";
484
+ function createCookieJar() {
485
+ }
486
+ __name(createCookieJar, "createCookieJar");
474
487
  }
475
488
  });
476
489
 
@@ -479,8 +492,11 @@ var require_util = __commonJS({
479
492
  "node_modules/engine.io-client/build/cjs/util.js"(exports) {
480
493
  "use strict";
481
494
  Object.defineProperty(exports, "__esModule", { value: true });
482
- exports.byteLength = exports.installTimerFunctions = exports.pick = void 0;
483
- var globalThis_js_1 = require_globalThis_browser();
495
+ exports.pick = pick;
496
+ exports.installTimerFunctions = installTimerFunctions;
497
+ exports.byteLength = byteLength;
498
+ exports.randomString = randomString;
499
+ var globals_node_js_1 = require_globals();
484
500
  function pick(obj, ...attr) {
485
501
  return attr.reduce((acc, k) => {
486
502
  if (obj.hasOwnProperty(k)) {
@@ -490,20 +506,18 @@ var require_util = __commonJS({
490
506
  }, {});
491
507
  }
492
508
  __name(pick, "pick");
493
- exports.pick = pick;
494
- var NATIVE_SET_TIMEOUT = globalThis_js_1.globalThisShim.setTimeout;
495
- var NATIVE_CLEAR_TIMEOUT = globalThis_js_1.globalThisShim.clearTimeout;
509
+ var NATIVE_SET_TIMEOUT = globals_node_js_1.globalThisShim.setTimeout;
510
+ var NATIVE_CLEAR_TIMEOUT = globals_node_js_1.globalThisShim.clearTimeout;
496
511
  function installTimerFunctions(obj, opts) {
497
512
  if (opts.useNativeTimers) {
498
- obj.setTimeoutFn = NATIVE_SET_TIMEOUT.bind(globalThis_js_1.globalThisShim);
499
- obj.clearTimeoutFn = NATIVE_CLEAR_TIMEOUT.bind(globalThis_js_1.globalThisShim);
513
+ obj.setTimeoutFn = NATIVE_SET_TIMEOUT.bind(globals_node_js_1.globalThisShim);
514
+ obj.clearTimeoutFn = NATIVE_CLEAR_TIMEOUT.bind(globals_node_js_1.globalThisShim);
500
515
  } else {
501
- obj.setTimeoutFn = globalThis_js_1.globalThisShim.setTimeout.bind(globalThis_js_1.globalThisShim);
502
- obj.clearTimeoutFn = globalThis_js_1.globalThisShim.clearTimeout.bind(globalThis_js_1.globalThisShim);
516
+ obj.setTimeoutFn = globals_node_js_1.globalThisShim.setTimeout.bind(globals_node_js_1.globalThisShim);
517
+ obj.clearTimeoutFn = globals_node_js_1.globalThisShim.clearTimeout.bind(globals_node_js_1.globalThisShim);
503
518
  }
504
519
  }
505
520
  __name(installTimerFunctions, "installTimerFunctions");
506
- exports.installTimerFunctions = installTimerFunctions;
507
521
  var BASE64_OVERHEAD = 1.33;
508
522
  function byteLength(obj) {
509
523
  if (typeof obj === "string") {
@@ -512,7 +526,6 @@ var require_util = __commonJS({
512
526
  return Math.ceil((obj.byteLength || obj.size) * BASE64_OVERHEAD);
513
527
  }
514
528
  __name(byteLength, "byteLength");
515
- exports.byteLength = byteLength;
516
529
  function utf8Length(str) {
517
530
  let c = 0, length = 0;
518
531
  for (let i = 0, l = str.length; i < l; i++) {
@@ -531,6 +544,42 @@ var require_util = __commonJS({
531
544
  return length;
532
545
  }
533
546
  __name(utf8Length, "utf8Length");
547
+ function randomString() {
548
+ return Date.now().toString(36).substring(3) + Math.random().toString(36).substring(2, 5);
549
+ }
550
+ __name(randomString, "randomString");
551
+ }
552
+ });
553
+
554
+ // node_modules/engine.io-client/build/cjs/contrib/parseqs.js
555
+ var require_parseqs = __commonJS({
556
+ "node_modules/engine.io-client/build/cjs/contrib/parseqs.js"(exports) {
557
+ "use strict";
558
+ Object.defineProperty(exports, "__esModule", { value: true });
559
+ exports.encode = encode;
560
+ exports.decode = decode;
561
+ function encode(obj) {
562
+ let str = "";
563
+ for (let i in obj) {
564
+ if (obj.hasOwnProperty(i)) {
565
+ if (str.length)
566
+ str += "&";
567
+ str += encodeURIComponent(i) + "=" + encodeURIComponent(obj[i]);
568
+ }
569
+ }
570
+ return str;
571
+ }
572
+ __name(encode, "encode");
573
+ function decode(qs) {
574
+ let qry = {};
575
+ let pairs = qs.split("&");
576
+ for (let i = 0, l = pairs.length; i < l; i++) {
577
+ let pair = pairs[i].split("=");
578
+ qry[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);
579
+ }
580
+ return qry;
581
+ }
582
+ __name(decode, "decode");
534
583
  }
535
584
  });
536
585
 
@@ -1003,39 +1052,6 @@ var require_browser = __commonJS({
1003
1052
  }
1004
1053
  });
1005
1054
 
1006
- // node_modules/engine.io-client/build/cjs/contrib/parseqs.js
1007
- var require_parseqs = __commonJS({
1008
- "node_modules/engine.io-client/build/cjs/contrib/parseqs.js"(exports) {
1009
- "use strict";
1010
- Object.defineProperty(exports, "__esModule", { value: true });
1011
- exports.decode = exports.encode = void 0;
1012
- function encode(obj) {
1013
- let str = "";
1014
- for (let i in obj) {
1015
- if (obj.hasOwnProperty(i)) {
1016
- if (str.length)
1017
- str += "&";
1018
- str += encodeURIComponent(i) + "=" + encodeURIComponent(obj[i]);
1019
- }
1020
- }
1021
- return str;
1022
- }
1023
- __name(encode, "encode");
1024
- exports.encode = encode;
1025
- function decode(qs) {
1026
- let qry = {};
1027
- let pairs = qs.split("&");
1028
- for (let i = 0, l = pairs.length; i < l; i++) {
1029
- let pair = pairs[i].split("=");
1030
- qry[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1]);
1031
- }
1032
- return qry;
1033
- }
1034
- __name(decode, "decode");
1035
- exports.decode = decode;
1036
- }
1037
- });
1038
-
1039
1055
  // node_modules/engine.io-client/build/cjs/transport.js
1040
1056
  var require_transport = __commonJS({
1041
1057
  "node_modules/engine.io-client/build/cjs/transport.js"(exports) {
@@ -1048,8 +1064,8 @@ var require_transport = __commonJS({
1048
1064
  var engine_io_parser_1 = require_cjs();
1049
1065
  var component_emitter_1 = require_cjs2();
1050
1066
  var util_js_1 = require_util();
1051
- var debug_1 = __importDefault(require_browser());
1052
1067
  var parseqs_js_1 = require_parseqs();
1068
+ var debug_1 = __importDefault(require_browser());
1053
1069
  var debug = (0, debug_1.default)("engine.io-client:transport");
1054
1070
  var TransportError = class extends Error {
1055
1071
  static {
@@ -1080,6 +1096,7 @@ var require_transport = __commonJS({
1080
1096
  this.opts = opts;
1081
1097
  this.query = opts.query;
1082
1098
  this.socket = opts.socket;
1099
+ this.supportsBinary = !opts.forceBase64;
1083
1100
  }
1084
1101
  /**
1085
1102
  * Emits an error.
@@ -1191,97 +1208,6 @@ var require_transport = __commonJS({
1191
1208
  }
1192
1209
  });
1193
1210
 
1194
- // node_modules/engine.io-client/build/cjs/contrib/yeast.js
1195
- var require_yeast = __commonJS({
1196
- "node_modules/engine.io-client/build/cjs/contrib/yeast.js"(exports) {
1197
- "use strict";
1198
- Object.defineProperty(exports, "__esModule", { value: true });
1199
- exports.yeast = exports.decode = exports.encode = void 0;
1200
- var alphabet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split("");
1201
- var length = 64;
1202
- var map = {};
1203
- var seed = 0;
1204
- var i = 0;
1205
- var prev;
1206
- function encode(num) {
1207
- let encoded = "";
1208
- do {
1209
- encoded = alphabet[num % length] + encoded;
1210
- num = Math.floor(num / length);
1211
- } while (num > 0);
1212
- return encoded;
1213
- }
1214
- __name(encode, "encode");
1215
- exports.encode = encode;
1216
- function decode(str) {
1217
- let decoded = 0;
1218
- for (i = 0; i < str.length; i++) {
1219
- decoded = decoded * length + map[str.charAt(i)];
1220
- }
1221
- return decoded;
1222
- }
1223
- __name(decode, "decode");
1224
- exports.decode = decode;
1225
- function yeast() {
1226
- const now = encode(+/* @__PURE__ */ new Date());
1227
- if (now !== prev)
1228
- return seed = 0, prev = now;
1229
- return now + "." + encode(seed++);
1230
- }
1231
- __name(yeast, "yeast");
1232
- exports.yeast = yeast;
1233
- for (; i < length; i++)
1234
- map[alphabet[i]] = i;
1235
- }
1236
- });
1237
-
1238
- // node_modules/engine.io-client/build/cjs/contrib/has-cors.js
1239
- var require_has_cors = __commonJS({
1240
- "node_modules/engine.io-client/build/cjs/contrib/has-cors.js"(exports) {
1241
- "use strict";
1242
- Object.defineProperty(exports, "__esModule", { value: true });
1243
- exports.hasCORS = void 0;
1244
- var value = false;
1245
- try {
1246
- value = typeof XMLHttpRequest !== "undefined" && "withCredentials" in new XMLHttpRequest();
1247
- } catch (err) {
1248
- }
1249
- exports.hasCORS = value;
1250
- }
1251
- });
1252
-
1253
- // node_modules/engine.io-client/build/cjs/transports/xmlhttprequest.browser.js
1254
- var require_xmlhttprequest_browser = __commonJS({
1255
- "node_modules/engine.io-client/build/cjs/transports/xmlhttprequest.browser.js"(exports) {
1256
- "use strict";
1257
- Object.defineProperty(exports, "__esModule", { value: true });
1258
- exports.createCookieJar = exports.XHR = void 0;
1259
- var has_cors_js_1 = require_has_cors();
1260
- var globalThis_js_1 = require_globalThis_browser();
1261
- function XHR(opts) {
1262
- const xdomain = opts.xdomain;
1263
- try {
1264
- if ("undefined" !== typeof XMLHttpRequest && (!xdomain || has_cors_js_1.hasCORS)) {
1265
- return new XMLHttpRequest();
1266
- }
1267
- } catch (e) {
1268
- }
1269
- if (!xdomain) {
1270
- try {
1271
- return new globalThis_js_1.globalThisShim[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP");
1272
- } catch (e) {
1273
- }
1274
- }
1275
- }
1276
- __name(XHR, "XHR");
1277
- exports.XHR = XHR;
1278
- function createCookieJar() {
1279
- }
1280
- __name(createCookieJar, "createCookieJar");
1281
- exports.createCookieJar = createCookieJar;
1282
- }
1283
- });
1284
-
1285
1211
  // node_modules/engine.io-client/build/cjs/transports/polling.js
1286
1212
  var require_polling = __commonJS({
1287
1213
  "node_modules/engine.io-client/build/cjs/transports/polling.js"(exports) {
@@ -1290,51 +1216,19 @@ var require_polling = __commonJS({
1290
1216
  return mod && mod.__esModule ? mod : { "default": mod };
1291
1217
  };
1292
1218
  Object.defineProperty(exports, "__esModule", { value: true });
1293
- exports.Request = exports.Polling = void 0;
1219
+ exports.Polling = void 0;
1294
1220
  var transport_js_1 = require_transport();
1295
- var debug_1 = __importDefault(require_browser());
1296
- var yeast_js_1 = require_yeast();
1297
- var engine_io_parser_1 = require_cjs();
1298
- var xmlhttprequest_js_1 = require_xmlhttprequest_browser();
1299
- var component_emitter_1 = require_cjs2();
1300
1221
  var util_js_1 = require_util();
1301
- var globalThis_js_1 = require_globalThis_browser();
1222
+ var engine_io_parser_1 = require_cjs();
1223
+ var debug_1 = __importDefault(require_browser());
1302
1224
  var debug = (0, debug_1.default)("engine.io-client:polling");
1303
- function empty() {
1304
- }
1305
- __name(empty, "empty");
1306
- var hasXHR2 = function() {
1307
- const xhr = new xmlhttprequest_js_1.XHR({
1308
- xdomain: false
1309
- });
1310
- return null != xhr.responseType;
1311
- }();
1312
1225
  var Polling = class extends transport_js_1.Transport {
1313
1226
  static {
1314
1227
  __name(this, "Polling");
1315
1228
  }
1316
- /**
1317
- * XHR Polling constructor.
1318
- *
1319
- * @param {Object} opts
1320
- * @package
1321
- */
1322
- constructor(opts) {
1323
- super(opts);
1324
- this.polling = false;
1325
- if (typeof location !== "undefined") {
1326
- const isSSL = "https:" === location.protocol;
1327
- let port = location.port;
1328
- if (!port) {
1329
- port = isSSL ? "443" : "80";
1330
- }
1331
- this.xd = typeof location !== "undefined" && opts.hostname !== location.hostname || port !== opts.port;
1332
- }
1333
- const forceBase64 = opts && opts.forceBase64;
1334
- this.supportsBinary = hasXHR2 && !forceBase64;
1335
- if (this.opts.withCredentials) {
1336
- this.cookieJar = (0, xmlhttprequest_js_1.createCookieJar)();
1337
- }
1229
+ constructor() {
1230
+ super(...arguments);
1231
+ this._polling = false;
1338
1232
  }
1339
1233
  get name() {
1340
1234
  return "polling";
@@ -1346,7 +1240,7 @@ var require_polling = __commonJS({
1346
1240
  * @protected
1347
1241
  */
1348
1242
  doOpen() {
1349
- this.poll();
1243
+ this._poll();
1350
1244
  }
1351
1245
  /**
1352
1246
  * Pauses polling.
@@ -1361,9 +1255,9 @@ var require_polling = __commonJS({
1361
1255
  this.readyState = "paused";
1362
1256
  onPause();
1363
1257
  }, "pause");
1364
- if (this.polling || !this.writable) {
1258
+ if (this._polling || !this.writable) {
1365
1259
  let total = 0;
1366
- if (this.polling) {
1260
+ if (this._polling) {
1367
1261
  debug("we are currently polling - waiting to pause");
1368
1262
  total++;
1369
1263
  this.once("pollComplete", function() {
@@ -1388,9 +1282,9 @@ var require_polling = __commonJS({
1388
1282
  *
1389
1283
  * @private
1390
1284
  */
1391
- poll() {
1285
+ _poll() {
1392
1286
  debug("polling");
1393
- this.polling = true;
1287
+ this._polling = true;
1394
1288
  this.doPoll();
1395
1289
  this.emitReserved("poll");
1396
1290
  }
@@ -1413,10 +1307,10 @@ var require_polling = __commonJS({
1413
1307
  }, "callback");
1414
1308
  (0, engine_io_parser_1.decodePayload)(data, this.socket.binaryType).forEach(callback);
1415
1309
  if ("closed" !== this.readyState) {
1416
- this.polling = false;
1310
+ this._polling = false;
1417
1311
  this.emitReserved("pollComplete");
1418
1312
  if ("open" === this.readyState) {
1419
- this.poll();
1313
+ this._poll();
1420
1314
  } else {
1421
1315
  debug('ignoring poll - transport state "%s"', this.readyState);
1422
1316
  }
@@ -1464,22 +1358,72 @@ var require_polling = __commonJS({
1464
1358
  const schema = this.opts.secure ? "https" : "http";
1465
1359
  const query = this.query || {};
1466
1360
  if (false !== this.opts.timestampRequests) {
1467
- query[this.opts.timestampParam] = (0, yeast_js_1.yeast)();
1361
+ query[this.opts.timestampParam] = (0, util_js_1.randomString)();
1468
1362
  }
1469
1363
  if (!this.supportsBinary && !query.sid) {
1470
1364
  query.b64 = 1;
1471
1365
  }
1472
1366
  return this.createUri(schema, query);
1473
1367
  }
1368
+ };
1369
+ exports.Polling = Polling;
1370
+ }
1371
+ });
1372
+
1373
+ // node_modules/engine.io-client/build/cjs/contrib/has-cors.js
1374
+ var require_has_cors = __commonJS({
1375
+ "node_modules/engine.io-client/build/cjs/contrib/has-cors.js"(exports) {
1376
+ "use strict";
1377
+ Object.defineProperty(exports, "__esModule", { value: true });
1378
+ exports.hasCORS = void 0;
1379
+ var value = false;
1380
+ try {
1381
+ value = typeof XMLHttpRequest !== "undefined" && "withCredentials" in new XMLHttpRequest();
1382
+ } catch (err) {
1383
+ }
1384
+ exports.hasCORS = value;
1385
+ }
1386
+ });
1387
+
1388
+ // node_modules/engine.io-client/build/cjs/transports/polling-xhr.js
1389
+ var require_polling_xhr = __commonJS({
1390
+ "node_modules/engine.io-client/build/cjs/transports/polling-xhr.js"(exports) {
1391
+ "use strict";
1392
+ var __importDefault = exports && exports.__importDefault || function(mod) {
1393
+ return mod && mod.__esModule ? mod : { "default": mod };
1394
+ };
1395
+ Object.defineProperty(exports, "__esModule", { value: true });
1396
+ exports.XHR = exports.Request = exports.BaseXHR = void 0;
1397
+ var polling_js_1 = require_polling();
1398
+ var component_emitter_1 = require_cjs2();
1399
+ var util_js_1 = require_util();
1400
+ var globals_node_js_1 = require_globals();
1401
+ var has_cors_js_1 = require_has_cors();
1402
+ var debug_1 = __importDefault(require_browser());
1403
+ var debug = (0, debug_1.default)("engine.io-client:polling");
1404
+ function empty() {
1405
+ }
1406
+ __name(empty, "empty");
1407
+ var BaseXHR = class extends polling_js_1.Polling {
1408
+ static {
1409
+ __name(this, "BaseXHR");
1410
+ }
1474
1411
  /**
1475
- * Creates a request.
1412
+ * XHR Polling constructor.
1476
1413
  *
1477
- * @param {String} method
1478
- * @private
1414
+ * @param {Object} opts
1415
+ * @package
1479
1416
  */
1480
- request(opts = {}) {
1481
- Object.assign(opts, { xd: this.xd, cookieJar: this.cookieJar }, this.opts);
1482
- return new Request(this.uri(), opts);
1417
+ constructor(opts) {
1418
+ super(opts);
1419
+ if (typeof location !== "undefined") {
1420
+ const isSSL = "https:" === location.protocol;
1421
+ let port = location.port;
1422
+ if (!port) {
1423
+ port = isSSL ? "443" : "80";
1424
+ }
1425
+ this.xd = typeof location !== "undefined" && opts.hostname !== location.hostname || port !== opts.port;
1426
+ }
1483
1427
  }
1484
1428
  /**
1485
1429
  * Sends data.
@@ -1513,7 +1457,7 @@ var require_polling = __commonJS({
1513
1457
  this.pollXhr = req;
1514
1458
  }
1515
1459
  };
1516
- exports.Polling = Polling;
1460
+ exports.BaseXHR = BaseXHR;
1517
1461
  var Request = class _Request extends component_emitter_1.Emitter {
1518
1462
  static {
1519
1463
  __name(this, "Request");
@@ -1524,40 +1468,41 @@ var require_polling = __commonJS({
1524
1468
  * @param {Object} options
1525
1469
  * @package
1526
1470
  */
1527
- constructor(uri, opts) {
1471
+ constructor(createRequest, uri, opts) {
1528
1472
  super();
1473
+ this.createRequest = createRequest;
1529
1474
  (0, util_js_1.installTimerFunctions)(this, opts);
1530
- this.opts = opts;
1531
- this.method = opts.method || "GET";
1532
- this.uri = uri;
1533
- this.data = void 0 !== opts.data ? opts.data : null;
1534
- this.create();
1475
+ this._opts = opts;
1476
+ this._method = opts.method || "GET";
1477
+ this._uri = uri;
1478
+ this._data = void 0 !== opts.data ? opts.data : null;
1479
+ this._create();
1535
1480
  }
1536
1481
  /**
1537
1482
  * Creates the XHR object and sends the request.
1538
1483
  *
1539
1484
  * @private
1540
1485
  */
1541
- create() {
1486
+ _create() {
1542
1487
  var _a;
1543
- const opts = (0, util_js_1.pick)(this.opts, "agent", "pfx", "key", "passphrase", "cert", "ca", "ciphers", "rejectUnauthorized", "autoUnref");
1544
- opts.xdomain = !!this.opts.xd;
1545
- const xhr = this.xhr = new xmlhttprequest_js_1.XHR(opts);
1488
+ const opts = (0, util_js_1.pick)(this._opts, "agent", "pfx", "key", "passphrase", "cert", "ca", "ciphers", "rejectUnauthorized", "autoUnref");
1489
+ opts.xdomain = !!this._opts.xd;
1490
+ const xhr = this._xhr = this.createRequest(opts);
1546
1491
  try {
1547
- debug("xhr open %s: %s", this.method, this.uri);
1548
- xhr.open(this.method, this.uri, true);
1492
+ debug("xhr open %s: %s", this._method, this._uri);
1493
+ xhr.open(this._method, this._uri, true);
1549
1494
  try {
1550
- if (this.opts.extraHeaders) {
1495
+ if (this._opts.extraHeaders) {
1551
1496
  xhr.setDisableHeaderCheck && xhr.setDisableHeaderCheck(true);
1552
- for (let i in this.opts.extraHeaders) {
1553
- if (this.opts.extraHeaders.hasOwnProperty(i)) {
1554
- xhr.setRequestHeader(i, this.opts.extraHeaders[i]);
1497
+ for (let i in this._opts.extraHeaders) {
1498
+ if (this._opts.extraHeaders.hasOwnProperty(i)) {
1499
+ xhr.setRequestHeader(i, this._opts.extraHeaders[i]);
1555
1500
  }
1556
1501
  }
1557
1502
  }
1558
1503
  } catch (e) {
1559
1504
  }
1560
- if ("POST" === this.method) {
1505
+ if ("POST" === this._method) {
1561
1506
  try {
1562
1507
  xhr.setRequestHeader("Content-type", "text/plain;charset=UTF-8");
1563
1508
  } catch (e) {
@@ -1567,39 +1512,42 @@ var require_polling = __commonJS({
1567
1512
  xhr.setRequestHeader("Accept", "*/*");
1568
1513
  } catch (e) {
1569
1514
  }
1570
- (_a = this.opts.cookieJar) === null || _a === void 0 ? void 0 : _a.addCookies(xhr);
1515
+ (_a = this._opts.cookieJar) === null || _a === void 0 ? void 0 : _a.addCookies(xhr);
1571
1516
  if ("withCredentials" in xhr) {
1572
- xhr.withCredentials = this.opts.withCredentials;
1517
+ xhr.withCredentials = this._opts.withCredentials;
1573
1518
  }
1574
- if (this.opts.requestTimeout) {
1575
- xhr.timeout = this.opts.requestTimeout;
1519
+ if (this._opts.requestTimeout) {
1520
+ xhr.timeout = this._opts.requestTimeout;
1576
1521
  }
1577
1522
  xhr.onreadystatechange = () => {
1578
1523
  var _a2;
1579
1524
  if (xhr.readyState === 3) {
1580
- (_a2 = this.opts.cookieJar) === null || _a2 === void 0 ? void 0 : _a2.parseCookies(xhr);
1525
+ (_a2 = this._opts.cookieJar) === null || _a2 === void 0 ? void 0 : _a2.parseCookies(
1526
+ // @ts-ignore
1527
+ xhr.getResponseHeader("set-cookie")
1528
+ );
1581
1529
  }
1582
1530
  if (4 !== xhr.readyState)
1583
1531
  return;
1584
1532
  if (200 === xhr.status || 1223 === xhr.status) {
1585
- this.onLoad();
1533
+ this._onLoad();
1586
1534
  } else {
1587
1535
  this.setTimeoutFn(() => {
1588
- this.onError(typeof xhr.status === "number" ? xhr.status : 0);
1536
+ this._onError(typeof xhr.status === "number" ? xhr.status : 0);
1589
1537
  }, 0);
1590
1538
  }
1591
1539
  };
1592
- debug("xhr data %s", this.data);
1593
- xhr.send(this.data);
1540
+ debug("xhr data %s", this._data);
1541
+ xhr.send(this._data);
1594
1542
  } catch (e) {
1595
1543
  this.setTimeoutFn(() => {
1596
- this.onError(e);
1544
+ this._onError(e);
1597
1545
  }, 0);
1598
1546
  return;
1599
1547
  }
1600
1548
  if (typeof document !== "undefined") {
1601
- this.index = _Request.requestsCount++;
1602
- _Request.requests[this.index] = this;
1549
+ this._index = _Request.requestsCount++;
1550
+ _Request.requests[this._index] = this;
1603
1551
  }
1604
1552
  }
1605
1553
  /**
@@ -1607,42 +1555,42 @@ var require_polling = __commonJS({
1607
1555
  *
1608
1556
  * @private
1609
1557
  */
1610
- onError(err) {
1611
- this.emitReserved("error", err, this.xhr);
1612
- this.cleanup(true);
1558
+ _onError(err) {
1559
+ this.emitReserved("error", err, this._xhr);
1560
+ this._cleanup(true);
1613
1561
  }
1614
1562
  /**
1615
1563
  * Cleans up house.
1616
1564
  *
1617
1565
  * @private
1618
1566
  */
1619
- cleanup(fromError) {
1620
- if ("undefined" === typeof this.xhr || null === this.xhr) {
1567
+ _cleanup(fromError) {
1568
+ if ("undefined" === typeof this._xhr || null === this._xhr) {
1621
1569
  return;
1622
1570
  }
1623
- this.xhr.onreadystatechange = empty;
1571
+ this._xhr.onreadystatechange = empty;
1624
1572
  if (fromError) {
1625
1573
  try {
1626
- this.xhr.abort();
1574
+ this._xhr.abort();
1627
1575
  } catch (e) {
1628
1576
  }
1629
1577
  }
1630
1578
  if (typeof document !== "undefined") {
1631
- delete _Request.requests[this.index];
1579
+ delete _Request.requests[this._index];
1632
1580
  }
1633
- this.xhr = null;
1581
+ this._xhr = null;
1634
1582
  }
1635
1583
  /**
1636
1584
  * Called upon load.
1637
1585
  *
1638
1586
  * @private
1639
1587
  */
1640
- onLoad() {
1641
- const data = this.xhr.responseText;
1588
+ _onLoad() {
1589
+ const data = this._xhr.responseText;
1642
1590
  if (data !== null) {
1643
1591
  this.emitReserved("data", data);
1644
1592
  this.emitReserved("success");
1645
- this.cleanup();
1593
+ this._cleanup();
1646
1594
  }
1647
1595
  }
1648
1596
  /**
@@ -1651,7 +1599,7 @@ var require_polling = __commonJS({
1651
1599
  * @package
1652
1600
  */
1653
1601
  abort() {
1654
- this.cleanup();
1602
+ this._cleanup();
1655
1603
  }
1656
1604
  };
1657
1605
  exports.Request = Request;
@@ -1661,7 +1609,7 @@ var require_polling = __commonJS({
1661
1609
  if (typeof attachEvent === "function") {
1662
1610
  attachEvent("onunload", unloadHandler);
1663
1611
  } else if (typeof addEventListener === "function") {
1664
- const terminationEvent = "onpagehide" in globalThis_js_1.globalThisShim ? "pagehide" : "unload";
1612
+ const terminationEvent = "onpagehide" in globals_node_js_1.globalThisShim ? "pagehide" : "unload";
1665
1613
  addEventListener(terminationEvent, unloadHandler, false);
1666
1614
  }
1667
1615
  }
@@ -1673,27 +1621,43 @@ var require_polling = __commonJS({
1673
1621
  }
1674
1622
  }
1675
1623
  __name(unloadHandler, "unloadHandler");
1676
- }
1677
- });
1678
-
1679
- // node_modules/engine.io-client/build/cjs/transports/websocket-constructor.browser.js
1680
- var require_websocket_constructor_browser = __commonJS({
1681
- "node_modules/engine.io-client/build/cjs/transports/websocket-constructor.browser.js"(exports) {
1682
- "use strict";
1683
- Object.defineProperty(exports, "__esModule", { value: true });
1684
- exports.defaultBinaryType = exports.usingBrowserWebSocket = exports.WebSocket = exports.nextTick = void 0;
1685
- var globalThis_js_1 = require_globalThis_browser();
1686
- exports.nextTick = (() => {
1687
- const isPromiseAvailable = typeof Promise === "function" && typeof Promise.resolve === "function";
1688
- if (isPromiseAvailable) {
1689
- return (cb) => Promise.resolve().then(cb);
1690
- } else {
1691
- return (cb, setTimeoutFn) => setTimeoutFn(cb, 0);
1624
+ var hasXHR2 = function() {
1625
+ const xhr = newRequest({
1626
+ xdomain: false
1627
+ });
1628
+ return xhr && xhr.responseType !== null;
1629
+ }();
1630
+ var XHR = class extends BaseXHR {
1631
+ static {
1632
+ __name(this, "XHR");
1692
1633
  }
1693
- })();
1694
- exports.WebSocket = globalThis_js_1.globalThisShim.WebSocket || globalThis_js_1.globalThisShim.MozWebSocket;
1695
- exports.usingBrowserWebSocket = true;
1696
- exports.defaultBinaryType = "arraybuffer";
1634
+ constructor(opts) {
1635
+ super(opts);
1636
+ const forceBase64 = opts && opts.forceBase64;
1637
+ this.supportsBinary = hasXHR2 && !forceBase64;
1638
+ }
1639
+ request(opts = {}) {
1640
+ Object.assign(opts, { xd: this.xd }, this.opts);
1641
+ return new Request(newRequest, this.uri(), opts);
1642
+ }
1643
+ };
1644
+ exports.XHR = XHR;
1645
+ function newRequest(opts) {
1646
+ const xdomain = opts.xdomain;
1647
+ try {
1648
+ if ("undefined" !== typeof XMLHttpRequest && (!xdomain || has_cors_js_1.hasCORS)) {
1649
+ return new XMLHttpRequest();
1650
+ }
1651
+ } catch (e) {
1652
+ }
1653
+ if (!xdomain) {
1654
+ try {
1655
+ return new globals_node_js_1.globalThisShim[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP");
1656
+ } catch (e) {
1657
+ }
1658
+ }
1659
+ }
1660
+ __name(newRequest, "newRequest");
1697
1661
  }
1698
1662
  });
1699
1663
 
@@ -1705,36 +1669,22 @@ var require_websocket = __commonJS({
1705
1669
  return mod && mod.__esModule ? mod : { "default": mod };
1706
1670
  };
1707
1671
  Object.defineProperty(exports, "__esModule", { value: true });
1708
- exports.WS = void 0;
1672
+ exports.WS = exports.BaseWS = void 0;
1709
1673
  var transport_js_1 = require_transport();
1710
- var yeast_js_1 = require_yeast();
1711
1674
  var util_js_1 = require_util();
1712
- var websocket_constructor_js_1 = require_websocket_constructor_browser();
1713
- var debug_1 = __importDefault(require_browser());
1714
1675
  var engine_io_parser_1 = require_cjs();
1676
+ var globals_node_js_1 = require_globals();
1677
+ var debug_1 = __importDefault(require_browser());
1715
1678
  var debug = (0, debug_1.default)("engine.io-client:websocket");
1716
1679
  var isReactNative = typeof navigator !== "undefined" && typeof navigator.product === "string" && navigator.product.toLowerCase() === "reactnative";
1717
- var WS = class extends transport_js_1.Transport {
1680
+ var BaseWS = class extends transport_js_1.Transport {
1718
1681
  static {
1719
- __name(this, "WS");
1720
- }
1721
- /**
1722
- * WebSocket transport constructor.
1723
- *
1724
- * @param {Object} opts - connection options
1725
- * @protected
1726
- */
1727
- constructor(opts) {
1728
- super(opts);
1729
- this.supportsBinary = !opts.forceBase64;
1682
+ __name(this, "BaseWS");
1730
1683
  }
1731
1684
  get name() {
1732
1685
  return "websocket";
1733
1686
  }
1734
1687
  doOpen() {
1735
- if (!this.check()) {
1736
- return;
1737
- }
1738
1688
  const uri = this.uri();
1739
1689
  const protocols = this.opts.protocols;
1740
1690
  const opts = isReactNative ? {} : (0, util_js_1.pick)(this.opts, "agent", "perMessageDeflate", "pfx", "key", "passphrase", "cert", "ca", "ciphers", "rejectUnauthorized", "localAddress", "protocolVersion", "origin", "maxPayload", "family", "checkServerIdentity");
@@ -1742,7 +1692,7 @@ var require_websocket = __commonJS({
1742
1692
  opts.headers = this.opts.extraHeaders;
1743
1693
  }
1744
1694
  try {
1745
- this.ws = websocket_constructor_js_1.usingBrowserWebSocket && !isReactNative ? protocols ? new websocket_constructor_js_1.WebSocket(uri, protocols) : new websocket_constructor_js_1.WebSocket(uri) : new websocket_constructor_js_1.WebSocket(uri, protocols, opts);
1695
+ this.ws = this.createSocket(uri, protocols, opts);
1746
1696
  } catch (err) {
1747
1697
  return this.emitReserved("error", err);
1748
1698
  }
@@ -1774,32 +1724,13 @@ var require_websocket = __commonJS({
1774
1724
  const packet = packets[i];
1775
1725
  const lastPacket = i === packets.length - 1;
1776
1726
  (0, engine_io_parser_1.encodePacket)(packet, this.supportsBinary, (data) => {
1777
- const opts = {};
1778
- if (!websocket_constructor_js_1.usingBrowserWebSocket) {
1779
- if (packet.options) {
1780
- opts.compress = packet.options.compress;
1781
- }
1782
- if (this.opts.perMessageDeflate) {
1783
- const len = (
1784
- // @ts-ignore
1785
- "string" === typeof data ? Buffer.byteLength(data) : data.length
1786
- );
1787
- if (len < this.opts.perMessageDeflate.threshold) {
1788
- opts.compress = false;
1789
- }
1790
- }
1791
- }
1792
1727
  try {
1793
- if (websocket_constructor_js_1.usingBrowserWebSocket) {
1794
- this.ws.send(data);
1795
- } else {
1796
- this.ws.send(data, opts);
1797
- }
1728
+ this.doWrite(packet, data);
1798
1729
  } catch (e) {
1799
1730
  debug("websocket closed before onclose event");
1800
1731
  }
1801
1732
  if (lastPacket) {
1802
- (0, websocket_constructor_js_1.nextTick)(() => {
1733
+ (0, globals_node_js_1.nextTick)(() => {
1803
1734
  this.writable = true;
1804
1735
  this.emitReserved("drain");
1805
1736
  }, this.setTimeoutFn);
@@ -1809,6 +1740,8 @@ var require_websocket = __commonJS({
1809
1740
  }
1810
1741
  doClose() {
1811
1742
  if (typeof this.ws !== "undefined") {
1743
+ this.ws.onerror = () => {
1744
+ };
1812
1745
  this.ws.close();
1813
1746
  this.ws = null;
1814
1747
  }
@@ -1822,21 +1755,25 @@ var require_websocket = __commonJS({
1822
1755
  const schema = this.opts.secure ? "wss" : "ws";
1823
1756
  const query = this.query || {};
1824
1757
  if (this.opts.timestampRequests) {
1825
- query[this.opts.timestampParam] = (0, yeast_js_1.yeast)();
1758
+ query[this.opts.timestampParam] = (0, util_js_1.randomString)();
1826
1759
  }
1827
1760
  if (!this.supportsBinary) {
1828
1761
  query.b64 = 1;
1829
1762
  }
1830
1763
  return this.createUri(schema, query);
1831
1764
  }
1832
- /**
1833
- * Feature detection for WebSocket.
1834
- *
1835
- * @return {Boolean} whether this transport is available.
1836
- * @private
1837
- */
1838
- check() {
1839
- return !!websocket_constructor_js_1.WebSocket;
1765
+ };
1766
+ exports.BaseWS = BaseWS;
1767
+ var WebSocketCtor = globals_node_js_1.globalThisShim.WebSocket || globals_node_js_1.globalThisShim.MozWebSocket;
1768
+ var WS = class extends BaseWS {
1769
+ static {
1770
+ __name(this, "WS");
1771
+ }
1772
+ createSocket(uri, protocols, opts) {
1773
+ return !isReactNative ? protocols ? new WebSocketCtor(uri, protocols) : new WebSocketCtor(uri) : new WebSocketCtor(uri, protocols, opts);
1774
+ }
1775
+ doWrite(_packet, data) {
1776
+ this.ws.send(data);
1840
1777
  }
1841
1778
  };
1842
1779
  exports.WS = WS;
@@ -1853,7 +1790,7 @@ var require_webtransport = __commonJS({
1853
1790
  Object.defineProperty(exports, "__esModule", { value: true });
1854
1791
  exports.WT = void 0;
1855
1792
  var transport_js_1 = require_transport();
1856
- var websocket_constructor_js_1 = require_websocket_constructor_browser();
1793
+ var globals_node_js_1 = require_globals();
1857
1794
  var engine_io_parser_1 = require_cjs();
1858
1795
  var debug_1 = __importDefault(require_browser());
1859
1796
  var debug = (0, debug_1.default)("engine.io-client:webtransport");
@@ -1865,24 +1802,25 @@ var require_webtransport = __commonJS({
1865
1802
  return "webtransport";
1866
1803
  }
1867
1804
  doOpen() {
1868
- if (typeof WebTransport !== "function") {
1869
- return;
1805
+ try {
1806
+ this._transport = new WebTransport(this.createUri("https"), this.opts.transportOptions[this.name]);
1807
+ } catch (err) {
1808
+ return this.emitReserved("error", err);
1870
1809
  }
1871
- this.transport = new WebTransport(this.createUri("https"), this.opts.transportOptions[this.name]);
1872
- this.transport.closed.then(() => {
1810
+ this._transport.closed.then(() => {
1873
1811
  debug("transport closed gracefully");
1874
1812
  this.onClose();
1875
1813
  }).catch((err) => {
1876
1814
  debug("transport closed due to %s", err);
1877
1815
  this.onError("webtransport error", err);
1878
1816
  });
1879
- this.transport.ready.then(() => {
1880
- this.transport.createBidirectionalStream().then((stream) => {
1817
+ this._transport.ready.then(() => {
1818
+ this._transport.createBidirectionalStream().then((stream) => {
1881
1819
  const decoderStream = (0, engine_io_parser_1.createPacketDecoderStream)(Number.MAX_SAFE_INTEGER, this.socket.binaryType);
1882
1820
  const reader = stream.readable.pipeThrough(decoderStream).getReader();
1883
1821
  const encoderStream = (0, engine_io_parser_1.createPacketEncoderStream)();
1884
1822
  encoderStream.readable.pipeTo(stream.writable);
1885
- this.writer = encoderStream.writable.getWriter();
1823
+ this._writer = encoderStream.writable.getWriter();
1886
1824
  const read = /* @__PURE__ */ __name(() => {
1887
1825
  reader.read().then(({ done, value }) => {
1888
1826
  if (done) {
@@ -1901,7 +1839,7 @@ var require_webtransport = __commonJS({
1901
1839
  if (this.query.sid) {
1902
1840
  packet.data = `{"sid":"${this.query.sid}"}`;
1903
1841
  }
1904
- this.writer.write(packet).then(() => this.onOpen());
1842
+ this._writer.write(packet).then(() => this.onOpen());
1905
1843
  });
1906
1844
  });
1907
1845
  }
@@ -1910,9 +1848,9 @@ var require_webtransport = __commonJS({
1910
1848
  for (let i = 0; i < packets.length; i++) {
1911
1849
  const packet = packets[i];
1912
1850
  const lastPacket = i === packets.length - 1;
1913
- this.writer.write(packet).then(() => {
1851
+ this._writer.write(packet).then(() => {
1914
1852
  if (lastPacket) {
1915
- (0, websocket_constructor_js_1.nextTick)(() => {
1853
+ (0, globals_node_js_1.nextTick)(() => {
1916
1854
  this.writable = true;
1917
1855
  this.emitReserved("drain");
1918
1856
  }, this.setTimeoutFn);
@@ -1922,7 +1860,7 @@ var require_webtransport = __commonJS({
1922
1860
  }
1923
1861
  doClose() {
1924
1862
  var _a;
1925
- (_a = this.transport) === null || _a === void 0 ? void 0 : _a.close();
1863
+ (_a = this._transport) === null || _a === void 0 ? void 0 : _a.close();
1926
1864
  }
1927
1865
  };
1928
1866
  exports.WT = WT;
@@ -1935,13 +1873,13 @@ var require_transports = __commonJS({
1935
1873
  "use strict";
1936
1874
  Object.defineProperty(exports, "__esModule", { value: true });
1937
1875
  exports.transports = void 0;
1938
- var polling_js_1 = require_polling();
1939
- var websocket_js_1 = require_websocket();
1876
+ var polling_xhr_node_js_1 = require_polling_xhr();
1877
+ var websocket_node_js_1 = require_websocket();
1940
1878
  var webtransport_js_1 = require_webtransport();
1941
1879
  exports.transports = {
1942
- websocket: websocket_js_1.WS,
1880
+ websocket: websocket_node_js_1.WS,
1943
1881
  webtransport: webtransport_js_1.WT,
1944
- polling: polling_js_1.Polling
1882
+ polling: polling_xhr_node_js_1.XHR
1945
1883
  };
1946
1884
  }
1947
1885
  });
@@ -1951,7 +1889,7 @@ var require_parseuri = __commonJS({
1951
1889
  "node_modules/engine.io-client/build/cjs/contrib/parseuri.js"(exports) {
1952
1890
  "use strict";
1953
1891
  Object.defineProperty(exports, "__esModule", { value: true });
1954
- exports.parse = void 0;
1892
+ exports.parse = parse;
1955
1893
  var re = /^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/;
1956
1894
  var parts = [
1957
1895
  "source",
@@ -1970,7 +1908,7 @@ var require_parseuri = __commonJS({
1970
1908
  "anchor"
1971
1909
  ];
1972
1910
  function parse(str) {
1973
- if (str.length > 2e3) {
1911
+ if (str.length > 8e3) {
1974
1912
  throw "URI too long";
1975
1913
  }
1976
1914
  const src = str, b = str.indexOf("["), e = str.indexOf("]");
@@ -1992,7 +1930,6 @@ var require_parseuri = __commonJS({
1992
1930
  return uri;
1993
1931
  }
1994
1932
  __name(parse, "parse");
1995
- exports.parse = parse;
1996
1933
  function pathNames(obj, path) {
1997
1934
  const regx = /\/{2,9}/g, names = path.replace(regx, "/").split("/");
1998
1935
  if (path.slice(0, 1) == "/" || path.length === 0) {
@@ -2025,19 +1962,27 @@ var require_socket = __commonJS({
2025
1962
  return mod && mod.__esModule ? mod : { "default": mod };
2026
1963
  };
2027
1964
  Object.defineProperty(exports, "__esModule", { value: true });
2028
- exports.Socket = void 0;
1965
+ exports.Socket = exports.SocketWithUpgrade = exports.SocketWithoutUpgrade = void 0;
2029
1966
  var index_js_1 = require_transports();
2030
1967
  var util_js_1 = require_util();
2031
1968
  var parseqs_js_1 = require_parseqs();
2032
1969
  var parseuri_js_1 = require_parseuri();
2033
- var debug_1 = __importDefault(require_browser());
2034
1970
  var component_emitter_1 = require_cjs2();
2035
1971
  var engine_io_parser_1 = require_cjs();
2036
- var websocket_constructor_js_1 = require_websocket_constructor_browser();
1972
+ var globals_node_js_1 = require_globals();
1973
+ var debug_1 = __importDefault(require_browser());
2037
1974
  var debug = (0, debug_1.default)("engine.io-client:socket");
2038
- var Socket = class _Socket extends component_emitter_1.Emitter {
1975
+ var withEventListeners = typeof addEventListener === "function" && typeof removeEventListener === "function";
1976
+ var OFFLINE_EVENT_LISTENERS = [];
1977
+ if (withEventListeners) {
1978
+ addEventListener("offline", () => {
1979
+ debug("closing %d connection(s) because the network was lost", OFFLINE_EVENT_LISTENERS.length);
1980
+ OFFLINE_EVENT_LISTENERS.forEach((listener) => listener());
1981
+ }, false);
1982
+ }
1983
+ var SocketWithoutUpgrade = class _SocketWithoutUpgrade extends component_emitter_1.Emitter {
2039
1984
  static {
2040
- __name(this, "Socket");
1985
+ __name(this, "SocketWithoutUpgrade");
2041
1986
  }
2042
1987
  /**
2043
1988
  * Socket constructor.
@@ -2045,21 +1990,26 @@ var require_socket = __commonJS({
2045
1990
  * @param {String|Object} uri - uri or options
2046
1991
  * @param {Object} opts - options
2047
1992
  */
2048
- constructor(uri, opts = {}) {
1993
+ constructor(uri, opts) {
2049
1994
  super();
2050
- this.binaryType = websocket_constructor_js_1.defaultBinaryType;
1995
+ this.binaryType = globals_node_js_1.defaultBinaryType;
2051
1996
  this.writeBuffer = [];
1997
+ this._prevBufferLen = 0;
1998
+ this._pingInterval = -1;
1999
+ this._pingTimeout = -1;
2000
+ this._maxPayload = -1;
2001
+ this._pingTimeoutTime = Infinity;
2052
2002
  if (uri && "object" === typeof uri) {
2053
2003
  opts = uri;
2054
2004
  uri = null;
2055
2005
  }
2056
2006
  if (uri) {
2057
- uri = (0, parseuri_js_1.parse)(uri);
2058
- opts.hostname = uri.host;
2059
- opts.secure = uri.protocol === "https" || uri.protocol === "wss";
2060
- opts.port = uri.port;
2061
- if (uri.query)
2062
- opts.query = uri.query;
2007
+ const parsedUri = (0, parseuri_js_1.parse)(uri);
2008
+ opts.hostname = parsedUri.host;
2009
+ opts.secure = parsedUri.protocol === "https" || parsedUri.protocol === "wss";
2010
+ opts.port = parsedUri.port;
2011
+ if (parsedUri.query)
2012
+ opts.query = parsedUri.query;
2063
2013
  } else if (opts.host) {
2064
2014
  opts.hostname = (0, parseuri_js_1.parse)(opts.host).host;
2065
2015
  }
@@ -2070,13 +2020,13 @@ var require_socket = __commonJS({
2070
2020
  }
2071
2021
  this.hostname = opts.hostname || (typeof location !== "undefined" ? location.hostname : "localhost");
2072
2022
  this.port = opts.port || (typeof location !== "undefined" && location.port ? location.port : this.secure ? "443" : "80");
2073
- this.transports = opts.transports || [
2074
- "polling",
2075
- "websocket",
2076
- "webtransport"
2077
- ];
2078
- this.writeBuffer = [];
2079
- this.prevBufferLen = 0;
2023
+ this.transports = [];
2024
+ this._transportsByName = {};
2025
+ opts.transports.forEach((t) => {
2026
+ const transportName = t.prototype.name;
2027
+ this.transports.push(transportName);
2028
+ this._transportsByName[transportName] = t;
2029
+ });
2080
2030
  this.opts = Object.assign({
2081
2031
  path: "/engine.io",
2082
2032
  agent: false,
@@ -2096,200 +2046,86 @@ var require_socket = __commonJS({
2096
2046
  if (typeof this.opts.query === "string") {
2097
2047
  this.opts.query = (0, parseqs_js_1.decode)(this.opts.query);
2098
2048
  }
2099
- this.id = null;
2100
- this.upgrades = null;
2101
- this.pingInterval = null;
2102
- this.pingTimeout = null;
2103
- this.pingTimeoutTimer = null;
2104
- if (typeof addEventListener === "function") {
2049
+ if (withEventListeners) {
2105
2050
  if (this.opts.closeOnBeforeunload) {
2106
- this.beforeunloadEventListener = () => {
2051
+ this._beforeunloadEventListener = () => {
2107
2052
  if (this.transport) {
2108
2053
  this.transport.removeAllListeners();
2109
2054
  this.transport.close();
2110
2055
  }
2111
2056
  };
2112
- addEventListener("beforeunload", this.beforeunloadEventListener, false);
2057
+ addEventListener("beforeunload", this._beforeunloadEventListener, false);
2113
2058
  }
2114
2059
  if (this.hostname !== "localhost") {
2115
- this.offlineEventListener = () => {
2116
- this.onClose("transport close", {
2060
+ debug("adding listener for the 'offline' event");
2061
+ this._offlineEventListener = () => {
2062
+ this._onClose("transport close", {
2117
2063
  description: "network connection lost"
2118
2064
  });
2119
2065
  };
2120
- addEventListener("offline", this.offlineEventListener, false);
2121
- }
2122
- }
2123
- this.open();
2124
- }
2125
- /**
2126
- * Creates transport of the given type.
2127
- *
2128
- * @param {String} name - transport name
2129
- * @return {Transport}
2130
- * @private
2131
- */
2132
- createTransport(name) {
2133
- debug('creating transport "%s"', name);
2134
- const query = Object.assign({}, this.opts.query);
2135
- query.EIO = engine_io_parser_1.protocol;
2136
- query.transport = name;
2137
- if (this.id)
2138
- query.sid = this.id;
2139
- const opts = Object.assign({}, this.opts, {
2140
- query,
2141
- socket: this,
2142
- hostname: this.hostname,
2143
- secure: this.secure,
2144
- port: this.port
2145
- }, this.opts.transportOptions[name]);
2146
- debug("options: %j", opts);
2147
- return new index_js_1.transports[name](opts);
2148
- }
2149
- /**
2150
- * Initializes transport to use and starts probe.
2151
- *
2152
- * @private
2153
- */
2154
- open() {
2155
- let transport;
2156
- if (this.opts.rememberUpgrade && _Socket.priorWebsocketSuccess && this.transports.indexOf("websocket") !== -1) {
2157
- transport = "websocket";
2158
- } else if (0 === this.transports.length) {
2159
- this.setTimeoutFn(() => {
2160
- this.emitReserved("error", "No transports available");
2161
- }, 0);
2162
- return;
2163
- } else {
2164
- transport = this.transports[0];
2165
- }
2166
- this.readyState = "opening";
2167
- try {
2168
- transport = this.createTransport(transport);
2169
- } catch (e) {
2170
- debug("error while creating transport: %s", e);
2171
- this.transports.shift();
2172
- this.open();
2173
- return;
2174
- }
2175
- transport.open();
2176
- this.setTransport(transport);
2177
- }
2178
- /**
2179
- * Sets the current transport. Disables the existing one (if any).
2180
- *
2181
- * @private
2182
- */
2183
- setTransport(transport) {
2184
- debug("setting transport %s", transport.name);
2185
- if (this.transport) {
2186
- debug("clearing existing transport %s", this.transport.name);
2187
- this.transport.removeAllListeners();
2188
- }
2189
- this.transport = transport;
2190
- transport.on("drain", this.onDrain.bind(this)).on("packet", this.onPacket.bind(this)).on("error", this.onError.bind(this)).on("close", (reason) => this.onClose("transport close", reason));
2191
- }
2192
- /**
2193
- * Probes a transport.
2194
- *
2195
- * @param {String} name - transport name
2196
- * @private
2197
- */
2198
- probe(name) {
2199
- debug('probing transport "%s"', name);
2200
- let transport = this.createTransport(name);
2201
- let failed = false;
2202
- _Socket.priorWebsocketSuccess = false;
2203
- const onTransportOpen = /* @__PURE__ */ __name(() => {
2204
- if (failed)
2205
- return;
2206
- debug('probe transport "%s" opened', name);
2207
- transport.send([{ type: "ping", data: "probe" }]);
2208
- transport.once("packet", (msg) => {
2209
- if (failed)
2210
- return;
2211
- if ("pong" === msg.type && "probe" === msg.data) {
2212
- debug('probe transport "%s" pong', name);
2213
- this.upgrading = true;
2214
- this.emitReserved("upgrading", transport);
2215
- if (!transport)
2216
- return;
2217
- _Socket.priorWebsocketSuccess = "websocket" === transport.name;
2218
- debug('pausing current transport "%s"', this.transport.name);
2219
- this.transport.pause(() => {
2220
- if (failed)
2221
- return;
2222
- if ("closed" === this.readyState)
2223
- return;
2224
- debug("changing transport and sending upgrade packet");
2225
- cleanup();
2226
- this.setTransport(transport);
2227
- transport.send([{ type: "upgrade" }]);
2228
- this.emitReserved("upgrade", transport);
2229
- transport = null;
2230
- this.upgrading = false;
2231
- this.flush();
2232
- });
2233
- } else {
2234
- debug('probe transport "%s" failed', name);
2235
- const err = new Error("probe error");
2236
- err.transport = transport.name;
2237
- this.emitReserved("upgradeError", err);
2238
- }
2239
- });
2240
- }, "onTransportOpen");
2241
- function freezeTransport() {
2242
- if (failed)
2243
- return;
2244
- failed = true;
2245
- cleanup();
2246
- transport.close();
2247
- transport = null;
2248
- }
2249
- __name(freezeTransport, "freezeTransport");
2250
- const onerror = /* @__PURE__ */ __name((err) => {
2251
- const error = new Error("probe error: " + err);
2252
- error.transport = transport.name;
2253
- freezeTransport();
2254
- debug('probe transport "%s" failed because of error: %s', name, err);
2255
- this.emitReserved("upgradeError", error);
2256
- }, "onerror");
2257
- function onTransportClose() {
2258
- onerror("transport closed");
2259
- }
2260
- __name(onTransportClose, "onTransportClose");
2261
- function onclose() {
2262
- onerror("socket closed");
2263
- }
2264
- __name(onclose, "onclose");
2265
- function onupgrade(to) {
2266
- if (transport && to.name !== transport.name) {
2267
- debug('"%s" works - aborting "%s"', to.name, transport.name);
2268
- freezeTransport();
2269
- }
2270
- }
2271
- __name(onupgrade, "onupgrade");
2272
- const cleanup = /* @__PURE__ */ __name(() => {
2273
- transport.removeListener("open", onTransportOpen);
2274
- transport.removeListener("error", onerror);
2275
- transport.removeListener("close", onTransportClose);
2276
- this.off("close", onclose);
2277
- this.off("upgrading", onupgrade);
2278
- }, "cleanup");
2279
- transport.once("open", onTransportOpen);
2280
- transport.once("error", onerror);
2281
- transport.once("close", onTransportClose);
2282
- this.once("close", onclose);
2283
- this.once("upgrading", onupgrade);
2284
- if (this.upgrades.indexOf("webtransport") !== -1 && name !== "webtransport") {
2066
+ OFFLINE_EVENT_LISTENERS.push(this._offlineEventListener);
2067
+ }
2068
+ }
2069
+ if (this.opts.withCredentials) {
2070
+ this._cookieJar = (0, globals_node_js_1.createCookieJar)();
2071
+ }
2072
+ this._open();
2073
+ }
2074
+ /**
2075
+ * Creates transport of the given type.
2076
+ *
2077
+ * @param {String} name - transport name
2078
+ * @return {Transport}
2079
+ * @private
2080
+ */
2081
+ createTransport(name) {
2082
+ debug('creating transport "%s"', name);
2083
+ const query = Object.assign({}, this.opts.query);
2084
+ query.EIO = engine_io_parser_1.protocol;
2085
+ query.transport = name;
2086
+ if (this.id)
2087
+ query.sid = this.id;
2088
+ const opts = Object.assign({}, this.opts, {
2089
+ query,
2090
+ socket: this,
2091
+ hostname: this.hostname,
2092
+ secure: this.secure,
2093
+ port: this.port
2094
+ }, this.opts.transportOptions[name]);
2095
+ debug("options: %j", opts);
2096
+ return new this._transportsByName[name](opts);
2097
+ }
2098
+ /**
2099
+ * Initializes transport to use and starts probe.
2100
+ *
2101
+ * @private
2102
+ */
2103
+ _open() {
2104
+ if (this.transports.length === 0) {
2285
2105
  this.setTimeoutFn(() => {
2286
- if (!failed) {
2287
- transport.open();
2288
- }
2289
- }, 200);
2290
- } else {
2291
- transport.open();
2106
+ this.emitReserved("error", "No transports available");
2107
+ }, 0);
2108
+ return;
2109
+ }
2110
+ const transportName = this.opts.rememberUpgrade && _SocketWithoutUpgrade.priorWebsocketSuccess && this.transports.indexOf("websocket") !== -1 ? "websocket" : this.transports[0];
2111
+ this.readyState = "opening";
2112
+ const transport = this.createTransport(transportName);
2113
+ transport.open();
2114
+ this.setTransport(transport);
2115
+ }
2116
+ /**
2117
+ * Sets the current transport. Disables the existing one (if any).
2118
+ *
2119
+ * @private
2120
+ */
2121
+ setTransport(transport) {
2122
+ debug("setting transport %s", transport.name);
2123
+ if (this.transport) {
2124
+ debug("clearing existing transport %s", this.transport.name);
2125
+ this.transport.removeAllListeners();
2292
2126
  }
2127
+ this.transport = transport;
2128
+ transport.on("drain", this._onDrain.bind(this)).on("packet", this._onPacket.bind(this)).on("error", this._onError.bind(this)).on("close", (reason) => this._onClose("transport close", reason));
2293
2129
  }
2294
2130
  /**
2295
2131
  * Called when connection is deemed open.
@@ -2299,42 +2135,34 @@ var require_socket = __commonJS({
2299
2135
  onOpen() {
2300
2136
  debug("socket open");
2301
2137
  this.readyState = "open";
2302
- _Socket.priorWebsocketSuccess = "websocket" === this.transport.name;
2138
+ _SocketWithoutUpgrade.priorWebsocketSuccess = "websocket" === this.transport.name;
2303
2139
  this.emitReserved("open");
2304
2140
  this.flush();
2305
- if ("open" === this.readyState && this.opts.upgrade) {
2306
- debug("starting upgrade probes");
2307
- let i = 0;
2308
- const l = this.upgrades.length;
2309
- for (; i < l; i++) {
2310
- this.probe(this.upgrades[i]);
2311
- }
2312
- }
2313
2141
  }
2314
2142
  /**
2315
2143
  * Handles a packet.
2316
2144
  *
2317
2145
  * @private
2318
2146
  */
2319
- onPacket(packet) {
2147
+ _onPacket(packet) {
2320
2148
  if ("opening" === this.readyState || "open" === this.readyState || "closing" === this.readyState) {
2321
2149
  debug('socket receive: type "%s", data "%s"', packet.type, packet.data);
2322
2150
  this.emitReserved("packet", packet);
2323
2151
  this.emitReserved("heartbeat");
2324
- this.resetPingTimeout();
2325
2152
  switch (packet.type) {
2326
2153
  case "open":
2327
2154
  this.onHandshake(JSON.parse(packet.data));
2328
2155
  break;
2329
2156
  case "ping":
2330
- this.sendPacket("pong");
2157
+ this._sendPacket("pong");
2331
2158
  this.emitReserved("ping");
2332
2159
  this.emitReserved("pong");
2160
+ this._resetPingTimeout();
2333
2161
  break;
2334
2162
  case "error":
2335
2163
  const err = new Error("server error");
2336
2164
  err.code = packet.data;
2337
- this.onError(err);
2165
+ this._onError(err);
2338
2166
  break;
2339
2167
  case "message":
2340
2168
  this.emitReserved("data", packet.data);
@@ -2355,27 +2183,28 @@ var require_socket = __commonJS({
2355
2183
  this.emitReserved("handshake", data);
2356
2184
  this.id = data.sid;
2357
2185
  this.transport.query.sid = data.sid;
2358
- this.upgrades = this.filterUpgrades(data.upgrades);
2359
- this.pingInterval = data.pingInterval;
2360
- this.pingTimeout = data.pingTimeout;
2361
- this.maxPayload = data.maxPayload;
2186
+ this._pingInterval = data.pingInterval;
2187
+ this._pingTimeout = data.pingTimeout;
2188
+ this._maxPayload = data.maxPayload;
2362
2189
  this.onOpen();
2363
2190
  if ("closed" === this.readyState)
2364
2191
  return;
2365
- this.resetPingTimeout();
2192
+ this._resetPingTimeout();
2366
2193
  }
2367
2194
  /**
2368
2195
  * Sets and resets ping timeout timer based on server pings.
2369
2196
  *
2370
2197
  * @private
2371
2198
  */
2372
- resetPingTimeout() {
2373
- this.clearTimeoutFn(this.pingTimeoutTimer);
2374
- this.pingTimeoutTimer = this.setTimeoutFn(() => {
2375
- this.onClose("ping timeout");
2376
- }, this.pingInterval + this.pingTimeout);
2199
+ _resetPingTimeout() {
2200
+ this.clearTimeoutFn(this._pingTimeoutTimer);
2201
+ const delay = this._pingInterval + this._pingTimeout;
2202
+ this._pingTimeoutTime = Date.now() + delay;
2203
+ this._pingTimeoutTimer = this.setTimeoutFn(() => {
2204
+ this._onClose("ping timeout");
2205
+ }, delay);
2377
2206
  if (this.opts.autoUnref) {
2378
- this.pingTimeoutTimer.unref();
2207
+ this._pingTimeoutTimer.unref();
2379
2208
  }
2380
2209
  }
2381
2210
  /**
@@ -2383,9 +2212,9 @@ var require_socket = __commonJS({
2383
2212
  *
2384
2213
  * @private
2385
2214
  */
2386
- onDrain() {
2387
- this.writeBuffer.splice(0, this.prevBufferLen);
2388
- this.prevBufferLen = 0;
2215
+ _onDrain() {
2216
+ this.writeBuffer.splice(0, this._prevBufferLen);
2217
+ this._prevBufferLen = 0;
2389
2218
  if (0 === this.writeBuffer.length) {
2390
2219
  this.emitReserved("drain");
2391
2220
  } else {
@@ -2399,10 +2228,10 @@ var require_socket = __commonJS({
2399
2228
  */
2400
2229
  flush() {
2401
2230
  if ("closed" !== this.readyState && this.transport.writable && !this.upgrading && this.writeBuffer.length) {
2402
- const packets = this.getWritablePackets();
2231
+ const packets = this._getWritablePackets();
2403
2232
  debug("flushing %d packets in socket", packets.length);
2404
2233
  this.transport.send(packets);
2405
- this.prevBufferLen = packets.length;
2234
+ this._prevBufferLen = packets.length;
2406
2235
  this.emitReserved("flush");
2407
2236
  }
2408
2237
  }
@@ -2412,8 +2241,8 @@ var require_socket = __commonJS({
2412
2241
  *
2413
2242
  * @private
2414
2243
  */
2415
- getWritablePackets() {
2416
- const shouldCheckPayloadSize = this.maxPayload && this.transport.name === "polling" && this.writeBuffer.length > 1;
2244
+ _getWritablePackets() {
2245
+ const shouldCheckPayloadSize = this._maxPayload && this.transport.name === "polling" && this.writeBuffer.length > 1;
2417
2246
  if (!shouldCheckPayloadSize) {
2418
2247
  return this.writeBuffer;
2419
2248
  }
@@ -2423,29 +2252,60 @@ var require_socket = __commonJS({
2423
2252
  if (data) {
2424
2253
  payloadSize += (0, util_js_1.byteLength)(data);
2425
2254
  }
2426
- if (i > 0 && payloadSize > this.maxPayload) {
2255
+ if (i > 0 && payloadSize > this._maxPayload) {
2427
2256
  debug("only send %d out of %d packets", i, this.writeBuffer.length);
2428
2257
  return this.writeBuffer.slice(0, i);
2429
2258
  }
2430
2259
  payloadSize += 2;
2431
2260
  }
2432
- debug("payload size is %d (max: %d)", payloadSize, this.maxPayload);
2261
+ debug("payload size is %d (max: %d)", payloadSize, this._maxPayload);
2433
2262
  return this.writeBuffer;
2434
2263
  }
2264
+ /**
2265
+ * Checks whether the heartbeat timer has expired but the socket has not yet been notified.
2266
+ *
2267
+ * Note: this method is private for now because it does not really fit the WebSocket API, but if we put it in the
2268
+ * `write()` method then the message would not be buffered by the Socket.IO client.
2269
+ *
2270
+ * @return {boolean}
2271
+ * @private
2272
+ */
2273
+ /* private */
2274
+ _hasPingExpired() {
2275
+ if (!this._pingTimeoutTime)
2276
+ return true;
2277
+ const hasExpired = Date.now() > this._pingTimeoutTime;
2278
+ if (hasExpired) {
2279
+ debug("throttled timer detected, scheduling connection close");
2280
+ this._pingTimeoutTime = 0;
2281
+ (0, globals_node_js_1.nextTick)(() => {
2282
+ this._onClose("ping timeout");
2283
+ }, this.setTimeoutFn);
2284
+ }
2285
+ return hasExpired;
2286
+ }
2435
2287
  /**
2436
2288
  * Sends a message.
2437
2289
  *
2438
2290
  * @param {String} msg - message.
2439
2291
  * @param {Object} options.
2440
- * @param {Function} callback function.
2292
+ * @param {Function} fn - callback function.
2441
2293
  * @return {Socket} for chaining.
2442
2294
  */
2443
2295
  write(msg, options, fn) {
2444
- this.sendPacket("message", msg, options, fn);
2296
+ this._sendPacket("message", msg, options, fn);
2445
2297
  return this;
2446
2298
  }
2299
+ /**
2300
+ * Sends a message. Alias of {@link Socket#write}.
2301
+ *
2302
+ * @param {String} msg - message.
2303
+ * @param {Object} options.
2304
+ * @param {Function} fn - callback function.
2305
+ * @return {Socket} for chaining.
2306
+ */
2447
2307
  send(msg, options, fn) {
2448
- this.sendPacket("message", msg, options, fn);
2308
+ this._sendPacket("message", msg, options, fn);
2449
2309
  return this;
2450
2310
  }
2451
2311
  /**
@@ -2457,7 +2317,7 @@ var require_socket = __commonJS({
2457
2317
  * @param {Function} fn - callback function.
2458
2318
  * @private
2459
2319
  */
2460
- sendPacket(type, data, options, fn) {
2320
+ _sendPacket(type, data, options, fn) {
2461
2321
  if ("function" === typeof data) {
2462
2322
  fn = data;
2463
2323
  data = void 0;
@@ -2487,7 +2347,7 @@ var require_socket = __commonJS({
2487
2347
  */
2488
2348
  close() {
2489
2349
  const close = /* @__PURE__ */ __name(() => {
2490
- this.onClose("forced close");
2350
+ this._onClose("forced close");
2491
2351
  debug("socket closing - telling transport to close");
2492
2352
  this.transport.close();
2493
2353
  }, "close");
@@ -2523,54 +2383,258 @@ var require_socket = __commonJS({
2523
2383
  *
2524
2384
  * @private
2525
2385
  */
2526
- onError(err) {
2386
+ _onError(err) {
2527
2387
  debug("socket error %j", err);
2528
- _Socket.priorWebsocketSuccess = false;
2388
+ _SocketWithoutUpgrade.priorWebsocketSuccess = false;
2389
+ if (this.opts.tryAllTransports && this.transports.length > 1 && this.readyState === "opening") {
2390
+ debug("trying next transport");
2391
+ this.transports.shift();
2392
+ return this._open();
2393
+ }
2529
2394
  this.emitReserved("error", err);
2530
- this.onClose("transport error", err);
2395
+ this._onClose("transport error", err);
2531
2396
  }
2532
2397
  /**
2533
2398
  * Called upon transport close.
2534
2399
  *
2535
2400
  * @private
2536
2401
  */
2537
- onClose(reason, description) {
2402
+ _onClose(reason, description) {
2538
2403
  if ("opening" === this.readyState || "open" === this.readyState || "closing" === this.readyState) {
2539
2404
  debug('socket close with reason: "%s"', reason);
2540
- this.clearTimeoutFn(this.pingTimeoutTimer);
2405
+ this.clearTimeoutFn(this._pingTimeoutTimer);
2541
2406
  this.transport.removeAllListeners("close");
2542
2407
  this.transport.close();
2543
2408
  this.transport.removeAllListeners();
2544
- if (typeof removeEventListener === "function") {
2545
- removeEventListener("beforeunload", this.beforeunloadEventListener, false);
2546
- removeEventListener("offline", this.offlineEventListener, false);
2409
+ if (withEventListeners) {
2410
+ if (this._beforeunloadEventListener) {
2411
+ removeEventListener("beforeunload", this._beforeunloadEventListener, false);
2412
+ }
2413
+ if (this._offlineEventListener) {
2414
+ const i = OFFLINE_EVENT_LISTENERS.indexOf(this._offlineEventListener);
2415
+ if (i !== -1) {
2416
+ debug("removing listener for the 'offline' event");
2417
+ OFFLINE_EVENT_LISTENERS.splice(i, 1);
2418
+ }
2419
+ }
2547
2420
  }
2548
2421
  this.readyState = "closed";
2549
2422
  this.id = null;
2550
2423
  this.emitReserved("close", reason, description);
2551
2424
  this.writeBuffer = [];
2552
- this.prevBufferLen = 0;
2425
+ this._prevBufferLen = 0;
2426
+ }
2427
+ }
2428
+ };
2429
+ exports.SocketWithoutUpgrade = SocketWithoutUpgrade;
2430
+ SocketWithoutUpgrade.protocol = engine_io_parser_1.protocol;
2431
+ var SocketWithUpgrade = class extends SocketWithoutUpgrade {
2432
+ static {
2433
+ __name(this, "SocketWithUpgrade");
2434
+ }
2435
+ constructor() {
2436
+ super(...arguments);
2437
+ this._upgrades = [];
2438
+ }
2439
+ onOpen() {
2440
+ super.onOpen();
2441
+ if ("open" === this.readyState && this.opts.upgrade) {
2442
+ debug("starting upgrade probes");
2443
+ for (let i = 0; i < this._upgrades.length; i++) {
2444
+ this._probe(this._upgrades[i]);
2445
+ }
2446
+ }
2447
+ }
2448
+ /**
2449
+ * Probes a transport.
2450
+ *
2451
+ * @param {String} name - transport name
2452
+ * @private
2453
+ */
2454
+ _probe(name) {
2455
+ debug('probing transport "%s"', name);
2456
+ let transport = this.createTransport(name);
2457
+ let failed = false;
2458
+ SocketWithoutUpgrade.priorWebsocketSuccess = false;
2459
+ const onTransportOpen = /* @__PURE__ */ __name(() => {
2460
+ if (failed)
2461
+ return;
2462
+ debug('probe transport "%s" opened', name);
2463
+ transport.send([{ type: "ping", data: "probe" }]);
2464
+ transport.once("packet", (msg) => {
2465
+ if (failed)
2466
+ return;
2467
+ if ("pong" === msg.type && "probe" === msg.data) {
2468
+ debug('probe transport "%s" pong', name);
2469
+ this.upgrading = true;
2470
+ this.emitReserved("upgrading", transport);
2471
+ if (!transport)
2472
+ return;
2473
+ SocketWithoutUpgrade.priorWebsocketSuccess = "websocket" === transport.name;
2474
+ debug('pausing current transport "%s"', this.transport.name);
2475
+ this.transport.pause(() => {
2476
+ if (failed)
2477
+ return;
2478
+ if ("closed" === this.readyState)
2479
+ return;
2480
+ debug("changing transport and sending upgrade packet");
2481
+ cleanup();
2482
+ this.setTransport(transport);
2483
+ transport.send([{ type: "upgrade" }]);
2484
+ this.emitReserved("upgrade", transport);
2485
+ transport = null;
2486
+ this.upgrading = false;
2487
+ this.flush();
2488
+ });
2489
+ } else {
2490
+ debug('probe transport "%s" failed', name);
2491
+ const err = new Error("probe error");
2492
+ err.transport = transport.name;
2493
+ this.emitReserved("upgradeError", err);
2494
+ }
2495
+ });
2496
+ }, "onTransportOpen");
2497
+ function freezeTransport() {
2498
+ if (failed)
2499
+ return;
2500
+ failed = true;
2501
+ cleanup();
2502
+ transport.close();
2503
+ transport = null;
2504
+ }
2505
+ __name(freezeTransport, "freezeTransport");
2506
+ const onerror = /* @__PURE__ */ __name((err) => {
2507
+ const error = new Error("probe error: " + err);
2508
+ error.transport = transport.name;
2509
+ freezeTransport();
2510
+ debug('probe transport "%s" failed because of error: %s', name, err);
2511
+ this.emitReserved("upgradeError", error);
2512
+ }, "onerror");
2513
+ function onTransportClose() {
2514
+ onerror("transport closed");
2515
+ }
2516
+ __name(onTransportClose, "onTransportClose");
2517
+ function onclose() {
2518
+ onerror("socket closed");
2519
+ }
2520
+ __name(onclose, "onclose");
2521
+ function onupgrade(to) {
2522
+ if (transport && to.name !== transport.name) {
2523
+ debug('"%s" works - aborting "%s"', to.name, transport.name);
2524
+ freezeTransport();
2525
+ }
2526
+ }
2527
+ __name(onupgrade, "onupgrade");
2528
+ const cleanup = /* @__PURE__ */ __name(() => {
2529
+ transport.removeListener("open", onTransportOpen);
2530
+ transport.removeListener("error", onerror);
2531
+ transport.removeListener("close", onTransportClose);
2532
+ this.off("close", onclose);
2533
+ this.off("upgrading", onupgrade);
2534
+ }, "cleanup");
2535
+ transport.once("open", onTransportOpen);
2536
+ transport.once("error", onerror);
2537
+ transport.once("close", onTransportClose);
2538
+ this.once("close", onclose);
2539
+ this.once("upgrading", onupgrade);
2540
+ if (this._upgrades.indexOf("webtransport") !== -1 && name !== "webtransport") {
2541
+ this.setTimeoutFn(() => {
2542
+ if (!failed) {
2543
+ transport.open();
2544
+ }
2545
+ }, 200);
2546
+ } else {
2547
+ transport.open();
2553
2548
  }
2554
2549
  }
2550
+ onHandshake(data) {
2551
+ this._upgrades = this._filterUpgrades(data.upgrades);
2552
+ super.onHandshake(data);
2553
+ }
2555
2554
  /**
2556
2555
  * Filters upgrades, returning only those matching client transports.
2557
2556
  *
2558
2557
  * @param {Array} upgrades - server upgrades
2559
2558
  * @private
2560
2559
  */
2561
- filterUpgrades(upgrades) {
2560
+ _filterUpgrades(upgrades) {
2562
2561
  const filteredUpgrades = [];
2563
- let i = 0;
2564
- const j = upgrades.length;
2565
- for (; i < j; i++) {
2562
+ for (let i = 0; i < upgrades.length; i++) {
2566
2563
  if (~this.transports.indexOf(upgrades[i]))
2567
2564
  filteredUpgrades.push(upgrades[i]);
2568
2565
  }
2569
2566
  return filteredUpgrades;
2570
2567
  }
2571
2568
  };
2569
+ exports.SocketWithUpgrade = SocketWithUpgrade;
2570
+ var Socket = class extends SocketWithUpgrade {
2571
+ static {
2572
+ __name(this, "Socket");
2573
+ }
2574
+ constructor(uri, opts = {}) {
2575
+ const o = typeof uri === "object" ? uri : opts;
2576
+ if (!o.transports || o.transports && typeof o.transports[0] === "string") {
2577
+ o.transports = (o.transports || ["polling", "websocket", "webtransport"]).map((transportName) => index_js_1.transports[transportName]).filter((t) => !!t);
2578
+ }
2579
+ super(uri, o);
2580
+ }
2581
+ };
2572
2582
  exports.Socket = Socket;
2573
- Socket.protocol = engine_io_parser_1.protocol;
2583
+ }
2584
+ });
2585
+
2586
+ // node_modules/engine.io-client/build/cjs/transports/polling-fetch.js
2587
+ var require_polling_fetch = __commonJS({
2588
+ "node_modules/engine.io-client/build/cjs/transports/polling-fetch.js"(exports) {
2589
+ "use strict";
2590
+ Object.defineProperty(exports, "__esModule", { value: true });
2591
+ exports.Fetch = void 0;
2592
+ var polling_js_1 = require_polling();
2593
+ var Fetch = class extends polling_js_1.Polling {
2594
+ static {
2595
+ __name(this, "Fetch");
2596
+ }
2597
+ doPoll() {
2598
+ this._fetch().then((res) => {
2599
+ if (!res.ok) {
2600
+ return this.onError("fetch read error", res.status, res);
2601
+ }
2602
+ res.text().then((data) => this.onData(data));
2603
+ }).catch((err) => {
2604
+ this.onError("fetch read error", err);
2605
+ });
2606
+ }
2607
+ doWrite(data, callback) {
2608
+ this._fetch(data).then((res) => {
2609
+ if (!res.ok) {
2610
+ return this.onError("fetch write error", res.status, res);
2611
+ }
2612
+ callback();
2613
+ }).catch((err) => {
2614
+ this.onError("fetch write error", err);
2615
+ });
2616
+ }
2617
+ _fetch(data) {
2618
+ var _a;
2619
+ const isPost = data !== void 0;
2620
+ const headers = new Headers(this.opts.extraHeaders);
2621
+ if (isPost) {
2622
+ headers.set("content-type", "text/plain;charset=UTF-8");
2623
+ }
2624
+ (_a = this.socket._cookieJar) === null || _a === void 0 ? void 0 : _a.appendCookies(headers);
2625
+ return fetch(this.uri(), {
2626
+ method: isPost ? "POST" : "GET",
2627
+ body: isPost ? data : null,
2628
+ headers,
2629
+ credentials: this.opts.withCredentials ? "include" : "omit"
2630
+ }).then((res) => {
2631
+ var _a2;
2632
+ (_a2 = this.socket._cookieJar) === null || _a2 === void 0 ? void 0 : _a2.parseCookies(res.headers.getSetCookie());
2633
+ return res;
2634
+ });
2635
+ }
2636
+ };
2637
+ exports.Fetch = Fetch;
2574
2638
  }
2575
2639
  });
2576
2640
 
@@ -2579,11 +2643,18 @@ var require_cjs3 = __commonJS({
2579
2643
  "node_modules/engine.io-client/build/cjs/index.js"(exports) {
2580
2644
  "use strict";
2581
2645
  Object.defineProperty(exports, "__esModule", { value: true });
2582
- exports.nextTick = exports.parse = exports.installTimerFunctions = exports.transports = exports.TransportError = exports.Transport = exports.protocol = exports.Socket = void 0;
2646
+ exports.WebTransport = exports.WebSocket = exports.NodeWebSocket = exports.XHR = exports.NodeXHR = exports.Fetch = exports.nextTick = exports.parse = exports.installTimerFunctions = exports.transports = exports.TransportError = exports.Transport = exports.protocol = exports.SocketWithUpgrade = exports.SocketWithoutUpgrade = exports.Socket = void 0;
2583
2647
  var socket_js_1 = require_socket();
2584
2648
  Object.defineProperty(exports, "Socket", { enumerable: true, get: /* @__PURE__ */ __name(function() {
2585
2649
  return socket_js_1.Socket;
2586
2650
  }, "get") });
2651
+ var socket_js_2 = require_socket();
2652
+ Object.defineProperty(exports, "SocketWithoutUpgrade", { enumerable: true, get: /* @__PURE__ */ __name(function() {
2653
+ return socket_js_2.SocketWithoutUpgrade;
2654
+ }, "get") });
2655
+ Object.defineProperty(exports, "SocketWithUpgrade", { enumerable: true, get: /* @__PURE__ */ __name(function() {
2656
+ return socket_js_2.SocketWithUpgrade;
2657
+ }, "get") });
2587
2658
  exports.protocol = socket_js_1.Socket.protocol;
2588
2659
  var transport_js_1 = require_transport();
2589
2660
  Object.defineProperty(exports, "Transport", { enumerable: true, get: /* @__PURE__ */ __name(function() {
@@ -2604,9 +2675,33 @@ var require_cjs3 = __commonJS({
2604
2675
  Object.defineProperty(exports, "parse", { enumerable: true, get: /* @__PURE__ */ __name(function() {
2605
2676
  return parseuri_js_1.parse;
2606
2677
  }, "get") });
2607
- var websocket_constructor_js_1 = require_websocket_constructor_browser();
2678
+ var globals_node_js_1 = require_globals();
2608
2679
  Object.defineProperty(exports, "nextTick", { enumerable: true, get: /* @__PURE__ */ __name(function() {
2609
- return websocket_constructor_js_1.nextTick;
2680
+ return globals_node_js_1.nextTick;
2681
+ }, "get") });
2682
+ var polling_fetch_js_1 = require_polling_fetch();
2683
+ Object.defineProperty(exports, "Fetch", { enumerable: true, get: /* @__PURE__ */ __name(function() {
2684
+ return polling_fetch_js_1.Fetch;
2685
+ }, "get") });
2686
+ var polling_xhr_node_js_1 = require_polling_xhr();
2687
+ Object.defineProperty(exports, "NodeXHR", { enumerable: true, get: /* @__PURE__ */ __name(function() {
2688
+ return polling_xhr_node_js_1.XHR;
2689
+ }, "get") });
2690
+ var polling_xhr_js_1 = require_polling_xhr();
2691
+ Object.defineProperty(exports, "XHR", { enumerable: true, get: /* @__PURE__ */ __name(function() {
2692
+ return polling_xhr_js_1.XHR;
2693
+ }, "get") });
2694
+ var websocket_node_js_1 = require_websocket();
2695
+ Object.defineProperty(exports, "NodeWebSocket", { enumerable: true, get: /* @__PURE__ */ __name(function() {
2696
+ return websocket_node_js_1.WS;
2697
+ }, "get") });
2698
+ var websocket_js_1 = require_websocket();
2699
+ Object.defineProperty(exports, "WebSocket", { enumerable: true, get: /* @__PURE__ */ __name(function() {
2700
+ return websocket_js_1.WS;
2701
+ }, "get") });
2702
+ var webtransport_js_1 = require_webtransport();
2703
+ Object.defineProperty(exports, "WebTransport", { enumerable: true, get: /* @__PURE__ */ __name(function() {
2704
+ return webtransport_js_1.WT;
2610
2705
  }, "get") });
2611
2706
  }
2612
2707
  });
@@ -2619,10 +2714,10 @@ var require_url = __commonJS({
2619
2714
  return mod && mod.__esModule ? mod : { "default": mod };
2620
2715
  };
2621
2716
  Object.defineProperty(exports, "__esModule", { value: true });
2622
- exports.url = void 0;
2717
+ exports.url = url;
2623
2718
  var engine_io_client_1 = require_cjs3();
2624
2719
  var debug_1 = __importDefault(require_browser());
2625
- var debug = debug_1.default("socket.io-client:url");
2720
+ var debug = (0, debug_1.default)("socket.io-client:url");
2626
2721
  function url(uri, path = "", loc) {
2627
2722
  let obj = uri;
2628
2723
  loc = loc || typeof location !== "undefined" && location;
@@ -2645,7 +2740,7 @@ var require_url = __commonJS({
2645
2740
  }
2646
2741
  }
2647
2742
  debug("parse %s", uri);
2648
- obj = engine_io_client_1.parse(uri);
2743
+ obj = (0, engine_io_client_1.parse)(uri);
2649
2744
  }
2650
2745
  if (!obj.port) {
2651
2746
  if (/^(http|ws)$/.test(obj.protocol)) {
@@ -2662,7 +2757,6 @@ var require_url = __commonJS({
2662
2757
  return obj;
2663
2758
  }
2664
2759
  __name(url, "url");
2665
- exports.url = url;
2666
2760
  }
2667
2761
  });
2668
2762
 
@@ -3078,7 +3172,7 @@ var require_on = __commonJS({
3078
3172
  "node_modules/socket.io-client/build/cjs/on.js"(exports) {
3079
3173
  "use strict";
3080
3174
  Object.defineProperty(exports, "__esModule", { value: true });
3081
- exports.on = void 0;
3175
+ exports.on = on;
3082
3176
  function on(obj, ev, fn) {
3083
3177
  obj.on(ev, fn);
3084
3178
  return /* @__PURE__ */ __name(function subDestroy() {
@@ -3086,7 +3180,6 @@ var require_on = __commonJS({
3086
3180
  }, "subDestroy");
3087
3181
  }
3088
3182
  __name(on, "on");
3089
- exports.on = on;
3090
3183
  }
3091
3184
  });
3092
3185
 
@@ -3103,7 +3196,7 @@ var require_socket2 = __commonJS({
3103
3196
  var on_js_1 = require_on();
3104
3197
  var component_emitter_1 = require_cjs2();
3105
3198
  var debug_1 = __importDefault(require_browser());
3106
- var debug = debug_1.default("socket.io-client:socket");
3199
+ var debug = (0, debug_1.default)("socket.io-client:socket");
3107
3200
  var RESERVED_EVENTS = Object.freeze({
3108
3201
  connect: 1,
3109
3202
  connect_error: 1,
@@ -3167,10 +3260,10 @@ var require_socket2 = __commonJS({
3167
3260
  return;
3168
3261
  const io = this.io;
3169
3262
  this.subs = [
3170
- on_js_1.on(io, "open", this.onopen.bind(this)),
3171
- on_js_1.on(io, "packet", this.onpacket.bind(this)),
3172
- on_js_1.on(io, "error", this.onerror.bind(this)),
3173
- on_js_1.on(io, "close", this.onclose.bind(this))
3263
+ (0, on_js_1.on)(io, "open", this.onopen.bind(this)),
3264
+ (0, on_js_1.on)(io, "packet", this.onpacket.bind(this)),
3265
+ (0, on_js_1.on)(io, "error", this.onerror.bind(this)),
3266
+ (0, on_js_1.on)(io, "close", this.onclose.bind(this))
3174
3267
  ];
3175
3268
  }
3176
3269
  /**
@@ -3257,6 +3350,7 @@ var require_socket2 = __commonJS({
3257
3350
  * @return self
3258
3351
  */
3259
3352
  emit(ev, ...args) {
3353
+ var _a, _b, _c;
3260
3354
  if (RESERVED_EVENTS.hasOwnProperty(ev)) {
3261
3355
  throw new Error('"' + ev.toString() + '" is a reserved event name');
3262
3356
  }
@@ -3278,11 +3372,12 @@ var require_socket2 = __commonJS({
3278
3372
  this._registerAckCallback(id, ack);
3279
3373
  packet.id = id;
3280
3374
  }
3281
- const isTransportWritable = this.io.engine && this.io.engine.transport && this.io.engine.transport.writable;
3282
- const discardPacket = this.flags.volatile && (!isTransportWritable || !this.connected);
3375
+ const isTransportWritable = (_b = (_a = this.io.engine) === null || _a === void 0 ? void 0 : _a.transport) === null || _b === void 0 ? void 0 : _b.writable;
3376
+ const isConnected = this.connected && !((_c = this.io.engine) === null || _c === void 0 ? void 0 : _c._hasPingExpired());
3377
+ const discardPacket = this.flags.volatile && !isTransportWritable;
3283
3378
  if (discardPacket) {
3284
3379
  debug("discard packet as the transport is not currently writable");
3285
- } else if (this.connected) {
3380
+ } else if (isConnected) {
3286
3381
  this.notifyOutgoingListeners(packet);
3287
3382
  this.packet(packet);
3288
3383
  } else {
@@ -3905,7 +4000,7 @@ var require_backo2 = __commonJS({
3905
4000
  "node_modules/socket.io-client/build/cjs/contrib/backo2.js"(exports) {
3906
4001
  "use strict";
3907
4002
  Object.defineProperty(exports, "__esModule", { value: true });
3908
- exports.Backoff = void 0;
4003
+ exports.Backoff = Backoff;
3909
4004
  function Backoff(opts) {
3910
4005
  opts = opts || {};
3911
4006
  this.ms = opts.min || 100;
@@ -3915,7 +4010,6 @@ var require_backo2 = __commonJS({
3915
4010
  this.attempts = 0;
3916
4011
  }
3917
4012
  __name(Backoff, "Backoff");
3918
- exports.Backoff = Backoff;
3919
4013
  Backoff.prototype.duration = function() {
3920
4014
  var ms = this.ms * Math.pow(this.factor, this.attempts++);
3921
4015
  if (this.jitter) {
@@ -3946,9 +4040,13 @@ var require_manager = __commonJS({
3946
4040
  "use strict";
3947
4041
  var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
3948
4042
  if (k2 === void 0) k2 = k;
3949
- Object.defineProperty(o, k2, { enumerable: true, get: /* @__PURE__ */ __name(function() {
3950
- return m[k];
3951
- }, "get") });
4043
+ var desc = Object.getOwnPropertyDescriptor(m, k);
4044
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
4045
+ desc = { enumerable: true, get: /* @__PURE__ */ __name(function() {
4046
+ return m[k];
4047
+ }, "get") };
4048
+ }
4049
+ Object.defineProperty(o, k2, desc);
3952
4050
  } : function(o, m, k, k2) {
3953
4051
  if (k2 === void 0) k2 = k;
3954
4052
  o[k2] = m[k];
@@ -3979,7 +4077,7 @@ var require_manager = __commonJS({
3979
4077
  var backo2_js_1 = require_backo2();
3980
4078
  var component_emitter_1 = require_cjs2();
3981
4079
  var debug_1 = __importDefault(require_browser());
3982
- var debug = debug_1.default("socket.io-client:manager");
4080
+ var debug = (0, debug_1.default)("socket.io-client:manager");
3983
4081
  var Manager = class extends component_emitter_1.Emitter {
3984
4082
  static {
3985
4083
  __name(this, "Manager");
@@ -3996,7 +4094,7 @@ var require_manager = __commonJS({
3996
4094
  opts = opts || {};
3997
4095
  opts.path = opts.path || "/socket.io";
3998
4096
  this.opts = opts;
3999
- engine_io_client_1.installTimerFunctions(this, opts);
4097
+ (0, engine_io_client_1.installTimerFunctions)(this, opts);
4000
4098
  this.reconnection(opts.reconnection !== false);
4001
4099
  this.reconnectionAttempts(opts.reconnectionAttempts || Infinity);
4002
4100
  this.reconnectionDelay(opts.reconnectionDelay || 1e3);
@@ -4021,6 +4119,9 @@ var require_manager = __commonJS({
4021
4119
  if (!arguments.length)
4022
4120
  return this._reconnection;
4023
4121
  this._reconnection = !!v;
4122
+ if (!v) {
4123
+ this.skipReconnect = true;
4124
+ }
4024
4125
  return this;
4025
4126
  }
4026
4127
  reconnectionAttempts(v) {
@@ -4087,7 +4188,7 @@ var require_manager = __commonJS({
4087
4188
  const self2 = this;
4088
4189
  this._readyState = "opening";
4089
4190
  this.skipReconnect = false;
4090
- const openSubDestroy = on_js_1.on(socket, "open", function() {
4191
+ const openSubDestroy = (0, on_js_1.on)(socket, "open", function() {
4091
4192
  self2.onopen();
4092
4193
  fn && fn();
4093
4194
  });
@@ -4102,7 +4203,7 @@ var require_manager = __commonJS({
4102
4203
  this.maybeReconnectOnOpen();
4103
4204
  }
4104
4205
  }, "onError");
4105
- const errorSub = on_js_1.on(socket, "error", onError);
4206
+ const errorSub = (0, on_js_1.on)(socket, "error", onError);
4106
4207
  if (false !== this._timeout) {
4107
4208
  const timeout = this._timeout;
4108
4209
  debug("connect attempt will timeout after %d", timeout);
@@ -4143,7 +4244,14 @@ var require_manager = __commonJS({
4143
4244
  this._readyState = "open";
4144
4245
  this.emitReserved("open");
4145
4246
  const socket = this.engine;
4146
- this.subs.push(on_js_1.on(socket, "ping", this.onping.bind(this)), on_js_1.on(socket, "data", this.ondata.bind(this)), on_js_1.on(socket, "error", this.onerror.bind(this)), on_js_1.on(socket, "close", this.onclose.bind(this)), on_js_1.on(this.decoder, "decoded", this.ondecoded.bind(this)));
4247
+ this.subs.push(
4248
+ (0, on_js_1.on)(socket, "ping", this.onping.bind(this)),
4249
+ (0, on_js_1.on)(socket, "data", this.ondata.bind(this)),
4250
+ (0, on_js_1.on)(socket, "error", this.onerror.bind(this)),
4251
+ (0, on_js_1.on)(socket, "close", this.onclose.bind(this)),
4252
+ // @ts-ignore
4253
+ (0, on_js_1.on)(this.decoder, "decoded", this.ondecoded.bind(this))
4254
+ );
4147
4255
  }
4148
4256
  /**
4149
4257
  * Called upon a ping.
@@ -4171,7 +4279,7 @@ var require_manager = __commonJS({
4171
4279
  * @private
4172
4280
  */
4173
4281
  ondecoded(packet) {
4174
- engine_io_client_1.nextTick(() => {
4282
+ (0, engine_io_client_1.nextTick)(() => {
4175
4283
  this.emitReserved("packet", packet);
4176
4284
  }, this.setTimeoutFn);
4177
4285
  }
@@ -4251,8 +4359,6 @@ var require_manager = __commonJS({
4251
4359
  this.skipReconnect = true;
4252
4360
  this._reconnecting = false;
4253
4361
  this.onclose("forced close");
4254
- if (this.engine)
4255
- this.engine.close();
4256
4362
  }
4257
4363
  /**
4258
4364
  * Alias for close()
@@ -4263,13 +4369,19 @@ var require_manager = __commonJS({
4263
4369
  return this._close();
4264
4370
  }
4265
4371
  /**
4266
- * Called upon engine close.
4372
+ * Called when:
4373
+ *
4374
+ * - the low-level engine is closed
4375
+ * - the parser encountered a badly formatted packet
4376
+ * - all sockets are disconnected
4267
4377
  *
4268
4378
  * @private
4269
4379
  */
4270
4380
  onclose(reason, description) {
4381
+ var _a;
4271
4382
  debug("closed due to %s", reason);
4272
4383
  this.cleanup();
4384
+ (_a = this.engine) === null || _a === void 0 ? void 0 : _a.close();
4273
4385
  this.backoff.reset();
4274
4386
  this._readyState = "closed";
4275
4387
  this.emitReserved("close", reason, description);
@@ -4346,7 +4458,10 @@ var require_cjs5 = __commonJS({
4346
4458
  return mod && mod.__esModule ? mod : { "default": mod };
4347
4459
  };
4348
4460
  Object.defineProperty(exports, "__esModule", { value: true });
4349
- exports.default = exports.connect = exports.io = exports.Socket = exports.Manager = exports.protocol = void 0;
4461
+ exports.WebTransport = exports.WebSocket = exports.NodeWebSocket = exports.XHR = exports.NodeXHR = exports.Fetch = exports.Socket = exports.Manager = exports.protocol = void 0;
4462
+ exports.io = lookup;
4463
+ exports.connect = lookup;
4464
+ exports.default = lookup;
4350
4465
  var url_js_1 = require_url();
4351
4466
  var manager_js_1 = require_manager();
4352
4467
  Object.defineProperty(exports, "Manager", { enumerable: true, get: /* @__PURE__ */ __name(function() {
@@ -4357,7 +4472,7 @@ var require_cjs5 = __commonJS({
4357
4472
  return socket_js_1.Socket;
4358
4473
  }, "get") });
4359
4474
  var debug_1 = __importDefault(require_browser());
4360
- var debug = debug_1.default("socket.io-client");
4475
+ var debug = (0, debug_1.default)("socket.io-client");
4361
4476
  var cache = {};
4362
4477
  function lookup(uri, opts) {
4363
4478
  if (typeof uri === "object") {
@@ -4365,7 +4480,7 @@ var require_cjs5 = __commonJS({
4365
4480
  uri = void 0;
4366
4481
  }
4367
4482
  opts = opts || {};
4368
- const parsed = url_js_1.url(uri, opts.path || "/socket.io");
4483
+ const parsed = (0, url_js_1.url)(uri, opts.path || "/socket.io");
4369
4484
  const source = parsed.source;
4370
4485
  const id = parsed.id;
4371
4486
  const path = parsed.path;
@@ -4388,9 +4503,6 @@ var require_cjs5 = __commonJS({
4388
4503
  return io.socket(parsed.path, opts);
4389
4504
  }
4390
4505
  __name(lookup, "lookup");
4391
- exports.io = lookup;
4392
- exports.connect = lookup;
4393
- exports.default = lookup;
4394
4506
  Object.assign(lookup, {
4395
4507
  Manager: manager_js_1.Manager,
4396
4508
  Socket: socket_js_1.Socket,
@@ -4401,6 +4513,25 @@ var require_cjs5 = __commonJS({
4401
4513
  Object.defineProperty(exports, "protocol", { enumerable: true, get: /* @__PURE__ */ __name(function() {
4402
4514
  return socket_io_parser_1.protocol;
4403
4515
  }, "get") });
4516
+ var engine_io_client_1 = require_cjs3();
4517
+ Object.defineProperty(exports, "Fetch", { enumerable: true, get: /* @__PURE__ */ __name(function() {
4518
+ return engine_io_client_1.Fetch;
4519
+ }, "get") });
4520
+ Object.defineProperty(exports, "NodeXHR", { enumerable: true, get: /* @__PURE__ */ __name(function() {
4521
+ return engine_io_client_1.NodeXHR;
4522
+ }, "get") });
4523
+ Object.defineProperty(exports, "XHR", { enumerable: true, get: /* @__PURE__ */ __name(function() {
4524
+ return engine_io_client_1.XHR;
4525
+ }, "get") });
4526
+ Object.defineProperty(exports, "NodeWebSocket", { enumerable: true, get: /* @__PURE__ */ __name(function() {
4527
+ return engine_io_client_1.NodeWebSocket;
4528
+ }, "get") });
4529
+ Object.defineProperty(exports, "WebSocket", { enumerable: true, get: /* @__PURE__ */ __name(function() {
4530
+ return engine_io_client_1.WebSocket;
4531
+ }, "get") });
4532
+ Object.defineProperty(exports, "WebTransport", { enumerable: true, get: /* @__PURE__ */ __name(function() {
4533
+ return engine_io_client_1.WebTransport;
4534
+ }, "get") });
4404
4535
  module.exports = lookup;
4405
4536
  }
4406
4537
  });