12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060 |
- /*!
- * 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
|