UNPKG

diffusion

Version:

Diffusion JavaScript client

74 lines (73 loc) 2.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TopicMetricCollectorBuilderImpl = void 0; var topic_metric_collector_1 = require("./../../services/metric-collectors/topic-metric-collector"); var math_1 = require("./../../util/math"); var require_non_null_1 = require("./../../util/require-non-null"); /** * Implementation of {@link TopicMetricCollectorBuilder}. */ var TopicMetricCollectorBuilderImpl = /** @class */ (function () { function TopicMetricCollectorBuilderImpl() { this.exportToPrometheusProp = false; this.groupByTopicTypeProp = false; this.groupByTopicViewProp = false; this.groupByPathPrefixPartsProp = 0; this.reset(); } /** * @inheritdoc */ TopicMetricCollectorBuilderImpl.prototype.reset = function () { this.exportToPrometheusProp = false; this.maximumGroupsProp = math_1.MAX_INT32; this.groupByTopicTypeProp = false; this.groupByTopicViewProp = false; this.groupByPathPrefixPartsProp = 0; return this; }; /** * @inheritdoc */ TopicMetricCollectorBuilderImpl.prototype.exportToPrometheus = function (exportMetrics) { this.exportToPrometheusProp = exportMetrics; return this; }; /** * @inheritdoc */ TopicMetricCollectorBuilderImpl.prototype.maximumGroups = function (limit) { this.maximumGroupsProp = limit; return this; }; /** * @inheritdoc */ TopicMetricCollectorBuilderImpl.prototype.groupByTopicType = function (group) { this.groupByTopicTypeProp = group; return this; }; /** * @inheritdoc */ TopicMetricCollectorBuilderImpl.prototype.groupByTopicView = function (group) { this.groupByTopicViewProp = group; return this; }; /** * @inheritdoc */ TopicMetricCollectorBuilderImpl.prototype.groupByPathPrefixParts = function (parts) { this.groupByPathPrefixPartsProp = parts; return this; }; /** * @inheritdoc */ TopicMetricCollectorBuilderImpl.prototype.create = function (name, topicSelector) { require_non_null_1.requireNonNull(topicSelector, 'topicSelector'); return new topic_metric_collector_1.TopicMetricCollectorImpl(require_non_null_1.requireNonNull(name, 'name'), this.exportToPrometheusProp, this.maximumGroupsProp, typeof topicSelector === 'string' ? topicSelector : topicSelector.expression, this.groupByTopicTypeProp, this.groupByTopicViewProp, this.groupByPathPrefixPartsProp); }; return TopicMetricCollectorBuilderImpl; }()); exports.TopicMetricCollectorBuilderImpl = TopicMetricCollectorBuilderImpl;