PageSourceSearch

https://www.airgas.com/_ui/desktop/common/js/scripts/components/powerbi.js?v=1789789712

js airgas.com collected 2026-09-24 17:56:59 UTC 566,583 bytes, 13,207 lines download raw bytes

1// powerbi-client v2.23.1
2// Copyright (c) Microsoft Corporation.
3// Licensed under the MIT License.
4(function webpackUniversalModuleDefinition(root, factory) {
5	if(typeof exports === 'object' && typeof module === 'object')
6		module.exports = factory();
7	else if(typeof define === 'function' && define.amd)
8		define([], factory);
9	else if(typeof exports === 'object')
10		exports["powerbi-client"] = factory();
11	else
12		root["powerbi-client"] = factory();
13})(this, () => {
14return /******/ (() => { // webpackBootstrap
15/******/ 	var __webpack_modules__ = ({
16
vendor: 2,518 bytes, lines 17-28
17/***/ "../http-post-message/dist/httpPostMessage.js":
18/*!****************************************************!*\
19  !*** ../http-post-message/dist/httpPostMessage.js ***!
20  \****************************************************/
21/***/ ((module) => {
22
23/*! For license information please see httpPostMessage.js.LICENSE.txt */
24!function(e,t){ true?module.exports=t():0}(self,(()=>(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0}),t.HttpPostMessage=void 0;var o=function(){function e(e,t,o){void 0===t&&(t={}),this.defaultHeaders=t,this.defaultTargetWindow=o,this.windowPostMessageProxy=e}return e.addTrackingProperties=function(e,t){return e.headers=e.headers||{},t&&t.id&&(e.headers.id=t.id),e},e.getTrackingProperties=function(e){return{id:e.headers&&e.headers.id}},e.isErrorMessage=function(e){return"number"==typeof(e&&e.statusCode)&&!(200<=e.statusCode&&e.statusCode<300)},e.prototype.get=function(e,t,o,r){return void 0===t&&(t={}),void 0===o&&(o=this.defaultTargetWindow),this.send({method:"GET",url:e,headers:t},o,r)},e.prototype.post=function(e,t,o,r,s){return void 0===o&&(o={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"POST",url:e,headers:o,body:t},r,s)},e.prototype.put=function(e,t,o,r,s){return void 0===o&&(o={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"PUT",url:e,headers:o,body:t},r,s)},e.prototype.patch=function(e,t,o,r,s){return void 0===o&&(o={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"PATCH",url:e,headers:o,body:t},r,s)},e.prototype.delete=function(e,t,o,r,s){return void 0===t&&(t=null),void 0===o&&(o={}),void 0===r&&(r=this.defaultTargetWindow),this.send({method:"DELETE",url:e,headers:o,body:t},r,s)},e.prototype.send=function(e,t,o){if(void 0===t&&(t=this.defaultTargetWindow),e.headers=this.assign({},this.defaultHeaders,e.headers),!t)throw new Error("target window is not provided.  You must either provide the target window explicitly as argument to request, or specify default target window when constructing instance of this class.");return this.windowPostMessageProxy.postMessage(t,e,o)},e.prototype.assign=function(e){for(var t=[],o=1;o<arguments.length;o++)t[o-1]=arguments[o];if(null==e)throw new TypeError("Cannot convert undefined or null to object");var r=Object(e);return t.forEach((function(e){if(null!=e)for(var t in e)Object.prototype.hasOwnProperty.call(e,t)&&(r[t]=e[t])})),r},e}();t.HttpPostMessage=o})(),e})()));
25//# sourceMappingURL=httpPostMessage.js.map
26
27/***/ }),
28
vendor: 259,769 bytes, lines 29-5814
29/***/ "./node_modules/powerbi-models/dist/models.js":
30/*!****************************************************!*\
31  !*** ./node_modules/powerbi-models/dist/models.js ***!
32  \****************************************************/
33/***/ (function(module) {
34
35// powerbi-models v1.14.0
36// Copyright (c) Microsoft Corporation.
37// Licensed under the MIT License.
38(function webpackUniversalModuleDefinition(root, factory) {
39	if(true)
40		module.exports = factory();
41	else {}
42})(this, () => {
43return /******/ (() => { // webpackBootstrap
44/******/ 	var __webpack_modules__ = ([
45/* 0 */
46/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_612__) {
47
48// Copyright (c) Microsoft Corporation.
49// Licensed under the MIT License.
50var __extends = (this && this.__extends) || (function () {
51    var extendStatics = function (d, b) {
52        extendStatics = Object.setPrototypeOf ||
53            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
54            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
55        return extendStatics(d, b);
56    };
57    return function (d, b) {
58        if (typeof b !== "function" && b !== null)
59            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
60        extendStatics(d, b);
61        function __() { this.constructor = d; }
62        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
63    };
64})();
65Object.defineProperty(exports, "__esModule", ({ value: true }));
66exports.TextAlignment = exports.CommonErrorCodes = exports.BookmarksPlayMode = exports.ExportDataType = exports.QnaMode = exports.PageNavigationPosition = exports.BrowserPrintAdjustmentsMode = exports.AggregateFunction = exports.DataCacheMode = exports.CredentialType = exports.isPercentOfGrandTotal = exports.isColumnAggr = exports.isHierarchyLevelAggr = exports.isHierarchyLevel = exports.isColumn = exports.isMeasure = exports.getFilterType = exports.isBasicFilterWithKeys = exports.isFilterKeyColumnsTarget = exports.HierarchyFilter = exports.AdvancedFilter = exports.TupleFilter = exports.IdentityFilter = exports.BasicFilterWithKeys = exports.BasicFilter = exports.RelativeTimeFilter = exports.RelativeDateFilter = exports.TopNFilter = exports.IncludeExcludeFilter = exports.NotSupportedFilter = exports.Filter = exports.RelativeDateOperators = exports.RelativeDateFilterTimeUnit = exports.FilterType = exports.FiltersLevel = exports.FiltersOperations = exports.MenuLocation = exports.ContrastMode = exports.TokenType = exports.ViewMode = exports.Permissions = exports.SectionVisibility = exports.ReportAlignment = exports.HyperlinkClickBehavior = exports.LayoutType = exports.VisualContainerDisplayMode = exports.BackgroundType = exports.DisplayOption = exports.PageSizeType = exports.TraceType = void 0;
67exports.validateVisualHeader = exports.validateExportDataRequest = exports.validateQnaInterpretInputData = exports.validateLoadQnaConfiguration = exports.validateSaveAsParameters = exports.validateUpdateFiltersRequest = exports.validateFilter = exports.validatePage = exports.validateTileLoad = exports.validateDashboardLoad = exports.validateQuickCreate = exports.validateCreateReport = exports.validatePaginatedReportLoad = exports.validateReportLoad = exports.validateMenuGroupExtension = exports.validateExtension = exports.validateCustomPageSize = exports.validateVisualizationsPane = exports.validateSyncSlicersPane = exports.validateSelectionPane = exports.validatePageNavigationPane = exports.validateFieldsPane = exports.validateFiltersPane = exports.validateBookmarksPane = exports.validatePanes = exports.validateSettings = exports.validateCaptureBookmarkRequest = exports.validateApplyBookmarkStateRequest = exports.validateApplyBookmarkByNameRequest = exports.validateAddBookmarkRequest = exports.validatePlayBookmarkRequest = exports.validateSlicerState = exports.validateSlicer = exports.validateVisualSelector = exports.isIExtensionArray = exports.isIExtensions = exports.isGroupedMenuExtension = exports.isFlatMenuExtension = exports.isReportFiltersArray = exports.isOnLoadFilters = exports.VisualDataRoleKindPreference = exports.VisualDataRoleKind = exports.CommandDisplayOption = exports.SlicerTargetSelector = exports.VisualTypeSelector = exports.VisualSelector = exports.PageSelector = exports.Selector = exports.SortDirection = exports.LegendPosition = void 0;
68exports.validatePrintSettings = exports.validateZoomLevel = exports.validateCustomTheme = exports.validateCommandsSettings = exports.validateVisualSettings = void 0;
69var validator_1 = __nested_webpack_require_612__(1);
70var TraceType;
71(function (TraceType) {
72    TraceType[TraceType["Information"] = 0] = "Information";
73    TraceType[TraceType["Verbose"] = 1] = "Verbose";
74    TraceType[TraceType["Warning"] = 2] = "Warning";
75    TraceType[TraceType["Error"] = 3] = "Error";
76    TraceType[TraceType["ExpectedError"] = 4] = "ExpectedError";
77    TraceType[TraceType["UnexpectedError"] = 5] = "UnexpectedError";
78    TraceType[TraceType["Fatal"] = 6] = "Fatal";
79})(TraceType = exports.TraceType || (exports.TraceType = {}));
80var PageSizeType;
81(function (PageSizeType) {
82    PageSizeType[PageSizeType["Widescreen"] = 0] = "Widescreen";
83    PageSizeType[PageSizeType["Standard"] = 1] = "Standard";
84    PageSizeType[PageSizeType["Cortana"] = 2] = "Cortana";
85    PageSizeType[PageSizeType["Letter"] = 3] = "Letter";
86    PageSizeType[PageSizeType["Custom"] = 4] = "Custom";
87    PageSizeType[PageSizeType["Mobile"] = 5] = "Mobile";
88})(PageSizeType = exports.PageSizeType || (exports.PageSizeType = {}));
89var DisplayOption;
90(function (DisplayOption) {
91    DisplayOption[DisplayOption["FitToPage"] = 0] = "FitToPage";
92    DisplayOption[DisplayOption["FitToWidth"] = 1] = "FitToWidth";
93    DisplayOption[DisplayOption["ActualSize"] = 2] = "ActualSize";
94})(DisplayOption = exports.DisplayOption || (exports.DisplayOption = {}));
95var BackgroundType;
96(function (BackgroundType) {
97    BackgroundType[BackgroundType["Default"] = 0] = "Default";
98    BackgroundType[BackgroundType["Transparent"] = 1] = "Transparent";
99})(BackgroundType = exports.BackgroundType || (exports.BackgroundType = {}));
100var VisualContainerDisplayMode;
101(function (VisualContainerDisplayMode) {
102    VisualContainerDisplayMode[VisualContainerDisplayMode["Visible"] = 0] = "Visible";
103    VisualContainerDisplayMode[VisualContainerDisplayMode["Hidden"] = 1] = "Hidden";
104})(VisualContainerDisplayMode = exports.VisualContainerDisplayMode || (exports.VisualContainerDisplayMode = {}));
105var LayoutType;
106(function (LayoutType) {
107    LayoutType[LayoutType["Master"] = 0] = "Master";
108    LayoutType[LayoutType["Custom"] = 1] = "Custom";
109    LayoutType[LayoutType["MobilePortrait"] = 2] = "MobilePortrait";
110    LayoutType[LayoutType["MobileLandscape"] = 3] = "MobileLandscape";
111})(LayoutType = exports.LayoutType || (exports.LayoutType = {}));
112var HyperlinkClickBehavior;
113(function (HyperlinkClickBehavior) {
114    HyperlinkClickBehavior[HyperlinkClickBehavior["Navigate"] = 0] = "Navigate";
115    HyperlinkClickBehavior[HyperlinkClickBehavior["NavigateAndRaiseEvent"] = 1] = "NavigateAndRaiseEvent";
116    HyperlinkClickBehavior[HyperlinkClickBehavior["RaiseEvent"] = 2] = "RaiseEvent";
117})(HyperlinkClickBehavior = exports.HyperlinkClickBehavior || (exports.HyperlinkClickBehavior = {}));
118var ReportAlignment;
119(function (ReportAlignment) {
120    ReportAlignment[ReportAlignment["Left"] = 0] = "Left";
121    ReportAlignment[ReportAlignment["Center"] = 1] = "Center";
122    ReportAlignment[ReportAlignment["Right"] = 2] = "Right";
123    ReportAlignment[ReportAlignment["None"] = 3] = "None";
124})(ReportAlignment = exports.ReportAlignment || (exports.ReportAlignment = {}));
125var SectionVisibility;
126(function (SectionVisibility) {
127    SectionVisibility[SectionVisibility["AlwaysVisible"] = 0] = "AlwaysVisible";
128    SectionVisibility[SectionVisibility["HiddenInViewMode"] = 1] = "HiddenInViewMode";
129})(SectionVisibility = exports.SectionVisibility || (exports.SectionVisibility = {}));
130var Permissions;
131(function (Permissions) {
132    Permissions[Permissions["Read"] = 0] = "Read";
133    Permissions[Permissions["ReadWrite"] = 1] = "ReadWrite";
134    Permissions[Permissions["Copy"] = 2] = "Copy";
135    Permissions[Permissions["Create"] = 4] = "Create";
136    Permissions[Permissions["All"] = 7] = "All";
137})(Permissions = exports.Permissions || (exports.Permissions = {}));
138var ViewMode;
139(function (ViewMode) {
140    ViewMode[ViewMode["View"] = 0] = "View";
141    ViewMode[ViewMode["Edit"] = 1] = "Edit";
142})(ViewMode = exports.ViewMode || (exports.ViewMode = {}));
143var TokenType;
144(function (TokenType) {
145    TokenType[TokenType["Aad"] = 0] = "Aad";
146    TokenType[TokenType["Embed"] = 1] = "Embed";
147})(TokenType = exports.TokenType || (exports.TokenType = {}));
148var ContrastMode;
149(function (ContrastMode) {
150    ContrastMode[ContrastMode["None"] = 0] = "None";
151    ContrastMode[ContrastMode["HighContrast1"] = 1] = "HighContrast1";
152    ContrastMode[ContrastMode["HighContrast2"] = 2] = "HighContrast2";
153    ContrastMode[ContrastMode["HighContrastBlack"] = 3] = "HighContrastBlack";
154    ContrastMode[ContrastMode["HighContrastWhite"] = 4] = "HighContrastWhite";
155})(ContrastMode = exports.ContrastMode || (exports.ContrastMode = {}));
156var MenuLocation;
157(function (MenuLocation) {
158    MenuLocation[MenuLocation["Bottom"] = 0] = "Bottom";
159    MenuLocation[MenuLocation["Top"] = 1] = "Top";
160})(MenuLocation = exports.MenuLocation || (exports.MenuLocation = {}));
161var FiltersOperations;
162(function (FiltersOperations) {
163    FiltersOperations[FiltersOperations["RemoveAll"] = 0] = "RemoveAll";
164    FiltersOperations[FiltersOperations["ReplaceAll"] = 1] = "ReplaceAll";
165    FiltersOperations[FiltersOperations["Add"] = 2] = "Add";
166    FiltersOperations[FiltersOperations["Replace"] = 3] = "Replace";
167})(FiltersOperations = exports.FiltersOperations || (exports.FiltersOperations = {}));
168var FiltersLevel;
169(function (FiltersLevel) {
170    FiltersLevel[FiltersLevel["Report"] = 0] = "Report";
171    FiltersLevel[FiltersLevel["Page"] = 1] = "Page";
172    FiltersLevel[FiltersLevel["Visual"] = 2] = "Visual";
173})(FiltersLevel = exports.FiltersLevel || (exports.FiltersLevel = {}));
174var FilterType;
175(function (FilterType) {
176    FilterType[FilterType["Advanced"] = 0] = "Advanced";
177    FilterType[FilterType["Basic"] = 1] = "Basic";
178    FilterType[FilterType["Unknown"] = 2] = "Unknown";
179    FilterType[FilterType["IncludeExclude"] = 3] = "IncludeExclude";
180    FilterType[FilterType["RelativeDate"] = 4] = "RelativeDate";
181    FilterType[FilterType["TopN"] = 5] = "TopN";
182    FilterType[FilterType["Tuple"] = 6] = "Tuple";
183    FilterType[FilterType["RelativeTime"] = 7] = "RelativeTime";
184    FilterType[FilterType["Identity"] = 8] = "Identity";
185    FilterType[FilterType["Hierarchy"] = 9] = "Hierarchy";
186})(FilterType = exports.FilterType || (exports.FilterType = {}));
187var RelativeDateFilterTimeUnit;
188(function (RelativeDateFilterTimeUnit) {
189    RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Days"] = 0] = "Days";
190    RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Weeks"] = 1] = "Weeks";
191    RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["CalendarWeeks"] = 2] = "CalendarWeeks";
192    RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Months"] = 3] = "Months";
193    RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["CalendarMonths"] = 4] = "CalendarMonths";
194    RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Years"] = 5] = "Years";
195    RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["CalendarYears"] = 6] = "CalendarYears";
196    RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Minutes"] = 7] = "Minutes";
197    RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit["Hours"] = 8] = "Hours";
198})(RelativeDateFilterTimeUnit = exports.RelativeDateFilterTimeUnit || (exports.RelativeDateFilterTimeUnit = {}));
199var RelativeDateOperators;
200(function (RelativeDateOperators) {
201    RelativeDateOperators[RelativeDateOperators["InLast"] = 0] = "InLast";
202    RelativeDateOperators[RelativeDateOperators["InThis"] = 1] = "InThis";
203    RelativeDateOperators[RelativeDateOperators["InNext"] = 2] = "InNext";
204})(RelativeDateOperators = exports.RelativeDateOperators || (exports.RelativeDateOperators = {}));
205var Filter = /** @class */ (function () {
206    function Filter(target, filterType) {
207        this.target = target;
208        this.filterType = filterType;
209    }
210    Filter.prototype.toJSON = function () {
211        var filter = {
212            $schema: this.schemaUrl,
213            target: this.target,
214            filterType: this.filterType
215        };
216        // Add displaySettings only when defined
217        if (this.displaySettings !== undefined) {
218            filter.displaySettings = this.displaySettings;
219        }
220        return filter;
221    };
222    return Filter;
223}());
224exports.Filter = Filter;
225var NotSupportedFilter = /** @class */ (function (_super) {
226    __extends(NotSupportedFilter, _super);
227    function NotSupportedFilter(target, message, notSupportedTypeName) {
228        var _this = _super.call(this, target, FilterType.Unknown) || this;
229        _this.message = message;
230        _this.notSupportedTypeName = notSupportedTypeName;
231        _this.schemaUrl = NotSupportedFilter.schemaUrl;
232        return _this;
233    }
234    NotSupportedFilter.prototype.toJSON = function () {
235        var filter = _super.prototype.toJSON.call(this);
236        filter.message = this.message;
237        filter.notSupportedTypeName = this.notSupportedTypeName;
238        return filter;
239    };
240    NotSupportedFilter.schemaUrl = "http://powerbi.com/product/schema#notSupported";
241    return NotSupportedFilter;
242}(Filter));
243exports.NotSupportedFilter = NotSupportedFilter;
244var IncludeExcludeFilter = /** @class */ (function (_super) {
245    __extends(IncludeExcludeFilter, _super);
246    function IncludeExcludeFilter(target, isExclude, values) {
247        var _this = _super.call(this, target, FilterType.IncludeExclude) || this;
248        _this.values = values;
249        _this.isExclude = isExclude;
250        _this.schemaUrl = IncludeExcludeFilter.schemaUrl;
251        return _this;
252    }
253    IncludeExcludeFilter.prototype.toJSON = function () {
254        var filter = _super.prototype.toJSON.call(this);
255        filter.isExclude = this.isExclude;
256        filter.values = this.values;
257        return filter;
258    };
259    IncludeExcludeFilter.schemaUrl = "http://powerbi.com/product/schema#includeExclude";
260    return IncludeExcludeFilter;
261}(Filter));
262exports.IncludeExcludeFilter = IncludeExcludeFilter;
263var TopNFilter = /** @class */ (function (_super) {
264    __extends(TopNFilter, _super);
265    function TopNFilter(target, operator, itemCount, orderBy) {
266        var _this = _super.call(this, target, FilterType.TopN) || this;
267        _this.operator = operator;
268        _this.itemCount = itemCount;
269        _this.schemaUrl = TopNFilter.schemaUrl;
270        _this.orderBy = orderBy;
271        return _this;
272    }
273    TopNFilter.prototype.toJSON = function () {
274        var filter = _super.prototype.toJSON.call(this);
275        filter.operator = this.operator;
276        filter.itemCount = this.itemCount;
277        filter.orderBy = this.orderBy;
278        return filter;
279    };
280    TopNFilter.schemaUrl = "http://powerbi.com/product/schema#topN";
281    return TopNFilter;
282}(Filter));
283exports.TopNFilter = TopNFilter;
284var RelativeDateFilter = /** @class */ (function (_super) {
285    __extends(RelativeDateFilter, _super);
286    function RelativeDateFilter(target, operator, timeUnitsCount, timeUnitType, includeToday) {
287        var _this = _super.call(this, target, FilterType.RelativeDate) || this;
288        _this.operator = operator;
289        _this.timeUnitsCount = timeUnitsCount;
290        _this.timeUnitType = timeUnitType;
291        _this.includeToday = includeToday;
292        _this.schemaUrl = RelativeDateFilter.schemaUrl;
293        return _this;
294    }
295    RelativeDateFilter.prototype.toJSON = function () {
296        var filter = _super.prototype.toJSON.call(this);
297        filter.operator = this.operator;
298        filter.timeUnitsCount = this.timeUnitsCount;
299        filter.timeUnitType = this.timeUnitType;
300        filter.includeToday = this.includeToday;
301        return filter;
302    };
303    RelativeDateFilter.schemaUrl = "http://powerbi.com/product/schema#relativeDate";
304    return RelativeDateFilter;
305}(Filter));
306exports.RelativeDateFilter = RelativeDateFilter;
307var RelativeTimeFilter = /** @class */ (function (_super) {
308    __extends(RelativeTimeFilter, _super);
309    function RelativeTimeFilter(target, operator, timeUnitsCount, timeUnitType) {
310        var _this = _super.call(this, target, FilterType.RelativeTime) || this;
311        _this.operator = operator;
312        _this.timeUnitsCount = timeUnitsCount;
313        _this.timeUnitType = timeUnitType;
314        _this.schemaUrl = RelativeTimeFilter.schemaUrl;
315        return _this;
316    }
317    RelativeTimeFilter.prototype.toJSON = function () {
318        var filter = _super.prototype.toJSON.call(this);
319        filter.operator = this.operator;
320        filter.timeUnitsCount = this.timeUnitsCount;
321        filter.timeUnitType = this.timeUnitType;
322        return filter;
323    };
324    RelativeTimeFilter.schemaUrl = "http://powerbi.com/product/schema#relativeTime";
325    return RelativeTimeFilter;
326}(Filter));
327exports.RelativeTimeFilter = RelativeTimeFilter;
328var BasicFilter = /** @class */ (function (_super) {
329    __extends(BasicFilter, _super);
330    function BasicFilter(target, operator) {
331        var values = [];
332        for (var _i = 2; _i < arguments.length; _i++) {
333            values[_i - 2] = arguments[_i];
334        }
335        var _this = _super.call(this, target, FilterType.Basic) || this;
336        _this.operator = operator;
337        _this.schemaUrl = BasicFilter.schemaUrl;
338        if (values.length === 0 && operator !== "All") {
339            throw new Error("values must be a non-empty array unless your operator is \"All\".");
340        }
341        /**
342         * Accept values as array instead of as individual arguments
343         * new BasicFilter('a', 'b', 1, 2);
344         * new BasicFilter('a', 'b', [1,2]);
345         */
346        if (Array.isArray(values[0])) {
347            // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
348            _this.values = values[0];
349        }
350        else {
351            _this.values = values;
352        }
353        return _this;
354    }
355    BasicFilter.prototype.toJSON = function () {
356        var filter = _super.prototype.toJSON.call(this);
357        filter.operator = this.operator;
358        filter.values = this.values;
359        filter.requireSingleSelection = !!this.requireSingleSelection;
360        return filter;
361    };
362    BasicFilter.schemaUrl = "http://powerbi.com/product/schema#basic";
363    return BasicFilter;
364}(Filter));
365exports.BasicFilter = BasicFilter;
366var BasicFilterWithKeys = /** @class */ (function (_super) {
367    __extends(BasicFilterWithKeys, _super);
368    function BasicFilterWithKeys(target, operator, values, keyValues) {
369        var _this = _super.call(this, target, operator, values) || this;
370        _this.keyValues = keyValues;
371        _this.target = target;
372        var numberOfKeys = target.keys ? target.keys.length : 0;
373        if (numberOfKeys > 0 && !keyValues) {
374            throw new Error("You should pass the values to be filtered for each key. You passed: no values and ".concat(numberOfKeys, " keys"));
375        }
376        if (numberOfKeys === 0 && keyValues && keyValues.length > 0) {
377            throw new Error("You passed key values but your target object doesn't contain the keys to be filtered");
378        }
379        for (var _i = 0, _a = _this.keyValues; _i < _a.length; _i++) {
380            var keyValue = _a[_i];
381            if (keyValue) {
382                var lengthOfArray = keyValue.length;
383                if (lengthOfArray !== numberOfKeys) {
384                    throw new Error("Each tuple of key values should contain a value for each of the keys. You passed: ".concat(lengthOfArray, " values and ").concat(numberOfKeys, " keys"));
385                }
386            }
387        }
388        return _this;
389    }
390    BasicFilterWithKeys.prototype.toJSON = function () {
391        var filter = _super.prototype.toJSON.call(this);
392        filter.keyValues = this.keyValues;
393        return filter;
394    };
395    return BasicFilterWithKeys;
396}(BasicFilter));
397exports.BasicFilterWithKeys = BasicFilterWithKeys;
398var IdentityFilter = /** @class */ (function (_super) {
399    __extends(IdentityFilter, _super);
400    function IdentityFilter(target, operator) {
401        var _this = _super.call(this, target, FilterType.Identity) || this;
402        _this.operator = operator;
403        _this.schemaUrl = IdentityFilter.schemaUrl;
404        return _this;
405    }
406    IdentityFilter.prototype.toJSON = function () {
407        var filter = _super.prototype.toJSON.call(this);
408        filter.operator = this.operator;
409        filter.target = this.target;
410        return filter;
411    };
412    IdentityFilter.schemaUrl = "http://powerbi.com/product/schema#identity";
413    return IdentityFilter;
414}(Filter));
415exports.IdentityFilter = IdentityFilter;
416var TupleFilter = /** @class */ (function (_super) {
417    __extends(TupleFilter, _super);
418    function TupleFilter(target, operator, values) {
419        var _this = _super.call(this, target, FilterType.Tuple) || this;
420        _this.operator = operator;
421        _this.schemaUrl = TupleFilter.schemaUrl;
422        _this.values = values;
423        return _this;
424    }
425    TupleFilter.prototype.toJSON = function () {
426        var filter = _super.prototype.toJSON.call(this);
427        filter.operator = this.operator;
428        filter.values = this.values;
429        filter.target = this.target;
430        return filter;
431    };
432    TupleFilter.schemaUrl = "http://powerbi.com/product/schema#tuple";
433    return TupleFilter;
434}(Filter));
435exports.TupleFilter = TupleFilter;
436var AdvancedFilter = /** @class */ (function (_super) {
437    __extends(AdvancedFilter, _super);
438    function AdvancedFilter(target, logicalOperator) {
439        var conditions = [];
440        for (var _i = 2; _i < arguments.length; _i++) {
441            conditions[_i - 2] = arguments[_i];
442        }
443        var _this = _super.call(this, target, FilterType.Advanced) || this;
444        _this.schemaUrl = AdvancedFilter.schemaUrl;
445        // Guard statements
446        if (typeof logicalOperator !== "string" || logicalOperator.length === 0) {
447            // TODO: It would be nicer to list out the possible logical operators.
448            throw new Error("logicalOperator must be a valid operator, You passed: ".concat(logicalOperator));
449        }
450        _this.logicalOperator = logicalOperator;
451        var extractedConditions;
452        /**
453         * Accept conditions as array instead of as individual arguments
454         * new AdvancedFilter('a', 'b', "And", { value: 1, operator: "Equals" }, { value: 2, operator: "IsGreaterThan" });
455         * new AdvancedFilter('a', 'b', "And", [{ value: 1, operator: "Equals" }, { value: 2, operator: "IsGreaterThan" }]);
456         */
457        if (Array.isArray(conditions[0])) {
458            // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
459            extractedConditions = conditions[0];
460        }
461        else {
462            extractedConditions = conditions;
463        }
464        if (extractedConditions.length > 2) {
465            throw new Error("AdvancedFilters may not have more than two conditions. You passed: ".concat(conditions.length));
466        }
467        if (extractedConditions.length === 1 && logicalOperator !== "And") {
468            throw new Error("Logical Operator must be \"And\" when there is only one condition provided");
469        }
470        _this.conditions = extractedConditions;
471        return _this;
472    }
473    AdvancedFilter.prototype.toJSON = function () {
474        var filter = _super.prototype.toJSON.call(this);
475        filter.logicalOperator = this.logicalOperator;
476        filter.conditions = this.conditions;
477        return filter;
478    };
479    AdvancedFilter.schemaUrl = "http://powerbi.com/product/schema#advanced";
480    return AdvancedFilter;
481}(Filter));
482exports.AdvancedFilter = AdvancedFilter;
483var HierarchyFilter = /** @class */ (function (_super) {
484    __extends(HierarchyFilter, _super);
485    function HierarchyFilter(target, hierarchyData) {
486        var _this = _super.call(this, target, FilterType.Hierarchy) || this;
487        _this.schemaUrl = HierarchyFilter.schemaUrl;
488        _this.hierarchyData = hierarchyData;
489        return _this;
490    }
491    HierarchyFilter.prototype.toJSON = function () {
492        var filter = _super.prototype.toJSON.call(this);
493        filter.hierarchyData = this.hierarchyData;
494        filter.target = this.target;
495        return filter;
496    };
497    HierarchyFilter.schemaUrl = "http://powerbi.com/product/schema#hierarchy";
498    return HierarchyFilter;
499}(Filter));
500exports.HierarchyFilter = HierarchyFilter;
501function isFilterKeyColumnsTarget(target) {
502    return isColumn(target) && !!target.keys;
503}
504exports.isFilterKeyColumnsTarget = isFilterKeyColumnsTarget;
505function isBasicFilterWithKeys(filter) {
506    return getFilterType(filter) === FilterType.Basic && !!filter.keyValues;
507}
508exports.isBasicFilterWithKeys = isBasicFilterWithKeys;
509function getFilterType(filter) {
510    if (filter.filterType) {
511        return filter.filterType;
512    }
513    var basicFilter = filter;
514    var advancedFilter = filter;
515    if ((typeof basicFilter.operator === "string")
516        && (Array.isArray(basicFilter.values))) {
517        return FilterType.Basic;
518    }
519    else if ((typeof advancedFilter.logicalOperator === "string")
520        && (Array.isArray(advancedFilter.conditions))) {
521        return FilterType.Advanced;
522    }
523    else {
524        return FilterType.Unknown;
525    }
526}
527exports.getFilterType = getFilterType;
528function isMeasure(arg) {
529    return arg.table !== undefined && arg.measure !== undefined;
530}
531exports.isMeasure = isMeasure;
532function isColumn(arg) {
533    return !!(arg.table && arg.column && !arg.aggregationFunction);
534}
535exports.isColumn = isColumn;
536function isHierarchyLevel(arg) {
537    return !!(arg.table && arg.hierarchy && arg.hierarchyLevel && !arg.aggregationFunction);
538}
539exports.isHierarchyLevel = isHierarchyLevel;
540function isHierarchyLevelAggr(arg) {
541    return !!(arg.table && arg.hierarchy && arg.hierarchyLevel && arg.aggregationFunction);
542}
543exports.isHierarchyLevelAggr = isHierarchyLevelAggr;
544function isColumnAggr(arg) {
545    return !!(arg.table && arg.column && arg.aggregationFunction);
546}
547exports.isColumnAggr = isColumnAggr;
548function isPercentOfGrandTotal(arg) {
549    return !!arg.percentOfGrandTotal;
550}
551exports.isPercentOfGrandTotal = isPercentOfGrandTotal;
552var CredentialType;
553(function (CredentialType) {
554    CredentialType[CredentialType["NoConnection"] = 0] = "NoConnection";
555    CredentialType[CredentialType["OnBehalfOf"] = 1] = "OnBehalfOf";
556    CredentialType[CredentialType["Anonymous"] = 2] = "Anonymous";
557})(CredentialType = exports.CredentialType || (exports.CredentialType = {}));
558var DataCacheMode;
559(function (DataCacheMode) {
560    DataCacheMode[DataCacheMode["Import"] = 0] = "Import";
561    DataCacheMode[DataCacheMode["DirectQuery"] = 1] = "DirectQuery";
562})(DataCacheMode = exports.DataCacheMode || (exports.DataCacheMode = {}));
563var AggregateFunction;
564(function (AggregateFunction) {
565    AggregateFunction[AggregateFunction["Default"] = 1] = "Default";
566    AggregateFunction[AggregateFunction["None"] = 2] = "None";
567    AggregateFunction[AggregateFunction["Sum"] = 3] = "Sum";
568    AggregateFunction[AggregateFunction["Min"] = 4] = "Min";
569    AggregateFunction[AggregateFunction["Max"] = 5] = "Max";
570    AggregateFunction[AggregateFunction["Count"] = 6] = "Count";
571    AggregateFunction[AggregateFunction["Average"] = 7] = "Average";
572    AggregateFunction[AggregateFunction["DistinctCount"] = 8] = "DistinctCount";
573})(AggregateFunction = exports.AggregateFunction || (exports.AggregateFunction = {}));
574var BrowserPrintAdjustmentsMode;
575(function (BrowserPrintAdjustmentsMode) {
576    BrowserPrintAdjustmentsMode[BrowserPrintAdjustmentsMode["Default"] = 0] = "Default";
577    BrowserPrintAdjustmentsMode[BrowserPrintAdjustmentsMode["NoAdjustments"] = 1] = "NoAdjustments";
578})(BrowserPrintAdjustmentsMode = exports.BrowserPrintAdjustmentsMode || (exports.BrowserPrintAdjustmentsMode = {}));
579var PageNavigationPosition;
580(function (PageNavigationPosition) {
581    PageNavigationPosition[PageNavigationPosition["Bottom"] = 0] = "Bottom";
582    PageNavigationPosition[PageNavigationPosition["Left"] = 1] = "Left";
583})(PageNavigationPosition = exports.PageNavigationPosition || (exports.PageNavigationPosition = {}));
584var QnaMode;
585(function (QnaMode) {
586    QnaMode[QnaMode["Interactive"] = 0] = "Interactive";
587    QnaMode[QnaMode["ResultOnly"] = 1] = "ResultOnly";
588})(QnaMode = exports.QnaMode || (exports.QnaMode = {}));
589var ExportDataType;
590(function (ExportDataType) {
591    ExportDataType[ExportDataType["Summarized"] = 0] = "Summarized";
592    ExportDataType[ExportDataType["Underlying"] = 1] = "Underlying";
593})(ExportDataType = exports.ExportDataType || (exports.ExportDataType = {}));
594var BookmarksPlayMode;
595(function (BookmarksPlayMode) {
596    BookmarksPlayMode[BookmarksPlayMode["Off"] = 0] = "Off";
597    BookmarksPlayMode[BookmarksPlayMode["Presentation"] = 1] = "Presentation";
598})(BookmarksPlayMode = exports.BookmarksPlayMode || (exports.BookmarksPlayMode = {}));
599// This is not an enum because enum strings require
600// us to upgrade typeScript version and change SDK build definition
601exports.CommonErrorCodes = {
602    TokenExpired: 'TokenExpired',
603    NotFound: 'PowerBIEntityNotFound',
604    InvalidParameters: 'Invalid parameters',
605    LoadReportFailed: 'LoadReportFailed',
606    NotAuthorized: 'PowerBINotAuthorizedException',
607    FailedToLoadModel: 'ExplorationContainer_FailedToLoadModel_DefaultDetails',
608};
609exports.TextAlignment = {
610    Left: 'left',
611    Center: 'center',
612    Right: 'right',
613};
614exports.LegendPosition = {
615    Top: 'Top',
616    Bottom: 'Bottom',
617    Right: 'Right',
618    Left: 'Left',
619    TopCenter: 'TopCenter',
620    BottomCenter: 'BottomCenter',
621    RightCenter: 'RightCenter',
622    LeftCenter: 'LeftCenter',
623};
624var SortDirection;
625(function (SortDirection) {
626    SortDirection[SortDirection["Ascending"] = 1] = "Ascending";
627    SortDirection[SortDirection["Descending"] = 2] = "Descending";
628})(SortDirection = exports.SortDirection || (exports.SortDirection = {}));
629var Selector = /** @class */ (function () {
630    function Selector(schema) {
631        this.$schema = schema;
632    }
633    Selector.prototype.toJSON = function () {
634        return {
635            $schema: this.$schema
636        };
637    };
638    return Selector;
639}());
640exports.Selector = Selector;
641var PageSelector = /** @class */ (function (_super) {
642    __extends(PageSelector, _super);
643    function PageSelector(pageName) {
644        var _this = _super.call(this, PageSelector.schemaUrl) || this;
645        _this.pageName = pageName;
646        return _this;
647    }
648    PageSelector.prototype.toJSON = function () {
649        var selector = _super.prototype.toJSON.call(this);
650        selector.pageName = this.pageName;
651        return selector;
652    };
653    PageSelector.schemaUrl = "http://powerbi.com/product/schema#pageSelector";
654    return PageSelector;
655}(Selector));
656exports.PageSelector = PageSelector;
657var VisualSelector = /** @class */ (function (_super) {
658    __extends(VisualSelector, _super);
659    function VisualSelector(visualName) {
660        var _this = _super.call(this, VisualSelector.schemaUrl) || this;
661        _this.visualName = visualName;
662        return _this;
663    }
664    VisualSelector.prototype.toJSON = function () {
665        var selector = _super.prototype.toJSON.call(this);
666        selector.visualName = this.visualName;
667        return selector;
668    };
669    VisualSelector.schemaUrl = "http://powerbi.com/product/schema#visualSelector";
670    return VisualSelector;
671}(Selector));
672exports.VisualSelector = VisualSelector;
673var VisualTypeSelector = /** @class */ (function (_super) {
674    __extends(VisualTypeSelector, _super);
675    function VisualTypeSelector(visualType) {
676        var _this = _super.call(this, VisualSelector.schemaUrl) || this;
677        _this.visualType = visualType;
678        return _this;
679    }
680    VisualTypeSelector.prototype.toJSON = function () {
681        var selector = _super.prototype.toJSON.call(this);
682        selector.visualType = this.visualType;
683        return selector;
684    };
685    VisualTypeSelector.schemaUrl = "http://powerbi.com/product/schema#visualTypeSelector";
686    return VisualTypeSelector;
687}(Selector));
688exports.VisualTypeSelector = VisualTypeSelector;
689var SlicerTargetSelector = /** @class */ (function (_super) {
690    __extends(SlicerTargetSelector, _super);
691    function SlicerTargetSelector(target) {
692        var _this = _super.call(this, VisualSelector.schemaUrl) || this;
693        _this.target = target;
694        return _this;
695    }
696    SlicerTargetSelector.prototype.toJSON = function () {
697        var selector = _super.prototype.toJSON.call(this);
698        selector.target = this.target;
699        return selector;
700    };
701    SlicerTargetSelector.schemaUrl = "http://powerbi.com/product/schema#slicerTargetSelector";
702    return SlicerTargetSelector;
703}(Selector));
704exports.SlicerTargetSelector = SlicerTargetSelector;
705var CommandDisplayOption;
706(function (CommandDisplayOption) {
707    CommandDisplayOption[CommandDisplayOption["Enabled"] = 0] = "Enabled";
708    CommandDisplayOption[CommandDisplayOption["Disabled"] = 1] = "Disabled";
709    CommandDisplayOption[CommandDisplayOption["Hidden"] = 2] = "Hidden";
710})(CommandDisplayOption = exports.CommandDisplayOption || (exports.CommandDisplayOption = {}));
711/*
712 * Visual CRUD
713 */
714var VisualDataRoleKind;
715(function (VisualDataRoleKind) {
716    // Indicates that the role should be bound to something that evaluates to a grouping of values.
717    VisualDataRoleKind[VisualDataRoleKind["Grouping"] = 0] = "Grouping";
718    // Indicates that the role should be bound to something that evaluates to a single value in a scope.
719    VisualDataRoleKind[VisualDataRoleKind["Measure"] = 1] = "Measure";
720    // Indicates that the role can be bound to either Grouping or Measure.
721    VisualDataRoleKind[VisualDataRoleKind["GroupingOrMeasure"] = 2] = "GroupingOrMeasure";
722})(VisualDataRoleKind = exports.VisualDataRoleKind || (exports.VisualDataRoleKind = {}));
723// Indicates the visual preference on Grouping or Measure. Only applicable if kind is GroupingOrMeasure.
724var VisualDataRoleKindPreference;
725(function (VisualDataRoleKindPreference) {
726    VisualDataRoleKindPreference[VisualDataRoleKindPreference["Measure"] = 0] = "Measure";
727    VisualDataRoleKindPreference[VisualDataRoleKindPreference["Grouping"] = 1] = "Grouping";
728})(VisualDataRoleKindPreference = exports.VisualDataRoleKindPreference || (exports.VisualDataRoleKindPreference = {}));
729function isOnLoadFilters(filters) {
730    return filters && !isReportFiltersArray(filters);
731}
732exports.isOnLoadFilters = isOnLoadFilters;
733function isReportFiltersArray(filters) {
734    return Array.isArray(filters);
735}
736exports.isReportFiltersArray = isReportFiltersArray;
737function isFlatMenuExtension(menuExtension) {
738    return menuExtension && !isGroupedMenuExtension(menuExtension);
739}
740exports.isFlatMenuExtension = isFlatMenuExtension;
741function isGroupedMenuExtension(menuExtension) {
742    return menuExtension && !!menuExtension.groupName;
743}
744exports.isGroupedMenuExtension = isGroupedMenuExtension;
745function isIExtensions(extensions) {
746    return extensions && !isIExtensionArray(extensions);
747}
748exports.isIExtensions = isIExtensions;
749function isIExtensionArray(extensions) {
750    return Array.isArray(extensions);
751}
752exports.isIExtensionArray = isIExtensionArray;
753function normalizeError(error) {
754    var message = error.message;
755    if (!message) {
756        message = "".concat(error.path, " is invalid. Not meeting ").concat(error.keyword, " constraint");
757    }
758    return {
759        message: message
760    };
761}
762function validateVisualSelector(input) {
763    var errors = validator_1.Validators.visualSelectorValidator.validate(input);
764    return errors ? errors.map(normalizeError) : undefined;
765}
766exports.validateVisualSelector = validateVisualSelector;
767function validateSlicer(input) {
768    var errors = validator_1.Validators.slicerValidator.validate(input);
769    return errors ? errors.map(normalizeError) : undefined;
770}
771exports.validateSlicer = validateSlicer;
772function validateSlicerState(input) {
773    var errors = validator_1.Validators.slicerStateValidator.validate(input);
774    return errors ? errors.map(normalizeError) : undefined;
775}
776exports.validateSlicerState = validateSlicerState;
777function validatePlayBookmarkRequest(input) {
778    var errors = validator_1.Validators.playBookmarkRequestValidator.validate(input);
779    return errors ? errors.map(normalizeError) : undefined;
780}
781exports.validatePlayBookmarkRequest = validatePlayBookmarkRequest;
782function validateAddBookmarkRequest(input) {
783    var errors = validator_1.Validators.addBookmarkRequestValidator.validate(input);
784    return errors ? errors.map(normalizeError) : undefined;
785}
786exports.validateAddBookmarkRequest = validateAddBookmarkRequest;
787function validateApplyBookmarkByNameRequest(input) {
788    var errors = validator_1.Validators.applyBookmarkByNameRequestValidator.validate(input);
789    return errors ? errors.map(normalizeError) : undefined;
790}
791exports.validateApplyBookmarkByNameRequest = validateApplyBookmarkByNameRequest;
792function validateApplyBookmarkStateRequest(input) {
793    var errors = validator_1.Validators.applyBookmarkStateRequestValidator.validate(input);
794    return errors ? errors.map(normalizeError) : undefined;
795}
796exports.validateApplyBookmarkStateRequest = validateApplyBookmarkStateRequest;
797function validateCaptureBookmarkRequest(input) {
798    var errors = validator_1.Validators.captureBookmarkRequestValidator.validate(input);
799    return errors ? errors.map(normalizeError) : undefined;
800}
801exports.validateCaptureBookmarkRequest = validateCaptureBookmarkRequest;
802function validateSettings(input) {
803    var errors = validator_1.Validators.settingsValidator.validate(input);
804    return errors ? errors.map(normalizeError) : undefined;
805}
806exports.validateSettings = validateSettings;
807function validatePanes(input) {
808    var errors = validator_1.Validators.reportPanesValidator.validate(input);
809    return errors ? errors.map(normalizeError) : undefined;
810}
811exports.validatePanes = validatePanes;
812function validateBookmarksPane(input) {
813    var errors = validator_1.Validators.bookmarksPaneValidator.validate(input);
814    return errors ? errors.map(normalizeError) : undefined;
815}
816exports.validateBookmarksPane = validateBookmarksPane;
817function validateFiltersPane(input) {
818    var errors = validator_1.Validators.filtersPaneValidator.validate(input);
819    return errors ? errors.map(normalizeError) : undefined;
820}
821exports.validateFiltersPane = validateFiltersPane;
822function validateFieldsPane(input) {
823    var errors = validator_1.Validators.fieldsPaneValidator.validate(input);
824    return errors ? errors.map(normalizeError) : undefined;
825}
826exports.validateFieldsPane = validateFieldsPane;
827function validatePageNavigationPane(input) {
828    var errors = validator_1.Validators.pageNavigationPaneValidator.validate(input);
829    return errors ? errors.map(normalizeError) : undefined;
830}
831exports.validatePageNavigationPane = validatePageNavigationPane;
832function validateSelectionPane(input) {
833    var errors = validator_1.Validators.selectionPaneValidator.validate(input);
834    return errors ? errors.map(normalizeError) : undefined;
835}
836exports.validateSelectionPane = validateSelectionPane;
837function validateSyncSlicersPane(input) {
838    var errors = validator_1.Validators.syncSlicersPaneValidator.validate(input);
839    return errors ? errors.map(normalizeError) : undefined;
840}
841exports.validateSyncSlicersPane = validateSyncSlicersPane;
842function validateVisualizationsPane(input) {
843    var errors = validator_1.Validators.visualizationsPaneValidator.validate(input);
844    return errors ? errors.map(normalizeError) : undefined;
845}
846exports.validateVisualizationsPane = validateVisualizationsPane;
847function validateCustomPageSize(input) {
848    var errors = validator_1.Validators.customPageSizeValidator.validate(input);
849    return errors ? errors.map(normalizeError) : undefined;
850}
851exports.validateCustomPageSize = validateCustomPageSize;
852function validateExtension(input) {
853    var errors = validator_1.Validators.extensionValidator.validate(input);
854    return errors ? errors.map(normalizeError) : undefined;
855}
856exports.validateExtension = validateExtension;
857function validateMenuGroupExtension(input) {
858    var errors = validator_1.Validators.menuGroupExtensionValidator.validate(input);
859    return errors ? errors.map(normalizeError) : undefined;
860}
861exports.validateMenuGroupExtension = validateMenuGroupExtension;
862function validateReportLoad(input) {
863    var errors = validator_1.Validators.reportLoadValidator.validate(input);
864    return errors ? errors.map(normalizeError) : undefined;
865}
866exports.validateReportLoad = validateReportLoad;
867function validatePaginatedReportLoad(input) {
868    var errors = validator_1.Validators.paginatedReportLoadValidator.validate(input);
869    return errors ? errors.map(normalizeError) : undefined;
870}
871exports.validatePaginatedReportLoad = validatePaginatedReportLoad;
872function validateCreateReport(input) {
873    var errors = validator_1.Validators.reportCreateValidator.validate(input);
874    return errors ? errors.map(normalizeError) : undefined;
875}
876exports.validateCreateReport = validateCreateReport;
877function validateQuickCreate(input) {
878    var errors = validator_1.Validators.quickCreateValidator.validate(input);
879    return errors ? errors.map(normalizeError) : undefined;
880}
881exports.validateQuickCreate = validateQuickCreate;
882function validateDashboardLoad(input) {
883    var errors = validator_1.Validators.dashboardLoadValidator.validate(input);
884    return errors ? errors.map(normalizeError) : undefined;
885}
886exports.validateDashboardLoad = validateDashboardLoad;
887function validateTileLoad(input) {
888    var errors = validator_1.Validators.tileLoadValidator.validate(input);
889    return errors ? errors.map(normalizeError) : undefined;
890}
891exports.validateTileLoad = validateTileLoad;
892function validatePage(input) {
893    var errors = validator_1.Validators.pageValidator.validate(input);
894    return errors ? errors.map(normalizeError) : undefined;
895}
896exports.validatePage = validatePage;
897function validateFilter(input) {
898    var errors = validator_1.Validators.filterValidator.validate(input);
899    return errors ? errors.map(normalizeError) : undefined;
900}
901exports.validateFilter = validateFilter;
902function validateUpdateFiltersRequest(input) {
903    var errors = validator_1.Validators.updateFiltersRequestValidator.validate(input);
904    return errors ? errors.map(normalizeError) : undefined;
905}
906exports.validateUpdateFiltersRequest = validateUpdateFiltersRequest;
907function validateSaveAsParameters(input) {
908    var errors = validator_1.Validators.saveAsParametersValidator.validate(input);
909    return errors ? errors.map(normalizeError) : undefined;
910}
911exports.validateSaveAsParameters = validateSaveAsParameters;
912function validateLoadQnaConfiguration(input) {
913    var errors = validator_1.Validators.loadQnaValidator.validate(input);
914    return errors ? errors.map(normalizeError) : undefined;
915}
916exports.validateLoadQnaConfiguration = validateLoadQnaConfiguration;
917function validateQnaInterpretInputData(input) {
918    var errors = validator_1.Validators.qnaInterpretInputDataValidator.validate(input);
919    return errors ? errors.map(normalizeError) : undefined;
920}
921exports.validateQnaInterpretInputData = validateQnaInterpretInputData;
922function validateExportDataRequest(input) {
923    var errors = validator_1.Validators.exportDataRequestValidator.validate(input);
924    return errors ? errors.map(normalizeError) : undefined;
925}
926exports.validateExportDataRequest = validateExportDataRequest;
927function validateVisualHeader(input) {
928    var errors = validator_1.Validators.visualHeaderValidator.validate(input);
929    return errors ? errors.map(normalizeError) : undefined;
930}
931exports.validateVisualHeader = validateVisualHeader;
932function validateVisualSettings(input) {
933    var errors = validator_1.Validators.visualSettingsValidator.validate(input);
934    return errors ? errors.map(normalizeError) : undefined;
935}
936exports.validateVisualSettings = validateVisualSettings;
937function validateCommandsSettings(input) {
938    var errors = validator_1.Validators.commandsSettingsValidator.validate(input);
939    return errors ? errors.map(normalizeError) : undefined;
940}
941exports.validateCommandsSettings = validateCommandsSettings;
942function validateCustomTheme(input) {
943    var errors = validator_1.Validators.customThemeValidator.validate(input);
944    return errors ? errors.map(normalizeError) : undefined;
945}
946exports.validateCustomTheme = validateCustomTheme;
947function validateZoomLevel(input) {
948    var errors = validator_1.Validators.zoomLevelValidator.validate(input);
949    return errors ? errors.map(normalizeError) : undefined;
950}
951exports.validateZoomLevel = validateZoomLevel;
952function validatePrintSettings(input) {
953    var errors = validator_1.Validators.printSettingsValidator.validate(input);
954    return errors ? errors.map(normalizeError) : undefined;
955}
956exports.validatePrintSettings = validatePrintSettings;
957
958
959/***/ }),
960/* 1 */
961/***/ ((__unused_webpack_module, exports, __nested_webpack_require_46167__) => {
962
963// Copyright (c) Microsoft Corporation.
964// Licensed under the MIT License.
965Object.defineProperty(exports, "__esModule", ({ value: true }));
966exports.Validators = void 0;
967var barsValidator_1 = __nested_webpack_require_46167__(2);
968var bookmarkValidator_1 = __nested_webpack_require_46167__(5);
969var commandsSettingsValidator_1 = __nested_webpack_require_46167__(6);
970var customThemeValidator_1 = __nested_webpack_require_46167__(7);
971var dashboardLoadValidator_1 = __nested_webpack_require_46167__(8);
972var datasetBindingValidator_1 = __nested_webpack_require_46167__(9);
973var exportDataValidator_1 = __nested_webpack_require_46167__(10);
974var extensionsValidator_1 = __nested_webpack_require_46167__(11);
975var filtersValidator_1 = __nested_webpack_require_46167__(12);
976var layoutValidator_1 = __nested_webpack_require_46167__(13);
977var pageValidator_1 = __nested_webpack_require_46167__(14);
978var panesValidator_1 = __nested_webpack_require_46167__(15);
979var qnaValidator_1 = __nested_webpack_require_46167__(16);
980var reportCreateValidator_1 = __nested_webpack_require_46167__(17);
981var reportLoadValidator_1 = __nested_webpack_require_46167__(18);
982var paginatedReportLoadValidator_1 = __nested_webpack_require_46167__(19);
983var saveAsParametersValidator_1 = __nested_webpack_require_46167__(20);
984var selectorsValidator_1 = __nested_webpack_require_46167__(21);
985var settingsValidator_1 = __nested_webpack_require_46167__(22);
986var slicersValidator_1 = __nested_webpack_require_46167__(23);
987var tileLoadValidator_1 = __nested_webpack_require_46167__(24);
988var visualSettingsValidator_1 = __nested_webpack_require_46167__(25);
989var anyOfValidator_1 = __nested_webpack_require_46167__(26);
990var fieldForbiddenValidator_1 = __nested_webpack_require_46167__(27);
991var fieldRequiredValidator_1 = __nested_webpack_require_46167__(28);
992var mapValidator_1 = __nested_webpack_require_46167__(29);
993var typeValidator_1 = __nested_webpack_require_46167__(4);
994var parameterPanelValidator_1 = __nested_webpack_require_46167__(30);
995var datasetCreateConfigValidator_1 = __nested_webpack_require_46167__(31);
996var quickCreateValidator_1 = __nested_webpack_require_46167__(32);
997var printSettingsValidator_1 = __nested_webpack_require_46167__(33);
998var paginatedReportDatasetBindingValidator_1 = __nested_webpack_require_46167__(34);
999exports.Validators = {
1000    addBookmarkRequestValidator: new bookmarkValidator_1.AddBookmarkRequestValidator(),
1001    advancedFilterTypeValidator: new typeValidator_1.EnumValidator([0]),
1002    advancedFilterValidator: new filtersValidator_1.AdvancedFilterValidator(),
1003    anyArrayValidator: new typeValidator_1.ArrayValidator([new anyOfValidator_1.AnyOfValidator([new typeValidator_1.StringValidator(), new typeValidator_1.NumberValidator(), new typeValidator_1.BooleanValidator()])]),
1004    anyFilterValidator: new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.BasicFilterValidator(), new filtersValidator_1.AdvancedFilterValidator(), new filtersValidator_1.IncludeExcludeFilterValidator(), new filtersValidator_1.NotSupportedFilterValidator(), new filtersValidator_1.RelativeDateFilterValidator(), new filtersValidator_1.TopNFilterValidator(), new filtersValidator_1.RelativeTimeFilterValidator(), new filtersValidator_1.HierarchyFilterValidator()]),
1005    anyValueValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.StringValidator(), new typeValidator_1.NumberValidator(), new typeValidator_1.BooleanValidator()]),
1006    actionBarValidator: new barsValidator_1.ActionBarValidator(),
1007    statusBarValidator: new barsValidator_1.StatusBarValidator(),
1008    applyBookmarkByNameRequestValidator: new bookmarkValidator_1.ApplyBookmarkByNameRequestValidator(),
1009    applyBookmarkStateRequestValidator: new bookmarkValidator_1.ApplyBookmarkStateRequestValidator(),
1010    applyBookmarkValidator: new anyOfValidator_1.AnyOfValidator([new bookmarkValidator_1.ApplyBookmarkByNameRequestValidator(), new bookmarkValidator_1.ApplyBookmarkStateRequestValidator()]),
1011    backgroundValidator: new typeValidator_1.EnumValidator([0, 1]),
1012    basicFilterTypeValidator: new typeValidator_1.EnumValidator([1]),
1013    basicFilterValidator: new filtersValidator_1.BasicFilterValidator(),
1014    booleanArrayValidator: new typeValidator_1.BooleanArrayValidator(),
1015    booleanValidator: new typeValidator_1.BooleanValidator(),
1016    bookmarksPaneValidator: new panesValidator_1.BookmarksPaneValidator(),
1017    captureBookmarkOptionsValidator: new bookmarkValidator_1.CaptureBookmarkOptionsValidator(),
1018    captureBookmarkRequestValidator: new bookmarkValidator_1.CaptureBookmarkRequestValidator(),
1019    columnSchemaArrayValidator: new typeValidator_1.ArrayValidator([new datasetCreateConfigValidator_1.ColumnSchemaValidator()]),
1020    commandDisplayOptionValidator: new typeValidator_1.EnumValidator([0, 1, 2]),
1021    commandExtensionSelectorValidator: new anyOfValidator_1.AnyOfValidator([new selectorsValidator_1.VisualSelectorValidator(), new selectorsValidator_1.VisualTypeSelectorValidator()]),
1022    commandExtensionArrayValidator: new typeValidator_1.ArrayValidator([new extensionsValidator_1.CommandExtensionValidator()]),
1023    commandExtensionValidator: new extensionsValidator_1.CommandExtensionValidator(),
1024    commandsSettingsArrayValidator: new typeValidator_1.ArrayValidator([new commandsSettingsValidator_1.CommandsSettingsValidator()]),
1025    commandsSettingsValidator: new commandsSettingsValidator_1.CommandsSettingsValidator(),
1026    conditionItemValidator: new filtersValidator_1.ConditionItemValidator(),
1027    contrastModeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4]),
1028    credentialDetailsValidator: new mapValidator_1.MapValidator([new typeValidator_1.StringValidator()], [new typeValidator_1.StringValidator()]),
1029    credentialsValidator: new datasetCreateConfigValidator_1.CredentialsValidator(),
1030    credentialTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2]),
1031    customLayoutDisplayOptionValidator: new typeValidator_1.EnumValidator([0, 1, 2]),
1032    customLayoutValidator: new layoutValidator_1.CustomLayoutValidator(),
1033    customPageSizeValidator: new pageValidator_1.CustomPageSizeValidator(),
1034    customThemeValidator: new customThemeValidator_1.CustomThemeValidator(),
1035    dashboardLoadValidator: new dashboardLoadValidator_1.DashboardLoadValidator(),
1036    dataCacheModeValidator: new typeValidator_1.EnumValidator([0, 1]),
1037    datasetBindingValidator: new datasetBindingValidator_1.DatasetBindingValidator(),
1038    datasetCreateConfigValidator: new datasetCreateConfigValidator_1.DatasetCreateConfigValidator(),
1039    datasourceConnectionConfigValidator: new datasetCreateConfigValidator_1.DatasourceConnectionConfigValidator(),
1040    displayStateModeValidator: new typeValidator_1.EnumValidator([0, 1]),
1041    displayStateValidator: new layoutValidator_1.DisplayStateValidator(),
1042    exportDataRequestValidator: new exportDataValidator_1.ExportDataRequestValidator(),
1043    extensionArrayValidator: new typeValidator_1.ArrayValidator([new extensionsValidator_1.ExtensionValidator()]),
1044    extensionsValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.ArrayValidator([new extensionsValidator_1.ExtensionValidator()]), new extensionsValidator_1.ExtensionsValidator()]),
1045    extensionPointsValidator: new extensionsValidator_1.ExtensionPointsValidator(),
1046    extensionValidator: new extensionsValidator_1.ExtensionValidator(),
1047    fieldForbiddenValidator: new fieldForbiddenValidator_1.FieldForbiddenValidator(),
1048    fieldRequiredValidator: new fieldRequiredValidator_1.FieldRequiredValidator(),
1049    fieldsPaneValidator: new panesValidator_1.FieldsPaneValidator(),
1050    filterColumnTargetValidator: new filtersValidator_1.FilterColumnTargetValidator(),
1051    filterDisplaySettingsValidator: new filtersValidator_1.FilterDisplaySettingsValidator(),
1052    filterConditionsValidator: new typeValidator_1.ArrayValidator([new filtersValidator_1.ConditionItemValidator()]),
1053    filterHierarchyTargetValidator: new filtersValidator_1.FilterHierarchyTargetValidator(),
1054    filterMeasureTargetValidator: new filtersValidator_1.FilterMeasureTargetValidator(),
1055    filterTargetValidator: new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.FilterColumnTargetValidator(), new filtersValidator_1.FilterHierarchyTargetValidator(), new filtersValidator_1.FilterMeasureTargetValidator(), new typeValidator_1.ArrayValidator([new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.FilterColumnTargetValidator(), new filtersValidator_1.FilterHierarchyTargetValidator(), new filtersValidator_1.FilterMeasureTargetValidator(), new filtersValidator_1.FilterKeyColumnsTargetValidator(), new filtersValidator_1.FilterKeyHierarchyTargetValidator()])])]),
1056    filterValidator: new filtersValidator_1.FilterValidator(),
1057    filterTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4, 5, 6, 7, 9]),
1058    filtersArrayValidator: new typeValidator_1.ArrayValidator([new filtersValidator_1.FilterValidator()]),
1059    filtersOperationsUpdateValidator: new typeValidator_1.EnumValidator([1, 2, 3]),
1060    filtersOperationsRemoveAllValidator: new typeValidator_1.EnumValidator([0]),
1061    filtersPaneValidator: new panesValidator_1.FiltersPaneValidator(),
1062    hyperlinkClickBehaviorValidator: new typeValidator_1.EnumValidator([0, 1, 2]),
1063    includeExcludeFilterValidator: new filtersValidator_1.IncludeExcludeFilterValidator(),
1064    includeExludeFilterTypeValidator: new typeValidator_1.EnumValidator([3]),
1065    hierarchyFilterTypeValidator: new typeValidator_1.EnumValidator([9]),
1066    hierarchyFilterValuesValidator: new typeValidator_1.ArrayValidator([new filtersValidator_1.HierarchyFilterNodeValidator()]),
1067    layoutTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3]),
1068    loadQnaValidator: new qnaValidator_1.LoadQnaValidator(),
1069    menuExtensionValidator: new anyOfValidator_1.AnyOfValidator([new extensionsValidator_1.FlatMenuExtensionValidator(), new extensionsValidator_1.GroupedMenuExtensionValidator()]),
1070    menuGroupExtensionArrayValidator: new typeValidator_1.ArrayValidator([new extensionsValidator_1.MenuGroupExtensionValidator()]),
1071    menuGroupExtensionValidator: new extensionsValidator_1.MenuGroupExtensionValidator(),
1072    menuLocationValidator: new typeValidator_1.EnumValidator([0, 1]),
1073    notSupportedFilterTypeValidator: new typeValidator_1.EnumValidator([2]),
1074    notSupportedFilterValidator: new filtersValidator_1.NotSupportedFilterValidator(),
1075    numberArrayValidator: new typeValidator_1.NumberArrayValidator(),
1076    numberValidator: new typeValidator_1.NumberValidator(),
1077    onLoadFiltersBaseValidator: new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.OnLoadFiltersBaseValidator(), new filtersValidator_1.OnLoadFiltersBaseRemoveOperationValidator()]),
1078    pageLayoutValidator: new mapValidator_1.MapValidator([new typeValidator_1.StringValidator()], [new layoutValidator_1.VisualLayoutValidator()]),
1079    pageNavigationPaneValidator: new panesValidator_1.PageNavigationPaneValidator(),
1080    pageNavigationPositionValidator: new typeValidator_1.EnumValidator([0, 1]),
1081    pageSizeTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4, 5]),
1082    pageSizeValidator: new pageValidator_1.PageSizeValidator(),
1083    pageValidator: new pageValidator_1.PageValidator(),
1084    pageViewFieldValidator: new pageValidator_1.PageViewFieldValidator(),
1085    pagesLayoutValidator: new mapValidator_1.MapValidator([new typeValidator_1.StringValidator()], [new layoutValidator_1.PageLayoutValidator()]),
1086    paginatedReportCommandsValidator: new commandsSettingsValidator_1.PaginatedReportCommandsValidator(),
1087    paginatedReportDatasetBindingArrayValidator: new typeValidator_1.ArrayValidator([new paginatedReportDatasetBindingValidator_1.PaginatedReportDatasetBindingValidator()]),
1088    paginatedReportLoadValidator: new paginatedReportLoadValidator_1.PaginatedReportLoadValidator(),
1089    paginatedReportsettingsValidator: new settingsValidator_1.PaginatedReportSettingsValidator(),
1090    parameterValuesArrayValidator: new typeValidator_1.ArrayValidator([new paginatedReportLoadValidator_1.ReportParameterFieldsValidator()]),
1091    parametersPanelValidator: new parameterPanelValidator_1.ParametersPanelValidator(),
1092    permissionsValidator: new typeValidator_1.EnumValidator([0, 1, 2, 4, 7]),
1093    playBookmarkRequestValidator: new bookmarkValidator_1.PlayBookmarkRequestValidator(),
1094    printSettingsValidator: new printSettingsValidator_1.PrintSettingsValidator(),
1095    qnaInterpretInputDataValidator: new qnaValidator_1.QnaInterpretInputDataValidator(),
1096    qnaPanesValidator: new panesValidator_1.QnaPanesValidator(),
1097    qnaSettingValidator: new qnaValidator_1.QnaSettingsValidator(),
1098    quickCreateValidator: new quickCreateValidator_1.QuickCreateValidator(),
1099    rawDataValidator: new typeValidator_1.ArrayValidator([new typeValidator_1.ArrayValidator([new typeValidator_1.StringValidator()])]),
1100    relativeDateFilterOperatorValidator: new typeValidator_1.EnumValidator([0, 1, 2]),
1101    relativeDateFilterTimeUnitTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4, 5, 6]),
1102    relativeDateFilterTypeValidator: new typeValidator_1.EnumValidator([4]),
1103    relativeDateFilterValidator: new filtersValidator_1.RelativeDateFilterValidator(),
1104    relativeDateTimeFilterTypeValidator: new typeValidator_1.EnumValidator([4, 7]),
1105    relativeDateTimeFilterUnitTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4, 5, 6, 7, 8]),
1106    relativeTimeFilterTimeUnitTypeValidator: new typeValidator_1.EnumValidator([7, 8]),
1107    relativeTimeFilterTypeValidator: new typeValidator_1.EnumValidator([7]),
1108    relativeTimeFilterValidator: new filtersValidator_1.RelativeTimeFilterValidator(),
1109    reportBarsValidator: new barsValidator_1.ReportBarsValidator(),
1110    reportCreateValidator: new reportCreateValidator_1.ReportCreateValidator(),
1111    reportLoadFiltersValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.ArrayValidator([new filtersValidator_1.FilterValidator()]), new filtersValidator_1.OnLoadFiltersValidator()]),
1112    reportLoadValidator: new reportLoadValidator_1.ReportLoadValidator(),
1113    reportPanesValidator: new panesValidator_1.ReportPanesValidator(),
1114    saveAsParametersValidator: new saveAsParametersValidator_1.SaveAsParametersValidator(),
1115    selectionPaneValidator: new panesValidator_1.SelectionPaneValidator(),
1116    settingsValidator: new settingsValidator_1.SettingsValidator(),
1117    singleCommandSettingsValidator: new commandsSettingsValidator_1.SingleCommandSettingsValidator(),
1118    slicerSelectorValidator: new anyOfValidator_1.AnyOfValidator([new selectorsValidator_1.VisualSelectorValidator(), new selectorsValidator_1.SlicerTargetSelectorValidator()]),
1119    slicerStateValidator: new slicersValidator_1.SlicerStateValidator(),
1120    slicerTargetValidator: new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.FilterColumnTargetValidator(), new filtersValidator_1.FilterHierarchyTargetValidator(), new filtersValidator_1.FilterMeasureTargetValidator(), new filtersValidator_1.FilterKeyColumnsTargetValidator(), new filtersValidator_1.FilterKeyHierarchyTargetValidator()]),
1121    slicerValidator: new slicersValidator_1.SlicerValidator(),
1122    stringArrayValidator: new typeValidator_1.StringArrayValidator(),
1123    stringValidator: new typeValidator_1.StringValidator(),
1124    syncSlicersPaneValidator: new panesValidator_1.SyncSlicersPaneValidator(),
1125    tableDataArrayValidator: new typeValidator_1.ArrayValidator([new datasetCreateConfigValidator_1.TableDataValidator()]),
1126    tableSchemaListValidator: new typeValidator_1.ArrayValidator([new datasetCreateConfigValidator_1.TableSchemaValidator()]),
1127    tileLoadValidator: new tileLoadValidator_1.TileLoadValidator(),
1128    tokenTypeValidator: new typeValidator_1.EnumValidator([0, 1]),
1129    topNFilterTypeValidator: new typeValidator_1.EnumValidator([5]),
1130    topNFilterValidator: new filtersValidator_1.TopNFilterValidator(),
1131    updateFiltersRequestValidator: new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.UpdateFiltersRequestValidator(), new filtersValidator_1.RemoveFiltersRequestValidator()]),
1132    viewModeValidator: new typeValidator_1.EnumValidator([0, 1]),
1133    visualCommandSelectorValidator: new anyOfValidator_1.AnyOfValidator([new selectorsValidator_1.VisualSelectorValidator(), new selectorsValidator_1.VisualTypeSelectorValidator()]),
1134    visualHeaderSelectorValidator: new anyOfValidator_1.AnyOfValidator([new selectorsValidator_1.VisualSelectorValidator(), new selectorsValidator_1.VisualTypeSelectorValidator()]),
1135    visualHeaderSettingsValidator: new visualSettingsValidator_1.VisualHeaderSettingsValidator(),
1136    visualHeaderValidator: new visualSettingsValidator_1.VisualHeaderValidator(),
1137    visualHeadersValidator: new typeValidator_1.ArrayValidator([new visualSettingsValidator_1.VisualHeaderValidator()]),
1138    visualizationsPaneValidator: new panesValidator_1.VisualizationsPaneValidator(),
1139    visualLayoutValidator: new layoutValidator_1.VisualLayoutValidator(),
1140    visualSelectorValidator: new selectorsValidator_1.VisualSelectorValidator(),
1141    visualSettingsValidator: new visualSettingsValidator_1.VisualSettingsValidator(),
1142    visualTypeSelectorValidator: new selectorsValidator_1.VisualTypeSelectorValidator(),
1143    zoomLevelValidator: new typeValidator_1.RangeValidator(0.25, 4),
1144};
1145
1146
1147/***/ }),
1148/* 2 */
1149/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_63300__) {
1150
1151// Copyright (c) Microsoft Corporation.
1152// Licensed under the MIT License.
1153var __extends = (this && this.__extends) || (function () {
1154    var extendStatics = function (d, b) {
1155        extendStatics = Object.setPrototypeOf ||
1156            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
1157            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
1158        return extendStatics(d, b);
1159    };
1160    return function (d, b) {
1161        if (typeof b !== "function" && b !== null)
1162            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
1163        extendStatics(d, b);
1164        function __() { this.constructor = d; }
1165        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
1166    };
1167})();
1168Object.defineProperty(exports, "__esModule", ({ value: true }));
1169exports.StatusBarValidator = exports.ActionBarValidator = exports.ReportBarsValidator = void 0;
1170var multipleFieldsValidator_1 = __nested_webpack_require_63300__(3);
1171var typeValidator_1 = __nested_webpack_require_63300__(4);
1172var validator_1 = __nested_webpack_require_63300__(1);
1173var ReportBarsValidator = /** @class */ (function (_super) {
1174    __extends(ReportBarsValidator, _super);
1175    function ReportBarsValidator() {
1176        return _super !== null && _super.apply(this, arguments) || this;
1177    }
1178    ReportBarsValidator.prototype.validate = function (input, path, field) {
1179        if (input == null) {
1180            return null;
1181        }
1182        var errors = _super.prototype.validate.call(this, input, path, field);
1183        if (errors) {
1184            return errors;
1185        }
1186        var fields = [
1187            {
1188                field: "actionBar",
1189                validators: [validator_1.Validators.actionBarValidator]
1190            },
1191            {
1192                field: "statusBar",
1193                validators: [validator_1.Validators.statusBarValidator]
1194            }
1195        ];
1196        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
1197        return multipleFieldsValidator.validate(input, path, field);
1198    };
1199    return ReportBarsValidator;
1200}(typeValidator_1.ObjectValidator));
1201exports.ReportBarsValidator = ReportBarsValidator;
1202var ActionBarValidator = /** @class */ (function (_super) {
1203    __extends(ActionBarValidator, _super);
1204    function ActionBarValidator() {
1205        return _super !== null && _super.apply(this, arguments) || this;
1206    }
1207    ActionBarValidator.prototype.validate = function (input, path, field) {
1208        if (input == null) {
1209            return null;
1210        }
1211        var errors = _super.prototype.validate.call(this, input, path, field);
1212        if (errors) {
1213            return errors;
1214        }
1215        var fields = [
1216            {
1217                field: "visible",
1218                validators: [validator_1.Validators.booleanValidator]
1219            },
1220        ];
1221        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
1222        return multipleFieldsValidator.validate(input, path, field);
1223    };
1224    return ActionBarValidator;
1225}(typeValidator_1.ObjectValidator));
1226exports.ActionBarValidator = ActionBarValidator;
1227var StatusBarValidator = /** @class */ (function (_super) {
1228    __extends(StatusBarValidator, _super);
1229    function StatusBarValidator() {
1230        return _super !== null && _super.apply(this, arguments) || this;
1231    }
1232    StatusBarValidator.prototype.validate = function (input, path, field) {
1233        if (input == null) {
1234            return null;
1235        }
1236        var errors = _super.prototype.validate.call(this, input, path, field);
1237        if (errors) {
1238            return errors;
1239        }
1240        var fields = [
1241            {
1242                field: "visible",
1243                validators: [validator_1.Validators.booleanValidator]
1244            },
1245        ];
1246        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
1247        return multipleFieldsValidator.validate(input, path, field);
1248    };
1249    return StatusBarValidator;
1250}(typeValidator_1.ObjectValidator));
1251exports.StatusBarValidator = StatusBarValidator;
1252
1253
1254/***/ }),
1255/* 3 */
1256/***/ ((__unused_webpack_module, exports) => {
1257
1258// Copyright (c) Microsoft Corporation.
1259// Licensed under the MIT License.
1260Object.defineProperty(exports, "__esModule", ({ value: true }));
1261exports.MultipleFieldsValidator = void 0;
1262var MultipleFieldsValidator = /** @class */ (function () {
1263    function MultipleFieldsValidator(fieldValidatorsPairs) {
1264        this.fieldValidatorsPairs = fieldValidatorsPairs;
1265    }
1266    MultipleFieldsValidator.prototype.validate = function (input, path, field) {
1267        if (!this.fieldValidatorsPairs) {
1268            return null;
1269        }
1270        var fieldsPath = path ? path + "." + field : field;
1271        for (var _i = 0, _a = this.fieldValidatorsPairs; _i < _a.length; _i++) {
1272            var fieldValidators = _a[_i];
1273            for (var _b = 0, _c = fieldValidators.validators; _b < _c.length; _b++) {
1274                var validator = _c[_b];
1275                var errors = validator.validate(input[fieldValidators.field], fieldsPath, fieldValidators.field);
1276                if (errors) {
1277                    return errors;
1278                }
1279            }
1280        }
1281        return null;
1282    };
1283    return MultipleFieldsValidator;
1284}());
1285exports.MultipleFieldsValidator = MultipleFieldsValidator;
1286
1287
1288/***/ }),
1289/* 4 */
1290/***/ (function(__unused_webpack_module, exports) {
1291
1292// Copyright (c) Microsoft Corporation.
1293// Licensed under the MIT License.
1294var __extends = (this && this.__extends) || (function () {
1295    var extendStatics = function (d, b) {
1296        extendStatics = Object.setPrototypeOf ||
1297            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
1298            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
1299        return extendStatics(d, b);
1300    };
1301    return function (d, b) {
1302        if (typeof b !== "function" && b !== null)
1303            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
1304        extendStatics(d, b);
1305        function __() { this.constructor = d; }
1306        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
1307    };
1308})();
1309Object.defineProperty(exports, "__esModule", ({ value: true }));
1310exports.RangeValidator = exports.NumberArrayValidator = exports.BooleanArrayValidator = exports.StringArrayValidator = exports.EnumValidator = exports.SchemaValidator = exports.ValueValidator = exports.NumberValidator = exports.BooleanValidator = exports.StringValidator = exports.TypeValidator = exports.ArrayValidator = exports.ObjectValidator = void 0;
1311var ObjectValidator = /** @class */ (function () {
1312    function ObjectValidator() {
1313    }
1314    ObjectValidator.prototype.validate = function (input, path, field) {
1315        if (input == null) {
1316            return null;
1317        }
1318        if (typeof input !== "object" || Array.isArray(input)) {
1319            return [{
1320                    message: field !== undefined ? field + " must be an object" : "input must be an object",
1321                    path: path,
1322                    keyword: "type"
1323                }];
1324        }
1325        return null;
1326    };
1327    return ObjectValidator;
1328}());
1329exports.ObjectValidator = ObjectValidator;
1330var ArrayValidator = /** @class */ (function () {
1331    function ArrayValidator(itemValidators) {
1332        this.itemValidators = itemValidators;
1333    }
1334    ArrayValidator.prototype.validate = function (input, path, field) {
1335        if (input == null) {
1336            return null;
1337        }
1338        if (!(Array.isArray(input))) {
1339            return [{
1340                    message: field + " property is invalid",
1341                    path: (path ? path + "." : "") + field,
1342                    keyword: "type"
1343                }];
1344        }
1345        for (var i = 0; i < input.length; i++) {
1346            var fieldsPath = (path ? path + "." : "") + field + "." + i.toString();
1347            for (var _i = 0, _a = this.itemValidators; _i < _a.length; _i++) {
1348                var validator = _a[_i];
1349                var errors = validator.validate(input[i], fieldsPath, field);
1350                if (errors) {
1351                    return [{
1352                            message: field + " property is invalid",
1353                            path: (path ? path + "." : "") + field,
1354                            keyword: "type"
1355                        }];
1356                }
1357            }
1358        }
1359        return null;
1360    };
1361    return ArrayValidator;
1362}());
1363exports.ArrayValidator = ArrayValidator;
1364var TypeValidator = /** @class */ (function () {
1365    function TypeValidator(expectedType) {
1366        this.expectedType = expectedType;
1367    }
1368    TypeValidator.prototype.validate = function (input, path, field) {
1369        if (input == null) {
1370            return null;
1371        }
1372        if (!(typeof input === this.expectedType)) {
1373            return [{
1374                    message: field + " must be a " + this.expectedType,
1375                    path: (path ? path + "." : "") + field,
1376                    keyword: "type"
1377                }];
1378        }
1379        return null;
1380    };
1381    return TypeValidator;
1382}());
1383exports.TypeValidator = TypeValidator;
1384var StringValidator = /** @class */ (function (_super) {
1385    __extends(StringValidator, _super);
1386    function StringValidator() {
1387        return _super.call(this, "string") || this;
1388    }
1389    return StringValidator;
1390}(TypeValidator));
1391exports.StringValidator = StringValidator;
1392var BooleanValidator = /** @class */ (function (_super) {
1393    __extends(BooleanValidator, _super);
1394    function BooleanValidator() {
1395        return _super.call(this, "boolean") || this;
1396    }
1397    return BooleanValidator;
1398}(TypeValidator));
1399exports.BooleanValidator = BooleanValidator;
1400var NumberValidator = /** @class */ (function (_super) {
1401    __extends(NumberValidator, _super);
1402    function NumberValidator() {
1403        return _super.call(this, "number") || this;
1404    }
1405    return NumberValidator;
1406}(TypeValidator));
1407exports.NumberValidator = NumberValidator;
1408var ValueValidator = /** @class */ (function () {
1409    function ValueValidator(possibleValues) {
1410        this.possibleValues = possibleValues;
1411    }
1412    ValueValidator.prototype.validate = function (input, path, field) {
1413        if (input == null) {
1414            return null;
1415        }
1416        if (this.possibleValues.indexOf(input) < 0) {
1417            return [{
1418                    message: field + " property is invalid",
1419                    path: (path ? path + "." : "") + field,
1420                    keyword: "invalid"
1421                }];
1422        }
1423        return null;
1424    };
1425    return ValueValidator;
1426}());
1427exports.ValueValidator = ValueValidator;
1428var SchemaValidator = /** @class */ (function (_super) {
1429    __extends(SchemaValidator, _super);
1430    function SchemaValidator(schemaValue) {
1431        var _this = _super.call(this, [schemaValue]) || this;
1432        _this.schemaValue = schemaValue;
1433        return _this;
1434    }
1435    SchemaValidator.prototype.validate = function (input, path, field) {
1436        return _super.prototype.validate.call(this, input, path, field);
1437    };
1438    return SchemaValidator;
1439}(ValueValidator));
1440exports.SchemaValidator = SchemaValidator;
1441var EnumValidator = /** @class */ (function (_super) {
1442    __extends(EnumValidator, _super);
1443    function EnumValidator(possibleValues) {
1444        var _this = _super.call(this) || this;
1445        _this.possibleValues = possibleValues;
1446        return _this;
1447    }
1448    EnumValidator.prototype.validate = function (input, path, field) {
1449        if (input == null) {
1450            return null;
1451        }
1452        var errors = _super.prototype.validate.call(this, input, path, field);
1453        if (errors) {
1454            return errors;
1455        }
1456        var valueValidator = new ValueValidator(this.possibleValues);
1457        return valueValidator.validate(input, path, field);
1458    };
1459    return EnumValidator;
1460}(NumberValidator));
1461exports.EnumValidator = EnumValidator;
1462var StringArrayValidator = /** @class */ (function (_super) {
1463    __extends(StringArrayValidator, _super);
1464    function StringArrayValidator() {
1465        return _super.call(this, [new StringValidator()]) || this;
1466    }
1467    StringArrayValidator.prototype.validate = function (input, path, field) {
1468        var errors = _super.prototype.validate.call(this, input, path, field);
1469        if (errors) {
1470            return [{
1471                    message: field + " must be an array of strings",
1472                    path: (path ? path + "." : "") + field,
1473                    keyword: "type"
1474                }];
1475        }
1476        return null;
1477    };
1478    return StringArrayValidator;
1479}(ArrayValidator));
1480exports.StringArrayValidator = StringArrayValidator;
1481var BooleanArrayValidator = /** @class */ (function (_super) {
1482    __extends(BooleanArrayValidator, _super);
1483    function BooleanArrayValidator() {
1484        return _super.call(this, [new BooleanValidator()]) || this;
1485    }
1486    BooleanArrayValidator.prototype.validate = function (input, path, field) {
1487        var errors = _super.prototype.validate.call(this, input, path, field);
1488        if (errors) {
1489            return [{
1490                    message: field + " must be an array of booleans",
1491                    path: (path ? path + "." : "") + field,
1492                    keyword: "type"
1493                }];
1494        }
1495        return null;
1496    };
1497    return BooleanArrayValidator;
1498}(ArrayValidator));
1499exports.BooleanArrayValidator = BooleanArrayValidator;
1500var NumberArrayValidator = /** @class */ (function (_super) {
1501    __extends(NumberArrayValidator, _super);
1502    function NumberArrayValidator() {
1503        return _super.call(this, [new NumberValidator()]) || this;
1504    }
1505    NumberArrayValidator.prototype.validate = function (input, path, field) {
1506        var errors = _super.prototype.validate.call(this, input, path, field);
1507        if (errors) {
1508            return [{
1509                    message: field + " must be an array of numbers",
1510                    path: (path ? path + "." : "") + field,
1511                    keyword: "type"
1512                }];
1513        }
1514        return null;
1515    };
1516    return NumberArrayValidator;
1517}(ArrayValidator));
1518exports.NumberArrayValidator = NumberArrayValidator;
1519var RangeValidator = /** @class */ (function (_super) {
1520    __extends(RangeValidator, _super);
1521    function RangeValidator(minValue, maxValue) {
1522        var _this = _super.call(this) || this;
1523        _this.minValue = minValue;
1524        _this.maxValue = maxValue;
1525        return _this;
1526    }
1527    RangeValidator.prototype.validate = function (input, path, field) {
1528        if (input == null) {
1529            return null;
1530        }
1531        var errors = _super.prototype.validate.call(this, input, path, field);
1532        if (errors) {
1533            return errors;
1534        }
1535        // input is a number, now check if it's in the given range
1536        if (input > this.maxValue || input < this.minValue) {
1537            return [{
1538                    message: field + " must be a number between " + this.minValue.toString() + " and " + this.maxValue.toString(),
1539                    path: (path ? path + "." : "") + field,
1540                    keyword: "range"
1541                }];
1542        }
1543        return null;
1544    };
1545    return RangeValidator;
1546}(NumberValidator));
1547exports.RangeValidator = RangeValidator;
1548
1549
1550/***/ }),
1551/* 5 */
1552/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_79179__) {
1553
1554// Copyright (c) Microsoft Corporation.
1555// Licensed under the MIT License.
1556var __extends = (this && this.__extends) || (function () {
1557    var extendStatics = function (d, b) {
1558        extendStatics = Object.setPrototypeOf ||
1559            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
1560            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
1561        return extendStatics(d, b);
1562    };
1563    return function (d, b) {
1564        if (typeof b !== "function" && b !== null)
1565            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
1566        extendStatics(d, b);
1567        function __() { this.constructor = d; }
1568        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
1569    };
1570})();
1571Object.defineProperty(exports, "__esModule", ({ value: true }));
1572exports.CaptureBookmarkRequestValidator = exports.CaptureBookmarkOptionsValidator = exports.ApplyBookmarkStateRequestValidator = exports.ApplyBookmarkByNameRequestValidator = exports.AddBookmarkRequestValidator = exports.PlayBookmarkRequestValidator = void 0;
1573var multipleFieldsValidator_1 = __nested_webpack_require_79179__(3);
1574var typeValidator_1 = __nested_webpack_require_79179__(4);
1575var validator_1 = __nested_webpack_require_79179__(1);
1576var PlayBookmarkRequestValidator = /** @class */ (function (_super) {
1577    __extends(PlayBookmarkRequestValidator, _super);
1578    function PlayBookmarkRequestValidator() {
1579        return _super !== null && _super.apply(this, arguments) || this;
1580    }
1581    PlayBookmarkRequestValidator.prototype.validate = function (input, path, field) {
1582        if (input == null) {
1583            return null;
1584        }
1585        var errors = _super.prototype.validate.call(this, input, path, field);
1586        if (errors) {
1587            return errors;
1588        }
1589        var fields = [
1590            {
1591                field: "playMode",
1592                validators: [validator_1.Validators.fieldRequiredValidator, new typeValidator_1.EnumValidator([0, 1])]
1593            }
1594        ];
1595        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
1596        return multipleFieldsValidator.validate(input, path, field);
1597    };
1598    return PlayBookmarkRequestValidator;
1599}(typeValidator_1.ObjectValidator));
1600exports.PlayBookmarkRequestValidator = PlayBookmarkRequestValidator;
1601var AddBookmarkRequestValidator = /** @class */ (function (_super) {
1602    __extends(AddBookmarkRequestValidator, _super);
1603    function AddBookmarkRequestValidator() {
1604        return _super !== null && _super.apply(this, arguments) || this;
1605    }
1606    AddBookmarkRequestValidator.prototype.validate = function (input, path, field) {
1607        if (input == null) {
1608            return null;
1609        }
1610        var errors = _super.prototype.validate.call(this, input, path, field);
1611        if (errors) {
1612            return errors;
1613        }
1614        var fields = [
1615            {
1616                field: "state",
1617                validators: [validator_1.Validators.stringValidator]
1618            },
1619            {
1620                field: "displayName",
1621                validators: [validator_1.Validators.stringValidator]
1622            },
1623            {
1624                field: "apply",
1625                validators: [validator_1.Validators.booleanValidator]
1626            },
1627        ];
1628        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
1629        return multipleFieldsValidator.validate(input, path, field);
1630    };
1631    return AddBookmarkRequestValidator;
1632}(typeValidator_1.ObjectValidator));
1633exports.AddBookmarkRequestValidator = AddBookmarkRequestValidator;
1634var ApplyBookmarkByNameRequestValidator = /** @class */ (function (_super) {
1635    __extends(ApplyBookmarkByNameRequestValidator, _super);
1636    function ApplyBookmarkByNameRequestValidator() {
1637        return _super !== null && _super.apply(this, arguments) || this;
1638    }
1639    ApplyBookmarkByNameRequestValidator.prototype.validate = function (input, path, field) {
1640        if (input == null) {
1641            return null;
1642        }
1643        var errors = _super.prototype.validate.call(this, input, path, field);
1644        if (errors) {
1645            return errors;
1646        }
1647        var fields = [
1648            {
1649                field: "name",
1650                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
1651            }
1652        ];
1653        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
1654        return multipleFieldsValidator.validate(input, path, field);
1655    };
1656    return ApplyBookmarkByNameRequestValidator;
1657}(typeValidator_1.ObjectValidator));
1658exports.ApplyBookmarkByNameRequestValidator = ApplyBookmarkByNameRequestValidator;
1659var ApplyBookmarkStateRequestValidator = /** @class */ (function (_super) {
1660    __extends(ApplyBookmarkStateRequestValidator, _super);
1661    function ApplyBookmarkStateRequestValidator() {
1662        return _super !== null && _super.apply(this, arguments) || this;
1663    }
1664    ApplyBookmarkStateRequestValidator.prototype.validate = function (input, path, field) {
1665        if (input == null) {
1666            return null;
1667        }
1668        var errors = _super.prototype.validate.call(this, input, path, field);
1669        if (errors) {
1670            return errors;
1671        }
1672        var fields = [
1673            {
1674                field: "state",
1675                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
1676            }
1677        ];
1678        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
1679        return multipleFieldsValidator.validate(input, path, field);
1680    };
1681    return ApplyBookmarkStateRequestValidator;
1682}(typeValidator_1.ObjectValidator));
1683exports.ApplyBookmarkStateRequestValidator = ApplyBookmarkStateRequestValidator;
1684var CaptureBookmarkOptionsValidator = /** @class */ (function (_super) {
1685    __extends(CaptureBookmarkOptionsValidator, _super);
1686    function CaptureBookmarkOptionsValidator() {
1687        return _super !== null && _super.apply(this, arguments) || this;
1688    }
1689    CaptureBookmarkOptionsValidator.prototype.validate = function (input, path, field) {
1690        if (input == null) {
1691            return null;
1692        }
1693        var errors = _super.prototype.validate.call(this, input, path, field);
1694        if (errors) {
1695            return errors;
1696        }
1697        var fields = [
1698            {
1699                field: "personalizeVisuals",
1700                validators: [validator_1.Validators.booleanValidator]
1701            },
1702            {
1703                field: "allPages",
1704                validators: [validator_1.Validators.booleanValidator]
1705            }
1706        ];
1707        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
1708        return multipleFieldsValidator.validate(input, path, field);
1709    };
1710    return CaptureBookmarkOptionsValidator;
1711}(typeValidator_1.ObjectValidator));
1712exports.CaptureBookmarkOptionsValidator = CaptureBookmarkOptionsValidator;
1713var CaptureBookmarkRequestValidator = /** @class */ (function (_super) {
1714    __extends(CaptureBookmarkRequestValidator, _super);
1715    function CaptureBookmarkRequestValidator() {
1716        return _super !== null && _super.apply(this, arguments) || this;
1717    }
1718    CaptureBookmarkRequestValidator.prototype.validate = function (input, path, field) {
1719        if (input == null) {
1720            return null;
1721        }
1722        var errors = _super.prototype.validate.call(this, input, path, field);
1723        if (errors) {
1724            return errors;
1725        }
1726        var fields = [
1727            {
1728                field: "options",
1729                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.captureBookmarkOptionsValidator]
1730            }
1731        ];
1732        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
1733        return multipleFieldsValidator.validate(input, path, field);
1734    };
1735    return CaptureBookmarkRequestValidator;
1736}(typeValidator_1.ObjectValidator));
1737exports.CaptureBookmarkRequestValidator = CaptureBookmarkRequestValidator;
1738
1739
1740/***/ }),
1741/* 6 */
1742/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_87655__) {
1743
1744// Copyright (c) Microsoft Corporation.
1745// Licensed under the MIT License.
1746var __extends = (this && this.__extends) || (function () {
1747    var extendStatics = function (d, b) {
1748        extendStatics = Object.setPrototypeOf ||
1749            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
1750            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
1751        return extendStatics(d, b);
1752    };
1753    return function (d, b) {
1754        if (typeof b !== "function" && b !== null)
1755            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
1756        extendStatics(d, b);
1757        function __() { this.constructor = d; }
1758        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
1759    };
1760})();
1761Object.defineProperty(exports, "__esModule", ({ value: true }));
1762exports.PaginatedReportCommandsValidator = exports.SingleCommandSettingsValidator = exports.CommandsSettingsValidator = void 0;
1763var multipleFieldsValidator_1 = __nested_webpack_require_87655__(3);
1764var typeValidator_1 = __nested_webpack_require_87655__(4);
1765var validator_1 = __nested_webpack_require_87655__(1);
1766var CommandsSettingsValidator = /** @class */ (function (_super) {
1767    __extends(CommandsSettingsValidator, _super);
1768    function CommandsSettingsValidator() {
1769        return _super !== null && _super.apply(this, arguments) || this;
1770    }
1771    CommandsSettingsValidator.prototype.validate = function (input, path, field) {
1772        if (input == null) {
1773            return null;
1774        }
1775        var errors = _super.prototype.validate.call(this, input, path, field);
1776        if (errors) {
1777            return errors;
1778        }
1779        var fields = [
1780            {
1781                field: "copy",
1782                validators: [validator_1.Validators.singleCommandSettingsValidator]
1783            },
1784            {
1785                field: "drill",
1786                validators: [validator_1.Validators.singleCommandSettingsValidator]
1787            },
1788            {
1789                field: "drillthrough",
1790                validators: [validator_1.Validators.singleCommandSettingsValidator]
1791            },
1792            {
1793                field: "expandCollapse",
1794                validators: [validator_1.Validators.singleCommandSettingsValidator]
1795            },
1796            {
1797                field: "exportData",
1798                validators: [validator_1.Validators.singleCommandSettingsValidator]
1799            },
1800            {
1801                field: "includeExclude",
1802                validators: [validator_1.Validators.singleCommandSettingsValidator]
1803            },
1804            {
1805                field: "removeVisual",
1806                validators: [validator_1.Validators.singleCommandSettingsValidator]
1807            },
1808            {
1809                field: "search",
1810                validators: [validator_1.Validators.singleCommandSettingsValidator]
1811            },
1812            {
1813                field: "seeData",
1814                validators: [validator_1.Validators.singleCommandSettingsValidator]
1815            },
1816            {
1817                field: "sort",
1818                validators: [validator_1.Validators.singleCommandSettingsValidator]
1819            },
1820            {
1821                field: "spotlight",
1822                validators: [validator_1.Validators.singleCommandSettingsValidator]
1823            },
1824            {
1825                field: "insightsAnalysis",
1826                validators: [validator_1.Validators.singleCommandSettingsValidator]
1827            },
1828            {
1829                field: "addComment",
1830                validators: [validator_1.Validators.singleCommandSettingsValidator]
1831            },
1832            {
1833                field: "groupVisualContainers",
1834                validators: [validator_1.Validators.singleCommandSettingsValidator]
1835            },
1836            {
1837                field: "summarize",
1838                validators: [validator_1.Validators.singleCommandSettingsValidator]
1839            },
1840            {
1841                field: "clearSelection",
1842                validators: [validator_1.Validators.singleCommandSettingsValidator]
1843            }
1844        ];
1845        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
1846        return multipleFieldsValidator.validate(input, path, field);
1847    };
1848    return CommandsSettingsValidator;
1849}(typeValidator_1.ObjectValidator));
1850exports.CommandsSettingsValidator = CommandsSettingsValidator;
1851var SingleCommandSettingsValidator = /** @class */ (function (_super) {
1852    __extends(SingleCommandSettingsValidator, _super);
1853    function SingleCommandSettingsValidator() {
1854        return _super !== null && _super.apply(this, arguments) || this;
1855    }
1856    SingleCommandSettingsValidator.prototype.validate = function (input, path, field) {
1857        if (input == null) {
1858            return null;
1859        }
1860        var errors = _super.prototype.validate.call(this, input, path, field);
1861        if (errors) {
1862            return errors;
1863        }
1864        var fields = [
1865            {
1866                field: "displayOption",
1867                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.commandDisplayOptionValidator]
1868            },
1869            {
1870                field: "selector",
1871                validators: [validator_1.Validators.visualCommandSelectorValidator]
1872            },
1873        ];
1874        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
1875        return multipleFieldsValidator.validate(input, path, field);
1876    };
1877    return SingleCommandSettingsValidator;
1878}(typeValidator_1.ObjectValidator));
1879exports.SingleCommandSettingsValidator = SingleCommandSettingsValidator;
1880var PaginatedReportCommandsValidator = /** @class */ (function (_super) {
1881    __extends(PaginatedReportCommandsValidator, _super);
1882    function PaginatedReportCommandsValidator() {
1883        return _super !== null && _super.apply(this, arguments) || this;
1884    }
1885    PaginatedReportCommandsValidator.prototype.validate = function (input, path, field) {
1886        if (input == null) {
1887            return null;
1888        }
1889        var errors = _super.prototype.validate.call(this, input, path, field);
1890        if (errors) {
1891            return errors;
1892        }
1893        var fields = [
1894            {
1895                field: "parameterPanel",
1896                validators: [validator_1.Validators.parametersPanelValidator]
1897            }
1898        ];
1899        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
1900        return multipleFieldsValidator.validate(input, path, field);
1901    };
1902    return PaginatedReportCommandsValidator;
1903}(typeValidator_1.ObjectValidator));
1904exports.PaginatedReportCommandsValidator = PaginatedReportCommandsValidator;
1905
1906
1907/***/ }),
1908/* 7 */
1909/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_94688__) {
1910
1911// Copyright (c) Microsoft Corporation.
1912// Licensed under the MIT License.
1913var __extends = (this && this.__extends) || (function () {
1914    var extendStatics = function (d, b) {
1915        extendStatics = Object.setPrototypeOf ||
1916            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
1917            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
1918        return extendStatics(d, b);
1919    };
1920    return function (d, b) {
1921        if (typeof b !== "function" && b !== null)
1922            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
1923        extendStatics(d, b);
1924        function __() { this.constructor = d; }
1925        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
1926    };
1927})();
1928Object.defineProperty(exports, "__esModule", ({ value: true }));
1929exports.CustomThemeValidator = void 0;
1930var multipleFieldsValidator_1 = __nested_webpack_require_94688__(3);
1931var typeValidator_1 = __nested_webpack_require_94688__(4);
1932var CustomThemeValidator = /** @class */ (function (_super) {
1933    __extends(CustomThemeValidator, _super);
1934    function CustomThemeValidator() {
1935        return _super !== null && _super.apply(this, arguments) || this;
1936    }
1937    CustomThemeValidator.prototype.validate = function (input, path, field) {
1938        if (input == null) {
1939            return null;
1940        }
1941        var errors = _super.prototype.validate.call(this, input, path, field);
1942        if (errors) {
1943            return errors;
1944        }
1945        var fields = [
1946            {
1947                field: "themeJson",
1948                validators: [new typeValidator_1.ObjectValidator()]
1949            }
1950        ];
1951        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
1952        return multipleFieldsValidator.validate(input, path, field);
1953    };
1954    return CustomThemeValidator;
1955}(typeValidator_1.ObjectValidator));
1956exports.CustomThemeValidator = CustomThemeValidator;
1957
1958
1959/***/ }),
1960/* 8 */
1961/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_96842__) {
1962
1963// Copyright (c) Microsoft Corporation.
1964// Licensed under the MIT License.
1965var __extends = (this && this.__extends) || (function () {
1966    var extendStatics = function (d, b) {
1967        extendStatics = Object.setPrototypeOf ||
1968            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
1969            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
1970        return extendStatics(d, b);
1971    };
1972    return function (d, b) {
1973        if (typeof b !== "function" && b !== null)
1974            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
1975        extendStatics(d, b);
1976        function __() { this.constructor = d; }
1977        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
1978    };
1979})();
1980Object.defineProperty(exports, "__esModule", ({ value: true }));
1981exports.DashboardLoadValidator = void 0;
1982var multipleFieldsValidator_1 = __nested_webpack_require_96842__(3);
1983var typeValidator_1 = __nested_webpack_require_96842__(4);
1984var validator_1 = __nested_webpack_require_96842__(1);
1985var DashboardLoadValidator = /** @class */ (function (_super) {
1986    __extends(DashboardLoadValidator, _super);
1987    function DashboardLoadValidator() {
1988        return _super !== null && _super.apply(this, arguments) || this;
1989    }
1990    DashboardLoadValidator.prototype.validate = function (input, path, field) {
1991        if (input == null) {
1992            return null;
1993        }
1994        var errors = _super.prototype.validate.call(this, input, path, field);
1995        if (errors) {
1996            return errors;
1997        }
1998        var fields = [
1999            {
2000                field: "accessToken",
2001                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2002            },
2003            {
2004                field: "id",
2005                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2006            },
2007            {
2008                field: "groupId",
2009                validators: [validator_1.Validators.stringValidator]
2010            },
2011            {
2012                field: "pageView",
2013                validators: [validator_1.Validators.pageViewFieldValidator]
2014            },
2015            {
2016                field: "tokenType",
2017                validators: [validator_1.Validators.tokenTypeValidator]
2018            },
2019            {
2020                field: "embedUrl",
2021                validators: [validator_1.Validators.stringValidator]
2022            }
2023        ];
2024        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2025        return multipleFieldsValidator.validate(input, path, field);
2026    };
2027    return DashboardLoadValidator;
2028}(typeValidator_1.ObjectValidator));
2029exports.DashboardLoadValidator = DashboardLoadValidator;
2030
2031
2032/***/ }),
2033/* 9 */
2034/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_99841__) {
2035
2036// Copyright (c) Microsoft Corporation.
2037// Licensed under the MIT License.
2038var __extends = (this && this.__extends) || (function () {
2039    var extendStatics = function (d, b) {
2040        extendStatics = Object.setPrototypeOf ||
2041            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
2042            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
2043        return extendStatics(d, b);
2044    };
2045    return function (d, b) {
2046        if (typeof b !== "function" && b !== null)
2047            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
2048        extendStatics(d, b);
2049        function __() { this.constructor = d; }
2050        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
2051    };
2052})();
2053Object.defineProperty(exports, "__esModule", ({ value: true }));
2054exports.DatasetBindingValidator = void 0;
2055var multipleFieldsValidator_1 = __nested_webpack_require_99841__(3);
2056var typeValidator_1 = __nested_webpack_require_99841__(4);
2057var validator_1 = __nested_webpack_require_99841__(1);
2058var DatasetBindingValidator = /** @class */ (function (_super) {
2059    __extends(DatasetBindingValidator, _super);
2060    function DatasetBindingValidator() {
2061        return _super !== null && _super.apply(this, arguments) || this;
2062    }
2063    DatasetBindingValidator.prototype.validate = function (input, path, field) {
2064        if (input == null) {
2065            return null;
2066        }
2067        var errors = _super.prototype.validate.call(this, input, path, field);
2068        if (errors) {
2069            return errors;
2070        }
2071        if (!input["datasetId"] && !input["paginatedReportBindings"]) {
2072            return [{
2073                    message: "datasetBinding cannot be empty",
2074                    path: (path ? path + "." : "") + field,
2075                    keyword: "invalid"
2076                }];
2077        }
2078        var fields = [
2079            {
2080                field: "datasetId",
2081                validators: [validator_1.Validators.stringValidator]
2082            },
2083            {
2084                field: "paginatedReportBindings",
2085                validators: [validator_1.Validators.paginatedReportDatasetBindingArrayValidator]
2086            }
2087        ];
2088        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2089        return multipleFieldsValidator.validate(input, path, field);
2090    };
2091    return DatasetBindingValidator;
2092}(typeValidator_1.ObjectValidator));
2093exports.DatasetBindingValidator = DatasetBindingValidator;
2094
2095
2096/***/ }),
2097/* 10 */
2098/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_102537__) {
2099
2100// Copyright (c) Microsoft Corporation.
2101// Licensed under the MIT License.
2102var __extends = (this && this.__extends) || (function () {
2103    var extendStatics = function (d, b) {
2104        extendStatics = Object.setPrototypeOf ||
2105            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
2106            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
2107        return extendStatics(d, b);
2108    };
2109    return function (d, b) {
2110        if (typeof b !== "function" && b !== null)
2111            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
2112        extendStatics(d, b);
2113        function __() { this.constructor = d; }
2114        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
2115    };
2116})();
2117Object.defineProperty(exports, "__esModule", ({ value: true }));
2118exports.ExportDataRequestValidator = void 0;
2119var multipleFieldsValidator_1 = __nested_webpack_require_102537__(3);
2120var typeValidator_1 = __nested_webpack_require_102537__(4);
2121var ExportDataRequestValidator = /** @class */ (function (_super) {
2122    __extends(ExportDataRequestValidator, _super);
2123    function ExportDataRequestValidator() {
2124        return _super !== null && _super.apply(this, arguments) || this;
2125    }
2126    ExportDataRequestValidator.prototype.validate = function (input, path, field) {
2127        if (input == null) {
2128            return null;
2129        }
2130        var errors = _super.prototype.validate.call(this, input, path, field);
2131        if (errors) {
2132            return errors;
2133        }
2134        var fields = [
2135            {
2136                field: "rows",
2137                validators: [new typeValidator_1.NumberValidator()]
2138            },
2139            {
2140                field: "exportDataType",
2141                validators: [new typeValidator_1.EnumValidator([0, 1])]
2142            }
2143        ];
2144        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2145        return multipleFieldsValidator.validate(input, path, field);
2146    };
2147    return ExportDataRequestValidator;
2148}(typeValidator_1.ObjectValidator));
2149exports.ExportDataRequestValidator = ExportDataRequestValidator;
2150
2151
2152/***/ }),
2153/* 11 */
2154/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_104881__) {
2155
2156// Copyright (c) Microsoft Corporation.
2157// Licensed under the MIT License.
2158var __extends = (this && this.__extends) || (function () {
2159    var extendStatics = function (d, b) {
2160        extendStatics = Object.setPrototypeOf ||
2161            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
2162            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
2163        return extendStatics(d, b);
2164    };
2165    return function (d, b) {
2166        if (typeof b !== "function" && b !== null)
2167            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
2168        extendStatics(d, b);
2169        function __() { this.constructor = d; }
2170        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
2171    };
2172})();
2173Object.defineProperty(exports, "__esModule", ({ value: true }));
2174exports.ExtensionsValidator = exports.MenuGroupExtensionValidator = exports.ExtensionValidator = exports.CommandExtensionValidator = exports.ExtensionItemValidator = exports.ExtensionPointsValidator = exports.GroupedMenuExtensionValidator = exports.FlatMenuExtensionValidator = exports.MenuExtensionBaseValidator = void 0;
2175var multipleFieldsValidator_1 = __nested_webpack_require_104881__(3);
2176var typeValidator_1 = __nested_webpack_require_104881__(4);
2177var validator_1 = __nested_webpack_require_104881__(1);
2178var MenuExtensionBaseValidator = /** @class */ (function (_super) {
2179    __extends(MenuExtensionBaseValidator, _super);
2180    function MenuExtensionBaseValidator() {
2181        return _super !== null && _super.apply(this, arguments) || this;
2182    }
2183    MenuExtensionBaseValidator.prototype.validate = function (input, path, field) {
2184        if (input == null) {
2185            return null;
2186        }
2187        var errors = _super.prototype.validate.call(this, input, path, field);
2188        if (errors) {
2189            return errors;
2190        }
2191        var fields = [
2192            {
2193                field: "title",
2194                validators: [validator_1.Validators.stringValidator]
2195            },
2196            {
2197                field: "icon",
2198                validators: [validator_1.Validators.stringValidator]
2199            }
2200        ];
2201        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2202        return multipleFieldsValidator.validate(input, path, field);
2203    };
2204    return MenuExtensionBaseValidator;
2205}(typeValidator_1.ObjectValidator));
2206exports.MenuExtensionBaseValidator = MenuExtensionBaseValidator;
2207var FlatMenuExtensionValidator = /** @class */ (function (_super) {
2208    __extends(FlatMenuExtensionValidator, _super);
2209    function FlatMenuExtensionValidator() {
2210        return _super !== null && _super.apply(this, arguments) || this;
2211    }
2212    FlatMenuExtensionValidator.prototype.validate = function (input, path, field) {
2213        if (input == null) {
2214            return null;
2215        }
2216        var errors = _super.prototype.validate.call(this, input, path, field);
2217        if (errors) {
2218            return errors;
2219        }
2220        var fields = [
2221            {
2222                field: "menuLocation",
2223                validators: [validator_1.Validators.menuLocationValidator]
2224            },
2225            {
2226                field: "groupName",
2227                validators: [validator_1.Validators.fieldForbiddenValidator]
2228            },
2229        ];
2230        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2231        return multipleFieldsValidator.validate(input, path, field);
2232    };
2233    return FlatMenuExtensionValidator;
2234}(MenuExtensionBaseValidator));
2235exports.FlatMenuExtensionValidator = FlatMenuExtensionValidator;
2236var GroupedMenuExtensionValidator = /** @class */ (function (_super) {
2237    __extends(GroupedMenuExtensionValidator, _super);
2238    function GroupedMenuExtensionValidator() {
2239        return _super !== null && _super.apply(this, arguments) || this;
2240    }
2241    GroupedMenuExtensionValidator.prototype.validate = function (input, path, field) {
2242        if (input == null) {
2243            return null;
2244        }
2245        var errors = _super.prototype.validate.call(this, input, path, field);
2246        if (errors) {
2247            return errors;
2248        }
2249        var fields = [
2250            {
2251                field: "groupName",
2252                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2253            },
2254            {
2255                field: "menuLocation",
2256                validators: [validator_1.Validators.fieldForbiddenValidator]
2257            },
2258        ];
2259        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2260        return multipleFieldsValidator.validate(input, path, field);
2261    };
2262    return GroupedMenuExtensionValidator;
2263}(MenuExtensionBaseValidator));
2264exports.GroupedMenuExtensionValidator = GroupedMenuExtensionValidator;
2265var ExtensionPointsValidator = /** @class */ (function (_super) {
2266    __extends(ExtensionPointsValidator, _super);
2267    function ExtensionPointsValidator() {
2268        return _super !== null && _super.apply(this, arguments) || this;
2269    }
2270    ExtensionPointsValidator.prototype.validate = function (input, path, field) {
2271        if (input == null) {
2272            return null;
2273        }
2274        var errors = _super.prototype.validate.call(this, input, path, field);
2275        if (errors) {
2276            return errors;
2277        }
2278        var fields = [
2279            {
2280                field: "visualContextMenu",
2281                validators: [validator_1.Validators.menuExtensionValidator]
2282            },
2283            {
2284                field: "visualOptionsMenu",
2285                validators: [validator_1.Validators.menuExtensionValidator]
2286            }
2287        ];
2288        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2289        return multipleFieldsValidator.validate(input, path, field);
2290    };
2291    return ExtensionPointsValidator;
2292}(typeValidator_1.ObjectValidator));
2293exports.ExtensionPointsValidator = ExtensionPointsValidator;
2294var ExtensionItemValidator = /** @class */ (function (_super) {
2295    __extends(ExtensionItemValidator, _super);
2296    function ExtensionItemValidator() {
2297        return _super !== null && _super.apply(this, arguments) || this;
2298    }
2299    ExtensionItemValidator.prototype.validate = function (input, path, field) {
2300        if (input == null) {
2301            return null;
2302        }
2303        var errors = _super.prototype.validate.call(this, input, path, field);
2304        if (errors) {
2305            return errors;
2306        }
2307        var fields = [
2308            {
2309                field: "name",
2310                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2311            },
2312            {
2313                field: "extend",
2314                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.extensionPointsValidator]
2315            }
2316        ];
2317        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2318        return multipleFieldsValidator.validate(input, path, field);
2319    };
2320    return ExtensionItemValidator;
2321}(typeValidator_1.ObjectValidator));
2322exports.ExtensionItemValidator = ExtensionItemValidator;
2323var CommandExtensionValidator = /** @class */ (function (_super) {
2324    __extends(CommandExtensionValidator, _super);
2325    function CommandExtensionValidator() {
2326        return _super !== null && _super.apply(this, arguments) || this;
2327    }
2328    CommandExtensionValidator.prototype.validate = function (input, path, field) {
2329        if (input == null) {
2330            return null;
2331        }
2332        var errors = _super.prototype.validate.call(this, input, path, field);
2333        if (errors) {
2334            return errors;
2335        }
2336        var fields = [
2337            {
2338                field: "title",
2339                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2340            },
2341            {
2342                field: "icon",
2343                validators: [validator_1.Validators.stringValidator]
2344            },
2345            {
2346                field: "selector",
2347                validators: [validator_1.Validators.commandExtensionSelectorValidator]
2348            },
2349        ];
2350        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2351        return multipleFieldsValidator.validate(input, path, field);
2352    };
2353    return CommandExtensionValidator;
2354}(ExtensionItemValidator));
2355exports.CommandExtensionValidator = CommandExtensionValidator;
2356var ExtensionValidator = /** @class */ (function (_super) {
2357    __extends(ExtensionValidator, _super);
2358    function ExtensionValidator() {
2359        return _super !== null && _super.apply(this, arguments) || this;
2360    }
2361    ExtensionValidator.prototype.validate = function (input, path, field) {
2362        if (input == null) {
2363            return null;
2364        }
2365        var errors = _super.prototype.validate.call(this, input, path, field);
2366        if (errors) {
2367            return errors;
2368        }
2369        var fields = [
2370            {
2371                field: "command",
2372                validators: [validator_1.Validators.commandExtensionValidator]
2373            }
2374        ];
2375        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2376        return multipleFieldsValidator.validate(input, path, field);
2377    };
2378    return ExtensionValidator;
2379}(typeValidator_1.ObjectValidator));
2380exports.ExtensionValidator = ExtensionValidator;
2381var MenuGroupExtensionValidator = /** @class */ (function (_super) {
2382    __extends(MenuGroupExtensionValidator, _super);
2383    function MenuGroupExtensionValidator() {
2384        return _super !== null && _super.apply(this, arguments) || this;
2385    }
2386    MenuGroupExtensionValidator.prototype.validate = function (input, path, field) {
2387        if (input == null) {
2388            return null;
2389        }
2390        var errors = _super.prototype.validate.call(this, input, path, field);
2391        if (errors) {
2392            return errors;
2393        }
2394        var fields = [
2395            {
2396                field: "name",
2397                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2398            },
2399            {
2400                field: "title",
2401                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2402            },
2403            {
2404                field: "menuLocation",
2405                validators: [validator_1.Validators.menuLocationValidator]
2406            },
2407        ];
2408        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2409        return multipleFieldsValidator.validate(input, path, field);
2410    };
2411    return MenuGroupExtensionValidator;
2412}(typeValidator_1.ObjectValidator));
2413exports.MenuGroupExtensionValidator = MenuGroupExtensionValidator;
2414var ExtensionsValidator = /** @class */ (function (_super) {
2415    __extends(ExtensionsValidator, _super);
2416    function ExtensionsValidator() {
2417        return _super !== null && _super.apply(this, arguments) || this;
2418    }
2419    ExtensionsValidator.prototype.validate = function (input, path, field) {
2420        if (input == null) {
2421            return null;
2422        }
2423        var errors = _super.prototype.validate.call(this, input, path, field);
2424        if (errors) {
2425            return errors;
2426        }
2427        var fields = [
2428            {
2429                field: "commands",
2430                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.commandExtensionArrayValidator]
2431            },
2432            {
2433                field: "groups",
2434                validators: [validator_1.Validators.menuGroupExtensionArrayValidator]
2435            }
2436        ];
2437        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2438        return multipleFieldsValidator.validate(input, path, field);
2439    };
2440    return ExtensionsValidator;
2441}(typeValidator_1.ObjectValidator));
2442exports.ExtensionsValidator = ExtensionsValidator;
2443
2444
2445/***/ }),
2446/* 12 */
2447/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_117372__) {
2448
2449// Copyright (c) Microsoft Corporation.
2450// Licensed under the MIT License.
2451var __extends = (this && this.__extends) || (function () {
2452    var extendStatics = function (d, b) {
2453        extendStatics = Object.setPrototypeOf ||
2454            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
2455            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
2456        return extendStatics(d, b);
2457    };
2458    return function (d, b) {
2459        if (typeof b !== "function" && b !== null)
2460            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
2461        extendStatics(d, b);
2462        function __() { this.constructor = d; }
2463        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
2464    };
2465})();
2466Object.defineProperty(exports, "__esModule", ({ value: true }));
2467exports.OnLoadFiltersValidator = exports.OnLoadFiltersBaseRemoveOperationValidator = exports.OnLoadFiltersBaseValidator = exports.ConditionItemValidator = exports.RemoveFiltersRequestValidator = exports.UpdateFiltersRequestValidator = exports.FilterValidator = exports.HierarchyFilterNodeValidator = exports.HierarchyFilterValidator = exports.IncludeExcludeFilterValidator = exports.NotSupportedFilterValidator = exports.TopNFilterValidator = exports.RelativeTimeFilterValidator = exports.RelativeDateFilterValidator = exports.RelativeDateTimeFilterValidator = exports.AdvancedFilterValidator = exports.BasicFilterValidator = exports.FilterValidatorBase = exports.FilterDisplaySettingsValidator = exports.FilterMeasureTargetValidator = exports.FilterKeyHierarchyTargetValidator = exports.FilterHierarchyTargetValidator = exports.FilterKeyColumnsTargetValidator = exports.FilterColumnTargetValidator = void 0;
2468var multipleFieldsValidator_1 = __nested_webpack_require_117372__(3);
2469var typeValidator_1 = __nested_webpack_require_117372__(4);
2470var validator_1 = __nested_webpack_require_117372__(1);
2471var FilterColumnTargetValidator = /** @class */ (function (_super) {
2472    __extends(FilterColumnTargetValidator, _super);
2473    function FilterColumnTargetValidator() {
2474        return _super !== null && _super.apply(this, arguments) || this;
2475    }
2476    FilterColumnTargetValidator.prototype.validate = function (input, path, field) {
2477        if (input == null) {
2478            return null;
2479        }
2480        var errors = _super.prototype.validate.call(this, input, path, field);
2481        if (errors) {
2482            return errors;
2483        }
2484        var fields = [
2485            {
2486                field: "table",
2487                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2488            },
2489            {
2490                field: "column",
2491                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2492            }
2493        ];
2494        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2495        return multipleFieldsValidator.validate(input, path, field);
2496    };
2497    return FilterColumnTargetValidator;
2498}(typeValidator_1.ObjectValidator));
2499exports.FilterColumnTargetValidator = FilterColumnTargetValidator;
2500var FilterKeyColumnsTargetValidator = /** @class */ (function (_super) {
2501    __extends(FilterKeyColumnsTargetValidator, _super);
2502    function FilterKeyColumnsTargetValidator() {
2503        return _super !== null && _super.apply(this, arguments) || this;
2504    }
2505    FilterKeyColumnsTargetValidator.prototype.validate = function (input, path, field) {
2506        if (input == null) {
2507            return null;
2508        }
2509        var errors = _super.prototype.validate.call(this, input, path, field);
2510        if (errors) {
2511            return errors;
2512        }
2513        var fields = [
2514            {
2515                field: "keys",
2516                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringArrayValidator]
2517            },
2518        ];
2519        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2520        return multipleFieldsValidator.validate(input, path, field);
2521    };
2522    return FilterKeyColumnsTargetValidator;
2523}(FilterColumnTargetValidator));
2524exports.FilterKeyColumnsTargetValidator = FilterKeyColumnsTargetValidator;
2525var FilterHierarchyTargetValidator = /** @class */ (function (_super) {
2526    __extends(FilterHierarchyTargetValidator, _super);
2527    function FilterHierarchyTargetValidator() {
2528        return _super !== null && _super.apply(this, arguments) || this;
2529    }
2530    FilterHierarchyTargetValidator.prototype.validate = function (input, path, field) {
2531        if (input == null) {
2532            return null;
2533        }
2534        var errors = _super.prototype.validate.call(this, input, path, field);
2535        if (errors) {
2536            return errors;
2537        }
2538        var fields = [
2539            {
2540                field: "table",
2541                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2542            },
2543            {
2544                field: "hierarchy",
2545                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2546            },
2547            {
2548                field: "hierarchyLevel",
2549                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2550            }
2551        ];
2552        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2553        return multipleFieldsValidator.validate(input, path, field);
2554    };
2555    return FilterHierarchyTargetValidator;
2556}(typeValidator_1.ObjectValidator));
2557exports.FilterHierarchyTargetValidator = FilterHierarchyTargetValidator;
2558var FilterKeyHierarchyTargetValidator = /** @class */ (function (_super) {
2559    __extends(FilterKeyHierarchyTargetValidator, _super);
2560    function FilterKeyHierarchyTargetValidator() {
2561        return _super !== null && _super.apply(this, arguments) || this;
2562    }
2563    FilterKeyHierarchyTargetValidator.prototype.validate = function (input, path, field) {
2564        if (input == null) {
2565            return null;
2566        }
2567        var errors = _super.prototype.validate.call(this, input, path, field);
2568        if (errors) {
2569            return errors;
2570        }
2571        var fields = [
2572            {
2573                field: "keys",
2574                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringArrayValidator]
2575            },
2576        ];
2577        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2578        return multipleFieldsValidator.validate(input, path, field);
2579    };
2580    return FilterKeyHierarchyTargetValidator;
2581}(FilterHierarchyTargetValidator));
2582exports.FilterKeyHierarchyTargetValidator = FilterKeyHierarchyTargetValidator;
2583var FilterMeasureTargetValidator = /** @class */ (function (_super) {
2584    __extends(FilterMeasureTargetValidator, _super);
2585    function FilterMeasureTargetValidator() {
2586        return _super !== null && _super.apply(this, arguments) || this;
2587    }
2588    FilterMeasureTargetValidator.prototype.validate = function (input, path, field) {
2589        if (input == null) {
2590            return null;
2591        }
2592        var errors = _super.prototype.validate.call(this, input, path, field);
2593        if (errors) {
2594            return errors;
2595        }
2596        var fields = [
2597            {
2598                field: "table",
2599                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2600            },
2601            {
2602                field: "measure",
2603                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2604            }
2605        ];
2606        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2607        return multipleFieldsValidator.validate(input, path, field);
2608    };
2609    return FilterMeasureTargetValidator;
2610}(typeValidator_1.ObjectValidator));
2611exports.FilterMeasureTargetValidator = FilterMeasureTargetValidator;
2612var FilterDisplaySettingsValidator = /** @class */ (function (_super) {
2613    __extends(FilterDisplaySettingsValidator, _super);
2614    function FilterDisplaySettingsValidator() {
2615        return _super !== null && _super.apply(this, arguments) || this;
2616    }
2617    FilterDisplaySettingsValidator.prototype.validate = function (input, path, field) {
2618        if (input == null) {
2619            return null;
2620        }
2621        var errors = _super.prototype.validate.call(this, input, path, field);
2622        if (errors) {
2623            return errors;
2624        }
2625        var fields = [
2626            {
2627                field: "isLockedInViewMode",
2628                validators: [validator_1.Validators.booleanValidator]
2629            },
2630            {
2631                field: "isHiddenInViewMode",
2632                validators: [validator_1.Validators.booleanValidator]
2633            },
2634            {
2635                field: "displayName",
2636                validators: [validator_1.Validators.stringValidator]
2637            }
2638        ];
2639        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2640        return multipleFieldsValidator.validate(input, path, field);
2641    };
2642    return FilterDisplaySettingsValidator;
2643}(typeValidator_1.ObjectValidator));
2644exports.FilterDisplaySettingsValidator = FilterDisplaySettingsValidator;
2645var FilterValidatorBase = /** @class */ (function (_super) {
2646    __extends(FilterValidatorBase, _super);
2647    function FilterValidatorBase() {
2648        return _super !== null && _super.apply(this, arguments) || this;
2649    }
2650    FilterValidatorBase.prototype.validate = function (input, path, field) {
2651        if (input == null) {
2652            return null;
2653        }
2654        var errors = _super.prototype.validate.call(this, input, path, field);
2655        if (errors) {
2656            return errors;
2657        }
2658        var fields = [
2659            {
2660                field: "target",
2661                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator]
2662            },
2663            {
2664                field: "$schema",
2665                validators: [validator_1.Validators.stringValidator]
2666            },
2667            {
2668                field: "filterType",
2669                validators: [validator_1.Validators.filterTypeValidator]
2670            },
2671            {
2672                field: "displaySettings",
2673                validators: [validator_1.Validators.filterDisplaySettingsValidator]
2674            },
2675        ];
2676        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2677        return multipleFieldsValidator.validate(input, path, field);
2678    };
2679    return FilterValidatorBase;
2680}(typeValidator_1.ObjectValidator));
2681exports.FilterValidatorBase = FilterValidatorBase;
2682var BasicFilterValidator = /** @class */ (function (_super) {
2683    __extends(BasicFilterValidator, _super);
2684    function BasicFilterValidator() {
2685        return _super !== null && _super.apply(this, arguments) || this;
2686    }
2687    BasicFilterValidator.prototype.validate = function (input, path, field) {
2688        if (input == null) {
2689            return null;
2690        }
2691        var errors = _super.prototype.validate.call(this, input, path, field);
2692        if (errors) {
2693            return errors;
2694        }
2695        var fields = [
2696            {
2697                field: "operator",
2698                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2699            },
2700            {
2701                field: "values",
2702                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.anyArrayValidator]
2703            },
2704            {
2705                field: "filterType",
2706                validators: [validator_1.Validators.basicFilterTypeValidator]
2707            },
2708            {
2709                field: "requireSingleSelection",
2710                validators: [validator_1.Validators.booleanValidator]
2711            },
2712        ];
2713        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2714        return multipleFieldsValidator.validate(input, path, field);
2715    };
2716    return BasicFilterValidator;
2717}(FilterValidatorBase));
2718exports.BasicFilterValidator = BasicFilterValidator;
2719var AdvancedFilterValidator = /** @class */ (function (_super) {
2720    __extends(AdvancedFilterValidator, _super);
2721    function AdvancedFilterValidator() {
2722        return _super !== null && _super.apply(this, arguments) || this;
2723    }
2724    AdvancedFilterValidator.prototype.validate = function (input, path, field) {
2725        if (input == null) {
2726            return null;
2727        }
2728        var errors = _super.prototype.validate.call(this, input, path, field);
2729        if (errors) {
2730            return errors;
2731        }
2732        var fields = [
2733            {
2734                field: "logicalOperator",
2735                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2736            },
2737            {
2738                field: "conditions",
2739                validators: [validator_1.Validators.filterConditionsValidator]
2740            },
2741            {
2742                field: "filterType",
2743                validators: [validator_1.Validators.advancedFilterTypeValidator]
2744            }
2745        ];
2746        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2747        return multipleFieldsValidator.validate(input, path, field);
2748    };
2749    return AdvancedFilterValidator;
2750}(FilterValidatorBase));
2751exports.AdvancedFilterValidator = AdvancedFilterValidator;
2752var RelativeDateTimeFilterValidator = /** @class */ (function (_super) {
2753    __extends(RelativeDateTimeFilterValidator, _super);
2754    function RelativeDateTimeFilterValidator() {
2755        return _super !== null && _super.apply(this, arguments) || this;
2756    }
2757    RelativeDateTimeFilterValidator.prototype.validate = function (input, path, field) {
2758        if (input == null) {
2759            return null;
2760        }
2761        var errors = _super.prototype.validate.call(this, input, path, field);
2762        if (errors) {
2763            return errors;
2764        }
2765        var fields = [
2766            {
2767                field: "operator",
2768                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.relativeDateFilterOperatorValidator]
2769            },
2770            {
2771                field: "timeUnitsCount",
2772                validators: [validator_1.Validators.numberValidator]
2773            },
2774            {
2775                field: "timeUnitType",
2776                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.relativeDateTimeFilterUnitTypeValidator]
2777            },
2778            {
2779                field: "filterType",
2780                validators: [validator_1.Validators.relativeDateTimeFilterTypeValidator]
2781            },
2782        ];
2783        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2784        return multipleFieldsValidator.validate(input, path, field);
2785    };
2786    return RelativeDateTimeFilterValidator;
2787}(FilterValidatorBase));
2788exports.RelativeDateTimeFilterValidator = RelativeDateTimeFilterValidator;
2789var RelativeDateFilterValidator = /** @class */ (function (_super) {
2790    __extends(RelativeDateFilterValidator, _super);
2791    function RelativeDateFilterValidator() {
2792        return _super !== null && _super.apply(this, arguments) || this;
2793    }
2794    RelativeDateFilterValidator.prototype.validate = function (input, path, field) {
2795        if (input == null) {
2796            return null;
2797        }
2798        var errors = _super.prototype.validate.call(this, input, path, field);
2799        if (errors) {
2800            return errors;
2801        }
2802        var fields = [
2803            {
2804                field: "includeToday",
2805                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.booleanValidator]
2806            },
2807            {
2808                field: "timeUnitType",
2809                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.relativeDateFilterTimeUnitTypeValidator]
2810            },
2811            {
2812                field: "filterType",
2813                validators: [validator_1.Validators.relativeDateFilterTypeValidator]
2814            },
2815        ];
2816        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2817        return multipleFieldsValidator.validate(input, path, field);
2818    };
2819    return RelativeDateFilterValidator;
2820}(RelativeDateTimeFilterValidator));
2821exports.RelativeDateFilterValidator = RelativeDateFilterValidator;
2822var RelativeTimeFilterValidator = /** @class */ (function (_super) {
2823    __extends(RelativeTimeFilterValidator, _super);
2824    function RelativeTimeFilterValidator() {
2825        return _super !== null && _super.apply(this, arguments) || this;
2826    }
2827    RelativeTimeFilterValidator.prototype.validate = function (input, path, field) {
2828        if (input == null) {
2829            return null;
2830        }
2831        var errors = _super.prototype.validate.call(this, input, path, field);
2832        if (errors) {
2833            return errors;
2834        }
2835        var fields = [
2836            {
2837                field: "timeUnitType",
2838                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.relativeTimeFilterTimeUnitTypeValidator]
2839            },
2840            {
2841                field: "filterType",
2842                validators: [validator_1.Validators.relativeTimeFilterTypeValidator]
2843            },
2844        ];
2845        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2846        return multipleFieldsValidator.validate(input, path, field);
2847    };
2848    return RelativeTimeFilterValidator;
2849}(RelativeDateTimeFilterValidator));
2850exports.RelativeTimeFilterValidator = RelativeTimeFilterValidator;
2851var TopNFilterValidator = /** @class */ (function (_super) {
2852    __extends(TopNFilterValidator, _super);
2853    function TopNFilterValidator() {
2854        return _super !== null && _super.apply(this, arguments) || this;
2855    }
2856    TopNFilterValidator.prototype.validate = function (input, path, field) {
2857        if (input == null) {
2858            return null;
2859        }
2860        var errors = _super.prototype.validate.call(this, input, path, field);
2861        if (errors) {
2862            return errors;
2863        }
2864        var fields = [
2865            {
2866                field: "operator",
2867                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2868            },
2869            {
2870                field: "itemCount",
2871                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.numberValidator]
2872            },
2873            {
2874                field: "filterType",
2875                validators: [validator_1.Validators.topNFilterTypeValidator]
2876            },
2877            {
2878                field: "orderBy",
2879                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator]
2880            }
2881        ];
2882        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2883        return multipleFieldsValidator.validate(input, path, field);
2884    };
2885    return TopNFilterValidator;
2886}(FilterValidatorBase));
2887exports.TopNFilterValidator = TopNFilterValidator;
2888var NotSupportedFilterValidator = /** @class */ (function (_super) {
2889    __extends(NotSupportedFilterValidator, _super);
2890    function NotSupportedFilterValidator() {
2891        return _super !== null && _super.apply(this, arguments) || this;
2892    }
2893    NotSupportedFilterValidator.prototype.validate = function (input, path, field) {
2894        if (input == null) {
2895            return null;
2896        }
2897        var errors = _super.prototype.validate.call(this, input, path, field);
2898        if (errors) {
2899            return errors;
2900        }
2901        var fields = [
2902            {
2903                field: "message",
2904                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2905            },
2906            {
2907                field: "notSupportedTypeName",
2908                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
2909            },
2910            {
2911                field: "filterType",
2912                validators: [validator_1.Validators.notSupportedFilterTypeValidator]
2913            },
2914        ];
2915        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2916        return multipleFieldsValidator.validate(input, path, field);
2917    };
2918    return NotSupportedFilterValidator;
2919}(FilterValidatorBase));
2920exports.NotSupportedFilterValidator = NotSupportedFilterValidator;
2921var IncludeExcludeFilterValidator = /** @class */ (function (_super) {
2922    __extends(IncludeExcludeFilterValidator, _super);
2923    function IncludeExcludeFilterValidator() {
2924        return _super !== null && _super.apply(this, arguments) || this;
2925    }
2926    IncludeExcludeFilterValidator.prototype.validate = function (input, path, field) {
2927        if (input == null) {
2928            return null;
2929        }
2930        var errors = _super.prototype.validate.call(this, input, path, field);
2931        if (errors) {
2932            return errors;
2933        }
2934        var fields = [
2935            {
2936                field: "isExclude",
2937                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.booleanValidator]
2938            },
2939            {
2940                field: "values",
2941                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.anyArrayValidator]
2942            },
2943            {
2944                field: "filterType",
2945                validators: [validator_1.Validators.includeExludeFilterTypeValidator]
2946            },
2947        ];
2948        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2949        return multipleFieldsValidator.validate(input, path, field);
2950    };
2951    return IncludeExcludeFilterValidator;
2952}(FilterValidatorBase));
2953exports.IncludeExcludeFilterValidator = IncludeExcludeFilterValidator;
2954var HierarchyFilterValidator = /** @class */ (function (_super) {
2955    __extends(HierarchyFilterValidator, _super);
2956    function HierarchyFilterValidator() {
2957        return _super !== null && _super.apply(this, arguments) || this;
2958    }
2959    HierarchyFilterValidator.prototype.validate = function (input, path, field) {
2960        if (input == null) {
2961            return null;
2962        }
2963        var errors = _super.prototype.validate.call(this, input, path, field);
2964        if (errors) {
2965            return errors;
2966        }
2967        var fields = [
2968            {
2969                field: "hierarchyData",
2970                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.hierarchyFilterValuesValidator]
2971            },
2972            {
2973                field: "filterType",
2974                validators: [validator_1.Validators.hierarchyFilterTypeValidator]
2975            },
2976        ];
2977        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
2978        return multipleFieldsValidator.validate(input, path, field);
2979    };
2980    return HierarchyFilterValidator;
2981}(FilterValidatorBase));
2982exports.HierarchyFilterValidator = HierarchyFilterValidator;
2983var HierarchyFilterNodeValidator = /** @class */ (function (_super) {
2984    __extends(HierarchyFilterNodeValidator, _super);
2985    function HierarchyFilterNodeValidator() {
2986        return _super !== null && _super.apply(this, arguments) || this;
2987    }
2988    HierarchyFilterNodeValidator.prototype.validate = function (input, path, field) {
2989        if (input == null) {
2990            return null;
2991        }
2992        var errors = _super.prototype.validate.call(this, input, path, field);
2993        if (errors) {
2994            return errors;
2995        }
2996        var fields = [
2997            {
2998                field: "value",
2999                validators: [validator_1.Validators.anyValueValidator]
3000            },
3001            {
3002                field: "keyValues",
3003                validators: [validator_1.Validators.anyArrayValidator]
3004            },
3005            {
3006                field: "children",
3007                validators: [validator_1.Validators.hierarchyFilterValuesValidator]
3008            },
3009            {
3010                field: "operator",
3011                validators: [validator_1.Validators.stringValidator]
3012            }
3013        ];
3014        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3015        return multipleFieldsValidator.validate(input, path, field);
3016    };
3017    return HierarchyFilterNodeValidator;
3018}(typeValidator_1.ObjectValidator));
3019exports.HierarchyFilterNodeValidator = HierarchyFilterNodeValidator;
3020var FilterValidator = /** @class */ (function (_super) {
3021    __extends(FilterValidator, _super);
3022    function FilterValidator() {
3023        return _super !== null && _super.apply(this, arguments) || this;
3024    }
3025    FilterValidator.prototype.validate = function (input, path, field) {
3026        if (input == null) {
3027            return null;
3028        }
3029        var errors = _super.prototype.validate.call(this, input, path, field);
3030        if (errors) {
3031            return errors;
3032        }
3033        return validator_1.Validators.anyFilterValidator.validate(input, path, field);
3034    };
3035    return FilterValidator;
3036}(typeValidator_1.ObjectValidator));
3037exports.FilterValidator = FilterValidator;
3038var UpdateFiltersRequestValidator = /** @class */ (function (_super) {
3039    __extends(UpdateFiltersRequestValidator, _super);
3040    function UpdateFiltersRequestValidator() {
3041        return _super !== null && _super.apply(this, arguments) || this;
3042    }
3043    UpdateFiltersRequestValidator.prototype.validate = function (input, path, field) {
3044        if (input == null) {
3045            return null;
3046        }
3047        var errors = _super.prototype.validate.call(this, input, path, field);
3048        if (errors) {
3049            return errors;
3050        }
3051        var fields = [
3052            {
3053                field: "filtersOperation",
3054                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filtersOperationsUpdateValidator]
3055            },
3056            {
3057                field: "filters",
3058                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filtersArrayValidator]
3059            }
3060        ];
3061        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3062        return multipleFieldsValidator.validate(input, path, field);
3063    };
3064    return UpdateFiltersRequestValidator;
3065}(typeValidator_1.ObjectValidator));
3066exports.UpdateFiltersRequestValidator = UpdateFiltersRequestValidator;
3067var RemoveFiltersRequestValidator = /** @class */ (function (_super) {
3068    __extends(RemoveFiltersRequestValidator, _super);
3069    function RemoveFiltersRequestValidator() {
3070        return _super !== null && _super.apply(this, arguments) || this;
3071    }
3072    RemoveFiltersRequestValidator.prototype.validate = function (input, path, field) {
3073        if (input == null) {
3074            return null;
3075        }
3076        var errors = _super.prototype.validate.call(this, input, path, field);
3077        if (errors) {
3078            return errors;
3079        }
3080        var fields = [
3081            {
3082                field: "filtersOperation",
3083                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filtersOperationsRemoveAllValidator]
3084            },
3085            {
3086                field: "filters",
3087                validators: [validator_1.Validators.fieldForbiddenValidator, validator_1.Validators.filtersArrayValidator]
3088            }
3089        ];
3090        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3091        return multipleFieldsValidator.validate(input, path, field);
3092    };
3093    return RemoveFiltersRequestValidator;
3094}(typeValidator_1.ObjectValidator));
3095exports.RemoveFiltersRequestValidator = RemoveFiltersRequestValidator;
3096var ConditionItemValidator = /** @class */ (function (_super) {
3097    __extends(ConditionItemValidator, _super);
3098    function ConditionItemValidator() {
3099        return _super !== null && _super.apply(this, arguments) || this;
3100    }
3101    ConditionItemValidator.prototype.validate = function (input, path, field) {
3102        if (input == null) {
3103            return null;
3104        }
3105        var errors = _super.prototype.validate.call(this, input, path, field);
3106        if (errors) {
3107            return errors;
3108        }
3109        var fields = [
3110            {
3111                field: "value",
3112                validators: [validator_1.Validators.anyValueValidator]
3113            },
3114            {
3115                field: "operator",
3116                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
3117            }
3118        ];
3119        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3120        return multipleFieldsValidator.validate(input, path, field);
3121    };
3122    return ConditionItemValidator;
3123}(typeValidator_1.ObjectValidator));
3124exports.ConditionItemValidator = ConditionItemValidator;
3125var OnLoadFiltersBaseValidator = /** @class */ (function (_super) {
3126    __extends(OnLoadFiltersBaseValidator, _super);
3127    function OnLoadFiltersBaseValidator() {
3128        return _super !== null && _super.apply(this, arguments) || this;
3129    }
3130    OnLoadFiltersBaseValidator.prototype.validate = function (input, path, field) {
3131        if (input == null) {
3132            return null;
3133        }
3134        var errors = _super.prototype.validate.call(this, input, path, field);
3135        if (errors) {
3136            return errors;
3137        }
3138        var fields = [
3139            {
3140                field: "operation",
3141                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filtersOperationsUpdateValidator]
3142            },
3143            {
3144                field: "filters",
3145                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filtersArrayValidator]
3146            }
3147        ];
3148        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3149        return multipleFieldsValidator.validate(input, path, field);
3150    };
3151    return OnLoadFiltersBaseValidator;
3152}(typeValidator_1.ObjectValidator));
3153exports.OnLoadFiltersBaseValidator = OnLoadFiltersBaseValidator;
3154var OnLoadFiltersBaseRemoveOperationValidator = /** @class */ (function (_super) {
3155    __extends(OnLoadFiltersBaseRemoveOperationValidator, _super);
3156    function OnLoadFiltersBaseRemoveOperationValidator() {
3157        return _super !== null && _super.apply(this, arguments) || this;
3158    }
3159    OnLoadFiltersBaseRemoveOperationValidator.prototype.validate = function (input, path, field) {
3160        if (input == null) {
3161            return null;
3162        }
3163        var errors = _super.prototype.validate.call(this, input, path, field);
3164        if (errors) {
3165            return errors;
3166        }
3167        var fields = [
3168            {
3169                field: "operation",
3170                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filtersOperationsRemoveAllValidator]
3171            },
3172            {
3173                field: "filters",
3174                validators: [validator_1.Validators.fieldForbiddenValidator, validator_1.Validators.filtersArrayValidator]
3175            }
3176        ];
3177        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3178        return multipleFieldsValidator.validate(input, path, field);
3179    };
3180    return OnLoadFiltersBaseRemoveOperationValidator;
3181}(typeValidator_1.ObjectValidator));
3182exports.OnLoadFiltersBaseRemoveOperationValidator = OnLoadFiltersBaseRemoveOperationValidator;
3183var OnLoadFiltersValidator = /** @class */ (function (_super) {
3184    __extends(OnLoadFiltersValidator, _super);
3185    function OnLoadFiltersValidator() {
3186        return _super !== null && _super.apply(this, arguments) || this;
3187    }
3188    OnLoadFiltersValidator.prototype.validate = function (input, path, field) {
3189        if (input == null) {
3190            return null;
3191        }
3192        var errors = _super.prototype.validate.call(this, input, path, field);
3193        if (errors) {
3194            return errors;
3195        }
3196        var fields = [
3197            {
3198                field: "allPages",
3199                validators: [validator_1.Validators.onLoadFiltersBaseValidator]
3200            },
3201            {
3202                field: "currentPage",
3203                validators: [validator_1.Validators.onLoadFiltersBaseValidator]
3204            }
3205        ];
3206        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3207        return multipleFieldsValidator.validate(input, path, field);
3208    };
3209    return OnLoadFiltersValidator;
3210}(typeValidator_1.ObjectValidator));
3211exports.OnLoadFiltersValidator = OnLoadFiltersValidator;
3212
3213
3214/***/ }),
3215/* 13 */
3216/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_151344__) {
3217
3218// Copyright (c) Microsoft Corporation.
3219// Licensed under the MIT License.
3220var __extends = (this && this.__extends) || (function () {
3221    var extendStatics = function (d, b) {
3222        extendStatics = Object.setPrototypeOf ||
3223            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
3224            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
3225        return extendStatics(d, b);
3226    };
3227    return function (d, b) {
3228        if (typeof b !== "function" && b !== null)
3229            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
3230        extendStatics(d, b);
3231        function __() { this.constructor = d; }
3232        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
3233    };
3234})();
3235Object.defineProperty(exports, "__esModule", ({ value: true }));
3236exports.PageLayoutValidator = exports.DisplayStateValidator = exports.VisualLayoutValidator = exports.CustomLayoutValidator = void 0;
3237var multipleFieldsValidator_1 = __nested_webpack_require_151344__(3);
3238var typeValidator_1 = __nested_webpack_require_151344__(4);
3239var validator_1 = __nested_webpack_require_151344__(1);
3240var CustomLayoutValidator = /** @class */ (function (_super) {
3241    __extends(CustomLayoutValidator, _super);
3242    function CustomLayoutValidator() {
3243        return _super !== null && _super.apply(this, arguments) || this;
3244    }
3245    CustomLayoutValidator.prototype.validate = function (input, path, field) {
3246        if (input == null) {
3247            return null;
3248        }
3249        var errors = _super.prototype.validate.call(this, input, path, field);
3250        if (errors) {
3251            return errors;
3252        }
3253        var fields = [
3254            {
3255                field: "pageSize",
3256                validators: [validator_1.Validators.pageSizeValidator]
3257            },
3258            {
3259                field: "displayOption",
3260                validators: [validator_1.Validators.customLayoutDisplayOptionValidator]
3261            },
3262            {
3263                field: "pagesLayout",
3264                validators: [validator_1.Validators.pagesLayoutValidator]
3265            }
3266        ];
3267        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3268        return multipleFieldsValidator.validate(input, path, field);
3269    };
3270    return CustomLayoutValidator;
3271}(typeValidator_1.ObjectValidator));
3272exports.CustomLayoutValidator = CustomLayoutValidator;
3273var VisualLayoutValidator = /** @class */ (function (_super) {
3274    __extends(VisualLayoutValidator, _super);
3275    function VisualLayoutValidator() {
3276        return _super !== null && _super.apply(this, arguments) || this;
3277    }
3278    VisualLayoutValidator.prototype.validate = function (input, path, field) {
3279        if (input == null) {
3280            return null;
3281        }
3282        var errors = _super.prototype.validate.call(this, input, path, field);
3283        if (errors) {
3284            return errors;
3285        }
3286        var fields = [
3287            {
3288                field: "x",
3289                validators: [validator_1.Validators.numberValidator]
3290            },
3291            {
3292                field: "y",
3293                validators: [validator_1.Validators.numberValidator]
3294            },
3295            {
3296                field: "z",
3297                validators: [validator_1.Validators.numberValidator]
3298            },
3299            {
3300                field: "width",
3301                validators: [validator_1.Validators.numberValidator]
3302            },
3303            {
3304                field: "height",
3305                validators: [validator_1.Validators.numberValidator]
3306            },
3307            {
3308                field: "displayState",
3309                validators: [validator_1.Validators.displayStateValidator]
3310            }
3311        ];
3312        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3313        return multipleFieldsValidator.validate(input, path, field);
3314    };
3315    return VisualLayoutValidator;
3316}(typeValidator_1.ObjectValidator));
3317exports.VisualLayoutValidator = VisualLayoutValidator;
3318var DisplayStateValidator = /** @class */ (function (_super) {
3319    __extends(DisplayStateValidator, _super);
3320    function DisplayStateValidator() {
3321        return _super !== null && _super.apply(this, arguments) || this;
3322    }
3323    DisplayStateValidator.prototype.validate = function (input, path, field) {
3324        if (input == null) {
3325            return null;
3326        }
3327        var errors = _super.prototype.validate.call(this, input, path, field);
3328        if (errors) {
3329            return errors;
3330        }
3331        var fields = [
3332            {
3333                field: "mode",
3334                validators: [validator_1.Validators.displayStateModeValidator]
3335            }
3336        ];
3337        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3338        return multipleFieldsValidator.validate(input, path, field);
3339    };
3340    return DisplayStateValidator;
3341}(typeValidator_1.ObjectValidator));
3342exports.DisplayStateValidator = DisplayStateValidator;
3343var PageLayoutValidator = /** @class */ (function (_super) {
3344    __extends(PageLayoutValidator, _super);
3345    function PageLayoutValidator() {
3346        return _super !== null && _super.apply(this, arguments) || this;
3347    }
3348    PageLayoutValidator.prototype.validate = function (input, path, field) {
3349        if (input == null) {
3350            return null;
3351        }
3352        var errors = _super.prototype.validate.call(this, input, path, field);
3353        if (errors) {
3354            return errors;
3355        }
3356        var fields = [
3357            {
3358                field: "visualsLayout",
3359                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.pageLayoutValidator]
3360            },
3361            {
3362                field: "defaultLayout",
3363                validators: [validator_1.Validators.visualLayoutValidator]
3364            }
3365        ];
3366        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3367        return multipleFieldsValidator.validate(input, path, field);
3368    };
3369    return PageLayoutValidator;
3370}(typeValidator_1.ObjectValidator));
3371exports.PageLayoutValidator = PageLayoutValidator;
3372
3373
3374/***/ }),
3375/* 14 */
3376/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_157823__) {
3377
3378// Copyright (c) Microsoft Corporation.
3379// Licensed under the MIT License.
3380var __extends = (this && this.__extends) || (function () {
3381    var extendStatics = function (d, b) {
3382        extendStatics = Object.setPrototypeOf ||
3383            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
3384            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
3385        return extendStatics(d, b);
3386    };
3387    return function (d, b) {
3388        if (typeof b !== "function" && b !== null)
3389            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
3390        extendStatics(d, b);
3391        function __() { this.constructor = d; }
3392        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
3393    };
3394})();
3395Object.defineProperty(exports, "__esModule", ({ value: true }));
3396exports.PageViewFieldValidator = exports.PageValidator = exports.CustomPageSizeValidator = exports.PageSizeValidator = void 0;
3397var multipleFieldsValidator_1 = __nested_webpack_require_157823__(3);
3398var typeValidator_1 = __nested_webpack_require_157823__(4);
3399var validator_1 = __nested_webpack_require_157823__(1);
3400var PageSizeValidator = /** @class */ (function (_super) {
3401    __extends(PageSizeValidator, _super);
3402    function PageSizeValidator() {
3403        return _super !== null && _super.apply(this, arguments) || this;
3404    }
3405    PageSizeValidator.prototype.validate = function (input, path, field) {
3406        if (input == null) {
3407            return null;
3408        }
3409        var errors = _super.prototype.validate.call(this, input, path, field);
3410        if (errors) {
3411            return errors;
3412        }
3413        var fields = [
3414            {
3415                field: "type",
3416                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.pageSizeTypeValidator]
3417            }
3418        ];
3419        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3420        return multipleFieldsValidator.validate(input, path, field);
3421    };
3422    return PageSizeValidator;
3423}(typeValidator_1.ObjectValidator));
3424exports.PageSizeValidator = PageSizeValidator;
3425var CustomPageSizeValidator = /** @class */ (function (_super) {
3426    __extends(CustomPageSizeValidator, _super);
3427    function CustomPageSizeValidator() {
3428        return _super !== null && _super.apply(this, arguments) || this;
3429    }
3430    CustomPageSizeValidator.prototype.validate = function (input, path, field) {
3431        if (input == null) {
3432            return null;
3433        }
3434        var errors = _super.prototype.validate.call(this, input, path, field);
3435        if (errors) {
3436            return errors;
3437        }
3438        var fields = [
3439            {
3440                field: "width",
3441                validators: [validator_1.Validators.numberValidator]
3442            },
3443            {
3444                field: "height",
3445                validators: [validator_1.Validators.numberValidator]
3446            }
3447        ];
3448        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3449        return multipleFieldsValidator.validate(input, path, field);
3450    };
3451    return CustomPageSizeValidator;
3452}(PageSizeValidator));
3453exports.CustomPageSizeValidator = CustomPageSizeValidator;
3454var PageValidator = /** @class */ (function (_super) {
3455    __extends(PageValidator, _super);
3456    function PageValidator() {
3457        return _super !== null && _super.apply(this, arguments) || this;
3458    }
3459    PageValidator.prototype.validate = function (input, path, field) {
3460        if (input == null) {
3461            return null;
3462        }
3463        var errors = _super.prototype.validate.call(this, input, path, field);
3464        if (errors) {
3465            return errors;
3466        }
3467        var fields = [
3468            {
3469                field: "name",
3470                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
3471            }
3472        ];
3473        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3474        return multipleFieldsValidator.validate(input, path, field);
3475    };
3476    return PageValidator;
3477}(typeValidator_1.ObjectValidator));
3478exports.PageValidator = PageValidator;
3479var PageViewFieldValidator = /** @class */ (function (_super) {
3480    __extends(PageViewFieldValidator, _super);
3481    function PageViewFieldValidator() {
3482        return _super !== null && _super.apply(this, arguments) || this;
3483    }
3484    PageViewFieldValidator.prototype.validate = function (input, path, field) {
3485        if (input == null) {
3486            return null;
3487        }
3488        var errors = _super.prototype.validate.call(this, input, path, field);
3489        if (errors) {
3490            return errors;
3491        }
3492        var possibleValues = ["actualSize", "fitToWidth", "oneColumn"];
3493        if (possibleValues.indexOf(input) < 0) {
3494            return [{
3495                    message: "pageView must be a string with one of the following values: \"actualSize\", \"fitToWidth\", \"oneColumn\""
3496                }];
3497        }
3498        return null;
3499    };
3500    return PageViewFieldValidator;
3501}(typeValidator_1.StringValidator));
3502exports.PageViewFieldValidator = PageViewFieldValidator;
3503
3504
3505/***/ }),
3506/* 15 */
3507/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_163263__) {
3508
3509// Copyright (c) Microsoft Corporation.
3510// Licensed under the MIT License.
3511var __extends = (this && this.__extends) || (function () {
3512    var extendStatics = function (d, b) {
3513        extendStatics = Object.setPrototypeOf ||
3514            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
3515            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
3516        return extendStatics(d, b);
3517    };
3518    return function (d, b) {
3519        if (typeof b !== "function" && b !== null)
3520            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
3521        extendStatics(d, b);
3522        function __() { this.constructor = d; }
3523        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
3524    };
3525})();
3526Object.defineProperty(exports, "__esModule", ({ value: true }));
3527exports.VisualizationsPaneValidator = exports.SyncSlicersPaneValidator = exports.SelectionPaneValidator = exports.PageNavigationPaneValidator = exports.FiltersPaneValidator = exports.FieldsPaneValidator = exports.BookmarksPaneValidator = exports.QnaPanesValidator = exports.ReportPanesValidator = void 0;
3528var multipleFieldsValidator_1 = __nested_webpack_require_163263__(3);
3529var typeValidator_1 = __nested_webpack_require_163263__(4);
3530var validator_1 = __nested_webpack_require_163263__(1);
3531var ReportPanesValidator = /** @class */ (function (_super) {
3532    __extends(ReportPanesValidator, _super);
3533    function ReportPanesValidator() {
3534        return _super !== null && _super.apply(this, arguments) || this;
3535    }
3536    ReportPanesValidator.prototype.validate = function (input, path, field) {
3537        if (input == null) {
3538            return null;
3539        }
3540        var errors = _super.prototype.validate.call(this, input, path, field);
3541        if (errors) {
3542            return errors;
3543        }
3544        var fields = [
3545            {
3546                field: "bookmarks",
3547                validators: [validator_1.Validators.bookmarksPaneValidator]
3548            },
3549            {
3550                field: "fields",
3551                validators: [validator_1.Validators.fieldsPaneValidator]
3552            },
3553            {
3554                field: "filters",
3555                validators: [validator_1.Validators.filtersPaneValidator]
3556            },
3557            {
3558                field: "pageNavigation",
3559                validators: [validator_1.Validators.pageNavigationPaneValidator]
3560            },
3561            {
3562                field: "selection",
3563                validators: [validator_1.Validators.selectionPaneValidator]
3564            },
3565            {
3566                field: "syncSlicers",
3567                validators: [validator_1.Validators.syncSlicersPaneValidator]
3568            },
3569            {
3570                field: "visualizations",
3571                validators: [validator_1.Validators.visualizationsPaneValidator]
3572            }
3573        ];
3574        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3575        return multipleFieldsValidator.validate(input, path, field);
3576    };
3577    return ReportPanesValidator;
3578}(typeValidator_1.ObjectValidator));
3579exports.ReportPanesValidator = ReportPanesValidator;
3580var QnaPanesValidator = /** @class */ (function (_super) {
3581    __extends(QnaPanesValidator, _super);
3582    function QnaPanesValidator() {
3583        return _super !== null && _super.apply(this, arguments) || this;
3584    }
3585    QnaPanesValidator.prototype.validate = function (input, path, field) {
3586        if (input == null) {
3587            return null;
3588        }
3589        var errors = _super.prototype.validate.call(this, input, path, field);
3590        if (errors) {
3591            return errors;
3592        }
3593        var fields = [
3594            {
3595                field: "filters",
3596                validators: [validator_1.Validators.filtersPaneValidator]
3597            }
3598        ];
3599        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3600        return multipleFieldsValidator.validate(input, path, field);
3601    };
3602    return QnaPanesValidator;
3603}(typeValidator_1.ObjectValidator));
3604exports.QnaPanesValidator = QnaPanesValidator;
3605var BookmarksPaneValidator = /** @class */ (function (_super) {
3606    __extends(BookmarksPaneValidator, _super);
3607    function BookmarksPaneValidator() {
3608        return _super !== null && _super.apply(this, arguments) || this;
3609    }
3610    BookmarksPaneValidator.prototype.validate = function (input, path, field) {
3611        if (input == null) {
3612            return null;
3613        }
3614        var errors = _super.prototype.validate.call(this, input, path, field);
3615        if (errors) {
3616            return errors;
3617        }
3618        var fields = [
3619            {
3620                field: "visible",
3621                validators: [validator_1.Validators.booleanValidator]
3622            },
3623        ];
3624        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3625        return multipleFieldsValidator.validate(input, path, field);
3626    };
3627    return BookmarksPaneValidator;
3628}(typeValidator_1.ObjectValidator));
3629exports.BookmarksPaneValidator = BookmarksPaneValidator;
3630var FieldsPaneValidator = /** @class */ (function (_super) {
3631    __extends(FieldsPaneValidator, _super);
3632    function FieldsPaneValidator() {
3633        return _super !== null && _super.apply(this, arguments) || this;
3634    }
3635    FieldsPaneValidator.prototype.validate = function (input, path, field) {
3636        if (input == null) {
3637            return null;
3638        }
3639        var errors = _super.prototype.validate.call(this, input, path, field);
3640        if (errors) {
3641            return errors;
3642        }
3643        var fields = [
3644            {
3645                field: "expanded",
3646                validators: [validator_1.Validators.booleanValidator]
3647            },
3648        ];
3649        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3650        return multipleFieldsValidator.validate(input, path, field);
3651    };
3652    return FieldsPaneValidator;
3653}(typeValidator_1.ObjectValidator));
3654exports.FieldsPaneValidator = FieldsPaneValidator;
3655var FiltersPaneValidator = /** @class */ (function (_super) {
3656    __extends(FiltersPaneValidator, _super);
3657    function FiltersPaneValidator() {
3658        return _super !== null && _super.apply(this, arguments) || this;
3659    }
3660    FiltersPaneValidator.prototype.validate = function (input, path, field) {
3661        if (input == null) {
3662            return null;
3663        }
3664        var errors = _super.prototype.validate.call(this, input, path, field);
3665        if (errors) {
3666            return errors;
3667        }
3668        var fields = [
3669            {
3670                field: "visible",
3671                validators: [validator_1.Validators.booleanValidator]
3672            },
3673            {
3674                field: "expanded",
3675                validators: [validator_1.Validators.booleanValidator]
3676            },
3677        ];
3678        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3679        return multipleFieldsValidator.validate(input, path, field);
3680    };
3681    return FiltersPaneValidator;
3682}(typeValidator_1.ObjectValidator));
3683exports.FiltersPaneValidator = FiltersPaneValidator;
3684var PageNavigationPaneValidator = /** @class */ (function (_super) {
3685    __extends(PageNavigationPaneValidator, _super);
3686    function PageNavigationPaneValidator() {
3687        return _super !== null && _super.apply(this, arguments) || this;
3688    }
3689    PageNavigationPaneValidator.prototype.validate = function (input, path, field) {
3690        if (input == null) {
3691            return null;
3692        }
3693        var errors = _super.prototype.validate.call(this, input, path, field);
3694        if (errors) {
3695            return errors;
3696        }
3697        var fields = [
3698            {
3699                field: "visible",
3700                validators: [validator_1.Validators.booleanValidator]
3701            },
3702            {
3703                field: "position",
3704                validators: [validator_1.Validators.pageNavigationPositionValidator]
3705            },
3706        ];
3707        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3708        return multipleFieldsValidator.validate(input, path, field);
3709    };
3710    return PageNavigationPaneValidator;
3711}(typeValidator_1.ObjectValidator));
3712exports.PageNavigationPaneValidator = PageNavigationPaneValidator;
3713var SelectionPaneValidator = /** @class */ (function (_super) {
3714    __extends(SelectionPaneValidator, _super);
3715    function SelectionPaneValidator() {
3716        return _super !== null && _super.apply(this, arguments) || this;
3717    }
3718    SelectionPaneValidator.prototype.validate = function (input, path, field) {
3719        if (input == null) {
3720            return null;
3721        }
3722        var errors = _super.prototype.validate.call(this, input, path, field);
3723        if (errors) {
3724            return errors;
3725        }
3726        var fields = [
3727            {
3728                field: "visible",
3729                validators: [validator_1.Validators.booleanValidator]
3730            },
3731        ];
3732        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3733        return multipleFieldsValidator.validate(input, path, field);
3734    };
3735    return SelectionPaneValidator;
3736}(typeValidator_1.ObjectValidator));
3737exports.SelectionPaneValidator = SelectionPaneValidator;
3738var SyncSlicersPaneValidator = /** @class */ (function (_super) {
3739    __extends(SyncSlicersPaneValidator, _super);
3740    function SyncSlicersPaneValidator() {
3741        return _super !== null && _super.apply(this, arguments) || this;
3742    }
3743    SyncSlicersPaneValidator.prototype.validate = function (input, path, field) {
3744        if (input == null) {
3745            return null;
3746        }
3747        var errors = _super.prototype.validate.call(this, input, path, field);
3748        if (errors) {
3749            return errors;
3750        }
3751        var fields = [
3752            {
3753                field: "visible",
3754                validators: [validator_1.Validators.booleanValidator]
3755            },
3756        ];
3757        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3758        return multipleFieldsValidator.validate(input, path, field);
3759    };
3760    return SyncSlicersPaneValidator;
3761}(typeValidator_1.ObjectValidator));
3762exports.SyncSlicersPaneValidator = SyncSlicersPaneValidator;
3763var VisualizationsPaneValidator = /** @class */ (function (_super) {
3764    __extends(VisualizationsPaneValidator, _super);
3765    function VisualizationsPaneValidator() {
3766        return _super !== null && _super.apply(this, arguments) || this;
3767    }
3768    VisualizationsPaneValidator.prototype.validate = function (input, path, field) {
3769        if (input == null) {
3770            return null;
3771        }
3772        var errors = _super.prototype.validate.call(this, input, path, field);
3773        if (errors) {
3774            return errors;
3775        }
3776        var fields = [
3777            {
3778                field: "expanded",
3779                validators: [validator_1.Validators.booleanValidator]
3780            },
3781        ];
3782        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3783        return multipleFieldsValidator.validate(input, path, field);
3784    };
3785    return VisualizationsPaneValidator;
3786}(typeValidator_1.ObjectValidator));
3787exports.VisualizationsPaneValidator = VisualizationsPaneValidator;
3788
3789
3790/***/ }),
3791/* 16 */
3792/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_175009__) {
3793
3794// Copyright (c) Microsoft Corporation.
3795// Licensed under the MIT License.
3796var __extends = (this && this.__extends) || (function () {
3797    var extendStatics = function (d, b) {
3798        extendStatics = Object.setPrototypeOf ||
3799            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
3800            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
3801        return extendStatics(d, b);
3802    };
3803    return function (d, b) {
3804        if (typeof b !== "function" && b !== null)
3805            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
3806        extendStatics(d, b);
3807        function __() { this.constructor = d; }
3808        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
3809    };
3810})();
3811Object.defineProperty(exports, "__esModule", ({ value: true }));
3812exports.QnaInterpretInputDataValidator = exports.QnaSettingsValidator = exports.LoadQnaValidator = void 0;
3813var multipleFieldsValidator_1 = __nested_webpack_require_175009__(3);
3814var typeValidator_1 = __nested_webpack_require_175009__(4);
3815var validator_1 = __nested_webpack_require_175009__(1);
3816var LoadQnaValidator = /** @class */ (function (_super) {
3817    __extends(LoadQnaValidator, _super);
3818    function LoadQnaValidator() {
3819        return _super !== null && _super.apply(this, arguments) || this;
3820    }
3821    LoadQnaValidator.prototype.validate = function (input, path, field) {
3822        if (input == null) {
3823            return null;
3824        }
3825        var errors = _super.prototype.validate.call(this, input, path, field);
3826        if (errors) {
3827            return errors;
3828        }
3829        var fields = [
3830            {
3831                field: "accessToken",
3832                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
3833            },
3834            {
3835                field: "datasetIds",
3836                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringArrayValidator]
3837            },
3838            {
3839                field: "question",
3840                validators: [validator_1.Validators.stringValidator]
3841            },
3842            {
3843                field: "viewMode",
3844                validators: [validator_1.Validators.viewModeValidator]
3845            },
3846            {
3847                field: "settings",
3848                validators: [validator_1.Validators.qnaSettingValidator]
3849            },
3850            {
3851                field: "tokenType",
3852                validators: [validator_1.Validators.tokenTypeValidator]
3853            },
3854            {
3855                field: "groupId",
3856                validators: [validator_1.Validators.stringValidator]
3857            }
3858        ];
3859        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3860        return multipleFieldsValidator.validate(input, path, field);
3861    };
3862    return LoadQnaValidator;
3863}(typeValidator_1.ObjectValidator));
3864exports.LoadQnaValidator = LoadQnaValidator;
3865var QnaSettingsValidator = /** @class */ (function (_super) {
3866    __extends(QnaSettingsValidator, _super);
3867    function QnaSettingsValidator() {
3868        return _super !== null && _super.apply(this, arguments) || this;
3869    }
3870    QnaSettingsValidator.prototype.validate = function (input, path, field) {
3871        if (input == null) {
3872            return null;
3873        }
3874        var errors = _super.prototype.validate.call(this, input, path, field);
3875        if (errors) {
3876            return errors;
3877        }
3878        var fields = [
3879            {
3880                field: "filterPaneEnabled",
3881                validators: [validator_1.Validators.booleanValidator]
3882            },
3883            {
3884                field: "hideErrors",
3885                validators: [validator_1.Validators.booleanValidator]
3886            },
3887            {
3888                field: "panes",
3889                validators: [validator_1.Validators.qnaPanesValidator]
3890            }
3891        ];
3892        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3893        return multipleFieldsValidator.validate(input, path, field);
3894    };
3895    return QnaSettingsValidator;
3896}(typeValidator_1.ObjectValidator));
3897exports.QnaSettingsValidator = QnaSettingsValidator;
3898var QnaInterpretInputDataValidator = /** @class */ (function (_super) {
3899    __extends(QnaInterpretInputDataValidator, _super);
3900    function QnaInterpretInputDataValidator() {
3901        return _super !== null && _super.apply(this, arguments) || this;
3902    }
3903    QnaInterpretInputDataValidator.prototype.validate = function (input, path, field) {
3904        if (input == null) {
3905            return null;
3906        }
3907        var errors = _super.prototype.validate.call(this, input, path, field);
3908        if (errors) {
3909            return errors;
3910        }
3911        var fields = [
3912            {
3913                field: "datasetIds",
3914                validators: [validator_1.Validators.stringArrayValidator]
3915            },
3916            {
3917                field: "question",
3918                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
3919            },
3920        ];
3921        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3922        return multipleFieldsValidator.validate(input, path, field);
3923    };
3924    return QnaInterpretInputDataValidator;
3925}(typeValidator_1.ObjectValidator));
3926exports.QnaInterpretInputDataValidator = QnaInterpretInputDataValidator;
3927
3928
3929/***/ }),
3930/* 17 */
3931/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_180720__) {
3932
3933// Copyright (c) Microsoft Corporation.
3934// Licensed under the MIT License.
3935var __extends = (this && this.__extends) || (function () {
3936    var extendStatics = function (d, b) {
3937        extendStatics = Object.setPrototypeOf ||
3938            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
3939            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
3940        return extendStatics(d, b);
3941    };
3942    return function (d, b) {
3943        if (typeof b !== "function" && b !== null)
3944            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
3945        extendStatics(d, b);
3946        function __() { this.constructor = d; }
3947        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
3948    };
3949})();
3950Object.defineProperty(exports, "__esModule", ({ value: true }));
3951exports.ReportCreateValidator = void 0;
3952var multipleFieldsValidator_1 = __nested_webpack_require_180720__(3);
3953var typeValidator_1 = __nested_webpack_require_180720__(4);
3954var validator_1 = __nested_webpack_require_180720__(1);
3955var ReportCreateValidator = /** @class */ (function (_super) {
3956    __extends(ReportCreateValidator, _super);
3957    function ReportCreateValidator() {
3958        return _super !== null && _super.apply(this, arguments) || this;
3959    }
3960    ReportCreateValidator.prototype.validate = function (input, path, field) {
3961        if (input == null) {
3962            return null;
3963        }
3964        var errors = _super.prototype.validate.call(this, input, path, field);
3965        if (errors) {
3966            return errors;
3967        }
3968        var fields = [
3969            {
3970                field: "accessToken",
3971                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
3972            },
3973            {
3974                field: "datasetId",
3975                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
3976            },
3977            {
3978                field: "groupId",
3979                validators: [validator_1.Validators.stringValidator]
3980            },
3981            {
3982                field: "tokenType",
3983                validators: [validator_1.Validators.tokenTypeValidator]
3984            },
3985            {
3986                field: "theme",
3987                validators: [validator_1.Validators.customThemeValidator]
3988            },
3989        ];
3990        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
3991        return multipleFieldsValidator.validate(input, path, field);
3992    };
3993    return ReportCreateValidator;
3994}(typeValidator_1.ObjectValidator));
3995exports.ReportCreateValidator = ReportCreateValidator;
3996
3997
3998/***/ }),
3999/* 18 */
4000/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_183578__) {
4001
4002// Copyright (c) Microsoft Corporation.
4003// Licensed under the MIT License.
4004var __extends = (this && this.__extends) || (function () {
4005    var extendStatics = function (d, b) {
4006        extendStatics = Object.setPrototypeOf ||
4007            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
4008            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
4009        return extendStatics(d, b);
4010    };
4011    return function (d, b) {
4012        if (typeof b !== "function" && b !== null)
4013            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
4014        extendStatics(d, b);
4015        function __() { this.constructor = d; }
4016        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
4017    };
4018})();
4019Object.defineProperty(exports, "__esModule", ({ value: true }));
4020exports.ReportLoadValidator = void 0;
4021var multipleFieldsValidator_1 = __nested_webpack_require_183578__(3);
4022var typeValidator_1 = __nested_webpack_require_183578__(4);
4023var validator_1 = __nested_webpack_require_183578__(1);
4024var ReportLoadValidator = /** @class */ (function (_super) {
4025    __extends(ReportLoadValidator, _super);
4026    function ReportLoadValidator() {
4027        return _super !== null && _super.apply(this, arguments) || this;
4028    }
4029    ReportLoadValidator.prototype.validate = function (input, path, field) {
4030        if (input == null) {
4031            return null;
4032        }
4033        var errors = _super.prototype.validate.call(this, input, path, field);
4034        if (errors) {
4035            return errors;
4036        }
4037        var fields = [
4038            {
4039                field: "accessToken",
4040                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4041            },
4042            {
4043                field: "id",
4044                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4045            },
4046            {
4047                field: "groupId",
4048                validators: [validator_1.Validators.stringValidator]
4049            },
4050            {
4051                field: "settings",
4052                validators: [validator_1.Validators.settingsValidator]
4053            },
4054            {
4055                field: "pageName",
4056                validators: [validator_1.Validators.stringValidator]
4057            },
4058            {
4059                field: "filters",
4060                validators: [validator_1.Validators.reportLoadFiltersValidator]
4061            },
4062            {
4063                field: "permissions",
4064                validators: [validator_1.Validators.permissionsValidator]
4065            },
4066            {
4067                field: "viewMode",
4068                validators: [validator_1.Validators.viewModeValidator]
4069            },
4070            {
4071                field: "tokenType",
4072                validators: [validator_1.Validators.tokenTypeValidator]
4073            },
4074            {
4075                field: "bookmark",
4076                validators: [validator_1.Validators.applyBookmarkValidator]
4077            },
4078            {
4079                field: "theme",
4080                validators: [validator_1.Validators.customThemeValidator]
4081            },
4082            {
4083                field: "embedUrl",
4084                validators: [validator_1.Validators.stringValidator]
4085            },
4086            {
4087                field: "datasetBinding",
4088                validators: [validator_1.Validators.datasetBindingValidator]
4089            },
4090            {
4091                field: "contrastMode",
4092                validators: [validator_1.Validators.contrastModeValidator]
4093            },
4094        ];
4095        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4096        return multipleFieldsValidator.validate(input, path, field);
4097    };
4098    return ReportLoadValidator;
4099}(typeValidator_1.ObjectValidator));
4100exports.ReportLoadValidator = ReportLoadValidator;
4101
4102
4103/***/ }),
4104/* 19 */
4105/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_187699__) {
4106
4107// Copyright (c) Microsoft Corporation.
4108// Licensed under the MIT License.
4109var __extends = (this && this.__extends) || (function () {
4110    var extendStatics = function (d, b) {
4111        extendStatics = Object.setPrototypeOf ||
4112            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
4113            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
4114        return extendStatics(d, b);
4115    };
4116    return function (d, b) {
4117        if (typeof b !== "function" && b !== null)
4118            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
4119        extendStatics(d, b);
4120        function __() { this.constructor = d; }
4121        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
4122    };
4123})();
4124Object.defineProperty(exports, "__esModule", ({ value: true }));
4125exports.ReportParameterFieldsValidator = exports.PaginatedReportLoadValidator = void 0;
4126var multipleFieldsValidator_1 = __nested_webpack_require_187699__(3);
4127var typeValidator_1 = __nested_webpack_require_187699__(4);
4128var validator_1 = __nested_webpack_require_187699__(1);
4129var PaginatedReportLoadValidator = /** @class */ (function (_super) {
4130    __extends(PaginatedReportLoadValidator, _super);
4131    function PaginatedReportLoadValidator() {
4132        return _super !== null && _super.apply(this, arguments) || this;
4133    }
4134    PaginatedReportLoadValidator.prototype.validate = function (input, path, field) {
4135        if (input == null) {
4136            return null;
4137        }
4138        var errors = _super.prototype.validate.call(this, input, path, field);
4139        if (errors) {
4140            return errors;
4141        }
4142        var fields = [
4143            {
4144                field: "accessToken",
4145                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4146            },
4147            {
4148                field: "id",
4149                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4150            },
4151            {
4152                field: "groupId",
4153                validators: [validator_1.Validators.stringValidator]
4154            },
4155            {
4156                field: "settings",
4157                validators: [validator_1.Validators.paginatedReportsettingsValidator]
4158            },
4159            {
4160                field: "tokenType",
4161                validators: [validator_1.Validators.tokenTypeValidator]
4162            },
4163            {
4164                field: "embedUrl",
4165                validators: [validator_1.Validators.stringValidator]
4166            },
4167            {
4168                field: "type",
4169                validators: [validator_1.Validators.stringValidator]
4170            },
4171            {
4172                field: "parameterValues",
4173                validators: [validator_1.Validators.parameterValuesArrayValidator]
4174            },
4175            {
4176                field: "datasetBindings",
4177                validators: [validator_1.Validators.paginatedReportDatasetBindingArrayValidator]
4178            }
4179        ];
4180        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4181        return multipleFieldsValidator.validate(input, path, field);
4182    };
4183    return PaginatedReportLoadValidator;
4184}(typeValidator_1.ObjectValidator));
4185exports.PaginatedReportLoadValidator = PaginatedReportLoadValidator;
4186var ReportParameterFieldsValidator = /** @class */ (function () {
4187    function ReportParameterFieldsValidator() {
4188    }
4189    ReportParameterFieldsValidator.prototype.validate = function (input, path, field) {
4190        if (input == null) {
4191            return null;
4192        }
4193        var fields = [
4194            {
4195                field: "name",
4196                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4197            },
4198            {
4199                field: "value",
4200                validators: [validator_1.Validators.stringValidator]
4201            },
4202        ];
4203        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4204        return multipleFieldsValidator.validate(input, path, field);
4205    };
4206    return ReportParameterFieldsValidator;
4207}());
4208exports.ReportParameterFieldsValidator = ReportParameterFieldsValidator;
4209
4210
4211/***/ }),
4212/* 20 */
4213/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_192195__) {
4214
4215// Copyright (c) Microsoft Corporation.
4216// Licensed under the MIT License.
4217var __extends = (this && this.__extends) || (function () {
4218    var extendStatics = function (d, b) {
4219        extendStatics = Object.setPrototypeOf ||
4220            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
4221            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
4222        return extendStatics(d, b);
4223    };
4224    return function (d, b) {
4225        if (typeof b !== "function" && b !== null)
4226            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
4227        extendStatics(d, b);
4228        function __() { this.constructor = d; }
4229        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
4230    };
4231})();
4232Object.defineProperty(exports, "__esModule", ({ value: true }));
4233exports.SaveAsParametersValidator = void 0;
4234var multipleFieldsValidator_1 = __nested_webpack_require_192195__(3);
4235var typeValidator_1 = __nested_webpack_require_192195__(4);
4236var validator_1 = __nested_webpack_require_192195__(1);
4237var SaveAsParametersValidator = /** @class */ (function (_super) {
4238    __extends(SaveAsParametersValidator, _super);
4239    function SaveAsParametersValidator() {
4240        return _super !== null && _super.apply(this, arguments) || this;
4241    }
4242    SaveAsParametersValidator.prototype.validate = function (input, path, field) {
4243        if (input == null) {
4244            return null;
4245        }
4246        var errors = _super.prototype.validate.call(this, input, path, field);
4247        if (errors) {
4248            return errors;
4249        }
4250        var fields = [
4251            {
4252                field: "name",
4253                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4254            }
4255        ];
4256        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4257        return multipleFieldsValidator.validate(input, path, field);
4258    };
4259    return SaveAsParametersValidator;
4260}(typeValidator_1.ObjectValidator));
4261exports.SaveAsParametersValidator = SaveAsParametersValidator;
4262
4263
4264/***/ }),
4265/* 21 */
4266/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_194476__) {
4267
4268// Copyright (c) Microsoft Corporation.
4269// Licensed under the MIT License.
4270var __extends = (this && this.__extends) || (function () {
4271    var extendStatics = function (d, b) {
4272        extendStatics = Object.setPrototypeOf ||
4273            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
4274            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
4275        return extendStatics(d, b);
4276    };
4277    return function (d, b) {
4278        if (typeof b !== "function" && b !== null)
4279            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
4280        extendStatics(d, b);
4281        function __() { this.constructor = d; }
4282        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
4283    };
4284})();
4285Object.defineProperty(exports, "__esModule", ({ value: true }));
4286exports.SlicerTargetSelectorValidator = exports.VisualTypeSelectorValidator = exports.VisualSelectorValidator = void 0;
4287var multipleFieldsValidator_1 = __nested_webpack_require_194476__(3);
4288var typeValidator_1 = __nested_webpack_require_194476__(4);
4289var typeValidator_2 = __nested_webpack_require_194476__(4);
4290var validator_1 = __nested_webpack_require_194476__(1);
4291var VisualSelectorValidator = /** @class */ (function (_super) {
4292    __extends(VisualSelectorValidator, _super);
4293    function VisualSelectorValidator() {
4294        return _super !== null && _super.apply(this, arguments) || this;
4295    }
4296    VisualSelectorValidator.prototype.validate = function (input, path, field) {
4297        if (input == null) {
4298            return null;
4299        }
4300        var errors = _super.prototype.validate.call(this, input, path, field);
4301        if (errors) {
4302            return errors;
4303        }
4304        var fields = [
4305            {
4306                // Not required for this selector only - Backward compatibility
4307                field: "$schema",
4308                validators: [validator_1.Validators.stringValidator, new typeValidator_2.SchemaValidator("http://powerbi.com/product/schema#visualSelector")]
4309            },
4310            {
4311                field: "visualName",
4312                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4313            }
4314        ];
4315        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4316        return multipleFieldsValidator.validate(input, path, field);
4317    };
4318    return VisualSelectorValidator;
4319}(typeValidator_1.ObjectValidator));
4320exports.VisualSelectorValidator = VisualSelectorValidator;
4321var VisualTypeSelectorValidator = /** @class */ (function (_super) {
4322    __extends(VisualTypeSelectorValidator, _super);
4323    function VisualTypeSelectorValidator() {
4324        return _super !== null && _super.apply(this, arguments) || this;
4325    }
4326    VisualTypeSelectorValidator.prototype.validate = function (input, path, field) {
4327        if (input == null) {
4328            return null;
4329        }
4330        var errors = _super.prototype.validate.call(this, input, path, field);
4331        if (errors) {
4332            return errors;
4333        }
4334        var fields = [
4335            {
4336                field: "$schema",
4337                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator, new typeValidator_2.SchemaValidator("http://powerbi.com/product/schema#visualTypeSelector")]
4338            },
4339            {
4340                field: "visualType",
4341                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4342            }
4343        ];
4344        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4345        return multipleFieldsValidator.validate(input, path, field);
4346    };
4347    return VisualTypeSelectorValidator;
4348}(typeValidator_1.ObjectValidator));
4349exports.VisualTypeSelectorValidator = VisualTypeSelectorValidator;
4350var SlicerTargetSelectorValidator = /** @class */ (function (_super) {
4351    __extends(SlicerTargetSelectorValidator, _super);
4352    function SlicerTargetSelectorValidator() {
4353        return _super !== null && _super.apply(this, arguments) || this;
4354    }
4355    SlicerTargetSelectorValidator.prototype.validate = function (input, path, field) {
4356        if (input == null) {
4357            return null;
4358        }
4359        var errors = _super.prototype.validate.call(this, input, path, field);
4360        if (errors) {
4361            return errors;
4362        }
4363        var fields = [
4364            {
4365                field: "$schema",
4366                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator, new typeValidator_2.SchemaValidator("http://powerbi.com/product/schema#slicerTargetSelector")]
4367            },
4368            {
4369                field: "target",
4370                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.slicerTargetValidator]
4371            }
4372        ];
4373        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4374        return multipleFieldsValidator.validate(input, path, field);
4375    };
4376    return SlicerTargetSelectorValidator;
4377}(typeValidator_1.ObjectValidator));
4378exports.SlicerTargetSelectorValidator = SlicerTargetSelectorValidator;
4379
4380
4381/***/ }),
4382/* 22 */
4383/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_199934__) {
4384
4385// Copyright (c) Microsoft Corporation.
4386// Licensed under the MIT License.
4387var __extends = (this && this.__extends) || (function () {
4388    var extendStatics = function (d, b) {
4389        extendStatics = Object.setPrototypeOf ||
4390            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
4391            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
4392        return extendStatics(d, b);
4393    };
4394    return function (d, b) {
4395        if (typeof b !== "function" && b !== null)
4396            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
4397        extendStatics(d, b);
4398        function __() { this.constructor = d; }
4399        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
4400    };
4401})();
4402Object.defineProperty(exports, "__esModule", ({ value: true }));
4403exports.PaginatedReportSettingsValidator = exports.SettingsValidator = void 0;
4404var multipleFieldsValidator_1 = __nested_webpack_require_199934__(3);
4405var typeValidator_1 = __nested_webpack_require_199934__(4);
4406var validator_1 = __nested_webpack_require_199934__(1);
4407var SettingsValidator = /** @class */ (function (_super) {
4408    __extends(SettingsValidator, _super);
4409    function SettingsValidator() {
4410        return _super !== null && _super.apply(this, arguments) || this;
4411    }
4412    SettingsValidator.prototype.validate = function (input, path, field) {
4413        if (input == null) {
4414            return null;
4415        }
4416        var errors = _super.prototype.validate.call(this, input, path, field);
4417        if (errors) {
4418            return errors;
4419        }
4420        var fields = [
4421            {
4422                field: "filterPaneEnabled",
4423                validators: [validator_1.Validators.booleanValidator]
4424            },
4425            {
4426                field: "navContentPaneEnabled",
4427                validators: [validator_1.Validators.booleanValidator]
4428            },
4429            {
4430                field: "bookmarksPaneEnabled",
4431                validators: [validator_1.Validators.booleanValidator]
4432            },
4433            {
4434                field: "useCustomSaveAsDialog",
4435                validators: [validator_1.Validators.booleanValidator]
4436            },
4437            {
4438                field: "extensions",
4439                validators: [validator_1.Validators.extensionsValidator]
4440            },
4441            {
4442                field: "layoutType",
4443                validators: [validator_1.Validators.layoutTypeValidator]
4444            },
4445            {
4446                field: "customLayout",
4447                validators: [validator_1.Validators.customLayoutValidator]
4448            },
4449            {
4450                field: "background",
4451                validators: [validator_1.Validators.backgroundValidator]
4452            },
4453            {
4454                field: "visualSettings",
4455                validators: [validator_1.Validators.visualSettingsValidator]
4456            },
4457            {
4458                field: "hideErrors",
4459                validators: [validator_1.Validators.booleanValidator]
4460            },
4461            {
4462                field: "commands",
4463                validators: [validator_1.Validators.commandsSettingsArrayValidator]
4464            },
4465            {
4466                field: "hyperlinkClickBehavior",
4467                validators: [validator_1.Validators.hyperlinkClickBehaviorValidator]
4468            },
4469            {
4470                field: "bars",
4471                validators: [validator_1.Validators.reportBarsValidator]
4472            },
4473            {
4474                field: "panes",
4475                validators: [validator_1.Validators.reportPanesValidator]
4476            },
4477            {
4478                field: "personalBookmarksEnabled",
4479                validators: [validator_1.Validators.booleanValidator]
4480            },
4481            {
4482                field: "persistentFiltersEnabled",
4483                validators: [validator_1.Validators.booleanValidator]
4484            },
4485            {
4486                field: "visualRenderedEvents",
4487                validators: [validator_1.Validators.booleanValidator]
4488            },
4489            {
4490                field: "authoringHintsEnabled",
4491                validators: [validator_1.Validators.booleanValidator]
4492            },
4493            {
4494                field: "printSettings",
4495                validators: [validator_1.Validators.printSettingsValidator]
4496            }
4497        ];
4498        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4499        return multipleFieldsValidator.validate(input, path, field);
4500    };
4501    return SettingsValidator;
4502}(typeValidator_1.ObjectValidator));
4503exports.SettingsValidator = SettingsValidator;
4504var PaginatedReportSettingsValidator = /** @class */ (function (_super) {
4505    __extends(PaginatedReportSettingsValidator, _super);
4506    function PaginatedReportSettingsValidator() {
4507        return _super !== null && _super.apply(this, arguments) || this;
4508    }
4509    PaginatedReportSettingsValidator.prototype.validate = function (input, path, field) {
4510        if (input == null) {
4511            return null;
4512        }
4513        var errors = _super.prototype.validate.call(this, input, path, field);
4514        if (errors) {
4515            return errors;
4516        }
4517        var fields = [
4518            {
4519                field: "commands",
4520                validators: [validator_1.Validators.paginatedReportCommandsValidator]
4521            },
4522        ];
4523        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4524        return multipleFieldsValidator.validate(input, path, field);
4525    };
4526    return PaginatedReportSettingsValidator;
4527}(typeValidator_1.ObjectValidator));
4528exports.PaginatedReportSettingsValidator = PaginatedReportSettingsValidator;
4529
4530
4531/***/ }),
4532/* 23 */
4533/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_205930__) {
4534
4535// Copyright (c) Microsoft Corporation.
4536// Licensed under the MIT License.
4537var __extends = (this && this.__extends) || (function () {
4538    var extendStatics = function (d, b) {
4539        extendStatics = Object.setPrototypeOf ||
4540            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
4541            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
4542        return extendStatics(d, b);
4543    };
4544    return function (d, b) {
4545        if (typeof b !== "function" && b !== null)
4546            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
4547        extendStatics(d, b);
4548        function __() { this.constructor = d; }
4549        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
4550    };
4551})();
4552Object.defineProperty(exports, "__esModule", ({ value: true }));
4553exports.SlicerStateValidator = exports.SlicerValidator = void 0;
4554var multipleFieldsValidator_1 = __nested_webpack_require_205930__(3);
4555var typeValidator_1 = __nested_webpack_require_205930__(4);
4556var validator_1 = __nested_webpack_require_205930__(1);
4557var SlicerValidator = /** @class */ (function (_super) {
4558    __extends(SlicerValidator, _super);
4559    function SlicerValidator() {
4560        return _super !== null && _super.apply(this, arguments) || this;
4561    }
4562    SlicerValidator.prototype.validate = function (input, path, field) {
4563        if (input == null) {
4564            return null;
4565        }
4566        var errors = _super.prototype.validate.call(this, input, path, field);
4567        if (errors) {
4568            return errors;
4569        }
4570        var fields = [
4571            {
4572                field: "selector",
4573                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.slicerSelectorValidator]
4574            },
4575            {
4576                field: "state",
4577                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.slicerStateValidator]
4578            }
4579        ];
4580        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4581        return multipleFieldsValidator.validate(input, path, field);
4582    };
4583    return SlicerValidator;
4584}(typeValidator_1.ObjectValidator));
4585exports.SlicerValidator = SlicerValidator;
4586var SlicerStateValidator = /** @class */ (function (_super) {
4587    __extends(SlicerStateValidator, _super);
4588    function SlicerStateValidator() {
4589        return _super !== null && _super.apply(this, arguments) || this;
4590    }
4591    SlicerStateValidator.prototype.validate = function (input, path, field) {
4592        if (input == null) {
4593            return null;
4594        }
4595        var errors = _super.prototype.validate.call(this, input, path, field);
4596        if (errors) {
4597            return errors;
4598        }
4599        var fields = [
4600            {
4601                field: "filters",
4602                validators: [validator_1.Validators.filtersArrayValidator]
4603            }
4604        ];
4605        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4606        return multipleFieldsValidator.validate(input, path, field);
4607    };
4608    return SlicerStateValidator;
4609}(typeValidator_1.ObjectValidator));
4610exports.SlicerStateValidator = SlicerStateValidator;
4611
4612
4613/***/ }),
4614/* 24 */
4615/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_209360__) {
4616
4617// Copyright (c) Microsoft Corporation.
4618// Licensed under the MIT License.
4619var __extends = (this && this.__extends) || (function () {
4620    var extendStatics = function (d, b) {
4621        extendStatics = Object.setPrototypeOf ||
4622            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
4623            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
4624        return extendStatics(d, b);
4625    };
4626    return function (d, b) {
4627        if (typeof b !== "function" && b !== null)
4628            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
4629        extendStatics(d, b);
4630        function __() { this.constructor = d; }
4631        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
4632    };
4633})();
4634Object.defineProperty(exports, "__esModule", ({ value: true }));
4635exports.TileLoadValidator = void 0;
4636var multipleFieldsValidator_1 = __nested_webpack_require_209360__(3);
4637var typeValidator_1 = __nested_webpack_require_209360__(4);
4638var validator_1 = __nested_webpack_require_209360__(1);
4639var TileLoadValidator = /** @class */ (function (_super) {
4640    __extends(TileLoadValidator, _super);
4641    function TileLoadValidator() {
4642        return _super !== null && _super.apply(this, arguments) || this;
4643    }
4644    TileLoadValidator.prototype.validate = function (input, path, field) {
4645        if (input == null) {
4646            return null;
4647        }
4648        var errors = _super.prototype.validate.call(this, input, path, field);
4649        if (errors) {
4650            return errors;
4651        }
4652        var fields = [
4653            {
4654                field: "accessToken",
4655                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4656            },
4657            {
4658                field: "id",
4659                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4660            },
4661            {
4662                field: "dashboardId",
4663                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
4664            },
4665            {
4666                field: "groupId",
4667                validators: [validator_1.Validators.stringValidator]
4668            },
4669            {
4670                field: "pageView",
4671                validators: [validator_1.Validators.stringValidator]
4672            },
4673            {
4674                field: "tokenType",
4675                validators: [validator_1.Validators.tokenTypeValidator]
4676            },
4677            {
4678                field: "width",
4679                validators: [validator_1.Validators.numberValidator]
4680            },
4681            {
4682                field: "height",
4683                validators: [validator_1.Validators.numberValidator]
4684            }
4685        ];
4686        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4687        return multipleFieldsValidator.validate(input, path, field);
4688    };
4689    return TileLoadValidator;
4690}(typeValidator_1.ObjectValidator));
4691exports.TileLoadValidator = TileLoadValidator;
4692
4693
4694/***/ }),
4695/* 25 */
4696/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_212632__) {
4697
4698// Copyright (c) Microsoft Corporation.
4699// Licensed under the MIT License.
4700var __extends = (this && this.__extends) || (function () {
4701    var extendStatics = function (d, b) {
4702        extendStatics = Object.setPrototypeOf ||
4703            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
4704            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
4705        return extendStatics(d, b);
4706    };
4707    return function (d, b) {
4708        if (typeof b !== "function" && b !== null)
4709            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
4710        extendStatics(d, b);
4711        function __() { this.constructor = d; }
4712        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
4713    };
4714})();
4715Object.defineProperty(exports, "__esModule", ({ value: true }));
4716exports.VisualHeaderValidator = exports.VisualHeaderSettingsValidator = exports.VisualSettingsValidator = void 0;
4717var multipleFieldsValidator_1 = __nested_webpack_require_212632__(3);
4718var typeValidator_1 = __nested_webpack_require_212632__(4);
4719var validator_1 = __nested_webpack_require_212632__(1);
4720var VisualSettingsValidator = /** @class */ (function (_super) {
4721    __extends(VisualSettingsValidator, _super);
4722    function VisualSettingsValidator() {
4723        return _super !== null && _super.apply(this, arguments) || this;
4724    }
4725    VisualSettingsValidator.prototype.validate = function (input, path, field) {
4726        if (input == null) {
4727            return null;
4728        }
4729        var errors = _super.prototype.validate.call(this, input, path, field);
4730        if (errors) {
4731            return errors;
4732        }
4733        var fields = [
4734            {
4735                field: "visualHeaders",
4736                validators: [validator_1.Validators.visualHeadersValidator]
4737            },
4738        ];
4739        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4740        return multipleFieldsValidator.validate(input, path, field);
4741    };
4742    return VisualSettingsValidator;
4743}(typeValidator_1.ObjectValidator));
4744exports.VisualSettingsValidator = VisualSettingsValidator;
4745var VisualHeaderSettingsValidator = /** @class */ (function (_super) {
4746    __extends(VisualHeaderSettingsValidator, _super);
4747    function VisualHeaderSettingsValidator() {
4748        return _super !== null && _super.apply(this, arguments) || this;
4749    }
4750    VisualHeaderSettingsValidator.prototype.validate = function (input, path, field) {
4751        if (input == null) {
4752            return null;
4753        }
4754        var errors = _super.prototype.validate.call(this, input, path, field);
4755        if (errors) {
4756            return errors;
4757        }
4758        var fields = [
4759            {
4760                field: "visible",
4761                validators: [validator_1.Validators.booleanValidator]
4762            }
4763        ];
4764        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4765        return multipleFieldsValidator.validate(input, path, field);
4766    };
4767    return VisualHeaderSettingsValidator;
4768}(typeValidator_1.ObjectValidator));
4769exports.VisualHeaderSettingsValidator = VisualHeaderSettingsValidator;
4770var VisualHeaderValidator = /** @class */ (function (_super) {
4771    __extends(VisualHeaderValidator, _super);
4772    function VisualHeaderValidator() {
4773        return _super !== null && _super.apply(this, arguments) || this;
4774    }
4775    VisualHeaderValidator.prototype.validate = function (input, path, field) {
4776        if (input == null) {
4777            return null;
4778        }
4779        var errors = _super.prototype.validate.call(this, input, path, field);
4780        if (errors) {
4781            return errors;
4782        }
4783        var fields = [
4784            {
4785                field: "settings",
4786                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.visualHeaderSettingsValidator]
4787            },
4788            {
4789                field: "selector",
4790                validators: [validator_1.Validators.visualHeaderSelectorValidator]
4791            },
4792        ];
4793        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
4794        return multipleFieldsValidator.validate(input, path, field);
4795    };
4796    return VisualHeaderValidator;
4797}(typeValidator_1.ObjectValidator));
4798exports.VisualHeaderValidator = VisualHeaderValidator;
4799
4800
4801/***/ }),
4802/* 26 */
4803/***/ ((__unused_webpack_module, exports) => {
4804
4805// Copyright (c) Microsoft Corporation.
4806// Licensed under the MIT License.
4807Object.defineProperty(exports, "__esModule", ({ value: true }));
4808exports.AnyOfValidator = void 0;
4809var AnyOfValidator = /** @class */ (function () {
4810    function AnyOfValidator(validators) {
4811        this.validators = validators;
4812    }
4813    AnyOfValidator.prototype.validate = function (input, path, field) {
4814        if (input == null) {
4815            return null;
4816        }
4817        var valid = false;
4818        for (var _i = 0, _a = this.validators; _i < _a.length; _i++) {
4819            var validator = _a[_i];
4820            var errors = validator.validate(input, path, field);
4821            if (!errors) {
4822                valid = true;
4823                break;
4824            }
4825        }
4826        if (!valid) {
4827            return [{
4828                    message: field + " property is invalid",
4829                    path: (path ? path + "." : "") + field,
4830                    keyword: "invalid"
4831                }];
4832        }
4833        return null;
4834    };
4835    return AnyOfValidator;
4836}());
4837exports.AnyOfValidator = AnyOfValidator;
4838
4839
4840/***/ }),
4841/* 27 */
4842/***/ ((__unused_webpack_module, exports) => {
4843
4844// Copyright (c) Microsoft Corporation.
4845// Licensed under the MIT License.
4846Object.defineProperty(exports, "__esModule", ({ value: true }));
4847exports.FieldForbiddenValidator = void 0;
4848var FieldForbiddenValidator = /** @class */ (function () {
4849    function FieldForbiddenValidator() {
4850    }
4851    FieldForbiddenValidator.prototype.validate = function (input, path, field) {
4852        if (input !== undefined) {
4853            return [{
4854                    message: field + " is forbidden",
4855                    path: (path ? path + "." : "") + field,
4856                    keyword: "forbidden"
4857                }];
4858        }
4859        return null;
4860    };
4861    return FieldForbiddenValidator;
4862}());
4863exports.FieldForbiddenValidator = FieldForbiddenValidator;
4864
4865
4866/***/ }),
4867/* 28 */
4868/***/ ((__unused_webpack_module, exports) => {
4869
4870// Copyright (c) Microsoft Corporation.
4871// Licensed under the MIT License.
4872Object.defineProperty(exports, "__esModule", ({ value: true }));
4873exports.FieldRequiredValidator = void 0;
4874var FieldRequiredValidator = /** @class */ (function () {
4875    function FieldRequiredValidator() {
4876    }
4877    FieldRequiredValidator.prototype.validate = function (input, path, field) {
4878        if (input == null) {
4879            return [{
4880                    message: field + " is required",
4881                    path: (path ? path + "." : "") + field,
4882                    keyword: "required"
4883                }];
4884        }
4885        return null;
4886    };
4887    return FieldRequiredValidator;
4888}());
4889exports.FieldRequiredValidator = FieldRequiredValidator;
4890
4891
4892/***/ }),
4893/* 29 */
4894/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_220041__) {
4895
4896// Copyright (c) Microsoft Corporation.
4897// Licensed under the MIT License.
4898var __extends = (this && this.__extends) || (function () {
4899    var extendStatics = function (d, b) {
4900        extendStatics = Object.setPrototypeOf ||
4901            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
4902            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
4903        return extendStatics(d, b);
4904    };
4905    return function (d, b) {
4906        if (typeof b !== "function" && b !== null)
4907            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
4908        extendStatics(d, b);
4909        function __() { this.constructor = d; }
4910        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
4911    };
4912})();
4913Object.defineProperty(exports, "__esModule", ({ value: true }));
4914exports.MapValidator = void 0;
4915var typeValidator_1 = __nested_webpack_require_220041__(4);
4916var MapValidator = /** @class */ (function (_super) {
4917    __extends(MapValidator, _super);
4918    function MapValidator(keyValidators, valueValidators) {
4919        var _this = _super.call(this) || this;
4920        _this.keyValidators = keyValidators;
4921        _this.valueValidators = valueValidators;
4922        return _this;
4923    }
4924    MapValidator.prototype.validate = function (input, path, field) {
4925        if (input == null) {
4926            return null;
4927        }
4928        var errors = _super.prototype.validate.call(this, input, path, field);
4929        if (errors) {
4930            return errors;
4931        }
4932        for (var key in input) {
4933            if (input.hasOwnProperty(key)) {
4934                var fieldsPath = (path ? path + "." : "") + field + "." + key;
4935                for (var _i = 0, _a = this.keyValidators; _i < _a.length; _i++) {
4936                    var keyValidator = _a[_i];
4937                    errors = keyValidator.validate(key, fieldsPath, field);
4938                    if (errors) {
4939                        return errors;
4940                    }
4941                }
4942                for (var _b = 0, _c = this.valueValidators; _b < _c.length; _b++) {
4943                    var valueValidator = _c[_b];
4944                    errors = valueValidator.validate(input[key], fieldsPath, field);
4945                    if (errors) {
4946                        return errors;
4947                    }
4948                }
4949            }
4950        }
4951        return null;
4952    };
4953    return MapValidator;
4954}(typeValidator_1.ObjectValidator));
4955exports.MapValidator = MapValidator;
4956
4957
4958/***/ }),
4959/* 30 */
4960/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_222725__) {
4961
4962// Copyright (c) Microsoft Corporation.
4963// Licensed under the MIT License.
4964var __extends = (this && this.__extends) || (function () {
4965    var extendStatics = function (d, b) {
4966        extendStatics = Object.setPrototypeOf ||
4967            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
4968            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
4969        return extendStatics(d, b);
4970    };
4971    return function (d, b) {
4972        if (typeof b !== "function" && b !== null)
4973            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
4974        extendStatics(d, b);
4975        function __() { this.constructor = d; }
4976        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
4977    };
4978})();
4979Object.defineProperty(exports, "__esModule", ({ value: true }));
4980exports.ParametersPanelValidator = void 0;
4981var multipleFieldsValidator_1 = __nested_webpack_require_222725__(3);
4982var typeValidator_1 = __nested_webpack_require_222725__(4);
4983var validator_1 = __nested_webpack_require_222725__(1);
4984var ParametersPanelValidator = /** @class */ (function (_super) {
4985    __extends(ParametersPanelValidator, _super);
4986    function ParametersPanelValidator() {
4987        return _super !== null && _super.apply(this, arguments) || this;
4988    }
4989    ParametersPanelValidator.prototype.validate = function (input, path, field) {
4990        if (input == null) {
4991            return null;
4992        }
4993        var errors = _super.prototype.validate.call(this, input, path, field);
4994        if (errors) {
4995            return errors;
4996        }
4997        var fields = [
4998            {
4999                field: "expanded",
5000                validators: [validator_1.Validators.booleanValidator]
5001            },
5002            {
5003                field: "enabled",
5004                validators: [validator_1.Validators.booleanValidator]
5005            }
5006        ];
5007        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
5008        return multipleFieldsValidator.validate(input, path, field);
5009    };
5010    return ParametersPanelValidator;
5011}(typeValidator_1.ObjectValidator));
5012exports.ParametersPanelValidator = ParametersPanelValidator;
5013
5014
5015/***/ }),
5016/* 31 */
5017/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_225093__) {
5018
5019// Copyright (c) Microsoft Corporation.
5020// Licensed under the MIT License.
5021var __extends = (this && this.__extends) || (function () {
5022    var extendStatics = function (d, b) {
5023        extendStatics = Object.setPrototypeOf ||
5024            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5025            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
5026        return extendStatics(d, b);
5027    };
5028    return function (d, b) {
5029        if (typeof b !== "function" && b !== null)
5030            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
5031        extendStatics(d, b);
5032        function __() { this.constructor = d; }
5033        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
5034    };
5035})();
5036Object.defineProperty(exports, "__esModule", ({ value: true }));
5037exports.TableDataValidator = exports.TableSchemaValidator = exports.ColumnSchemaValidator = exports.CredentialsValidator = exports.DatasourceConnectionConfigValidator = exports.DatasetCreateConfigValidator = void 0;
5038var multipleFieldsValidator_1 = __nested_webpack_require_225093__(3);
5039var typeValidator_1 = __nested_webpack_require_225093__(4);
5040var validator_1 = __nested_webpack_require_225093__(1);
5041var DatasetCreateConfigValidator = /** @class */ (function (_super) {
5042    __extends(DatasetCreateConfigValidator, _super);
5043    function DatasetCreateConfigValidator() {
5044        return _super !== null && _super.apply(this, arguments) || this;
5045    }
5046    DatasetCreateConfigValidator.prototype.validate = function (input, path, field) {
5047        if (input == null) {
5048            return null;
5049        }
5050        var errors = _super.prototype.validate.call(this, input, path, field);
5051        if (errors) {
5052            return errors;
5053        }
5054        var fields = [
5055            {
5056                field: "locale",
5057                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
5058            },
5059            {
5060                field: "mashupDocument",
5061                validators: [validator_1.Validators.stringValidator]
5062            },
5063            {
5064                field: "datasourceConnectionConfig",
5065                validators: [validator_1.Validators.datasourceConnectionConfigValidator]
5066            },
5067            {
5068                field: "tableSchemaList",
5069                validators: [validator_1.Validators.tableSchemaListValidator]
5070            },
5071            {
5072                field: "data",
5073                validators: [validator_1.Validators.tableDataArrayValidator]
5074            },
5075        ];
5076        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
5077        errors = multipleFieldsValidator.validate(input, path, field);
5078        if (errors) {
5079            return errors;
5080        }
5081        if (input["datasourceConnectionConfig"] && input["mashupDocument"] == null) {
5082            return [{
5083                    message: "mashupDocument cannot be empty when datasourceConnectionConfig is presented"
5084                }];
5085        }
5086        if (input["data"] && input["tableSchemaList"] == null) {
5087            return [{
5088                    message: "tableSchemaList cannot be empty when data is provided"
5089                }];
5090        }
5091        if (input["data"] == null && input["mashupDocument"] == null) {
5092            return [{
5093                    message: "At least one of data or mashupDocument must be provided"
5094                }];
5095        }
5096    };
5097    return DatasetCreateConfigValidator;
5098}(typeValidator_1.ObjectValidator));
5099exports.DatasetCreateConfigValidator = DatasetCreateConfigValidator;
5100var DatasourceConnectionConfigValidator = /** @class */ (function (_super) {
5101    __extends(DatasourceConnectionConfigValidator, _super);
5102    function DatasourceConnectionConfigValidator() {
5103        return _super !== null && _super.apply(this, arguments) || this;
5104    }
5105    DatasourceConnectionConfigValidator.prototype.validate = function (input, path, field) {
5106        if (input == null) {
5107            return null;
5108        }
5109        var errors = _super.prototype.validate.call(this, input, path, field);
5110        if (errors) {
5111            return errors;
5112        }
5113        var fields = [
5114            {
5115                field: "dataCacheMode",
5116                validators: [validator_1.Validators.dataCacheModeValidator]
5117            },
5118            {
5119                field: "credentials",
5120                validators: [validator_1.Validators.credentialsValidator]
5121            }
5122        ];
5123        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
5124        return multipleFieldsValidator.validate(input, path, field);
5125    };
5126    return DatasourceConnectionConfigValidator;
5127}(typeValidator_1.ObjectValidator));
5128exports.DatasourceConnectionConfigValidator = DatasourceConnectionConfigValidator;
5129var CredentialsValidator = /** @class */ (function (_super) {
5130    __extends(CredentialsValidator, _super);
5131    function CredentialsValidator() {
5132        return _super !== null && _super.apply(this, arguments) || this;
5133    }
5134    CredentialsValidator.prototype.validate = function (input, path, field) {
5135        if (input == null) {
5136            return null;
5137        }
5138        var errors = _super.prototype.validate.call(this, input, path, field);
5139        if (errors) {
5140            return errors;
5141        }
5142        var fields = [
5143            {
5144                field: "credentialType",
5145                validators: [validator_1.Validators.credentialTypeValidator]
5146            },
5147            {
5148                field: "credentialDetails",
5149                validators: [validator_1.Validators.credentialDetailsValidator]
5150            }
5151        ];
5152        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
5153        return multipleFieldsValidator.validate(input, path, field);
5154    };
5155    return CredentialsValidator;
5156}(typeValidator_1.ObjectValidator));
5157exports.CredentialsValidator = CredentialsValidator;
5158var ColumnSchemaValidator = /** @class */ (function (_super) {
5159    __extends(ColumnSchemaValidator, _super);
5160    function ColumnSchemaValidator() {
5161        return _super !== null && _super.apply(this, arguments) || this;
5162    }
5163    ColumnSchemaValidator.prototype.validate = function (input, path, field) {
5164        if (input == null) {
5165            return null;
5166        }
5167        var errors = _super.prototype.validate.call(this, input, path, field);
5168        if (errors) {
5169            return errors;
5170        }
5171        var fields = [
5172            {
5173                field: "name",
5174                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
5175            },
5176            {
5177                field: "displayName",
5178                validators: [validator_1.Validators.stringValidator]
5179            },
5180            {
5181                field: "dataType",
5182                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
5183            }
5184        ];
5185        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
5186        return multipleFieldsValidator.validate(input, path, field);
5187    };
5188    return ColumnSchemaValidator;
5189}(typeValidator_1.ObjectValidator));
5190exports.ColumnSchemaValidator = ColumnSchemaValidator;
5191var TableSchemaValidator = /** @class */ (function (_super) {
5192    __extends(TableSchemaValidator, _super);
5193    function TableSchemaValidator() {
5194        return _super !== null && _super.apply(this, arguments) || this;
5195    }
5196    TableSchemaValidator.prototype.validate = function (input, path, field) {
5197        if (input == null) {
5198            return null;
5199        }
5200        var errors = _super.prototype.validate.call(this, input, path, field);
5201        if (errors) {
5202            return errors;
5203        }
5204        var fields = [
5205            {
5206                field: "name",
5207                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
5208            },
5209            {
5210                field: "columns",
5211                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.columnSchemaArrayValidator]
5212            }
5213        ];
5214        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
5215        return multipleFieldsValidator.validate(input, path, field);
5216    };
5217    return TableSchemaValidator;
5218}(typeValidator_1.ObjectValidator));
5219exports.TableSchemaValidator = TableSchemaValidator;
5220var TableDataValidator = /** @class */ (function (_super) {
5221    __extends(TableDataValidator, _super);
5222    function TableDataValidator() {
5223        return _super !== null && _super.apply(this, arguments) || this;
5224    }
5225    TableDataValidator.prototype.validate = function (input, path, field) {
5226        if (input == null) {
5227            return null;
5228        }
5229        var errors = _super.prototype.validate.call(this, input, path, field);
5230        if (errors) {
5231            return errors;
5232        }
5233        var fields = [
5234            {
5235                field: "name",
5236                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
5237            },
5238            {
5239                field: "rows",
5240                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.rawDataValidator]
5241            }
5242        ];
5243        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
5244        return multipleFieldsValidator.validate(input, path, field);
5245    };
5246    return TableDataValidator;
5247}(typeValidator_1.ObjectValidator));
5248exports.TableDataValidator = TableDataValidator;
5249
5250
5251/***/ }),
5252/* 32 */
5253/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_235148__) {
5254
5255// Copyright (c) Microsoft Corporation.
5256// Licensed under the MIT License.
5257var __extends = (this && this.__extends) || (function () {
5258    var extendStatics = function (d, b) {
5259        extendStatics = Object.setPrototypeOf ||
5260            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5261            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
5262        return extendStatics(d, b);
5263    };
5264    return function (d, b) {
5265        if (typeof b !== "function" && b !== null)
5266            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
5267        extendStatics(d, b);
5268        function __() { this.constructor = d; }
5269        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
5270    };
5271})();
5272Object.defineProperty(exports, "__esModule", ({ value: true }));
5273exports.QuickCreateValidator = void 0;
5274var multipleFieldsValidator_1 = __nested_webpack_require_235148__(3);
5275var typeValidator_1 = __nested_webpack_require_235148__(4);
5276var validator_1 = __nested_webpack_require_235148__(1);
5277var QuickCreateValidator = /** @class */ (function (_super) {
5278    __extends(QuickCreateValidator, _super);
5279    function QuickCreateValidator() {
5280        return _super !== null && _super.apply(this, arguments) || this;
5281    }
5282    QuickCreateValidator.prototype.validate = function (input, path, field) {
5283        if (input == null) {
5284            return null;
5285        }
5286        var errors = _super.prototype.validate.call(this, input, path, field);
5287        if (errors) {
5288            return errors;
5289        }
5290        var fields = [
5291            {
5292                field: "accessToken",
5293                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
5294            },
5295            {
5296                field: "groupId",
5297                validators: [validator_1.Validators.stringValidator]
5298            },
5299            {
5300                field: "tokenType",
5301                validators: [validator_1.Validators.tokenTypeValidator]
5302            },
5303            {
5304                field: "theme",
5305                validators: [validator_1.Validators.customThemeValidator]
5306            },
5307            {
5308                field: "datasetCreateConfig",
5309                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.datasetCreateConfigValidator]
5310            },
5311        ];
5312        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
5313        return multipleFieldsValidator.validate(input, path, field);
5314    };
5315    return QuickCreateValidator;
5316}(typeValidator_1.ObjectValidator));
5317exports.QuickCreateValidator = QuickCreateValidator;
5318
5319
5320/***/ }),
5321/* 33 */
5322/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_238021__) {
5323
5324// Copyright (c) Microsoft Corporation.
5325// Licensed under the MIT License.
5326var __extends = (this && this.__extends) || (function () {
5327    var extendStatics = function (d, b) {
5328        extendStatics = Object.setPrototypeOf ||
5329            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5330            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
5331        return extendStatics(d, b);
5332    };
5333    return function (d, b) {
5334        if (typeof b !== "function" && b !== null)
5335            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
5336        extendStatics(d, b);
5337        function __() { this.constructor = d; }
5338        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
5339    };
5340})();
5341Object.defineProperty(exports, "__esModule", ({ value: true }));
5342exports.PrintSettingsValidator = void 0;
5343var multipleFieldsValidator_1 = __nested_webpack_require_238021__(3);
5344var typeValidator_1 = __nested_webpack_require_238021__(4);
5345var PrintSettingsValidator = /** @class */ (function (_super) {
5346    __extends(PrintSettingsValidator, _super);
5347    function PrintSettingsValidator() {
5348        return _super !== null && _super.apply(this, arguments) || this;
5349    }
5350    PrintSettingsValidator.prototype.validate = function (input, path, field) {
5351        if (input == null) {
5352            return null;
5353        }
5354        var errors = _super.prototype.validate.call(this, input, path, field);
5355        if (errors) {
5356            return errors;
5357        }
5358        var fields = [
5359            {
5360                field: "browserPrintAdjustmentsMode",
5361                validators: [new typeValidator_1.EnumValidator([0, 1])]
5362            }
5363        ];
5364        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
5365        return multipleFieldsValidator.validate(input, path, field);
5366    };
5367    return PrintSettingsValidator;
5368}(typeValidator_1.ObjectValidator));
5369exports.PrintSettingsValidator = PrintSettingsValidator;
5370
5371
5372/***/ }),
5373/* 34 */
5374/***/ (function(__unused_webpack_module, exports, __nested_webpack_require_240214__) {
5375
5376// Copyright (c) Microsoft Corporation.
5377// Licensed under the MIT License.
5378var __extends = (this && this.__extends) || (function () {
5379    var extendStatics = function (d, b) {
5380        extendStatics = Object.setPrototypeOf ||
5381            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
5382            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
5383        return extendStatics(d, b);
5384    };
5385    return function (d, b) {
5386        if (typeof b !== "function" && b !== null)
5387            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
5388        extendStatics(d, b);
5389        function __() { this.constructor = d; }
5390        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
5391    };
5392})();
5393Object.defineProperty(exports, "__esModule", ({ value: true }));
5394exports.PaginatedReportDatasetBindingValidator = void 0;
5395var multipleFieldsValidator_1 = __nested_webpack_require_240214__(3);
5396var typeValidator_1 = __nested_webpack_require_240214__(4);
5397var validator_1 = __nested_webpack_require_240214__(1);
5398var PaginatedReportDatasetBindingValidator = /** @class */ (function (_super) {
5399    __extends(PaginatedReportDatasetBindingValidator, _super);
5400    function PaginatedReportDatasetBindingValidator() {
5401        return _super !== null && _super.apply(this, arguments) || this;
5402    }
5403    PaginatedReportDatasetBindingValidator.prototype.validate = function (input, path, field) {
5404        if (input == null) {
5405            return null;
5406        }
5407        var errors = _super.prototype.validate.call(this, input, path, field);
5408        if (errors) {
5409            return errors;
5410        }
5411        var fields = [
5412            {
5413                field: "sourceDatasetId",
5414                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
5415            },
5416            {
5417                field: "targetDatasetId",
5418                validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]
5419            }
5420        ];
5421        var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);
5422        return multipleFieldsValidator.validate(input, path, field);
5423    };
5424    return PaginatedReportDatasetBindingValidator;
5425}(typeValidator_1.ObjectValidator));
5426exports.PaginatedReportDatasetBindingValidator = PaginatedReportDatasetBindingValidator;
5427
5428
5429/***/ })
5430/******/ 	]);
5431/************************************************************************/
5432/******/ 	// The module cache
5433/******/ 	var __webpack_module_cache__ = {};
5434/******/ 	
5435/******/ 	// The require function
5436/******/ 	function __nested_webpack_require_242960__(moduleId) {
5437/******/ 		// Check if module is in cache
5438/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
5439/******/ 		if (cachedModule !== undefined) {
5440/******/ 			return cachedModule.exports;
5441/******/ 		}
5442/******/ 		// Create a new module (and put it into the cache)
5443/******/ 		var module = __webpack_module_cache__[moduleId] = {
5444/******/ 			// no module.id needed
5445/******/ 			// no module.loaded needed
5446/******/ 			exports: {}
5447/******/ 		};
5448/******/ 	
5449/******/ 		// Execute the module function
5450/******/ 		__webpack_modules__[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_242960__);
5451/******/ 	
5452/******/ 		// Return the exports of the module
5453/******/ 		return module.exports;
5454/******/ 	}
5455/******/ 	
5456/************************************************************************/
5457/******/ 	
5458/******/ 	// startup
5459/******/ 	// Load entry module and return exports
5460/******/ 	// This entry module is referenced by other modules so it can't be inlined
5461/******/ 	var __nested_webpack_exports__ = __nested_webpack_require_242960__(0);
5462/******/ 	
5463/******/ 	return __nested_webpack_exports__;
5464/******/ })()
5465;
5466});
5467//# sourceMappingURL=models.js.map
5468// SIG // Begin signature block
5469// SIG // MIIr4gYJKoZIhvcNAQcCoIIr0zCCK88CAQExDzANBglg
5470// SIG // hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor
5471// SIG // BgEEAYI3AgEeMCQCAQEEEBDgyQbOONQRoqMAEEvTUJAC
5472// SIG // AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg
5473// SIG // WNb2+8Nx7D6LpbfhohPb+cdkaBYb+kv1f6wvqYYucZ+g
5474// SIG // ghFuMIIIfjCCB2agAwIBAgITNgAAAchkggAwtCOCeAAC
5475// SIG // AAAByDANBgkqhkiG9w0BAQsFADBBMRMwEQYKCZImiZPy
5476// SIG // LGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRUw
5477// SIG // EwYDVQQDEwxBTUUgQ1MgQ0EgMDEwHhcNMjMwMzIwMjAw
5478// SIG // MDMxWhcNMjQwMzE5MjAwMDMxWjAkMSIwIAYDVQQDExlN
5479// SIG // aWNyb3NvZnQgQXp1cmUgQ29kZSBTaWduMIIBIjANBgkq
5480// SIG // hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArKhH7cINkFWa
5481// SIG // NPbW4CGpQwfhD2vWIwm5iDQIGjc5Siq9Ay9yIB0MPvck
5482// SIG // Xnp402u+fVvy8Zb+cPXCyiemnyFG7wYwKgPF4+x2awd4
5483// SIG // beHkFvcWtTV+Yz5oEKVVT0oWR5NfsUHuqEGDlIVFAYB/
5484// SIG // 7FIlZQWRiC4emeka+jYoFTl50U2mDQ/CvdCquvAd+dBc
5485// SIG // hoH0BLXWh00rK3NqRoqQj50vTHl+EB5HCer6+uP7iFKi
5486// SIG // a3vFw1uDonKVKmcz4x8GJo4y5p7plcr4VAB5FdwTpZrz
5487// SIG // hFObBzJxcxdIT3qMm07RYM6K1EbUn3AKKTEG2O9etQ06
5488// SIG // oIKCcGHltvj0NZp37NkEJwIDAQABo4IFijCCBYYwKQYJ
5489// SIG // KwYBBAGCNxUKBBwwGjAMBgorBgEEAYI3WwEBMAoGCCsG
5490// SIG // AQUFBwMDMD0GCSsGAQQBgjcVBwQwMC4GJisGAQQBgjcV
5491// SIG // CIaQ4w2E1bR4hPGLPoWb3RbOnRKBYIPdzWaGlIwyAgFk
5492// SIG // AgEMMIICdgYIKwYBBQUHAQEEggJoMIICZDBiBggrBgEF
5493// SIG // BQcwAoZWaHR0cDovL2NybC5taWNyb3NvZnQuY29tL3Br
5494// SIG // aWluZnJhL0NlcnRzL0JZMlBLSUNTQ0EwMS5BTUUuR0JM
5495// SIG // X0FNRSUyMENTJTIwQ0ElMjAwMSgyKS5jcnQwUgYIKwYB
5496// SIG // BQUHMAKGRmh0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0JZ
5497// SIG // MlBLSUNTQ0EwMS5BTUUuR0JMX0FNRSUyMENTJTIwQ0El
5498// SIG // MjAwMSgyKS5jcnQwUgYIKwYBBQUHMAKGRmh0dHA6Ly9j
5499// SIG // cmwyLmFtZS5nYmwvYWlhL0JZMlBLSUNTQ0EwMS5BTUUu
5500// SIG // R0JMX0FNRSUyMENTJTIwQ0ElMjAwMSgyKS5jcnQwUgYI
5501// SIG // KwYBBQUHMAKGRmh0dHA6Ly9jcmwzLmFtZS5nYmwvYWlh
5502// SIG // L0JZMlBLSUNTQ0EwMS5BTUUuR0JMX0FNRSUyMENTJTIw
5503// SIG // Q0ElMjAwMSgyKS5jcnQwUgYIKwYBBQUHMAKGRmh0dHA6
5504// SIG // Ly9jcmw0LmFtZS5nYmwvYWlhL0JZMlBLSUNTQ0EwMS5B
5505// SIG // TUUuR0JMX0FNRSUyMENTJTIwQ0ElMjAwMSgyKS5jcnQw
5506// SIG // ga0GCCsGAQUFBzAChoGgbGRhcDovLy9DTj1BTUUlMjBD
5507// SIG // UyUyMENBJTIwMDEsQ049QUlBLENOPVB1YmxpYyUyMEtl
5508// SIG // eSUyMFNlcnZpY2VzLENOPVNlcnZpY2VzLENOPUNvbmZp
5509// SIG // Z3VyYXRpb24sREM9QU1FLERDPUdCTD9jQUNlcnRpZmlj
5510// SIG // YXRlP2Jhc2U/b2JqZWN0Q2xhc3M9Y2VydGlmaWNhdGlv
5511// SIG // bkF1dGhvcml0eTAdBgNVHQ4EFgQUskGhjtP5WCMqHOBI
5512// SIG // YEqYPR0vFkMwDgYDVR0PAQH/BAQDAgeAMEUGA1UdEQQ+
5513// SIG // MDykOjA4MR4wHAYDVQQLExVNaWNyb3NvZnQgQ29ycG9y
5514// SIG // YXRpb24xFjAUBgNVBAUTDTIzNjE2Nys1MDAzNjAwggHm
5515// SIG // BgNVHR8EggHdMIIB2TCCAdWgggHRoIIBzYY/aHR0cDov
5516// SIG // L2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9B
5517// SIG // TUUlMjBDUyUyMENBJTIwMDEoMikuY3JshjFodHRwOi8v
5518// SIG // Y3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBDUyUyMENBJTIw
5519// SIG // MDEoMikuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2Ny
5520// SIG // bC9BTUUlMjBDUyUyMENBJTIwMDEoMikuY3JshjFodHRw
5521// SIG // Oi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBDUyUyMENB
5522// SIG // JTIwMDEoMikuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2Js
5523// SIG // L2NybC9BTUUlMjBDUyUyMENBJTIwMDEoMikuY3JshoG9
5524// SIG // bGRhcDovLy9DTj1BTUUlMjBDUyUyMENBJTIwMDEoMiks
5525// SIG // Q049QlkyUEtJQ1NDQTAxLENOPUNEUCxDTj1QdWJsaWMl
5526// SIG // MjBLZXklMjBTZXJ2aWNlcyxDTj1TZXJ2aWNlcyxDTj1D
5527// SIG // b25maWd1cmF0aW9uLERDPUFNRSxEQz1HQkw/Y2VydGlm
5528// SIG // aWNhdGVSZXZvY2F0aW9uTGlzdD9iYXNlP29iamVjdENs
5529// SIG // YXNzPWNSTERpc3RyaWJ1dGlvblBvaW50MB8GA1UdIwQY
5530// SIG // MBaAFJZRhOBrb3v+2Aarw/KF5imuavnUMB8GA1UdJQQY
5531// SIG // MBYGCisGAQQBgjdbAQEGCCsGAQUFBwMDMA0GCSqGSIb3
5532// SIG // DQEBCwUAA4IBAQDG1533NPfZ4bL0nuae9PWCGH0ZmNci
5533// SIG // CejMn71r/igTKxx635KmcI38lYY/vhbu++jhMlN3V3Ke
5534// SIG // AJEmuUdbTxtaXlhhJwWW/3i4GfQGjFIot6N3F9OuXURf
5535// SIG // 8jc4LypadrWJV1l1bmZ/G75FiqMoEDF7DYjyYJ9BNUU3
5536// SIG // alOgYyXygBJJjSfJR/8Vgd8hYCExm9DJgXDlSuKZ7ZeD
5537// SIG // ailP2EGIO5+m0QGI1tyMKdc/YgPrJUw7NI9wmx8ET/J5
5538// SIG // fxrrh21fdowYoGCYnphYtGhGBvnqDdaHXbVECC3gzbU+
5539// SIG // nLfeFF30rr/jHxoXWzKfFcYCj5Xnw52bu5mDZB8jF/dH
5540// SIG // vhlPMIII6DCCBtCgAwIBAgITHwAAAFHqj/accwyoOwAA
5541// SIG // AAAAUTANBgkqhkiG9w0BAQsFADA8MRMwEQYKCZImiZPy
5542// SIG // LGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRAw
5543// SIG // DgYDVQQDEwdhbWVyb290MB4XDTIxMDUyMTE4NDQxNFoX
5544// SIG // DTI2MDUyMTE4NTQxNFowQTETMBEGCgmSJomT8ixkARkW
5545// SIG // A0dCTDETMBEGCgmSJomT8ixkARkWA0FNRTEVMBMGA1UE
5546// SIG // AxMMQU1FIENTIENBIDAxMIIBIjANBgkqhkiG9w0BAQEF
5547// SIG // AAOCAQ8AMIIBCgKCAQEAyZpSCX0Bno1W1yqXMhT6BUlJ
5548// SIG // ZWpa4p3xFeiTHO4vm2Q6C/azR5xwxnyYHrkSGDtS2P9X
5549// SIG // +KDE64V20mmEQkubxnPNeOVnE2RvdPGxgwlq+BhS3ONd
5550// SIG // VsQPj79q7XgHM9HhzB9+qk0PC9KN1zm9p/seyiRS6JF1
5551// SIG // dbOqRf1pUl7FAVxmgiCFgV8hHIb/rDPXig7FDi3S0yEx
5552// SIG // 2CUDVpIq8jEhG8anUFE1WYxM+ni0S5KHwwKPKV4qyGDo
5553// SIG // DO+9AmDoma3Chyu5WDlW5cdtqXTWsGPE3umtnX6Amlld
5554// SIG // UFLms4OVR4guKf+n5LIBCC6bTiocfXPomqYjYTKx7AGM
5555// SIG // faVLaaXmhQIDAQABo4IE3DCCBNgwEgYJKwYBBAGCNxUB
5556// SIG // BAUCAwIAAjAjBgkrBgEEAYI3FQIEFgQUEmgkQiFHy9Rr
5557// SIG // vjHPIKTACyN/P0cwHQYDVR0OBBYEFJZRhOBrb3v+2Aar
5558// SIG // w/KF5imuavnUMIIBBAYDVR0lBIH8MIH5BgcrBgEFAgMF
5559// SIG // BggrBgEFBQcDAQYIKwYBBQUHAwIGCisGAQQBgjcUAgEG
5560// SIG // CSsGAQQBgjcVBgYKKwYBBAGCNwoDDAYJKwYBBAGCNxUG
5561// SIG // BggrBgEFBQcDCQYIKwYBBQUIAgIGCisGAQQBgjdAAQEG
5562// SIG // CysGAQQBgjcKAwQBBgorBgEEAYI3CgMEBgkrBgEEAYI3
5563// SIG // FQUGCisGAQQBgjcUAgIGCisGAQQBgjcUAgMGCCsGAQUF
5564// SIG // BwMDBgorBgEEAYI3WwEBBgorBgEEAYI3WwIBBgorBgEE
5565// SIG // AYI3WwMBBgorBgEEAYI3WwUBBgorBgEEAYI3WwQBBgor
5566// SIG // BgEEAYI3WwQCMBkGCSsGAQQBgjcUAgQMHgoAUwB1AGIA
5567// SIG // QwBBMAsGA1UdDwQEAwIBhjASBgNVHRMBAf8ECDAGAQH/
5568// SIG // AgEAMB8GA1UdIwQYMBaAFCleUV5krjS566ycDaeMdQHR
5569// SIG // CQsoMIIBaAYDVR0fBIIBXzCCAVswggFXoIIBU6CCAU+G
5570// SIG // MWh0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9wa2lpbmZy
5571// SIG // YS9jcmwvYW1lcm9vdC5jcmyGI2h0dHA6Ly9jcmwyLmFt
5572// SIG // ZS5nYmwvY3JsL2FtZXJvb3QuY3JshiNodHRwOi8vY3Js
5573// SIG // My5hbWUuZ2JsL2NybC9hbWVyb290LmNybIYjaHR0cDov
5574// SIG // L2NybDEuYW1lLmdibC9jcmwvYW1lcm9vdC5jcmyGgaps
5575// SIG // ZGFwOi8vL0NOPWFtZXJvb3QsQ049QU1FUm9vdCxDTj1D
5576// SIG // RFAsQ049UHVibGljJTIwS2V5JTIwU2VydmljZXMsQ049
5577// SIG // U2VydmljZXMsQ049Q29uZmlndXJhdGlvbixEQz1BTUUs
5578// SIG // REM9R0JMP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3Q/
5579// SIG // YmFzZT9vYmplY3RDbGFzcz1jUkxEaXN0cmlidXRpb25Q
5580// SIG // b2ludDCCAasGCCsGAQUFBwEBBIIBnTCCAZkwRwYIKwYB
5581// SIG // BQUHMAKGO2h0dHA6Ly9jcmwubWljcm9zb2Z0LmNvbS9w
5582// SIG // a2lpbmZyYS9jZXJ0cy9BTUVSb290X2FtZXJvb3QuY3J0
5583// SIG // MDcGCCsGAQUFBzAChitodHRwOi8vY3JsMi5hbWUuZ2Js
5584// SIG // L2FpYS9BTUVSb290X2FtZXJvb3QuY3J0MDcGCCsGAQUF
5585// SIG // BzAChitodHRwOi8vY3JsMy5hbWUuZ2JsL2FpYS9BTUVS
5586// SIG // b290X2FtZXJvb3QuY3J0MDcGCCsGAQUFBzAChitodHRw
5587// SIG // Oi8vY3JsMS5hbWUuZ2JsL2FpYS9BTUVSb290X2FtZXJv
5588// SIG // b3QuY3J0MIGiBggrBgEFBQcwAoaBlWxkYXA6Ly8vQ049
5589// SIG // YW1lcm9vdCxDTj1BSUEsQ049UHVibGljJTIwS2V5JTIw
5590// SIG // U2VydmljZXMsQ049U2VydmljZXMsQ049Q29uZmlndXJh
5591// SIG // dGlvbixEQz1BTUUsREM9R0JMP2NBQ2VydGlmaWNhdGU/
5592// SIG // YmFzZT9vYmplY3RDbGFzcz1jZXJ0aWZpY2F0aW9uQXV0
5593// SIG // aG9yaXR5MA0GCSqGSIb3DQEBCwUAA4ICAQBQECO3Tw/o
5594// SIG // 317Rrd7yadqcswPx1LvIYymkaTN6KcmuRt6HKa0Xe73U
5595// SIG // x2/AQ30TfgA9GBJngweRykKBusRzyOU17iIubJvy3gA2
5596// SIG // 1dwtqtB0DsoEv1U/ptVu2v++doTCJ/i+GbssVXkgaX8H
5597// SIG // +6EOGEmT4evp4GbwR4HwWlc+Dvf8HH8PdUA2Z04CvcwI
5598// SIG // fckSipbNm84jxJ8XjmTFTWscldL9edj2NsY6iGnyJFIy
5599// SIG // ur2PS7VRYyV3p1VAJp91gj1jRQtWEyCB8P5g9nE3z8u0
5600// SIG // ANaU/hjwEQCrdGyravWgnf2JtG+bT26YAokbc8m+32zU
5601// SIG // tXRO+NK3tAjhOu2FdsG3qNrF4sc7y37R/C+7Pcb/cFfh
5602// SIG // ttqsirepZii4xStcjMODYuXzGm3IJs0b0owHG6oKd7ZO
5603// SIG // GvHpmmh9K8/DLriD/sq8bURD10qi/wuW8zM7IpLg1vcR
5604// SIG // 9dIK2mc0pj44pc6UX0XbttP/VEJgu3lT2eI9VjWtaKjx
5605// SIG // 38xE9woSMyekPRtzTwgfuysF9DkJisr+yA4po/FPxpbB
5606// SIG // w9c/hBf32DH/GFxteS2pmjgKIbMP8sDukmEq3lVvuWNJ
5607// SIG // sybrZwQvQpvaM49fv+JKpLK5YWYEfwksYRR9wU8Hh/ID
5608// SIG // 9hRCEkbUoQ2W7mMpsp2Nbp/kcn4ivfolUy3Q9Yf0scsQ
5609// SIG // 6WTLYpm+AoCUJTGCGcwwghnIAgEBMFgwQTETMBEGCgmS
5610// SIG // JomT8ixkARkWA0dCTDETMBEGCgmSJomT8ixkARkWA0FN
5611// SIG // RTEVMBMGA1UEAxMMQU1FIENTIENBIDAxAhM2AAAByGSC
5612// SIG // ADC0I4J4AAIAAAHIMA0GCWCGSAFlAwQCAQUAoIGuMBkG
5613// SIG // CSqGSIb3DQEJAzEMBgorBgEEAYI3AgEEMBwGCisGAQQB
5614// SIG // gjcCAQsxDjAMBgorBgEEAYI3AgEVMC8GCSqGSIb3DQEJ
5615// SIG // BDEiBCDVsRlmuqGGWLZSefk2CBRUhBuBOD+bHy0Gwl8T
5616// SIG // 0JKkqjBCBgorBgEEAYI3AgEMMTQwMqAUgBIATQBpAGMA
5617// SIG // cgBvAHMAbwBmAHShGoAYaHR0cDovL3d3dy5taWNyb3Nv
5618// SIG // ZnQuY29tMA0GCSqGSIb3DQEBAQUABIIBADFsQE1+4mJA
5619// SIG // S6P65AMT7BcL1WNe0RUuA0Bt+CuVtbwa1zq+ZGDtexdb
5620// SIG // CWxBr5U4oZF6mHY6AyKf+NTFgvZczY3QqYh19SMKGujp
5621// SIG // FgxBvG0aQ/dVQDtKC5Le2cce15l4X6SAsYk+8q0xMjti
5622// SIG // QgSfBIEkJZ8FtDwtFaHO5GN/OkEt8M7NEzQOZQcfvSgb
5623// SIG // lMV8hY3Lf0dAPg4jyay3bQcPjOLsPs5G4GmTDM4qdPYM
5624// SIG // w5+IzUudbU8mNTmPppT3u2A2xGoQ8Ky5/mava+b11bSM
5625// SIG // GaJ1QFVCATVph88Fw/958W9et3okjG8TffdVb9J/KW09
5626// SIG // +oUXuBUjmljUn2ExNxJUxGyhgheUMIIXkAYKKwYBBAGC
5627// SIG // NwMDATGCF4Awghd8BgkqhkiG9w0BBwKgghdtMIIXaQIB
5628// SIG // AzEPMA0GCWCGSAFlAwQCAQUAMIIBUgYLKoZIhvcNAQkQ
5629// SIG // AQSgggFBBIIBPTCCATkCAQEGCisGAQQBhFkKAwEwMTAN
5630// SIG // BglghkgBZQMEAgEFAAQgVH8KNp+SiwyXjVpLA60gPo3S
5631// SIG // 9GbqNxZ81BNBirXMZRMCBmVWyBjWNBgTMjAyMzExMjkx
5632// SIG // MDA3MTguNDMyWjAEgAIB9KCB0aSBzjCByzELMAkGA1UE
5633// SIG // BhMCVVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNV
5634// SIG // BAcTB1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBD
5635// SIG // b3Jwb3JhdGlvbjElMCMGA1UECxMcTWljcm9zb2Z0IEFt
5636// SIG // ZXJpY2EgT3BlcmF0aW9uczEnMCUGA1UECxMeblNoaWVs
5637// SIG // ZCBUU1MgRVNOOkEwMDAtMDVFMC1EOTQ3MSUwIwYDVQQD
5638// SIG // ExxNaWNyb3NvZnQgVGltZS1TdGFtcCBTZXJ2aWNloIIR
5639// SIG // 6jCCByAwggUIoAMCAQICEzMAAAHQdwiq76MXxt0AAQAA
5640// SIG // AdAwDQYJKoZIhvcNAQELBQAwfDELMAkGA1UEBhMCVVMx
5641// SIG // EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl
5642// SIG // ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh
5643// SIG // dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3Rh
5644// SIG // bXAgUENBIDIwMTAwHhcNMjMwNTI1MTkxMjE0WhcNMjQw
5645// SIG // MjAxMTkxMjE0WjCByzELMAkGA1UEBhMCVVMxEzARBgNV
5646// SIG // BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx
5647// SIG // HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEl
5648// SIG // MCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2EgT3BlcmF0
5649// SIG // aW9uczEnMCUGA1UECxMeblNoaWVsZCBUU1MgRVNOOkEw
5650// SIG // MDAtMDVFMC1EOTQ3MSUwIwYDVQQDExxNaWNyb3NvZnQg
5651// SIG // VGltZS1TdGFtcCBTZXJ2aWNlMIICIjANBgkqhkiG9w0B
5652// SIG // AQEFAAOCAg8AMIICCgKCAgEA3zJX59+X7zNFwFEpiOao
5653// SIG // htFMT4tuR5EsgYM5N86WDt9dXdThBBc9EKQCtt7NXSRa
5654// SIG // 4weYA/kjMOc+hMMQuAq11PSmkOFjR6h64Vn7aYKNzJCX
5655// SIG // sfX65jvTJXVH41BuerCFumFRemI1/va09SQ3Qgx26OZ2
5656// SIG // YmrDIoBimsBm9h6g+/5I0Ueu0b1Ye0OJ2rQFbuOmX+TC
5657// SIG // 74kdMTeXDRttMcAcILbWmBJOV5VC2gR+Tp189nlqCMfk
5658// SIG // owzuwbeQbgAVmPEr5kUHwck9nKaRM047f37NMaeAdXAB
5659// SIG // 1Q8JRsGbr/UX3N53XcYBaygPDFh2yRdPmllFGCAUfBct
5660// SIG // oLhVR6B3js3uyLG8r0a2sf//N4GKqPHOWf9f7u5Iy3E4
5661// SIG // IqYsmfFxEbCxBAieaMdQQS2OgI5m4AMw3TZdi3no/qiG
5662// SIG // 3Qa/0lLyhAvl8OMYxTDk1FVilnprdpIcJ3VHwTUezc7t
5663// SIG // c/S9Fr+0wGP7/r+qTYQHqITzAhSXPmpOrjA/Eyks1hY8
5664// SIG // OWgA5Jg/ZhrgvOsr0ipCCODGss6FHbHk9J35PGNHz47X
5665// SIG // cNlp3o5esyx7mF8HA2rtjtQzLqInnTVY0xd+1BJmE/qM
5666// SIG // QvzhV1BjwxELfbc4G0fYPBy7VHxHljrDhA+cYG+a8Mn7
5667// SIG // yLLOx/3HRxXCIiHM80IGJ7C8hBnqaGQ5CoUjEeXggein
5668// SIG // L/0CAwEAAaOCAUkwggFFMB0GA1UdDgQWBBQz4QGFktKA
5669// SIG // PpTrSE34ybcpdJJ0UTAfBgNVHSMEGDAWgBSfpxVdAF5i
5670// SIG // XYP05dJlpxtTNRnpcjBfBgNVHR8EWDBWMFSgUqBQhk5o
5671// SIG // dHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2Ny
5672// SIG // bC9NaWNyb3NvZnQlMjBUaW1lLVN0YW1wJTIwUENBJTIw
5673// SIG // MjAxMCgxKS5jcmwwbAYIKwYBBQUHAQEEYDBeMFwGCCsG
5674// SIG // AQUFBzAChlBodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20v
5675// SIG // cGtpb3BzL2NlcnRzL01pY3Jvc29mdCUyMFRpbWUtU3Rh
5676// SIG // bXAlMjBQQ0ElMjAyMDEwKDEpLmNydDAMBgNVHRMBAf8E
5677// SIG // AjAAMBYGA1UdJQEB/wQMMAoGCCsGAQUFBwMIMA4GA1Ud
5678// SIG // DwEB/wQEAwIHgDANBgkqhkiG9w0BAQsFAAOCAgEAl4fn
5679// SIG // JApGWgNOkjVvqsbUvYB0KeMexvoHYpJ4CiLRK/KLZFyK
5680// SIG // 5lj2K2q0VgZWPdZahoopR8iJWd4jQVG2jRJmigBjGeWH
5681// SIG // EuyGVCj2qtY1NJrMpfvKINLfQv2duvmrcd77IR6xULko
5682// SIG // MEx2Vac7+5PAmJwWKMXYSNbhoah+feZqi77TLMRDf9bK
5683// SIG // O1Pm91Oiwq8ubsMHM+fo/Do9BlF92/omYPgLNMUzek9E
5684// SIG // GvATXnPy8HMqmDRGjJFtlQCq5ob1h/Dgg03F4DjZ5wAU
5685// SIG // BwX1yv3ywGxxRktVzTra+tv4mhwRgJKwhpegYvD38LOn
5686// SIG // 7PsPrBPa94V/VYNILETKB0bjGol7KxphrLmJy59wME4L
5687// SIG // jGrcPUfFObybVkpbtQhTuT9CxL0EIjGddrEErEAJDQ07
5688// SIG // Pa041TY4yFIKGelzzMZXDyA3I8cPG33m+MuMAMTNkUaF
5689// SIG // nMaZMfuiCH9i/m+4Cx7QcVwlieWzFu1sFAti5bW7q1MA
5690// SIG // b9EoI6Q7WxKsP7g4FgXqwk/mbctzXPeu4hmkI8mEB+h/
5691// SIG // 4fV3PLJptp+lY8kkcdrMJ1t4a+kMet1P8WPRy+hTYaxo
5692// SIG // hRA+2USq58L717zFUFCBJAexlBHjeoXmPIBy7dIy1d8s
5693// SIG // w4kAPEfKeWBoBgFbfTBMIACTWNYh7x//L84SUmRTZB/L
5694// SIG // L0c7Tv4t07yq42/GccIwggdxMIIFWaADAgECAhMzAAAA
5695// SIG // FcXna54Cm0mZAAAAAAAVMA0GCSqGSIb3DQEBCwUAMIGI
5696// SIG // MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv
5697// SIG // bjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj
5698// SIG // cm9zb2Z0IENvcnBvcmF0aW9uMTIwMAYDVQQDEylNaWNy
5699// SIG // b3NvZnQgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkg
5700// SIG // MjAxMDAeFw0yMTA5MzAxODIyMjVaFw0zMDA5MzAxODMy
5701// SIG // MjVaMHwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNo
5702// SIG // aW5ndG9uMRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQK
5703// SIG // ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMT
5704// SIG // HU1pY3Jvc29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMIIC
5705// SIG // IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA5OGm
5706// SIG // TOe0ciELeaLL1yR5vQ7VgtP97pwHB9KpbE51yMo1V/YB
5707// SIG // f2xK4OK9uT4XYDP/XE/HZveVU3Fa4n5KWv64NmeFRiMM
5708// SIG // tY0Tz3cywBAY6GB9alKDRLemjkZrBxTzxXb1hlDcwUTI
5709// SIG // cVxRMTegCjhuje3XD9gmU3w5YQJ6xKr9cmmvHaus9ja+
5710// SIG // NSZk2pg7uhp7M62AW36MEBydUv626GIl3GoPz130/o5T
5711// SIG // z9bshVZN7928jaTjkY+yOSxRnOlwaQ3KNi1wjjHINSi9
5712// SIG // 47SHJMPgyY9+tVSP3PoFVZhtaDuaRr3tpK56KTesy+uD
5713// SIG // RedGbsoy1cCGMFxPLOJiss254o2I5JasAUq7vnGpF1tn
5714// SIG // YN74kpEeHT39IM9zfUGaRnXNxF803RKJ1v2lIH1+/Nme
5715// SIG // Rd+2ci/bfV+AutuqfjbsNkz2K26oElHovwUDo9Fzpk03
5716// SIG // dJQcNIIP8BDyt0cY7afomXw/TNuvXsLz1dhzPUNOwTM5
5717// SIG // TI4CvEJoLhDqhFFG4tG9ahhaYQFzymeiXtcodgLiMxhy
5718// SIG // 16cg8ML6EgrXY28MyTZki1ugpoMhXV8wdJGUlNi5UPkL
5719// SIG // iWHzNgY1GIRH29wb0f2y1BzFa/ZcUlFdEtsluq9QBXps
5720// SIG // xREdcu+N+VLEhReTwDwV2xo3xwgVGD94q0W29R6HXtqP
5721// SIG // nhZyacaue7e3PmriLq0CAwEAAaOCAd0wggHZMBIGCSsG
5722// SIG // AQQBgjcVAQQFAgMBAAEwIwYJKwYBBAGCNxUCBBYEFCqn
5723// SIG // Uv5kxJq+gpE8RjUpzxD/LwTuMB0GA1UdDgQWBBSfpxVd
5724// SIG // AF5iXYP05dJlpxtTNRnpcjBcBgNVHSAEVTBTMFEGDCsG
5725// SIG // AQQBgjdMg30BATBBMD8GCCsGAQUFBwIBFjNodHRwOi8v
5726// SIG // d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL0RvY3MvUmVw
5727// SIG // b3NpdG9yeS5odG0wEwYDVR0lBAwwCgYIKwYBBQUHAwgw
5728// SIG // GQYJKwYBBAGCNxQCBAweCgBTAHUAYgBDAEEwCwYDVR0P
5729// SIG // BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wHwYDVR0jBBgw
5730// SIG // FoAU1fZWy4/oolxiaNE9lJBb186aGMQwVgYDVR0fBE8w
5731// SIG // TTBLoEmgR4ZFaHR0cDovL2NybC5taWNyb3NvZnQuY29t
5732// SIG // L3BraS9jcmwvcHJvZHVjdHMvTWljUm9vQ2VyQXV0XzIw
5733// SIG // MTAtMDYtMjMuY3JsMFoGCCsGAQUFBwEBBE4wTDBKBggr
5734// SIG // BgEFBQcwAoY+aHR0cDovL3d3dy5taWNyb3NvZnQuY29t
5735// SIG // L3BraS9jZXJ0cy9NaWNSb29DZXJBdXRfMjAxMC0wNi0y
5736// SIG // My5jcnQwDQYJKoZIhvcNAQELBQADggIBAJ1VffwqreEs
5737// SIG // H2cBMSRb4Z5yS/ypb+pcFLY+TkdkeLEGk5c9MTO1OdfC
5738// SIG // cTY/2mRsfNB1OW27DzHkwo/7bNGhlBgi7ulmZzpTTd2Y
5739// SIG // urYeeNg2LpypglYAA7AFvonoaeC6Ce5732pvvinLbtg/
5740// SIG // SHUB2RjebYIM9W0jVOR4U3UkV7ndn/OOPcbzaN9l9qRW
5741// SIG // qveVtihVJ9AkvUCgvxm2EhIRXT0n4ECWOKz3+SmJw7wX
5742// SIG // sFSFQrP8DJ6LGYnn8AtqgcKBGUIZUnWKNsIdw2FzLixr
5743// SIG // e24/LAl4FOmRsqlb30mjdAy87JGA0j3mSj5mO0+7hvoy
5744// SIG // GtmW9I/2kQH2zsZ0/fZMcm8Qq3UwxTSwethQ/gpY3UA8
5745// SIG // x1RtnWN0SCyxTkctwRQEcb9k+SS+c23Kjgm9swFXSVRk
5746// SIG // 2XPXfx5bRAGOWhmRaw2fpCjcZxkoJLo4S5pu+yFUa2pF
5747// SIG // EUep8beuyOiJXk+d0tBMdrVXVAmxaQFEfnyhYWxz/gq7
5748// SIG // 7EFmPWn9y8FBSX5+k77L+DvktxW/tM4+pTFRhLy/AsGC
5749// SIG // onsXHRWJjXD+57XQKBqJC4822rpM+Zv/Cuk0+CQ1Zyvg
5750// SIG // DbjmjJnW4SLq8CdCPSWU5nR0W2rRnj7tfqAxM328y+l7
5751// SIG // vzhwRNGQ8cirOoo6CGJ/2XBjU02N7oJtpQUQwXEGahC0
5752// SIG // HVUzWLOhcGbyoYIDTTCCAjUCAQEwgfmhgdGkgc4wgcsx
5753// SIG // CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u
5754// SIG // MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
5755// SIG // b3NvZnQgQ29ycG9yYXRpb24xJTAjBgNVBAsTHE1pY3Jv
5756// SIG // c29mdCBBbWVyaWNhIE9wZXJhdGlvbnMxJzAlBgNVBAsT
5757// SIG // Hm5TaGllbGQgVFNTIEVTTjpBMDAwLTA1RTAtRDk0NzEl
5758// SIG // MCMGA1UEAxMcTWljcm9zb2Z0IFRpbWUtU3RhbXAgU2Vy
5759// SIG // dmljZaIjCgEBMAcGBSsOAwIaAxUAvLfIU/CilF/dZVOR
5760// SIG // akT/Qn7vTImggYMwgYCkfjB8MQswCQYDVQQGEwJVUzET
5761// SIG // MBEGA1UECBMKV2FzaGluZ3RvbjEQMA4GA1UEBxMHUmVk
5762// SIG // bW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0
5763// SIG // aW9uMSYwJAYDVQQDEx1NaWNyb3NvZnQgVGltZS1TdGFt
5764// SIG // cCBQQ0EgMjAxMDANBgkqhkiG9w0BAQsFAAIFAOkRFtcw
5765// SIG // IhgPMjAyMzExMjkwMTQ4MDdaGA8yMDIzMTEzMDAxNDgw
5766// SIG // N1owdDA6BgorBgEEAYRZCgQBMSwwKjAKAgUA6REW1wIB
5767// SIG // ADAHAgEAAgIVNTAHAgEAAgITvDAKAgUA6RJoVwIBADA2
5768// SIG // BgorBgEEAYRZCgQCMSgwJjAMBgorBgEEAYRZCgMCoAow
5769// SIG // CAIBAAIDB6EgoQowCAIBAAIDAYagMA0GCSqGSIb3DQEB
5770// SIG // CwUAA4IBAQBDRkay9YCY6kJnV49gl7qHdAW9dEHIdQJ7
5771// SIG // 8yScGB6ENXSC13GxUFyytoxGBQuLs+Do9DZQSOP/HfOq
5772// SIG // w2K4SIOd4ewrz11vl9nl2lgufCXAWW81VM4r0tFNbjA0
5773// SIG // yD7gRQRBuEGiAqS/Vfa7ECvQFT3fRsQzK5X4u755LI0e
5774// SIG // +XskhL+1sOYwu5DPyUzbMKWilqtTRJBmQr/o7Cy5WqQj
5775// SIG // kLyW2jR4B8HEoKwozp/j8/RViWSSjRpwa6JVyglX6eVR
5776// SIG // Qwd9K9+7ry7q6q+UEB89aV7eZw+BtGsnJXK8QMpXhOm9
5777// SIG // 2ksvWCSb6T56pCKmyOh5qljtvtwH0Vcl3zqxoGLk3YPG
5778// SIG // MYIEDTCCBAkCAQEwgZMwfDELMAkGA1UEBhMCVVMxEzAR
5779// SIG // BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v
5780// SIG // bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv
5781// SIG // bjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg
5782// SIG // UENBIDIwMTACEzMAAAHQdwiq76MXxt0AAQAAAdAwDQYJ
5783// SIG // YIZIAWUDBAIBBQCgggFKMBoGCSqGSIb3DQEJAzENBgsq
5784// SIG // hkiG9w0BCRABBDAvBgkqhkiG9w0BCQQxIgQgsygGDo1N
5785// SIG // QTgwixwnk3X7lr4fEQUSawZLdl+M2Eq4GN4wgfoGCyqG
5786// SIG // SIb3DQEJEAIvMYHqMIHnMIHkMIG9BCAIlUAGX7TT/zHd
5787// SIG // RNmMPnwV2vcOn45k2eVgHq600j8J1zCBmDCBgKR+MHwx
5788// SIG // CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u
5789// SIG // MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy
5790// SIG // b3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jv
5791// SIG // c29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwAhMzAAAB0HcI
5792// SIG // qu+jF8bdAAEAAAHQMCIEIJIeQdfA4XjI5/3kM0OGSarc
5793// SIG // drYw3rRohew8uLY7gBZSMA0GCSqGSIb3DQEBCwUABIIC
5794// SIG // AEB1eCPx7oSkWVD/gJDRN3f6QS/1B4Cg6YJ3wuB6H3si
5795// SIG // 0G6esnx2UWYfPxhqmvqnebeRPY9yHvAuMNhEqOa0z1xP
5796// SIG // /ezMKbdyZZ1KSnpf+G30pg7OvBkxoBT+y0w4TuXct76M
5797// SIG // R8AhK40oE6Lcom5sbvRvimzKlh3vgQkZWknZ5zqUsidp
5798// SIG // O8+TBvf9vQG1StTehatPSf2sH/bAwcw20gRij6ozBD2D
5799// SIG // l7oi0W5UhaO5GrsdLe14Y8POi2aqY+fPZlRtM5ocAJ2a
5800// SIG // nfyCChsYbzcM1+lgBEJMu2qSsERBeq9lbVFCJ7NMwH/N
5801// SIG // a/ztGKzpDIJz81dhqX/GgGmFzEGc1/1jMkLLbWYoKgaa
5802// SIG // e6ZIAbgkmW4ezZ6hU2GZhcetbId1rJMmtaZw/yos3goK
5803// SIG // Shrmfk/OBTUMs9wh2NqrSVDD8YHPPKO9Uh9igKw8TXXD
5804// SIG // Ld2LM20WU7t52keJNmptgb6//7mOc2f4jhX6gpQTYAmb
5805// SIG // iBco7ZsIPLnBEXeo3tqZY3x/9eJ3yWiXwOreceKo0xMN
5806// SIG // Om+ijo4ghC9Ud0aY8hTLm6NrmmbwR5KjtFBMRs0+jNIP
5807// SIG // Asg7HDJ2NpLpA08AG+1XOSKghGxm+UQMbuNFMeLlK+QX
5808// SIG // 55chb2/UprBeGk83G+GHOM7Hr4fuUN1JAUM3zwt3GpXo
5809// SIG // 0BNZKjbAXaYgx1eeh6dNirnW
5810// SIG // End signature block
5811
5812
5813/***/ }),
5814
vendor: 28,976 bytes, lines 5815-6636
5815/***/ "./node_modules/powerbi-router/dist/router.js":
5816/*!****************************************************!*\
5817  !*** ./node_modules/powerbi-router/dist/router.js ***!
5818  \****************************************************/
5819/***/ (function(module) {
5820
5821/*! powerbi-router v0.1.5 | (c) 2016 Microsoft Corporation MIT */
5822(function webpackUniversalModuleDefinition(root, factory) {
5823	if(true)
5824		module.exports = factory();
5825	else {}
5826})(this, function() {
5827return /******/ (function(modules) { // webpackBootstrap
5828/******/ 	// The module cache
5829/******/ 	var installedModules = {};
5830/******/
5831/******/ 	// The require function
5832/******/ 	function __nested_webpack_require_617__(moduleId) {
5833/******/
5834/******/ 		// Check if module is in cache
5835/******/ 		if(installedModules[moduleId])
5836/******/ 			return installedModules[moduleId].exports;
5837/******/
5838/******/ 		// Create a new module (and put it into the cache)
5839/******/ 		var module = installedModules[moduleId] = {
5840/******/ 			exports: {},
5841/******/ 			id: moduleId,
5842/******/ 			loaded: false
5843/******/ 		};
5844/******/
5845/******/ 		// Execute the module function
5846/******/ 		modules[moduleId].call(module.exports, module, module.exports, __nested_webpack_require_617__);
5847/******/
5848/******/ 		// Flag the module as loaded
5849/******/ 		module.loaded = true;
5850/******/
5851/******/ 		// Return the exports of the module
5852/******/ 		return module.exports;
5853/******/ 	}
5854/******/
5855/******/
5856/******/ 	// expose the modules object (__webpack_modules__)
5857/******/ 	__nested_webpack_require_617__.m = modules;
5858/******/
5859/******/ 	// expose the module cache
5860/******/ 	__nested_webpack_require_617__.c = installedModules;
5861/******/
5862/******/ 	// __webpack_public_path__
5863/******/ 	__nested_webpack_require_617__.p = "";
5864/******/
5865/******/ 	// Load entry module and return exports
5866/******/ 	return __nested_webpack_require_617__(0);
5867/******/ })
5868/************************************************************************/
5869/******/ ([
5870/* 0 */
5871/***/ function(module, exports, __nested_webpack_require_1897__) {
5872
5873	"use strict";
5874	var RouteRecognizer = __nested_webpack_require_1897__(1);
5875	var Router = (function () {
5876	    function Router(handlers) {
5877	        this.handlers = handlers;
5878	        /**
5879	         * TODO: look at generating the router dynamically based on list of supported http methods
5880	         * instead of hardcoding the creation of these and the methods.
5881	         */
5882	        this.getRouteRecognizer = new RouteRecognizer();
5883	        this.patchRouteRecognizer = new RouteRecognizer();
5884	        this.postRouteRecognizer = new RouteRecognizer();
5885	        this.putRouteRecognizer = new RouteRecognizer();
5886	        this.deleteRouteRecognizer = new RouteRecognizer();
5887	    }
5888	    Router.prototype.get = function (url, handler) {
5889	        this.registerHandler(this.getRouteRecognizer, "GET", url, handler);
5890	        return this;
5891	    };
5892	    Router.prototype.patch = function (url, handler) {
5893	        this.registerHandler(this.patchRouteRecognizer, "PATCH", url, handler);
5894	        return this;
5895	    };
5896	    Router.prototype.post = function (url, handler) {
5897	        this.registerHandler(this.postRouteRecognizer, "POST", url, handler);
5898	        return this;
5899	    };
5900	    Router.prototype.put = function (url, handler) {
5901	        this.registerHandler(this.putRouteRecognizer, "PUT", url, handler);
5902	        return this;
5903	    };
5904	    Router.prototype.delete = function (url, handler) {
5905	        this.registerHandler(this.deleteRouteRecognizer, "DELETE", url, handler);
5906	        return this;
5907	    };
5908	    /**
5909	     * TODO: This method could use some refactoring.  There is conflict of interest between keeping clean separation of test and handle method
5910	     * Test method only returns boolean indicating if request can be handled, and handle method has opportunity to modify response and return promise of it.
5911	     * In the case of the router with route-recognizer where handlers are associated with routes, this already guarantees that only one handler is selected and makes the test method feel complicated
5912	     * Will leave as is an investigate cleaner ways at later time.
5913	     */
5914	    Router.prototype.registerHandler = function (routeRecognizer, method, url, handler) {
5915	        var routeRecognizerHandler = function (request) {
5916	            var response = new Response();
5917	            return Promise.resolve(handler(request, response))
5918	                .then(function (x) { return response; });
5919	        };
5920	        routeRecognizer.add([
5921	            { path: url, handler: routeRecognizerHandler }
5922	        ]);
5923	        var internalHandler = {
5924	            test: function (request) {
5925	                if (request.method !== method) {
5926	                    return false;
5927	                }
5928	                var matchingRoutes = routeRecognizer.recognize(request.url);
5929	                if (matchingRoutes === undefined) {
5930	                    return false;
5931	                }
5932	                /**
5933	                 * Copy parameters from recognized route to the request so they can be used within the handler function
5934	                 * This isn't ideal because it is side affect which modifies the request instead of strictly testing for true or false
5935	                 * but I don't see a better place to put this.  If we move it between the call to test and the handle it becomes part of the window post message proxy
5936	                 * even though it's responsibility is related to routing.
5937	                 */
5938	                var route = matchingRoutes[0];
5939	                request.params = route.params;
5940	                request.queryParams = matchingRoutes.queryParams;
5941	                request.handler = route.handler;
5942	                return true;
5943	            },
5944	            handle: function (request) {
5945	                return request.handler(request);
5946	            }
5947	        };
5948	        this.handlers.addHandler(internalHandler);
5949	    };
5950	    return Router;
5951	}());
5952	exports.Router = Router;
5953	var Response = (function () {
5954	    function Response() {
5955	        this.statusCode = 200;
5956	        this.headers = {};
5957	        this.body = null;
5958	    }
5959	    Response.prototype.send = function (statusCode, body) {
5960	        this.statusCode = statusCode;
5961	        this.body = body;
5962	    };
5963	    return Response;
5964	}());
5965	exports.Response = Response;
5966
5967
5968/***/ },
5969/* 1 */
5970/***/ function(module, exports, __nested_webpack_require_6218__) {
5971
5972	var __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(module) {(function() {
5973	    "use strict";
5974	    function $$route$recognizer$dsl$$Target(path, matcher, delegate) {
5975	      this.path = path;
5976	      this.matcher = matcher;
5977	      this.delegate = delegate;
5978	    }
5979	
5980	    $$route$recognizer$dsl$$Target.prototype = {
5981	      to: function(target, callback) {
5982	        var delegate = this.delegate;
5983	
5984	        if (delegate && delegate.willAddRoute) {
5985	          target = delegate.willAddRoute(this.matcher.target, target);
5986	        }
5987	
5988	        this.matcher.add(this.path, target);
5989	
5990	        if (callback) {
5991	          if (callback.length === 0) { throw new Error("You must have an argument in the function passed to `to`"); }
5992	          this.matcher.addChild(this.path, target, callback, this.delegate);
5993	        }
5994	        return this;
5995	      }
5996	    };
5997	
5998	    function $$route$recognizer$dsl$$Matcher(target) {
5999	      this.routes = {};
6000	      this.children = {};
6001	      this.target = target;
6002	    }
6003	
6004	    $$route$recognizer$dsl$$Matcher.prototype = {
6005	      add: function(path, handler) {
6006	        this.routes[path] = handler;
6007	      },
6008	
6009	      addChild: function(path, target, callback, delegate) {
6010	        var matcher = new $$route$recognizer$dsl$$Matcher(target);
6011	        this.children[path] = matcher;
6012	
6013	        var match = $$route$recognizer$dsl$$generateMatch(path, matcher, delegate);
6014	
6015	        if (delegate && delegate.contextEntered) {
6016	          delegate.contextEntered(target, match);
6017	        }
6018	
6019	        callback(match);
6020	      }
6021	    };
6022	
6023	    function $$route$recognizer$dsl$$generateMatch(startingPath, matcher, delegate) {
6024	      return function(path, nestedCallback) {
6025	        var fullPath = startingPath + path;
6026	
6027	        if (nestedCallback) {
6028	          nestedCallback($$route$recognizer$dsl$$generateMatch(fullPath, matcher, delegate));
6029	        } else {
6030	          return new $$route$recognizer$dsl$$Target(startingPath + path, matcher, delegate);
6031	        }
6032	      };
6033	    }
6034	
6035	    function $$route$recognizer$dsl$$addRoute(routeArray, path, handler) {
6036	      var len = 0;
6037	      for (var i=0; i<routeArray.length; i++) {
6038	        len += routeArray[i].path.length;
6039	      }
6040	
6041	      path = path.substr(len);
6042	      var route = { path: path, handler: handler };
6043	      routeArray.push(route);
6044	    }
6045	
6046	    function $$route$recognizer$dsl$$eachRoute(baseRoute, matcher, callback, binding) {
6047	      var routes = matcher.routes;
6048	
6049	      for (var path in routes) {
6050	        if (routes.hasOwnProperty(path)) {
6051	          var routeArray = baseRoute.slice();
6052	          $$route$recognizer$dsl$$addRoute(routeArray, path, routes[path]);
6053	
6054	          if (matcher.children[path]) {
6055	            $$route$recognizer$dsl$$eachRoute(routeArray, matcher.children[path], callback, binding);
6056	          } else {
6057	            callback.call(binding, routeArray);
6058	          }
6059	        }
6060	      }
6061	    }
6062	
6063	    var $$route$recognizer$dsl$$default = function(callback, addRouteCallback) {
6064	      var matcher = new $$route$recognizer$dsl$$Matcher();
6065	
6066	      callback($$route$recognizer$dsl$$generateMatch("", matcher, this.delegate));
6067	
6068	      $$route$recognizer$dsl$$eachRoute([], matcher, function(route) {
6069	        if (addRouteCallback) { addRouteCallback(this, route); }
6070	        else { this.add(route); }
6071	      }, this);
6072	    };
6073	
6074	    var $$route$recognizer$$specials = [
6075	      '/', '.', '*', '+', '?', '|',
6076	      '(', ')', '[', ']', '{', '}', '\\'
6077	    ];
6078	
6079	    var $$route$recognizer$$escapeRegex = new RegExp('(\\' + $$route$recognizer$$specials.join('|\\') + ')', 'g');
6080	
6081	    function $$route$recognizer$$isArray(test) {
6082	      return Object.prototype.toString.call(test) === "[object Array]";
6083	    }
6084	
6085	    // A Segment represents a segment in the original route description.
6086	    // Each Segment type provides an `eachChar` and `regex` method.
6087	    //
6088	    // The `eachChar` method invokes the callback with one or more character
6089	    // specifications. A character specification consumes one or more input
6090	    // characters.
6091	    //
6092	    // The `regex` method returns a regex fragment for the segment. If the
6093	    // segment is a dynamic of star segment, the regex fragment also includes
6094	    // a capture.
6095	    //
6096	    // A character specification contains:
6097	    //
6098	    // * `validChars`: a String with a list of all valid characters, or
6099	    // * `invalidChars`: a String with a list of all invalid characters
6100	    // * `repeat`: true if the character specification can repeat
6101	
6102	    function $$route$recognizer$$StaticSegment(string) { this.string = string; }
6103	    $$route$recognizer$$StaticSegment.prototype = {
6104	      eachChar: function(currentState) {
6105	        var string = this.string, ch;
6106	
6107	        for (var i=0; i<string.length; i++) {
6108	          ch = string.charAt(i);
6109	          currentState = currentState.put({ invalidChars: undefined, repeat: false, validChars: ch });
6110	        }
6111	
6112	        return currentState;
6113	      },
6114	
6115	      regex: function() {
6116	        return this.string.replace($$route$recognizer$$escapeRegex, '\\$1');
6117	      },
6118	
6119	      generate: function() {
6120	        return this.string;
6121	      }
6122	    };
6123	
6124	    function $$route$recognizer$$DynamicSegment(name) { this.name = name; }
6125	    $$route$recognizer$$DynamicSegment.prototype = {
6126	      eachChar: function(currentState) {
6127	        return currentState.put({ invalidChars: "/", repeat: true, validChars: undefined });
6128	      },
6129	
6130	      regex: function() {
6131	        return "([^/]+)";
6132	      },
6133	
6134	      generate: function(params) {
6135	        return params[this.name];
6136	      }
6137	    };
6138	
6139	    function $$route$recognizer$$StarSegment(name) { this.name = name; }
6140	    $$route$recognizer$$StarSegment.prototype = {
6141	      eachChar: function(currentState) {
6142	        return currentState.put({ invalidChars: "", repeat: true, validChars: undefined });
6143	      },
6144	
6145	      regex: function() {
6146	        return "(.+)";
6147	      },
6148	
6149	      generate: function(params) {
6150	        return params[this.name];
6151	      }
6152	    };
6153	
6154	    function $$route$recognizer$$EpsilonSegment() {}
6155	    $$route$recognizer$$EpsilonSegment.prototype = {
6156	      eachChar: function(currentState) {
6157	        return currentState;
6158	      },
6159	      regex: function() { return ""; },
6160	      generate: function() { return ""; }
6161	    };
6162	
6163	    function $$route$recognizer$$parse(route, names, specificity) {
6164	      // normalize route as not starting with a "/". Recognition will
6165	      // also normalize.
6166	      if (route.charAt(0) === "/") { route = route.substr(1); }
6167	
6168	      var segments = route.split("/");
6169	      var results = new Array(segments.length);
6170	
6171	      // A routes has specificity determined by the order that its different segments
6172	      // appear in. This system mirrors how the magnitude of numbers written as strings
6173	      // works.
6174	      // Consider a number written as: "abc". An example would be "200". Any other number written
6175	      // "xyz" will be smaller than "abc" so long as `a > z`. For instance, "199" is smaller
6176	      // then "200", even though "y" and "z" (which are both 9) are larger than "0" (the value
6177	      // of (`b` and `c`). This is because the leading symbol, "2", is larger than the other
6178	      // leading symbol, "1".
6179	      // The rule is that symbols to the left carry more weight than symbols to the right
6180	      // when a number is written out as a string. In the above strings, the leading digit
6181	      // represents how many 100's are in the number, and it carries more weight than the middle
6182	      // number which represents how many 10's are in the number.
6183	      // This system of number magnitude works well for route specificity, too. A route written as
6184	      // `a/b/c` will be more specific than `x/y/z` as long as `a` is more specific than
6185	      // `x`, irrespective of the other parts.
6186	      // Because of this similarity, we assign each type of segment a number value written as a
6187	      // string. We can find the specificity of compound routes by concatenating these strings
6188	      // together, from left to right. After we have looped through all of the segments,
6189	      // we convert the string to a number.
6190	      specificity.val = '';
6191	
6192	      for (var i=0; i<segments.length; i++) {
6193	        var segment = segments[i], match;
6194	
6195	        if (match = segment.match(/^:([^\/]+)$/)) {
6196	          results[i] = new $$route$recognizer$$DynamicSegment(match[1]);
6197	          names.push(match[1]);
6198	          specificity.val += '3';
6199	        } else if (match = segment.match(/^\*([^\/]+)$/)) {
6200	          results[i] = new $$route$recognizer$$StarSegment(match[1]);
6201	          specificity.val += '1';
6202	          names.push(match[1]);
6203	        } else if(segment === "") {
6204	          results[i] = new $$route$recognizer$$EpsilonSegment();
6205	          specificity.val += '2';
6206	        } else {
6207	          results[i] = new $$route$recognizer$$StaticSegment(segment);
6208	          specificity.val += '4';
6209	        }
6210	      }
6211	
6212	      specificity.val = +specificity.val;
6213	
6214	      return results;
6215	    }
6216	
6217	    // A State has a character specification and (`charSpec`) and a list of possible
6218	    // subsequent states (`nextStates`).
6219	    //
6220	    // If a State is an accepting state, it will also have several additional
6221	    // properties:
6222	    //
6223	    // * `regex`: A regular expression that is used to extract parameters from paths
6224	    //   that reached this accepting state.
6225	    // * `handlers`: Information on how to convert the list of captures into calls
6226	    //   to registered handlers with the specified parameters
6227	    // * `types`: How many static, dynamic or star segments in this route. Used to
6228	    //   decide which route to use if multiple registered routes match a path.
6229	    //
6230	    // Currently, State is implemented naively by looping over `nextStates` and
6231	    // comparing a character specification against a character. A more efficient
6232	    // implementation would use a hash of keys pointing at one or more next states.
6233	
6234	    function $$route$recognizer$$State(charSpec) {
6235	      this.charSpec = charSpec;
6236	      this.nextStates = [];
6237	      this.charSpecs = {};
6238	      this.regex = undefined;
6239	      this.handlers = undefined;
6240	      this.specificity = undefined;
6241	    }
6242	
6243	    $$route$recognizer$$State.prototype = {
6244	      get: function(charSpec) {
6245	        if (this.charSpecs[charSpec.validChars]) {
6246	          return this.charSpecs[charSpec.validChars];
6247	        }
6248	
6249	        var nextStates = this.nextStates;
6250	
6251	        for (var i=0; i<nextStates.length; i++) {
6252	          var child = nextStates[i];
6253	
6254	          var isEqual = child.charSpec.validChars === charSpec.validChars;
6255	          isEqual = isEqual && child.charSpec.invalidChars === charSpec.invalidChars;
6256	
6257	          if (isEqual) {
6258	            this.charSpecs[charSpec.validChars] = child;
6259	            return child;
6260	          }
6261	        }
6262	      },
6263	
6264	      put: function(charSpec) {
6265	        var state;
6266	
6267	        // If the character specification already exists in a child of the current
6268	        // state, just return that state.
6269	        if (state = this.get(charSpec)) { return state; }
6270	
6271	        // Make a new state for the character spec
6272	        state = new $$route$recognizer$$State(charSpec);
6273	
6274	        // Insert the new state as a child of the current state
6275	        this.nextStates.push(state);
6276	
6277	        // If this character specification repeats, insert the new state as a child
6278	        // of itself. Note that this will not trigger an infinite loop because each
6279	        // transition during recognition consumes a character.
6280	        if (charSpec.repeat) {
6281	          state.nextStates.push(state);
6282	        }
6283	
6284	        // Return the new state
6285	        return state;
6286	      },
6287	
6288	      // Find a list of child states matching the next character
6289	      match: function(ch) {
6290	        var nextStates = this.nextStates,
6291	            child, charSpec, chars;
6292	
6293	        var returned = [];
6294	
6295	        for (var i=0; i<nextStates.length; i++) {
6296	          child = nextStates[i];
6297	
6298	          charSpec = child.charSpec;
6299	
6300	          if (typeof (chars = charSpec.validChars) !== 'undefined') {
6301	            if (chars.indexOf(ch) !== -1) { returned.push(child); }
6302	          } else if (typeof (chars = charSpec.invalidChars) !== 'undefined') {
6303	            if (chars.indexOf(ch) === -1) { returned.push(child); }
6304	          }
6305	        }
6306	
6307	        return returned;
6308	      }
6309	    };
6310	
6311	    // Sort the routes by specificity
6312	    function $$route$recognizer$$sortSolutions(states) {
6313	      return states.sort(function(a, b) {
6314	        return b.specificity.val - a.specificity.val;
6315	      });
6316	    }
6317	
6318	    function $$route$recognizer$$recognizeChar(states, ch) {
6319	      var nextStates = [];
6320	
6321	      for (var i=0, l=states.length; i<l; i++) {
6322	        var state = states[i];
6323	
6324	        nextStates = nextStates.concat(state.match(ch));
6325	      }
6326	
6327	      return nextStates;
6328	    }
6329	
6330	    var $$route$recognizer$$oCreate = Object.create || function(proto) {
6331	      function F() {}
6332	      F.prototype = proto;
6333	      return new F();
6334	    };
6335	
6336	    function $$route$recognizer$$RecognizeResults(queryParams) {
6337	      this.queryParams = queryParams || {};
6338	    }
6339	    $$route$recognizer$$RecognizeResults.prototype = $$route$recognizer$$oCreate({
6340	      splice: Array.prototype.splice,
6341	      slice:  Array.prototype.slice,
6342	      push:   Array.prototype.push,
6343	      length: 0,
6344	      queryParams: null
6345	    });
6346	
6347	    function $$route$recognizer$$findHandler(state, path, queryParams) {
6348	      var handlers = state.handlers, regex = state.regex;
6349	      var captures = path.match(regex), currentCapture = 1;
6350	      var result = new $$route$recognizer$$RecognizeResults(queryParams);
6351	
6352	      result.length = handlers.length;
6353	
6354	      for (var i=0; i<handlers.length; i++) {
6355	        var handler = handlers[i], names = handler.names, params = {};
6356	
6357	        for (var j=0; j<names.length; j++) {
6358	          params[names[j]] = captures[currentCapture++];
6359	        }
6360	
6361	        result[i] = { handler: handler.handler, params: params, isDynamic: !!names.length };
6362	      }
6363	
6364	      return result;
6365	    }
6366	
6367	    function $$route$recognizer$$decodeQueryParamPart(part) {
6368	      // http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1
6369	      part = part.replace(/\+/gm, '%20');
6370	      var result;
6371	      try {
6372	        result = decodeURIComponent(part);
6373	      } catch(error) {result = '';}
6374	      return result;
6375	    }
6376	
6377	    // The main interface
6378	
6379	    var $$route$recognizer$$RouteRecognizer = function() {
6380	      this.rootState = new $$route$recognizer$$State();
6381	      this.names = {};
6382	    };
6383	
6384	
6385	    $$route$recognizer$$RouteRecognizer.prototype = {
6386	      add: function(routes, options) {
6387	        var currentState = this.rootState, regex = "^",
6388	            specificity = {},
6389	            handlers = new Array(routes.length), allSegments = [], name;
6390	
6391	        var isEmpty = true;
6392	
6393	        for (var i=0; i<routes.length; i++) {
6394	          var route = routes[i], names = [];
6395	
6396	          var segments = $$route$recognizer$$parse(route.path, names, specificity);
6397	
6398	          allSegments = allSegments.concat(segments);
6399	
6400	          for (var j=0; j<segments.length; j++) {
6401	            var segment = segments[j];
6402	
6403	            if (segment instanceof $$route$recognizer$$EpsilonSegment) { continue; }
6404	
6405	            isEmpty = false;
6406	
6407	            // Add a "/" for the new segment
6408	            currentState = currentState.put({ invalidChars: undefined, repeat: false, validChars: "/" });
6409	            regex += "/";
6410	
6411	            // Add a representation of the segment to the NFA and regex
6412	            currentState = segment.eachChar(currentState);
6413	            regex += segment.regex();
6414	          }
6415	          var handler = { handler: route.handler, names: names };
6416	          handlers[i] = handler;
6417	        }
6418	
6419	        if (isEmpty) {
6420	          currentState = currentState.put({ invalidChars: undefined, repeat: false, validChars: "/" });
6421	          regex += "/";
6422	        }
6423	
6424	        currentState.handlers = handlers;
6425	        currentState.regex = new RegExp(regex + "$");
6426	        currentState.specificity = specificity;
6427	
6428	        if (name = options && options.as) {
6429	          this.names[name] = {
6430	            segments: allSegments,
6431	            handlers: handlers
6432	          };
6433	        }
6434	      },
6435	
6436	      handlersFor: function(name) {
6437	        var route = this.names[name];
6438	
6439	        if (!route) { throw new Error("There is no route named " + name); }
6440	
6441	        var result = new Array(route.handlers.length);
6442	
6443	        for (var i=0; i<route.handlers.length; i++) {
6444	          result[i] = route.handlers[i];
6445	        }
6446	
6447	        return result;
6448	      },
6449	
6450	      hasRoute: function(name) {
6451	        return !!this.names[name];
6452	      },
6453	
6454	      generate: function(name, params) {
6455	        var route = this.names[name], output = "";
6456	        if (!route) { throw new Error("There is no route named " + name); }
6457	
6458	        var segments = route.segments;
6459	
6460	        for (var i=0; i<segments.length; i++) {
6461	          var segment = segments[i];
6462	
6463	          if (segment instanceof $$route$recognizer$$EpsilonSegment) { continue; }
6464	
6465	          output += "/";
6466	          output += segment.generate(params);
6467	        }
6468	
6469	        if (output.charAt(0) !== '/') { output = '/' + output; }
6470	
6471	        if (params && params.queryParams) {
6472	          output += this.generateQueryString(params.queryParams, route.handlers);
6473	        }
6474	
6475	        return output;
6476	      },
6477	
6478	      generateQueryString: function(params, handlers) {
6479	        var pairs = [];
6480	        var keys = [];
6481	        for(var key in params) {
6482	          if (params.hasOwnProperty(key)) {
6483	            keys.push(key);
6484	          }
6485	        }
6486	        keys.sort();
6487	        for (var i = 0; i < keys.length; i++) {
6488	          key = keys[i];
6489	          var value = params[key];
6490	          if (value == null) {
6491	            continue;
6492	          }
6493	          var pair = encodeURIComponent(key);
6494	          if ($$route$recognizer$$isArray(value)) {
6495	            for (var j = 0; j < value.length; j++) {
6496	              var arrayPair = key + '[]' + '=' + encodeURIComponent(value[j]);
6497	              pairs.push(arrayPair);
6498	            }
6499	          } else {
6500	            pair += "=" + encodeURIComponent(value);
6501	            pairs.push(pair);
6502	          }
6503	        }
6504	
6505	        if (pairs.length === 0) { return ''; }
6506	
6507	        return "?" + pairs.join("&");
6508	      },
6509	
6510	      parseQueryString: function(queryString) {
6511	        var pairs = queryString.split("&"), queryParams = {};
6512	        for(var i=0; i < pairs.length; i++) {
6513	          var pair      = pairs[i].split('='),
6514	              key       = $$route$recognizer$$decodeQueryParamPart(pair[0]),
6515	              keyLength = key.length,
6516	              isArray = false,
6517	              value;
6518	          if (pair.length === 1) {
6519	            value = 'true';
6520	          } else {
6521	            //Handle arrays
6522	            if (keyLength > 2 && key.slice(keyLength -2) === '[]') {
6523	              isArray = true;
6524	              key = key.slice(0, keyLength - 2);
6525	              if(!queryParams[key]) {
6526	                queryParams[key] = [];
6527	              }
6528	            }
6529	            value = pair[1] ? $$route$recognizer$$decodeQueryParamPart(pair[1]) : '';
6530	          }
6531	          if (isArray) {
6532	            queryParams[key].push(value);
6533	          } else {
6534	            queryParams[key] = value;
6535	          }
6536	        }
6537	        return queryParams;
6538	      },
6539	
6540	      recognize: function(path) {
6541	        var states = [ this.rootState ],
6542	            pathLen, i, l, queryStart, queryParams = {},
6543	            isSlashDropped = false;
6544	
6545	        queryStart = path.indexOf('?');
6546	        if (queryStart !== -1) {
6547	          var queryString = path.substr(queryStart + 1, path.length);
6548	          path = path.substr(0, queryStart);
6549	          queryParams = this.parseQueryString(queryString);
6550	        }
6551	
6552	        path = decodeURI(path);
6553	
6554	        if (path.charAt(0) !== "/") { path = "/" + path; }
6555	
6556	        pathLen = path.length;
6557	        if (pathLen > 1 && path.charAt(pathLen - 1) === "/") {
6558	          path = path.substr(0, pathLen - 1);
6559	          isSlashDropped = true;
6560	        }
6561	
6562	        for (i=0; i<path.length; i++) {
6563	          states = $$route$recognizer$$recognizeChar(states, path.charAt(i));
6564	          if (!states.length) { break; }
6565	        }
6566	
6567	        var solutions = [];
6568	        for (i=0; i<states.length; i++) {
6569	          if (states[i].handlers) { solutions.push(states[i]); }
6570	        }
6571	
6572	        states = $$route$recognizer$$sortSolutions(solutions);
6573	
6574	        var state = solutions[0];
6575	
6576	        if (state && state.handlers) {
6577	          // if a trailing slash was dropped and a star segment is the last segment
6578	          // specified, put the trailing slash back
6579	          if (isSlashDropped && state.regex.source.slice(-5) === "(.+)$") {
6580	            path = path + "/";
6581	          }
6582	          return $$route$recognizer$$findHandler(state, path, queryParams);
6583	        }
6584	      }
6585	    };
6586	
6587	    $$route$recognizer$$RouteRecognizer.prototype.map = $$route$recognizer$dsl$$default;
6588	
6589	    $$route$recognizer$$RouteRecognizer.VERSION = '0.1.11';
6590	
6591	    var $$route$recognizer$$default = $$route$recognizer$$RouteRecognizer;
6592	
6593	    /* global define:true module:true window: true */
6594	    if ( true && __nested_webpack_require_6218__(3)['amd']) {
6595	      !(__WEBPACK_AMD_DEFINE_RESULT__ = function() { return $$route$recognizer$$default; }.call(exports, __nested_webpack_require_6218__, exports, module), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
6596	    } else if (typeof module !== 'undefined' && module['exports']) {
6597	      module['exports'] = $$route$recognizer$$default;
6598	    } else if (typeof this !== 'undefined') {
6599	      this['RouteRecognizer'] = $$route$recognizer$$default;
6600	    }
6601	}).call(this);
6602	
6603	//# sourceMappingURL=route-recognizer.js.map
6604	/* WEBPACK VAR INJECTION */}.call(exports, __nested_webpack_require_6218__(2)(module)))
6605
6606/***/ },
6607/* 2 */
6608/***/ function(module, exports) {
6609
6610	module.exports = function(module) {
6611		if(!module.webpackPolyfill) {
6612			module.deprecate = function() {};
6613			module.paths = [];
6614			// module.parent = undefined by default
6615			module.children = [];
6616			module.webpackPolyfill = 1;
6617		}
6618		return module;
6619	}
6620
6621
6622/***/ },
6623/* 3 */
6624/***/ function(module, exports) {
6625
6626	module.exports = function() { throw new Error("define cannot be used indirect"); };
6627
6628
6629/***/ }
6630/******/ ])
6631});
6632;
6633//# sourceMappingURL=router.js.map
6634
6635/***/ }),
6636
vendor: 7,830 bytes, lines 6637-6868
6637/***/ "./src/FilterBuilders/advancedFilterBuilder.ts":
6638/*!*****************************************************!*\
6639  !*** ./src/FilterBuilders/advancedFilterBuilder.ts ***!
6640  \*****************************************************/
6641/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
6642
6643// Copyright (c) Microsoft Corporation.
6644// Licensed under the MIT License.
6645var __extends = (this && this.__extends) || (function () {
6646    var extendStatics = function (d, b) {
6647        extendStatics = Object.setPrototypeOf ||
6648            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6649            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6650        return extendStatics(d, b);
6651    };
6652    return function (d, b) {
6653        if (typeof b !== "function" && b !== null)
6654            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
6655        extendStatics(d, b);
6656        function __() { this.constructor = d; }
6657        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6658    };
6659})();
6660Object.defineProperty(exports, "__esModule", ({ value: true }));
6661exports.AdvancedFilterBuilder = void 0;
6662var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
6663var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts");
6664/**
6665 * Power BI Advanced filter builder component
6666 *
6667 * @export
6668 * @class AdvancedFilterBuilder
6669 * @extends {FilterBuilder}
6670 */
6671var AdvancedFilterBuilder = /** @class */ (function (_super) {
6672    __extends(AdvancedFilterBuilder, _super);
6673    function AdvancedFilterBuilder() {
6674        var _this = _super !== null && _super.apply(this, arguments) || this;
6675        _this.conditions = [];
6676        return _this;
6677    }
6678    /**
6679     * Sets And as logical operator for Advanced filter
6680     *
6681     * ```javascript
6682     *
6683     * const advancedFilterBuilder = new AdvancedFilterBuilder().and();
6684     * ```
6685     *
6686     * @returns {AdvancedFilterBuilder}
6687     */
6688    AdvancedFilterBuilder.prototype.and = function () {
6689        this.logicalOperator = "And";
6690        return this;
6691    };
6692    /**
6693     * Sets Or as logical operator for Advanced filter
6694     *
6695     * ```javascript
6696     *
6697     * const advancedFilterBuilder = new AdvancedFilterBuilder().or();
6698     * ```
6699     *
6700     * @returns {AdvancedFilterBuilder}
6701     */
6702    AdvancedFilterBuilder.prototype.or = function () {
6703        this.logicalOperator = "Or";
6704        return this;
6705    };
6706    /**
6707     * Adds a condition in Advanced filter
6708     *
6709     * ```javascript
6710     *
6711     * // Add two conditions
6712     * const advancedFilterBuilder = new AdvancedFilterBuilder().addCondition("Contains", "Wash").addCondition("Contains", "Park");
6713     * ```
6714     *
6715     * @returns {AdvancedFilterBuilder}
6716     */
6717    AdvancedFilterBuilder.prototype.addCondition = function (operator, value) {
6718        var condition = {
6719            operator: operator,
6720            value: value
6721        };
6722        this.conditions.push(condition);
6723        return this;
6724    };
6725    /**
6726     * Creates Advanced filter
6727     *
6728     * ```javascript
6729     *
6730     * const advancedFilterBuilder = new AdvancedFilterBuilder().build();
6731     * ```
6732     *
6733     * @returns {AdvancedFilter}
6734     */
6735    AdvancedFilterBuilder.prototype.build = function () {
6736        var advancedFilter = new powerbi_models_1.AdvancedFilter(this.target, this.logicalOperator, this.conditions);
6737        return advancedFilter;
6738    };
6739    return AdvancedFilterBuilder;
6740}(filterBuilder_1.FilterBuilder));
6741exports.AdvancedFilterBuilder = AdvancedFilterBuilder;
6742
6743
6744/***/ }),
6745
6746/***/ "./src/FilterBuilders/basicFilterBuilder.ts":
6747/*!**************************************************!*\
6748  !*** ./src/FilterBuilders/basicFilterBuilder.ts ***!
6749  \**************************************************/
6750/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
6751
6752// Copyright (c) Microsoft Corporation.
6753// Licensed under the MIT License.
6754var __extends = (this && this.__extends) || (function () {
6755    var extendStatics = function (d, b) {
6756        extendStatics = Object.setPrototypeOf ||
6757            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6758            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
6759        return extendStatics(d, b);
6760    };
6761    return function (d, b) {
6762        if (typeof b !== "function" && b !== null)
6763            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
6764        extendStatics(d, b);
6765        function __() { this.constructor = d; }
6766        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
6767    };
6768})();
6769Object.defineProperty(exports, "__esModule", ({ value: true }));
6770exports.BasicFilterBuilder = void 0;
6771var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
6772var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts");
6773/**
6774 * Power BI Basic filter builder component
6775 *
6776 * @export
6777 * @class BasicFilterBuilder
6778 * @extends {FilterBuilder}
6779 */
6780var BasicFilterBuilder = /** @class */ (function (_super) {
6781    __extends(BasicFilterBuilder, _super);
6782    function BasicFilterBuilder() {
6783        var _this = _super !== null && _super.apply(this, arguments) || this;
6784        _this.isRequireSingleSelection = false;
6785        return _this;
6786    }
6787    /**
6788     * Sets In as operator for Basic filter
6789     *
6790     * ```javascript
6791     *
6792     * const basicFilterBuilder = new BasicFilterBuilder().in([values]);
6793     * ```
6794     *
6795     * @returns {BasicFilterBuilder}
6796     */
6797    BasicFilterBuilder.prototype.in = function (values) {
6798        this.operator = "In";
6799        this.values = values;
6800        return this;
6801    };
6802    /**
6803     * Sets NotIn as operator for Basic filter
6804     *
6805     * ```javascript
6806     *
6807     * const basicFilterBuilder = new BasicFilterBuilder().notIn([values]);
6808     * ```
6809     *
6810     * @returns {BasicFilterBuilder}
6811     */
6812    BasicFilterBuilder.prototype.notIn = function (values) {
6813        this.operator = "NotIn";
6814        this.values = values;
6815        return this;
6816    };
6817    /**
6818     * Sets All as operator for Basic filter
6819     *
6820     * ```javascript
6821     *
6822     * const basicFilterBuilder = new BasicFilterBuilder().all();
6823     * ```
6824     *
6825     * @returns {BasicFilterBuilder}
6826     */
6827    BasicFilterBuilder.prototype.all = function () {
6828        this.operator = "All";
6829        this.values = [];
6830        return this;
6831    };
6832    /**
6833     * Sets required single selection property for Basic filter
6834     *
6835     * ```javascript
6836     *
6837     * const basicFilterBuilder = new BasicFilterBuilder().requireSingleSelection(isRequireSingleSelection);
6838     * ```
6839     *
6840     * @returns {BasicFilterBuilder}
6841     */
6842    BasicFilterBuilder.prototype.requireSingleSelection = function (isRequireSingleSelection) {
6843        if (isRequireSingleSelection === void 0) { isRequireSingleSelection = false; }
6844        this.isRequireSingleSelection = isRequireSingleSelection;
6845        return this;
6846    };
6847    /**
6848     * Creates Basic filter
6849     *
6850     * ```javascript
6851     *
6852     * const basicFilterBuilder = new BasicFilterBuilder().build();
6853     * ```
6854     *
6855     * @returns {BasicFilter}
6856     */
6857    BasicFilterBuilder.prototype.build = function () {
6858        var basicFilter = new powerbi_models_1.BasicFilter(this.target, this.operator, this.values);
6859        basicFilter.requireSingleSelection = this.isRequireSingleSelection;
6860        return basicFilter;
6861    };
6862    return BasicFilterBuilder;
6863}(filterBuilder_1.FilterBuilder));
6864exports.BasicFilterBuilder = BasicFilterBuilder;
6865
6866
6867/***/ }),
6868
6869/***/ "./src/FilterBuilders/filterBuilder.ts":
6870/*!*********************************************!*\
6871  !*** ./src/FilterBuilders/filterBuilder.ts ***!
6872  \*********************************************/
6873/***/ ((__unused_webpack_module, exports) => {
6874
6875// Copyright (c) Microsoft Corporation.
6876// Licensed under the MIT License.
6877Object.defineProperty(exports, "__esModule", ({ value: true }));
6878exports.FilterBuilder = void 0;
6879/**
6880 * Generic filter builder for BasicFilter, AdvancedFilter, RelativeDate, RelativeTime and TopN
6881 *
6882 * @class
6883 */
6884var FilterBuilder = /** @class */ (function () {
6885    function FilterBuilder() {
6886    }
6887    /**
6888     * Sets target property for filter with target object
6889     *
6890     * ```javascript
6891     * const target = {
6892     *  table: 'table1',
6893     *  column: 'column1'
6894     * };
6895     *
6896     * const filterBuilder = new FilterBuilder().withTargetObject(target);
6897     * ```
6898     *
6899     * @returns {FilterBuilder}
6900     */
6901    FilterBuilder.prototype.withTargetObject = function (target) {
6902        this.target = target;
6903        return this;
6904    };
6905    /**
6906     * Sets target property for filter with column target object
6907     *
6908     * ```
6909     * const filterBuilder = new FilterBuilder().withColumnTarget(tableName, columnName);
6910     * ```
6911     *
6912     * @returns {FilterBuilder}
6913     */
6914    FilterBuilder.prototype.withColumnTarget = function (tableName, columnName) {
6915        this.target = { table: tableName, column: columnName };
6916        return this;
6917    };
6918    /**
6919     * Sets target property for filter with measure target object
6920     *
6921     * ```
6922     * const filterBuilder = new FilterBuilder().withMeasureTarget(tableName, measure);
6923     * ```
6924     *
6925     * @returns {FilterBuilder}
6926     */
6927    FilterBuilder.prototype.withMeasureTarget = function (tableName, measure) {
6928        this.target = { table: tableName, measure: measure };
6929        return this;
6930    };
6931    /**
6932     * Sets target property for filter with hierarchy level target object
6933     *
6934     * ```
6935     * const filterBuilder = new FilterBuilder().withHierarchyLevelTarget(tableName, hierarchy, hierarchyLevel);
6936     * ```
6937     *
6938     * @returns {FilterBuilder}
6939     */
6940    FilterBuilder.prototype.withHierarchyLevelTarget = function (tableName, hierarchy, hierarchyLevel) {
6941        this.target = { table: tableName, hierarchy: hierarchy, hierarchyLevel: hierarchyLevel };
6942        return this;
6943    };
6944    /**
6945     * Sets target property for filter with column aggregation target object
6946     *
6947     * ```
6948     * const filterBuilder = new FilterBuilder().withColumnAggregation(tableName, columnName, aggregationFunction);
6949     * ```
6950     *
6951     * @returns {FilterBuilder}
6952     */
6953    FilterBuilder.prototype.withColumnAggregation = function (tableName, columnName, aggregationFunction) {
6954        this.target = { table: tableName, column: columnName, aggregationFunction: aggregationFunction };
6955        return this;
6956    };
6957    /**
6958     * Sets target property for filter with hierarchy level aggregation target object
6959     *
6960     * ```
6961     * const filterBuilder = new FilterBuilder().withHierarchyLevelAggregationTarget(tableName, hierarchy, hierarchyLevel, aggregationFunction);
6962     * ```
6963     *
6964     * @returns {FilterBuilder}
6965     */
6966    FilterBuilder.prototype.withHierarchyLevelAggregationTarget = function (tableName, hierarchy, hierarchyLevel, aggregationFunction) {
6967        this.target = { table: tableName, hierarchy: hierarchy, hierarchyLevel: hierarchyLevel, aggregationFunction: aggregationFunction };
6968        return this;
6969    };
6970    return FilterBuilder;
6971}());
6972exports.FilterBuilder = FilterBuilder;
6973
6974
6975/***/ }),
6976
6977/***/ "./src/FilterBuilders/index.ts":
6978/*!*************************************!*\
6979  !*** ./src/FilterBuilders/index.ts ***!
6980  \*************************************/
6981/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
6982
6983// Copyright (c) Microsoft Corporation.
6984// Licensed under the MIT License.
6985Object.defineProperty(exports, "__esModule", ({ value: true }));
6986exports.RelativeTimeFilterBuilder = exports.RelativeDateFilterBuilder = exports.TopNFilterBuilder = exports.AdvancedFilterBuilder = exports.BasicFilterBuilder = void 0;
6987var basicFilterBuilder_1 = __webpack_require__(/*! ./basicFilterBuilder */ "./src/FilterBuilders/basicFilterBuilder.ts");
6988Object.defineProperty(exports, "BasicFilterBuilder", ({ enumerable: true, get: function () { return basicFilterBuilder_1.BasicFilterBuilder; } }));
6989var advancedFilterBuilder_1 = __webpack_require__(/*! ./advancedFilterBuilder */ "./src/FilterBuilders/advancedFilterBuilder.ts");
6990Object.defineProperty(exports, "AdvancedFilterBuilder", ({ enumerable: true, get: function () { return advancedFilterBuilder_1.AdvancedFilterBuilder; } }));
6991var topNFilterBuilder_1 = __webpack_require__(/*! ./topNFilterBuilder */ "./src/FilterBuilders/topNFilterBuilder.ts");
6992Object.defineProperty(exports, "TopNFilterBuilder", ({ enumerable: true, get: function () { return topNFilterBuilder_1.TopNFilterBuilder; } }));
6993var relativeDateFilterBuilder_1 = __webpack_require__(/*! ./relativeDateFilterBuilder */ "./src/FilterBuilders/relativeDateFilterBuilder.ts");
6994Object.defineProperty(exports, "RelativeDateFilterBuilder", ({ enumerable: true, get: function () { return relativeDateFilterBuilder_1.RelativeDateFilterBuilder; } }));
6995var relativeTimeFilterBuilder_1 = __webpack_require__(/*! ./relativeTimeFilterBuilder */ "./src/FilterBuilders/relativeTimeFilterBuilder.ts");
6996Object.defineProperty(exports, "RelativeTimeFilterBuilder", ({ enumerable: true, get: function () { return relativeTimeFilterBuilder_1.RelativeTimeFilterBuilder; } }));
6997
6998
6999/***/ }),
7000
vendor: 24,187 bytes, lines 7001-7600
7001/***/ "./src/FilterBuilders/relativeDateFilterBuilder.ts":
7002/*!*********************************************************!*\
7003  !*** ./src/FilterBuilders/relativeDateFilterBuilder.ts ***!
7004  \*********************************************************/
7005/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
7006
7007// Copyright (c) Microsoft Corporation.
7008// Licensed under the MIT License.
7009var __extends = (this && this.__extends) || (function () {
7010    var extendStatics = function (d, b) {
7011        extendStatics = Object.setPrototypeOf ||
7012            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
7013            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7014        return extendStatics(d, b);
7015    };
7016    return function (d, b) {
7017        if (typeof b !== "function" && b !== null)
7018            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
7019        extendStatics(d, b);
7020        function __() { this.constructor = d; }
7021        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
7022    };
7023})();
7024Object.defineProperty(exports, "__esModule", ({ value: true }));
7025exports.RelativeDateFilterBuilder = void 0;
7026var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
7027var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts");
7028/**
7029 * Power BI Relative Date filter builder component
7030 *
7031 * @export
7032 * @class RelativeDateFilterBuilder
7033 * @extends {FilterBuilder}
7034 */
7035var RelativeDateFilterBuilder = /** @class */ (function (_super) {
7036    __extends(RelativeDateFilterBuilder, _super);
7037    function RelativeDateFilterBuilder() {
7038        var _this = _super !== null && _super.apply(this, arguments) || this;
7039        _this.isTodayIncluded = true;
7040        return _this;
7041    }
7042    /**
7043     * Sets inLast as operator for Relative Date filter
7044     *
7045     * ```javascript
7046     *
7047     * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().inLast(timeUnitsCount, timeUnitType);
7048     * ```
7049     *
7050     * @param {number} timeUnitsCount - The amount of time units
7051     * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using
7052     * @returns {RelativeDateFilterBuilder}
7053     */
7054    RelativeDateFilterBuilder.prototype.inLast = function (timeUnitsCount, timeUnitType) {
7055        this.operator = powerbi_models_1.RelativeDateOperators.InLast;
7056        this.timeUnitsCount = timeUnitsCount;
7057        this.timeUnitType = timeUnitType;
7058        return this;
7059    };
7060    /**
7061     * Sets inThis as operator for Relative Date filter
7062     *
7063     * ```javascript
7064     *
7065     * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().inThis(timeUnitsCount, timeUnitType);
7066     * ```
7067     *
7068     * @param {number} timeUnitsCount - The amount of time units
7069     * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using
7070     * @returns {RelativeDateFilterBuilder}
7071     */
7072    RelativeDateFilterBuilder.prototype.inThis = function (timeUnitsCount, timeUnitType) {
7073        this.operator = powerbi_models_1.RelativeDateOperators.InThis;
7074        this.timeUnitsCount = timeUnitsCount;
7075        this.timeUnitType = timeUnitType;
7076        return this;
7077    };
7078    /**
7079     * Sets inNext as operator for Relative Date filter
7080     *
7081     * ```javascript
7082     *
7083     * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().inNext(timeUnitsCount, timeUnitType);
7084     * ```
7085     *
7086     * @param {number} timeUnitsCount - The amount of time units
7087     * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using
7088     * @returns {RelativeDateFilterBuilder}
7089     */
7090    RelativeDateFilterBuilder.prototype.inNext = function (timeUnitsCount, timeUnitType) {
7091        this.operator = powerbi_models_1.RelativeDateOperators.InNext;
7092        this.timeUnitsCount = timeUnitsCount;
7093        this.timeUnitType = timeUnitType;
7094        return this;
7095    };
7096    /**
7097     * Sets includeToday for Relative Date filter
7098     *
7099     * ```javascript
7100     *
7101     * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().includeToday(includeToday);
7102     * ```
7103     *
7104     * @param {boolean} includeToday - Denotes if today is included or not
7105     * @returns {RelativeDateFilterBuilder}
7106     */
7107    RelativeDateFilterBuilder.prototype.includeToday = function (includeToday) {
7108        this.isTodayIncluded = includeToday;
7109        return this;
7110    };
7111    /**
7112     * Creates Relative Date filter
7113     *
7114     * ```javascript
7115     *
7116     * const relativeDateFilterBuilder = new RelativeDateFilterBuilder().build();
7117     * ```
7118     *
7119     * @returns {RelativeDateFilter}
7120     */
7121    RelativeDateFilterBuilder.prototype.build = function () {
7122        var relativeDateFilter = new powerbi_models_1.RelativeDateFilter(this.target, this.operator, this.timeUnitsCount, this.timeUnitType, this.isTodayIncluded);
7123        return relativeDateFilter;
7124    };
7125    return RelativeDateFilterBuilder;
7126}(filterBuilder_1.FilterBuilder));
7127exports.RelativeDateFilterBuilder = RelativeDateFilterBuilder;
7128
7129
7130/***/ }),
7131
7132/***/ "./src/FilterBuilders/relativeTimeFilterBuilder.ts":
7133/*!*********************************************************!*\
7134  !*** ./src/FilterBuilders/relativeTimeFilterBuilder.ts ***!
7135  \*********************************************************/
7136/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
7137
7138// Copyright (c) Microsoft Corporation.
7139// Licensed under the MIT License.
7140var __extends = (this && this.__extends) || (function () {
7141    var extendStatics = function (d, b) {
7142        extendStatics = Object.setPrototypeOf ||
7143            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
7144            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7145        return extendStatics(d, b);
7146    };
7147    return function (d, b) {
7148        if (typeof b !== "function" && b !== null)
7149            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
7150        extendStatics(d, b);
7151        function __() { this.constructor = d; }
7152        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
7153    };
7154})();
7155Object.defineProperty(exports, "__esModule", ({ value: true }));
7156exports.RelativeTimeFilterBuilder = void 0;
7157var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
7158var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts");
7159/**
7160 * Power BI Relative Time filter builder component
7161 *
7162 * @export
7163 * @class RelativeTimeFilterBuilder
7164 * @extends {FilterBuilder}
7165 */
7166var RelativeTimeFilterBuilder = /** @class */ (function (_super) {
7167    __extends(RelativeTimeFilterBuilder, _super);
7168    function RelativeTimeFilterBuilder() {
7169        return _super !== null && _super.apply(this, arguments) || this;
7170    }
7171    /**
7172     * Sets inLast as operator for Relative Time filter
7173     *
7174     * ```javascript
7175     *
7176     * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().inLast(timeUnitsCount, timeUnitType);
7177     * ```
7178     *
7179     * @param {number} timeUnitsCount - The amount of time units
7180     * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using
7181     * @returns {RelativeTimeFilterBuilder}
7182     */
7183    RelativeTimeFilterBuilder.prototype.inLast = function (timeUnitsCount, timeUnitType) {
7184        this.operator = powerbi_models_1.RelativeDateOperators.InLast;
7185        this.timeUnitsCount = timeUnitsCount;
7186        this.timeUnitType = timeUnitType;
7187        return this;
7188    };
7189    /**
7190     * Sets inThis as operator for Relative Time filter
7191     *
7192     * ```javascript
7193     *
7194     * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().inThis(timeUnitsCount, timeUnitType);
7195     * ```
7196     *
7197     * @param {number} timeUnitsCount - The amount of time units
7198     * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using
7199     * @returns {RelativeTimeFilterBuilder}
7200     */
7201    RelativeTimeFilterBuilder.prototype.inThis = function (timeUnitsCount, timeUnitType) {
7202        this.operator = powerbi_models_1.RelativeDateOperators.InThis;
7203        this.timeUnitsCount = timeUnitsCount;
7204        this.timeUnitType = timeUnitType;
7205        return this;
7206    };
7207    /**
7208     * Sets inNext as operator for Relative Time filter
7209     *
7210     * ```javascript
7211     *
7212     * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().inNext(timeUnitsCount, timeUnitType);
7213     * ```
7214     *
7215     * @param {number} timeUnitsCount - The amount of time units
7216     * @param {RelativeDateFilterTimeUnit} timeUnitType - Defines the unit of time the filter is using
7217     * @returns {RelativeTimeFilterBuilder}
7218     */
7219    RelativeTimeFilterBuilder.prototype.inNext = function (timeUnitsCount, timeUnitType) {
7220        this.operator = powerbi_models_1.RelativeDateOperators.InNext;
7221        this.timeUnitsCount = timeUnitsCount;
7222        this.timeUnitType = timeUnitType;
7223        return this;
7224    };
7225    /**
7226     * Creates Relative Time filter
7227     *
7228     * ```javascript
7229     *
7230     * const relativeTimeFilterBuilder = new RelativeTimeFilterBuilder().build();
7231     * ```
7232     *
7233     * @returns {RelativeTimeFilter}
7234     */
7235    RelativeTimeFilterBuilder.prototype.build = function () {
7236        var relativeTimeFilter = new powerbi_models_1.RelativeTimeFilter(this.target, this.operator, this.timeUnitsCount, this.timeUnitType);
7237        return relativeTimeFilter;
7238    };
7239    return RelativeTimeFilterBuilder;
7240}(filterBuilder_1.FilterBuilder));
7241exports.RelativeTimeFilterBuilder = RelativeTimeFilterBuilder;
7242
7243
7244/***/ }),
7245
7246/***/ "./src/FilterBuilders/topNFilterBuilder.ts":
7247/*!*************************************************!*\
7248  !*** ./src/FilterBuilders/topNFilterBuilder.ts ***!
7249  \*************************************************/
7250/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
7251
7252// Copyright (c) Microsoft Corporation.
7253// Licensed under the MIT License.
7254var __extends = (this && this.__extends) || (function () {
7255    var extendStatics = function (d, b) {
7256        extendStatics = Object.setPrototypeOf ||
7257            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
7258            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7259        return extendStatics(d, b);
7260    };
7261    return function (d, b) {
7262        if (typeof b !== "function" && b !== null)
7263            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
7264        extendStatics(d, b);
7265        function __() { this.constructor = d; }
7266        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
7267    };
7268})();
7269Object.defineProperty(exports, "__esModule", ({ value: true }));
7270exports.TopNFilterBuilder = void 0;
7271var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
7272var filterBuilder_1 = __webpack_require__(/*! ./filterBuilder */ "./src/FilterBuilders/filterBuilder.ts");
7273/**
7274 * Power BI Top N filter builder component
7275 *
7276 * @export
7277 * @class TopNFilterBuilder
7278 * @extends {FilterBuilder}
7279 */
7280var TopNFilterBuilder = /** @class */ (function (_super) {
7281    __extends(TopNFilterBuilder, _super);
7282    function TopNFilterBuilder() {
7283        return _super !== null && _super.apply(this, arguments) || this;
7284    }
7285    /**
7286     * Sets Top as operator for Top N filter
7287     *
7288     * ```javascript
7289     *
7290     * const topNFilterBuilder = new TopNFilterBuilder().top(itemCount);
7291     * ```
7292     *
7293     * @returns {TopNFilterBuilder}
7294     */
7295    TopNFilterBuilder.prototype.top = function (itemCount) {
7296        this.operator = "Top";
7297        this.itemCount = itemCount;
7298        return this;
7299    };
7300    /**
7301     * Sets Bottom as operator for Top N filter
7302     *
7303     * ```javascript
7304     *
7305     * const topNFilterBuilder = new TopNFilterBuilder().bottom(itemCount);
7306     * ```
7307     *
7308     * @returns {TopNFilterBuilder}
7309     */
7310    TopNFilterBuilder.prototype.bottom = function (itemCount) {
7311        this.operator = "Bottom";
7312        this.itemCount = itemCount;
7313        return this;
7314    };
7315    /**
7316     * Sets order by for Top N filter
7317     *
7318     * ```javascript
7319     *
7320     * const topNFilterBuilder = new TopNFilterBuilder().orderByTarget(target);
7321     * ```
7322     *
7323     * @returns {TopNFilterBuilder}
7324     */
7325    TopNFilterBuilder.prototype.orderByTarget = function (target) {
7326        this.orderByTargetValue = target;
7327        return this;
7328    };
7329    /**
7330     * Creates Top N filter
7331     *
7332     * ```javascript
7333     *
7334     * const topNFilterBuilder = new TopNFilterBuilder().build();
7335     * ```
7336     *
7337     * @returns {TopNFilter}
7338     */
7339    TopNFilterBuilder.prototype.build = function () {
7340        var topNFilter = new powerbi_models_1.TopNFilter(this.target, this.operator, this.itemCount, this.orderByTargetValue);
7341        return topNFilter;
7342    };
7343    return TopNFilterBuilder;
7344}(filterBuilder_1.FilterBuilder));
7345exports.TopNFilterBuilder = TopNFilterBuilder;
7346
7347
7348/***/ }),
7349
7350/***/ "./src/bookmarksManager.ts":
7351/*!*********************************!*\
7352  !*** ./src/bookmarksManager.ts ***!
7353  \*********************************/
7354/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
7355
7356// Copyright (c) Microsoft Corporation.
7357// Licensed under the MIT License.
7358var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7359    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7360    return new (P || (P = Promise))(function (resolve, reject) {
7361        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7362        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7363        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7364        step((generator = generator.apply(thisArg, _arguments || [])).next());
7365    });
7366};
7367var __generator = (this && this.__generator) || function (thisArg, body) {
7368    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
7369    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
7370    function verb(n) { return function (v) { return step([n, v]); }; }
7371    function step(op) {
7372        if (f) throw new TypeError("Generator is already executing.");
7373        while (_) try {
7374            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;
7375            if (y = 0, t) op = [op[0] & 2, t.value];
7376            switch (op[0]) {
7377                case 0: case 1: t = op; break;
7378                case 4: _.label++; return { value: op[1], done: false };
7379                case 5: _.label++; y = op[1]; op = [0]; continue;
7380                case 7: op = _.ops.pop(); _.trys.pop(); continue;
7381                default:
7382                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
7383                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
7384                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
7385                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
7386                    if (t[2]) _.ops.pop();
7387                    _.trys.pop(); continue;
7388            }
7389            op = body.call(thisArg, _);
7390        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
7391        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
7392    }
7393};
7394Object.defineProperty(exports, "__esModule", ({ value: true }));
7395exports.BookmarksManager = void 0;
7396var util_1 = __webpack_require__(/*! ./util */ "./src/util.ts");
7397var errors_1 = __webpack_require__(/*! ./errors */ "./src/errors.ts");
7398/**
7399 * Manages report bookmarks.
7400 *
7401 * @export
7402 * @class BookmarksManager
7403 * @implements {IBookmarksManager}
7404 */
7405var BookmarksManager = /** @class */ (function () {
7406    /**
7407     * @hidden
7408     */
7409    function BookmarksManager(service, config, iframe) {
7410        this.service = service;
7411        this.config = config;
7412        this.iframe = iframe;
7413    }
7414    /**
7415     * Gets bookmarks that are defined in the report.
7416     *
7417     * ```javascript
7418     * // Gets bookmarks that are defined in the report
7419     * bookmarksManager.getBookmarks()
7420     *   .then(bookmarks => {
7421     *     ...
7422     *   });
7423     * ```
7424     *
7425     * @returns {Promise<IReportBookmark[]>}
7426     */
7427    BookmarksManager.prototype.getBookmarks = function () {
7428        return __awaiter(this, void 0, void 0, function () {
7429            var response, response_1;
7430            return __generator(this, function (_a) {
7431                switch (_a.label) {
7432                    case 0:
7433                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
7434                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
7435                        }
7436                        _a.label = 1;
7437                    case 1:
7438                        _a.trys.push([1, 3, , 4]);
7439                        return [4 /*yield*/, this.service.hpm.get("/report/bookmarks", { uid: this.config.uniqueId }, this.iframe.contentWindow)];
7440                    case 2:
7441                        response = _a.sent();
7442                        return [2 /*return*/, response.body];
7443                    case 3:
7444                        response_1 = _a.sent();
7445                        throw response_1.body;
7446                    case 4: return [2 /*return*/];
7447                }
7448            });
7449        });
7450    };
7451    /**
7452     * Apply bookmark by name.
7453     *
7454     * ```javascript
7455     * bookmarksManager.apply(bookmarkName)
7456     * ```
7457     *
7458     * @param {string} bookmarkName The name of the bookmark to be applied
7459     * @returns {Promise<IHttpPostMessageResponse<void>>}
7460     */
7461    BookmarksManager.prototype.apply = function (bookmarkName) {
7462        return __awaiter(this, void 0, void 0, function () {
7463            var request, response_2;
7464            return __generator(this, function (_a) {
7465                switch (_a.label) {
7466                    case 0:
7467                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
7468                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
7469                        }
7470                        request = {
7471                            name: bookmarkName
7472                        };
7473                        _a.label = 1;
7474                    case 1:
7475                        _a.trys.push([1, 3, , 4]);
7476                        return [4 /*yield*/, this.service.hpm.post("/report/bookmarks/applyByName", request, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
7477                    case 2: return [2 /*return*/, _a.sent()];
7478                    case 3:
7479                        response_2 = _a.sent();
7480                        throw response_2.body;
7481                    case 4: return [2 /*return*/];
7482                }
7483            });
7484        });
7485    };
7486    /**
7487     * Play bookmarks: Enter or Exit bookmarks presentation mode.
7488     *
7489     * ```javascript
7490     * // Enter presentation mode.
7491     * bookmarksManager.play(BookmarksPlayMode.Presentation)
7492     * ```
7493     *
7494     * @param {BookmarksPlayMode} playMode Play mode can be either `Presentation` or `Off`
7495     * @returns {Promise<IHttpPostMessageResponse<void>>}
7496     */
7497    BookmarksManager.prototype.play = function (playMode) {
7498        return __awaiter(this, void 0, void 0, function () {
7499            var playBookmarkRequest, response_3;
7500            return __generator(this, function (_a) {
7501                switch (_a.label) {
7502                    case 0:
7503                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
7504                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
7505                        }
7506                        playBookmarkRequest = {
7507                            playMode: playMode
7508                        };
7509                        _a.label = 1;
7510                    case 1:
7511                        _a.trys.push([1, 3, , 4]);
7512                        return [4 /*yield*/, this.service.hpm.post("/report/bookmarks/play", playBookmarkRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
7513                    case 2: return [2 /*return*/, _a.sent()];
7514                    case 3:
7515                        response_3 = _a.sent();
7516                        throw response_3.body;
7517                    case 4: return [2 /*return*/];
7518                }
7519            });
7520        });
7521    };
7522    /**
7523     * Capture bookmark from current state.
7524     *
7525     * ```javascript
7526     * bookmarksManager.capture(options)
7527     * ```
7528     *
7529     * @param {ICaptureBookmarkOptions} [options] Options for bookmark capturing
7530     * @returns {Promise<IReportBookmark>}
7531     */
7532    BookmarksManager.prototype.capture = function (options) {
7533        return __awaiter(this, void 0, void 0, function () {
7534            var request, response, response_4;
7535            return __generator(this, function (_a) {
7536                switch (_a.label) {
7537                    case 0:
7538                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
7539                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
7540                        }
7541                        request = {
7542                            options: options || {}
7543                        };
7544                        _a.label = 1;
7545                    case 1:
7546                        _a.trys.push([1, 3, , 4]);
7547                        return [4 /*yield*/, this.service.hpm.post("/report/bookmarks/capture", request, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
7548                    case 2:
7549                        response = _a.sent();
7550                        return [2 /*return*/, response.body];
7551                    case 3:
7552                        response_4 = _a.sent();
7553                        throw response_4.body;
7554                    case 4: return [2 /*return*/];
7555                }
7556            });
7557        });
7558    };
7559    /**
7560     * Apply bookmark state.
7561     *
7562     * ```javascript
7563     * bookmarksManager.applyState(bookmarkState)
7564     * ```
7565     *
7566     * @param {string} state A base64 bookmark state to be applied
7567     * @returns {Promise<IHttpPostMessageResponse<void>>}
7568     */
7569    BookmarksManager.prototype.applyState = function (state) {
7570        return __awaiter(this, void 0, void 0, function () {
7571            var request, response_5;
7572            return __generator(this, function (_a) {
7573                switch (_a.label) {
7574                    case 0:
7575                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
7576                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
7577                        }
7578                        request = {
7579                            state: state
7580                        };
7581                        _a.label = 1;
7582                    case 1:
7583                        _a.trys.push([1, 3, , 4]);
7584                        return [4 /*yield*/, this.service.hpm.post("/report/bookmarks/applyState", request, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
7585                    case 2: return [2 /*return*/, _a.sent()];
7586                    case 3:
7587                        response_5 = _a.sent();
7588                        throw response_5.body;
7589                    case 4: return [2 /*return*/];
7590                }
7591            });
7592        });
7593    };
7594    return BookmarksManager;
7595}());
7596exports.BookmarksManager = BookmarksManager;
7597
7598
7599/***/ }),
7600
7601/***/ "./src/config.ts":
7602/*!***********************!*\
7603  !*** ./src/config.ts ***!
7604  \***********************/
7605/***/ ((__unused_webpack_module, exports) => {
7606
7607// Copyright (c) Microsoft Corporation.
7608// Licensed under the MIT License.
7609Object.defineProperty(exports, "__esModule", ({ value: true }));
7610/** @ignore */ /** */
7611var config = {
7612    version: '2.23.1',
7613    type: 'js'
7614};
7615exports["default"] = config;
7616
7617
7618/***/ }),
7619
vendor: 44,155 bytes, lines 7620-8694
7620/***/ "./src/create.ts":
7621/*!***********************!*\
7622  !*** ./src/create.ts ***!
7623  \***********************/
7624/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
7625
7626// Copyright (c) Microsoft Corporation.
7627// Licensed under the MIT License.
7628var __extends = (this && this.__extends) || (function () {
7629    var extendStatics = function (d, b) {
7630        extendStatics = Object.setPrototypeOf ||
7631            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
7632            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7633        return extendStatics(d, b);
7634    };
7635    return function (d, b) {
7636        if (typeof b !== "function" && b !== null)
7637            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
7638        extendStatics(d, b);
7639        function __() { this.constructor = d; }
7640        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
7641    };
7642})();
7643var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7644    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7645    return new (P || (P = Promise))(function (resolve, reject) {
7646        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7647        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7648        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7649        step((generator = generator.apply(thisArg, _arguments || [])).next());
7650    });
7651};
7652var __generator = (this && this.__generator) || function (thisArg, body) {
7653    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
7654    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
7655    function verb(n) { return function (v) { return step([n, v]); }; }
7656    function step(op) {
7657        if (f) throw new TypeError("Generator is already executing.");
7658        while (_) try {
7659            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;
7660            if (y = 0, t) op = [op[0] & 2, t.value];
7661            switch (op[0]) {
7662                case 0: case 1: t = op; break;
7663                case 4: _.label++; return { value: op[1], done: false };
7664                case 5: _.label++; y = op[1]; op = [0]; continue;
7665                case 7: op = _.ops.pop(); _.trys.pop(); continue;
7666                default:
7667                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
7668                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
7669                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
7670                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
7671                    if (t[2]) _.ops.pop();
7672                    _.trys.pop(); continue;
7673            }
7674            op = body.call(thisArg, _);
7675        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
7676        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
7677    }
7678};
7679Object.defineProperty(exports, "__esModule", ({ value: true }));
7680exports.Create = void 0;
7681var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
7682var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts");
7683var utils = __webpack_require__(/*! ./util */ "./src/util.ts");
7684/**
7685 * A Power BI Report creator component
7686 *
7687 * @export
7688 * @class Create
7689 * @extends {Embed}
7690 */
7691var Create = /** @class */ (function (_super) {
7692    __extends(Create, _super);
7693    /*
7694     * @hidden
7695     */
7696    function Create(service, element, config, phasedRender, isBootstrap) {
7697        return _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this;
7698    }
7699    /**
7700     * Gets the dataset ID from the first available location: createConfig or embed url.
7701     *
7702     * @returns {string}
7703     */
7704    Create.prototype.getId = function () {
7705        var datasetId = (this.createConfig && this.createConfig.datasetId) ? this.createConfig.datasetId : Create.findIdFromEmbedUrl(this.config.embedUrl);
7706        if (typeof datasetId !== 'string' || datasetId.length === 0) {
7707            throw new Error('Dataset id is required, but it was not found. You must provide an id either as part of embed configuration.');
7708        }
7709        return datasetId;
7710    };
7711    /**
7712     * Validate create report configuration.
7713     */
7714    Create.prototype.validate = function (config) {
7715        return (0, powerbi_models_1.validateCreateReport)(config);
7716    };
7717    /**
7718     * Handle config changes.
7719     *
7720     * @hidden
7721     * @returns {void}
7722     */
7723    Create.prototype.configChanged = function (isBootstrap) {
7724        if (isBootstrap) {
7725            return;
7726        }
7727        var config = this.config;
7728        this.createConfig = {
7729            accessToken: config.accessToken,
7730            datasetId: config.datasetId || this.getId(),
7731            groupId: config.groupId,
7732            settings: config.settings,
7733            tokenType: config.tokenType,
7734            theme: config.theme
7735        };
7736    };
7737    /**
7738     * @hidden
7739     * @returns {string}
7740     */
7741    Create.prototype.getDefaultEmbedUrlEndpoint = function () {
7742        return "reportEmbed";
7743    };
7744    /**
7745     * checks if the report is saved.
7746     *
7747     * ```javascript
7748     * report.isSaved()
7749     * ```
7750     *
7751     * @returns {Promise<boolean>}
7752     */
7753    Create.prototype.isSaved = function () {
7754        return __awaiter(this, void 0, void 0, function () {
7755            return __generator(this, function (_a) {
7756                switch (_a.label) {
7757                    case 0: return [4 /*yield*/, utils.isSavedInternal(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow)];
7758                    case 1: return [2 /*return*/, _a.sent()];
7759                }
7760            });
7761        });
7762    };
7763    /**
7764     * Adds the ability to get datasetId from url.
7765     * (e.g. http://embedded.powerbi.com/appTokenReportEmbed?datasetId=854846ed-2106-4dc2-bc58-eb77533bf2f1).
7766     *
7767     * By extracting the ID we can ensure that the ID is always explicitly provided as part of the create configuration.
7768     *
7769     * @static
7770     * @param {string} url
7771     * @returns {string}
7772     * @hidden
7773     */
7774    Create.findIdFromEmbedUrl = function (url) {
7775        var datasetIdRegEx = /datasetId="?([^&]+)"?/;
7776        var datasetIdMatch = url.match(datasetIdRegEx);
7777        var datasetId;
7778        if (datasetIdMatch) {
7779            datasetId = datasetIdMatch[1];
7780        }
7781        return datasetId;
7782    };
7783    /**
7784     * Sends create configuration data.
7785     *
7786     * ```javascript
7787     * create ({
7788     *   datasetId: '5dac7a4a-4452-46b3-99f6-a25915e0fe55',
7789     *   accessToken: 'eyJ0eXA ... TaE2rTSbmg',
7790     * ```
7791     *
7792     * @hidden
7793     * @returns {Promise<void>}
7794     */
7795    Create.prototype.create = function () {
7796        var _a;
7797        return __awaiter(this, void 0, void 0, function () {
7798            var errors, headers, response, response_1;
7799            return __generator(this, function (_b) {
7800                switch (_b.label) {
7801                    case 0:
7802                        errors = (0, powerbi_models_1.validateCreateReport)(this.createConfig);
7803                        if (errors) {
7804                            throw errors;
7805                        }
7806                        _b.label = 1;
7807                    case 1:
7808                        _b.trys.push([1, 3, , 4]);
7809                        headers = {
7810                            uid: this.config.uniqueId,
7811                            sdkSessionId: this.service.getSdkSessionId()
7812                        };
7813                        if (!!((_a = this.eventHooks) === null || _a === void 0 ? void 0 : _a.accessTokenProvider)) {
7814                            headers.tokenProviderSupplied = true;
7815                        }
7816                        return [4 /*yield*/, this.service.hpm.post("/report/create", this.createConfig, headers, this.iframe.contentWindow)];
7817                    case 2:
7818                        response = _b.sent();
7819                        return [2 /*return*/, response.body];
7820                    case 3:
7821                        response_1 = _b.sent();
7822                        throw response_1.body;
7823                    case 4: return [2 /*return*/];
7824                }
7825            });
7826        });
7827    };
7828    return Create;
7829}(embed_1.Embed));
7830exports.Create = Create;
7831
7832
7833/***/ }),
7834
7835/***/ "./src/dashboard.ts":
7836/*!**************************!*\
7837  !*** ./src/dashboard.ts ***!
7838  \**************************/
7839/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
7840
7841// Copyright (c) Microsoft Corporation.
7842// Licensed under the MIT License.
7843var __extends = (this && this.__extends) || (function () {
7844    var extendStatics = function (d, b) {
7845        extendStatics = Object.setPrototypeOf ||
7846            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
7847            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7848        return extendStatics(d, b);
7849    };
7850    return function (d, b) {
7851        if (typeof b !== "function" && b !== null)
7852            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
7853        extendStatics(d, b);
7854        function __() { this.constructor = d; }
7855        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
7856    };
7857})();
7858Object.defineProperty(exports, "__esModule", ({ value: true }));
7859exports.Dashboard = void 0;
7860var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
7861var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts");
7862/**
7863 * A Power BI Dashboard embed component
7864 *
7865 * @export
7866 * @class Dashboard
7867 * @extends {Embed}
7868 * @implements {IDashboardNode}
7869 */
7870var Dashboard = /** @class */ (function (_super) {
7871    __extends(Dashboard, _super);
7872    /**
7873     * Creates an instance of a Power BI Dashboard.
7874     *
7875     * @param {service.Service} service
7876     * @hidden
7877     * @param {HTMLElement} element
7878     */
7879    function Dashboard(service, element, config, phasedRender, isBootstrap) {
7880        var _this = _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this;
7881        _this.loadPath = "/dashboard/load";
7882        _this.phasedLoadPath = "/dashboard/prepare";
7883        Array.prototype.push.apply(_this.allowedEvents, Dashboard.allowedEvents);
7884        return _this;
7885    }
7886    /**
7887     * This adds backwards compatibility for older config which used the dashboardId query param to specify dashboard id.
7888     * E.g. https://powerbi-df.analysis-df.windows.net/dashboardEmbedHost?dashboardId=e9363c62-edb6-4eac-92d3-2199c5ca2a9e
7889     *
7890     * By extracting the id we can ensure id is always explicitly provided as part of the load configuration.
7891     *
7892     * @hidden
7893     * @static
7894     * @param {string} url
7895     * @returns {string}
7896     */
7897    Dashboard.findIdFromEmbedUrl = function (url) {
7898        var dashboardIdRegEx = /dashboardId="?([^&]+)"?/;
7899        var dashboardIdMatch = url.match(dashboardIdRegEx);
7900        var dashboardId;
7901        if (dashboardIdMatch) {
7902            dashboardId = dashboardIdMatch[1];
7903        }
7904        return dashboardId;
7905    };
7906    /**
7907     * Get dashboard id from first available location: options, attribute, embed url.
7908     *
7909     * @returns {string}
7910     */
7911    Dashboard.prototype.getId = function () {
7912        var config = this.config;
7913        var dashboardId = config.id || this.element.getAttribute(Dashboard.dashboardIdAttribute) || Dashboard.findIdFromEmbedUrl(config.embedUrl);
7914        if (typeof dashboardId !== 'string' || dashboardId.length === 0) {
7915            throw new Error("Dashboard id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '".concat(Dashboard.dashboardIdAttribute, "'."));
7916        }
7917        return dashboardId;
7918    };
7919    /**
7920     * Validate load configuration.
7921     *
7922     * @hidden
7923     */
7924    Dashboard.prototype.validate = function (baseConfig) {
7925        var config = baseConfig;
7926        var error = (0, powerbi_models_1.validateDashboardLoad)(config);
7927        return error ? error : this.validatePageView(config.pageView);
7928    };
7929    /**
7930     * Handle config changes.
7931     *
7932     * @hidden
7933     * @returns {void}
7934     */
7935    Dashboard.prototype.configChanged = function (isBootstrap) {
7936        if (isBootstrap) {
7937            return;
7938        }
7939        // Populate dashboard id into config object.
7940        this.config.id = this.getId();
7941    };
7942    /**
7943     * @hidden
7944     * @returns {string}
7945     */
7946    Dashboard.prototype.getDefaultEmbedUrlEndpoint = function () {
7947        return "dashboardEmbed";
7948    };
7949    /**
7950     * Validate that pageView has a legal value: if page view is defined it must have one of the values defined in PageView
7951     *
7952     * @hidden
7953     */
7954    Dashboard.prototype.validatePageView = function (pageView) {
7955        if (pageView && pageView !== "fitToWidth" && pageView !== "oneColumn" && pageView !== "actualSize") {
7956            return [{ message: "pageView must be one of the followings: fitToWidth, oneColumn, actualSize" }];
7957        }
7958    };
7959    /** @hidden */
7960    Dashboard.allowedEvents = ["tileClicked", "error"];
7961    /** @hidden */
7962    Dashboard.dashboardIdAttribute = 'powerbi-dashboard-id';
7963    /** @hidden */
7964    Dashboard.typeAttribute = 'powerbi-type';
7965    /** @hidden */
7966    Dashboard.type = "Dashboard";
7967    return Dashboard;
7968}(embed_1.Embed));
7969exports.Dashboard = Dashboard;
7970
7971
7972/***/ }),
7973
7974/***/ "./src/embed.ts":
7975/*!**********************!*\
7976  !*** ./src/embed.ts ***!
7977  \**********************/
7978/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
7979
7980// Copyright (c) Microsoft Corporation.
7981// Licensed under the MIT License.
7982var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
7983    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
7984    return new (P || (P = Promise))(function (resolve, reject) {
7985        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
7986        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7987        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7988        step((generator = generator.apply(thisArg, _arguments || [])).next());
7989    });
7990};
7991var __generator = (this && this.__generator) || function (thisArg, body) {
7992    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
7993    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
7994    function verb(n) { return function (v) { return step([n, v]); }; }
7995    function step(op) {
7996        if (f) throw new TypeError("Generator is already executing.");
7997        while (_) try {
7998            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;
7999            if (y = 0, t) op = [op[0] & 2, t.value];
8000            switch (op[0]) {
8001                case 0: case 1: t = op; break;
8002                case 4: _.label++; return { value: op[1], done: false };
8003                case 5: _.label++; y = op[1]; op = [0]; continue;
8004                case 7: op = _.ops.pop(); _.trys.pop(); continue;
8005                default:
8006                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
8007                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
8008                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
8009                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
8010                    if (t[2]) _.ops.pop();
8011                    _.trys.pop(); continue;
8012            }
8013            op = body.call(thisArg, _);
8014        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
8015        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
8016    }
8017};
8018Object.defineProperty(exports, "__esModule", ({ value: true }));
8019exports.Embed = void 0;
8020var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
8021var sdkConfig = __webpack_require__(/*! ./config */ "./src/config.ts");
8022var errors_1 = __webpack_require__(/*! ./errors */ "./src/errors.ts");
8023var util_1 = __webpack_require__(/*! ./util */ "./src/util.ts");
8024/**
8025 * Base class for all Power BI embed components
8026 *
8027 * @export
8028 * @abstract
8029 * @hidden
8030 * @class Embed
8031 */
8032var Embed = /** @class */ (function () {
8033    /**
8034     * Creates an instance of Embed.
8035     *
8036     * Note: there is circular reference between embeds and the service, because
8037     * the service has a list of all embeds on the host page, and each embed has a reference to the service that created it.
8038     *
8039     * @param {service.Service} service
8040     * @param {HTMLElement} element
8041     * @param {IEmbedConfigurationBase} config
8042     * @hidden
8043     */
8044    function Embed(service, element, config, iframe, phasedRender, isBootstrap) {
8045        /** @hidden */
8046        this.allowedEvents = [];
8047        if ((0, util_1.autoAuthInEmbedUrl)(config.embedUrl)) {
8048            throw new Error(errors_1.EmbedUrlNotSupported);
8049        }
8050        Array.prototype.push.apply(this.allowedEvents, Embed.allowedEvents);
8051        this.eventHandlers = [];
8052        this.service = service;
8053        this.element = element;
8054        this.iframe = iframe;
8055        this.iframeLoaded = false;
8056        this.embedtype = config.type.toLowerCase();
8057        this.commands = [];
8058        this.groups = [];
8059        this.populateConfig(config, isBootstrap);
8060        if ((0, util_1.isCreate)(this.embedtype)) {
8061            this.setIframe(false /* set EventListener to call create() on 'load' event*/, phasedRender, isBootstrap);
8062        }
8063        else {
8064            this.setIframe(true /* set EventListener to call load() on 'load' event*/, phasedRender, isBootstrap);
8065        }
8066    }
8067    /**
8068     * Create is not supported by default
8069     *
8070     * @hidden
8071     * @returns {Promise<void>}
8072     */
8073    Embed.prototype.create = function () {
8074        throw new Error("no create support");
8075    };
8076    /**
8077     * Saves Report.
8078     *
8079     * @returns {Promise<void>}
8080     */
8081    Embed.prototype.save = function () {
8082        return __awaiter(this, void 0, void 0, function () {
8083            var response, response_1;
8084            return __generator(this, function (_a) {
8085                switch (_a.label) {
8086                    case 0:
8087                        _a.trys.push([0, 2, , 3]);
8088                        return [4 /*yield*/, this.service.hpm.post('/report/save', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
8089                    case 1:
8090                        response = _a.sent();
8091                        return [2 /*return*/, response.body];
8092                    case 2:
8093                        response_1 = _a.sent();
8094                        throw response_1.body;
8095                    case 3: return [2 /*return*/];
8096                }
8097            });
8098        });
8099    };
8100    /**
8101     * SaveAs Report.
8102     *
8103     * @returns {Promise<void>}
8104     */
8105    Embed.prototype.saveAs = function (saveAsParameters) {
8106        return __awaiter(this, void 0, void 0, function () {
8107            var response, response_2;
8108            return __generator(this, function (_a) {
8109                switch (_a.label) {
8110                    case 0:
8111                        _a.trys.push([0, 2, , 3]);
8112                        return [4 /*yield*/, this.service.hpm.post('/report/saveAs', saveAsParameters, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
8113                    case 1:
8114                        response = _a.sent();
8115                        return [2 /*return*/, response.body];
8116                    case 2:
8117                        response_2 = _a.sent();
8118                        throw response_2.body;
8119                    case 3: return [2 /*return*/];
8120                }
8121            });
8122        });
8123    };
8124    /**
8125     * Get the correlationId for the current embed session.
8126     *
8127     * ```javascript
8128     * // Get the correlationId for the current embed session
8129     * report.getCorrelationId()
8130     *   .then(correlationId => {
8131     *     ...
8132     *   });
8133     * ```
8134     *
8135     * @returns {Promise<string>}
8136     */
8137    Embed.prototype.getCorrelationId = function () {
8138        return __awaiter(this, void 0, void 0, function () {
8139            var response, response_3;
8140            return __generator(this, function (_a) {
8141                switch (_a.label) {
8142                    case 0:
8143                        _a.trys.push([0, 2, , 3]);
8144                        return [4 /*yield*/, this.service.hpm.get("/getCorrelationId", { uid: this.config.uniqueId }, this.iframe.contentWindow)];
8145                    case 1:
8146                        response = _a.sent();
8147                        return [2 /*return*/, response.body];
8148                    case 2:
8149                        response_3 = _a.sent();
8150                        throw response_3.body;
8151                    case 3: return [2 /*return*/];
8152                }
8153            });
8154        });
8155    };
8156    /**
8157     * Sends load configuration data.
8158     *
8159     * ```javascript
8160     * report.load({
8161     *   type: 'report',
8162     *   id: '5dac7a4a-4452-46b3-99f6-a25915e0fe55',
8163     *   accessToken: 'eyJ0eXA ... TaE2rTSbmg',
8164     *   settings: {
8165     *     navContentPaneEnabled: false
8166     *   },
8167     *   pageName: "DefaultPage",
8168     *   filters: [
8169     *     {
8170     *        ...  DefaultReportFilter ...
8171     *     }
8172     *   ]
8173     * })
8174     *   .catch(error => { ... });
8175     * ```
8176     *
8177     * @hidden
8178     * @param {models.ILoadConfiguration} config
8179     * @param {boolean} phasedRender
8180     * @returns {Promise<void>}
8181     */
8182    Embed.prototype.load = function (phasedRender) {
8183        var _a;
8184        return __awaiter(this, void 0, void 0, function () {
8185            var path, headers, timeNow, response, response_4;
8186            return __generator(this, function (_b) {
8187                switch (_b.label) {
8188                    case 0:
8189                        if (!this.config.accessToken) {
8190                            console.debug("Power BI SDK iframe is loaded but powerbi.embed is not called yet.");
8191                            return [2 /*return*/];
8192                        }
8193                        if (!this.iframeLoaded) {
8194                            console.debug("Power BI SDK is trying to post /report/load before iframe is ready.");
8195                            return [2 /*return*/];
8196                        }
8197                        path = phasedRender && this.config.type === 'report' ? this.phasedLoadPath : this.loadPath;
8198                        headers = {
8199                            uid: this.config.uniqueId,
8200                            sdkSessionId: this.service.getSdkSessionId(),
8201                            bootstrapped: this.config.bootstrapped,
8202                            sdkVersion: sdkConfig.default.version
8203                        };
8204                        if (!!((_a = this.eventHooks) === null || _a === void 0 ? void 0 : _a.accessTokenProvider)) {
8205                            headers.tokenProviderSupplied = true;
8206                        }
8207                        timeNow = new Date();
8208                        if (this.lastLoadRequest && (0, util_1.getTimeDiffInMilliseconds)(this.lastLoadRequest, timeNow) < 100) {
8209                            console.debug("Power BI SDK sent more than two /report/load requests in the last 100ms interval.");
8210                            return [2 /*return*/];
8211                        }
8212                        this.lastLoadRequest = timeNow;
8213                        _b.label = 1;
8214                    case 1:
8215                        _b.trys.push([1, 3, , 4]);
8216                        return [4 /*yield*/, this.service.hpm.post(path, this.config, headers, this.iframe.contentWindow)];
8217                    case 2:
8218                        response = _b.sent();
8219                        return [2 /*return*/, response.body];
8220                    case 3:
8221                        response_4 = _b.sent();
8222                        throw response_4.body;
8223                    case 4: return [2 /*return*/];
8224                }
8225            });
8226        });
8227    };
8228    /**
8229     * Removes one or more event handlers from the list of handlers.
8230     * If a reference to the existing handle function is specified, remove the specific handler.
8231     * If the handler is not specified, remove all handlers for the event name specified.
8232     *
8233     * ```javascript
8234     * report.off('pageChanged')
8235     *
8236     * or
8237     *
8238     * const logHandler = function (event) {
8239     *    console.log(event);
8240     * };
8241     *
8242     * report.off('pageChanged', logHandler);
8243     * ```
8244     *
8245     * @template T
8246     * @param {string} eventName
8247     * @param {IEventHandler<T>} [handler]
8248     */
8249    Embed.prototype.off = function (eventName, handler) {
8250        var _this = this;
8251        var fakeEvent = { name: eventName, type: null, id: null, value: null };
8252        if (handler) {
8253            (0, util_1.remove)(function (eventHandler) { return eventHandler.test(fakeEvent) && (eventHandler.handle === handler); }, this.eventHandlers);
8254            this.element.removeEventListener(eventName, handler);
8255        }
8256        else {
8257            var eventHandlersToRemove = this.eventHandlers
8258                .filter(function (eventHandler) { return eventHandler.test(fakeEvent); });
8259            eventHandlersToRemove
8260                .forEach(function (eventHandlerToRemove) {
8261                (0, util_1.remove)(function (eventHandler) { return eventHandler === eventHandlerToRemove; }, _this.eventHandlers);
8262                _this.element.removeEventListener(eventName, eventHandlerToRemove.handle);
8263            });
8264        }
8265    };
8266    /**
8267     * Adds an event handler for a specific event.
8268     *
8269     * ```javascript
8270     * report.on('pageChanged', (event) => {
8271     *   console.log('PageChanged: ', event.page.name);
8272     * });
8273     * ```
8274     *
8275     * @template T
8276     * @param {string} eventName
8277     * @param {service.IEventHandler<T>} handler
8278     */
8279    Embed.prototype.on = function (eventName, handler) {
8280        if (this.allowedEvents.indexOf(eventName) === -1) {
8281            throw new Error("eventName must be one of ".concat(this.allowedEvents, ". You passed: ").concat(eventName));
8282        }
8283        this.eventHandlers.push({
8284            test: function (event) { return event.name === eventName; },
8285            handle: handler
8286        });
8287        this.element.addEventListener(eventName, handler);
8288    };
8289    /**
8290     * Reloads embed using existing configuration.
8291     * E.g. For reports this effectively clears all filters and makes the first page active which simulates resetting a report back to loaded state.
8292     *
8293     * ```javascript
8294     * report.reload();
8295     * ```
8296     */
8297    Embed.prototype.reload = function () {
8298        return __awaiter(this, void 0, void 0, function () {
8299            return __generator(this, function (_a) {
8300                switch (_a.label) {
8301                    case 0: return [4 /*yield*/, this.load()];
8302                    case 1: return [2 /*return*/, _a.sent()];
8303                }
8304            });
8305        });
8306    };
8307    /**
8308     * Set accessToken.
8309     *
8310     * @returns {Promise<void>}
8311     */
8312    Embed.prototype.setAccessToken = function (accessToken) {
8313        return __awaiter(this, void 0, void 0, function () {
8314            var embedType, response, response_5;
8315            return __generator(this, function (_a) {
8316                switch (_a.label) {
8317                    case 0:
8318                        if (!accessToken) {
8319                            throw new Error("Access token cannot be empty");
8320                        }
8321                        embedType = this.config.type;
8322                        embedType = (embedType === 'create' || embedType === 'visual' || embedType === 'qna' || embedType === 'quickCreate') ? 'report' : embedType;
8323                        _a.label = 1;
8324                    case 1:
8325                        _a.trys.push([1, 3, , 4]);
8326                        return [4 /*yield*/, this.service.hpm.post('/' + embedType + '/token', accessToken, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
8327                    case 2:
8328                        response = _a.sent();
8329                        this.config.accessToken = accessToken;
8330                        this.element.setAttribute(Embed.accessTokenAttribute, accessToken);
8331                        this.service.accessToken = accessToken;
8332                        return [2 /*return*/, response.body];
8333                    case 3:
8334                        response_5 = _a.sent();
8335                        throw response_5.body;
8336                    case 4: return [2 /*return*/];
8337                }
8338            });
8339        });
8340    };
8341    /**
8342     * Gets an access token from the first available location: config, attribute, global.
8343     *
8344     * @private
8345     * @param {string} globalAccessToken
8346     * @returns {string}
8347     * @hidden
8348     */
8349    Embed.prototype.getAccessToken = function (globalAccessToken) {
8350        var accessToken = this.config.accessToken || this.element.getAttribute(Embed.accessTokenAttribute) || globalAccessToken;
8351        if (!accessToken) {
8352            throw new Error("No access token was found for element. You must specify an access token directly on the element using attribute '".concat(Embed.accessTokenAttribute, "' or specify a global token at: powerbi.accessToken."));
8353        }
8354        return accessToken;
8355    };
8356    /**
8357     * Populate config for create and load
8358     *
8359     * @hidden
8360     * @param {IEmbedConfiguration}
8361     * @returns {void}
8362     */
8363    Embed.prototype.populateConfig = function (config, isBootstrap) {
8364        var _this = this;
8365        var _a, _b, _c, _d, _e, _f, _g, _h, _j;
8366        if (this.bootstrapConfig) {
8367            this.config = (0, util_1.assign)({}, this.bootstrapConfig, config);
8368            // reset bootstrapConfig because we do not want to merge it in re-embed scenario.
8369            this.bootstrapConfig = null;
8370        }
8371        else {
8372            // Copy config - important for multiple iframe scenario.
8373            // Otherwise, if a user uses the same config twice, same unique Id which will be used in different iframes.
8374            this.config = (0, util_1.assign)({}, config);
8375        }
8376        this.config.embedUrl = this.getEmbedUrl(isBootstrap);
8377        this.config.groupId = this.getGroupId();
8378        this.addLocaleToEmbedUrl(config);
8379        this.config.uniqueId = this.getUniqueId();
8380        var extensions = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.settings) === null || _b === void 0 ? void 0 : _b.extensions;
8381        this.commands = (_c = extensions === null || extensions === void 0 ? void 0 : extensions.commands) !== null && _c !== void 0 ? _c : [];
8382        this.groups = (_d = extensions === null || extensions === void 0 ? void 0 : extensions.groups) !== null && _d !== void 0 ? _d : [];
8383        this.initialLayoutType = (_g = (_f = (_e = this.config) === null || _e === void 0 ? void 0 : _e.settings) === null || _f === void 0 ? void 0 : _f.layoutType) !== null && _g !== void 0 ? _g : models.LayoutType.Master;
8384        // Adding commands in extensions array to this.commands
8385        var extensionsArray = (_j = (_h = this.config) === null || _h === void 0 ? void 0 : _h.settings) === null || _j === void 0 ? void 0 : _j.extensions;
8386        if (Array.isArray(extensionsArray)) {
8387            this.commands = [];
8388            extensionsArray.map(function (extension) { if (extension === null || extension === void 0 ? void 0 : extension.command) {
8389                _this.commands.push(extension.command);
8390            } });
8391        }
8392        if (isBootstrap) {
8393            // save current config in bootstrapConfig to be able to merge it on next call to powerbi.embed
8394            this.bootstrapConfig = this.config;
8395            this.bootstrapConfig.bootstrapped = true;
8396        }
8397        else {
8398            this.config.accessToken = this.getAccessToken(this.service.accessToken);
8399        }
8400        this.eventHooks = this.config.eventHooks;
8401        this.validateEventHooks(this.eventHooks);
8402        delete this.config.eventHooks;
8403        this.configChanged(isBootstrap);
8404    };
8405    /**
8406     * Validate EventHooks
8407     *
8408     * @private
8409     * @param {models.EventHooks} eventHooks
8410     * @hidden
8411     */
8412    Embed.prototype.validateEventHooks = function (eventHooks) {
8413        if (!eventHooks) {
8414            return;
8415        }
8416        for (var key in eventHooks) {
8417            if (eventHooks.hasOwnProperty(key) && typeof eventHooks[key] !== 'function') {
8418                throw new Error(key + " must be a function");
8419            }
8420        }
8421        var applicationContextProvider = eventHooks.applicationContextProvider;
8422        if (!!applicationContextProvider) {
8423            if (this.embedtype.toLowerCase() !== "report") {
8424                throw new Error("applicationContextProvider is only supported in report embed");
8425            }
8426            this.config.embedUrl = (0, util_1.addParamToUrl)(this.config.embedUrl, "registerQueryCallback", "true");
8427        }
8428        var accessTokenProvider = eventHooks.accessTokenProvider;
8429        if (!!accessTokenProvider) {
8430            if ((['create', 'quickcreate', 'report'].indexOf(this.embedtype.toLowerCase()) === -1) || this.config.tokenType !== models.TokenType.Aad) {
8431                throw new Error("accessTokenProvider is only supported in report SaaS embed");
8432            }
8433        }
8434    };
8435    /**
8436     * Adds locale parameters to embedUrl
8437     *
8438     * @private
8439     * @param {IEmbedConfiguration | models.ICommonEmbedConfiguration} config
8440     * @hidden
8441     */
8442    Embed.prototype.addLocaleToEmbedUrl = function (config) {
8443        if (!config.settings) {
8444            return;
8445        }
8446        var localeSettings = config.settings.localeSettings;
8447        if (localeSettings && localeSettings.language) {
8448            this.config.embedUrl = (0, util_1.addParamToUrl)(this.config.embedUrl, 'language', localeSettings.language);
8449        }
8450        if (localeSettings && localeSettings.formatLocale) {
8451            this.config.embedUrl = (0, util_1.addParamToUrl)(this.config.embedUrl, 'formatLocale', localeSettings.formatLocale);
8452        }
8453    };
8454    /**
8455     * Gets an embed url from the first available location: options, attribute.
8456     *
8457     * @private
8458     * @returns {string}
8459     * @hidden
8460     */
8461    Embed.prototype.getEmbedUrl = function (isBootstrap) {
8462        var embedUrl = this.config.embedUrl || this.element.getAttribute(Embed.embedUrlAttribute);
8463        if (isBootstrap && !embedUrl) {
8464            // Prepare flow, embed url was not provided, use hostname to build embed url.
8465            embedUrl = this.getDefaultEmbedUrl(this.config.hostname);
8466        }
8467        if (typeof embedUrl !== 'string' || embedUrl.length === 0) {
8468            throw new Error("Embed Url is required, but it was not found. You must provide an embed url either as part of embed configuration or as attribute '".concat(Embed.embedUrlAttribute, "'."));
8469        }
8470        return embedUrl;
8471    };
8472    /**
8473     * @hidden
8474     */
8475    Embed.prototype.getDefaultEmbedUrl = function (hostname) {
8476        if (!hostname) {
8477            hostname = Embed.defaultEmbedHostName;
8478        }
8479        var endpoint = this.getDefaultEmbedUrlEndpoint();
8480        // Trim spaces to fix user mistakes.
8481        hostname = hostname.toLowerCase().trim();
8482        if (hostname.indexOf("https://") === 0) {
8483            return "".concat(hostname, "/").concat(endpoint);
8484        }
8485        return "https://".concat(hostname, "/").concat(endpoint);
8486    };
8487    /**
8488     * Gets a unique ID from the first available location: options, attribute.
8489     * If neither is provided generate a unique string.
8490     *
8491     * @private
8492     * @returns {string}
8493     * @hidden
8494     */
8495    Embed.prototype.getUniqueId = function () {
8496        return this.config.uniqueId || this.element.getAttribute(Embed.nameAttribute) || (0, util_1.createRandomString)();
8497    };
8498    /**
8499     * Gets the group ID from the first available location: options, embeddedUrl.
8500     *
8501     * @private
8502     * @returns {string}
8503     * @hidden
8504     */
8505    Embed.prototype.getGroupId = function () {
8506        return this.config.groupId || Embed.findGroupIdFromEmbedUrl(this.config.embedUrl);
8507    };
8508    /**
8509     * Requests the browser to render the component's iframe in fullscreen mode.
8510     */
8511    Embed.prototype.fullscreen = function () {
8512        var requestFullScreen = this.iframe.requestFullscreen || this.iframe.msRequestFullscreen || this.iframe.mozRequestFullScreen || this.iframe.webkitRequestFullscreen;
8513        requestFullScreen.call(this.iframe);
8514    };
8515    /**
8516     * Requests the browser to exit fullscreen mode.
8517     */
8518    Embed.prototype.exitFullscreen = function () {
8519        if (!this.isFullscreen(this.iframe)) {
8520            return;
8521        }
8522        var exitFullscreen = document.exitFullscreen || document.mozCancelFullScreen || document.webkitExitFullscreen || document.msExitFullscreen;
8523        exitFullscreen.call(document);
8524    };
8525    /**
8526     * Returns true if the iframe is rendered in fullscreen mode,
8527     * otherwise returns false.
8528     *
8529     * @private
8530     * @param {HTMLIFrameElement} iframe
8531     * @returns {boolean}
8532     * @hidden
8533     */
8534    Embed.prototype.isFullscreen = function (iframe) {
8535        var options = ['fullscreenElement', 'webkitFullscreenElement', 'mozFullscreenScreenElement', 'msFullscreenElement'];
8536        return options.some(function (option) { return document[option] === iframe; });
8537    };
8538    /**
8539     * Sets Iframe for embed
8540     *
8541     * @hidden
8542     */
8543    Embed.prototype.setIframe = function (isLoad, phasedRender, isBootstrap) {
8544        var _this = this;
8545        if (!this.iframe) {
8546            var iframeContent = document.createElement("iframe");
8547            var embedUrl = this.config.uniqueId ? (0, util_1.addParamToUrl)(this.config.embedUrl, 'uid', this.config.uniqueId) : this.config.embedUrl;
8548            if (!(0, util_1.validateEmbedUrl)(embedUrl)) {
8549                throw new Error(errors_1.invalidEmbedUrlErrorMessage);
8550            }
8551            iframeContent.style.width = '100%';
8552            iframeContent.style.height = '100%';
8553            iframeContent.setAttribute("src", embedUrl);
8554            iframeContent.setAttribute("scrolling", "no");
8555            iframeContent.setAttribute("allowfullscreen", "true");
8556            var node = this.element;
8557            while (node.firstChild) {
8558                node.removeChild(node.firstChild);
8559            }
8560            node.appendChild(iframeContent);
8561            this.iframe = node.firstChild;
8562        }
8563        if (isLoad) {
8564            if (!isBootstrap) {
8565                // Validate config if it's not a bootstrap case.
8566                var errors = this.validate(this.config);
8567                if (errors) {
8568                    throw errors;
8569                }
8570            }
8571            this.iframe.addEventListener('load', function () {
8572                _this.iframeLoaded = true;
8573                _this.load(phasedRender);
8574            }, false);
8575            if (this.service.getNumberOfComponents() <= Embed.maxFrontLoadTimes) {
8576                this.frontLoadHandler = function () {
8577                    _this.frontLoadSendConfig(_this.config);
8578                };
8579                // 'ready' event is fired by the embedded element (not by the iframe)
8580                this.element.addEventListener('ready', this.frontLoadHandler, false);
8581            }
8582        }
8583        else {
8584            this.iframe.addEventListener('load', function () { return _this.create(); }, false);
8585        }
8586    };
8587    /**
8588     * Set the component title for accessibility. In case of iframes, this method will change the iframe title.
8589     */
8590    Embed.prototype.setComponentTitle = function (title) {
8591        if (!this.iframe) {
8592            return;
8593        }
8594        if (title == null) {
8595            this.iframe.removeAttribute("title");
8596        }
8597        else {
8598            this.iframe.setAttribute("title", title);
8599        }
8600    };
8601    /**
8602     * Sets element's tabindex attribute
8603     */
8604    Embed.prototype.setComponentTabIndex = function (tabIndex) {
8605        if (!this.element) {
8606            return;
8607        }
8608        this.element.setAttribute("tabindex", (tabIndex == null) ? "0" : tabIndex.toString());
8609    };
8610    /**
8611     * Removes element's tabindex attribute
8612     */
8613    Embed.prototype.removeComponentTabIndex = function (_tabIndex) {
8614        if (!this.element) {
8615            return;
8616        }
8617        this.element.removeAttribute("tabindex");
8618    };
8619    /**
8620     * Adds the ability to get groupId from url.
8621     * By extracting the ID we can ensure that the ID is always explicitly provided as part of the load configuration.
8622     *
8623     * @hidden
8624     * @static
8625     * @param {string} url
8626     * @returns {string}
8627     */
8628    Embed.findGroupIdFromEmbedUrl = function (url) {
8629        var groupIdRegEx = /groupId="?([^&]+)"?/;
8630        var groupIdMatch = url.match(groupIdRegEx);
8631        var groupId;
8632        if (groupIdMatch) {
8633            groupId = groupIdMatch[1];
8634        }
8635        return groupId;
8636    };
8637    /**
8638     * Sends the config for front load calls, after 'ready' message is received from the iframe
8639     *
8640     * @hidden
8641     */
8642    Embed.prototype.frontLoadSendConfig = function (config) {
8643        return __awaiter(this, void 0, void 0, function () {
8644            var errors, response, response_6;
8645            return __generator(this, function (_a) {
8646                switch (_a.label) {
8647                    case 0:
8648                        if (!config.accessToken) {
8649                            return [2 /*return*/];
8650                        }
8651                        errors = this.validate(config);
8652                        if (errors) {
8653                            throw errors;
8654                        }
8655                        // contentWindow must be initialized
8656                        if (this.iframe.contentWindow == null) {
8657                            return [2 /*return*/];
8658                        }
8659                        _a.label = 1;
8660                    case 1:
8661                        _a.trys.push([1, 3, , 4]);
8662                        return [4 /*yield*/, this.service.hpm.post("/frontload/config", config, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
8663                    case 2:
8664                        response = _a.sent();
8665                        return [2 /*return*/, response.body];
8666                    case 3:
8667                        response_6 = _a.sent();
8668                        throw response_6.body;
8669                    case 4: return [2 /*return*/];
8670                }
8671            });
8672        });
8673    };
8674    /** @hidden */
8675    Embed.allowedEvents = ["loaded", "saved", "rendered", "saveAsTriggered", "error", "dataSelected", "buttonClicked", "info"];
8676    /** @hidden */
8677    Embed.accessTokenAttribute = 'powerbi-access-token';
8678    /** @hidden */
8679    Embed.embedUrlAttribute = 'powerbi-embed-url';
8680    /** @hidden */
8681    Embed.nameAttribute = 'powerbi-name';
8682    /** @hidden */
8683    Embed.typeAttribute = 'powerbi-type';
8684    /** @hidden */
8685    Embed.defaultEmbedHostName = "https://app.powerbi.com";
8686    /** @hidden */
8687    Embed.maxFrontLoadTimes = 2;
8688    return Embed;
8689}());
8690exports.Embed = Embed;
8691
8692
8693/***/ }),
8694
8695/***/ "./src/errors.ts":
8696/*!***********************!*\
8697  !*** ./src/errors.ts ***!
8698  \***********************/
8699/***/ ((__unused_webpack_module, exports) => {
8700
8701// Copyright (c) Microsoft Corporation.
8702// Licensed under the MIT License.
8703Object.defineProperty(exports, "__esModule", ({ value: true }));
8704exports.invalidEmbedUrlErrorMessage = exports.EmbedUrlNotSupported = exports.APINotSupportedForRDLError = void 0;
8705exports.APINotSupportedForRDLError = "This API is currently not supported for RDL reports";
8706exports.EmbedUrlNotSupported = "Embed URL is invalid for this scenario. Please use Power BI REST APIs to get the valid URL";
8707exports.invalidEmbedUrlErrorMessage = "Invalid embed URL detected. Either URL hostname or protocol are invalid. Please use Power BI REST APIs to get the valid URL";
8708
8709
8710/***/ }),
8711
vendor: 102,852 bytes, lines 8712-11185
8712/***/ "./src/factories.ts":
8713/*!**************************!*\
8714  !*** ./src/factories.ts ***!
8715  \**************************/
8716/***/ ((__unused_webpack_module, exports, __webpack_require__) => {
8717
8718// Copyright (c) Microsoft Corporation.
8719// Licensed under the MIT License.
8720Object.defineProperty(exports, "__esModule", ({ value: true }));
8721exports.routerFactory = exports.wpmpFactory = exports.hpmFactory = void 0;
8722/**
8723 * TODO: Need to find better place for these factory functions or refactor how we handle dependency injection
8724 */
8725var window_post_message_proxy_1 = __webpack_require__(/*! window-post-message-proxy */ "../window-post-message-proxy/dist/windowPostMessageProxy.js");
8726var http_post_message_1 = __webpack_require__(/*! http-post-message */ "../http-post-message/dist/httpPostMessage.js");
8727var powerbi_router_1 = __webpack_require__(/*! powerbi-router */ "./node_modules/powerbi-router/dist/router.js");
8728var config_1 = __webpack_require__(/*! ./config */ "./src/config.ts");
8729var hpmFactory = function (wpmp, defaultTargetWindow, sdkVersion, sdkType, sdkWrapperVersion) {
8730    if (sdkVersion === void 0) { sdkVersion = config_1.default.version; }
8731    if (sdkType === void 0) { sdkType = config_1.default.type; }
8732    return new http_post_message_1.HttpPostMessage(wpmp, {
8733        'x-sdk-type': sdkType,
8734        'x-sdk-version': sdkVersion,
8735        'x-sdk-wrapper-version': sdkWrapperVersion,
8736    }, defaultTargetWindow);
8737};
8738exports.hpmFactory = hpmFactory;
8739var wpmpFactory = function (name, logMessages, eventSourceOverrideWindow) {
8740    return new window_post_message_proxy_1.WindowPostMessageProxy({
8741        processTrackingProperties: {
8742            addTrackingProperties: http_post_message_1.HttpPostMessage.addTrackingProperties,
8743            getTrackingProperties: http_post_message_1.HttpPostMessage.getTrackingProperties,
8744        },
8745        isErrorMessage: http_post_message_1.HttpPostMessage.isErrorMessage,
8746        suppressWarnings: true,
8747        name: name,
8748        logMessages: logMessages,
8749        eventSourceOverrideWindow: eventSourceOverrideWindow
8750    });
8751};
8752exports.wpmpFactory = wpmpFactory;
8753var routerFactory = function (wpmp) {
8754    return new powerbi_router_1.Router(wpmp);
8755};
8756exports.routerFactory = routerFactory;
8757
8758
8759/***/ }),
8760
8761/***/ "./src/page.ts":
8762/*!*********************!*\
8763  !*** ./src/page.ts ***!
8764  \*********************/
8765/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
8766
8767// Copyright (c) Microsoft Corporation.
8768// Licensed under the MIT License.
8769var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
8770    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
8771    return new (P || (P = Promise))(function (resolve, reject) {
8772        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8773        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8774        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8775        step((generator = generator.apply(thisArg, _arguments || [])).next());
8776    });
8777};
8778var __generator = (this && this.__generator) || function (thisArg, body) {
8779    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
8780    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
8781    function verb(n) { return function (v) { return step([n, v]); }; }
8782    function step(op) {
8783        if (f) throw new TypeError("Generator is already executing.");
8784        while (_) try {
8785            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;
8786            if (y = 0, t) op = [op[0] & 2, t.value];
8787            switch (op[0]) {
8788                case 0: case 1: t = op; break;
8789                case 4: _.label++; return { value: op[1], done: false };
8790                case 5: _.label++; y = op[1]; op = [0]; continue;
8791                case 7: op = _.ops.pop(); _.trys.pop(); continue;
8792                default:
8793                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
8794                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
8795                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
8796                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
8797                    if (t[2]) _.ops.pop();
8798                    _.trys.pop(); continue;
8799            }
8800            op = body.call(thisArg, _);
8801        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
8802        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
8803    }
8804};
8805Object.defineProperty(exports, "__esModule", ({ value: true }));
8806exports.Page = void 0;
8807var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
8808var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/visualDescriptor.ts");
8809var util_1 = __webpack_require__(/*! ./util */ "./src/util.ts");
8810var errors_1 = __webpack_require__(/*! ./errors */ "./src/errors.ts");
8811/**
8812 * A Power BI report page
8813 *
8814 * @export
8815 * @class Page
8816 * @implements {IPageNode}
8817 * @implements {IFilterable}
8818 */
8819var Page = /** @class */ (function () {
8820    /**
8821     * Creates an instance of a Power BI report page.
8822     *
8823     * @param {IReportNode} report
8824     * @param {string} name
8825     * @param {string} [displayName]
8826     * @param {boolean} [isActivePage]
8827     * @param {SectionVisibility} [visibility]
8828     * @hidden
8829     */
8830    function Page(report, name, displayName, isActivePage, visibility, defaultSize, defaultDisplayOption, mobileSize, background, wallpaper) {
8831        this.report = report;
8832        this.name = name;
8833        this.displayName = displayName;
8834        this.isActive = isActivePage;
8835        this.visibility = visibility;
8836        this.defaultSize = defaultSize;
8837        this.mobileSize = mobileSize;
8838        this.defaultDisplayOption = defaultDisplayOption;
8839        this.background = background;
8840        this.wallpaper = wallpaper;
8841    }
8842    /**
8843     * Get insights for report page
8844     *
8845     * ```javascript
8846     * page.getSmartNarrativeInsights();
8847     * ```
8848     *
8849     * @returns {Promise<ISmartNarratives>}
8850     */
8851    Page.prototype.getSmartNarrativeInsights = function () {
8852        return __awaiter(this, void 0, void 0, function () {
8853            var response, response_1;
8854            return __generator(this, function (_a) {
8855                switch (_a.label) {
8856                    case 0:
8857                        if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) {
8858                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
8859                        }
8860                        _a.label = 1;
8861                    case 1:
8862                        _a.trys.push([1, 3, , 4]);
8863                        return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/smartNarrativeInsights"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)];
8864                    case 2:
8865                        response = _a.sent();
8866                        return [2 /*return*/, response.body];
8867                    case 3:
8868                        response_1 = _a.sent();
8869                        throw response_1.body;
8870                    case 4: return [2 /*return*/];
8871                }
8872            });
8873        });
8874    };
8875    /**
8876     * Gets all page level filters within the report.
8877     *
8878     * ```javascript
8879     * page.getFilters()
8880     *  .then(filters => { ... });
8881     * ```
8882     *
8883     * @returns {(Promise<IFilter[]>)}
8884     */
8885    Page.prototype.getFilters = function () {
8886        return __awaiter(this, void 0, void 0, function () {
8887            var response, response_2;
8888            return __generator(this, function (_a) {
8889                switch (_a.label) {
8890                    case 0:
8891                        _a.trys.push([0, 2, , 3]);
8892                        return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/filters"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)];
8893                    case 1:
8894                        response = _a.sent();
8895                        return [2 /*return*/, response.body];
8896                    case 2:
8897                        response_2 = _a.sent();
8898                        throw response_2.body;
8899                    case 3: return [2 /*return*/];
8900                }
8901            });
8902        });
8903    };
8904    /**
8905     * Update the filters for the current page according to the operation: Add, replace all, replace by target or remove.
8906     *
8907     * ```javascript
8908     * page.updateFilters(FiltersOperations.Add, filters)
8909     *   .catch(errors => { ... });
8910     * ```
8911     *
8912     * @param {(IFilter[])} filters
8913     * @returns {Promise<IHttpPostMessageResponse<void>>}
8914     */
8915    Page.prototype.updateFilters = function (operation, filters) {
8916        return __awaiter(this, void 0, void 0, function () {
8917            var updateFiltersRequest, response_3;
8918            return __generator(this, function (_a) {
8919                switch (_a.label) {
8920                    case 0:
8921                        updateFiltersRequest = {
8922                            filtersOperation: operation,
8923                            filters: filters
8924                        };
8925                        _a.label = 1;
8926                    case 1:
8927                        _a.trys.push([1, 3, , 4]);
8928                        return [4 /*yield*/, this.report.service.hpm.post("/report/pages/".concat(this.name, "/filters"), updateFiltersRequest, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)];
8929                    case 2: return [2 /*return*/, _a.sent()];
8930                    case 3:
8931                        response_3 = _a.sent();
8932                        throw response_3.body;
8933                    case 4: return [2 /*return*/];
8934                }
8935            });
8936        });
8937    };
8938    /**
8939     * Removes all filters from this page of the report.
8940     *
8941     * ```javascript
8942     * page.removeFilters();
8943     * ```
8944     *
8945     * @returns {Promise<IHttpPostMessageResponse<void>>}
8946     */
8947    Page.prototype.removeFilters = function () {
8948        return __awaiter(this, void 0, void 0, function () {
8949            return __generator(this, function (_a) {
8950                switch (_a.label) {
8951                    case 0: return [4 /*yield*/, this.updateFilters(powerbi_models_1.FiltersOperations.RemoveAll)];
8952                    case 1: return [2 /*return*/, _a.sent()];
8953                }
8954            });
8955        });
8956    };
8957    /**
8958     * Sets all filters on the current page.
8959     *
8960     * ```javascript
8961     * page.setFilters(filters)
8962     *   .catch(errors => { ... });
8963     * ```
8964     *
8965     * @param {(IFilter[])} filters
8966     * @returns {Promise<IHttpPostMessageResponse<void>>}
8967     */
8968    Page.prototype.setFilters = function (filters) {
8969        return __awaiter(this, void 0, void 0, function () {
8970            var response_4;
8971            return __generator(this, function (_a) {
8972                switch (_a.label) {
8973                    case 0:
8974                        _a.trys.push([0, 2, , 3]);
8975                        return [4 /*yield*/, this.report.service.hpm.put("/report/pages/".concat(this.name, "/filters"), filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)];
8976                    case 1: return [2 /*return*/, _a.sent()];
8977                    case 2:
8978                        response_4 = _a.sent();
8979                        throw response_4.body;
8980                    case 3: return [2 /*return*/];
8981                }
8982            });
8983        });
8984    };
8985    /**
8986     * Delete the page from the report
8987     *
8988     * ```javascript
8989     * // Delete the page from the report
8990     * page.delete();
8991     * ```
8992     *
8993     * @returns {Promise<void>}
8994     */
8995    Page.prototype.delete = function () {
8996        return __awaiter(this, void 0, void 0, function () {
8997            var response, response_5;
8998            return __generator(this, function (_a) {
8999                switch (_a.label) {
9000                    case 0:
9001                        _a.trys.push([0, 2, , 3]);
9002                        return [4 /*yield*/, this.report.service.hpm.delete("/report/pages/".concat(this.name), {}, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)];
9003                    case 1:
9004                        response = _a.sent();
9005                        return [2 /*return*/, response.body];
9006                    case 2:
9007                        response_5 = _a.sent();
9008                        throw response_5.body;
9009                    case 3: return [2 /*return*/];
9010                }
9011            });
9012        });
9013    };
9014    /**
9015     * Makes the current page the active page of the report.
9016     *
9017     * ```javascript
9018     * page.setActive();
9019     * ```
9020     *
9021     * @returns {Promise<IHttpPostMessageResponse<void>>}
9022     */
9023    Page.prototype.setActive = function () {
9024        return __awaiter(this, void 0, void 0, function () {
9025            var page, response_6;
9026            return __generator(this, function (_a) {
9027                switch (_a.label) {
9028                    case 0:
9029                        page = {
9030                            name: this.name,
9031                            displayName: null,
9032                            isActive: true
9033                        };
9034                        _a.label = 1;
9035                    case 1:
9036                        _a.trys.push([1, 3, , 4]);
9037                        return [4 /*yield*/, this.report.service.hpm.put('/report/pages/active', page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)];
9038                    case 2: return [2 /*return*/, _a.sent()];
9039                    case 3:
9040                        response_6 = _a.sent();
9041                        throw response_6.body;
9042                    case 4: return [2 /*return*/];
9043                }
9044            });
9045        });
9046    };
9047    /**
9048     * Set displayName to the current page.
9049     *
9050     * ```javascript
9051     * page.setName(displayName);
9052     * ```
9053     *
9054     * @returns {Promise<IHttpPostMessageResponse<void>>}
9055     */
9056    Page.prototype.setDisplayName = function (displayName) {
9057        return __awaiter(this, void 0, void 0, function () {
9058            var page, response_7;
9059            return __generator(this, function (_a) {
9060                switch (_a.label) {
9061                    case 0:
9062                        page = {
9063                            name: this.name,
9064                            displayName: displayName,
9065                        };
9066                        _a.label = 1;
9067                    case 1:
9068                        _a.trys.push([1, 3, , 4]);
9069                        return [4 /*yield*/, this.report.service.hpm.put("/report/pages/".concat(this.name, "/name"), page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)];
9070                    case 2: return [2 /*return*/, _a.sent()];
9071                    case 3:
9072                        response_7 = _a.sent();
9073                        throw response_7.body;
9074                    case 4: return [2 /*return*/];
9075                }
9076            });
9077        });
9078    };
9079    /**
9080     * Gets all the visuals on the page.
9081     *
9082     * ```javascript
9083     * page.getVisuals()
9084     *   .then(visuals => { ... });
9085     * ```
9086     *
9087     * @returns {Promise<VisualDescriptor[]>}
9088     */
9089    Page.prototype.getVisuals = function () {
9090        return __awaiter(this, void 0, void 0, function () {
9091            var response, response_8;
9092            var _this = this;
9093            return __generator(this, function (_a) {
9094                switch (_a.label) {
9095                    case 0:
9096                        if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) {
9097                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
9098                        }
9099                        _a.label = 1;
9100                    case 1:
9101                        _a.trys.push([1, 3, , 4]);
9102                        return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/visuals"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)];
9103                    case 2:
9104                        response = _a.sent();
9105                        return [2 /*return*/, response.body
9106                                .map(function (visual) { return new visualDescriptor_1.VisualDescriptor(_this, visual.name, visual.title, visual.type, visual.layout); })];
9107                    case 3:
9108                        response_8 = _a.sent();
9109                        throw response_8.body;
9110                    case 4: return [2 /*return*/];
9111                }
9112            });
9113        });
9114    };
9115    /**
9116     * Gets a visual by name on the page.
9117     *
9118     * ```javascript
9119     * page.getVisualByName(visualName: string)
9120     *  .then(visual => {
9121     *      ...
9122     *  });
9123     * ```
9124     *
9125     * @param {string} visualName
9126     * @returns {Promise<VisualDescriptor>}
9127     */
9128    Page.prototype.getVisualByName = function (visualName) {
9129        return __awaiter(this, void 0, void 0, function () {
9130            var response, visual, response_9;
9131            return __generator(this, function (_a) {
9132                switch (_a.label) {
9133                    case 0:
9134                        if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) {
9135                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
9136                        }
9137                        _a.label = 1;
9138                    case 1:
9139                        _a.trys.push([1, 3, , 4]);
9140                        return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/visuals"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)];
9141                    case 2:
9142                        response = _a.sent();
9143                        visual = response.body.find(function (v) { return v.name === visualName; });
9144                        if (!visual) {
9145                            return [2 /*return*/, Promise.reject(powerbi_models_1.CommonErrorCodes.NotFound)];
9146                        }
9147                        return [2 /*return*/, new visualDescriptor_1.VisualDescriptor(this, visual.name, visual.title, visual.type, visual.layout)];
9148                    case 3:
9149                        response_9 = _a.sent();
9150                        throw response_9.body;
9151                    case 4: return [2 /*return*/];
9152                }
9153            });
9154        });
9155    };
9156    /**
9157     * Updates the display state of a visual in a page.
9158     *
9159     * ```javascript
9160     * page.setVisualDisplayState(visualName, displayState)
9161     *   .catch(error => { ... });
9162     * ```
9163     *
9164     * @param {string} visualName
9165     * @param {VisualContainerDisplayMode} displayState
9166     * @returns {Promise<IHttpPostMessageResponse<void>>}
9167     */
9168    Page.prototype.setVisualDisplayState = function (visualName, displayState) {
9169        return __awaiter(this, void 0, void 0, function () {
9170            var pageName, report;
9171            return __generator(this, function (_a) {
9172                pageName = this.name;
9173                report = this.report;
9174                return [2 /*return*/, report.setVisualDisplayState(pageName, visualName, displayState)];
9175            });
9176        });
9177    };
9178    /**
9179     * Updates the position of a visual in a page.
9180     *
9181     * ```javascript
9182     * page.moveVisual(visualName, x, y, z)
9183     *   .catch(error => { ... });
9184     * ```
9185     *
9186     * @param {string} visualName
9187     * @param {number} x
9188     * @param {number} y
9189     * @param {number} z
9190     * @returns {Promise<IHttpPostMessageResponse<void>>}
9191     */
9192    Page.prototype.moveVisual = function (visualName, x, y, z) {
9193        return __awaiter(this, void 0, void 0, function () {
9194            var pageName, report;
9195            return __generator(this, function (_a) {
9196                pageName = this.name;
9197                report = this.report;
9198                return [2 /*return*/, report.moveVisual(pageName, visualName, x, y, z)];
9199            });
9200        });
9201    };
9202    /**
9203     * Resize a visual in a page.
9204     *
9205     * ```javascript
9206     * page.resizeVisual(visualName, width, height)
9207     *   .catch(error => { ... });
9208     * ```
9209     *
9210     * @param {string} visualName
9211     * @param {number} width
9212     * @param {number} height
9213     * @returns {Promise<IHttpPostMessageResponse<void>>}
9214     */
9215    Page.prototype.resizeVisual = function (visualName, width, height) {
9216        return __awaiter(this, void 0, void 0, function () {
9217            var pageName, report;
9218            return __generator(this, function (_a) {
9219                pageName = this.name;
9220                report = this.report;
9221                return [2 /*return*/, report.resizeVisual(pageName, visualName, width, height)];
9222            });
9223        });
9224    };
9225    /**
9226     * Updates the size of active page.
9227     *
9228     * ```javascript
9229     * page.resizePage(pageSizeType, width, height)
9230     *   .catch(error => { ... });
9231     * ```
9232     *
9233     * @param {PageSizeType} pageSizeType
9234     * @param {number} width
9235     * @param {number} height
9236     * @returns {Promise<IHttpPostMessageResponse<void>>}
9237     */
9238    Page.prototype.resizePage = function (pageSizeType, width, height) {
9239        return __awaiter(this, void 0, void 0, function () {
9240            var report;
9241            return __generator(this, function (_a) {
9242                if (!this.isActive) {
9243                    return [2 /*return*/, Promise.reject('Cannot resize the page. Only the active page can be resized')];
9244                }
9245                report = this.report;
9246                return [2 /*return*/, report.resizeActivePage(pageSizeType, width, height)];
9247            });
9248        });
9249    };
9250    /**
9251     * Gets the list of slicer visuals on the page.
9252     *
9253     * ```javascript
9254     * page.getSlicers()
9255     *  .then(slicers => {
9256     *      ...
9257     *  });
9258     * ```
9259     *
9260     * @returns {Promise<IVisual[]>}
9261     */
9262    Page.prototype.getSlicers = function () {
9263        return __awaiter(this, void 0, void 0, function () {
9264            var response, response_10;
9265            var _this = this;
9266            return __generator(this, function (_a) {
9267                switch (_a.label) {
9268                    case 0:
9269                        if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) {
9270                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
9271                        }
9272                        _a.label = 1;
9273                    case 1:
9274                        _a.trys.push([1, 3, , 4]);
9275                        return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/visuals"), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)];
9276                    case 2:
9277                        response = _a.sent();
9278                        return [2 /*return*/, response.body
9279                                .filter(function (visual) { return visual.type === 'slicer'; })
9280                                .map(function (visual) { return new visualDescriptor_1.VisualDescriptor(_this, visual.name, visual.title, visual.type, visual.layout); })];
9281                    case 3:
9282                        response_10 = _a.sent();
9283                        throw response_10.body;
9284                    case 4: return [2 /*return*/];
9285                }
9286            });
9287        });
9288    };
9289    /**
9290     * Checks if page has layout.
9291     *
9292     * ```javascript
9293     * page.hasLayout(layoutType)
9294     *  .then(hasLayout: boolean => { ... });
9295     * ```
9296     *
9297     * @returns {(Promise<boolean>)}
9298     */
9299    Page.prototype.hasLayout = function (layoutType) {
9300        return __awaiter(this, void 0, void 0, function () {
9301            var layoutTypeEnum, response, response_11;
9302            return __generator(this, function (_a) {
9303                switch (_a.label) {
9304                    case 0:
9305                        if ((0, util_1.isRDLEmbed)(this.report.config.embedUrl)) {
9306                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
9307                        }
9308                        layoutTypeEnum = powerbi_models_1.LayoutType[layoutType];
9309                        _a.label = 1;
9310                    case 1:
9311                        _a.trys.push([1, 3, , 4]);
9312                        return [4 /*yield*/, this.report.service.hpm.get("/report/pages/".concat(this.name, "/layoutTypes/").concat(layoutTypeEnum), { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)];
9313                    case 2:
9314                        response = _a.sent();
9315                        return [2 /*return*/, response.body];
9316                    case 3:
9317                        response_11 = _a.sent();
9318                        throw response_11.body;
9319                    case 4: return [2 /*return*/];
9320                }
9321            });
9322        });
9323    };
9324    return Page;
9325}());
9326exports.Page = Page;
9327
9328
9329/***/ }),
9330
9331/***/ "./src/qna.ts":
9332/*!********************!*\
9333  !*** ./src/qna.ts ***!
9334  \********************/
9335/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
9336
9337// Copyright (c) Microsoft Corporation.
9338// Licensed under the MIT License.
9339var __extends = (this && this.__extends) || (function () {
9340    var extendStatics = function (d, b) {
9341        extendStatics = Object.setPrototypeOf ||
9342            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
9343            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
9344        return extendStatics(d, b);
9345    };
9346    return function (d, b) {
9347        if (typeof b !== "function" && b !== null)
9348            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
9349        extendStatics(d, b);
9350        function __() { this.constructor = d; }
9351        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
9352    };
9353})();
9354var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9355    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9356    return new (P || (P = Promise))(function (resolve, reject) {
9357        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9358        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9359        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9360        step((generator = generator.apply(thisArg, _arguments || [])).next());
9361    });
9362};
9363var __generator = (this && this.__generator) || function (thisArg, body) {
9364    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
9365    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
9366    function verb(n) { return function (v) { return step([n, v]); }; }
9367    function step(op) {
9368        if (f) throw new TypeError("Generator is already executing.");
9369        while (_) try {
9370            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;
9371            if (y = 0, t) op = [op[0] & 2, t.value];
9372            switch (op[0]) {
9373                case 0: case 1: t = op; break;
9374                case 4: _.label++; return { value: op[1], done: false };
9375                case 5: _.label++; y = op[1]; op = [0]; continue;
9376                case 7: op = _.ops.pop(); _.trys.pop(); continue;
9377                default:
9378                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
9379                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
9380                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
9381                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
9382                    if (t[2]) _.ops.pop();
9383                    _.trys.pop(); continue;
9384            }
9385            op = body.call(thisArg, _);
9386        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
9387        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
9388    }
9389};
9390Object.defineProperty(exports, "__esModule", ({ value: true }));
9391exports.Qna = void 0;
9392var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
9393var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts");
9394/**
9395 * The Power BI Q&A embed component
9396 *
9397 * @export
9398 * @class Qna
9399 * @extends {Embed}
9400 */
9401var Qna = /** @class */ (function (_super) {
9402    __extends(Qna, _super);
9403    /**
9404     * @hidden
9405     */
9406    function Qna(service, element, config, phasedRender, isBootstrap) {
9407        var _this = _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this;
9408        _this.loadPath = "/qna/load";
9409        _this.phasedLoadPath = "/qna/prepare";
9410        Array.prototype.push.apply(_this.allowedEvents, Qna.allowedEvents);
9411        return _this;
9412    }
9413    /**
9414     * The ID of the Q&A embed component
9415     *
9416     * @returns {string}
9417     */
9418    Qna.prototype.getId = function () {
9419        return null;
9420    };
9421    /**
9422     * Change the question of the Q&A embed component
9423     *
9424     * @param {string} question - question which will render Q&A data
9425     * @returns {Promise<IHttpPostMessageResponse<void>>}
9426     */
9427    Qna.prototype.setQuestion = function (question) {
9428        return __awaiter(this, void 0, void 0, function () {
9429            var qnaData, response_1;
9430            return __generator(this, function (_a) {
9431                switch (_a.label) {
9432                    case 0:
9433                        qnaData = {
9434                            question: question
9435                        };
9436                        _a.label = 1;
9437                    case 1:
9438                        _a.trys.push([1, 3, , 4]);
9439                        return [4 /*yield*/, this.service.hpm.post('/qna/interpret', qnaData, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
9440                    case 2: return [2 /*return*/, _a.sent()];
9441                    case 3:
9442                        response_1 = _a.sent();
9443                        throw response_1.body;
9444                    case 4: return [2 /*return*/];
9445                }
9446            });
9447        });
9448    };
9449    /**
9450     * Handle config changes.
9451     *
9452     * @returns {void}
9453     */
9454    Qna.prototype.configChanged = function (_isBootstrap) {
9455        // Nothing to do in Q&A embed.
9456    };
9457    /**
9458     * @hidden
9459     * @returns {string}
9460     */
9461    Qna.prototype.getDefaultEmbedUrlEndpoint = function () {
9462        return "qnaEmbed";
9463    };
9464    /**
9465     * Validate load configuration.
9466     */
9467    Qna.prototype.validate = function (config) {
9468        return (0, powerbi_models_1.validateLoadQnaConfiguration)(config);
9469    };
9470    /** @hidden */
9471    Qna.type = "Qna";
9472    /** @hidden */
9473    Qna.allowedEvents = ["loaded", "visualRendered"];
9474    return Qna;
9475}(embed_1.Embed));
9476exports.Qna = Qna;
9477
9478
9479/***/ }),
9480
9481/***/ "./src/quickCreate.ts":
9482/*!****************************!*\
9483  !*** ./src/quickCreate.ts ***!
9484  \****************************/
9485/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
9486
9487// Copyright (c) Microsoft Corporation.
9488// Licensed under the MIT License.
9489var __extends = (this && this.__extends) || (function () {
9490    var extendStatics = function (d, b) {
9491        extendStatics = Object.setPrototypeOf ||
9492            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
9493            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
9494        return extendStatics(d, b);
9495    };
9496    return function (d, b) {
9497        if (typeof b !== "function" && b !== null)
9498            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
9499        extendStatics(d, b);
9500        function __() { this.constructor = d; }
9501        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
9502    };
9503})();
9504var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9505    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9506    return new (P || (P = Promise))(function (resolve, reject) {
9507        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9508        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9509        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9510        step((generator = generator.apply(thisArg, _arguments || [])).next());
9511    });
9512};
9513var __generator = (this && this.__generator) || function (thisArg, body) {
9514    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
9515    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
9516    function verb(n) { return function (v) { return step([n, v]); }; }
9517    function step(op) {
9518        if (f) throw new TypeError("Generator is already executing.");
9519        while (_) try {
9520            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;
9521            if (y = 0, t) op = [op[0] & 2, t.value];
9522            switch (op[0]) {
9523                case 0: case 1: t = op; break;
9524                case 4: _.label++; return { value: op[1], done: false };
9525                case 5: _.label++; y = op[1]; op = [0]; continue;
9526                case 7: op = _.ops.pop(); _.trys.pop(); continue;
9527                default:
9528                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
9529                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
9530                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
9531                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
9532                    if (t[2]) _.ops.pop();
9533                    _.trys.pop(); continue;
9534            }
9535            op = body.call(thisArg, _);
9536        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
9537        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
9538    }
9539};
9540Object.defineProperty(exports, "__esModule", ({ value: true }));
9541exports.QuickCreate = void 0;
9542var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
9543var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts");
9544/**
9545 * A Power BI Quick Create component
9546 *
9547 * @export
9548 * @class QuickCreate
9549 * @extends {Embed}
9550 */
9551var QuickCreate = /** @class */ (function (_super) {
9552    __extends(QuickCreate, _super);
9553    /*
9554     * @hidden
9555     */
9556    function QuickCreate(service, element, config, phasedRender, isBootstrap) {
9557        var _this = _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this;
9558        service.router.post("/reports/".concat(_this.config.uniqueId, "/eventHooks/:eventName"), function (req, _res) { return __awaiter(_this, void 0, void 0, function () {
9559            var _a;
9560            var _b;
9561            return __generator(this, function (_c) {
9562                switch (_c.label) {
9563                    case 0:
9564                        _a = req.params.eventName;
9565                        switch (_a) {
9566                            case "newAccessToken": return [3 /*break*/, 1];
9567                        }
9568                        return [3 /*break*/, 3];
9569                    case 1:
9570                        req.body = req.body || {};
9571                        req.body.report = this;
9572                        return [4 /*yield*/, service.invokeSDKHook((_b = this.eventHooks) === null || _b === void 0 ? void 0 : _b.accessTokenProvider, req, _res)];
9573                    case 2:
9574                        _c.sent();
9575                        return [3 /*break*/, 4];
9576                    case 3: return [3 /*break*/, 4];
9577                    case 4: return [2 /*return*/];
9578                }
9579            });
9580        }); });
9581        return _this;
9582    }
9583    /**
9584     * Override the getId abstract function
9585     * QuickCreate does not need any ID
9586     *
9587     * @returns {string}
9588     */
9589    QuickCreate.prototype.getId = function () {
9590        return null;
9591    };
9592    /**
9593     * Validate create report configuration.
9594     */
9595    QuickCreate.prototype.validate = function (config) {
9596        return (0, powerbi_models_1.validateQuickCreate)(config);
9597    };
9598    /**
9599     * Handle config changes.
9600     *
9601     * @hidden
9602     * @returns {void}
9603     */
9604    QuickCreate.prototype.configChanged = function (isBootstrap) {
9605        if (isBootstrap) {
9606            return;
9607        }
9608        this.createConfig = this.config;
9609    };
9610    /**
9611     * @hidden
9612     * @returns {string}
9613     */
9614    QuickCreate.prototype.getDefaultEmbedUrlEndpoint = function () {
9615        return "quickCreate";
9616    };
9617    /**
9618     * Sends quickCreate configuration data.
9619     *
9620     * ```javascript
9621     * quickCreate({
9622     *   accessToken: 'eyJ0eXA ... TaE2rTSbmg',
9623     *   datasetCreateConfig: {}})
9624     * ```
9625     *
9626     * @hidden
9627     * @param {IQuickCreateConfiguration} createConfig
9628     * @returns {Promise<void>}
9629     */
9630    QuickCreate.prototype.create = function () {
9631        var _a;
9632        return __awaiter(this, void 0, void 0, function () {
9633            var errors, headers, response, response_1;
9634            return __generator(this, function (_b) {
9635                switch (_b.label) {
9636                    case 0:
9637                        errors = (0, powerbi_models_1.validateQuickCreate)(this.createConfig);
9638                        if (errors) {
9639                            throw errors;
9640                        }
9641                        _b.label = 1;
9642                    case 1:
9643                        _b.trys.push([1, 3, , 4]);
9644                        headers = {
9645                            uid: this.config.uniqueId,
9646                            sdkSessionId: this.service.getSdkSessionId()
9647                        };
9648                        if (!!((_a = this.eventHooks) === null || _a === void 0 ? void 0 : _a.accessTokenProvider)) {
9649                            headers.tokenProviderSupplied = true;
9650                        }
9651                        return [4 /*yield*/, this.service.hpm.post("/quickcreate", this.createConfig, headers, this.iframe.contentWindow)];
9652                    case 2:
9653                        response = _b.sent();
9654                        return [2 /*return*/, response.body];
9655                    case 3:
9656                        response_1 = _b.sent();
9657                        throw response_1.body;
9658                    case 4: return [2 /*return*/];
9659                }
9660            });
9661        });
9662    };
9663    return QuickCreate;
9664}(embed_1.Embed));
9665exports.QuickCreate = QuickCreate;
9666
9667
9668/***/ }),
9669
9670/***/ "./src/report.ts":
9671/*!***********************!*\
9672  !*** ./src/report.ts ***!
9673  \***********************/
9674/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
9675
9676// Copyright (c) Microsoft Corporation.
9677// Licensed under the MIT License.
9678var __extends = (this && this.__extends) || (function () {
9679    var extendStatics = function (d, b) {
9680        extendStatics = Object.setPrototypeOf ||
9681            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
9682            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
9683        return extendStatics(d, b);
9684    };
9685    return function (d, b) {
9686        if (typeof b !== "function" && b !== null)
9687            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
9688        extendStatics(d, b);
9689        function __() { this.constructor = d; }
9690        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
9691    };
9692})();
9693var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9694    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
9695    return new (P || (P = Promise))(function (resolve, reject) {
9696        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
9697        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9698        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
9699        step((generator = generator.apply(thisArg, _arguments || [])).next());
9700    });
9701};
9702var __generator = (this && this.__generator) || function (thisArg, body) {
9703    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
9704    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
9705    function verb(n) { return function (v) { return step([n, v]); }; }
9706    function step(op) {
9707        if (f) throw new TypeError("Generator is already executing.");
9708        while (_) try {
9709            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;
9710            if (y = 0, t) op = [op[0] & 2, t.value];
9711            switch (op[0]) {
9712                case 0: case 1: t = op; break;
9713                case 4: _.label++; return { value: op[1], done: false };
9714                case 5: _.label++; y = op[1]; op = [0]; continue;
9715                case 7: op = _.ops.pop(); _.trys.pop(); continue;
9716                default:
9717                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
9718                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
9719                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
9720                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
9721                    if (t[2]) _.ops.pop();
9722                    _.trys.pop(); continue;
9723            }
9724            op = body.call(thisArg, _);
9725        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
9726        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
9727    }
9728};
9729var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
9730    if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
9731        if (ar || !(i in from)) {
9732            if (!ar) ar = Array.prototype.slice.call(from, 0, i);
9733            ar[i] = from[i];
9734        }
9735    }
9736    return to.concat(ar || Array.prototype.slice.call(from));
9737};
9738Object.defineProperty(exports, "__esModule", ({ value: true }));
9739exports.Report = void 0;
9740var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
9741var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts");
9742var util_1 = __webpack_require__(/*! ./util */ "./src/util.ts");
9743var errors_1 = __webpack_require__(/*! ./errors */ "./src/errors.ts");
9744var page_1 = __webpack_require__(/*! ./page */ "./src/page.ts");
9745var bookmarksManager_1 = __webpack_require__(/*! ./bookmarksManager */ "./src/bookmarksManager.ts");
9746/**
9747 * The Power BI Report embed component
9748 *
9749 * @export
9750 * @class Report
9751 * @extends {Embed}
9752 * @implements {IReportNode}
9753 * @implements {IFilterable}
9754 */
9755var Report = /** @class */ (function (_super) {
9756    __extends(Report, _super);
9757    /**
9758     * Creates an instance of a Power BI Report.
9759     *
9760     * @param {Service} service
9761     * @param {HTMLElement} element
9762     * @param {IEmbedConfiguration} config
9763     * @hidden
9764     */
9765    function Report(service, element, baseConfig, phasedRender, isBootstrap, iframe) {
9766        var _this = this;
9767        var config = baseConfig;
9768        _this = _super.call(this, service, element, config, iframe, phasedRender, isBootstrap) || this;
9769        _this.loadPath = "/report/load";
9770        _this.phasedLoadPath = "/report/prepare";
9771        Array.prototype.push.apply(_this.allowedEvents, Report.allowedEvents);
9772        _this.bookmarksManager = new bookmarksManager_1.BookmarksManager(service, config, _this.iframe);
9773        service.router.post("/reports/".concat(_this.config.uniqueId, "/eventHooks/:eventName"), function (req, _res) { return __awaiter(_this, void 0, void 0, function () {
9774            var _a;
9775            var _b, _c;
9776            return __generator(this, function (_d) {
9777                switch (_d.label) {
9778                    case 0:
9779                        _a = req.params.eventName;
9780                        switch (_a) {
9781                            case "preQuery": return [3 /*break*/, 1];
9782                            case "newAccessToken": return [3 /*break*/, 3];
9783                        }
9784                        return [3 /*break*/, 5];
9785                    case 1:
9786                        req.body = req.body || {};
9787                        req.body.report = this;
9788                        return [4 /*yield*/, service.invokeSDKHook((_b = this.eventHooks) === null || _b === void 0 ? void 0 : _b.applicationContextProvider, req, _res)];
9789                    case 2:
9790                        _d.sent();
9791                        return [3 /*break*/, 6];
9792                    case 3:
9793                        req.body = req.body || {};
9794                        req.body.report = this;
9795                        return [4 /*yield*/, service.invokeSDKHook((_c = this.eventHooks) === null || _c === void 0 ? void 0 : _c.accessTokenProvider, req, _res)];
9796                    case 4:
9797                        _d.sent();
9798                        return [3 /*break*/, 6];
9799                    case 5: return [3 /*break*/, 6];
9800                    case 6: return [2 /*return*/];
9801                }
9802            });
9803        }); });
9804        return _this;
9805    }
9806    /**
9807     * Adds backwards compatibility for the previous load configuration, which used the reportId query parameter to specify the report ID
9808     * (e.g. http://embedded.powerbi.com/appTokenReportEmbed?reportId=854846ed-2106-4dc2-bc58-eb77533bf2f1).
9809     *
9810     * By extracting the ID we can ensure that the ID is always explicitly provided as part of the load configuration.
9811     *
9812     * @hidden
9813     * @static
9814     * @param {string} url
9815     * @returns {string}
9816     */
9817    Report.findIdFromEmbedUrl = function (url) {
9818        var reportIdRegEx = /reportId="?([^&]+)"?/;
9819        var reportIdMatch = url.match(reportIdRegEx);
9820        var reportId;
9821        if (reportIdMatch) {
9822            reportId = reportIdMatch[1];
9823        }
9824        return reportId;
9825    };
9826    /**
9827     * Render a preloaded report, using phased embedding API
9828     *
9829     * ```javascript
9830     * // Load report
9831     * var report = powerbi.load(element, config);
9832     *
9833     * ...
9834     *
9835     * // Render report
9836     * report.render()
9837     * ```
9838     *
9839     * @returns {Promise<void>}
9840     */
9841    Report.prototype.render = function (config) {
9842        return __awaiter(this, void 0, void 0, function () {
9843            var response, response_1;
9844            return __generator(this, function (_a) {
9845                switch (_a.label) {
9846                    case 0:
9847                        _a.trys.push([0, 2, , 3]);
9848                        return [4 /*yield*/, this.service.hpm.post("/report/render", config, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
9849                    case 1:
9850                        response = _a.sent();
9851                        return [2 /*return*/, response.body];
9852                    case 2:
9853                        response_1 = _a.sent();
9854                        throw response_1.body;
9855                    case 3: return [2 /*return*/];
9856                }
9857            });
9858        });
9859    };
9860    /**
9861     * Add an empty page to the report
9862     *
9863     * ```javascript
9864     * // Add a page to the report with "Sales" as the page display name
9865     * report.addPage("Sales");
9866     * ```
9867     *
9868     * @returns {Promise<Page>}
9869     */
9870    Report.prototype.addPage = function (displayName) {
9871        return __awaiter(this, void 0, void 0, function () {
9872            var request, response, page, response_2;
9873            return __generator(this, function (_a) {
9874                switch (_a.label) {
9875                    case 0:
9876                        request = {
9877                            displayName: displayName
9878                        };
9879                        _a.label = 1;
9880                    case 1:
9881                        _a.trys.push([1, 3, , 4]);
9882                        return [4 /*yield*/, this.service.hpm.post("/report/addPage", request, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
9883                    case 2:
9884                        response = _a.sent();
9885                        page = response.body;
9886                        return [2 /*return*/, new page_1.Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption)];
9887                    case 3:
9888                        response_2 = _a.sent();
9889                        throw response_2.body;
9890                    case 4: return [2 /*return*/];
9891                }
9892            });
9893        });
9894    };
9895    /**
9896     * Delete a page from a report
9897     *
9898     * ```javascript
9899     * // Delete a page from a report by pageName (PageName is different than the display name and can be acquired from the getPages API)
9900     * report.deletePage("ReportSection145");
9901     * ```
9902     *
9903     * @returns {Promise<void>}
9904     */
9905    Report.prototype.deletePage = function (pageName) {
9906        return __awaiter(this, void 0, void 0, function () {
9907            var response, response_3;
9908            return __generator(this, function (_a) {
9909                switch (_a.label) {
9910                    case 0:
9911                        _a.trys.push([0, 2, , 3]);
9912                        return [4 /*yield*/, this.service.hpm.delete("/report/pages/".concat(pageName), {}, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
9913                    case 1:
9914                        response = _a.sent();
9915                        return [2 /*return*/, response.body];
9916                    case 2:
9917                        response_3 = _a.sent();
9918                        throw response_3.body;
9919                    case 3: return [2 /*return*/];
9920                }
9921            });
9922        });
9923    };
9924    /**
9925     * Rename a page from a report
9926     *
9927     * ```javascript
9928     * // Rename a page from a report by changing displayName (pageName is different from the display name and can be acquired from the getPages API)
9929     * report.renamePage("ReportSection145", "Sales");
9930     * ```
9931     *
9932     * @returns {Promise<void>}
9933     */
9934    Report.prototype.renamePage = function (pageName, displayName) {
9935        return __awaiter(this, void 0, void 0, function () {
9936            var page, response, response_4;
9937            return __generator(this, function (_a) {
9938                switch (_a.label) {
9939                    case 0:
9940                        page = {
9941                            name: pageName,
9942                            displayName: displayName,
9943                        };
9944                        _a.label = 1;
9945                    case 1:
9946                        _a.trys.push([1, 3, , 4]);
9947                        return [4 /*yield*/, this.service.hpm.put("/report/pages/".concat(pageName, "/name"), page, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
9948                    case 2:
9949                        response = _a.sent();
9950                        return [2 /*return*/, response.body];
9951                    case 3:
9952                        response_4 = _a.sent();
9953                        throw response_4.body;
9954                    case 4: return [2 /*return*/];
9955                }
9956            });
9957        });
9958    };
9959    /**
9960     * Gets filters that are applied at the report level.
9961     *
9962     * ```javascript
9963     * // Get filters applied at report level
9964     * report.getFilters()
9965     *   .then(filters => {
9966     *     ...
9967     *   });
9968     * ```
9969     *
9970     * @returns {Promise<IFilter[]>}
9971     */
9972    Report.prototype.getFilters = function () {
9973        return __awaiter(this, void 0, void 0, function () {
9974            var response, response_5;
9975            return __generator(this, function (_a) {
9976                switch (_a.label) {
9977                    case 0:
9978                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
9979                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
9980                        }
9981                        _a.label = 1;
9982                    case 1:
9983                        _a.trys.push([1, 3, , 4]);
9984                        return [4 /*yield*/, this.service.hpm.get("/report/filters", { uid: this.config.uniqueId }, this.iframe.contentWindow)];
9985                    case 2:
9986                        response = _a.sent();
9987                        return [2 /*return*/, response.body];
9988                    case 3:
9989                        response_5 = _a.sent();
9990                        throw response_5.body;
9991                    case 4: return [2 /*return*/];
9992                }
9993            });
9994        });
9995    };
9996    /**
9997     * Update the filters at the report level according to the operation: Add, replace all, replace by target or remove.
9998     *
9999     * ```javascript
10000     * report.updateFilters(FiltersOperations.Add, filters)
10001     *   .catch(errors => { ... });
10002     * ```
10003     *
10004     * @param {(IFilter[])} filters
10005     * @returns {Promise<IHttpPostMessageResponse<void>>}
10006     */
10007    Report.prototype.updateFilters = function (operation, filters) {
10008        return __awaiter(this, void 0, void 0, function () {
10009            var updateFiltersRequest, response_6;
10010            return __generator(this, function (_a) {
10011                switch (_a.label) {
10012                    case 0:
10013                        updateFiltersRequest = {
10014                            filtersOperation: operation,
10015                            filters: filters
10016                        };
10017                        _a.label = 1;
10018                    case 1:
10019                        _a.trys.push([1, 3, , 4]);
10020                        return [4 /*yield*/, this.service.hpm.post("/report/filters", updateFiltersRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10021                    case 2: return [2 /*return*/, _a.sent()];
10022                    case 3:
10023                        response_6 = _a.sent();
10024                        throw response_6.body;
10025                    case 4: return [2 /*return*/];
10026                }
10027            });
10028        });
10029    };
10030    /**
10031     * Removes all filters at the report level.
10032     *
10033     * ```javascript
10034     * report.removeFilters();
10035     * ```
10036     *
10037     * @returns {Promise<IHttpPostMessageResponse<void>>}
10038     */
10039    Report.prototype.removeFilters = function () {
10040        return __awaiter(this, void 0, void 0, function () {
10041            return __generator(this, function (_a) {
10042                if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10043                    return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10044                }
10045                return [2 /*return*/, this.updateFilters(powerbi_models_1.FiltersOperations.RemoveAll)];
10046            });
10047        });
10048    };
10049    /**
10050     * Sets filters at the report level.
10051     *
10052     * ```javascript
10053     * const filters: [
10054     *    ...
10055     * ];
10056     *
10057     * report.setFilters(filters)
10058     *  .catch(errors => {
10059     *    ...
10060     *  });
10061     * ```
10062     *
10063     * @param {(IFilter[])} filters
10064     * @returns {Promise<IHttpPostMessageResponse<void>>}
10065     */
10066    Report.prototype.setFilters = function (filters) {
10067        return __awaiter(this, void 0, void 0, function () {
10068            var response_7;
10069            return __generator(this, function (_a) {
10070                switch (_a.label) {
10071                    case 0:
10072                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10073                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10074                        }
10075                        _a.label = 1;
10076                    case 1:
10077                        _a.trys.push([1, 3, , 4]);
10078                        return [4 /*yield*/, this.service.hpm.put("/report/filters", filters, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10079                    case 2: return [2 /*return*/, _a.sent()];
10080                    case 3:
10081                        response_7 = _a.sent();
10082                        throw response_7.body;
10083                    case 4: return [2 /*return*/];
10084                }
10085            });
10086        });
10087    };
10088    /**
10089     * Gets the report ID from the first available location: options, attribute, embed url.
10090     *
10091     * @returns {string}
10092     */
10093    Report.prototype.getId = function () {
10094        var config = this.config;
10095        var reportId = config.id || this.element.getAttribute(Report.reportIdAttribute) || Report.findIdFromEmbedUrl(config.embedUrl);
10096        if (typeof reportId !== 'string' || reportId.length === 0) {
10097            throw new Error("Report id is required, but it was not found. You must provide an id either as part of embed configuration or as attribute '".concat(Report.reportIdAttribute, "'."));
10098        }
10099        return reportId;
10100    };
10101    /**
10102     * Gets the list of pages within the report.
10103     *
10104     * ```javascript
10105     * report.getPages()
10106     *  .then(pages => {
10107     *      ...
10108     *  });
10109     * ```
10110     *
10111     * @returns {Promise<Page[]>}
10112     */
10113    Report.prototype.getPages = function () {
10114        return __awaiter(this, void 0, void 0, function () {
10115            var response, response_8;
10116            var _this = this;
10117            return __generator(this, function (_a) {
10118                switch (_a.label) {
10119                    case 0:
10120                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10121                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10122                        }
10123                        _a.label = 1;
10124                    case 1:
10125                        _a.trys.push([1, 3, , 4]);
10126                        return [4 /*yield*/, this.service.hpm.get('/report/pages', { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10127                    case 2:
10128                        response = _a.sent();
10129                        return [2 /*return*/, response.body
10130                                .map(function (page) { return new page_1.Page(_this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption, page.mobileSize, page.background, page.wallpaper); })];
10131                    case 3:
10132                        response_8 = _a.sent();
10133                        throw response_8.body;
10134                    case 4: return [2 /*return*/];
10135                }
10136            });
10137        });
10138    };
10139    /**
10140     * Gets a report page by its name.
10141     *
10142     * ```javascript
10143     * report.getPageByName(pageName)
10144     *  .then(page => {
10145     *      ...
10146     *  });
10147     * ```
10148     *
10149     * @param {string} pageName
10150     * @returns {Promise<Page>}
10151     */
10152    Report.prototype.getPageByName = function (pageName) {
10153        return __awaiter(this, void 0, void 0, function () {
10154            var response, page, response_9;
10155            return __generator(this, function (_a) {
10156                switch (_a.label) {
10157                    case 0:
10158                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10159                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10160                        }
10161                        _a.label = 1;
10162                    case 1:
10163                        _a.trys.push([1, 3, , 4]);
10164                        return [4 /*yield*/, this.service.hpm.get("/report/pages", { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10165                    case 2:
10166                        response = _a.sent();
10167                        page = response.body.find(function (p) { return p.name === pageName; });
10168                        if (!page) {
10169                            return [2 /*return*/, Promise.reject(powerbi_models_1.CommonErrorCodes.NotFound)];
10170                        }
10171                        return [2 /*return*/, new page_1.Page(this, page.name, page.displayName, page.isActive, page.visibility, page.defaultSize, page.defaultDisplayOption, page.mobileSize, page.background, page.wallpaper)];
10172                    case 3:
10173                        response_9 = _a.sent();
10174                        throw response_9.body;
10175                    case 4: return [2 /*return*/];
10176                }
10177            });
10178        });
10179    };
10180    /**
10181     * Gets the active report page.
10182     *
10183     * ```javascript
10184     * report.getActivePage()
10185     *  .then(activePage => {
10186     *      ...
10187     *  });
10188     * ```
10189     *
10190     * @returns {Promise<Page>}
10191     */
10192    Report.prototype.getActivePage = function () {
10193        return __awaiter(this, void 0, void 0, function () {
10194            var response, activePage, response_10;
10195            return __generator(this, function (_a) {
10196                switch (_a.label) {
10197                    case 0:
10198                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10199                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10200                        }
10201                        _a.label = 1;
10202                    case 1:
10203                        _a.trys.push([1, 3, , 4]);
10204                        return [4 /*yield*/, this.service.hpm.get('/report/pages', { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10205                    case 2:
10206                        response = _a.sent();
10207                        activePage = response.body.find(function (page) { return page.isActive; });
10208                        return [2 /*return*/, new page_1.Page(this, activePage.name, activePage.displayName, activePage.isActive, activePage.visibility, activePage.defaultSize, activePage.defaultDisplayOption, activePage.mobileSize, activePage.background, activePage.wallpaper)];
10209                    case 3:
10210                        response_10 = _a.sent();
10211                        throw response_10.body;
10212                    case 4: return [2 /*return*/];
10213                }
10214            });
10215        });
10216    };
10217    /**
10218     * Creates an instance of a Page.
10219     *
10220     * Normally you would get Page objects by calling `report.getPages()`, but in the case
10221     * that the page name is known and you want to perform an action on a page without having to retrieve it
10222     * you can create it directly.
10223     *
10224     * Note: Because you are creating the page manually there is no guarantee that the page actually exists in the report, and subsequent requests could fail.
10225     *
10226     * @param {string} name
10227     * @param {string} [displayName]
10228     * @param {boolean} [isActive]
10229     * @returns {Page}
10230     * @hidden
10231     */
10232    Report.prototype.page = function (name, displayName, isActive, visibility) {
10233        return new page_1.Page(this, name, displayName, isActive, visibility);
10234    };
10235    /**
10236     * Prints the active page of the report by invoking `window.print()` on the embed iframe component.
10237     */
10238    Report.prototype.print = function () {
10239        return __awaiter(this, void 0, void 0, function () {
10240            var response, response_11;
10241            return __generator(this, function (_a) {
10242                switch (_a.label) {
10243                    case 0:
10244                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10245                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10246                        }
10247                        _a.label = 1;
10248                    case 1:
10249                        _a.trys.push([1, 3, , 4]);
10250                        return [4 /*yield*/, this.service.hpm.post('/report/print', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10251                    case 2:
10252                        response = _a.sent();
10253                        return [2 /*return*/, response.body];
10254                    case 3:
10255                        response_11 = _a.sent();
10256                        throw response_11.body;
10257                    case 4: return [2 /*return*/];
10258                }
10259            });
10260        });
10261    };
10262    /**
10263     * Sets the active page of the report.
10264     *
10265     * ```javascript
10266     * report.setPage("page2")
10267     *  .catch(error => { ... });
10268     * ```
10269     *
10270     * @param {string} pageName
10271     * @returns {Promise<IHttpPostMessageResponse<void>>}
10272     */
10273    Report.prototype.setPage = function (pageName) {
10274        return __awaiter(this, void 0, void 0, function () {
10275            var page, response_12;
10276            return __generator(this, function (_a) {
10277                switch (_a.label) {
10278                    case 0:
10279                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10280                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10281                        }
10282                        page = {
10283                            name: pageName,
10284                            displayName: null,
10285                            isActive: true
10286                        };
10287                        _a.label = 1;
10288                    case 1:
10289                        _a.trys.push([1, 3, , 4]);
10290                        return [4 /*yield*/, this.service.hpm.put('/report/pages/active', page, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10291                    case 2: return [2 /*return*/, _a.sent()];
10292                    case 3:
10293                        response_12 = _a.sent();
10294                        throw response_12.body;
10295                    case 4: return [2 /*return*/];
10296                }
10297            });
10298        });
10299    };
10300    /**
10301     * Updates visibility settings for the filter pane and the page navigation pane.
10302     *
10303     * ```javascript
10304     * const newSettings = {
10305     *   panes: {
10306     *     filters: {
10307     *       visible: false
10308     *     }
10309     *   }
10310     * };
10311     *
10312     * report.updateSettings(newSettings)
10313     *   .catch(error => { ... });
10314     * ```
10315     *
10316     * @param {ISettings} settings
10317     * @returns {Promise<IHttpPostMessageResponse<void>>}
10318     */
10319    Report.prototype.updateSettings = function (settings) {
10320        var _a, _b;
10321        return __awaiter(this, void 0, void 0, function () {
10322            var response, extension, extensionsArray, response_13;
10323            var _this = this;
10324            return __generator(this, function (_c) {
10325                switch (_c.label) {
10326                    case 0:
10327                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl) && settings.customLayout != null) {
10328                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10329                        }
10330                        _c.label = 1;
10331                    case 1:
10332                        _c.trys.push([1, 3, , 4]);
10333                        return [4 /*yield*/, this.service.hpm.patch('/report/settings', settings, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10334                    case 2:
10335                        response = _c.sent();
10336                        extension = settings === null || settings === void 0 ? void 0 : settings.extensions;
10337                        this.commands = (_a = extension === null || extension === void 0 ? void 0 : extension.commands) !== null && _a !== void 0 ? _a : this.commands;
10338                        this.groups = (_b = extension === null || extension === void 0 ? void 0 : extension.groups) !== null && _b !== void 0 ? _b : this.groups;
10339                        extensionsArray = settings === null || settings === void 0 ? void 0 : settings.extensions;
10340                        if (Array.isArray(extensionsArray)) {
10341                            this.commands = [];
10342                            extensionsArray.map(function (extensionElement) { if (extensionElement === null || extensionElement === void 0 ? void 0 : extensionElement.command) {
10343                                _this.commands.push(extensionElement.command);
10344                            } });
10345                        }
10346                        return [2 /*return*/, response];
10347                    case 3:
10348                        response_13 = _c.sent();
10349                        throw response_13.body;
10350                    case 4: return [2 /*return*/];
10351                }
10352            });
10353        });
10354    };
10355    /**
10356     * Validate load configuration.
10357     *
10358     * @hidden
10359     */
10360    Report.prototype.validate = function (config) {
10361        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10362            return (0, powerbi_models_1.validatePaginatedReportLoad)(config);
10363        }
10364        return (0, powerbi_models_1.validateReportLoad)(config);
10365    };
10366    /**
10367     * Handle config changes.
10368     *
10369     * @returns {void}
10370     */
10371    Report.prototype.configChanged = function (isBootstrap) {
10372        var config = this.config;
10373        if (this.isMobileSettings(config.settings)) {
10374            config.embedUrl = (0, util_1.addParamToUrl)(config.embedUrl, "isMobile", "true");
10375        }
10376        // Calculate settings from HTML element attributes if available.
10377        var filterPaneEnabledAttribute = this.element.getAttribute(Report.filterPaneEnabledAttribute);
10378        var navContentPaneEnabledAttribute = this.element.getAttribute(Report.navContentPaneEnabledAttribute);
10379        var elementAttrSettings = {
10380            filterPaneEnabled: (filterPaneEnabledAttribute == null) ? undefined : (filterPaneEnabledAttribute !== "false"),
10381            navContentPaneEnabled: (navContentPaneEnabledAttribute == null) ? undefined : (navContentPaneEnabledAttribute !== "false")
10382        };
10383        // Set the settings back into the config.
10384        this.config.settings = (0, util_1.assign)({}, elementAttrSettings, config.settings);
10385        if (isBootstrap) {
10386            return;
10387        }
10388        config.id = this.getId();
10389    };
10390    /**
10391     * @hidden
10392     * @returns {string}
10393     */
10394    Report.prototype.getDefaultEmbedUrlEndpoint = function () {
10395        return "reportEmbed";
10396    };
10397    /**
10398     * Switch Report view mode.
10399     *
10400     * @returns {Promise<void>}
10401     */
10402    Report.prototype.switchMode = function (viewMode) {
10403        return __awaiter(this, void 0, void 0, function () {
10404            var newMode, url, response, response_14;
10405            return __generator(this, function (_a) {
10406                switch (_a.label) {
10407                    case 0:
10408                        if (typeof viewMode === "string") {
10409                            newMode = viewMode;
10410                        }
10411                        else {
10412                            newMode = this.viewModeToString(viewMode);
10413                        }
10414                        url = '/report/switchMode/' + newMode;
10415                        _a.label = 1;
10416                    case 1:
10417                        _a.trys.push([1, 3, , 4]);
10418                        return [4 /*yield*/, this.service.hpm.post(url, null, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10419                    case 2:
10420                        response = _a.sent();
10421                        return [2 /*return*/, response.body];
10422                    case 3:
10423                        response_14 = _a.sent();
10424                        throw response_14.body;
10425                    case 4: return [2 /*return*/];
10426                }
10427            });
10428        });
10429    };
10430    /**
10431     * Refreshes data sources for the report.
10432     *
10433     * ```javascript
10434     * report.refresh();
10435     * ```
10436     */
10437    Report.prototype.refresh = function () {
10438        return __awaiter(this, void 0, void 0, function () {
10439            var response, response_15;
10440            return __generator(this, function (_a) {
10441                switch (_a.label) {
10442                    case 0:
10443                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10444                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10445                        }
10446                        _a.label = 1;
10447                    case 1:
10448                        _a.trys.push([1, 3, , 4]);
10449                        return [4 /*yield*/, this.service.hpm.post('/report/refresh', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10450                    case 2:
10451                        response = _a.sent();
10452                        return [2 /*return*/, response.body];
10453                    case 3:
10454                        response_15 = _a.sent();
10455                        throw response_15.body;
10456                    case 4: return [2 /*return*/];
10457                }
10458            });
10459        });
10460    };
10461    /**
10462     * checks if the report is saved.
10463     *
10464     * ```javascript
10465     * report.isSaved()
10466     * ```
10467     *
10468     * @returns {Promise<boolean>}
10469     */
10470    Report.prototype.isSaved = function () {
10471        return __awaiter(this, void 0, void 0, function () {
10472            return __generator(this, function (_a) {
10473                switch (_a.label) {
10474                    case 0:
10475                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10476                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10477                        }
10478                        return [4 /*yield*/, (0, util_1.isSavedInternal)(this.service.hpm, this.config.uniqueId, this.iframe.contentWindow)];
10479                    case 1: return [2 /*return*/, _a.sent()];
10480                }
10481            });
10482        });
10483    };
10484    /**
10485     * Apply a theme to the report
10486     *
10487     * ```javascript
10488     * report.applyTheme(theme);
10489     * ```
10490     */
10491    Report.prototype.applyTheme = function (theme) {
10492        return __awaiter(this, void 0, void 0, function () {
10493            return __generator(this, function (_a) {
10494                switch (_a.label) {
10495                    case 0:
10496                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10497                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10498                        }
10499                        return [4 /*yield*/, this.applyThemeInternal(theme)];
10500                    case 1: return [2 /*return*/, _a.sent()];
10501                }
10502            });
10503        });
10504    };
10505    /**
10506     * Reset and apply the default theme of the report
10507     *
10508     * ```javascript
10509     * report.resetTheme();
10510     * ```
10511     */
10512    Report.prototype.resetTheme = function () {
10513        return __awaiter(this, void 0, void 0, function () {
10514            return __generator(this, function (_a) {
10515                switch (_a.label) {
10516                    case 0:
10517                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10518                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10519                        }
10520                        return [4 /*yield*/, this.applyThemeInternal({})];
10521                    case 1: return [2 /*return*/, _a.sent()];
10522                }
10523            });
10524        });
10525    };
10526    /**
10527     * get the theme of the report
10528     *
10529     * ```javascript
10530     * report.getTheme();
10531     * ```
10532     */
10533    Report.prototype.getTheme = function () {
10534        return __awaiter(this, void 0, void 0, function () {
10535            var response, response_16;
10536            return __generator(this, function (_a) {
10537                switch (_a.label) {
10538                    case 0:
10539                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10540                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10541                        }
10542                        _a.label = 1;
10543                    case 1:
10544                        _a.trys.push([1, 3, , 4]);
10545                        return [4 /*yield*/, this.service.hpm.get("/report/theme", { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10546                    case 2:
10547                        response = _a.sent();
10548                        return [2 /*return*/, response.body];
10549                    case 3:
10550                        response_16 = _a.sent();
10551                        throw response_16.body;
10552                    case 4: return [2 /*return*/];
10553                }
10554            });
10555        });
10556    };
10557    /**
10558     * Reset user's filters, slicers, and other data view changes to the default state of the report
10559     *
10560     * ```javascript
10561     * report.resetPersistentFilters();
10562     * ```
10563     */
10564    Report.prototype.resetPersistentFilters = function () {
10565        return __awaiter(this, void 0, void 0, function () {
10566            var response_17;
10567            return __generator(this, function (_a) {
10568                switch (_a.label) {
10569                    case 0:
10570                        _a.trys.push([0, 2, , 3]);
10571                        return [4 /*yield*/, this.service.hpm.delete("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10572                    case 1: return [2 /*return*/, _a.sent()];
10573                    case 2:
10574                        response_17 = _a.sent();
10575                        throw response_17.body;
10576                    case 3: return [2 /*return*/];
10577                }
10578            });
10579        });
10580    };
10581    /**
10582     * Save user's filters, slicers, and other data view changes of the report
10583     *
10584     * ```javascript
10585     * report.savePersistentFilters();
10586     * ```
10587     */
10588    Report.prototype.savePersistentFilters = function () {
10589        return __awaiter(this, void 0, void 0, function () {
10590            var response_18;
10591            return __generator(this, function (_a) {
10592                switch (_a.label) {
10593                    case 0:
10594                        _a.trys.push([0, 2, , 3]);
10595                        return [4 /*yield*/, this.service.hpm.post("/report/userState", null, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10596                    case 1: return [2 /*return*/, _a.sent()];
10597                    case 2:
10598                        response_18 = _a.sent();
10599                        throw response_18.body;
10600                    case 3: return [2 /*return*/];
10601                }
10602            });
10603        });
10604    };
10605    /**
10606     * Returns if there are user's filters, slicers, or other data view changes applied on the report.
10607     * If persistent filters is disable, returns false.
10608     *
10609     * ```javascript
10610     * report.arePersistentFiltersApplied();
10611     * ```
10612     *
10613     * @returns {Promise<boolean>}
10614     */
10615    Report.prototype.arePersistentFiltersApplied = function () {
10616        return __awaiter(this, void 0, void 0, function () {
10617            var response, response_19;
10618            return __generator(this, function (_a) {
10619                switch (_a.label) {
10620                    case 0:
10621                        _a.trys.push([0, 2, , 3]);
10622                        return [4 /*yield*/, this.service.hpm.get("/report/isUserStateApplied", { uid: this.config.uniqueId }, this.iframe.contentWindow)];
10623                    case 1:
10624                        response = _a.sent();
10625                        return [2 /*return*/, response.body];
10626                    case 2:
10627                        response_19 = _a.sent();
10628                        throw response_19.body;
10629                    case 3: return [2 /*return*/];
10630                }
10631            });
10632        });
10633    };
10634    /**
10635     * Remove context menu extension command.
10636     *
10637     * ```javascript
10638     * report.removeContextMenuCommand(commandName, contextMenuTitle)
10639     *  .catch(error => {
10640     *      ...
10641     *  });
10642     * ```
10643     *
10644     * @param {string} commandName
10645     * @param {string} contextMenuTitle
10646     * @returns {Promise<IHttpPostMessageResponse<void>>}
10647     */
10648    Report.prototype.removeContextMenuCommand = function (commandName, contextMenuTitle) {
10649        return __awaiter(this, void 0, void 0, function () {
10650            var commandCopy, indexOfCommand, newSetting;
10651            return __generator(this, function (_a) {
10652                switch (_a.label) {
10653                    case 0:
10654                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10655                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10656                        }
10657                        commandCopy = JSON.parse(JSON.stringify(this.commands));
10658                        indexOfCommand = this.findCommandMenuIndex("visualContextMenu", commandCopy, commandName, contextMenuTitle);
10659                        if (indexOfCommand === -1) {
10660                            throw powerbi_models_1.CommonErrorCodes.NotFound;
10661                        }
10662                        // Delete the context menu and not the entire command, since command can have option menu as well.
10663                        delete commandCopy[indexOfCommand].extend.visualContextMenu;
10664                        newSetting = {
10665                            extensions: {
10666                                commands: commandCopy,
10667                                groups: this.groups
10668                            }
10669                        };
10670                        return [4 /*yield*/, this.updateSettings(newSetting)];
10671                    case 1: return [2 /*return*/, _a.sent()];
10672                }
10673            });
10674        });
10675    };
10676    /**
10677     * Add context menu extension command.
10678     *
10679     * ```javascript
10680     * report.addContextMenuCommand(commandName, commandTitle, contextMenuTitle, menuLocation, visualName, visualType, groupName)
10681     *  .catch(error => {
10682     *      ...
10683     *  });
10684     * ```
10685     *
10686     * @param {string} commandName
10687     * @param {string} commandTitle
10688     * @param {string} contextMenuTitle
10689     * @param {MenuLocation} menuLocation
10690     * @param {string} visualName
10691     * @param {string} visualType
10692     * @param {string} groupName
10693     * @returns {Promise<IHttpPostMessageResponse<void>>}
10694     */
10695    Report.prototype.addContextMenuCommand = function (commandName, commandTitle, contextMenuTitle, menuLocation, visualName, visualType, groupName) {
10696        if (contextMenuTitle === void 0) { contextMenuTitle = commandTitle; }
10697        if (menuLocation === void 0) { menuLocation = powerbi_models_1.MenuLocation.Bottom; }
10698        if (visualName === void 0) { visualName = undefined; }
10699        if (groupName === void 0) { groupName = undefined; }
10700        return __awaiter(this, void 0, void 0, function () {
10701            var newCommands, newSetting;
10702            return __generator(this, function (_a) {
10703                switch (_a.label) {
10704                    case 0:
10705                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10706                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10707                        }
10708                        newCommands = this.createMenuCommand("visualContextMenu", commandName, commandTitle, contextMenuTitle, menuLocation, visualName, visualType, groupName);
10709                        newSetting = {
10710                            extensions: {
10711                                commands: newCommands,
10712                                groups: this.groups
10713                            }
10714                        };
10715                        return [4 /*yield*/, this.updateSettings(newSetting)];
10716                    case 1: return [2 /*return*/, _a.sent()];
10717                }
10718            });
10719        });
10720    };
10721    /**
10722     * Remove options menu extension command.
10723     *
10724     * ```javascript
10725     * report.removeOptionsMenuCommand(commandName, optionsMenuTitle)
10726     *  .then({
10727     *      ...
10728     *  });
10729     * ```
10730     *
10731     * @param {string} commandName
10732     * @param {string} optionsMenuTitle
10733     * @returns {Promise<IHttpPostMessageResponse<void>>}
10734     */
10735    Report.prototype.removeOptionsMenuCommand = function (commandName, optionsMenuTitle) {
10736        return __awaiter(this, void 0, void 0, function () {
10737            var commandCopy, indexOfCommand, newSetting;
10738            return __generator(this, function (_a) {
10739                switch (_a.label) {
10740                    case 0:
10741                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10742                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10743                        }
10744                        commandCopy = JSON.parse(JSON.stringify(this.commands));
10745                        indexOfCommand = this.findCommandMenuIndex("visualOptionsMenu", commandCopy, commandName, optionsMenuTitle);
10746                        if (indexOfCommand === -1) {
10747                            throw powerbi_models_1.CommonErrorCodes.NotFound;
10748                        }
10749                        // Delete the context options and not the entire command, since command can have context menu as well.
10750                        delete commandCopy[indexOfCommand].extend.visualOptionsMenu;
10751                        delete commandCopy[indexOfCommand].icon;
10752                        newSetting = {
10753                            extensions: {
10754                                commands: commandCopy,
10755                                groups: this.groups
10756                            }
10757                        };
10758                        return [4 /*yield*/, this.updateSettings(newSetting)];
10759                    case 1: return [2 /*return*/, _a.sent()];
10760                }
10761            });
10762        });
10763    };
10764    /**
10765     * Add options menu extension command.
10766     *
10767     * ```javascript
10768     * report.addOptionsMenuCommand(commandName, commandTitle, optionsMenuTitle, menuLocation, visualName, visualType, groupName, commandIcon)
10769     *  .catch(error => {
10770     *      ...
10771     *  });
10772     * ```
10773     *
10774     * @param {string} commandName
10775     * @param {string} commandTitle
10776     * @param {string} optionMenuTitle
10777     * @param {MenuLocation} menuLocation
10778     * @param {string} visualName
10779     * @param {string} visualType
10780     * @param {string} groupName
10781     * @param {string} commandIcon
10782     * @returns {Promise<IHttpPostMessageResponse<void>>}
10783     */
10784    Report.prototype.addOptionsMenuCommand = function (commandName, commandTitle, optionsMenuTitle, menuLocation, visualName, visualType, groupName, commandIcon) {
10785        if (optionsMenuTitle === void 0) { optionsMenuTitle = commandTitle; }
10786        if (menuLocation === void 0) { menuLocation = powerbi_models_1.MenuLocation.Bottom; }
10787        if (visualName === void 0) { visualName = undefined; }
10788        if (visualType === void 0) { visualType = undefined; }
10789        if (groupName === void 0) { groupName = undefined; }
10790        if (commandIcon === void 0) { commandIcon = undefined; }
10791        return __awaiter(this, void 0, void 0, function () {
10792            var newCommands, newSetting;
10793            return __generator(this, function (_a) {
10794                switch (_a.label) {
10795                    case 0:
10796                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
10797                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
10798                        }
10799                        newCommands = this.createMenuCommand("visualOptionsMenu", commandName, commandTitle, optionsMenuTitle, menuLocation, visualName, visualType, groupName, commandIcon);
10800                        newSetting = {
10801                            extensions: {
10802                                commands: newCommands,
10803                                groups: this.groups
10804                            }
10805                        };
10806                        return [4 /*yield*/, this.updateSettings(newSetting)];
10807                    case 1: return [2 /*return*/, _a.sent()];
10808                }
10809            });
10810        });
10811    };
10812    /**
10813     * Updates the display state of a visual in a page.
10814     *
10815     * ```javascript
10816     * report.setVisualDisplayState(pageName, visualName, displayState)
10817     *   .catch(error => { ... });
10818     * ```
10819     *
10820     * @param {string} pageName
10821     * @param {string} visualName
10822     * @param {VisualContainerDisplayMode} displayState
10823     * @returns {Promise<IHttpPostMessageResponse<void>>}
10824     */
10825    Report.prototype.setVisualDisplayState = function (pageName, visualName, displayState) {
10826        return __awaiter(this, void 0, void 0, function () {
10827            var visualLayout, newSettings;
10828            return __generator(this, function (_a) {
10829                switch (_a.label) {
10830                    case 0: 
10831                    // Check if page name and visual name are valid
10832                    return [4 /*yield*/, this.validateVisual(pageName, visualName)];
10833                    case 1:
10834                        // Check if page name and visual name are valid
10835                        _a.sent();
10836                        visualLayout = {
10837                            displayState: {
10838                                mode: displayState
10839                            }
10840                        };
10841                        newSettings = this.buildLayoutSettingsObject(pageName, visualName, visualLayout);
10842                        return [2 /*return*/, this.updateSettings(newSettings)];
10843                }
10844            });
10845        });
10846    };
10847    /**
10848     * Resize a visual in a page.
10849     *
10850     * ```javascript
10851     * report.resizeVisual(pageName, visualName, width, height)
10852     *   .catch(error => { ... });
10853     * ```
10854     *
10855     * @param {string} pageName
10856     * @param {string} visualName
10857     * @param {number} width
10858     * @param {number} height
10859     * @returns {Promise<IHttpPostMessageResponse<void>>}
10860     */
10861    Report.prototype.resizeVisual = function (pageName, visualName, width, height) {
10862        return __awaiter(this, void 0, void 0, function () {
10863            var visualLayout, newSettings;
10864            return __generator(this, function (_a) {
10865                switch (_a.label) {
10866                    case 0: 
10867                    // Check if page name and visual name are valid
10868                    return [4 /*yield*/, this.validateVisual(pageName, visualName)];
10869                    case 1:
10870                        // Check if page name and visual name are valid
10871                        _a.sent();
10872                        visualLayout = {
10873                            width: width,
10874                            height: height,
10875                        };
10876                        newSettings = this.buildLayoutSettingsObject(pageName, visualName, visualLayout);
10877                        return [2 /*return*/, this.updateSettings(newSettings)];
10878                }
10879            });
10880        });
10881    };
10882    /**
10883     * Updates the size of active page in report.
10884     *
10885     * ```javascript
10886     * report.resizeActivePage(pageSizeType, width, height)
10887     *   .catch(error => { ... });
10888     * ```
10889     *
10890     * @param {PageSizeType} pageSizeType
10891     * @param {number} width
10892     * @param {number} height
10893     * @returns {Promise<IHttpPostMessageResponse<void>>}
10894     */
10895    Report.prototype.resizeActivePage = function (pageSizeType, width, height) {
10896        return __awaiter(this, void 0, void 0, function () {
10897            var pageSize, newSettings;
10898            return __generator(this, function (_a) {
10899                pageSize = {
10900                    type: pageSizeType,
10901                    width: width,
10902                    height: height
10903                };
10904                newSettings = {
10905                    layoutType: powerbi_models_1.LayoutType.Custom,
10906                    customLayout: {
10907                        pageSize: pageSize
10908                    }
10909                };
10910                return [2 /*return*/, this.updateSettings(newSettings)];
10911            });
10912        });
10913    };
10914    /**
10915     * Updates the position of a visual in a page.
10916     *
10917     * ```javascript
10918     * report.moveVisual(pageName, visualName, x, y, z)
10919     *   .catch(error => { ... });
10920     * ```
10921     *
10922     * @param {string} pageName
10923     * @param {string} visualName
10924     * @param {number} x
10925     * @param {number} y
10926     * @param {number} z
10927     * @returns {Promise<IHttpPostMessageResponse<void>>}
10928     */
10929    Report.prototype.moveVisual = function (pageName, visualName, x, y, z) {
10930        return __awaiter(this, void 0, void 0, function () {
10931            var visualLayout, newSettings;
10932            return __generator(this, function (_a) {
10933                switch (_a.label) {
10934                    case 0: 
10935                    // Check if page name and visual name are valid
10936                    return [4 /*yield*/, this.validateVisual(pageName, visualName)];
10937                    case 1:
10938                        // Check if page name and visual name are valid
10939                        _a.sent();
10940                        visualLayout = {
10941                            x: x,
10942                            y: y,
10943                            z: z
10944                        };
10945                        newSettings = this.buildLayoutSettingsObject(pageName, visualName, visualLayout);
10946                        return [2 /*return*/, this.updateSettings(newSettings)];
10947                }
10948            });
10949        });
10950    };
10951    /**
10952     * Updates the report layout
10953     *
10954     * ```javascript
10955     * report.switchLayout(layoutType);
10956     * ```
10957     *
10958     * @param {LayoutType} layoutType
10959     * @returns {Promise<IHttpPostMessageResponse<void>>}
10960     */
10961    Report.prototype.switchLayout = function (layoutType) {
10962        return __awaiter(this, void 0, void 0, function () {
10963            var isInitialMobileSettings, isPassedMobileSettings, newSetting, response;
10964            return __generator(this, function (_a) {
10965                switch (_a.label) {
10966                    case 0:
10967                        isInitialMobileSettings = this.isMobileSettings({ layoutType: this.initialLayoutType });
10968                        isPassedMobileSettings = this.isMobileSettings({ layoutType: layoutType });
10969                        // Check if both passed layout and initial layout are of same type.
10970                        if (isInitialMobileSettings !== isPassedMobileSettings) {
10971                            throw "Switching between mobile and desktop layouts is not supported. Please reset the embed container and re-embed with required layout.";
10972                        }
10973                        newSetting = {
10974                            layoutType: layoutType
10975                        };
10976                        return [4 /*yield*/, this.updateSettings(newSetting)];
10977                    case 1:
10978                        response = _a.sent();
10979                        this.initialLayoutType = layoutType;
10980                        return [2 /*return*/, response];
10981                }
10982            });
10983        });
10984    };
10985    /**
10986     * @hidden
10987     */
10988    Report.prototype.createMenuCommand = function (type, commandName, commandTitle, menuTitle, menuLocation, visualName, visualType, groupName, icon) {
10989        var newCommandObj = {
10990            name: commandName,
10991            title: commandTitle,
10992            extend: {}
10993        };
10994        newCommandObj.extend[type] = {
10995            title: menuTitle,
10996            menuLocation: menuLocation,
10997        };
10998        if (type === "visualOptionsMenu") {
10999            newCommandObj.icon = icon;
11000        }
11001        if (groupName) {
11002            var extend = newCommandObj.extend[type];
11003            delete extend.menuLocation;
11004            var groupExtend = newCommandObj.extend[type];
11005            groupExtend.groupName = groupName;
11006        }
11007        if (visualName) {
11008            newCommandObj.selector = {
11009                $schema: "http://powerbi.com/product/schema#visualSelector",
11010                visualName: visualName
11011            };
11012        }
11013        if (visualType) {
11014            newCommandObj.selector = {
11015                $schema: "http://powerbi.com/product/schema#visualTypeSelector",
11016                visualType: visualType
11017            };
11018        }
11019        return __spreadArray(__spreadArray([], this.commands, true), [newCommandObj], false);
11020    };
11021    /**
11022     * @hidden
11023     */
11024    Report.prototype.findCommandMenuIndex = function (type, commands, commandName, menuTitle) {
11025        var indexOfCommand = -1;
11026        commands.some(function (activeMenuCommand, index) {
11027            return (activeMenuCommand.name === commandName && activeMenuCommand.extend[type] && activeMenuCommand.extend[type].title === menuTitle) ? (indexOfCommand = index, true) : false;
11028        });
11029        return indexOfCommand;
11030    };
11031    /**
11032     * @hidden
11033     */
11034    Report.prototype.buildLayoutSettingsObject = function (pageName, visualName, visualLayout) {
11035        // Create new settings object with custom layout type
11036        var newSettings = {
11037            layoutType: powerbi_models_1.LayoutType.Custom,
11038            customLayout: {
11039                pagesLayout: {}
11040            }
11041        };
11042        newSettings.customLayout.pagesLayout[pageName] = {
11043            visualsLayout: {}
11044        };
11045        newSettings.customLayout.pagesLayout[pageName].visualsLayout[visualName] = visualLayout;
11046        return newSettings;
11047    };
11048    /**
11049     * @hidden
11050     */
11051    Report.prototype.validateVisual = function (pageName, visualName) {
11052        return __awaiter(this, void 0, void 0, function () {
11053            var page;
11054            return __generator(this, function (_a) {
11055                switch (_a.label) {
11056                    case 0: return [4 /*yield*/, this.getPageByName(pageName)];
11057                    case 1:
11058                        page = _a.sent();
11059                        return [4 /*yield*/, page.getVisualByName(visualName)];
11060                    case 2: return [2 /*return*/, _a.sent()];
11061                }
11062            });
11063        });
11064    };
11065    /**
11066     * @hidden
11067     */
11068    Report.prototype.applyThemeInternal = function (theme) {
11069        return __awaiter(this, void 0, void 0, function () {
11070            var response, response_20;
11071            return __generator(this, function (_a) {
11072                switch (_a.label) {
11073                    case 0:
11074                        _a.trys.push([0, 2, , 3]);
11075                        return [4 /*yield*/, this.service.hpm.put('/report/theme', theme, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
11076                    case 1:
11077                        response = _a.sent();
11078                        return [2 /*return*/, response.body];
11079                    case 2:
11080                        response_20 = _a.sent();
11081                        throw response_20.body;
11082                    case 3: return [2 /*return*/];
11083                }
11084            });
11085        });
11086    };
11087    /**
11088     * @hidden
11089     */
11090    Report.prototype.viewModeToString = function (viewMode) {
11091        var mode;
11092        switch (viewMode) {
11093            case powerbi_models_1.ViewMode.Edit:
11094                mode = "edit";
11095                break;
11096            case powerbi_models_1.ViewMode.View:
11097                mode = "view";
11098                break;
11099        }
11100        return mode;
11101    };
11102    /**
11103     * @hidden
11104     */
11105    Report.prototype.isMobileSettings = function (settings) {
11106        return settings && (settings.layoutType === powerbi_models_1.LayoutType.MobileLandscape || settings.layoutType === powerbi_models_1.LayoutType.MobilePortrait);
11107    };
11108    /**
11109     * Return the current zoom level of the report.
11110     *
11111     * @returns {Promise<number>}
11112     */
11113    Report.prototype.getZoom = function () {
11114        return __awaiter(this, void 0, void 0, function () {
11115            var response, response_21;
11116            return __generator(this, function (_a) {
11117                switch (_a.label) {
11118                    case 0:
11119                        _a.trys.push([0, 2, , 3]);
11120                        return [4 /*yield*/, this.service.hpm.get("/report/zoom", { uid: this.config.uniqueId }, this.iframe.contentWindow)];
11121                    case 1:
11122                        response = _a.sent();
11123                        return [2 /*return*/, response.body];
11124                    case 2:
11125                        response_21 = _a.sent();
11126                        throw response_21.body;
11127                    case 3: return [2 /*return*/];
11128                }
11129            });
11130        });
11131    };
11132    /**
11133     * Sets the report's zoom level.
11134     *
11135     * @param zoomLevel zoom level to set
11136     */
11137    Report.prototype.setZoom = function (zoomLevel) {
11138        return __awaiter(this, void 0, void 0, function () {
11139            return __generator(this, function (_a) {
11140                switch (_a.label) {
11141                    case 0: return [4 /*yield*/, this.updateSettings({ zoomLevel: zoomLevel })];
11142                    case 1:
11143                        _a.sent();
11144                        return [2 /*return*/];
11145                }
11146            });
11147        });
11148    };
11149    /**
11150     * Closes all open context menus and tooltips.
11151     *
11152     * ```javascript
11153     * report.closeAllOverlays()
11154     *  .then(() => {
11155     *      ...
11156     *  });
11157     * ```
11158     *
11159     * @returns {Promise<void>}
11160     */
11161    Report.prototype.closeAllOverlays = function () {
11162        return __awaiter(this, void 0, void 0, function () {
11163            var response, error_1;
11164            return __generator(this, function (_a) {
11165                switch (_a.label) {
11166                    case 0:
11167                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
11168                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
11169                        }
11170                        _a.label = 1;
11171                    case 1:
11172                        _a.trys.push([1, 3, , 4]);
11173                        return [4 /*yield*/, this.service.hpm.post('/report/closeAllOverlays', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
11174                    case 2:
11175                        response = _a.sent();
11176                        return [2 /*return*/, response.body];
11177                    case 3:
11178                        error_1 = _a.sent();
11179                        return [2 /*return*/, Promise.reject(error_1)];
11180                    case 4: return [2 /*return*/];
11181                }
11182            });
11183        });
11184    };
11185    /**
11186     * Clears selected not popped out visuals, if flag is passed, all visuals selections will be cleared.
11187     *
11188     * ```javascript
11189     * report.clearSelectedVisuals()
11190     *  .then(() => {
11191     *      ...
11192     *  });
11193     * ```
11194     *
11195     * @param {Boolean} [clearPopOutState=false]
11196     *    If false / undefined visuals selection will not be cleared if one of visuals
11197     *    is in popped out state (in focus, show as table, spotlight...)
11198     * @returns {Promise<void>}
11199     */
11200    Report.prototype.clearSelectedVisuals = function (clearPopOutState) {
11201        return __awaiter(this, void 0, void 0, function () {
11202            var response, error_2;
11203            return __generator(this, function (_a) {
11204                switch (_a.label) {
11205                    case 0:
11206                        clearPopOutState = clearPopOutState === true;
11207                        if ((0, util_1.isRDLEmbed)(this.config.embedUrl)) {
11208                            return [2 /*return*/, Promise.reject(errors_1.APINotSupportedForRDLError)];
11209                        }
11210                        _a.label = 1;
11211                    case 1:
11212                        _a.trys.push([1, 3, , 4]);
11213                        return [4 /*yield*/, this.service.hpm.post("/report/clearSelectedVisuals/".concat(clearPopOutState.toString()), null, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
11214                    case 2:
11215                        response = _a.sent();
11216                        return [2 /*return*/, response.body];
11217                    case 3:
11218                        error_2 = _a.sent();
11219                        return [2 /*return*/, Promise.reject(error_2)];
11220                    case 4: return [2 /*return*/];
11221                }
11222            });
11223        });
11224    };
11225    /** @hidden */
11226    Report.allowedEvents = ["filtersApplied", "pageChanged", "commandTriggered", "swipeStart", "swipeEnd", "bookmarkApplied", "dataHyperlinkClicked", "visualRendered", "visualClicked", "selectionChanged", "renderingStarted", "blur"];
11227    /** @hidden */
11228    Report.reportIdAttribute = 'powerbi-report-id';
11229    /** @hidden */
11230    Report.filterPaneEnabledAttribute = 'powerbi-settings-filter-pane-enabled';
11231    /** @hidden */
11232    Report.navContentPaneEnabledAttribute = 'powerbi-settings-nav-content-pane-enabled';
11233    /** @hidden */
11234    Report.typeAttribute = 'powerbi-type';
11235    /** @hidden */
11236    Report.type = "Report";
11237    return Report;
11238}(embed_1.Embed));
11239exports.Report = Report;
11240
11241
11242/***/ }),
11243
vendor: 42,008 bytes, lines 11244-12291
11244/***/ "./src/service.ts":
11245/*!************************!*\
11246  !*** ./src/service.ts ***!
11247  \************************/
11248/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
11249
11250// Copyright (c) Microsoft Corporation.
11251// Licensed under the MIT License.
11252var __assign = (this && this.__assign) || function () {
11253    __assign = Object.assign || function(t) {
11254        for (var s, i = 1, n = arguments.length; i < n; i++) {
11255            s = arguments[i];
11256            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
11257                t[p] = s[p];
11258        }
11259        return t;
11260    };
11261    return __assign.apply(this, arguments);
11262};
11263var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
11264    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
11265    return new (P || (P = Promise))(function (resolve, reject) {
11266        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
11267        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
11268        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
11269        step((generator = generator.apply(thisArg, _arguments || [])).next());
11270    });
11271};
11272var __generator = (this && this.__generator) || function (thisArg, body) {
11273    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
11274    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
11275    function verb(n) { return function (v) { return step([n, v]); }; }
11276    function step(op) {
11277        if (f) throw new TypeError("Generator is already executing.");
11278        while (_) try {
11279            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;
11280            if (y = 0, t) op = [op[0] & 2, t.value];
11281            switch (op[0]) {
11282                case 0: case 1: t = op; break;
11283                case 4: _.label++; return { value: op[1], done: false };
11284                case 5: _.label++; y = op[1]; op = [0]; continue;
11285                case 7: op = _.ops.pop(); _.trys.pop(); continue;
11286                default:
11287                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
11288                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
11289                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
11290                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
11291                    if (t[2]) _.ops.pop();
11292                    _.trys.pop(); continue;
11293            }
11294            op = body.call(thisArg, _);
11295        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
11296        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
11297    }
11298};
11299Object.defineProperty(exports, "__esModule", ({ value: true }));
11300exports.Service = void 0;
11301var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts");
11302var report_1 = __webpack_require__(/*! ./report */ "./src/report.ts");
11303var create_1 = __webpack_require__(/*! ./create */ "./src/create.ts");
11304var dashboard_1 = __webpack_require__(/*! ./dashboard */ "./src/dashboard.ts");
11305var tile_1 = __webpack_require__(/*! ./tile */ "./src/tile.ts");
11306var page_1 = __webpack_require__(/*! ./page */ "./src/page.ts");
11307var qna_1 = __webpack_require__(/*! ./qna */ "./src/qna.ts");
11308var visual_1 = __webpack_require__(/*! ./visual */ "./src/visual.ts");
11309var utils = __webpack_require__(/*! ./util */ "./src/util.ts");
11310var quickCreate_1 = __webpack_require__(/*! ./quickCreate */ "./src/quickCreate.ts");
11311var sdkConfig = __webpack_require__(/*! ./config */ "./src/config.ts");
11312var errors_1 = __webpack_require__(/*! ./errors */ "./src/errors.ts");
11313/**
11314 * The Power BI Service embed component, which is the entry point to embed all other Power BI components into your application
11315 *
11316 * @export
11317 * @class Service
11318 * @implements {IService}
11319 */
11320var Service = /** @class */ (function () {
11321    /**
11322     * Creates an instance of a Power BI Service.
11323     *
11324     * @param {IHpmFactory} hpmFactory The http post message factory used in the postMessage communication layer
11325     * @param {IWpmpFactory} wpmpFactory The window post message factory used in the postMessage communication layer
11326     * @param {IRouterFactory} routerFactory The router factory used in the postMessage communication layer
11327     * @param {IServiceConfiguration} [config={}]
11328     * @hidden
11329     */
11330    function Service(hpmFactory, wpmpFactory, routerFactory, config) {
11331        if (config === void 0) { config = {}; }
11332        var _this = this;
11333        /**
11334         * @hidden
11335         */
11336        this.registeredComponents = {};
11337        this.wpmp = wpmpFactory(config.wpmpName, config.logMessages);
11338        this.hpm = hpmFactory(this.wpmp, null, config.version, config.type, config.sdkWrapperVersion);
11339        this.router = routerFactory(this.wpmp);
11340        this.uniqueSessionId = utils.generateUUID();
11341        /**
11342         * Adds handler for report events.
11343         */
11344        this.router.post("/reports/:uniqueId/events/:eventName", function (req, _res) {
11345            var event = {
11346                type: 'report',
11347                id: req.params.uniqueId,
11348                name: req.params.eventName,
11349                value: req.body
11350            };
11351            _this.handleEvent(event);
11352        });
11353        this.router.post("/reports/:uniqueId/pages/:pageName/events/:eventName", function (req, _res) {
11354            var event = {
11355                type: 'report',
11356                id: req.params.uniqueId,
11357                name: req.params.eventName,
11358                value: req.body
11359            };
11360            _this.handleEvent(event);
11361        });
11362        this.router.post("/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName", function (req, _res) {
11363            var event = {
11364                type: 'report',
11365                id: req.params.uniqueId,
11366                name: req.params.eventName,
11367                value: req.body
11368            };
11369            _this.handleEvent(event);
11370        });
11371        this.router.post("/dashboards/:uniqueId/events/:eventName", function (req, _res) {
11372            var event = {
11373                type: 'dashboard',
11374                id: req.params.uniqueId,
11375                name: req.params.eventName,
11376                value: req.body
11377            };
11378            _this.handleEvent(event);
11379        });
11380        this.router.post("/tile/:uniqueId/events/:eventName", function (req, _res) {
11381            var event = {
11382                type: 'tile',
11383                id: req.params.uniqueId,
11384                name: req.params.eventName,
11385                value: req.body
11386            };
11387            _this.handleEvent(event);
11388        });
11389        /**
11390         * Adds handler for Q&A events.
11391         */
11392        this.router.post("/qna/:uniqueId/events/:eventName", function (req, _res) {
11393            var event = {
11394                type: 'qna',
11395                id: req.params.uniqueId,
11396                name: req.params.eventName,
11397                value: req.body
11398            };
11399            _this.handleEvent(event);
11400        });
11401        /**
11402         * Adds handler for front load 'ready' message.
11403         */
11404        this.router.post("/ready/:uniqueId", function (req, _res) {
11405            var event = {
11406                type: 'report',
11407                id: req.params.uniqueId,
11408                name: 'ready',
11409                value: req.body
11410            };
11411            _this.handleEvent(event);
11412        });
11413        this.embeds = [];
11414        // TODO: Change when Object.assign is available.
11415        this.config = utils.assign({}, Service.defaultConfig, config);
11416        if (this.config.autoEmbedOnContentLoaded) {
11417            this.enableAutoEmbed();
11418        }
11419    }
11420    /**
11421     * Creates new report
11422     *
11423     * @param {HTMLElement} element
11424     * @param {IEmbedConfiguration} [config={}]
11425     * @returns {Embed}
11426     */
11427    Service.prototype.createReport = function (element, config) {
11428        config.type = 'create';
11429        var powerBiElement = element;
11430        var component = new create_1.Create(this, powerBiElement, config);
11431        powerBiElement.powerBiEmbed = component;
11432        this.addOrOverwriteEmbed(component, element);
11433        return component;
11434    };
11435    /**
11436     * Creates new dataset
11437     *
11438     * @param {HTMLElement} element
11439     * @param {IEmbedConfiguration} [config={}]
11440     * @returns {Embed}
11441     */
11442    Service.prototype.quickCreate = function (element, config) {
11443        config.type = 'quickCreate';
11444        var powerBiElement = element;
11445        var component = new quickCreate_1.QuickCreate(this, powerBiElement, config);
11446        powerBiElement.powerBiEmbed = component;
11447        this.addOrOverwriteEmbed(component, element);
11448        return component;
11449    };
11450    /**
11451     * TODO: Add a description here
11452     *
11453     * @param {HTMLElement} [container]
11454     * @param {IEmbedConfiguration} [config=undefined]
11455     * @returns {Embed[]}
11456     * @hidden
11457     */
11458    Service.prototype.init = function (container, config) {
11459        var _this = this;
11460        if (config === void 0) { config = undefined; }
11461        container = (container && container instanceof HTMLElement) ? container : document.body;
11462        var elements = Array.prototype.slice.call(container.querySelectorAll("[".concat(embed_1.Embed.embedUrlAttribute, "]")));
11463        return elements.map(function (element) { return _this.embed(element, config); });
11464    };
11465    /**
11466     * Given a configuration based on an HTML element,
11467     * if the component has already been created and attached to the element, reuses the component instance and existing iframe,
11468     * otherwise creates a new component instance.
11469     *
11470     * @param {HTMLElement} element
11471     * @param {IEmbedConfigurationBase} [config={}]
11472     * @returns {Embed}
11473     */
11474    Service.prototype.embed = function (element, config) {
11475        if (config === void 0) { config = {}; }
11476        return this.embedInternal(element, config);
11477    };
11478    /**
11479     * Given a configuration based on an HTML element,
11480     * if the component has already been created and attached to the element, reuses the component instance and existing iframe,
11481     * otherwise creates a new component instance.
11482     * This is used for the phased embedding API, once element is loaded successfully, one can call 'render' on it.
11483     *
11484     * @param {HTMLElement} element
11485     * @param {IEmbedConfigurationBase} [config={}]
11486     * @returns {Embed}
11487     */
11488    Service.prototype.load = function (element, config) {
11489        if (config === void 0) { config = {}; }
11490        return this.embedInternal(element, config, /* phasedRender */ true, /* isBootstrap */ false);
11491    };
11492    /**
11493     * Given an HTML element and entityType, creates a new component instance, and bootstrap the iframe for embedding.
11494     *
11495     * @param {HTMLElement} element
11496     * @param {IBootstrapEmbedConfiguration} config: a bootstrap config which is an embed config without access token.
11497     */
11498    Service.prototype.bootstrap = function (element, config) {
11499        return this.embedInternal(element, config, /* phasedRender */ false, /* isBootstrap */ true);
11500    };
11501    /** @hidden */
11502    Service.prototype.embedInternal = function (element, config, phasedRender, isBootstrap) {
11503        if (config === void 0) { config = {}; }
11504        var component;
11505        var powerBiElement = element;
11506        if (powerBiElement.powerBiEmbed) {
11507            if (isBootstrap) {
11508                throw new Error("Attempted to bootstrap element ".concat(element.outerHTML, ", but the element is already a powerbi element."));
11509            }
11510            component = this.embedExisting(powerBiElement, config, phasedRender);
11511        }
11512        else {
11513            component = this.embedNew(powerBiElement, config, phasedRender, isBootstrap);
11514        }
11515        return component;
11516    };
11517    /** @hidden */
11518    Service.prototype.getNumberOfComponents = function () {
11519        if (!this.embeds) {
11520            return 0;
11521        }
11522        return this.embeds.length;
11523    };
11524    /** @hidden */
11525    Service.prototype.getSdkSessionId = function () {
11526        return this.uniqueSessionId;
11527    };
11528    /**
11529     * Returns the Power BI Client SDK version
11530     *
11531     * @hidden
11532     */
11533    Service.prototype.getSDKVersion = function () {
11534        return sdkConfig.default.version;
11535    };
11536    /**
11537     * Given a configuration based on a Power BI element, saves the component instance that reference the element for later lookup.
11538     *
11539     * @private
11540     * @param {IPowerBiElement} element
11541     * @param {IEmbedConfigurationBase} config
11542     * @param {boolean} phasedRender
11543     * @param {boolean} isBootstrap
11544     * @returns {Embed}
11545     * @hidden
11546     */
11547    Service.prototype.embedNew = function (element, config, phasedRender, isBootstrap) {
11548        var componentType = config.type || element.getAttribute(embed_1.Embed.typeAttribute);
11549        if (!componentType) {
11550            var scrubbedConfig = __assign(__assign({}, config), { accessToken: "" });
11551            throw new Error("Attempted to embed using config ".concat(JSON.stringify(scrubbedConfig), " on element ").concat(element.outerHTML, ", but could not determine what type of component to embed. You must specify a type in the configuration or as an attribute such as '").concat(embed_1.Embed.typeAttribute, "=\"").concat(report_1.Report.type.toLowerCase(), "\"'."));
11552        }
11553        // Saves the type as part of the configuration so that it can be referenced later at a known location.
11554        config.type = componentType;
11555        var component = this.createEmbedComponent(componentType, element, config, phasedRender, isBootstrap);
11556        element.powerBiEmbed = component;
11557        this.addOrOverwriteEmbed(component, element);
11558        return component;
11559    };
11560    /**
11561     * Given component type, creates embed component instance
11562     *
11563     * @private
11564     * @param {string} componentType
11565     * @param {HTMLElement} element
11566     * @param {IEmbedConfigurationBase} config
11567     * @param {boolean} phasedRender
11568     * @param {boolean} isBootstrap
11569     * @returns {Embed}
11570     * @hidden
11571     */
11572    Service.prototype.createEmbedComponent = function (componentType, element, config, phasedRender, isBootstrap) {
11573        var Component = utils.find(function (embedComponent) { return componentType === embedComponent.type.toLowerCase(); }, Service.components);
11574        if (Component) {
11575            return new Component(this, element, config, phasedRender, isBootstrap);
11576        }
11577        // If component type is not legacy, search in registered components
11578        var registeredComponent = utils.find(function (registeredComponentType) { return componentType.toLowerCase() === registeredComponentType.toLowerCase(); }, Object.keys(this.registeredComponents));
11579        if (!registeredComponent) {
11580            throw new Error("Attempted to embed component of type: ".concat(componentType, " but did not find any matching component.  Please verify the type you specified is intended."));
11581        }
11582        return this.registeredComponents[registeredComponent](this, element, config, phasedRender, isBootstrap);
11583    };
11584    /**
11585     * Given an element that already contains an embed component, load with a new configuration.
11586     *
11587     * @private
11588     * @param {IPowerBiElement} element
11589     * @param {IEmbedConfigurationBase} config
11590     * @returns {Embed}
11591     * @hidden
11592     */
11593    Service.prototype.embedExisting = function (element, config, phasedRender) {
11594        var component = utils.find(function (x) { return x.element === element; }, this.embeds);
11595        if (!component) {
11596            var scrubbedConfig = __assign(__assign({}, config), { accessToken: "" });
11597            throw new Error("Attempted to embed using config ".concat(JSON.stringify(scrubbedConfig), " on element ").concat(element.outerHTML, " which already has embedded component associated, but could not find the existing component in the list of active components. This could indicate the embeds list is out of sync with the DOM, or the component is referencing the incorrect HTML element."));
11598        }
11599        // TODO: Multiple embedding to the same iframe is not supported in QnA
11600        if (config.type && config.type.toLowerCase() === "qna") {
11601            return this.embedNew(element, config);
11602        }
11603        /**
11604         * TODO: Dynamic embed type switching could be supported but there is work needed to prepare the service state and DOM cleanup.
11605         * remove all event handlers from the DOM, then reset the element to initial state which removes iframe, and removes from list of embeds
11606         * then we can call the embedNew function which would allow setting the proper embedUrl and construction of object based on the new type.
11607         */
11608        if (typeof config.type === "string" && config.type !== component.config.type) {
11609            /**
11610             * When loading report after create we want to use existing Iframe to optimize load period
11611             */
11612            if (config.type === "report" && utils.isCreate(component.config.type)) {
11613                var report = new report_1.Report(this, element, config, /* phasedRender */ false, /* isBootstrap */ false, element.powerBiEmbed.iframe);
11614                component.populateConfig(config, /* isBootstrap */ false);
11615                report.load();
11616                element.powerBiEmbed = report;
11617                this.addOrOverwriteEmbed(component, element);
11618                return report;
11619            }
11620            var scrubbedConfig = __assign(__assign({}, config), { accessToken: "" });
11621            throw new Error("Embedding on an existing element with a different type than the previous embed object is not supported.  Attempted to embed using config ".concat(JSON.stringify(scrubbedConfig), " on element ").concat(element.outerHTML, ", but the existing element contains an embed of type: ").concat(this.config.type, " which does not match the new type: ").concat(config.type));
11622        }
11623        component.populateConfig(config, /* isBootstrap */ false);
11624        component.load(phasedRender);
11625        return component;
11626    };
11627    /**
11628     * Adds an event handler for DOMContentLoaded, which searches the DOM for elements that have the 'powerbi-embed-url' attribute,
11629     * and automatically attempts to embed a powerbi component based on information from other powerbi-* attributes.
11630     *
11631     * Note: Only runs if `config.autoEmbedOnContentLoaded` is true when the service is created.
11632     * This handler is typically useful only for applications that are rendered on the server so that all required data is available when the handler is called.
11633     *
11634     * @hidden
11635     */
11636    Service.prototype.enableAutoEmbed = function () {
11637        var _this = this;
11638        window.addEventListener('DOMContentLoaded', function (_event) { return _this.init(document.body); }, false);
11639    };
11640    /**
11641     * Returns an instance of the component associated with the element.
11642     *
11643     * @param {HTMLElement} element
11644     * @returns {(Report | Tile)}
11645     */
11646    Service.prototype.get = function (element) {
11647        var powerBiElement = element;
11648        if (!powerBiElement.powerBiEmbed) {
11649            throw new Error("You attempted to get an instance of powerbi component associated with element: ".concat(element.outerHTML, " but there was no associated instance."));
11650        }
11651        return powerBiElement.powerBiEmbed;
11652    };
11653    /**
11654     * Finds an embed instance by the name or unique ID that is provided.
11655     *
11656     * @param {string} uniqueId
11657     * @returns {(Report | Tile)}
11658     * @hidden
11659     */
11660    Service.prototype.find = function (uniqueId) {
11661        return utils.find(function (x) { return x.config.uniqueId === uniqueId; }, this.embeds);
11662    };
11663    /**
11664     * Removes embed components whose container element is same as the given element
11665     *
11666     * @param {Embed} component
11667     * @param {HTMLElement} element
11668     * @returns {void}
11669     * @hidden
11670     */
11671    Service.prototype.addOrOverwriteEmbed = function (component, element) {
11672        // remove embeds over the same div element.
11673        this.embeds = this.embeds.filter(function (embed) {
11674            return embed.element !== element;
11675        });
11676        this.embeds.push(component);
11677    };
11678    /**
11679     * Given an HTML element that has a component embedded within it, removes the component from the list of embedded components, removes the association between the element and the component, and removes the iframe.
11680     *
11681     * @param {HTMLElement} element
11682     * @returns {void}
11683     */
11684    Service.prototype.reset = function (element) {
11685        var powerBiElement = element;
11686        if (!powerBiElement.powerBiEmbed) {
11687            return;
11688        }
11689        /** Removes the element frontLoad listener if exists. */
11690        var embedElement = powerBiElement.powerBiEmbed;
11691        if (embedElement.frontLoadHandler) {
11692            embedElement.element.removeEventListener('ready', embedElement.frontLoadHandler, false);
11693        }
11694        /** Removes all event handlers. */
11695        embedElement.allowedEvents.forEach(function (eventName) {
11696            embedElement.off(eventName);
11697        });
11698        /** Removes the component from an internal list of components. */
11699        utils.remove(function (x) { return x === powerBiElement.powerBiEmbed; }, this.embeds);
11700        /** Deletes a property from the HTML element. */
11701        delete powerBiElement.powerBiEmbed;
11702        /** Removes the iframe from the element. */
11703        var iframe = element.querySelector('iframe');
11704        if (iframe) {
11705            if (iframe.remove !== undefined) {
11706                iframe.remove();
11707            }
11708            else {
11709                /** Workaround for IE: unhandled rejection TypeError: object doesn't support property or method 'remove' */
11710                iframe.parentElement.removeChild(iframe);
11711            }
11712        }
11713    };
11714    /**
11715     * handles tile events
11716     *
11717     * @param {IEvent<any>} event
11718     * @hidden
11719     */
11720    Service.prototype.handleTileEvents = function (event) {
11721        if (event.type === 'tile') {
11722            this.handleEvent(event);
11723        }
11724    };
11725    Service.prototype.invokeSDKHook = function (hook, req, res) {
11726        return __awaiter(this, void 0, void 0, function () {
11727            var result, error_1;
11728            return __generator(this, function (_a) {
11729                switch (_a.label) {
11730                    case 0:
11731                        if (!hook) {
11732                            res.send(404, null);
11733                            return [2 /*return*/];
11734                        }
11735                        _a.label = 1;
11736                    case 1:
11737                        _a.trys.push([1, 3, , 4]);
11738                        return [4 /*yield*/, hook(req.body)];
11739                    case 2:
11740                        result = _a.sent();
11741                        res.send(200, result);
11742                        return [3 /*break*/, 4];
11743                    case 3:
11744                        error_1 = _a.sent();
11745                        res.send(400, null);
11746                        console.error(error_1);
11747                        return [3 /*break*/, 4];
11748                    case 4: return [2 /*return*/];
11749                }
11750            });
11751        });
11752    };
11753    /**
11754     * Given an event object, finds the embed component with the matching type and ID, and invokes its handleEvent method with the event object.
11755     *
11756     * @private
11757     * @param {IEvent<any>} event
11758     * @hidden
11759     */
11760    Service.prototype.handleEvent = function (event) {
11761        var embed = utils.find(function (embed) {
11762            return (embed.config.uniqueId === event.id);
11763        }, this.embeds);
11764        if (embed) {
11765            var value = event.value;
11766            if (event.name === 'pageChanged') {
11767                var pageKey = 'newPage';
11768                var page = value[pageKey];
11769                if (!page) {
11770                    throw new Error("Page model not found at 'event.value.".concat(pageKey, "'."));
11771                }
11772                value[pageKey] = new page_1.Page(embed, page.name, page.displayName, true /* isActive */);
11773            }
11774            utils.raiseCustomEvent(embed.element, event.name, value);
11775        }
11776    };
11777    /**
11778     * API for warm starting powerbi embedded endpoints.
11779     * Use this API to preload Power BI Embedded in the background.
11780     *
11781     * @public
11782     * @param {IEmbedConfigurationBase} [config={}]
11783     * @param {HTMLElement} [element=undefined]
11784     */
11785    Service.prototype.preload = function (config, element) {
11786        if (!utils.validateEmbedUrl(config.embedUrl)) {
11787            throw new Error(errors_1.invalidEmbedUrlErrorMessage);
11788        }
11789        var iframeContent = document.createElement("iframe");
11790        iframeContent.setAttribute("style", "display:none;");
11791        iframeContent.setAttribute("src", config.embedUrl);
11792        iframeContent.setAttribute("scrolling", "no");
11793        iframeContent.setAttribute("allowfullscreen", "false");
11794        var node = element;
11795        if (!node) {
11796            node = document.getElementsByTagName("body")[0];
11797        }
11798        node.appendChild(iframeContent);
11799        iframeContent.onload = function () {
11800            utils.raiseCustomEvent(iframeContent, "preloaded", {});
11801        };
11802        return iframeContent;
11803    };
11804    /**
11805     * Use this API to set SDK info
11806     *
11807     * @hidden
11808     * @param {string} type
11809     * @returns {void}
11810     */
11811    Service.prototype.setSdkInfo = function (type, version) {
11812        this.hpm.defaultHeaders['x-sdk-type'] = type;
11813        this.hpm.defaultHeaders['x-sdk-wrapper-version'] = version;
11814    };
11815    /**
11816     * API for registering external components
11817     *
11818     * @hidden
11819     * @param {string} componentType
11820     * @param {EmbedComponentFactory} embedComponentFactory
11821     * @param {string[]} routerEventUrls
11822     */
11823    Service.prototype.register = function (componentType, embedComponentFactory, routerEventUrls) {
11824        var _this = this;
11825        if (utils.find(function (embedComponent) { return componentType.toLowerCase() === embedComponent.type.toLowerCase(); }, Service.components)) {
11826            throw new Error('The component name is reserved. Cannot register a component with this name.');
11827        }
11828        if (utils.find(function (registeredComponentType) { return componentType.toLowerCase() === registeredComponentType.toLowerCase(); }, Object.keys(this.registeredComponents))) {
11829            throw new Error('A component with this type is already registered.');
11830        }
11831        this.registeredComponents[componentType] = embedComponentFactory;
11832        routerEventUrls.forEach(function (url) {
11833            if (!url.includes(':uniqueId') || !url.includes(':eventName')) {
11834                throw new Error('Invalid router event URL');
11835            }
11836            _this.router.post(url, function (req, _res) {
11837                var event = {
11838                    type: componentType,
11839                    id: req.params.uniqueId,
11840                    name: req.params.eventName,
11841                    value: req.body
11842                };
11843                _this.handleEvent(event);
11844            });
11845        });
11846    };
11847    /**
11848     * A list of components that this service can embed
11849     */
11850    Service.components = [
11851        tile_1.Tile,
11852        report_1.Report,
11853        dashboard_1.Dashboard,
11854        qna_1.Qna,
11855        visual_1.Visual
11856    ];
11857    /**
11858     * The default configuration for the service
11859     */
11860    Service.defaultConfig = {
11861        autoEmbedOnContentLoaded: false,
11862        onError: function () {
11863            var args = [];
11864            for (var _i = 0; _i < arguments.length; _i++) {
11865                args[_i] = arguments[_i];
11866            }
11867            return console.log(args[0], args.slice(1));
11868        }
11869    };
11870    return Service;
11871}());
11872exports.Service = Service;
11873
11874
11875/***/ }),
11876
11877/***/ "./src/tile.ts":
11878/*!*********************!*\
11879  !*** ./src/tile.ts ***!
11880  \*********************/
11881/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
11882
11883// Copyright (c) Microsoft Corporation.
11884// Licensed under the MIT License.
11885var __extends = (this && this.__extends) || (function () {
11886    var extendStatics = function (d, b) {
11887        extendStatics = Object.setPrototypeOf ||
11888            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
11889            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
11890        return extendStatics(d, b);
11891    };
11892    return function (d, b) {
11893        if (typeof b !== "function" && b !== null)
11894            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
11895        extendStatics(d, b);
11896        function __() { this.constructor = d; }
11897        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
11898    };
11899})();
11900Object.defineProperty(exports, "__esModule", ({ value: true }));
11901exports.Tile = void 0;
11902var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
11903var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts");
11904/**
11905 * The Power BI tile embed component
11906 *
11907 * @export
11908 * @class Tile
11909 * @extends {Embed}
11910 */
11911var Tile = /** @class */ (function (_super) {
11912    __extends(Tile, _super);
11913    /**
11914     * @hidden
11915     */
11916    function Tile(service, element, baseConfig, phasedRender, isBootstrap) {
11917        var _this = this;
11918        var config = baseConfig;
11919        _this = _super.call(this, service, element, config, /* iframe */ undefined, phasedRender, isBootstrap) || this;
11920        _this.loadPath = "/tile/load";
11921        Array.prototype.push.apply(_this.allowedEvents, Tile.allowedEvents);
11922        return _this;
11923    }
11924    /**
11925     * The ID of the tile
11926     *
11927     * @returns {string}
11928     */
11929    Tile.prototype.getId = function () {
11930        var config = this.config;
11931        var tileId = config.id || Tile.findIdFromEmbedUrl(this.config.embedUrl);
11932        if (typeof tileId !== 'string' || tileId.length === 0) {
11933            throw new Error("Tile id is required, but it was not found. You must provide an id either as part of embed configuration.");
11934        }
11935        return tileId;
11936    };
11937    /**
11938     * Validate load configuration.
11939     */
11940    Tile.prototype.validate = function (config) {
11941        var embedConfig = config;
11942        return (0, powerbi_models_1.validateTileLoad)(embedConfig);
11943    };
11944    /**
11945     * Handle config changes.
11946     *
11947     * @returns {void}
11948     */
11949    Tile.prototype.configChanged = function (isBootstrap) {
11950        if (isBootstrap) {
11951            return;
11952        }
11953        // Populate tile id into config object.
11954        this.config.id = this.getId();
11955    };
11956    /**
11957     * @hidden
11958     * @returns {string}
11959     */
11960    Tile.prototype.getDefaultEmbedUrlEndpoint = function () {
11961        return "tileEmbed";
11962    };
11963    /**
11964     * Adds the ability to get tileId from url.
11965     * By extracting the ID we can ensure that the ID is always explicitly provided as part of the load configuration.
11966     *
11967     * @hidden
11968     * @static
11969     * @param {string} url
11970     * @returns {string}
11971     */
11972    Tile.findIdFromEmbedUrl = function (url) {
11973        var tileIdRegEx = /tileId="?([^&]+)"?/;
11974        var tileIdMatch = url.match(tileIdRegEx);
11975        var tileId;
11976        if (tileIdMatch) {
11977            tileId = tileIdMatch[1];
11978        }
11979        return tileId;
11980    };
11981    /** @hidden */
11982    Tile.type = "Tile";
11983    /** @hidden */
11984    Tile.allowedEvents = ["tileClicked", "tileLoaded"];
11985    return Tile;
11986}(embed_1.Embed));
11987exports.Tile = Tile;
11988
11989
11990/***/ }),
11991
11992/***/ "./src/util.ts":
11993/*!*********************!*\
11994  !*** ./src/util.ts ***!
11995  \*********************/
11996/***/ (function(__unused_webpack_module, exports) {
11997
11998// Copyright (c) Microsoft Corporation.
11999// Licensed under the MIT License.
12000var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12001    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
12002    return new (P || (P = Promise))(function (resolve, reject) {
12003        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12004        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12005        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
12006        step((generator = generator.apply(thisArg, _arguments || [])).next());
12007    });
12008};
12009var __generator = (this && this.__generator) || function (thisArg, body) {
12010    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12011    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
12012    function verb(n) { return function (v) { return step([n, v]); }; }
12013    function step(op) {
12014        if (f) throw new TypeError("Generator is already executing.");
12015        while (_) try {
12016            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;
12017            if (y = 0, t) op = [op[0] & 2, t.value];
12018            switch (op[0]) {
12019                case 0: case 1: t = op; break;
12020                case 4: _.label++; return { value: op[1], done: false };
12021                case 5: _.label++; y = op[1]; op = [0]; continue;
12022                case 7: op = _.ops.pop(); _.trys.pop(); continue;
12023                default:
12024                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
12025                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
12026                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
12027                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
12028                    if (t[2]) _.ops.pop();
12029                    _.trys.pop(); continue;
12030            }
12031            op = body.call(thisArg, _);
12032        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
12033        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
12034    }
12035};
12036Object.defineProperty(exports, "__esModule", ({ value: true }));
12037exports.validateEmbedUrl = exports.isCreate = exports.getTimeDiffInMilliseconds = exports.getRandomValue = exports.autoAuthInEmbedUrl = exports.isRDLEmbed = exports.isSavedInternal = exports.addParamToUrl = exports.generateUUID = exports.createRandomString = exports.assign = exports.remove = exports.find = exports.findIndex = exports.raiseCustomEvent = void 0;
12038/**
12039 * @hidden
12040 */
12041var allowedPowerBiHostsRegex = new RegExp(/(.+\.powerbi\.com$)|(.+\.fabric\.microsoft\.com$)|(.+\.analysis\.windows-int\.net$)|(.+\.analysis-df\.windows\.net$)/);
12042/**
12043 * @hidden
12044 */
12045var allowedPowerBiHostsSovRegex = new RegExp(/^app\.powerbi\.cn$|^app(\.mil\.|\.high\.|\.)powerbigov\.us$|^app\.powerbi\.eaglex\.ic\.gov$|^app\.powerbi\.microsoft\.scloud$/);
12046/**
12047 * @hidden
12048 */
12049var expectedEmbedUrlProtocol = "https:";
12050/**
12051 * Raises a custom event with event data on the specified HTML element.
12052 *
12053 * @export
12054 * @param {HTMLElement} element
12055 * @param {string} eventName
12056 * @param {*} eventData
12057 */
12058function raiseCustomEvent(element, eventName, eventData) {
12059    var customEvent;
12060    if (typeof CustomEvent === 'function') {
12061        customEvent = new CustomEvent(eventName, {
12062            detail: eventData,
12063            bubbles: true,
12064            cancelable: true
12065        });
12066    }
12067    else {
12068        customEvent = document.createEvent('CustomEvent');
12069        customEvent.initCustomEvent(eventName, true, true, eventData);
12070    }
12071    element.dispatchEvent(customEvent);
12072}
12073exports.raiseCustomEvent = raiseCustomEvent;
12074/**
12075 * Finds the index of the first value in an array that matches the specified predicate.
12076 *
12077 * @export
12078 * @template T
12079 * @param {(x: T) => boolean} predicate
12080 * @param {T[]} xs
12081 * @returns {number}
12082 */
12083function findIndex(predicate, xs) {
12084    if (!Array.isArray(xs)) {
12085        throw new Error("You attempted to call find with second parameter that was not an array. You passed: ".concat(xs));
12086    }
12087    var index;
12088    xs.some(function (x, i) {
12089        if (predicate(x)) {
12090            index = i;
12091            return true;
12092        }
12093    });
12094    return index;
12095}
12096exports.findIndex = findIndex;
12097/**
12098 * Finds the first value in an array that matches the specified predicate.
12099 *
12100 * @export
12101 * @template T
12102 * @param {(x: T) => boolean} predicate
12103 * @param {T[]} xs
12104 * @returns {T}
12105 */
12106function find(predicate, xs) {
12107    var index = findIndex(predicate, xs);
12108    return xs[index];
12109}
12110exports.find = find;
12111function remove(predicate, xs) {
12112    var index = findIndex(predicate, xs);
12113    xs.splice(index, 1);
12114}
12115exports.remove = remove;
12116// See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign
12117// TODO: replace in favor of using polyfill
12118/**
12119 * Copies the values of all enumerable properties from one or more source objects to a target object, and returns the target object.
12120 *
12121 * @export
12122 * @param {any} args
12123 * @returns
12124 */
12125function assign() {
12126    var args = [];
12127    for (var _i = 0; _i < arguments.length; _i++) {
12128        args[_i] = arguments[_i];
12129    }
12130    var target = args[0];
12131    'use strict';
12132    if (target === undefined || target === null) {
12133        throw new TypeError('Cannot convert undefined or null to object');
12134    }
12135    var output = Object(target);
12136    for (var index = 1; index < arguments.length; index++) {
12137        var source = arguments[index];
12138        if (source !== undefined && source !== null) {
12139            for (var nextKey in source) {
12140                if (source.hasOwnProperty(nextKey)) {
12141                    output[nextKey] = source[nextKey];
12142                }
12143            }
12144        }
12145    }
12146    return output;
12147}
12148exports.assign = assign;
12149/**
12150 * Generates a random 5 to 6 character string.
12151 *
12152 * @export
12153 * @returns {string}
12154 */
12155function createRandomString() {
12156    return getRandomValue().toString(36).substring(1);
12157}
12158exports.createRandomString = createRandomString;
12159/**
12160 * Generates a 20 character uuid.
12161 *
12162 * @export
12163 * @returns {string}
12164 */
12165function generateUUID() {
12166    var d = new Date().getTime();
12167    if (typeof performance !== 'undefined' && typeof performance.now === 'function') {
12168        d += performance.now();
12169    }
12170    return 'xxxxxxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (_c) {
12171        // Generate a random number, scaled from 0 to 15.
12172        var r = (getRandomValue() % 16);
12173        // Shift 4 times to divide by 16
12174        d >>= 4;
12175        return r.toString(16);
12176    });
12177}
12178exports.generateUUID = generateUUID;
12179/**
12180 * Adds a parameter to the given url
12181 *
12182 * @export
12183 * @param {string} url
12184 * @param {string} paramName
12185 * @param {string} value
12186 * @returns {string}
12187 */
12188function addParamToUrl(url, paramName, value) {
12189    var parameterPrefix = url.indexOf('?') > 0 ? '&' : '?';
12190    url += parameterPrefix + paramName + '=' + value;
12191    return url;
12192}
12193exports.addParamToUrl = addParamToUrl;
12194/**
12195 * Checks if the report is saved.
12196 *
12197 * @export
12198 * @param {HttpPostMessage} hpm
12199 * @param {string} uid
12200 * @param {Window} contentWindow
12201 * @returns {Promise<boolean>}
12202 */
12203function isSavedInternal(hpm, uid, contentWindow) {
12204    return __awaiter(this, void 0, void 0, function () {
12205        var response, response_1;
12206        return __generator(this, function (_a) {
12207            switch (_a.label) {
12208                case 0:
12209                    _a.trys.push([0, 2, , 3]);
12210                    return [4 /*yield*/, hpm.get('/report/hasUnsavedChanges', { uid: uid }, contentWindow)];
12211                case 1:
12212                    response = _a.sent();
12213                    return [2 /*return*/, !response.body];
12214                case 2:
12215                    response_1 = _a.sent();
12216                    throw response_1.body;
12217                case 3: return [2 /*return*/];
12218            }
12219        });
12220    });
12221}
12222exports.isSavedInternal = isSavedInternal;
12223/**
12224 * Checks if the embed url is for RDL report.
12225 *
12226 * @export
12227 * @param {string} embedUrl
12228 * @returns {boolean}
12229 */
12230function isRDLEmbed(embedUrl) {
12231    return embedUrl && embedUrl.toLowerCase().indexOf("/rdlembed?") >= 0;
12232}
12233exports.isRDLEmbed = isRDLEmbed;
12234/**
12235 * Checks if the embed url contains autoAuth=true.
12236 *
12237 * @export
12238 * @param {string} embedUrl
12239 * @returns {boolean}
12240 */
12241function autoAuthInEmbedUrl(embedUrl) {
12242    return embedUrl && decodeURIComponent(embedUrl).toLowerCase().indexOf("autoauth=true") >= 0;
12243}
12244exports.autoAuthInEmbedUrl = autoAuthInEmbedUrl;
12245/**
12246 * Returns random number
12247 */
12248function getRandomValue() {
12249    // window.msCrypto for IE
12250    var cryptoObj = window.crypto || window.msCrypto;
12251    var randomValueArray = new Uint32Array(1);
12252    cryptoObj.getRandomValues(randomValueArray);
12253    return randomValueArray[0];
12254}
12255exports.getRandomValue = getRandomValue;
12256/**
12257 * Returns the time interval between two dates in milliseconds
12258 *
12259 * @export
12260 * @param {Date} start
12261 * @param {Date} end
12262 * @returns {number}
12263 */
12264function getTimeDiffInMilliseconds(start, end) {
12265    return Math.abs(start.getTime() - end.getTime());
12266}
12267exports.getTimeDiffInMilliseconds = getTimeDiffInMilliseconds;
12268/**
12269 * Checks if the embed type is for create
12270 *
12271 * @export
12272 * @param {string} embedType
12273 * @returns {boolean}
12274 */
12275function isCreate(embedType) {
12276    return embedType === 'create' || embedType === 'quickcreate';
12277}
12278exports.isCreate = isCreate;
12279/**
12280 * Checks if the embedUrl has an allowed power BI domain
12281 * @hidden
12282 */
12283function validateEmbedUrl(embedUrl) {
12284    if (embedUrl) {
12285        var url = void 0;
12286        try {
12287            url = new URL(embedUrl.toLowerCase());
12288        }
12289        catch (e) {
12290            // invalid URL
12291            return false;
12292        }
12293        return url.protocol === expectedEmbedUrlProtocol &&
12294            (allowedPowerBiHostsRegex.test(url.hostname) || allowedPowerBiHostsSovRegex.test(url.hostname));
12295    }
12296}
12297exports.validateEmbedUrl = validateEmbedUrl;
12298
12299
12300/***/ }),
12301
vendor: 28,437 bytes, lines 12302-12975
12302/***/ "./src/visual.ts":
12303/*!***********************!*\
12304  !*** ./src/visual.ts ***!
12305  \***********************/
12306/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
12307
12308// Copyright (c) Microsoft Corporation.
12309// Licensed under the MIT License.
12310var __extends = (this && this.__extends) || (function () {
12311    var extendStatics = function (d, b) {
12312        extendStatics = Object.setPrototypeOf ||
12313            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
12314            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
12315        return extendStatics(d, b);
12316    };
12317    return function (d, b) {
12318        if (typeof b !== "function" && b !== null)
12319            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12320        extendStatics(d, b);
12321        function __() { this.constructor = d; }
12322        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
12323    };
12324})();
12325var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12326    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
12327    return new (P || (P = Promise))(function (resolve, reject) {
12328        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12329        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12330        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
12331        step((generator = generator.apply(thisArg, _arguments || [])).next());
12332    });
12333};
12334var __generator = (this && this.__generator) || function (thisArg, body) {
12335    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12336    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
12337    function verb(n) { return function (v) { return step([n, v]); }; }
12338    function step(op) {
12339        if (f) throw new TypeError("Generator is already executing.");
12340        while (_) try {
12341            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;
12342            if (y = 0, t) op = [op[0] & 2, t.value];
12343            switch (op[0]) {
12344                case 0: case 1: t = op; break;
12345                case 4: _.label++; return { value: op[1], done: false };
12346                case 5: _.label++; y = op[1]; op = [0]; continue;
12347                case 7: op = _.ops.pop(); _.trys.pop(); continue;
12348                default:
12349                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
12350                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
12351                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
12352                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
12353                    if (t[2]) _.ops.pop();
12354                    _.trys.pop(); continue;
12355            }
12356            op = body.call(thisArg, _);
12357        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
12358        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
12359    }
12360};
12361Object.defineProperty(exports, "__esModule", ({ value: true }));
12362exports.Visual = void 0;
12363var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
12364var report_1 = __webpack_require__(/*! ./report */ "./src/report.ts");
12365var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/visualDescriptor.ts");
12366/**
12367 * The Power BI Visual embed component
12368 *
12369 * @export
12370 * @class Visual
12371 */
12372var Visual = /** @class */ (function (_super) {
12373    __extends(Visual, _super);
12374    /**
12375     * Creates an instance of a Power BI Single Visual.
12376     *
12377     * @param {Service} service
12378     * @param {HTMLElement} element
12379     * @param {IEmbedConfiguration} config
12380     * @hidden
12381     */
12382    function Visual(service, element, baseConfig, phasedRender, isBootstrap, iframe) {
12383        return _super.call(this, service, element, baseConfig, phasedRender, isBootstrap, iframe) || this;
12384    }
12385    /**
12386     * @hidden
12387     */
12388    Visual.prototype.load = function (phasedRender) {
12389        var config = this.config;
12390        if (!config.accessToken) {
12391            // bootstrap flow.
12392            return;
12393        }
12394        if (typeof config.pageName !== 'string' || config.pageName.length === 0) {
12395            throw new Error("Page name is required when embedding a visual.");
12396        }
12397        if (typeof config.visualName !== 'string' || config.visualName.length === 0) {
12398            throw new Error("Visual name is required, but it was not found. You must provide a visual name as part of embed configuration.");
12399        }
12400        // calculate custom layout settings and override config.
12401        var width = config.width ? config.width : this.iframe.offsetWidth;
12402        var height = config.height ? config.height : this.iframe.offsetHeight;
12403        var pageSize = {
12404            type: powerbi_models_1.PageSizeType.Custom,
12405            width: width,
12406            height: height,
12407        };
12408        var pagesLayout = {};
12409        pagesLayout[config.pageName] = {
12410            defaultLayout: {
12411                displayState: {
12412                    mode: powerbi_models_1.VisualContainerDisplayMode.Hidden
12413                }
12414            },
12415            visualsLayout: {}
12416        };
12417        pagesLayout[config.pageName].visualsLayout[config.visualName] = {
12418            displayState: {
12419                mode: powerbi_models_1.VisualContainerDisplayMode.Visible
12420            },
12421            x: 1,
12422            y: 1,
12423            z: 1,
12424            width: pageSize.width,
12425            height: pageSize.height
12426        };
12427        config.settings = config.settings || {};
12428        config.settings.filterPaneEnabled = false;
12429        config.settings.navContentPaneEnabled = false;
12430        config.settings.layoutType = powerbi_models_1.LayoutType.Custom;
12431        config.settings.customLayout = {
12432            displayOption: powerbi_models_1.DisplayOption.FitToPage,
12433            pageSize: pageSize,
12434            pagesLayout: pagesLayout
12435        };
12436        this.config = config;
12437        return _super.prototype.load.call(this, phasedRender);
12438    };
12439    /**
12440     * Gets the list of pages within the report - not supported in visual
12441     *
12442     * @returns {Promise<Page[]>}
12443     */
12444    Visual.prototype.getPages = function () {
12445        throw Visual.GetPagesNotSupportedError;
12446    };
12447    /**
12448     * Sets the active page of the report - not supported in visual
12449     *
12450     * @param {string} pageName
12451     * @returns {Promise<IHttpPostMessageResponse<void>>}
12452     */
12453    Visual.prototype.setPage = function (_pageName) {
12454        throw Visual.SetPageNotSupportedError;
12455    };
12456    /**
12457     * Render a preloaded report, using phased embedding API
12458     *
12459     * @hidden
12460     * @returns {Promise<void>}
12461     */
12462    Visual.prototype.render = function (_config) {
12463        return __awaiter(this, void 0, void 0, function () {
12464            return __generator(this, function (_a) {
12465                throw Visual.RenderNotSupportedError;
12466            });
12467        });
12468    };
12469    /**
12470     * Gets the embedded visual descriptor object that contains the visual name, type, etc.
12471     *
12472     * ```javascript
12473     * visual.getVisualDescriptor()
12474     *   .then(visualDetails => { ... });
12475     * ```
12476     *
12477     * @returns {Promise<VisualDescriptor>}
12478     */
12479    Visual.prototype.getVisualDescriptor = function () {
12480        return __awaiter(this, void 0, void 0, function () {
12481            var config, response, embeddedVisuals, visualNotFoundError, embeddedVisual, currentPage, response_1;
12482            return __generator(this, function (_a) {
12483                switch (_a.label) {
12484                    case 0:
12485                        config = this.config;
12486                        _a.label = 1;
12487                    case 1:
12488                        _a.trys.push([1, 3, , 4]);
12489                        return [4 /*yield*/, this.service.hpm.get("/report/pages/".concat(config.pageName, "/visuals"), { uid: this.config.uniqueId }, this.iframe.contentWindow)];
12490                    case 2:
12491                        response = _a.sent();
12492                        embeddedVisuals = response.body.filter(function (pageVisual) { return pageVisual.name === config.visualName; });
12493                        if (embeddedVisuals.length === 0) {
12494                            visualNotFoundError = {
12495                                message: "visualNotFound",
12496                                detailedMessage: "Visual not found"
12497                            };
12498                            throw visualNotFoundError;
12499                        }
12500                        embeddedVisual = embeddedVisuals[0];
12501                        currentPage = this.page(config.pageName);
12502                        return [2 /*return*/, new visualDescriptor_1.VisualDescriptor(currentPage, embeddedVisual.name, embeddedVisual.title, embeddedVisual.type, embeddedVisual.layout)];
12503                    case 3:
12504                        response_1 = _a.sent();
12505                        throw response_1.body;
12506                    case 4: return [2 /*return*/];
12507                }
12508            });
12509        });
12510    };
12511    /**
12512     * Gets filters that are applied to the filter level.
12513     * Default filter level is visual level.
12514     *
12515     * ```javascript
12516     * visual.getFilters(filtersLevel)
12517     *   .then(filters => {
12518     *     ...
12519     *   });
12520     * ```
12521     *
12522     * @returns {Promise<IFilter[]>}
12523     */
12524    Visual.prototype.getFilters = function (filtersLevel) {
12525        return __awaiter(this, void 0, void 0, function () {
12526            var url, response, response_2;
12527            return __generator(this, function (_a) {
12528                switch (_a.label) {
12529                    case 0:
12530                        url = this.getFiltersLevelUrl(filtersLevel);
12531                        _a.label = 1;
12532                    case 1:
12533                        _a.trys.push([1, 3, , 4]);
12534                        return [4 /*yield*/, this.service.hpm.get(url, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
12535                    case 2:
12536                        response = _a.sent();
12537                        return [2 /*return*/, response.body];
12538                    case 3:
12539                        response_2 = _a.sent();
12540                        throw response_2.body;
12541                    case 4: return [2 /*return*/];
12542                }
12543            });
12544        });
12545    };
12546    /**
12547     * Updates filters at the filter level.
12548     * Default filter level is visual level.
12549     *
12550     * ```javascript
12551     * const filters: [
12552     *    ...
12553     * ];
12554     *
12555     * visual.updateFilters(FiltersOperations.Add, filters, filtersLevel)
12556     *  .catch(errors => {
12557     *    ...
12558     *  });
12559     * ```
12560     *
12561     * @param {(IFilter[])} filters
12562     * @returns {Promise<IHttpPostMessageResponse<void>>}
12563     */
12564    Visual.prototype.updateFilters = function (operation, filters, filtersLevel) {
12565        return __awaiter(this, void 0, void 0, function () {
12566            var updateFiltersRequest, url, response_3;
12567            return __generator(this, function (_a) {
12568                switch (_a.label) {
12569                    case 0:
12570                        updateFiltersRequest = {
12571                            filtersOperation: operation,
12572                            filters: filters
12573                        };
12574                        url = this.getFiltersLevelUrl(filtersLevel);
12575                        _a.label = 1;
12576                    case 1:
12577                        _a.trys.push([1, 3, , 4]);
12578                        return [4 /*yield*/, this.service.hpm.post(url, updateFiltersRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
12579                    case 2: return [2 /*return*/, _a.sent()];
12580                    case 3:
12581                        response_3 = _a.sent();
12582                        throw response_3.body;
12583                    case 4: return [2 /*return*/];
12584                }
12585            });
12586        });
12587    };
12588    /**
12589     * Sets filters at the filter level.
12590     * Default filter level is visual level.
12591     *
12592     * ```javascript
12593     * const filters: [
12594     *    ...
12595     * ];
12596     *
12597     * visual.setFilters(filters, filtersLevel)
12598     *  .catch(errors => {
12599     *    ...
12600     *  });
12601     * ```
12602     *
12603     * @param {(IFilter[])} filters
12604     * @returns {Promise<IHttpPostMessageResponse<void>>}
12605     */
12606    Visual.prototype.setFilters = function (filters, filtersLevel) {
12607        return __awaiter(this, void 0, void 0, function () {
12608            var url, response_4;
12609            return __generator(this, function (_a) {
12610                switch (_a.label) {
12611                    case 0:
12612                        url = this.getFiltersLevelUrl(filtersLevel);
12613                        _a.label = 1;
12614                    case 1:
12615                        _a.trys.push([1, 3, , 4]);
12616                        return [4 /*yield*/, this.service.hpm.put(url, filters, { uid: this.config.uniqueId }, this.iframe.contentWindow)];
12617                    case 2: return [2 /*return*/, _a.sent()];
12618                    case 3:
12619                        response_4 = _a.sent();
12620                        throw response_4.body;
12621                    case 4: return [2 /*return*/];
12622                }
12623            });
12624        });
12625    };
12626    /**
12627     * Removes all filters from the current filter level.
12628     * Default filter level is visual level.
12629     *
12630     * ```javascript
12631     * visual.removeFilters(filtersLevel);
12632     * ```
12633     *
12634     * @returns {Promise<IHttpPostMessageResponse<void>>}
12635     */
12636    Visual.prototype.removeFilters = function (filtersLevel) {
12637        return __awaiter(this, void 0, void 0, function () {
12638            return __generator(this, function (_a) {
12639                switch (_a.label) {
12640                    case 0: return [4 /*yield*/, this.updateFilters(powerbi_models_1.FiltersOperations.RemoveAll, undefined, filtersLevel)];
12641                    case 1: return [2 /*return*/, _a.sent()];
12642                }
12643            });
12644        });
12645    };
12646    /**
12647     * @hidden
12648     */
12649    Visual.prototype.getFiltersLevelUrl = function (filtersLevel) {
12650        var config = this.config;
12651        switch (filtersLevel) {
12652            case powerbi_models_1.FiltersLevel.Report:
12653                return "/report/filters";
12654            case powerbi_models_1.FiltersLevel.Page:
12655                return "/report/pages/".concat(config.pageName, "/filters");
12656            default:
12657                return "/report/pages/".concat(config.pageName, "/visuals/").concat(config.visualName, "/filters");
12658        }
12659    };
12660    /** @hidden */
12661    Visual.type = "visual";
12662    /** @hidden */
12663    Visual.GetPagesNotSupportedError = "Get pages is not supported while embedding a visual.";
12664    /** @hidden */
12665    Visual.SetPageNotSupportedError = "Set page is not supported while embedding a visual.";
12666    /** @hidden */
12667    Visual.RenderNotSupportedError = "render is not supported while embedding a visual.";
12668    return Visual;
12669}(report_1.Report));
12670exports.Visual = Visual;
12671
12672
12673/***/ }),
12674
12675/***/ "./src/visualDescriptor.ts":
12676/*!*********************************!*\
12677  !*** ./src/visualDescriptor.ts ***!
12678  \*********************************/
12679/***/ (function(__unused_webpack_module, exports, __webpack_require__) {
12680
12681// Copyright (c) Microsoft Corporation.
12682// Licensed under the MIT License.
12683var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12684    function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
12685    return new (P || (P = Promise))(function (resolve, reject) {
12686        function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12687        function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
12688        function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
12689        step((generator = generator.apply(thisArg, _arguments || [])).next());
12690    });
12691};
12692var __generator = (this && this.__generator) || function (thisArg, body) {
12693    var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12694    return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
12695    function verb(n) { return function (v) { return step([n, v]); }; }
12696    function step(op) {
12697        if (f) throw new TypeError("Generator is already executing.");
12698        while (_) try {
12699            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;
12700            if (y = 0, t) op = [op[0] & 2, t.value];
12701            switch (op[0]) {
12702                case 0: case 1: t = op; break;
12703                case 4: _.label++; return { value: op[1], done: false };
12704                case 5: _.label++; y = op[1]; op = [0]; continue;
12705                case 7: op = _.ops.pop(); _.trys.pop(); continue;
12706                default:
12707                    if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
12708                    if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
12709                    if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
12710                    if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
12711                    if (t[2]) _.ops.pop();
12712                    _.trys.pop(); continue;
12713            }
12714            op = body.call(thisArg, _);
12715        } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
12716        if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
12717    }
12718};
12719Object.defineProperty(exports, "__esModule", ({ value: true }));
12720exports.VisualDescriptor = void 0;
12721var powerbi_models_1 = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
12722/**
12723 * A Power BI visual within a page
12724 *
12725 * @export
12726 * @class VisualDescriptor
12727 * @implements {IVisualNode}
12728 */
12729var VisualDescriptor = /** @class */ (function () {
12730    /**
12731     * @hidden
12732     */
12733    function VisualDescriptor(page, name, title, type, layout) {
12734        this.name = name;
12735        this.title = title;
12736        this.type = type;
12737        this.layout = layout;
12738        this.page = page;
12739    }
12740    /**
12741     * Gets all visual level filters of the current visual.
12742     *
12743     * ```javascript
12744     * visual.getFilters()
12745     *  .then(filters => { ... });
12746     * ```
12747     *
12748     * @returns {(Promise<IFilter[]>)}
12749     */
12750    VisualDescriptor.prototype.getFilters = function () {
12751        return __awaiter(this, void 0, void 0, function () {
12752            var response, response_1;
12753            return __generator(this, function (_a) {
12754                switch (_a.label) {
12755                    case 0:
12756                        _a.trys.push([0, 2, , 3]);
12757                        return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/filters"), { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)];
12758                    case 1:
12759                        response = _a.sent();
12760                        return [2 /*return*/, response.body];
12761                    case 2:
12762                        response_1 = _a.sent();
12763                        throw response_1.body;
12764                    case 3: return [2 /*return*/];
12765                }
12766            });
12767        });
12768    };
12769    /**
12770     * Update the filters for the current visual according to the operation: Add, replace all, replace by target or remove.
12771     *
12772     * ```javascript
12773     * visual.updateFilters(FiltersOperations.Add, filters)
12774     *   .catch(errors => { ... });
12775     * ```
12776     *
12777     * @param {(IFilter[])} filters
12778     * @returns {Promise<IHttpPostMessageResponse<void>>}
12779     */
12780    VisualDescriptor.prototype.updateFilters = function (operation, filters) {
12781        return __awaiter(this, void 0, void 0, function () {
12782            var updateFiltersRequest, response_2;
12783            return __generator(this, function (_a) {
12784                switch (_a.label) {
12785                    case 0:
12786                        updateFiltersRequest = {
12787                            filtersOperation: operation,
12788                            filters: filters
12789                        };
12790                        _a.label = 1;
12791                    case 1:
12792                        _a.trys.push([1, 3, , 4]);
12793                        return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/filters"), updateFiltersRequest, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)];
12794                    case 2: return [2 /*return*/, _a.sent()];
12795                    case 3:
12796                        response_2 = _a.sent();
12797                        throw response_2.body;
12798                    case 4: return [2 /*return*/];
12799                }
12800            });
12801        });
12802    };
12803    /**
12804     * Removes all filters from the current visual.
12805     *
12806     * ```javascript
12807     * visual.removeFilters();
12808     * ```
12809     *
12810     * @returns {Promise<IHttpPostMessageResponse<void>>}
12811     */
12812    VisualDescriptor.prototype.removeFilters = function () {
12813        return __awaiter(this, void 0, void 0, function () {
12814            return __generator(this, function (_a) {
12815                switch (_a.label) {
12816                    case 0: return [4 /*yield*/, this.updateFilters(powerbi_models_1.FiltersOperations.RemoveAll)];
12817                    case 1: return [2 /*return*/, _a.sent()];
12818                }
12819            });
12820        });
12821    };
12822    /**
12823     * Sets the filters on the current visual to 'filters'.
12824     *
12825     * ```javascript
12826     * visual.setFilters(filters);
12827     *   .catch(errors => { ... });
12828     * ```
12829     *
12830     * @param {(IFilter[])} filters
12831     * @returns {Promise<IHttpPostMessageResponse<void>>}
12832     */
12833    VisualDescriptor.prototype.setFilters = function (filters) {
12834        return __awaiter(this, void 0, void 0, function () {
12835            var response_3;
12836            return __generator(this, function (_a) {
12837                switch (_a.label) {
12838                    case 0:
12839                        _a.trys.push([0, 2, , 3]);
12840                        return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/filters"), filters, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)];
12841                    case 1: return [2 /*return*/, _a.sent()];
12842                    case 2:
12843                        response_3 = _a.sent();
12844                        throw response_3.body;
12845                    case 3: return [2 /*return*/];
12846                }
12847            });
12848        });
12849    };
12850    /**
12851     * Exports Visual data.
12852     * Can export up to 30K rows.
12853     *
12854     * @param rows: Optional. Default value is 30K, maximum value is 30K as well.
12855     * @param exportDataType: Optional. Default is ExportDataType.Summarized.
12856     * ```javascript
12857     * visual.exportData()
12858     *  .then(data => { ... });
12859     * ```
12860     *
12861     * @returns {(Promise<IExportDataResult>)}
12862     */
12863    VisualDescriptor.prototype.exportData = function (exportDataType, rows) {
12864        return __awaiter(this, void 0, void 0, function () {
12865            var exportDataRequestBody, response, response_4;
12866            return __generator(this, function (_a) {
12867                switch (_a.label) {
12868                    case 0:
12869                        exportDataRequestBody = {
12870                            rows: rows,
12871                            exportDataType: exportDataType
12872                        };
12873                        _a.label = 1;
12874                    case 1:
12875                        _a.trys.push([1, 3, , 4]);
12876                        return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/exportData"), exportDataRequestBody, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)];
12877                    case 2:
12878                        response = _a.sent();
12879                        return [2 /*return*/, response.body];
12880                    case 3:
12881                        response_4 = _a.sent();
12882                        throw response_4.body;
12883                    case 4: return [2 /*return*/];
12884                }
12885            });
12886        });
12887    };
12888    /**
12889     * Set slicer state.
12890     * Works only for visuals of type slicer.
12891     *
12892     * @param state: A new state which contains the slicer filters.
12893     * ```javascript
12894     * visual.setSlicerState()
12895     *  .then(() => { ... });
12896     * ```
12897     */
12898    VisualDescriptor.prototype.setSlicerState = function (state) {
12899        return __awaiter(this, void 0, void 0, function () {
12900            var response_5;
12901            return __generator(this, function (_a) {
12902                switch (_a.label) {
12903                    case 0:
12904                        _a.trys.push([0, 2, , 3]);
12905                        return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/slicer"), state, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)];
12906                    case 1: return [2 /*return*/, _a.sent()];
12907                    case 2:
12908                        response_5 = _a.sent();
12909                        throw response_5.body;
12910                    case 3: return [2 /*return*/];
12911                }
12912            });
12913        });
12914    };
12915    /**
12916     * Get slicer state.
12917     * Works only for visuals of type slicer.
12918     *
12919     * ```javascript
12920     * visual.getSlicerState()
12921     *  .then(state => { ... });
12922     * ```
12923     *
12924     * @returns {(Promise<ISlicerState>)}
12925     */
12926    VisualDescriptor.prototype.getSlicerState = function () {
12927        return __awaiter(this, void 0, void 0, function () {
12928            var response, response_6;
12929            return __generator(this, function (_a) {
12930                switch (_a.label) {
12931                    case 0:
12932                        _a.trys.push([0, 2, , 3]);
12933                        return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/slicer"), { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)];
12934                    case 1:
12935                        response = _a.sent();
12936                        return [2 /*return*/, response.body];
12937                    case 2:
12938                        response_6 = _a.sent();
12939                        throw response_6.body;
12940                    case 3: return [2 /*return*/];
12941                }
12942            });
12943        });
12944    };
12945    /**
12946     * Clone existing visual to a new instance.
12947     *
12948     * @returns {(Promise<ICloneVisualResponse>)}
12949     */
12950    VisualDescriptor.prototype.clone = function (request) {
12951        if (request === void 0) { request = {}; }
12952        return __awaiter(this, void 0, void 0, function () {
12953            var response, response_7;
12954            return __generator(this, function (_a) {
12955                switch (_a.label) {
12956                    case 0:
12957                        _a.trys.push([0, 2, , 3]);
12958                        return [4 /*yield*/, this.page.report.service.hpm.post("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/clone"), request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)];
12959                    case 1:
12960                        response = _a.sent();
12961                        return [2 /*return*/, response.body];
12962                    case 2:
12963                        response_7 = _a.sent();
12964                        throw response_7.body;
12965                    case 3: return [2 /*return*/];
12966                }
12967            });
12968        });
12969    };
12970    /**
12971     * Sort a visual by dataField and direction.
12972     *
12973     * @param request: Sort by visual request.
12974     *
12975     * ```javascript
12976     * visual.sortBy(request)
12977     *  .then(() => { ... });
12978     * ```
12979     */
12980    VisualDescriptor.prototype.sortBy = function (request) {
12981        return __awaiter(this, void 0, void 0, function () {
12982            var response_8;
12983            return __generator(this, function (_a) {
12984                switch (_a.label) {
12985                    case 0:
12986                        _a.trys.push([0, 2, , 3]);
12987                        return [4 /*yield*/, this.page.report.service.hpm.put("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/sortBy"), request, { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)];
12988                    case 1: return [2 /*return*/, _a.sent()];
12989                    case 2:
12990                        response_8 = _a.sent();
12991                        throw response_8.body;
12992                    case 3: return [2 /*return*/];
12993                }
12994            });
12995        });
12996    };
12997    /**
12998     * Updates the position of a visual.
12999     *
13000     * ```javascript
13001     * visual.moveVisual(x, y, z)
13002     *   .catch(error => { ... });
13003     * ```
13004     *
13005     * @param {number} x
13006     * @param {number} y
13007     * @param {number} z
13008     * @returns {Promise<IHttpPostMessageResponse<void>>}
13009     */
13010    VisualDescriptor.prototype.moveVisual = function (x, y, z) {
13011        return __awaiter(this, void 0, void 0, function () {
13012            var pageName, visualName, report;
13013            return __generator(this, function (_a) {
13014                pageName = this.page.name;
13015                visualName = this.name;
13016                report = this.page.report;
13017                return [2 /*return*/, report.moveVisual(pageName, visualName, x, y, z)];
13018            });
13019        });
13020    };
13021    /**
13022     * Updates the display state of a visual.
13023     *
13024     * ```javascript
13025     * visual.setVisualDisplayState(displayState)
13026     *   .catch(error => { ... });
13027     * ```
13028     *
13029     * @param {VisualContainerDisplayMode} displayState
13030     * @returns {Promise<IHttpPostMessageResponse<void>>}
13031     */
13032    VisualDescriptor.prototype.setVisualDisplayState = function (displayState) {
13033        return __awaiter(this, void 0, void 0, function () {
13034            var pageName, visualName, report;
13035            return __generator(this, function (_a) {
13036                pageName = this.page.name;
13037                visualName = this.name;
13038                report = this.page.report;
13039                return [2 /*return*/, report.setVisualDisplayState(pageName, visualName, displayState)];
13040            });
13041        });
13042    };
13043    /**
13044     * Resize a visual.
13045     *
13046     * ```javascript
13047     * visual.resizeVisual(width, height)
13048     *   .catch(error => { ... });
13049     * ```
13050     *
13051     * @param {number} width
13052     * @param {number} height
13053     * @returns {Promise<IHttpPostMessageResponse<void>>}
13054     */
13055    VisualDescriptor.prototype.resizeVisual = function (width, height) {
13056        return __awaiter(this, void 0, void 0, function () {
13057            var pageName, visualName, report;
13058            return __generator(this, function (_a) {
13059                pageName = this.page.name;
13060                visualName = this.name;
13061                report = this.page.report;
13062                return [2 /*return*/, report.resizeVisual(pageName, visualName, width, height)];
13063            });
13064        });
13065    };
13066    /**
13067     * Get insights for single visual
13068     *
13069     * ```javascript
13070     * visual.getSmartNarrativeInsights();
13071     * ```
13072     *
13073     * @returns {Promise<ISmartNarratives>}
13074     */
13075    VisualDescriptor.prototype.getSmartNarrativeInsights = function () {
13076        return __awaiter(this, void 0, void 0, function () {
13077            var response, response_9;
13078            return __generator(this, function (_a) {
13079                switch (_a.label) {
13080                    case 0:
13081                        _a.trys.push([0, 2, , 3]);
13082                        return [4 /*yield*/, this.page.report.service.hpm.get("/report/pages/".concat(this.page.name, "/visuals/").concat(this.name, "/smartNarrativeInsights"), { uid: this.page.report.config.uniqueId }, this.page.report.iframe.contentWindow)];
13083                    case 1:
13084                        response = _a.sent();
13085                        return [2 /*return*/, response.body];
13086                    case 2:
13087                        response_9 = _a.sent();
13088                        throw response_9.body;
13089                    case 3: return [2 /*return*/];
13090                }
13091            });
13092        });
13093    };
13094    return VisualDescriptor;
13095}());
13096exports.VisualDescriptor = VisualDescriptor;
13097
13098
13099/***/ }),
13100
vendor: 10,523 bytes, lines 13101-13188
13101/***/ "../window-post-message-proxy/dist/windowPostMessageProxy.js":
13102/*!*******************************************************************!*\
13103  !*** ../window-post-message-proxy/dist/windowPostMessageProxy.js ***!
13104  \*******************************************************************/
13105/***/ ((module) => {
13106
13107/*! For license information please see windowPostMessageProxy.js.LICENSE.txt */
13108!function(e,r){ true?module.exports=r():0}(self,(()=>(()=>{"use strict";var e={};return(()=>{var r=e;Object.defineProperty(r,"__esModule",{value:!0}),r.WindowPostMessageProxy=void 0;var s=function(){function e(r){void 0===r&&(r={processTrackingProperties:{addTrackingProperties:e.defaultAddTrackingProperties,getTrackingProperties:e.defaultGetTrackingProperties},isErrorMessage:e.defaultIsErrorMessage,receiveWindow:window,name:e.createRandomString()});var s=this;this.pendingRequestPromises={},this.addTrackingProperties=r.processTrackingProperties&&r.processTrackingProperties.addTrackingProperties||e.defaultAddTrackingProperties,this.getTrackingProperties=r.processTrackingProperties&&r.processTrackingProperties.getTrackingProperties||e.defaultGetTrackingProperties,this.isErrorMessage=r.isErrorMessage||e.defaultIsErrorMessage,this.receiveWindow=r.receiveWindow||window,this.name=r.name||e.createRandomString(),this.logMessages=r.logMessages||!1,this.eventSourceOverrideWindow=r.eventSourceOverrideWindow,this.suppressWarnings=r.suppressWarnings||!1,this.logMessages&&console.log("new WindowPostMessageProxy created with name: ".concat(this.name," receiving on window: ").concat(this.receiveWindow.document.title)),this.handlers=[],this.windowMessageHandler=function(e){return s.onMessageReceived(e)},this.start()}return e.defaultAddTrackingProperties=function(r,s){return r[e.messagePropertyName]=s,r},e.defaultGetTrackingProperties=function(r){return r[e.messagePropertyName]},e.defaultIsErrorMessage=function(e){return!!e.error},e.createDeferred=function(){var e={resolve:null,reject:null,promise:null},r=new Promise((function(r,s){e.resolve=r,e.reject=s}));return e.promise=r,e},e.createRandomString=function(){var e=window.crypto||window.msCrypto,r=new Uint32Array(1);return e.getRandomValues(r),r[0].toString(36).substring(1)},e.prototype.addHandler=function(e){this.handlers.push(e)},e.prototype.removeHandler=function(e){var r=this.handlers.indexOf(e);if(-1===r)throw new Error("You attempted to remove a handler but no matching handler was found.");this.handlers.splice(r,1)},e.prototype.start=function(){this.receiveWindow.addEventListener("message",this.windowMessageHandler)},e.prototype.stop=function(){this.receiveWindow.removeEventListener("message",this.windowMessageHandler)},e.prototype.postMessage=function(r,s,n){var o={id:e.createRandomString()};this.addTrackingProperties(s,o),console.log("".concat(this.name," Posting message:")),console.log(JSON.stringify(s,null,"  ")),console.log("target origin: ".concat(n)),r.postMessage(s,null!=n?n:"*");var t=e.createDeferred();return this.pendingRequestPromises[o.id]=t,t.promise},e.prototype.sendResponse=function(e,r,s,n){this.addTrackingProperties(r,s),this.logMessages&&(console.log("".concat(this.name," Sending response:")),console.log(JSON.stringify(r,null,"  "))),e.postMessage(r,null!=n?n:"*")},e.prototype.onMessageReceived=function(e){var r=this;this.logMessages&&(console.log("".concat(this.name," Received message:")),console.log("type: ".concat(e.type)),console.log(JSON.stringify(e.data,null,"  ")));var s=this.eventSourceOverrideWindow||e.source;if(s){var n=e.data;if("object"==typeof n){var o,t;try{o=this.getTrackingProperties(n)}catch(e){this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Error occurred when attempting to get tracking properties from incoming message:"),JSON.stringify(n,null,"  "),"Error: ",e)}if(o&&(t=this.pendingRequestPromises[o.id]),t){var i=!0;try{i=this.isErrorMessage(n)}catch(e){console.warn("Proxy(".concat(this.name,") Error occurred when trying to determine if message is consider an error response. Message: "),JSON.stringify(n,null,""),"Error: ",e)}i?t.reject(n):t.resolve(n),delete this.pendingRequestPromises[o.id]}else this.handlers.some((function(e){var t=!1;try{t=e.test(n)}catch(e){r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): Error occurred when handler was testing incoming message:"),JSON.stringify(n,null,"  "),"Error: ",e)}if(t){var i=void 0;try{i=Promise.resolve(e.handle(n))}catch(e){r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): Error occurred when handler was processing incoming message:"),JSON.stringify(n,null,"  "),"Error: ",e),i=Promise.resolve()}return i.then((function(e){if(!e){var t="Handler for message: ".concat(JSON.stringify(n,null,"  ")," did not return a response message. The default response message will be returned instead.");r.suppressWarnings||console.warn("Proxy(".concat(r.name,"): ").concat(t)),e={warning:t}}r.sendResponse(s,e,o)})),!0}}))||this.suppressWarnings||console.warn("Proxy(".concat(this.name,") did not handle message. Handlers: ").concat(this.handlers.length,"  Message: ").concat(JSON.stringify(n,null,""),"."))}else this.suppressWarnings||console.warn("Proxy(".concat(this.name,"): Received message that was not an object. Discarding message"))}},e.messagePropertyName="windowPostMessageProxy",e}();r.WindowPostMessageProxy=s})(),e})()));
13109//# sourceMappingURL=windowPostMessageProxy.js.map
13110
13111/***/ })
13112
13113/******/ 	});
13114/************************************************************************/
13115/******/ 	// The module cache
13116/******/ 	var __webpack_module_cache__ = {};
13117/******/ 	
13118/******/ 	// The require function
13119/******/ 	function __webpack_require__(moduleId) {
13120/******/ 		// Check if module is in cache
13121/******/ 		var cachedModule = __webpack_module_cache__[moduleId];
13122/******/ 		if (cachedModule !== undefined) {
13123/******/ 			return cachedModule.exports;
13124/******/ 		}
13125/******/ 		// Create a new module (and put it into the cache)
13126/******/ 		var module = __webpack_module_cache__[moduleId] = {
13127/******/ 			// no module.id needed
13128/******/ 			// no module.loaded needed
13129/******/ 			exports: {}
13130/******/ 		};
13131/******/ 	
13132/******/ 		// Execute the module function
13133/******/ 		__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);
13134/******/ 	
13135/******/ 		// Return the exports of the module
13136/******/ 		return module.exports;
13137/******/ 	}
13138/******/ 	
13139/************************************************************************/
13140var __webpack_exports__ = {};
13141// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
13142(() => {
13143var exports = __webpack_exports__;
13144/*!*******************************!*\
13145  !*** ./src/powerbi-client.ts ***!
13146  \*******************************/
13147// Copyright (c) Microsoft Corporation.
13148// Licensed under the MIT License.
13149Object.defineProperty(exports, "__esModule", ({ value: true }));
13150exports.RelativeTimeFilterBuilder = exports.RelativeDateFilterBuilder = exports.TopNFilterBuilder = exports.AdvancedFilterBuilder = exports.BasicFilterBuilder = exports.Create = exports.QuickCreate = exports.VisualDescriptor = exports.Visual = exports.Qna = exports.Page = exports.Embed = exports.Tile = exports.Dashboard = exports.Report = exports.models = exports.factories = exports.service = void 0;
13151/**
13152 * @hidden
13153 */
13154var models = __webpack_require__(/*! powerbi-models */ "./node_modules/powerbi-models/dist/models.js");
13155exports.models = models;
13156var service = __webpack_require__(/*! ./service */ "./src/service.ts");
13157exports.service = service;
13158var factories = __webpack_require__(/*! ./factories */ "./src/factories.ts");
13159exports.factories = factories;
13160var report_1 = __webpack_require__(/*! ./report */ "./src/report.ts");
13161Object.defineProperty(exports, "Report", ({ enumerable: true, get: function () { return report_1.Report; } }));
13162var dashboard_1 = __webpack_require__(/*! ./dashboard */ "./src/dashboard.ts");
13163Object.defineProperty(exports, "Dashboard", ({ enumerable: true, get: function () { return dashboard_1.Dashboard; } }));
13164var tile_1 = __webpack_require__(/*! ./tile */ "./src/tile.ts");
13165Object.defineProperty(exports, "Tile", ({ enumerable: true, get: function () { return tile_1.Tile; } }));
13166var embed_1 = __webpack_require__(/*! ./embed */ "./src/embed.ts");
13167Object.defineProperty(exports, "Embed", ({ enumerable: true, get: function () { return embed_1.Embed; } }));
13168var page_1 = __webpack_require__(/*! ./page */ "./src/page.ts");
13169Object.defineProperty(exports, "Page", ({ enumerable: true, get: function () { return page_1.Page; } }));
13170var qna_1 = __webpack_require__(/*! ./qna */ "./src/qna.ts");
13171Object.defineProperty(exports, "Qna", ({ enumerable: true, get: function () { return qna_1.Qna; } }));
13172var visual_1 = __webpack_require__(/*! ./visual */ "./src/visual.ts");
13173Object.defineProperty(exports, "Visual", ({ enumerable: true, get: function () { return visual_1.Visual; } }));
13174var visualDescriptor_1 = __webpack_require__(/*! ./visualDescriptor */ "./src/visualDescriptor.ts");
13175Object.defineProperty(exports, "VisualDescriptor", ({ enumerable: true, get: function () { return visualDescriptor_1.VisualDescriptor; } }));
13176var quickCreate_1 = __webpack_require__(/*! ./quickCreate */ "./src/quickCreate.ts");
13177Object.defineProperty(exports, "QuickCreate", ({ enumerable: true, get: function () { return quickCreate_1.QuickCreate; } }));
13178var create_1 = __webpack_require__(/*! ./create */ "./src/create.ts");
13179Object.defineProperty(exports, "Create", ({ enumerable: true, get: function () { return create_1.Create; } }));
13180var FilterBuilders_1 = __webpack_require__(/*! ./FilterBuilders */ "./src/FilterBuilders/index.ts");
13181Object.defineProperty(exports, "BasicFilterBuilder", ({ enumerable: true, get: function () { return FilterBuilders_1.BasicFilterBuilder; } }));
13182Object.defineProperty(exports, "AdvancedFilterBuilder", ({ enumerable: true, get: function () { return FilterBuilders_1.AdvancedFilterBuilder; } }));
13183Object.defineProperty(exports, "TopNFilterBuilder", ({ enumerable: true, get: function () { return FilterBuilders_1.TopNFilterBuilder; } }));
13184Object.defineProperty(exports, "RelativeDateFilterBuilder", ({ enumerable: true, get: function () { return FilterBuilders_1.RelativeDateFilterBuilder; } }));
13185Object.defineProperty(exports, "RelativeTimeFilterBuilder", ({ enumerable: true, get: function () { return FilterBuilders_1.RelativeTimeFilterBuilder; } }));
13186/**
13187 * Makes Power BI available to the global object for use in applications that don't have module loading support.
13188 *
13189 * Note: create an instance of the class with the default configuration for normal usage, or save the class so that you can create an instance of the service.
13190 */
13191var powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory);
13192// powerBI SDK may use Power BI object under different key, in order to avoid name collisions
13193if (window.powerbi && window.powerBISDKGlobalServiceInstanceName) {
13194    window[window.powerBISDKGlobalServiceInstanceName] = powerbi;
13195}
13196else {
13197    // Default to Power BI.
13198    window.powerbi = powerbi;
13199}
13200
13201})();
13202
13203/******/ 	return __webpack_exports__;
13204/******/ })()
13205;
13206});
13207//# sourceMappingURL=powerbi.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.