{"version":3,"file":"models.js","mappings":"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","sources":["webpack://powerbi-models/webpack/universalModuleDefinition","webpack://powerbi-models/./src/models.ts","webpack://powerbi-models/./src/validators/core/validator.ts","webpack://powerbi-models/./src/validators/models/barsValidator.ts","webpack://powerbi-models/./src/validators/core/multipleFieldsValidator.ts","webpack://powerbi-models/./src/validators/core/typeValidator.ts","webpack://powerbi-models/./src/validators/models/bookmarkValidator.ts","webpack://powerbi-models/./src/validators/models/commandsSettingsValidator.ts","webpack://powerbi-models/./src/validators/models/customThemeValidator.ts","webpack://powerbi-models/./src/validators/models/dashboardLoadValidator.ts","webpack://powerbi-models/./src/validators/models/datasetBindingValidator.ts","webpack://powerbi-models/./src/validators/models/exportDataValidator.ts","webpack://powerbi-models/./src/validators/models/extensionsValidator.ts","webpack://powerbi-models/./src/validators/models/filtersValidator.ts","webpack://powerbi-models/./src/validators/models/layoutValidator.ts","webpack://powerbi-models/./src/validators/models/pageValidator.ts","webpack://powerbi-models/./src/validators/models/panesValidator.ts","webpack://powerbi-models/./src/validators/models/qnaValidator.ts","webpack://powerbi-models/./src/validators/models/reportCreateValidator.ts","webpack://powerbi-models/./src/validators/models/reportLoadValidator.ts","webpack://powerbi-models/./src/validators/models/paginatedReportLoadValidator.ts","webpack://powerbi-models/./src/validators/models/saveAsParametersValidator.ts","webpack://powerbi-models/./src/validators/models/selectorsValidator.ts","webpack://powerbi-models/./src/validators/models/settingsValidator.ts","webpack://powerbi-models/./src/validators/models/slicersValidator.ts","webpack://powerbi-models/./src/validators/models/tileLoadValidator.ts","webpack://powerbi-models/./src/validators/models/visualSettingsValidator.ts","webpack://powerbi-models/./src/validators/core/anyOfValidator.ts","webpack://powerbi-models/./src/validators/core/fieldForbiddenValidator.ts","webpack://powerbi-models/./src/validators/core/fieldRequiredValidator.ts","webpack://powerbi-models/./src/validators/core/mapValidator.ts","webpack://powerbi-models/./src/validators/models/parameterPanelValidator.ts","webpack://powerbi-models/./src/validators/models/datasetCreateConfigValidator.ts","webpack://powerbi-models/./src/validators/models/quickCreateValidator.ts","webpack://powerbi-models/./src/validators/models/printSettingsValidator.ts","webpack://powerbi-models/./src/validators/models/paginatedReportDatasetBindingValidator.ts","webpack://powerbi-models/webpack/bootstrap","webpack://powerbi-models/webpack/before-startup","webpack://powerbi-models/webpack/startup","webpack://powerbi-models/webpack/after-startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"powerbi-models\"] = factory();\n\telse\n\t\troot[\"powerbi-models\"] = factory();\n})(this, () => {\nreturn ","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { Validators } from './validators/core/validator';\r\n\r\nexport type KeyValuePair = {\r\n key: string;\r\n value: string;\r\n};\r\n\r\nexport interface ITechnicalDetails {\r\n requestId?: string;\r\n errorInfo?: KeyValuePair[];\r\n}\r\n\r\nexport interface IError {\r\n message: string;\r\n detailedMessage?: string;\r\n errorCode?: string;\r\n level?: TraceType;\r\n technicalDetails?: ITechnicalDetails;\r\n}\r\n\r\nexport enum TraceType {\r\n Information = 0,\r\n Verbose = 1,\r\n Warning = 2,\r\n Error = 3,\r\n ExpectedError = 4,\r\n UnexpectedError = 5,\r\n Fatal = 6,\r\n}\r\n\r\nexport enum PageSizeType {\r\n Widescreen,\r\n Standard,\r\n Cortana,\r\n Letter,\r\n Custom,\r\n Mobile\r\n}\r\n\r\nexport enum DisplayOption {\r\n FitToPage,\r\n FitToWidth,\r\n ActualSize\r\n}\r\n\r\nexport enum BackgroundType {\r\n Default,\r\n Transparent\r\n}\r\n\r\nexport interface IPageSize {\r\n type: PageSizeType;\r\n}\r\n\r\nexport interface ICustomPageSize extends IPageSize {\r\n width?: number;\r\n height?: number;\r\n}\r\n\r\nexport type PagesLayout = { [key: string]: IPageLayout };\r\nexport type VisualsLayout = { [key: string]: IVisualLayout };\r\n\r\nexport interface IPageLayout {\r\n defaultLayout?: IVisualLayout;\r\n visualsLayout: VisualsLayout;\r\n}\r\n\r\nexport enum VisualContainerDisplayMode {\r\n Visible,\r\n Hidden\r\n}\r\n\r\nexport enum LayoutType {\r\n Master,\r\n Custom,\r\n MobilePortrait,\r\n MobileLandscape\r\n}\r\n\r\nexport enum HyperlinkClickBehavior {\r\n Navigate,\r\n NavigateAndRaiseEvent,\r\n RaiseEvent\r\n}\r\n\r\nexport interface IVisualLayout {\r\n x?: number;\r\n y?: number;\r\n z?: number;\r\n width?: number;\r\n height?: number;\r\n displayState?: IVisualContainerDisplayState;\r\n}\r\n\r\nexport interface IVisualContainerDisplayState {\r\n mode: VisualContainerDisplayMode;\r\n}\r\n\r\nexport enum ReportAlignment {\r\n Left,\r\n Center,\r\n Right,\r\n None\r\n}\r\n\r\nexport interface ICustomLayout {\r\n pageSize?: IPageSize;\r\n displayOption?: DisplayOption;\r\n pagesLayout?: PagesLayout;\r\n reportAlignment?: ReportAlignment;\r\n}\r\n\r\nexport interface IReport {\r\n id: string;\r\n displayName: string;\r\n}\r\n\r\nexport enum SectionVisibility {\r\n AlwaysVisible,\r\n HiddenInViewMode,\r\n}\r\n\r\nexport interface ICanvasStyle {\r\n color?: string;\r\n transparency?: number;\r\n hasImage?: boolean;\r\n}\r\n\r\nexport interface IPageBackground extends ICanvasStyle {\r\n}\r\n\r\nexport interface IPageWallpaper extends ICanvasStyle {\r\n}\r\n\r\nexport interface IPage {\r\n // unique name of a page.\r\n name: string;\r\n\r\n // Display name of a page.\r\n displayName: string;\r\n\r\n // True if the page is active.\r\n isActive?: boolean;\r\n\r\n // Default is AlwaysVisible.\r\n visibility?: SectionVisibility;\r\n\r\n // Page size as saved in the report.\r\n defaultSize?: ICustomPageSize;\r\n\r\n // Page size of the mobile layout if exists.\r\n mobileSize?: ICustomPageSize;\r\n\r\n // Page display options as saved in the report.\r\n defaultDisplayOption?: DisplayOption;\r\n\r\n // Page background color.\r\n background?: IPageBackground;\r\n\r\n // Page wallpaper color.\r\n wallpaper?: IPageWallpaper;\r\n}\r\n\r\nexport interface IVisual {\r\n name: string;\r\n title: string;\r\n type: string;\r\n layout?: IVisualLayout;\r\n mobilePortraitLayout?: IVisualLayout;\r\n}\r\n\r\nexport interface IDatasetBinding {\r\n datasetId?: string;\r\n paginatedReportBindings?: IPaginatedReportDatasetBinding[];\r\n}\r\n\r\nexport interface IPaginatedReportDatasetBinding {\r\n sourceDatasetId: string;\r\n targetDatasetId: string;\r\n}\r\n\r\nexport enum Permissions {\r\n Read = 0,\r\n ReadWrite = 1,\r\n Copy = 2,\r\n Create = 4,\r\n All = 7\r\n}\r\n\r\nexport enum ViewMode {\r\n View,\r\n Edit\r\n}\r\n\r\nexport enum TokenType {\r\n Aad,\r\n Embed\r\n}\r\n\r\nexport enum ContrastMode {\r\n None,\r\n HighContrast1,\r\n HighContrast2,\r\n HighContrastBlack,\r\n HighContrastWhite\r\n}\r\n\r\nexport type PageView = \"fitToWidth\" | \"oneColumn\" | \"actualSize\";\r\n\r\nexport interface IQnaVisualRenderedEvent {\r\n question: string;\r\n normalizedQuestion?: string;\r\n}\r\n\r\nexport interface IVisualCustomCommandEvent {\r\n visualName: string;\r\n command: string;\r\n}\r\n\r\nexport interface ISelection {\r\n visual: IVisual;\r\n page: IPage;\r\n report: IReport;\r\n dataPoints: IIdentityValue[];\r\n regions: IIdentityValue[];\r\n filters: IFilter[];\r\n}\r\n\r\nexport type ISelectable = IVisual;\r\n\r\nexport interface ICavasItemsSelection extends ISelection {\r\n selectedItems?: ISelectable[];\r\n}\r\n\r\nexport interface ISwipeEvent {\r\n currentPosition: IPosition;\r\n startPosition: IPosition;\r\n}\r\n\r\nexport interface EventHooks {\r\n applicationContextProvider?: Function;\r\n accessTokenProvider?: Function;\r\n}\r\n\r\nexport interface IPosition {\r\n x: number;\r\n y: number;\r\n}\r\n\r\nexport type Extensions = IExtension[] | IExtensions;\r\n\r\nexport interface IMenuExtensionBase extends IExtensionPoint {\r\n title?: string;\r\n icon?: string;\r\n}\r\n\r\nexport interface IFlatMenuExtension extends IMenuExtensionBase {\r\n menuLocation?: MenuLocation;\r\n}\r\n\r\nexport interface IGroupedMenuExtension extends IMenuExtensionBase {\r\n groupName: string;\r\n}\r\n\r\nexport declare type IMenuExtension = IFlatMenuExtension | IGroupedMenuExtension;\r\n\r\nexport interface IExtensions {\r\n commands: ICommandExtension[];\r\n groups?: IMenuGroupExtension[];\r\n}\r\n\r\nexport interface IExtension {\r\n command?: ICommandExtension;\r\n}\r\n\r\nexport interface IExtensionItem {\r\n name: string;\r\n extend: IExtensionPoints;\r\n}\r\n\r\nexport type CommandExtensionSelector = IVisualSelector | IVisualTypeSelector;\r\n\r\nexport interface IMenuGroupExtension {\r\n name: string;\r\n title: string;\r\n /**\r\n * If menu location is top, will locate the group at the top of the menu.\r\n * If more than one extension with top value, the latest to be added, will be on top.\r\n * If menu location is bottom or undefined, the group will be added at the bottom of the menu at the time of adding the group first command.\r\n */\r\n menuLocation?: MenuLocation;\r\n}\r\n\r\nexport interface ICommandExtension extends IExtensionItem {\r\n title: string;\r\n icon?: string;\r\n selector?: CommandExtensionSelector;\r\n}\r\n\r\nexport interface IExtensionPoints {\r\n visualContextMenu?: IMenuExtension;\r\n visualOptionsMenu?: IMenuExtension;\r\n}\r\n\r\nexport interface IExtensionPoint {\r\n}\r\n\r\nexport enum MenuLocation {\r\n Bottom,\r\n Top\r\n}\r\n\r\nexport interface IQueryNameTarget {\r\n queryName: string;\r\n}\r\n\r\nexport interface IBaseTarget {\r\n table: string;\r\n $schema?: string;\r\n}\r\n\r\nexport interface IPercentOfGrandTotalTarget {\r\n percentOfGrandTotal?: boolean;\r\n}\r\n\r\nexport interface IColumnTarget extends IBaseTarget {\r\n column: string;\r\n}\r\n\r\nexport interface IKeyColumnsTarget extends IColumnTarget {\r\n keys: string[];\r\n}\r\n\r\nexport interface IKeyHierarchyTarget extends IHierarchyLevelTarget {\r\n keys: string[];\r\n}\r\n\r\nexport interface IHierarchyLevelTarget extends IBaseTarget {\r\n hierarchy: string;\r\n hierarchyLevel: string;\r\n}\r\n\r\nexport interface INotSupportedTarget extends IBaseTarget { }\r\n\r\nexport interface IMeasureTarget extends IBaseTarget, IPercentOfGrandTotalTarget {\r\n measure: string;\r\n}\r\n\r\nexport interface IAggregationTarget extends IPercentOfGrandTotalTarget {\r\n aggregationFunction: string;\r\n}\r\n\r\nexport interface IColumnAggrTarget extends IColumnTarget, IAggregationTarget { }\r\n\r\nexport interface IHierarchyLevelAggrTarget extends IHierarchyLevelTarget, IAggregationTarget { }\r\n\r\nexport declare type IKeyTarget = (IKeyColumnsTarget | IKeyHierarchyTarget);\r\nexport declare type ITarget = (IColumnTarget | IHierarchyLevelTarget | IMeasureTarget | INotSupportedTarget | IColumnAggrTarget | IHierarchyLevelAggrTarget);\r\n\r\nexport interface IBaseFilterTarget extends IBaseTarget { }\r\n\r\nexport interface IFilterColumnTarget extends IBaseFilterTarget, IColumnTarget { }\r\n\r\nexport interface IFilterKeyColumnsTarget extends IFilterColumnTarget, IKeyColumnsTarget { }\r\n\r\nexport interface IFilterHierarchyTarget extends IBaseFilterTarget, IHierarchyLevelTarget { }\r\n\r\nexport interface IFilterKeyHierarchyTarget extends IFilterHierarchyTarget, IKeyHierarchyTarget { }\r\n\r\nexport interface INotSupportedFilterTarget extends IBaseFilterTarget, INotSupportedTarget { }\r\n\r\nexport interface IFilterAggregationTarget extends IBaseFilterTarget, IAggregationTarget { }\r\n\r\nexport interface IFilterMeasureTarget extends IBaseFilterTarget, IMeasureTarget { }\r\n\r\nexport interface IFilterColumnAggrTarget extends IFilterColumnTarget, IFilterAggregationTarget { }\r\n\r\nexport interface IFilterHierarchyAggrTarget extends IFilterHierarchyTarget, IFilterAggregationTarget { }\r\n\r\nexport interface IFilterGroupedColumnsTarget extends IFilterColumnTarget {\r\n groupedColumns: IFilterTarget[];\r\n}\r\n\r\nexport declare type IFilterKeyTarget = (IFilterKeyColumnsTarget | IFilterKeyHierarchyTarget);\r\nexport declare type IFilterTarget = (IFilterColumnTarget | IFilterHierarchyTarget | IFilterMeasureTarget | INotSupportedFilterTarget | IFilterColumnAggrTarget | IFilterHierarchyAggrTarget);\r\nexport type ITupleFilterTarget = IFilterTarget[];\r\nexport type IIdentityFilterTarget = number[];\r\nexport type IHierarchyIdentityFilterTarget = IQueryNameTarget[];\r\nexport type IIncludeExcludeFilterTarget = IFilterTarget | (IFilterTarget | IFilterKeyTarget)[][];\r\nexport type IFilterGeneralTarget = IFilterTarget | IFilterKeyTarget | ITupleFilterTarget | IIdentityFilterTarget | IIncludeExcludeFilterTarget | IHierarchyIdentityFilterTarget;\r\nexport interface IFilter {\r\n $schema: string;\r\n target: IFilterGeneralTarget;\r\n filterType: FilterType;\r\n displaySettings?: IFilterDisplaySettings;\r\n}\r\n\r\nexport type IdentityFilterOperators = \"In\";\r\nexport interface IIdentityFilter extends IFilter {\r\n operator: IdentityFilterOperators;\r\n target: IIdentityFilterTarget;\r\n}\r\n\r\nexport interface IFilterDisplaySettings {\r\n isLockedInViewMode?: boolean;\r\n isHiddenInViewMode?: boolean;\r\n displayName?: string;\r\n}\r\n\r\nexport interface INotSupportedFilter extends IFilter {\r\n message: string;\r\n notSupportedTypeName: string;\r\n}\r\n\r\nexport interface IIncludeExcludeFilter extends IFilter {\r\n values: (string | number | boolean)[] | IncludeExcludeFilterValuesType;\r\n target: IIncludeExcludeFilterTarget;\r\n isExclude: boolean;\r\n}\r\n\r\nexport interface ITopNFilter extends IFilter {\r\n operator: TopNFilterOperators;\r\n itemCount: number;\r\n orderBy: ITarget;\r\n}\r\n\r\nexport interface IRelativeDateTimeFilter extends IFilter {\r\n operator: RelativeDateOperators;\r\n timeUnitsCount?: number;\r\n timeUnitType: RelativeDateFilterTimeUnit;\r\n}\r\n\r\nexport interface IRelativeDateFilter extends IRelativeDateTimeFilter {\r\n includeToday: boolean;\r\n}\r\n\r\nexport interface IRelativeTimeFilter extends IRelativeDateTimeFilter { }\r\n\r\nexport interface IBasicFilter extends IFilter {\r\n operator: BasicFilterOperators;\r\n values: (string | number | boolean)[];\r\n requireSingleSelection?: boolean;\r\n}\r\n\r\nexport interface IBasicFilterWithKeys extends IBasicFilter {\r\n target: IFilterKeyTarget;\r\n keyValues: (string | number | boolean)[][];\r\n}\r\n\r\nexport type PrimitiveValueType = (string | number | boolean);\r\nexport interface ITupleElementValue {\r\n value: PrimitiveValueType;\r\n keyValues?: PrimitiveValueType[];\r\n}\r\nexport type TupleValueType = ITupleElementValue[];\r\nexport type TupleFilterOperators = \"In\";\r\nexport interface ITupleFilter extends IFilter {\r\n $schema: string;\r\n filterType: FilterType;\r\n operator: TupleFilterOperators;\r\n target: ITupleFilterTarget;\r\n values: TupleValueType[];\r\n}\r\n\r\nexport interface IIncludeExcludeTargetValue {\r\n value: PrimitiveValueType;\r\n keyValues?: PrimitiveValueType[];\r\n}\r\nexport type IncludeExcludePointType = IIncludeExcludeTargetValue[];\r\nexport type IncludeExcludePointsGroupType = IncludeExcludePointType[];\r\nexport type IncludeExcludeFilterValuesType = IncludeExcludePointsGroupType[];\r\n\r\nexport enum FiltersOperations {\r\n RemoveAll,\r\n ReplaceAll,\r\n Add,\r\n Replace\r\n}\r\n\r\nexport interface IUpdateFiltersRequest {\r\n filtersOperation: FiltersOperations;\r\n filters?: ReportLevelFilters[] | PageLevelFilters[] | VisualLevelFilters[];\r\n}\r\n\r\nexport enum FiltersLevel {\r\n Report,\r\n Page,\r\n Visual\r\n}\r\n\r\nexport type ReportLevelFilters = IBasicFilter | IBasicFilterWithKeys | IAdvancedFilter | IRelativeDateFilter | ITupleFilter | IRelativeTimeFilter;\r\nexport type PageLevelFilters = IBasicFilter | IBasicFilterWithKeys | IAdvancedFilter | IRelativeDateFilter | ITupleFilter | IRelativeTimeFilter;\r\nexport type VisualLevelFilters = IBasicFilter | IBasicFilterWithKeys | IAdvancedFilter | IRelativeDateFilter | ITopNFilter | IIncludeExcludeFilter | IRelativeTimeFilter;\r\nexport type ISlicerFilter = IBasicFilter | IBasicFilterWithKeys | IAdvancedFilter | IRelativeDateFilter | IRelativeTimeFilter | IHierarchyFilter;\r\n\r\nexport type TopNFilterOperators = \"Top\" | \"Bottom\";\r\nexport type BasicFilterOperators = \"In\" | \"NotIn\" | \"All\";\r\nexport type AdvancedFilterLogicalOperators = \"And\" | \"Or\";\r\nexport type AdvancedFilterConditionOperators = \"None\" | \"LessThan\" | \"LessThanOrEqual\" | \"GreaterThan\" | \"GreaterThanOrEqual\" | \"Contains\" | \"DoesNotContain\" | \"StartsWith\" | \"DoesNotStartWith\" | \"Is\" | \"IsNot\" | \"IsBlank\" | \"IsNotBlank\" | \"IsEmptyString\" | \"IsNotEmptyString\";\r\nexport type HierarchyFilterNodeOperators = \"Selected\" | \"NotSelected\" | \"Inherited\";\r\n\r\nexport interface OnLoadFiltersBase {\r\n operation: FiltersOperations;\r\n filters?: IFilter[];\r\n}\r\nexport interface PageOnLoadFilters extends OnLoadFiltersBase {\r\n filters?: PageLevelFilters[];\r\n}\r\nexport interface ReportOnLoadFilters extends OnLoadFiltersBase {\r\n filters?: ReportLevelFilters[];\r\n}\r\nexport interface OnLoadFilters {\r\n allPages?: ReportOnLoadFilters;\r\n currentPage?: PageOnLoadFilters;\r\n}\r\n\r\nexport interface IAdvancedFilterCondition {\r\n value?: (string | number | boolean | Date);\r\n operator: AdvancedFilterConditionOperators;\r\n}\r\n\r\nexport interface IAdvancedFilter extends IFilter {\r\n logicalOperator: AdvancedFilterLogicalOperators;\r\n conditions?: IAdvancedFilterCondition[];\r\n}\r\n\r\nexport interface IHierarchyFilterNode {\r\n value?: PrimitiveValueType;\r\n keyValues?: PrimitiveValueType[];\r\n children?: IHierarchyFilterNode[];\r\n operator?: HierarchyFilterNodeOperators;\r\n}\r\n\r\nexport interface IHierarchyFilter extends IFilter {\r\n target: (IFilterTarget | IFilterKeyTarget)[];\r\n hierarchyData: IHierarchyFilterNode[];\r\n}\r\n\r\nexport interface IHierarchyIdentityFilterNode {\r\n identity: IdentityType;\r\n children?: IHierarchyIdentityFilterNode[];\r\n operator: HierarchyFilterNodeOperators;\r\n}\r\n\r\nexport interface IHierarchyIdentityFilter extends IFilter {\r\n target: IHierarchyIdentityFilterTarget;\r\n hierarchyData: IHierarchyIdentityFilterNode[];\r\n}\r\n\r\nexport interface ISmartNarratives {\r\n summaryText: string;\r\n}\r\n\r\nexport enum FilterType {\r\n Advanced = 0,\r\n Basic = 1,\r\n Unknown = 2,\r\n IncludeExclude = 3,\r\n RelativeDate = 4,\r\n TopN = 5,\r\n Tuple = 6,\r\n RelativeTime = 7,\r\n Identity = 8,\r\n Hierarchy = 9,\r\n HierarchyIdentity = 10,\r\n}\r\n\r\nexport enum RelativeDateFilterTimeUnit {\r\n Days = 0,\r\n Weeks = 1,\r\n CalendarWeeks = 2,\r\n Months = 3,\r\n CalendarMonths = 4,\r\n Years = 5,\r\n CalendarYears = 6,\r\n Minutes = 7,\r\n Hours = 8\r\n}\r\n\r\nexport enum RelativeDateOperators {\r\n InLast = 0,\r\n InThis = 1,\r\n InNext = 2,\r\n}\r\n\r\nexport abstract class Filter {\r\n static schema: string;\r\n protected static schemaUrl: string;\r\n target: IFilterGeneralTarget;\r\n filterType: FilterType;\r\n displaySettings: IFilterDisplaySettings;\r\n protected schemaUrl: string;\r\n\r\n constructor(\r\n target: IFilterGeneralTarget,\r\n filterType: FilterType) {\r\n this.target = target;\r\n this.filterType = filterType;\r\n }\r\n\r\n toJSON(): IFilter {\r\n const filter: IFilter = {\r\n $schema: this.schemaUrl,\r\n target: this.target,\r\n filterType: this.filterType\r\n };\r\n\r\n // Add displaySettings only when defined\r\n if (this.displaySettings !== undefined) {\r\n filter.displaySettings = this.displaySettings;\r\n }\r\n\r\n return filter;\r\n }\r\n}\r\n\r\nexport class NotSupportedFilter extends Filter {\r\n static schemaUrl: string = \"http://powerbi.com/product/schema#notSupported\";\r\n message: string;\r\n notSupportedTypeName: string;\r\n\r\n constructor(\r\n target: IFilterTarget,\r\n message: string,\r\n notSupportedTypeName: string) {\r\n super(target, FilterType.Unknown);\r\n this.message = message;\r\n this.notSupportedTypeName = notSupportedTypeName;\r\n this.schemaUrl = NotSupportedFilter.schemaUrl;\r\n }\r\n\r\n toJSON(): INotSupportedFilter {\r\n const filter = super.toJSON() as INotSupportedFilter;\r\n\r\n filter.message = this.message;\r\n filter.notSupportedTypeName = this.notSupportedTypeName;\r\n\r\n return filter;\r\n }\r\n}\r\n\r\nexport class IncludeExcludeFilter extends Filter {\r\n static schemaUrl: string = \"http://powerbi.com/product/schema#includeExclude\";\r\n values: (string | number | boolean)[] | IncludeExcludeFilterValuesType;\r\n isExclude: boolean;\r\n target: IIncludeExcludeFilterTarget;\r\n\r\n constructor(\r\n target: IIncludeExcludeFilterTarget,\r\n isExclude: boolean,\r\n values: (string | number | boolean)[] | IncludeExcludeFilterValuesType) {\r\n super(target, FilterType.IncludeExclude);\r\n this.target = target;\r\n this.values = values;\r\n this.isExclude = isExclude;\r\n this.schemaUrl = IncludeExcludeFilter.schemaUrl;\r\n }\r\n\r\n toJSON(): IIncludeExcludeFilter {\r\n const filter = super.toJSON() as IIncludeExcludeFilter;\r\n\r\n filter.isExclude = this.isExclude;\r\n filter.values = this.values;\r\n\r\n return filter;\r\n }\r\n}\r\n\r\nexport class TopNFilter extends Filter {\r\n static schemaUrl: string = \"http://powerbi.com/product/schema#topN\";\r\n operator: TopNFilterOperators;\r\n orderBy: ITarget;\r\n itemCount: number;\r\n\r\n constructor(\r\n target: IFilterTarget,\r\n operator: TopNFilterOperators,\r\n itemCount: number,\r\n orderBy: ITarget) {\r\n super(target, FilterType.TopN);\r\n this.operator = operator;\r\n this.itemCount = itemCount;\r\n this.schemaUrl = TopNFilter.schemaUrl;\r\n this.orderBy = orderBy;\r\n }\r\n\r\n toJSON(): ITopNFilter {\r\n const filter = super.toJSON() as ITopNFilter;\r\n\r\n filter.operator = this.operator;\r\n filter.itemCount = this.itemCount;\r\n filter.orderBy = this.orderBy;\r\n\r\n return filter;\r\n }\r\n}\r\n\r\nexport class RelativeDateFilter extends Filter {\r\n static schemaUrl: string = \"http://powerbi.com/product/schema#relativeDate\";\r\n operator: RelativeDateOperators;\r\n timeUnitsCount: number;\r\n timeUnitType: RelativeDateFilterTimeUnit;\r\n includeToday: boolean;\r\n\r\n constructor(\r\n target: IFilterTarget,\r\n operator: RelativeDateOperators,\r\n timeUnitsCount: number,\r\n timeUnitType: RelativeDateFilterTimeUnit,\r\n includeToday: boolean) {\r\n super(target, FilterType.RelativeDate);\r\n this.operator = operator;\r\n this.timeUnitsCount = timeUnitsCount;\r\n this.timeUnitType = timeUnitType;\r\n this.includeToday = includeToday;\r\n this.schemaUrl = RelativeDateFilter.schemaUrl;\r\n }\r\n\r\n toJSON(): IRelativeDateFilter {\r\n const filter = super.toJSON() as IRelativeDateFilter;\r\n\r\n filter.operator = this.operator;\r\n filter.timeUnitsCount = this.timeUnitsCount;\r\n filter.timeUnitType = this.timeUnitType;\r\n filter.includeToday = this.includeToday;\r\n\r\n return filter;\r\n }\r\n}\r\n\r\nexport class RelativeTimeFilter extends Filter {\r\n static schemaUrl: string = \"http://powerbi.com/product/schema#relativeTime\";\r\n operator: RelativeDateOperators;\r\n timeUnitsCount: number;\r\n timeUnitType: RelativeDateFilterTimeUnit;\r\n\r\n constructor(\r\n target: IFilterTarget,\r\n operator: RelativeDateOperators,\r\n timeUnitsCount: number,\r\n timeUnitType: RelativeDateFilterTimeUnit) {\r\n super(target, FilterType.RelativeTime);\r\n this.operator = operator;\r\n this.timeUnitsCount = timeUnitsCount;\r\n this.timeUnitType = timeUnitType;\r\n this.schemaUrl = RelativeTimeFilter.schemaUrl;\r\n }\r\n\r\n toJSON(): IRelativeTimeFilter {\r\n const filter = super.toJSON() as IRelativeTimeFilter;\r\n\r\n filter.operator = this.operator;\r\n filter.timeUnitsCount = this.timeUnitsCount;\r\n filter.timeUnitType = this.timeUnitType;\r\n\r\n return filter;\r\n }\r\n}\r\n\r\nexport class BasicFilter extends Filter {\r\n static schemaUrl: string = \"http://powerbi.com/product/schema#basic\";\r\n operator: BasicFilterOperators;\r\n values: (string | number | boolean)[];\r\n keyValues: (string | number | boolean)[][];\r\n requireSingleSelection: boolean;\r\n\r\n constructor(\r\n target: IFilterTarget,\r\n operator: BasicFilterOperators,\r\n ...values: ((string | number | boolean) | (string | number | boolean)[])[]\r\n ) {\r\n super(target, FilterType.Basic);\r\n this.operator = operator;\r\n this.schemaUrl = BasicFilter.schemaUrl;\r\n\r\n if (values.length === 0 && operator !== \"All\") {\r\n throw new Error(`values must be a non-empty array unless your operator is \"All\".`);\r\n }\r\n\r\n /**\r\n * Accept values as array instead of as individual arguments\r\n * new BasicFilter('a', 'b', 1, 2);\r\n * new BasicFilter('a', 'b', [1,2]);\r\n */\r\n if (Array.isArray(values[0])) {\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\r\n this.values = (values[0] as (string | number | boolean)[]);\r\n }\r\n else {\r\n this.values = (values as (string | number | boolean)[]);\r\n }\r\n }\r\n\r\n toJSON(): IBasicFilter {\r\n const filter = super.toJSON() as IBasicFilter;\r\n\r\n filter.operator = this.operator;\r\n filter.values = this.values;\r\n filter.requireSingleSelection = !!this.requireSingleSelection;\r\n return filter;\r\n }\r\n}\r\n\r\nexport class BasicFilterWithKeys extends BasicFilter {\r\n keyValues: (string | number | boolean)[][];\r\n target: IFilterKeyTarget;\r\n\r\n constructor(\r\n target: IFilterKeyTarget,\r\n operator: BasicFilterOperators,\r\n values: ((string | number | boolean) | (string | number | boolean)[]),\r\n keyValues: (string | number | boolean)[][]\r\n ) {\r\n super(target, operator, values);\r\n this.keyValues = keyValues;\r\n this.target = target;\r\n const numberOfKeys = target.keys ? target.keys.length : 0;\r\n\r\n if (numberOfKeys > 0 && !keyValues) {\r\n throw new Error(`You should pass the values to be filtered for each key. You passed: no values and ${numberOfKeys} keys`);\r\n }\r\n\r\n if (numberOfKeys === 0 && keyValues && keyValues.length > 0) {\r\n throw new Error(`You passed key values but your target object doesn't contain the keys to be filtered`);\r\n }\r\n\r\n for (const keyValue of this.keyValues) {\r\n if (keyValue) {\r\n const lengthOfArray = keyValue.length;\r\n if (lengthOfArray !== numberOfKeys) {\r\n throw new Error(`Each tuple of key values should contain a value for each of the keys. You passed: ${lengthOfArray} values and ${numberOfKeys} keys`);\r\n }\r\n }\r\n }\r\n }\r\n\r\n toJSON(): IBasicFilter {\r\n const filter = super.toJSON() as IBasicFilterWithKeys;\r\n filter.keyValues = this.keyValues;\r\n return filter;\r\n }\r\n}\r\n\r\nexport class IdentityFilter extends Filter {\r\n static schemaUrl: string = \"http://powerbi.com/product/schema#identity\";\r\n operator: IdentityFilterOperators;\r\n target: IIdentityFilterTarget;\r\n\r\n constructor(\r\n target: IIdentityFilterTarget,\r\n operator: IdentityFilterOperators\r\n ) {\r\n super(target, FilterType.Identity);\r\n this.operator = operator;\r\n this.schemaUrl = IdentityFilter.schemaUrl;\r\n }\r\n\r\n toJSON(): IIdentityFilter {\r\n const filter = super.toJSON() as IIdentityFilter;\r\n filter.operator = this.operator;\r\n filter.target = this.target;\r\n return filter;\r\n }\r\n}\r\n\r\nexport class TupleFilter extends Filter {\r\n static schemaUrl: string = \"http://powerbi.com/product/schema#tuple\";\r\n operator: TupleFilterOperators;\r\n target: ITupleFilterTarget;\r\n values: TupleValueType[];\r\n\r\n constructor(\r\n target: ITupleFilterTarget,\r\n operator: TupleFilterOperators,\r\n values: TupleValueType[]\r\n ) {\r\n super(target, FilterType.Tuple);\r\n this.operator = operator;\r\n this.schemaUrl = TupleFilter.schemaUrl;\r\n this.values = values;\r\n }\r\n\r\n toJSON(): ITupleFilter {\r\n const filter = super.toJSON() as ITupleFilter;\r\n filter.operator = this.operator;\r\n filter.values = this.values;\r\n filter.target = this.target;\r\n return filter;\r\n }\r\n}\r\n\r\nexport class AdvancedFilter extends Filter {\r\n static schemaUrl: string = \"http://powerbi.com/product/schema#advanced\";\r\n\r\n logicalOperator: AdvancedFilterLogicalOperators;\r\n conditions: IAdvancedFilterCondition[];\r\n\r\n constructor(\r\n target: IFilterTarget,\r\n logicalOperator: AdvancedFilterLogicalOperators,\r\n ...conditions: (IAdvancedFilterCondition | IAdvancedFilterCondition[])[]\r\n ) {\r\n super(target, FilterType.Advanced);\r\n this.schemaUrl = AdvancedFilter.schemaUrl;\r\n\r\n // Guard statements\r\n if (typeof logicalOperator !== \"string\" || logicalOperator.length === 0) {\r\n // TODO: It would be nicer to list out the possible logical operators.\r\n throw new Error(`logicalOperator must be a valid operator, You passed: ${logicalOperator}`);\r\n }\r\n\r\n this.logicalOperator = logicalOperator;\r\n\r\n let extractedConditions: IAdvancedFilterCondition[];\r\n /**\r\n * Accept conditions as array instead of as individual arguments\r\n * new AdvancedFilter('a', 'b', \"And\", { value: 1, operator: \"Equals\" }, { value: 2, operator: \"IsGreaterThan\" });\r\n * new AdvancedFilter('a', 'b', \"And\", [{ value: 1, operator: \"Equals\" }, { value: 2, operator: \"IsGreaterThan\" }]);\r\n */\r\n if (Array.isArray(conditions[0])) {\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\r\n extractedConditions = (conditions[0] as IAdvancedFilterCondition[]);\r\n }\r\n else {\r\n extractedConditions = (conditions as IAdvancedFilterCondition[]);\r\n }\r\n\r\n if (extractedConditions.length > 2) {\r\n throw new Error(`AdvancedFilters may not have more than two conditions. You passed: ${conditions.length}`);\r\n }\r\n if (extractedConditions.length === 1 && logicalOperator !== \"And\") {\r\n throw new Error(`Logical Operator must be \"And\" when there is only one condition provided`);\r\n }\r\n\r\n this.conditions = extractedConditions;\r\n }\r\n\r\n toJSON(): IAdvancedFilter {\r\n const filter = super.toJSON() as IAdvancedFilter;\r\n\r\n filter.logicalOperator = this.logicalOperator;\r\n filter.conditions = this.conditions;\r\n\r\n return filter;\r\n }\r\n}\r\n\r\nexport class HierarchyFilter extends Filter {\r\n static schemaUrl: string = \"http://powerbi.com/product/schema#hierarchy\";\r\n\r\n target: (IFilterTarget | IFilterKeyTarget)[];\r\n hierarchyData: IHierarchyFilterNode[];\r\n\r\n constructor(\r\n target: (IFilterTarget | IFilterKeyTarget)[],\r\n hierarchyData: IHierarchyFilterNode[]\r\n ) {\r\n super(target, FilterType.Hierarchy);\r\n this.schemaUrl = HierarchyFilter.schemaUrl;\r\n this.hierarchyData = hierarchyData;\r\n }\r\n\r\n toJSON(): IHierarchyFilter {\r\n const filter = super.toJSON() as IHierarchyFilter;\r\n filter.hierarchyData = this.hierarchyData;\r\n filter.target = this.target;\r\n return filter;\r\n }\r\n}\r\n\r\nexport class HierarchyIdentityFilter extends Filter {\r\n static schemaUrl: string = \"http://powerbi.com/product/schema#hierarchyIdentity\";\r\n\r\n target: IHierarchyIdentityFilterTarget;\r\n hierarchyData: IHierarchyIdentityFilterNode[];\r\n\r\n constructor(\r\n target: IHierarchyIdentityFilterTarget,\r\n hierarchyData: IHierarchyIdentityFilterNode[]\r\n ) {\r\n super(target, FilterType.HierarchyIdentity);\r\n this.schemaUrl = HierarchyIdentityFilter.schemaUrl;\r\n this.hierarchyData = hierarchyData;\r\n }\r\n\r\n toJSON(): IHierarchyIdentityFilter {\r\n const filter = super.toJSON() as IHierarchyIdentityFilter;\r\n filter.hierarchyData = this.hierarchyData;\r\n filter.target = this.target;\r\n return filter;\r\n }\r\n}\r\n\r\nexport interface IDataReference {\r\n target: IFilterTarget;\r\n}\r\n\r\nexport interface IEqualsDataReference extends IDataReference {\r\n equals: string | boolean | number | Date;\r\n}\r\n\r\nexport interface IBetweenDataReference extends IDataReference {\r\n between: (string | boolean | number)[];\r\n}\r\n\r\nexport interface IValueDataReference extends IDataReference {\r\n value: string | boolean | number | Date;\r\n formattedValue: string;\r\n}\r\n\r\nexport interface IIdentityValue {\r\n identity: T[];\r\n values: IValueDataReference[];\r\n}\r\n\r\nexport function isFilterKeyColumnsTarget(target: IFilterTarget): boolean {\r\n return isColumn(target) && !!(target as IFilterKeyColumnsTarget).keys;\r\n}\r\n\r\nexport function isBasicFilterWithKeys(filter: IFilter): boolean {\r\n return getFilterType(filter) === FilterType.Basic && !!(filter as IBasicFilterWithKeys).keyValues;\r\n}\r\n\r\nexport function getFilterType(filter: IFilter): FilterType {\r\n if (filter.filterType) {\r\n return filter.filterType;\r\n }\r\n\r\n const basicFilter = filter as IBasicFilter;\r\n const advancedFilter = filter as IAdvancedFilter;\r\n\r\n if ((typeof basicFilter.operator === \"string\")\r\n && (Array.isArray(basicFilter.values))\r\n ) {\r\n return FilterType.Basic;\r\n }\r\n else if ((typeof advancedFilter.logicalOperator === \"string\")\r\n && (Array.isArray(advancedFilter.conditions))\r\n ) {\r\n return FilterType.Advanced;\r\n }\r\n else {\r\n return FilterType.Unknown;\r\n }\r\n}\r\n\r\nexport function isMeasure(arg: any): arg is IMeasureTarget {\r\n return arg.table !== undefined && arg.measure !== undefined;\r\n}\r\n\r\nexport function isColumn(arg: any): arg is IColumnTarget {\r\n return !!(arg.table && arg.column && !arg.aggregationFunction);\r\n}\r\n\r\nexport function isHierarchyLevel(arg: any): arg is IHierarchyLevelTarget {\r\n return !!(arg.table && arg.hierarchy && arg.hierarchyLevel && !arg.aggregationFunction);\r\n}\r\n\r\nexport function isHierarchyLevelAggr(arg: any): arg is IHierarchyLevelAggrTarget {\r\n return !!(arg.table && arg.hierarchy && arg.hierarchyLevel && arg.aggregationFunction);\r\n}\r\n\r\nexport function isColumnAggr(arg: any): arg is IColumnAggrTarget {\r\n return !!(arg.table && arg.column && arg.aggregationFunction);\r\n}\r\n\r\nexport function isPercentOfGrandTotal(arg: any): arg is IPercentOfGrandTotalTarget {\r\n return !!(arg as IPercentOfGrandTotalTarget).percentOfGrandTotal;\r\n}\r\n\r\nexport interface IBootstrapEmbedConfiguration {\r\n hostname?: string;\r\n embedUrl?: string;\r\n settings?: ISettings;\r\n uniqueId?: string;\r\n type?: string;\r\n groupId?: string;\r\n bootstrapped?: boolean;\r\n}\r\n\r\nexport interface IEmbedConfigurationBase extends IBootstrapEmbedConfiguration {\r\n accessToken?: string;\r\n tokenType?: TokenType;\r\n}\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport interface IEmbedConfiguration extends IEmbedConfigurationBase {\r\n id?: string;\r\n settings?: ISettings;\r\n pageName?: string;\r\n filters?: IFilter[];\r\n pageView?: PageView;\r\n datasetId?: string;\r\n permissions?: Permissions;\r\n viewMode?: ViewMode;\r\n action?: string;\r\n dashboardId?: string;\r\n height?: number;\r\n width?: number;\r\n theme?: IReportTheme;\r\n slicers?: ISlicer[];\r\n bookmark?: IApplyBookmarkRequest;\r\n datasetBinding?: IDatasetBinding;\r\n contrastMode?: ContrastMode;\r\n eventHooks?: EventHooks;\r\n}\r\n\r\nexport interface ICommonEmbedConfiguration extends IEmbedConfigurationBase {\r\n id?: string;\r\n settings?: ISettings;\r\n action?: string;\r\n contrastMode?: ContrastMode;\r\n permissions?: Permissions;\r\n}\r\n\r\nexport interface IReportEmbedConfiguration extends ICommonEmbedConfiguration {\r\n filters?: ReportLevelFilters[] | OnLoadFilters;\r\n datasetBinding?: IDatasetBinding;\r\n bookmark?: IApplyBookmarkRequest;\r\n pageName?: string;\r\n slicers?: ISlicer[];\r\n viewMode?: ViewMode;\r\n theme?: IReportTheme;\r\n eventHooks?: EventHooks;\r\n}\r\n\r\nexport interface IVisualEmbedConfiguration extends IReportEmbedConfiguration {\r\n visualName: string;\r\n height?: number;\r\n width?: number;\r\n}\r\n\r\nexport interface IDashboardEmbedConfiguration extends ICommonEmbedConfiguration {\r\n filters?: IFilter[];\r\n pageView?: PageView;\r\n}\r\n\r\nexport interface ITileEmbedConfiguration extends IDashboardEmbedConfiguration {\r\n dashboardId: string;\r\n height?: number;\r\n width?: number;\r\n}\r\n\r\nexport interface IQnaEmbedConfiguration extends IEmbedConfigurationBase {\r\n datasetIds: string[];\r\n question?: string;\r\n viewMode?: QnaMode;\r\n}\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport interface IReportLoadConfiguration {\r\n accessToken: string;\r\n id: string;\r\n groupId?: string;\r\n settings?: ISettings;\r\n pageName?: string;\r\n filters?: ReportLevelFilters[];\r\n slicers?: ISlicer[];\r\n permissions?: Permissions;\r\n viewMode?: ViewMode;\r\n tokenType?: TokenType;\r\n bookmark?: IApplyBookmarkRequest;\r\n theme?: IReportTheme;\r\n embedUrl?: string;\r\n datasetBinding?: IDatasetBinding;\r\n contrastMode?: ContrastMode;\r\n eventHooks?: EventHooks;\r\n}\r\n\r\nexport interface IReportCreateConfiguration {\r\n type?: \"create\";\r\n accessToken?: string;\r\n datasetId: string;\r\n groupId?: string;\r\n settings?: ISettings;\r\n tokenType?: TokenType;\r\n theme?: IReportTheme;\r\n embedUrl?: string;\r\n eventHooks?: EventHooks;\r\n}\r\n\r\nexport interface IQuickCreateConfiguration {\r\n type?: \"quickCreate\";\r\n accessToken: string;\r\n groupId?: string;\r\n settings?: ISettings;\r\n tokenType?: TokenType;\r\n theme?: IReportTheme;\r\n embedUrl?: string;\r\n datasetCreateConfig: IDatasetCreateConfiguration;\r\n reportCreationMode?: ReportCreationMode;\r\n eventHooks?: EventHooks;\r\n}\r\n\r\nexport interface IDatasetCreateConfiguration {\r\n mashupDocument?: string;\r\n locale: string;\r\n datasourceConnectionConfig?: IDatasourceConnectionConfiguration;\r\n tableSchemaList?: ITableSchema[];\r\n data?: IDataTable[];\r\n}\r\n\r\nexport enum CredentialType {\r\n NoConnection,\r\n OnBehalfOf,\r\n Anonymous,\r\n}\r\n\r\nexport interface IDatasourceConnectionConfiguration {\r\n dataCacheMode?: DataCacheMode;\r\n credentials?: ICredential;\r\n}\r\n\r\nexport interface ICredential {\r\n credentialType: CredentialType;\r\n credentialDetails?: { [property: string]: string };\r\n}\r\n\r\nexport enum DataCacheMode {\r\n Import,\r\n DirectQuery,\r\n}\r\n\r\nexport interface ITableSchema {\r\n name: string;\r\n columns: IColumnSchema[];\r\n}\r\n\r\nexport interface IColumnSchema {\r\n name: string;\r\n displayName?: string;\r\n dataType: DataType;\r\n aggregateFunction?: AggregateFunction;\r\n}\r\n\r\nexport enum AggregateFunction {\r\n Default = 1,\r\n None,\r\n Sum,\r\n Min,\r\n Max,\r\n Count,\r\n Average,\r\n DistinctCount\r\n}\r\n\r\nexport const enum DataType {\r\n Number = \"Number\",\r\n Currency = \"Currency\",\r\n Int32 = \"Int32\",\r\n Percentage = \"Percentage\",\r\n DateTime = \"DateTime\",\r\n DateTimeZone = \"DateTimeZone\",\r\n Date = \"Date\",\r\n Time = \"Time\",\r\n Duration = \"Duration\",\r\n Text = \"Text\",\r\n Logical = \"Logical\",\r\n Binary = \"Binary\",\r\n}\r\n\r\nexport interface IDataTable {\r\n name: string;\r\n rows: string[][];\r\n}\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport interface IDashboardLoadConfiguration {\r\n accessToken: string;\r\n id: string;\r\n groupId?: string;\r\n pageView?: PageView;\r\n tokenType?: TokenType;\r\n embedUrl?: string;\r\n}\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport interface ITileLoadConfiguration {\r\n accessToken: string;\r\n id: string;\r\n dashboardId: string;\r\n groupId?: string;\r\n tokenType?: TokenType;\r\n width?: number;\r\n height?: number;\r\n}\r\n\r\nexport interface ILocaleSettings {\r\n language?: string;\r\n formatLocale?: string;\r\n}\r\n\r\nexport enum BrowserPrintAdjustmentsMode {\r\n Default,\r\n NoAdjustments\r\n}\r\n\r\nexport interface IPrintSettings {\r\n browserPrintAdjustmentsMode?: BrowserPrintAdjustmentsMode;\r\n}\r\n\r\nexport const enum ReportCreationMode {\r\n Default = \"Default\",\r\n QuickExplore = \"QuickExplore\",\r\n}\r\n\r\nexport interface ISettings {\r\n authoringHintsEnabled?: boolean;\r\n background?: BackgroundType;\r\n bars?: IReportBars;\r\n bookmarksPaneEnabled?: boolean;\r\n commands?: ICommandsSettings[] | IPaginatedReportsCommandsSettings;\r\n customLayout?: ICustomLayout;\r\n extensions?: Extensions;\r\n filterPaneEnabled?: boolean;\r\n hideErrors?: boolean;\r\n hyperlinkClickBehavior?: HyperlinkClickBehavior;\r\n layoutType?: LayoutType;\r\n navContentPaneEnabled?: boolean;\r\n panes?: IReportPanes;\r\n persistentFiltersEnabled?: boolean;\r\n personalBookmarksEnabled?: boolean;\r\n useCustomSaveAsDialog?: boolean;\r\n visualRenderedEvents?: boolean;\r\n visualSettings?: IVisualSettings;\r\n localeSettings?: ILocaleSettings;\r\n zoomLevel?: number;\r\n printSettings?: IPrintSettings;\r\n}\r\n\r\nexport interface IReportBars {\r\n actionBar?: IActionBar;\r\n statusBar?: IStatusBar;\r\n}\r\n\r\nexport interface IActionBar extends IHideable { }\r\n\r\nexport interface IStatusBar extends IHideable { }\r\n\r\nexport interface IReportPanes extends IPanes {\r\n bookmarks?: IBookmarksPane;\r\n fields?: IFieldsPane;\r\n pageNavigation?: IPageNavigationPane;\r\n selection?: ISelectionPane;\r\n syncSlicers?: ISyncSlicersPane;\r\n visualizations?: IVisualizationsPane;\r\n}\r\n\r\nexport interface IPanes {\r\n filters?: IFiltersPane;\r\n}\r\n\r\nexport interface IQnaPanes extends IPanes { }\r\n\r\nexport interface IHideable {\r\n visible?: boolean;\r\n}\r\n\r\nexport interface ICollapsible {\r\n expanded?: boolean;\r\n}\r\n\r\nexport interface IBookmarksPane extends IHideable { }\r\n\r\nexport interface IFieldsPane extends ICollapsible, IHideable { }\r\n\r\nexport interface IFiltersPane extends ICollapsible, IHideable { }\r\n\r\nexport enum PageNavigationPosition {\r\n Bottom,\r\n Left\r\n}\r\n\r\nexport interface IPageNavigationPane extends IHideable {\r\n position?: PageNavigationPosition;\r\n}\r\n\r\nexport interface ISelectionPane extends IHideable { }\r\n\r\nexport interface ISyncSlicersPane extends IHideable { }\r\n\r\nexport interface IVisualizationsPane extends ICollapsible, IHideable { }\r\n\r\nexport interface ISaveAsParameters {\r\n name: string;\r\n targetWorkspaceId?: string;\r\n}\r\n\r\nexport interface IPaginatedReportParameter {\r\n name: string;\r\n value: string | null;\r\n}\r\n\r\nexport interface IPaginatedReportLoadConfiguration {\r\n accessToken: string;\r\n id: string;\r\n groupId?: string;\r\n settings?: IPaginatedReportSettings;\r\n tokenType?: TokenType;\r\n type?: string;\r\n embedUrl?: string;\r\n parameterValues?: IPaginatedReportParameter[];\r\n datasetBindings?: IPaginatedReportDatasetBinding[];\r\n}\r\n\r\nexport interface IPaginatedReportSettings {\r\n commands?: IPaginatedReportsCommandsSettings;\r\n}\r\n\r\nexport interface IQnaSettings {\r\n filterPaneEnabled?: boolean;\r\n hideErrors?: boolean;\r\n localeSettings?: ILocaleSettings;\r\n panes?: IQnaPanes;\r\n}\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport interface ILoadQnaConfiguration {\r\n accessToken: string;\r\n datasetIds: string[];\r\n groupId?: string;\r\n question?: string;\r\n viewMode?: QnaMode;\r\n settings?: IQnaSettings;\r\n tokenType?: TokenType;\r\n}\r\n\r\nexport enum QnaMode {\r\n Interactive,\r\n ResultOnly,\r\n}\r\n\r\nexport enum ExportDataType {\r\n Summarized,\r\n Underlying,\r\n}\r\n\r\nexport enum BookmarksPlayMode {\r\n Off,\r\n Presentation,\r\n}\r\n\r\n// This is not an enum because enum strings require\r\n// us to upgrade typeScript version and change SDK build definition\r\nexport const CommonErrorCodes = {\r\n TokenExpired: 'TokenExpired',\r\n NotFound: 'PowerBIEntityNotFound',\r\n InvalidParameters: 'Invalid parameters',\r\n LoadReportFailed: 'LoadReportFailed',\r\n NotAuthorized: 'PowerBINotAuthorizedException',\r\n FailedToLoadModel: 'ExplorationContainer_FailedToLoadModel_DefaultDetails',\r\n};\r\n\r\nexport const TextAlignment = {\r\n Left: 'left',\r\n Center: 'center',\r\n Right: 'right',\r\n};\r\n\r\nexport const LegendPosition = {\r\n Top: 'Top',\r\n Bottom: 'Bottom',\r\n Right: 'Right',\r\n Left: 'Left',\r\n TopCenter: 'TopCenter',\r\n BottomCenter: 'BottomCenter',\r\n RightCenter: 'RightCenter',\r\n LeftCenter: 'LeftCenter',\r\n};\r\n\r\nexport interface IQnaInterpretInputData {\r\n question: string;\r\n datasetIds?: string[];\r\n}\r\n\r\nexport interface IReportBookmark {\r\n name: string;\r\n displayName: string;\r\n state?: string;\r\n children?: IReportBookmark[];\r\n}\r\n\r\nexport interface ICaptureBookmarkOptions {\r\n personalizeVisuals?: boolean;\r\n allPages?: boolean;\r\n}\r\n\r\nexport interface IPlayBookmarkRequest {\r\n playMode: BookmarksPlayMode;\r\n}\r\n\r\nexport interface IAddBookmarkRequest {\r\n state?: string;\r\n displayName?: string;\r\n apply?: boolean;\r\n}\r\n\r\nexport type IApplyBookmarkRequest = IApplyBookmarkStateRequest | IApplyBookmarkByNameRequest;\r\n\r\nexport interface IApplyBookmarkStateRequest {\r\n state: string;\r\n}\r\n\r\nexport interface IApplyBookmarkByNameRequest {\r\n name: string;\r\n}\r\n\r\nexport interface ICaptureBookmarkRequest {\r\n options: ICaptureBookmarkOptions;\r\n}\r\n\r\nexport interface IExportDataRequest {\r\n rows?: number;\r\n exportDataType?: ExportDataType;\r\n}\r\n\r\nexport interface IExportDataResult {\r\n data: string;\r\n}\r\nexport interface ICreateVisualRequest {\r\n visualType: string;\r\n layout?: IVisualLayout;\r\n autoFocus?: boolean;\r\n}\r\nexport interface IVisualResponse {\r\n visual: IVisual;\r\n}\r\nexport interface ICreateVisualResponse extends IVisualResponse {\r\n}\r\nexport interface ICloneVisualRequest {\r\n // The filters which will be applied to the new visual. Default: source visual filters.\r\n filters?: IFilter[];\r\n\r\n // The layout which will be applied to the new visual.\r\n // Default: a best effort to put a new visual in an empty space on the canvas.\r\n layout?: IVisualLayout;\r\n autoFocus?: boolean;\r\n}\r\n\r\nexport interface ICloneVisualResponse extends IVisualResponse {\r\n // New visual name\r\n visualName: string;\r\n}\r\n\r\nexport interface ISortByVisualRequest {\r\n orderBy: ITarget;\r\n direction: SortDirection;\r\n}\r\n\r\nexport enum SortDirection {\r\n Ascending = 1,\r\n Descending = 2,\r\n}\r\n\r\n/*\r\n * Selectors\r\n */\r\nexport interface ISelector {\r\n $schema: string;\r\n}\r\n\r\nexport interface IPageSelector extends ISelector {\r\n pageName: string;\r\n}\r\n\r\nexport interface IVisualSelector extends ISelector {\r\n visualName: string;\r\n}\r\n\r\nexport interface IVisualTypeSelector extends ISelector {\r\n visualType: string;\r\n}\r\n\r\nexport interface ISlicerTargetSelector extends ISelector {\r\n target: SlicerTarget;\r\n}\r\n\r\nexport abstract class Selector implements ISelector {\r\n public $schema: string;\r\n\r\n constructor(schema: string) {\r\n this.$schema = schema;\r\n }\r\n\r\n toJSON(): ISelector {\r\n return {\r\n $schema: this.$schema\r\n };\r\n }\r\n}\r\n\r\nexport class PageSelector extends Selector implements IPageSelector {\r\n static schemaUrl: string = \"http://powerbi.com/product/schema#pageSelector\";\r\n public pageName: string;\r\n\r\n constructor(pageName: string) {\r\n super(PageSelector.schemaUrl);\r\n this.pageName = pageName;\r\n }\r\n\r\n toJSON(): IPageSelector {\r\n const selector = super.toJSON() as IPageSelector;\r\n\r\n selector.pageName = this.pageName;\r\n return selector;\r\n }\r\n}\r\n\r\nexport class VisualSelector extends Selector implements IVisualSelector {\r\n static schemaUrl: string = \"http://powerbi.com/product/schema#visualSelector\";\r\n public visualName: string;\r\n\r\n constructor(visualName: string) {\r\n super(VisualSelector.schemaUrl);\r\n this.visualName = visualName;\r\n }\r\n\r\n toJSON(): IVisualSelector {\r\n const selector = super.toJSON() as IVisualSelector;\r\n\r\n selector.visualName = this.visualName;\r\n return selector;\r\n }\r\n}\r\n\r\nexport class VisualTypeSelector extends Selector implements IVisualTypeSelector {\r\n public static schemaUrl: string = \"http://powerbi.com/product/schema#visualTypeSelector\";\r\n public visualType: string;\r\n\r\n constructor(visualType: string) {\r\n super(VisualSelector.schemaUrl);\r\n this.visualType = visualType;\r\n }\r\n\r\n toJSON(): IVisualTypeSelector {\r\n const selector = super.toJSON() as IVisualTypeSelector;\r\n\r\n selector.visualType = this.visualType;\r\n return selector;\r\n }\r\n}\r\n\r\nexport class SlicerTargetSelector extends Selector implements ISlicerTargetSelector {\r\n public static schemaUrl: string = \"http://powerbi.com/product/schema#slicerTargetSelector\";\r\n public target: SlicerTarget;\r\n\r\n constructor(target: SlicerTarget) {\r\n super(VisualSelector.schemaUrl);\r\n this.target = target;\r\n }\r\n\r\n toJSON(): ISlicerTargetSelector {\r\n const selector = super.toJSON() as ISlicerTargetSelector;\r\n\r\n selector.target = this.target;\r\n return selector;\r\n }\r\n}\r\n/*\r\n * Slicers\r\n */\r\nexport type SlicerTarget = IFilterTarget | IFilterKeyTarget;\r\nexport type SlicerSelector = IVisualSelector | ISlicerTargetSelector;\r\n\r\nexport interface ISlicer {\r\n selector: SlicerSelector;\r\n state: ISlicerState;\r\n}\r\n\r\nexport interface ISlicerState {\r\n filters: ISlicerFilter[];\r\n targets?: SlicerTarget[];\r\n}\r\n\r\n/*\r\n * Visual Settings\r\n */\r\nexport type VisualHeaderSelector = IVisualSelector | IVisualTypeSelector;\r\nexport type VisualsHeaderSelector = VisualHeaderSelector;\r\n\r\nexport interface IVisualHeaderSettings {\r\n visible?: boolean;\r\n}\r\n\r\nexport interface IVisualHeader {\r\n settings: IVisualHeaderSettings;\r\n selector?: VisualHeaderSelector;\r\n}\r\n\r\nexport interface IVisualSettings {\r\n visualHeaders?: IVisualHeader[];\r\n}\r\n\r\n/*\r\n * Report Theme\r\n */\r\n\r\nexport interface IReportTheme { }\r\n\r\nexport interface ICustomTheme extends IReportTheme {\r\n themeJson: any;\r\n}\r\n\r\n/*\r\n * Built-in Commands Configuration\r\n */\r\n\r\nexport type VisualCommandSelector = IVisualSelector | IVisualTypeSelector;\r\n\r\nexport enum CommandDisplayOption {\r\n Enabled,\r\n Disabled,\r\n Hidden\r\n}\r\n\r\nexport interface ICommandSettings {\r\n displayOption: CommandDisplayOption;\r\n selector?: VisualCommandSelector;\r\n}\r\n\r\nexport interface ICommandsSettings {\r\n copy?: ICommandSettings;\r\n drill?: ICommandSettings;\r\n drillthrough?: ICommandSettings;\r\n expandCollapse?: ICommandSettings;\r\n exportData?: ICommandSettings;\r\n includeExclude?: ICommandSettings;\r\n removeVisual?: ICommandSettings;\r\n search?: ICommandSettings;\r\n seeData?: ICommandSettings;\r\n sort?: ICommandSettings;\r\n spotlight?: ICommandSettings;\r\n insightsAnalysis?: ICommandSettings;\r\n addComment?: ICommandSettings;\r\n groupVisualContainers?: ICommandSettings;\r\n summarize?: ICommandSettings;\r\n clearSelection?: ICommandSettings;\r\n focusMode?: ICommandSettings;\r\n}\r\n\r\nexport interface IPaginatedReportsCommandSettings {\r\n enabled?: boolean;\r\n}\r\n\r\nexport interface IParametersPanelCommandSettings extends IPaginatedReportsCommandSettings {\r\n expanded?: boolean;\r\n}\r\n\r\nexport interface IPaginatedReportsCommandsSettings {\r\n parameterPanel?: IParametersPanelCommandSettings;\r\n}\r\n\r\n/*\r\n * Visual CRUD\r\n */\r\n\r\nexport enum VisualDataRoleKind {\r\n // Indicates that the role should be bound to something that evaluates to a grouping of values.\r\n Grouping = 0,\r\n\r\n // Indicates that the role should be bound to something that evaluates to a single value in a scope.\r\n Measure = 1,\r\n\r\n // Indicates that the role can be bound to either Grouping or Measure.\r\n GroupingOrMeasure = 2\r\n}\r\n\r\n// Indicates the visual preference on Grouping or Measure. Only applicable if kind is GroupingOrMeasure.\r\nexport enum VisualDataRoleKindPreference {\r\n Measure = 0,\r\n Grouping = 1\r\n}\r\n\r\nexport interface IVisualDataRole {\r\n // Unique name for the VisualDataRole\r\n name: string;\r\n\r\n // Indicates the kind of role.\r\n kind: VisualDataRoleKind;\r\n\r\n // Indicates the visual preference on what role kind to use\r\n kindPreference?: VisualDataRoleKindPreference;\r\n\r\n // The display name of the role.\r\n displayName?: string;\r\n\r\n // The tooltip text\r\n description?: string;\r\n}\r\n\r\nexport interface IVisualCapabilities {\r\n // Defines what roles the visual expects, and how those roles should be populated. This is useful for visual generation/editing.\r\n dataRoles?: IVisualDataRole[];\r\n}\r\n\r\nexport interface IVisualPropertySelector {\r\n objectName: string;\r\n propertyName: string;\r\n}\r\n\r\nexport interface IVisualPropertyValue {\r\n schema?: string;\r\n value: any;\r\n}\r\n\r\nexport interface IDefaultProperty {\r\n}\r\n\r\nexport interface IThemeColorProperty {\r\n id: number;\r\n shade: number;\r\n}\r\n\r\nexport function isOnLoadFilters(filters: ReportLevelFilters[] | OnLoadFilters): filters is OnLoadFilters {\r\n return filters && !isReportFiltersArray(filters);\r\n}\r\n\r\nexport function isReportFiltersArray(filters: ReportLevelFilters[] | OnLoadFilters): filters is ReportLevelFilters[] {\r\n return Array.isArray(filters);\r\n}\r\n\r\nexport function isFlatMenuExtension(menuExtension: IMenuExtension): menuExtension is IFlatMenuExtension {\r\n return menuExtension && !isGroupedMenuExtension(menuExtension);\r\n}\r\n\r\nexport function isGroupedMenuExtension(menuExtension: IMenuExtension): menuExtension is IGroupedMenuExtension {\r\n return menuExtension && !!(menuExtension as IGroupedMenuExtension).groupName;\r\n}\r\n\r\nexport function isIExtensions(extensions: Extensions): extensions is IExtensions {\r\n return extensions && !isIExtensionArray(extensions);\r\n}\r\n\r\nexport function isIExtensionArray(extensions: Extensions): extensions is IExtension[] {\r\n return Array.isArray(extensions);\r\n}\r\n\r\nfunction normalizeError(error: any): IError {\r\n let message = error.message;\r\n if (!message) {\r\n message = `${error.path} is invalid. Not meeting ${error.keyword} constraint`;\r\n }\r\n return {\r\n message: message\r\n };\r\n}\r\n\r\nexport function validateVisualSelector(input: any): IError[] {\r\n const errors: any[] = Validators.visualSelectorValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateSlicer(input: any): IError[] {\r\n const errors: any[] = Validators.slicerValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateSlicerState(input: any): IError[] {\r\n const errors: any[] = Validators.slicerStateValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validatePlayBookmarkRequest(input: any): IError[] {\r\n const errors: any[] = Validators.playBookmarkRequestValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateAddBookmarkRequest(input: any): IError[] {\r\n const errors: any[] = Validators.addBookmarkRequestValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateApplyBookmarkByNameRequest(input: any): IError[] {\r\n const errors: any[] = Validators.applyBookmarkByNameRequestValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateApplyBookmarkStateRequest(input: any): IError[] {\r\n const errors: any[] = Validators.applyBookmarkStateRequestValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateCaptureBookmarkRequest(input: any): IError[] {\r\n const errors: any[] = Validators.captureBookmarkRequestValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateSettings(input: any): IError[] {\r\n const errors: any[] = Validators.settingsValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validatePanes(input: any): IError[] {\r\n const errors: any[] = Validators.reportPanesValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateBookmarksPane(input: any): IError[] {\r\n const errors: any[] = Validators.bookmarksPaneValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateFiltersPane(input: any): IError[] {\r\n const errors: any[] = Validators.filtersPaneValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateFieldsPane(input: any): IError[] {\r\n const errors: any[] = Validators.fieldsPaneValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validatePageNavigationPane(input: any): IError[] {\r\n const errors: any[] = Validators.pageNavigationPaneValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateSelectionPane(input: any): IError[] {\r\n const errors: any[] = Validators.selectionPaneValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateSyncSlicersPane(input: any): IError[] {\r\n const errors: any[] = Validators.syncSlicersPaneValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateVisualizationsPane(input: any): IError[] {\r\n const errors: any[] = Validators.visualizationsPaneValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateCustomPageSize(input: any): IError[] {\r\n const errors: any[] = Validators.customPageSizeValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateExtension(input: any): IError[] {\r\n const errors: any[] = Validators.extensionValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateMenuGroupExtension(input: any): IError[] {\r\n const errors: any[] = Validators.menuGroupExtensionValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateReportLoad(input: any): IError[] {\r\n const errors: any[] = Validators.reportLoadValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validatePaginatedReportLoad(input: any): IError[] {\r\n const errors: any[] = Validators.paginatedReportLoadValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateCreateReport(input: any): IError[] {\r\n const errors: any[] = Validators.reportCreateValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateQuickCreate(input: any): IError[] {\r\n const errors: any[] = Validators.quickCreateValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateDashboardLoad(input: any): IError[] {\r\n const errors: any[] = Validators.dashboardLoadValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateTileLoad(input: any): IError[] {\r\n const errors: any[] = Validators.tileLoadValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validatePage(input: any): IError[] {\r\n const errors: any[] = Validators.pageValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateFilter(input: any): IError[] {\r\n const errors: any[] = Validators.filterValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateUpdateFiltersRequest(input: any): IError[] {\r\n const errors: any[] = Validators.updateFiltersRequestValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateSaveAsParameters(input: any): IError[] {\r\n const errors: any[] = Validators.saveAsParametersValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateLoadQnaConfiguration(input: any): IError[] {\r\n const errors: any[] = Validators.loadQnaValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateQnaInterpretInputData(input: any): IError[] {\r\n const errors: any[] = Validators.qnaInterpretInputDataValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateExportDataRequest(input: any): IError[] {\r\n const errors: any[] = Validators.exportDataRequestValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateVisualHeader(input: any): IError[] {\r\n const errors: any[] = Validators.visualHeaderValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateVisualSettings(input: any): IError[] {\r\n const errors: any[] = Validators.visualSettingsValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateCommandsSettings(input: any): IError[] {\r\n const errors: any[] = Validators.commandsSettingsValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateCustomTheme(input: any): IError[] {\r\n const errors: any[] = Validators.customThemeValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validateZoomLevel(input: any): IError[] {\r\n const errors: any[] = Validators.zoomLevelValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n\r\nexport function validatePrintSettings(input: any): IError[] {\r\n const errors: any[] = Validators.printSettingsValidator.validate(input);\r\n return errors ? errors.map(normalizeError) : undefined;\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { ActionBarValidator, StatusBarValidator, ReportBarsValidator } from '../models/barsValidator';\r\nimport { AddBookmarkRequestValidator, ApplyBookmarkByNameRequestValidator, ApplyBookmarkStateRequestValidator, CaptureBookmarkOptionsValidator, CaptureBookmarkRequestValidator, PlayBookmarkRequestValidator } from '../models/bookmarkValidator';\r\nimport { CommandsSettingsValidator, SingleCommandSettingsValidator, PaginatedReportCommandsValidator } from '../models/commandsSettingsValidator';\r\nimport { CustomThemeValidator } from '../models/customThemeValidator';\r\nimport { DashboardLoadValidator } from '../models/dashboardLoadValidator';\r\nimport { DatasetBindingValidator } from '../models/datasetBindingValidator';\r\nimport { ExportDataRequestValidator } from '../models/exportDataValidator';\r\nimport { CommandExtensionValidator, ExtensionPointsValidator, ExtensionsValidator, ExtensionValidator, FlatMenuExtensionValidator, GroupedMenuExtensionValidator, MenuGroupExtensionValidator } from '../models/extensionsValidator';\r\nimport {\r\n AdvancedFilterValidator,\r\n BasicFilterValidator,\r\n ConditionItemValidator,\r\n FilterColumnTargetValidator,\r\n FilterDisplaySettingsValidator,\r\n FilterHierarchyTargetValidator,\r\n FilterKeyColumnsTargetValidator,\r\n FilterKeyHierarchyTargetValidator,\r\n FilterMeasureTargetValidator,\r\n FilterValidator,\r\n HierarchyFilterNodeValidator,\r\n HierarchyFilterValidator,\r\n IncludeExcludeFilterValidator,\r\n IncludeExcludePointValueValidator,\r\n NotSupportedFilterValidator,\r\n OnLoadFiltersBaseRemoveOperationValidator,\r\n OnLoadFiltersBaseValidator,\r\n OnLoadFiltersValidator,\r\n RelativeDateFilterValidator,\r\n RelativeTimeFilterValidator,\r\n RemoveFiltersRequestValidator,\r\n TopNFilterValidator,\r\n UpdateFiltersRequestValidator\r\n} from '../models/filtersValidator';\r\nimport { CustomLayoutValidator, DisplayStateValidator, PageLayoutValidator, VisualLayoutValidator } from '../models/layoutValidator';\r\nimport { CustomPageSizeValidator, PageSizeValidator, PageValidator, PageViewFieldValidator } from '../models/pageValidator';\r\nimport {\r\n BookmarksPaneValidator,\r\n FieldsPaneValidator,\r\n FiltersPaneValidator,\r\n PageNavigationPaneValidator,\r\n QnaPanesValidator,\r\n ReportPanesValidator,\r\n SelectionPaneValidator,\r\n SyncSlicersPaneValidator,\r\n VisualizationsPaneValidator\r\n} from '../models/panesValidator';\r\nimport { LoadQnaValidator, QnaInterpretInputDataValidator, QnaSettingsValidator } from '../models/qnaValidator';\r\nimport { ReportCreateValidator } from '../models/reportCreateValidator';\r\nimport { ReportLoadValidator } from '../models/reportLoadValidator';\r\nimport { PaginatedReportLoadValidator, ReportParameterFieldsValidator } from '../models/paginatedReportLoadValidator';\r\nimport { SaveAsParametersValidator } from '../models/saveAsParametersValidator';\r\nimport { SlicerTargetSelectorValidator, VisualSelectorValidator, VisualTypeSelectorValidator } from '../models/selectorsValidator';\r\nimport { SettingsValidator, PaginatedReportSettingsValidator } from '../models/settingsValidator';\r\nimport { SlicerStateValidator, SlicerValidator } from '../models/slicersValidator';\r\nimport { TileLoadValidator } from '../models/tileLoadValidator';\r\nimport { VisualHeaderSettingsValidator, VisualHeaderValidator, VisualSettingsValidator } from '../models/visualSettingsValidator';\r\nimport { AnyOfValidator } from './anyOfValidator';\r\nimport { FieldForbiddenValidator } from './fieldForbiddenValidator';\r\nimport { FieldRequiredValidator } from './fieldRequiredValidator';\r\nimport { MapValidator } from './mapValidator';\r\nimport { ArrayValidator, BooleanArrayValidator, BooleanValidator, EnumValidator, NumberArrayValidator, NumberValidator, RangeValidator, StringArrayValidator, StringValidator } from './typeValidator';\r\nimport { ParametersPanelValidator } from '../models/parameterPanelValidator';\r\nimport { DatasetCreateConfigValidator, ColumnSchemaValidator, DatasourceConnectionConfigValidator, TableSchemaValidator, TableDataValidator, CredentialsValidator } from '../models/datasetCreateConfigValidator';\r\nimport { QuickCreateValidator } from '../models/quickCreateValidator';\r\nimport { PrintSettingsValidator } from '../models/printSettingsValidator';\r\nimport { PaginatedReportDatasetBindingValidator } from '../models/paginatedReportDatasetBindingValidator';\r\n\r\nexport interface IValidationError {\r\n path?: string;\r\n keyword?: string;\r\n message?: string;\r\n}\r\n\r\nexport interface IValidator {\r\n validate(input: any, path?: string, fieldName?: string): IValidationError[];\r\n}\r\n\r\nexport interface IFieldValidatorsPair {\r\n field: string;\r\n validators: IValidator[];\r\n}\r\n\r\nexport const Validators = {\r\n addBookmarkRequestValidator: new AddBookmarkRequestValidator(),\r\n advancedFilterTypeValidator: new EnumValidator([0]),\r\n advancedFilterValidator: new AdvancedFilterValidator(),\r\n anyArrayValidator: new ArrayValidator([new AnyOfValidator([new StringValidator(), new NumberValidator(), new BooleanValidator()])]),\r\n anyFilterValidator: new AnyOfValidator([new BasicFilterValidator(), new AdvancedFilterValidator(), new IncludeExcludeFilterValidator(), new NotSupportedFilterValidator(), new RelativeDateFilterValidator(), new TopNFilterValidator(), new RelativeTimeFilterValidator(), new HierarchyFilterValidator()]),\r\n anyValueValidator: new AnyOfValidator([new StringValidator(), new NumberValidator(), new BooleanValidator()]),\r\n actionBarValidator: new ActionBarValidator(),\r\n statusBarValidator: new StatusBarValidator(),\r\n applyBookmarkByNameRequestValidator: new ApplyBookmarkByNameRequestValidator(),\r\n applyBookmarkStateRequestValidator: new ApplyBookmarkStateRequestValidator(),\r\n applyBookmarkValidator: new AnyOfValidator([new ApplyBookmarkByNameRequestValidator(), new ApplyBookmarkStateRequestValidator()]),\r\n backgroundValidator: new EnumValidator([0, 1]),\r\n basicFilterTypeValidator: new EnumValidator([1]),\r\n basicFilterValidator: new BasicFilterValidator(),\r\n booleanArrayValidator: new BooleanArrayValidator(),\r\n booleanValidator: new BooleanValidator(),\r\n bookmarksPaneValidator: new BookmarksPaneValidator(),\r\n captureBookmarkOptionsValidator: new CaptureBookmarkOptionsValidator(),\r\n captureBookmarkRequestValidator: new CaptureBookmarkRequestValidator(),\r\n columnSchemaArrayValidator: new ArrayValidator([new ColumnSchemaValidator()]),\r\n commandDisplayOptionValidator: new EnumValidator([0, 1, 2]),\r\n commandExtensionSelectorValidator: new AnyOfValidator([new VisualSelectorValidator(), new VisualTypeSelectorValidator()]),\r\n commandExtensionArrayValidator: new ArrayValidator([new CommandExtensionValidator()]),\r\n commandExtensionValidator: new CommandExtensionValidator(),\r\n commandsSettingsArrayValidator: new ArrayValidator([new CommandsSettingsValidator()]),\r\n commandsSettingsValidator: new CommandsSettingsValidator(),\r\n conditionItemValidator: new ConditionItemValidator(),\r\n contrastModeValidator: new EnumValidator([0, 1, 2, 3, 4]),\r\n credentialDetailsValidator: new MapValidator([new StringValidator()], [new StringValidator()]),\r\n credentialsValidator: new CredentialsValidator(),\r\n credentialTypeValidator: new EnumValidator([0, 1, 2]),\r\n customLayoutDisplayOptionValidator: new EnumValidator([0, 1, 2]),\r\n customLayoutValidator: new CustomLayoutValidator(),\r\n customPageSizeValidator: new CustomPageSizeValidator(),\r\n customThemeValidator: new CustomThemeValidator(),\r\n dashboardLoadValidator: new DashboardLoadValidator(),\r\n dataCacheModeValidator: new EnumValidator([0, 1]),\r\n datasetBindingValidator: new DatasetBindingValidator(),\r\n datasetCreateConfigValidator: new DatasetCreateConfigValidator(),\r\n datasourceConnectionConfigValidator: new DatasourceConnectionConfigValidator(),\r\n displayStateModeValidator: new EnumValidator([0, 1]),\r\n displayStateValidator: new DisplayStateValidator(),\r\n exportDataRequestValidator: new ExportDataRequestValidator(),\r\n extensionArrayValidator: new ArrayValidator([new ExtensionValidator()]),\r\n extensionsValidator: new AnyOfValidator([new ArrayValidator([new ExtensionValidator()]), new ExtensionsValidator()]),\r\n extensionPointsValidator: new ExtensionPointsValidator(),\r\n extensionValidator: new ExtensionValidator(),\r\n fieldForbiddenValidator: new FieldForbiddenValidator(),\r\n fieldRequiredValidator: new FieldRequiredValidator(),\r\n fieldsPaneValidator: new FieldsPaneValidator(),\r\n filterColumnTargetValidator: new FilterColumnTargetValidator(),\r\n filterDisplaySettingsValidator: new FilterDisplaySettingsValidator(),\r\n filterConditionsValidator: new ArrayValidator([new ConditionItemValidator()]),\r\n filterHierarchyTargetValidator: new FilterHierarchyTargetValidator(),\r\n filterMeasureTargetValidator: new FilterMeasureTargetValidator(),\r\n filterTargetValidator: new AnyOfValidator([new FilterColumnTargetValidator(), new FilterHierarchyTargetValidator(), new FilterMeasureTargetValidator(), new ArrayValidator([new AnyOfValidator([new FilterColumnTargetValidator(), new FilterHierarchyTargetValidator(), new FilterMeasureTargetValidator(), new FilterKeyColumnsTargetValidator(), new FilterKeyHierarchyTargetValidator(), new ArrayValidator([new AnyOfValidator([new FilterColumnTargetValidator(), new FilterHierarchyTargetValidator(), new FilterMeasureTargetValidator(), new FilterKeyColumnsTargetValidator(), new FilterKeyHierarchyTargetValidator()])])])])]),\r\n filterValidator: new FilterValidator(),\r\n filterTypeValidator: new EnumValidator([0, 1, 2, 3, 4, 5, 6, 7, 9]),\r\n filtersArrayValidator: new ArrayValidator([new FilterValidator()]),\r\n filtersOperationsUpdateValidator: new EnumValidator([1, 2, 3]),\r\n filtersOperationsRemoveAllValidator: new EnumValidator([0]),\r\n filtersPaneValidator: new FiltersPaneValidator(),\r\n hyperlinkClickBehaviorValidator: new EnumValidator([0, 1, 2]),\r\n includeExcludeFilterValidator: new IncludeExcludeFilterValidator(),\r\n includeExludeFilterTypeValidator: new EnumValidator([3]),\r\n includeExcludeFilterValuesValidator: new ArrayValidator([new AnyOfValidator([new StringValidator(), new NumberValidator(), new BooleanValidator(), new ArrayValidator([new ArrayValidator([new IncludeExcludePointValueValidator()])])])]),\r\n hierarchyFilterTypeValidator: new EnumValidator([9]),\r\n hierarchyFilterValuesValidator: new ArrayValidator([new HierarchyFilterNodeValidator()]),\r\n layoutTypeValidator: new EnumValidator([0, 1, 2, 3]),\r\n loadQnaValidator: new LoadQnaValidator(),\r\n menuExtensionValidator: new AnyOfValidator([new FlatMenuExtensionValidator(), new GroupedMenuExtensionValidator()]),\r\n menuGroupExtensionArrayValidator: new ArrayValidator([new MenuGroupExtensionValidator()]),\r\n menuGroupExtensionValidator: new MenuGroupExtensionValidator(),\r\n menuLocationValidator: new EnumValidator([0, 1]),\r\n notSupportedFilterTypeValidator: new EnumValidator([2]),\r\n notSupportedFilterValidator: new NotSupportedFilterValidator(),\r\n numberArrayValidator: new NumberArrayValidator(),\r\n numberValidator: new NumberValidator(),\r\n onLoadFiltersBaseValidator: new AnyOfValidator([new OnLoadFiltersBaseValidator(), new OnLoadFiltersBaseRemoveOperationValidator()]),\r\n pageLayoutValidator: new MapValidator([new StringValidator()], [new VisualLayoutValidator()]),\r\n pageNavigationPaneValidator: new PageNavigationPaneValidator(),\r\n pageNavigationPositionValidator: new EnumValidator([0, 1]),\r\n pageSizeTypeValidator: new EnumValidator([0, 1, 2, 3, 4, 5]),\r\n pageSizeValidator: new PageSizeValidator(),\r\n pageValidator: new PageValidator(),\r\n pageViewFieldValidator: new PageViewFieldValidator(),\r\n pagesLayoutValidator: new MapValidator([new StringValidator()], [new PageLayoutValidator()]),\r\n paginatedReportCommandsValidator: new PaginatedReportCommandsValidator(),\r\n paginatedReportDatasetBindingArrayValidator: new ArrayValidator([new PaginatedReportDatasetBindingValidator()]),\r\n paginatedReportLoadValidator: new PaginatedReportLoadValidator(),\r\n paginatedReportsettingsValidator: new PaginatedReportSettingsValidator(),\r\n parameterValuesArrayValidator: new ArrayValidator([new ReportParameterFieldsValidator()]),\r\n parametersPanelValidator: new ParametersPanelValidator(),\r\n permissionsValidator: new EnumValidator([0, 1, 2, 4, 7]),\r\n playBookmarkRequestValidator: new PlayBookmarkRequestValidator(),\r\n printSettingsValidator: new PrintSettingsValidator(),\r\n qnaInterpretInputDataValidator: new QnaInterpretInputDataValidator(),\r\n qnaPanesValidator: new QnaPanesValidator(),\r\n qnaSettingValidator: new QnaSettingsValidator(),\r\n quickCreateValidator: new QuickCreateValidator(),\r\n rawDataValidator: new ArrayValidator([new ArrayValidator([new StringValidator()])]),\r\n relativeDateFilterOperatorValidator: new EnumValidator([0, 1, 2]),\r\n relativeDateFilterTimeUnitTypeValidator: new EnumValidator([0, 1, 2, 3, 4, 5, 6]),\r\n relativeDateFilterTypeValidator: new EnumValidator([4]),\r\n relativeDateFilterValidator: new RelativeDateFilterValidator(),\r\n relativeDateTimeFilterTypeValidator: new EnumValidator([4, 7]),\r\n relativeDateTimeFilterUnitTypeValidator: new EnumValidator([0, 1, 2, 3, 4, 5, 6, 7, 8]),\r\n relativeTimeFilterTimeUnitTypeValidator: new EnumValidator([7, 8]),\r\n relativeTimeFilterTypeValidator: new EnumValidator([7]),\r\n relativeTimeFilterValidator: new RelativeTimeFilterValidator(),\r\n reportBarsValidator: new ReportBarsValidator(),\r\n reportCreateValidator: new ReportCreateValidator(),\r\n reportLoadFiltersValidator: new AnyOfValidator([new ArrayValidator([new FilterValidator()]), new OnLoadFiltersValidator()]),\r\n reportLoadValidator: new ReportLoadValidator(),\r\n reportPanesValidator: new ReportPanesValidator(),\r\n saveAsParametersValidator: new SaveAsParametersValidator(),\r\n selectionPaneValidator: new SelectionPaneValidator(),\r\n settingsValidator: new SettingsValidator(),\r\n singleCommandSettingsValidator: new SingleCommandSettingsValidator(),\r\n slicerSelectorValidator: new AnyOfValidator([new VisualSelectorValidator(), new SlicerTargetSelectorValidator()]),\r\n slicerStateValidator: new SlicerStateValidator(),\r\n slicerTargetValidator: new AnyOfValidator([new FilterColumnTargetValidator(), new FilterHierarchyTargetValidator(), new FilterMeasureTargetValidator(), new FilterKeyColumnsTargetValidator(), new FilterKeyHierarchyTargetValidator()]),\r\n slicerValidator: new SlicerValidator(),\r\n stringArrayValidator: new StringArrayValidator(),\r\n stringValidator: new StringValidator(),\r\n syncSlicersPaneValidator: new SyncSlicersPaneValidator(),\r\n tableDataArrayValidator: new ArrayValidator([new TableDataValidator()]),\r\n tableSchemaListValidator: new ArrayValidator([new TableSchemaValidator()]),\r\n tileLoadValidator: new TileLoadValidator(),\r\n tokenTypeValidator: new EnumValidator([0, 1]),\r\n topNFilterTypeValidator: new EnumValidator([5]),\r\n topNFilterValidator: new TopNFilterValidator(),\r\n updateFiltersRequestValidator: new AnyOfValidator([new UpdateFiltersRequestValidator(), new RemoveFiltersRequestValidator()]),\r\n viewModeValidator: new EnumValidator([0, 1]),\r\n visualCommandSelectorValidator: new AnyOfValidator([new VisualSelectorValidator(), new VisualTypeSelectorValidator()]),\r\n visualHeaderSelectorValidator: new AnyOfValidator([new VisualSelectorValidator(), new VisualTypeSelectorValidator()]),\r\n visualHeaderSettingsValidator: new VisualHeaderSettingsValidator(),\r\n visualHeaderValidator: new VisualHeaderValidator(),\r\n visualHeadersValidator: new ArrayValidator([new VisualHeaderValidator()]),\r\n visualizationsPaneValidator: new VisualizationsPaneValidator(),\r\n visualLayoutValidator: new VisualLayoutValidator(),\r\n visualSelectorValidator: new VisualSelectorValidator(),\r\n visualSettingsValidator: new VisualSettingsValidator(),\r\n visualTypeSelectorValidator: new VisualTypeSelectorValidator(),\r\n zoomLevelValidator: new RangeValidator(0.25, 4),\r\n};\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class ReportBarsValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"actionBar\",\r\n validators: [Validators.actionBarValidator]\r\n },\r\n {\r\n field: \"statusBar\",\r\n validators: [Validators.statusBarValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class ActionBarValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"visible\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class StatusBarValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"visible\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IValidationError, IValidator } from './validator';\r\n\r\nexport interface IFieldValidatorsPair {\r\n field: string;\r\n validators: IValidator[];\r\n}\r\n\r\nexport class MultipleFieldsValidator implements IValidator {\r\n public constructor(private fieldValidatorsPairs: IFieldValidatorsPair[]) { }\r\n\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (!this.fieldValidatorsPairs) {\r\n return null;\r\n }\r\n\r\n const fieldsPath = path ? path + \".\" + field : field;\r\n\r\n for (const fieldValidators of this.fieldValidatorsPairs) {\r\n for (const validator of fieldValidators.validators) {\r\n const errors = validator.validate(input[fieldValidators.field], fieldsPath, fieldValidators.field);\r\n if (errors) {\r\n return errors;\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IValidationError, IValidator } from './validator';\r\n\r\nexport class ObjectValidator implements IValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n if (typeof input !== \"object\" || Array.isArray(input)) {\r\n return [{\r\n message: field !== undefined ? field + \" must be an object\" : \"input must be an object\",\r\n path: path,\r\n keyword: \"type\"\r\n }];\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nexport class ArrayValidator implements IValidator {\r\n constructor(private itemValidators: IValidator[]) {\r\n }\r\n\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n if (!(Array.isArray(input))) {\r\n return [{\r\n message: field + \" property is invalid\",\r\n path: (path ? path + \".\" : \"\") + field,\r\n keyword: \"type\"\r\n }];\r\n }\r\n\r\n for (let i = 0; i < input.length; i++) {\r\n const fieldsPath = (path ? path + \".\" : \"\") + field + \".\" + i.toString();\r\n for (const validator of this.itemValidators) {\r\n const errors = validator.validate(input[i], fieldsPath, field);\r\n if (errors) {\r\n return [{\r\n message: field + \" property is invalid\",\r\n path: (path ? path + \".\" : \"\") + field,\r\n keyword: \"type\"\r\n }];\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n\r\nexport class TypeValidator implements IValidator {\r\n constructor(private expectedType: string) {\r\n }\r\n\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n if (!(typeof input === this.expectedType)) {\r\n return [{\r\n message: field + \" must be a \" + this.expectedType,\r\n path: (path ? path + \".\" : \"\") + field,\r\n keyword: \"type\"\r\n }];\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nexport class StringValidator extends TypeValidator {\r\n constructor() {\r\n super(\"string\");\r\n }\r\n}\r\n\r\nexport class BooleanValidator extends TypeValidator {\r\n constructor() {\r\n super(\"boolean\");\r\n }\r\n}\r\n\r\nexport class NumberValidator extends TypeValidator {\r\n constructor() {\r\n super(\"number\");\r\n }\r\n}\r\n\r\nexport class ValueValidator implements IValidator {\r\n public constructor(private possibleValues: (number | string)[]) { }\r\n\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n if (this.possibleValues.indexOf(input) < 0) {\r\n return [{\r\n message: field + \" property is invalid\",\r\n path: (path ? path + \".\" : \"\") + field,\r\n keyword: \"invalid\"\r\n }];\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nexport class SchemaValidator extends ValueValidator {\r\n public constructor(private schemaValue: string) {\r\n super([schemaValue]);\r\n }\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n return super.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class EnumValidator extends NumberValidator {\r\n public constructor(private possibleValues: number[]) {\r\n super();\r\n }\r\n\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const valueValidator = new ValueValidator(this.possibleValues);\r\n return valueValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class StringArrayValidator extends ArrayValidator {\r\n constructor() {\r\n super([new StringValidator()]);\r\n }\r\n\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return [{\r\n message: field + \" must be an array of strings\",\r\n path: (path ? path + \".\" : \"\") + field,\r\n keyword: \"type\"\r\n }];\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nexport class BooleanArrayValidator extends ArrayValidator {\r\n constructor() {\r\n super([new BooleanValidator()]);\r\n }\r\n\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return [{\r\n message: field + \" must be an array of booleans\",\r\n path: (path ? path + \".\" : \"\") + field,\r\n keyword: \"type\"\r\n }];\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nexport class NumberArrayValidator extends ArrayValidator {\r\n constructor() {\r\n super([new NumberValidator()]);\r\n }\r\n\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return [{\r\n message: field + \" must be an array of numbers\",\r\n path: (path ? path + \".\" : \"\") + field,\r\n keyword: \"type\"\r\n }];\r\n }\r\n return null;\r\n }\r\n}\r\n\r\nexport class RangeValidator extends NumberValidator {\r\n\r\n constructor(private minValue: number, private maxValue: number) {\r\n super();\r\n }\r\n\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n // input is a number, now check if it's in the given range\r\n if(input > this.maxValue || input < this.minValue) {\r\n return [{\r\n message: field + \" must be a number between \" + this.minValue.toString() + \" and \" + this.maxValue.toString(),\r\n path: (path ? path + \".\" : \"\") + field,\r\n keyword: \"range\"\r\n }];\r\n }\r\n return null;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { EnumValidator, ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class PlayBookmarkRequestValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"playMode\",\r\n validators: [Validators.fieldRequiredValidator, new EnumValidator([0, 1])]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class AddBookmarkRequestValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"state\",\r\n validators: [Validators.stringValidator]\r\n },\r\n {\r\n field: \"displayName\",\r\n validators: [Validators.stringValidator]\r\n },\r\n {\r\n field: \"apply\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class ApplyBookmarkByNameRequestValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"name\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class ApplyBookmarkStateRequestValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"state\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class CaptureBookmarkOptionsValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"personalizeVisuals\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n {\r\n field: \"allPages\",\r\n validators: [Validators.booleanValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class CaptureBookmarkRequestValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"options\",\r\n validators: [Validators.fieldRequiredValidator, Validators.captureBookmarkOptionsValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class CommandsSettingsValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"copy\",\r\n validators: [Validators.singleCommandSettingsValidator]\r\n },\r\n {\r\n field: \"drill\",\r\n validators: [Validators.singleCommandSettingsValidator]\r\n },\r\n {\r\n field: \"drillthrough\",\r\n validators: [Validators.singleCommandSettingsValidator]\r\n },\r\n {\r\n field: \"expandCollapse\",\r\n validators: [Validators.singleCommandSettingsValidator]\r\n },\r\n {\r\n field: \"exportData\",\r\n validators: [Validators.singleCommandSettingsValidator]\r\n },\r\n {\r\n field: \"includeExclude\",\r\n validators: [Validators.singleCommandSettingsValidator]\r\n },\r\n {\r\n field: \"removeVisual\",\r\n validators: [Validators.singleCommandSettingsValidator]\r\n },\r\n {\r\n field: \"search\",\r\n validators: [Validators.singleCommandSettingsValidator]\r\n },\r\n {\r\n field: \"seeData\",\r\n validators: [Validators.singleCommandSettingsValidator]\r\n },\r\n {\r\n field: \"sort\",\r\n validators: [Validators.singleCommandSettingsValidator]\r\n },\r\n {\r\n field: \"spotlight\",\r\n validators: [Validators.singleCommandSettingsValidator]\r\n },\r\n {\r\n field: \"insightsAnalysis\",\r\n validators: [Validators.singleCommandSettingsValidator]\r\n },\r\n {\r\n field: \"addComment\",\r\n validators: [Validators.singleCommandSettingsValidator]\r\n },\r\n {\r\n field: \"groupVisualContainers\",\r\n validators: [Validators.singleCommandSettingsValidator]\r\n },\r\n {\r\n field: \"summarize\",\r\n validators: [Validators.singleCommandSettingsValidator]\r\n },\r\n {\r\n field: \"clearSelection\",\r\n validators: [Validators.singleCommandSettingsValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class SingleCommandSettingsValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"displayOption\",\r\n validators: [Validators.fieldRequiredValidator, Validators.commandDisplayOptionValidator]\r\n },\r\n {\r\n field: \"selector\",\r\n validators: [Validators.visualCommandSelectorValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class PaginatedReportCommandsValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"parameterPanel\",\r\n validators: [Validators.parametersPanelValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError } from '../core/validator';\r\n\r\nexport class CustomThemeValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"themeJson\",\r\n validators: [new ObjectValidator()]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class DashboardLoadValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"accessToken\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"id\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"groupId\",\r\n validators: [Validators.stringValidator]\r\n },\r\n {\r\n field: \"pageView\",\r\n validators: [Validators.pageViewFieldValidator]\r\n },\r\n {\r\n field: \"tokenType\",\r\n validators: [Validators.tokenTypeValidator]\r\n },\r\n {\r\n field: \"embedUrl\",\r\n validators: [Validators.stringValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class DatasetBindingValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n if (!input[\"datasetId\"] && !input[\"paginatedReportBindings\"]) {\r\n return [{\r\n message: \"datasetBinding cannot be empty\",\r\n path: (path ? path + \".\" : \"\") + field,\r\n keyword: \"invalid\"\r\n }];\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"datasetId\",\r\n validators: [Validators.stringValidator]\r\n },\r\n {\r\n field: \"paginatedReportBindings\",\r\n validators: [Validators.paginatedReportDatasetBindingArrayValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { EnumValidator, NumberValidator, ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError } from '../core/validator';\r\n\r\nexport class ExportDataRequestValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"rows\",\r\n validators: [new NumberValidator()]\r\n },\r\n {\r\n field: \"exportDataType\",\r\n validators: [new EnumValidator([0, 1])]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class MenuExtensionBaseValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"title\",\r\n validators: [Validators.stringValidator]\r\n },\r\n {\r\n field: \"icon\",\r\n validators: [Validators.stringValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class FlatMenuExtensionValidator extends MenuExtensionBaseValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"menuLocation\",\r\n validators: [Validators.menuLocationValidator]\r\n },\r\n {\r\n field: \"groupName\",\r\n validators: [Validators.fieldForbiddenValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class GroupedMenuExtensionValidator extends MenuExtensionBaseValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"groupName\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"menuLocation\",\r\n validators: [Validators.fieldForbiddenValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class ExtensionPointsValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"visualContextMenu\",\r\n validators: [Validators.menuExtensionValidator]\r\n },\r\n {\r\n field: \"visualOptionsMenu\",\r\n validators: [Validators.menuExtensionValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class ExtensionItemValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"name\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"extend\",\r\n validators: [Validators.fieldRequiredValidator, Validators.extensionPointsValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class CommandExtensionValidator extends ExtensionItemValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"title\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"icon\",\r\n validators: [Validators.stringValidator]\r\n },\r\n {\r\n field: \"selector\",\r\n validators: [Validators.commandExtensionSelectorValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class ExtensionValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"command\",\r\n validators: [Validators.commandExtensionValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class MenuGroupExtensionValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"name\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"title\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"menuLocation\",\r\n validators: [Validators.menuLocationValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class ExtensionsValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"commands\",\r\n validators: [Validators.fieldRequiredValidator, Validators.commandExtensionArrayValidator]\r\n },\r\n {\r\n field: \"groups\",\r\n validators: [Validators.menuGroupExtensionArrayValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class FilterColumnTargetValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"table\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"column\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class FilterKeyColumnsTargetValidator extends FilterColumnTargetValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"keys\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringArrayValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class FilterHierarchyTargetValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"table\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"hierarchy\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"hierarchyLevel\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class FilterKeyHierarchyTargetValidator extends FilterHierarchyTargetValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"keys\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringArrayValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class FilterMeasureTargetValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"table\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"measure\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class FilterDisplaySettingsValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"isLockedInViewMode\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n {\r\n field: \"isHiddenInViewMode\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n {\r\n field: \"displayName\",\r\n validators: [Validators.stringValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class FilterValidatorBase extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"target\",\r\n validators: [Validators.fieldRequiredValidator, Validators.filterTargetValidator]\r\n },\r\n {\r\n field: \"$schema\",\r\n validators: [Validators.stringValidator]\r\n },\r\n {\r\n field: \"filterType\",\r\n validators: [Validators.filterTypeValidator]\r\n },\r\n {\r\n field: \"displaySettings\",\r\n validators: [Validators.filterDisplaySettingsValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class BasicFilterValidator extends FilterValidatorBase {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"operator\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"values\",\r\n validators: [Validators.fieldRequiredValidator, Validators.anyArrayValidator]\r\n },\r\n {\r\n field: \"filterType\",\r\n validators: [Validators.basicFilterTypeValidator]\r\n },\r\n {\r\n field: \"requireSingleSelection\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class AdvancedFilterValidator extends FilterValidatorBase {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"logicalOperator\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"conditions\",\r\n validators: [Validators.filterConditionsValidator]\r\n },\r\n {\r\n field: \"filterType\",\r\n validators: [Validators.advancedFilterTypeValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class RelativeDateTimeFilterValidator extends FilterValidatorBase {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"operator\",\r\n validators: [Validators.fieldRequiredValidator, Validators.relativeDateFilterOperatorValidator]\r\n },\r\n {\r\n field: \"timeUnitsCount\",\r\n validators: [Validators.numberValidator]\r\n },\r\n {\r\n field: \"timeUnitType\",\r\n validators: [Validators.fieldRequiredValidator, Validators.relativeDateTimeFilterUnitTypeValidator]\r\n },\r\n {\r\n field: \"filterType\",\r\n validators: [Validators.relativeDateTimeFilterTypeValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class RelativeDateFilterValidator extends RelativeDateTimeFilterValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"includeToday\",\r\n validators: [Validators.fieldRequiredValidator, Validators.booleanValidator]\r\n },\r\n {\r\n field: \"timeUnitType\",\r\n validators: [Validators.fieldRequiredValidator, Validators.relativeDateFilterTimeUnitTypeValidator]\r\n },\r\n {\r\n field: \"filterType\",\r\n validators: [Validators.relativeDateFilterTypeValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class RelativeTimeFilterValidator extends RelativeDateTimeFilterValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"timeUnitType\",\r\n validators: [Validators.fieldRequiredValidator, Validators.relativeTimeFilterTimeUnitTypeValidator]\r\n },\r\n {\r\n field: \"filterType\",\r\n validators: [Validators.relativeTimeFilterTypeValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class TopNFilterValidator extends FilterValidatorBase {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"operator\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"itemCount\",\r\n validators: [Validators.fieldRequiredValidator, Validators.numberValidator]\r\n },\r\n {\r\n field: \"filterType\",\r\n validators: [Validators.topNFilterTypeValidator]\r\n },\r\n {\r\n field: \"orderBy\",\r\n validators: [Validators.fieldRequiredValidator, Validators.filterTargetValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class NotSupportedFilterValidator extends FilterValidatorBase {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"message\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"notSupportedTypeName\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"filterType\",\r\n validators: [Validators.notSupportedFilterTypeValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class IncludeExcludeFilterValidator extends FilterValidatorBase {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"isExclude\",\r\n validators: [Validators.fieldRequiredValidator, Validators.booleanValidator]\r\n },\r\n {\r\n field: \"values\",\r\n validators: [Validators.fieldRequiredValidator, Validators.includeExcludeFilterValuesValidator]\r\n },\r\n {\r\n field: \"filterType\",\r\n validators: [Validators.includeExludeFilterTypeValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class HierarchyFilterValidator extends FilterValidatorBase {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"hierarchyData\",\r\n validators: [Validators.fieldRequiredValidator, Validators.hierarchyFilterValuesValidator]\r\n },\r\n {\r\n field: \"filterType\",\r\n validators: [Validators.hierarchyFilterTypeValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class HierarchyFilterNodeValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"value\",\r\n validators: [Validators.anyValueValidator]\r\n },\r\n {\r\n field: \"keyValues\",\r\n validators: [Validators.anyArrayValidator]\r\n },\r\n {\r\n field: \"children\",\r\n validators: [Validators.hierarchyFilterValuesValidator]\r\n },\r\n {\r\n field: \"operator\",\r\n validators: [Validators.stringValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class IncludeExcludePointValueValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"value\",\r\n validators: [Validators.fieldRequiredValidator, Validators.anyValueValidator]\r\n },\r\n {\r\n field: \"keyValues\",\r\n validators: [Validators.anyArrayValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class FilterValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n return Validators.anyFilterValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class UpdateFiltersRequestValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"filtersOperation\",\r\n validators: [Validators.fieldRequiredValidator, Validators.filtersOperationsUpdateValidator]\r\n },\r\n {\r\n field: \"filters\",\r\n validators: [Validators.fieldRequiredValidator, Validators.filtersArrayValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class RemoveFiltersRequestValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"filtersOperation\",\r\n validators: [Validators.fieldRequiredValidator, Validators.filtersOperationsRemoveAllValidator]\r\n },\r\n {\r\n field: \"filters\",\r\n validators: [Validators.fieldForbiddenValidator, Validators.filtersArrayValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class ConditionItemValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"value\",\r\n validators: [Validators.anyValueValidator]\r\n },\r\n {\r\n field: \"operator\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class OnLoadFiltersBaseValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"operation\",\r\n validators: [Validators.fieldRequiredValidator, Validators.filtersOperationsUpdateValidator]\r\n },\r\n {\r\n field: \"filters\",\r\n validators: [Validators.fieldRequiredValidator, Validators.filtersArrayValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class OnLoadFiltersBaseRemoveOperationValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"operation\",\r\n validators: [Validators.fieldRequiredValidator, Validators.filtersOperationsRemoveAllValidator]\r\n },\r\n {\r\n field: \"filters\",\r\n validators: [Validators.fieldForbiddenValidator, Validators.filtersArrayValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class OnLoadFiltersValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"allPages\",\r\n validators: [Validators.onLoadFiltersBaseValidator]\r\n },\r\n {\r\n field: \"currentPage\",\r\n validators: [Validators.onLoadFiltersBaseValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class CustomLayoutValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"pageSize\",\r\n validators: [Validators.pageSizeValidator]\r\n },\r\n {\r\n field: \"displayOption\",\r\n validators: [Validators.customLayoutDisplayOptionValidator]\r\n },\r\n {\r\n field: \"pagesLayout\",\r\n validators: [Validators.pagesLayoutValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class VisualLayoutValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"x\",\r\n validators: [Validators.numberValidator]\r\n },\r\n {\r\n field: \"y\",\r\n validators: [Validators.numberValidator]\r\n },\r\n {\r\n field: \"z\",\r\n validators: [Validators.numberValidator]\r\n },\r\n {\r\n field: \"width\",\r\n validators: [Validators.numberValidator]\r\n },\r\n {\r\n field: \"height\",\r\n validators: [Validators.numberValidator]\r\n },\r\n {\r\n field: \"displayState\",\r\n validators: [Validators.displayStateValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class DisplayStateValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"mode\",\r\n validators: [Validators.displayStateModeValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class PageLayoutValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"visualsLayout\",\r\n validators: [Validators.fieldRequiredValidator, Validators.pageLayoutValidator]\r\n },\r\n {\r\n field: \"defaultLayout\",\r\n validators: [Validators.visualLayoutValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator, StringValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class PageSizeValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"type\",\r\n validators: [Validators.fieldRequiredValidator, Validators.pageSizeTypeValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class CustomPageSizeValidator extends PageSizeValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"width\",\r\n validators: [Validators.numberValidator]\r\n },\r\n {\r\n field: \"height\",\r\n validators: [Validators.numberValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class PageValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"name\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class PageViewFieldValidator extends StringValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n const possibleValues = [\"actualSize\", \"fitToWidth\", \"oneColumn\"];\r\n if (possibleValues.indexOf(input) < 0) {\r\n return [{\r\n message: \"pageView must be a string with one of the following values: \\\"actualSize\\\", \\\"fitToWidth\\\", \\\"oneColumn\\\"\"\r\n }];\r\n }\r\n return null;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class ReportPanesValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"bookmarks\",\r\n validators: [Validators.bookmarksPaneValidator]\r\n },\r\n {\r\n field: \"fields\",\r\n validators: [Validators.fieldsPaneValidator]\r\n },\r\n {\r\n field: \"filters\",\r\n validators: [Validators.filtersPaneValidator]\r\n },\r\n {\r\n field: \"pageNavigation\",\r\n validators: [Validators.pageNavigationPaneValidator]\r\n },\r\n {\r\n field: \"selection\",\r\n validators: [Validators.selectionPaneValidator]\r\n },\r\n {\r\n field: \"syncSlicers\",\r\n validators: [Validators.syncSlicersPaneValidator]\r\n },\r\n {\r\n field: \"visualizations\",\r\n validators: [Validators.visualizationsPaneValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class QnaPanesValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"filters\",\r\n validators: [Validators.filtersPaneValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\nexport class BookmarksPaneValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"visible\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class FieldsPaneValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"expanded\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class FiltersPaneValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"visible\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n {\r\n field: \"expanded\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class PageNavigationPaneValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"visible\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n {\r\n field: \"position\",\r\n validators: [Validators.pageNavigationPositionValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class SelectionPaneValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"visible\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class SyncSlicersPaneValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"visible\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class VisualizationsPaneValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"expanded\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class LoadQnaValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"accessToken\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"datasetIds\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringArrayValidator]\r\n },\r\n {\r\n field: \"question\",\r\n validators: [Validators.stringValidator]\r\n },\r\n {\r\n field: \"viewMode\",\r\n validators: [Validators.viewModeValidator]\r\n },\r\n {\r\n field: \"settings\",\r\n validators: [Validators.qnaSettingValidator]\r\n },\r\n {\r\n field: \"tokenType\",\r\n validators: [Validators.tokenTypeValidator]\r\n },\r\n {\r\n field: \"groupId\",\r\n validators: [Validators.stringValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class QnaSettingsValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"filterPaneEnabled\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n {\r\n field: \"hideErrors\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n {\r\n field: \"panes\",\r\n validators: [Validators.qnaPanesValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class QnaInterpretInputDataValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"datasetIds\",\r\n validators: [Validators.stringArrayValidator]\r\n },\r\n {\r\n field: \"question\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class ReportCreateValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"accessToken\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"datasetId\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"groupId\",\r\n validators: [Validators.stringValidator]\r\n },\r\n {\r\n field: \"tokenType\",\r\n validators: [Validators.tokenTypeValidator]\r\n },\r\n {\r\n field: \"theme\",\r\n validators: [Validators.customThemeValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class ReportLoadValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"accessToken\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"id\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"groupId\",\r\n validators: [Validators.stringValidator]\r\n },\r\n {\r\n field: \"settings\",\r\n validators: [Validators.settingsValidator]\r\n },\r\n {\r\n field: \"pageName\",\r\n validators: [Validators.stringValidator]\r\n },\r\n {\r\n field: \"filters\",\r\n validators: [Validators.reportLoadFiltersValidator]\r\n },\r\n {\r\n field: \"permissions\",\r\n validators: [Validators.permissionsValidator]\r\n },\r\n {\r\n field: \"viewMode\",\r\n validators: [Validators.viewModeValidator]\r\n },\r\n {\r\n field: \"tokenType\",\r\n validators: [Validators.tokenTypeValidator]\r\n },\r\n {\r\n field: \"bookmark\",\r\n validators: [Validators.applyBookmarkValidator]\r\n },\r\n {\r\n field: \"theme\",\r\n validators: [Validators.customThemeValidator]\r\n },\r\n {\r\n field: \"embedUrl\",\r\n validators: [Validators.stringValidator]\r\n },\r\n {\r\n field: \"datasetBinding\",\r\n validators: [Validators.datasetBindingValidator]\r\n },\r\n {\r\n field: \"contrastMode\",\r\n validators: [Validators.contrastModeValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError, IValidator, Validators } from '../core/validator';\r\n\r\nexport class PaginatedReportLoadValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"accessToken\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"id\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"groupId\",\r\n validators: [Validators.stringValidator]\r\n },\r\n {\r\n field: \"settings\",\r\n validators: [Validators.paginatedReportsettingsValidator]\r\n },\r\n {\r\n field: \"tokenType\",\r\n validators: [Validators.tokenTypeValidator]\r\n },\r\n {\r\n field: \"embedUrl\",\r\n validators: [Validators.stringValidator]\r\n },\r\n {\r\n field: \"type\",\r\n validators: [Validators.stringValidator]\r\n },\r\n {\r\n field: \"parameterValues\",\r\n validators: [Validators.parameterValuesArrayValidator]\r\n },\r\n {\r\n field: \"datasetBindings\",\r\n validators: [Validators.paginatedReportDatasetBindingArrayValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class ReportParameterFieldsValidator implements IValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"name\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"value\",\r\n validators: [Validators.stringValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class SaveAsParametersValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"name\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { SchemaValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class VisualSelectorValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n // Not required for this selector only - Backward compatibility\r\n field: \"$schema\",\r\n validators: [Validators.stringValidator, new SchemaValidator(\"http://powerbi.com/product/schema#visualSelector\")]\r\n },\r\n {\r\n field: \"visualName\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class VisualTypeSelectorValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"$schema\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator, new SchemaValidator(\"http://powerbi.com/product/schema#visualTypeSelector\")]\r\n },\r\n {\r\n field: \"visualType\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class SlicerTargetSelectorValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"$schema\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator, new SchemaValidator(\"http://powerbi.com/product/schema#slicerTargetSelector\")]\r\n },\r\n {\r\n field: \"target\",\r\n validators: [Validators.fieldRequiredValidator, Validators.slicerTargetValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class SettingsValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"filterPaneEnabled\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n {\r\n field: \"navContentPaneEnabled\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n {\r\n field: \"bookmarksPaneEnabled\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n {\r\n field: \"useCustomSaveAsDialog\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n {\r\n field: \"extensions\",\r\n validators: [Validators.extensionsValidator]\r\n },\r\n {\r\n field: \"layoutType\",\r\n validators: [Validators.layoutTypeValidator]\r\n },\r\n {\r\n field: \"customLayout\",\r\n validators: [Validators.customLayoutValidator]\r\n },\r\n {\r\n field: \"background\",\r\n validators: [Validators.backgroundValidator]\r\n },\r\n {\r\n field: \"visualSettings\",\r\n validators: [Validators.visualSettingsValidator]\r\n },\r\n {\r\n field: \"hideErrors\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n {\r\n field: \"commands\",\r\n validators: [Validators.commandsSettingsArrayValidator]\r\n },\r\n {\r\n field: \"hyperlinkClickBehavior\",\r\n validators: [Validators.hyperlinkClickBehaviorValidator]\r\n },\r\n {\r\n field: \"bars\",\r\n validators: [Validators.reportBarsValidator]\r\n },\r\n {\r\n field: \"panes\",\r\n validators: [Validators.reportPanesValidator]\r\n },\r\n {\r\n field: \"personalBookmarksEnabled\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n {\r\n field: \"persistentFiltersEnabled\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n {\r\n field: \"visualRenderedEvents\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n {\r\n field: \"authoringHintsEnabled\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n {\r\n field: \"printSettings\",\r\n validators: [Validators.printSettingsValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class PaginatedReportSettingsValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"commands\",\r\n validators: [Validators.paginatedReportCommandsValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class SlicerValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"selector\",\r\n validators: [Validators.fieldRequiredValidator, Validators.slicerSelectorValidator]\r\n },\r\n {\r\n field: \"state\",\r\n validators: [Validators.fieldRequiredValidator, Validators.slicerStateValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class SlicerStateValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"filters\",\r\n validators: [Validators.filtersArrayValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class TileLoadValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"accessToken\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"id\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"dashboardId\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"groupId\",\r\n validators: [Validators.stringValidator]\r\n },\r\n {\r\n field: \"pageView\",\r\n validators: [Validators.stringValidator]\r\n },\r\n {\r\n field: \"tokenType\",\r\n validators: [Validators.tokenTypeValidator]\r\n },\r\n {\r\n field: \"width\",\r\n validators: [Validators.numberValidator]\r\n },\r\n {\r\n field: \"height\",\r\n validators: [Validators.numberValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class VisualSettingsValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"visualHeaders\",\r\n validators: [Validators.visualHeadersValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class VisualHeaderSettingsValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"visible\",\r\n validators: [Validators.booleanValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class VisualHeaderValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"settings\",\r\n validators: [Validators.fieldRequiredValidator, Validators.visualHeaderSettingsValidator]\r\n },\r\n {\r\n field: \"selector\",\r\n validators: [Validators.visualHeaderSelectorValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IValidationError, IValidator } from './validator';\r\n\r\nexport class AnyOfValidator implements IValidator {\r\n public constructor(private validators: IValidator[]) { }\r\n\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n let valid: boolean = false;\r\n for (const validator of this.validators) {\r\n const errors = validator.validate(input, path, field);\r\n if (!errors) {\r\n valid = true;\r\n break;\r\n }\r\n }\r\n\r\n if (!valid) {\r\n return [{\r\n message: field + \" property is invalid\",\r\n path: (path ? path + \".\" : \"\") + field,\r\n keyword: \"invalid\"\r\n }];\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IValidationError, IValidator } from './validator';\r\n\r\nexport class FieldForbiddenValidator implements IValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input !== undefined) {\r\n return [{\r\n message: field + \" is forbidden\",\r\n path: (path ? path + \".\" : \"\") + field,\r\n keyword: \"forbidden\"\r\n }];\r\n }\r\n return null;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IValidationError, IValidator } from './validator';\r\n\r\nexport class FieldRequiredValidator implements IValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return [{\r\n message: field + \" is required\",\r\n path: (path ? path + \".\" : \"\") + field,\r\n keyword: \"required\"\r\n }];\r\n }\r\n return null;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { ObjectValidator } from './typeValidator';\r\nimport { IValidationError, IValidator } from './validator';\r\n\r\nexport class MapValidator extends ObjectValidator {\r\n public constructor(private keyValidators: IValidator[], private valueValidators: IValidator[]) {\r\n super();\r\n }\r\n\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n let errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n for (const key in input) {\r\n if (input.hasOwnProperty(key)) {\r\n const fieldsPath = (path ? path + \".\" : \"\") + field + \".\" + key;\r\n for (const keyValidator of this.keyValidators) {\r\n errors = keyValidator.validate(key, fieldsPath, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n }\r\n for (const valueValidator of this.valueValidators) {\r\n errors = valueValidator.validate(input[key], fieldsPath, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n }\r\n }\r\n }\r\n return null;\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class ParametersPanelValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"expanded\",\r\n validators: [Validators.booleanValidator]\r\n },\r\n {\r\n field: \"enabled\",\r\n validators: [Validators.booleanValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class DatasetCreateConfigValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n let errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"locale\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"mashupDocument\",\r\n validators: [Validators.stringValidator]\r\n },\r\n {\r\n field: \"datasourceConnectionConfig\",\r\n validators: [Validators.datasourceConnectionConfigValidator]\r\n },\r\n {\r\n field: \"tableSchemaList\",\r\n validators: [Validators.tableSchemaListValidator]\r\n },\r\n {\r\n field: \"data\",\r\n validators: [Validators.tableDataArrayValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n errors = multipleFieldsValidator.validate(input, path, field);\r\n\r\n if (errors){\r\n return errors;\r\n }\r\n\r\n if (input[\"datasourceConnectionConfig\"] && input[\"mashupDocument\"] == null) {\r\n return [{\r\n message: \"mashupDocument cannot be empty when datasourceConnectionConfig is presented\"\r\n }];\r\n }\r\n\r\n if (input[\"data\"] && input[\"tableSchemaList\"] == null) {\r\n return [{\r\n message: \"tableSchemaList cannot be empty when data is provided\"\r\n }];\r\n }\r\n\r\n if (input[\"data\"] == null && input[\"mashupDocument\"] == null) {\r\n return [{\r\n message: \"At least one of data or mashupDocument must be provided\"\r\n }];\r\n }\r\n }\r\n}\r\n\r\nexport class DatasourceConnectionConfigValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"dataCacheMode\",\r\n validators: [Validators.dataCacheModeValidator]\r\n },\r\n {\r\n field: \"credentials\",\r\n validators: [Validators.credentialsValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class CredentialsValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"credentialType\",\r\n validators: [Validators.credentialTypeValidator]\r\n },\r\n {\r\n field: \"credentialDetails\",\r\n validators: [Validators.credentialDetailsValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class ColumnSchemaValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"name\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"displayName\",\r\n validators: [Validators.stringValidator]\r\n },\r\n {\r\n field: \"dataType\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class TableSchemaValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"name\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"columns\",\r\n validators: [Validators.fieldRequiredValidator, Validators.columnSchemaArrayValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n\r\nexport class TableDataValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"name\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"rows\",\r\n validators: [Validators.fieldRequiredValidator, Validators.rawDataValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class QuickCreateValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n let errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"accessToken\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"groupId\",\r\n validators: [Validators.stringValidator]\r\n },\r\n {\r\n field: \"tokenType\",\r\n validators: [Validators.tokenTypeValidator]\r\n },\r\n {\r\n field: \"theme\",\r\n validators: [Validators.customThemeValidator]\r\n },\r\n {\r\n field: \"datasetCreateConfig\",\r\n validators: [Validators.fieldRequiredValidator, Validators.datasetCreateConfigValidator]\r\n },\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { EnumValidator, ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError } from '../core/validator';\r\n\r\nexport class PrintSettingsValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"browserPrintAdjustmentsMode\",\r\n validators: [new EnumValidator([0, 1])]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// Copyright (c) Microsoft Corporation.\r\n// Licensed under the MIT License.\r\n\r\nimport { IFieldValidatorsPair, MultipleFieldsValidator } from '../core/multipleFieldsValidator';\r\nimport { ObjectValidator } from '../core/typeValidator';\r\nimport { IValidationError, Validators } from '../core/validator';\r\n\r\nexport class PaginatedReportDatasetBindingValidator extends ObjectValidator {\r\n public validate(input: any, path?: string, field?: string): IValidationError[] {\r\n if (input == null) {\r\n return null;\r\n }\r\n\r\n const errors = super.validate(input, path, field);\r\n if (errors) {\r\n return errors;\r\n }\r\n\r\n const fields: IFieldValidatorsPair[] = [\r\n {\r\n field: \"sourceDatasetId\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n },\r\n {\r\n field: \"targetDatasetId\",\r\n validators: [Validators.fieldRequiredValidator, Validators.stringValidator]\r\n }\r\n ];\r\n\r\n const multipleFieldsValidator = new MultipleFieldsValidator(fields);\r\n return multipleFieldsValidator.validate(input, path, field);\r\n }\r\n}\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(0);\n",""],"names":[],"sourceRoot":""}