redis-time-series-ts
Version:
Javascript RedisTimeSeries client
82 lines (81 loc) • 2.94 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RequestParamsDirector = void 0;
class RequestParamsDirector {
constructor(paramsBuilder) {
this.paramsBuilder = paramsBuilder;
}
create(key, labels, retention, chunkSize, duplicatePolicy, uncompressed) {
return this.paramsBuilder
.addKey(key)
.addRetention(retention)
.addUncompressed(uncompressed)
.addLabels(labels)
.addChunkSize(chunkSize)
.addDuplicatePolicy(duplicatePolicy);
}
alter(key, labels, retention, chunkSize, duplicatePolicy, uncompressed) {
const builder = this.paramsBuilder
.addKey(key)
.addRetention(retention)
.addUncompressed(uncompressed)
.addChunkSize(chunkSize)
.addDuplicatePolicy(duplicatePolicy);
// if labels is an empty array it means deleting previous labels
if (labels != null && labels.length === 0) {
return builder.removeLabels();
}
return builder.addLabels(labels);
}
add(sample, labels, retention, chunkSize, onDuplicate, uncompressed) {
return this.paramsBuilder
.addSample(sample)
.addRetention(retention)
.addUncompressed(uncompressed)
.addLabels(labels)
.addChunkSize(chunkSize)
.addOnDuplicate(onDuplicate);
}
multiAdd(samples) {
return this.paramsBuilder.addSamples(samples);
}
changeBy(sample, labels, retention, uncompressed, chunkSize) {
return this.paramsBuilder
.addSampleWithOptionalTimeStamp(sample)
.addRetention(retention)
.addLabels(labels)
.addUncompressed(uncompressed)
.addChunkSize(chunkSize);
}
createRule(sourceKey, destKey, aggregation) {
return this.paramsBuilder.addKeys(sourceKey, destKey).addAggregation(aggregation);
}
deleteRule(sourceKey, destKey) {
return this.paramsBuilder.addKeys(sourceKey, destKey);
}
range(key, range, count, aggregation) {
return this.paramsBuilder
.addKey(key)
.addRange(range)
.addCount(count)
.addAggregation(aggregation);
}
multiRange(range, filters, count, aggregation, withLabels) {
return this.paramsBuilder
.addRange(range)
.addCount(count)
.addAggregation(aggregation)
.addWithLabels(withLabels)
.addFiltersWithKeyword(filters);
}
getKey(key) {
return this.paramsBuilder.addKey(key);
}
multiGet(filters, withLabels) {
return this.paramsBuilder.addWithLabels(withLabels).addFiltersWithKeyword(filters);
}
queryIndex(filters) {
return this.paramsBuilder.addFilters(filters);
}
}
exports.RequestParamsDirector = RequestParamsDirector;