UNPKG

diffusion

Version:

Diffusion JavaScript client

68 lines (67 loc) 2.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SessionMetricCollectorBuilderImpl = void 0; var session_metric_collector_1 = require("./../../services/metric-collectors/session-metric-collector"); var math_1 = require("./../../util/math"); var require_non_null_1 = require("./../../util/require-non-null"); /** * Implementations of {@link SessionMetricCollectorBuilder} */ var SessionMetricCollectorBuilderImpl = /** @class */ (function () { function SessionMetricCollectorBuilderImpl() { this.reset(); } /** * @inheritdoc */ SessionMetricCollectorBuilderImpl.prototype.reset = function () { this.exportToPrometheusProp = false; this.maximumGroupsProp = math_1.MAX_INT32; this.groupByPropertiesProp = []; this.removesMetricsWithNoMatchesProp = false; return this; }; /** * @inheritdoc */ SessionMetricCollectorBuilderImpl.prototype.exportToPrometheus = function (exportMetrics) { this.exportToPrometheusProp = exportMetrics; return this; }; /** * @inheritdoc */ SessionMetricCollectorBuilderImpl.prototype.maximumGroups = function (limit) { this.maximumGroupsProp = limit; return this; }; /** * @inheritdoc */ SessionMetricCollectorBuilderImpl.prototype.groupByProperty = function (propertyName) { this.groupByPropertiesProp.push(require_non_null_1.requireNonNull(propertyName, 'propertyName')); return this; }; /** * @inheritdoc */ SessionMetricCollectorBuilderImpl.prototype.groupByProperties = function (propertyNames) { this.groupByPropertiesProp = require_non_null_1.requireNonNull(propertyNames, 'propertyNames'); return this; }; /** * @inheritdoc */ SessionMetricCollectorBuilderImpl.prototype.removeMetricsWithNoMatches = function (remove) { this.removesMetricsWithNoMatchesProp = remove; return this; }; /** * @inheritdoc */ SessionMetricCollectorBuilderImpl.prototype.create = function (name, sessionFilter) { return new session_metric_collector_1.SessionMetricCollectorImpl(require_non_null_1.requireNonNull(name, 'name'), this.exportToPrometheusProp, this.maximumGroupsProp, this.removesMetricsWithNoMatchesProp, require_non_null_1.requireNonNull(sessionFilter, 'sessionFilter'), this.groupByPropertiesProp); }; return SessionMetricCollectorBuilderImpl; }()); exports.SessionMetricCollectorBuilderImpl = SessionMetricCollectorBuilderImpl;