botframework-directlinejs-tmp
Advanced tools
Comparing version 1.0.8 to 1.1.0
# Changelog | ||
All notable changes to this project will be documented in this file. | ||
@@ -9,7 +10,7 @@ | ||
### Added/Changed/Removed | ||
- Added something, by [@johndoe](https://github.com/johndoe), in PR [#XXX](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/XXX) | ||
- Added something, by [@johndoe](https://github.com/johndoe), in PR [#XXX](https://github.com/microsoft/BotFramework-DirectLineJS/pull/XXX) | ||
### Changed (for dependency bumps) | ||
- `core`: Bumps to [`abc@1.2.3`](https://npmjs.com/package/abc/), in PR [#XXX](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/XXX) | ||
- `core`: Bumps to [`abc@1.2.3`](https://npmjs.com/package/abc/), in PR [#XXX](https://github.com/microsoft/BotFramework-DirectLineJS/pull/XXX) | ||
### Fixed | ||
- Fix [#XXX](https://github.com/Microsoft/BotFramework-DirectLineJS/issues/XXX). Patched something, by [@johndoe](https://github.com/johndoe) in PR [#XXX](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/XXX) | ||
- Fix [#XXX](https://github.com/microsoft/BotFramework-DirectLineJS/issues/XXX). Patched something, by [@johndoe](https://github.com/johndoe) in PR [#XXX](https://github.com/microsoft/BotFramework-DirectLineJS/pull/XXX) | ||
--> | ||
@@ -19,11 +20,38 @@ | ||
### Changed | ||
- Update DirectLine to rxjs v6 pipeable operators, PR [#102](https://github.com/microsoft/BotFramework-DirectLineJS/pull/102/files) | ||
## [0.13.0] - 2020-08-17 | ||
### Added | ||
- Added `conversationStartProperties` and `locale`, by [@zhiwang](https://github.com/zhiwang), in PR [#293](https://github.com/microsoft/BotFramework-DirectLineJS/pull/293) | ||
### Fixed | ||
- Reverting PR [#171](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/171) and PR [#172](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/172), which caused infinite loop of reconnections, by [@compulim](https://github.com/compulim) in PR [#240](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/240) | ||
- Fixed [#287](https://github.com/microsoft/BotFramework-DirectLineJS/issues/287), removed `x-ms-bot-id` header, by [@swagatmishra2007](https://github.com/swagatmishra2007), in PR [#296](https://github.com/microsoft/BotFramework-DirectLineJS/pull/296) | ||
## [0.11.5] - 2019-09-30 | ||
## [0.12.0] - 2020-06-04 | ||
### Added | ||
- Added support of Direct Line App Service Extension, by [@ckkashyap](https://github.com/ckkashyap), in PR [#183](https://github.com/microsoft/BotFramework-DirectLineJS/pull/183) and [#274](https://github.com/microsoft/BotFramework-DirectLineJS/pull/274) | ||
- Added support for `Retry-After` header and version information to `x-ms-bot-agent` header, by [@swagatmishra2007](https://github.com/swagatmishra2007), in PR [#247](https://github.com/microsoft/BotFramework-DirectLineJS/pull/247) | ||
- Also improved testability of the package | ||
### Changed | ||
- Update DirectLine to rxjs v6 pipeable operators, PR [#102](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/102/files) | ||
- Lock down on version of dependencies, by [@compulim](https://github.com/compulim), in PR [#280](https://github.com/microsoft/BotFramework-DirectLineJS/pull/280) | ||
- [`rxjs@5.5.10`](https://npmjs.com/package/rxjs) | ||
- This version is selected out of the previous commit of `package-lock.json` | ||
- Bumped [`botframework-streaming@4.9.2`](https://npmjs.com/package/botframework-streaming), by [@compulim](https://github.com/compulim), in PR [#285](https://github.com/microsoft/BotFramework-DirectLineJS/pull/285) | ||
## [0.11.6] - 2019-10-25 | ||
### Fixed | ||
- Reverting PR [#171](https://github.com/microsoft/BotFramework-DirectLineJS/pull/171) and PR [#172](https://github.com/microsoft/BotFramework-DirectLineJS/pull/172), which caused infinite loop of reconnections, by [@compulim](https://github.com/compulim) in PR [#240](https://github.com/microsoft/BotFramework-DirectLineJS/pull/240) | ||
## [0.11.5] - 2019-09-30 | ||
### Breaking Changes | ||
@@ -41,6 +69,6 @@ | ||
### Changed | ||
- Bumped dependencies, by [@compulim](https://github.com/compulim), in PR [#195](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/195) | ||
- Bumped dependencies, by [@compulim](https://github.com/compulim), in PR [#195](https://github.com/microsoft/BotFramework-DirectLineJS/pull/195) | ||
- [`@babel/runtime@7.6.0`](https://npmjs.com/package/@babel/runtime) | ||
- [`rxjs@5.0.3`](https://npmjs.com/package/rxjs) | ||
- Bumped dev dependencies, by [@compulim](https://github.com/compulim), in PR [#195](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/195) | ||
- Bumped dev dependencies, by [@compulim](https://github.com/compulim), in PR [#195](https://github.com/microsoft/BotFramework-DirectLineJS/pull/195) | ||
- [`@babel/cli@7.6.0`](https://npmjs.com/package/@babel/cli) | ||
@@ -76,23 +104,22 @@ - [`@babel/core@7.6.0`](https://npmjs.com/package/@babel/core) | ||
### Added | ||
- Fix [#235](https://github.com/Microsoft/BotFramework-DirectLineJS/issues/235). Added metadata when uploading attachments, including `thumbnailUrl`, by [@compulim](https://github.com/compulim), in PR [#236](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/236) | ||
- Fix [#235](https://github.com/microsoft/BotFramework-DirectLineJS/issues/235). Added metadata when uploading attachments, including `thumbnailUrl`, by [@compulim](https://github.com/compulim), in PR [#236](https://github.com/microsoft/BotFramework-DirectLineJS/pull/236) | ||
### Fixed | ||
- Avoid posting an error on intentional end, by [@orgads](https://github.com/orgads) in PR [#172](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/172) | ||
- Surface Web Socket errors, by [@orgads](https://github.com/orgads) in PR [#171](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/171) | ||
- Avoid posting an error on intentional end, by [@orgads](https://github.com/orgads) in PR [#172](https://github.com/microsoft/BotFramework-DirectLineJS/pull/172) | ||
- Surface Web Socket errors, by [@orgads](https://github.com/orgads) in PR [#171](https://github.com/microsoft/BotFramework-DirectLineJS/pull/171) | ||
## [0.11.4] - 2019-03-04 | ||
### Changed | ||
- Change reconnect delay to be a random amount between 3s and 15s, by [@mingweiw](https://github.com/mingweiw) in PR [#164](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/164) | ||
- Change reconnect delay to be a random amount between 3s and 15s, by [@mingweiw](https://github.com/mingweiw) in PR [#164](https://github.com/microsoft/BotFramework-DirectLineJS/pull/164) | ||
### Fixed | ||
- Fix [#160](https://github.com/Microsoft/BotFramework-DirectLineJS/issues/160). Removed warning if `pollingInterval` is `undefined`, by [@compulim](https://github.com/compulim) in PR [#161](https://github.com/Microosft/BotFramework-DirectLineJS/pull/161) | ||
- Fix [#160](https://github.com/microsoft/BotFramework-DirectLineJS/issues/160). Removed warning if `pollingInterval` is `undefined`, by [@compulim](https://github.com/compulim) in PR [#161](https://github.com/Microosft/BotFramework-DirectLineJS/pull/161) | ||
## [0.11.2] - 2019-02-05 | ||
### Fixed | ||
- Fixed an issue where `pollingInterval` set to `undefined` would cause high polling rate, by [@cwhitten](https://github.com/cwhitten) and [@compulim](https://github.com/compulim), in PR [#157](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/157) | ||
- Fixed an issue where `pollingInterval` set to `undefined` would cause high polling rate, by [@cwhitten](https://github.com/cwhitten) and [@compulim](https://github.com/compulim), in PR [#157](https://github.com/microsoft/BotFramework-DirectLineJS/pull/157) | ||
### Changed | ||
- Used `@babel/preset-typescript` and `webpack@4` to build, in PR [#156](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/156) | ||
- Used `@babel/preset-typescript` and `webpack@4` to build, in PR [#156](https://github.com/microsoft/BotFramework-DirectLineJS/pull/156) | ||
- Moved to inline source map for pre-bundle | ||
@@ -103,28 +130,28 @@ - Added `.editorconfig` and `.vscode` for new line and tab size rules | ||
### Fixed | ||
- Fixed an issue causing a header to be incorrectly generated. [#153](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/153) | ||
- Fixed an issue causing a header to be incorrectly generated. [#153](https://github.com/microsoft/BotFramework-DirectLineJS/pull/153) | ||
## [0.11.0] - 2019-01-28 | ||
### Added | ||
- Added protection against user-given pollingInterval values [#129](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/129) | ||
- Added custom user agent and header [#148](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/148) | ||
- Added protection against user-given pollingInterval values [#129](https://github.com/microsoft/BotFramework-DirectLineJS/pull/129) | ||
- Added custom user agent and header [#148](https://github.com/microsoft/BotFramework-DirectLineJS/pull/148) | ||
### Fixed | ||
- `errorConversationEnded` no longer thrown when calling `DirectLine#end`, by [@orgads](https://github.com/orgads), in PR [#133](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/133) | ||
- `errorConversationEnded` no longer thrown when calling `DirectLine#end`, by [@orgads](https://github.com/orgads), in PR [#133](https://github.com/microsoft/BotFramework-DirectLineJS/pull/133) | ||
## [0.10.2] - 2019-01-09 | ||
- Added `messageBack` to `CardActionTypes` and updated `CardAction` fields, by [@corinagum](https://github.com/corinagum), in PR [#138](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/138) | ||
- Expand `CardAction`s with specific types, by [@corinagum](https://github.com/corinagum), in PR [#141](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/141) | ||
- Added `messageBack` to `CardActionTypes` and updated `CardAction` fields, by [@corinagum](https://github.com/corinagum), in PR [#138](https://github.com/microsoft/BotFramework-DirectLineJS/pull/138) | ||
- Expand `CardAction`s with specific types, by [@corinagum](https://github.com/corinagum), in PR [#141](https://github.com/microsoft/BotFramework-DirectLineJS/pull/141) | ||
## [0.10.1] - 2018-12-21 | ||
### Changed | ||
- Prevents infinite WebSocket reconnection spam on subsequent token expiration signals [#127](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/127) | ||
- Prevents infinite WebSocket reconnection spam on subsequent token expiration signals [#127](https://github.com/microsoft/BotFramework-DirectLineJS/pull/127) | ||
## [0.10.0] - 2018-10-30 | ||
### Added | ||
- Add support for watermark in Web Socket, in [#96](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/96) | ||
- Add support for watermark in Web Socket, in [#96](https://github.com/microsoft/BotFramework-DirectLineJS/pull/96) | ||
### Changed | ||
- Delay before retrying Web Socket, in [#97](https://github.com/Microsoft/BotFramework-WebChat/pull/97) | ||
- Slow down polling on congested traffic, in [#98](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/98) | ||
- Bump dependencies, in [#100](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/100) | ||
- Delay before retrying Web Socket, in [#97](https://github.com/microsoft/BotFramework-WebChat/pull/97) | ||
- Slow down polling on congested traffic, in [#98](https://github.com/microsoft/BotFramework-DirectLineJS/pull/98) | ||
- Bump dependencies, in [#100](https://github.com/microsoft/BotFramework-DirectLineJS/pull/100) | ||
- `deep-extend` from `0.4.2` to `0.5.1` | ||
@@ -135,7 +162,7 @@ - `randomatic` from `1.1.7` to `3.1.0` | ||
### Changed | ||
- Add handling of 403/500 for `getSessionId`, in [#87](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/87) | ||
- Add handling of 403/500 for `getSessionId`, in [#87](https://github.com/microsoft/BotFramework-DirectLineJS/pull/87) | ||
## [0.9.16] - 2018-08-14 | ||
### Added | ||
- Added optional `role` to `User` interface, must be either `"bot"`, `"channel"`, or `"user"`, in [#79](https://github.com/Microsoft/BotFramework-DirectLineJS/pull/79) | ||
- Added optional `role` to `User` interface, must be either `"bot"`, `"channel"`, or `"user"`, in [#79](https://github.com/microsoft/BotFramework-DirectLineJS/pull/79) | ||
@@ -145,3 +172,3 @@ ## [0.9.15] - 2018-04-24 | ||
- OAuthCard and `getSessionId` in PR #67 | ||
- Add OAuthCard ([`c7b8af7`](https://github.com/Microsoft/BotFramework-DirectLineJS/commit/c7b8af7be35685c220f2d777daa96f52d757f53f)) | ||
- Add `getSessionId` ([`9c87aa3`](https://github.com/Microsoft/BotFramework-DirectLineJS/commit/9c87aa3f54947ea2fee836b41eec8ec45297a57a), [`9a2b2d8`](https://github.com/Microsoft/BotFramework-DirectLineJS/commit/9a2b2d889af48e558f563758aa01d498b2b2cf49), [`df84d00`](df84d0054f784ae5eb36784ef07a2aa38ca6c95b), [`92cc331`](92cc33138dfbdd533b4d14f6be275d1c86ef8db4)) | ||
- Add OAuthCard ([`c7b8af7`](https://github.com/microsoft/BotFramework-DirectLineJS/commit/c7b8af7be35685c220f2d777daa96f52d757f53f)) | ||
- Add `getSessionId` ([`9c87aa3`](https://github.com/microsoft/BotFramework-DirectLineJS/commit/9c87aa3f54947ea2fee836b41eec8ec45297a57a), [`9a2b2d8`](https://github.com/microsoft/BotFramework-DirectLineJS/commit/9a2b2d889af48e558f563758aa01d498b2b2cf49), [`df84d00`](df84d0054f784ae5eb36784ef07a2aa38ca6c95b), [`92cc331`](92cc33138dfbdd533b4d14f6be275d1c86ef8db4)) |
@@ -0,1 +1,3 @@ | ||
import 'core-js/features/promise'; | ||
import 'url-search-params-polyfill'; | ||
import { BehaviorSubject, Observable } from 'rxjs'; | ||
@@ -7,2 +9,4 @@ import { Activity, DirectLineOptions, Conversation, IBotConnection } from './directLine'; | ||
export * from './directline.enum'; | ||
import { DirectLineStreaming } from './directLineStreaming'; | ||
export { DirectLineStreaming }; | ||
export declare class DirectLine implements IBotConnection { | ||
@@ -23,3 +27,5 @@ connectionStatus$: BehaviorSubject<ConnectionStatus>; | ||
referenceGrammarId: string; | ||
private botIdHeader; | ||
private timeout; | ||
private retries; | ||
private localeOnStartConversation; | ||
private pollingInterval; | ||
@@ -26,0 +32,0 @@ private tokenRefreshSubscription; |
@@ -19,2 +19,2 @@ "use strict"; | ||
})(ConnectionStatus || (exports.ConnectionStatus = ConnectionStatus = {})); | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kaXJlY3RsaW5lLmVudW0udHMiXSwibmFtZXMiOlsiQ29ubmVjdGlvblN0YXR1cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7SUFFWUEsZ0I7OztXQUFBQSxnQjtBQUFBQSxFQUFBQSxnQixDQUFBQSxnQjtBQUFBQSxFQUFBQSxnQixDQUFBQSxnQjtBQUFBQSxFQUFBQSxnQixDQUFBQSxnQjtBQUFBQSxFQUFBQSxnQixDQUFBQSxnQjtBQUFBQSxFQUFBQSxnQixDQUFBQSxnQjtBQUFBQSxFQUFBQSxnQixDQUFBQSxnQjtHQUFBQSxnQixnQ0FBQUEsZ0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGVzZSB0eXBlcyBhcmUgc3BlY2lmaWMgdG8gdGhpcyBjbGllbnQgbGlicmFyeSwgbm90IHRvIERpcmVjdCBMaW5lIDMuMFxuXG5leHBvcnQgZW51bSBDb25uZWN0aW9uU3RhdHVzIHtcbiAgICBVbmluaXRpYWxpemVkLCAgICAgICAgICAgICAgLy8gdGhlIHN0YXR1cyB3aGVuIHRoZSBEaXJlY3RMaW5lIG9iamVjdCBpcyBmaXJzdCBjcmVhdGVkL2NvbnN0cnVjdGVkXG4gICAgQ29ubmVjdGluZywgICAgICAgICAgICAgICAgIC8vIGN1cnJlbnRseSB0cnlpbmcgdG8gY29ubmVjdCB0byB0aGUgY29udmVyc2F0aW9uXG4gICAgT25saW5lLCAgICAgICAgICAgICAgICAgICAgIC8vIHN1Y2Nlc3NmdWxseSBjb25uZWN0ZWQgdG8gdGhlIGNvbnZlcnN0YWlvbi4gQ29ubmVjdGlvbiBpcyBoZWFsdGh5IHNvIGZhciBhcyB3ZSBrbm93LlxuICAgIEV4cGlyZWRUb2tlbiwgICAgICAgICAgICAgICAvLyBsYXN0IG9wZXJhdGlvbiBlcnJvcmVkIG91dCB3aXRoIGFuIGV4cGlyZWQgdG9rZW4uIFBvc3NpYmx5IHdhaXRpbmcgZm9yIHNvbWVvbmUgdG8gc3VwcGx5IGEgbmV3IG9uZS5cbiAgICBGYWlsZWRUb0Nvbm5lY3QsICAgICAgICAgICAgLy8gdGhlIGluaXRpYWwgYXR0ZW1wdCB0byBjb25uZWN0IHRvIHRoZSBjb252ZXJzYXRpb24gZmFpbGVkLiBObyByZWNvdmVyeSBwb3NzaWJsZS5cbiAgICBFbmRlZCAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlIGJvdCBlbmRlZCB0aGUgY29udmVyc2F0aW9uXG59XG4iXX0= | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kaXJlY3RsaW5lLmVudW0udHMiXSwibmFtZXMiOlsiQ29ubmVjdGlvblN0YXR1cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7SUFFWUEsZ0I7OztXQUFBQSxnQjtBQUFBQSxFQUFBQSxnQixDQUFBQSxnQjtBQUFBQSxFQUFBQSxnQixDQUFBQSxnQjtBQUFBQSxFQUFBQSxnQixDQUFBQSxnQjtBQUFBQSxFQUFBQSxnQixDQUFBQSxnQjtBQUFBQSxFQUFBQSxnQixDQUFBQSxnQjtBQUFBQSxFQUFBQSxnQixDQUFBQSxnQjtHQUFBQSxnQixnQ0FBQUEsZ0IiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGVzZSB0eXBlcyBhcmUgc3BlY2lmaWMgdG8gdGhpcyBjbGllbnQgbGlicmFyeSwgbm90IHRvIERpcmVjdCBMaW5lIDMuMFxuXG5leHBvcnQgZW51bSBDb25uZWN0aW9uU3RhdHVzIHtcbiAgICBVbmluaXRpYWxpemVkLCAgICAgICAgICAgICAgLy8gdGhlIHN0YXR1cyB3aGVuIHRoZSBEaXJlY3RMaW5lIG9iamVjdCBpcyBmaXJzdCBjcmVhdGVkL2NvbnN0cnVjdGVkXG4gICAgQ29ubmVjdGluZywgICAgICAgICAgICAgICAgIC8vIGN1cnJlbnRseSB0cnlpbmcgdG8gY29ubmVjdCB0byB0aGUgY29udmVyc2F0aW9uXG4gICAgT25saW5lLCAgICAgICAgICAgICAgICAgICAgIC8vIHN1Y2Nlc3NmdWxseSBjb25uZWN0ZWQgdG8gdGhlIGNvbnZlcnNhdGlvbi4gQ29ubmVjdGlvbiBpcyBoZWFsdGh5IHNvIGZhciBhcyB3ZSBrbm93LlxuICAgIEV4cGlyZWRUb2tlbiwgICAgICAgICAgICAgICAvLyBsYXN0IG9wZXJhdGlvbiBlcnJvcmVkIG91dCB3aXRoIGFuIGV4cGlyZWQgdG9rZW4uIFBvc3NpYmx5IHdhaXRpbmcgZm9yIHNvbWVvbmUgdG8gc3VwcGx5IGEgbmV3IG9uZS5cbiAgICBGYWlsZWRUb0Nvbm5lY3QsICAgICAgICAgICAgLy8gdGhlIGluaXRpYWwgYXR0ZW1wdCB0byBjb25uZWN0IHRvIHRoZSBjb252ZXJzYXRpb24gZmFpbGVkLiBObyByZWNvdmVyeSBwb3NzaWJsZS5cbiAgICBFbmRlZCAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlIGJvdCBlbmRlZCB0aGUgY29udmVyc2F0aW9uXG59XG4iXX0= |
@@ -292,3 +292,5 @@ import { BehaviorSubject, Observable, SchedulerLike } from "rxjs"; | ||
streamUrl?: string; | ||
timeout?: number; | ||
botAgent?: string; | ||
conversationStartProperties?: any; | ||
} | ||
@@ -295,0 +297,0 @@ export interface IBotConnection { |
@@ -25,11 +25,5 @@ import * as DirectLineExport from './directLine'; | ||
export declare const mockAjax: (server: Server, customAjax?: ajaxType) => AjaxCreationMethod; | ||
export declare const mockWebSocket: (server: Server) => { | ||
new (url: string, protocols?: string | string[]): WebSocket; | ||
prototype: WebSocket; | ||
readonly CLOSED: number; | ||
readonly CLOSING: number; | ||
readonly CONNECTING: number; | ||
readonly OPEN: number; | ||
}; | ||
declare type WebSocketConstructor = typeof WebSocket; | ||
export declare const mockWebSocket: (server: Server) => WebSocketConstructor; | ||
export declare const mockServices: (server: Server, scheduler: TestScheduler) => DirectLineExport.Services; | ||
export {}; |
@@ -20,2 +20,8 @@ "use strict"; | ||
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; } | ||
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } | ||
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } | ||
// MOCK helpers | ||
@@ -154,8 +160,7 @@ var notImplemented = function notImplemented() { | ||
var _iteratorNormalCompletion = true; | ||
var _didIteratorError = false; | ||
var _iteratorError = undefined; | ||
var _iterator = _createForOfIteratorHelper(server.conversation.sockets), | ||
_step; | ||
try { | ||
for (var _iterator = server.conversation.sockets[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { | ||
for (_iterator.s(); !(_step = _iterator.n()).done;) { | ||
var socket = _step.value; | ||
@@ -165,14 +170,5 @@ socket.play(_start, _after); | ||
} catch (err) { | ||
_didIteratorError = true; | ||
_iteratorError = err; | ||
_iterator.e(err); | ||
} finally { | ||
try { | ||
if (!_iteratorNormalCompletion && _iterator["return"] != null) { | ||
_iterator["return"](); | ||
} | ||
} finally { | ||
if (_didIteratorError) { | ||
throw _iteratorError; | ||
} | ||
} | ||
_iterator.f(); | ||
} | ||
@@ -251,5 +247,3 @@ | ||
return _temp = _class = | ||
/*#__PURE__*/ | ||
function () { | ||
return _temp = _class = /*#__PURE__*/function () { | ||
function MockWebSocket(url, protocols) { | ||
@@ -352,2 +346,2 @@ var _this = this; | ||
exports.mockServices = mockServices; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kaXJlY3RMaW5lLm1vY2sudHMiXSwibmFtZXMiOlsibm90SW1wbGVtZW50ZWQiLCJFcnJvciIsIm1vY2tBY3Rpdml0eSIsInRleHQiLCJ0eXBlIiwiZnJvbSIsImlkIiwidG9rZW5QcmVmaXgiLCJtb2NrU2VydmVyIiwic2NoZWR1bGVyIiwiY29udmVyc2F0aW9uIiwic29ja2V0cyIsIlNldCIsImNvbnZlcnNhdGlvbklkIiwiaGlzdG9yeSIsInRva2VuIiwidG9rZW5SZXNwb25zZSIsInNlcnZlciIsInJlcXVlc3QiLCJoZWFkZXJzIiwiYXV0aG9yaXphdGlvbiIsInJlc3BvbnNlIiwic3RhdHVzIiwiaW5qZWN0Q2xvc2UiLCJmb3JFYWNoIiwicyIsIm9uY2xvc2UiLCJDbG9zZUV2ZW50IiwiaW5qZWN0TmV3VG9rZW4iLCJzdWZmaXgiLCJOdW1iZXIiLCJwYXJzZUludCIsInN1YnN0cmluZyIsImxlbmd0aCIsImtleVdhdGVybWFyayIsIm1vY2tBamF4IiwiY3VzdG9tQWpheCIsInVyaUJhc2UiLCJVUkwiLCJjcmVhdGVTdHJlYW1VcmwiLCJ3YXRlcm1hcmsiLCJ1cmkiLCJwYXJhbXMiLCJVUkxTZWFyY2hQYXJhbXMiLCJhcHBlbmQiLCJ0b1N0cmluZyIsInNlYXJjaCIsImpheCIsInVybE9yUmVxdWVzdCIsInVybCIsInBhdGhuYW1lIiwic2VhcmNoUGFyYW1zIiwicGFydHMiLCJzcGxpdCIsInN0cmVhbVVybCIsInJlc3BvbnNlVG9rZW4iLCJhY3Rpdml0eSIsImJvZHkiLCJhZnRlciIsInB1c2giLCJzdGFydCIsInNvY2tldCIsInBsYXkiLCJnZXQiLCJtZXRob2QiLCJPYnNlcnZhYmxlIiwic3Vic2NyaWJlciIsIm5leHQiLCJjb21wbGV0ZSIsImVycm9yIiwicHJvcGVydGllcyIsInBvc3QiLCJwdXQiLCJwYXRjaCIsImdldEpTT04iLCJPYmplY3QiLCJhc3NpZ24iLCJtb2NrV2ViU29ja2V0IiwicHJvdG9jb2xzIiwiV2ViU29ja2V0IiwiQ0xPU0VEIiwiQ0xPU0lORyIsIkNPTk5FQ1RJTkciLCJPUEVOIiwic2NoZWR1bGUiLCJyZWFkeVN0YXRlIiwiYWRkIiwib25vcGVuIiwiRXZlbnQiLCJhY3Rpdml0aWVzIiwic2xpY2UiLCJhY3Rpdml0eUdyb3VwIiwibWVzc2FnZSIsIk1lc3NhZ2VFdmVudCIsImRhdGEiLCJKU09OIiwic3RyaW5naWZ5Iiwib25tZXNzYWdlIiwiY29kZSIsInJlYXNvbiIsIm1vY2tTZXJ2aWNlcyIsImFqYXgiLCJyYW5kb20iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUNBOztBQUVBOztBQUlBO0FBRUEsSUFBTUEsY0FBYyxHQUFHLFNBQWpCQSxjQUFpQixHQUFhO0FBQUUsUUFBTSxJQUFJQyxLQUFKLENBQVUsaUJBQVYsQ0FBTjtBQUFvQyxDQUExRSxDLENBRUE7OztBQUVPLElBQU1DLFlBQVksR0FBRyxTQUFmQSxZQUFlLENBQUNDLElBQUQ7QUFBQSxTQUE4QztBQUFFQyxJQUFBQSxJQUFJLEVBQUUsU0FBUjtBQUFtQkMsSUFBQUEsSUFBSSxFQUFFO0FBQUVDLE1BQUFBLEVBQUUsRUFBRTtBQUFOLEtBQXpCO0FBQTJDSCxJQUFBQSxJQUFJLEVBQUpBO0FBQTNDLEdBQTlDO0FBQUEsQ0FBckIsQyxDQUVQOzs7O0FBb0JBLElBQU1JLFdBQVcsR0FBRyxPQUFwQjs7QUFFTyxJQUFNQyxVQUFVLEdBQUcsU0FBYkEsVUFBYSxDQUFDQyxTQUFEO0FBQUEsU0FBdUM7QUFDL0RBLElBQUFBLFNBQVMsRUFBVEEsU0FEK0Q7QUFFL0RDLElBQUFBLFlBQVksRUFBRTtBQUNaQyxNQUFBQSxPQUFPLEVBQUUsSUFBSUMsR0FBSixFQURHO0FBRVpDLE1BQUFBLGNBQWMsRUFBRSxpQkFGSjtBQUdaQyxNQUFBQSxPQUFPLEVBQUUsRUFIRztBQUlaQyxNQUFBQSxLQUFLLEVBQUVSLFdBQVcsR0FBRztBQUpUO0FBRmlELEdBQXZDO0FBQUEsQ0FBbkI7Ozs7QUFVUCxJQUFNUyxhQUFhLEdBQUcsU0FBaEJBLGFBQWdCLENB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LEVBNkQyQyxDQUNuRTtBQTlEd0I7QUFBQTtBQUFBLHlDQWdFTjtBQUFFLGNBQU0sSUFBSTdGLEtBQUosRUFBTjtBQUFvQjtBQWhFaEI7QUFBQTtBQUFBLDRDQWlFSDtBQUFFLGNBQU0sSUFBSUEsS0FBSixFQUFOO0FBQW9CO0FBakVuQjtBQUFBO0FBQUEsc0NBa0VBO0FBQUUsY0FBTSxJQUFJQSxLQUFKLEVBQU47QUFBb0I7QUFsRXRCO0FBQUE7QUFBQSwwREFFVDhFLFNBQVMsQ0FBQ0MsTUFGRCx1REFHUkQsU0FBUyxDQUFDRSxPQUhGLDBEQUlMRixTQUFTLENBQUNHLFVBSkwsb0RBS1hILFNBQVMsQ0FBQ0ksSUFMQztBQUFBLENBQXRCLEMsQ0FxRVA7Ozs7O0FBRU8sSUFBTWlCLFlBQVksR0FBRyxTQUFmQSxZQUFlLENBQUNuRixNQUFELEVBQWlCUixTQUFqQjtBQUFBLFNBQTBFO0FBQ3BHQSxJQUFBQSxTQUFTLEVBQVRBLFNBRG9HO0FBRXBHc0UsSUFBQUEsU0FBUyxFQUFFRixhQUFhLENBQUM1RCxNQUFELENBRjRFO0FBR3BHb0YsSUFBQUEsSUFBSSxFQUFFbEUsUUFBUSxDQUFDbEIsTUFBRCxDQUhzRjtBQUlwR3FGLElBQUFBLE1BQU0sRUFBRTtBQUFBLGFBQU0sQ0FBTjtBQUFBO0FBSjRGLEdBQTFFO0FBQUEsQ0FBckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBEaXJlY3RMaW5lRXhwb3J0IGZyb20gJy4vZGlyZWN0TGluZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUZXN0U2NoZWR1bGVyIH0gZnJvbSAncnhqcy90ZXN0aW5nJztcbmltcG9ydCB7IFVSTCwgVVJMU2VhcmNoUGFyYW1zIH0gZnJvbSAndXJsJztcbmltcG9ydCB7IEFqYXhSZXF1ZXN0LCBBamF4UmVzcG9uc2UgfSBmcm9tICdyeGpzL2FqYXgnO1xuaW1wb3J0IHsgQWpheENyZWF0aW9uTWV0aG9kIH0gZnJvbSAncnhqcy9pbnRlcm5hbC9vYnNlcnZhYmxlL2RvbS9BamF4T2JzZXJ2YWJsZSc7XG5cbi8vIE1PQ0sgaGVscGVyc1xuXG5jb25zdCBub3RJbXBsZW1lbnRlZCA9ICgpOiBuZXZlciA9PiB7IHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJykgfTtcblxuLy8gTU9DSyBBY3Rpdml0eVxuXG5leHBvcnQgY29uc3QgbW9ja0FjdGl2aXR5ID0gKHRleHQ6IHN0cmluZyk6IERpcmVjdExpbmVFeHBvcnQuQWN0aXZpdHkgPT4gKHsgdHlwZTogJ21lc3NhZ2UnLCBmcm9tOiB7IGlkOiAnc2VuZGVyJyB9LCB0ZXh0IH0pO1xuXG4vLyBNT0NLIERpcmVjdExpbmUgU2VydmVyIChzaGFyZWQgc3RhdGUgdXNlZCBieSBPYnNlcnZhYmxlLmFqYXggYW5kIFdlYlNvY2tldCBtb2NrcylcblxuaW50ZXJmYWNlIEFjdGl2aXR5U29ja2V0IHtcbiAgcGxheTogKHN0YXJ0OiBudW1iZXIsIGFmdGVyOiBudW1iZXIpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCB0eXBlIFNvY2tldCA9IFdlYlNvY2tldCAmIEFjdGl2aXR5U29ja2V0O1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbnZlcnNhdGlvbiB7XG4gIHNvY2tldHM6IFNldDxTb2NrZXQ+O1xuICBjb252ZXJzYXRpb25JZDogc3RyaW5nO1xuICBoaXN0b3J5OiBBcnJheTxEaXJlY3RMaW5lRXhwb3J0LkFjdGl2aXR5PjtcbiAgdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZXIge1xuICBzY2hlZHVsZXI6IFRlc3RTY2hlZHVsZXI7XG4gIGNvbnZlcnNhdGlvbjogQ29udmVyc2F0aW9uO1xufVxuXG5jb25zdCB0b2tlblByZWZpeCA9ICd0b2tlbic7XG5cbmV4cG9ydCBjb25zdCBtb2NrU2VydmVyID0gKHNjaGVkdWxlcjogVGVzdFNjaGVkdWxlcik6IFNlcnZlciA9PiAoe1xuICBzY2hlZHVsZXIsXG4gIGNvbnZlcnNhdGlvbjoge1xuICAgIHNvY2tldHM6IG5ldyBTZXQ8U29ja2V0PigpLFxuICAgIGNvbnZlcnNhdGlvbklkOiAnT25lQ29udmVyc2F0aW9uJyxcbiAgICBoaXN0b3J5OiBbXSxcbiAgICB0b2tlbjogdG9rZW5QcmVmaXggKyAnMScsXG4gIH1cbn0pO1xuXG5jb25zdCB0b2tlblJlc3BvbnNlID0gKHNlcnZlcjogU2VydmVyLCByZXF1ZXN0OiBBamF4UmVxdWVzdCk6IEFqYXhSZXNwb25zZSB8IG51bGwgPT4ge1xuICBjb25zdCB7IGhlYWRlcnMgfSA9IHJlcXVlc3Q7XG4gIGNvbnN0IGF1dGhvcml6YXRpb24gPSBoZWFkZXJzWydBdXRob3JpemF0aW9uJ107XG4gIGlmIChhdXRob3JpemF0aW9uID09PSBgQmVhcmVyICR7c2VydmVyLmNvbnZlcnNhdGlvbi50b2tlbn1gKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCByZXNwb25zZTogUGFydGlhbDxBamF4UmVzcG9uc2U+ID0ge1xuICAgIHN0YXR1czogNDAzLFxuICB9XG5cbiAgcmV0dXJuIHJlc3BvbnNlIGFzIEFqYXhSZXNwb25zZTtcbn1cblxuZXhwb3J0IGNvbnN0IGluamVjdENsb3NlID0gKHNlcnZlcjogU2VydmVyKTogdm9pZCA9PlxuICBzZXJ2ZXIuY29udmVyc2F0aW9uLnNvY2tldHMuZm9yRWFjaChzID0+IHMub25jbG9zZShuZXcgQ2xvc2VFdmVudCgnY2xvc2UnKSkpO1xuXG5leHBvcnQgY29uc3QgaW5qZWN0TmV3VG9rZW4gPSAoc2VydmVyOiBTZXJ2ZXIpOiB2b2lkID0+IHtcbiAgY29uc3QgeyBjb252ZXJzYXRpb24gfSA9IHNlcnZlcjtcbiAgY29uc3Qgc3VmZml4ID0gTnVtYmVyLnBhcnNlSW50KGNvbnZlcnNhdGlvbi50b2tlbi5zdWJzdHJpbmcodG9rZW5QcmVmaXgubGVuZ3RoKSwgMTApICsgMVxuICBjb252ZXJzYXRpb24udG9rZW4gPSB0b2tlblByZWZpeCArIHN1ZmZpeDtcbn1cblxuY29uc3Qga2V5V2F0ZXJtYXJrID0gJ3dhdGVybWFyayc7XG5cbnR5cGUgYWpheFR5cGUgPSAodXJsT3JSZXF1ZXN0OiBzdHJpbmcgfCBBamF4UmVxdWVzdCkgPT4gQWpheFJlc3BvbnNlO1xuXG4vLyBNT0NLIE9ic2VydmFibGUuYWpheCAodXNlcyBzaGFyZWQgc3RhdGUgaW4gU2VydmVyKVxuXG5leHBvcnQgY29uc3QgbW9ja0FqYXggPSAoc2VydmVyOiBTZXJ2ZXIsIGN1c3RvbUFqYXg/OiBhamF4VHlwZSk6IEFqYXhDcmVhdGlvbk1ldGhvZCA9PiB7XG5cbiAgY29uc3QgdXJpQmFzZSA9IG5ldyBVUkwoJ2h0dHBzOi8vZGlyZWN0bGluZS5ib3RmcmFtZXdvcmsuY29tL3YzL2RpcmVjdGxpbmUvJyk7XG4gIGNvbnN0IGNyZWF0ZVN0cmVhbVVybCA9ICh3YXRlcm1hcms6IG51bWJlcik6IHN0cmluZyA9PiB7XG4gICAgY29uc3QgdXJpID0gbmV3IFVSTCgnY29udmVyc2F0aW9ucy9zdHJlYW0nLCB1cmlCYXNlKTtcbiAgICBpZiAod2F0ZXJtYXJrID4gMCkge1xuICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgICAgcGFyYW1zLmFwcGVuZChrZXlXYXRlcm1hcmssIHdhdGVybWFyay50b1N0cmluZygxMCkpO1xuICAgICAgdXJpLnNlYXJjaCA9IHBhcmFtcy50b1N0cmluZygpO1xuICAgIH1cblxuICAgIHJldHVybiB1cmkudG9TdHJpbmcoKTtcbiAgfVxuXG4gIGNvbnN0IGpheCA9IGN1c3RvbUFqYXggfHwgKCh1cmxPclJlcXVlc3Q6IHN0cmluZyB8IEFqYXhSZXF1ZXN0KTogQWpheFJlc3BvbnNlID0+IHtcbiAgICBpZiAodHlwZW9mIHVybE9yUmVxdWVzdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigpO1xuICAgIH1cblxuICAgIGNvbnN0IHVyaSA9IG5ldyBVUkwodXJsT3JSZXF1ZXN0LnVybCk7XG5cbiAgICBjb25zdCB7IHBhdGhuYW1lLCBzZWFyY2hQYXJhbXMgfSA9IHVyaTtcblxuICAgIGNvbnN0IHBhcnRzID0gcGF0aG5hbWUuc3BsaXQoJy8nKTtcblxuICAgIGlmIChwYXJ0c1szXSA9PT0gJ3Rva2VucycgJiYgcGFydHNbNF0gPT09ICdyZWZyZXNoJykge1xuXG4gICAgICBjb25zdCByZXNwb25zZTogUGFydGlhbDxBamF4UmVzcG9uc2U+ID0ge1xuICAgICAgICByZXNwb25zZTogeyB0b2tlbjogc2VydmVyLmNvbnZlcnNhdGlvbi50b2tlbiB9XG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gcmVzcG9uc2UgYXMgQWpheFJlc3BvbnNlO1xuICAgIH1cblxuICAgIGlmIChwYXJ0c1szXSAhPT0gJ2NvbnZlcnNhdGlvbnMnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoKTtcbiAgICB9XG5cbiAgICBpZiAocGFydHMubGVuZ3RoID09PSA0KSB7XG4gICAgICBjb25zdCBjb252ZXJzYXRpb246IERpcmVjdExpbmVFeHBvcnQuQ29udmVyc2F0aW9uID0ge1xuICAgICAgICBjb252ZXJzYXRpb25JZDogc2VydmVyLmNvbnZlcnNhdGlvbi5jb252ZXJzYXRpb25JZCxcbiAgICAgICAgdG9rZW46IHNlcnZlci5jb252ZXJzYXRpb24udG9rZW4sXG4gICAgICAgIHN0cmVhbVVybDogY3JlYXRlU3RyZWFtVXJsKDApLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgcmVzcG9uc2U6IFBhcnRpYWw8QWpheFJlc3BvbnNlPiA9IHtcbiAgICAgICAgcmVzcG9uc2U6IGNvbnZlcnNhdGlvbixcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3BvbnNlIGFzIEFqYXhSZXNwb25zZTtcbiAgICB9XG5cbiAgICBpZiAocGFydHNbNF0gIT09IHNlcnZlci5jb252ZXJzYXRpb24uY29udmVyc2F0aW9uSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigpO1xuICAgIH1cblxuICAgIGlmIChwYXJ0c1s1XSA9PT0gJ2FjdGl2aXRpZXMnKSB7XG4gICAgICBjb25zdCByZXNwb25zZVRva2VuID0gdG9rZW5SZXNwb25zZShzZXJ2ZXIsIHVybE9yUmVxdWVzdCk7XG4gICAgICBpZiAocmVzcG9uc2VUb2tlbiAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gcmVzcG9uc2VUb2tlbjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYWN0aXZpdHk6IERpcmVjdExpbmVFeHBvcnQuQWN0aXZpdHkgPSB1cmxPclJlcXVlc3QuYm9keTtcblxuICAgICAgY29uc3QgYWZ0ZXIgPSBzZXJ2ZXIuY29udmVyc2F0aW9uLmhpc3RvcnkucHVzaChhY3Rpdml0eSk7XG4gICAgICBjb25zdCBzdGFydCA9IGFmdGVyIC0gMTtcblxuICAgICAgZm9yIChjb25zdCBzb2NrZXQgb2Ygc2VydmVyLmNvbnZlcnNhdGlvbi5zb2NrZXRzKSB7XG4gICAgICAgIHNvY2tldC5wbGF5KHN0YXJ0LCBhZnRlcik7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBQYXJ0aWFsPEFqYXhSZXNwb25zZT4gPSB7XG4gICAgICAgIHJlc3BvbnNlOiB7IGlkOiAnbWVzc2FnZUlkJyB9LFxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzcG9uc2UgYXMgQWpheFJlc3BvbnNlO1xuICAgIH0gZWxzZSBpZiAocGFydHMubGVuZ3RoID09PSA1KSB7XG4gICAgICBjb25zdCByZXNwb25zZVRva2VuID0gdG9rZW5SZXNwb25zZShzZXJ2ZXIsIHVybE9yUmVxdWVzdCk7XG4gICAgICBpZiAocmVzcG9uc2VUb2tlbiAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gcmVzcG9uc2VUb2tlbjtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgd2F0ZXJtYXJrID0gc2VhcmNoUGFyYW1zLmdldCgnd2F0ZXJtYXJrJyk7XG4gICAgICBjb25zdCBzdGFydCA9IE51bWJlci5wYXJzZUludCh3YXRlcm1hcmssIDEwKTtcblxuICAgICAgY29uc3QgY29udmVyc2F0aW9uOiBEaXJlY3RMaW5lRXhwb3J0LkNvbnZlcnNhdGlvbiA9IHtcbiAgICAgICAgY29udmVyc2F0aW9uSWQ6IHNlcnZlci5jb252ZXJzYXRpb24uY29udmVyc2F0aW9uSWQsXG4gICAgICAgIHRva2VuOiBzZXJ2ZXIuY29udmVyc2F0aW9uLnRva2VuLFxuICAgICAgICBzdHJlYW1Vcmw6IGNyZWF0ZVN0cmVhbVVybChzdGFydCksXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXNwb25zZTogUGFydGlhbDxBamF4UmVzcG9uc2U+ID0ge1xuICAgICAgICByZXNwb25zZTogY29udmVyc2F0aW9uLFxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzcG9uc2UgYXMgQWpheFJlc3BvbnNlO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcigpO1xuICB9KTtcblxuICBjb25zdCBtZXRob2QgPSAodXJsT3JSZXF1ZXN0OiBzdHJpbmcgfCBBamF4UmVxdWVzdCk6IE9ic2VydmFibGU8QWpheFJlc3BvbnNlPiA9PlxuICAgIG5ldyBPYnNlcnZhYmxlPEFqYXhSZXNwb25zZT4oc3Vic2NyaWJlciA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBzdWJzY3JpYmVyLm5leHQoamF4KHVybE9yUmVxdWVzdCkpO1xuICAgICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBzdWJzY3JpYmVyLmVycm9yKGVycm9yKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICB0eXBlIFZhbHVlVHlwZTxULCBWPiA9IHtcbiAgICBbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzIFYgPyBUW0tdIDogbmV2ZXI7XG4gIH1cblxuICB0eXBlIFByb3BlcnRpZXMgPSBWYWx1ZVR5cGU8QWpheENyZWF0aW9uTWV0aG9kLCBGdW5jdGlvbj47XG5cbiAgY29uc3QgcHJvcGVydGllczogUHJvcGVydGllcyA9IHtcbiAgICBnZXQ6ICh1cmw6IHN0cmluZywgaGVhZGVycz86IE9iamVjdCk6IE9ic2VydmFibGU8QWpheFJlc3BvbnNlPiA9PiBub3RJbXBsZW1lbnRlZCgpLFxuICAgIHBvc3Q6ICh1cmw6IHN0cmluZywgYm9keT86IGFueSwgaGVhZGVycz86IE9iamVjdCk6IE9ic2VydmFibGU8QWpheFJlc3BvbnNlPiA9PiBub3RJbXBsZW1lbnRlZCgpLFxuICAgIHB1dDogKHVybDogc3RyaW5nLCBib2R5PzogYW55LCBoZWFkZXJzPzogT2JqZWN0KTogT2JzZXJ2YWJsZTxBamF4UmVzcG9uc2U+ID0+IG5vdEltcGxlbWVudGVkKCksXG4gICAgcGF0Y2g6ICh1cmw6IHN0cmluZywgYm9keT86IGFueSwgaGVhZGVycz86IE9iamVjdCk6IE9ic2VydmFibGU8QWpheFJlc3BvbnNlPiA9PiBub3RJbXBsZW1lbnRlZCgpLFxuICAgIGRlbGV0ZTogKHVybDogc3RyaW5nLCBoZWFkZXJzPzogT2JqZWN0KTogT2JzZXJ2YWJsZTxBamF4UmVzcG9uc2U+ID0+IG5vdEltcGxlbWVudGVkKCksXG4gICAgZ2V0SlNPTjogKHVybDogc3RyaW5nLCBoZWFkZXJzPzogT2JqZWN0KSA9PiBub3RJbXBsZW1lbnRlZCgpLFxuICB9O1xuXG4gIHJldHVybiBPYmplY3QuYXNzaWduKG1ldGhvZCwgcHJvcGVydGllcyk7XG59XG5cbi8vIE1PQ0sgV2ViU29ja2V0ICh1c2VzIHNoYXJlZCBzdGF0ZSBpbiBTZXJ2ZXIpXG5cbnR5cGUgV2ViU29ja2V0Q29uc3RydWN0b3IgPSB0eXBlb2YgV2ViU29ja2V0O1xudHlwZSBFdmVudEhhbmRsZXI8RSBleHRlbmRzIEV2ZW50PiA9ICh0aGlzOiBXZWJTb2NrZXQsIGV2OiBFKSA9PiBhbnk7XG5cbmV4cG9ydCBjb25zdCBtb2NrV2ViU29ja2V0ID0gKHNlcnZlcjogU2VydmVyKTogV2ViU29ja2V0Q29uc3RydWN0b3IgPT5cbiAgY2xhc3MgTW9ja1dlYlNvY2tldCBpbXBsZW1lbnRzIFdlYlNvY2tldCwgQWN0aXZpdHlTb2NrZXQge1xuICAgIHN0YXRpYyBDTE9TRUQgPSBXZWJTb2NrZXQuQ0xPU0VEO1xuICAgIHN0YXRpYyBDTE9TSU5HID0gV2ViU29ja2V0LkNMT1NJTkc7XG4gICAgc3RhdGljIENPTk5FQ1RJTkcgPSBXZWJTb2NrZXQuQ09OTkVDVElORztcbiAgICBzdGF0aWMgT1BFTiA9IFdlYlNvY2tldC5PUEVOO1xuXG4gICAgY29uc3RydWN0b3IodXJsOiBzdHJpbmcsIHByb3RvY29scz86IHN0cmluZyB8IHN0cmluZ1tdKSB7XG5cbiAgICAgIHNlcnZlci5zY2hlZHVsZXIuc2NoZWR1bGUoKCkgPT4ge1xuICAgICAgICB0aGlzLnJlYWR5U3RhdGUgPSBXZWJTb2NrZXQuQ09OTkVDVElORztcbiAgICAgICAgc2VydmVyLmNvbnZlcnNhdGlvbi5zb2NrZXRzLmFkZCh0aGlzKTtcbiAgICAgICAgdGhpcy5vbm9wZW4obmV3IEV2ZW50KCdvcGVuJykpO1xuICAgICAgICB0aGlzLnJlYWR5U3RhdGUgPSBXZWJTb2NrZXQuT1BFTjtcbiAgICAgICAgY29uc3QgdXJpID0gbmV3IFVSTCh1cmwpO1xuICAgICAgICBjb25zdCB3YXRlcm1hcmsgPSB1cmkuc2VhcmNoUGFyYW1zLmdldChrZXlXYXRlcm1hcmspXG4gICAgICAgIGlmICh3YXRlcm1hcmsgIT09IG51bGwpIHtcbiAgICAgICAgICBjb25zdCBzdGFydCA9IE51bWJlci5wYXJzZUludCh3YXRlcm1hcmssIDEwKTtcbiAgICAgICAgICB0aGlzLnBsYXkoc3RhcnQsIHNlcnZlci5jb252ZXJzYXRpb24uaGlzdG9yeS5sZW5ndGgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBiaW5hcnlUeXBlOiBCaW5hcnlUeXBlID0gJ2FycmF5YnVmZmVyJztcbiAgICByZWFkb25seSBidWZmZXJlZEFtb3VudDogbnVtYmVyID0gMDtcbiAgICByZWFkb25seSBleHRlbnNpb25zOiBzdHJpbmcgPSAnJztcbiAgICByZWFkb25seSBwcm90b2NvbDogc3RyaW5nID0gJ2h0dHBzJztcbiAgICByZWFkeVN0YXRlOiBudW1iZXIgPSBXZWJTb2NrZXQuQ0xPU0VEO1xuICAgIHJlYWRvbmx5IHVybDogc3RyaW5nID0gJyc7XG4gICAgcmVhZG9ubHkgQ0xPU0VEOiBudW1iZXIgPSBXZWJTb2NrZXQuQ0xPU0VEO1xuICAgIHJlYWRvbmx5IENMT1NJTkc6IG51bWJlciA9IFdlYlNvY2tldC5DTE9TSU5HO1xuICAgIHJlYWRvbmx5IENPTk5FQ1RJTkc6IG51bWJlciA9IFdlYlNvY2tldC5DT05ORUNUSU5HO1xuICAgIHJlYWRvbmx5IE9QRU46IG51bWJlciA9IFdlYlNvY2tldC5PUEVOO1xuXG4gICAgb25jbG9zZTogRXZlbnRIYW5kbGVyPENsb3NlRXZlbnQ+O1xuICAgIG9uZXJyb3I6IEV2ZW50SGFuZGxlcjxFdmVudD47XG4gICAgb25tZXNzYWdlOiBFdmVudEhhbmRsZXI8TWVzc2FnZUV2ZW50PjtcbiAgICBvbm9wZW46IEV2ZW50SGFuZGxlcjxFdmVudD47XG5cbiAgICBwbGF5KHN0YXJ0OiBudW1iZXIsIGFmdGVyOiBudW1iZXIpIHtcblxuICAgICAgY29uc3QgeyBjb252ZXJzYXRpb246IHsgaGlzdG9yeSB9IH0gPSBzZXJ2ZXI7XG4gICAgICBjb25zdCBhY3Rpdml0aWVzID0gaGlzdG9yeS5zbGljZShzdGFydCwgYWZ0ZXIpO1xuICAgICAgY29uc3Qgd2F0ZXJtYXJrID0gaGlzdG9yeS5sZW5ndGgudG9TdHJpbmcoKTtcbiAgICAgIGNvbnN0IGFjdGl2aXR5R3JvdXA6IERpcmVjdExpbmVFeHBvcnQuQWN0aXZpdHlHcm91cCA9IHtcbiAgICAgICAgYWN0aXZpdGllcyxcbiAgICAgICAgd2F0ZXJtYXJrLFxuICAgICAgfVxuXG4gICAgICBjb25zdCBtZXNzYWdlID0gbmV3IE1lc3NhZ2VFdmVudCgndHlwZScsIHsgZGF0YTogSlNPTi5zdHJpbmdpZnkoYWN0aXZpdHlHcm91cCkgfSk7XG5cbiAgICAgIHRoaXMub25tZXNzYWdlKG1lc3NhZ2UpO1xuICAgIH1cblxuICAgIGNsb3NlKGNvZGU/OiBudW1iZXIsIHJlYXNvbj86IHN0cmluZyk6IHZvaWQge1xuICAgICAgdGhpcy5yZWFkeVN0YXRlID0gV2ViU29ja2V0LkNMT1NJTkc7XG4gICAgICB0aGlzLm9uY2xvc2UobmV3IENsb3NlRXZlbnQoJ2Nsb3NlJykpXG4gICAgICBzZXJ2ZXIuY29udmVyc2F0aW9uLnNvY2tldHMuZGVsZXRlKHRoaXMpO1xuICAgICAgdGhpcy5yZWFkeVN0YXRlID0gV2ViU29ja2V0LkNMT1NFRDtcbiAgICB9XG5cbiAgICBzZW5kKGRhdGE6IHN0cmluZyB8IEFycmF5QnVmZmVyTGlrZSB8IEJsb2IgfCBBcnJheUJ1ZmZlclZpZXcpOiB2b2lkIHtcbiAgICB9XG5cbiAgICBhZGRFdmVudExpc3RlbmVyKCkgeyB0aHJvdyBuZXcgRXJyb3IoKTsgfVxuICAgIHJlbW92ZUV2ZW50TGlzdGVuZXIoKSB7IHRocm93IG5ldyBFcnJvcigpOyB9XG4gICAgZGlzcGF0Y2hFdmVudCgpOiBib29sZWFuIHsgdGhyb3cgbmV3IEVycm9yKCk7IH1cbiAgfTtcblxuLy8gTU9DSyBzZXJ2aWNlcyAodG9wLWxldmVsIGFnZ3JlZ2F0aW9uIG9mIGFsbCBtb2NrcylcblxuZXhwb3J0IGNvbnN0IG1vY2tTZXJ2aWNlcyA9IChzZXJ2ZXI6IFNlcnZlciwgc2NoZWR1bGVyOiBUZXN0U2NoZWR1bGVyKTogRGlyZWN0TGluZUV4cG9ydC5TZXJ2aWNlcyA9PiAoe1xuICBzY2hlZHVsZXIsXG4gIFdlYlNvY2tldDogbW9ja1dlYlNvY2tldChzZXJ2ZXIpLFxuICBhamF4OiBtb2NrQWpheChzZXJ2ZXIpLFxuICByYW5kb206ICgpID0+IDAsXG59KTtcbiJdfQ== | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kaXJlY3RMaW5lLm1vY2sudHMiXSwibmFtZXMiOlsibm90SW1wbGVtZW50ZWQiLCJFcnJvciIsIm1vY2tBY3Rpdml0eSIsInRleHQiLCJ0eXBlIiwiZnJvbSIsImlkIiwidG9rZW5QcmVmaXgiLCJtb2NrU2VydmVyIiwic2NoZWR1bGVyIiwiY29udmVyc2F0aW9uIiwic29ja2V0cyIsIlNldCIsImNvbnZlcnNhdGlvbklkIiwiaGlzdG9yeSIsInRva2VuIiwidG9rZW5SZXNwb25zZSIsInNlcnZlciIsInJlcXVlc3QiLCJoZWFkZXJzIiwiYXV0aG9yaXphdGlvbiIsInJlc3BvbnNlIiwic3RhdHVzIiwiaW5qZWN0Q2xvc2UiLCJmb3JFYWNoIiwicyIsIm9uY2xvc2UiLCJDbG9zZUV2ZW50IiwiaW5qZWN0TmV3VG9rZW4iLCJzdWZmaXgiLCJOdW1iZXIiLCJwYXJzZUludCIsInN1YnN0cmluZyIsImxlbmd0aCIsImtleVdhdGVybWFyayIsIm1vY2tBamF4IiwiY3VzdG9tQWpheCIsInVyaUJhc2UiLCJVUkwiLCJjcmVhdGVTdHJlYW1VcmwiLCJ3YXRlcm1hcmsiLCJ1cmkiLCJwYXJhbXMiLCJVUkxTZWFyY2hQYXJhbXMiLCJhcHBlbmQiLCJ0b1N0cmluZyIsInNlYXJjaCIsImpheCIsInVybE9yUmVxdWVzdCIsInVybCIsInBhdGhuYW1lIiwic2VhcmNoUGFyYW1zIiwicGFydHMiLCJzcGxpdCIsInN0cmVhbVVybCIsInJlc3BvbnNlVG9rZW4iLCJhY3Rpdml0eSIsImJvZHkiLCJhZnRlciIsInB1c2giLCJzdGFydCIsInNvY2tldCIsInBsYXkiLCJnZXQiLCJtZXRob2QiLCJPYnNlcnZhYmxlIiwic3Vic2NyaWJlciIsIm5leHQiLCJjb21wbGV0ZSIsImVycm9yIiwicHJvcGVydGllcyIsInBvc3QiLCJwdXQiLCJwYXRjaCIsImdldEpTT04iLCJPYmplY3QiLCJhc3NpZ24iLCJtb2NrV2ViU29ja2V0IiwicHJvdG9jb2xzIiwiV2ViU29ja2V0IiwiQ0xPU0VEIiwiQ0xPU0lORyIsIkNPTk5FQ1RJTkciLCJPUEVOIiwic2NoZWR1bGUiLCJyZWFkeVN0YXRlIiwiYWRkIiwib25vcGVuIiwiRXZlbnQiLCJhY3Rpdml0aWVzIiwic2xpY2UiLCJhY3Rpdml0eUdyb3VwIiwibWVzc2FnZSIsIk1lc3NhZ2VFdmVudCIsImRhdGEiLCJKU09OIiwic3RyaW5naWZ5Iiwib25tZXNzYWdlIiwiY29kZSIsInJlYXNvbiIsIm1vY2tTZXJ2aWNlcyIsImFqYXgiLCJyYW5kb20iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUNBOztBQUVBOzs7Ozs7OztBQUlBO0FBRUEsSUFBTUEsY0FBYyxHQUFHLFNBQWpCQSxjQUFpQixHQUFhO0FBQUUsUUFBTSxJQUFJQyxLQUFKLENBQVUsaUJBQVYsQ0FBTjtBQUFvQyxDQUExRSxDLENBRUE7OztBQUVPLElBQU1DLFlBQVksR0FBRyxTQUFmQSxZQUFlLENBQUNDLElBQUQ7QUFBQSxTQUE4QztBQUFFQyxJQUFBQSxJQUFJLEVBQUUsU0FBUjtBQUFtQkMsSUFBQUEsSUFBSSxFQUFFO0FBQUVDLE1BQUFBLEVBQUUsRUFBRTtBQUFOLEtBQXpCO0FBQTJDSCxJQUFBQSxJQUFJLEVBQUpBO0FBQTNDLEdBQTlDO0FBQUEsQ0FBckIsQyxDQUVQOzs7O0FBb0JBLElBQU1JLFdBQVcsR0FBRyxPQUFwQjs7QUFFTyxJQUFNQyxVQUFVLEdBQUcsU0FBYkEsVUFBYSxDQUFDQyxTQUFEO0FBQUEsU0FBdUM7QUFDL0RBLElBQUFBLFNBQVMsRUFBVEEsU0FEK0Q7QUFFL0RDLElBQUFBLFlBQVksRUFBRTtBQUNaQyxNQUFBQSxPQUFPLEVBQUUsSUFBSUMsR0FBSixFQURHO0FBRVpDLE1BQUFBLGNBQWMsRUFBRSxpQkFGSjtBQUdaQyxNQUFBQSxPQUFPLEVBQUUsRUFIRztBQUlaQyxNQUFBQSxLQUFLLEVBQUVSLFdBQVcsR0FBRztBQUpUO0FBRmlELEdBQXZDO0FBQUEsQ0FBbkI7Ozs7QUFVUCxJQUFNUyxhQUFhLEdBQUcsU0FBaEJBLGFB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QUFKLEVBQU47QUFBb0I7QUEzRGhCO0FBQUE7QUFBQSw0Q0E0REg7QUFBRSxjQUFNLElBQUlBLEtBQUosRUFBTjtBQUFvQjtBQTVEbkI7QUFBQTtBQUFBLHNDQTZEQTtBQUFFLGNBQU0sSUFBSUEsS0FBSixFQUFOO0FBQW9CO0FBN0R0QjtBQUFBO0FBQUEsMERBK0RUOEUsU0FBUyxDQUFDQyxNQS9ERCx1REFnRVJELFNBQVMsQ0FBQ0UsT0FoRUYsMERBaUVMRixTQUFTLENBQUNHLFVBakVMLG9EQWtFWEgsU0FBUyxDQUFDSSxJQWxFQztBQUFBLENBQXRCLEMsQ0FxRVA7Ozs7O0FBRU8sSUFBTWlCLFlBQVksR0FBRyxTQUFmQSxZQUFlLENBQUNuRixNQUFELEVBQWlCUixTQUFqQjtBQUFBLFNBQTBFO0FBQ3BHQSxJQUFBQSxTQUFTLEVBQVRBLFNBRG9HO0FBRXBHc0UsSUFBQUEsU0FBUyxFQUFFRixhQUFhLENBQUM1RCxNQUFELENBRjRFO0FBR3BHb0YsSUFBQUEsSUFBSSxFQUFFbEUsUUFBUSxDQUFDbEIsTUFBRCxDQUhzRjtBQUlwR3FGLElBQUFBLE1BQU0sRUFBRTtBQUFBLGFBQU0sQ0FBTjtBQUFBO0FBSjRGLEdBQTFFO0FBQUEsQ0FBckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBEaXJlY3RMaW5lRXhwb3J0IGZyb20gJy4vZGlyZWN0TGluZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUZXN0U2NoZWR1bGVyIH0gZnJvbSAncnhqcy90ZXN0aW5nJztcbmltcG9ydCB7IFVSTCwgVVJMU2VhcmNoUGFyYW1zIH0gZnJvbSAndXJsJztcbmltcG9ydCB7IEFqYXhSZXF1ZXN0LCBBamF4UmVzcG9uc2UgfSBmcm9tICdyeGpzL2FqYXgnO1xuaW1wb3J0IHsgQWpheENyZWF0aW9uTWV0aG9kIH0gZnJvbSAncnhqcy9pbnRlcm5hbC9vYnNlcnZhYmxlL2RvbS9BamF4T2JzZXJ2YWJsZSc7XG5cbi8vIE1PQ0sgaGVscGVyc1xuXG5jb25zdCBub3RJbXBsZW1lbnRlZCA9ICgpOiBuZXZlciA9PiB7IHRocm93IG5ldyBFcnJvcignbm90IGltcGxlbWVudGVkJykgfTtcblxuLy8gTU9DSyBBY3Rpdml0eVxuXG5leHBvcnQgY29uc3QgbW9ja0FjdGl2aXR5ID0gKHRleHQ6IHN0cmluZyk6IERpcmVjdExpbmVFeHBvcnQuQWN0aXZpdHkgPT4gKHsgdHlwZTogJ21lc3NhZ2UnLCBmcm9tOiB7IGlkOiAnc2VuZGVyJyB9LCB0ZXh0IH0pO1xuXG4vLyBNT0NLIERpcmVjdExpbmUgU2VydmVyIChzaGFyZWQgc3RhdGUgdXNlZCBieSBPYnNlcnZhYmxlLmFqYXggYW5kIFdlYlNvY2tldCBtb2NrcylcblxuaW50ZXJmYWNlIEFjdGl2aXR5U29ja2V0IHtcbiAgcGxheTogKHN0YXJ0OiBudW1iZXIsIGFmdGVyOiBudW1iZXIpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCB0eXBlIFNvY2tldCA9IFdlYlNvY2tldCAmIEFjdGl2aXR5U29ja2V0O1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbnZlcnNhdGlvbiB7XG4gIHNvY2tldHM6IFNldDxTb2NrZXQ+O1xuICBjb252ZXJzYXRpb25JZDogc3RyaW5nO1xuICBoaXN0b3J5OiBBcnJheTxEaXJlY3RMaW5lRXhwb3J0LkFjdGl2aXR5PjtcbiAgdG9rZW46IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXJ2ZXIge1xuICBzY2hlZHVsZXI6IFRlc3RTY2hlZHVsZXI7XG4gIGNvbnZlcnNhdGlvbjogQ29udmVyc2F0aW9uO1xufVxuXG5jb25zdCB0b2tlblByZWZpeCA9ICd0b2tlbic7XG5cbmV4cG9ydCBjb25zdCBtb2NrU2VydmVyID0gKHNjaGVkdWxlcjogVGVzdFNjaGVkdWxlcik6IFNlcnZlciA9PiAoe1xuICBzY2hlZHVsZXIsXG4gIGNvbnZlcnNhdGlvbjoge1xuICAgIHNvY2tldHM6IG5ldyBTZXQ8U29ja2V0PigpLFxuICAgIGNvbnZlcnNhdGlvbklkOiAnT25lQ29udmVyc2F0aW9uJyxcbiAgICBoaXN0b3J5OiBbXSxcbiAgICB0b2tlbjogdG9rZW5QcmVmaXggKyAnMScsXG4gIH1cbn0pO1xuXG5jb25zdCB0b2tlblJlc3BvbnNlID0gKHNlcnZlcjogU2VydmVyLCByZXF1ZXN0OiBBamF4UmVxdWVzdCk6IEFqYXhSZXNwb25zZSB8IG51bGwgPT4ge1xuICBjb25zdCB7IGhlYWRlcnMgfSA9IHJlcXVlc3Q7XG4gIGNvbnN0IGF1dGhvcml6YXRpb24gPSBoZWFkZXJzWydBdXRob3JpemF0aW9uJ107XG4gIGlmIChhdXRob3JpemF0aW9uID09PSBgQmVhcmVyICR7c2VydmVyLmNvbnZlcnNhdGlvbi50b2tlbn1gKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCByZXNwb25zZTogUGFydGlhbDxBamF4UmVzcG9uc2U+ID0ge1xuICAgIHN0YXR1czogNDAzLFxuICB9XG5cbiAgcmV0dXJuIHJlc3BvbnNlIGFzIEFqYXhSZXNwb25zZTtcbn1cblxuZXhwb3J0IGNvbnN0IGluamVjdENsb3NlID0gKHNlcnZlcjogU2VydmVyKTogdm9pZCA9PlxuICBzZXJ2ZXIuY29udmVyc2F0aW9uLnNvY2tldHMuZm9yRWFjaChzID0+IHMub25jbG9zZShuZXcgQ2xvc2VFdmVudCgnY2xvc2UnKSkpO1xuXG5leHBvcnQgY29uc3QgaW5qZWN0TmV3VG9rZW4gPSAoc2VydmVyOiBTZXJ2ZXIpOiB2b2lkID0+IHtcbiAgY29uc3QgeyBjb252ZXJzYXRpb24gfSA9IHNlcnZlcjtcbiAgY29uc3Qgc3VmZml4ID0gTnVtYmVyLnBhcnNlSW50KGNvbnZlcnNhdGlvbi50b2tlbi5zdWJzdHJpbmcodG9rZW5QcmVmaXgubGVuZ3RoKSwgMTApICsgMVxuICBjb252ZXJzYXRpb24udG9rZW4gPSB0b2tlblByZWZpeCArIHN1ZmZpeDtcbn1cblxuY29uc3Qga2V5V2F0ZXJtYXJrID0gJ3dhdGVybWFyayc7XG5cbnR5cGUgYWpheFR5cGUgPSAodXJsT3JSZXF1ZXN0OiBzdHJpbmcgfCBBamF4UmVxdWVzdCkgPT4gQWpheFJlc3BvbnNlO1xuXG4vLyBNT0NLIE9ic2VydmFibGUuYWpheCAodXNlcyBzaGFyZWQgc3RhdGUgaW4gU2VydmVyKVxuXG5leHBvcnQgY29uc3QgbW9ja0FqYXggPSAoc2VydmVyOiBTZXJ2ZXIsIGN1c3RvbUFqYXg/OiBhamF4VHlwZSk6IEFqYXhDcmVhdGlvbk1ldGhvZCA9PiB7XG5cbiAgY29uc3QgdXJpQmFzZSA9IG5ldyBVUkwoJ2h0dHBzOi8vZGlyZWN0bGluZS5ib3RmcmFtZXdvcmsuY29tL3YzL2RpcmVjdGxpbmUvJyk7XG4gIGNvbnN0IGNyZWF0ZVN0cmVhbVVybCA9ICh3YXRlcm1hcms6IG51bWJlcik6IHN0cmluZyA9PiB7XG4gICAgY29uc3QgdXJpID0gbmV3IFVSTCgnY29udmVyc2F0aW9ucy9zdHJlYW0nLCB1cmlCYXNlKTtcbiAgICBpZiAod2F0ZXJtYXJrID4gMCkge1xuICAgICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgICAgcGFyYW1zLmFwcGVuZChrZXlXYXRlcm1hcmssIHdhdGVybWFyay50b1N0cmluZygxMCkpO1xuICAgICAgdXJpLnNlYXJjaCA9IHBhcmFtcy50b1N0cmluZygpO1xuICAgIH1cblxuICAgIHJldHVybiB1cmkudG9TdHJpbmcoKTtcbiAgfVxuXG4gIGNvbnN0IGpheCA9IGN1c3RvbUFqYXggfHwgKCh1cmxPclJlcXVlc3Q6IHN0cmluZyB8IEFqYXhSZXF1ZXN0KTogQWpheFJlc3BvbnNlID0+IHtcbiAgICBpZiAodHlwZW9mIHVybE9yUmVxdWVzdCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigpO1xuICAgIH1cblxuICAgIGNvbnN0IHVyaSA9IG5ldyBVUkwodXJsT3JSZXF1ZXN0LnVybCk7XG5cbiAgICBjb25zdCB7IHBhdGhuYW1lLCBzZWFyY2hQYXJhbXMgfSA9IHVyaTtcblxuICAgIGNvbnN0IHBhcnRzID0gcGF0aG5hbWUuc3BsaXQoJy8nKTtcblxuICAgIGlmIChwYXJ0c1szXSA9PT0gJ3Rva2VucycgJiYgcGFydHNbNF0gPT09ICdyZWZyZXNoJykge1xuXG4gICAgICBjb25zdCByZXNwb25zZTogUGFydGlhbDxBamF4UmVzcG9uc2U+ID0ge1xuICAgICAgICByZXNwb25zZTogeyB0b2tlbjogc2VydmVyLmNvbnZlcnNhdGlvbi50b2tlbiB9XG4gICAgICB9O1xuXG4gICAgICByZXR1cm4gcmVzcG9uc2UgYXMgQWpheFJlc3BvbnNlO1xuICAgIH1cblxuICAgIGlmIChwYXJ0c1szXSAhPT0gJ2NvbnZlcnNhdGlvbnMnKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoKTtcbiAgICB9XG5cbiAgICBpZiAocGFydHMubGVuZ3RoID09PSA0KSB7XG4gICAgICBjb25zdCBjb252ZXJzYXRpb246IERpcmVjdExpbmVFeHBvcnQuQ29udmVyc2F0aW9uID0ge1xuICAgICAgICBjb252ZXJzYXRpb25JZDogc2VydmVyLmNvbnZlcnNhdGlvbi5jb252ZXJzYXRpb25JZCxcbiAgICAgICAgdG9rZW46IHNlcnZlci5jb252ZXJzYXRpb24udG9rZW4sXG4gICAgICAgIHN0cmVhbVVybDogY3JlYXRlU3RyZWFtVXJsKDApLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgcmVzcG9uc2U6IFBhcnRpYWw8QWpheFJlc3BvbnNlPiA9IHtcbiAgICAgICAgcmVzcG9uc2U6IGNvbnZlcnNhdGlvbixcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHJlc3BvbnNlIGFzIEFqYXhSZXNwb25zZTtcbiAgICB9XG5cbiAgICBpZiAocGFydHNbNF0gIT09IHNlcnZlci5jb252ZXJzYXRpb24uY29udmVyc2F0aW9uSWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcigpO1xuICAgIH1cblxuICAgIGlmIChwYXJ0c1s1XSA9PT0gJ2FjdGl2aXRpZXMnKSB7XG4gICAgICBjb25zdCByZXNwb25zZVRva2VuID0gdG9rZW5SZXNwb25zZShzZXJ2ZXIsIHVybE9yUmVxdWVzdCk7XG4gICAgICBpZiAocmVzcG9uc2VUb2tlbiAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gcmVzcG9uc2VUb2tlbjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYWN0aXZpdHk6IERpcmVjdExpbmVFeHBvcnQuQWN0aXZpdHkgPSB1cmxPclJlcXVlc3QuYm9keTtcblxuICAgICAgY29uc3QgYWZ0ZXIgPSBzZXJ2ZXIuY29udmVyc2F0aW9uLmhpc3RvcnkucHVzaChhY3Rpdml0eSk7XG4gICAgICBjb25zdCBzdGFydCA9IGFmdGVyIC0gMTtcblxuICAgICAgZm9yIChjb25zdCBzb2NrZXQgb2Ygc2VydmVyLmNvbnZlcnNhdGlvbi5zb2NrZXRzKSB7XG4gICAgICAgIHNvY2tldC5wbGF5KHN0YXJ0LCBhZnRlcik7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBQYXJ0aWFsPEFqYXhSZXNwb25zZT4gPSB7XG4gICAgICAgIHJlc3BvbnNlOiB7IGlkOiAnbWVzc2FnZUlkJyB9LFxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzcG9uc2UgYXMgQWpheFJlc3BvbnNlO1xuICAgIH0gZWxzZSBpZiAocGFydHMubGVuZ3RoID09PSA1KSB7XG4gICAgICBjb25zdCByZXNwb25zZVRva2VuID0gdG9rZW5SZXNwb25zZShzZXJ2ZXIsIHVybE9yUmVxdWVzdCk7XG4gICAgICBpZiAocmVzcG9uc2VUb2tlbiAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gcmVzcG9uc2VUb2tlbjtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgd2F0ZXJtYXJrID0gc2VhcmNoUGFyYW1zLmdldCgnd2F0ZXJtYXJrJyk7XG4gICAgICBjb25zdCBzdGFydCA9IE51bWJlci5wYXJzZUludCh3YXRlcm1hcmssIDEwKTtcblxuICAgICAgY29uc3QgY29udmVyc2F0aW9uOiBEaXJlY3RMaW5lRXhwb3J0LkNvbnZlcnNhdGlvbiA9IHtcbiAgICAgICAgY29udmVyc2F0aW9uSWQ6IHNlcnZlci5jb252ZXJzYXRpb24uY29udmVyc2F0aW9uSWQsXG4gICAgICAgIHRva2VuOiBzZXJ2ZXIuY29udmVyc2F0aW9uLnRva2VuLFxuICAgICAgICBzdHJlYW1Vcmw6IGNyZWF0ZVN0cmVhbVVybChzdGFydCksXG4gICAgICB9O1xuXG4gICAgICBjb25zdCByZXNwb25zZTogUGFydGlhbDxBamF4UmVzcG9uc2U+ID0ge1xuICAgICAgICByZXNwb25zZTogY29udmVyc2F0aW9uLFxuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzcG9uc2UgYXMgQWpheFJlc3BvbnNlO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcigpO1xuICB9KTtcblxuICBjb25zdCBtZXRob2QgPSAodXJsT3JSZXF1ZXN0OiBzdHJpbmcgfCBBamF4UmVxdWVzdCk6IE9ic2VydmFibGU8QWpheFJlc3BvbnNlPiA9PlxuICAgIG5ldyBPYnNlcnZhYmxlPEFqYXhSZXNwb25zZT4oc3Vic2NyaWJlciA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBzdWJzY3JpYmVyLm5leHQoamF4KHVybE9yUmVxdWVzdCkpO1xuICAgICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBzdWJzY3JpYmVyLmVycm9yKGVycm9yKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICB0eXBlIFZhbHVlVHlwZTxULCBWPiA9IHtcbiAgICBbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzIFYgPyBUW0tdIDogbmV2ZXI7XG4gIH1cblxuICB0eXBlIFByb3BlcnRpZXMgPSBWYWx1ZVR5cGU8QWpheENyZWF0aW9uTWV0aG9kLCBGdW5jdGlvbj47XG5cbiAgY29uc3QgcHJvcGVydGllczogUHJvcGVydGllcyA9IHtcbiAgICBnZXQ6ICh1cmw6IHN0cmluZywgaGVhZGVycz86IE9iamVjdCk6IE9ic2VydmFibGU8QWpheFJlc3BvbnNlPiA9PiBub3RJbXBsZW1lbnRlZCgpLFxuICAgIHBvc3Q6ICh1cmw6IHN0cmluZywgYm9keT86IGFueSwgaGVhZGVycz86IE9iamVjdCk6IE9ic2VydmFibGU8QWpheFJlc3BvbnNlPiA9PiBub3RJbXBsZW1lbnRlZCgpLFxuICAgIHB1dDogKHVybDogc3RyaW5nLCBib2R5PzogYW55LCBoZWFkZXJzPzogT2JqZWN0KTogT2JzZXJ2YWJsZTxBamF4UmVzcG9uc2U+ID0+IG5vdEltcGxlbWVudGVkKCksXG4gICAgcGF0Y2g6ICh1cmw6IHN0cmluZywgYm9keT86IGFueSwgaGVhZGVycz86IE9iamVjdCk6IE9ic2VydmFibGU8QWpheFJlc3BvbnNlPiA9PiBub3RJbXBsZW1lbnRlZCgpLFxuICAgIGRlbGV0ZTogKHVybDogc3RyaW5nLCBoZWFkZXJzPzogT2JqZWN0KTogT2JzZXJ2YWJsZTxBamF4UmVzcG9uc2U+ID0+IG5vdEltcGxlbWVudGVkKCksXG4gICAgZ2V0SlNPTjogKHVybDogc3RyaW5nLCBoZWFkZXJzPzogT2JqZWN0KSA9PiBub3RJbXBsZW1lbnRlZCgpLFxuICB9O1xuXG4gIHJldHVybiBPYmplY3QuYXNzaWduKG1ldGhvZCwgcHJvcGVydGllcyk7XG59XG5cbi8vIE1PQ0sgV2ViU29ja2V0ICh1c2VzIHNoYXJlZCBzdGF0ZSBpbiBTZXJ2ZXIpXG5cbnR5cGUgV2ViU29ja2V0Q29uc3RydWN0b3IgPSB0eXBlb2YgV2ViU29ja2V0O1xudHlwZSBFdmVudEhhbmRsZXI8RSBleHRlbmRzIEV2ZW50PiA9ICh0aGlzOiBXZWJTb2NrZXQsIGV2OiBFKSA9PiBhbnk7XG5cbmV4cG9ydCBjb25zdCBtb2NrV2ViU29ja2V0ID0gKHNlcnZlcjogU2VydmVyKTogV2ViU29ja2V0Q29uc3RydWN0b3IgPT5cbiAgY2xhc3MgTW9ja1dlYlNvY2tldCBpbXBsZW1lbnRzIFdlYlNvY2tldCwgQWN0aXZpdHlTb2NrZXQge1xuICAgIGNvbnN0cnVjdG9yKHVybDogc3RyaW5nLCBwcm90b2NvbHM/OiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuXG4gICAgICBzZXJ2ZXIuc2NoZWR1bGVyLnNjaGVkdWxlKCgpID0+IHtcbiAgICAgICAgdGhpcy5yZWFkeVN0YXRlID0gV2ViU29ja2V0LkNPTk5FQ1RJTkc7XG4gICAgICAgIHNlcnZlci5jb252ZXJzYXRpb24uc29ja2V0cy5hZGQodGhpcyk7XG4gICAgICAgIHRoaXMub25vcGVuKG5ldyBFdmVudCgnb3BlbicpKTtcbiAgICAgICAgdGhpcy5yZWFkeVN0YXRlID0gV2ViU29ja2V0Lk9QRU47XG4gICAgICAgIGNvbnN0IHVyaSA9IG5ldyBVUkwodXJsKTtcbiAgICAgICAgY29uc3Qgd2F0ZXJtYXJrID0gdXJpLnNlYXJjaFBhcmFtcy5nZXQoa2V5V2F0ZXJtYXJrKVxuICAgICAgICBpZiAod2F0ZXJtYXJrICE9PSBudWxsKSB7XG4gICAgICAgICAgY29uc3Qgc3RhcnQgPSBOdW1iZXIucGFyc2VJbnQod2F0ZXJtYXJrLCAxMCk7XG4gICAgICAgICAgdGhpcy5wbGF5KHN0YXJ0LCBzZXJ2ZXIuY29udmVyc2F0aW9uLmhpc3RvcnkubGVuZ3RoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcGxheShzdGFydDogbnVtYmVyLCBhZnRlcjogbnVtYmVyKSB7XG5cbiAgICAgIGNvbnN0IHsgY29udmVyc2F0aW9uOiB7IGhpc3RvcnkgfSB9ID0gc2VydmVyO1xuICAgICAgY29uc3QgYWN0aXZpdGllcyA9IGhpc3Rvcnkuc2xpY2Uoc3RhcnQsIGFmdGVyKTtcbiAgICAgIGNvbnN0IHdhdGVybWFyayA9IGhpc3RvcnkubGVuZ3RoLnRvU3RyaW5nKCk7XG4gICAgICBjb25zdCBhY3Rpdml0eUdyb3VwOiBEaXJlY3RMaW5lRXhwb3J0LkFjdGl2aXR5R3JvdXAgPSB7XG4gICAgICAgIGFjdGl2aXRpZXMsXG4gICAgICAgIHdhdGVybWFyayxcbiAgICAgIH1cblxuICAgICAgY29uc3QgbWVzc2FnZSA9IG5ldyBNZXNzYWdlRXZlbnQoJ3R5cGUnLCB7IGRhdGE6IEpTT04uc3RyaW5naWZ5KGFjdGl2aXR5R3JvdXApIH0pO1xuXG4gICAgICB0aGlzLm9ubWVzc2FnZShtZXNzYWdlKTtcbiAgICB9XG5cbiAgICBiaW5hcnlUeXBlOiBCaW5hcnlUeXBlID0gJ2FycmF5YnVmZmVyJztcbiAgICByZWFkb25seSBidWZmZXJlZEFtb3VudDogbnVtYmVyID0gMDtcbiAgICByZWFkb25seSBleHRlbnNpb25zOiBzdHJpbmcgPSAnJztcbiAgICByZWFkb25seSBwcm90b2NvbDogc3RyaW5nID0gJ2h0dHBzJztcbiAgICByZWFkeVN0YXRlOiBudW1iZXIgPSBXZWJTb2NrZXQuQ0xPU0VEO1xuICAgIHJlYWRvbmx5IHVybDogc3RyaW5nID0gJyc7XG4gICAgcmVhZG9ubHkgQ0xPU0VEOiBudW1iZXIgPSBXZWJTb2NrZXQuQ0xPU0VEO1xuICAgIHJlYWRvbmx5IENMT1NJTkc6IG51bWJlciA9IFdlYlNvY2tldC5DTE9TSU5HO1xuICAgIHJlYWRvbmx5IENPTk5FQ1RJTkc6IG51bWJlciA9IFdlYlNvY2tldC5DT05ORUNUSU5HO1xuICAgIHJlYWRvbmx5IE9QRU46IG51bWJlciA9IFdlYlNvY2tldC5PUEVOO1xuXG4gICAgb25jbG9zZTogRXZlbnRIYW5kbGVyPENsb3NlRXZlbnQ+O1xuICAgIG9uZXJyb3I6IEV2ZW50SGFuZGxlcjxFdmVudD47XG4gICAgb25tZXNzYWdlOiBFdmVudEhhbmRsZXI8TWVzc2FnZUV2ZW50PjtcbiAgICBvbm9wZW46IEV2ZW50SGFuZGxlcjxFdmVudD47XG5cbiAgICBjbG9zZShjb2RlPzogbnVtYmVyLCByZWFzb24/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgIHRoaXMucmVhZHlTdGF0ZSA9IFdlYlNvY2tldC5DTE9TSU5HO1xuICAgICAgdGhpcy5vbmNsb3NlKG5ldyBDbG9zZUV2ZW50KCdjbG9zZScpKVxuICAgICAgc2VydmVyLmNvbnZlcnNhdGlvbi5zb2NrZXRzLmRlbGV0ZSh0aGlzKTtcbiAgICAgIHRoaXMucmVhZHlTdGF0ZSA9IFdlYlNvY2tldC5DTE9TRUQ7XG4gICAgfVxuXG4gICAgc2VuZChkYXRhOiBzdHJpbmcgfCBBcnJheUJ1ZmZlckxpa2UgfCBCbG9iIHwgQXJyYXlCdWZmZXJWaWV3KTogdm9pZCB7XG4gICAgfVxuXG4gICAgYWRkRXZlbnRMaXN0ZW5lcigpIHsgdGhyb3cgbmV3IEVycm9yKCk7IH1cbiAgICByZW1vdmVFdmVudExpc3RlbmVyKCkgeyB0aHJvdyBuZXcgRXJyb3IoKTsgfVxuICAgIGRpc3BhdGNoRXZlbnQoKTogYm9vbGVhbiB7IHRocm93IG5ldyBFcnJvcigpOyB9XG5cbiAgICBzdGF0aWMgQ0xPU0VEID0gV2ViU29ja2V0LkNMT1NFRDtcbiAgICBzdGF0aWMgQ0xPU0lORyA9IFdlYlNvY2tldC5DTE9TSU5HO1xuICAgIHN0YXRpYyBDT05ORUNUSU5HID0gV2ViU29ja2V0LkNPTk5FQ1RJTkc7XG4gICAgc3RhdGljIE9QRU4gPSBXZWJTb2NrZXQuT1BFTjtcbiAgfTtcblxuLy8gTU9DSyBzZXJ2aWNlcyAodG9wLWxldmVsIGFnZ3JlZ2F0aW9uIG9mIGFsbCBtb2NrcylcblxuZXhwb3J0IGNvbnN0IG1vY2tTZXJ2aWNlcyA9IChzZXJ2ZXI6IFNlcnZlciwgc2NoZWR1bGVyOiBUZXN0U2NoZWR1bGVyKTogRGlyZWN0TGluZUV4cG9ydC5TZXJ2aWNlcyA9PiAoe1xuICBzY2hlZHVsZXIsXG4gIFdlYlNvY2tldDogbW9ja1dlYlNvY2tldChzZXJ2ZXIpLFxuICBhamF4OiBtb2NrQWpheChzZXJ2ZXIpLFxuICByYW5kb206ICgpID0+IDAsXG59KTtcbiJdfQ== |
{ | ||
"name": "botframework-directlinejs-tmp", | ||
"version": "1.0.8", | ||
"version": "1.1.0", | ||
"description": "Client library for the Microsoft Bot Framework Direct Line 3.0 protocol", | ||
@@ -29,39 +29,43 @@ "files": [ | ||
"dependencies": { | ||
"@babel/runtime": "^7.7.7", | ||
"rxjs": "6.5.4", | ||
"tslint": "^5.20.1" | ||
"@babel/runtime": "^7.11.2", | ||
"botframework-streaming": "4.10.1", | ||
"core-js": "^3.6.5", | ||
"cross-fetch": "^3.0.5", | ||
"rxjs": "6.6.2", | ||
"url-search-params-polyfill": "^8.1.0", | ||
"tslint": "^6.1.3" | ||
}, | ||
"devDependencies": { | ||
"@babel/cli": "^7.7.7", | ||
"@babel/core": "^7.7.7", | ||
"@babel/plugin-proposal-class-properties": "^7.7.4", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.7.7", | ||
"@babel/plugin-transform-runtime": "^7.7.6", | ||
"@babel/preset-env": "^7.7.7", | ||
"@babel/preset-typescript": "^7.7.7", | ||
"@types/jest": "^24.0.25", | ||
"@types/node": "^13.1.2", | ||
"@babel/cli": "^7.11.6", | ||
"@babel/core": "^7.11.6", | ||
"@babel/plugin-proposal-class-properties": "^7.10.4", | ||
"@babel/plugin-proposal-object-rest-spread": "^7.11.0", | ||
"@babel/plugin-transform-runtime": "^7.11.5", | ||
"@babel/preset-env": "^7.11.5", | ||
"@babel/preset-typescript": "^7.10.4", | ||
"@types/jest": "^26.0.13", | ||
"@types/node": "^14.6.4", | ||
"@types/p-defer": "^2.0.0", | ||
"babel-jest": "^24.9.0", | ||
"babel-jest": "^26.3.0", | ||
"babel-plugin-istanbul": "^6.0.0", | ||
"babel-plugin-transform-inline-environment-variables": "^0.4.3", | ||
"concurrently": "^5.0.2", | ||
"concurrently": "^5.3.0", | ||
"dotenv": "^8.2.0", | ||
"get-port": "^5.1.0", | ||
"global-agent": "^2.1.7", | ||
"get-port": "^5.1.1", | ||
"global-agent": "^2.1.12", | ||
"has-resolved": "^1.1.0", | ||
"http-proxy": "^1.18.0", | ||
"jest": "^24.9.0", | ||
"http-proxy": "^1.18.1", | ||
"jest": "^26.4.2", | ||
"jest-environment-jsdom-fourteen": "^1.0.1", | ||
"jsdom": "^15.2.1", | ||
"jsdom": "^16.4.0", | ||
"node-fetch": "^2.6.0", | ||
"on-error-resume-next": "^1.1.0", | ||
"restify": "^8.5.1", | ||
"rimraf": "^3.0.0", | ||
"simple-update-in": "^2.1.1", | ||
"typescript": "^3.7.4", | ||
"webpack": "^4.41.5", | ||
"webpack-cli": "^3.3.10", | ||
"rimraf": "^3.0.2", | ||
"simple-update-in": "^2.2.0", | ||
"typescript": "^4.0.2", | ||
"webpack": "^4.44.1", | ||
"webpack-cli": "^3.3.12", | ||
"webpack-visualizer-plugin": "^0.1.11" | ||
} | ||
} |
@@ -80,3 +80,7 @@ ![Bot Framework DirectLineJS](./docs/media/FrameWorkDirectLineJS@1x.png) | ||
webSocket: /* optional: false if you want to use polling GET to receive messages. Defaults to true (use WebSocket). */, | ||
pollingInterval: /* optional: set polling interval in milliseconds. Default to 1000 */, | ||
pollingInterval: /* optional: set polling interval in milliseconds. Defaults to 1000 */, | ||
timeout: /* optional: a timeout in milliseconds for requests to the bot. Defaults to 20000 */, | ||
conversationStartProperties: { /* optional: properties to send to the bot on conversation start */ | ||
locale: 'en-US' | ||
} | ||
}); | ||
@@ -83,0 +87,0 @@ ``` |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Mixed license
License(Experimental) Package contains multiple licenses.
Found 1 instance in 1 package
10088289
19
0
4686
234
7
1
+ Addedcore-js@^3.6.5
+ Addedcross-fetch@^3.0.5
+ Added@types/node@22.9.0(transitive)
+ Added@types/ws@6.0.4(transitive)
+ Addedbotframework-streaming@4.10.1(transitive)
+ Addedcore-js@3.39.0(transitive)
+ Addedcross-fetch@3.1.8(transitive)
+ Addednode-fetch@2.7.0(transitive)
+ Addedrxjs@6.6.2(transitive)
+ Addedtr46@0.0.3(transitive)
+ Addedtslint@6.1.3(transitive)
+ Addedundici-types@6.19.8(transitive)
+ Addedurl-search-params-polyfill@8.2.5(transitive)
+ Addeduuid@3.4.0(transitive)
+ Addedwebidl-conversions@3.0.1(transitive)
+ Addedwhatwg-url@5.0.0(transitive)
+ Addedws@7.5.10(transitive)
- Removedrxjs@6.5.4(transitive)
- Removedtslint@5.20.1(transitive)
Updated@babel/runtime@^7.11.2
Updatedrxjs@6.6.2
Updatedtslint@^6.1.3