signalr.min.js 263 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830
  1. ;(function webpackUniversalModuleDefinition(root, factory) {
  2. if (typeof exports === 'object' && typeof module === 'object') module.exports = factory()
  3. else if (typeof define === 'function' && define.amd) define([], factory)
  4. else if (typeof exports === 'object') exports['signalR'] = factory()
  5. else root['signalR'] = factory()
  6. })(window, function () {
  7. return (function (modules) {
  8. var installedModules = {}
  9. function __webpack_require__(moduleId) {
  10. if (installedModules[moduleId]) {
  11. return installedModules[moduleId].exports
  12. }
  13. var module = (installedModules[moduleId] = { i: moduleId, l: false, exports: {} })
  14. modules[moduleId].call(module.exports, module, module.exports, __webpack_require__)
  15. module.l = true
  16. return module.exports
  17. }
  18. __webpack_require__.m = modules
  19. __webpack_require__.c = installedModules
  20. __webpack_require__.d = function (exports, name, getter) {
  21. if (!__webpack_require__.o(exports, name)) {
  22. Object.defineProperty(exports, name, { enumerable: true, get: getter })
  23. }
  24. }
  25. __webpack_require__.r = function (exports) {
  26. if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  27. Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' })
  28. }
  29. Object.defineProperty(exports, '__esModule', { value: true })
  30. }
  31. __webpack_require__.t = function (value, mode) {
  32. if (mode & 1) value = __webpack_require__(value)
  33. if (mode & 8) return value
  34. if (mode & 4 && typeof value === 'object' && value && value.__esModule) return value
  35. var ns = Object.create(null)
  36. __webpack_require__.r(ns)
  37. Object.defineProperty(ns, 'default', { enumerable: true, value: value })
  38. if (mode & 2 && typeof value != 'string')
  39. for (var key in value)
  40. __webpack_require__.d(
  41. ns,
  42. key,
  43. function (key) {
  44. return value[key]
  45. }.bind(null, key)
  46. )
  47. return ns
  48. }
  49. __webpack_require__.n = function (module) {
  50. var getter =
  51. module && module.__esModule
  52. ? function getDefault() {
  53. return module['default']
  54. }
  55. : function getModuleExports() {
  56. return module
  57. }
  58. __webpack_require__.d(getter, 'a', getter)
  59. return getter
  60. }
  61. __webpack_require__.o = function (object, property) {
  62. return Object.prototype.hasOwnProperty.call(object, property)
  63. }
  64. __webpack_require__.p = ''
  65. return __webpack_require__((__webpack_require__.s = 0))
  66. })([
  67. function (module, __webpack_exports__, __webpack_require__) {
  68. 'use strict'
  69. __webpack_require__.r(__webpack_exports__)
  70. var es6_promise_dist_es6_promise_auto_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(1)
  71. var es6_promise_dist_es6_promise_auto_js__WEBPACK_IMPORTED_MODULE_0___default = __webpack_require__.n(es6_promise_dist_es6_promise_auto_js__WEBPACK_IMPORTED_MODULE_0__)
  72. var _index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3)
  73. __webpack_require__.d(__webpack_exports__, 'AbortError', function () {
  74. return _index__WEBPACK_IMPORTED_MODULE_1__['AbortError']
  75. })
  76. __webpack_require__.d(__webpack_exports__, 'HttpError', function () {
  77. return _index__WEBPACK_IMPORTED_MODULE_1__['HttpError']
  78. })
  79. __webpack_require__.d(__webpack_exports__, 'TimeoutError', function () {
  80. return _index__WEBPACK_IMPORTED_MODULE_1__['TimeoutError']
  81. })
  82. __webpack_require__.d(__webpack_exports__, 'HttpClient', function () {
  83. return _index__WEBPACK_IMPORTED_MODULE_1__['HttpClient']
  84. })
  85. __webpack_require__.d(__webpack_exports__, 'HttpResponse', function () {
  86. return _index__WEBPACK_IMPORTED_MODULE_1__['HttpResponse']
  87. })
  88. __webpack_require__.d(__webpack_exports__, 'DefaultHttpClient', function () {
  89. return _index__WEBPACK_IMPORTED_MODULE_1__['DefaultHttpClient']
  90. })
  91. __webpack_require__.d(__webpack_exports__, 'HubConnection', function () {
  92. return _index__WEBPACK_IMPORTED_MODULE_1__['HubConnection']
  93. })
  94. __webpack_require__.d(__webpack_exports__, 'HubConnectionState', function () {
  95. return _index__WEBPACK_IMPORTED_MODULE_1__['HubConnectionState']
  96. })
  97. __webpack_require__.d(__webpack_exports__, 'HubConnectionBuilder', function () {
  98. return _index__WEBPACK_IMPORTED_MODULE_1__['HubConnectionBuilder']
  99. })
  100. __webpack_require__.d(__webpack_exports__, 'MessageType', function () {
  101. return _index__WEBPACK_IMPORTED_MODULE_1__['MessageType']
  102. })
  103. __webpack_require__.d(__webpack_exports__, 'LogLevel', function () {
  104. return _index__WEBPACK_IMPORTED_MODULE_1__['LogLevel']
  105. })
  106. __webpack_require__.d(__webpack_exports__, 'HttpTransportType', function () {
  107. return _index__WEBPACK_IMPORTED_MODULE_1__['HttpTransportType']
  108. })
  109. __webpack_require__.d(__webpack_exports__, 'TransferFormat', function () {
  110. return _index__WEBPACK_IMPORTED_MODULE_1__['TransferFormat']
  111. })
  112. __webpack_require__.d(__webpack_exports__, 'NullLogger', function () {
  113. return _index__WEBPACK_IMPORTED_MODULE_1__['NullLogger']
  114. })
  115. __webpack_require__.d(__webpack_exports__, 'JsonHubProtocol', function () {
  116. return _index__WEBPACK_IMPORTED_MODULE_1__['JsonHubProtocol']
  117. })
  118. __webpack_require__.d(__webpack_exports__, 'Subject', function () {
  119. return _index__WEBPACK_IMPORTED_MODULE_1__['Subject']
  120. })
  121. __webpack_require__.d(__webpack_exports__, 'VERSION', function () {
  122. return _index__WEBPACK_IMPORTED_MODULE_1__['VERSION']
  123. })
  124. if (!Uint8Array.prototype.indexOf) {
  125. Object.defineProperty(Uint8Array.prototype, 'indexOf', { value: Array.prototype.indexOf, writable: true })
  126. }
  127. if (!Uint8Array.prototype.slice) {
  128. Object.defineProperty(Uint8Array.prototype, 'slice', {
  129. value: function (start, end) {
  130. return new Uint8Array(Array.prototype.slice.call(this, start, end))
  131. },
  132. writable: true,
  133. })
  134. }
  135. if (!Uint8Array.prototype.forEach) {
  136. Object.defineProperty(Uint8Array.prototype, 'forEach', { value: Array.prototype.forEach, writable: true })
  137. }
  138. },
  139. function (module, exports, __webpack_require__) {
  140. ;(function (global) {
  141. var require
  142. /*!
  143. * @overview es6-promise - a tiny implementation of Promises/A+.
  144. * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
  145. * @license Licensed under MIT license
  146. * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
  147. * @version v4.2.2+97478eb6
  148. */
  149. /*!
  150. * @overview es6-promise - a tiny implementation of Promises/A+.
  151. * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
  152. * @license Licensed under MIT license
  153. * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
  154. * @version v4.2.2+97478eb6
  155. */
  156. ;(function (global, factory) {
  157. true ? (module.exports = factory()) : undefined
  158. })(this, function () {
  159. 'use strict'
  160. function objectOrFunction(x) {
  161. var type = typeof x
  162. return x !== null && (type === 'object' || type === 'function')
  163. }
  164. function isFunction(x) {
  165. return typeof x === 'function'
  166. }
  167. var _isArray = void 0
  168. if (Array.isArray) {
  169. _isArray = Array.isArray
  170. } else {
  171. _isArray = function (x) {
  172. return Object.prototype.toString.call(x) === '[object Array]'
  173. }
  174. }
  175. var isArray = _isArray
  176. var len = 0
  177. var vertxNext = void 0
  178. var customSchedulerFn = void 0
  179. var asap = function asap(callback, arg) {
  180. queue[len] = callback
  181. queue[len + 1] = arg
  182. len += 2
  183. if (len === 2) {
  184. if (customSchedulerFn) {
  185. customSchedulerFn(flush)
  186. } else {
  187. scheduleFlush()
  188. }
  189. }
  190. }
  191. function setScheduler(scheduleFn) {
  192. customSchedulerFn = scheduleFn
  193. }
  194. function setAsap(asapFn) {
  195. asap = asapFn
  196. }
  197. var browserWindow = typeof window !== 'undefined' ? window : undefined
  198. var browserGlobal = browserWindow || {}
  199. var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver
  200. var isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]'
  201. var isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined'
  202. function useNextTick() {
  203. return function () {
  204. return process.nextTick(flush)
  205. }
  206. }
  207. function useVertxTimer() {
  208. if (typeof vertxNext !== 'undefined') {
  209. return function () {
  210. vertxNext(flush)
  211. }
  212. }
  213. return useSetTimeout()
  214. }
  215. function useMutationObserver() {
  216. var iterations = 0
  217. var observer = new BrowserMutationObserver(flush)
  218. var node = document.createTextNode('')
  219. observer.observe(node, { characterData: true })
  220. return function () {
  221. node.data = iterations = ++iterations % 2
  222. }
  223. }
  224. function useMessageChannel() {
  225. var channel = new MessageChannel()
  226. channel.port1.onmessage = flush
  227. return function () {
  228. return channel.port2.postMessage(0)
  229. }
  230. }
  231. function useSetTimeout() {
  232. var globalSetTimeout = setTimeout
  233. return function () {
  234. return globalSetTimeout(flush, 1)
  235. }
  236. }
  237. var queue = new Array(1e3)
  238. function flush() {
  239. for (var i = 0; i < len; i += 2) {
  240. var callback = queue[i]
  241. var arg = queue[i + 1]
  242. callback(arg)
  243. queue[i] = undefined
  244. queue[i + 1] = undefined
  245. }
  246. len = 0
  247. }
  248. function attemptVertx() {
  249. try {
  250. var r = require
  251. var vertx = __webpack_require__(
  252. !(function webpackMissingModule() {
  253. var e = new Error("Cannot find module 'vertx'")
  254. e.code = 'MODULE_NOT_FOUND'
  255. throw e
  256. })()
  257. )
  258. vertxNext = vertx.runOnLoop || vertx.runOnContext
  259. return useVertxTimer()
  260. } catch (e) {
  261. return useSetTimeout()
  262. }
  263. }
  264. var scheduleFlush = void 0
  265. if (isNode) {
  266. scheduleFlush = useNextTick()
  267. } else if (BrowserMutationObserver) {
  268. scheduleFlush = useMutationObserver()
  269. } else if (isWorker) {
  270. scheduleFlush = useMessageChannel()
  271. } else if (browserWindow === undefined && 'function' === 'function') {
  272. scheduleFlush = attemptVertx()
  273. } else {
  274. scheduleFlush = useSetTimeout()
  275. }
  276. function then(onFulfillment, onRejection) {
  277. var parent = this
  278. var child = new this.constructor(noop)
  279. if (child[PROMISE_ID] === undefined) {
  280. makePromise(child)
  281. }
  282. var _state = parent._state
  283. if (_state) {
  284. var callback = arguments[_state - 1]
  285. asap(function () {
  286. return invokeCallback(_state, child, callback, parent._result)
  287. })
  288. } else {
  289. subscribe(parent, child, onFulfillment, onRejection)
  290. }
  291. return child
  292. }
  293. function resolve$1(object) {
  294. var Constructor = this
  295. if (object && typeof object === 'object' && object.constructor === Constructor) {
  296. return object
  297. }
  298. var promise = new Constructor(noop)
  299. resolve(promise, object)
  300. return promise
  301. }
  302. var PROMISE_ID = Math.random().toString(36).substring(16)
  303. function noop() {}
  304. var PENDING = void 0
  305. var FULFILLED = 1
  306. var REJECTED = 2
  307. var GET_THEN_ERROR = new ErrorObject()
  308. function selfFulfillment() {
  309. return new TypeError('You cannot resolve a promise with itself')
  310. }
  311. function cannotReturnOwn() {
  312. return new TypeError('A promises callback cannot return that same promise.')
  313. }
  314. function getThen(promise) {
  315. try {
  316. return promise.then
  317. } catch (error) {
  318. GET_THEN_ERROR.error = error
  319. return GET_THEN_ERROR
  320. }
  321. }
  322. function tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {
  323. try {
  324. then$$1.call(value, fulfillmentHandler, rejectionHandler)
  325. } catch (e) {
  326. return e
  327. }
  328. }
  329. function handleForeignThenable(promise, thenable, then$$1) {
  330. asap(function (promise) {
  331. var sealed = false
  332. var error = tryThen(
  333. then$$1,
  334. thenable,
  335. function (value) {
  336. if (sealed) {
  337. return
  338. }
  339. sealed = true
  340. if (thenable !== value) {
  341. resolve(promise, value)
  342. } else {
  343. fulfill(promise, value)
  344. }
  345. },
  346. function (reason) {
  347. if (sealed) {
  348. return
  349. }
  350. sealed = true
  351. reject(promise, reason)
  352. },
  353. 'Settle: ' + (promise._label || ' unknown promise')
  354. )
  355. if (!sealed && error) {
  356. sealed = true
  357. reject(promise, error)
  358. }
  359. }, promise)
  360. }
  361. function handleOwnThenable(promise, thenable) {
  362. if (thenable._state === FULFILLED) {
  363. fulfill(promise, thenable._result)
  364. } else if (thenable._state === REJECTED) {
  365. reject(promise, thenable._result)
  366. } else {
  367. subscribe(
  368. thenable,
  369. undefined,
  370. function (value) {
  371. return resolve(promise, value)
  372. },
  373. function (reason) {
  374. return reject(promise, reason)
  375. }
  376. )
  377. }
  378. }
  379. function handleMaybeThenable(promise, maybeThenable, then$$1) {
  380. if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {
  381. handleOwnThenable(promise, maybeThenable)
  382. } else {
  383. if (then$$1 === GET_THEN_ERROR) {
  384. reject(promise, GET_THEN_ERROR.error)
  385. GET_THEN_ERROR.error = null
  386. } else if (then$$1 === undefined) {
  387. fulfill(promise, maybeThenable)
  388. } else if (isFunction(then$$1)) {
  389. handleForeignThenable(promise, maybeThenable, then$$1)
  390. } else {
  391. fulfill(promise, maybeThenable)
  392. }
  393. }
  394. }
  395. function resolve(promise, value) {
  396. if (promise === value) {
  397. reject(promise, selfFulfillment())
  398. } else if (objectOrFunction(value)) {
  399. handleMaybeThenable(promise, value, getThen(value))
  400. } else {
  401. fulfill(promise, value)
  402. }
  403. }
  404. function publishRejection(promise) {
  405. if (promise._onerror) {
  406. promise._onerror(promise._result)
  407. }
  408. publish(promise)
  409. }
  410. function fulfill(promise, value) {
  411. if (promise._state !== PENDING) {
  412. return
  413. }
  414. promise._result = value
  415. promise._state = FULFILLED
  416. if (promise._subscribers.length !== 0) {
  417. asap(publish, promise)
  418. }
  419. }
  420. function reject(promise, reason) {
  421. if (promise._state !== PENDING) {
  422. return
  423. }
  424. promise._state = REJECTED
  425. promise._result = reason
  426. asap(publishRejection, promise)
  427. }
  428. function subscribe(parent, child, onFulfillment, onRejection) {
  429. var _subscribers = parent._subscribers
  430. var length = _subscribers.length
  431. parent._onerror = null
  432. _subscribers[length] = child
  433. _subscribers[length + FULFILLED] = onFulfillment
  434. _subscribers[length + REJECTED] = onRejection
  435. if (length === 0 && parent._state) {
  436. asap(publish, parent)
  437. }
  438. }
  439. function publish(promise) {
  440. var subscribers = promise._subscribers
  441. var settled = promise._state
  442. if (subscribers.length === 0) {
  443. return
  444. }
  445. var child = void 0,
  446. callback = void 0,
  447. detail = promise._result
  448. for (var i = 0; i < subscribers.length; i += 3) {
  449. child = subscribers[i]
  450. callback = subscribers[i + settled]
  451. if (child) {
  452. invokeCallback(settled, child, callback, detail)
  453. } else {
  454. callback(detail)
  455. }
  456. }
  457. promise._subscribers.length = 0
  458. }
  459. function ErrorObject() {
  460. this.error = null
  461. }
  462. var TRY_CATCH_ERROR = new ErrorObject()
  463. function tryCatch(callback, detail) {
  464. try {
  465. return callback(detail)
  466. } catch (e) {
  467. TRY_CATCH_ERROR.error = e
  468. return TRY_CATCH_ERROR
  469. }
  470. }
  471. function invokeCallback(settled, promise, callback, detail) {
  472. var hasCallback = isFunction(callback),
  473. value = void 0,
  474. error = void 0,
  475. succeeded = void 0,
  476. failed = void 0
  477. if (hasCallback) {
  478. value = tryCatch(callback, detail)
  479. if (value === TRY_CATCH_ERROR) {
  480. failed = true
  481. error = value.error
  482. value.error = null
  483. } else {
  484. succeeded = true
  485. }
  486. if (promise === value) {
  487. reject(promise, cannotReturnOwn())
  488. return
  489. }
  490. } else {
  491. value = detail
  492. succeeded = true
  493. }
  494. if (promise._state !== PENDING) {
  495. } else if (hasCallback && succeeded) {
  496. resolve(promise, value)
  497. } else if (failed) {
  498. reject(promise, error)
  499. } else if (settled === FULFILLED) {
  500. fulfill(promise, value)
  501. } else if (settled === REJECTED) {
  502. reject(promise, value)
  503. }
  504. }
  505. function initializePromise(promise, resolver) {
  506. try {
  507. resolver(
  508. function resolvePromise(value) {
  509. resolve(promise, value)
  510. },
  511. function rejectPromise(reason) {
  512. reject(promise, reason)
  513. }
  514. )
  515. } catch (e) {
  516. reject(promise, e)
  517. }
  518. }
  519. var id = 0
  520. function nextId() {
  521. return id++
  522. }
  523. function makePromise(promise) {
  524. promise[PROMISE_ID] = id++
  525. promise._state = undefined
  526. promise._result = undefined
  527. promise._subscribers = []
  528. }
  529. function validationError() {
  530. return new Error('Array Methods must be provided an Array')
  531. }
  532. function validationError() {
  533. return new Error('Array Methods must be provided an Array')
  534. }
  535. var Enumerator = (function () {
  536. function Enumerator(Constructor, input) {
  537. this._instanceConstructor = Constructor
  538. this.promise = new Constructor(noop)
  539. if (!this.promise[PROMISE_ID]) {
  540. makePromise(this.promise)
  541. }
  542. if (isArray(input)) {
  543. this.length = input.length
  544. this._remaining = input.length
  545. this._result = new Array(this.length)
  546. if (this.length === 0) {
  547. fulfill(this.promise, this._result)
  548. } else {
  549. this.length = this.length || 0
  550. this._enumerate(input)
  551. if (this._remaining === 0) {
  552. fulfill(this.promise, this._result)
  553. }
  554. }
  555. } else {
  556. reject(this.promise, validationError())
  557. }
  558. }
  559. Enumerator.prototype._enumerate = function _enumerate(input) {
  560. for (var i = 0; this._state === PENDING && i < input.length; i++) {
  561. this._eachEntry(input[i], i)
  562. }
  563. }
  564. Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {
  565. var c = this._instanceConstructor
  566. var resolve$$1 = c.resolve
  567. if (resolve$$1 === resolve$1) {
  568. var _then = getThen(entry)
  569. if (_then === then && entry._state !== PENDING) {
  570. this._settledAt(entry._state, i, entry._result)
  571. } else if (typeof _then !== 'function') {
  572. this._remaining--
  573. this._result[i] = entry
  574. } else if (c === Promise$2) {
  575. var promise = new c(noop)
  576. handleMaybeThenable(promise, entry, _then)
  577. this._willSettleAt(promise, i)
  578. } else {
  579. this._willSettleAt(
  580. new c(function (resolve$$1) {
  581. return resolve$$1(entry)
  582. }),
  583. i
  584. )
  585. }
  586. } else {
  587. this._willSettleAt(resolve$$1(entry), i)
  588. }
  589. }
  590. Enumerator.prototype._settledAt = function _settledAt(state, i, value) {
  591. var promise = this.promise
  592. if (promise._state === PENDING) {
  593. this._remaining--
  594. if (state === REJECTED) {
  595. reject(promise, value)
  596. } else {
  597. this._result[i] = value
  598. }
  599. }
  600. if (this._remaining === 0) {
  601. fulfill(promise, this._result)
  602. }
  603. }
  604. Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {
  605. var enumerator = this
  606. subscribe(
  607. promise,
  608. undefined,
  609. function (value) {
  610. return enumerator._settledAt(FULFILLED, i, value)
  611. },
  612. function (reason) {
  613. return enumerator._settledAt(REJECTED, i, reason)
  614. }
  615. )
  616. }
  617. return Enumerator
  618. })()
  619. function all(entries) {
  620. return new Enumerator(this, entries).promise
  621. }
  622. function race(entries) {
  623. var Constructor = this
  624. if (!isArray(entries)) {
  625. return new Constructor(function (_, reject) {
  626. return reject(new TypeError('You must pass an array to race.'))
  627. })
  628. } else {
  629. return new Constructor(function (resolve, reject) {
  630. var length = entries.length
  631. for (var i = 0; i < length; i++) {
  632. Constructor.resolve(entries[i]).then(resolve, reject)
  633. }
  634. })
  635. }
  636. }
  637. function reject$1(reason) {
  638. var Constructor = this
  639. var promise = new Constructor(noop)
  640. reject(promise, reason)
  641. return promise
  642. }
  643. function needsResolver() {
  644. throw new TypeError('You must pass a resolver function as the first argument to the promise constructor')
  645. }
  646. function needsNew() {
  647. throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")
  648. }
  649. var Promise$2 = (function () {
  650. function Promise(resolver) {
  651. this[PROMISE_ID] = nextId()
  652. this._result = this._state = undefined
  653. this._subscribers = []
  654. if (noop !== resolver) {
  655. typeof resolver !== 'function' && needsResolver()
  656. this instanceof Promise ? initializePromise(this, resolver) : needsNew()
  657. }
  658. }
  659. Promise.prototype.catch = function _catch(onRejection) {
  660. return this.then(null, onRejection)
  661. }
  662. Promise.prototype.finally = function _finally(callback) {
  663. var promise = this
  664. var constructor = promise.constructor
  665. return promise.then(
  666. function (value) {
  667. return constructor.resolve(callback()).then(function () {
  668. return value
  669. })
  670. },
  671. function (reason) {
  672. return constructor.resolve(callback()).then(function () {
  673. throw reason
  674. })
  675. }
  676. )
  677. }
  678. return Promise
  679. })()
  680. Promise$2.prototype.then = then
  681. Promise$2.all = all
  682. Promise$2.race = race
  683. Promise$2.resolve = resolve$1
  684. Promise$2.reject = reject$1
  685. Promise$2._setScheduler = setScheduler
  686. Promise$2._setAsap = setAsap
  687. Promise$2._asap = asap
  688. function polyfill() {
  689. var local = void 0
  690. if (typeof global !== 'undefined') {
  691. local = global
  692. } else if (typeof self !== 'undefined') {
  693. local = self
  694. } else {
  695. try {
  696. local = Function('return this')()
  697. } catch (e) {
  698. throw new Error('polyfill failed because global object is unavailable in this environment')
  699. }
  700. }
  701. var P = local.Promise
  702. if (P) {
  703. var promiseToString = null
  704. try {
  705. promiseToString = Object.prototype.toString.call(P.resolve())
  706. } catch (e) {}
  707. if (promiseToString === '[object Promise]' && !P.cast) {
  708. return
  709. }
  710. }
  711. local.Promise = Promise$2
  712. }
  713. Promise$2.polyfill = polyfill
  714. Promise$2.Promise = Promise$2
  715. Promise$2.polyfill()
  716. return Promise$2
  717. })
  718. }.call(this, __webpack_require__(2)))
  719. },
  720. function (module, exports) {
  721. var g
  722. g = (function () {
  723. return this
  724. })()
  725. try {
  726. g = g || new Function('return this')()
  727. } catch (e) {
  728. if (typeof window === 'object') g = window
  729. }
  730. module.exports = g
  731. },
  732. function (module, __webpack_exports__, __webpack_require__) {
  733. 'use strict'
  734. __webpack_require__.r(__webpack_exports__)
  735. var _Errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4)
  736. __webpack_require__.d(__webpack_exports__, 'AbortError', function () {
  737. return _Errors__WEBPACK_IMPORTED_MODULE_0__['AbortError']
  738. })
  739. __webpack_require__.d(__webpack_exports__, 'HttpError', function () {
  740. return _Errors__WEBPACK_IMPORTED_MODULE_0__['HttpError']
  741. })
  742. __webpack_require__.d(__webpack_exports__, 'TimeoutError', function () {
  743. return _Errors__WEBPACK_IMPORTED_MODULE_0__['TimeoutError']
  744. })
  745. var _HttpClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5)
  746. __webpack_require__.d(__webpack_exports__, 'HttpClient', function () {
  747. return _HttpClient__WEBPACK_IMPORTED_MODULE_1__['HttpClient']
  748. })
  749. __webpack_require__.d(__webpack_exports__, 'HttpResponse', function () {
  750. return _HttpClient__WEBPACK_IMPORTED_MODULE_1__['HttpResponse']
  751. })
  752. var _DefaultHttpClient__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(6)
  753. __webpack_require__.d(__webpack_exports__, 'DefaultHttpClient', function () {
  754. return _DefaultHttpClient__WEBPACK_IMPORTED_MODULE_2__['DefaultHttpClient']
  755. })
  756. var _HubConnection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(12)
  757. __webpack_require__.d(__webpack_exports__, 'HubConnection', function () {
  758. return _HubConnection__WEBPACK_IMPORTED_MODULE_3__['HubConnection']
  759. })
  760. __webpack_require__.d(__webpack_exports__, 'HubConnectionState', function () {
  761. return _HubConnection__WEBPACK_IMPORTED_MODULE_3__['HubConnectionState']
  762. })
  763. var _HubConnectionBuilder__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(17)
  764. __webpack_require__.d(__webpack_exports__, 'HubConnectionBuilder', function () {
  765. return _HubConnectionBuilder__WEBPACK_IMPORTED_MODULE_4__['HubConnectionBuilder']
  766. })
  767. var _IHubProtocol__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(15)
  768. __webpack_require__.d(__webpack_exports__, 'MessageType', function () {
  769. return _IHubProtocol__WEBPACK_IMPORTED_MODULE_5__['MessageType']
  770. })
  771. var _ILogger__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(8)
  772. __webpack_require__.d(__webpack_exports__, 'LogLevel', function () {
  773. return _ILogger__WEBPACK_IMPORTED_MODULE_6__['LogLevel']
  774. })
  775. var _ITransport__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(20)
  776. __webpack_require__.d(__webpack_exports__, 'HttpTransportType', function () {
  777. return _ITransport__WEBPACK_IMPORTED_MODULE_7__['HttpTransportType']
  778. })
  779. __webpack_require__.d(__webpack_exports__, 'TransferFormat', function () {
  780. return _ITransport__WEBPACK_IMPORTED_MODULE_7__['TransferFormat']
  781. })
  782. var _Loggers__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(10)
  783. __webpack_require__.d(__webpack_exports__, 'NullLogger', function () {
  784. return _Loggers__WEBPACK_IMPORTED_MODULE_8__['NullLogger']
  785. })
  786. var _JsonHubProtocol__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(25)
  787. __webpack_require__.d(__webpack_exports__, 'JsonHubProtocol', function () {
  788. return _JsonHubProtocol__WEBPACK_IMPORTED_MODULE_9__['JsonHubProtocol']
  789. })
  790. var _Subject__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(16)
  791. __webpack_require__.d(__webpack_exports__, 'Subject', function () {
  792. return _Subject__WEBPACK_IMPORTED_MODULE_10__['Subject']
  793. })
  794. var _Utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(9)
  795. __webpack_require__.d(__webpack_exports__, 'VERSION', function () {
  796. return _Utils__WEBPACK_IMPORTED_MODULE_11__['VERSION']
  797. })
  798. },
  799. function (module, __webpack_exports__, __webpack_require__) {
  800. 'use strict'
  801. __webpack_require__.r(__webpack_exports__)
  802. __webpack_require__.d(__webpack_exports__, 'HttpError', function () {
  803. return HttpError
  804. })
  805. __webpack_require__.d(__webpack_exports__, 'TimeoutError', function () {
  806. return TimeoutError
  807. })
  808. __webpack_require__.d(__webpack_exports__, 'AbortError', function () {
  809. return AbortError
  810. })
  811. var __extends =
  812. (undefined && undefined.__extends) ||
  813. (function () {
  814. var extendStatics =
  815. Object.setPrototypeOf ||
  816. ({ __proto__: [] } instanceof Array &&
  817. function (d, b) {
  818. d.__proto__ = b
  819. }) ||
  820. function (d, b) {
  821. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]
  822. }
  823. return function (d, b) {
  824. extendStatics(d, b)
  825. function __() {
  826. this.constructor = d
  827. }
  828. d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __())
  829. }
  830. })()
  831. var HttpError = (function (_super) {
  832. __extends(HttpError, _super)
  833. function HttpError(errorMessage, statusCode) {
  834. var _newTarget = this.constructor
  835. var _this = this
  836. var trueProto = _newTarget.prototype
  837. _this = _super.call(this, errorMessage) || this
  838. _this.statusCode = statusCode
  839. _this.__proto__ = trueProto
  840. return _this
  841. }
  842. return HttpError
  843. })(Error)
  844. var TimeoutError = (function (_super) {
  845. __extends(TimeoutError, _super)
  846. function TimeoutError(errorMessage) {
  847. var _newTarget = this.constructor
  848. if (errorMessage === void 0) {
  849. errorMessage = 'A timeout occurred.'
  850. }
  851. var _this = this
  852. var trueProto = _newTarget.prototype
  853. _this = _super.call(this, errorMessage) || this
  854. _this.__proto__ = trueProto
  855. return _this
  856. }
  857. return TimeoutError
  858. })(Error)
  859. var AbortError = (function (_super) {
  860. __extends(AbortError, _super)
  861. function AbortError(errorMessage) {
  862. var _newTarget = this.constructor
  863. if (errorMessage === void 0) {
  864. errorMessage = 'An abort occurred.'
  865. }
  866. var _this = this
  867. var trueProto = _newTarget.prototype
  868. _this = _super.call(this, errorMessage) || this
  869. _this.__proto__ = trueProto
  870. return _this
  871. }
  872. return AbortError
  873. })(Error)
  874. },
  875. function (module, __webpack_exports__, __webpack_require__) {
  876. 'use strict'
  877. __webpack_require__.r(__webpack_exports__)
  878. __webpack_require__.d(__webpack_exports__, 'HttpResponse', function () {
  879. return HttpResponse
  880. })
  881. __webpack_require__.d(__webpack_exports__, 'HttpClient', function () {
  882. return HttpClient
  883. })
  884. var __assign =
  885. (undefined && undefined.__assign) ||
  886. Object.assign ||
  887. function (t) {
  888. for (var s, i = 1, n = arguments.length; i < n; i++) {
  889. s = arguments[i]
  890. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]
  891. }
  892. return t
  893. }
  894. var HttpResponse = (function () {
  895. function HttpResponse(statusCode, statusText, content) {
  896. this.statusCode = statusCode
  897. this.statusText = statusText
  898. this.content = content
  899. }
  900. return HttpResponse
  901. })()
  902. var HttpClient = (function () {
  903. function HttpClient() {}
  904. HttpClient.prototype.get = function (url, options) {
  905. return this.send(__assign({}, options, { method: 'GET', url: url }))
  906. }
  907. HttpClient.prototype.post = function (url, options) {
  908. return this.send(__assign({}, options, { method: 'POST', url: url }))
  909. }
  910. HttpClient.prototype.delete = function (url, options) {
  911. return this.send(__assign({}, options, { method: 'DELETE', url: url }))
  912. }
  913. HttpClient.prototype.getCookieString = function (url) {
  914. return ''
  915. }
  916. return HttpClient
  917. })()
  918. },
  919. function (module, __webpack_exports__, __webpack_require__) {
  920. 'use strict'
  921. __webpack_require__.r(__webpack_exports__)
  922. __webpack_require__.d(__webpack_exports__, 'DefaultHttpClient', function () {
  923. return DefaultHttpClient
  924. })
  925. var _Errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4)
  926. var _FetchHttpClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(7)
  927. var _HttpClient__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(5)
  928. var _Utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9)
  929. var _XhrHttpClient__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(11)
  930. var __extends =
  931. (undefined && undefined.__extends) ||
  932. (function () {
  933. var extendStatics =
  934. Object.setPrototypeOf ||
  935. ({ __proto__: [] } instanceof Array &&
  936. function (d, b) {
  937. d.__proto__ = b
  938. }) ||
  939. function (d, b) {
  940. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]
  941. }
  942. return function (d, b) {
  943. extendStatics(d, b)
  944. function __() {
  945. this.constructor = d
  946. }
  947. d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __())
  948. }
  949. })()
  950. var DefaultHttpClient = (function (_super) {
  951. __extends(DefaultHttpClient, _super)
  952. function DefaultHttpClient(logger) {
  953. var _this = _super.call(this) || this
  954. if (typeof fetch !== 'undefined' || _Utils__WEBPACK_IMPORTED_MODULE_3__['Platform'].isNode) {
  955. _this.httpClient = new _FetchHttpClient__WEBPACK_IMPORTED_MODULE_1__['FetchHttpClient'](logger)
  956. } else if (typeof XMLHttpRequest !== 'undefined') {
  957. _this.httpClient = new _XhrHttpClient__WEBPACK_IMPORTED_MODULE_4__['XhrHttpClient'](logger)
  958. } else {
  959. throw new Error('No usable HttpClient found.')
  960. }
  961. return _this
  962. }
  963. DefaultHttpClient.prototype.send = function (request) {
  964. if (request.abortSignal && request.abortSignal.aborted) {
  965. return Promise.reject(new _Errors__WEBPACK_IMPORTED_MODULE_0__['AbortError']())
  966. }
  967. if (!request.method) {
  968. return Promise.reject(new Error('No method defined.'))
  969. }
  970. if (!request.url) {
  971. return Promise.reject(new Error('No url defined.'))
  972. }
  973. return this.httpClient.send(request)
  974. }
  975. DefaultHttpClient.prototype.getCookieString = function (url) {
  976. return this.httpClient.getCookieString(url)
  977. }
  978. return DefaultHttpClient
  979. })(_HttpClient__WEBPACK_IMPORTED_MODULE_2__['HttpClient'])
  980. },
  981. function (module, __webpack_exports__, __webpack_require__) {
  982. 'use strict'
  983. __webpack_require__.r(__webpack_exports__)
  984. __webpack_require__.d(__webpack_exports__, 'FetchHttpClient', function () {
  985. return FetchHttpClient
  986. })
  987. var _Errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4)
  988. var _HttpClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5)
  989. var _ILogger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8)
  990. var _Utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(9)
  991. var __extends =
  992. (undefined && undefined.__extends) ||
  993. (function () {
  994. var extendStatics =
  995. Object.setPrototypeOf ||
  996. ({ __proto__: [] } instanceof Array &&
  997. function (d, b) {
  998. d.__proto__ = b
  999. }) ||
  1000. function (d, b) {
  1001. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]
  1002. }
  1003. return function (d, b) {
  1004. extendStatics(d, b)
  1005. function __() {
  1006. this.constructor = d
  1007. }
  1008. d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __())
  1009. }
  1010. })()
  1011. var __assign =
  1012. (undefined && undefined.__assign) ||
  1013. Object.assign ||
  1014. function (t) {
  1015. for (var s, i = 1, n = arguments.length; i < n; i++) {
  1016. s = arguments[i]
  1017. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]
  1018. }
  1019. return t
  1020. }
  1021. var __awaiter =
  1022. (undefined && undefined.__awaiter) ||
  1023. function (thisArg, _arguments, P, generator) {
  1024. return new (P || (P = Promise))(function (resolve, reject) {
  1025. function fulfilled(value) {
  1026. try {
  1027. step(generator.next(value))
  1028. } catch (e) {
  1029. reject(e)
  1030. }
  1031. }
  1032. function rejected(value) {
  1033. try {
  1034. step(generator['throw'](value))
  1035. } catch (e) {
  1036. reject(e)
  1037. }
  1038. }
  1039. function step(result) {
  1040. result.done
  1041. ? resolve(result.value)
  1042. : new P(function (resolve) {
  1043. resolve(result.value)
  1044. }).then(fulfilled, rejected)
  1045. }
  1046. step((generator = generator.apply(thisArg, _arguments || [])).next())
  1047. })
  1048. }
  1049. var __generator =
  1050. (undefined && undefined.__generator) ||
  1051. function (thisArg, body) {
  1052. var _ = {
  1053. label: 0,
  1054. sent: function () {
  1055. if (t[0] & 1) throw t[1]
  1056. return t[1]
  1057. },
  1058. trys: [],
  1059. ops: [],
  1060. },
  1061. f,
  1062. y,
  1063. t,
  1064. g
  1065. return (
  1066. (g = { next: verb(0), throw: verb(1), return: verb(2) }),
  1067. typeof Symbol === 'function' &&
  1068. (g[Symbol.iterator] = function () {
  1069. return this
  1070. }),
  1071. g
  1072. )
  1073. function verb(n) {
  1074. return function (v) {
  1075. return step([n, v])
  1076. }
  1077. }
  1078. function step(op) {
  1079. if (f) throw new TypeError('Generator is already executing.')
  1080. while (_)
  1081. try {
  1082. if (((f = 1), y && (t = op[0] & 2 ? y['return'] : op[0] ? y['throw'] || ((t = y['return']) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)) return t
  1083. if (((y = 0), t)) op = [op[0] & 2, t.value]
  1084. switch (op[0]) {
  1085. case 0:
  1086. case 1:
  1087. t = op
  1088. break
  1089. case 4:
  1090. _.label++
  1091. return { value: op[1], done: false }
  1092. case 5:
  1093. _.label++
  1094. y = op[1]
  1095. op = [0]
  1096. continue
  1097. case 7:
  1098. op = _.ops.pop()
  1099. _.trys.pop()
  1100. continue
  1101. default:
  1102. if (!((t = _.trys), (t = t.length > 0 && t[t.length - 1])) && (op[0] === 6 || op[0] === 2)) {
  1103. _ = 0
  1104. continue
  1105. }
  1106. if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
  1107. _.label = op[1]
  1108. break
  1109. }
  1110. if (op[0] === 6 && _.label < t[1]) {
  1111. _.label = t[1]
  1112. t = op
  1113. break
  1114. }
  1115. if (t && _.label < t[2]) {
  1116. _.label = t[2]
  1117. _.ops.push(op)
  1118. break
  1119. }
  1120. if (t[2]) _.ops.pop()
  1121. _.trys.pop()
  1122. continue
  1123. }
  1124. op = body.call(thisArg, _)
  1125. } catch (e) {
  1126. op = [6, e]
  1127. y = 0
  1128. } finally {
  1129. f = t = 0
  1130. }
  1131. if (op[0] & 5) throw op[1]
  1132. return { value: op[0] ? op[1] : void 0, done: true }
  1133. }
  1134. }
  1135. var FetchHttpClient = (function (_super) {
  1136. __extends(FetchHttpClient, _super)
  1137. function FetchHttpClient(logger) {
  1138. var _this = _super.call(this) || this
  1139. _this.logger = logger
  1140. if (typeof fetch === 'undefined') {
  1141. var requireFunc = true ? require : undefined
  1142. _this.jar = new (requireFunc('tough-cookie').CookieJar)()
  1143. _this.fetchType = requireFunc('node-fetch')
  1144. _this.fetchType = requireFunc('fetch-cookie')(_this.fetchType, _this.jar)
  1145. _this.abortControllerType = requireFunc('abort-controller')
  1146. } else {
  1147. _this.fetchType = fetch.bind(self)
  1148. _this.abortControllerType = AbortController
  1149. }
  1150. return _this
  1151. }
  1152. FetchHttpClient.prototype.send = function (request) {
  1153. return __awaiter(this, void 0, void 0, function () {
  1154. var abortController, error, timeoutId, msTimeout, response, e_1, content, payload
  1155. var _this = this
  1156. return __generator(this, function (_a) {
  1157. switch (_a.label) {
  1158. case 0:
  1159. if (request.abortSignal && request.abortSignal.aborted) {
  1160. throw new _Errors__WEBPACK_IMPORTED_MODULE_0__['AbortError']()
  1161. }
  1162. if (!request.method) {
  1163. throw new Error('No method defined.')
  1164. }
  1165. if (!request.url) {
  1166. throw new Error('No url defined.')
  1167. }
  1168. abortController = new this.abortControllerType()
  1169. if (request.abortSignal) {
  1170. request.abortSignal.onabort = function () {
  1171. abortController.abort()
  1172. error = new _Errors__WEBPACK_IMPORTED_MODULE_0__['AbortError']()
  1173. }
  1174. }
  1175. timeoutId = null
  1176. if (request.timeout) {
  1177. msTimeout = request.timeout
  1178. timeoutId = setTimeout(function () {
  1179. abortController.abort()
  1180. _this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Warning, 'Timeout from HTTP request.')
  1181. error = new _Errors__WEBPACK_IMPORTED_MODULE_0__['TimeoutError']()
  1182. }, msTimeout)
  1183. }
  1184. _a.label = 1
  1185. case 1:
  1186. _a.trys.push([1, 3, 4, 5])
  1187. return [
  1188. 4,
  1189. this.fetchType(request.url, {
  1190. body: request.content,
  1191. cache: 'no-cache',
  1192. credentials: request.withCredentials === true ? 'include' : 'same-origin',
  1193. headers: __assign({ 'Content-Type': 'text/plain;charset=UTF-8', 'X-Requested-With': 'XMLHttpRequest' }, request.headers),
  1194. method: request.method,
  1195. mode: 'cors',
  1196. redirect: 'manual',
  1197. signal: abortController.signal,
  1198. }),
  1199. ]
  1200. case 2:
  1201. response = _a.sent()
  1202. return [3, 5]
  1203. case 3:
  1204. e_1 = _a.sent()
  1205. if (error) {
  1206. throw error
  1207. }
  1208. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Warning, 'Error from HTTP request. ' + e_1 + '.')
  1209. throw e_1
  1210. case 4:
  1211. if (timeoutId) {
  1212. clearTimeout(timeoutId)
  1213. }
  1214. if (request.abortSignal) {
  1215. request.abortSignal.onabort = null
  1216. }
  1217. return [7]
  1218. case 5:
  1219. if (!response.ok) {
  1220. throw new _Errors__WEBPACK_IMPORTED_MODULE_0__['HttpError'](response.statusText, response.status)
  1221. }
  1222. content = deserializeContent(response, request.responseType)
  1223. return [4, content]
  1224. case 6:
  1225. payload = _a.sent()
  1226. return [2, new _HttpClient__WEBPACK_IMPORTED_MODULE_1__['HttpResponse'](response.status, response.statusText, payload)]
  1227. }
  1228. })
  1229. })
  1230. }
  1231. FetchHttpClient.prototype.getCookieString = function (url) {
  1232. var cookies = ''
  1233. if (_Utils__WEBPACK_IMPORTED_MODULE_3__['Platform'].isNode && this.jar) {
  1234. this.jar.getCookies(url, function (e, c) {
  1235. return (cookies = c.join('; '))
  1236. })
  1237. }
  1238. return cookies
  1239. }
  1240. return FetchHttpClient
  1241. })(_HttpClient__WEBPACK_IMPORTED_MODULE_1__['HttpClient'])
  1242. function deserializeContent(response, responseType) {
  1243. var content
  1244. switch (responseType) {
  1245. case 'arraybuffer':
  1246. content = response.arrayBuffer()
  1247. break
  1248. case 'text':
  1249. content = response.text()
  1250. break
  1251. case 'blob':
  1252. case 'document':
  1253. case 'json':
  1254. throw new Error(responseType + ' is not supported.')
  1255. default:
  1256. content = response.text()
  1257. break
  1258. }
  1259. return content
  1260. }
  1261. },
  1262. function (module, __webpack_exports__, __webpack_require__) {
  1263. 'use strict'
  1264. __webpack_require__.r(__webpack_exports__)
  1265. __webpack_require__.d(__webpack_exports__, 'LogLevel', function () {
  1266. return LogLevel
  1267. })
  1268. var LogLevel
  1269. ;(function (LogLevel) {
  1270. LogLevel[(LogLevel['Trace'] = 0)] = 'Trace'
  1271. LogLevel[(LogLevel['Debug'] = 1)] = 'Debug'
  1272. LogLevel[(LogLevel['Information'] = 2)] = 'Information'
  1273. LogLevel[(LogLevel['Warning'] = 3)] = 'Warning'
  1274. LogLevel[(LogLevel['Error'] = 4)] = 'Error'
  1275. LogLevel[(LogLevel['Critical'] = 5)] = 'Critical'
  1276. LogLevel[(LogLevel['None'] = 6)] = 'None'
  1277. })(LogLevel || (LogLevel = {}))
  1278. },
  1279. function (module, __webpack_exports__, __webpack_require__) {
  1280. 'use strict'
  1281. __webpack_require__.r(__webpack_exports__)
  1282. __webpack_require__.d(__webpack_exports__, 'VERSION', function () {
  1283. return VERSION
  1284. })
  1285. __webpack_require__.d(__webpack_exports__, 'Arg', function () {
  1286. return Arg
  1287. })
  1288. __webpack_require__.d(__webpack_exports__, 'Platform', function () {
  1289. return Platform
  1290. })
  1291. __webpack_require__.d(__webpack_exports__, 'getDataDetail', function () {
  1292. return getDataDetail
  1293. })
  1294. __webpack_require__.d(__webpack_exports__, 'formatArrayBuffer', function () {
  1295. return formatArrayBuffer
  1296. })
  1297. __webpack_require__.d(__webpack_exports__, 'isArrayBuffer', function () {
  1298. return isArrayBuffer
  1299. })
  1300. __webpack_require__.d(__webpack_exports__, 'sendMessage', function () {
  1301. return sendMessage
  1302. })
  1303. __webpack_require__.d(__webpack_exports__, 'createLogger', function () {
  1304. return createLogger
  1305. })
  1306. __webpack_require__.d(__webpack_exports__, 'SubjectSubscription', function () {
  1307. return SubjectSubscription
  1308. })
  1309. __webpack_require__.d(__webpack_exports__, 'ConsoleLogger', function () {
  1310. return ConsoleLogger
  1311. })
  1312. __webpack_require__.d(__webpack_exports__, 'getUserAgentHeader', function () {
  1313. return getUserAgentHeader
  1314. })
  1315. __webpack_require__.d(__webpack_exports__, 'constructUserAgent', function () {
  1316. return constructUserAgent
  1317. })
  1318. var _ILogger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8)
  1319. var _Loggers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(10)
  1320. var __assign =
  1321. (undefined && undefined.__assign) ||
  1322. Object.assign ||
  1323. function (t) {
  1324. for (var s, i = 1, n = arguments.length; i < n; i++) {
  1325. s = arguments[i]
  1326. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]
  1327. }
  1328. return t
  1329. }
  1330. var __awaiter =
  1331. (undefined && undefined.__awaiter) ||
  1332. function (thisArg, _arguments, P, generator) {
  1333. return new (P || (P = Promise))(function (resolve, reject) {
  1334. function fulfilled(value) {
  1335. try {
  1336. step(generator.next(value))
  1337. } catch (e) {
  1338. reject(e)
  1339. }
  1340. }
  1341. function rejected(value) {
  1342. try {
  1343. step(generator['throw'](value))
  1344. } catch (e) {
  1345. reject(e)
  1346. }
  1347. }
  1348. function step(result) {
  1349. result.done
  1350. ? resolve(result.value)
  1351. : new P(function (resolve) {
  1352. resolve(result.value)
  1353. }).then(fulfilled, rejected)
  1354. }
  1355. step((generator = generator.apply(thisArg, _arguments || [])).next())
  1356. })
  1357. }
  1358. var __generator =
  1359. (undefined && undefined.__generator) ||
  1360. function (thisArg, body) {
  1361. var _ = {
  1362. label: 0,
  1363. sent: function () {
  1364. if (t[0] & 1) throw t[1]
  1365. return t[1]
  1366. },
  1367. trys: [],
  1368. ops: [],
  1369. },
  1370. f,
  1371. y,
  1372. t,
  1373. g
  1374. return (
  1375. (g = { next: verb(0), throw: verb(1), return: verb(2) }),
  1376. typeof Symbol === 'function' &&
  1377. (g[Symbol.iterator] = function () {
  1378. return this
  1379. }),
  1380. g
  1381. )
  1382. function verb(n) {
  1383. return function (v) {
  1384. return step([n, v])
  1385. }
  1386. }
  1387. function step(op) {
  1388. if (f) throw new TypeError('Generator is already executing.')
  1389. while (_)
  1390. try {
  1391. if (((f = 1), y && (t = op[0] & 2 ? y['return'] : op[0] ? y['throw'] || ((t = y['return']) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)) return t
  1392. if (((y = 0), t)) op = [op[0] & 2, t.value]
  1393. switch (op[0]) {
  1394. case 0:
  1395. case 1:
  1396. t = op
  1397. break
  1398. case 4:
  1399. _.label++
  1400. return { value: op[1], done: false }
  1401. case 5:
  1402. _.label++
  1403. y = op[1]
  1404. op = [0]
  1405. continue
  1406. case 7:
  1407. op = _.ops.pop()
  1408. _.trys.pop()
  1409. continue
  1410. default:
  1411. if (!((t = _.trys), (t = t.length > 0 && t[t.length - 1])) && (op[0] === 6 || op[0] === 2)) {
  1412. _ = 0
  1413. continue
  1414. }
  1415. if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
  1416. _.label = op[1]
  1417. break
  1418. }
  1419. if (op[0] === 6 && _.label < t[1]) {
  1420. _.label = t[1]
  1421. t = op
  1422. break
  1423. }
  1424. if (t && _.label < t[2]) {
  1425. _.label = t[2]
  1426. _.ops.push(op)
  1427. break
  1428. }
  1429. if (t[2]) _.ops.pop()
  1430. _.trys.pop()
  1431. continue
  1432. }
  1433. op = body.call(thisArg, _)
  1434. } catch (e) {
  1435. op = [6, e]
  1436. y = 0
  1437. } finally {
  1438. f = t = 0
  1439. }
  1440. if (op[0] & 5) throw op[1]
  1441. return { value: op[0] ? op[1] : void 0, done: true }
  1442. }
  1443. }
  1444. var VERSION = '5.0.10'
  1445. var Arg = (function () {
  1446. function Arg() {}
  1447. Arg.isRequired = function (val, name) {
  1448. if (val === null || val === undefined) {
  1449. throw new Error("The '" + name + "' argument is required.")
  1450. }
  1451. }
  1452. Arg.isNotEmpty = function (val, name) {
  1453. if (!val || val.match(/^\s*$/)) {
  1454. throw new Error("The '" + name + "' argument should not be empty.")
  1455. }
  1456. }
  1457. Arg.isIn = function (val, values, name) {
  1458. if (!(val in values)) {
  1459. throw new Error('Unknown ' + name + ' value: ' + val + '.')
  1460. }
  1461. }
  1462. return Arg
  1463. })()
  1464. var Platform = (function () {
  1465. function Platform() {}
  1466. Object.defineProperty(Platform, 'isBrowser', {
  1467. get: function () {
  1468. return typeof window === 'object'
  1469. },
  1470. enumerable: true,
  1471. configurable: true,
  1472. })
  1473. Object.defineProperty(Platform, 'isWebWorker', {
  1474. get: function () {
  1475. return typeof self === 'object' && 'importScripts' in self
  1476. },
  1477. enumerable: true,
  1478. configurable: true,
  1479. })
  1480. Object.defineProperty(Platform, 'isNode', {
  1481. get: function () {
  1482. return !this.isBrowser && !this.isWebWorker
  1483. },
  1484. enumerable: true,
  1485. configurable: true,
  1486. })
  1487. return Platform
  1488. })()
  1489. function getDataDetail(data, includeContent) {
  1490. var detail = ''
  1491. if (isArrayBuffer(data)) {
  1492. detail = 'Binary data of length ' + data.byteLength
  1493. if (includeContent) {
  1494. detail += ". Content: '" + formatArrayBuffer(data) + "'"
  1495. }
  1496. } else if (typeof data === 'string') {
  1497. detail = 'String data of length ' + data.length
  1498. if (includeContent) {
  1499. detail += ". Content: '" + data + "'"
  1500. }
  1501. }
  1502. return detail
  1503. }
  1504. function formatArrayBuffer(data) {
  1505. var view = new Uint8Array(data)
  1506. var str = ''
  1507. view.forEach(function (num) {
  1508. var pad = num < 16 ? '0' : ''
  1509. str += '0x' + pad + num.toString(16) + ' '
  1510. })
  1511. return str.substr(0, str.length - 1)
  1512. }
  1513. function isArrayBuffer(val) {
  1514. return val && typeof ArrayBuffer !== 'undefined' && (val instanceof ArrayBuffer || (val.constructor && val.constructor.name === 'ArrayBuffer'))
  1515. }
  1516. function sendMessage(logger, transportName, httpClient, url, accessTokenFactory, content, logMessageContent, withCredentials, defaultHeaders) {
  1517. return __awaiter(this, void 0, void 0, function () {
  1518. var _a, headers, token, _b, name, value, responseType, response
  1519. return __generator(this, function (_c) {
  1520. switch (_c.label) {
  1521. case 0:
  1522. headers = {}
  1523. if (!accessTokenFactory) return [3, 2]
  1524. return [4, accessTokenFactory()]
  1525. case 1:
  1526. token = _c.sent()
  1527. if (token) {
  1528. headers = ((_a = {}), (_a['Authorization'] = 'Bearer ' + token), _a)
  1529. }
  1530. _c.label = 2
  1531. case 2:
  1532. ;(_b = getUserAgentHeader()), (name = _b[0]), (value = _b[1])
  1533. headers[name] = value
  1534. logger.log(
  1535. _ILogger__WEBPACK_IMPORTED_MODULE_0__['LogLevel'].Trace,
  1536. '(' + transportName + ' transport) sending data. ' + getDataDetail(content, logMessageContent) + '.'
  1537. )
  1538. responseType = isArrayBuffer(content) ? 'arraybuffer' : 'text'
  1539. return [4, httpClient.post(url, { content: content, headers: __assign({}, headers, defaultHeaders), responseType: responseType, withCredentials: withCredentials })]
  1540. case 3:
  1541. response = _c.sent()
  1542. logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_0__['LogLevel'].Trace, '(' + transportName + ' transport) request complete. Response status: ' + response.statusCode + '.')
  1543. return [2]
  1544. }
  1545. })
  1546. })
  1547. }
  1548. function createLogger(logger) {
  1549. if (logger === undefined) {
  1550. return new ConsoleLogger(_ILogger__WEBPACK_IMPORTED_MODULE_0__['LogLevel'].Information)
  1551. }
  1552. if (logger === null) {
  1553. return _Loggers__WEBPACK_IMPORTED_MODULE_1__['NullLogger'].instance
  1554. }
  1555. if (logger.log) {
  1556. return logger
  1557. }
  1558. return new ConsoleLogger(logger)
  1559. }
  1560. var SubjectSubscription = (function () {
  1561. function SubjectSubscription(subject, observer) {
  1562. this.subject = subject
  1563. this.observer = observer
  1564. }
  1565. SubjectSubscription.prototype.dispose = function () {
  1566. var index = this.subject.observers.indexOf(this.observer)
  1567. if (index > -1) {
  1568. this.subject.observers.splice(index, 1)
  1569. }
  1570. if (this.subject.observers.length === 0 && this.subject.cancelCallback) {
  1571. this.subject.cancelCallback().catch(function (_) {})
  1572. }
  1573. }
  1574. return SubjectSubscription
  1575. })()
  1576. var ConsoleLogger = (function () {
  1577. function ConsoleLogger(minimumLogLevel) {
  1578. this.minimumLogLevel = minimumLogLevel
  1579. this.outputConsole = console
  1580. }
  1581. ConsoleLogger.prototype.log = function (logLevel, message) {
  1582. if (logLevel >= this.minimumLogLevel) {
  1583. switch (logLevel) {
  1584. case _ILogger__WEBPACK_IMPORTED_MODULE_0__['LogLevel'].Critical:
  1585. case _ILogger__WEBPACK_IMPORTED_MODULE_0__['LogLevel'].Error:
  1586. this.outputConsole.error('[' + new Date().toISOString() + '] ' + _ILogger__WEBPACK_IMPORTED_MODULE_0__['LogLevel'][logLevel] + ': ' + message)
  1587. break
  1588. case _ILogger__WEBPACK_IMPORTED_MODULE_0__['LogLevel'].Warning:
  1589. this.outputConsole.warn('[' + new Date().toISOString() + '] ' + _ILogger__WEBPACK_IMPORTED_MODULE_0__['LogLevel'][logLevel] + ': ' + message)
  1590. break
  1591. case _ILogger__WEBPACK_IMPORTED_MODULE_0__['LogLevel'].Information:
  1592. this.outputConsole.info('[' + new Date().toISOString() + '] ' + _ILogger__WEBPACK_IMPORTED_MODULE_0__['LogLevel'][logLevel] + ': ' + message)
  1593. break
  1594. default:
  1595. this.outputConsole.log('[' + new Date().toISOString() + '] ' + _ILogger__WEBPACK_IMPORTED_MODULE_0__['LogLevel'][logLevel] + ': ' + message)
  1596. break
  1597. }
  1598. }
  1599. }
  1600. return ConsoleLogger
  1601. })()
  1602. function getUserAgentHeader() {
  1603. var userAgentHeaderName = 'X-SignalR-User-Agent'
  1604. if (Platform.isNode) {
  1605. userAgentHeaderName = 'User-Agent'
  1606. }
  1607. return [userAgentHeaderName, constructUserAgent(VERSION, getOsName(), getRuntime(), getRuntimeVersion())]
  1608. }
  1609. function constructUserAgent(version, os, runtime, runtimeVersion) {
  1610. var userAgent = 'Microsoft SignalR/'
  1611. var majorAndMinor = version.split('.')
  1612. userAgent += majorAndMinor[0] + '.' + majorAndMinor[1]
  1613. userAgent += ' (' + version + '; '
  1614. if (os && os !== '') {
  1615. userAgent += os + '; '
  1616. } else {
  1617. userAgent += 'Unknown OS; '
  1618. }
  1619. userAgent += '' + runtime
  1620. if (runtimeVersion) {
  1621. userAgent += '; ' + runtimeVersion
  1622. } else {
  1623. userAgent += '; Unknown Runtime Version'
  1624. }
  1625. userAgent += ')'
  1626. return userAgent
  1627. }
  1628. function getOsName() {
  1629. if (Platform.isNode) {
  1630. switch (process.platform) {
  1631. case 'win32':
  1632. return 'Windows NT'
  1633. case 'darwin':
  1634. return 'macOS'
  1635. case 'linux':
  1636. return 'Linux'
  1637. default:
  1638. return process.platform
  1639. }
  1640. } else {
  1641. return ''
  1642. }
  1643. }
  1644. function getRuntimeVersion() {
  1645. if (Platform.isNode) {
  1646. return process.versions.node
  1647. }
  1648. return undefined
  1649. }
  1650. function getRuntime() {
  1651. if (Platform.isNode) {
  1652. return 'NodeJS'
  1653. } else {
  1654. return 'Browser'
  1655. }
  1656. }
  1657. },
  1658. function (module, __webpack_exports__, __webpack_require__) {
  1659. 'use strict'
  1660. __webpack_require__.r(__webpack_exports__)
  1661. __webpack_require__.d(__webpack_exports__, 'NullLogger', function () {
  1662. return NullLogger
  1663. })
  1664. var NullLogger = (function () {
  1665. function NullLogger() {}
  1666. NullLogger.prototype.log = function (_logLevel, _message) {}
  1667. NullLogger.instance = new NullLogger()
  1668. return NullLogger
  1669. })()
  1670. },
  1671. function (module, __webpack_exports__, __webpack_require__) {
  1672. 'use strict'
  1673. __webpack_require__.r(__webpack_exports__)
  1674. __webpack_require__.d(__webpack_exports__, 'XhrHttpClient', function () {
  1675. return XhrHttpClient
  1676. })
  1677. var _Errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(4)
  1678. var _HttpClient__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(5)
  1679. var _ILogger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8)
  1680. var __extends =
  1681. (undefined && undefined.__extends) ||
  1682. (function () {
  1683. var extendStatics =
  1684. Object.setPrototypeOf ||
  1685. ({ __proto__: [] } instanceof Array &&
  1686. function (d, b) {
  1687. d.__proto__ = b
  1688. }) ||
  1689. function (d, b) {
  1690. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]
  1691. }
  1692. return function (d, b) {
  1693. extendStatics(d, b)
  1694. function __() {
  1695. this.constructor = d
  1696. }
  1697. d.prototype = b === null ? Object.create(b) : ((__.prototype = b.prototype), new __())
  1698. }
  1699. })()
  1700. var XhrHttpClient = (function (_super) {
  1701. __extends(XhrHttpClient, _super)
  1702. function XhrHttpClient(logger) {
  1703. var _this = _super.call(this) || this
  1704. _this.logger = logger
  1705. return _this
  1706. }
  1707. XhrHttpClient.prototype.send = function (request) {
  1708. var _this = this
  1709. if (request.abortSignal && request.abortSignal.aborted) {
  1710. return Promise.reject(new _Errors__WEBPACK_IMPORTED_MODULE_0__['AbortError']())
  1711. }
  1712. if (!request.method) {
  1713. return Promise.reject(new Error('No method defined.'))
  1714. }
  1715. if (!request.url) {
  1716. return Promise.reject(new Error('No url defined.'))
  1717. }
  1718. return new Promise(function (resolve, reject) {
  1719. var xhr = new XMLHttpRequest()
  1720. xhr.open(request.method, request.url, true)
  1721. xhr.withCredentials = request.withCredentials === undefined ? true : request.withCredentials
  1722. xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest')
  1723. xhr.setRequestHeader('Content-Type', 'text/plain;charset=UTF-8')
  1724. var headers = request.headers
  1725. if (headers) {
  1726. Object.keys(headers).forEach(function (header) {
  1727. xhr.setRequestHeader(header, headers[header])
  1728. })
  1729. }
  1730. if (request.responseType) {
  1731. xhr.responseType = request.responseType
  1732. }
  1733. if (request.abortSignal) {
  1734. request.abortSignal.onabort = function () {
  1735. xhr.abort()
  1736. reject(new _Errors__WEBPACK_IMPORTED_MODULE_0__['AbortError']())
  1737. }
  1738. }
  1739. if (request.timeout) {
  1740. xhr.timeout = request.timeout
  1741. }
  1742. xhr.onload = function () {
  1743. if (request.abortSignal) {
  1744. request.abortSignal.onabort = null
  1745. }
  1746. if (xhr.status >= 200 && xhr.status < 300) {
  1747. resolve(new _HttpClient__WEBPACK_IMPORTED_MODULE_1__['HttpResponse'](xhr.status, xhr.statusText, xhr.response || xhr.responseText))
  1748. } else {
  1749. reject(new _Errors__WEBPACK_IMPORTED_MODULE_0__['HttpError'](xhr.statusText, xhr.status))
  1750. }
  1751. }
  1752. xhr.onerror = function () {
  1753. _this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Warning, 'Error from HTTP request. ' + xhr.status + ': ' + xhr.statusText + '.')
  1754. reject(new _Errors__WEBPACK_IMPORTED_MODULE_0__['HttpError'](xhr.statusText, xhr.status))
  1755. }
  1756. xhr.ontimeout = function () {
  1757. _this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Warning, 'Timeout from HTTP request.')
  1758. reject(new _Errors__WEBPACK_IMPORTED_MODULE_0__['TimeoutError']())
  1759. }
  1760. xhr.send(request.content || '')
  1761. })
  1762. }
  1763. return XhrHttpClient
  1764. })(_HttpClient__WEBPACK_IMPORTED_MODULE_1__['HttpClient'])
  1765. },
  1766. function (module, __webpack_exports__, __webpack_require__) {
  1767. 'use strict'
  1768. __webpack_require__.r(__webpack_exports__)
  1769. __webpack_require__.d(__webpack_exports__, 'HubConnectionState', function () {
  1770. return HubConnectionState
  1771. })
  1772. __webpack_require__.d(__webpack_exports__, 'HubConnection', function () {
  1773. return HubConnection
  1774. })
  1775. var _HandshakeProtocol__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(13)
  1776. var _IHubProtocol__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(15)
  1777. var _ILogger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8)
  1778. var _Subject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(16)
  1779. var _Utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9)
  1780. var __awaiter =
  1781. (undefined && undefined.__awaiter) ||
  1782. function (thisArg, _arguments, P, generator) {
  1783. return new (P || (P = Promise))(function (resolve, reject) {
  1784. function fulfilled(value) {
  1785. try {
  1786. step(generator.next(value))
  1787. } catch (e) {
  1788. reject(e)
  1789. }
  1790. }
  1791. function rejected(value) {
  1792. try {
  1793. step(generator['throw'](value))
  1794. } catch (e) {
  1795. reject(e)
  1796. }
  1797. }
  1798. function step(result) {
  1799. result.done
  1800. ? resolve(result.value)
  1801. : new P(function (resolve) {
  1802. resolve(result.value)
  1803. }).then(fulfilled, rejected)
  1804. }
  1805. step((generator = generator.apply(thisArg, _arguments || [])).next())
  1806. })
  1807. }
  1808. var __generator =
  1809. (undefined && undefined.__generator) ||
  1810. function (thisArg, body) {
  1811. var _ = {
  1812. label: 0,
  1813. sent: function () {
  1814. if (t[0] & 1) throw t[1]
  1815. return t[1]
  1816. },
  1817. trys: [],
  1818. ops: [],
  1819. },
  1820. f,
  1821. y,
  1822. t,
  1823. g
  1824. return (
  1825. (g = { next: verb(0), throw: verb(1), return: verb(2) }),
  1826. typeof Symbol === 'function' &&
  1827. (g[Symbol.iterator] = function () {
  1828. return this
  1829. }),
  1830. g
  1831. )
  1832. function verb(n) {
  1833. return function (v) {
  1834. return step([n, v])
  1835. }
  1836. }
  1837. function step(op) {
  1838. if (f) throw new TypeError('Generator is already executing.')
  1839. while (_)
  1840. try {
  1841. if (((f = 1), y && (t = op[0] & 2 ? y['return'] : op[0] ? y['throw'] || ((t = y['return']) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)) return t
  1842. if (((y = 0), t)) op = [op[0] & 2, t.value]
  1843. switch (op[0]) {
  1844. case 0:
  1845. case 1:
  1846. t = op
  1847. break
  1848. case 4:
  1849. _.label++
  1850. return { value: op[1], done: false }
  1851. case 5:
  1852. _.label++
  1853. y = op[1]
  1854. op = [0]
  1855. continue
  1856. case 7:
  1857. op = _.ops.pop()
  1858. _.trys.pop()
  1859. continue
  1860. default:
  1861. if (!((t = _.trys), (t = t.length > 0 && t[t.length - 1])) && (op[0] === 6 || op[0] === 2)) {
  1862. _ = 0
  1863. continue
  1864. }
  1865. if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
  1866. _.label = op[1]
  1867. break
  1868. }
  1869. if (op[0] === 6 && _.label < t[1]) {
  1870. _.label = t[1]
  1871. t = op
  1872. break
  1873. }
  1874. if (t && _.label < t[2]) {
  1875. _.label = t[2]
  1876. _.ops.push(op)
  1877. break
  1878. }
  1879. if (t[2]) _.ops.pop()
  1880. _.trys.pop()
  1881. continue
  1882. }
  1883. op = body.call(thisArg, _)
  1884. } catch (e) {
  1885. op = [6, e]
  1886. y = 0
  1887. } finally {
  1888. f = t = 0
  1889. }
  1890. if (op[0] & 5) throw op[1]
  1891. return { value: op[0] ? op[1] : void 0, done: true }
  1892. }
  1893. }
  1894. var DEFAULT_TIMEOUT_IN_MS = 30 * 1e3
  1895. var DEFAULT_PING_INTERVAL_IN_MS = 15 * 1e3
  1896. var HubConnectionState
  1897. ;(function (HubConnectionState) {
  1898. HubConnectionState['Disconnected'] = 'Disconnected'
  1899. HubConnectionState['Connecting'] = 'Connecting'
  1900. HubConnectionState['Connected'] = 'Connected'
  1901. HubConnectionState['Disconnecting'] = 'Disconnecting'
  1902. HubConnectionState['Reconnecting'] = 'Reconnecting'
  1903. })(HubConnectionState || (HubConnectionState = {}))
  1904. var HubConnection = (function () {
  1905. function HubConnection(connection, logger, protocol, reconnectPolicy) {
  1906. var _this = this
  1907. this.nextKeepAlive = 0
  1908. _Utils__WEBPACK_IMPORTED_MODULE_4__['Arg'].isRequired(connection, 'connection')
  1909. _Utils__WEBPACK_IMPORTED_MODULE_4__['Arg'].isRequired(logger, 'logger')
  1910. _Utils__WEBPACK_IMPORTED_MODULE_4__['Arg'].isRequired(protocol, 'protocol')
  1911. this.serverTimeoutInMilliseconds = DEFAULT_TIMEOUT_IN_MS
  1912. this.keepAliveIntervalInMilliseconds = DEFAULT_PING_INTERVAL_IN_MS
  1913. this.logger = logger
  1914. this.protocol = protocol
  1915. this.connection = connection
  1916. this.reconnectPolicy = reconnectPolicy
  1917. this.handshakeProtocol = new _HandshakeProtocol__WEBPACK_IMPORTED_MODULE_0__['HandshakeProtocol']()
  1918. this.connection.onreceive = function (data) {
  1919. return _this.processIncomingData(data)
  1920. }
  1921. this.connection.onclose = function (error) {
  1922. return _this.connectionClosed(error)
  1923. }
  1924. this.callbacks = {}
  1925. this.methods = {}
  1926. this.closedCallbacks = []
  1927. this.reconnectingCallbacks = []
  1928. this.reconnectedCallbacks = []
  1929. this.invocationId = 0
  1930. this.receivedHandshakeResponse = false
  1931. this.connectionState = HubConnectionState.Disconnected
  1932. this.connectionStarted = false
  1933. this.cachedPingMessage = this.protocol.writeMessage({ type: _IHubProtocol__WEBPACK_IMPORTED_MODULE_1__['MessageType'].Ping })
  1934. }
  1935. HubConnection.create = function (connection, logger, protocol, reconnectPolicy) {
  1936. return new HubConnection(connection, logger, protocol, reconnectPolicy)
  1937. }
  1938. Object.defineProperty(HubConnection.prototype, 'state', {
  1939. get: function () {
  1940. return this.connectionState
  1941. },
  1942. enumerable: true,
  1943. configurable: true,
  1944. })
  1945. Object.defineProperty(HubConnection.prototype, 'connectionId', {
  1946. get: function () {
  1947. return this.connection ? this.connection.connectionId || null : null
  1948. },
  1949. enumerable: true,
  1950. configurable: true,
  1951. })
  1952. Object.defineProperty(HubConnection.prototype, 'baseUrl', {
  1953. get: function () {
  1954. return this.connection.baseUrl || ''
  1955. },
  1956. set: function (url) {
  1957. if (this.connectionState !== HubConnectionState.Disconnected && this.connectionState !== HubConnectionState.Reconnecting) {
  1958. throw new Error('The HubConnection must be in the Disconnected or Reconnecting state to change the url.')
  1959. }
  1960. if (!url) {
  1961. throw new Error('The HubConnection url must be a valid url.')
  1962. }
  1963. this.connection.baseUrl = url
  1964. },
  1965. enumerable: true,
  1966. configurable: true,
  1967. })
  1968. HubConnection.prototype.start = function () {
  1969. this.startPromise = this.startWithStateTransitions()
  1970. return this.startPromise
  1971. }
  1972. HubConnection.prototype.startWithStateTransitions = function () {
  1973. return __awaiter(this, void 0, void 0, function () {
  1974. var e_1
  1975. return __generator(this, function (_a) {
  1976. switch (_a.label) {
  1977. case 0:
  1978. if (this.connectionState !== HubConnectionState.Disconnected) {
  1979. return [2, Promise.reject(new Error("Cannot start a HubConnection that is not in the 'Disconnected' state."))]
  1980. }
  1981. this.connectionState = HubConnectionState.Connecting
  1982. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Debug, 'Starting HubConnection.')
  1983. _a.label = 1
  1984. case 1:
  1985. _a.trys.push([1, 3, , 4])
  1986. return [4, this.startInternal()]
  1987. case 2:
  1988. _a.sent()
  1989. this.connectionState = HubConnectionState.Connected
  1990. this.connectionStarted = true
  1991. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Debug, 'HubConnection connected successfully.')
  1992. return [3, 4]
  1993. case 3:
  1994. e_1 = _a.sent()
  1995. this.connectionState = HubConnectionState.Disconnected
  1996. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Debug, "HubConnection failed to start successfully because of error '" + e_1 + "'.")
  1997. return [2, Promise.reject(e_1)]
  1998. case 4:
  1999. return [2]
  2000. }
  2001. })
  2002. })
  2003. }
  2004. HubConnection.prototype.startInternal = function () {
  2005. return __awaiter(this, void 0, void 0, function () {
  2006. var handshakePromise, handshakeRequest, e_2
  2007. var _this = this
  2008. return __generator(this, function (_a) {
  2009. switch (_a.label) {
  2010. case 0:
  2011. this.stopDuringStartError = undefined
  2012. this.receivedHandshakeResponse = false
  2013. handshakePromise = new Promise(function (resolve, reject) {
  2014. _this.handshakeResolver = resolve
  2015. _this.handshakeRejecter = reject
  2016. })
  2017. return [4, this.connection.start(this.protocol.transferFormat)]
  2018. case 1:
  2019. _a.sent()
  2020. _a.label = 2
  2021. case 2:
  2022. _a.trys.push([2, 5, , 7])
  2023. handshakeRequest = { protocol: this.protocol.name, version: this.protocol.version }
  2024. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Debug, 'Sending handshake request.')
  2025. return [4, this.sendMessage(this.handshakeProtocol.writeHandshakeRequest(handshakeRequest))]
  2026. case 3:
  2027. _a.sent()
  2028. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Information, "Using HubProtocol '" + this.protocol.name + "'.")
  2029. this.cleanupTimeout()
  2030. this.resetTimeoutPeriod()
  2031. this.resetKeepAliveInterval()
  2032. return [4, handshakePromise]
  2033. case 4:
  2034. _a.sent()
  2035. if (this.stopDuringStartError) {
  2036. throw this.stopDuringStartError
  2037. }
  2038. return [3, 7]
  2039. case 5:
  2040. e_2 = _a.sent()
  2041. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Debug, "Hub handshake failed with error '" + e_2 + "' during start(). Stopping HubConnection.")
  2042. this.cleanupTimeout()
  2043. this.cleanupPingTimer()
  2044. return [4, this.connection.stop(e_2)]
  2045. case 6:
  2046. _a.sent()
  2047. throw e_2
  2048. case 7:
  2049. return [2]
  2050. }
  2051. })
  2052. })
  2053. }
  2054. HubConnection.prototype.stop = function () {
  2055. return __awaiter(this, void 0, void 0, function () {
  2056. var startPromise, e_3
  2057. return __generator(this, function (_a) {
  2058. switch (_a.label) {
  2059. case 0:
  2060. startPromise = this.startPromise
  2061. this.stopPromise = this.stopInternal()
  2062. return [4, this.stopPromise]
  2063. case 1:
  2064. _a.sent()
  2065. _a.label = 2
  2066. case 2:
  2067. _a.trys.push([2, 4, , 5])
  2068. return [4, startPromise]
  2069. case 3:
  2070. _a.sent()
  2071. return [3, 5]
  2072. case 4:
  2073. e_3 = _a.sent()
  2074. return [3, 5]
  2075. case 5:
  2076. return [2]
  2077. }
  2078. })
  2079. })
  2080. }
  2081. HubConnection.prototype.stopInternal = function (error) {
  2082. if (this.connectionState === HubConnectionState.Disconnected) {
  2083. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Debug, 'Call to HubConnection.stop(' + error + ') ignored because it is already in the disconnected state.')
  2084. return Promise.resolve()
  2085. }
  2086. if (this.connectionState === HubConnectionState.Disconnecting) {
  2087. this.logger.log(
  2088. _ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Debug,
  2089. 'Call to HttpConnection.stop(' + error + ') ignored because the connection is already in the disconnecting state.'
  2090. )
  2091. return this.stopPromise
  2092. }
  2093. this.connectionState = HubConnectionState.Disconnecting
  2094. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Debug, 'Stopping HubConnection.')
  2095. if (this.reconnectDelayHandle) {
  2096. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Debug, 'Connection stopped during reconnect delay. Done reconnecting.')
  2097. clearTimeout(this.reconnectDelayHandle)
  2098. this.reconnectDelayHandle = undefined
  2099. this.completeClose()
  2100. return Promise.resolve()
  2101. }
  2102. this.cleanupTimeout()
  2103. this.cleanupPingTimer()
  2104. this.stopDuringStartError = error || new Error('The connection was stopped before the hub handshake could complete.')
  2105. return this.connection.stop(error)
  2106. }
  2107. HubConnection.prototype.stream = function (methodName) {
  2108. var _this = this
  2109. var args = []
  2110. for (var _i = 1; _i < arguments.length; _i++) {
  2111. args[_i - 1] = arguments[_i]
  2112. }
  2113. var _a = this.replaceStreamingParams(args),
  2114. streams = _a[0],
  2115. streamIds = _a[1]
  2116. var invocationDescriptor = this.createStreamInvocation(methodName, args, streamIds)
  2117. var promiseQueue
  2118. var subject = new _Subject__WEBPACK_IMPORTED_MODULE_3__['Subject']()
  2119. subject.cancelCallback = function () {
  2120. var cancelInvocation = _this.createCancelInvocation(invocationDescriptor.invocationId)
  2121. delete _this.callbacks[invocationDescriptor.invocationId]
  2122. return promiseQueue.then(function () {
  2123. return _this.sendWithProtocol(cancelInvocation)
  2124. })
  2125. }
  2126. this.callbacks[invocationDescriptor.invocationId] = function (invocationEvent, error) {
  2127. if (error) {
  2128. subject.error(error)
  2129. return
  2130. } else if (invocationEvent) {
  2131. if (invocationEvent.type === _IHubProtocol__WEBPACK_IMPORTED_MODULE_1__['MessageType'].Completion) {
  2132. if (invocationEvent.error) {
  2133. subject.error(new Error(invocationEvent.error))
  2134. } else {
  2135. subject.complete()
  2136. }
  2137. } else {
  2138. subject.next(invocationEvent.item)
  2139. }
  2140. }
  2141. }
  2142. promiseQueue = this.sendWithProtocol(invocationDescriptor).catch(function (e) {
  2143. subject.error(e)
  2144. delete _this.callbacks[invocationDescriptor.invocationId]
  2145. })
  2146. this.launchStreams(streams, promiseQueue)
  2147. return subject
  2148. }
  2149. HubConnection.prototype.sendMessage = function (message) {
  2150. this.resetKeepAliveInterval()
  2151. return this.connection.send(message)
  2152. }
  2153. HubConnection.prototype.sendWithProtocol = function (message) {
  2154. return this.sendMessage(this.protocol.writeMessage(message))
  2155. }
  2156. HubConnection.prototype.send = function (methodName) {
  2157. var args = []
  2158. for (var _i = 1; _i < arguments.length; _i++) {
  2159. args[_i - 1] = arguments[_i]
  2160. }
  2161. var _a = this.replaceStreamingParams(args),
  2162. streams = _a[0],
  2163. streamIds = _a[1]
  2164. var sendPromise = this.sendWithProtocol(this.createInvocation(methodName, args, true, streamIds))
  2165. this.launchStreams(streams, sendPromise)
  2166. return sendPromise
  2167. }
  2168. HubConnection.prototype.invoke = function (methodName) {
  2169. var _this = this
  2170. var args = []
  2171. for (var _i = 1; _i < arguments.length; _i++) {
  2172. args[_i - 1] = arguments[_i]
  2173. }
  2174. var _a = this.replaceStreamingParams(args),
  2175. streams = _a[0],
  2176. streamIds = _a[1]
  2177. var invocationDescriptor = this.createInvocation(methodName, args, false, streamIds)
  2178. var p = new Promise(function (resolve, reject) {
  2179. _this.callbacks[invocationDescriptor.invocationId] = function (invocationEvent, error) {
  2180. if (error) {
  2181. reject(error)
  2182. return
  2183. } else if (invocationEvent) {
  2184. if (invocationEvent.type === _IHubProtocol__WEBPACK_IMPORTED_MODULE_1__['MessageType'].Completion) {
  2185. if (invocationEvent.error) {
  2186. reject(new Error(invocationEvent.error))
  2187. } else {
  2188. resolve(invocationEvent.result)
  2189. }
  2190. } else {
  2191. reject(new Error('Unexpected message type: ' + invocationEvent.type))
  2192. }
  2193. }
  2194. }
  2195. var promiseQueue = _this.sendWithProtocol(invocationDescriptor).catch(function (e) {
  2196. reject(e)
  2197. delete _this.callbacks[invocationDescriptor.invocationId]
  2198. })
  2199. _this.launchStreams(streams, promiseQueue)
  2200. })
  2201. return p
  2202. }
  2203. HubConnection.prototype.on = function (methodName, newMethod) {
  2204. if (!methodName || !newMethod) {
  2205. return
  2206. }
  2207. methodName = methodName.toLowerCase()
  2208. if (!this.methods[methodName]) {
  2209. this.methods[methodName] = []
  2210. }
  2211. if (this.methods[methodName].indexOf(newMethod) !== -1) {
  2212. return
  2213. }
  2214. this.methods[methodName].push(newMethod)
  2215. }
  2216. HubConnection.prototype.off = function (methodName, method) {
  2217. if (!methodName) {
  2218. return
  2219. }
  2220. methodName = methodName.toLowerCase()
  2221. var handlers = this.methods[methodName]
  2222. if (!handlers) {
  2223. return
  2224. }
  2225. if (method) {
  2226. var removeIdx = handlers.indexOf(method)
  2227. if (removeIdx !== -1) {
  2228. handlers.splice(removeIdx, 1)
  2229. if (handlers.length === 0) {
  2230. delete this.methods[methodName]
  2231. }
  2232. }
  2233. } else {
  2234. delete this.methods[methodName]
  2235. }
  2236. }
  2237. HubConnection.prototype.onclose = function (callback) {
  2238. if (callback) {
  2239. this.closedCallbacks.push(callback)
  2240. }
  2241. }
  2242. HubConnection.prototype.onreconnecting = function (callback) {
  2243. if (callback) {
  2244. this.reconnectingCallbacks.push(callback)
  2245. }
  2246. }
  2247. HubConnection.prototype.onreconnected = function (callback) {
  2248. if (callback) {
  2249. this.reconnectedCallbacks.push(callback)
  2250. }
  2251. }
  2252. HubConnection.prototype.processIncomingData = function (data) {
  2253. this.cleanupTimeout()
  2254. if (!this.receivedHandshakeResponse) {
  2255. data = this.processHandshakeResponse(data)
  2256. this.receivedHandshakeResponse = true
  2257. }
  2258. if (data) {
  2259. var messages = this.protocol.parseMessages(data, this.logger)
  2260. for (var _i = 0, messages_1 = messages; _i < messages_1.length; _i++) {
  2261. var message = messages_1[_i]
  2262. switch (message.type) {
  2263. case _IHubProtocol__WEBPACK_IMPORTED_MODULE_1__['MessageType'].Invocation:
  2264. this.invokeClientMethod(message)
  2265. break
  2266. case _IHubProtocol__WEBPACK_IMPORTED_MODULE_1__['MessageType'].StreamItem:
  2267. case _IHubProtocol__WEBPACK_IMPORTED_MODULE_1__['MessageType'].Completion:
  2268. var callback = this.callbacks[message.invocationId]
  2269. if (callback) {
  2270. if (message.type === _IHubProtocol__WEBPACK_IMPORTED_MODULE_1__['MessageType'].Completion) {
  2271. delete this.callbacks[message.invocationId]
  2272. }
  2273. callback(message)
  2274. }
  2275. break
  2276. case _IHubProtocol__WEBPACK_IMPORTED_MODULE_1__['MessageType'].Ping:
  2277. break
  2278. case _IHubProtocol__WEBPACK_IMPORTED_MODULE_1__['MessageType'].Close:
  2279. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Information, 'Close message received from server.')
  2280. var error = message.error ? new Error('Server returned an error on close: ' + message.error) : undefined
  2281. if (message.allowReconnect === true) {
  2282. this.connection.stop(error)
  2283. } else {
  2284. this.stopPromise = this.stopInternal(error)
  2285. }
  2286. break
  2287. default:
  2288. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Warning, 'Invalid message type: ' + message.type + '.')
  2289. break
  2290. }
  2291. }
  2292. }
  2293. this.resetTimeoutPeriod()
  2294. }
  2295. HubConnection.prototype.processHandshakeResponse = function (data) {
  2296. var _a
  2297. var responseMessage
  2298. var remainingData
  2299. try {
  2300. ;(_a = this.handshakeProtocol.parseHandshakeResponse(data)), (remainingData = _a[0]), (responseMessage = _a[1])
  2301. } catch (e) {
  2302. var message = 'Error parsing handshake response: ' + e
  2303. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Error, message)
  2304. var error = new Error(message)
  2305. this.handshakeRejecter(error)
  2306. throw error
  2307. }
  2308. if (responseMessage.error) {
  2309. var message = 'Server returned handshake error: ' + responseMessage.error
  2310. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Error, message)
  2311. var error = new Error(message)
  2312. this.handshakeRejecter(error)
  2313. throw error
  2314. } else {
  2315. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Debug, 'Server handshake complete.')
  2316. }
  2317. this.handshakeResolver()
  2318. return remainingData
  2319. }
  2320. HubConnection.prototype.resetKeepAliveInterval = function () {
  2321. if (this.connection.features.inherentKeepAlive) {
  2322. return
  2323. }
  2324. this.nextKeepAlive = new Date().getTime() + this.keepAliveIntervalInMilliseconds
  2325. this.cleanupPingTimer()
  2326. }
  2327. HubConnection.prototype.resetTimeoutPeriod = function () {
  2328. var _this = this
  2329. if (!this.connection.features || !this.connection.features.inherentKeepAlive) {
  2330. this.timeoutHandle = setTimeout(function () {
  2331. return _this.serverTimeout()
  2332. }, this.serverTimeoutInMilliseconds)
  2333. if (this.pingServerHandle === undefined) {
  2334. var nextPing = this.nextKeepAlive - new Date().getTime()
  2335. if (nextPing < 0) {
  2336. nextPing = 0
  2337. }
  2338. this.pingServerHandle = setTimeout(function () {
  2339. return __awaiter(_this, void 0, void 0, function () {
  2340. var _a
  2341. return __generator(this, function (_b) {
  2342. switch (_b.label) {
  2343. case 0:
  2344. if (!(this.connectionState === HubConnectionState.Connected)) return [3, 4]
  2345. _b.label = 1
  2346. case 1:
  2347. _b.trys.push([1, 3, , 4])
  2348. return [4, this.sendMessage(this.cachedPingMessage)]
  2349. case 2:
  2350. _b.sent()
  2351. return [3, 4]
  2352. case 3:
  2353. _a = _b.sent()
  2354. this.cleanupPingTimer()
  2355. return [3, 4]
  2356. case 4:
  2357. return [2]
  2358. }
  2359. })
  2360. })
  2361. }, nextPing)
  2362. }
  2363. }
  2364. }
  2365. HubConnection.prototype.serverTimeout = function () {
  2366. this.connection.stop(new Error('Server timeout elapsed without receiving a message from the server.'))
  2367. }
  2368. HubConnection.prototype.invokeClientMethod = function (invocationMessage) {
  2369. var _this = this
  2370. var methods = this.methods[invocationMessage.target.toLowerCase()]
  2371. if (methods) {
  2372. try {
  2373. methods.forEach(function (m) {
  2374. return m.apply(_this, invocationMessage.arguments)
  2375. })
  2376. } catch (e) {
  2377. this.logger.log(
  2378. _ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Error,
  2379. 'A callback for the method ' + invocationMessage.target.toLowerCase() + " threw error '" + e + "'."
  2380. )
  2381. }
  2382. if (invocationMessage.invocationId) {
  2383. var message = 'Server requested a response, which is not supported in this version of the client.'
  2384. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Error, message)
  2385. this.stopPromise = this.stopInternal(new Error(message))
  2386. }
  2387. } else {
  2388. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Warning, "No client method with the name '" + invocationMessage.target + "' found.")
  2389. }
  2390. }
  2391. HubConnection.prototype.connectionClosed = function (error) {
  2392. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Debug, 'HubConnection.connectionClosed(' + error + ') called while in state ' + this.connectionState + '.')
  2393. this.stopDuringStartError = this.stopDuringStartError || error || new Error('The underlying connection was closed before the hub handshake could complete.')
  2394. if (this.handshakeResolver) {
  2395. this.handshakeResolver()
  2396. }
  2397. this.cancelCallbacksWithError(error || new Error('Invocation canceled due to the underlying connection being closed.'))
  2398. this.cleanupTimeout()
  2399. this.cleanupPingTimer()
  2400. if (this.connectionState === HubConnectionState.Disconnecting) {
  2401. this.completeClose(error)
  2402. } else if (this.connectionState === HubConnectionState.Connected && this.reconnectPolicy) {
  2403. this.reconnect(error)
  2404. } else if (this.connectionState === HubConnectionState.Connected) {
  2405. this.completeClose(error)
  2406. }
  2407. }
  2408. HubConnection.prototype.completeClose = function (error) {
  2409. var _this = this
  2410. if (this.connectionStarted) {
  2411. this.connectionState = HubConnectionState.Disconnected
  2412. this.connectionStarted = false
  2413. try {
  2414. this.closedCallbacks.forEach(function (c) {
  2415. return c.apply(_this, [error])
  2416. })
  2417. } catch (e) {
  2418. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Error, "An onclose callback called with error '" + error + "' threw error '" + e + "'.")
  2419. }
  2420. }
  2421. }
  2422. HubConnection.prototype.reconnect = function (error) {
  2423. return __awaiter(this, void 0, void 0, function () {
  2424. var reconnectStartTime, previousReconnectAttempts, retryError, nextRetryDelay, e_4
  2425. var _this = this
  2426. return __generator(this, function (_a) {
  2427. switch (_a.label) {
  2428. case 0:
  2429. reconnectStartTime = Date.now()
  2430. previousReconnectAttempts = 0
  2431. retryError = error !== undefined ? error : new Error('Attempting to reconnect due to a unknown error.')
  2432. nextRetryDelay = this.getNextRetryDelay(previousReconnectAttempts++, 0, retryError)
  2433. if (nextRetryDelay === null) {
  2434. this.logger.log(
  2435. _ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Debug,
  2436. 'Connection not reconnecting because the IRetryPolicy returned null on the first reconnect attempt.'
  2437. )
  2438. this.completeClose(error)
  2439. return [2]
  2440. }
  2441. this.connectionState = HubConnectionState.Reconnecting
  2442. if (error) {
  2443. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Information, "Connection reconnecting because of error '" + error + "'.")
  2444. } else {
  2445. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Information, 'Connection reconnecting.')
  2446. }
  2447. if (this.onreconnecting) {
  2448. try {
  2449. this.reconnectingCallbacks.forEach(function (c) {
  2450. return c.apply(_this, [error])
  2451. })
  2452. } catch (e) {
  2453. this.logger.log(
  2454. _ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Error,
  2455. "An onreconnecting callback called with error '" + error + "' threw error '" + e + "'."
  2456. )
  2457. }
  2458. if (this.connectionState !== HubConnectionState.Reconnecting) {
  2459. this.logger.log(
  2460. _ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Debug,
  2461. 'Connection left the reconnecting state in onreconnecting callback. Done reconnecting.'
  2462. )
  2463. return [2]
  2464. }
  2465. }
  2466. _a.label = 1
  2467. case 1:
  2468. if (!(nextRetryDelay !== null)) return [3, 7]
  2469. this.logger.log(
  2470. _ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Information,
  2471. 'Reconnect attempt number ' + previousReconnectAttempts + ' will start in ' + nextRetryDelay + ' ms.'
  2472. )
  2473. return [
  2474. 4,
  2475. new Promise(function (resolve) {
  2476. _this.reconnectDelayHandle = setTimeout(resolve, nextRetryDelay)
  2477. }),
  2478. ]
  2479. case 2:
  2480. _a.sent()
  2481. this.reconnectDelayHandle = undefined
  2482. if (this.connectionState !== HubConnectionState.Reconnecting) {
  2483. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Debug, 'Connection left the reconnecting state during reconnect delay. Done reconnecting.')
  2484. return [2]
  2485. }
  2486. _a.label = 3
  2487. case 3:
  2488. _a.trys.push([3, 5, , 6])
  2489. return [4, this.startInternal()]
  2490. case 4:
  2491. _a.sent()
  2492. this.connectionState = HubConnectionState.Connected
  2493. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Information, 'HubConnection reconnected successfully.')
  2494. if (this.onreconnected) {
  2495. try {
  2496. this.reconnectedCallbacks.forEach(function (c) {
  2497. return c.apply(_this, [_this.connection.connectionId])
  2498. })
  2499. } catch (e) {
  2500. this.logger.log(
  2501. _ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Error,
  2502. "An onreconnected callback called with connectionId '" + this.connection.connectionId + "; threw error '" + e + "'."
  2503. )
  2504. }
  2505. }
  2506. return [2]
  2507. case 5:
  2508. e_4 = _a.sent()
  2509. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Information, "Reconnect attempt failed because of error '" + e_4 + "'.")
  2510. if (this.connectionState !== HubConnectionState.Reconnecting) {
  2511. this.logger.log(
  2512. _ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Debug,
  2513. "Connection moved to the '" + this.connectionState + "' from the reconnecting state during reconnect attempt. Done reconnecting."
  2514. )
  2515. if (this.connectionState === HubConnectionState.Disconnecting) {
  2516. this.completeClose()
  2517. }
  2518. return [2]
  2519. }
  2520. retryError = e_4 instanceof Error ? e_4 : new Error(e_4.toString())
  2521. nextRetryDelay = this.getNextRetryDelay(previousReconnectAttempts++, Date.now() - reconnectStartTime, retryError)
  2522. return [3, 6]
  2523. case 6:
  2524. return [3, 1]
  2525. case 7:
  2526. this.logger.log(
  2527. _ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Information,
  2528. 'Reconnect retries have been exhausted after ' +
  2529. (Date.now() - reconnectStartTime) +
  2530. ' ms and ' +
  2531. previousReconnectAttempts +
  2532. ' failed attempts. Connection disconnecting.'
  2533. )
  2534. this.completeClose()
  2535. return [2]
  2536. }
  2537. })
  2538. })
  2539. }
  2540. HubConnection.prototype.getNextRetryDelay = function (previousRetryCount, elapsedMilliseconds, retryReason) {
  2541. try {
  2542. return this.reconnectPolicy.nextRetryDelayInMilliseconds({ elapsedMilliseconds: elapsedMilliseconds, previousRetryCount: previousRetryCount, retryReason: retryReason })
  2543. } catch (e) {
  2544. this.logger.log(
  2545. _ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Error,
  2546. 'IRetryPolicy.nextRetryDelayInMilliseconds(' + previousRetryCount + ', ' + elapsedMilliseconds + ") threw error '" + e + "'."
  2547. )
  2548. return null
  2549. }
  2550. }
  2551. HubConnection.prototype.cancelCallbacksWithError = function (error) {
  2552. var callbacks = this.callbacks
  2553. this.callbacks = {}
  2554. Object.keys(callbacks).forEach(function (key) {
  2555. var callback = callbacks[key]
  2556. callback(null, error)
  2557. })
  2558. }
  2559. HubConnection.prototype.cleanupPingTimer = function () {
  2560. if (this.pingServerHandle) {
  2561. clearTimeout(this.pingServerHandle)
  2562. this.pingServerHandle = undefined
  2563. }
  2564. }
  2565. HubConnection.prototype.cleanupTimeout = function () {
  2566. if (this.timeoutHandle) {
  2567. clearTimeout(this.timeoutHandle)
  2568. }
  2569. }
  2570. HubConnection.prototype.createInvocation = function (methodName, args, nonblocking, streamIds) {
  2571. if (nonblocking) {
  2572. if (streamIds.length !== 0) {
  2573. return { arguments: args, streamIds: streamIds, target: methodName, type: _IHubProtocol__WEBPACK_IMPORTED_MODULE_1__['MessageType'].Invocation }
  2574. } else {
  2575. return { arguments: args, target: methodName, type: _IHubProtocol__WEBPACK_IMPORTED_MODULE_1__['MessageType'].Invocation }
  2576. }
  2577. } else {
  2578. var invocationId = this.invocationId
  2579. this.invocationId++
  2580. if (streamIds.length !== 0) {
  2581. return {
  2582. arguments: args,
  2583. invocationId: invocationId.toString(),
  2584. streamIds: streamIds,
  2585. target: methodName,
  2586. type: _IHubProtocol__WEBPACK_IMPORTED_MODULE_1__['MessageType'].Invocation,
  2587. }
  2588. } else {
  2589. return { arguments: args, invocationId: invocationId.toString(), target: methodName, type: _IHubProtocol__WEBPACK_IMPORTED_MODULE_1__['MessageType'].Invocation }
  2590. }
  2591. }
  2592. }
  2593. HubConnection.prototype.launchStreams = function (streams, promiseQueue) {
  2594. var _this = this
  2595. if (streams.length === 0) {
  2596. return
  2597. }
  2598. if (!promiseQueue) {
  2599. promiseQueue = Promise.resolve()
  2600. }
  2601. var _loop_1 = function (streamId) {
  2602. streams[streamId].subscribe({
  2603. complete: function () {
  2604. promiseQueue = promiseQueue.then(function () {
  2605. return _this.sendWithProtocol(_this.createCompletionMessage(streamId))
  2606. })
  2607. },
  2608. error: function (err) {
  2609. var message
  2610. if (err instanceof Error) {
  2611. message = err.message
  2612. } else if (err && err.toString) {
  2613. message = err.toString()
  2614. } else {
  2615. message = 'Unknown error'
  2616. }
  2617. promiseQueue = promiseQueue.then(function () {
  2618. return _this.sendWithProtocol(_this.createCompletionMessage(streamId, message))
  2619. })
  2620. },
  2621. next: function (item) {
  2622. promiseQueue = promiseQueue.then(function () {
  2623. return _this.sendWithProtocol(_this.createStreamItemMessage(streamId, item))
  2624. })
  2625. },
  2626. })
  2627. }
  2628. for (var streamId in streams) {
  2629. _loop_1(streamId)
  2630. }
  2631. }
  2632. HubConnection.prototype.replaceStreamingParams = function (args) {
  2633. var streams = []
  2634. var streamIds = []
  2635. for (var i = 0; i < args.length; i++) {
  2636. var argument = args[i]
  2637. if (this.isObservable(argument)) {
  2638. var streamId = this.invocationId
  2639. this.invocationId++
  2640. streams[streamId] = argument
  2641. streamIds.push(streamId.toString())
  2642. args.splice(i, 1)
  2643. }
  2644. }
  2645. return [streams, streamIds]
  2646. }
  2647. HubConnection.prototype.isObservable = function (arg) {
  2648. return arg && arg.subscribe && typeof arg.subscribe === 'function'
  2649. }
  2650. HubConnection.prototype.createStreamInvocation = function (methodName, args, streamIds) {
  2651. var invocationId = this.invocationId
  2652. this.invocationId++
  2653. if (streamIds.length !== 0) {
  2654. return {
  2655. arguments: args,
  2656. invocationId: invocationId.toString(),
  2657. streamIds: streamIds,
  2658. target: methodName,
  2659. type: _IHubProtocol__WEBPACK_IMPORTED_MODULE_1__['MessageType'].StreamInvocation,
  2660. }
  2661. } else {
  2662. return { arguments: args, invocationId: invocationId.toString(), target: methodName, type: _IHubProtocol__WEBPACK_IMPORTED_MODULE_1__['MessageType'].StreamInvocation }
  2663. }
  2664. }
  2665. HubConnection.prototype.createCancelInvocation = function (id) {
  2666. return { invocationId: id, type: _IHubProtocol__WEBPACK_IMPORTED_MODULE_1__['MessageType'].CancelInvocation }
  2667. }
  2668. HubConnection.prototype.createStreamItemMessage = function (id, item) {
  2669. return { invocationId: id, item: item, type: _IHubProtocol__WEBPACK_IMPORTED_MODULE_1__['MessageType'].StreamItem }
  2670. }
  2671. HubConnection.prototype.createCompletionMessage = function (id, error, result) {
  2672. if (error) {
  2673. return { error: error, invocationId: id, type: _IHubProtocol__WEBPACK_IMPORTED_MODULE_1__['MessageType'].Completion }
  2674. }
  2675. return { invocationId: id, result: result, type: _IHubProtocol__WEBPACK_IMPORTED_MODULE_1__['MessageType'].Completion }
  2676. }
  2677. return HubConnection
  2678. })()
  2679. },
  2680. function (module, __webpack_exports__, __webpack_require__) {
  2681. 'use strict'
  2682. __webpack_require__.r(__webpack_exports__)
  2683. __webpack_require__.d(__webpack_exports__, 'HandshakeProtocol', function () {
  2684. return HandshakeProtocol
  2685. })
  2686. var _TextMessageFormat__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(14)
  2687. var _Utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(9)
  2688. var HandshakeProtocol = (function () {
  2689. function HandshakeProtocol() {}
  2690. HandshakeProtocol.prototype.writeHandshakeRequest = function (handshakeRequest) {
  2691. return _TextMessageFormat__WEBPACK_IMPORTED_MODULE_0__['TextMessageFormat'].write(JSON.stringify(handshakeRequest))
  2692. }
  2693. HandshakeProtocol.prototype.parseHandshakeResponse = function (data) {
  2694. var responseMessage
  2695. var messageData
  2696. var remainingData
  2697. if (Object(_Utils__WEBPACK_IMPORTED_MODULE_1__['isArrayBuffer'])(data) || (typeof Buffer !== 'undefined' && data instanceof Buffer)) {
  2698. var binaryData = new Uint8Array(data)
  2699. var separatorIndex = binaryData.indexOf(_TextMessageFormat__WEBPACK_IMPORTED_MODULE_0__['TextMessageFormat'].RecordSeparatorCode)
  2700. if (separatorIndex === -1) {
  2701. throw new Error('Message is incomplete.')
  2702. }
  2703. var responseLength = separatorIndex + 1
  2704. messageData = String.fromCharCode.apply(null, binaryData.slice(0, responseLength))
  2705. remainingData = binaryData.byteLength > responseLength ? binaryData.slice(responseLength).buffer : null
  2706. } else {
  2707. var textData = data
  2708. var separatorIndex = textData.indexOf(_TextMessageFormat__WEBPACK_IMPORTED_MODULE_0__['TextMessageFormat'].RecordSeparator)
  2709. if (separatorIndex === -1) {
  2710. throw new Error('Message is incomplete.')
  2711. }
  2712. var responseLength = separatorIndex + 1
  2713. messageData = textData.substring(0, responseLength)
  2714. remainingData = textData.length > responseLength ? textData.substring(responseLength) : null
  2715. }
  2716. var messages = _TextMessageFormat__WEBPACK_IMPORTED_MODULE_0__['TextMessageFormat'].parse(messageData)
  2717. var response = JSON.parse(messages[0])
  2718. if (response.type) {
  2719. throw new Error('Expected a handshake response from the server.')
  2720. }
  2721. responseMessage = response
  2722. return [remainingData, responseMessage]
  2723. }
  2724. return HandshakeProtocol
  2725. })()
  2726. },
  2727. function (module, __webpack_exports__, __webpack_require__) {
  2728. 'use strict'
  2729. __webpack_require__.r(__webpack_exports__)
  2730. __webpack_require__.d(__webpack_exports__, 'TextMessageFormat', function () {
  2731. return TextMessageFormat
  2732. })
  2733. var TextMessageFormat = (function () {
  2734. function TextMessageFormat() {}
  2735. TextMessageFormat.write = function (output) {
  2736. return '' + output + TextMessageFormat.RecordSeparator
  2737. }
  2738. TextMessageFormat.parse = function (input) {
  2739. if (input[input.length - 1] !== TextMessageFormat.RecordSeparator) {
  2740. throw new Error('Message is incomplete.')
  2741. }
  2742. var messages = input.split(TextMessageFormat.RecordSeparator)
  2743. messages.pop()
  2744. return messages
  2745. }
  2746. TextMessageFormat.RecordSeparatorCode = 30
  2747. TextMessageFormat.RecordSeparator = String.fromCharCode(TextMessageFormat.RecordSeparatorCode)
  2748. return TextMessageFormat
  2749. })()
  2750. },
  2751. function (module, __webpack_exports__, __webpack_require__) {
  2752. 'use strict'
  2753. __webpack_require__.r(__webpack_exports__)
  2754. __webpack_require__.d(__webpack_exports__, 'MessageType', function () {
  2755. return MessageType
  2756. })
  2757. var MessageType
  2758. ;(function (MessageType) {
  2759. MessageType[(MessageType['Invocation'] = 1)] = 'Invocation'
  2760. MessageType[(MessageType['StreamItem'] = 2)] = 'StreamItem'
  2761. MessageType[(MessageType['Completion'] = 3)] = 'Completion'
  2762. MessageType[(MessageType['StreamInvocation'] = 4)] = 'StreamInvocation'
  2763. MessageType[(MessageType['CancelInvocation'] = 5)] = 'CancelInvocation'
  2764. MessageType[(MessageType['Ping'] = 6)] = 'Ping'
  2765. MessageType[(MessageType['Close'] = 7)] = 'Close'
  2766. })(MessageType || (MessageType = {}))
  2767. },
  2768. function (module, __webpack_exports__, __webpack_require__) {
  2769. 'use strict'
  2770. __webpack_require__.r(__webpack_exports__)
  2771. __webpack_require__.d(__webpack_exports__, 'Subject', function () {
  2772. return Subject
  2773. })
  2774. var _Utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(9)
  2775. var Subject = (function () {
  2776. function Subject() {
  2777. this.observers = []
  2778. }
  2779. Subject.prototype.next = function (item) {
  2780. for (var _i = 0, _a = this.observers; _i < _a.length; _i++) {
  2781. var observer = _a[_i]
  2782. observer.next(item)
  2783. }
  2784. }
  2785. Subject.prototype.error = function (err) {
  2786. for (var _i = 0, _a = this.observers; _i < _a.length; _i++) {
  2787. var observer = _a[_i]
  2788. if (observer.error) {
  2789. observer.error(err)
  2790. }
  2791. }
  2792. }
  2793. Subject.prototype.complete = function () {
  2794. for (var _i = 0, _a = this.observers; _i < _a.length; _i++) {
  2795. var observer = _a[_i]
  2796. if (observer.complete) {
  2797. observer.complete()
  2798. }
  2799. }
  2800. }
  2801. Subject.prototype.subscribe = function (observer) {
  2802. this.observers.push(observer)
  2803. return new _Utils__WEBPACK_IMPORTED_MODULE_0__['SubjectSubscription'](this, observer)
  2804. }
  2805. return Subject
  2806. })()
  2807. },
  2808. function (module, __webpack_exports__, __webpack_require__) {
  2809. 'use strict'
  2810. __webpack_require__.r(__webpack_exports__)
  2811. __webpack_require__.d(__webpack_exports__, 'HubConnectionBuilder', function () {
  2812. return HubConnectionBuilder
  2813. })
  2814. var _DefaultReconnectPolicy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(18)
  2815. var _HttpConnection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(19)
  2816. var _HubConnection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(12)
  2817. var _ILogger__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(8)
  2818. var _JsonHubProtocol__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(25)
  2819. var _Loggers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(10)
  2820. var _Utils__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(9)
  2821. var __assign =
  2822. (undefined && undefined.__assign) ||
  2823. Object.assign ||
  2824. function (t) {
  2825. for (var s, i = 1, n = arguments.length; i < n; i++) {
  2826. s = arguments[i]
  2827. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]
  2828. }
  2829. return t
  2830. }
  2831. var LogLevelNameMapping = {
  2832. trace: _ILogger__WEBPACK_IMPORTED_MODULE_3__['LogLevel'].Trace,
  2833. debug: _ILogger__WEBPACK_IMPORTED_MODULE_3__['LogLevel'].Debug,
  2834. info: _ILogger__WEBPACK_IMPORTED_MODULE_3__['LogLevel'].Information,
  2835. information: _ILogger__WEBPACK_IMPORTED_MODULE_3__['LogLevel'].Information,
  2836. warn: _ILogger__WEBPACK_IMPORTED_MODULE_3__['LogLevel'].Warning,
  2837. warning: _ILogger__WEBPACK_IMPORTED_MODULE_3__['LogLevel'].Warning,
  2838. error: _ILogger__WEBPACK_IMPORTED_MODULE_3__['LogLevel'].Error,
  2839. critical: _ILogger__WEBPACK_IMPORTED_MODULE_3__['LogLevel'].Critical,
  2840. none: _ILogger__WEBPACK_IMPORTED_MODULE_3__['LogLevel'].None,
  2841. }
  2842. function parseLogLevel(name) {
  2843. var mapping = LogLevelNameMapping[name.toLowerCase()]
  2844. if (typeof mapping !== 'undefined') {
  2845. return mapping
  2846. } else {
  2847. throw new Error('Unknown log level: ' + name)
  2848. }
  2849. }
  2850. var HubConnectionBuilder = (function () {
  2851. function HubConnectionBuilder() {}
  2852. HubConnectionBuilder.prototype.configureLogging = function (logging) {
  2853. _Utils__WEBPACK_IMPORTED_MODULE_6__['Arg'].isRequired(logging, 'logging')
  2854. if (isLogger(logging)) {
  2855. this.logger = logging
  2856. } else if (typeof logging === 'string') {
  2857. var logLevel = parseLogLevel(logging)
  2858. this.logger = new _Utils__WEBPACK_IMPORTED_MODULE_6__['ConsoleLogger'](logLevel)
  2859. } else {
  2860. this.logger = new _Utils__WEBPACK_IMPORTED_MODULE_6__['ConsoleLogger'](logging)
  2861. }
  2862. return this
  2863. }
  2864. HubConnectionBuilder.prototype.withUrl = function (url, transportTypeOrOptions) {
  2865. _Utils__WEBPACK_IMPORTED_MODULE_6__['Arg'].isRequired(url, 'url')
  2866. _Utils__WEBPACK_IMPORTED_MODULE_6__['Arg'].isNotEmpty(url, 'url')
  2867. this.url = url
  2868. if (typeof transportTypeOrOptions === 'object') {
  2869. this.httpConnectionOptions = __assign({}, this.httpConnectionOptions, transportTypeOrOptions)
  2870. } else {
  2871. this.httpConnectionOptions = __assign({}, this.httpConnectionOptions, { transport: transportTypeOrOptions })
  2872. }
  2873. return this
  2874. }
  2875. HubConnectionBuilder.prototype.withHubProtocol = function (protocol) {
  2876. _Utils__WEBPACK_IMPORTED_MODULE_6__['Arg'].isRequired(protocol, 'protocol')
  2877. this.protocol = protocol
  2878. return this
  2879. }
  2880. HubConnectionBuilder.prototype.withAutomaticReconnect = function (retryDelaysOrReconnectPolicy) {
  2881. if (this.reconnectPolicy) {
  2882. throw new Error('A reconnectPolicy has already been set.')
  2883. }
  2884. if (!retryDelaysOrReconnectPolicy) {
  2885. this.reconnectPolicy = new _DefaultReconnectPolicy__WEBPACK_IMPORTED_MODULE_0__['DefaultReconnectPolicy']()
  2886. } else if (Array.isArray(retryDelaysOrReconnectPolicy)) {
  2887. this.reconnectPolicy = new _DefaultReconnectPolicy__WEBPACK_IMPORTED_MODULE_0__['DefaultReconnectPolicy'](retryDelaysOrReconnectPolicy)
  2888. } else {
  2889. this.reconnectPolicy = retryDelaysOrReconnectPolicy
  2890. }
  2891. return this
  2892. }
  2893. HubConnectionBuilder.prototype.build = function () {
  2894. var httpConnectionOptions = this.httpConnectionOptions || {}
  2895. if (httpConnectionOptions.logger === undefined) {
  2896. httpConnectionOptions.logger = this.logger
  2897. }
  2898. if (!this.url) {
  2899. throw new Error("The 'HubConnectionBuilder.withUrl' method must be called before building the connection.")
  2900. }
  2901. var connection = new _HttpConnection__WEBPACK_IMPORTED_MODULE_1__['HttpConnection'](this.url, httpConnectionOptions)
  2902. return _HubConnection__WEBPACK_IMPORTED_MODULE_2__['HubConnection'].create(
  2903. connection,
  2904. this.logger || _Loggers__WEBPACK_IMPORTED_MODULE_5__['NullLogger'].instance,
  2905. this.protocol || new _JsonHubProtocol__WEBPACK_IMPORTED_MODULE_4__['JsonHubProtocol'](),
  2906. this.reconnectPolicy
  2907. )
  2908. }
  2909. return HubConnectionBuilder
  2910. })()
  2911. function isLogger(logger) {
  2912. return logger.log !== undefined
  2913. }
  2914. },
  2915. function (module, __webpack_exports__, __webpack_require__) {
  2916. 'use strict'
  2917. __webpack_require__.r(__webpack_exports__)
  2918. __webpack_require__.d(__webpack_exports__, 'DefaultReconnectPolicy', function () {
  2919. return DefaultReconnectPolicy
  2920. })
  2921. var DEFAULT_RETRY_DELAYS_IN_MILLISECONDS = [0, 2e3, 1e4, 3e4, null]
  2922. var DefaultReconnectPolicy = (function () {
  2923. function DefaultReconnectPolicy(retryDelays) {
  2924. this.retryDelays = retryDelays !== undefined ? retryDelays.concat([null]) : DEFAULT_RETRY_DELAYS_IN_MILLISECONDS
  2925. }
  2926. DefaultReconnectPolicy.prototype.nextRetryDelayInMilliseconds = function (retryContext) {
  2927. return this.retryDelays[retryContext.previousRetryCount]
  2928. }
  2929. return DefaultReconnectPolicy
  2930. })()
  2931. },
  2932. function (module, __webpack_exports__, __webpack_require__) {
  2933. 'use strict'
  2934. __webpack_require__.r(__webpack_exports__)
  2935. __webpack_require__.d(__webpack_exports__, 'HttpConnection', function () {
  2936. return HttpConnection
  2937. })
  2938. __webpack_require__.d(__webpack_exports__, 'TransportSendQueue', function () {
  2939. return TransportSendQueue
  2940. })
  2941. var _DefaultHttpClient__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(6)
  2942. var _ILogger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8)
  2943. var _ITransport__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20)
  2944. var _LongPollingTransport__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(21)
  2945. var _ServerSentEventsTransport__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(23)
  2946. var _Utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(9)
  2947. var _WebSocketTransport__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(24)
  2948. var __assign =
  2949. (undefined && undefined.__assign) ||
  2950. Object.assign ||
  2951. function (t) {
  2952. for (var s, i = 1, n = arguments.length; i < n; i++) {
  2953. s = arguments[i]
  2954. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]
  2955. }
  2956. return t
  2957. }
  2958. var __awaiter =
  2959. (undefined && undefined.__awaiter) ||
  2960. function (thisArg, _arguments, P, generator) {
  2961. return new (P || (P = Promise))(function (resolve, reject) {
  2962. function fulfilled(value) {
  2963. try {
  2964. step(generator.next(value))
  2965. } catch (e) {
  2966. reject(e)
  2967. }
  2968. }
  2969. function rejected(value) {
  2970. try {
  2971. step(generator['throw'](value))
  2972. } catch (e) {
  2973. reject(e)
  2974. }
  2975. }
  2976. function step(result) {
  2977. result.done
  2978. ? resolve(result.value)
  2979. : new P(function (resolve) {
  2980. resolve(result.value)
  2981. }).then(fulfilled, rejected)
  2982. }
  2983. step((generator = generator.apply(thisArg, _arguments || [])).next())
  2984. })
  2985. }
  2986. var __generator =
  2987. (undefined && undefined.__generator) ||
  2988. function (thisArg, body) {
  2989. var _ = {
  2990. label: 0,
  2991. sent: function () {
  2992. if (t[0] & 1) throw t[1]
  2993. return t[1]
  2994. },
  2995. trys: [],
  2996. ops: [],
  2997. },
  2998. f,
  2999. y,
  3000. t,
  3001. g
  3002. return (
  3003. (g = { next: verb(0), throw: verb(1), return: verb(2) }),
  3004. typeof Symbol === 'function' &&
  3005. (g[Symbol.iterator] = function () {
  3006. return this
  3007. }),
  3008. g
  3009. )
  3010. function verb(n) {
  3011. return function (v) {
  3012. return step([n, v])
  3013. }
  3014. }
  3015. function step(op) {
  3016. if (f) throw new TypeError('Generator is already executing.')
  3017. while (_)
  3018. try {
  3019. if (((f = 1), y && (t = op[0] & 2 ? y['return'] : op[0] ? y['throw'] || ((t = y['return']) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)) return t
  3020. if (((y = 0), t)) op = [op[0] & 2, t.value]
  3021. switch (op[0]) {
  3022. case 0:
  3023. case 1:
  3024. t = op
  3025. break
  3026. case 4:
  3027. _.label++
  3028. return { value: op[1], done: false }
  3029. case 5:
  3030. _.label++
  3031. y = op[1]
  3032. op = [0]
  3033. continue
  3034. case 7:
  3035. op = _.ops.pop()
  3036. _.trys.pop()
  3037. continue
  3038. default:
  3039. if (!((t = _.trys), (t = t.length > 0 && t[t.length - 1])) && (op[0] === 6 || op[0] === 2)) {
  3040. _ = 0
  3041. continue
  3042. }
  3043. if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
  3044. _.label = op[1]
  3045. break
  3046. }
  3047. if (op[0] === 6 && _.label < t[1]) {
  3048. _.label = t[1]
  3049. t = op
  3050. break
  3051. }
  3052. if (t && _.label < t[2]) {
  3053. _.label = t[2]
  3054. _.ops.push(op)
  3055. break
  3056. }
  3057. if (t[2]) _.ops.pop()
  3058. _.trys.pop()
  3059. continue
  3060. }
  3061. op = body.call(thisArg, _)
  3062. } catch (e) {
  3063. op = [6, e]
  3064. y = 0
  3065. } finally {
  3066. f = t = 0
  3067. }
  3068. if (op[0] & 5) throw op[1]
  3069. return { value: op[0] ? op[1] : void 0, done: true }
  3070. }
  3071. }
  3072. var MAX_REDIRECTS = 100
  3073. var HttpConnection = (function () {
  3074. function HttpConnection(url, options) {
  3075. if (options === void 0) {
  3076. options = {}
  3077. }
  3078. this.stopPromiseResolver = function () {}
  3079. this.features = {}
  3080. this.negotiateVersion = 1
  3081. _Utils__WEBPACK_IMPORTED_MODULE_5__['Arg'].isRequired(url, 'url')
  3082. this.logger = Object(_Utils__WEBPACK_IMPORTED_MODULE_5__['createLogger'])(options.logger)
  3083. this.baseUrl = this.resolveUrl(url)
  3084. options = options || {}
  3085. options.logMessageContent = options.logMessageContent === undefined ? false : options.logMessageContent
  3086. if (typeof options.withCredentials === 'boolean' || options.withCredentials === undefined) {
  3087. options.withCredentials = options.withCredentials === undefined ? true : options.withCredentials
  3088. } else {
  3089. throw new Error("withCredentials option was not a 'boolean' or 'undefined' value")
  3090. }
  3091. var webSocketModule = null
  3092. var eventSourceModule = null
  3093. if (_Utils__WEBPACK_IMPORTED_MODULE_5__['Platform'].isNode && 'function' !== 'undefined') {
  3094. var requireFunc = true ? require : undefined
  3095. webSocketModule = requireFunc('ws')
  3096. eventSourceModule = requireFunc('eventsource')
  3097. }
  3098. if (!_Utils__WEBPACK_IMPORTED_MODULE_5__['Platform'].isNode && typeof WebSocket !== 'undefined' && !options.WebSocket) {
  3099. options.WebSocket = WebSocket
  3100. } else if (_Utils__WEBPACK_IMPORTED_MODULE_5__['Platform'].isNode && !options.WebSocket) {
  3101. if (webSocketModule) {
  3102. options.WebSocket = webSocketModule
  3103. }
  3104. }
  3105. if (!_Utils__WEBPACK_IMPORTED_MODULE_5__['Platform'].isNode && typeof EventSource !== 'undefined' && !options.EventSource) {
  3106. options.EventSource = EventSource
  3107. } else if (_Utils__WEBPACK_IMPORTED_MODULE_5__['Platform'].isNode && !options.EventSource) {
  3108. if (typeof eventSourceModule !== 'undefined') {
  3109. options.EventSource = eventSourceModule
  3110. }
  3111. }
  3112. this.httpClient = options.httpClient || new _DefaultHttpClient__WEBPACK_IMPORTED_MODULE_0__['DefaultHttpClient'](this.logger)
  3113. this.connectionState = 'Disconnected'
  3114. this.connectionStarted = false
  3115. this.options = options
  3116. this.onreceive = null
  3117. this.onclose = null
  3118. }
  3119. HttpConnection.prototype.start = function (transferFormat) {
  3120. return __awaiter(this, void 0, void 0, function () {
  3121. var message, message
  3122. return __generator(this, function (_a) {
  3123. switch (_a.label) {
  3124. case 0:
  3125. transferFormat = transferFormat || _ITransport__WEBPACK_IMPORTED_MODULE_2__['TransferFormat'].Binary
  3126. _Utils__WEBPACK_IMPORTED_MODULE_5__['Arg'].isIn(transferFormat, _ITransport__WEBPACK_IMPORTED_MODULE_2__['TransferFormat'], 'transferFormat')
  3127. this.logger.log(
  3128. _ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Debug,
  3129. "Starting connection with transfer format '" + _ITransport__WEBPACK_IMPORTED_MODULE_2__['TransferFormat'][transferFormat] + "'."
  3130. )
  3131. if (this.connectionState !== 'Disconnected') {
  3132. return [2, Promise.reject(new Error("Cannot start an HttpConnection that is not in the 'Disconnected' state."))]
  3133. }
  3134. this.connectionState = 'Connecting'
  3135. this.startInternalPromise = this.startInternal(transferFormat)
  3136. return [4, this.startInternalPromise]
  3137. case 1:
  3138. _a.sent()
  3139. if (!(this.connectionState === 'Disconnecting')) return [3, 3]
  3140. message = 'Failed to start the HttpConnection before stop() was called.'
  3141. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Error, message)
  3142. return [4, this.stopPromise]
  3143. case 2:
  3144. _a.sent()
  3145. return [2, Promise.reject(new Error(message))]
  3146. case 3:
  3147. if (this.connectionState !== 'Connected') {
  3148. message = "HttpConnection.startInternal completed gracefully but didn't enter the connection into the connected state!"
  3149. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Error, message)
  3150. return [2, Promise.reject(new Error(message))]
  3151. }
  3152. _a.label = 4
  3153. case 4:
  3154. this.connectionStarted = true
  3155. return [2]
  3156. }
  3157. })
  3158. })
  3159. }
  3160. HttpConnection.prototype.send = function (data) {
  3161. if (this.connectionState !== 'Connected') {
  3162. return Promise.reject(new Error("Cannot send data if the connection is not in the 'Connected' State."))
  3163. }
  3164. if (!this.sendQueue) {
  3165. this.sendQueue = new TransportSendQueue(this.transport)
  3166. }
  3167. return this.sendQueue.send(data)
  3168. }
  3169. HttpConnection.prototype.stop = function (error) {
  3170. return __awaiter(this, void 0, void 0, function () {
  3171. var _this = this
  3172. return __generator(this, function (_a) {
  3173. switch (_a.label) {
  3174. case 0:
  3175. if (this.connectionState === 'Disconnected') {
  3176. this.logger.log(
  3177. _ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Debug,
  3178. 'Call to HttpConnection.stop(' + error + ') ignored because the connection is already in the disconnected state.'
  3179. )
  3180. return [2, Promise.resolve()]
  3181. }
  3182. if (this.connectionState === 'Disconnecting') {
  3183. this.logger.log(
  3184. _ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Debug,
  3185. 'Call to HttpConnection.stop(' + error + ') ignored because the connection is already in the disconnecting state.'
  3186. )
  3187. return [2, this.stopPromise]
  3188. }
  3189. this.connectionState = 'Disconnecting'
  3190. this.stopPromise = new Promise(function (resolve) {
  3191. _this.stopPromiseResolver = resolve
  3192. })
  3193. return [4, this.stopInternal(error)]
  3194. case 1:
  3195. _a.sent()
  3196. return [4, this.stopPromise]
  3197. case 2:
  3198. _a.sent()
  3199. return [2]
  3200. }
  3201. })
  3202. })
  3203. }
  3204. HttpConnection.prototype.stopInternal = function (error) {
  3205. return __awaiter(this, void 0, void 0, function () {
  3206. var e_1, e_2
  3207. return __generator(this, function (_a) {
  3208. switch (_a.label) {
  3209. case 0:
  3210. this.stopError = error
  3211. _a.label = 1
  3212. case 1:
  3213. _a.trys.push([1, 3, , 4])
  3214. return [4, this.startInternalPromise]
  3215. case 2:
  3216. _a.sent()
  3217. return [3, 4]
  3218. case 3:
  3219. e_1 = _a.sent()
  3220. return [3, 4]
  3221. case 4:
  3222. if (!this.transport) return [3, 9]
  3223. _a.label = 5
  3224. case 5:
  3225. _a.trys.push([5, 7, , 8])
  3226. return [4, this.transport.stop()]
  3227. case 6:
  3228. _a.sent()
  3229. return [3, 8]
  3230. case 7:
  3231. e_2 = _a.sent()
  3232. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Error, "HttpConnection.transport.stop() threw error '" + e_2 + "'.")
  3233. this.stopConnection()
  3234. return [3, 8]
  3235. case 8:
  3236. this.transport = undefined
  3237. return [3, 10]
  3238. case 9:
  3239. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Debug, 'HttpConnection.transport is undefined in HttpConnection.stop() because start() failed.')
  3240. _a.label = 10
  3241. case 10:
  3242. return [2]
  3243. }
  3244. })
  3245. })
  3246. }
  3247. HttpConnection.prototype.startInternal = function (transferFormat) {
  3248. return __awaiter(this, void 0, void 0, function () {
  3249. var url, negotiateResponse, redirects, _loop_1, this_1, e_3
  3250. return __generator(this, function (_a) {
  3251. switch (_a.label) {
  3252. case 0:
  3253. url = this.baseUrl
  3254. this.accessTokenFactory = this.options.accessTokenFactory
  3255. _a.label = 1
  3256. case 1:
  3257. _a.trys.push([1, 12, , 13])
  3258. if (!this.options.skipNegotiation) return [3, 5]
  3259. if (!(this.options.transport === _ITransport__WEBPACK_IMPORTED_MODULE_2__['HttpTransportType'].WebSockets)) return [3, 3]
  3260. this.transport = this.constructTransport(_ITransport__WEBPACK_IMPORTED_MODULE_2__['HttpTransportType'].WebSockets)
  3261. return [4, this.startTransport(url, transferFormat)]
  3262. case 2:
  3263. _a.sent()
  3264. return [3, 4]
  3265. case 3:
  3266. throw new Error('Negotiation can only be skipped when using the WebSocket transport directly.')
  3267. case 4:
  3268. return [3, 11]
  3269. case 5:
  3270. negotiateResponse = null
  3271. redirects = 0
  3272. _loop_1 = function () {
  3273. var accessToken_1
  3274. return __generator(this, function (_a) {
  3275. switch (_a.label) {
  3276. case 0:
  3277. return [4, this_1.getNegotiationResponse(url)]
  3278. case 1:
  3279. negotiateResponse = _a.sent()
  3280. if (this_1.connectionState === 'Disconnecting' || this_1.connectionState === 'Disconnected') {
  3281. throw new Error('The connection was stopped during negotiation.')
  3282. }
  3283. if (negotiateResponse.error) {
  3284. throw new Error(negotiateResponse.error)
  3285. }
  3286. if (negotiateResponse.ProtocolVersion) {
  3287. throw new Error(
  3288. 'Detected a connection attempt to an ASP.NET SignalR Server. This client only supports connecting to an ASP.NET Core SignalR Server. See https://aka.ms/signalr-core-differences for details.'
  3289. )
  3290. }
  3291. if (negotiateResponse.url) {
  3292. url = negotiateResponse.url
  3293. }
  3294. if (negotiateResponse.accessToken) {
  3295. accessToken_1 = negotiateResponse.accessToken
  3296. this_1.accessTokenFactory = function () {
  3297. return accessToken_1
  3298. }
  3299. }
  3300. redirects++
  3301. return [2]
  3302. }
  3303. })
  3304. }
  3305. this_1 = this
  3306. _a.label = 6
  3307. case 6:
  3308. return [5, _loop_1()]
  3309. case 7:
  3310. _a.sent()
  3311. _a.label = 8
  3312. case 8:
  3313. if (negotiateResponse.url && redirects < MAX_REDIRECTS) return [3, 6]
  3314. _a.label = 9
  3315. case 9:
  3316. if (redirects === MAX_REDIRECTS && negotiateResponse.url) {
  3317. throw new Error('Negotiate redirection limit exceeded.')
  3318. }
  3319. return [4, this.createTransport(url, this.options.transport, negotiateResponse, transferFormat)]
  3320. case 10:
  3321. _a.sent()
  3322. _a.label = 11
  3323. case 11:
  3324. if (this.transport instanceof _LongPollingTransport__WEBPACK_IMPORTED_MODULE_3__['LongPollingTransport']) {
  3325. this.features.inherentKeepAlive = true
  3326. }
  3327. if (this.connectionState === 'Connecting') {
  3328. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Debug, 'The HttpConnection connected successfully.')
  3329. this.connectionState = 'Connected'
  3330. }
  3331. return [3, 13]
  3332. case 12:
  3333. e_3 = _a.sent()
  3334. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Error, 'Failed to start the connection: ' + e_3)
  3335. this.connectionState = 'Disconnected'
  3336. this.transport = undefined
  3337. this.stopPromiseResolver()
  3338. return [2, Promise.reject(e_3)]
  3339. case 13:
  3340. return [2]
  3341. }
  3342. })
  3343. })
  3344. }
  3345. HttpConnection.prototype.getNegotiationResponse = function (url) {
  3346. return __awaiter(this, void 0, void 0, function () {
  3347. var headers, token, _a, name, value, negotiateUrl, response, negotiateResponse, e_4
  3348. return __generator(this, function (_b) {
  3349. switch (_b.label) {
  3350. case 0:
  3351. headers = {}
  3352. if (!this.accessTokenFactory) return [3, 2]
  3353. return [4, this.accessTokenFactory()]
  3354. case 1:
  3355. token = _b.sent()
  3356. if (token) {
  3357. headers['Authorization'] = 'Bearer ' + token
  3358. }
  3359. _b.label = 2
  3360. case 2:
  3361. ;(_a = Object(_Utils__WEBPACK_IMPORTED_MODULE_5__['getUserAgentHeader'])()), (name = _a[0]), (value = _a[1])
  3362. headers[name] = value
  3363. negotiateUrl = this.resolveNegotiateUrl(url)
  3364. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Debug, 'Sending negotiation request: ' + negotiateUrl + '.')
  3365. _b.label = 3
  3366. case 3:
  3367. _b.trys.push([3, 5, , 6])
  3368. return [4, this.httpClient.post(negotiateUrl, { content: '', headers: __assign({}, headers, this.options.headers), withCredentials: this.options.withCredentials })]
  3369. case 4:
  3370. response = _b.sent()
  3371. if (response.statusCode !== 200) {
  3372. return [2, Promise.reject(new Error("Unexpected status code returned from negotiate '" + response.statusCode + "'"))]
  3373. }
  3374. negotiateResponse = JSON.parse(response.content)
  3375. if (!negotiateResponse.negotiateVersion || negotiateResponse.negotiateVersion < 1) {
  3376. negotiateResponse.connectionToken = negotiateResponse.connectionId
  3377. }
  3378. return [2, negotiateResponse]
  3379. case 5:
  3380. e_4 = _b.sent()
  3381. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Error, 'Failed to complete negotiation with the server: ' + e_4)
  3382. return [2, Promise.reject(e_4)]
  3383. case 6:
  3384. return [2]
  3385. }
  3386. })
  3387. })
  3388. }
  3389. HttpConnection.prototype.createConnectUrl = function (url, connectionToken) {
  3390. if (!connectionToken) {
  3391. return url
  3392. }
  3393. return url + (url.indexOf('?') === -1 ? '?' : '&') + ('id=' + connectionToken)
  3394. }
  3395. HttpConnection.prototype.createTransport = function (url, requestedTransport, negotiateResponse, requestedTransferFormat) {
  3396. return __awaiter(this, void 0, void 0, function () {
  3397. var connectUrl, transportExceptions, transports, negotiate, _i, transports_1, endpoint, transportOrError, ex_1, ex_2, message
  3398. return __generator(this, function (_a) {
  3399. switch (_a.label) {
  3400. case 0:
  3401. connectUrl = this.createConnectUrl(url, negotiateResponse.connectionToken)
  3402. if (!this.isITransport(requestedTransport)) return [3, 2]
  3403. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Debug, 'Connection was provided an instance of ITransport, using that directly.')
  3404. this.transport = requestedTransport
  3405. return [4, this.startTransport(connectUrl, requestedTransferFormat)]
  3406. case 1:
  3407. _a.sent()
  3408. this.connectionId = negotiateResponse.connectionId
  3409. return [2]
  3410. case 2:
  3411. transportExceptions = []
  3412. transports = negotiateResponse.availableTransports || []
  3413. negotiate = negotiateResponse
  3414. ;(_i = 0), (transports_1 = transports)
  3415. _a.label = 3
  3416. case 3:
  3417. if (!(_i < transports_1.length)) return [3, 13]
  3418. endpoint = transports_1[_i]
  3419. transportOrError = this.resolveTransportOrError(endpoint, requestedTransport, requestedTransferFormat)
  3420. if (!(transportOrError instanceof Error)) return [3, 4]
  3421. transportExceptions.push(endpoint.transport + ' failed: ' + transportOrError)
  3422. return [3, 12]
  3423. case 4:
  3424. if (!this.isITransport(transportOrError)) return [3, 12]
  3425. this.transport = transportOrError
  3426. if (!!negotiate) return [3, 9]
  3427. _a.label = 5
  3428. case 5:
  3429. _a.trys.push([5, 7, , 8])
  3430. return [4, this.getNegotiationResponse(url)]
  3431. case 6:
  3432. negotiate = _a.sent()
  3433. return [3, 8]
  3434. case 7:
  3435. ex_1 = _a.sent()
  3436. return [2, Promise.reject(ex_1)]
  3437. case 8:
  3438. connectUrl = this.createConnectUrl(url, negotiate.connectionToken)
  3439. _a.label = 9
  3440. case 9:
  3441. _a.trys.push([9, 11, , 12])
  3442. return [4, this.startTransport(connectUrl, requestedTransferFormat)]
  3443. case 10:
  3444. _a.sent()
  3445. this.connectionId = negotiate.connectionId
  3446. return [2]
  3447. case 11:
  3448. ex_2 = _a.sent()
  3449. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Error, "Failed to start the transport '" + endpoint.transport + "': " + ex_2)
  3450. negotiate = undefined
  3451. transportExceptions.push(endpoint.transport + ' failed: ' + ex_2)
  3452. if (this.connectionState !== 'Connecting') {
  3453. message = 'Failed to select transport before stop() was called.'
  3454. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Debug, message)
  3455. return [2, Promise.reject(new Error(message))]
  3456. }
  3457. return [3, 12]
  3458. case 12:
  3459. _i++
  3460. return [3, 3]
  3461. case 13:
  3462. if (transportExceptions.length > 0) {
  3463. return [2, Promise.reject(new Error('Unable to connect to the server with any of the available transports. ' + transportExceptions.join(' ')))]
  3464. }
  3465. return [2, Promise.reject(new Error('None of the transports supported by the client are supported by the server.'))]
  3466. }
  3467. })
  3468. })
  3469. }
  3470. HttpConnection.prototype.constructTransport = function (transport) {
  3471. switch (transport) {
  3472. case _ITransport__WEBPACK_IMPORTED_MODULE_2__['HttpTransportType'].WebSockets:
  3473. if (!this.options.WebSocket) {
  3474. throw new Error("'WebSocket' is not supported in your environment.")
  3475. }
  3476. return new _WebSocketTransport__WEBPACK_IMPORTED_MODULE_6__['WebSocketTransport'](
  3477. this.httpClient,
  3478. this.accessTokenFactory,
  3479. this.logger,
  3480. this.options.logMessageContent || false,
  3481. this.options.WebSocket,
  3482. this.options.headers || {}
  3483. )
  3484. case _ITransport__WEBPACK_IMPORTED_MODULE_2__['HttpTransportType'].ServerSentEvents:
  3485. if (!this.options.EventSource) {
  3486. throw new Error("'EventSource' is not supported in your environment.")
  3487. }
  3488. return new _ServerSentEventsTransport__WEBPACK_IMPORTED_MODULE_4__['ServerSentEventsTransport'](
  3489. this.httpClient,
  3490. this.accessTokenFactory,
  3491. this.logger,
  3492. this.options.logMessageContent || false,
  3493. this.options.EventSource,
  3494. this.options.withCredentials,
  3495. this.options.headers || {}
  3496. )
  3497. case _ITransport__WEBPACK_IMPORTED_MODULE_2__['HttpTransportType'].LongPolling:
  3498. return new _LongPollingTransport__WEBPACK_IMPORTED_MODULE_3__['LongPollingTransport'](
  3499. this.httpClient,
  3500. this.accessTokenFactory,
  3501. this.logger,
  3502. this.options.logMessageContent || false,
  3503. this.options.withCredentials,
  3504. this.options.headers || {}
  3505. )
  3506. default:
  3507. throw new Error('Unknown transport: ' + transport + '.')
  3508. }
  3509. }
  3510. HttpConnection.prototype.startTransport = function (url, transferFormat) {
  3511. var _this = this
  3512. this.transport.onreceive = this.onreceive
  3513. this.transport.onclose = function (e) {
  3514. return _this.stopConnection(e)
  3515. }
  3516. return this.transport.connect(url, transferFormat)
  3517. }
  3518. HttpConnection.prototype.resolveTransportOrError = function (endpoint, requestedTransport, requestedTransferFormat) {
  3519. var transport = _ITransport__WEBPACK_IMPORTED_MODULE_2__['HttpTransportType'][endpoint.transport]
  3520. if (transport === null || transport === undefined) {
  3521. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Debug, "Skipping transport '" + endpoint.transport + "' because it is not supported by this client.")
  3522. return new Error("Skipping transport '" + endpoint.transport + "' because it is not supported by this client.")
  3523. } else {
  3524. if (transportMatches(requestedTransport, transport)) {
  3525. var transferFormats = endpoint.transferFormats.map(function (s) {
  3526. return _ITransport__WEBPACK_IMPORTED_MODULE_2__['TransferFormat'][s]
  3527. })
  3528. if (transferFormats.indexOf(requestedTransferFormat) >= 0) {
  3529. if (
  3530. (transport === _ITransport__WEBPACK_IMPORTED_MODULE_2__['HttpTransportType'].WebSockets && !this.options.WebSocket) ||
  3531. (transport === _ITransport__WEBPACK_IMPORTED_MODULE_2__['HttpTransportType'].ServerSentEvents && !this.options.EventSource)
  3532. ) {
  3533. this.logger.log(
  3534. _ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Debug,
  3535. "Skipping transport '" + _ITransport__WEBPACK_IMPORTED_MODULE_2__['HttpTransportType'][transport] + "' because it is not supported in your environment.'"
  3536. )
  3537. return new Error("'" + _ITransport__WEBPACK_IMPORTED_MODULE_2__['HttpTransportType'][transport] + "' is not supported in your environment.")
  3538. } else {
  3539. this.logger.log(
  3540. _ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Debug,
  3541. "Selecting transport '" + _ITransport__WEBPACK_IMPORTED_MODULE_2__['HttpTransportType'][transport] + "'."
  3542. )
  3543. try {
  3544. return this.constructTransport(transport)
  3545. } catch (ex) {
  3546. return ex
  3547. }
  3548. }
  3549. } else {
  3550. this.logger.log(
  3551. _ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Debug,
  3552. "Skipping transport '" +
  3553. _ITransport__WEBPACK_IMPORTED_MODULE_2__['HttpTransportType'][transport] +
  3554. "' because it does not support the requested transfer format '" +
  3555. _ITransport__WEBPACK_IMPORTED_MODULE_2__['TransferFormat'][requestedTransferFormat] +
  3556. "'."
  3557. )
  3558. return new Error(
  3559. "'" +
  3560. _ITransport__WEBPACK_IMPORTED_MODULE_2__['HttpTransportType'][transport] +
  3561. "' does not support " +
  3562. _ITransport__WEBPACK_IMPORTED_MODULE_2__['TransferFormat'][requestedTransferFormat] +
  3563. '.'
  3564. )
  3565. }
  3566. } else {
  3567. this.logger.log(
  3568. _ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Debug,
  3569. "Skipping transport '" + _ITransport__WEBPACK_IMPORTED_MODULE_2__['HttpTransportType'][transport] + "' because it was disabled by the client."
  3570. )
  3571. return new Error("'" + _ITransport__WEBPACK_IMPORTED_MODULE_2__['HttpTransportType'][transport] + "' is disabled by the client.")
  3572. }
  3573. }
  3574. }
  3575. HttpConnection.prototype.isITransport = function (transport) {
  3576. return transport && typeof transport === 'object' && 'connect' in transport
  3577. }
  3578. HttpConnection.prototype.stopConnection = function (error) {
  3579. var _this = this
  3580. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Debug, 'HttpConnection.stopConnection(' + error + ') called while in state ' + this.connectionState + '.')
  3581. this.transport = undefined
  3582. error = this.stopError || error
  3583. this.stopError = undefined
  3584. if (this.connectionState === 'Disconnected') {
  3585. this.logger.log(
  3586. _ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Debug,
  3587. 'Call to HttpConnection.stopConnection(' + error + ') was ignored because the connection is already in the disconnected state.'
  3588. )
  3589. return
  3590. }
  3591. if (this.connectionState === 'Connecting') {
  3592. this.logger.log(
  3593. _ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Warning,
  3594. 'Call to HttpConnection.stopConnection(' + error + ') was ignored because the connection is still in the connecting state.'
  3595. )
  3596. throw new Error('HttpConnection.stopConnection(' + error + ') was called while the connection is still in the connecting state.')
  3597. }
  3598. if (this.connectionState === 'Disconnecting') {
  3599. this.stopPromiseResolver()
  3600. }
  3601. if (error) {
  3602. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Error, "Connection disconnected with error '" + error + "'.")
  3603. } else {
  3604. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Information, 'Connection disconnected.')
  3605. }
  3606. if (this.sendQueue) {
  3607. this.sendQueue.stop().catch(function (e) {
  3608. _this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Error, "TransportSendQueue.stop() threw error '" + e + "'.")
  3609. })
  3610. this.sendQueue = undefined
  3611. }
  3612. this.connectionId = undefined
  3613. this.connectionState = 'Disconnected'
  3614. if (this.connectionStarted) {
  3615. this.connectionStarted = false
  3616. try {
  3617. if (this.onclose) {
  3618. this.onclose(error)
  3619. }
  3620. } catch (e) {
  3621. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Error, 'HttpConnection.onclose(' + error + ") threw error '" + e + "'.")
  3622. }
  3623. }
  3624. }
  3625. HttpConnection.prototype.resolveUrl = function (url) {
  3626. if (url.lastIndexOf('https://', 0) === 0 || url.lastIndexOf('http://', 0) === 0) {
  3627. return url
  3628. }
  3629. if (!_Utils__WEBPACK_IMPORTED_MODULE_5__['Platform'].isBrowser || !window.document) {
  3630. throw new Error("Cannot resolve '" + url + "'.")
  3631. }
  3632. var aTag = window.document.createElement('a')
  3633. aTag.href = url
  3634. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Information, "Normalizing '" + url + "' to '" + aTag.href + "'.")
  3635. return aTag.href
  3636. }
  3637. HttpConnection.prototype.resolveNegotiateUrl = function (url) {
  3638. var index = url.indexOf('?')
  3639. var negotiateUrl = url.substring(0, index === -1 ? url.length : index)
  3640. if (negotiateUrl[negotiateUrl.length - 1] !== '/') {
  3641. negotiateUrl += '/'
  3642. }
  3643. negotiateUrl += 'negotiate'
  3644. negotiateUrl += index === -1 ? '' : url.substring(index)
  3645. if (negotiateUrl.indexOf('negotiateVersion') === -1) {
  3646. negotiateUrl += index === -1 ? '?' : '&'
  3647. negotiateUrl += 'negotiateVersion=' + this.negotiateVersion
  3648. }
  3649. return negotiateUrl
  3650. }
  3651. return HttpConnection
  3652. })()
  3653. function transportMatches(requestedTransport, actualTransport) {
  3654. return !requestedTransport || (actualTransport & requestedTransport) !== 0
  3655. }
  3656. var TransportSendQueue = (function () {
  3657. function TransportSendQueue(transport) {
  3658. this.transport = transport
  3659. this.buffer = []
  3660. this.executing = true
  3661. this.sendBufferedData = new PromiseSource()
  3662. this.transportResult = new PromiseSource()
  3663. this.sendLoopPromise = this.sendLoop()
  3664. }
  3665. TransportSendQueue.prototype.send = function (data) {
  3666. this.bufferData(data)
  3667. if (!this.transportResult) {
  3668. this.transportResult = new PromiseSource()
  3669. }
  3670. return this.transportResult.promise
  3671. }
  3672. TransportSendQueue.prototype.stop = function () {
  3673. this.executing = false
  3674. this.sendBufferedData.resolve()
  3675. return this.sendLoopPromise
  3676. }
  3677. TransportSendQueue.prototype.bufferData = function (data) {
  3678. if (this.buffer.length && typeof this.buffer[0] !== typeof data) {
  3679. throw new Error('Expected data to be of type ' + typeof this.buffer + ' but was of type ' + typeof data)
  3680. }
  3681. this.buffer.push(data)
  3682. this.sendBufferedData.resolve()
  3683. }
  3684. TransportSendQueue.prototype.sendLoop = function () {
  3685. return __awaiter(this, void 0, void 0, function () {
  3686. var transportResult, data, error_1
  3687. return __generator(this, function (_a) {
  3688. switch (_a.label) {
  3689. case 0:
  3690. if (false) {
  3691. }
  3692. return [4, this.sendBufferedData.promise]
  3693. case 1:
  3694. _a.sent()
  3695. if (!this.executing) {
  3696. if (this.transportResult) {
  3697. this.transportResult.reject('Connection stopped.')
  3698. }
  3699. return [3, 6]
  3700. }
  3701. this.sendBufferedData = new PromiseSource()
  3702. transportResult = this.transportResult
  3703. this.transportResult = undefined
  3704. data = typeof this.buffer[0] === 'string' ? this.buffer.join('') : TransportSendQueue.concatBuffers(this.buffer)
  3705. this.buffer.length = 0
  3706. _a.label = 2
  3707. case 2:
  3708. _a.trys.push([2, 4, , 5])
  3709. return [4, this.transport.send(data)]
  3710. case 3:
  3711. _a.sent()
  3712. transportResult.resolve()
  3713. return [3, 5]
  3714. case 4:
  3715. error_1 = _a.sent()
  3716. transportResult.reject(error_1)
  3717. return [3, 5]
  3718. case 5:
  3719. return [3, 0]
  3720. case 6:
  3721. return [2]
  3722. }
  3723. })
  3724. })
  3725. }
  3726. TransportSendQueue.concatBuffers = function (arrayBuffers) {
  3727. var totalLength = arrayBuffers
  3728. .map(function (b) {
  3729. return b.byteLength
  3730. })
  3731. .reduce(function (a, b) {
  3732. return a + b
  3733. })
  3734. var result = new Uint8Array(totalLength)
  3735. var offset = 0
  3736. for (var _i = 0, arrayBuffers_1 = arrayBuffers; _i < arrayBuffers_1.length; _i++) {
  3737. var item = arrayBuffers_1[_i]
  3738. result.set(new Uint8Array(item), offset)
  3739. offset += item.byteLength
  3740. }
  3741. return result.buffer
  3742. }
  3743. return TransportSendQueue
  3744. })()
  3745. var PromiseSource = (function () {
  3746. function PromiseSource() {
  3747. var _this = this
  3748. this.promise = new Promise(function (resolve, reject) {
  3749. var _a
  3750. return (_a = [resolve, reject]), (_this.resolver = _a[0]), (_this.rejecter = _a[1]), _a
  3751. })
  3752. }
  3753. PromiseSource.prototype.resolve = function () {
  3754. this.resolver()
  3755. }
  3756. PromiseSource.prototype.reject = function (reason) {
  3757. this.rejecter(reason)
  3758. }
  3759. return PromiseSource
  3760. })()
  3761. },
  3762. function (module, __webpack_exports__, __webpack_require__) {
  3763. 'use strict'
  3764. __webpack_require__.r(__webpack_exports__)
  3765. __webpack_require__.d(__webpack_exports__, 'HttpTransportType', function () {
  3766. return HttpTransportType
  3767. })
  3768. __webpack_require__.d(__webpack_exports__, 'TransferFormat', function () {
  3769. return TransferFormat
  3770. })
  3771. var HttpTransportType
  3772. ;(function (HttpTransportType) {
  3773. HttpTransportType[(HttpTransportType['None'] = 0)] = 'None'
  3774. HttpTransportType[(HttpTransportType['WebSockets'] = 1)] = 'WebSockets'
  3775. HttpTransportType[(HttpTransportType['ServerSentEvents'] = 2)] = 'ServerSentEvents'
  3776. HttpTransportType[(HttpTransportType['LongPolling'] = 4)] = 'LongPolling'
  3777. })(HttpTransportType || (HttpTransportType = {}))
  3778. var TransferFormat
  3779. ;(function (TransferFormat) {
  3780. TransferFormat[(TransferFormat['Text'] = 1)] = 'Text'
  3781. TransferFormat[(TransferFormat['Binary'] = 2)] = 'Binary'
  3782. })(TransferFormat || (TransferFormat = {}))
  3783. },
  3784. function (module, __webpack_exports__, __webpack_require__) {
  3785. 'use strict'
  3786. __webpack_require__.r(__webpack_exports__)
  3787. __webpack_require__.d(__webpack_exports__, 'LongPollingTransport', function () {
  3788. return LongPollingTransport
  3789. })
  3790. var _AbortController__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(22)
  3791. var _Errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(4)
  3792. var _ILogger__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(8)
  3793. var _ITransport__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(20)
  3794. var _Utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(9)
  3795. var __assign =
  3796. (undefined && undefined.__assign) ||
  3797. Object.assign ||
  3798. function (t) {
  3799. for (var s, i = 1, n = arguments.length; i < n; i++) {
  3800. s = arguments[i]
  3801. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]
  3802. }
  3803. return t
  3804. }
  3805. var __awaiter =
  3806. (undefined && undefined.__awaiter) ||
  3807. function (thisArg, _arguments, P, generator) {
  3808. return new (P || (P = Promise))(function (resolve, reject) {
  3809. function fulfilled(value) {
  3810. try {
  3811. step(generator.next(value))
  3812. } catch (e) {
  3813. reject(e)
  3814. }
  3815. }
  3816. function rejected(value) {
  3817. try {
  3818. step(generator['throw'](value))
  3819. } catch (e) {
  3820. reject(e)
  3821. }
  3822. }
  3823. function step(result) {
  3824. result.done
  3825. ? resolve(result.value)
  3826. : new P(function (resolve) {
  3827. resolve(result.value)
  3828. }).then(fulfilled, rejected)
  3829. }
  3830. step((generator = generator.apply(thisArg, _arguments || [])).next())
  3831. })
  3832. }
  3833. var __generator =
  3834. (undefined && undefined.__generator) ||
  3835. function (thisArg, body) {
  3836. var _ = {
  3837. label: 0,
  3838. sent: function () {
  3839. if (t[0] & 1) throw t[1]
  3840. return t[1]
  3841. },
  3842. trys: [],
  3843. ops: [],
  3844. },
  3845. f,
  3846. y,
  3847. t,
  3848. g
  3849. return (
  3850. (g = { next: verb(0), throw: verb(1), return: verb(2) }),
  3851. typeof Symbol === 'function' &&
  3852. (g[Symbol.iterator] = function () {
  3853. return this
  3854. }),
  3855. g
  3856. )
  3857. function verb(n) {
  3858. return function (v) {
  3859. return step([n, v])
  3860. }
  3861. }
  3862. function step(op) {
  3863. if (f) throw new TypeError('Generator is already executing.')
  3864. while (_)
  3865. try {
  3866. if (((f = 1), y && (t = op[0] & 2 ? y['return'] : op[0] ? y['throw'] || ((t = y['return']) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)) return t
  3867. if (((y = 0), t)) op = [op[0] & 2, t.value]
  3868. switch (op[0]) {
  3869. case 0:
  3870. case 1:
  3871. t = op
  3872. break
  3873. case 4:
  3874. _.label++
  3875. return { value: op[1], done: false }
  3876. case 5:
  3877. _.label++
  3878. y = op[1]
  3879. op = [0]
  3880. continue
  3881. case 7:
  3882. op = _.ops.pop()
  3883. _.trys.pop()
  3884. continue
  3885. default:
  3886. if (!((t = _.trys), (t = t.length > 0 && t[t.length - 1])) && (op[0] === 6 || op[0] === 2)) {
  3887. _ = 0
  3888. continue
  3889. }
  3890. if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
  3891. _.label = op[1]
  3892. break
  3893. }
  3894. if (op[0] === 6 && _.label < t[1]) {
  3895. _.label = t[1]
  3896. t = op
  3897. break
  3898. }
  3899. if (t && _.label < t[2]) {
  3900. _.label = t[2]
  3901. _.ops.push(op)
  3902. break
  3903. }
  3904. if (t[2]) _.ops.pop()
  3905. _.trys.pop()
  3906. continue
  3907. }
  3908. op = body.call(thisArg, _)
  3909. } catch (e) {
  3910. op = [6, e]
  3911. y = 0
  3912. } finally {
  3913. f = t = 0
  3914. }
  3915. if (op[0] & 5) throw op[1]
  3916. return { value: op[0] ? op[1] : void 0, done: true }
  3917. }
  3918. }
  3919. var LongPollingTransport = (function () {
  3920. function LongPollingTransport(httpClient, accessTokenFactory, logger, logMessageContent, withCredentials, headers) {
  3921. this.httpClient = httpClient
  3922. this.accessTokenFactory = accessTokenFactory
  3923. this.logger = logger
  3924. this.pollAbort = new _AbortController__WEBPACK_IMPORTED_MODULE_0__['AbortController']()
  3925. this.logMessageContent = logMessageContent
  3926. this.withCredentials = withCredentials
  3927. this.headers = headers
  3928. this.running = false
  3929. this.onreceive = null
  3930. this.onclose = null
  3931. }
  3932. Object.defineProperty(LongPollingTransport.prototype, 'pollAborted', {
  3933. get: function () {
  3934. return this.pollAbort.aborted
  3935. },
  3936. enumerable: true,
  3937. configurable: true,
  3938. })
  3939. LongPollingTransport.prototype.connect = function (url, transferFormat) {
  3940. return __awaiter(this, void 0, void 0, function () {
  3941. var _a, _b, name, value, headers, pollOptions, token, pollUrl, response
  3942. return __generator(this, function (_c) {
  3943. switch (_c.label) {
  3944. case 0:
  3945. _Utils__WEBPACK_IMPORTED_MODULE_4__['Arg'].isRequired(url, 'url')
  3946. _Utils__WEBPACK_IMPORTED_MODULE_4__['Arg'].isRequired(transferFormat, 'transferFormat')
  3947. _Utils__WEBPACK_IMPORTED_MODULE_4__['Arg'].isIn(transferFormat, _ITransport__WEBPACK_IMPORTED_MODULE_3__['TransferFormat'], 'transferFormat')
  3948. this.url = url
  3949. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Trace, '(LongPolling transport) Connecting.')
  3950. if (
  3951. transferFormat === _ITransport__WEBPACK_IMPORTED_MODULE_3__['TransferFormat'].Binary &&
  3952. typeof XMLHttpRequest !== 'undefined' &&
  3953. typeof new XMLHttpRequest().responseType !== 'string'
  3954. ) {
  3955. throw new Error('Binary protocols over XmlHttpRequest not implementing advanced features are not supported.')
  3956. }
  3957. ;(_b = Object(_Utils__WEBPACK_IMPORTED_MODULE_4__['getUserAgentHeader'])()), (name = _b[0]), (value = _b[1])
  3958. headers = __assign(((_a = {}), (_a[name] = value), _a), this.headers)
  3959. pollOptions = { abortSignal: this.pollAbort.signal, headers: headers, timeout: 1e5, withCredentials: this.withCredentials }
  3960. if (transferFormat === _ITransport__WEBPACK_IMPORTED_MODULE_3__['TransferFormat'].Binary) {
  3961. pollOptions.responseType = 'arraybuffer'
  3962. }
  3963. return [4, this.getAccessToken()]
  3964. case 1:
  3965. token = _c.sent()
  3966. this.updateHeaderToken(pollOptions, token)
  3967. pollUrl = url + '&_=' + Date.now()
  3968. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Trace, '(LongPolling transport) polling: ' + pollUrl + '.')
  3969. return [4, this.httpClient.get(pollUrl, pollOptions)]
  3970. case 2:
  3971. response = _c.sent()
  3972. if (response.statusCode !== 200) {
  3973. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Error, '(LongPolling transport) Unexpected response code: ' + response.statusCode + '.')
  3974. this.closeError = new _Errors__WEBPACK_IMPORTED_MODULE_1__['HttpError'](response.statusText || '', response.statusCode)
  3975. this.running = false
  3976. } else {
  3977. this.running = true
  3978. }
  3979. this.receiving = this.poll(this.url, pollOptions)
  3980. return [2]
  3981. }
  3982. })
  3983. })
  3984. }
  3985. LongPollingTransport.prototype.getAccessToken = function () {
  3986. return __awaiter(this, void 0, void 0, function () {
  3987. return __generator(this, function (_a) {
  3988. switch (_a.label) {
  3989. case 0:
  3990. if (!this.accessTokenFactory) return [3, 2]
  3991. return [4, this.accessTokenFactory()]
  3992. case 1:
  3993. return [2, _a.sent()]
  3994. case 2:
  3995. return [2, null]
  3996. }
  3997. })
  3998. })
  3999. }
  4000. LongPollingTransport.prototype.updateHeaderToken = function (request, token) {
  4001. if (!request.headers) {
  4002. request.headers = {}
  4003. }
  4004. if (token) {
  4005. request.headers['Authorization'] = 'Bearer ' + token
  4006. return
  4007. }
  4008. if (request.headers['Authorization']) {
  4009. delete request.headers['Authorization']
  4010. }
  4011. }
  4012. LongPollingTransport.prototype.poll = function (url, pollOptions) {
  4013. return __awaiter(this, void 0, void 0, function () {
  4014. var token, pollUrl, response, e_1
  4015. return __generator(this, function (_a) {
  4016. switch (_a.label) {
  4017. case 0:
  4018. _a.trys.push([0, , 8, 9])
  4019. _a.label = 1
  4020. case 1:
  4021. if (!this.running) return [3, 7]
  4022. return [4, this.getAccessToken()]
  4023. case 2:
  4024. token = _a.sent()
  4025. this.updateHeaderToken(pollOptions, token)
  4026. _a.label = 3
  4027. case 3:
  4028. _a.trys.push([3, 5, , 6])
  4029. pollUrl = url + '&_=' + Date.now()
  4030. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Trace, '(LongPolling transport) polling: ' + pollUrl + '.')
  4031. return [4, this.httpClient.get(pollUrl, pollOptions)]
  4032. case 4:
  4033. response = _a.sent()
  4034. if (response.statusCode === 204) {
  4035. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Information, '(LongPolling transport) Poll terminated by server.')
  4036. this.running = false
  4037. } else if (response.statusCode !== 200) {
  4038. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Error, '(LongPolling transport) Unexpected response code: ' + response.statusCode + '.')
  4039. this.closeError = new _Errors__WEBPACK_IMPORTED_MODULE_1__['HttpError'](response.statusText || '', response.statusCode)
  4040. this.running = false
  4041. } else {
  4042. if (response.content) {
  4043. this.logger.log(
  4044. _ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Trace,
  4045. '(LongPolling transport) data received. ' + Object(_Utils__WEBPACK_IMPORTED_MODULE_4__['getDataDetail'])(response.content, this.logMessageContent) + '.'
  4046. )
  4047. if (this.onreceive) {
  4048. this.onreceive(response.content)
  4049. }
  4050. } else {
  4051. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Trace, '(LongPolling transport) Poll timed out, reissuing.')
  4052. }
  4053. }
  4054. return [3, 6]
  4055. case 5:
  4056. e_1 = _a.sent()
  4057. if (!this.running) {
  4058. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Trace, '(LongPolling transport) Poll errored after shutdown: ' + e_1.message)
  4059. } else {
  4060. if (e_1 instanceof _Errors__WEBPACK_IMPORTED_MODULE_1__['TimeoutError']) {
  4061. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Trace, '(LongPolling transport) Poll timed out, reissuing.')
  4062. } else {
  4063. this.closeError = e_1
  4064. this.running = false
  4065. }
  4066. }
  4067. return [3, 6]
  4068. case 6:
  4069. return [3, 1]
  4070. case 7:
  4071. return [3, 9]
  4072. case 8:
  4073. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Trace, '(LongPolling transport) Polling complete.')
  4074. if (!this.pollAborted) {
  4075. this.raiseOnClose()
  4076. }
  4077. return [7]
  4078. case 9:
  4079. return [2]
  4080. }
  4081. })
  4082. })
  4083. }
  4084. LongPollingTransport.prototype.send = function (data) {
  4085. return __awaiter(this, void 0, void 0, function () {
  4086. return __generator(this, function (_a) {
  4087. if (!this.running) {
  4088. return [2, Promise.reject(new Error('Cannot send until the transport is connected'))]
  4089. }
  4090. return [
  4091. 2,
  4092. Object(_Utils__WEBPACK_IMPORTED_MODULE_4__['sendMessage'])(
  4093. this.logger,
  4094. 'LongPolling',
  4095. this.httpClient,
  4096. this.url,
  4097. this.accessTokenFactory,
  4098. data,
  4099. this.logMessageContent,
  4100. this.withCredentials,
  4101. this.headers
  4102. ),
  4103. ]
  4104. })
  4105. })
  4106. }
  4107. LongPollingTransport.prototype.stop = function () {
  4108. return __awaiter(this, void 0, void 0, function () {
  4109. var headers, _a, name_1, value, deleteOptions, token
  4110. return __generator(this, function (_b) {
  4111. switch (_b.label) {
  4112. case 0:
  4113. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Trace, '(LongPolling transport) Stopping polling.')
  4114. this.running = false
  4115. this.pollAbort.abort()
  4116. _b.label = 1
  4117. case 1:
  4118. _b.trys.push([1, , 5, 6])
  4119. return [4, this.receiving]
  4120. case 2:
  4121. _b.sent()
  4122. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Trace, '(LongPolling transport) sending DELETE request to ' + this.url + '.')
  4123. headers = {}
  4124. ;(_a = Object(_Utils__WEBPACK_IMPORTED_MODULE_4__['getUserAgentHeader'])()), (name_1 = _a[0]), (value = _a[1])
  4125. headers[name_1] = value
  4126. deleteOptions = { headers: __assign({}, headers, this.headers), withCredentials: this.withCredentials }
  4127. return [4, this.getAccessToken()]
  4128. case 3:
  4129. token = _b.sent()
  4130. this.updateHeaderToken(deleteOptions, token)
  4131. return [4, this.httpClient.delete(this.url, deleteOptions)]
  4132. case 4:
  4133. _b.sent()
  4134. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Trace, '(LongPolling transport) DELETE request sent.')
  4135. return [3, 6]
  4136. case 5:
  4137. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Trace, '(LongPolling transport) Stop finished.')
  4138. this.raiseOnClose()
  4139. return [7]
  4140. case 6:
  4141. return [2]
  4142. }
  4143. })
  4144. })
  4145. }
  4146. LongPollingTransport.prototype.raiseOnClose = function () {
  4147. if (this.onclose) {
  4148. var logMessage = '(LongPolling transport) Firing onclose event.'
  4149. if (this.closeError) {
  4150. logMessage += ' Error: ' + this.closeError
  4151. }
  4152. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__['LogLevel'].Trace, logMessage)
  4153. this.onclose(this.closeError)
  4154. }
  4155. }
  4156. return LongPollingTransport
  4157. })()
  4158. },
  4159. function (module, __webpack_exports__, __webpack_require__) {
  4160. 'use strict'
  4161. __webpack_require__.r(__webpack_exports__)
  4162. __webpack_require__.d(__webpack_exports__, 'AbortController', function () {
  4163. return AbortController
  4164. })
  4165. var AbortController = (function () {
  4166. function AbortController() {
  4167. this.isAborted = false
  4168. this.onabort = null
  4169. }
  4170. AbortController.prototype.abort = function () {
  4171. if (!this.isAborted) {
  4172. this.isAborted = true
  4173. if (this.onabort) {
  4174. this.onabort()
  4175. }
  4176. }
  4177. }
  4178. Object.defineProperty(AbortController.prototype, 'signal', {
  4179. get: function () {
  4180. return this
  4181. },
  4182. enumerable: true,
  4183. configurable: true,
  4184. })
  4185. Object.defineProperty(AbortController.prototype, 'aborted', {
  4186. get: function () {
  4187. return this.isAborted
  4188. },
  4189. enumerable: true,
  4190. configurable: true,
  4191. })
  4192. return AbortController
  4193. })()
  4194. },
  4195. function (module, __webpack_exports__, __webpack_require__) {
  4196. 'use strict'
  4197. __webpack_require__.r(__webpack_exports__)
  4198. __webpack_require__.d(__webpack_exports__, 'ServerSentEventsTransport', function () {
  4199. return ServerSentEventsTransport
  4200. })
  4201. var _ILogger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8)
  4202. var _ITransport__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20)
  4203. var _Utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9)
  4204. var __assign =
  4205. (undefined && undefined.__assign) ||
  4206. Object.assign ||
  4207. function (t) {
  4208. for (var s, i = 1, n = arguments.length; i < n; i++) {
  4209. s = arguments[i]
  4210. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]
  4211. }
  4212. return t
  4213. }
  4214. var __awaiter =
  4215. (undefined && undefined.__awaiter) ||
  4216. function (thisArg, _arguments, P, generator) {
  4217. return new (P || (P = Promise))(function (resolve, reject) {
  4218. function fulfilled(value) {
  4219. try {
  4220. step(generator.next(value))
  4221. } catch (e) {
  4222. reject(e)
  4223. }
  4224. }
  4225. function rejected(value) {
  4226. try {
  4227. step(generator['throw'](value))
  4228. } catch (e) {
  4229. reject(e)
  4230. }
  4231. }
  4232. function step(result) {
  4233. result.done
  4234. ? resolve(result.value)
  4235. : new P(function (resolve) {
  4236. resolve(result.value)
  4237. }).then(fulfilled, rejected)
  4238. }
  4239. step((generator = generator.apply(thisArg, _arguments || [])).next())
  4240. })
  4241. }
  4242. var __generator =
  4243. (undefined && undefined.__generator) ||
  4244. function (thisArg, body) {
  4245. var _ = {
  4246. label: 0,
  4247. sent: function () {
  4248. if (t[0] & 1) throw t[1]
  4249. return t[1]
  4250. },
  4251. trys: [],
  4252. ops: [],
  4253. },
  4254. f,
  4255. y,
  4256. t,
  4257. g
  4258. return (
  4259. (g = { next: verb(0), throw: verb(1), return: verb(2) }),
  4260. typeof Symbol === 'function' &&
  4261. (g[Symbol.iterator] = function () {
  4262. return this
  4263. }),
  4264. g
  4265. )
  4266. function verb(n) {
  4267. return function (v) {
  4268. return step([n, v])
  4269. }
  4270. }
  4271. function step(op) {
  4272. if (f) throw new TypeError('Generator is already executing.')
  4273. while (_)
  4274. try {
  4275. if (((f = 1), y && (t = op[0] & 2 ? y['return'] : op[0] ? y['throw'] || ((t = y['return']) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)) return t
  4276. if (((y = 0), t)) op = [op[0] & 2, t.value]
  4277. switch (op[0]) {
  4278. case 0:
  4279. case 1:
  4280. t = op
  4281. break
  4282. case 4:
  4283. _.label++
  4284. return { value: op[1], done: false }
  4285. case 5:
  4286. _.label++
  4287. y = op[1]
  4288. op = [0]
  4289. continue
  4290. case 7:
  4291. op = _.ops.pop()
  4292. _.trys.pop()
  4293. continue
  4294. default:
  4295. if (!((t = _.trys), (t = t.length > 0 && t[t.length - 1])) && (op[0] === 6 || op[0] === 2)) {
  4296. _ = 0
  4297. continue
  4298. }
  4299. if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
  4300. _.label = op[1]
  4301. break
  4302. }
  4303. if (op[0] === 6 && _.label < t[1]) {
  4304. _.label = t[1]
  4305. t = op
  4306. break
  4307. }
  4308. if (t && _.label < t[2]) {
  4309. _.label = t[2]
  4310. _.ops.push(op)
  4311. break
  4312. }
  4313. if (t[2]) _.ops.pop()
  4314. _.trys.pop()
  4315. continue
  4316. }
  4317. op = body.call(thisArg, _)
  4318. } catch (e) {
  4319. op = [6, e]
  4320. y = 0
  4321. } finally {
  4322. f = t = 0
  4323. }
  4324. if (op[0] & 5) throw op[1]
  4325. return { value: op[0] ? op[1] : void 0, done: true }
  4326. }
  4327. }
  4328. var ServerSentEventsTransport = (function () {
  4329. function ServerSentEventsTransport(httpClient, accessTokenFactory, logger, logMessageContent, eventSourceConstructor, withCredentials, headers) {
  4330. this.httpClient = httpClient
  4331. this.accessTokenFactory = accessTokenFactory
  4332. this.logger = logger
  4333. this.logMessageContent = logMessageContent
  4334. this.withCredentials = withCredentials
  4335. this.eventSourceConstructor = eventSourceConstructor
  4336. this.headers = headers
  4337. this.onreceive = null
  4338. this.onclose = null
  4339. }
  4340. ServerSentEventsTransport.prototype.connect = function (url, transferFormat) {
  4341. return __awaiter(this, void 0, void 0, function () {
  4342. var token
  4343. var _this = this
  4344. return __generator(this, function (_a) {
  4345. switch (_a.label) {
  4346. case 0:
  4347. _Utils__WEBPACK_IMPORTED_MODULE_2__['Arg'].isRequired(url, 'url')
  4348. _Utils__WEBPACK_IMPORTED_MODULE_2__['Arg'].isRequired(transferFormat, 'transferFormat')
  4349. _Utils__WEBPACK_IMPORTED_MODULE_2__['Arg'].isIn(transferFormat, _ITransport__WEBPACK_IMPORTED_MODULE_1__['TransferFormat'], 'transferFormat')
  4350. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_0__['LogLevel'].Trace, '(SSE transport) Connecting.')
  4351. this.url = url
  4352. if (!this.accessTokenFactory) return [3, 2]
  4353. return [4, this.accessTokenFactory()]
  4354. case 1:
  4355. token = _a.sent()
  4356. if (token) {
  4357. url += (url.indexOf('?') < 0 ? '?' : '&') + ('access_token=' + encodeURIComponent(token))
  4358. }
  4359. _a.label = 2
  4360. case 2:
  4361. return [
  4362. 2,
  4363. new Promise(function (resolve, reject) {
  4364. var opened = false
  4365. if (transferFormat !== _ITransport__WEBPACK_IMPORTED_MODULE_1__['TransferFormat'].Text) {
  4366. reject(new Error("The Server-Sent Events transport only supports the 'Text' transfer format"))
  4367. return
  4368. }
  4369. var eventSource
  4370. if (_Utils__WEBPACK_IMPORTED_MODULE_2__['Platform'].isBrowser || _Utils__WEBPACK_IMPORTED_MODULE_2__['Platform'].isWebWorker) {
  4371. eventSource = new _this.eventSourceConstructor(url, { withCredentials: _this.withCredentials })
  4372. } else {
  4373. var cookies = _this.httpClient.getCookieString(url)
  4374. var headers = {}
  4375. headers.Cookie = cookies
  4376. var _a = Object(_Utils__WEBPACK_IMPORTED_MODULE_2__['getUserAgentHeader'])(),
  4377. name_1 = _a[0],
  4378. value = _a[1]
  4379. headers[name_1] = value
  4380. eventSource = new _this.eventSourceConstructor(url, { withCredentials: _this.withCredentials, headers: __assign({}, headers, _this.headers) })
  4381. }
  4382. try {
  4383. eventSource.onmessage = function (e) {
  4384. if (_this.onreceive) {
  4385. try {
  4386. _this.logger.log(
  4387. _ILogger__WEBPACK_IMPORTED_MODULE_0__['LogLevel'].Trace,
  4388. '(SSE transport) data received. ' + Object(_Utils__WEBPACK_IMPORTED_MODULE_2__['getDataDetail'])(e.data, _this.logMessageContent) + '.'
  4389. )
  4390. _this.onreceive(e.data)
  4391. } catch (error) {
  4392. _this.close(error)
  4393. return
  4394. }
  4395. }
  4396. }
  4397. eventSource.onerror = function (e) {
  4398. var error = new Error(e.data || 'Error occurred')
  4399. if (opened) {
  4400. _this.close(error)
  4401. } else {
  4402. reject(error)
  4403. }
  4404. }
  4405. eventSource.onopen = function () {
  4406. _this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_0__['LogLevel'].Information, 'SSE connected to ' + _this.url)
  4407. _this.eventSource = eventSource
  4408. opened = true
  4409. resolve()
  4410. }
  4411. } catch (e) {
  4412. reject(e)
  4413. return
  4414. }
  4415. }),
  4416. ]
  4417. }
  4418. })
  4419. })
  4420. }
  4421. ServerSentEventsTransport.prototype.send = function (data) {
  4422. return __awaiter(this, void 0, void 0, function () {
  4423. return __generator(this, function (_a) {
  4424. if (!this.eventSource) {
  4425. return [2, Promise.reject(new Error('Cannot send until the transport is connected'))]
  4426. }
  4427. return [
  4428. 2,
  4429. Object(_Utils__WEBPACK_IMPORTED_MODULE_2__['sendMessage'])(
  4430. this.logger,
  4431. 'SSE',
  4432. this.httpClient,
  4433. this.url,
  4434. this.accessTokenFactory,
  4435. data,
  4436. this.logMessageContent,
  4437. this.withCredentials,
  4438. this.headers
  4439. ),
  4440. ]
  4441. })
  4442. })
  4443. }
  4444. ServerSentEventsTransport.prototype.stop = function () {
  4445. this.close()
  4446. return Promise.resolve()
  4447. }
  4448. ServerSentEventsTransport.prototype.close = function (e) {
  4449. if (this.eventSource) {
  4450. this.eventSource.close()
  4451. this.eventSource = undefined
  4452. if (this.onclose) {
  4453. this.onclose(e)
  4454. }
  4455. }
  4456. }
  4457. return ServerSentEventsTransport
  4458. })()
  4459. },
  4460. function (module, __webpack_exports__, __webpack_require__) {
  4461. 'use strict'
  4462. __webpack_require__.r(__webpack_exports__)
  4463. __webpack_require__.d(__webpack_exports__, 'WebSocketTransport', function () {
  4464. return WebSocketTransport
  4465. })
  4466. var _ILogger__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8)
  4467. var _ITransport__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(20)
  4468. var _Utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(9)
  4469. var __assign =
  4470. (undefined && undefined.__assign) ||
  4471. Object.assign ||
  4472. function (t) {
  4473. for (var s, i = 1, n = arguments.length; i < n; i++) {
  4474. s = arguments[i]
  4475. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]
  4476. }
  4477. return t
  4478. }
  4479. var __awaiter =
  4480. (undefined && undefined.__awaiter) ||
  4481. function (thisArg, _arguments, P, generator) {
  4482. return new (P || (P = Promise))(function (resolve, reject) {
  4483. function fulfilled(value) {
  4484. try {
  4485. step(generator.next(value))
  4486. } catch (e) {
  4487. reject(e)
  4488. }
  4489. }
  4490. function rejected(value) {
  4491. try {
  4492. step(generator['throw'](value))
  4493. } catch (e) {
  4494. reject(e)
  4495. }
  4496. }
  4497. function step(result) {
  4498. result.done
  4499. ? resolve(result.value)
  4500. : new P(function (resolve) {
  4501. resolve(result.value)
  4502. }).then(fulfilled, rejected)
  4503. }
  4504. step((generator = generator.apply(thisArg, _arguments || [])).next())
  4505. })
  4506. }
  4507. var __generator =
  4508. (undefined && undefined.__generator) ||
  4509. function (thisArg, body) {
  4510. var _ = {
  4511. label: 0,
  4512. sent: function () {
  4513. if (t[0] & 1) throw t[1]
  4514. return t[1]
  4515. },
  4516. trys: [],
  4517. ops: [],
  4518. },
  4519. f,
  4520. y,
  4521. t,
  4522. g
  4523. return (
  4524. (g = { next: verb(0), throw: verb(1), return: verb(2) }),
  4525. typeof Symbol === 'function' &&
  4526. (g[Symbol.iterator] = function () {
  4527. return this
  4528. }),
  4529. g
  4530. )
  4531. function verb(n) {
  4532. return function (v) {
  4533. return step([n, v])
  4534. }
  4535. }
  4536. function step(op) {
  4537. if (f) throw new TypeError('Generator is already executing.')
  4538. while (_)
  4539. try {
  4540. if (((f = 1), y && (t = op[0] & 2 ? y['return'] : op[0] ? y['throw'] || ((t = y['return']) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)) return t
  4541. if (((y = 0), t)) op = [op[0] & 2, t.value]
  4542. switch (op[0]) {
  4543. case 0:
  4544. case 1:
  4545. t = op
  4546. break
  4547. case 4:
  4548. _.label++
  4549. return { value: op[1], done: false }
  4550. case 5:
  4551. _.label++
  4552. y = op[1]
  4553. op = [0]
  4554. continue
  4555. case 7:
  4556. op = _.ops.pop()
  4557. _.trys.pop()
  4558. continue
  4559. default:
  4560. if (!((t = _.trys), (t = t.length > 0 && t[t.length - 1])) && (op[0] === 6 || op[0] === 2)) {
  4561. _ = 0
  4562. continue
  4563. }
  4564. if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
  4565. _.label = op[1]
  4566. break
  4567. }
  4568. if (op[0] === 6 && _.label < t[1]) {
  4569. _.label = t[1]
  4570. t = op
  4571. break
  4572. }
  4573. if (t && _.label < t[2]) {
  4574. _.label = t[2]
  4575. _.ops.push(op)
  4576. break
  4577. }
  4578. if (t[2]) _.ops.pop()
  4579. _.trys.pop()
  4580. continue
  4581. }
  4582. op = body.call(thisArg, _)
  4583. } catch (e) {
  4584. op = [6, e]
  4585. y = 0
  4586. } finally {
  4587. f = t = 0
  4588. }
  4589. if (op[0] & 5) throw op[1]
  4590. return { value: op[0] ? op[1] : void 0, done: true }
  4591. }
  4592. }
  4593. var WebSocketTransport = (function () {
  4594. function WebSocketTransport(httpClient, accessTokenFactory, logger, logMessageContent, webSocketConstructor, headers) {
  4595. this.logger = logger
  4596. this.accessTokenFactory = accessTokenFactory
  4597. this.logMessageContent = logMessageContent
  4598. this.webSocketConstructor = webSocketConstructor
  4599. this.httpClient = httpClient
  4600. this.onreceive = null
  4601. this.onclose = null
  4602. this.headers = headers
  4603. }
  4604. WebSocketTransport.prototype.connect = function (url, transferFormat) {
  4605. return __awaiter(this, void 0, void 0, function () {
  4606. var token
  4607. var _this = this
  4608. return __generator(this, function (_a) {
  4609. switch (_a.label) {
  4610. case 0:
  4611. _Utils__WEBPACK_IMPORTED_MODULE_2__['Arg'].isRequired(url, 'url')
  4612. _Utils__WEBPACK_IMPORTED_MODULE_2__['Arg'].isRequired(transferFormat, 'transferFormat')
  4613. _Utils__WEBPACK_IMPORTED_MODULE_2__['Arg'].isIn(transferFormat, _ITransport__WEBPACK_IMPORTED_MODULE_1__['TransferFormat'], 'transferFormat')
  4614. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_0__['LogLevel'].Trace, '(WebSockets transport) Connecting.')
  4615. if (!this.accessTokenFactory) return [3, 2]
  4616. return [4, this.accessTokenFactory()]
  4617. case 1:
  4618. token = _a.sent()
  4619. if (token) {
  4620. url += (url.indexOf('?') < 0 ? '?' : '&') + ('access_token=' + encodeURIComponent(token))
  4621. }
  4622. _a.label = 2
  4623. case 2:
  4624. return [
  4625. 2,
  4626. new Promise(function (resolve, reject) {
  4627. url = url.replace(/^http/, 'ws')
  4628. var webSocket
  4629. var cookies = _this.httpClient.getCookieString(url)
  4630. var opened = false
  4631. if (_Utils__WEBPACK_IMPORTED_MODULE_2__['Platform'].isNode) {
  4632. var headers = {}
  4633. var _a = Object(_Utils__WEBPACK_IMPORTED_MODULE_2__['getUserAgentHeader'])(),
  4634. name_1 = _a[0],
  4635. value = _a[1]
  4636. headers[name_1] = value
  4637. if (cookies) {
  4638. headers['Cookie'] = '' + cookies
  4639. }
  4640. webSocket = new _this.webSocketConstructor(url, undefined, { headers: __assign({}, headers, _this.headers) })
  4641. }
  4642. if (!webSocket) {
  4643. webSocket = new _this.webSocketConstructor(url)
  4644. }
  4645. if (transferFormat === _ITransport__WEBPACK_IMPORTED_MODULE_1__['TransferFormat'].Binary) {
  4646. webSocket.binaryType = 'arraybuffer'
  4647. }
  4648. webSocket.onopen = function (_event) {
  4649. _this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_0__['LogLevel'].Information, 'WebSocket connected to ' + url + '.')
  4650. _this.webSocket = webSocket
  4651. opened = true
  4652. resolve()
  4653. }
  4654. webSocket.onerror = function (event) {
  4655. var error = null
  4656. if (typeof ErrorEvent !== 'undefined' && event instanceof ErrorEvent) {
  4657. error = event.error
  4658. } else {
  4659. error = new Error('There was an error with the transport.')
  4660. }
  4661. reject(error)
  4662. }
  4663. webSocket.onmessage = function (message) {
  4664. _this.logger.log(
  4665. _ILogger__WEBPACK_IMPORTED_MODULE_0__['LogLevel'].Trace,
  4666. '(WebSockets transport) data received. ' + Object(_Utils__WEBPACK_IMPORTED_MODULE_2__['getDataDetail'])(message.data, _this.logMessageContent) + '.'
  4667. )
  4668. if (_this.onreceive) {
  4669. try {
  4670. _this.onreceive(message.data)
  4671. } catch (error) {
  4672. _this.close(error)
  4673. return
  4674. }
  4675. }
  4676. }
  4677. webSocket.onclose = function (event) {
  4678. if (opened) {
  4679. _this.close(event)
  4680. } else {
  4681. var error = null
  4682. if (typeof ErrorEvent !== 'undefined' && event instanceof ErrorEvent) {
  4683. error = event.error
  4684. } else {
  4685. error = new Error('There was an error with the transport.')
  4686. }
  4687. reject(error)
  4688. }
  4689. }
  4690. }),
  4691. ]
  4692. }
  4693. })
  4694. })
  4695. }
  4696. WebSocketTransport.prototype.send = function (data) {
  4697. if (this.webSocket && this.webSocket.readyState === this.webSocketConstructor.OPEN) {
  4698. this.logger.log(
  4699. _ILogger__WEBPACK_IMPORTED_MODULE_0__['LogLevel'].Trace,
  4700. '(WebSockets transport) sending data. ' + Object(_Utils__WEBPACK_IMPORTED_MODULE_2__['getDataDetail'])(data, this.logMessageContent) + '.'
  4701. )
  4702. this.webSocket.send(data)
  4703. return Promise.resolve()
  4704. }
  4705. return Promise.reject('WebSocket is not in the OPEN state')
  4706. }
  4707. WebSocketTransport.prototype.stop = function () {
  4708. if (this.webSocket) {
  4709. this.close(undefined)
  4710. }
  4711. return Promise.resolve()
  4712. }
  4713. WebSocketTransport.prototype.close = function (event) {
  4714. if (this.webSocket) {
  4715. this.webSocket.onclose = function () {}
  4716. this.webSocket.onmessage = function () {}
  4717. this.webSocket.onerror = function () {}
  4718. this.webSocket.close()
  4719. this.webSocket = undefined
  4720. }
  4721. this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_0__['LogLevel'].Trace, '(WebSockets transport) socket closed.')
  4722. if (this.onclose) {
  4723. if (this.isCloseEvent(event) && (event.wasClean === false || event.code !== 1e3)) {
  4724. this.onclose(new Error('WebSocket closed with status code: ' + event.code + ' (' + event.reason + ').'))
  4725. } else if (event instanceof Error) {
  4726. this.onclose(event)
  4727. } else {
  4728. this.onclose()
  4729. }
  4730. }
  4731. }
  4732. WebSocketTransport.prototype.isCloseEvent = function (event) {
  4733. return event && typeof event.wasClean === 'boolean' && typeof event.code === 'number'
  4734. }
  4735. return WebSocketTransport
  4736. })()
  4737. },
  4738. function (module, __webpack_exports__, __webpack_require__) {
  4739. 'use strict'
  4740. __webpack_require__.r(__webpack_exports__)
  4741. __webpack_require__.d(__webpack_exports__, 'JsonHubProtocol', function () {
  4742. return JsonHubProtocol
  4743. })
  4744. var _IHubProtocol__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(15)
  4745. var _ILogger__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(8)
  4746. var _ITransport__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(20)
  4747. var _Loggers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(10)
  4748. var _TextMessageFormat__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(14)
  4749. var JSON_HUB_PROTOCOL_NAME = 'json'
  4750. var JsonHubProtocol = (function () {
  4751. function JsonHubProtocol() {
  4752. this.name = JSON_HUB_PROTOCOL_NAME
  4753. this.version = 1
  4754. this.transferFormat = _ITransport__WEBPACK_IMPORTED_MODULE_2__['TransferFormat'].Text
  4755. }
  4756. JsonHubProtocol.prototype.parseMessages = function (input, logger) {
  4757. if (typeof input !== 'string') {
  4758. throw new Error('Invalid input for JSON hub protocol. Expected a string.')
  4759. }
  4760. if (!input) {
  4761. return []
  4762. }
  4763. if (logger === null) {
  4764. logger = _Loggers__WEBPACK_IMPORTED_MODULE_3__['NullLogger'].instance
  4765. }
  4766. var messages = _TextMessageFormat__WEBPACK_IMPORTED_MODULE_4__['TextMessageFormat'].parse(input)
  4767. var hubMessages = []
  4768. for (var _i = 0, messages_1 = messages; _i < messages_1.length; _i++) {
  4769. var message = messages_1[_i]
  4770. var parsedMessage = JSON.parse(message)
  4771. if (typeof parsedMessage.type !== 'number') {
  4772. throw new Error('Invalid payload.')
  4773. }
  4774. switch (parsedMessage.type) {
  4775. case _IHubProtocol__WEBPACK_IMPORTED_MODULE_0__['MessageType'].Invocation:
  4776. this.isInvocationMessage(parsedMessage)
  4777. break
  4778. case _IHubProtocol__WEBPACK_IMPORTED_MODULE_0__['MessageType'].StreamItem:
  4779. this.isStreamItemMessage(parsedMessage)
  4780. break
  4781. case _IHubProtocol__WEBPACK_IMPORTED_MODULE_0__['MessageType'].Completion:
  4782. this.isCompletionMessage(parsedMessage)
  4783. break
  4784. case _IHubProtocol__WEBPACK_IMPORTED_MODULE_0__['MessageType'].Ping:
  4785. break
  4786. case _IHubProtocol__WEBPACK_IMPORTED_MODULE_0__['MessageType'].Close:
  4787. break
  4788. default:
  4789. logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__['LogLevel'].Information, "Unknown message type '" + parsedMessage.type + "' ignored.")
  4790. continue
  4791. }
  4792. hubMessages.push(parsedMessage)
  4793. }
  4794. return hubMessages
  4795. }
  4796. JsonHubProtocol.prototype.writeMessage = function (message) {
  4797. return _TextMessageFormat__WEBPACK_IMPORTED_MODULE_4__['TextMessageFormat'].write(JSON.stringify(message))
  4798. }
  4799. JsonHubProtocol.prototype.isInvocationMessage = function (message) {
  4800. this.assertNotEmptyString(message.target, 'Invalid payload for Invocation message.')
  4801. if (message.invocationId !== undefined) {
  4802. this.assertNotEmptyString(message.invocationId, 'Invalid payload for Invocation message.')
  4803. }
  4804. }
  4805. JsonHubProtocol.prototype.isStreamItemMessage = function (message) {
  4806. this.assertNotEmptyString(message.invocationId, 'Invalid payload for StreamItem message.')
  4807. if (message.item === undefined) {
  4808. throw new Error('Invalid payload for StreamItem message.')
  4809. }
  4810. }
  4811. JsonHubProtocol.prototype.isCompletionMessage = function (message) {
  4812. if (message.result && message.error) {
  4813. throw new Error('Invalid payload for Completion message.')
  4814. }
  4815. if (!message.result && message.error) {
  4816. this.assertNotEmptyString(message.error, 'Invalid payload for Completion message.')
  4817. }
  4818. this.assertNotEmptyString(message.invocationId, 'Invalid payload for Completion message.')
  4819. }
  4820. JsonHubProtocol.prototype.assertNotEmptyString = function (value, errorMessage) {
  4821. if (typeof value !== 'string' || value === '') {
  4822. throw new Error(errorMessage)
  4823. }
  4824. }
  4825. return JsonHubProtocol
  4826. })()
  4827. },
  4828. ])
  4829. })
  4830. //# sourceMappingURL=signalr.min.js.map