{"version":3,"sources":["node_modules/@vendasta/multi-location-analytics/fesm2020/vendasta-multi-location-analytics.mjs"],"sourcesContent":["import * as i0 from '@angular/core';\nimport { Injectable } from '@angular/core';\nimport * as i1 from '@angular/common/http';\nimport { HttpHeaders } from '@angular/common/http';\nimport { map } from 'rxjs/operators';\n\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar PropertyPIITag = /*#__PURE__*/function (PropertyPIITag) {\n PropertyPIITag[PropertyPIITag[\"PROPERTY_PII_TAG_CLEAN\"] = 0] = \"PROPERTY_PII_TAG_CLEAN\";\n PropertyPIITag[PropertyPIITag[\"PROPERTY_PII_TAG_PII\"] = 1] = \"PROPERTY_PII_TAG_PII\";\n PropertyPIITag[PropertyPIITag[\"PROPERTY_PII_TAG_PD\"] = 2] = \"PROPERTY_PII_TAG_PD\";\n return PropertyPIITag;\n}(PropertyPIITag || {});\nvar PropertyType = /*#__PURE__*/function (PropertyType) {\n PropertyType[PropertyType[\"PROPERTY_TYPE_STRING\"] = 0] = \"PROPERTY_TYPE_STRING\";\n PropertyType[PropertyType[\"PROPERTY_TYPE_INT64\"] = 1] = \"PROPERTY_TYPE_INT64\";\n PropertyType[PropertyType[\"PROPERTY_TYPE_DOUBLE\"] = 2] = \"PROPERTY_TYPE_DOUBLE\";\n PropertyType[PropertyType[\"PROPERTY_TYPE_BOOL\"] = 3] = \"PROPERTY_TYPE_BOOL\";\n PropertyType[PropertyType[\"PROPERTY_TYPE_TIMESTAMP\"] = 4] = \"PROPERTY_TYPE_TIMESTAMP\";\n PropertyType[PropertyType[\"PROPERTY_TYPE_GEOPOINT\"] = 5] = \"PROPERTY_TYPE_GEOPOINT\";\n PropertyType[PropertyType[\"PROPERTY_TYPE_STRUCT\"] = 6] = \"PROPERTY_TYPE_STRUCT\";\n PropertyType[PropertyType[\"PROPERTY_TYPE_BYTES\"] = 7] = \"PROPERTY_TYPE_BYTES\";\n return PropertyType;\n}(PropertyType || {});\n// *********************************\n// Code generated by sdkgen\n// DO NOT EDIT!.\n//\n// Enums.\n// *********************************\nvar Alignment = /*#__PURE__*/function (Alignment) {\n Alignment[Alignment[\"ALIGN_NONE\"] = 0] = \"ALIGN_NONE\";\n Alignment[Alignment[\"ALIGN_DELTA\"] = 1] = \"ALIGN_DELTA\";\n Alignment[Alignment[\"ALIGN_INTERPOLATE\"] = 3] = \"ALIGN_INTERPOLATE\";\n Alignment[Alignment[\"ALIGN_NEXT_OLDER\"] = 4] = \"ALIGN_NEXT_OLDER\";\n Alignment[Alignment[\"ALIGN_EXACT\"] = 5] = \"ALIGN_EXACT\";\n Alignment[Alignment[\"ALIGN_CUSTOM\"] = 6] = \"ALIGN_CUSTOM\";\n return Alignment;\n}(Alignment || {});\nvar AlignmentPeriodCalendar = /*#__PURE__*/function (AlignmentPeriodCalendar) {\n AlignmentPeriodCalendar[AlignmentPeriodCalendar[\"UNSPECIFIED\"] = 0] = \"UNSPECIFIED\";\n AlignmentPeriodCalendar[AlignmentPeriodCalendar[\"CALENDAR_MINUTE\"] = 1] = \"CALENDAR_MINUTE\";\n AlignmentPeriodCalendar[AlignmentPeriodCalendar[\"CALENDAR_HOUR\"] = 2] = \"CALENDAR_HOUR\";\n AlignmentPeriodCalendar[AlignmentPeriodCalendar[\"CALENDAR_DAY\"] = 3] = \"CALENDAR_DAY\";\n AlignmentPeriodCalendar[AlignmentPeriodCalendar[\"CALENDAR_WEEK\"] = 4] = \"CALENDAR_WEEK\";\n AlignmentPeriodCalendar[AlignmentPeriodCalendar[\"CALENDAR_MONTH\"] = 5] = \"CALENDAR_MONTH\";\n AlignmentPeriodCalendar[AlignmentPeriodCalendar[\"CALENDAR_QUARTER\"] = 6] = \"CALENDAR_QUARTER\";\n AlignmentPeriodCalendar[AlignmentPeriodCalendar[\"CALENDAR_YEAR\"] = 7] = \"CALENDAR_YEAR\";\n return AlignmentPeriodCalendar;\n}(AlignmentPeriodCalendar || {});\nvar Metric = /*#__PURE__*/function (Metric) {\n Metric[Metric[\"CONNECTED_GMB_ACCOUNTS\"] = 0] = \"CONNECTED_GMB_ACCOUNTS\";\n Metric[Metric[\"QUERIES_DIRECT\"] = 1] = \"QUERIES_DIRECT\";\n Metric[Metric[\"QUERIES_INDIRECT\"] = 2] = \"QUERIES_INDIRECT\";\n Metric[Metric[\"VIEWS_MAPS\"] = 3] = \"VIEWS_MAPS\";\n Metric[Metric[\"VIEWS_SEARCH\"] = 4] = \"VIEWS_SEARCH\";\n Metric[Metric[\"ACTIONS_WEBSITE\"] = 5] = \"ACTIONS_WEBSITE\";\n Metric[Metric[\"ACTIONS_PHONE\"] = 6] = \"ACTIONS_PHONE\";\n Metric[Metric[\"ACTIONS_DRIVING_DIRECTIONS\"] = 7] = \"ACTIONS_DRIVING_DIRECTIONS\";\n Metric[Metric[\"TOTAL_LISTINGS\"] = 8] = \"TOTAL_LISTINGS\";\n Metric[Metric[\"TOTAL_INACCURATE_LISTINGS\"] = 9] = \"TOTAL_INACCURATE_LISTINGS\";\n Metric[Metric[\"TOTAL_CITATIONS\"] = 10] = \"TOTAL_CITATIONS\";\n Metric[Metric[\"TOTAL_REVIEWS\"] = 11] = \"TOTAL_REVIEWS\";\n Metric[Metric[\"NEW_REVIEWS\"] = 12] = \"NEW_REVIEWS\";\n Metric[Metric[\"NEW_POSITIVE_REVIEWS\"] = 13] = \"NEW_POSITIVE_REVIEWS\";\n Metric[Metric[\"NEW_POSITIVE_UNRESPONDED_REVIEWS\"] = 14] = \"NEW_POSITIVE_UNRESPONDED_REVIEWS\";\n Metric[Metric[\"NEW_NEGATIVE_REVIEWS\"] = 15] = \"NEW_NEGATIVE_REVIEWS\";\n Metric[Metric[\"NEW_NEGATIVE_UNRESPONDED_REVIEWS\"] = 16] = \"NEW_NEGATIVE_UNRESPONDED_REVIEWS\";\n Metric[Metric[\"NEW_POSITIVE_RESPONDED_REVIEWS\"] = 17] = \"NEW_POSITIVE_RESPONDED_REVIEWS\";\n Metric[Metric[\"AVERAGE_REVIEW_RATING\"] = 18] = \"AVERAGE_REVIEW_RATING\";\n Metric[Metric[\"LMI_GRADE_LISTINGS\"] = 19] = \"LMI_GRADE_LISTINGS\";\n Metric[Metric[\"LMI_GRADE_REPUTATION\"] = 20] = \"LMI_GRADE_REPUTATION\";\n Metric[Metric[\"LMI_GRADE_SOCIAL\"] = 21] = \"LMI_GRADE_SOCIAL\";\n Metric[Metric[\"LMI_GRADE_SEO\"] = 22] = \"LMI_GRADE_SEO\";\n Metric[Metric[\"LISTING_SYNC_SITES_CURRENTLY_SYNCING\"] = 23] = \"LISTING_SYNC_SITES_CURRENTLY_SYNCING\";\n Metric[Metric[\"LISTING_SYNC_SITES_TOTAL\"] = 24] = \"LISTING_SYNC_SITES_TOTAL\";\n return Metric;\n}(Metric || {});\nvar CompositeFilterOperator = /*#__PURE__*/function (CompositeFilterOperator) {\n CompositeFilterOperator[CompositeFilterOperator[\"OPERATOR_UNSPECIFIED\"] = 0] = \"OPERATOR_UNSPECIFIED\";\n CompositeFilterOperator[CompositeFilterOperator[\"AND\"] = 1] = \"AND\";\n CompositeFilterOperator[CompositeFilterOperator[\"OR\"] = 2] = \"OR\";\n return CompositeFilterOperator;\n}(CompositeFilterOperator || {});\nvar UnaryFilterOperator = /*#__PURE__*/function (UnaryFilterOperator) {\n UnaryFilterOperator[UnaryFilterOperator[\"OPERATOR_UNSPECIFIED\"] = 0] = \"OPERATOR_UNSPECIFIED\";\n UnaryFilterOperator[UnaryFilterOperator[\"IS_NAN\"] = 2] = \"IS_NAN\";\n UnaryFilterOperator[UnaryFilterOperator[\"IS_NULL\"] = 3] = \"IS_NULL\";\n UnaryFilterOperator[UnaryFilterOperator[\"IS_NOT_NULL\"] = 4] = \"IS_NOT_NULL\";\n return UnaryFilterOperator;\n}(UnaryFilterOperator || {});\nvar MeasureAggregateOperator = /*#__PURE__*/function (MeasureAggregateOperator) {\n MeasureAggregateOperator[MeasureAggregateOperator[\"AVG\"] = 0] = \"AVG\";\n MeasureAggregateOperator[MeasureAggregateOperator[\"COUNT\"] = 1] = \"COUNT\";\n MeasureAggregateOperator[MeasureAggregateOperator[\"SUM\"] = 2] = \"SUM\";\n MeasureAggregateOperator[MeasureAggregateOperator[\"MIN\"] = 3] = \"MIN\";\n MeasureAggregateOperator[MeasureAggregateOperator[\"MAX\"] = 4] = \"MAX\";\n MeasureAggregateOperator[MeasureAggregateOperator[\"COUNT_DISTINCT\"] = 5] = \"COUNT_DISTINCT\";\n MeasureAggregateOperator[MeasureAggregateOperator[\"ARRAY_AGG\"] = 6] = \"ARRAY_AGG\";\n return MeasureAggregateOperator;\n}(MeasureAggregateOperator || {});\nvar GroupByOperator = /*#__PURE__*/function (GroupByOperator) {\n GroupByOperator[GroupByOperator[\"OPERATOR_GROUP_BY\"] = 0] = \"OPERATOR_GROUP_BY\";\n GroupByOperator[GroupByOperator[\"OPERATOR_ROLLUP\"] = 1] = \"OPERATOR_ROLLUP\";\n GroupByOperator[GroupByOperator[\"OPERATOR_CUBE\"] = 2] = \"OPERATOR_CUBE\";\n return GroupByOperator;\n}(GroupByOperator || {});\nvar FieldFilterOperator = /*#__PURE__*/function (FieldFilterOperator) {\n FieldFilterOperator[FieldFilterOperator[\"OPERATOR_UNSPECIFIED\"] = 0] = \"OPERATOR_UNSPECIFIED\";\n FieldFilterOperator[FieldFilterOperator[\"LESS_THAN\"] = 1] = \"LESS_THAN\";\n FieldFilterOperator[FieldFilterOperator[\"LESS_THAN_OR_EQUAL\"] = 2] = \"LESS_THAN_OR_EQUAL\";\n FieldFilterOperator[FieldFilterOperator[\"GREATER_THAN\"] = 3] = \"GREATER_THAN\";\n FieldFilterOperator[FieldFilterOperator[\"GREATER_THAN_OR_EQUAL\"] = 4] = \"GREATER_THAN_OR_EQUAL\";\n FieldFilterOperator[FieldFilterOperator[\"EQUAL\"] = 5] = \"EQUAL\";\n FieldFilterOperator[FieldFilterOperator[\"OVERLAP\"] = 6] = \"OVERLAP\";\n FieldFilterOperator[FieldFilterOperator[\"NOT_EQUAL\"] = 7] = \"NOT_EQUAL\";\n return FieldFilterOperator;\n}(FieldFilterOperator || {});\nvar FieldFilterOperatorFunction = /*#__PURE__*/function (FieldFilterOperatorFunction) {\n FieldFilterOperatorFunction[FieldFilterOperatorFunction[\"NONE\"] = 0] = \"NONE\";\n FieldFilterOperatorFunction[FieldFilterOperatorFunction[\"ANY\"] = 1] = \"ANY\";\n FieldFilterOperatorFunction[FieldFilterOperatorFunction[\"ALL\"] = 2] = \"ALL\";\n return FieldFilterOperatorFunction;\n}(FieldFilterOperatorFunction || {});\nvar Order = /*#__PURE__*/function (Order) {\n Order[Order[\"ORDER_ASC\"] = 0] = \"ORDER_ASC\";\n Order[Order[\"ORDER_DESC\"] = 1] = \"ORDER_DESC\";\n return Order;\n}(Order || {});\n// *********************************\n\nfunction enumStringToValue$1(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass Property {\n static fromProto(proto) {\n let m = new Property();\n m = Object.assign(m, proto);\n if (proto.type) {\n m.type = enumStringToValue$1(PropertyType, proto.type);\n }\n if (proto.properties) {\n m.properties = proto.properties.map(Property.fromProto);\n }\n if (proto.piiTag) {\n m.piiTag = enumStringToValue$1(PropertyPIITag, proto.piiTag);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.name !== 'undefined') {\n toReturn['name'] = this.name;\n }\n if (typeof this.type !== 'undefined') {\n toReturn['type'] = this.type;\n }\n if (typeof this.repeated !== 'undefined') {\n toReturn['repeated'] = this.repeated;\n }\n if (typeof this.properties !== 'undefined' && this.properties !== null) {\n toReturn['properties'] = 'toApiJson' in this.properties ? this.properties.toApiJson() : this.properties;\n }\n if (typeof this.piiTag !== 'undefined') {\n toReturn['piiTag'] = this.piiTag;\n }\n return toReturn;\n }\n}\nclass Schema {\n static fromProto(proto) {\n let m = new Schema();\n m = Object.assign(m, proto);\n if (proto.properties) {\n m.properties = proto.properties.map(Property.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.properties !== 'undefined' && this.properties !== null) {\n toReturn['properties'] = 'toApiJson' in this.properties ? this.properties.toApiJson() : this.properties;\n }\n return toReturn;\n }\n}\nclass TypedStruct {\n static fromProto(proto) {\n let m = new TypedStruct();\n m = Object.assign(m, proto);\n if (proto.schema) {\n m.schema = Schema.fromProto(proto.schema);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.schema !== 'undefined' && this.schema !== null) {\n toReturn['schema'] = 'toApiJson' in this.schema ? this.schema.toApiJson() : this.schema;\n }\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n return toReturn;\n }\n}\nfunction enumStringToValue(enumRef, value) {\n if (typeof value === 'number') {\n return value;\n }\n return enumRef[value];\n}\nclass MeasureAggregate {\n static fromProto(proto) {\n let m = new MeasureAggregate();\n m = Object.assign(m, proto);\n if (proto.aggOp) {\n m.aggOp = enumStringToValue(MeasureAggregateOperator, proto.aggOp);\n }\n if (proto.filter) {\n m.filter = Filter.fromProto(proto.filter);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.measure !== 'undefined') {\n toReturn['measure'] = this.measure;\n }\n if (typeof this.aggOp !== 'undefined') {\n toReturn['aggOp'] = this.aggOp;\n }\n if (typeof this.filter !== 'undefined' && this.filter !== null) {\n toReturn['filter'] = 'toApiJson' in this.filter ? this.filter.toApiJson() : this.filter;\n }\n if (typeof this.alias !== 'undefined') {\n toReturn['alias'] = this.alias;\n }\n return toReturn;\n }\n}\nclass AlignmentPeriod {\n static fromProto(proto) {\n let m = new AlignmentPeriod();\n m = Object.assign(m, proto);\n if (proto.calendar) {\n m.calendar = enumStringToValue(AlignmentPeriodCalendar, proto.calendar);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.duration !== 'undefined') {\n toReturn['duration'] = this.duration;\n }\n if (typeof this.calendar !== 'undefined') {\n toReturn['calendar'] = this.calendar;\n }\n return toReturn;\n }\n}\nclass BusinessResourceId {\n static fromProto(proto) {\n let m = new BusinessResourceId();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.businessId !== 'undefined') {\n toReturn['businessId'] = this.businessId;\n }\n return toReturn;\n }\n}\nclass CompositeFilter {\n static fromProto(proto) {\n let m = new CompositeFilter();\n m = Object.assign(m, proto);\n if (proto.op) {\n m.op = enumStringToValue(CompositeFilterOperator, proto.op);\n }\n if (proto.filters) {\n m.filters = proto.filters.map(Filter.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.op !== 'undefined') {\n toReturn['op'] = this.op;\n }\n if (typeof this.filters !== 'undefined' && this.filters !== null) {\n toReturn['filters'] = 'toApiJson' in this.filters ? this.filters.toApiJson() : this.filters;\n }\n return toReturn;\n }\n}\nclass CustomAlignerConfig {\n static fromProto(proto) {\n let m = new CustomAlignerConfig();\n m = Object.assign(m, proto);\n if (proto.alignmentBucketFilter) {\n m.alignmentBucketFilter = Filter.fromProto(proto.alignmentBucketFilter);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.alignmentBucketFilter !== 'undefined' && this.alignmentBucketFilter !== null) {\n toReturn['alignmentBucketFilter'] = 'toApiJson' in this.alignmentBucketFilter ? this.alignmentBucketFilter.toApiJson() : this.alignmentBucketFilter;\n }\n if (typeof this.skipFilteringEntitiesToDateRange !== 'undefined') {\n toReturn['skipFilteringEntitiesToDateRange'] = this.skipFilteringEntitiesToDateRange;\n }\n return toReturn;\n }\n}\nclass DateRange {\n static fromProto(proto) {\n let m = new DateRange();\n m = Object.assign(m, proto);\n if (proto.start) {\n m.start = new Date(proto.start);\n }\n if (proto.startExclusive) {\n m.startExclusive = new Date(proto.startExclusive);\n }\n if (proto.end) {\n m.end = new Date(proto.end);\n }\n if (proto.endExclusive) {\n m.endExclusive = new Date(proto.endExclusive);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.start !== 'undefined' && this.start !== null) {\n toReturn['start'] = 'toApiJson' in this.start ? this.start.toApiJson() : this.start;\n }\n if (typeof this.startExclusive !== 'undefined' && this.startExclusive !== null) {\n toReturn['startExclusive'] = 'toApiJson' in this.startExclusive ? this.startExclusive.toApiJson() : this.startExclusive;\n }\n if (typeof this.end !== 'undefined' && this.end !== null) {\n toReturn['end'] = 'toApiJson' in this.end ? this.end.toApiJson() : this.end;\n }\n if (typeof this.endExclusive !== 'undefined' && this.endExclusive !== null) {\n toReturn['endExclusive'] = 'toApiJson' in this.endExclusive ? this.endExclusive.toApiJson() : this.endExclusive;\n }\n return toReturn;\n }\n}\nclass GroupByDimension {\n static fromProto(proto) {\n let m = new GroupByDimension();\n m = Object.assign(m, proto);\n if (proto.limitDimension) {\n m.limitDimension = GroupByLimit.fromProto(proto.limitDimension);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.dimension !== 'undefined') {\n toReturn['dimension'] = this.dimension;\n }\n if (typeof this.limitDimension !== 'undefined' && this.limitDimension !== null) {\n toReturn['limitDimension'] = 'toApiJson' in this.limitDimension ? this.limitDimension.toApiJson() : this.limitDimension;\n }\n return toReturn;\n }\n}\nclass GroupByExcludeCombination {\n static fromProto(proto) {\n let m = new GroupByExcludeCombination();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.dimensions !== 'undefined') {\n toReturn['dimensions'] = this.dimensions;\n }\n return toReturn;\n }\n}\nclass FieldFilter {\n static fromProto(proto) {\n let m = new FieldFilter();\n m = Object.assign(m, proto);\n if (proto.operator) {\n m.operator = enumStringToValue(FieldFilterOperator, proto.operator);\n }\n if (proto.value) {\n m.value = TypedValue.fromProto(proto.value);\n }\n if (proto.operatorFunction) {\n m.operatorFunction = enumStringToValue(FieldFilterOperatorFunction, proto.operatorFunction);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.dimension !== 'undefined') {\n toReturn['dimension'] = this.dimension;\n }\n if (typeof this.operator !== 'undefined') {\n toReturn['operator'] = this.operator;\n }\n if (typeof this.value !== 'undefined' && this.value !== null) {\n toReturn['value'] = 'toApiJson' in this.value ? this.value.toApiJson() : this.value;\n }\n if (typeof this.comparisonField !== 'undefined') {\n toReturn['comparisonField'] = this.comparisonField;\n }\n if (typeof this.operatorFunction !== 'undefined') {\n toReturn['operatorFunction'] = this.operatorFunction;\n }\n if (typeof this.operatorFunctionOnField !== 'undefined') {\n toReturn['operatorFunctionOnField'] = this.operatorFunctionOnField;\n }\n return toReturn;\n }\n}\nclass Filter {\n static fromProto(proto) {\n let m = new Filter();\n m = Object.assign(m, proto);\n if (proto.compositeFilter) {\n m.compositeFilter = CompositeFilter.fromProto(proto.compositeFilter);\n }\n if (proto.fieldFilter) {\n m.fieldFilter = FieldFilter.fromProto(proto.fieldFilter);\n }\n if (proto.unaryFilter) {\n m.unaryFilter = UnaryFilter.fromProto(proto.unaryFilter);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.compositeFilter !== 'undefined' && this.compositeFilter !== null) {\n toReturn['compositeFilter'] = 'toApiJson' in this.compositeFilter ? this.compositeFilter.toApiJson() : this.compositeFilter;\n }\n if (typeof this.fieldFilter !== 'undefined' && this.fieldFilter !== null) {\n toReturn['fieldFilter'] = 'toApiJson' in this.fieldFilter ? this.fieldFilter.toApiJson() : this.fieldFilter;\n }\n if (typeof this.unaryFilter !== 'undefined' && this.unaryFilter !== null) {\n toReturn['unaryFilter'] = 'toApiJson' in this.unaryFilter ? this.unaryFilter.toApiJson() : this.unaryFilter;\n }\n return toReturn;\n }\n}\nclass Filters {\n static fromProto(proto) {\n let m = new Filters();\n m = Object.assign(m, proto);\n if (proto.sourceFilters) {\n m.sourceFilters = SourceFilters.fromProto(proto.sourceFilters);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sourceFilters !== 'undefined' && this.sourceFilters !== null) {\n toReturn['sourceFilters'] = 'toApiJson' in this.sourceFilters ? this.sourceFilters.toApiJson() : this.sourceFilters;\n }\n return toReturn;\n }\n}\nclass GetMetricsRequest {\n static fromProto(proto) {\n let m = new GetMetricsRequest();\n m = Object.assign(m, proto);\n if (proto.metrics) {\n m.metrics = proto.metrics.map(v => enumStringToValue(Metric, v));\n }\n if (proto.resourceIds) {\n m.resourceIds = proto.resourceIds.map(ResourceId.fromProto);\n }\n if (proto.dateRange) {\n m.dateRange = DateRange.fromProto(proto.dateRange);\n }\n if (proto.businessLimit) {\n m.businessLimit = parseInt(proto.businessLimit, 10);\n }\n if (proto.filters) {\n m.filters = Filters.fromProto(proto.filters);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.metrics !== 'undefined') {\n toReturn['metrics'] = this.metrics;\n }\n if (typeof this.resourceIds !== 'undefined' && this.resourceIds !== null) {\n toReturn['resourceIds'] = 'toApiJson' in this.resourceIds ? this.resourceIds.toApiJson() : this.resourceIds;\n }\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.dateRange !== 'undefined' && this.dateRange !== null) {\n toReturn['dateRange'] = 'toApiJson' in this.dateRange ? this.dateRange.toApiJson() : this.dateRange;\n }\n if (typeof this.includeTimeBuckets !== 'undefined') {\n toReturn['includeTimeBuckets'] = this.includeTimeBuckets;\n }\n if (typeof this.includeGroupsBusinesses !== 'undefined') {\n toReturn['includeGroupsBusinesses'] = this.includeGroupsBusinesses;\n }\n if (typeof this.businessLimit !== 'undefined') {\n toReturn['businessLimit'] = this.businessLimit;\n }\n if (typeof this.filters !== 'undefined' && this.filters !== null) {\n toReturn['filters'] = 'toApiJson' in this.filters ? this.filters.toApiJson() : this.filters;\n }\n return toReturn;\n }\n}\nclass GetMetricsResponse {\n static fromProto(proto) {\n let m = new GetMetricsResponse();\n m = Object.assign(m, proto);\n if (proto.resourceIds) {\n m.resourceIds = proto.resourceIds.map(ResourceId.fromProto);\n }\n if (proto.metrics) {\n m.metrics = proto.metrics.map(v => enumStringToValue(Metric, v));\n }\n if (proto.resourceResponses) {\n m.resourceResponses = proto.resourceResponses.map(ResourceMetricsResponse.fromProto);\n }\n if (proto.timeBucketStarts) {\n m.timeBucketStarts = proto.timeBucketStarts.map(d => new Date(d));\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.resourceIds !== 'undefined' && this.resourceIds !== null) {\n toReturn['resourceIds'] = 'toApiJson' in this.resourceIds ? this.resourceIds.toApiJson() : this.resourceIds;\n }\n if (typeof this.metrics !== 'undefined') {\n toReturn['metrics'] = this.metrics;\n }\n if (typeof this.resourceResponses !== 'undefined' && this.resourceResponses !== null) {\n toReturn['resourceResponses'] = 'toApiJson' in this.resourceResponses ? this.resourceResponses.toApiJson() : this.resourceResponses;\n }\n if (typeof this.timeBucketStarts !== 'undefined' && this.timeBucketStarts !== null) {\n toReturn['timeBucketStarts'] = 'toApiJson' in this.timeBucketStarts ? this.timeBucketStarts.toApiJson() : this.timeBucketStarts;\n }\n return toReturn;\n }\n}\nclass GroupBy {\n static fromProto(proto) {\n let m = new GroupBy();\n m = Object.assign(m, proto);\n if (proto.dimension) {\n m.dimension = proto.dimension.map(GroupByDimension.fromProto);\n }\n if (proto.groupByOperator) {\n m.groupByOperator = enumStringToValue(GroupByOperator, proto.groupByOperator);\n }\n if (proto.excludeCombination) {\n m.excludeCombination = proto.excludeCombination.map(GroupByExcludeCombination.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.dimension !== 'undefined' && this.dimension !== null) {\n toReturn['dimension'] = 'toApiJson' in this.dimension ? this.dimension.toApiJson() : this.dimension;\n }\n if (typeof this.groupByOperator !== 'undefined') {\n toReturn['groupByOperator'] = this.groupByOperator;\n }\n if (typeof this.excludeCombination !== 'undefined' && this.excludeCombination !== null) {\n toReturn['excludeCombination'] = 'toApiJson' in this.excludeCombination ? this.excludeCombination.toApiJson() : this.excludeCombination;\n }\n return toReturn;\n }\n}\nclass GroupResourceId {\n static fromProto(proto) {\n let m = new GroupResourceId();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.groupPathNodes !== 'undefined') {\n toReturn['groupPathNodes'] = this.groupPathNodes;\n }\n return toReturn;\n }\n}\nclass JWTResourceId {\n static fromProto(proto) {\n let m = new JWTResourceId();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.jwt !== 'undefined') {\n toReturn['jwt'] = this.jwt;\n }\n return toReturn;\n }\n}\nclass GroupByLimit {\n static fromProto(proto) {\n let m = new GroupByLimit();\n m = Object.assign(m, proto);\n if (proto.order) {\n m.order = enumStringToValue(Order, proto.order);\n }\n if (proto.limit) {\n m.limit = parseInt(proto.limit, 10);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.dimension !== 'undefined') {\n toReturn['dimension'] = this.dimension;\n }\n if (typeof this.order !== 'undefined') {\n toReturn['order'] = this.order;\n }\n if (typeof this.limit !== 'undefined') {\n toReturn['limit'] = this.limit;\n }\n return toReturn;\n }\n}\nclass MarketId {\n static fromProto(proto) {\n let m = new MarketId();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.marketIds !== 'undefined') {\n toReturn['marketIds'] = this.marketIds;\n }\n return toReturn;\n }\n}\nclass Measure {\n static fromProto(proto) {\n let m = new Measure();\n m = Object.assign(m, proto);\n if (proto.aggregate) {\n m.aggregate = MeasureAggregate.fromProto(proto.aggregate);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.measure !== 'undefined') {\n toReturn['measure'] = this.measure;\n }\n if (typeof this.aggregate !== 'undefined' && this.aggregate !== null) {\n toReturn['aggregate'] = 'toApiJson' in this.aggregate ? this.aggregate.toApiJson() : this.aggregate;\n }\n return toReturn;\n }\n}\nclass MetricResult {\n static fromProto(proto) {\n let m = new MetricResult();\n m = Object.assign(m, proto);\n if (proto.results) {\n m.results = Metrics.fromProto(proto.results);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.dimension !== 'undefined') {\n toReturn['dimension'] = this.dimension;\n }\n if (typeof this.measures !== 'undefined') {\n toReturn['measures'] = this.measures;\n }\n if (typeof this.results !== 'undefined' && this.results !== null) {\n toReturn['results'] = 'toApiJson' in this.results ? this.results.toApiJson() : this.results;\n }\n return toReturn;\n }\n}\nclass Metrics {\n static fromProto(proto) {\n let m = new Metrics();\n m = Object.assign(m, proto);\n if (proto.metrics) {\n m.metrics = proto.metrics.map(MetricResult.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.metrics !== 'undefined' && this.metrics !== null) {\n toReturn['metrics'] = 'toApiJson' in this.metrics ? this.metrics.toApiJson() : this.metrics;\n }\n return toReturn;\n }\n}\nclass OrderBy {\n static fromProto(proto) {\n let m = new OrderBy();\n m = Object.assign(m, proto);\n if (proto.orderBy) {\n m.orderBy = proto.orderBy.map(OrderByOrderColumn.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.orderBy !== 'undefined' && this.orderBy !== null) {\n toReturn['orderBy'] = 'toApiJson' in this.orderBy ? this.orderBy.toApiJson() : this.orderBy;\n }\n return toReturn;\n }\n}\nclass OrderByOrderColumn {\n static fromProto(proto) {\n let m = new OrderByOrderColumn();\n m = Object.assign(m, proto);\n if (proto.order) {\n m.order = enumStringToValue(Order, proto.order);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.column !== 'undefined') {\n toReturn['column'] = this.column;\n }\n if (typeof this.order !== 'undefined') {\n toReturn['order'] = this.order;\n }\n return toReturn;\n }\n}\nclass QueryMetricsRequest {\n static fromProto(proto) {\n let m = new QueryMetricsRequest();\n m = Object.assign(m, proto);\n if (proto.resourceIds) {\n m.resourceIds = proto.resourceIds.map(ResourceId.fromProto);\n }\n if (proto.filter) {\n m.filter = Filter.fromProto(proto.filter);\n }\n if (proto.measures) {\n m.measures = proto.measures.map(Measure.fromProto);\n }\n if (proto.alignmentPeriod) {\n m.alignmentPeriod = AlignmentPeriod.fromProto(proto.alignmentPeriod);\n }\n if (proto.alignment) {\n m.alignment = enumStringToValue(Alignment, proto.alignment);\n }\n if (proto.groupBy) {\n m.groupBy = GroupBy.fromProto(proto.groupBy);\n }\n if (proto.dateRange) {\n m.dateRange = DateRange.fromProto(proto.dateRange);\n }\n if (proto.timeRange) {\n m.timeRange = DateRange.fromProto(proto.timeRange);\n }\n if (proto.orderBy) {\n m.orderBy = OrderBy.fromProto(proto.orderBy);\n }\n if (proto.limit) {\n m.limit = parseInt(proto.limit, 10);\n }\n if (proto.customAligner) {\n m.customAligner = CustomAlignerConfig.fromProto(proto.customAligner);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.partnerId !== 'undefined') {\n toReturn['partnerId'] = this.partnerId;\n }\n if (typeof this.metricName !== 'undefined') {\n toReturn['metricName'] = this.metricName;\n }\n if (typeof this.resourceIds !== 'undefined' && this.resourceIds !== null) {\n toReturn['resourceIds'] = 'toApiJson' in this.resourceIds ? this.resourceIds.toApiJson() : this.resourceIds;\n }\n if (typeof this.filter !== 'undefined' && this.filter !== null) {\n toReturn['filter'] = 'toApiJson' in this.filter ? this.filter.toApiJson() : this.filter;\n }\n if (typeof this.measures !== 'undefined' && this.measures !== null) {\n toReturn['measures'] = 'toApiJson' in this.measures ? this.measures.toApiJson() : this.measures;\n }\n if (typeof this.alignmentPeriod !== 'undefined' && this.alignmentPeriod !== null) {\n toReturn['alignmentPeriod'] = 'toApiJson' in this.alignmentPeriod ? this.alignmentPeriod.toApiJson() : this.alignmentPeriod;\n }\n if (typeof this.alignment !== 'undefined') {\n toReturn['alignment'] = this.alignment;\n }\n if (typeof this.groupBy !== 'undefined' && this.groupBy !== null) {\n toReturn['groupBy'] = 'toApiJson' in this.groupBy ? this.groupBy.toApiJson() : this.groupBy;\n }\n if (typeof this.dateRange !== 'undefined' && this.dateRange !== null) {\n toReturn['dateRange'] = 'toApiJson' in this.dateRange ? this.dateRange.toApiJson() : this.dateRange;\n }\n if (typeof this.timeRange !== 'undefined' && this.timeRange !== null) {\n toReturn['timeRange'] = 'toApiJson' in this.timeRange ? this.timeRange.toApiJson() : this.timeRange;\n }\n if (typeof this.orderBy !== 'undefined' && this.orderBy !== null) {\n toReturn['orderBy'] = 'toApiJson' in this.orderBy ? this.orderBy.toApiJson() : this.orderBy;\n }\n if (typeof this.limit !== 'undefined') {\n toReturn['limit'] = this.limit;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n if (typeof this.customAligner !== 'undefined' && this.customAligner !== null) {\n toReturn['customAligner'] = 'toApiJson' in this.customAligner ? this.customAligner.toApiJson() : this.customAligner;\n }\n return toReturn;\n }\n}\nclass QueryMetricsResponse {\n static fromProto(proto) {\n let m = new QueryMetricsResponse();\n m = Object.assign(m, proto);\n if (proto.metricResults) {\n m.metricResults = proto.metricResults.map(ResourceMetricResult.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.metricResults !== 'undefined' && this.metricResults !== null) {\n toReturn['metricResults'] = 'toApiJson' in this.metricResults ? this.metricResults.toApiJson() : this.metricResults;\n }\n return toReturn;\n }\n}\nclass ResourceId {\n static fromProto(proto) {\n let m = new ResourceId();\n m = Object.assign(m, proto);\n if (proto.groupId) {\n m.groupId = GroupResourceId.fromProto(proto.groupId);\n }\n if (proto.businessId) {\n m.businessId = BusinessResourceId.fromProto(proto.businessId);\n }\n if (proto.marketId) {\n m.marketId = MarketId.fromProto(proto.marketId);\n }\n if (proto.jwtId) {\n m.jwtId = JWTResourceId.fromProto(proto.jwtId);\n }\n if (proto.salesTeam) {\n m.salesTeam = SalesTeam.fromProto(proto.salesTeam);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.groupId !== 'undefined' && this.groupId !== null) {\n toReturn['groupId'] = 'toApiJson' in this.groupId ? this.groupId.toApiJson() : this.groupId;\n }\n if (typeof this.businessId !== 'undefined' && this.businessId !== null) {\n toReturn['businessId'] = 'toApiJson' in this.businessId ? this.businessId.toApiJson() : this.businessId;\n }\n if (typeof this.marketId !== 'undefined' && this.marketId !== null) {\n toReturn['marketId'] = 'toApiJson' in this.marketId ? this.marketId.toApiJson() : this.marketId;\n }\n if (typeof this.jwtId !== 'undefined' && this.jwtId !== null) {\n toReturn['jwtId'] = 'toApiJson' in this.jwtId ? this.jwtId.toApiJson() : this.jwtId;\n }\n if (typeof this.salesTeam !== 'undefined' && this.salesTeam !== null) {\n toReturn['salesTeam'] = 'toApiJson' in this.salesTeam ? this.salesTeam.toApiJson() : this.salesTeam;\n }\n return toReturn;\n }\n}\nclass ResourceMetricResult {\n static fromProto(proto) {\n let m = new ResourceMetricResult();\n m = Object.assign(m, proto);\n if (proto.resourceId) {\n m.resourceId = ResourceId.fromProto(proto.resourceId);\n }\n if (proto.measuresSchema) {\n m.measuresSchema = Schema.fromProto(proto.measuresSchema);\n }\n if (proto.dimensionsSchema) {\n m.dimensionsSchema = Schema.fromProto(proto.dimensionsSchema);\n }\n if (proto.metrics) {\n m.metrics = Metrics.fromProto(proto.metrics);\n }\n if (proto.explodedMetrics) {\n m.explodedMetrics = QueryMetricsResponse.fromProto(proto.explodedMetrics);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.resourceId !== 'undefined' && this.resourceId !== null) {\n toReturn['resourceId'] = 'toApiJson' in this.resourceId ? this.resourceId.toApiJson() : this.resourceId;\n }\n if (typeof this.measuresSchema !== 'undefined' && this.measuresSchema !== null) {\n toReturn['measuresSchema'] = 'toApiJson' in this.measuresSchema ? this.measuresSchema.toApiJson() : this.measuresSchema;\n }\n if (typeof this.dimensionsSchema !== 'undefined' && this.dimensionsSchema !== null) {\n toReturn['dimensionsSchema'] = 'toApiJson' in this.dimensionsSchema ? this.dimensionsSchema.toApiJson() : this.dimensionsSchema;\n }\n if (typeof this.metrics !== 'undefined' && this.metrics !== null) {\n toReturn['metrics'] = 'toApiJson' in this.metrics ? this.metrics.toApiJson() : this.metrics;\n }\n if (typeof this.explodedMetrics !== 'undefined' && this.explodedMetrics !== null) {\n toReturn['explodedMetrics'] = 'toApiJson' in this.explodedMetrics ? this.explodedMetrics.toApiJson() : this.explodedMetrics;\n }\n if (typeof this.cursor !== 'undefined') {\n toReturn['cursor'] = this.cursor;\n }\n return toReturn;\n }\n}\nclass ResourceMetricsResponse {\n static fromProto(proto) {\n let m = new ResourceMetricsResponse();\n m = Object.assign(m, proto);\n if (proto.timeBuckets) {\n m.timeBuckets = proto.timeBuckets.map(TimeBucketMetrics.fromProto);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n if (typeof this.timeBuckets !== 'undefined' && this.timeBuckets !== null) {\n toReturn['timeBuckets'] = 'toApiJson' in this.timeBuckets ? this.timeBuckets.toApiJson() : this.timeBuckets;\n }\n return toReturn;\n }\n}\nclass SalesTeam {\n static fromProto(proto) {\n let m = new SalesTeam();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.salesTeamIds !== 'undefined') {\n toReturn['salesTeamIds'] = this.salesTeamIds;\n }\n return toReturn;\n }\n}\nclass SourceFilters {\n static fromProto(proto) {\n let m = new SourceFilters();\n m = Object.assign(m, proto);\n if (proto.sourceIds) {\n m.sourceIds = proto.sourceIds.map(i => parseInt(i, 10));\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.sourceIds !== 'undefined') {\n toReturn['sourceIds'] = this.sourceIds;\n }\n return toReturn;\n }\n}\nclass TimeBucketMetrics {\n static fromProto(proto) {\n let m = new TimeBucketMetrics();\n m = Object.assign(m, proto);\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n return toReturn;\n }\n}\nclass TypedValue {\n static fromProto(proto) {\n let m = new TypedValue();\n m = Object.assign(m, proto);\n if (proto.valueType) {\n m.valueType = enumStringToValue(PropertyType, proto.valueType);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.value !== 'undefined') {\n toReturn['value'] = this.value;\n }\n if (typeof this.valueType !== 'undefined') {\n toReturn['valueType'] = this.valueType;\n }\n return toReturn;\n }\n}\nclass UnaryFilter {\n static fromProto(proto) {\n let m = new UnaryFilter();\n m = Object.assign(m, proto);\n if (proto.op) {\n m.op = enumStringToValue(UnaryFilterOperator, proto.op);\n }\n return m;\n }\n constructor(kwargs) {\n if (!kwargs) {\n return;\n }\n Object.assign(this, kwargs);\n }\n toApiJson() {\n const toReturn = {};\n if (typeof this.op !== 'undefined') {\n toReturn['op'] = this.op;\n }\n if (typeof this.dimension !== 'undefined') {\n toReturn['dimension'] = this.dimension;\n }\n return toReturn;\n }\n}\n\n// *********************************\n\nconst environment = (window ? window['environment'] : 'prod') ?? 'prod';\nconst hostMap = {\n 'local': 'multi-location-analytics-api.vendasta-local.com',\n 'test': '',\n 'demo': 'multi-location-analytics-api-demo.apigateway.co',\n 'prod': 'multi-location-analytics-api-prod.apigateway.co',\n 'production': 'multi-location-analytics-api-prod.apigateway.co'\n};\nlet HostService = /*#__PURE__*/(() => {\n class HostService {\n get host() {\n return hostMap[environment.toLowerCase()];\n }\n get hostWithScheme() {\n return 'https://' + this.host;\n }\n }\n HostService.ɵfac = function HostService_Factory(t) {\n return new (t || HostService)();\n };\n HostService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: HostService,\n factory: HostService.ɵfac,\n providedIn: 'root'\n });\n return HostService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\nlet AnalyticsApiService = /*#__PURE__*/(() => {\n class AnalyticsApiService {\n constructor(http, hostService) {\n this.http = http;\n this.hostService = hostService;\n this._host = this.hostService.hostWithScheme;\n }\n apiOptions() {\n return {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n }),\n withCredentials: true\n };\n }\n getMetrics(r) {\n const request = r.toApiJson ? r : new GetMetricsRequest(r);\n return this.http.post(this._host + \"/multilocationanalytics.v1.AnalyticsService/GetMetrics\", request.toApiJson(), this.apiOptions()).pipe(map(resp => GetMetricsResponse.fromProto(resp)));\n }\n queryMetrics(r) {\n const request = r.toApiJson ? r : new QueryMetricsRequest(r);\n return this.http.post(this._host + \"/multilocationanalytics.v1.AnalyticsService/QueryMetrics\", request.toApiJson(), this.apiOptions()).pipe(map(resp => QueryMetricsResponse.fromProto(resp)));\n }\n }\n AnalyticsApiService.ɵfac = function AnalyticsApiService_Factory(t) {\n return new (t || AnalyticsApiService)(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(HostService));\n };\n AnalyticsApiService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: AnalyticsApiService,\n factory: AnalyticsApiService.ɵfac,\n providedIn: 'root'\n });\n return AnalyticsApiService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n// *********************************\n\nconst ResourceIdFieldTypeMap = new Map([['GroupResourceId', 'groupId'], ['BusinessResourceId', 'businessId'], ['MarketId', 'marketId'], ['JWTResourceId', 'jwtId'], ['SalesTeam', 'salesTeam']]);\nlet MultiLocationAnalyticsService = /*#__PURE__*/(() => {\n class MultiLocationAnalyticsService {\n constructor(api) {\n this.api = api;\n }\n queryMetrics(request) {\n return this.api.queryMetrics(request);\n }\n /**\n * Strips a Metric response down to the Metric result array\n */\n unwrapMetricsResponse(res) {\n if (res && res.metricResults && res.metricResults.length > 0) {\n if (res.metricResults[0].metrics && res.metricResults[0].metrics.metrics) {\n return res.metricResults[0].metrics.metrics;\n }\n }\n return [];\n }\n /**\n * Returns a boolean filter to test if is \n */\n boolFilter(fieldName, value) {\n return new Filter({\n fieldFilter: new FieldFilter({\n dimension: fieldName,\n operator: FieldFilterOperator.EQUAL,\n value: this.typedValue(value, PropertyType.PROPERTY_TYPE_BOOL)\n })\n });\n }\n /**\n * Returns a string filter to test if is equal to \n */\n isEqualFilter(fieldName, value) {\n return new Filter({\n fieldFilter: new FieldFilter({\n dimension: fieldName,\n operator: FieldFilterOperator.EQUAL,\n value: this.typedValue(value, PropertyType.PROPERTY_TYPE_STRING)\n })\n });\n }\n /**\n * Returns a string filter to test if is NOT equal to \n */\n isNotEqualFilter(fieldName, value) {\n return new Filter({\n fieldFilter: new FieldFilter({\n dimension: fieldName,\n operator: FieldFilterOperator.NOT_EQUAL,\n value: this.typedValue(value, PropertyType.PROPERTY_TYPE_STRING)\n })\n });\n }\n /**\n * Returns a unary filter to determine if is null\n */\n isNullFilter(fieldName) {\n return new Filter({\n unaryFilter: new UnaryFilter({\n op: UnaryFilterOperator.IS_NULL,\n dimension: fieldName\n })\n });\n }\n /**\n * Returns a filter to determine if value is contained in fieldName, where fieldName is stored as an Array\n */\n anyFieldFilter(fieldName, value) {\n return new Filter({\n fieldFilter: new FieldFilter({\n dimension: fieldName,\n operator: FieldFilterOperator.EQUAL,\n value: this.typedValue(value, PropertyType.PROPERTY_TYPE_STRING),\n operatorFunction: FieldFilterOperatorFunction.ANY,\n operatorFunctionOnField: true\n })\n });\n }\n /**\n * Returns a unary filter to determine if is NOT null\n */\n isNotNullFilter(fieldName) {\n return new Filter({\n unaryFilter: new UnaryFilter({\n op: UnaryFilterOperator.IS_NOT_NULL,\n dimension: fieldName\n })\n });\n }\n /**\n * Returns a date filter to determine if \n * ie, is ?\n */\n dateFilter(fieldName, value, op) {\n return new Filter({\n fieldFilter: new FieldFilter({\n dimension: fieldName,\n operator: op,\n value: this.typedValue(value, PropertyType.PROPERTY_TYPE_TIMESTAMP)\n })\n });\n }\n /**\n * Returns a composite filter of the provided filters with applied.\n * This can be used to AND or OR a group of filters together.\n */\n buildCompositeFilter(filters, op) {\n return new Filter({\n compositeFilter: new CompositeFilter({\n op: op,\n filters: filters\n })\n });\n }\n /**\n * Returns a single ResourceId.\n *\n * Writes to the appropriate field of ResourceId based on type passed in\n */\n buildResourceId(value) {\n return new ResourceId({\n [ResourceIdFieldTypeMap.get(value.constructor.name) || '']: value\n });\n }\n /**\n * Returns a MeasureAggregate.\n */\n buildMeasureAggregate(measure, aggOp, filter, alias) {\n return new Measure({\n aggregate: new MeasureAggregate({\n measure: measure,\n aggOp: aggOp,\n filter: filter,\n alias: alias\n })\n });\n }\n /**\n * Returns a single Measure.\n */\n buildMeasure(measure) {\n return new Measure({\n measure: measure\n });\n }\n /**\n * Returns the dimensions provided as a GroupBy object\n */\n buildGroupBy(dimensions, groupByOperator) {\n return new GroupBy({\n dimension: dimensions,\n groupByOperator: groupByOperator\n });\n }\n typedValue(value, valueType) {\n return new TypedValue({\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n value: value,\n valueType: valueType\n });\n }\n }\n MultiLocationAnalyticsService.ɵfac = function MultiLocationAnalyticsService_Factory(t) {\n return new (t || MultiLocationAnalyticsService)(i0.ɵɵinject(AnalyticsApiService));\n };\n MultiLocationAnalyticsService.ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: MultiLocationAnalyticsService,\n factory: MultiLocationAnalyticsService.ɵfac,\n providedIn: 'root'\n });\n return MultiLocationAnalyticsService;\n})();\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && void 0;\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Alignment, AlignmentPeriod, AlignmentPeriodCalendar, AnalyticsApiService, BusinessResourceId, CompositeFilter, CompositeFilterOperator, CustomAlignerConfig, DateRange, FieldFilter, FieldFilterOperator, FieldFilterOperatorFunction, Filter, Filters, GetMetricsRequest, GetMetricsResponse, GroupBy, GroupByDimension, GroupByExcludeCombination, GroupByLimit, GroupByOperator, GroupResourceId, JWTResourceId, MarketId, Measure, MeasureAggregate, MeasureAggregateOperator, Metric, MetricResult, Metrics, MultiLocationAnalyticsService, Order, OrderBy, OrderByOrderColumn, Property, PropertyPIITag, PropertyType, QueryMetricsRequest, QueryMetricsResponse, ResourceId, ResourceMetricResult, ResourceMetricsResponse, SalesTeam, Schema, SourceFilters, TimeBucketMetrics, TypedStruct, TypedValue, UnaryFilter, UnaryFilterOperator };\n"],"mappings":"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","names":["PropertyPIITag","PropertyType","Alignment","AlignmentPeriodCalendar","Metric","CompositeFilterOperator","UnaryFilterOperator","MeasureAggregateOperator","GroupByOperator","FieldFilterOperator","FieldFilterOperatorFunction","Order","enumStringToValue$1","enumRef","value","Property","_Property","proto","m","kwargs","toReturn","Schema","_Schema","enumStringToValue","enumRef","value","MeasureAggregate","_MeasureAggregate","proto","m","MeasureAggregateOperator","Filter","kwargs","toReturn","AlignmentPeriod","_AlignmentPeriod","AlignmentPeriodCalendar","BusinessResourceId","_BusinessResourceId","CompositeFilter","_CompositeFilter","CompositeFilterOperator","CustomAlignerConfig","_CustomAlignerConfig","DateRange","_DateRange","GroupByDimension","_GroupByDimension","GroupByLimit","GroupByExcludeCombination","_GroupByExcludeCombination","FieldFilter","_FieldFilter","FieldFilterOperator","TypedValue","FieldFilterOperatorFunction","_Filter","UnaryFilter","Filters","_Filters","SourceFilters","GetMetricsRequest","_GetMetricsRequest","v","Metric","ResourceId","GetMetricsResponse","_GetMetricsResponse","ResourceMetricsResponse","d","GroupBy","_GroupBy","GroupByOperator","GroupResourceId","_GroupResourceId","JWTResourceId","_JWTResourceId","_GroupByLimit","Order","MarketId","_MarketId","Measure","_Measure","MetricResult","_MetricResult","Metrics","_Metrics","OrderBy","_OrderBy","OrderByOrderColumn","_OrderByOrderColumn","QueryMetricsRequest","_QueryMetricsRequest","Alignment","QueryMetricsResponse","_QueryMetricsResponse","ResourceMetricResult","_ResourceId","SalesTeam","_ResourceMetricResult","Schema","_ResourceMetricsResponse","TimeBucketMetrics","_SalesTeam","_SourceFilters","i","_TimeBucketMetrics","_TypedValue","PropertyType","_UnaryFilter","UnaryFilterOperator","environment","hostMap","HostService","t","ɵɵdefineInjectable","AnalyticsApiService","http","hostService","HttpHeaders","r","request","map","resp","ɵɵinject","HttpClient","ResourceIdFieldTypeMap","MultiLocationAnalyticsService","api","res","fieldName","op","filters","measure","aggOp","filter","alias","dimensions","groupByOperator","valueType"],"x_google_ignoreList":[0]}