1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038 |
- /*!
- * Socket.IO v4.4.1
- * (c) 2014-2022 Guillermo Rauch
- * Released under the MIT License.
- */
- !(function (t, e) {
- "object" == typeof exports && "undefined" != typeof module
- ? (module.exports = e())
- : "function" == typeof define && define.amd
- ? define(e)
- : ((t = "undefined" != typeof globalThis ? globalThis : t || self).io = e());
- })(this, function () {
- "use strict";
- function t(e) {
- return (
- (t =
- "function" == typeof Symbol && "symbol" == typeof Symbol.iterator
- ? function (t) {
- return typeof t;
- }
- : function (t) {
- return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t;
- }),
- t(e)
- );
- }
- function e(t, e) {
- if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function");
- }
- function n(t, e) {
- for (var n = 0; n < e.length; n++) {
- var r = e[n];
- (r.enumerable = r.enumerable || !1), (r.configurable = !0), "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r);
- }
- }
- function r(t, e, r) {
- return e && n(t.prototype, e), r && n(t, r), t;
- }
- function o() {
- return (
- (o =
- Object.assign ||
- function (t) {
- for (var e = 1; e < arguments.length; e++) {
- var n = arguments[e];
- for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && (t[r] = n[r]);
- }
- return t;
- }),
- o.apply(this, arguments)
- );
- }
- function i(t, e) {
- if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function");
- (t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } })), e && a(t, e);
- }
- function s(t) {
- return (
- (s = Object.setPrototypeOf
- ? Object.getPrototypeOf
- : function (t) {
- return t.__proto__ || Object.getPrototypeOf(t);
- }),
- s(t)
- );
- }
- function a(t, e) {
- return (
- (a =
- Object.setPrototypeOf ||
- function (t, e) {
- return (t.__proto__ = e), t;
- }),
- a(t, e)
- );
- }
- function c(t) {
- if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
- return t;
- }
- function u(t, e) {
- if (e && ("object" == typeof e || "function" == typeof e)) return e;
- if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined");
- return c(t);
- }
- function h(t) {
- var e = (function () {
- if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
- if (Reflect.construct.sham) return !1;
- if ("function" == typeof Proxy) return !0;
- try {
- return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})), !0;
- } catch (t) {
- return !1;
- }
- })();
- return function () {
- var n,
- r = s(t);
- if (e) {
- var o = s(this).constructor;
- n = Reflect.construct(r, arguments, o);
- } else n = r.apply(this, arguments);
- return u(this, n);
- };
- }
- function f(t, e, n) {
- return (
- (f =
- "undefined" != typeof Reflect && Reflect.get
- ? Reflect.get
- : function (t, e, n) {
- var r = (function (t, e) {
- for (; !Object.prototype.hasOwnProperty.call(t, e) && null !== (t = s(t)); );
- return t;
- })(t, e);
- if (r) {
- var o = Object.getOwnPropertyDescriptor(r, e);
- return o.get ? o.get.call(n) : o.value;
- }
- }),
- f(t, e, n || t)
- );
- }
- function l(t, e) {
- (null == e || e > t.length) && (e = t.length);
- for (var n = 0, r = new Array(e); n < e; n++) r[n] = t[n];
- return r;
- }
- function p(t, e) {
- var n = ("undefined" != typeof Symbol && t[Symbol.iterator]) || t["@@iterator"];
- if (!n) {
- if (
- Array.isArray(t) ||
- (n = (function (t, e) {
- if (t) {
- if ("string" == typeof t) return l(t, e);
- var n = Object.prototype.toString.call(t).slice(8, -1);
- return (
- "Object" === n && t.constructor && (n = t.constructor.name),
- "Map" === n || "Set" === n ? Array.from(t) : "Arguments" === n || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n) ? l(t, e) : void 0
- );
- }
- })(t)) ||
- (e && t && "number" == typeof t.length)
- ) {
- n && (t = n);
- var r = 0,
- o = function () {};
- return {
- s: o,
- n: function () {
- return r >= t.length ? { done: !0 } : { done: !1, value: t[r++] };
- },
- e: function (t) {
- throw t;
- },
- f: o,
- };
- }
- throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
- }
- var i,
- s = !0,
- a = !1;
- return {
- s: function () {
- n = n.call(t);
- },
- n: function () {
- var t = n.next();
- return (s = t.done), t;
- },
- e: function (t) {
- (a = !0), (i = t);
- },
- f: function () {
- try {
- s || null == n.return || n.return();
- } finally {
- if (a) throw i;
- }
- },
- };
- }
- var d =
- /^(?:(?![^:@]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,
- y = ["source", "protocol", "authority", "userInfo", "user", "password", "host", "port", "relative", "path", "directory", "file", "query", "anchor"],
- v = function (t) {
- var e = t,
- n = t.indexOf("["),
- r = t.indexOf("]");
- -1 != n && -1 != r && (t = t.substring(0, n) + t.substring(n, r).replace(/:/g, ";") + t.substring(r, t.length));
- for (var o, i, s = d.exec(t || ""), a = {}, c = 14; c--; ) a[y[c]] = s[c] || "";
- return (
- -1 != n &&
- -1 != r &&
- ((a.source = e), (a.host = a.host.substring(1, a.host.length - 1).replace(/;/g, ":")), (a.authority = a.authority.replace("[", "").replace("]", "").replace(/;/g, ":")), (a.ipv6uri = !0)),
- (a.pathNames = (function (t, e) {
- var n = /\/{2,9}/g,
- r = e.replace(n, "/").split("/");
- ("/" != e.substr(0, 1) && 0 !== e.length) || r.splice(0, 1);
- "/" == e.substr(e.length - 1, 1) && r.splice(r.length - 1, 1);
- return r;
- })(0, a.path)),
- (a.queryKey =
- ((o = a.query),
- (i = {}),
- o.replace(/(?:^|&)([^&=]*)=?([^&]*)/g, function (t, e, n) {
- e && (i[e] = n);
- }),
- i)),
- a
- );
- };
- var m = { exports: {} };
- try {
- m.exports = "undefined" != typeof XMLHttpRequest && "withCredentials" in new XMLHttpRequest();
- } catch (t) {
- m.exports = !1;
- }
- var g = m.exports,
- k = "undefined" != typeof self ? self : "undefined" != typeof window ? window : Function("return this")();
- function b(t) {
- var e = t.xdomain;
- try {
- if ("undefined" != typeof XMLHttpRequest && (!e || g)) return new XMLHttpRequest();
- } catch (t) {}
- if (!e)
- try {
- return new k[["Active"].concat("Object").join("X")]("Microsoft.XMLHTTP");
- } catch (t) {}
- }
- function w(t) {
- for (var e = arguments.length, n = new Array(e > 1 ? e - 1 : 0), r = 1; r < e; r++) n[r - 1] = arguments[r];
- return n.reduce(function (e, n) {
- return t.hasOwnProperty(n) && (e[n] = t[n]), e;
- }, {});
- }
- var _ = setTimeout,
- E = clearTimeout;
- function A(t, e) {
- e.useNativeTimers ? ((t.setTimeoutFn = _.bind(k)), (t.clearTimeoutFn = E.bind(k))) : ((t.setTimeoutFn = setTimeout.bind(k)), (t.clearTimeoutFn = clearTimeout.bind(k)));
- }
- var R = T;
- function T(t) {
- if (t)
- return (function (t) {
- for (var e in T.prototype) t[e] = T.prototype[e];
- return t;
- })(t);
- }
- (T.prototype.on = T.prototype.addEventListener =
- function (t, e) {
- return (this._callbacks = this._callbacks || {}), (this._callbacks["$" + t] = this._callbacks["$" + t] || []).push(e), this;
- }),
- (T.prototype.once = function (t, e) {
- function n() {
- this.off(t, n), e.apply(this, arguments);
- }
- return (n.fn = e), this.on(t, n), this;
- }),
- (T.prototype.off =
- T.prototype.removeListener =
- T.prototype.removeAllListeners =
- T.prototype.removeEventListener =
- function (t, e) {
- if (((this._callbacks = this._callbacks || {}), 0 == arguments.length)) return (this._callbacks = {}), this;
- var n,
- r = this._callbacks["$" + t];
- if (!r) return this;
- if (1 == arguments.length) return delete this._callbacks["$" + t], this;
- for (var o = 0; o < r.length; o++)
- if ((n = r[o]) === e || n.fn === e) {
- r.splice(o, 1);
- break;
- }
- return 0 === r.length && delete this._callbacks["$" + t], this;
- }),
- (T.prototype.emit = function (t) {
- this._callbacks = this._callbacks || {};
- for (var e = new Array(arguments.length - 1), n = this._callbacks["$" + t], r = 1; r < arguments.length; r++) e[r - 1] = arguments[r];
- if (n) {
- r = 0;
- for (var o = (n = n.slice(0)).length; r < o; ++r) n[r].apply(this, e);
- }
- return this;
- }),
- (T.prototype.emitReserved = T.prototype.emit),
- (T.prototype.listeners = function (t) {
- return (this._callbacks = this._callbacks || {}), this._callbacks["$" + t] || [];
- }),
- (T.prototype.hasListeners = function (t) {
- return !!this.listeners(t).length;
- });
- var C = Object.create(null);
- (C.open = "0"), (C.close = "1"), (C.ping = "2"), (C.pong = "3"), (C.message = "4"), (C.upgrade = "5"), (C.noop = "6");
- var O = Object.create(null);
- Object.keys(C).forEach(function (t) {
- O[C[t]] = t;
- });
- for (
- var S = { type: "error", data: "parser error" },
- B = "function" == typeof Blob || ("undefined" != typeof Blob && "[object BlobConstructor]" === Object.prototype.toString.call(Blob)),
- N = "function" == typeof ArrayBuffer,
- x = function (t, e, n) {
- var r,
- o = t.type,
- i = t.data;
- return B && i instanceof Blob
- ? e
- ? n(i)
- : L(i, n)
- : N && (i instanceof ArrayBuffer || ((r = i), "function" == typeof ArrayBuffer.isView ? ArrayBuffer.isView(r) : r && r.buffer instanceof ArrayBuffer))
- ? e
- ? n(i)
- : L(new Blob([i]), n)
- : n(C[o] + (i || ""));
- },
- L = function (t, e) {
- var n = new FileReader();
- return (
- (n.onload = function () {
- var t = n.result.split(",")[1];
- e("b" + t);
- }),
- n.readAsDataURL(t)
- );
- },
- j = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",
- P = "undefined" == typeof Uint8Array ? [] : new Uint8Array(256),
- q = 0;
- q < j.length;
- q++
- )
- P[j.charCodeAt(q)] = q;
- var D,
- I = "function" == typeof ArrayBuffer,
- F = function (t, e) {
- if ("string" != typeof t) return { type: "message", data: U(t, e) };
- var n = t.charAt(0);
- return "b" === n ? { type: "message", data: M(t.substring(1), e) } : O[n] ? (t.length > 1 ? { type: O[n], data: t.substring(1) } : { type: O[n] }) : S;
- },
- M = function (t, e) {
- if (I) {
- var n = (function (t) {
- var e,
- n,
- r,
- o,
- i,
- s = 0.75 * t.length,
- a = t.length,
- c = 0;
- "=" === t[t.length - 1] && (s--, "=" === t[t.length - 2] && s--);
- var u = new ArrayBuffer(s),
- h = new Uint8Array(u);
- for (e = 0; e < a; e += 4)
- (n = P[t.charCodeAt(e)]),
- (r = P[t.charCodeAt(e + 1)]),
- (o = P[t.charCodeAt(e + 2)]),
- (i = P[t.charCodeAt(e + 3)]),
- (h[c++] = (n << 2) | (r >> 4)),
- (h[c++] = ((15 & r) << 4) | (o >> 2)),
- (h[c++] = ((3 & o) << 6) | (63 & i));
- return u;
- })(t);
- return U(n, e);
- }
- return { base64: !0, data: t };
- },
- U = function (t, e) {
- return "blob" === e && t instanceof ArrayBuffer ? new Blob([t]) : t;
- },
- V = String.fromCharCode(30),
- H = (function (t) {
- i(o, t);
- var n = h(o);
- function o(t) {
- var r;
- return e(this, o), ((r = n.call(this)).writable = !1), A(c(r), t), (r.opts = t), (r.query = t.query), (r.readyState = ""), (r.socket = t.socket), r;
- }
- return (
- r(o, [
- {
- key: "onError",
- value: function (t, e) {
- var n = new Error(t);
- return (n.type = "TransportError"), (n.description = e), f(s(o.prototype), "emit", this).call(this, "error", n), this;
- },
- },
- {
- key: "open",
- value: function () {
- return ("closed" !== this.readyState && "" !== this.readyState) || ((this.readyState = "opening"), this.doOpen()), this;
- },
- },
- {
- key: "close",
- value: function () {
- return ("opening" !== this.readyState && "open" !== this.readyState) || (this.doClose(), this.onClose()), this;
- },
- },
- {
- key: "send",
- value: function (t) {
- "open" === this.readyState && this.write(t);
- },
- },
- {
- key: "onOpen",
- value: function () {
- (this.readyState = "open"), (this.writable = !0), f(s(o.prototype), "emit", this).call(this, "open");
- },
- },
- {
- key: "onData",
- value: function (t) {
- var e = F(t, this.socket.binaryType);
- this.onPacket(e);
- },
- },
- {
- key: "onPacket",
- value: function (t) {
- f(s(o.prototype), "emit", this).call(this, "packet", t);
- },
- },
- {
- key: "onClose",
- value: function () {
- (this.readyState = "closed"), f(s(o.prototype), "emit", this).call(this, "close");
- },
- },
- ]),
- o
- );
- })(R),
- K = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-_".split(""),
- Y = {},
- z = 0,
- $ = 0;
- function W(t) {
- var e = "";
- do {
- (e = K[t % 64] + e), (t = Math.floor(t / 64));
- } while (t > 0);
- return e;
- }
- function J() {
- var t = W(+new Date());
- return t !== D ? ((z = 0), (D = t)) : t + "." + W(z++);
- }
- for (; $ < 64; $++) Y[K[$]] = $;
- (J.encode = W),
- (J.decode = function (t) {
- var e = 0;
- for ($ = 0; $ < t.length; $++) e = 64 * e + Y[t.charAt($)];
- return e;
- });
- var X = J,
- G = {
- encode: function (t) {
- var e = "";
- for (var n in t) t.hasOwnProperty(n) && (e.length && (e += "&"), (e += encodeURIComponent(n) + "=" + encodeURIComponent(t[n])));
- return e;
- },
- decode: function (t) {
- for (var e = {}, n = t.split("&"), r = 0, o = n.length; r < o; r++) {
- var i = n[r].split("=");
- e[decodeURIComponent(i[0])] = decodeURIComponent(i[1]);
- }
- return e;
- },
- },
- Q = (function (t) {
- i(o, t);
- var n = h(o);
- function o() {
- var t;
- return e(this, o), ((t = n.apply(this, arguments)).polling = !1), t;
- }
- return (
- r(o, [
- {
- key: "name",
- get: function () {
- return "polling";
- },
- },
- {
- key: "doOpen",
- value: function () {
- this.poll();
- },
- },
- {
- key: "pause",
- value: function (t) {
- var e = this;
- this.readyState = "pausing";
- var n = function () {
- (e.readyState = "paused"), t();
- };
- if (this.polling || !this.writable) {
- var r = 0;
- this.polling &&
- (r++,
- this.once("pollComplete", function () {
- --r || n();
- })),
- this.writable ||
- (r++,
- this.once("drain", function () {
- --r || n();
- }));
- } else n();
- },
- },
- {
- key: "poll",
- value: function () {
- (this.polling = !0), this.doPoll(), this.emit("poll");
- },
- },
- {
- key: "onData",
- value: function (t) {
- var e = this;
- (function (t, e) {
- for (var n = t.split(V), r = [], o = 0; o < n.length; o++) {
- var i = F(n[o], e);
- if ((r.push(i), "error" === i.type)) break;
- }
- return r;
- })(t, this.socket.binaryType).forEach(function (t) {
- if (("opening" === e.readyState && "open" === t.type && e.onOpen(), "close" === t.type)) return e.onClose(), !1;
- e.onPacket(t);
- }),
- "closed" !== this.readyState && ((this.polling = !1), this.emit("pollComplete"), "open" === this.readyState && this.poll());
- },
- },
- {
- key: "doClose",
- value: function () {
- var t = this,
- e = function () {
- t.write([{ type: "close" }]);
- };
- "open" === this.readyState ? e() : this.once("open", e);
- },
- },
- {
- key: "write",
- value: function (t) {
- var e = this;
- (this.writable = !1),
- (function (t, e) {
- var n = t.length,
- r = new Array(n),
- o = 0;
- t.forEach(function (t, i) {
- x(t, !1, function (t) {
- (r[i] = t), ++o === n && e(r.join(V));
- });
- });
- })(t, function (t) {
- e.doWrite(t, function () {
- (e.writable = !0), e.emit("drain");
- });
- });
- },
- },
- {
- key: "uri",
- value: function () {
- var t = this.query || {},
- e = this.opts.secure ? "https" : "http",
- n = "";
- !1 !== this.opts.timestampRequests && (t[this.opts.timestampParam] = X()),
- this.supportsBinary || t.sid || (t.b64 = 1),
- this.opts.port && (("https" === e && 443 !== Number(this.opts.port)) || ("http" === e && 80 !== Number(this.opts.port))) && (n = ":" + this.opts.port);
- var r = G.encode(t);
- return e + "://" + (-1 !== this.opts.hostname.indexOf(":") ? "[" + this.opts.hostname + "]" : this.opts.hostname) + n + this.opts.path + (r.length ? "?" + r : "");
- },
- },
- ]),
- o
- );
- })(H);
- function Z() {}
- var tt = null != new b({ xdomain: !1 }).responseType,
- et = (function (t) {
- i(s, t);
- var n = h(s);
- function s(t) {
- var r;
- if ((e(this, s), (r = n.call(this, t)), "undefined" != typeof location)) {
- var o = "https:" === location.protocol,
- i = location.port;
- i || (i = o ? "443" : "80"), (r.xd = ("undefined" != typeof location && t.hostname !== location.hostname) || i !== t.port), (r.xs = t.secure !== o);
- }
- var a = t && t.forceBase64;
- return (r.supportsBinary = tt && !a), r;
- }
- return (
- r(s, [
- {
- key: "request",
- value: function () {
- var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
- return o(t, { xd: this.xd, xs: this.xs }, this.opts), new nt(this.uri(), t);
- },
- },
- {
- key: "doWrite",
- value: function (t, e) {
- var n = this,
- r = this.request({ method: "POST", data: t });
- r.on("success", e),
- r.on("error", function (t) {
- n.onError("xhr post error", t);
- });
- },
- },
- {
- key: "doPoll",
- value: function () {
- var t = this,
- e = this.request();
- e.on("data", this.onData.bind(this)),
- e.on("error", function (e) {
- t.onError("xhr poll error", e);
- }),
- (this.pollXhr = e);
- },
- },
- ]),
- s
- );
- })(Q),
- nt = (function (t) {
- i(o, t);
- var n = h(o);
- function o(t, r) {
- var i;
- return (
- e(this, o), A(c((i = n.call(this))), r), (i.opts = r), (i.method = r.method || "GET"), (i.uri = t), (i.async = !1 !== r.async), (i.data = void 0 !== r.data ? r.data : null), i.create(), i
- );
- }
- return (
- r(o, [
- {
- key: "create",
- value: function () {
- var t = this,
- e = w(this.opts, "agent", "pfx", "key", "passphrase", "cert", "ca", "ciphers", "rejectUnauthorized", "autoUnref");
- (e.xdomain = !!this.opts.xd), (e.xscheme = !!this.opts.xs);
- var n = (this.xhr = new b(e));
- try {
- n.open(this.method, this.uri, this.async);
- try {
- if (this.opts.extraHeaders)
- for (var r in (n.setDisableHeaderCheck && n.setDisableHeaderCheck(!0), this.opts.extraHeaders))
- this.opts.extraHeaders.hasOwnProperty(r) && n.setRequestHeader(r, this.opts.extraHeaders[r]);
- } catch (t) {}
- if ("POST" === this.method)
- try {
- n.setRequestHeader("Content-type", "text/plain;charset=UTF-8");
- } catch (t) {}
- try {
- n.setRequestHeader("Accept", "*/*");
- } catch (t) {}
- "withCredentials" in n && (n.withCredentials = this.opts.withCredentials),
- this.opts.requestTimeout && (n.timeout = this.opts.requestTimeout),
- (n.onreadystatechange = function () {
- 4 === n.readyState &&
- (200 === n.status || 1223 === n.status
- ? t.onLoad()
- : t.setTimeoutFn(function () {
- t.onError("number" == typeof n.status ? n.status : 0);
- }, 0));
- }),
- n.send(this.data);
- } catch (e) {
- return void this.setTimeoutFn(function () {
- t.onError(e);
- }, 0);
- }
- "undefined" != typeof document && ((this.index = o.requestsCount++), (o.requests[this.index] = this));
- },
- },
- {
- key: "onSuccess",
- value: function () {
- this.emit("success"), this.cleanup();
- },
- },
- {
- key: "onData",
- value: function (t) {
- this.emit("data", t), this.onSuccess();
- },
- },
- {
- key: "onError",
- value: function (t) {
- this.emit("error", t), this.cleanup(!0);
- },
- },
- {
- key: "cleanup",
- value: function (t) {
- if (void 0 !== this.xhr && null !== this.xhr) {
- if (((this.xhr.onreadystatechange = Z), t))
- try {
- this.xhr.abort();
- } catch (t) {}
- "undefined" != typeof document && delete o.requests[this.index], (this.xhr = null);
- }
- },
- },
- {
- key: "onLoad",
- value: function () {
- var t = this.xhr.responseText;
- null !== t && this.onData(t);
- },
- },
- {
- key: "abort",
- value: function () {
- this.cleanup();
- },
- },
- ]),
- o
- );
- })(R);
- if (((nt.requestsCount = 0), (nt.requests = {}), "undefined" != typeof document))
- if ("function" == typeof attachEvent) attachEvent("onunload", rt);
- else if ("function" == typeof addEventListener) {
- addEventListener("onpagehide" in k ? "pagehide" : "unload", rt, !1);
- }
- function rt() {
- for (var t in nt.requests) nt.requests.hasOwnProperty(t) && nt.requests[t].abort();
- }
- var ot =
- "function" == typeof Promise && "function" == typeof Promise.resolve
- ? function (t) {
- return Promise.resolve().then(t);
- }
- : function (t, e) {
- return e(t, 0);
- },
- it = k.WebSocket || k.MozWebSocket,
- st = "undefined" != typeof navigator && "string" == typeof navigator.product && "reactnative" === navigator.product.toLowerCase(),
- at = (function (t) {
- i(o, t);
- var n = h(o);
- function o(t) {
- var r;
- return e(this, o), ((r = n.call(this, t)).supportsBinary = !t.forceBase64), r;
- }
- return (
- r(o, [
- {
- key: "name",
- get: function () {
- return "websocket";
- },
- },
- {
- key: "doOpen",
- value: function () {
- if (this.check()) {
- var t = this.uri(),
- e = this.opts.protocols,
- n = st
- ? {}
- : w(
- this.opts,
- "agent",
- "perMessageDeflate",
- "pfx",
- "key",
- "passphrase",
- "cert",
- "ca",
- "ciphers",
- "rejectUnauthorized",
- "localAddress",
- "protocolVersion",
- "origin",
- "maxPayload",
- "family",
- "checkServerIdentity",
- );
- this.opts.extraHeaders && (n.headers = this.opts.extraHeaders);
- try {
- this.ws = st ? new it(t, e, n) : e ? new it(t, e) : new it(t);
- } catch (t) {
- return this.emit("error", t);
- }
- (this.ws.binaryType = this.socket.binaryType || "arraybuffer"), this.addEventListeners();
- }
- },
- },
- {
- key: "addEventListeners",
- value: function () {
- var t = this;
- (this.ws.onopen = function () {
- t.opts.autoUnref && t.ws._socket.unref(), t.onOpen();
- }),
- (this.ws.onclose = this.onClose.bind(this)),
- (this.ws.onmessage = function (e) {
- return t.onData(e.data);
- }),
- (this.ws.onerror = function (e) {
- return t.onError("websocket error", e);
- });
- },
- },
- {
- key: "write",
- value: function (t) {
- var e = this;
- this.writable = !1;
- for (
- var n = function (n) {
- var r = t[n],
- o = n === t.length - 1;
- x(r, e.supportsBinary, function (t) {
- try {
- e.ws.send(t);
- } catch (t) {}
- o &&
- ot(function () {
- (e.writable = !0), e.emit("drain");
- }, e.setTimeoutFn);
- });
- },
- r = 0;
- r < t.length;
- r++
- )
- n(r);
- },
- },
- {
- key: "doClose",
- value: function () {
- void 0 !== this.ws && (this.ws.close(), (this.ws = null));
- },
- },
- {
- key: "uri",
- value: function () {
- var t = this.query || {},
- e = this.opts.secure ? "wss" : "ws",
- n = "";
- this.opts.port && (("wss" === e && 443 !== Number(this.opts.port)) || ("ws" === e && 80 !== Number(this.opts.port))) && (n = ":" + this.opts.port),
- this.opts.timestampRequests && (t[this.opts.timestampParam] = X()),
- this.supportsBinary || (t.b64 = 1);
- var r = G.encode(t);
- return e + "://" + (-1 !== this.opts.hostname.indexOf(":") ? "[" + this.opts.hostname + "]" : this.opts.hostname) + n + this.opts.path + (r.length ? "?" + r : "");
- },
- },
- {
- key: "check",
- value: function () {
- return !(!it || ("__initialize" in it && this.name === o.prototype.name));
- },
- },
- ]),
- o
- );
- })(H),
- ct = { websocket: at, polling: et },
- ut = (function (n) {
- i(a, n);
- var s = h(a);
- function a(n) {
- var r,
- i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {};
- return (
- e(this, a),
- (r = s.call(this)),
- n && "object" === t(n) && ((i = n), (n = null)),
- n
- ? ((n = v(n)), (i.hostname = n.host), (i.secure = "https" === n.protocol || "wss" === n.protocol), (i.port = n.port), n.query && (i.query = n.query))
- : i.host && (i.hostname = v(i.host).host),
- A(c(r), i),
- (r.secure = null != i.secure ? i.secure : "undefined" != typeof location && "https:" === location.protocol),
- i.hostname && !i.port && (i.port = r.secure ? "443" : "80"),
- (r.hostname = i.hostname || ("undefined" != typeof location ? location.hostname : "localhost")),
- (r.port = i.port || ("undefined" != typeof location && location.port ? location.port : r.secure ? "443" : "80")),
- (r.transports = i.transports || ["polling", "websocket"]),
- (r.readyState = ""),
- (r.writeBuffer = []),
- (r.prevBufferLen = 0),
- (r.opts = o(
- {
- path: "/engine.io",
- agent: !1,
- withCredentials: !1,
- upgrade: !0,
- timestampParam: "t",
- rememberUpgrade: !1,
- rejectUnauthorized: !0,
- perMessageDeflate: { threshold: 1024 },
- transportOptions: {},
- closeOnBeforeunload: !0,
- },
- i,
- )),
- (r.opts.path = r.opts.path.replace(/\/$/, "") + "/"),
- "string" == typeof r.opts.query && (r.opts.query = G.decode(r.opts.query)),
- (r.id = null),
- (r.upgrades = null),
- (r.pingInterval = null),
- (r.pingTimeout = null),
- (r.pingTimeoutTimer = null),
- "function" == typeof addEventListener &&
- (r.opts.closeOnBeforeunload &&
- addEventListener(
- "beforeunload",
- function () {
- r.transport && (r.transport.removeAllListeners(), r.transport.close());
- },
- !1,
- ),
- "localhost" !== r.hostname &&
- ((r.offlineEventListener = function () {
- r.onClose("transport close");
- }),
- addEventListener("offline", r.offlineEventListener, !1))),
- r.open(),
- r
- );
- }
- return (
- r(a, [
- {
- key: "createTransport",
- value: function (t) {
- var e = (function (t) {
- var e = {};
- for (var n in t) t.hasOwnProperty(n) && (e[n] = t[n]);
- return e;
- })(this.opts.query);
- (e.EIO = 4), (e.transport = t), this.id && (e.sid = this.id);
- var n = o({}, this.opts.transportOptions[t], this.opts, { query: e, socket: this, hostname: this.hostname, secure: this.secure, port: this.port });
- return new ct[t](n);
- },
- },
- {
- key: "open",
- value: function () {
- var t,
- e = this;
- if (this.opts.rememberUpgrade && a.priorWebsocketSuccess && -1 !== this.transports.indexOf("websocket")) t = "websocket";
- else {
- if (0 === this.transports.length)
- return void this.setTimeoutFn(function () {
- e.emitReserved("error", "No transports available");
- }, 0);
- t = this.transports[0];
- }
- this.readyState = "opening";
- try {
- t = this.createTransport(t);
- } catch (t) {
- return this.transports.shift(), void this.open();
- }
- t.open(), this.setTransport(t);
- },
- },
- {
- key: "setTransport",
- value: function (t) {
- var e = this;
- this.transport && this.transport.removeAllListeners(),
- (this.transport = t),
- t
- .on("drain", this.onDrain.bind(this))
- .on("packet", this.onPacket.bind(this))
- .on("error", this.onError.bind(this))
- .on("close", function () {
- e.onClose("transport close");
- });
- },
- },
- {
- key: "probe",
- value: function (t) {
- var e = this,
- n = this.createTransport(t),
- r = !1;
- a.priorWebsocketSuccess = !1;
- var o = function () {
- r ||
- (n.send([{ type: "ping", data: "probe" }]),
- n.once("packet", function (t) {
- if (!r)
- if ("pong" === t.type && "probe" === t.data) {
- if (((e.upgrading = !0), e.emitReserved("upgrading", n), !n)) return;
- (a.priorWebsocketSuccess = "websocket" === n.name),
- e.transport.pause(function () {
- r || ("closed" !== e.readyState && (f(), e.setTransport(n), n.send([{ type: "upgrade" }]), e.emitReserved("upgrade", n), (n = null), (e.upgrading = !1), e.flush()));
- });
- } else {
- var o = new Error("probe error");
- (o.transport = n.name), e.emitReserved("upgradeError", o);
- }
- }));
- };
- function i() {
- r || ((r = !0), f(), n.close(), (n = null));
- }
- var s = function (t) {
- var r = new Error("probe error: " + t);
- (r.transport = n.name), i(), e.emitReserved("upgradeError", r);
- };
- function c() {
- s("transport closed");
- }
- function u() {
- s("socket closed");
- }
- function h(t) {
- n && t.name !== n.name && i();
- }
- var f = function () {
- n.removeListener("open", o), n.removeListener("error", s), n.removeListener("close", c), e.off("close", u), e.off("upgrading", h);
- };
- n.once("open", o), n.once("error", s), n.once("close", c), this.once("close", u), this.once("upgrading", h), n.open();
- },
- },
- {
- key: "onOpen",
- value: function () {
- if (
- ((this.readyState = "open"),
- (a.priorWebsocketSuccess = "websocket" === this.transport.name),
- this.emitReserved("open"),
- this.flush(),
- "open" === this.readyState && this.opts.upgrade && this.transport.pause)
- )
- for (var t = 0, e = this.upgrades.length; t < e; t++) this.probe(this.upgrades[t]);
- },
- },
- {
- key: "onPacket",
- value: function (t) {
- if ("opening" === this.readyState || "open" === this.readyState || "closing" === this.readyState)
- switch ((this.emitReserved("packet", t), this.emitReserved("heartbeat"), t.type)) {
- case "open":
- this.onHandshake(JSON.parse(t.data));
- break;
- case "ping":
- this.resetPingTimeout(), this.sendPacket("pong"), this.emitReserved("ping"), this.emitReserved("pong");
- break;
- case "error":
- var e = new Error("server error");
- (e.code = t.data), this.onError(e);
- break;
- case "message":
- this.emitReserved("data", t.data), this.emitReserved("message", t.data);
- }
- },
- },
- {
- key: "onHandshake",
- value: function (t) {
- this.emitReserved("handshake", t),
- (this.id = t.sid),
- (this.transport.query.sid = t.sid),
- (this.upgrades = this.filterUpgrades(t.upgrades)),
- (this.pingInterval = t.pingInterval),
- (this.pingTimeout = t.pingTimeout),
- this.onOpen(),
- "closed" !== this.readyState && this.resetPingTimeout();
- },
- },
- {
- key: "resetPingTimeout",
- value: function () {
- var t = this;
- this.clearTimeoutFn(this.pingTimeoutTimer),
- (this.pingTimeoutTimer = this.setTimeoutFn(function () {
- t.onClose("ping timeout");
- }, this.pingInterval + this.pingTimeout)),
- this.opts.autoUnref && this.pingTimeoutTimer.unref();
- },
- },
- {
- key: "onDrain",
- value: function () {
- this.writeBuffer.splice(0, this.prevBufferLen), (this.prevBufferLen = 0), 0 === this.writeBuffer.length ? this.emitReserved("drain") : this.flush();
- },
- },
- {
- key: "flush",
- value: function () {
- "closed" !== this.readyState &&
- this.transport.writable &&
- !this.upgrading &&
- this.writeBuffer.length &&
- (this.transport.send(this.writeBuffer), (this.prevBufferLen = this.writeBuffer.length), this.emitReserved("flush"));
- },
- },
- {
- key: "write",
- value: function (t, e, n) {
- return this.sendPacket("message", t, e, n), this;
- },
- },
- {
- key: "send",
- value: function (t, e, n) {
- return this.sendPacket("message", t, e, n), this;
- },
- },
- {
- key: "sendPacket",
- value: function (t, e, n, r) {
- if (("function" == typeof e && ((r = e), (e = void 0)), "function" == typeof n && ((r = n), (n = null)), "closing" !== this.readyState && "closed" !== this.readyState)) {
- (n = n || {}).compress = !1 !== n.compress;
- var o = { type: t, data: e, options: n };
- this.emitReserved("packetCreate", o), this.writeBuffer.push(o), r && this.once("flush", r), this.flush();
- }
- },
- },
- {
- key: "close",
- value: function () {
- var t = this,
- e = function () {
- t.onClose("forced close"), t.transport.close();
- },
- n = function n() {
- t.off("upgrade", n), t.off("upgradeError", n), e();
- },
- r = function () {
- t.once("upgrade", n), t.once("upgradeError", n);
- };
- return (
- ("opening" !== this.readyState && "open" !== this.readyState) ||
- ((this.readyState = "closing"),
- this.writeBuffer.length
- ? this.once("drain", function () {
- t.upgrading ? r() : e();
- })
- : this.upgrading
- ? r()
- : e()),
- this
- );
- },
- },
- {
- key: "onError",
- value: function (t) {
- (a.priorWebsocketSuccess = !1), this.emitReserved("error", t), this.onClose("transport error", t);
- },
- },
- {
- key: "onClose",
- value: function (t, e) {
- ("opening" !== this.readyState && "open" !== this.readyState && "closing" !== this.readyState) ||
- (this.clearTimeoutFn(this.pingTimeoutTimer),
- this.transport.removeAllListeners("close"),
- this.transport.close(),
- this.transport.removeAllListeners(),
- "function" == typeof removeEventListener && removeEventListener("offline", this.offlineEventListener, !1),
- (this.readyState = "closed"),
- (this.id = null),
- this.emitReserved("close", t, e),
- (this.writeBuffer = []),
- (this.prevBufferLen = 0));
- },
- },
- {
- key: "filterUpgrades",
- value: function (t) {
- for (var e = [], n = 0, r = t.length; n < r; n++) ~this.transports.indexOf(t[n]) && e.push(t[n]);
- return e;
- },
- },
- ]),
- a
- );
- })(R);
- ut.protocol = 4;
- var ht = "function" == typeof ArrayBuffer,
- ft = Object.prototype.toString,
- lt = "function" == typeof Blob || ("undefined" != typeof Blob && "[object BlobConstructor]" === ft.call(Blob)),
- pt = "function" == typeof File || ("undefined" != typeof File && "[object FileConstructor]" === ft.call(File));
- function dt(t) {
- return (
- (ht &&
- (t instanceof ArrayBuffer ||
- (function (t) {
- return "function" == typeof ArrayBuffer.isView ? ArrayBuffer.isView(t) : t.buffer instanceof ArrayBuffer;
- })(t))) ||
- (lt && t instanceof Blob) ||
- (pt && t instanceof File)
- );
- }
- function yt(e, n) {
- if (!e || "object" !== t(e)) return !1;
- if (Array.isArray(e)) {
- for (var r = 0, o = e.length; r < o; r++) if (yt(e[r])) return !0;
- return !1;
- }
- if (dt(e)) return !0;
- if (e.toJSON && "function" == typeof e.toJSON && 1 === arguments.length) return yt(e.toJSON(), !0);
- for (var i in e) if (Object.prototype.hasOwnProperty.call(e, i) && yt(e[i])) return !0;
- return !1;
- }
- function vt(t) {
- var e = [],
- n = t.data,
- r = t;
- return (r.data = mt(n, e)), (r.attachments = e.length), { packet: r, buffers: e };
- }
- function mt(e, n) {
- if (!e) return e;
- if (dt(e)) {
- var r = { _placeholder: !0, num: n.length };
- return n.push(e), r;
- }
- if (Array.isArray(e)) {
- for (var o = new Array(e.length), i = 0; i < e.length; i++) o[i] = mt(e[i], n);
- return o;
- }
- if ("object" === t(e) && !(e instanceof Date)) {
- var s = {};
- for (var a in e) e.hasOwnProperty(a) && (s[a] = mt(e[a], n));
- return s;
- }
- return e;
- }
- function gt(t, e) {
- return (t.data = kt(t.data, e)), (t.attachments = void 0), t;
- }
- function kt(e, n) {
- if (!e) return e;
- if (e && e._placeholder) return n[e.num];
- if (Array.isArray(e)) for (var r = 0; r < e.length; r++) e[r] = kt(e[r], n);
- else if ("object" === t(e)) for (var o in e) e.hasOwnProperty(o) && (e[o] = kt(e[o], n));
- return e;
- }
- var bt;
- !(function (t) {
- (t[(t.CONNECT = 0)] = "CONNECT"),
- (t[(t.DISCONNECT = 1)] = "DISCONNECT"),
- (t[(t.EVENT = 2)] = "EVENT"),
- (t[(t.ACK = 3)] = "ACK"),
- (t[(t.CONNECT_ERROR = 4)] = "CONNECT_ERROR"),
- (t[(t.BINARY_EVENT = 5)] = "BINARY_EVENT"),
- (t[(t.BINARY_ACK = 6)] = "BINARY_ACK");
- })(bt || (bt = {}));
- var wt = (function () {
- function t() {
- e(this, t);
- }
- return (
- r(t, [
- {
- key: "encode",
- value: function (t) {
- return (t.type !== bt.EVENT && t.type !== bt.ACK) || !yt(t) ? [this.encodeAsString(t)] : ((t.type = t.type === bt.EVENT ? bt.BINARY_EVENT : bt.BINARY_ACK), this.encodeAsBinary(t));
- },
- },
- {
- key: "encodeAsString",
- value: function (t) {
- var e = "" + t.type;
- return (
- (t.type !== bt.BINARY_EVENT && t.type !== bt.BINARY_ACK) || (e += t.attachments + "-"),
- t.nsp && "/" !== t.nsp && (e += t.nsp + ","),
- null != t.id && (e += t.id),
- null != t.data && (e += JSON.stringify(t.data)),
- e
- );
- },
- },
- {
- key: "encodeAsBinary",
- value: function (t) {
- var e = vt(t),
- n = this.encodeAsString(e.packet),
- r = e.buffers;
- return r.unshift(n), r;
- },
- },
- ]),
- t
- );
- })(),
- _t = (function (n) {
- i(a, n);
- var o = h(a);
- function a() {
- return e(this, a), o.call(this);
- }
- return (
- r(
- a,
- [
- {
- key: "add",
- value: function (t) {
- var e;
- if ("string" == typeof t)
- (e = this.decodeString(t)).type === bt.BINARY_EVENT || e.type === bt.BINARY_ACK
- ? ((this.reconstructor = new Et(e)), 0 === e.attachments && f(s(a.prototype), "emitReserved", this).call(this, "decoded", e))
- : f(s(a.prototype), "emitReserved", this).call(this, "decoded", e);
- else {
- if (!dt(t) && !t.base64) throw new Error("Unknown type: " + t);
- if (!this.reconstructor) throw new Error("got binary data when not reconstructing a packet");
- (e = this.reconstructor.takeBinaryData(t)) && ((this.reconstructor = null), f(s(a.prototype), "emitReserved", this).call(this, "decoded", e));
- }
- },
- },
- {
- key: "decodeString",
- value: function (t) {
- var e = 0,
- n = { type: Number(t.charAt(0)) };
- if (void 0 === bt[n.type]) throw new Error("unknown packet type " + n.type);
- if (n.type === bt.BINARY_EVENT || n.type === bt.BINARY_ACK) {
- for (var r = e + 1; "-" !== t.charAt(++e) && e != t.length; );
- var o = t.substring(r, e);
- if (o != Number(o) || "-" !== t.charAt(e)) throw new Error("Illegal attachments");
- n.attachments = Number(o);
- }
- if ("/" === t.charAt(e + 1)) {
- for (var i = e + 1; ++e; ) {
- if ("," === t.charAt(e)) break;
- if (e === t.length) break;
- }
- n.nsp = t.substring(i, e);
- } else n.nsp = "/";
- var s = t.charAt(e + 1);
- if ("" !== s && Number(s) == s) {
- for (var c = e + 1; ++e; ) {
- var u = t.charAt(e);
- if (null == u || Number(u) != u) {
- --e;
- break;
- }
- if (e === t.length) break;
- }
- n.id = Number(t.substring(c, e + 1));
- }
- if (t.charAt(++e)) {
- var h = (function (t) {
- try {
- return JSON.parse(t);
- } catch (t) {
- return !1;
- }
- })(t.substr(e));
- if (!a.isPayloadValid(n.type, h)) throw new Error("invalid payload");
- n.data = h;
- }
- return n;
- },
- },
- {
- key: "destroy",
- value: function () {
- this.reconstructor && this.reconstructor.finishedReconstruction();
- },
- },
- ],
- [
- {
- key: "isPayloadValid",
- value: function (e, n) {
- switch (e) {
- case bt.CONNECT:
- return "object" === t(n);
- case bt.DISCONNECT:
- return void 0 === n;
- case bt.CONNECT_ERROR:
- return "string" == typeof n || "object" === t(n);
- case bt.EVENT:
- case bt.BINARY_EVENT:
- return Array.isArray(n) && n.length > 0;
- case bt.ACK:
- case bt.BINARY_ACK:
- return Array.isArray(n);
- }
- },
- },
- ],
- ),
- a
- );
- })(R);
- var Et = (function () {
- function t(n) {
- e(this, t), (this.packet = n), (this.buffers = []), (this.reconPack = n);
- }
- return (
- r(t, [
- {
- key: "takeBinaryData",
- value: function (t) {
- if ((this.buffers.push(t), this.buffers.length === this.reconPack.attachments)) {
- var e = gt(this.reconPack, this.buffers);
- return this.finishedReconstruction(), e;
- }
- return null;
- },
- },
- {
- key: "finishedReconstruction",
- value: function () {
- (this.reconPack = null), (this.buffers = []);
- },
- },
- ]),
- t
- );
- })(),
- At = Object.freeze({
- __proto__: null,
- protocol: 5,
- get PacketType() {
- return bt;
- },
- Encoder: wt,
- Decoder: _t,
- });
- function Rt(t, e, n) {
- return (
- t.on(e, n),
- function () {
- t.off(e, n);
- }
- );
- }
- var Tt = Object.freeze({ connect: 1, connect_error: 1, disconnect: 1, disconnecting: 1, newListener: 1, removeListener: 1 }),
- Ct = (function (t) {
- i(o, t);
- var n = h(o);
- function o(t, r, i) {
- var s;
- return (
- e(this, o),
- ((s = n.call(this)).connected = !1),
- (s.disconnected = !0),
- (s.receiveBuffer = []),
- (s.sendBuffer = []),
- (s.ids = 0),
- (s.acks = {}),
- (s.flags = {}),
- (s.io = t),
- (s.nsp = r),
- i && i.auth && (s.auth = i.auth),
- s.io._autoConnect && s.open(),
- s
- );
- }
- return (
- r(o, [
- {
- key: "subEvents",
- value: function () {
- if (!this.subs) {
- var t = this.io;
- this.subs = [Rt(t, "open", this.onopen.bind(this)), Rt(t, "packet", this.onpacket.bind(this)), Rt(t, "error", this.onerror.bind(this)), Rt(t, "close", this.onclose.bind(this))];
- }
- },
- },
- {
- key: "active",
- get: function () {
- return !!this.subs;
- },
- },
- {
- key: "connect",
- value: function () {
- return this.connected || (this.subEvents(), this.io._reconnecting || this.io.open(), "open" === this.io._readyState && this.onopen()), this;
- },
- },
- {
- key: "open",
- value: function () {
- return this.connect();
- },
- },
- {
- key: "send",
- value: function () {
- for (var t = arguments.length, e = new Array(t), n = 0; n < t; n++) e[n] = arguments[n];
- return e.unshift("message"), this.emit.apply(this, e), this;
- },
- },
- {
- key: "emit",
- value: function (t) {
- if (Tt.hasOwnProperty(t)) throw new Error('"' + t + '" is a reserved event name');
- for (var e = arguments.length, n = new Array(e > 1 ? e - 1 : 0), r = 1; r < e; r++) n[r - 1] = arguments[r];
- n.unshift(t);
- var o = { type: bt.EVENT, data: n, options: {} };
- if (((o.options.compress = !1 !== this.flags.compress), "function" == typeof n[n.length - 1])) {
- var i = this.ids++,
- s = n.pop();
- this._registerAckCallback(i, s), (o.id = i);
- }
- var a = this.io.engine && this.io.engine.transport && this.io.engine.transport.writable,
- c = this.flags.volatile && (!a || !this.connected);
- return c || (this.connected ? this.packet(o) : this.sendBuffer.push(o)), (this.flags = {}), this;
- },
- },
- {
- key: "_registerAckCallback",
- value: function (t, e) {
- var n = this,
- r = this.flags.timeout;
- if (void 0 !== r) {
- var o = this.io.setTimeoutFn(function () {
- delete n.acks[t];
- for (var r = 0; r < n.sendBuffer.length; r++) n.sendBuffer[r].id === t && n.sendBuffer.splice(r, 1);
- e.call(n, new Error("operation has timed out"));
- }, r);
- this.acks[t] = function () {
- n.io.clearTimeoutFn(o);
- for (var t = arguments.length, r = new Array(t), i = 0; i < t; i++) r[i] = arguments[i];
- e.apply(n, [null].concat(r));
- };
- } else this.acks[t] = e;
- },
- },
- {
- key: "packet",
- value: function (t) {
- (t.nsp = this.nsp), this.io._packet(t);
- },
- },
- {
- key: "onopen",
- value: function () {
- var t = this;
- "function" == typeof this.auth
- ? this.auth(function (e) {
- t.packet({ type: bt.CONNECT, data: e });
- })
- : this.packet({ type: bt.CONNECT, data: this.auth });
- },
- },
- {
- key: "onerror",
- value: function (t) {
- this.connected || this.emitReserved("connect_error", t);
- },
- },
- {
- key: "onclose",
- value: function (t) {
- (this.connected = !1), (this.disconnected = !0), delete this.id, this.emitReserved("disconnect", t);
- },
- },
- {
- key: "onpacket",
- value: function (t) {
- if (t.nsp === this.nsp)
- switch (t.type) {
- case bt.CONNECT:
- if (t.data && t.data.sid) {
- var e = t.data.sid;
- this.onconnect(e);
- } else
- this.emitReserved(
- "connect_error",
- new Error(
- "It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)",
- ),
- );
- break;
- case bt.EVENT:
- case bt.BINARY_EVENT:
- this.onevent(t);
- break;
- case bt.ACK:
- case bt.BINARY_ACK:
- this.onack(t);
- break;
- case bt.DISCONNECT:
- this.ondisconnect();
- break;
- case bt.CONNECT_ERROR:
- this.destroy();
- var n = new Error(t.data.message);
- (n.data = t.data.data), this.emitReserved("connect_error", n);
- }
- },
- },
- {
- key: "onevent",
- value: function (t) {
- var e = t.data || [];
- null != t.id && e.push(this.ack(t.id)), this.connected ? this.emitEvent(e) : this.receiveBuffer.push(Object.freeze(e));
- },
- },
- {
- key: "emitEvent",
- value: function (t) {
- if (this._anyListeners && this._anyListeners.length) {
- var e,
- n = p(this._anyListeners.slice());
- try {
- for (n.s(); !(e = n.n()).done; ) {
- e.value.apply(this, t);
- }
- } catch (t) {
- n.e(t);
- } finally {
- n.f();
- }
- }
- f(s(o.prototype), "emit", this).apply(this, t);
- },
- },
- {
- key: "ack",
- value: function (t) {
- var e = this,
- n = !1;
- return function () {
- if (!n) {
- n = !0;
- for (var r = arguments.length, o = new Array(r), i = 0; i < r; i++) o[i] = arguments[i];
- e.packet({ type: bt.ACK, id: t, data: o });
- }
- };
- },
- },
- {
- key: "onack",
- value: function (t) {
- var e = this.acks[t.id];
- "function" == typeof e && (e.apply(this, t.data), delete this.acks[t.id]);
- },
- },
- {
- key: "onconnect",
- value: function (t) {
- (this.id = t), (this.connected = !0), (this.disconnected = !1), this.emitBuffered(), this.emitReserved("connect");
- },
- },
- {
- key: "emitBuffered",
- value: function () {
- var t = this;
- this.receiveBuffer.forEach(function (e) {
- return t.emitEvent(e);
- }),
- (this.receiveBuffer = []),
- this.sendBuffer.forEach(function (e) {
- return t.packet(e);
- }),
- (this.sendBuffer = []);
- },
- },
- {
- key: "ondisconnect",
- value: function () {
- this.destroy(), this.onclose("io server disconnect");
- },
- },
- {
- key: "destroy",
- value: function () {
- this.subs &&
- (this.subs.forEach(function (t) {
- return t();
- }),
- (this.subs = void 0)),
- this.io._destroy(this);
- },
- },
- {
- key: "disconnect",
- value: function () {
- return this.connected && this.packet({ type: bt.DISCONNECT }), this.destroy(), this.connected && this.onclose("io client disconnect"), this;
- },
- },
- {
- key: "close",
- value: function () {
- return this.disconnect();
- },
- },
- {
- key: "compress",
- value: function (t) {
- return (this.flags.compress = t), this;
- },
- },
- {
- key: "volatile",
- get: function () {
- return (this.flags.volatile = !0), this;
- },
- },
- {
- key: "timeout",
- value: function (t) {
- return (this.flags.timeout = t), this;
- },
- },
- {
- key: "onAny",
- value: function (t) {
- return (this._anyListeners = this._anyListeners || []), this._anyListeners.push(t), this;
- },
- },
- {
- key: "prependAny",
- value: function (t) {
- return (this._anyListeners = this._anyListeners || []), this._anyListeners.unshift(t), this;
- },
- },
- {
- key: "offAny",
- value: function (t) {
- if (!this._anyListeners) return this;
- if (t) {
- for (var e = this._anyListeners, n = 0; n < e.length; n++) if (t === e[n]) return e.splice(n, 1), this;
- } else this._anyListeners = [];
- return this;
- },
- },
- {
- key: "listenersAny",
- value: function () {
- return this._anyListeners || [];
- },
- },
- ]),
- o
- );
- })(R),
- Ot = St;
- function St(t) {
- (t = t || {}), (this.ms = t.min || 100), (this.max = t.max || 1e4), (this.factor = t.factor || 2), (this.jitter = t.jitter > 0 && t.jitter <= 1 ? t.jitter : 0), (this.attempts = 0);
- }
- (St.prototype.duration = function () {
- var t = this.ms * Math.pow(this.factor, this.attempts++);
- if (this.jitter) {
- var e = Math.random(),
- n = Math.floor(e * this.jitter * t);
- t = 0 == (1 & Math.floor(10 * e)) ? t - n : t + n;
- }
- return 0 | Math.min(t, this.max);
- }),
- (St.prototype.reset = function () {
- this.attempts = 0;
- }),
- (St.prototype.setMin = function (t) {
- this.ms = t;
- }),
- (St.prototype.setMax = function (t) {
- this.max = t;
- }),
- (St.prototype.setJitter = function (t) {
- this.jitter = t;
- });
- var Bt = (function (n) {
- i(s, n);
- var o = h(s);
- function s(n, r) {
- var i, a;
- e(this, s),
- ((i = o.call(this)).nsps = {}),
- (i.subs = []),
- n && "object" === t(n) && ((r = n), (n = void 0)),
- ((r = r || {}).path = r.path || "/socket.io"),
- (i.opts = r),
- A(c(i), r),
- i.reconnection(!1 !== r.reconnection),
- i.reconnectionAttempts(r.reconnectionAttempts || 1 / 0),
- i.reconnectionDelay(r.reconnectionDelay || 1e3),
- i.reconnectionDelayMax(r.reconnectionDelayMax || 5e3),
- i.randomizationFactor(null !== (a = r.randomizationFactor) && void 0 !== a ? a : 0.5),
- (i.backoff = new Ot({ min: i.reconnectionDelay(), max: i.reconnectionDelayMax(), jitter: i.randomizationFactor() })),
- i.timeout(null == r.timeout ? 2e4 : r.timeout),
- (i._readyState = "closed"),
- (i.uri = n);
- var u = r.parser || At;
- return (i.encoder = new u.Encoder()), (i.decoder = new u.Decoder()), (i._autoConnect = !1 !== r.autoConnect), i._autoConnect && i.open(), i;
- }
- return (
- r(s, [
- {
- key: "reconnection",
- value: function (t) {
- return arguments.length ? ((this._reconnection = !!t), this) : this._reconnection;
- },
- },
- {
- key: "reconnectionAttempts",
- value: function (t) {
- return void 0 === t ? this._reconnectionAttempts : ((this._reconnectionAttempts = t), this);
- },
- },
- {
- key: "reconnectionDelay",
- value: function (t) {
- var e;
- return void 0 === t ? this._reconnectionDelay : ((this._reconnectionDelay = t), null === (e = this.backoff) || void 0 === e || e.setMin(t), this);
- },
- },
- {
- key: "randomizationFactor",
- value: function (t) {
- var e;
- return void 0 === t ? this._randomizationFactor : ((this._randomizationFactor = t), null === (e = this.backoff) || void 0 === e || e.setJitter(t), this);
- },
- },
- {
- key: "reconnectionDelayMax",
- value: function (t) {
- var e;
- return void 0 === t ? this._reconnectionDelayMax : ((this._reconnectionDelayMax = t), null === (e = this.backoff) || void 0 === e || e.setMax(t), this);
- },
- },
- {
- key: "timeout",
- value: function (t) {
- return arguments.length ? ((this._timeout = t), this) : this._timeout;
- },
- },
- {
- key: "maybeReconnectOnOpen",
- value: function () {
- !this._reconnecting && this._reconnection && 0 === this.backoff.attempts && this.reconnect();
- },
- },
- {
- key: "open",
- value: function (t) {
- var e = this;
- if (~this._readyState.indexOf("open")) return this;
- this.engine = new ut(this.uri, this.opts);
- var n = this.engine,
- r = this;
- (this._readyState = "opening"), (this.skipReconnect = !1);
- var o = Rt(n, "open", function () {
- r.onopen(), t && t();
- }),
- i = Rt(n, "error", function (n) {
- r.cleanup(), (r._readyState = "closed"), e.emitReserved("error", n), t ? t(n) : r.maybeReconnectOnOpen();
- });
- if (!1 !== this._timeout) {
- var s = this._timeout;
- 0 === s && o();
- var a = this.setTimeoutFn(function () {
- o(), n.close(), n.emit("error", new Error("timeout"));
- }, s);
- this.opts.autoUnref && a.unref(),
- this.subs.push(function () {
- clearTimeout(a);
- });
- }
- return this.subs.push(o), this.subs.push(i), this;
- },
- },
- {
- key: "connect",
- value: function (t) {
- return this.open(t);
- },
- },
- {
- key: "onopen",
- value: function () {
- this.cleanup(), (this._readyState = "open"), this.emitReserved("open");
- var t = this.engine;
- this.subs.push(
- Rt(t, "ping", this.onping.bind(this)),
- Rt(t, "data", this.ondata.bind(this)),
- Rt(t, "error", this.onerror.bind(this)),
- Rt(t, "close", this.onclose.bind(this)),
- Rt(this.decoder, "decoded", this.ondecoded.bind(this)),
- );
- },
- },
- {
- key: "onping",
- value: function () {
- this.emitReserved("ping");
- },
- },
- {
- key: "ondata",
- value: function (t) {
- this.decoder.add(t);
- },
- },
- {
- key: "ondecoded",
- value: function (t) {
- this.emitReserved("packet", t);
- },
- },
- {
- key: "onerror",
- value: function (t) {
- this.emitReserved("error", t);
- },
- },
- {
- key: "socket",
- value: function (t, e) {
- var n = this.nsps[t];
- return n || ((n = new Ct(this, t, e)), (this.nsps[t] = n)), n;
- },
- },
- {
- key: "_destroy",
- value: function (t) {
- for (var e = 0, n = Object.keys(this.nsps); e < n.length; e++) {
- var r = n[e];
- if (this.nsps[r].active) return;
- }
- this._close();
- },
- },
- {
- key: "_packet",
- value: function (t) {
- for (var e = this.encoder.encode(t), n = 0; n < e.length; n++) this.engine.write(e[n], t.options);
- },
- },
- {
- key: "cleanup",
- value: function () {
- this.subs.forEach(function (t) {
- return t();
- }),
- (this.subs.length = 0),
- this.decoder.destroy();
- },
- },
- {
- key: "_close",
- value: function () {
- (this.skipReconnect = !0), (this._reconnecting = !1), this.onclose("forced close"), this.engine && this.engine.close();
- },
- },
- {
- key: "disconnect",
- value: function () {
- return this._close();
- },
- },
- {
- key: "onclose",
- value: function (t) {
- this.cleanup(), this.backoff.reset(), (this._readyState = "closed"), this.emitReserved("close", t), this._reconnection && !this.skipReconnect && this.reconnect();
- },
- },
- {
- key: "reconnect",
- value: function () {
- var t = this;
- if (this._reconnecting || this.skipReconnect) return this;
- var e = this;
- if (this.backoff.attempts >= this._reconnectionAttempts) this.backoff.reset(), this.emitReserved("reconnect_failed"), (this._reconnecting = !1);
- else {
- var n = this.backoff.duration();
- this._reconnecting = !0;
- var r = this.setTimeoutFn(function () {
- e.skipReconnect ||
- (t.emitReserved("reconnect_attempt", e.backoff.attempts),
- e.skipReconnect ||
- e.open(function (n) {
- n ? ((e._reconnecting = !1), e.reconnect(), t.emitReserved("reconnect_error", n)) : e.onreconnect();
- }));
- }, n);
- this.opts.autoUnref && r.unref(),
- this.subs.push(function () {
- clearTimeout(r);
- });
- }
- },
- },
- {
- key: "onreconnect",
- value: function () {
- var t = this.backoff.attempts;
- (this._reconnecting = !1), this.backoff.reset(), this.emitReserved("reconnect", t);
- },
- },
- ]),
- s
- );
- })(R),
- Nt = {};
- function xt(e, n) {
- "object" === t(e) && ((n = e), (e = void 0));
- var r,
- o = (function (t) {
- var e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "",
- n = arguments.length > 2 ? arguments[2] : void 0,
- r = t;
- (n = n || ("undefined" != typeof location && location)),
- null == t && (t = n.protocol + "//" + n.host),
- "string" == typeof t &&
- ("/" === t.charAt(0) && (t = "/" === t.charAt(1) ? n.protocol + t : n.host + t), /^(https?|wss?):\/\//.test(t) || (t = void 0 !== n ? n.protocol + "//" + t : "https://" + t), (r = v(t))),
- r.port || (/^(http|ws)$/.test(r.protocol) ? (r.port = "80") : /^(http|ws)s$/.test(r.protocol) && (r.port = "443")),
- (r.path = r.path || "/");
- var o = -1 !== r.host.indexOf(":") ? "[" + r.host + "]" : r.host;
- return (r.id = r.protocol + "://" + o + ":" + r.port + e), (r.href = r.protocol + "://" + o + (n && n.port === r.port ? "" : ":" + r.port)), r;
- })(e, (n = n || {}).path || "/socket.io"),
- i = o.source,
- s = o.id,
- a = o.path,
- c = Nt[s] && a in Nt[s].nsps;
- return (
- n.forceNew || n["force new connection"] || !1 === n.multiplex || c ? (r = new Bt(i, n)) : (Nt[s] || (Nt[s] = new Bt(i, n)), (r = Nt[s])),
- o.query && !n.query && (n.query = o.queryKey),
- r.socket(o.path, n)
- );
- }
- return o(xt, { Manager: Bt, Socket: Ct, io: xt, connect: xt }), xt;
- });
- //# sourceMappingURL=socket.io.min.js.map
|