UNPKG

ngx-amap

Version:

[![npm](https://img.shields.io/npm/v/ngx-amap.svg)][npm-badge-url] [![npm](https://img.shields.io/npm/dm/ngx-amap.svg)][npm-badge-url] [![Build Status](https://travis-ci.org/xieziyu/ngx-amap.svg?branch=master)][ci-url]

293 lines 16 kB
/** * @fileoverview added by tsickle * Generated from: services/amap-autocomplete/amap-autocomplete.service.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable, NgZone } from '@angular/core'; import { ReplaySubject, Observable } from 'rxjs'; import { map, switchMap } from 'rxjs/operators'; import { AmapPluginLoaderService } from '../../shared/amap-plugin-loader.service'; import { EventBinderService } from '../../shared/event-binder.service'; import { LoggerService } from '../../shared/logger/logger.service'; import * as i0 from "@angular/core"; import * as i1 from "../../shared/amap-plugin-loader.service"; import * as i2 from "../../shared/event-binder.service"; import * as i3 from "../../shared/logger/logger.service"; /** @type {?} */ var TAG = 'AmapAutocomplete'; export var AMapAutocomplete; (function (AMapAutocomplete) { /** * @record */ function Options() { } AMapAutocomplete.Options = Options; if (false) { /** * 输入提示时限定POI类型,多个类型用“|”分隔 * @type {?|undefined} */ Options.prototype.type; /** * 输入提示时限定城市 * @type {?|undefined} */ Options.prototype.city; /** * 返回的数据类型 * @type {?|undefined} */ Options.prototype.datatype; /** * 是否强制限制在设置的城市内搜索 * @type {?|undefined} */ Options.prototype.citylimit; /** * 指定输入框 * @type {?|undefined} */ Options.prototype.input; /** * 指定输出面板 * @type {?|undefined} */ Options.prototype.output; /** * 是否在input位于页面较下方的时候自动将输入面板显示在input上方以避免被遮挡 * @type {?|undefined} */ Options.prototype.outPutDirAuto; } /** * @record */ function Tip() { } AMapAutocomplete.Tip = Tip; if (false) { /** * 名称 * @type {?} */ Tip.prototype.name; /** * 所属区域 * @type {?} */ Tip.prototype.district; /** * 区域编码 * @type {?} */ Tip.prototype.adcode; /** * 地址 * @type {?} */ Tip.prototype.address; /** * 城市 * @type {?} */ Tip.prototype.city; /** * ID * @type {?} */ Tip.prototype.id; /** * 坐标经纬度 * @type {?} */ Tip.prototype.location; /** * 类型编码 * @type {?} */ Tip.prototype.typecode; } /** * @record */ function SearchResult() { } AMapAutocomplete.SearchResult = SearchResult; if (false) { /** * 查询状态说明 * @type {?} */ SearchResult.prototype.info; /** * 输入提示条数 * @type {?} */ SearchResult.prototype.count; /** * 输入提示列表 * @type {?} */ SearchResult.prototype.tips; } })(AMapAutocomplete || (AMapAutocomplete = {})); /** * @record */ export function AutocompleteSearchResult() { } if (false) { /** @type {?} */ AutocompleteSearchResult.prototype.status; /** @type {?} */ AutocompleteSearchResult.prototype.result; } var AmapAutocompleteService = /** @class */ (function () { function AmapAutocompleteService(plugin, binder, logger, ngZone) { this.plugin = plugin; this.binder = binder; this.logger = logger; this.ngZone = ngZone; this.ac$ = new ReplaySubject(1); } /** * 获取插件 */ /** * 获取插件 * @return {?} */ AmapAutocompleteService.prototype.get = /** * 获取插件 * @return {?} */ function () { return this.ac$.asObservable(); }; /** * 侦听事件 */ /** * 侦听事件 * @param {?} event * @return {?} */ AmapAutocompleteService.prototype.on = /** * 侦听事件 * @param {?} event * @return {?} */ function (event) { return this.binder.bindEvent(this.get(), event); }; /** * 创建插件 */ /** * 创建插件 * @param {?} options * @return {?} */ AmapAutocompleteService.prototype.create = /** * 创建插件 * @param {?} options * @return {?} */ function (options) { var _this = this; return this.plugin.load('AMap.Autocomplete').pipe(map((/** * @return {?} */ function () { _this.ac = _this.ngZone.runOutsideAngular((/** * @return {?} */ function () { return new AMap.Autocomplete(options); })); _this.logger.d(TAG, 'new autocomplete created.'); _this.ac$.next(_this.ac); _this.ac$.complete(); return _this.ac; }))); }; /** * 搜索 */ /** * 搜索 * @param {?} address * @return {?} */ AmapAutocompleteService.prototype.search = /** * 搜索 * @param {?} address * @return {?} */ function (address) { return this.get().pipe(switchMap((/** * @param {?} ac * @return {?} */ function (ac) { return new Observable((/** * @param {?} observer * @return {?} */ function (observer) { ac.search(address, (/** * @param {?} status * @param {?} result * @return {?} */ function (status, result) { observer.next({ status: status, result: result }); observer.complete(); })); })); }))); }; AmapAutocompleteService.decorators = [ { type: Injectable, args: [{ providedIn: 'root', },] } ]; /** @nocollapse */ AmapAutocompleteService.ctorParameters = function () { return [ { type: AmapPluginLoaderService }, { type: EventBinderService }, { type: LoggerService }, { type: NgZone } ]; }; /** @nocollapse */ AmapAutocompleteService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function AmapAutocompleteService_Factory() { return new AmapAutocompleteService(i0.ɵɵinject(i1.AmapPluginLoaderService), i0.ɵɵinject(i2.EventBinderService), i0.ɵɵinject(i3.LoggerService), i0.ɵɵinject(i0.NgZone)); }, token: AmapAutocompleteService, providedIn: "root" }); return AmapAutocompleteService; }()); export { AmapAutocompleteService }; if (false) { /** * @type {?} * @private */ AmapAutocompleteService.prototype.ac; /** * @type {?} * @private */ AmapAutocompleteService.prototype.ac$; /** * @type {?} * @private */ AmapAutocompleteService.prototype.plugin; /** * @type {?} * @private */ AmapAutocompleteService.prototype.binder; /** * @type {?} * @private */ AmapAutocompleteService.prototype.logger; /** * @type {?} * @private */ AmapAutocompleteService.prototype.ngZone; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1hcC1hdXRvY29tcGxldGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1hbWFwLyIsInNvdXJjZXMiOlsic2VydmljZXMvYW1hcC1hdXRvY29tcGxldGUvYW1hcC1hdXRvY29tcGxldGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQUUsVUFBVSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7SUFJN0QsR0FBRyxHQUFHLGtCQUFrQjtBQUU5QixNQUFNLEtBQVcsZ0JBQWdCLENBaUZoQztBQWpGRCxXQUFpQixnQkFBZ0I7Ozs7SUFFL0Isc0JBNkJDOzs7Ozs7O1FBekJDLHVCQUFjOzs7OztRQUlkLHVCQUFjOzs7OztRQUlkLDJCQUFvQjs7Ozs7UUFJcEIsNEJBQW9COzs7OztRQUlwQix3QkFBa0M7Ozs7O1FBSWxDLHlCQUFpQzs7Ozs7UUFJakMsZ0NBQXdCOzs7OztJQUUxQixrQkFpQ0M7Ozs7Ozs7UUE3QkMsbUJBQWE7Ozs7O1FBSWIsdUJBQWlCOzs7OztRQUlqQixxQkFBZTs7Ozs7UUFJZixzQkFBZ0I7Ozs7O1FBSWhCLG1CQUFZOzs7OztRQUlaLGlCQUFXOzs7OztRQUlYLHVCQUFzQjs7Ozs7UUFJdEIsdUJBQWlCOzs7OztJQUVuQiwyQkFhQzs7Ozs7OztRQVRDLDRCQUFhOzs7OztRQUliLDZCQUFjOzs7OztRQUlkLDRCQUFZOztBQUdoQixDQUFDLEVBakZnQixnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBaUZoQzs7OztBQUVELDhDQUdDOzs7SUFGQywwQ0FBc0M7O0lBQ3RDLDBDQUErQzs7QUFHakQ7SUFPRSxpQ0FDVSxNQUErQixFQUMvQixNQUEwQixFQUMxQixNQUFxQixFQUNyQixNQUFjO1FBSGQsV0FBTSxHQUFOLE1BQU0sQ0FBeUI7UUFDL0IsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUFDMUIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTmhCLFFBQUcsR0FBRyxJQUFJLGFBQWEsQ0FBTSxDQUFDLENBQUMsQ0FBQztJQU9yQyxDQUFDO0lBRUo7O09BRUc7Ozs7O0lBQ0gscUNBQUc7Ozs7SUFBSDtRQUNFLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7Ozs7OztJQUNILG9DQUFFOzs7OztJQUFGLFVBQUcsS0FBYTtRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRDs7T0FFRzs7Ozs7O0lBQ0gsd0NBQU07Ozs7O0lBQU4sVUFBTyxPQUFpQztRQUF4QyxpQkFVQztRQVRDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxJQUFJLENBQy9DLEdBQUc7OztRQUFDO1lBQ0YsS0FBSSxDQUFDLEVBQUUsR0FBRyxLQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQjs7O1lBQUMsY0FBTSxPQUFBLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBOUIsQ0FBOEIsRUFBQyxDQUFDO1lBQzlFLEtBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSwyQkFBMkIsQ0FBQyxDQUFDO1lBQ2hELEtBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN2QixLQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sS0FBSSxDQUFDLEVBQUUsQ0FBQztRQUNqQixDQUFDLEVBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHOzs7Ozs7SUFDSCx3Q0FBTTs7Ozs7SUFBTixVQUFPLE9BQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUNwQixTQUFTOzs7O1FBQ1AsVUFBQSxFQUFFO1lBQ0EsT0FBQSxJQUFJLFVBQVU7Ozs7WUFBQyxVQUFDLFFBQThDO2dCQUM1RCxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU87Ozs7O2dCQUFFLFVBQUMsTUFBTSxFQUFFLE1BQU07b0JBQ2hDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLFFBQUEsRUFBRSxNQUFNLFFBQUEsRUFBRSxDQUFDLENBQUM7b0JBQ2xDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDdEIsQ0FBQyxFQUFDLENBQUM7WUFDTCxDQUFDLEVBQUM7UUFMRixDQUtFLEVBQ0wsQ0FDRixDQUFDO0lBQ0osQ0FBQzs7Z0JBMURGLFVBQVUsU0FBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7Ozs7Z0JBbEdRLHVCQUF1QjtnQkFDdkIsa0JBQWtCO2dCQUNsQixhQUFhO2dCQUxELE1BQU07OztrQ0FBM0I7Q0E4SkMsQUEzREQsSUEyREM7U0F4RFksdUJBQXVCOzs7Ozs7SUFDbEMscUNBQWdCOzs7OztJQUNoQixzQ0FBd0M7Ozs7O0lBR3RDLHlDQUF1Qzs7Ozs7SUFDdkMseUNBQWtDOzs7OztJQUNsQyx5Q0FBNkI7Ozs7O0lBQzdCLHlDQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIE5nWm9uZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmVwbGF5U3ViamVjdCwgT2JzZXJ2YWJsZSwgU3Vic2NyaWJlciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBbWFwUGx1Z2luTG9hZGVyU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9hbWFwLXBsdWdpbi1sb2FkZXIuc2VydmljZSc7XG5pbXBvcnQgeyBFdmVudEJpbmRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zaGFyZWQvZXZlbnQtYmluZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgR2V0dGVyIH0gZnJvbSAnLi4vLi4vYmFzZS9pbnRlcmZhY2VzJztcbmRlY2xhcmUgY29uc3QgQU1hcDogYW55O1xuXG5jb25zdCBUQUcgPSAnQW1hcEF1dG9jb21wbGV0ZSc7XG5cbmV4cG9ydCBuYW1lc3BhY2UgQU1hcEF1dG9jb21wbGV0ZSB7XG4gIGV4cG9ydCB0eXBlIERhdGFUeXBlID0gJ2FsbCcgfCAnYnVzJyB8ICdwb2knIHwgJ2J1c2xpbmUnO1xuICBleHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMge1xuICAgIC8qKlxuICAgICAqIOi+k+WFpeaPkOekuuaXtumZkOWumlBPSeexu+Wei++8jOWkmuS4quexu+Wei+eUqOKAnHzigJ3liIbpmpRcbiAgICAgKi9cbiAgICB0eXBlPzogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIOi+k+WFpeaPkOekuuaXtumZkOWumuWfjuW4glxuICAgICAqL1xuICAgIGNpdHk/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICog6L+U5Zue55qE5pWw5o2u57G75Z6LXG4gICAgICovXG4gICAgZGF0YXR5cGU/OiBEYXRhVHlwZTtcbiAgICAvKipcbiAgICAgKiDmmK/lkKblvLrliLbpmZDliLblnKjorr7nva7nmoTln47luILlhoXmkJzntKJcbiAgICAgKi9cbiAgICBjaXR5bGltaXQ/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIOaMh+Wumui+k+WFpeahhlxuICAgICAqL1xuICAgIGlucHV0Pzogc3RyaW5nIHwgSFRNTElucHV0RWxlbWVudDtcbiAgICAvKipcbiAgICAgKiDmjIflrprovpPlh7rpnaLmnb9cbiAgICAgKi9cbiAgICBvdXRwdXQ/OiBzdHJpbmcgfCBIVE1MRGl2RWxlbWVudDtcbiAgICAvKipcbiAgICAgKiDmmK/lkKblnKhpbnB1dOS9jeS6jumhtemdoui+g+S4i+aWueeahOaXtuWAmeiHquWKqOWwhui+k+WFpemdouadv+aYvuekuuWcqGlucHV05LiK5pa55Lul6YG/5YWN6KKr6YGu5oyhXG4gICAgICovXG4gICAgb3V0UHV0RGlyQXV0bz86IGJvb2xlYW47XG4gIH1cbiAgZXhwb3J0IGludGVyZmFjZSBUaXAge1xuICAgIC8qKlxuICAgICAqIOWQjeensFxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiDmiYDlsZ7ljLrln59cbiAgICAgKi9cbiAgICBkaXN0cmljdDogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIOWMuuWfn+e8lueggVxuICAgICAqL1xuICAgIGFkY29kZTogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIOWcsOWdgFxuICAgICAqL1xuICAgIGFkZHJlc3M6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiDln47luIJcbiAgICAgKi9cbiAgICBjaXR5OiBhbnlbXTtcbiAgICAvKipcbiAgICAgKiBJRFxuICAgICAqL1xuICAgIGlkOiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICog5Z2Q5qCH57uP57qs5bqmXG4gICAgICovXG4gICAgbG9jYXRpb246IEFNYXAuTG5nTGF0O1xuICAgIC8qKlxuICAgICAqIOexu+Wei+e8lueggVxuICAgICAqL1xuICAgIHR5cGVjb2RlOiBzdHJpbmc7XG4gIH1cbiAgZXhwb3J0IGludGVyZmFjZSBTZWFyY2hSZXN1bHQge1xuICAgIC8qKlxuICAgICAqIOafpeivoueKtuaAgeivtOaYjlxuICAgICAqL1xuICAgIGluZm86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiDovpPlhaXmj5DnpLrmnaHmlbBcbiAgICAgKi9cbiAgICBjb3VudDogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIOi+k+WFpeaPkOekuuWIl+ihqFxuICAgICAqL1xuICAgIHRpcHM6IFRpcFtdO1xuICB9XG4gIGV4cG9ydCB0eXBlIFNlYXJjaFN0YXR1cyA9ICdjb21wbGV0ZScgfCAnZXJyb3InIHwgJ25vX2RhdGEnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdCB7XG4gIHN0YXR1czogQU1hcEF1dG9jb21wbGV0ZS5TZWFyY2hTdGF0dXM7XG4gIHJlc3VsdDogc3RyaW5nIHwgQU1hcEF1dG9jb21wbGV0ZS5TZWFyY2hSZXN1bHQ7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBbWFwQXV0b2NvbXBsZXRlU2VydmljZSBpbXBsZW1lbnRzIEdldHRlcjxhbnk+IHtcbiAgcHJpdmF0ZSBhYzogYW55O1xuICBwcml2YXRlIGFjJCA9IG5ldyBSZXBsYXlTdWJqZWN0PGFueT4oMSk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBwbHVnaW46IEFtYXBQbHVnaW5Mb2FkZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgYmluZGVyOiBFdmVudEJpbmRlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBuZ1pvbmU6IE5nWm9uZSxcbiAgKSB7fVxuXG4gIC8qKlxuICAgKiDojrflj5bmj5Lku7ZcbiAgICovXG4gIGdldCgpIHtcbiAgICByZXR1cm4gdGhpcy5hYyQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICog5L6m5ZCs5LqL5Lu2XG4gICAqL1xuICBvbihldmVudDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYmluZGVyLmJpbmRFdmVudCh0aGlzLmdldCgpLCBldmVudCk7XG4gIH1cblxuICAvKipcbiAgICog5Yib5bu65o+S5Lu2XG4gICAqL1xuICBjcmVhdGUob3B0aW9uczogQU1hcEF1dG9jb21wbGV0ZS5PcHRpb25zKSB7XG4gICAgcmV0dXJuIHRoaXMucGx1Z2luLmxvYWQoJ0FNYXAuQXV0b2NvbXBsZXRlJykucGlwZShcbiAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgIHRoaXMuYWMgPSB0aGlzLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBuZXcgQU1hcC5BdXRvY29tcGxldGUob3B0aW9ucykpO1xuICAgICAgICB0aGlzLmxvZ2dlci5kKFRBRywgJ25ldyBhdXRvY29tcGxldGUgY3JlYXRlZC4nKTtcbiAgICAgICAgdGhpcy5hYyQubmV4dCh0aGlzLmFjKTtcbiAgICAgICAgdGhpcy5hYyQuY29tcGxldGUoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWM7XG4gICAgICB9KSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIOaQnOe0olxuICAgKi9cbiAgc2VhcmNoKGFkZHJlc3M6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdldCgpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoXG4gICAgICAgIGFjID0+XG4gICAgICAgICAgbmV3IE9ic2VydmFibGUoKG9ic2VydmVyOiBTdWJzY3JpYmVyPEF1dG9jb21wbGV0ZVNlYXJjaFJlc3VsdD4pID0+IHtcbiAgICAgICAgICAgIGFjLnNlYXJjaChhZGRyZXNzLCAoc3RhdHVzLCByZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgb2JzZXJ2ZXIubmV4dCh7IHN0YXR1cywgcmVzdWx0IH0pO1xuICAgICAgICAgICAgICBvYnNlcnZlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSksXG4gICAgICApLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==