(functionwebpackUniversalModuleDefinition(root,factory){if(typeofexports==='object'&&typeofmodule==='object')module.exports=factory();elseif(typeofdefine==='function'&&define.amd)define([],factory);elseif(typeofexports==='object')exports["signalR"]=factory();elseroot["signalR"]=factory();})(window,function(){return/******/(function(modules){// webpackBootstrap/******/// The module cache/******/varinstalledModules={};/******//******/// The require function/******/function__webpack_require__(moduleId){/******//******/// Check if module is in cache/******/if(installedModules[moduleId]){/******/returninstalledModules[moduleId].exports;/******/}/******/// Create a new module (and put it into the cache)/******/varmodule=installedModules[moduleId]={/******/i:moduleId,/******/l:false,/******/exports:{}/******/};/******//******/// Execute the module function/******/modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);/******//******/// Flag the module as loaded/******/module.l=true;/******//******/// Return the exports of the module/******/returnmodule.exports;/******/}/******//******//******/// expose the modules object (__webpack_modules__)/******/__webpack_require__.m=modules;/******//******/// expose the module cache/******/__webpack_require__.c=installedModules;/******//******/// define getter function for harmony exports/******/__webpack_require__.d=function(exports,name,getter){/******/if(!__webpack_require__.o(exports,name)){/******/Object.defineProperty(exports,name,{enumerable:true,get:getter});/******/}/******/};/******//******/// define __esModule on exports/******/__webpack_require__.r=function(exports){/******/if(typeofSymbol!=='undefined'&&Symbol.toStringTag){/******/Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});/******/}/******/Object.defineProperty(exports,'__esModule',{value:true});/******/};/******//******/// create a fake namespace object/******/// mode & 1: value is a module id, require it/******/// mode & 2: merge all properties of value into the ns/******/// mode & 4: return value when already ns object/******/// mode & 8|1: behave like require/******/__webpack_require__.t=function(value,mode){/******/if(mode&1)value=__webpack_require__(value);/******/if(mode&8)returnvalue;/******/if((mode&4)&&typeofvalue==='object'&&value&&value.__esModule)returnvalue;/******/varns=Object.create(null);/******/__webpack_require__.r(ns);/******/Object.defineProperty(ns,'default',{enumerable:true,value:value});/******/if(mode&2&&typeofvalue!='string')for(varkeyinvalue)__webpack_require__.d(ns,key,function(key){returnvalue[key];}.bind(null,key));/******/returnns;/******/};/******//******/// getDefaultExport function for compatibility with non-harmony modules/******/__webpack_require__.n=function(module){/******/vargetter=module&&module.__esModule?/******/functiongetDefault(){returnmodule['default'];}:/******/functiongetModuleExports(){returnmodule;};/******/__webpack_require__.d(getter,'a',getter);/******/returngetter;/******/};/******//******/// Object.prototype.hasOwnProperty.call/******/__webpack_require__.o=function(object,property){returnObject.prototype.hasOwnProperty.call(object,property);};/******//******/// __webpack_public_path__/******/__webpack_require__.p="";/******//******//******/// Load entry module and return exports/******/return__webpack_require__(__webpack_require__.s=0);/******/})/************************************************************************//******/([/* 0 *//***/(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);/* harmony import */vares6_promise_dist_es6_promise_auto_js__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(1);/* harmony import */vares6_promise_dist_es6_promise_auto_js__WEBPACK_IMPORTED_MODULE_0___default=/*#__PURE__*/__webpack_require__.n(es6_promise_dist_es6_promise_auto_js__WEBPACK_IMPORTED_MODULE_0__);/* harmony import */var_index__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(3);/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"VERSION",function(){return_index__WEBPACK_IMPORTED_MODULE_1__["VERSION"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"AbortError",function(){return_index__WEBPACK_IMPORTED_MODULE_1__["AbortError"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"HttpError",function(){return_index__WEBPACK_IMPORTED_MODULE_1__["HttpError"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"TimeoutError",function(){return_index__WEBPACK_IMPORTED_MODULE_1__["TimeoutError"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"HttpClient",function(){return_index__WEBPACK_IMPORTED_MODULE_1__["HttpClient"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"HttpResponse",function(){return_index__WEBPACK_IMPORTED_MODULE_1__["HttpResponse"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"DefaultHttpClient",function(){return_index__WEBPACK_IMPORTED_MODULE_1__["DefaultHttpClient"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"HubConnection",function(){return_index__WEBPACK_IMPORTED_MODULE_1__["HubConnection"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"HubConnectionState",function(){return_index__WEBPACK_IMPORTED_MODULE_1__["HubConnectionState"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"HubConnectionBuilder",function(){return_index__WEBPACK_IMPORTED_MODULE_1__["HubConnectionBuilder"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"MessageType",function(){return_index__WEBPACK_IMPORTED_MODULE_1__["MessageType"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"LogLevel",function(){return_index__WEBPACK_IMPORTED_MODULE_1__["LogLevel"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"HttpTransportType",function(){return_index__WEBPACK_IMPORTED_MODULE_1__["HttpTransportType"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"TransferFormat",function(){return_index__WEBPACK_IMPORTED_MODULE_1__["TransferFormat"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"NullLogger",function(){return_index__WEBPACK_IMPORTED_MODULE_1__["NullLogger"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"JsonHubProtocol",function(){return_index__WEBPACK_IMPORTED_MODULE_1__["JsonHubProtocol"];});// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.// This is where we add any polyfills we'll need for the browser. It is the entry module for browser-specific builds.// Copy from Array.prototype into Uint8Array to polyfill on IE. It's OK because the implementations of indexOf and slice use properties// that exist on Uint8Array with the same name, and JavaScript is magic.// We make them 'writable' because the Buffer polyfill messes with it as well.if(!Uint8Array.prototype.indexOf){Object.defineProperty(Uint8Array.prototype,"indexOf",{value:Array.prototype.indexOf,writable:true,});}if(!Uint8Array.prototype.slice){Object.defineProperty(Uint8Array.prototype,"slice",{value:Array.prototype.slice,writable:true,});}if(!Uint8Array.prototype.forEach){Object.defineProperty(Uint8Array.prototype,"forEach",{value:Array.prototype.forEach,writable:true,});}/***/}),/* 1 *//***/(function(module,exports,__webpack_require__){/* WEBPACK VAR INJECTION */(function(global){varrequire;/*! * @overview es6-promise - a tiny implementation of Promises/A+.*@copyrightCopyright(c)2014YehudaKatz,TomDale,StefanPennerandcontributors(ConversiontoES6APIbyJakeArchibald)*@licenseLicensedunderMITlicense*Seehttps://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE*@versionv4.2.2+97478eb6*/(function (global, factory) { true ? module.exports = factory() : undefined;}(this, (function () { 'use strict';function objectOrFunction(x) { var type = typeof x; return x !== null && (type === 'object' || type === 'function');}function isFunction(x) { return typeof x === 'function';}var _isArray = void 0;if (Array.isArray) { _isArray = Array.isArray;} else { _isArray = function (x) { return Object.prototype.toString.call(x) === '[object Array]'; };}var isArray = _isArray;var len = 0;var vertxNext = void 0;var customSchedulerFn = void 0;var asap = function asap(callback, arg) { queue[len] = callback; queue[len + 1] = arg; len += 2; if (len === 2) { //Iflenis2,thatmeansthatweneedtoscheduleanasyncflush.// If additional callbacks are queued before the queue is flushed, they// will be processed by this flush that we are scheduling.if(customSchedulerFn){customSchedulerFn(flush);}else{scheduleFlush();}}};functionsetScheduler(scheduleFn){customSchedulerFn=scheduleFn;}functionsetAsap(asapFn){asap=asapFn;}varbrowserWindow=typeofwindow!=='undefined'?window:undefined;varbrowserGlobal=browserWindow||{};varBrowserMutationObserver=browserGlobal.MutationObserver||browserGlobal.WebKitMutationObserver;varisNode=typeofself==='undefined'&&typeofprocess!=='undefined'&&{}.toString.call(process)==='[object process]';// test for web worker but not in IE10varisWorker=typeofUint8ClampedArray!=='undefined'&&typeofimportScripts!=='undefined'&&typeofMessageChannel!=='undefined';// nodefunctionuseNextTick(){// node version 0.10.x displays a deprecation warning when nextTick is used recursively// see https://github.com/cujojs/when/issues/410 for detailsreturnfunction(){returnprocess.nextTick(flush);};}// vertxfunctionuseVertxTimer(){if(typeofvertxNext!=='undefined'){returnfunction(){vertxNext(flush);};}returnuseSetTimeout();}functionuseMutationObserver(){variterations=0;varobserver=newBrowserMutationObserver(flush);varnode=document.createTextNode('');observer.observe(node,{characterData:true});returnfunction(){node.data=iterations=++iterations%2;};}// web workerfunctionuseMessageChannel(){varchannel=newMessageChannel();channel.port1.onmessage=flush;returnfunction(){returnchannel.port2.postMessage(0);};}functionuseSetTimeout(){// Store setTimeout reference so es6-promise will be unaffected by// other code modifying setTimeout (like sinon.useFakeTimers())varglobalSetTimeout=setTimeout;returnfunction(){returnglobalSetTimeout(flush,1);};}varqueue=newArray(1000);functionflush(){for(vari=0;i<len;i+=2){varcallback=queue[i];vararg=queue[i+1];callback(arg);queue[i]=undefined;queue[i+1]=undefined;}len=0;}functionattemptVertx(){try{varr=require;varvertx=__webpack_require__(!(functionwebpackMissingModule(){vare=newError("Cannot find module 'vertx'");e.code='MODULE_NOT_FOUND';throwe;}()));vertxNext=vertx.runOnLoop||vertx.runOnContext;returnuseVertxTimer();}catch(e){returnuseSetTimeout();}}varscheduleFlush=void0;// Decide what async method to use to triggering processing of queued callbacks:if(isNode){scheduleFlush=useNextTick();}elseif(BrowserMutationObserver){scheduleFlush=useMutationObserver();}elseif(isWorker){scheduleFlush=useMessageChannel();}elseif(browserWindow===undefined&&"function"==='function'){scheduleFlush=attemptVertx();}else{scheduleFlush=useSetTimeout();}functionthen(onFulfillment,onRejection){varparent=this;varchild=newthis.constructor(noop);if(child[PROMISE_ID]===undefined){makePromise(child);}var_state=parent._state;if(_state){varcallback=arguments[_state-1];asap(function(){returninvokeCallback(_state,child,callback,parent._result);});}else{subscribe(parent,child,onFulfillment,onRejection);}returnchild;}/** `Promise.resolve` returns a promise that will become resolved with the passed `value`. It is shorthand for the following: ```javascript let promise = new Promise(function(resolve, reject){ resolve(1); }); promise.then(function(value){ //value===1});```Insteadofwritingtheabove,yourcodenowsimplybecomesthefollowing:```javascriptletpromise=Promise.resolve(1);promise.then(function(value){// value === 1});```@methodresolve@static@param{Any}valuevaluethatthereturnedpromisewillberesolvedwithUsefulfortooling.@return{Promise}apromisethatwillbecomefulfilledwiththegiven`value`*/function resolve$1(object) { /*jshintvalidthis:true*/ var Constructor = this; if (object && typeof object === 'object' && object.constructor === Constructor) { return object; } var promise = new Constructor(noop); resolve(promise, object); return promise;}var PROMISE_ID = Math.random().toString(36).substring(16);function noop() {}var PENDING = void 0;var FULFILLED = 1;var REJECTED = 2;var GET_THEN_ERROR = new ErrorObject();function selfFulfillment() { return new TypeError("You cannot resolve a promise with itself");}function cannotReturnOwn() { return new TypeError('A promises callback cannot return that same promise.');}function getThen(promise) { try { return promise.then; } catch (error) { GET_THEN_ERROR.error = error; return GET_THEN_ERROR; }}function tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) { try { then$$1.call(value, fulfillmentHandler, rejectionHandler); } catch (e) { return e; }}function handleForeignThenable(promise, thenable, then$$1) { asap(function (promise) { var sealed = false; var error = tryThen(then$$1, thenable, function (value) { if (sealed) { return; } sealed = true; if (thenable !== value) { resolve(promise, value); } else { fulfill(promise, value); } }, function (reason) { if (sealed) { return; } sealed = true; reject(promise, reason); }, 'Settle: ' + (promise._label || ' unknown promise')); if (!sealed && error) { sealed = true; reject(promise, error); } }, promise);}function handleOwnThenable(promise, thenable) { if (thenable._state === FULFILLED) { fulfill(promise, thenable._result); } else if (thenable._state === REJECTED) { reject(promise, thenable._result); } else { subscribe(thenable, undefined, function (value) { return resolve(promise, value); }, function (reason) { return reject(promise, reason); }); }}function handleMaybeThenable(promise, maybeThenable, then$$1) { if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) { handleOwnThenable(promise, maybeThenable); } else { if (then$$1 === GET_THEN_ERROR) { reject(promise, GET_THEN_ERROR.error); GET_THEN_ERROR.error = null; } else if (then$$1 === undefined) { fulfill(promise, maybeThenable); } else if (isFunction(then$$1)) { handleForeignThenable(promise, maybeThenable, then$$1); } else { fulfill(promise, maybeThenable); } }}function resolve(promise, value) { if (promise === value) { reject(promise, selfFulfillment()); } else if (objectOrFunction(value)) { handleMaybeThenable(promise, value, getThen(value)); } else { fulfill(promise, value); }}function publishRejection(promise) { if (promise._onerror) { promise._onerror(promise._result); } publish(promise);}function fulfill(promise, value) { if (promise._state !== PENDING) { return; } promise._result = value; promise._state = FULFILLED; if (promise._subscribers.length !== 0) { asap(publish, promise); }}function reject(promise, reason) { if (promise._state !== PENDING) { return; } promise._state = REJECTED; promise._result = reason; asap(publishRejection, promise);}function subscribe(parent, child, onFulfillment, onRejection) { var _subscribers = parent._subscribers; var length = _subscribers.length; parent._onerror = null; _subscribers[length] = child; _subscribers[length + FULFILLED] = onFulfillment; _subscribers[length + REJECTED] = onRejection; if (length === 0 && parent._state) { asap(publish, parent); }}function publish(promise) { var subscribers = promise._subscribers; var settled = promise._state; if (subscribers.length === 0) { return; } var child = void 0, callback = void 0, detail = promise._result; for (var i = 0; i < subscribers.length; i += 3) { child = subscribers[i]; callback = subscribers[i + settled]; if (child) { invokeCallback(settled, child, callback, detail); } else { callback(detail); } } promise._subscribers.length = 0;}function ErrorObject() { this.error = null;}var TRY_CATCH_ERROR = new ErrorObject();function tryCatch(callback, detail) { try { return callback(detail); } catch (e) { TRY_CATCH_ERROR.error = e; return TRY_CATCH_ERROR; }}function invokeCallback(settled, promise, callback, detail) { var hasCallback = isFunction(callback), value = void 0, error = void 0, succeeded = void 0, failed = void 0; if (hasCallback) { value = tryCatch(callback, detail); if (value === TRY_CATCH_ERROR) { failed = true; error = value.error; value.error = null; } else { succeeded = true; } if (promise === value) { reject(promise, cannotReturnOwn()); return; } } else { value = detail; succeeded = true; } if (promise._state !== PENDING) { //noop}elseif(hasCallback&&succeeded){resolve(promise,value);}elseif(failed){reject(promise,error);}elseif(settled===FULFILLED){fulfill(promise,value);}elseif(settled===REJECTED){reject(promise,value);}}functioninitializePromise(promise,resolver){try{resolver(functionresolvePromise(value){resolve(promise,value);},functionrejectPromise(reason){reject(promise,reason);});}catch(e){reject(promise,e);}}varid=0;functionnextId(){returnid++;}functionmakePromise(promise){promise[PROMISE_ID]=id++;promise._state=undefined;promise._result=undefined;promise._subscribers=[];}functionvalidationError(){returnnewError('Array Methods must be provided an Array');}functionvalidationError(){returnnewError('Array Methods must be provided an Array');}varEnumerator=function(){functionEnumerator(Constructor,input){this._instanceConstructor=Constructor;this.promise=newConstructor(noop);if(!this.promise[PROMISE_ID]){makePromise(this.promise);}if(isArray(input)){this.length=input.length;this._remaining=input.length;this._result=newArray(this.length);if(this.length===0){fulfill(this.promise,this._result);}else{this.length=this.length||0;this._enumerate(input);if(this._remaining===0){fulfill(this.promise,this._result);}}}else{reject(this.promise,validationError());}}Enumerator.prototype._enumerate=function_enumerate(input){for(vari=0;this._state===PENDING&&i<input.length;i++){this._eachEntry(input[i],i);}};Enumerator.prototype._eachEntry=function_eachEntry(entry,i){varc=this._instanceConstructor;varresolve$$1=c.resolve;if(resolve$$1===resolve$1){var_then=getThen(entry);if(_then===then&&entry._state!==PENDING){this._settledAt(entry._state,i,entry._result);}elseif(typeof_then!=='function'){this._remaining--;this._result[i]=entry;}elseif(c===Promise$2){varpromise=newc(noop);handleMaybeThenable(promise,entry,_then);this._willSettleAt(promise,i);}else{this._willSettleAt(newc(function(resolve$$1){returnresolve$$1(entry);}),i);}}else{this._willSettleAt(resolve$$1(entry),i);}};Enumerator.prototype._settledAt=function_settledAt(state,i,value){varpromise=this.promise;if(promise._state===PENDING){this._remaining--;if(state===REJECTED){reject(promise,value);}else{this._result[i]=value;}}if(this._remaining===0){fulfill(promise,this._result);}};Enumerator.prototype._willSettleAt=function_willSettleAt(promise,i){varenumerator=this;subscribe(promise,undefined,function(value){returnenumerator._settledAt(FULFILLED,i,value);},function(reason){returnenumerator._settledAt(REJECTED,i,reason);});};returnEnumerator;}();/** `Promise.all` accepts an array of promises, and returns a new promise which is fulfilled with an array of fulfillment values for the passed promises, or rejected with the reason of the first passed promise to be rejected. It casts all elements of the passed iterable to promises as it runs this algorithm. Example: ```javascript let promise1 = resolve(1); let promise2 = resolve(2); let promise3 = resolve(3); let promises = [ promise1, promise2, promise3 ]; Promise.all(promises).then(function(array){ //Thearrayherewouldbe[1,2,3];});```Ifanyofthe`promises`givento`all`arerejected,thefirstpromisethatisrejectedwillbegivenasanargumenttothereturnedpromises'srejectionhandler.Forexample:Example:```javascriptletpromise1=resolve(1);letpromise2=reject(newError("2"));letpromise3=reject(newError("3"));letpromises=[promise1,promise2,promise3];Promise.all(promises).then(function(array){// Code here never runs because there are rejected promises!},function(error){// error.message === "2"});```@methodall@static@param{Array}entriesarrayofpromises@param{String}labeloptionalstringforlabelingthepromise.Usefulfortooling.@return{Promise}promisethatisfulfilledwhenall`promises`havebeenfulfilled,orrejectedifanyofthembecomerejected.@static*/function all(entries) { return new Enumerator(this, entries).promise;}/**`Promise.race`returnsanewpromisewhichissettledinthesamewayasthefirstpassedpromisetosettle.Example:```javascriptletpromise1=newPromise(function(resolve,reject){setTimeout(function(){resolve('promise 1');},200);});letpromise2=newPromise(function(resolve,reject){setTimeout(function(){resolve('promise 2');},100);});Promise.race([promise1,promise2]).then(function(result){// result === 'promise 2' because it was resolved before promise1// was resolved.});````Promise.race`isdeterministicinthatonlythestateofthefirstsettledpromisematters.Forexample,evenifotherpromisesgiventothe`promises`arrayargumentareresolved,butthefirstsettledpromisehasbecomerejectedbeforetheotherpromisesbecamefulfilled,thereturnedpromisewillbecomerejected:```javascriptletpromise1=newPromise(function(resolve,reject){setTimeout(function(){resolve('promise 1');},200);});letpromise2=newPromise(function(resolve,reject){setTimeout(function(){reject(newError('promise 2'));},100);});Promise.race([promise1,promise2]).then(function(result){// Code here never runs},function(reason){// reason.message === 'promise 2' because promise 2 became rejected before// promise 1 became fulfilled});```Anexamplereal-worldusecaseisimplementingtimeouts:```javascriptPromise.race([ajax('foo.json'),timeout(5000)])```@methodrace@static@param{Array}promisesarrayofpromisestoobserveUsefulfortooling.@return{Promise}apromisewhichsettlesinthesamewayasthefirstpassedpromisetosettle.*/function race(entries) { /*jshintvalidthis:true*/ var Constructor = this; if (!isArray(entries)) { return new Constructor(function (_, reject) { return reject(new TypeError('You must pass an array to race.')); }); } else { return new Constructor(function (resolve, reject) { var length = entries.length; for (var i = 0; i < length; i++) { Constructor.resolve(entries[i]).then(resolve, reject); } }); }}/**`Promise.reject`returnsapromiserejectedwiththepassed`reason`.Itisshorthandforthefollowing:```javascriptletpromise=newPromise(function(resolve,reject){reject(newError('WHOOPS'));});promise.then(function(value){// Code here doesn't run because the promise is rejected!},function(reason){// reason.message === 'WHOOPS'});```Insteadofwritingtheabove,yourcodenowsimplybecomesthefollowing:```javascriptletpromise=Promise.reject(newError('WHOOPS'));promise.then(function(value){// Code here doesn't run because the promise is rejected!},function(reason){// reason.message === 'WHOOPS'});```@methodreject@static@param{Any}reasonvaluethatthereturnedpromisewillberejectedwith.Usefulfortooling.@return{Promise}apromiserejectedwiththegiven`reason`.*/function reject$1(reason) { /*jshintvalidthis:true*/ var Constructor = this; var promise = new Constructor(noop); reject(promise, reason); return promise;}function needsResolver() { throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');}function needsNew() { throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");}/**Promiseobjectsrepresenttheeventualresultofanasynchronousoperation.Theprimarywayofinteractingwithapromiseisthroughits`then`method,whichregisterscallbackstoreceiveeitherapromise'seventualvalueorthereasonwhythepromisecannotbefulfilled.Terminology------------`promise`isanobjectorfunctionwitha`then`methodwhosebehaviorconformstothisspecification.-`thenable`isanobjectorfunctionthatdefinesa`then`method.-`value`isanylegalJavaScriptvalue(includingundefined,athenable,orapromise).-`exception`isavaluethatisthrownusingthethrowstatement.-`reason`isavaluethatindicateswhyapromisewasrejected.-`settled`thefinalrestingstateofapromise,fulfilledorrejected.Apromisecanbeinoneofthreestates:pending,fulfilled,orrejected.Promisesthatarefulfilledhaveafulfillmentvalueandareinthefulfilledstate.Promisesthatarerejectedhavearejectionreasonandareintherejectedstate.Afulfillmentvalueisneverathenable.Promisescanalsobesaidto*resolve*avalue.Ifthisvalueisalsoapromise,thentheoriginalpromise's settled state will match the value'ssettledstate.Soapromisethat*resolves*apromisethatrejectswillitselfreject,andapromisethat*resolves*apromisethatfulfillswillitselffulfill.BasicUsage:------------```jsletpromise=newPromise(function(resolve,reject){// on successresolve(value);// on failurereject(reason);});promise.then(function(value){// on fulfillment},function(reason){// on rejection});```AdvancedUsage:---------------Promisesshinewhenabstractingawayasynchronousinteractionssuchas`XMLHttpRequest`s.```jsfunctiongetJSON(url){returnnewPromise(function(resolve,reject){letxhr=newXMLHttpRequest();xhr.open('GET',url);xhr.onreadystatechange=handler;xhr.responseType='json';xhr.setRequestHeader('Accept','application/json');xhr.send();functionhandler(){if(this.readyState===this.DONE){if(this.status===200){resolve(this.response);}else{reject(newError('getJSON: `'+url+'` failed with status: ['+this.status+']'));}}};});}getJSON('/posts.json').then(function(json){// on fulfillment},function(reason){// on rejection});```Unlikecallbacks,promisesaregreatcomposableprimitives.```jsPromise.all([getJSON('/posts'),getJSON('/comments')]).then(function(values){values[0]// => postsJSONvalues[1]// => commentsJSONreturnvalues;});```@classPromise@param{Function}resolverUsefulfortooling.@constructor*/var Promise$2 = function () { function Promise(resolver) { this[PROMISE_ID] = nextId(); this._result = this._state = undefined; this._subscribers = []; if (noop !== resolver) { typeof resolver !== 'function' && needsResolver(); this instanceof Promise ? initializePromise(this, resolver) : needsNew(); } } /**Theprimarywayofinteractingwithapromiseisthroughits`then`method,whichregisterscallbackstoreceiveeitherapromise'seventualvalueorthereasonwhythepromisecannotbefulfilled.```jsfindUser().then(function(user){// user is available},function(reason){// user is unavailable, and you are given the reason why});```Chaining--------Thereturnvalueof`then`isitselfapromise.Thissecond,'downstream'promiseisresolvedwiththereturnvalueofthefirstpromise'sfulfillmentorrejectionhandler,orrejectedifthehandlerthrowsanexception.```jsfindUser().then(function(user){returnuser.name;},function(reason){return'default name';}).then(function(userName){// If `findUser` fulfilled, `userName` will be the user's name, otherwise it// will be `'default name'`});findUser().then(function(user){thrownewError('Found user, but still unhappy');},function(reason){thrownewError('`findUser` rejected and we'reunhappy');}).then(function(value){// never reached},function(reason){// if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.// If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.});```Ifthedownstreampromisedoesnotspecifyarejectionhandler,rejectionreasonswillbepropagatedfurtherdownstream.```jsfindUser().then(function(user){thrownewPedagogicalException('Upstream error');}).then(function(value){// never reached}).then(function(value){// never reached},function(reason){// The `PedgagocialException` is propagated all the way down to here});```Assimilation------------Sometimesthevalueyouwanttopropagatetoadownstreampromisecanonlyberetrievedasynchronously.Thiscanbeachievedbyreturningapromiseinthefulfillmentorrejectionhandler.Thedownstreampromisewillthenbependinguntilthereturnedpromiseissettled.Thisiscalled*assimilation*.```jsfindUser().then(function(user){returnfindCommentsByAuthor(user);}).then(function(comments){// The user's comments are now available});```Iftheassimliatedpromiserejects,thenthedownstreampromisewillalsoreject.```jsfindUser().then(function(user){returnfindCommentsByAuthor(user);}).then(function(comments){// If `findCommentsByAuthor` fulfills, we'll have the value here},function(reason){// If `findCommentsByAuthor` rejects, we'll have the reason here});```SimpleExample--------------SynchronousExample```javascriptletresult;try{result=findResult();// success}catch(reason){// failure}```ErrbackExample```jsfindResult(function(result,err){if(err){// failure}else{// success}});```PromiseExample;```javascriptfindResult().then(function(result){// success},function(reason){// failure});```AdvancedExample--------------SynchronousExample```javascriptletauthor,books;try{author=findAuthor();books=findBooksByAuthor(author);// success}catch(reason){// failure}```ErrbackExample```jsfunctionfoundBooks(books){}functionfailure(reason){}findAuthor(function(author,err){if(err){failure(err);// failure}else{try{findBoooksByAuthor(author,function(books,err){if(err){failure(err);}else{try{foundBooks(books);}catch(reason){failure(reason);}}});}catch(error){failure(err);}// success}});```PromiseExample;```javascriptfindAuthor().then(findBooksByAuthor).then(function(books){// found books}).catch(function(reason){// something went wrong});```@methodthen@param{Function}onFulfilled@param{Function}onRejectedUsefulfortooling.@return{Promise}*/ /**`catch`issimplysugarfor`then(undefined,onRejection)`whichmakesitthesameasthecatchblockofatry/catch statement. ```js function findAuthor(){ throw new Error('couldn't find that author'); } //synchronoustry{findAuthor();}catch(reason){// something went wrong}// async with promisesfindAuthor().catch(function(reason){// something went wrong});```@methodcatch@param{Function}onRejectionUsefulfortooling.@return{Promise}*/ Promise.prototype.catch = function _catch(onRejection) { return this.then(null, onRejection); }; /**`finally`willbeinvokedregardlessofthepromise'sfatejustasnativetry/catch/finallybehavesSynchronousexample:```jsfindAuthor(){if(Math.random()>0.5){thrownewError();}returnnewAuthor();}try{returnfindAuthor();// succeed or fail}catch(error){returnfindOtherAuther();}finally{// always runs// doesn't affect the return value}```Asynchronousexample:```jsfindAuthor().catch(function(reason){returnfindOtherAuther();}).finally(function(){// author was either found, or not});```@methodfinally@param{Function}callback@return{Promise}*/ Promise.prototype.finally = function _finally(callback) { var promise = this; var constructor = promise.constructor; return promise.then(function (value) { return constructor.resolve(callback()).then(function () { return value; }); }, function (reason) { return constructor.resolve(callback()).then(function () { throw reason; }); }); }; return Promise;}();Promise$2.prototype.then = then;Promise$2.all = all;Promise$2.race = race;Promise$2.resolve = resolve$1;Promise$2.reject = reject$1;Promise$2._setScheduler = setScheduler;Promise$2._setAsap = setAsap;Promise$2._asap = asap;/*globalself*/function polyfill() { var local = void 0; if (typeof global !== 'undefined') { local = global; } else if (typeof self !== 'undefined') { local = self; } else { try { local = Function('return this')(); } catch (e) { throw new Error('polyfill failed because global object is unavailable in this environment'); } } var P = local.Promise; if (P) { var promiseToString = null; try { promiseToString = Object.prototype.toString.call(P.resolve()); } catch (e) { //silentlyignored}if(promiseToString==='[object Promise]'&&!P.cast){return;}}local.Promise=Promise$2;}// Strange compat..Promise$2.polyfill=polyfill;Promise$2.Promise=Promise$2;Promise$2.polyfill();returnPromise$2;})));//# sourceMappingURL=es6-promise.auto.map/* WEBPACK VAR INJECTION */}.call(this,__webpack_require__(2)))/***/}),/* 2 *//***/(function(module,exports){varg;// This works in non-strict modeg=(function(){returnthis;})();try{// This works if eval is allowed (see CSP)g=g||Function("return this")()||(1,eval)("this");}catch(e){// This works if the window reference is availableif(typeofwindow==="object")g=window;}// g can still be undefined, but nothing to do about it...// We return undefined, instead of nothing here, so it's// easier to handle this case. if(!global) { ...}module.exports=g;/***/}),/* 3 *//***/(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"VERSION",function(){returnVERSION;});/* harmony import */var_Errors__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(4);/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"AbortError",function(){return_Errors__WEBPACK_IMPORTED_MODULE_0__["AbortError"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"HttpError",function(){return_Errors__WEBPACK_IMPORTED_MODULE_0__["HttpError"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"TimeoutError",function(){return_Errors__WEBPACK_IMPORTED_MODULE_0__["TimeoutError"];});/* harmony import */var_HttpClient__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(5);/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"HttpClient",function(){return_HttpClient__WEBPACK_IMPORTED_MODULE_1__["HttpClient"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"HttpResponse",function(){return_HttpClient__WEBPACK_IMPORTED_MODULE_1__["HttpResponse"];});/* harmony import */var_DefaultHttpClient__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(6);/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"DefaultHttpClient",function(){return_DefaultHttpClient__WEBPACK_IMPORTED_MODULE_2__["DefaultHttpClient"];});/* harmony import */var_HubConnection__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(10);/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"HubConnection",function(){return_HubConnection__WEBPACK_IMPORTED_MODULE_3__["HubConnection"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"HubConnectionState",function(){return_HubConnection__WEBPACK_IMPORTED_MODULE_3__["HubConnectionState"];});/* harmony import */var_HubConnectionBuilder__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(16);/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"HubConnectionBuilder",function(){return_HubConnectionBuilder__WEBPACK_IMPORTED_MODULE_4__["HubConnectionBuilder"];});/* harmony import */var_IHubProtocol__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(15);/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"MessageType",function(){return_IHubProtocol__WEBPACK_IMPORTED_MODULE_5__["MessageType"];});/* harmony import */var_ILogger__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(9);/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"LogLevel",function(){return_ILogger__WEBPACK_IMPORTED_MODULE_6__["LogLevel"];});/* harmony import */var_ITransport__WEBPACK_IMPORTED_MODULE_7__=__webpack_require__(18);/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"HttpTransportType",function(){return_ITransport__WEBPACK_IMPORTED_MODULE_7__["HttpTransportType"];});/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"TransferFormat",function(){return_ITransport__WEBPACK_IMPORTED_MODULE_7__["TransferFormat"];});/* harmony import */var_Loggers__WEBPACK_IMPORTED_MODULE_8__=__webpack_require__(14);/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"NullLogger",function(){return_Loggers__WEBPACK_IMPORTED_MODULE_8__["NullLogger"];});/* harmony import */var_JsonHubProtocol__WEBPACK_IMPORTED_MODULE_9__=__webpack_require__(23);/* harmony reexport (safe) */__webpack_require__.d(__webpack_exports__,"JsonHubProtocol",function(){return_JsonHubProtocol__WEBPACK_IMPORTED_MODULE_9__["JsonHubProtocol"];});// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.// Version token that will be replaced by the prepack command/** The version of the SignalR client. */varVERSION="1.1.4";/***/}),/* 4 *//***/(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"HttpError",function(){returnHttpError;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"TimeoutError",function(){returnTimeoutError;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"AbortError",function(){returnAbortError;});// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.var__extends=(undefined&&undefined.__extends)||(function(){varextendStatics=Object.setPrototypeOf||({__proto__:[]}instanceofArray&&function(d,b){d.__proto__=b;})||function(d,b){for(varpinb)if(b.hasOwnProperty(p))d[p]=b[p];};returnfunction(d,b){extendStatics(d,b);function__(){this.constructor=d;}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new__());};})();/** Error thrown when an HTTP request fails. */varHttpError=/** @class */(function(_super){__extends(HttpError,_super);/** Constructs a new instance of {@link @aspnet/signalr.HttpError}.**@param{string}errorMessageAdescriptiveerrormessage.*@param{number}statusCodeTheHTTPstatuscoderepresentedbythiserror.*/ function HttpError(errorMessage, statusCode) { var _newTarget = this.constructor; var _this = this; var trueProto = _newTarget.prototype; _this = _super.call(this, errorMessage) || this; _this.statusCode = statusCode; //WorkaroundissueinTypescriptcompiler// https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200_this.__proto__=trueProto;return_this;}returnHttpError;}(Error));/** Error thrown when a timeout elapses. */varTimeoutError=/** @class */(function(_super){__extends(TimeoutError,_super);/** Constructs a new instance of {@link @aspnet/signalr.TimeoutError}.**@param{string}errorMessageAdescriptiveerrormessage.*/ function TimeoutError(errorMessage) { var _newTarget = this.constructor; if (errorMessage === void 0) { errorMessage = "A timeout occurred."; } var _this = this; var trueProto = _newTarget.prototype; _this = _super.call(this, errorMessage) || this; //WorkaroundissueinTypescriptcompiler// https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200_this.__proto__=trueProto;return_this;}returnTimeoutError;}(Error));/** Error thrown when an action is aborted. */varAbortError=/** @class */(function(_super){__extends(AbortError,_super);/** Constructs a new instance of {@link AbortError}. * * @param {string} errorMessage A descriptive error message. */functionAbortError(errorMessage){var_newTarget=this.constructor;if(errorMessage===void0){errorMessage="An abort occurred.";}var_this=this;vartrueProto=_newTarget.prototype;_this=_super.call(this,errorMessage)||this;// Workaround issue in Typescript compiler// https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200_this.__proto__=trueProto;return_this;}returnAbortError;}(Error));/***/}),/* 5 *//***/(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"HttpResponse",function(){returnHttpResponse;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"HttpClient",function(){returnHttpClient;});// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.var__assign=(undefined&&undefined.__assign)||Object.assign||function(t){for(vars,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(varpins)if(Object.prototype.hasOwnProperty.call(s,p))t[p]=s[p];}returnt;};/** Represents an HTTP response. */varHttpResponse=/** @class */(function(){functionHttpResponse(statusCode,statusText,content){this.statusCode=statusCode;this.statusText=statusText;this.content=content;}returnHttpResponse;}());/** Abstraction over an HTTP client. * * This class provides an abstraction over an HTTP client so that a different implementation can be provided on different platforms. */varHttpClient=/** @class */(function(){functionHttpClient(){}HttpClient.prototype.get=function(url,options){returnthis.send(__assign({},options,{method:"GET",url:url}));};HttpClient.prototype.post=function(url,options){returnthis.send(__assign({},options,{method:"POST",url:url}));};HttpClient.prototype.delete=function(url,options){returnthis.send(__assign({},options,{method:"DELETE",url:url}));};/** Gets all cookies that apply to the specified URL. * * @param url The URL that the cookies are valid for. * @returns {string} A string containing all the key-value cookie pairs for the specified URL. */// @ts-ignoreHttpClient.prototype.getCookieString=function(url){return"";};returnHttpClient;}());/***/}),/* 6 *//***/(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"DefaultHttpClient",function(){returnDefaultHttpClient;});/* harmony import */var_Errors__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(4);/* harmony import */var_HttpClient__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(5);/* harmony import */var_NodeHttpClient__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(7);/* harmony import */var_XhrHttpClient__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(8);// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.var__extends=(undefined&&undefined.__extends)||(function(){varextendStatics=Object.setPrototypeOf||({__proto__:[]}instanceofArray&&function(d,b){d.__proto__=b;})||function(d,b){for(varpinb)if(b.hasOwnProperty(p))d[p]=b[p];};returnfunction(d,b){extendStatics(d,b);function__(){this.constructor=d;}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new__());};})();/** Default implementation of {@link @aspnet/signalr.HttpClient}. */varDefaultHttpClient=/** @class */(function(_super){__extends(DefaultHttpClient,_super);/** Creates a new instance of the {@link @aspnet/signalr.DefaultHttpClient}, using the provided {@link @aspnet/signalr.ILogger} to log messages. */functionDefaultHttpClient(logger){var_this=_super.call(this)||this;if(typeofXMLHttpRequest!=="undefined"){_this.httpClient=new_XhrHttpClient__WEBPACK_IMPORTED_MODULE_3__["XhrHttpClient"](logger);}else{_this.httpClient=new_NodeHttpClient__WEBPACK_IMPORTED_MODULE_2__["NodeHttpClient"](logger);}return_this;}/** @inheritDoc */DefaultHttpClient.prototype.send=function(request){// Check that abort was not signaled before calling sendif(request.abortSignal&&request.abortSignal.aborted){returnPromise.reject(new_Errors__WEBPACK_IMPORTED_MODULE_0__["AbortError"]());}if(!request.method){returnPromise.reject(newError("No method defined."));}if(!request.url){returnPromise.reject(newError("No url defined."));}returnthis.httpClient.send(request);};DefaultHttpClient.prototype.getCookieString=function(url){returnthis.httpClient.getCookieString(url);};returnDefaultHttpClient;}(_HttpClient__WEBPACK_IMPORTED_MODULE_1__["HttpClient"]));/***/}),/* 7 *//***/(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"NodeHttpClient",function(){returnNodeHttpClient;});/* harmony import */var_HttpClient__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(5);// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.var__extends=(undefined&&undefined.__extends)||(function(){varextendStatics=Object.setPrototypeOf||({__proto__:[]}instanceofArray&&function(d,b){d.__proto__=b;})||function(d,b){for(varpinb)if(b.hasOwnProperty(p))d[p]=b[p];};returnfunction(d,b){extendStatics(d,b);function__(){this.constructor=d;}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new__());};})();// This is an empty implementation of the NodeHttpClient that will be included in browser builds so the output file will be smallervarNodeHttpClient=/** @class */(function(_super){__extends(NodeHttpClient,_super);// @ts-ignore: Need ILogger to compile, but unused variables generate errorsfunctionNodeHttpClient(logger){return_super.call(this)||this;}NodeHttpClient.prototype.send=function(){returnPromise.reject(newError("If using Node either provide an XmlHttpRequest polyfill or consume the cjs or esm script instead of the browser/signalr.js one."));};returnNodeHttpClient;}(_HttpClient__WEBPACK_IMPORTED_MODULE_0__["HttpClient"]));/***/}),/* 8 *//***/(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"XhrHttpClient",function(){returnXhrHttpClient;});/* harmony import */var_Errors__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(4);/* harmony import */var_HttpClient__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(5);/* harmony import */var_ILogger__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(9);// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.var__extends=(undefined&&undefined.__extends)||(function(){varextendStatics=Object.setPrototypeOf||({__proto__:[]}instanceofArray&&function(d,b){d.__proto__=b;})||function(d,b){for(varpinb)if(b.hasOwnProperty(p))d[p]=b[p];};returnfunction(d,b){extendStatics(d,b);function__(){this.constructor=d;}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new__());};})();varXhrHttpClient=/** @class */(function(_super){__extends(XhrHttpClient,_super);functionXhrHttpClient(logger){var_this=_super.call(this)||this;_this.logger=logger;return_this;}/** @inheritDoc */XhrHttpClient.prototype.send=function(request){var_this=this;// Check that abort was not signaled before calling sendif(request.abortSignal&&request.abortSignal.aborted){returnPromise.reject(new_Errors__WEBPACK_IMPORTED_MODULE_0__["AbortError"]());}if(!request.method){returnPromise.reject(newError("No method defined."));}if(!request.url){returnPromise.reject(newError("No url defined."));}returnnewPromise(function(resolve,reject){varxhr=newXMLHttpRequest();xhr.open(request.method,request.url,true);xhr.withCredentials=true;xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");// Explicitly setting the Content-Type header for React Native on Android platform.xhr.setRequestHeader("Content-Type","text/plain;charset=UTF-8");varheaders=request.headers;if(headers){Object.keys(headers).forEach(function(header){xhr.setRequestHeader(header,headers[header]);});}if(request.responseType){xhr.responseType=request.responseType;}if(request.abortSignal){request.abortSignal.onabort=function(){xhr.abort();reject(new_Errors__WEBPACK_IMPORTED_MODULE_0__["AbortError"]());};}if(request.timeout){xhr.timeout=request.timeout;}xhr.onload=function(){if(request.abortSignal){request.abortSignal.onabort=null;}if(xhr.status>=200&&xhr.status<300){resolve(new_HttpClient__WEBPACK_IMPORTED_MODULE_1__["HttpResponse"](xhr.status,xhr.statusText,xhr.response||xhr.responseText));}else{reject(new_Errors__WEBPACK_IMPORTED_MODULE_0__["HttpError"](xhr.statusText,xhr.status));}};xhr.onerror=function(){_this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Warning,"Error from HTTP request. "+xhr.status+": "+xhr.statusText+".");reject(new_Errors__WEBPACK_IMPORTED_MODULE_0__["HttpError"](xhr.statusText,xhr.status));};xhr.ontimeout=function(){_this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Warning,"Timeout from HTTP request.");reject(new_Errors__WEBPACK_IMPORTED_MODULE_0__["TimeoutError"]());};xhr.send(request.content||"");});};returnXhrHttpClient;}(_HttpClient__WEBPACK_IMPORTED_MODULE_1__["HttpClient"]));/***/}),/* 9 *//***/(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"LogLevel",function(){returnLogLevel;});// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.// These values are designed to match the ASP.NET Log Levels since that's the pattern we're emulating here./** Indicates the severity of a log message. * * Log Levels are ordered in increasing severity. So `Debug` is more severe than `Trace`, etc. */varLogLevel;(function(LogLevel){/** Log level for very low severity diagnostic messages. */LogLevel[LogLevel["Trace"]=0]="Trace";/** Log level for low severity diagnostic messages. */LogLevel[LogLevel["Debug"]=1]="Debug";/** Log level for informational diagnostic messages. */LogLevel[LogLevel["Information"]=2]="Information";/** Log level for diagnostic messages that indicate a non-fatal problem. */LogLevel[LogLevel["Warning"]=3]="Warning";/** Log level for diagnostic messages that indicate a failure in the current operation. */LogLevel[LogLevel["Error"]=4]="Error";/** Log level for diagnostic messages that indicate a failure that will terminate the entire application. */LogLevel[LogLevel["Critical"]=5]="Critical";/** The highest possible log level. Used when configuring logging to indicate that no log messages should be emitted. */LogLevel[LogLevel["None"]=6]="None";})(LogLevel||(LogLevel={}));/***/}),/* 10 *//***/(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"HubConnectionState",function(){returnHubConnectionState;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"HubConnection",function(){returnHubConnection;});/* harmony import */var_HandshakeProtocol__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(11);/* harmony import */var_IHubProtocol__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(15);/* harmony import */var_ILogger__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(9);/* harmony import */var_Utils__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(13);// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.var__awaiter=(undefined&&undefined.__awaiter)||function(thisArg,_arguments,P,generator){returnnew(P||(P=Promise))(function(resolve,reject){functionfulfilled(value){try{step(generator.next(value));}catch(e){reject(e);}}functionrejected(value){try{step(generator["throw"](value));}catch(e){reject(e);}}functionstep(result){result.done?resolve(result.value):newP(function(resolve){resolve(result.value);}).then(fulfilled,rejected);}step((generator=generator.apply(thisArg,_arguments||[])).next());});};var__generator=(undefined&&undefined.__generator)||function(thisArg,body){var_={label:0,sent:function(){if(t[0]&1)throwt[1];returnt[1];},trys:[],ops:[]},f,y,t,g;returng={next:verb(0),"throw":verb(1),"return":verb(2)},typeofSymbol==="function"&&(g[Symbol.iterator]=function(){returnthis;}),g;functionverb(n){returnfunction(v){returnstep([n,v]);};}functionstep(op){if(f)thrownewTypeError("Generator is already executing.");while(_)try{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)returnt;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case0:case1:t=op;break;case4:_.label++;return{value:op[1],done:false};case5:_.label++;y=op[1];op=[0];continue;case7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue;}if(op[0]===3&&(!t||(op[1]>t[0]&&op[1]<t[3]))){_.label=op[1];break;}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break;}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break;}if(t[2])_.ops.pop();_.trys.pop();continue;}op=body.call(thisArg,_);}catch(e){op=[6,e];y=0;}finally{f=t=0;}if(op[0]&5)throwop[1];return{value:op[0]?op[1]:void0,done:true};}};varDEFAULT_TIMEOUT_IN_MS=30*1000;varDEFAULT_PING_INTERVAL_IN_MS=15*1000;/** Describes the current state of the {@link HubConnection} to the server. */varHubConnectionState;(function(HubConnectionState){/** The hub connection is disconnected. */HubConnectionState[HubConnectionState["Disconnected"]=0]="Disconnected";/** The hub connection is connected. */HubConnectionState[HubConnectionState["Connected"]=1]="Connected";})(HubConnectionState||(HubConnectionState={}));/** Represents a connection to a SignalR Hub. */varHubConnection=/** @class */(function(){functionHubConnection(connection,logger,protocol){var_this=this;_Utils__WEBPACK_IMPORTED_MODULE_3__["Arg"].isRequired(connection,"connection");_Utils__WEBPACK_IMPORTED_MODULE_3__["Arg"].isRequired(logger,"logger");_Utils__WEBPACK_IMPORTED_MODULE_3__["Arg"].isRequired(protocol,"protocol");this.serverTimeoutInMilliseconds=DEFAULT_TIMEOUT_IN_MS;this.keepAliveIntervalInMilliseconds=DEFAULT_PING_INTERVAL_IN_MS;this.logger=logger;this.protocol=protocol;this.connection=connection;this.handshakeProtocol=new_HandshakeProtocol__WEBPACK_IMPORTED_MODULE_0__["HandshakeProtocol"]();this.connection.onreceive=function(data){return_this.processIncomingData(data);};this.connection.onclose=function(error){return_this.connectionClosed(error);};this.callbacks={};this.methods={};this.closedCallbacks=[];this.id=0;this.receivedHandshakeResponse=false;this.connectionState=HubConnectionState.Disconnected;this.cachedPingMessage=this.protocol.writeMessage({type:_IHubProtocol__WEBPACK_IMPORTED_MODULE_1__["MessageType"].Ping});}/** @internal */// Using a public static factory method means we can have a private constructor and an _internal_// create method that can be used by HubConnectionBuilder. An "internal" constructor would just// be stripped away and the '.d.ts' file would have no constructor, which is interpreted as a// public parameter-less constructor.HubConnection.create=function(connection,logger,protocol){returnnewHubConnection(connection,logger,protocol);};Object.defineProperty(HubConnection.prototype,"state",{/** Indicates the state of the {@link HubConnection} to the server. */get:function(){returnthis.connectionState;},enumerable:true,configurable:true});/** Starts the connection. * * @returns {Promise<void>} A Promise that resolves when the connection has been successfully established, or rejects with an error. */HubConnection.prototype.start=function(){return__awaiter(this,void0,void0,function(){varhandshakeRequest,handshakePromise;var_this=this;return__generator(this,function(_a){switch(_a.label){case0:handshakeRequest={protocol:this.protocol.name,version:this.protocol.version,};this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Debug,"Starting HubConnection.");this.receivedHandshakeResponse=false;handshakePromise=newPromise(function(resolve,reject){_this.handshakeResolver=resolve;_this.handshakeRejecter=reject;});return[4/*yield*/,this.connection.start(this.protocol.transferFormat)];case1:_a.sent();this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Debug,"Sending handshake request.");return[4/*yield*/,this.sendMessage(this.handshakeProtocol.writeHandshakeRequest(handshakeRequest))];case2:_a.sent();this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Information,"Using HubProtocol '"+this.protocol.name+"'.");// defensively cleanup timeout in case we receive a message from the server before we finish startthis.cleanupTimeout();this.resetTimeoutPeriod();this.resetKeepAliveInterval();// Wait for the handshake to complete before marking connection as connectedreturn[4/*yield*/,handshakePromise];case3:// Wait for the handshake to complete before marking connection as connected_a.sent();this.connectionState=HubConnectionState.Connected;return[2/*return*/];}});});};/** Stops the connection. * * @returns {Promise<void>} A Promise that resolves when the connection has been successfully terminated, or rejects with an error. */HubConnection.prototype.stop=function(){this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Debug,"Stopping HubConnection.");this.cleanupTimeout();this.cleanupPingTimer();returnthis.connection.stop();};/** Invokes a streaming hub method on the server using the specified name and arguments. * * @typeparam T The type of the items returned by the server. * @param {string} methodName The name of the server method to invoke. * @param {any[]} args The arguments used to invoke the server method. * @returns {IStreamResult<T>} An object that yields results from the server as they are received. */HubConnection.prototype.stream=function(methodName){var_this=this;varargs=[];for(var_i=1;_i<arguments.length;_i++){args[_i-1]=arguments[_i];}varinvocationDescriptor=this.createStreamInvocation(methodName,args);varpromiseQueue;varsubject=new_Utils__WEBPACK_IMPORTED_MODULE_3__["Subject"]();subject.cancelCallback=function(){varcancelInvocation=_this.createCancelInvocation(invocationDescriptor.invocationId);varcancelMessage=_this.protocol.writeMessage(cancelInvocation);delete_this.callbacks[invocationDescriptor.invocationId];returnpromiseQueue.then(function(){return_this.sendMessage(cancelMessage);});};this.callbacks[invocationDescriptor.invocationId]=function(invocationEvent,error){if(error){subject.error(error);return;}elseif(invocationEvent){// invocationEvent will not be null when an error is not passed to the callbackif(invocationEvent.type===_IHubProtocol__WEBPACK_IMPORTED_MODULE_1__["MessageType"].Completion){if(invocationEvent.error){subject.error(newError(invocationEvent.error));}else{subject.complete();}}else{subject.next((invocationEvent.item));}}};varmessage=this.protocol.writeMessage(invocationDescriptor);promiseQueue=this.sendMessage(message).catch(function(e){subject.error(e);delete_this.callbacks[invocationDescriptor.invocationId];});returnsubject;};HubConnection.prototype.sendMessage=function(message){this.resetKeepAliveInterval();returnthis.connection.send(message);};/** Invokes a hub method on the server using the specified name and arguments. Does not wait for a response from the receiver. * * The Promise returned by this method resolves when the client has sent the invocation to the server. The server may still * be processing the invocation. * * @param {string} methodName The name of the server method to invoke. * @param {any[]} args The arguments used to invoke the server method. * @returns {Promise<void>} A Promise that resolves when the invocation has been successfully sent, or rejects with an error. */HubConnection.prototype.send=function(methodName){varargs=[];for(var_i=1;_i<arguments.length;_i++){args[_i-1]=arguments[_i];}varinvocationDescriptor=this.createInvocation(methodName,args,true);varmessage=this.protocol.writeMessage(invocationDescriptor);returnthis.sendMessage(message);};/** Invokes a hub method on the server using the specified name and arguments. * * The Promise returned by this method resolves when the server indicates it has finished invoking the method. When the promise * resolves, the server has finished invoking the method. If the server method returns a result, it is produced as the result of * resolving the Promise. * * @typeparam T The expected return type. * @param {string} methodName The name of the server method to invoke. * @param {any[]} args The arguments used to invoke the server method. * @returns {Promise<T>} A Promise that resolves with the result of the server method (if any), or rejects with an error. */HubConnection.prototype.invoke=function(methodName){var_this=this;varargs=[];for(var_i=1;_i<arguments.length;_i++){args[_i-1]=arguments[_i];}varinvocationDescriptor=this.createInvocation(methodName,args,false);varp=newPromise(function(resolve,reject){// invocationId will always have a value for a non-blocking invocation_this.callbacks[invocationDescriptor.invocationId]=function(invocationEvent,error){if(error){reject(error);return;}elseif(invocationEvent){// invocationEvent will not be null when an error is not passed to the callbackif(invocationEvent.type===_IHubProtocol__WEBPACK_IMPORTED_MODULE_1__["MessageType"].Completion){if(invocationEvent.error){reject(newError(invocationEvent.error));}else{resolve(invocationEvent.result);}}else{reject(newError("Unexpected message type: "+invocationEvent.type));}}};varmessage=_this.protocol.writeMessage(invocationDescriptor);_this.sendMessage(message).catch(function(e){reject(e);// invocationId will always have a value for a non-blocking invocationdelete_this.callbacks[invocationDescriptor.invocationId];});});returnp;};/** Registers a handler that will be invoked when the hub method with the specified method name is invoked. * * @param {string} methodName The name of the hub method to define. * @param {Function} newMethod The handler that will be raised when the hub method is invoked. */HubConnection.prototype.on=function(methodName,newMethod){if(!methodName||!newMethod){return;}methodName=methodName.toLowerCase();if(!this.methods[methodName]){this.methods[methodName]=[];}// Preventing adding the same handler multiple times.if(this.methods[methodName].indexOf(newMethod)!==-1){return;}this.methods[methodName].push(newMethod);};HubConnection.prototype.off=function(methodName,method){if(!methodName){return;}methodName=methodName.toLowerCase();varhandlers=this.methods[methodName];if(!handlers){return;}if(method){varremoveIdx=handlers.indexOf(method);if(removeIdx!==-1){handlers.splice(removeIdx,1);if(handlers.length===0){deletethis.methods[methodName];}}}else{deletethis.methods[methodName];}};/** Registers a handler that will be invoked when the connection is closed. * * @param {Function} callback The handler that will be invoked when the connection is closed. Optionally receives a single argument containing the error that caused the connection to close (if any). */HubConnection.prototype.onclose=function(callback){if(callback){this.closedCallbacks.push(callback);}};HubConnection.prototype.processIncomingData=function(data){this.cleanupTimeout();if(!this.receivedHandshakeResponse){data=this.processHandshakeResponse(data);this.receivedHandshakeResponse=true;}// Data may have all been read when processing handshake responseif(data){// Parse the messagesvarmessages=this.protocol.parseMessages(data,this.logger);for(var_i=0,messages_1=messages;_i<messages_1.length;_i++){varmessage=messages_1[_i];switch(message.type){case_IHubProtocol__WEBPACK_IMPORTED_MODULE_1__["MessageType"].Invocation:this.invokeClientMethod(message);break;case_IHubProtocol__WEBPACK_IMPORTED_MODULE_1__["MessageType"].StreamItem:case_IHubProtocol__WEBPACK_IMPORTED_MODULE_1__["MessageType"].Completion:varcallback=this.callbacks[message.invocationId];if(callback!=null){if(message.type===_IHubProtocol__WEBPACK_IMPORTED_MODULE_1__["MessageType"].Completion){deletethis.callbacks[message.invocationId];}callback(message);}break;case_IHubProtocol__WEBPACK_IMPORTED_MODULE_1__["MessageType"].Ping:// Don't care about pingsbreak;case_IHubProtocol__WEBPACK_IMPORTED_MODULE_1__["MessageType"].Close:this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Information,"Close message received from server.");// We don't want to wait on the stop itself.// tslint:disable-next-line:no-floating-promisesthis.connection.stop(message.error?newError("Server returned an error on close: "+message.error):undefined);break;default:this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Warning,"Invalid message type: "+message.type+".");break;}}}this.resetTimeoutPeriod();};HubConnection.prototype.processHandshakeResponse=function(data){var_a;varresponseMessage;varremainingData;try{_a=this.handshakeProtocol.parseHandshakeResponse(data),remainingData=_a[0],responseMessage=_a[1];}catch(e){varmessage="Error parsing handshake response: "+e;this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Error,message);varerror=newError(message);// We don't want to wait on the stop itself.// tslint:disable-next-line:no-floating-promisesthis.connection.stop(error);this.handshakeRejecter(error);throwerror;}if(responseMessage.error){varmessage="Server returned handshake error: "+responseMessage.error;this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Error,message);this.handshakeRejecter(message);// We don't want to wait on the stop itself.// tslint:disable-next-line:no-floating-promisesthis.connection.stop(newError(message));thrownewError(message);}else{this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Debug,"Server handshake complete.");}this.handshakeResolver();returnremainingData;};HubConnection.prototype.resetKeepAliveInterval=function(){var_this=this;this.cleanupPingTimer();this.pingServerHandle=setTimeout(function(){return__awaiter(_this,void0,void0,function(){var_a;return__generator(this,function(_b){switch(_b.label){case0:if(!(this.connectionState===HubConnectionState.Connected))return[3/*break*/,4];_b.label=1;case1:_b.trys.push([1,3,,4]);return[4/*yield*/,this.sendMessage(this.cachedPingMessage)];case2:_b.sent();return[3/*break*/,4];case3:_a=_b.sent();// We don't care about the error. It should be seen elsewhere in the client.// The connection is probably in a bad or closed state now, cleanup the timer so it stops triggeringthis.cleanupPingTimer();return[3/*break*/,4];case4:return[2/*return*/];}});});},this.keepAliveIntervalInMilliseconds);};HubConnection.prototype.resetTimeoutPeriod=function(){var_this=this;if(!this.connection.features||!this.connection.features.inherentKeepAlive){// Set the timeout timerthis.timeoutHandle=setTimeout(function(){return_this.serverTimeout();},this.serverTimeoutInMilliseconds);}};HubConnection.prototype.serverTimeout=function(){// The server hasn't talked to us in a while. It doesn't like us anymore ... :(// Terminate the connection, but we don't need to wait on the promise.// tslint:disable-next-line:no-floating-promisesthis.connection.stop(newError("Server timeout elapsed without receiving a message from the server."));};HubConnection.prototype.invokeClientMethod=function(invocationMessage){var_this=this;varmethods=this.methods[invocationMessage.target.toLowerCase()];if(methods){methods.forEach(function(m){returnm.apply(_this,invocationMessage.arguments);});if(invocationMessage.invocationId){// This is not supported in v1. So we return an error to avoid blocking the server waiting for the response.varmessage="Server requested a response, which is not supported in this version of the client.";this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Error,message);// We don't need to wait on this Promise.// tslint:disable-next-line:no-floating-promisesthis.connection.stop(newError(message));}}else{this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Warning,"No client method with the name '"+invocationMessage.target+"' found.");}};HubConnection.prototype.connectionClosed=function(error){var_this=this;varcallbacks=this.callbacks;this.callbacks={};this.connectionState=HubConnectionState.Disconnected;// if handshake is in progress start will be waiting for the handshake promise, so we complete it// if it has already completed this should just noopif(this.handshakeRejecter){this.handshakeRejecter(error);}Object.keys(callbacks).forEach(function(key){varcallback=callbacks[key];callback(null,error?error:newError("Invocation canceled due to connection being closed."));});this.cleanupTimeout();this.cleanupPingTimer();this.closedCallbacks.forEach(function(c){returnc.apply(_this,[error]);});};HubConnection.prototype.cleanupPingTimer=function(){if(this.pingServerHandle){clearTimeout(this.pingServerHandle);}};HubConnection.prototype.cleanupTimeout=function(){if(this.timeoutHandle){clearTimeout(this.timeoutHandle);}};HubConnection.prototype.createInvocation=function(methodName,args,nonblocking){if(nonblocking){return{arguments:args,target:methodName,type:_IHubProtocol__WEBPACK_IMPORTED_MODULE_1__["MessageType"].Invocation,};}else{varid=this.id;this.id++;return{arguments:args,invocationId:id.toString(),target:methodName,type:_IHubProtocol__WEBPACK_IMPORTED_MODULE_1__["MessageType"].Invocation,};}};HubConnection.prototype.createStreamInvocation=function(methodName,args){varid=this.id;this.id++;return{arguments:args,invocationId:id.toString(),target:methodName,type:_IHubProtocol__WEBPACK_IMPORTED_MODULE_1__["MessageType"].StreamInvocation,};};HubConnection.prototype.createCancelInvocation=function(id){return{invocationId:id,type:_IHubProtocol__WEBPACK_IMPORTED_MODULE_1__["MessageType"].CancelInvocation,};};returnHubConnection;}());/***/}),/* 11 *//***/(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"HandshakeProtocol",function(){returnHandshakeProtocol;});/* harmony import */var_TextMessageFormat__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(12);/* harmony import */var_Utils__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(13);// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information./** @private */varHandshakeProtocol=/** @class */(function(){functionHandshakeProtocol(){}// Handshake request is always JSONHandshakeProtocol.prototype.writeHandshakeRequest=function(handshakeRequest){return_TextMessageFormat__WEBPACK_IMPORTED_MODULE_0__["TextMessageFormat"].write(JSON.stringify(handshakeRequest));};HandshakeProtocol.prototype.parseHandshakeResponse=function(data){varresponseMessage;varmessageData;varremainingData;if(Object(_Utils__WEBPACK_IMPORTED_MODULE_1__["isArrayBuffer"])(data)||(typeofBuffer!=="undefined"&&datainstanceofBuffer)){// Format is binary but still need to read JSON text from handshake responsevarbinaryData=newUint8Array(data);varseparatorIndex=binaryData.indexOf(_TextMessageFormat__WEBPACK_IMPORTED_MODULE_0__["TextMessageFormat"].RecordSeparatorCode);if(separatorIndex===-1){thrownewError("Message is incomplete.");}// content before separator is handshake response// optional content after is additional messagesvarresponseLength=separatorIndex+1;messageData=String.fromCharCode.apply(null,binaryData.slice(0,responseLength));remainingData=(binaryData.byteLength>responseLength)?binaryData.slice(responseLength).buffer:null;}else{vartextData=data;varseparatorIndex=textData.indexOf(_TextMessageFormat__WEBPACK_IMPORTED_MODULE_0__["TextMessageFormat"].RecordSeparator);if(separatorIndex===-1){thrownewError("Message is incomplete.");}// content before separator is handshake response// optional content after is additional messagesvarresponseLength=separatorIndex+1;messageData=textData.substring(0,responseLength);remainingData=(textData.length>responseLength)?textData.substring(responseLength):null;}// At this point we should have just the single handshake messagevarmessages=_TextMessageFormat__WEBPACK_IMPORTED_MODULE_0__["TextMessageFormat"].parse(messageData);varresponse=JSON.parse(messages[0]);if(response.type){thrownewError("Expected a handshake response from the server.");}responseMessage=response;// multiple messages could have arrived with handshake// return additional data to be parsed as usual, or null if all parsedreturn[remainingData,responseMessage];};returnHandshakeProtocol;}());/***/}),/* 12 *//***/(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"TextMessageFormat",function(){returnTextMessageFormat;});// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.// Not exported from index/** @private */varTextMessageFormat=/** @class */(function(){functionTextMessageFormat(){}TextMessageFormat.write=function(output){return""+output+TextMessageFormat.RecordSeparator;};TextMessageFormat.parse=function(input){if(input[input.length-1]!==TextMessageFormat.RecordSeparator){thrownewError("Message is incomplete.");}varmessages=input.split(TextMessageFormat.RecordSeparator);messages.pop();returnmessages;};TextMessageFormat.RecordSeparatorCode=0x1e;TextMessageFormat.RecordSeparator=String.fromCharCode(TextMessageFormat.RecordSeparatorCode);returnTextMessageFormat;}());/***/}),/* 13 *//***/(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"Arg",function(){returnArg;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"getDataDetail",function(){returngetDataDetail;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"formatArrayBuffer",function(){returnformatArrayBuffer;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"isArrayBuffer",function(){returnisArrayBuffer;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"sendMessage",function(){returnsendMessage;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"createLogger",function(){returncreateLogger;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"Subject",function(){returnSubject;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"SubjectSubscription",function(){returnSubjectSubscription;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"ConsoleLogger",function(){returnConsoleLogger;});/* harmony import */var_ILogger__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(9);/* harmony import */var_Loggers__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(14);// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.var__awaiter=(undefined&&undefined.__awaiter)||function(thisArg,_arguments,P,generator){returnnew(P||(P=Promise))(function(resolve,reject){functionfulfilled(value){try{step(generator.next(value));}catch(e){reject(e);}}functionrejected(value){try{step(generator["throw"](value));}catch(e){reject(e);}}functionstep(result){result.done?resolve(result.value):newP(function(resolve){resolve(result.value);}).then(fulfilled,rejected);}step((generator=generator.apply(thisArg,_arguments||[])).next());});};var__generator=(undefined&&undefined.__generator)||function(thisArg,body){var_={label:0,sent:function(){if(t[0]&1)throwt[1];returnt[1];},trys:[],ops:[]},f,y,t,g;returng={next:verb(0),"throw":verb(1),"return":verb(2)},typeofSymbol==="function"&&(g[Symbol.iterator]=function(){returnthis;}),g;functionverb(n){returnfunction(v){returnstep([n,v]);};}functionstep(op){if(f)thrownewTypeError("Generator is already executing.");while(_)try{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)returnt;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case0:case1:t=op;break;case4:_.label++;return{value:op[1],done:false};case5:_.label++;y=op[1];op=[0];continue;case7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue;}if(op[0]===3&&(!t||(op[1]>t[0]&&op[1]<t[3]))){_.label=op[1];break;}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break;}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break;}if(t[2])_.ops.pop();_.trys.pop();continue;}op=body.call(thisArg,_);}catch(e){op=[6,e];y=0;}finally{f=t=0;}if(op[0]&5)throwop[1];return{value:op[0]?op[1]:void0,done:true};}};/** @private */varArg=/** @class */(function(){functionArg(){}Arg.isRequired=function(val,name){if(val===null||val===undefined){thrownewError("The '"+name+"' argument is required.");}};Arg.isIn=function(val,values,name){// TypeScript enums have keys for **both** the name and the value of each enum member on the type itself.if(!(valinvalues)){thrownewError("Unknown "+name+" value: "+val+".");}};returnArg;}());/** @private */functiongetDataDetail(data,includeContent){vardetail="";if(isArrayBuffer(data)){detail="Binary data of length "+data.byteLength;if(includeContent){detail+=". Content: '"+formatArrayBuffer(data)+"'";}}elseif(typeofdata==="string"){detail="String data of length "+data.length;if(includeContent){detail+=". Content: '"+data+"'";}}returndetail;}/** @private */functionformatArrayBuffer(data){varview=newUint8Array(data);// Uint8Array.map only supports returning another Uint8Array?varstr="";view.forEach(function(num){varpad=num<16?"0":"";str+="0x"+pad+num.toString(16)+" ";});// Trim of trailing space.returnstr.substr(0,str.length-1);}// Also in signalr-protocol-msgpack/Utils.ts/** @private */functionisArrayBuffer(val){returnval&&typeofArrayBuffer!=="undefined"&&(valinstanceofArrayBuffer||// Sometimes we get an ArrayBuffer that doesn't satisfy instanceof(val.constructor&&val.constructor.name==="ArrayBuffer"));}/** @private */functionsendMessage(logger,transportName,httpClient,url,accessTokenFactory,content,logMessageContent){return__awaiter(this,void0,void0,function(){var_a,headers,token,responseType,response;return__generator(this,function(_b){switch(_b.label){case0:if(!accessTokenFactory)return[3/*break*/,2];return[4/*yield*/,accessTokenFactory()];case1:token=_b.sent();if(token){headers=(_a={},_a["Authorization"]="Bearer "+token,_a);}_b.label=2;case2:logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_0__["LogLevel"].Trace,"("+transportName+" transport) sending data. "+getDataDetail(content,logMessageContent)+".");responseType=isArrayBuffer(content)?"arraybuffer":"text";return[4/*yield*/,httpClient.post(url,{content:content,headers:headers,responseType:responseType,})];case3:response=_b.sent();logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_0__["LogLevel"].Trace,"("+transportName+" transport) request complete. Response status: "+response.statusCode+".");return[2/*return*/];}});});}/** @private */functioncreateLogger(logger){if(logger===undefined){returnnewConsoleLogger(_ILogger__WEBPACK_IMPORTED_MODULE_0__["LogLevel"].Information);}if(logger===null){return_Loggers__WEBPACK_IMPORTED_MODULE_1__["NullLogger"].instance;}if(logger.log){returnlogger;}returnnewConsoleLogger(logger);}/** @private */varSubject=/** @class */(function(){functionSubject(){this.observers=[];}Subject.prototype.next=function(item){for(var_i=0,_a=this.observers;_i<_a.length;_i++){varobserver=_a[_i];observer.next(item);}};Subject.prototype.error=function(err){for(var_i=0,_a=this.observers;_i<_a.length;_i++){varobserver=_a[_i];if(observer.error){observer.error(err);}}};Subject.prototype.complete=function(){for(var_i=0,_a=this.observers;_i<_a.length;_i++){varobserver=_a[_i];if(observer.complete){observer.complete();}}};Subject.prototype.subscribe=function(observer){this.observers.push(observer);returnnewSubjectSubscription(this,observer);};returnSubject;}());/** @private */varSubjectSubscription=/** @class */(function(){functionSubjectSubscription(subject,observer){this.subject=subject;this.observer=observer;}SubjectSubscription.prototype.dispose=function(){varindex=this.subject.observers.indexOf(this.observer);if(index>-1){this.subject.observers.splice(index,1);}if(this.subject.observers.length===0&&this.subject.cancelCallback){this.subject.cancelCallback().catch(function(_){});}};returnSubjectSubscription;}());/** @private */varConsoleLogger=/** @class */(function(){functionConsoleLogger(minimumLogLevel){this.minimumLogLevel=minimumLogLevel;}ConsoleLogger.prototype.log=function(logLevel,message){if(logLevel>=this.minimumLogLevel){switch(logLevel){case_ILogger__WEBPACK_IMPORTED_MODULE_0__["LogLevel"].Critical:case_ILogger__WEBPACK_IMPORTED_MODULE_0__["LogLevel"].Error:console.error("["+newDate().toISOString()+"] "+_ILogger__WEBPACK_IMPORTED_MODULE_0__["LogLevel"][logLevel]+": "+message);break;case_ILogger__WEBPACK_IMPORTED_MODULE_0__["LogLevel"].Warning:console.warn("["+newDate().toISOString()+"] "+_ILogger__WEBPACK_IMPORTED_MODULE_0__["LogLevel"][logLevel]+": "+message);break;case_ILogger__WEBPACK_IMPORTED_MODULE_0__["LogLevel"].Information:console.info("["+newDate().toISOString()+"] "+_ILogger__WEBPACK_IMPORTED_MODULE_0__["LogLevel"][logLevel]+": "+message);break;default:// console.debug only goes to attached debuggers in Node, so we use console.log for Trace and Debugconsole.log("["+newDate().toISOString()+"] "+_ILogger__WEBPACK_IMPORTED_MODULE_0__["LogLevel"][logLevel]+": "+message);break;}}};returnConsoleLogger;}());/***/}),/* 14 *//***/(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"NullLogger",function(){returnNullLogger;});// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information./** A logger that does nothing when log messages are sent to it. */varNullLogger=/** @class */(function(){functionNullLogger(){}/** @inheritDoc */// tslint:disable-next-lineNullLogger.prototype.log=function(_logLevel,_message){};/** The singleton instance of the {@link @aspnet/signalr.NullLogger}. */NullLogger.instance=newNullLogger();returnNullLogger;}());/***/}),/* 15 *//***/(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"MessageType",function(){returnMessageType;});// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information./** Defines the type of a Hub Message. */varMessageType;(function(MessageType){/** Indicates the message is an Invocation message and implements the {@link @aspnet/signalr.InvocationMessage} interface. */MessageType[MessageType["Invocation"]=1]="Invocation";/** Indicates the message is a StreamItem message and implements the {@link @aspnet/signalr.StreamItemMessage} interface. */MessageType[MessageType["StreamItem"]=2]="StreamItem";/** Indicates the message is a Completion message and implements the {@link @aspnet/signalr.CompletionMessage} interface. */MessageType[MessageType["Completion"]=3]="Completion";/** Indicates the message is a Stream Invocation message and implements the {@link @aspnet/signalr.StreamInvocationMessage} interface. */MessageType[MessageType["StreamInvocation"]=4]="StreamInvocation";/** Indicates the message is a Cancel Invocation message and implements the {@link @aspnet/signalr.CancelInvocationMessage} interface. */MessageType[MessageType["CancelInvocation"]=5]="CancelInvocation";/** Indicates the message is a Ping message and implements the {@link @aspnet/signalr.PingMessage} interface. */MessageType[MessageType["Ping"]=6]="Ping";/** Indicates the message is a Close message and implements the {@link @aspnet/signalr.CloseMessage} interface. */MessageType[MessageType["Close"]=7]="Close";})(MessageType||(MessageType={}));/***/}),/* 16 *//***/(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"HubConnectionBuilder",function(){returnHubConnectionBuilder;});/* harmony import */var_HttpConnection__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(17);/* harmony import */var_HubConnection__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(10);/* harmony import */var_JsonHubProtocol__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(23);/* harmony import */var_Loggers__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(14);/* harmony import */var_Utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(13);// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information./** A builder for configuring {@link @aspnet/signalr.HubConnection} instances. */varHubConnectionBuilder=/** @class */(function(){functionHubConnectionBuilder(){}HubConnectionBuilder.prototype.configureLogging=function(logging){_Utils__WEBPACK_IMPORTED_MODULE_4__["Arg"].isRequired(logging,"logging");if(isLogger(logging)){this.logger=logging;}else{this.logger=new_Utils__WEBPACK_IMPORTED_MODULE_4__["ConsoleLogger"](logging);}returnthis;};HubConnectionBuilder.prototype.withUrl=function(url,transportTypeOrOptions){_Utils__WEBPACK_IMPORTED_MODULE_4__["Arg"].isRequired(url,"url");this.url=url;// Flow-typing knows where it's at. Since HttpTransportType is a number and IHttpConnectionOptions is guaranteed// to be an object, we know (as does TypeScript) this comparison is all we need to figure out which overload was called.if(typeoftransportTypeOrOptions==="object"){this.httpConnectionOptions=transportTypeOrOptions;}else{this.httpConnectionOptions={transport:transportTypeOrOptions,};}returnthis;};/** Configures the {@link @aspnet/signalr.HubConnection}tousethespecifiedHubProtocol.**@param{IHubProtocol}protocolThe{@link@aspnet/signalr.IHubProtocol}implementationtouse.*/ HubConnectionBuilder.prototype.withHubProtocol = function (protocol) { _Utils__WEBPACK_IMPORTED_MODULE_4__["Arg"].isRequired(protocol, "protocol"); this.protocol = protocol; return this; }; /**Createsa{@link@aspnet/signalr.HubConnection}fromtheconfigurationoptionsspecifiedinthisbuilder.**@returns{HubConnection}Theconfigured{@link@aspnet/signalr.HubConnection}.*/ HubConnectionBuilder.prototype.build = function () { //IfhttpConnectionOptionshasalogger,useit.Otherwise,overrideitwiththeone// provided to configureLoggervarhttpConnectionOptions=this.httpConnectionOptions||{};// If it's 'null', the user **explicitly** asked for null, don't mess with it.if(httpConnectionOptions.logger===undefined){// If our logger is undefined or null, that's OK, the HttpConnection constructor will handle it.httpConnectionOptions.logger=this.logger;}// Now create the connectionif(!this.url){thrownewError("The 'HubConnectionBuilder.withUrl' method must be called before building the connection.");}varconnection=new_HttpConnection__WEBPACK_IMPORTED_MODULE_0__["HttpConnection"](this.url,httpConnectionOptions);return_HubConnection__WEBPACK_IMPORTED_MODULE_1__["HubConnection"].create(connection,this.logger||_Loggers__WEBPACK_IMPORTED_MODULE_3__["NullLogger"].instance,this.protocol||new_JsonHubProtocol__WEBPACK_IMPORTED_MODULE_2__["JsonHubProtocol"]());};returnHubConnectionBuilder;}());functionisLogger(logger){returnlogger.log!==undefined;}/***/}),/* 17 *//***/(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"HttpConnection",function(){returnHttpConnection;});/* harmony import */var_DefaultHttpClient__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(6);/* harmony import */var_ILogger__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(9);/* harmony import */var_ITransport__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(18);/* harmony import */var_LongPollingTransport__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(19);/* harmony import */var_ServerSentEventsTransport__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(21);/* harmony import */var_Utils__WEBPACK_IMPORTED_MODULE_5__=__webpack_require__(13);/* harmony import */var_WebSocketTransport__WEBPACK_IMPORTED_MODULE_6__=__webpack_require__(22);// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.var__awaiter=(undefined&&undefined.__awaiter)||function(thisArg,_arguments,P,generator){returnnew(P||(P=Promise))(function(resolve,reject){functionfulfilled(value){try{step(generator.next(value));}catch(e){reject(e);}}functionrejected(value){try{step(generator["throw"](value));}catch(e){reject(e);}}functionstep(result){result.done?resolve(result.value):newP(function(resolve){resolve(result.value);}).then(fulfilled,rejected);}step((generator=generator.apply(thisArg,_arguments||[])).next());});};var__generator=(undefined&&undefined.__generator)||function(thisArg,body){var_={label:0,sent:function(){if(t[0]&1)throwt[1];returnt[1];},trys:[],ops:[]},f,y,t,g;returng={next:verb(0),"throw":verb(1),"return":verb(2)},typeofSymbol==="function"&&(g[Symbol.iterator]=function(){returnthis;}),g;functionverb(n){returnfunction(v){returnstep([n,v]);};}functionstep(op){if(f)thrownewTypeError("Generator is already executing.");while(_)try{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)returnt;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case0:case1:t=op;break;case4:_.label++;return{value:op[1],done:false};case5:_.label++;y=op[1];op=[0];continue;case7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue;}if(op[0]===3&&(!t||(op[1]>t[0]&&op[1]<t[3]))){_.label=op[1];break;}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break;}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break;}if(t[2])_.ops.pop();_.trys.pop();continue;}op=body.call(thisArg,_);}catch(e){op=[6,e];y=0;}finally{f=t=0;}if(op[0]&5)throwop[1];return{value:op[0]?op[1]:void0,done:true};}};varMAX_REDIRECTS=100;varWebSocketModule=null;varEventSourceModule=null;if(typeofwindow==="undefined"&&"function"!=="undefined"){// In order to ignore the dynamic require in webpack builds we need to do this magic// @ts-ignore: TS doesn't know about these namesvarrequireFunc=true?require:undefined;WebSocketModule=requireFunc("ws");EventSourceModule=requireFunc("eventsource");}/** @private */varHttpConnection=/** @class */(function(){functionHttpConnection(url,options){if(options===void0){options={};}this.features={};_Utils__WEBPACK_IMPORTED_MODULE_5__["Arg"].isRequired(url,"url");this.logger=Object(_Utils__WEBPACK_IMPORTED_MODULE_5__["createLogger"])(options.logger);this.baseUrl=this.resolveUrl(url);options=options||{};options.logMessageContent=options.logMessageContent||false;varisNode=typeofwindow==="undefined";if(!isNode&&typeofWebSocket!=="undefined"&&!options.WebSocket){options.WebSocket=WebSocket;}elseif(isNode&&!options.WebSocket){if(WebSocketModule){options.WebSocket=WebSocketModule;}}if(!isNode&&typeofEventSource!=="undefined"&&!options.EventSource){options.EventSource=EventSource;}elseif(isNode&&!options.EventSource){if(typeofEventSourceModule!=="undefined"){options.EventSource=EventSourceModule;}}this.httpClient=options.httpClient||new_DefaultHttpClient__WEBPACK_IMPORTED_MODULE_0__["DefaultHttpClient"](this.logger);this.connectionState=2/* Disconnected */;this.options=options;this.onreceive=null;this.onclose=null;}HttpConnection.prototype.start=function(transferFormat){transferFormat=transferFormat||_ITransport__WEBPACK_IMPORTED_MODULE_2__["TransferFormat"].Binary;_Utils__WEBPACK_IMPORTED_MODULE_5__["Arg"].isIn(transferFormat,_ITransport__WEBPACK_IMPORTED_MODULE_2__["TransferFormat"],"transferFormat");this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__["LogLevel"].Debug,"Starting connection with transfer format '"+_ITransport__WEBPACK_IMPORTED_MODULE_2__["TransferFormat"][transferFormat]+"'.");if(this.connectionState!==2/* Disconnected */){returnPromise.reject(newError("Cannot start a connection that is not in the 'Disconnected' state."));}this.connectionState=0/* Connecting */;this.startPromise=this.startInternal(transferFormat);returnthis.startPromise;};HttpConnection.prototype.send=function(data){if(this.connectionState!==1/* Connected */){thrownewError("Cannot send data if the connection is not in the 'Connected' State.");}// Transport will not be null if state is connectedreturnthis.transport.send(data);};HttpConnection.prototype.stop=function(error){return__awaiter(this,void0,void0,function(){vare_1;return__generator(this,function(_a){switch(_a.label){case0:this.connectionState=2/* Disconnected */;// Set error as soon as possible otherwise there is a race between// the transport closing and providing an error and the error from a close message// We would prefer the close message error.this.stopError=error;_a.label=1;case1:_a.trys.push([1,3,,4]);return[4/*yield*/,this.startPromise];case2:_a.sent();return[3/*break*/,4];case3:e_1=_a.sent();return[3/*break*/,4];case4:if(!this.transport)return[3/*break*/,6];return[4/*yield*/,this.transport.stop()];case5:_a.sent();this.transport=undefined;_a.label=6;case6:return[2/*return*/];}});});};HttpConnection.prototype.startInternal=function(transferFormat){return__awaiter(this,void0,void0,function(){varurl,negotiateResponse,redirects,_loop_1,this_1,state_1,e_2;var_this=this;return__generator(this,function(_a){switch(_a.label){case0:url=this.baseUrl;this.accessTokenFactory=this.options.accessTokenFactory;_a.label=1;case1:_a.trys.push([1,12,,13]);if(!this.options.skipNegotiation)return[3/*break*/,5];if(!(this.options.transport===_ITransport__WEBPACK_IMPORTED_MODULE_2__["HttpTransportType"].WebSockets))return[3/*break*/,3];// No need to add a connection ID in this casethis.transport=this.constructTransport(_ITransport__WEBPACK_IMPORTED_MODULE_2__["HttpTransportType"].WebSockets);// We should just call connect directly in this case.// No fallback or negotiate in this case.return[4/*yield*/,this.transport.connect(url,transferFormat)];case2:// We should just call connect directly in this case.// No fallback or negotiate in this case._a.sent();return[3/*break*/,4];case3:throwError("Negotiation can only be skipped when using the WebSocket transport directly.");case4:return[3/*break*/,11];case5:negotiateResponse=null;redirects=0;_loop_1=function(){varaccessToken_1;return__generator(this,function(_a){switch(_a.label){case0:return[4/*yield*/,this_1.getNegotiationResponse(url)];case1:negotiateResponse=_a.sent();// the user tries to stop the connection when it is being startedif(this_1.connectionState===2/* Disconnected */){return[2/*return*/,{value:void0}];}if(negotiateResponse.error){throwError(negotiateResponse.error);}if(negotiateResponse.ProtocolVersion){throwError("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.");}if(negotiateResponse.url){url=negotiateResponse.url;}if(negotiateResponse.accessToken){accessToken_1=negotiateResponse.accessToken;this_1.accessTokenFactory=function(){returnaccessToken_1;};}redirects++;return[2/*return*/];}});};this_1=this;_a.label=6;case6:return[5/*yield**/,_loop_1()];case7:state_1=_a.sent();if(typeofstate_1==="object")return[2/*return*/,state_1.value];_a.label=8;case8:if(negotiateResponse.url&&redirects<MAX_REDIRECTS)return[3/*break*/,6];_a.label=9;case9:if(redirects===MAX_REDIRECTS&&negotiateResponse.url){throwError("Negotiate redirection limit exceeded.");}return[4/*yield*/,this.createTransport(url,this.options.transport,negotiateResponse,transferFormat)];case10:_a.sent();_a.label=11;case11:if(this.transportinstanceof_LongPollingTransport__WEBPACK_IMPORTED_MODULE_3__["LongPollingTransport"]){this.features.inherentKeepAlive=true;}this.transport.onreceive=this.onreceive;this.transport.onclose=function(e){return_this.stopConnection(e);};// only change the state if we were connecting to not overwrite// the state if the connection is already marked as Disconnectedthis.changeState(0/* Connecting */,1/* Connected */);return[3/*break*/,13];case12:e_2=_a.sent();this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__["LogLevel"].Error,"Failed to start the connection: "+e_2);this.connectionState=2/* Disconnected */;this.transport=undefined;throwe_2;case13:return[2/*return*/];}});});};HttpConnection.prototype.getNegotiationResponse=function(url){return__awaiter(this,void0,void0,function(){var_a,headers,token,negotiateUrl,response,e_3;return__generator(this,function(_b){switch(_b.label){case0:if(!this.accessTokenFactory)return[3/*break*/,2];return[4/*yield*/,this.accessTokenFactory()];case1:token=_b.sent();if(token){headers=(_a={},_a["Authorization"]="Bearer "+token,_a);}_b.label=2;case2:negotiateUrl=this.resolveNegotiateUrl(url);this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__["LogLevel"].Debug,"Sending negotiation request: "+negotiateUrl+".");_b.label=3;case3:_b.trys.push([3,5,,6]);return[4/*yield*/,this.httpClient.post(negotiateUrl,{content:"",headers:headers,})];case4:response=_b.sent();if(response.statusCode!==200){throwError("Unexpected status code returned from negotiate "+response.statusCode);}return[2/*return*/,JSON.parse(response.content)];case5:e_3=_b.sent();this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__["LogLevel"].Error,"Failed to complete negotiation with the server: "+e_3);throwe_3;case6:return[2/*return*/];}});});};HttpConnection.prototype.createConnectUrl=function(url,connectionId){if(!connectionId){returnurl;}returnurl+(url.indexOf("?")===-1?"?":"&")+("id="+connectionId);};HttpConnection.prototype.createTransport=function(url,requestedTransport,negotiateResponse,requestedTransferFormat){return__awaiter(this,void0,void0,function(){varconnectUrl,transports,_i,transports_1,endpoint,transport,ex_1;return__generator(this,function(_a){switch(_a.label){case0:connectUrl=this.createConnectUrl(url,negotiateResponse.connectionId);if(!this.isITransport(requestedTransport))return[3/*break*/,2];this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__["LogLevel"].Debug,"Connection was provided an instance of ITransport, using that directly.");this.transport=requestedTransport;return[4/*yield*/,this.transport.connect(connectUrl,requestedTransferFormat)];case1:_a.sent();// only change the state if we were connecting to not overwrite// the state if the connection is already marked as Disconnectedthis.changeState(0/* Connecting */,1/* Connected */);return[2/*return*/];case2:transports=negotiateResponse.availableTransports||[];_i=0,transports_1=transports;_a.label=3;case3:if(!(_i<transports_1.length))return[3/*break*/,9];endpoint=transports_1[_i];this.connectionState=0/* Connecting */;transport=this.resolveTransport(endpoint,requestedTransport,requestedTransferFormat);if(!(typeoftransport==="number"))return[3/*break*/,8];this.transport=this.constructTransport(transport);if(!!negotiateResponse.connectionId)return[3/*break*/,5];return[4/*yield*/,this.getNegotiationResponse(url)];case4:negotiateResponse=_a.sent();connectUrl=this.createConnectUrl(url,negotiateResponse.connectionId);_a.label=5;case5:_a.trys.push([5,7,,8]);return[4/*yield*/,this.transport.connect(connectUrl,requestedTransferFormat)];case6:_a.sent();this.changeState(0/* Connecting */,1/* Connected */);return[2/*return*/];case7:ex_1=_a.sent();this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__["LogLevel"].Error,"Failed to start the transport '"+_ITransport__WEBPACK_IMPORTED_MODULE_2__["HttpTransportType"][transport]+"': "+ex_1);this.connectionState=2/* Disconnected */;negotiateResponse.connectionId=undefined;return[3/*break*/,8];case8:_i++;return[3/*break*/,3];case9:thrownewError("Unable to initialize any of the available transports.");}});});};HttpConnection.prototype.constructTransport=function(transport){switch(transport){case_ITransport__WEBPACK_IMPORTED_MODULE_2__["HttpTransportType"].WebSockets:if(!this.options.WebSocket){thrownewError("'WebSocket' is not supported in your environment.");}returnnew_WebSocketTransport__WEBPACK_IMPORTED_MODULE_6__["WebSocketTransport"](this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||false,this.options.WebSocket);case_ITransport__WEBPACK_IMPORTED_MODULE_2__["HttpTransportType"].ServerSentEvents:if(!this.options.EventSource){thrownewError("'EventSource' is not supported in your environment.");}returnnew_ServerSentEventsTransport__WEBPACK_IMPORTED_MODULE_4__["ServerSentEventsTransport"](this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||false,this.options.EventSource);case_ITransport__WEBPACK_IMPORTED_MODULE_2__["HttpTransportType"].LongPolling:returnnew_LongPollingTransport__WEBPACK_IMPORTED_MODULE_3__["LongPollingTransport"](this.httpClient,this.accessTokenFactory,this.logger,this.options.logMessageContent||false);default:thrownewError("Unknown transport: "+transport+".");}};HttpConnection.prototype.resolveTransport=function(endpoint,requestedTransport,requestedTransferFormat){vartransport=_ITransport__WEBPACK_IMPORTED_MODULE_2__["HttpTransportType"][endpoint.transport];if(transport===null||transport===undefined){this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__["LogLevel"].Debug,"Skipping transport '"+endpoint.transport+"' because it is not supported by this client.");}else{vartransferFormats=endpoint.transferFormats.map(function(s){return_ITransport__WEBPACK_IMPORTED_MODULE_2__["TransferFormat"][s];});if(transportMatches(requestedTransport,transport)){if(transferFormats.indexOf(requestedTransferFormat)>=0){if((transport===_ITransport__WEBPACK_IMPORTED_MODULE_2__["HttpTransportType"].WebSockets&&!this.options.WebSocket)||(transport===_ITransport__WEBPACK_IMPORTED_MODULE_2__["HttpTransportType"].ServerSentEvents&&!this.options.EventSource)){this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__["LogLevel"].Debug,"Skipping transport '"+_ITransport__WEBPACK_IMPORTED_MODULE_2__["HttpTransportType"][transport]+"' because it is not supported in your environment.'");}else{this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__["LogLevel"].Debug,"Selecting transport '"+_ITransport__WEBPACK_IMPORTED_MODULE_2__["HttpTransportType"][transport]+"'.");returntransport;}}else{this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__["LogLevel"].Debug,"Skipping transport '"+_ITransport__WEBPACK_IMPORTED_MODULE_2__["HttpTransportType"][transport]+"' because it does not support the requested transfer format '"+_ITransport__WEBPACK_IMPORTED_MODULE_2__["TransferFormat"][requestedTransferFormat]+"'.");}}else{this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__["LogLevel"].Debug,"Skipping transport '"+_ITransport__WEBPACK_IMPORTED_MODULE_2__["HttpTransportType"][transport]+"' because it was disabled by the client.");}}returnnull;};HttpConnection.prototype.isITransport=function(transport){returntransport&&typeof(transport)==="object"&&"connect"intransport;};HttpConnection.prototype.changeState=function(from,to){if(this.connectionState===from){this.connectionState=to;returntrue;}returnfalse;};HttpConnection.prototype.stopConnection=function(error){this.transport=undefined;// If we have a stopError, it takes precedence over the error from the transporterror=this.stopError||error;if(error){this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__["LogLevel"].Error,"Connection disconnected with error '"+error+"'.");}else{this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__["LogLevel"].Information,"Connection disconnected.");}this.connectionState=2/* Disconnected */;if(this.onclose){this.onclose(error);}};HttpConnection.prototype.resolveUrl=function(url){// startsWith is not supported in IEif(url.lastIndexOf("https://",0)===0||url.lastIndexOf("http://",0)===0){returnurl;}if(typeofwindow==="undefined"||!window||!window.document){thrownewError("Cannot resolve '"+url+"'.");}// Setting the url to the href propery of an anchor tag handles normalization// for us. There are 3 main cases.// 1. Relative path normalization e.g "b" -> "http://localhost:5000/a/b"// 2. Absolute path normalization e.g "/a/b" -> "http://localhost:5000/a/b"// 3. Networkpath reference normalization e.g "//localhost:5000/a/b" -> "http://localhost:5000/a/b"varaTag=window.document.createElement("a");aTag.href=url;this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__["LogLevel"].Information,"Normalizing '"+url+"' to '"+aTag.href+"'.");returnaTag.href;};HttpConnection.prototype.resolveNegotiateUrl=function(url){varindex=url.indexOf("?");varnegotiateUrl=url.substring(0,index===-1?url.length:index);if(negotiateUrl[negotiateUrl.length-1]!=="/"){negotiateUrl+="/";}negotiateUrl+="negotiate";negotiateUrl+=index===-1?"":url.substring(index);returnnegotiateUrl;};returnHttpConnection;}());functiontransportMatches(requestedTransport,actualTransport){return!requestedTransport||((actualTransport&requestedTransport)!==0);}/***/}),/* 18 *//***/(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"HttpTransportType",function(){returnHttpTransportType;});/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"TransferFormat",function(){returnTransferFormat;});// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.// This will be treated as a bit flag in the future, so we keep it using power-of-two values./** Specifies a specific HTTP transport type. */varHttpTransportType;(function(HttpTransportType){/** Specifies no transport preference. */HttpTransportType[HttpTransportType["None"]=0]="None";/** Specifies the WebSockets transport. */HttpTransportType[HttpTransportType["WebSockets"]=1]="WebSockets";/** Specifies the Server-Sent Events transport. */HttpTransportType[HttpTransportType["ServerSentEvents"]=2]="ServerSentEvents";/** Specifies the Long Polling transport. */HttpTransportType[HttpTransportType["LongPolling"]=4]="LongPolling";})(HttpTransportType||(HttpTransportType={}));/** Specifies the transfer format for a connection. */varTransferFormat;(function(TransferFormat){/** Specifies that only text data will be transmitted over the connection. */TransferFormat[TransferFormat["Text"]=1]="Text";/** Specifies that binary data will be transmitted over the connection. */TransferFormat[TransferFormat["Binary"]=2]="Binary";})(TransferFormat||(TransferFormat={}));/***/}),/* 19 *//***/(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"LongPollingTransport",function(){returnLongPollingTransport;});/* harmony import */var_AbortController__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(20);/* harmony import */var_Errors__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(4);/* harmony import */var_ILogger__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(9);/* harmony import */var_ITransport__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(18);/* harmony import */var_Utils__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(13);// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.var__awaiter=(undefined&&undefined.__awaiter)||function(thisArg,_arguments,P,generator){returnnew(P||(P=Promise))(function(resolve,reject){functionfulfilled(value){try{step(generator.next(value));}catch(e){reject(e);}}functionrejected(value){try{step(generator["throw"](value));}catch(e){reject(e);}}functionstep(result){result.done?resolve(result.value):newP(function(resolve){resolve(result.value);}).then(fulfilled,rejected);}step((generator=generator.apply(thisArg,_arguments||[])).next());});};var__generator=(undefined&&undefined.__generator)||function(thisArg,body){var_={label:0,sent:function(){if(t[0]&1)throwt[1];returnt[1];},trys:[],ops:[]},f,y,t,g;returng={next:verb(0),"throw":verb(1),"return":verb(2)},typeofSymbol==="function"&&(g[Symbol.iterator]=function(){returnthis;}),g;functionverb(n){returnfunction(v){returnstep([n,v]);};}functionstep(op){if(f)thrownewTypeError("Generator is already executing.");while(_)try{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)returnt;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case0:case1:t=op;break;case4:_.label++;return{value:op[1],done:false};case5:_.label++;y=op[1];op=[0];continue;case7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue;}if(op[0]===3&&(!t||(op[1]>t[0]&&op[1]<t[3]))){_.label=op[1];break;}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break;}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break;}if(t[2])_.ops.pop();_.trys.pop();continue;}op=body.call(thisArg,_);}catch(e){op=[6,e];y=0;}finally{f=t=0;}if(op[0]&5)throwop[1];return{value:op[0]?op[1]:void0,done:true};}};// Not exported from 'index', this type is internal./** @private */varLongPollingTransport=/** @class */(function(){functionLongPollingTransport(httpClient,accessTokenFactory,logger,logMessageContent){this.httpClient=httpClient;this.accessTokenFactory=accessTokenFactory;this.logger=logger;this.pollAbort=new_AbortController__WEBPACK_IMPORTED_MODULE_0__["AbortController"]();this.logMessageContent=logMessageContent;this.running=false;this.onreceive=null;this.onclose=null;}Object.defineProperty(LongPollingTransport.prototype,"pollAborted",{// This is an internal type, not exported from 'index' so this is really just internal.get:function(){returnthis.pollAbort.aborted;},enumerable:true,configurable:true});LongPollingTransport.prototype.connect=function(url,transferFormat){return__awaiter(this,void0,void0,function(){varpollOptions,token,pollUrl,response;return__generator(this,function(_a){switch(_a.label){case0:_Utils__WEBPACK_IMPORTED_MODULE_4__["Arg"].isRequired(url,"url");_Utils__WEBPACK_IMPORTED_MODULE_4__["Arg"].isRequired(transferFormat,"transferFormat");_Utils__WEBPACK_IMPORTED_MODULE_4__["Arg"].isIn(transferFormat,_ITransport__WEBPACK_IMPORTED_MODULE_3__["TransferFormat"],"transferFormat");this.url=url;this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Trace,"(LongPolling transport) Connecting.");// Allow binary format on Node and Browsers that support binary content (indicated by the presence of responseType property)if(transferFormat===_ITransport__WEBPACK_IMPORTED_MODULE_3__["TransferFormat"].Binary&&(typeofXMLHttpRequest!=="undefined"&&typeofnewXMLHttpRequest().responseType!=="string")){thrownewError("Binary protocols over XmlHttpRequest not implementing advanced features are not supported.");}pollOptions={abortSignal:this.pollAbort.signal,headers:{},timeout:100000,};if(transferFormat===_ITransport__WEBPACK_IMPORTED_MODULE_3__["TransferFormat"].Binary){pollOptions.responseType="arraybuffer";}return[4/*yield*/,this.getAccessToken()];case1:token=_a.sent();this.updateHeaderToken(pollOptions,token);pollUrl=url+"&_="+Date.now();this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Trace,"(LongPolling transport) polling: "+pollUrl+".");return[4/*yield*/,this.httpClient.get(pollUrl,pollOptions)];case2:response=_a.sent();if(response.statusCode!==200){this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Error,"(LongPolling transport) Unexpected response code: "+response.statusCode+".");// Mark running as false so that the poll immediately ends and runs the close logicthis.closeError=new_Errors__WEBPACK_IMPORTED_MODULE_1__["HttpError"](response.statusText||"",response.statusCode);this.running=false;}else{this.running=true;}this.receiving=this.poll(this.url,pollOptions);return[2/*return*/];}});});};LongPollingTransport.prototype.getAccessToken=function(){return__awaiter(this,void0,void0,function(){return__generator(this,function(_a){switch(_a.label){case0:if(!this.accessTokenFactory)return[3/*break*/,2];return[4/*yield*/,this.accessTokenFactory()];case1:return[2/*return*/,_a.sent()];case2:return[2/*return*/,null];}});});};LongPollingTransport.prototype.updateHeaderToken=function(request,token){if(!request.headers){request.headers={};}if(token){// tslint:disable-next-line:no-string-literalrequest.headers["Authorization"]="Bearer "+token;return;}// tslint:disable-next-line:no-string-literalif(request.headers["Authorization"]){// tslint:disable-next-line:no-string-literaldeleterequest.headers["Authorization"];}};LongPollingTransport.prototype.poll=function(url,pollOptions){return__awaiter(this,void0,void0,function(){vartoken,pollUrl,response,e_1;return__generator(this,function(_a){switch(_a.label){case0:_a.trys.push([0,,8,9]);_a.label=1;case1:if(!this.running)return[3/*break*/,7];return[4/*yield*/,this.getAccessToken()];case2:token=_a.sent();this.updateHeaderToken(pollOptions,token);_a.label=3;case3:_a.trys.push([3,5,,6]);pollUrl=url+"&_="+Date.now();this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Trace,"(LongPolling transport) polling: "+pollUrl+".");return[4/*yield*/,this.httpClient.get(pollUrl,pollOptions)];case4:response=_a.sent();if(response.statusCode===204){this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Information,"(LongPolling transport) Poll terminated by server.");this.running=false;}elseif(response.statusCode!==200){this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Error,"(LongPolling transport) Unexpected response code: "+response.statusCode+".");// Unexpected status codethis.closeError=new_Errors__WEBPACK_IMPORTED_MODULE_1__["HttpError"](response.statusText||"",response.statusCode);this.running=false;}else{// Process the responseif(response.content){this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Trace,"(LongPolling transport) data received. "+Object(_Utils__WEBPACK_IMPORTED_MODULE_4__["getDataDetail"])(response.content,this.logMessageContent)+".");if(this.onreceive){this.onreceive(response.content);}}else{// This is another way timeout manifest.this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Trace,"(LongPolling transport) Poll timed out, reissuing.");}}return[3/*break*/,6];case5:e_1=_a.sent();if(!this.running){// Log but disregard errors that occur after stoppingthis.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Trace,"(LongPolling transport) Poll errored after shutdown: "+e_1.message);}else{if(e_1instanceof_Errors__WEBPACK_IMPORTED_MODULE_1__["TimeoutError"]){// Ignore timeouts and reissue the poll.this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Trace,"(LongPolling transport) Poll timed out, reissuing.");}else{// Close the connection with the error as the result.this.closeError=e_1;this.running=false;}}return[3/*break*/,6];case6:return[3/*break*/,1];case7:return[3/*break*/,9];case8:this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Trace,"(LongPolling transport) Polling complete.");// We will reach here with pollAborted==false when the server returned a response causing the transport to stop.// If pollAborted==true then client initiated the stop and the stop method will raise the close event after DELETE is sent.if(!this.pollAborted){this.raiseOnClose();}return[7/*endfinally*/];case9:return[2/*return*/];}});});};LongPollingTransport.prototype.send=function(data){return__awaiter(this,void0,void0,function(){return__generator(this,function(_a){if(!this.running){return[2/*return*/,Promise.reject(newError("Cannot send until the transport is connected"))];}return[2/*return*/,Object(_Utils__WEBPACK_IMPORTED_MODULE_4__["sendMessage"])(this.logger,"LongPolling",this.httpClient,this.url,this.accessTokenFactory,data,this.logMessageContent)];});});};LongPollingTransport.prototype.stop=function(){return__awaiter(this,void0,void0,function(){vardeleteOptions,token;return__generator(this,function(_a){switch(_a.label){case0:this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Trace,"(LongPolling transport) Stopping polling.");// Tell receiving loop to stop, abort any current request, and then wait for it to finishthis.running=false;this.pollAbort.abort();_a.label=1;case1:_a.trys.push([1,,5,6]);return[4/*yield*/,this.receiving];case2:_a.sent();// Send DELETE to clean up long polling on the serverthis.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Trace,"(LongPolling transport) sending DELETE request to "+this.url+".");deleteOptions={headers:{},};return[4/*yield*/,this.getAccessToken()];case3:token=_a.sent();this.updateHeaderToken(deleteOptions,token);return[4/*yield*/,this.httpClient.delete(this.url,deleteOptions)];case4:_a.sent();this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Trace,"(LongPolling transport) DELETE request sent.");return[3/*break*/,6];case5:this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Trace,"(LongPolling transport) Stop finished.");// Raise close event here instead of in polling// It needs to happen after the DELETE request is sentthis.raiseOnClose();return[7/*endfinally*/];case6:return[2/*return*/];}});});};LongPollingTransport.prototype.raiseOnClose=function(){if(this.onclose){varlogMessage="(LongPolling transport) Firing onclose event.";if(this.closeError){logMessage+=" Error: "+this.closeError;}this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_2__["LogLevel"].Trace,logMessage);this.onclose(this.closeError);}};returnLongPollingTransport;}());/***/}),/* 20 *//***/(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"AbortController",function(){returnAbortController;});// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.// Rough polyfill of https://developer.mozilla.org/en-US/docs/Web/API/AbortController// We don't actually ever use the API being polyfilled, we always use the polyfill because// it's a very new API right now.// Not exported from index./** @private */varAbortController=/** @class */(function(){functionAbortController(){this.isAborted=false;this.onabort=null;}AbortController.prototype.abort=function(){if(!this.isAborted){this.isAborted=true;if(this.onabort){this.onabort();}}};Object.defineProperty(AbortController.prototype,"signal",{get:function(){returnthis;},enumerable:true,configurable:true});Object.defineProperty(AbortController.prototype,"aborted",{get:function(){returnthis.isAborted;},enumerable:true,configurable:true});returnAbortController;}());/***/}),/* 21 *//***/(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"ServerSentEventsTransport",function(){returnServerSentEventsTransport;});/* harmony import */var_ILogger__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(9);/* harmony import */var_ITransport__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(18);/* harmony import */var_Utils__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(13);// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.var__awaiter=(undefined&&undefined.__awaiter)||function(thisArg,_arguments,P,generator){returnnew(P||(P=Promise))(function(resolve,reject){functionfulfilled(value){try{step(generator.next(value));}catch(e){reject(e);}}functionrejected(value){try{step(generator["throw"](value));}catch(e){reject(e);}}functionstep(result){result.done?resolve(result.value):newP(function(resolve){resolve(result.value);}).then(fulfilled,rejected);}step((generator=generator.apply(thisArg,_arguments||[])).next());});};var__generator=(undefined&&undefined.__generator)||function(thisArg,body){var_={label:0,sent:function(){if(t[0]&1)throwt[1];returnt[1];},trys:[],ops:[]},f,y,t,g;returng={next:verb(0),"throw":verb(1),"return":verb(2)},typeofSymbol==="function"&&(g[Symbol.iterator]=function(){returnthis;}),g;functionverb(n){returnfunction(v){returnstep([n,v]);};}functionstep(op){if(f)thrownewTypeError("Generator is already executing.");while(_)try{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)returnt;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case0:case1:t=op;break;case4:_.label++;return{value:op[1],done:false};case5:_.label++;y=op[1];op=[0];continue;case7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue;}if(op[0]===3&&(!t||(op[1]>t[0]&&op[1]<t[3]))){_.label=op[1];break;}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break;}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break;}if(t[2])_.ops.pop();_.trys.pop();continue;}op=body.call(thisArg,_);}catch(e){op=[6,e];y=0;}finally{f=t=0;}if(op[0]&5)throwop[1];return{value:op[0]?op[1]:void0,done:true};}};/** @private */varServerSentEventsTransport=/** @class */(function(){functionServerSentEventsTransport(httpClient,accessTokenFactory,logger,logMessageContent,eventSourceConstructor){this.httpClient=httpClient;this.accessTokenFactory=accessTokenFactory;this.logger=logger;this.logMessageContent=logMessageContent;this.eventSourceConstructor=eventSourceConstructor;this.onreceive=null;this.onclose=null;}ServerSentEventsTransport.prototype.connect=function(url,transferFormat){return__awaiter(this,void0,void0,function(){vartoken;var_this=this;return__generator(this,function(_a){switch(_a.label){case0:_Utils__WEBPACK_IMPORTED_MODULE_2__["Arg"].isRequired(url,"url");_Utils__WEBPACK_IMPORTED_MODULE_2__["Arg"].isRequired(transferFormat,"transferFormat");_Utils__WEBPACK_IMPORTED_MODULE_2__["Arg"].isIn(transferFormat,_ITransport__WEBPACK_IMPORTED_MODULE_1__["TransferFormat"],"transferFormat");this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_0__["LogLevel"].Trace,"(SSE transport) Connecting.");// set url before accessTokenFactory because this.url is only for send and we set the auth header instead of the query string for sendthis.url=url;if(!this.accessTokenFactory)return[3/*break*/,2];return[4/*yield*/,this.accessTokenFactory()];case1:token=_a.sent();if(token){url+=(url.indexOf("?")<0?"?":"&")+("access_token="+encodeURIComponent(token));}_a.label=2;case2:return[2/*return*/,newPromise(function(resolve,reject){varopened=false;if(transferFormat!==_ITransport__WEBPACK_IMPORTED_MODULE_1__["TransferFormat"].Text){reject(newError("The Server-Sent Events transport only supports the 'Text' transfer format"));return;}vareventSource;if(typeofwindow!=="undefined"){eventSource=new_this.eventSourceConstructor(url,{withCredentials:true});}else{// Non-browser passes cookies via the dictionaryvarcookies=_this.httpClient.getCookieString(url);eventSource=new_this.eventSourceConstructor(url,{withCredentials:true,headers:{Cookie:cookies}});}try{eventSource.onmessage=function(e){if(_this.onreceive){try{_this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_0__["LogLevel"].Trace,"(SSE transport) data received. "+Object(_Utils__WEBPACK_IMPORTED_MODULE_2__["getDataDetail"])(e.data,_this.logMessageContent)+".");_this.onreceive(e.data);}catch(error){_this.close(error);return;}}};eventSource.onerror=function(e){varerror=newError(e.data||"Error occurred");if(opened){_this.close(error);}else{reject(error);}};eventSource.onopen=function(){_this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_0__["LogLevel"].Information,"SSE connected to "+_this.url);_this.eventSource=eventSource;opened=true;resolve();};}catch(e){reject(e);return;}})];}});});};ServerSentEventsTransport.prototype.send=function(data){return__awaiter(this,void0,void0,function(){return__generator(this,function(_a){if(!this.eventSource){return[2/*return*/,Promise.reject(newError("Cannot send until the transport is connected"))];}return[2/*return*/,Object(_Utils__WEBPACK_IMPORTED_MODULE_2__["sendMessage"])(this.logger,"SSE",this.httpClient,this.url,this.accessTokenFactory,data,this.logMessageContent)];});});};ServerSentEventsTransport.prototype.stop=function(){this.close();returnPromise.resolve();};ServerSentEventsTransport.prototype.close=function(e){if(this.eventSource){this.eventSource.close();this.eventSource=undefined;if(this.onclose){this.onclose(e);}}};returnServerSentEventsTransport;}());/***/}),/* 22 *//***/(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"WebSocketTransport",function(){returnWebSocketTransport;});/* harmony import */var_ILogger__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(9);/* harmony import */var_ITransport__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(18);/* harmony import */var_Utils__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(13);// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.var__awaiter=(undefined&&undefined.__awaiter)||function(thisArg,_arguments,P,generator){returnnew(P||(P=Promise))(function(resolve,reject){functionfulfilled(value){try{step(generator.next(value));}catch(e){reject(e);}}functionrejected(value){try{step(generator["throw"](value));}catch(e){reject(e);}}functionstep(result){result.done?resolve(result.value):newP(function(resolve){resolve(result.value);}).then(fulfilled,rejected);}step((generator=generator.apply(thisArg,_arguments||[])).next());});};var__generator=(undefined&&undefined.__generator)||function(thisArg,body){var_={label:0,sent:function(){if(t[0]&1)throwt[1];returnt[1];},trys:[],ops:[]},f,y,t,g;returng={next:verb(0),"throw":verb(1),"return":verb(2)},typeofSymbol==="function"&&(g[Symbol.iterator]=function(){returnthis;}),g;functionverb(n){returnfunction(v){returnstep([n,v]);};}functionstep(op){if(f)thrownewTypeError("Generator is already executing.");while(_)try{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)returnt;if(y=0,t)op=[op[0]&2,t.value];switch(op[0]){case0:case1:t=op;break;case4:_.label++;return{value:op[1],done:false};case5:_.label++;y=op[1];op=[0];continue;case7:op=_.ops.pop();_.trys.pop();continue;default:if(!(t=_.trys,t=t.length>0&&t[t.length-1])&&(op[0]===6||op[0]===2)){_=0;continue;}if(op[0]===3&&(!t||(op[1]>t[0]&&op[1]<t[3]))){_.label=op[1];break;}if(op[0]===6&&_.label<t[1]){_.label=t[1];t=op;break;}if(t&&_.label<t[2]){_.label=t[2];_.ops.push(op);break;}if(t[2])_.ops.pop();_.trys.pop();continue;}op=body.call(thisArg,_);}catch(e){op=[6,e];y=0;}finally{f=t=0;}if(op[0]&5)throwop[1];return{value:op[0]?op[1]:void0,done:true};}};/** @private */varWebSocketTransport=/** @class */(function(){functionWebSocketTransport(httpClient,accessTokenFactory,logger,logMessageContent,webSocketConstructor){this.logger=logger;this.accessTokenFactory=accessTokenFactory;this.logMessageContent=logMessageContent;this.webSocketConstructor=webSocketConstructor;this.httpClient=httpClient;this.onreceive=null;this.onclose=null;}WebSocketTransport.prototype.connect=function(url,transferFormat){return__awaiter(this,void0,void0,function(){vartoken;var_this=this;return__generator(this,function(_a){switch(_a.label){case0:_Utils__WEBPACK_IMPORTED_MODULE_2__["Arg"].isRequired(url,"url");_Utils__WEBPACK_IMPORTED_MODULE_2__["Arg"].isRequired(transferFormat,"transferFormat");_Utils__WEBPACK_IMPORTED_MODULE_2__["Arg"].isIn(transferFormat,_ITransport__WEBPACK_IMPORTED_MODULE_1__["TransferFormat"],"transferFormat");this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_0__["LogLevel"].Trace,"(WebSockets transport) Connecting.");if(!this.accessTokenFactory)return[3/*break*/,2];return[4/*yield*/,this.accessTokenFactory()];case1:token=_a.sent();if(token){url+=(url.indexOf("?")<0?"?":"&")+("access_token="+encodeURIComponent(token));}_a.label=2;case2:return[2/*return*/,newPromise(function(resolve,reject){url=url.replace(/^http/,"ws");varwebSocket;varcookies=_this.httpClient.getCookieString(url);if(typeofwindow==="undefined"&&cookies){// Only pass cookies when in non-browser environmentswebSocket=new_this.webSocketConstructor(url,undefined,{headers:{Cookie:""+cookies,},});}if(!webSocket){// Chrome is not happy with passing 'undefined' as protocolwebSocket=new_this.webSocketConstructor(url);}if(transferFormat===_ITransport__WEBPACK_IMPORTED_MODULE_1__["TransferFormat"].Binary){webSocket.binaryType="arraybuffer";}// tslint:disable-next-line:variable-namewebSocket.onopen=function(_event){_this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_0__["LogLevel"].Information,"WebSocket connected to "+url+".");_this.webSocket=webSocket;resolve();};webSocket.onerror=function(event){varerror=null;// ErrorEvent is a browser only type we need to check if the type exists before using itif(typeofErrorEvent!=="undefined"&&eventinstanceofErrorEvent){error=event.error;}reject(error);};webSocket.onmessage=function(message){_this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_0__["LogLevel"].Trace,"(WebSockets transport) data received. "+Object(_Utils__WEBPACK_IMPORTED_MODULE_2__["getDataDetail"])(message.data,_this.logMessageContent)+".");if(_this.onreceive){_this.onreceive(message.data);}};webSocket.onclose=function(event){return_this.close(event);};})];}});});};WebSocketTransport.prototype.send=function(data){if(this.webSocket&&this.webSocket.readyState===this.webSocketConstructor.OPEN){this.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_0__["LogLevel"].Trace,"(WebSockets transport) sending data. "+Object(_Utils__WEBPACK_IMPORTED_MODULE_2__["getDataDetail"])(data,this.logMessageContent)+".");this.webSocket.send(data);returnPromise.resolve();}returnPromise.reject("WebSocket is not in the OPEN state");};WebSocketTransport.prototype.stop=function(){if(this.webSocket){// Clear websocket handlers because we are considering the socket closed nowthis.webSocket.onclose=function(){};this.webSocket.onmessage=function(){};this.webSocket.onerror=function(){};this.webSocket.close();this.webSocket=undefined;// Manually invoke onclose callback inline so we know the HttpConnection was closed properly before returning// This also solves an issue where websocket.onclose could take 18+ seconds to trigger during network disconnectsthis.close(undefined);}returnPromise.resolve();};WebSocketTransport.prototype.close=function(event){// webSocket will be null if the transport did not start successfullythis.logger.log(_ILogger__WEBPACK_IMPORTED_MODULE_0__["LogLevel"].Trace,"(WebSockets transport) socket closed.");if(this.onclose){if(event&&(event.wasClean===false||event.code!==1000)){this.onclose(newError("WebSocket closed with status code: "+event.code+" ("+event.reason+")."));}else{this.onclose();}}};returnWebSocketTransport;}());/***/}),/* 23 *//***/(function(module,__webpack_exports__,__webpack_require__){"use strict";__webpack_require__.r(__webpack_exports__);/* harmony export (binding) */__webpack_require__.d(__webpack_exports__,"JsonHubProtocol",function(){returnJsonHubProtocol;});/* harmony import */var_IHubProtocol__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__(15);/* harmony import */var_ILogger__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__(9);/* harmony import */var_ITransport__WEBPACK_IMPORTED_MODULE_2__=__webpack_require__(18);/* harmony import */var_Loggers__WEBPACK_IMPORTED_MODULE_3__=__webpack_require__(14);/* harmony import */var_TextMessageFormat__WEBPACK_IMPORTED_MODULE_4__=__webpack_require__(12);// Copyright (c) .NET Foundation. All rights reserved.// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.varJSON_HUB_PROTOCOL_NAME="json";/** Implements the JSON Hub Protocol. */varJsonHubProtocol=/** @class */(function(){functionJsonHubProtocol(){/** @inheritDoc */this.name=JSON_HUB_PROTOCOL_NAME;/** @inheritDoc */this.version=1;/** @inheritDoc */this.transferFormat=_ITransport__WEBPACK_IMPORTED_MODULE_2__["TransferFormat"].Text;}/** Creates an array of {@link @aspnet/signalr.HubMessage}objectsfromthespecifiedserializedrepresentation.**@param{string}inputAstringcontainingtheserializedrepresentation.*@param{ILogger}loggerAloggerthatwillbeusedtologmessagesthatoccurduringparsing.*/ JsonHubProtocol.prototype.parseMessages = function (input, logger) { //Theinterfacedoesallow"ArrayBuffer"tobepassedin,butthisimplementationdoesnot.Solet'sthrowausefulerror.if(typeofinput!=="string"){thrownewError("Invalid input for JSON hub protocol. Expected a string.");}if(!input){return[];}if(logger===null){logger=_Loggers__WEBPACK_IMPORTED_MODULE_3__["NullLogger"].instance;}// Parse the messagesvarmessages=_TextMessageFormat__WEBPACK_IMPORTED_MODULE_4__["TextMessageFormat"].parse(input);varhubMessages=[];for(var_i=0,messages_1=messages;_i<messages_1.length;_i++){varmessage=messages_1[_i];varparsedMessage=JSON.parse(message);if(typeofparsedMessage.type!=="number"){thrownewError("Invalid payload.");}switch(parsedMessage.type){case_IHubProtocol__WEBPACK_IMPORTED_MODULE_0__["MessageType"].Invocation:this.isInvocationMessage(parsedMessage);break;case_IHubProtocol__WEBPACK_IMPORTED_MODULE_0__["MessageType"].StreamItem:this.isStreamItemMessage(parsedMessage);break;case_IHubProtocol__WEBPACK_IMPORTED_MODULE_0__["MessageType"].Completion:this.isCompletionMessage(parsedMessage);break;case_IHubProtocol__WEBPACK_IMPORTED_MODULE_0__["MessageType"].Ping:// Single value, no need to validatebreak;case_IHubProtocol__WEBPACK_IMPORTED_MODULE_0__["MessageType"].Close:// All optional values, no need to validatebreak;default:// Future protocol changes can add message types, old clients can ignore themlogger.log(_ILogger__WEBPACK_IMPORTED_MODULE_1__["LogLevel"].Information,"Unknown message type '"+parsedMessage.type+"' ignored.");continue;}hubMessages.push(parsedMessage);}returnhubMessages;};/** Writes the specified {@link @aspnet/signalr.HubMessage}toastringandreturnsit.**@param{HubMessage}messageThemessagetowrite.*@returns{string}Astringcontainingtheserializedrepresentationofthemessage.*/ JsonHubProtocol.prototype.writeMessage = function (message) { return _TextMessageFormat__WEBPACK_IMPORTED_MODULE_4__["TextMessageFormat"].write(JSON.stringify(message)); }; JsonHubProtocol.prototype.isInvocationMessage = function (message) { this.assertNotEmptyString(message.target, "Invalid payload for Invocation message."); if (message.invocationId !== undefined) { this.assertNotEmptyString(message.invocationId, "Invalid payload for Invocation message."); } }; JsonHubProtocol.prototype.isStreamItemMessage = function (message) { this.assertNotEmptyString(message.invocationId, "Invalid payload for StreamItem message."); if (message.item === undefined) { throw new Error("Invalid payload for StreamItem message."); } }; JsonHubProtocol.prototype.isCompletionMessage = function (message) { if (message.result && message.error) { throw new Error("Invalid payload for Completion message."); } if (!message.result && message.error) { this.assertNotEmptyString(message.error, "Invalid payload for Completion message."); } this.assertNotEmptyString(message.invocationId, "Invalid payload for Completion message."); }; JsonHubProtocol.prototype.assertNotEmptyString = function (value, errorMessage) { if (typeof value !== "string" || value === "") { throw new Error(errorMessage); } }; return JsonHubProtocol;}());/***/ })/******/ ]);});//#sourceMappingURL=signalr.js.map