{"version":3,"sources":["webpack:///./node_modules/@aspnet/signalr/dist/esm/TextMessageFormat.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/HandshakeProtocol.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/NodeHttpClient.js","webpack:///../../../src/components/VBadge/VBadge.ts","webpack:///./node_modules/@aspnet/signalr/dist/esm/ILogger.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/Loggers.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/HttpClient.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/Errors.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/Utils.js","webpack:///./src/components/icons/i4pro-icon-notification.vue?9d58","webpack:///./node_modules/@aspnet/signalr/dist/esm/IHubProtocol.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/XhrHttpClient.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/DefaultHttpClient.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/HubConnection.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/ITransport.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/AbortController.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/LongPollingTransport.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/ServerSentEventsTransport.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/WebSocketTransport.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/HttpConnection.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/JsonHubProtocol.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/HubConnectionBuilder.js","webpack:///./node_modules/@aspnet/signalr/dist/esm/index.js","webpack:///src/components/icons/i4pro-icon-notification.vue","webpack:///./src/components/icons/i4pro-icon-notification.vue?6ce3","webpack:///./src/components/icons/i4pro-icon-notification.vue","webpack:///./src/components/icons/i4pro-icon-notification.vue?04fb"],"names":["TextMessageFormat","write","output","RecordSeparator","parse","input","length","Error","messages","split","pop","RecordSeparatorCode","String","fromCharCode","HandshakeProtocol","prototype","writeHandshakeRequest","handshakeRequest","JSON","stringify","parseHandshakeResponse","data","responseMessage","messageData","remainingData","Buffer","binaryData","Uint8Array","separatorIndex","indexOf","responseLength","apply","slice","byteLength","buffer","textData","substring","response","type","requestModule","__extends","extendStatics","Object","setPrototypeOf","__proto__","Array","d","b","p","hasOwnProperty","__","this","constructor","create","__assign","assign","t","s","i","n","arguments","call","XMLHttpRequest","requireFunc","NodeHttpClient","_super","logger","_this","cookieJar","jar","request","defaults","send","httpRequest","Promise","resolve","reject","requestBody","content","from","currentRequest","url","body","encoding","responseType","headers","method","timeout","error","abortSignal","onabort","code","log","Warning","statusCode","statusMessage","abort","getCookieString","name","props","avatar","bordered","color","default","required","dot","label","icon","inline","offsetX","Number","offsetY","overlap","tile","transition","value","computed","classes","themeClasses","computedBottom","bottom","computedLeft","left","computedRight","computedTop","computedXOffset","calcPosition","computedYOffset","isRtl","$vuetify","offset","styles","right","top","methods","genBadge","lang","$attrs","setBackgroundColor","staticClass","style","attrs","title","role","directives","isActive","badge","$createElement","origin","mode","genBadgeContent","slot","genBadgeWrapper","render","children","h","class","LogLevel","NullLogger","_logLevel","_message","instance","HttpResponse","statusText","HttpClient","get","options","post","delete","HttpError","errorMessage","_newTarget","trueProto","TimeoutError","AbortError","__awaiter","thisArg","_arguments","P","generator","fulfilled","step","next","e","rejected","result","done","then","__generator","f","y","g","_","sent","trys","ops","verb","Symbol","iterator","v","op","TypeError","push","Arg","isRequired","val","undefined","isIn","values","getDataDetail","includeContent","detail","isArrayBuffer","formatArrayBuffer","view","str","forEach","num","pad","toString","substr","ArrayBuffer","sendMessage","transportName","httpClient","accessTokenFactory","logMessageContent","_a","token","_b","Trace","createLogger","ConsoleLogger","Information","Subject","observers","item","_i","observer","err","complete","subscribe","SubjectSubscription","subject","dispose","index","splice","cancelCallback","catch","minimumLogLevel","logLevel","message","Critical","console","Date","toISOString","warn","info","MessageType","_vm","_h","_c","_self","scopedSlots","_u","key","fn","ref","on","_g","notificationsCount","_v","model","callback","$$v","menu","expression","tab","_l","notifications","filter","notification","dateRead","_s","_e","scrollSettings","page","$event","executeNotification","text","calculateDate","date","disableNotification","id","showDialog","proxy","tabIndex","dialogNotification","handleDialog","staticRenderFns","XhrHttpClient","aborted","xhr","open","withCredentials","setRequestHeader","keys","header","onload","status","responseText","onerror","ontimeout","DefaultHttpClient","HubConnectionState","DEFAULT_TIMEOUT_IN_MS","DEFAULT_PING_INTERVAL_IN_MS","HttpTransportType","TransferFormat","HubConnection","connection","protocol","serverTimeoutInMilliseconds","keepAliveIntervalInMilliseconds","handshakeProtocol","onreceive","processIncomingData","onclose","connectionClosed","callbacks","closedCallbacks","receivedHandshakeResponse","connectionState","Disconnected","cachedPingMessage","writeMessage","Ping","defineProperty","enumerable","configurable","start","handshakePromise","version","Debug","handshakeResolver","handshakeRejecter","transferFormat","cleanupTimeout","resetTimeoutPeriod","resetKeepAliveInterval","Connected","stop","cleanupPingTimer","stream","methodName","args","promiseQueue","invocationDescriptor","createStreamInvocation","cancelInvocation","createCancelInvocation","invocationId","cancelMessage","invocationEvent","Completion","createInvocation","invoke","newMethod","toLowerCase","off","handlers","removeIdx","processHandshakeResponse","parseMessages","messages_1","Invocation","invokeClientMethod","StreamItem","Close","pingServerHandle","setTimeout","features","inherentKeepAlive","timeoutHandle","serverTimeout","invocationMessage","target","m","c","clearTimeout","nonblocking","StreamInvocation","CancelInvocation","AbortController","isAborted","LongPollingTransport","pollAbort","running","connect","pollOptions","pollUrl","Binary","signal","getAccessToken","updateHeaderToken","now","closeError","receiving","poll","e_1","pollAborted","raiseOnClose","deleteOptions","logMessage","ServerSentEventsTransport","eventSourceConstructor","encodeURIComponent","opened","Text","eventSource","window","cookies","Cookie","onmessage","close","onopen","WebSocketTransport","webSocketConstructor","webSocket","replace","binaryType","_event","event","ErrorEvent","readyState","OPEN","wasClean","reason","MAX_REDIRECTS","WebSocketModule","EventSourceModule","HttpConnection","baseUrl","resolveUrl","isNode","WebSocket","EventSource","startPromise","startInternal","transport","stopError","negotiateResponse","redirects","_loop_1","this_1","state_1","e_2","skipNegotiation","WebSockets","constructTransport","accessToken_1","getNegotiationResponse","ProtocolVersion","accessToken","createTransport","stopConnection","changeState","negotiateUrl","e_3","resolveNegotiateUrl","createConnectUrl","connectionId","requestedTransport","requestedTransferFormat","connectUrl","transports","transports_1","endpoint","ex_1","isITransport","availableTransports","resolveTransport","ServerSentEvents","LongPolling","transferFormats","map","transportMatches","to","lastIndexOf","document","aTag","createElement","href","actualTransport","JSON_HUB_PROTOCOL_NAME","JsonHubProtocol","hubMessages","parsedMessage","isInvocationMessage","isStreamItemMessage","isCompletionMessage","assertNotEmptyString","HubConnectionBuilder","configureLogging","logging","isLogger","withUrl","transportTypeOrOptions","httpConnectionOptions","withHubProtocol","build","components","VuePerfectScrollbar","I4proDialogNotification","mounted","store","typeClass","dateExpiration","id_connection","showIconNotification","entry","config","userId","items","sort","quantityNotification","handleLoadRoute","notificationDisabled","watch","newValue","makeReadNotification","oldValue","component","VAppBar","VBadge","VBtn","VCard","VCol","VContainer","VDivider","VIcon","VImg","VLayout","VList","VListItem","VListItemContent","VListItemSubtitle","VListItemTitle","VMenu","VRow","VTab","VTabItem","VTabs","VTabsItems","VTabsSlider","VToolbarTitle","VToolbar"],"mappings":"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","file":"js/chunk-98820804.50feb678.js","sourcesContent":["// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n// Not exported from index\r\n/** @private */\r\nvar TextMessageFormat = /** @class */ (function () {\r\n function TextMessageFormat() {\r\n }\r\n TextMessageFormat.write = function (output) {\r\n return \"\" + output + TextMessageFormat.RecordSeparator;\r\n };\r\n TextMessageFormat.parse = function (input) {\r\n if (input[input.length - 1] !== TextMessageFormat.RecordSeparator) {\r\n throw new Error(\"Message is incomplete.\");\r\n }\r\n var messages = input.split(TextMessageFormat.RecordSeparator);\r\n messages.pop();\r\n return messages;\r\n };\r\n TextMessageFormat.RecordSeparatorCode = 0x1e;\r\n TextMessageFormat.RecordSeparator = String.fromCharCode(TextMessageFormat.RecordSeparatorCode);\r\n return TextMessageFormat;\r\n}());\r\nexport { TextMessageFormat };\r\n//# sourceMappingURL=TextMessageFormat.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nimport { TextMessageFormat } from \"./TextMessageFormat\";\r\nimport { isArrayBuffer } from \"./Utils\";\r\n/** @private */\r\nvar HandshakeProtocol = /** @class */ (function () {\r\n function HandshakeProtocol() {\r\n }\r\n // Handshake request is always JSON\r\n HandshakeProtocol.prototype.writeHandshakeRequest = function (handshakeRequest) {\r\n return TextMessageFormat.write(JSON.stringify(handshakeRequest));\r\n };\r\n HandshakeProtocol.prototype.parseHandshakeResponse = function (data) {\r\n var responseMessage;\r\n var messageData;\r\n var remainingData;\r\n if (isArrayBuffer(data) || (typeof Buffer !== \"undefined\" && data instanceof Buffer)) {\r\n // Format is binary but still need to read JSON text from handshake response\r\n var binaryData = new Uint8Array(data);\r\n var separatorIndex = binaryData.indexOf(TextMessageFormat.RecordSeparatorCode);\r\n if (separatorIndex === -1) {\r\n throw new Error(\"Message is incomplete.\");\r\n }\r\n // content before separator is handshake response\r\n // optional content after is additional messages\r\n var responseLength = separatorIndex + 1;\r\n messageData = String.fromCharCode.apply(null, binaryData.slice(0, responseLength));\r\n remainingData = (binaryData.byteLength > responseLength) ? binaryData.slice(responseLength).buffer : null;\r\n }\r\n else {\r\n var textData = data;\r\n var separatorIndex = textData.indexOf(TextMessageFormat.RecordSeparator);\r\n if (separatorIndex === -1) {\r\n throw new Error(\"Message is incomplete.\");\r\n }\r\n // content before separator is handshake response\r\n // optional content after is additional messages\r\n var responseLength = separatorIndex + 1;\r\n messageData = textData.substring(0, responseLength);\r\n remainingData = (textData.length > responseLength) ? textData.substring(responseLength) : null;\r\n }\r\n // At this point we should have just the single handshake message\r\n var messages = TextMessageFormat.parse(messageData);\r\n var response = JSON.parse(messages[0]);\r\n if (response.type) {\r\n throw new Error(\"Expected a handshake response from the server.\");\r\n }\r\n responseMessage = response;\r\n // multiple messages could have arrived with handshake\r\n // return additional data to be parsed as usual, or null if all parsed\r\n return [remainingData, responseMessage];\r\n };\r\n return HandshakeProtocol;\r\n}());\r\nexport { HandshakeProtocol };\r\n//# sourceMappingURL=HandshakeProtocol.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n};\r\nimport { AbortError, HttpError, TimeoutError } from \"./Errors\";\r\nimport { HttpClient, HttpResponse } from \"./HttpClient\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { isArrayBuffer } from \"./Utils\";\r\nvar requestModule;\r\nif (typeof XMLHttpRequest === \"undefined\") {\r\n // In order to ignore the dynamic require in webpack builds we need to do this magic\r\n // @ts-ignore: TS doesn't know about these names\r\n var requireFunc = typeof __webpack_require__ === \"function\" ? __non_webpack_require__ : require;\r\n requestModule = requireFunc(\"request\");\r\n}\r\nvar NodeHttpClient = /** @class */ (function (_super) {\r\n __extends(NodeHttpClient, _super);\r\n function NodeHttpClient(logger) {\r\n var _this = _super.call(this) || this;\r\n if (typeof requestModule === \"undefined\") {\r\n throw new Error(\"The 'request' module could not be loaded.\");\r\n }\r\n _this.logger = logger;\r\n _this.cookieJar = requestModule.jar();\r\n _this.request = requestModule.defaults({ jar: _this.cookieJar });\r\n return _this;\r\n }\r\n NodeHttpClient.prototype.send = function (httpRequest) {\r\n var _this = this;\r\n return new Promise(function (resolve, reject) {\r\n var requestBody;\r\n if (isArrayBuffer(httpRequest.content)) {\r\n requestBody = Buffer.from(httpRequest.content);\r\n }\r\n else {\r\n requestBody = httpRequest.content || \"\";\r\n }\r\n var currentRequest = _this.request(httpRequest.url, {\r\n body: requestBody,\r\n // If binary is expected 'null' should be used, otherwise for text 'utf8'\r\n encoding: httpRequest.responseType === \"arraybuffer\" ? null : \"utf8\",\r\n headers: __assign({ \r\n // Tell auth middleware to 401 instead of redirecting\r\n \"X-Requested-With\": \"XMLHttpRequest\" }, httpRequest.headers),\r\n method: httpRequest.method,\r\n timeout: httpRequest.timeout,\r\n }, function (error, response, body) {\r\n if (httpRequest.abortSignal) {\r\n httpRequest.abortSignal.onabort = null;\r\n }\r\n if (error) {\r\n if (error.code === \"ETIMEDOUT\") {\r\n _this.logger.log(LogLevel.Warning, \"Timeout from HTTP request.\");\r\n reject(new TimeoutError());\r\n }\r\n _this.logger.log(LogLevel.Warning, \"Error from HTTP request. \" + error);\r\n reject(error);\r\n return;\r\n }\r\n if (response.statusCode >= 200 && response.statusCode < 300) {\r\n resolve(new HttpResponse(response.statusCode, response.statusMessage || \"\", body));\r\n }\r\n else {\r\n reject(new HttpError(response.statusMessage || \"\", response.statusCode || 0));\r\n }\r\n });\r\n if (httpRequest.abortSignal) {\r\n httpRequest.abortSignal.onabort = function () {\r\n currentRequest.abort();\r\n reject(new AbortError());\r\n };\r\n }\r\n });\r\n };\r\n NodeHttpClient.prototype.getCookieString = function (url) {\r\n return this.cookieJar.getCookieString(url);\r\n };\r\n return NodeHttpClient;\r\n}(HttpClient));\r\nexport { NodeHttpClient };\r\n//# sourceMappingURL=NodeHttpClient.js.map","// Styles\nimport './VBadge.sass'\n\n// Components\nimport VIcon from '../VIcon/VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from '../../mixins/toggleable'\nimport Transitionable from '../../mixins/transitionable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport {\n convertToUnit,\n getSlot,\n} from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Colorable,\n PositionableFactory(['left', 'bottom']),\n Themeable,\n Toggleable,\n Transitionable,\n/* @vue/component */\n).extend({\n name: 'v-badge',\n\n props: {\n avatar: Boolean,\n bordered: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n content: { required: false },\n dot: Boolean,\n label: {\n type: String,\n default: '$vuetify.badge',\n },\n icon: String,\n inline: Boolean,\n offsetX: [Number, String],\n offsetY: [Number, String],\n overlap: Boolean,\n tile: Boolean,\n transition: {\n type: String,\n default: 'scale-rotate-transition',\n },\n value: { default: true },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-badge--avatar': this.avatar,\n 'v-badge--bordered': this.bordered,\n 'v-badge--bottom': this.bottom,\n 'v-badge--dot': this.dot,\n 'v-badge--icon': this.icon != null,\n 'v-badge--inline': this.inline,\n 'v-badge--left': this.left,\n 'v-badge--overlap': this.overlap,\n 'v-badge--tile': this.tile,\n ...this.themeClasses,\n }\n },\n computedBottom (): string {\n return this.bottom ? 'auto' : this.computedYOffset\n },\n computedLeft (): string {\n if (this.isRtl) {\n return this.left ? this.computedXOffset : 'auto'\n }\n\n return this.left ? 'auto' : this.computedXOffset\n },\n computedRight (): string {\n if (this.isRtl) {\n return this.left ? 'auto' : this.computedXOffset\n }\n\n return !this.left ? 'auto' : this.computedXOffset\n },\n computedTop (): string {\n return this.bottom ? this.computedYOffset : 'auto'\n },\n computedXOffset (): string {\n return this.calcPosition(this.offsetX)\n },\n computedYOffset (): string {\n return this.calcPosition(this.offsetY)\n },\n isRtl (): boolean {\n return this.$vuetify.rtl\n },\n // Default fallback if offsetX\n // or offsetY are undefined.\n offset (): number {\n if (this.overlap) return this.dot ? 8 : 12\n return this.dot ? 2 : 4\n },\n styles (): object {\n if (this.inline) return {}\n\n return {\n bottom: this.computedBottom,\n left: this.computedLeft,\n right: this.computedRight,\n top: this.computedTop,\n }\n },\n },\n\n methods: {\n calcPosition (offset: string | number): string {\n return `calc(100% - ${convertToUnit(offset || this.offset)})`\n },\n genBadge () {\n const lang = this.$vuetify.lang\n const label = this.$attrs['aria-label'] || lang.t(this.label)\n\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-badge__badge',\n style: this.styles,\n attrs: {\n 'aria-atomic': this.$attrs['aria-atomic'] || 'true',\n 'aria-label': label,\n 'aria-live': this.$attrs['aria-live'] || 'polite',\n title: this.$attrs.title,\n role: this.$attrs.role || 'status',\n },\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n })\n\n const badge = this.$createElement('span', data, [this.genBadgeContent()])\n\n if (!this.transition) return badge\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n mode: this.mode,\n },\n }, [badge])\n },\n genBadgeContent () {\n // Dot prop shows no content\n if (this.dot) return undefined\n\n const slot = getSlot(this, 'badge')\n\n if (slot) return slot\n if (this.content) return String(this.content)\n if (this.icon) return this.$createElement(VIcon, this.icon)\n\n return undefined\n },\n genBadgeWrapper () {\n return this.$createElement('span', {\n staticClass: 'v-badge__wrapper',\n }, [this.genBadge()])\n },\n },\n\n render (h): VNode {\n const badge = [this.genBadgeWrapper()]\n const children = [getSlot(this)]\n const {\n 'aria-atomic': _x,\n 'aria-label': _y,\n 'aria-live': _z,\n role,\n title,\n ...attrs\n } = this.$attrs\n\n if (this.inline && this.left) children.unshift(badge)\n else children.push(badge)\n\n return h('span', {\n staticClass: 'v-badge',\n attrs,\n class: this.classes,\n }, children)\n },\n})\n","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n// These values are designed to match the ASP.NET Log Levels since that's the pattern we're emulating here.\r\n/** Indicates the severity of a log message.\r\n *\r\n * Log Levels are ordered in increasing severity. So `Debug` is more severe than `Trace`, etc.\r\n */\r\nexport var LogLevel;\r\n(function (LogLevel) {\r\n /** Log level for very low severity diagnostic messages. */\r\n LogLevel[LogLevel[\"Trace\"] = 0] = \"Trace\";\r\n /** Log level for low severity diagnostic messages. */\r\n LogLevel[LogLevel[\"Debug\"] = 1] = \"Debug\";\r\n /** Log level for informational diagnostic messages. */\r\n LogLevel[LogLevel[\"Information\"] = 2] = \"Information\";\r\n /** Log level for diagnostic messages that indicate a non-fatal problem. */\r\n LogLevel[LogLevel[\"Warning\"] = 3] = \"Warning\";\r\n /** Log level for diagnostic messages that indicate a failure in the current operation. */\r\n LogLevel[LogLevel[\"Error\"] = 4] = \"Error\";\r\n /** Log level for diagnostic messages that indicate a failure that will terminate the entire application. */\r\n LogLevel[LogLevel[\"Critical\"] = 5] = \"Critical\";\r\n /** The highest possible log level. Used when configuring logging to indicate that no log messages should be emitted. */\r\n LogLevel[LogLevel[\"None\"] = 6] = \"None\";\r\n})(LogLevel || (LogLevel = {}));\r\n//# sourceMappingURL=ILogger.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n/** A logger that does nothing when log messages are sent to it. */\r\nvar NullLogger = /** @class */ (function () {\r\n function NullLogger() {\r\n }\r\n /** @inheritDoc */\r\n // tslint:disable-next-line\r\n NullLogger.prototype.log = function (_logLevel, _message) {\r\n };\r\n /** The singleton instance of the {@link @aspnet/signalr.NullLogger}. */\r\n NullLogger.instance = new NullLogger();\r\n return NullLogger;\r\n}());\r\nexport { NullLogger };\r\n//# sourceMappingURL=Loggers.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n};\r\n/** Represents an HTTP response. */\r\nvar HttpResponse = /** @class */ (function () {\r\n function HttpResponse(statusCode, statusText, content) {\r\n this.statusCode = statusCode;\r\n this.statusText = statusText;\r\n this.content = content;\r\n }\r\n return HttpResponse;\r\n}());\r\nexport { HttpResponse };\r\n/** Abstraction over an HTTP client.\r\n *\r\n * This class provides an abstraction over an HTTP client so that a different implementation can be provided on different platforms.\r\n */\r\nvar HttpClient = /** @class */ (function () {\r\n function HttpClient() {\r\n }\r\n HttpClient.prototype.get = function (url, options) {\r\n return this.send(__assign({}, options, { method: \"GET\", url: url }));\r\n };\r\n HttpClient.prototype.post = function (url, options) {\r\n return this.send(__assign({}, options, { method: \"POST\", url: url }));\r\n };\r\n HttpClient.prototype.delete = function (url, options) {\r\n return this.send(__assign({}, options, { method: \"DELETE\", url: url }));\r\n };\r\n /** Gets all cookies that apply to the specified URL.\r\n *\r\n * @param url The URL that the cookies are valid for.\r\n * @returns {string} A string containing all the key-value cookie pairs for the specified URL.\r\n */\r\n // @ts-ignore\r\n HttpClient.prototype.getCookieString = function (url) {\r\n return \"\";\r\n };\r\n return HttpClient;\r\n}());\r\nexport { HttpClient };\r\n//# sourceMappingURL=HttpClient.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\n/** Error thrown when an HTTP request fails. */\r\nvar HttpError = /** @class */ (function (_super) {\r\n __extends(HttpError, _super);\r\n /** Constructs a new instance of {@link @aspnet/signalr.HttpError}.\r\n *\r\n * @param {string} errorMessage A descriptive error message.\r\n * @param {number} statusCode The HTTP status code represented by this error.\r\n */\r\n function HttpError(errorMessage, statusCode) {\r\n var _newTarget = this.constructor;\r\n var _this = this;\r\n var trueProto = _newTarget.prototype;\r\n _this = _super.call(this, errorMessage) || this;\r\n _this.statusCode = statusCode;\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n _this.__proto__ = trueProto;\r\n return _this;\r\n }\r\n return HttpError;\r\n}(Error));\r\nexport { HttpError };\r\n/** Error thrown when a timeout elapses. */\r\nvar TimeoutError = /** @class */ (function (_super) {\r\n __extends(TimeoutError, _super);\r\n /** Constructs a new instance of {@link @aspnet/signalr.TimeoutError}.\r\n *\r\n * @param {string} errorMessage A descriptive error message.\r\n */\r\n function TimeoutError(errorMessage) {\r\n var _newTarget = this.constructor;\r\n if (errorMessage === void 0) { errorMessage = \"A timeout occurred.\"; }\r\n var _this = this;\r\n var trueProto = _newTarget.prototype;\r\n _this = _super.call(this, errorMessage) || this;\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n _this.__proto__ = trueProto;\r\n return _this;\r\n }\r\n return TimeoutError;\r\n}(Error));\r\nexport { TimeoutError };\r\n/** Error thrown when an action is aborted. */\r\nvar AbortError = /** @class */ (function (_super) {\r\n __extends(AbortError, _super);\r\n /** Constructs a new instance of {@link AbortError}.\r\n *\r\n * @param {string} errorMessage A descriptive error message.\r\n */\r\n function AbortError(errorMessage) {\r\n var _newTarget = this.constructor;\r\n if (errorMessage === void 0) { errorMessage = \"An abort occurred.\"; }\r\n var _this = this;\r\n var trueProto = _newTarget.prototype;\r\n _this = _super.call(this, errorMessage) || this;\r\n // Workaround issue in Typescript compiler\r\n // https://github.com/Microsoft/TypeScript/issues/13965#issuecomment-278570200\r\n _this.__proto__ = trueProto;\r\n return _this;\r\n }\r\n return AbortError;\r\n}(Error));\r\nexport { AbortError };\r\n//# sourceMappingURL=Errors.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { NullLogger } from \"./Loggers\";\r\n/** @private */\r\nvar Arg = /** @class */ (function () {\r\n function Arg() {\r\n }\r\n Arg.isRequired = function (val, name) {\r\n if (val === null || val === undefined) {\r\n throw new Error(\"The '\" + name + \"' argument is required.\");\r\n }\r\n };\r\n Arg.isIn = function (val, values, name) {\r\n // TypeScript enums have keys for **both** the name and the value of each enum member on the type itself.\r\n if (!(val in values)) {\r\n throw new Error(\"Unknown \" + name + \" value: \" + val + \".\");\r\n }\r\n };\r\n return Arg;\r\n}());\r\nexport { Arg };\r\n/** @private */\r\nexport function getDataDetail(data, includeContent) {\r\n var detail = \"\";\r\n if (isArrayBuffer(data)) {\r\n detail = \"Binary data of length \" + data.byteLength;\r\n if (includeContent) {\r\n detail += \". Content: '\" + formatArrayBuffer(data) + \"'\";\r\n }\r\n }\r\n else if (typeof data === \"string\") {\r\n detail = \"String data of length \" + data.length;\r\n if (includeContent) {\r\n detail += \". Content: '\" + data + \"'\";\r\n }\r\n }\r\n return detail;\r\n}\r\n/** @private */\r\nexport function formatArrayBuffer(data) {\r\n var view = new Uint8Array(data);\r\n // Uint8Array.map only supports returning another Uint8Array?\r\n var str = \"\";\r\n view.forEach(function (num) {\r\n var pad = num < 16 ? \"0\" : \"\";\r\n str += \"0x\" + pad + num.toString(16) + \" \";\r\n });\r\n // Trim of trailing space.\r\n return str.substr(0, str.length - 1);\r\n}\r\n// Also in signalr-protocol-msgpack/Utils.ts\r\n/** @private */\r\nexport function isArrayBuffer(val) {\r\n return val && typeof ArrayBuffer !== \"undefined\" &&\r\n (val instanceof ArrayBuffer ||\r\n // Sometimes we get an ArrayBuffer that doesn't satisfy instanceof\r\n (val.constructor && val.constructor.name === \"ArrayBuffer\"));\r\n}\r\n/** @private */\r\nexport function sendMessage(logger, transportName, httpClient, url, accessTokenFactory, content, logMessageContent) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _a, headers, token, responseType, response;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n if (!accessTokenFactory) return [3 /*break*/, 2];\r\n return [4 /*yield*/, accessTokenFactory()];\r\n case 1:\r\n token = _b.sent();\r\n if (token) {\r\n headers = (_a = {},\r\n _a[\"Authorization\"] = \"Bearer \" + token,\r\n _a);\r\n }\r\n _b.label = 2;\r\n case 2:\r\n logger.log(LogLevel.Trace, \"(\" + transportName + \" transport) sending data. \" + getDataDetail(content, logMessageContent) + \".\");\r\n responseType = isArrayBuffer(content) ? \"arraybuffer\" : \"text\";\r\n return [4 /*yield*/, httpClient.post(url, {\r\n content: content,\r\n headers: headers,\r\n responseType: responseType,\r\n })];\r\n case 3:\r\n response = _b.sent();\r\n logger.log(LogLevel.Trace, \"(\" + transportName + \" transport) request complete. Response status: \" + response.statusCode + \".\");\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n}\r\n/** @private */\r\nexport function createLogger(logger) {\r\n if (logger === undefined) {\r\n return new ConsoleLogger(LogLevel.Information);\r\n }\r\n if (logger === null) {\r\n return NullLogger.instance;\r\n }\r\n if (logger.log) {\r\n return logger;\r\n }\r\n return new ConsoleLogger(logger);\r\n}\r\n/** @private */\r\nvar Subject = /** @class */ (function () {\r\n function Subject() {\r\n this.observers = [];\r\n }\r\n Subject.prototype.next = function (item) {\r\n for (var _i = 0, _a = this.observers; _i < _a.length; _i++) {\r\n var observer = _a[_i];\r\n observer.next(item);\r\n }\r\n };\r\n Subject.prototype.error = function (err) {\r\n for (var _i = 0, _a = this.observers; _i < _a.length; _i++) {\r\n var observer = _a[_i];\r\n if (observer.error) {\r\n observer.error(err);\r\n }\r\n }\r\n };\r\n Subject.prototype.complete = function () {\r\n for (var _i = 0, _a = this.observers; _i < _a.length; _i++) {\r\n var observer = _a[_i];\r\n if (observer.complete) {\r\n observer.complete();\r\n }\r\n }\r\n };\r\n Subject.prototype.subscribe = function (observer) {\r\n this.observers.push(observer);\r\n return new SubjectSubscription(this, observer);\r\n };\r\n return Subject;\r\n}());\r\nexport { Subject };\r\n/** @private */\r\nvar SubjectSubscription = /** @class */ (function () {\r\n function SubjectSubscription(subject, observer) {\r\n this.subject = subject;\r\n this.observer = observer;\r\n }\r\n SubjectSubscription.prototype.dispose = function () {\r\n var index = this.subject.observers.indexOf(this.observer);\r\n if (index > -1) {\r\n this.subject.observers.splice(index, 1);\r\n }\r\n if (this.subject.observers.length === 0 && this.subject.cancelCallback) {\r\n this.subject.cancelCallback().catch(function (_) { });\r\n }\r\n };\r\n return SubjectSubscription;\r\n}());\r\nexport { SubjectSubscription };\r\n/** @private */\r\nvar ConsoleLogger = /** @class */ (function () {\r\n function ConsoleLogger(minimumLogLevel) {\r\n this.minimumLogLevel = minimumLogLevel;\r\n }\r\n ConsoleLogger.prototype.log = function (logLevel, message) {\r\n if (logLevel >= this.minimumLogLevel) {\r\n switch (logLevel) {\r\n case LogLevel.Critical:\r\n case LogLevel.Error:\r\n console.error(\"[\" + new Date().toISOString() + \"] \" + LogLevel[logLevel] + \": \" + message);\r\n break;\r\n case LogLevel.Warning:\r\n console.warn(\"[\" + new Date().toISOString() + \"] \" + LogLevel[logLevel] + \": \" + message);\r\n break;\r\n case LogLevel.Information:\r\n console.info(\"[\" + new Date().toISOString() + \"] \" + LogLevel[logLevel] + \": \" + message);\r\n break;\r\n default:\r\n // console.debug only goes to attached debuggers in Node, so we use console.log for Trace and Debug\r\n console.log(\"[\" + new Date().toISOString() + \"] \" + LogLevel[logLevel] + \": \" + message);\r\n break;\r\n }\r\n }\r\n };\r\n return ConsoleLogger;\r\n}());\r\nexport { ConsoleLogger };\r\n//# sourceMappingURL=Utils.js.map","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-layout',{staticClass:\"notification\",attrs:{\"id\":\"icon-notification\"}},[_c('v-menu',{attrs:{\"offset-y\":\"\",\"origin\":\"center center\",\"transition\":\"scroll-y-transition\",\"close-on-content-click\":false,\"max-width\":300,\"min-width\":300},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('span',_vm._g({staticClass:\"notification--badge\"},on),[_c('v-badge',{staticClass:\"align-self-center\",attrs:{\"color\":\"error\",\"right\":\"\",\"overlap\":\"\",\"value\":_vm.notificationsCount,\"content\":_vm.notificationsCount}},[_c('v-icon',{attrs:{\"color\":\"white\"}},[_vm._v(\"notifications\")])],1)],1)]}}]),model:{value:(_vm.menu),callback:function ($$v) {_vm.menu=$$v},expression:\"menu\"}},[_c('v-card',[_c('v-app-bar',{staticClass:\"app-bar--tabs\",attrs:{\"color\":'primary',\"dark\":\"\"},scopedSlots:_vm._u([{key:\"img\",fn:function(ref){\nvar props = ref.props;\nreturn [_c('v-img',_vm._b({attrs:{\"src\":'static/mountain.jpg'}},'v-img',props,false),[_c('div',{staticClass:\"notification-bg--toolbar\"})])]}},{key:\"extension\",fn:function(){return [_c('v-tabs',{staticClass:\"v-tabs-icon-notification\",attrs:{\"centered\":\"\",\"grow\":\"\",\"background-color\":\"transparent\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c('v-tabs-slider'),_vm._l((_vm.tabs),function(item,index){return _c('v-tab',{key:index,attrs:{\"href\":(\"#\" + (index + 1))}},[_c('v-badge',{staticClass:\"notification-tab\",attrs:{\"color\":\"red\",\"top\":\"\",\"right\":\"\",\"value\":_vm.notifications[index + 1].filter(function (notification) { return !notification.dateRead; }).length > 0}},[_c('span',[_vm._v(_vm._s(item.name))])])],1)}),_c('v-tabs-items',{model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},_vm._l((_vm.tabs),function(i,index){return _c('v-tab-item',{key:index,attrs:{\"value\":(\"\" + (index + 1))}},[_c('v-card',[(!_vm.notifications[index + 1].length)?_c('v-container',{staticClass:\"notification-0\"},[_c('v-row',{attrs:{\"align-content\":\"center\",\"justify\":\"center\"}},[_c('v-col',{attrs:{\"sm\":\"12\"}},[_c('span',{staticClass:\"notification-0-title\"},[_vm._v(\"Nenhuma nova notificação\")])])],1)],1):_vm._e(),_c('v-list',{attrs:{\"two-line\":\"\"}},[_c('vue-perfect-scrollbar',{class:['drawer-notifications--scroll', _vm.notifications[index + 1].length && 'padding-button'],attrs:{\"settings\":_vm.scrollSettings}},[_vm._l((_vm.notifications[index + 1]),function(item,i){return [_c('v-list-item',{key:i,class:[\n (\"notify notify-color-\" + (item.class)),\n item.page && item.mode ? 'cursor-pointer' : 'cursor-initial',\n item.dateRead && 'notify-read'\n ],attrs:{\"ripple\":\"\"},on:{\"click\":function($event){return _vm.executeNotification(item)}}},[_c('v-list-item-content',[_c('v-list-item-title',{class:[((item.class) + \"--text\"), item.dateRead ? 'font-weight-light' : 'font-weight-bold'],attrs:{\"title\":item.text}},[_vm._v(_vm._s(item.text))]),_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm.calculateDate(item.date)))])],1),_c('v-icon',{staticClass:\"notify-icon-close\",attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.disableNotification(item.id, index + 1)}}},[_vm._v(\"close\")])],1),(i + 1 < _vm.notifications[index + 1].length)?_c('v-divider',{key:(\"divider-\" + i)}):_vm._e()]}),(_vm.notifications[index + 1].length > 0)?_c('div',{staticClass:\"btn-notifications-all\"},[_c('v-btn',{attrs:{\"text\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.showDialog((\"\" + (index + 1)))}}},[_vm._v(\"Ver todas\")])],1):_vm._e()],2)],1)],1)],1)}),1)],2)]},proxy:true}])},[_c('v-toolbar-title',[_vm._v(\"Notificações\")])],1)],1)],1),(_vm.dialogNotification)?_c('I4proDialogNotification',{attrs:{\"tabIndex\":_vm.tabIndex,\"dialog\":_vm.dialogNotification},on:{\"handleDialog\":_vm.handleDialog}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n/** Defines the type of a Hub Message. */\r\nexport var MessageType;\r\n(function (MessageType) {\r\n /** Indicates the message is an Invocation message and implements the {@link @aspnet/signalr.InvocationMessage} interface. */\r\n MessageType[MessageType[\"Invocation\"] = 1] = \"Invocation\";\r\n /** Indicates the message is a StreamItem message and implements the {@link @aspnet/signalr.StreamItemMessage} interface. */\r\n MessageType[MessageType[\"StreamItem\"] = 2] = \"StreamItem\";\r\n /** Indicates the message is a Completion message and implements the {@link @aspnet/signalr.CompletionMessage} interface. */\r\n MessageType[MessageType[\"Completion\"] = 3] = \"Completion\";\r\n /** Indicates the message is a Stream Invocation message and implements the {@link @aspnet/signalr.StreamInvocationMessage} interface. */\r\n MessageType[MessageType[\"StreamInvocation\"] = 4] = \"StreamInvocation\";\r\n /** Indicates the message is a Cancel Invocation message and implements the {@link @aspnet/signalr.CancelInvocationMessage} interface. */\r\n MessageType[MessageType[\"CancelInvocation\"] = 5] = \"CancelInvocation\";\r\n /** Indicates the message is a Ping message and implements the {@link @aspnet/signalr.PingMessage} interface. */\r\n MessageType[MessageType[\"Ping\"] = 6] = \"Ping\";\r\n /** Indicates the message is a Close message and implements the {@link @aspnet/signalr.CloseMessage} interface. */\r\n MessageType[MessageType[\"Close\"] = 7] = \"Close\";\r\n})(MessageType || (MessageType = {}));\r\n//# sourceMappingURL=IHubProtocol.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nimport { AbortError, HttpError, TimeoutError } from \"./Errors\";\r\nimport { HttpClient, HttpResponse } from \"./HttpClient\";\r\nimport { LogLevel } from \"./ILogger\";\r\nvar XhrHttpClient = /** @class */ (function (_super) {\r\n __extends(XhrHttpClient, _super);\r\n function XhrHttpClient(logger) {\r\n var _this = _super.call(this) || this;\r\n _this.logger = logger;\r\n return _this;\r\n }\r\n /** @inheritDoc */\r\n XhrHttpClient.prototype.send = function (request) {\r\n var _this = this;\r\n // Check that abort was not signaled before calling send\r\n if (request.abortSignal && request.abortSignal.aborted) {\r\n return Promise.reject(new AbortError());\r\n }\r\n if (!request.method) {\r\n return Promise.reject(new Error(\"No method defined.\"));\r\n }\r\n if (!request.url) {\r\n return Promise.reject(new Error(\"No url defined.\"));\r\n }\r\n return new Promise(function (resolve, reject) {\r\n var xhr = new XMLHttpRequest();\r\n xhr.open(request.method, request.url, true);\r\n xhr.withCredentials = true;\r\n xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\r\n // Explicitly setting the Content-Type header for React Native on Android platform.\r\n xhr.setRequestHeader(\"Content-Type\", \"text/plain;charset=UTF-8\");\r\n var headers = request.headers;\r\n if (headers) {\r\n Object.keys(headers)\r\n .forEach(function (header) {\r\n xhr.setRequestHeader(header, headers[header]);\r\n });\r\n }\r\n if (request.responseType) {\r\n xhr.responseType = request.responseType;\r\n }\r\n if (request.abortSignal) {\r\n request.abortSignal.onabort = function () {\r\n xhr.abort();\r\n reject(new AbortError());\r\n };\r\n }\r\n if (request.timeout) {\r\n xhr.timeout = request.timeout;\r\n }\r\n xhr.onload = function () {\r\n if (request.abortSignal) {\r\n request.abortSignal.onabort = null;\r\n }\r\n if (xhr.status >= 200 && xhr.status < 300) {\r\n resolve(new HttpResponse(xhr.status, xhr.statusText, xhr.response || xhr.responseText));\r\n }\r\n else {\r\n reject(new HttpError(xhr.statusText, xhr.status));\r\n }\r\n };\r\n xhr.onerror = function () {\r\n _this.logger.log(LogLevel.Warning, \"Error from HTTP request. \" + xhr.status + \": \" + xhr.statusText + \".\");\r\n reject(new HttpError(xhr.statusText, xhr.status));\r\n };\r\n xhr.ontimeout = function () {\r\n _this.logger.log(LogLevel.Warning, \"Timeout from HTTP request.\");\r\n reject(new TimeoutError());\r\n };\r\n xhr.send(request.content || \"\");\r\n });\r\n };\r\n return XhrHttpClient;\r\n}(HttpClient));\r\nexport { XhrHttpClient };\r\n//# sourceMappingURL=XhrHttpClient.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return function (d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nimport { AbortError } from \"./Errors\";\r\nimport { HttpClient } from \"./HttpClient\";\r\nimport { NodeHttpClient } from \"./NodeHttpClient\";\r\nimport { XhrHttpClient } from \"./XhrHttpClient\";\r\n/** Default implementation of {@link @aspnet/signalr.HttpClient}. */\r\nvar DefaultHttpClient = /** @class */ (function (_super) {\r\n __extends(DefaultHttpClient, _super);\r\n /** Creates a new instance of the {@link @aspnet/signalr.DefaultHttpClient}, using the provided {@link @aspnet/signalr.ILogger} to log messages. */\r\n function DefaultHttpClient(logger) {\r\n var _this = _super.call(this) || this;\r\n if (typeof XMLHttpRequest !== \"undefined\") {\r\n _this.httpClient = new XhrHttpClient(logger);\r\n }\r\n else {\r\n _this.httpClient = new NodeHttpClient(logger);\r\n }\r\n return _this;\r\n }\r\n /** @inheritDoc */\r\n DefaultHttpClient.prototype.send = function (request) {\r\n // Check that abort was not signaled before calling send\r\n if (request.abortSignal && request.abortSignal.aborted) {\r\n return Promise.reject(new AbortError());\r\n }\r\n if (!request.method) {\r\n return Promise.reject(new Error(\"No method defined.\"));\r\n }\r\n if (!request.url) {\r\n return Promise.reject(new Error(\"No url defined.\"));\r\n }\r\n return this.httpClient.send(request);\r\n };\r\n DefaultHttpClient.prototype.getCookieString = function (url) {\r\n return this.httpClient.getCookieString(url);\r\n };\r\n return DefaultHttpClient;\r\n}(HttpClient));\r\nexport { DefaultHttpClient };\r\n//# sourceMappingURL=DefaultHttpClient.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nimport { HandshakeProtocol } from \"./HandshakeProtocol\";\r\nimport { MessageType } from \"./IHubProtocol\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { Arg, Subject } from \"./Utils\";\r\nvar DEFAULT_TIMEOUT_IN_MS = 30 * 1000;\r\nvar DEFAULT_PING_INTERVAL_IN_MS = 15 * 1000;\r\n/** Describes the current state of the {@link HubConnection} to the server. */\r\nexport var HubConnectionState;\r\n(function (HubConnectionState) {\r\n /** The hub connection is disconnected. */\r\n HubConnectionState[HubConnectionState[\"Disconnected\"] = 0] = \"Disconnected\";\r\n /** The hub connection is connected. */\r\n HubConnectionState[HubConnectionState[\"Connected\"] = 1] = \"Connected\";\r\n})(HubConnectionState || (HubConnectionState = {}));\r\n/** Represents a connection to a SignalR Hub. */\r\nvar HubConnection = /** @class */ (function () {\r\n function HubConnection(connection, logger, protocol) {\r\n var _this = this;\r\n Arg.isRequired(connection, \"connection\");\r\n Arg.isRequired(logger, \"logger\");\r\n Arg.isRequired(protocol, \"protocol\");\r\n this.serverTimeoutInMilliseconds = DEFAULT_TIMEOUT_IN_MS;\r\n this.keepAliveIntervalInMilliseconds = DEFAULT_PING_INTERVAL_IN_MS;\r\n this.logger = logger;\r\n this.protocol = protocol;\r\n this.connection = connection;\r\n this.handshakeProtocol = new HandshakeProtocol();\r\n this.connection.onreceive = function (data) { return _this.processIncomingData(data); };\r\n this.connection.onclose = function (error) { return _this.connectionClosed(error); };\r\n this.callbacks = {};\r\n this.methods = {};\r\n this.closedCallbacks = [];\r\n this.id = 0;\r\n this.receivedHandshakeResponse = false;\r\n this.connectionState = HubConnectionState.Disconnected;\r\n this.cachedPingMessage = this.protocol.writeMessage({ type: MessageType.Ping });\r\n }\r\n /** @internal */\r\n // Using a public static factory method means we can have a private constructor and an _internal_\r\n // create method that can be used by HubConnectionBuilder. An \"internal\" constructor would just\r\n // be stripped away and the '.d.ts' file would have no constructor, which is interpreted as a\r\n // public parameter-less constructor.\r\n HubConnection.create = function (connection, logger, protocol) {\r\n return new HubConnection(connection, logger, protocol);\r\n };\r\n Object.defineProperty(HubConnection.prototype, \"state\", {\r\n /** Indicates the state of the {@link HubConnection} to the server. */\r\n get: function () {\r\n return this.connectionState;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /** Starts the connection.\r\n *\r\n * @returns {Promise} A Promise that resolves when the connection has been successfully established, or rejects with an error.\r\n */\r\n HubConnection.prototype.start = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var handshakeRequest, handshakePromise;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n handshakeRequest = {\r\n protocol: this.protocol.name,\r\n version: this.protocol.version,\r\n };\r\n this.logger.log(LogLevel.Debug, \"Starting HubConnection.\");\r\n this.receivedHandshakeResponse = false;\r\n handshakePromise = new Promise(function (resolve, reject) {\r\n _this.handshakeResolver = resolve;\r\n _this.handshakeRejecter = reject;\r\n });\r\n return [4 /*yield*/, this.connection.start(this.protocol.transferFormat)];\r\n case 1:\r\n _a.sent();\r\n this.logger.log(LogLevel.Debug, \"Sending handshake request.\");\r\n return [4 /*yield*/, this.sendMessage(this.handshakeProtocol.writeHandshakeRequest(handshakeRequest))];\r\n case 2:\r\n _a.sent();\r\n this.logger.log(LogLevel.Information, \"Using HubProtocol '\" + this.protocol.name + \"'.\");\r\n // defensively cleanup timeout in case we receive a message from the server before we finish start\r\n this.cleanupTimeout();\r\n this.resetTimeoutPeriod();\r\n this.resetKeepAliveInterval();\r\n // Wait for the handshake to complete before marking connection as connected\r\n return [4 /*yield*/, handshakePromise];\r\n case 3:\r\n // Wait for the handshake to complete before marking connection as connected\r\n _a.sent();\r\n this.connectionState = HubConnectionState.Connected;\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n /** Stops the connection.\r\n *\r\n * @returns {Promise} A Promise that resolves when the connection has been successfully terminated, or rejects with an error.\r\n */\r\n HubConnection.prototype.stop = function () {\r\n this.logger.log(LogLevel.Debug, \"Stopping HubConnection.\");\r\n this.cleanupTimeout();\r\n this.cleanupPingTimer();\r\n return this.connection.stop();\r\n };\r\n /** Invokes a streaming hub method on the server using the specified name and arguments.\r\n *\r\n * @typeparam T The type of the items returned by the server.\r\n * @param {string} methodName The name of the server method to invoke.\r\n * @param {any[]} args The arguments used to invoke the server method.\r\n * @returns {IStreamResult} An object that yields results from the server as they are received.\r\n */\r\n HubConnection.prototype.stream = function (methodName) {\r\n var _this = this;\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments[_i];\r\n }\r\n var invocationDescriptor = this.createStreamInvocation(methodName, args);\r\n var promiseQueue;\r\n var subject = new Subject();\r\n subject.cancelCallback = function () {\r\n var cancelInvocation = _this.createCancelInvocation(invocationDescriptor.invocationId);\r\n var cancelMessage = _this.protocol.writeMessage(cancelInvocation);\r\n delete _this.callbacks[invocationDescriptor.invocationId];\r\n return promiseQueue.then(function () {\r\n return _this.sendMessage(cancelMessage);\r\n });\r\n };\r\n this.callbacks[invocationDescriptor.invocationId] = function (invocationEvent, error) {\r\n if (error) {\r\n subject.error(error);\r\n return;\r\n }\r\n else if (invocationEvent) {\r\n // invocationEvent will not be null when an error is not passed to the callback\r\n if (invocationEvent.type === MessageType.Completion) {\r\n if (invocationEvent.error) {\r\n subject.error(new Error(invocationEvent.error));\r\n }\r\n else {\r\n subject.complete();\r\n }\r\n }\r\n else {\r\n subject.next((invocationEvent.item));\r\n }\r\n }\r\n };\r\n var message = this.protocol.writeMessage(invocationDescriptor);\r\n promiseQueue = this.sendMessage(message)\r\n .catch(function (e) {\r\n subject.error(e);\r\n delete _this.callbacks[invocationDescriptor.invocationId];\r\n });\r\n return subject;\r\n };\r\n HubConnection.prototype.sendMessage = function (message) {\r\n this.resetKeepAliveInterval();\r\n return this.connection.send(message);\r\n };\r\n /** Invokes a hub method on the server using the specified name and arguments. Does not wait for a response from the receiver.\r\n *\r\n * The Promise returned by this method resolves when the client has sent the invocation to the server. The server may still\r\n * be processing the invocation.\r\n *\r\n * @param {string} methodName The name of the server method to invoke.\r\n * @param {any[]} args The arguments used to invoke the server method.\r\n * @returns {Promise} A Promise that resolves when the invocation has been successfully sent, or rejects with an error.\r\n */\r\n HubConnection.prototype.send = function (methodName) {\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments[_i];\r\n }\r\n var invocationDescriptor = this.createInvocation(methodName, args, true);\r\n var message = this.protocol.writeMessage(invocationDescriptor);\r\n return this.sendMessage(message);\r\n };\r\n /** Invokes a hub method on the server using the specified name and arguments.\r\n *\r\n * The Promise returned by this method resolves when the server indicates it has finished invoking the method. When the promise\r\n * resolves, the server has finished invoking the method. If the server method returns a result, it is produced as the result of\r\n * resolving the Promise.\r\n *\r\n * @typeparam T The expected return type.\r\n * @param {string} methodName The name of the server method to invoke.\r\n * @param {any[]} args The arguments used to invoke the server method.\r\n * @returns {Promise} A Promise that resolves with the result of the server method (if any), or rejects with an error.\r\n */\r\n HubConnection.prototype.invoke = function (methodName) {\r\n var _this = this;\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments[_i];\r\n }\r\n var invocationDescriptor = this.createInvocation(methodName, args, false);\r\n var p = new Promise(function (resolve, reject) {\r\n // invocationId will always have a value for a non-blocking invocation\r\n _this.callbacks[invocationDescriptor.invocationId] = function (invocationEvent, error) {\r\n if (error) {\r\n reject(error);\r\n return;\r\n }\r\n else if (invocationEvent) {\r\n // invocationEvent will not be null when an error is not passed to the callback\r\n if (invocationEvent.type === MessageType.Completion) {\r\n if (invocationEvent.error) {\r\n reject(new Error(invocationEvent.error));\r\n }\r\n else {\r\n resolve(invocationEvent.result);\r\n }\r\n }\r\n else {\r\n reject(new Error(\"Unexpected message type: \" + invocationEvent.type));\r\n }\r\n }\r\n };\r\n var message = _this.protocol.writeMessage(invocationDescriptor);\r\n _this.sendMessage(message)\r\n .catch(function (e) {\r\n reject(e);\r\n // invocationId will always have a value for a non-blocking invocation\r\n delete _this.callbacks[invocationDescriptor.invocationId];\r\n });\r\n });\r\n return p;\r\n };\r\n /** Registers a handler that will be invoked when the hub method with the specified method name is invoked.\r\n *\r\n * @param {string} methodName The name of the hub method to define.\r\n * @param {Function} newMethod The handler that will be raised when the hub method is invoked.\r\n */\r\n HubConnection.prototype.on = function (methodName, newMethod) {\r\n if (!methodName || !newMethod) {\r\n return;\r\n }\r\n methodName = methodName.toLowerCase();\r\n if (!this.methods[methodName]) {\r\n this.methods[methodName] = [];\r\n }\r\n // Preventing adding the same handler multiple times.\r\n if (this.methods[methodName].indexOf(newMethod) !== -1) {\r\n return;\r\n }\r\n this.methods[methodName].push(newMethod);\r\n };\r\n HubConnection.prototype.off = function (methodName, method) {\r\n if (!methodName) {\r\n return;\r\n }\r\n methodName = methodName.toLowerCase();\r\n var handlers = this.methods[methodName];\r\n if (!handlers) {\r\n return;\r\n }\r\n if (method) {\r\n var removeIdx = handlers.indexOf(method);\r\n if (removeIdx !== -1) {\r\n handlers.splice(removeIdx, 1);\r\n if (handlers.length === 0) {\r\n delete this.methods[methodName];\r\n }\r\n }\r\n }\r\n else {\r\n delete this.methods[methodName];\r\n }\r\n };\r\n /** Registers a handler that will be invoked when the connection is closed.\r\n *\r\n * @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).\r\n */\r\n HubConnection.prototype.onclose = function (callback) {\r\n if (callback) {\r\n this.closedCallbacks.push(callback);\r\n }\r\n };\r\n HubConnection.prototype.processIncomingData = function (data) {\r\n this.cleanupTimeout();\r\n if (!this.receivedHandshakeResponse) {\r\n data = this.processHandshakeResponse(data);\r\n this.receivedHandshakeResponse = true;\r\n }\r\n // Data may have all been read when processing handshake response\r\n if (data) {\r\n // Parse the messages\r\n var messages = this.protocol.parseMessages(data, this.logger);\r\n for (var _i = 0, messages_1 = messages; _i < messages_1.length; _i++) {\r\n var message = messages_1[_i];\r\n switch (message.type) {\r\n case MessageType.Invocation:\r\n this.invokeClientMethod(message);\r\n break;\r\n case MessageType.StreamItem:\r\n case MessageType.Completion:\r\n var callback = this.callbacks[message.invocationId];\r\n if (callback != null) {\r\n if (message.type === MessageType.Completion) {\r\n delete this.callbacks[message.invocationId];\r\n }\r\n callback(message);\r\n }\r\n break;\r\n case MessageType.Ping:\r\n // Don't care about pings\r\n break;\r\n case MessageType.Close:\r\n this.logger.log(LogLevel.Information, \"Close message received from server.\");\r\n // We don't want to wait on the stop itself.\r\n // tslint:disable-next-line:no-floating-promises\r\n this.connection.stop(message.error ? new Error(\"Server returned an error on close: \" + message.error) : undefined);\r\n break;\r\n default:\r\n this.logger.log(LogLevel.Warning, \"Invalid message type: \" + message.type + \".\");\r\n break;\r\n }\r\n }\r\n }\r\n this.resetTimeoutPeriod();\r\n };\r\n HubConnection.prototype.processHandshakeResponse = function (data) {\r\n var _a;\r\n var responseMessage;\r\n var remainingData;\r\n try {\r\n _a = this.handshakeProtocol.parseHandshakeResponse(data), remainingData = _a[0], responseMessage = _a[1];\r\n }\r\n catch (e) {\r\n var message = \"Error parsing handshake response: \" + e;\r\n this.logger.log(LogLevel.Error, message);\r\n var error = new Error(message);\r\n // We don't want to wait on the stop itself.\r\n // tslint:disable-next-line:no-floating-promises\r\n this.connection.stop(error);\r\n this.handshakeRejecter(error);\r\n throw error;\r\n }\r\n if (responseMessage.error) {\r\n var message = \"Server returned handshake error: \" + responseMessage.error;\r\n this.logger.log(LogLevel.Error, message);\r\n this.handshakeRejecter(message);\r\n // We don't want to wait on the stop itself.\r\n // tslint:disable-next-line:no-floating-promises\r\n this.connection.stop(new Error(message));\r\n throw new Error(message);\r\n }\r\n else {\r\n this.logger.log(LogLevel.Debug, \"Server handshake complete.\");\r\n }\r\n this.handshakeResolver();\r\n return remainingData;\r\n };\r\n HubConnection.prototype.resetKeepAliveInterval = function () {\r\n var _this = this;\r\n this.cleanupPingTimer();\r\n this.pingServerHandle = setTimeout(function () { return __awaiter(_this, void 0, void 0, function () {\r\n var _a;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n if (!(this.connectionState === HubConnectionState.Connected)) return [3 /*break*/, 4];\r\n _b.label = 1;\r\n case 1:\r\n _b.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this.sendMessage(this.cachedPingMessage)];\r\n case 2:\r\n _b.sent();\r\n return [3 /*break*/, 4];\r\n case 3:\r\n _a = _b.sent();\r\n // We don't care about the error. It should be seen elsewhere in the client.\r\n // The connection is probably in a bad or closed state now, cleanup the timer so it stops triggering\r\n this.cleanupPingTimer();\r\n return [3 /*break*/, 4];\r\n case 4: return [2 /*return*/];\r\n }\r\n });\r\n }); }, this.keepAliveIntervalInMilliseconds);\r\n };\r\n HubConnection.prototype.resetTimeoutPeriod = function () {\r\n var _this = this;\r\n if (!this.connection.features || !this.connection.features.inherentKeepAlive) {\r\n // Set the timeout timer\r\n this.timeoutHandle = setTimeout(function () { return _this.serverTimeout(); }, this.serverTimeoutInMilliseconds);\r\n }\r\n };\r\n HubConnection.prototype.serverTimeout = function () {\r\n // The server hasn't talked to us in a while. It doesn't like us anymore ... :(\r\n // Terminate the connection, but we don't need to wait on the promise.\r\n // tslint:disable-next-line:no-floating-promises\r\n this.connection.stop(new Error(\"Server timeout elapsed without receiving a message from the server.\"));\r\n };\r\n HubConnection.prototype.invokeClientMethod = function (invocationMessage) {\r\n var _this = this;\r\n var methods = this.methods[invocationMessage.target.toLowerCase()];\r\n if (methods) {\r\n methods.forEach(function (m) { return m.apply(_this, invocationMessage.arguments); });\r\n if (invocationMessage.invocationId) {\r\n // This is not supported in v1. So we return an error to avoid blocking the server waiting for the response.\r\n var message = \"Server requested a response, which is not supported in this version of the client.\";\r\n this.logger.log(LogLevel.Error, message);\r\n // We don't need to wait on this Promise.\r\n // tslint:disable-next-line:no-floating-promises\r\n this.connection.stop(new Error(message));\r\n }\r\n }\r\n else {\r\n this.logger.log(LogLevel.Warning, \"No client method with the name '\" + invocationMessage.target + \"' found.\");\r\n }\r\n };\r\n HubConnection.prototype.connectionClosed = function (error) {\r\n var _this = this;\r\n var callbacks = this.callbacks;\r\n this.callbacks = {};\r\n this.connectionState = HubConnectionState.Disconnected;\r\n // if handshake is in progress start will be waiting for the handshake promise, so we complete it\r\n // if it has already completed this should just noop\r\n if (this.handshakeRejecter) {\r\n this.handshakeRejecter(error);\r\n }\r\n Object.keys(callbacks)\r\n .forEach(function (key) {\r\n var callback = callbacks[key];\r\n callback(null, error ? error : new Error(\"Invocation canceled due to connection being closed.\"));\r\n });\r\n this.cleanupTimeout();\r\n this.cleanupPingTimer();\r\n this.closedCallbacks.forEach(function (c) { return c.apply(_this, [error]); });\r\n };\r\n HubConnection.prototype.cleanupPingTimer = function () {\r\n if (this.pingServerHandle) {\r\n clearTimeout(this.pingServerHandle);\r\n }\r\n };\r\n HubConnection.prototype.cleanupTimeout = function () {\r\n if (this.timeoutHandle) {\r\n clearTimeout(this.timeoutHandle);\r\n }\r\n };\r\n HubConnection.prototype.createInvocation = function (methodName, args, nonblocking) {\r\n if (nonblocking) {\r\n return {\r\n arguments: args,\r\n target: methodName,\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n else {\r\n var id = this.id;\r\n this.id++;\r\n return {\r\n arguments: args,\r\n invocationId: id.toString(),\r\n target: methodName,\r\n type: MessageType.Invocation,\r\n };\r\n }\r\n };\r\n HubConnection.prototype.createStreamInvocation = function (methodName, args) {\r\n var id = this.id;\r\n this.id++;\r\n return {\r\n arguments: args,\r\n invocationId: id.toString(),\r\n target: methodName,\r\n type: MessageType.StreamInvocation,\r\n };\r\n };\r\n HubConnection.prototype.createCancelInvocation = function (id) {\r\n return {\r\n invocationId: id,\r\n type: MessageType.CancelInvocation,\r\n };\r\n };\r\n return HubConnection;\r\n}());\r\nexport { HubConnection };\r\n//# sourceMappingURL=HubConnection.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n// This will be treated as a bit flag in the future, so we keep it using power-of-two values.\r\n/** Specifies a specific HTTP transport type. */\r\nexport var HttpTransportType;\r\n(function (HttpTransportType) {\r\n /** Specifies no transport preference. */\r\n HttpTransportType[HttpTransportType[\"None\"] = 0] = \"None\";\r\n /** Specifies the WebSockets transport. */\r\n HttpTransportType[HttpTransportType[\"WebSockets\"] = 1] = \"WebSockets\";\r\n /** Specifies the Server-Sent Events transport. */\r\n HttpTransportType[HttpTransportType[\"ServerSentEvents\"] = 2] = \"ServerSentEvents\";\r\n /** Specifies the Long Polling transport. */\r\n HttpTransportType[HttpTransportType[\"LongPolling\"] = 4] = \"LongPolling\";\r\n})(HttpTransportType || (HttpTransportType = {}));\r\n/** Specifies the transfer format for a connection. */\r\nexport var TransferFormat;\r\n(function (TransferFormat) {\r\n /** Specifies that only text data will be transmitted over the connection. */\r\n TransferFormat[TransferFormat[\"Text\"] = 1] = \"Text\";\r\n /** Specifies that binary data will be transmitted over the connection. */\r\n TransferFormat[TransferFormat[\"Binary\"] = 2] = \"Binary\";\r\n})(TransferFormat || (TransferFormat = {}));\r\n//# sourceMappingURL=ITransport.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n// Rough polyfill of https://developer.mozilla.org/en-US/docs/Web/API/AbortController\r\n// We don't actually ever use the API being polyfilled, we always use the polyfill because\r\n// it's a very new API right now.\r\n// Not exported from index.\r\n/** @private */\r\nvar AbortController = /** @class */ (function () {\r\n function AbortController() {\r\n this.isAborted = false;\r\n this.onabort = null;\r\n }\r\n AbortController.prototype.abort = function () {\r\n if (!this.isAborted) {\r\n this.isAborted = true;\r\n if (this.onabort) {\r\n this.onabort();\r\n }\r\n }\r\n };\r\n Object.defineProperty(AbortController.prototype, \"signal\", {\r\n get: function () {\r\n return this;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n Object.defineProperty(AbortController.prototype, \"aborted\", {\r\n get: function () {\r\n return this.isAborted;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n return AbortController;\r\n}());\r\nexport { AbortController };\r\n//# sourceMappingURL=AbortController.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nimport { AbortController } from \"./AbortController\";\r\nimport { HttpError, TimeoutError } from \"./Errors\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { Arg, getDataDetail, sendMessage } from \"./Utils\";\r\n// Not exported from 'index', this type is internal.\r\n/** @private */\r\nvar LongPollingTransport = /** @class */ (function () {\r\n function LongPollingTransport(httpClient, accessTokenFactory, logger, logMessageContent) {\r\n this.httpClient = httpClient;\r\n this.accessTokenFactory = accessTokenFactory;\r\n this.logger = logger;\r\n this.pollAbort = new AbortController();\r\n this.logMessageContent = logMessageContent;\r\n this.running = false;\r\n this.onreceive = null;\r\n this.onclose = null;\r\n }\r\n Object.defineProperty(LongPollingTransport.prototype, \"pollAborted\", {\r\n // This is an internal type, not exported from 'index' so this is really just internal.\r\n get: function () {\r\n return this.pollAbort.aborted;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n LongPollingTransport.prototype.connect = function (url, transferFormat) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var pollOptions, token, pollUrl, response;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n Arg.isRequired(url, \"url\");\r\n Arg.isRequired(transferFormat, \"transferFormat\");\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n this.url = url;\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) Connecting.\");\r\n // Allow binary format on Node and Browsers that support binary content (indicated by the presence of responseType property)\r\n if (transferFormat === TransferFormat.Binary &&\r\n (typeof XMLHttpRequest !== \"undefined\" && typeof new XMLHttpRequest().responseType !== \"string\")) {\r\n throw new Error(\"Binary protocols over XmlHttpRequest not implementing advanced features are not supported.\");\r\n }\r\n pollOptions = {\r\n abortSignal: this.pollAbort.signal,\r\n headers: {},\r\n timeout: 100000,\r\n };\r\n if (transferFormat === TransferFormat.Binary) {\r\n pollOptions.responseType = \"arraybuffer\";\r\n }\r\n return [4 /*yield*/, this.getAccessToken()];\r\n case 1:\r\n token = _a.sent();\r\n this.updateHeaderToken(pollOptions, token);\r\n pollUrl = url + \"&_=\" + Date.now();\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) polling: \" + pollUrl + \".\");\r\n return [4 /*yield*/, this.httpClient.get(pollUrl, pollOptions)];\r\n case 2:\r\n response = _a.sent();\r\n if (response.statusCode !== 200) {\r\n this.logger.log(LogLevel.Error, \"(LongPolling transport) Unexpected response code: \" + response.statusCode + \".\");\r\n // Mark running as false so that the poll immediately ends and runs the close logic\r\n this.closeError = new HttpError(response.statusText || \"\", response.statusCode);\r\n this.running = false;\r\n }\r\n else {\r\n this.running = true;\r\n }\r\n this.receiving = this.poll(this.url, pollOptions);\r\n return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n LongPollingTransport.prototype.getAccessToken = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!this.accessTokenFactory) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.accessTokenFactory()];\r\n case 1: return [2 /*return*/, _a.sent()];\r\n case 2: return [2 /*return*/, null];\r\n }\r\n });\r\n });\r\n };\r\n LongPollingTransport.prototype.updateHeaderToken = function (request, token) {\r\n if (!request.headers) {\r\n request.headers = {};\r\n }\r\n if (token) {\r\n // tslint:disable-next-line:no-string-literal\r\n request.headers[\"Authorization\"] = \"Bearer \" + token;\r\n return;\r\n }\r\n // tslint:disable-next-line:no-string-literal\r\n if (request.headers[\"Authorization\"]) {\r\n // tslint:disable-next-line:no-string-literal\r\n delete request.headers[\"Authorization\"];\r\n }\r\n };\r\n LongPollingTransport.prototype.poll = function (url, pollOptions) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var token, pollUrl, response, e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n _a.trys.push([0, , 8, 9]);\r\n _a.label = 1;\r\n case 1:\r\n if (!this.running) return [3 /*break*/, 7];\r\n return [4 /*yield*/, this.getAccessToken()];\r\n case 2:\r\n token = _a.sent();\r\n this.updateHeaderToken(pollOptions, token);\r\n _a.label = 3;\r\n case 3:\r\n _a.trys.push([3, 5, , 6]);\r\n pollUrl = url + \"&_=\" + Date.now();\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) polling: \" + pollUrl + \".\");\r\n return [4 /*yield*/, this.httpClient.get(pollUrl, pollOptions)];\r\n case 4:\r\n response = _a.sent();\r\n if (response.statusCode === 204) {\r\n this.logger.log(LogLevel.Information, \"(LongPolling transport) Poll terminated by server.\");\r\n this.running = false;\r\n }\r\n else if (response.statusCode !== 200) {\r\n this.logger.log(LogLevel.Error, \"(LongPolling transport) Unexpected response code: \" + response.statusCode + \".\");\r\n // Unexpected status code\r\n this.closeError = new HttpError(response.statusText || \"\", response.statusCode);\r\n this.running = false;\r\n }\r\n else {\r\n // Process the response\r\n if (response.content) {\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) data received. \" + getDataDetail(response.content, this.logMessageContent) + \".\");\r\n if (this.onreceive) {\r\n this.onreceive(response.content);\r\n }\r\n }\r\n else {\r\n // This is another way timeout manifest.\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) Poll timed out, reissuing.\");\r\n }\r\n }\r\n return [3 /*break*/, 6];\r\n case 5:\r\n e_1 = _a.sent();\r\n if (!this.running) {\r\n // Log but disregard errors that occur after stopping\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) Poll errored after shutdown: \" + e_1.message);\r\n }\r\n else {\r\n if (e_1 instanceof TimeoutError) {\r\n // Ignore timeouts and reissue the poll.\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) Poll timed out, reissuing.\");\r\n }\r\n else {\r\n // Close the connection with the error as the result.\r\n this.closeError = e_1;\r\n this.running = false;\r\n }\r\n }\r\n return [3 /*break*/, 6];\r\n case 6: return [3 /*break*/, 1];\r\n case 7: return [3 /*break*/, 9];\r\n case 8:\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) Polling complete.\");\r\n // We will reach here with pollAborted==false when the server returned a response causing the transport to stop.\r\n // If pollAborted==true then client initiated the stop and the stop method will raise the close event after DELETE is sent.\r\n if (!this.pollAborted) {\r\n this.raiseOnClose();\r\n }\r\n return [7 /*endfinally*/];\r\n case 9: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n LongPollingTransport.prototype.send = function (data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n if (!this.running) {\r\n return [2 /*return*/, Promise.reject(new Error(\"Cannot send until the transport is connected\"))];\r\n }\r\n return [2 /*return*/, sendMessage(this.logger, \"LongPolling\", this.httpClient, this.url, this.accessTokenFactory, data, this.logMessageContent)];\r\n });\r\n });\r\n };\r\n LongPollingTransport.prototype.stop = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var deleteOptions, token;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) Stopping polling.\");\r\n // Tell receiving loop to stop, abort any current request, and then wait for it to finish\r\n this.running = false;\r\n this.pollAbort.abort();\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, , 5, 6]);\r\n return [4 /*yield*/, this.receiving];\r\n case 2:\r\n _a.sent();\r\n // Send DELETE to clean up long polling on the server\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) sending DELETE request to \" + this.url + \".\");\r\n deleteOptions = {\r\n headers: {},\r\n };\r\n return [4 /*yield*/, this.getAccessToken()];\r\n case 3:\r\n token = _a.sent();\r\n this.updateHeaderToken(deleteOptions, token);\r\n return [4 /*yield*/, this.httpClient.delete(this.url, deleteOptions)];\r\n case 4:\r\n _a.sent();\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) DELETE request sent.\");\r\n return [3 /*break*/, 6];\r\n case 5:\r\n this.logger.log(LogLevel.Trace, \"(LongPolling transport) Stop finished.\");\r\n // Raise close event here instead of in polling\r\n // It needs to happen after the DELETE request is sent\r\n this.raiseOnClose();\r\n return [7 /*endfinally*/];\r\n case 6: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n LongPollingTransport.prototype.raiseOnClose = function () {\r\n if (this.onclose) {\r\n var logMessage = \"(LongPolling transport) Firing onclose event.\";\r\n if (this.closeError) {\r\n logMessage += \" Error: \" + this.closeError;\r\n }\r\n this.logger.log(LogLevel.Trace, logMessage);\r\n this.onclose(this.closeError);\r\n }\r\n };\r\n return LongPollingTransport;\r\n}());\r\nexport { LongPollingTransport };\r\n//# sourceMappingURL=LongPollingTransport.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { Arg, getDataDetail, sendMessage } from \"./Utils\";\r\n/** @private */\r\nvar ServerSentEventsTransport = /** @class */ (function () {\r\n function ServerSentEventsTransport(httpClient, accessTokenFactory, logger, logMessageContent, eventSourceConstructor) {\r\n this.httpClient = httpClient;\r\n this.accessTokenFactory = accessTokenFactory;\r\n this.logger = logger;\r\n this.logMessageContent = logMessageContent;\r\n this.eventSourceConstructor = eventSourceConstructor;\r\n this.onreceive = null;\r\n this.onclose = null;\r\n }\r\n ServerSentEventsTransport.prototype.connect = function (url, transferFormat) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var token;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n Arg.isRequired(url, \"url\");\r\n Arg.isRequired(transferFormat, \"transferFormat\");\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n this.logger.log(LogLevel.Trace, \"(SSE transport) Connecting.\");\r\n // set url before accessTokenFactory because this.url is only for send and we set the auth header instead of the query string for send\r\n this.url = url;\r\n if (!this.accessTokenFactory) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.accessTokenFactory()];\r\n case 1:\r\n token = _a.sent();\r\n if (token) {\r\n url += (url.indexOf(\"?\") < 0 ? \"?\" : \"&\") + (\"access_token=\" + encodeURIComponent(token));\r\n }\r\n _a.label = 2;\r\n case 2: return [2 /*return*/, new Promise(function (resolve, reject) {\r\n var opened = false;\r\n if (transferFormat !== TransferFormat.Text) {\r\n reject(new Error(\"The Server-Sent Events transport only supports the 'Text' transfer format\"));\r\n return;\r\n }\r\n var eventSource;\r\n if (typeof window !== \"undefined\") {\r\n eventSource = new _this.eventSourceConstructor(url, { withCredentials: true });\r\n }\r\n else {\r\n // Non-browser passes cookies via the dictionary\r\n var cookies = _this.httpClient.getCookieString(url);\r\n eventSource = new _this.eventSourceConstructor(url, { withCredentials: true, headers: { Cookie: cookies } });\r\n }\r\n try {\r\n eventSource.onmessage = function (e) {\r\n if (_this.onreceive) {\r\n try {\r\n _this.logger.log(LogLevel.Trace, \"(SSE transport) data received. \" + getDataDetail(e.data, _this.logMessageContent) + \".\");\r\n _this.onreceive(e.data);\r\n }\r\n catch (error) {\r\n _this.close(error);\r\n return;\r\n }\r\n }\r\n };\r\n eventSource.onerror = function (e) {\r\n var error = new Error(e.data || \"Error occurred\");\r\n if (opened) {\r\n _this.close(error);\r\n }\r\n else {\r\n reject(error);\r\n }\r\n };\r\n eventSource.onopen = function () {\r\n _this.logger.log(LogLevel.Information, \"SSE connected to \" + _this.url);\r\n _this.eventSource = eventSource;\r\n opened = true;\r\n resolve();\r\n };\r\n }\r\n catch (e) {\r\n reject(e);\r\n return;\r\n }\r\n })];\r\n }\r\n });\r\n });\r\n };\r\n ServerSentEventsTransport.prototype.send = function (data) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n if (!this.eventSource) {\r\n return [2 /*return*/, Promise.reject(new Error(\"Cannot send until the transport is connected\"))];\r\n }\r\n return [2 /*return*/, sendMessage(this.logger, \"SSE\", this.httpClient, this.url, this.accessTokenFactory, data, this.logMessageContent)];\r\n });\r\n });\r\n };\r\n ServerSentEventsTransport.prototype.stop = function () {\r\n this.close();\r\n return Promise.resolve();\r\n };\r\n ServerSentEventsTransport.prototype.close = function (e) {\r\n if (this.eventSource) {\r\n this.eventSource.close();\r\n this.eventSource = undefined;\r\n if (this.onclose) {\r\n this.onclose(e);\r\n }\r\n }\r\n };\r\n return ServerSentEventsTransport;\r\n}());\r\nexport { ServerSentEventsTransport };\r\n//# sourceMappingURL=ServerSentEventsTransport.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { Arg, getDataDetail } from \"./Utils\";\r\n/** @private */\r\nvar WebSocketTransport = /** @class */ (function () {\r\n function WebSocketTransport(httpClient, accessTokenFactory, logger, logMessageContent, webSocketConstructor) {\r\n this.logger = logger;\r\n this.accessTokenFactory = accessTokenFactory;\r\n this.logMessageContent = logMessageContent;\r\n this.webSocketConstructor = webSocketConstructor;\r\n this.httpClient = httpClient;\r\n this.onreceive = null;\r\n this.onclose = null;\r\n }\r\n WebSocketTransport.prototype.connect = function (url, transferFormat) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var token;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n Arg.isRequired(url, \"url\");\r\n Arg.isRequired(transferFormat, \"transferFormat\");\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n this.logger.log(LogLevel.Trace, \"(WebSockets transport) Connecting.\");\r\n if (!this.accessTokenFactory) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.accessTokenFactory()];\r\n case 1:\r\n token = _a.sent();\r\n if (token) {\r\n url += (url.indexOf(\"?\") < 0 ? \"?\" : \"&\") + (\"access_token=\" + encodeURIComponent(token));\r\n }\r\n _a.label = 2;\r\n case 2: return [2 /*return*/, new Promise(function (resolve, reject) {\r\n url = url.replace(/^http/, \"ws\");\r\n var webSocket;\r\n var cookies = _this.httpClient.getCookieString(url);\r\n if (typeof window === \"undefined\" && cookies) {\r\n // Only pass cookies when in non-browser environments\r\n webSocket = new _this.webSocketConstructor(url, undefined, {\r\n headers: {\r\n Cookie: \"\" + cookies,\r\n },\r\n });\r\n }\r\n if (!webSocket) {\r\n // Chrome is not happy with passing 'undefined' as protocol\r\n webSocket = new _this.webSocketConstructor(url);\r\n }\r\n if (transferFormat === TransferFormat.Binary) {\r\n webSocket.binaryType = \"arraybuffer\";\r\n }\r\n // tslint:disable-next-line:variable-name\r\n webSocket.onopen = function (_event) {\r\n _this.logger.log(LogLevel.Information, \"WebSocket connected to \" + url + \".\");\r\n _this.webSocket = webSocket;\r\n resolve();\r\n };\r\n webSocket.onerror = function (event) {\r\n var error = null;\r\n // ErrorEvent is a browser only type we need to check if the type exists before using it\r\n if (typeof ErrorEvent !== \"undefined\" && event instanceof ErrorEvent) {\r\n error = event.error;\r\n }\r\n reject(error);\r\n };\r\n webSocket.onmessage = function (message) {\r\n _this.logger.log(LogLevel.Trace, \"(WebSockets transport) data received. \" + getDataDetail(message.data, _this.logMessageContent) + \".\");\r\n if (_this.onreceive) {\r\n _this.onreceive(message.data);\r\n }\r\n };\r\n webSocket.onclose = function (event) { return _this.close(event); };\r\n })];\r\n }\r\n });\r\n });\r\n };\r\n WebSocketTransport.prototype.send = function (data) {\r\n if (this.webSocket && this.webSocket.readyState === this.webSocketConstructor.OPEN) {\r\n this.logger.log(LogLevel.Trace, \"(WebSockets transport) sending data. \" + getDataDetail(data, this.logMessageContent) + \".\");\r\n this.webSocket.send(data);\r\n return Promise.resolve();\r\n }\r\n return Promise.reject(\"WebSocket is not in the OPEN state\");\r\n };\r\n WebSocketTransport.prototype.stop = function () {\r\n if (this.webSocket) {\r\n // Clear websocket handlers because we are considering the socket closed now\r\n this.webSocket.onclose = function () { };\r\n this.webSocket.onmessage = function () { };\r\n this.webSocket.onerror = function () { };\r\n this.webSocket.close();\r\n this.webSocket = undefined;\r\n // Manually invoke onclose callback inline so we know the HttpConnection was closed properly before returning\r\n // This also solves an issue where websocket.onclose could take 18+ seconds to trigger during network disconnects\r\n this.close(undefined);\r\n }\r\n return Promise.resolve();\r\n };\r\n WebSocketTransport.prototype.close = function (event) {\r\n // webSocket will be null if the transport did not start successfully\r\n this.logger.log(LogLevel.Trace, \"(WebSockets transport) socket closed.\");\r\n if (this.onclose) {\r\n if (event && (event.wasClean === false || event.code !== 1000)) {\r\n this.onclose(new Error(\"WebSocket closed with status code: \" + event.code + \" (\" + event.reason + \").\"));\r\n }\r\n else {\r\n this.onclose();\r\n }\r\n }\r\n };\r\n return WebSocketTransport;\r\n}());\r\nexport { WebSocketTransport };\r\n//# sourceMappingURL=WebSocketTransport.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nimport { DefaultHttpClient } from \"./DefaultHttpClient\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { HttpTransportType, TransferFormat } from \"./ITransport\";\r\nimport { LongPollingTransport } from \"./LongPollingTransport\";\r\nimport { ServerSentEventsTransport } from \"./ServerSentEventsTransport\";\r\nimport { Arg, createLogger } from \"./Utils\";\r\nimport { WebSocketTransport } from \"./WebSocketTransport\";\r\nvar MAX_REDIRECTS = 100;\r\nvar WebSocketModule = null;\r\nvar EventSourceModule = null;\r\nif (typeof window === \"undefined\" && typeof require !== \"undefined\") {\r\n // In order to ignore the dynamic require in webpack builds we need to do this magic\r\n // @ts-ignore: TS doesn't know about these names\r\n var requireFunc = typeof __webpack_require__ === \"function\" ? __non_webpack_require__ : require;\r\n WebSocketModule = requireFunc(\"ws\");\r\n EventSourceModule = requireFunc(\"eventsource\");\r\n}\r\n/** @private */\r\nvar HttpConnection = /** @class */ (function () {\r\n function HttpConnection(url, options) {\r\n if (options === void 0) { options = {}; }\r\n this.features = {};\r\n Arg.isRequired(url, \"url\");\r\n this.logger = createLogger(options.logger);\r\n this.baseUrl = this.resolveUrl(url);\r\n options = options || {};\r\n options.logMessageContent = options.logMessageContent || false;\r\n var isNode = typeof window === \"undefined\";\r\n if (!isNode && typeof WebSocket !== \"undefined\" && !options.WebSocket) {\r\n options.WebSocket = WebSocket;\r\n }\r\n else if (isNode && !options.WebSocket) {\r\n if (WebSocketModule) {\r\n options.WebSocket = WebSocketModule;\r\n }\r\n }\r\n if (!isNode && typeof EventSource !== \"undefined\" && !options.EventSource) {\r\n options.EventSource = EventSource;\r\n }\r\n else if (isNode && !options.EventSource) {\r\n if (typeof EventSourceModule !== \"undefined\") {\r\n options.EventSource = EventSourceModule;\r\n }\r\n }\r\n this.httpClient = options.httpClient || new DefaultHttpClient(this.logger);\r\n this.connectionState = 2 /* Disconnected */;\r\n this.options = options;\r\n this.onreceive = null;\r\n this.onclose = null;\r\n }\r\n HttpConnection.prototype.start = function (transferFormat) {\r\n transferFormat = transferFormat || TransferFormat.Binary;\r\n Arg.isIn(transferFormat, TransferFormat, \"transferFormat\");\r\n this.logger.log(LogLevel.Debug, \"Starting connection with transfer format '\" + TransferFormat[transferFormat] + \"'.\");\r\n if (this.connectionState !== 2 /* Disconnected */) {\r\n return Promise.reject(new Error(\"Cannot start a connection that is not in the 'Disconnected' state.\"));\r\n }\r\n this.connectionState = 0 /* Connecting */;\r\n this.startPromise = this.startInternal(transferFormat);\r\n return this.startPromise;\r\n };\r\n HttpConnection.prototype.send = function (data) {\r\n if (this.connectionState !== 1 /* Connected */) {\r\n throw new Error(\"Cannot send data if the connection is not in the 'Connected' State.\");\r\n }\r\n // Transport will not be null if state is connected\r\n return this.transport.send(data);\r\n };\r\n HttpConnection.prototype.stop = function (error) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var e_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n this.connectionState = 2 /* Disconnected */;\r\n // Set error as soon as possible otherwise there is a race between\r\n // the transport closing and providing an error and the error from a close message\r\n // We would prefer the close message error.\r\n this.stopError = error;\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this.startPromise];\r\n case 2:\r\n _a.sent();\r\n return [3 /*break*/, 4];\r\n case 3:\r\n e_1 = _a.sent();\r\n return [3 /*break*/, 4];\r\n case 4:\r\n if (!this.transport) return [3 /*break*/, 6];\r\n return [4 /*yield*/, this.transport.stop()];\r\n case 5:\r\n _a.sent();\r\n this.transport = undefined;\r\n _a.label = 6;\r\n case 6: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n HttpConnection.prototype.startInternal = function (transferFormat) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var url, negotiateResponse, redirects, _loop_1, this_1, state_1, e_2;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n url = this.baseUrl;\r\n this.accessTokenFactory = this.options.accessTokenFactory;\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 12, , 13]);\r\n if (!this.options.skipNegotiation) return [3 /*break*/, 5];\r\n if (!(this.options.transport === HttpTransportType.WebSockets)) return [3 /*break*/, 3];\r\n // No need to add a connection ID in this case\r\n this.transport = this.constructTransport(HttpTransportType.WebSockets);\r\n // We should just call connect directly in this case.\r\n // No fallback or negotiate in this case.\r\n return [4 /*yield*/, this.transport.connect(url, transferFormat)];\r\n case 2:\r\n // We should just call connect directly in this case.\r\n // No fallback or negotiate in this case.\r\n _a.sent();\r\n return [3 /*break*/, 4];\r\n case 3: throw Error(\"Negotiation can only be skipped when using the WebSocket transport directly.\");\r\n case 4: return [3 /*break*/, 11];\r\n case 5:\r\n negotiateResponse = null;\r\n redirects = 0;\r\n _loop_1 = function () {\r\n var accessToken_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0: return [4 /*yield*/, this_1.getNegotiationResponse(url)];\r\n case 1:\r\n negotiateResponse = _a.sent();\r\n // the user tries to stop the connection when it is being started\r\n if (this_1.connectionState === 2 /* Disconnected */) {\r\n return [2 /*return*/, { value: void 0 }];\r\n }\r\n if (negotiateResponse.error) {\r\n throw Error(negotiateResponse.error);\r\n }\r\n if (negotiateResponse.ProtocolVersion) {\r\n throw Error(\"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.\");\r\n }\r\n if (negotiateResponse.url) {\r\n url = negotiateResponse.url;\r\n }\r\n if (negotiateResponse.accessToken) {\r\n accessToken_1 = negotiateResponse.accessToken;\r\n this_1.accessTokenFactory = function () { return accessToken_1; };\r\n }\r\n redirects++;\r\n return [2 /*return*/];\r\n }\r\n });\r\n };\r\n this_1 = this;\r\n _a.label = 6;\r\n case 6: return [5 /*yield**/, _loop_1()];\r\n case 7:\r\n state_1 = _a.sent();\r\n if (typeof state_1 === \"object\")\r\n return [2 /*return*/, state_1.value];\r\n _a.label = 8;\r\n case 8:\r\n if (negotiateResponse.url && redirects < MAX_REDIRECTS) return [3 /*break*/, 6];\r\n _a.label = 9;\r\n case 9:\r\n if (redirects === MAX_REDIRECTS && negotiateResponse.url) {\r\n throw Error(\"Negotiate redirection limit exceeded.\");\r\n }\r\n return [4 /*yield*/, this.createTransport(url, this.options.transport, negotiateResponse, transferFormat)];\r\n case 10:\r\n _a.sent();\r\n _a.label = 11;\r\n case 11:\r\n if (this.transport instanceof LongPollingTransport) {\r\n this.features.inherentKeepAlive = true;\r\n }\r\n this.transport.onreceive = this.onreceive;\r\n this.transport.onclose = function (e) { return _this.stopConnection(e); };\r\n // only change the state if we were connecting to not overwrite\r\n // the state if the connection is already marked as Disconnected\r\n this.changeState(0 /* Connecting */, 1 /* Connected */);\r\n return [3 /*break*/, 13];\r\n case 12:\r\n e_2 = _a.sent();\r\n this.logger.log(LogLevel.Error, \"Failed to start the connection: \" + e_2);\r\n this.connectionState = 2 /* Disconnected */;\r\n this.transport = undefined;\r\n throw e_2;\r\n case 13: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n HttpConnection.prototype.getNegotiationResponse = function (url) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var _a, headers, token, negotiateUrl, response, e_3;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n if (!this.accessTokenFactory) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.accessTokenFactory()];\r\n case 1:\r\n token = _b.sent();\r\n if (token) {\r\n headers = (_a = {},\r\n _a[\"Authorization\"] = \"Bearer \" + token,\r\n _a);\r\n }\r\n _b.label = 2;\r\n case 2:\r\n negotiateUrl = this.resolveNegotiateUrl(url);\r\n this.logger.log(LogLevel.Debug, \"Sending negotiation request: \" + negotiateUrl + \".\");\r\n _b.label = 3;\r\n case 3:\r\n _b.trys.push([3, 5, , 6]);\r\n return [4 /*yield*/, this.httpClient.post(negotiateUrl, {\r\n content: \"\",\r\n headers: headers,\r\n })];\r\n case 4:\r\n response = _b.sent();\r\n if (response.statusCode !== 200) {\r\n throw Error(\"Unexpected status code returned from negotiate \" + response.statusCode);\r\n }\r\n return [2 /*return*/, JSON.parse(response.content)];\r\n case 5:\r\n e_3 = _b.sent();\r\n this.logger.log(LogLevel.Error, \"Failed to complete negotiation with the server: \" + e_3);\r\n throw e_3;\r\n case 6: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n HttpConnection.prototype.createConnectUrl = function (url, connectionId) {\r\n if (!connectionId) {\r\n return url;\r\n }\r\n return url + (url.indexOf(\"?\") === -1 ? \"?\" : \"&\") + (\"id=\" + connectionId);\r\n };\r\n HttpConnection.prototype.createTransport = function (url, requestedTransport, negotiateResponse, requestedTransferFormat) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var connectUrl, transports, _i, transports_1, endpoint, transport, ex_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n connectUrl = this.createConnectUrl(url, negotiateResponse.connectionId);\r\n if (!this.isITransport(requestedTransport)) return [3 /*break*/, 2];\r\n this.logger.log(LogLevel.Debug, \"Connection was provided an instance of ITransport, using that directly.\");\r\n this.transport = requestedTransport;\r\n return [4 /*yield*/, this.transport.connect(connectUrl, requestedTransferFormat)];\r\n case 1:\r\n _a.sent();\r\n // only change the state if we were connecting to not overwrite\r\n // the state if the connection is already marked as Disconnected\r\n this.changeState(0 /* Connecting */, 1 /* Connected */);\r\n return [2 /*return*/];\r\n case 2:\r\n transports = negotiateResponse.availableTransports || [];\r\n _i = 0, transports_1 = transports;\r\n _a.label = 3;\r\n case 3:\r\n if (!(_i < transports_1.length)) return [3 /*break*/, 9];\r\n endpoint = transports_1[_i];\r\n this.connectionState = 0 /* Connecting */;\r\n transport = this.resolveTransport(endpoint, requestedTransport, requestedTransferFormat);\r\n if (!(typeof transport === \"number\")) return [3 /*break*/, 8];\r\n this.transport = this.constructTransport(transport);\r\n if (!!negotiateResponse.connectionId) return [3 /*break*/, 5];\r\n return [4 /*yield*/, this.getNegotiationResponse(url)];\r\n case 4:\r\n negotiateResponse = _a.sent();\r\n connectUrl = this.createConnectUrl(url, negotiateResponse.connectionId);\r\n _a.label = 5;\r\n case 5:\r\n _a.trys.push([5, 7, , 8]);\r\n return [4 /*yield*/, this.transport.connect(connectUrl, requestedTransferFormat)];\r\n case 6:\r\n _a.sent();\r\n this.changeState(0 /* Connecting */, 1 /* Connected */);\r\n return [2 /*return*/];\r\n case 7:\r\n ex_1 = _a.sent();\r\n this.logger.log(LogLevel.Error, \"Failed to start the transport '\" + HttpTransportType[transport] + \"': \" + ex_1);\r\n this.connectionState = 2 /* Disconnected */;\r\n negotiateResponse.connectionId = undefined;\r\n return [3 /*break*/, 8];\r\n case 8:\r\n _i++;\r\n return [3 /*break*/, 3];\r\n case 9: throw new Error(\"Unable to initialize any of the available transports.\");\r\n }\r\n });\r\n });\r\n };\r\n HttpConnection.prototype.constructTransport = function (transport) {\r\n switch (transport) {\r\n case HttpTransportType.WebSockets:\r\n if (!this.options.WebSocket) {\r\n throw new Error(\"'WebSocket' is not supported in your environment.\");\r\n }\r\n return new WebSocketTransport(this.httpClient, this.accessTokenFactory, this.logger, this.options.logMessageContent || false, this.options.WebSocket);\r\n case HttpTransportType.ServerSentEvents:\r\n if (!this.options.EventSource) {\r\n throw new Error(\"'EventSource' is not supported in your environment.\");\r\n }\r\n return new ServerSentEventsTransport(this.httpClient, this.accessTokenFactory, this.logger, this.options.logMessageContent || false, this.options.EventSource);\r\n case HttpTransportType.LongPolling:\r\n return new LongPollingTransport(this.httpClient, this.accessTokenFactory, this.logger, this.options.logMessageContent || false);\r\n default:\r\n throw new Error(\"Unknown transport: \" + transport + \".\");\r\n }\r\n };\r\n HttpConnection.prototype.resolveTransport = function (endpoint, requestedTransport, requestedTransferFormat) {\r\n var transport = HttpTransportType[endpoint.transport];\r\n if (transport === null || transport === undefined) {\r\n this.logger.log(LogLevel.Debug, \"Skipping transport '\" + endpoint.transport + \"' because it is not supported by this client.\");\r\n }\r\n else {\r\n var transferFormats = endpoint.transferFormats.map(function (s) { return TransferFormat[s]; });\r\n if (transportMatches(requestedTransport, transport)) {\r\n if (transferFormats.indexOf(requestedTransferFormat) >= 0) {\r\n if ((transport === HttpTransportType.WebSockets && !this.options.WebSocket) ||\r\n (transport === HttpTransportType.ServerSentEvents && !this.options.EventSource)) {\r\n this.logger.log(LogLevel.Debug, \"Skipping transport '\" + HttpTransportType[transport] + \"' because it is not supported in your environment.'\");\r\n }\r\n else {\r\n this.logger.log(LogLevel.Debug, \"Selecting transport '\" + HttpTransportType[transport] + \"'.\");\r\n return transport;\r\n }\r\n }\r\n else {\r\n this.logger.log(LogLevel.Debug, \"Skipping transport '\" + HttpTransportType[transport] + \"' because it does not support the requested transfer format '\" + TransferFormat[requestedTransferFormat] + \"'.\");\r\n }\r\n }\r\n else {\r\n this.logger.log(LogLevel.Debug, \"Skipping transport '\" + HttpTransportType[transport] + \"' because it was disabled by the client.\");\r\n }\r\n }\r\n return null;\r\n };\r\n HttpConnection.prototype.isITransport = function (transport) {\r\n return transport && typeof (transport) === \"object\" && \"connect\" in transport;\r\n };\r\n HttpConnection.prototype.changeState = function (from, to) {\r\n if (this.connectionState === from) {\r\n this.connectionState = to;\r\n return true;\r\n }\r\n return false;\r\n };\r\n HttpConnection.prototype.stopConnection = function (error) {\r\n this.transport = undefined;\r\n // If we have a stopError, it takes precedence over the error from the transport\r\n error = this.stopError || error;\r\n if (error) {\r\n this.logger.log(LogLevel.Error, \"Connection disconnected with error '\" + error + \"'.\");\r\n }\r\n else {\r\n this.logger.log(LogLevel.Information, \"Connection disconnected.\");\r\n }\r\n this.connectionState = 2 /* Disconnected */;\r\n if (this.onclose) {\r\n this.onclose(error);\r\n }\r\n };\r\n HttpConnection.prototype.resolveUrl = function (url) {\r\n // startsWith is not supported in IE\r\n if (url.lastIndexOf(\"https://\", 0) === 0 || url.lastIndexOf(\"http://\", 0) === 0) {\r\n return url;\r\n }\r\n if (typeof window === \"undefined\" || !window || !window.document) {\r\n throw new Error(\"Cannot resolve '\" + url + \"'.\");\r\n }\r\n // Setting the url to the href propery of an anchor tag handles normalization\r\n // for us. There are 3 main cases.\r\n // 1. Relative path normalization e.g \"b\" -> \"http://localhost:5000/a/b\"\r\n // 2. Absolute path normalization e.g \"/a/b\" -> \"http://localhost:5000/a/b\"\r\n // 3. Networkpath reference normalization e.g \"//localhost:5000/a/b\" -> \"http://localhost:5000/a/b\"\r\n var aTag = window.document.createElement(\"a\");\r\n aTag.href = url;\r\n this.logger.log(LogLevel.Information, \"Normalizing '\" + url + \"' to '\" + aTag.href + \"'.\");\r\n return aTag.href;\r\n };\r\n HttpConnection.prototype.resolveNegotiateUrl = function (url) {\r\n var index = url.indexOf(\"?\");\r\n var negotiateUrl = url.substring(0, index === -1 ? url.length : index);\r\n if (negotiateUrl[negotiateUrl.length - 1] !== \"/\") {\r\n negotiateUrl += \"/\";\r\n }\r\n negotiateUrl += \"negotiate\";\r\n negotiateUrl += index === -1 ? \"\" : url.substring(index);\r\n return negotiateUrl;\r\n };\r\n return HttpConnection;\r\n}());\r\nexport { HttpConnection };\r\nfunction transportMatches(requestedTransport, actualTransport) {\r\n return !requestedTransport || ((actualTransport & requestedTransport) !== 0);\r\n}\r\n//# sourceMappingURL=HttpConnection.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nimport { MessageType } from \"./IHubProtocol\";\r\nimport { LogLevel } from \"./ILogger\";\r\nimport { TransferFormat } from \"./ITransport\";\r\nimport { NullLogger } from \"./Loggers\";\r\nimport { TextMessageFormat } from \"./TextMessageFormat\";\r\nvar JSON_HUB_PROTOCOL_NAME = \"json\";\r\n/** Implements the JSON Hub Protocol. */\r\nvar JsonHubProtocol = /** @class */ (function () {\r\n function JsonHubProtocol() {\r\n /** @inheritDoc */\r\n this.name = JSON_HUB_PROTOCOL_NAME;\r\n /** @inheritDoc */\r\n this.version = 1;\r\n /** @inheritDoc */\r\n this.transferFormat = TransferFormat.Text;\r\n }\r\n /** Creates an array of {@link @aspnet/signalr.HubMessage} objects from the specified serialized representation.\r\n *\r\n * @param {string} input A string containing the serialized representation.\r\n * @param {ILogger} logger A logger that will be used to log messages that occur during parsing.\r\n */\r\n JsonHubProtocol.prototype.parseMessages = function (input, logger) {\r\n // The interface does allow \"ArrayBuffer\" to be passed in, but this implementation does not. So let's throw a useful error.\r\n if (typeof input !== \"string\") {\r\n throw new Error(\"Invalid input for JSON hub protocol. Expected a string.\");\r\n }\r\n if (!input) {\r\n return [];\r\n }\r\n if (logger === null) {\r\n logger = NullLogger.instance;\r\n }\r\n // Parse the messages\r\n var messages = TextMessageFormat.parse(input);\r\n var hubMessages = [];\r\n for (var _i = 0, messages_1 = messages; _i < messages_1.length; _i++) {\r\n var message = messages_1[_i];\r\n var parsedMessage = JSON.parse(message);\r\n if (typeof parsedMessage.type !== \"number\") {\r\n throw new Error(\"Invalid payload.\");\r\n }\r\n switch (parsedMessage.type) {\r\n case MessageType.Invocation:\r\n this.isInvocationMessage(parsedMessage);\r\n break;\r\n case MessageType.StreamItem:\r\n this.isStreamItemMessage(parsedMessage);\r\n break;\r\n case MessageType.Completion:\r\n this.isCompletionMessage(parsedMessage);\r\n break;\r\n case MessageType.Ping:\r\n // Single value, no need to validate\r\n break;\r\n case MessageType.Close:\r\n // All optional values, no need to validate\r\n break;\r\n default:\r\n // Future protocol changes can add message types, old clients can ignore them\r\n logger.log(LogLevel.Information, \"Unknown message type '\" + parsedMessage.type + \"' ignored.\");\r\n continue;\r\n }\r\n hubMessages.push(parsedMessage);\r\n }\r\n return hubMessages;\r\n };\r\n /** Writes the specified {@link @aspnet/signalr.HubMessage} to a string and returns it.\r\n *\r\n * @param {HubMessage} message The message to write.\r\n * @returns {string} A string containing the serialized representation of the message.\r\n */\r\n JsonHubProtocol.prototype.writeMessage = function (message) {\r\n return TextMessageFormat.write(JSON.stringify(message));\r\n };\r\n JsonHubProtocol.prototype.isInvocationMessage = function (message) {\r\n this.assertNotEmptyString(message.target, \"Invalid payload for Invocation message.\");\r\n if (message.invocationId !== undefined) {\r\n this.assertNotEmptyString(message.invocationId, \"Invalid payload for Invocation message.\");\r\n }\r\n };\r\n JsonHubProtocol.prototype.isStreamItemMessage = function (message) {\r\n this.assertNotEmptyString(message.invocationId, \"Invalid payload for StreamItem message.\");\r\n if (message.item === undefined) {\r\n throw new Error(\"Invalid payload for StreamItem message.\");\r\n }\r\n };\r\n JsonHubProtocol.prototype.isCompletionMessage = function (message) {\r\n if (message.result && message.error) {\r\n throw new Error(\"Invalid payload for Completion message.\");\r\n }\r\n if (!message.result && message.error) {\r\n this.assertNotEmptyString(message.error, \"Invalid payload for Completion message.\");\r\n }\r\n this.assertNotEmptyString(message.invocationId, \"Invalid payload for Completion message.\");\r\n };\r\n JsonHubProtocol.prototype.assertNotEmptyString = function (value, errorMessage) {\r\n if (typeof value !== \"string\" || value === \"\") {\r\n throw new Error(errorMessage);\r\n }\r\n };\r\n return JsonHubProtocol;\r\n}());\r\nexport { JsonHubProtocol };\r\n//# sourceMappingURL=JsonHubProtocol.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\nimport { HttpConnection } from \"./HttpConnection\";\r\nimport { HubConnection } from \"./HubConnection\";\r\nimport { JsonHubProtocol } from \"./JsonHubProtocol\";\r\nimport { NullLogger } from \"./Loggers\";\r\nimport { Arg, ConsoleLogger } from \"./Utils\";\r\n/** A builder for configuring {@link @aspnet/signalr.HubConnection} instances. */\r\nvar HubConnectionBuilder = /** @class */ (function () {\r\n function HubConnectionBuilder() {\r\n }\r\n HubConnectionBuilder.prototype.configureLogging = function (logging) {\r\n Arg.isRequired(logging, \"logging\");\r\n if (isLogger(logging)) {\r\n this.logger = logging;\r\n }\r\n else {\r\n this.logger = new ConsoleLogger(logging);\r\n }\r\n return this;\r\n };\r\n HubConnectionBuilder.prototype.withUrl = function (url, transportTypeOrOptions) {\r\n Arg.isRequired(url, \"url\");\r\n this.url = url;\r\n // Flow-typing knows where it's at. Since HttpTransportType is a number and IHttpConnectionOptions is guaranteed\r\n // to be an object, we know (as does TypeScript) this comparison is all we need to figure out which overload was called.\r\n if (typeof transportTypeOrOptions === \"object\") {\r\n this.httpConnectionOptions = transportTypeOrOptions;\r\n }\r\n else {\r\n this.httpConnectionOptions = {\r\n transport: transportTypeOrOptions,\r\n };\r\n }\r\n return this;\r\n };\r\n /** Configures the {@link @aspnet/signalr.HubConnection} to use the specified Hub Protocol.\r\n *\r\n * @param {IHubProtocol} protocol The {@link @aspnet/signalr.IHubProtocol} implementation to use.\r\n */\r\n HubConnectionBuilder.prototype.withHubProtocol = function (protocol) {\r\n Arg.isRequired(protocol, \"protocol\");\r\n this.protocol = protocol;\r\n return this;\r\n };\r\n /** Creates a {@link @aspnet/signalr.HubConnection} from the configuration options specified in this builder.\r\n *\r\n * @returns {HubConnection} The configured {@link @aspnet/signalr.HubConnection}.\r\n */\r\n HubConnectionBuilder.prototype.build = function () {\r\n // If httpConnectionOptions has a logger, use it. Otherwise, override it with the one\r\n // provided to configureLogger\r\n var httpConnectionOptions = this.httpConnectionOptions || {};\r\n // If it's 'null', the user **explicitly** asked for null, don't mess with it.\r\n if (httpConnectionOptions.logger === undefined) {\r\n // If our logger is undefined or null, that's OK, the HttpConnection constructor will handle it.\r\n httpConnectionOptions.logger = this.logger;\r\n }\r\n // Now create the connection\r\n if (!this.url) {\r\n throw new Error(\"The 'HubConnectionBuilder.withUrl' method must be called before building the connection.\");\r\n }\r\n var connection = new HttpConnection(this.url, httpConnectionOptions);\r\n return HubConnection.create(connection, this.logger || NullLogger.instance, this.protocol || new JsonHubProtocol());\r\n };\r\n return HubConnectionBuilder;\r\n}());\r\nexport { HubConnectionBuilder };\r\nfunction isLogger(logger) {\r\n return logger.log !== undefined;\r\n}\r\n//# sourceMappingURL=HubConnectionBuilder.js.map","// Copyright (c) .NET Foundation. All rights reserved.\r\n// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.\r\n// Version token that will be replaced by the prepack command\r\n/** The version of the SignalR client. */\r\nexport var VERSION = \"1.1.4\";\r\nexport { AbortError, HttpError, TimeoutError } from \"./Errors\";\r\nexport { HttpClient, HttpResponse } from \"./HttpClient\";\r\nexport { DefaultHttpClient } from \"./DefaultHttpClient\";\r\nexport { HubConnection, HubConnectionState } from \"./HubConnection\";\r\nexport { HubConnectionBuilder } from \"./HubConnectionBuilder\";\r\nexport { MessageType } from \"./IHubProtocol\";\r\nexport { LogLevel } from \"./ILogger\";\r\nexport { HttpTransportType, TransferFormat } from \"./ITransport\";\r\nexport { NullLogger } from \"./Loggers\";\r\nexport { JsonHubProtocol } from \"./JsonHubProtocol\";\r\n//# sourceMappingURL=index.js.map","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./i4pro-icon-notification.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./i4pro-icon-notification.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./i4pro-icon-notification.vue?vue&type=template&id=2427a879&scoped=true&\"\nimport script from \"./i4pro-icon-notification.vue?vue&type=script&lang=js&\"\nexport * from \"./i4pro-icon-notification.vue?vue&type=script&lang=js&\"\nimport style0 from \"./i4pro-icon-notification.vue?vue&type=style&index=0&id=2427a879&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2427a879\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VLayout } from 'vuetify/lib/components/VGrid';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTabsItems } from 'vuetify/lib/components/VTabs';\nimport { VTabsSlider } from 'vuetify/lib/components/VTabs';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAppBar,VBadge,VBtn,VCard,VCol,VContainer,VDivider,VIcon,VImg,VLayout,VList,VListItem,VListItemContent,VListItemSubtitle,VListItemTitle,VMenu,VRow,VTab,VTabItem,VTabs,VTabsItems,VTabsSlider,VToolbarTitle})\n","import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./i4pro-icon-notification.vue?vue&type=style&index=0&id=2427a879&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./i4pro-icon-notification.vue?vue&type=style&index=0&id=2427a879&lang=scss&scoped=true&\""],"sourceRoot":""}