ravendb
Version:
RavenDB client for Node.js
32 lines • 1.26 kB
JavaScript
import { TimeSeriesPolicy } from "./TimeSeriesPolicy.js";
import { RawTimeSeriesPolicy } from "./RawTimeSeriesPolicy.js";
export class TimeSeriesCollectionConfiguration {
disabled;
/**
* Specify roll up and retention policy.
* Each policy will create a new time-series aggregated from the previous one
*/
policies = [];
/**
* Specify a policy for the original time-series
*/
rawPolicy = RawTimeSeriesPolicy.DEFAULT_POLICY;
static isRaw(policy) {
return RawTimeSeriesPolicy.DEFAULT_POLICY.name === policy.name;
}
serialize() {
return {
Disabled: this.disabled,
Policies: this.policies ? this.policies.map(p => p.serialize()) : null,
RawPolicy: this.rawPolicy ? this.rawPolicy.serialize() : null
};
}
static parse(collectionRaw) {
const configuration = new TimeSeriesCollectionConfiguration();
configuration.disabled = collectionRaw.Disabled;
configuration.policies = collectionRaw.Policies.map(x => TimeSeriesPolicy.parse(x));
configuration.rawPolicy = RawTimeSeriesPolicy.parse(collectionRaw.RawPolicy);
return configuration;
}
}
//# sourceMappingURL=TimeSeriesCollectionConfiguration.js.map