UNPKG

@configurator/ravendb

Version:
66 lines 2.85 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TimeSeriesConfiguration = void 0; const CaseInsensitiveKeysMap_1 = require("../../../Primitives/CaseInsensitiveKeysMap"); const TimeSeriesCollectionConfiguration_1 = require("./TimeSeriesCollectionConfiguration"); const TimeUtil_1 = require("../../../Utility/TimeUtil"); class TimeSeriesConfiguration { constructor() { this.collections = CaseInsensitiveKeysMap_1.CaseInsensitiveKeysMap.create(); this.namedValues = CaseInsensitiveKeysMap_1.CaseInsensitiveKeysMap.create(); } getNames(collection, timeSeries) { if (!this.namedValues) { return null; } const timeSeriesHolder = this.namedValues.get(collection); if (!timeSeriesHolder) { return null; } const names = timeSeriesHolder.get(timeSeries); if (!names) { return null; } return names; } serialize() { const collections = {}; if (this.collections) { for (const entry of this.collections.entries()) { collections[entry[0]] = entry[1].serialize(); } } const namedValues = {}; if (this.namedValues) { for (const entry of this.namedValues.entries()) { const collectionEntry = {}; for (const perCollectionEntry of entry[1].entries()) { collectionEntry[perCollectionEntry[0]] = perCollectionEntry[1]; } namedValues[entry[0]] = collectionEntry; } } return { Collections: collections, PolicyCheckFrequency: this.policyCheckFrequencyInMs ? TimeUtil_1.TimeUtil.millisToTimeSpan(this.policyCheckFrequencyInMs) : null, NamedValues: namedValues }; } static parse(raw) { const configuration = new TimeSeriesConfiguration(); for (const [key, collectionRaw] of Object.entries(raw.Collections)) { configuration.collections.set(key, TimeSeriesCollectionConfiguration_1.TimeSeriesCollectionConfiguration.parse(collectionRaw)); } configuration.policyCheckFrequencyInMs = raw.PolicyCheckFrequency ? TimeUtil_1.TimeUtil.timeSpanToDuration(raw.PolicyCheckFrequency) : null; for (const [key, valuesRaw] of Object.entries(raw.NamedValues)) { const map = CaseInsensitiveKeysMap_1.CaseInsensitiveKeysMap.create(); for (const [innerKey, innerValuesRaw] of Object.entries(valuesRaw)) { map.set(innerKey, innerValuesRaw); } configuration.namedValues.set(key, map); } return configuration; } } exports.TimeSeriesConfiguration = TimeSeriesConfiguration; //# sourceMappingURL=TimeSeriesConfiguration.js.map