314 lines
11 KiB
JavaScript
314 lines
11 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.pushLatestArgument = exports.transformMRangeWithLabelsReply = exports.transformMRangeReply = exports.transformRangeReply = exports.pushMRangeWithLabelsArguments = exports.pushWithLabelsArgument = exports.pushMRangeArguments = exports.pushFilterArgument = exports.pushMRangeGroupByArguments = exports.pushRangeArguments = exports.TimeSeriesBucketTimestamp = exports.transformSampleReply = exports.transformIncrDecrArguments = exports.pushLabelsArgument = exports.transformLablesReply = exports.pushDuplicatePolicy = exports.pushChunkSizeArgument = exports.pushEncodingArgument = exports.TimeSeriesEncoding = exports.pushRetentionArgument = exports.pushIgnoreArgument = exports.transformTimestampArgument = exports.TimeSeriesReducers = exports.TimeSeriesDuplicatePolicies = exports.TimeSeriesAggregationType = void 0;
|
|
const ADD = require("./ADD");
|
|
const ALTER = require("./ALTER");
|
|
const CREATE = require("./CREATE");
|
|
const CREATERULE = require("./CREATERULE");
|
|
const DECRBY = require("./DECRBY");
|
|
const DEL = require("./DEL");
|
|
const DELETERULE = require("./DELETERULE");
|
|
const GET = require("./GET");
|
|
const INCRBY = require("./INCRBY");
|
|
const INFO_DEBUG = require("./INFO_DEBUG");
|
|
const INFO = require("./INFO");
|
|
const MADD = require("./MADD");
|
|
const MGET = require("./MGET");
|
|
const MGET_WITHLABELS = require("./MGET_WITHLABELS");
|
|
const QUERYINDEX = require("./QUERYINDEX");
|
|
const RANGE = require("./RANGE");
|
|
const REVRANGE = require("./REVRANGE");
|
|
const MRANGE = require("./MRANGE");
|
|
const MRANGE_WITHLABELS = require("./MRANGE_WITHLABELS");
|
|
const MREVRANGE = require("./MREVRANGE");
|
|
const MREVRANGE_WITHLABELS = require("./MREVRANGE_WITHLABELS");
|
|
const generic_transformers_1 = require("@redis/client/dist/lib/commands/generic-transformers");
|
|
exports.default = {
|
|
ADD,
|
|
add: ADD,
|
|
ALTER,
|
|
alter: ALTER,
|
|
CREATE,
|
|
create: CREATE,
|
|
CREATERULE,
|
|
createRule: CREATERULE,
|
|
DECRBY,
|
|
decrBy: DECRBY,
|
|
DEL,
|
|
del: DEL,
|
|
DELETERULE,
|
|
deleteRule: DELETERULE,
|
|
GET,
|
|
get: GET,
|
|
INCRBY,
|
|
incrBy: INCRBY,
|
|
INFO_DEBUG,
|
|
infoDebug: INFO_DEBUG,
|
|
INFO,
|
|
info: INFO,
|
|
MADD,
|
|
mAdd: MADD,
|
|
MGET,
|
|
mGet: MGET,
|
|
MGET_WITHLABELS,
|
|
mGetWithLabels: MGET_WITHLABELS,
|
|
QUERYINDEX,
|
|
queryIndex: QUERYINDEX,
|
|
RANGE,
|
|
range: RANGE,
|
|
REVRANGE,
|
|
revRange: REVRANGE,
|
|
MRANGE,
|
|
mRange: MRANGE,
|
|
MRANGE_WITHLABELS,
|
|
mRangeWithLabels: MRANGE_WITHLABELS,
|
|
MREVRANGE,
|
|
mRevRange: MREVRANGE,
|
|
MREVRANGE_WITHLABELS,
|
|
mRevRangeWithLabels: MREVRANGE_WITHLABELS
|
|
};
|
|
var TimeSeriesAggregationType;
|
|
(function (TimeSeriesAggregationType) {
|
|
TimeSeriesAggregationType["AVG"] = "AVG";
|
|
// @deprecated
|
|
TimeSeriesAggregationType["AVERAGE"] = "AVG";
|
|
TimeSeriesAggregationType["FIRST"] = "FIRST";
|
|
TimeSeriesAggregationType["LAST"] = "LAST";
|
|
TimeSeriesAggregationType["MIN"] = "MIN";
|
|
// @deprecated
|
|
TimeSeriesAggregationType["MINIMUM"] = "MIN";
|
|
TimeSeriesAggregationType["MAX"] = "MAX";
|
|
// @deprecated
|
|
TimeSeriesAggregationType["MAXIMUM"] = "MAX";
|
|
TimeSeriesAggregationType["SUM"] = "SUM";
|
|
TimeSeriesAggregationType["RANGE"] = "RANGE";
|
|
TimeSeriesAggregationType["COUNT"] = "COUNT";
|
|
TimeSeriesAggregationType["STD_P"] = "STD.P";
|
|
TimeSeriesAggregationType["STD_S"] = "STD.S";
|
|
TimeSeriesAggregationType["VAR_P"] = "VAR.P";
|
|
TimeSeriesAggregationType["VAR_S"] = "VAR.S";
|
|
TimeSeriesAggregationType["TWA"] = "TWA";
|
|
})(TimeSeriesAggregationType || (exports.TimeSeriesAggregationType = TimeSeriesAggregationType = {}));
|
|
var TimeSeriesDuplicatePolicies;
|
|
(function (TimeSeriesDuplicatePolicies) {
|
|
TimeSeriesDuplicatePolicies["BLOCK"] = "BLOCK";
|
|
TimeSeriesDuplicatePolicies["FIRST"] = "FIRST";
|
|
TimeSeriesDuplicatePolicies["LAST"] = "LAST";
|
|
TimeSeriesDuplicatePolicies["MIN"] = "MIN";
|
|
TimeSeriesDuplicatePolicies["MAX"] = "MAX";
|
|
TimeSeriesDuplicatePolicies["SUM"] = "SUM";
|
|
})(TimeSeriesDuplicatePolicies || (exports.TimeSeriesDuplicatePolicies = TimeSeriesDuplicatePolicies = {}));
|
|
var TimeSeriesReducers;
|
|
(function (TimeSeriesReducers) {
|
|
TimeSeriesReducers["AVG"] = "AVG";
|
|
TimeSeriesReducers["SUM"] = "SUM";
|
|
TimeSeriesReducers["MIN"] = "MIN";
|
|
// @deprecated
|
|
TimeSeriesReducers["MINIMUM"] = "MIN";
|
|
TimeSeriesReducers["MAX"] = "MAX";
|
|
// @deprecated
|
|
TimeSeriesReducers["MAXIMUM"] = "MAX";
|
|
TimeSeriesReducers["RANGE"] = "range";
|
|
TimeSeriesReducers["COUNT"] = "COUNT";
|
|
TimeSeriesReducers["STD_P"] = "STD.P";
|
|
TimeSeriesReducers["STD_S"] = "STD.S";
|
|
TimeSeriesReducers["VAR_P"] = "VAR.P";
|
|
TimeSeriesReducers["VAR_S"] = "VAR.S";
|
|
})(TimeSeriesReducers || (exports.TimeSeriesReducers = TimeSeriesReducers = {}));
|
|
function transformTimestampArgument(timestamp) {
|
|
if (typeof timestamp === 'string')
|
|
return timestamp;
|
|
return (typeof timestamp === 'number' ?
|
|
timestamp :
|
|
timestamp.getTime()).toString();
|
|
}
|
|
exports.transformTimestampArgument = transformTimestampArgument;
|
|
function pushIgnoreArgument(args, ignore) {
|
|
if (ignore !== undefined) {
|
|
args.push('IGNORE', ignore.MAX_TIME_DIFF.toString(), ignore.MAX_VAL_DIFF.toString());
|
|
}
|
|
}
|
|
exports.pushIgnoreArgument = pushIgnoreArgument;
|
|
function pushRetentionArgument(args, retention) {
|
|
if (retention !== undefined) {
|
|
args.push('RETENTION', retention.toString());
|
|
}
|
|
return args;
|
|
}
|
|
exports.pushRetentionArgument = pushRetentionArgument;
|
|
var TimeSeriesEncoding;
|
|
(function (TimeSeriesEncoding) {
|
|
TimeSeriesEncoding["COMPRESSED"] = "COMPRESSED";
|
|
TimeSeriesEncoding["UNCOMPRESSED"] = "UNCOMPRESSED";
|
|
})(TimeSeriesEncoding || (exports.TimeSeriesEncoding = TimeSeriesEncoding = {}));
|
|
function pushEncodingArgument(args, encoding) {
|
|
if (encoding !== undefined) {
|
|
args.push('ENCODING', encoding);
|
|
}
|
|
return args;
|
|
}
|
|
exports.pushEncodingArgument = pushEncodingArgument;
|
|
function pushChunkSizeArgument(args, chunkSize) {
|
|
if (chunkSize !== undefined) {
|
|
args.push('CHUNK_SIZE', chunkSize.toString());
|
|
}
|
|
return args;
|
|
}
|
|
exports.pushChunkSizeArgument = pushChunkSizeArgument;
|
|
function pushDuplicatePolicy(args, duplicatePolicy) {
|
|
if (duplicatePolicy !== undefined) {
|
|
args.push('DUPLICATE_POLICY', duplicatePolicy);
|
|
}
|
|
return args;
|
|
}
|
|
exports.pushDuplicatePolicy = pushDuplicatePolicy;
|
|
function transformLablesReply(reply) {
|
|
const labels = {};
|
|
for (const [key, value] of reply) {
|
|
labels[key] = value;
|
|
}
|
|
return labels;
|
|
}
|
|
exports.transformLablesReply = transformLablesReply;
|
|
function pushLabelsArgument(args, labels) {
|
|
if (labels) {
|
|
args.push('LABELS');
|
|
for (const [label, value] of Object.entries(labels)) {
|
|
args.push(label, value);
|
|
}
|
|
}
|
|
return args;
|
|
}
|
|
exports.pushLabelsArgument = pushLabelsArgument;
|
|
function transformIncrDecrArguments(command, key, value, options) {
|
|
const args = [
|
|
command,
|
|
key,
|
|
value.toString()
|
|
];
|
|
if (options?.TIMESTAMP !== undefined && options?.TIMESTAMP !== null) {
|
|
args.push('TIMESTAMP', transformTimestampArgument(options.TIMESTAMP));
|
|
}
|
|
pushRetentionArgument(args, options?.RETENTION);
|
|
if (options?.UNCOMPRESSED) {
|
|
args.push('UNCOMPRESSED');
|
|
}
|
|
pushChunkSizeArgument(args, options?.CHUNK_SIZE);
|
|
pushLabelsArgument(args, options?.LABELS);
|
|
return args;
|
|
}
|
|
exports.transformIncrDecrArguments = transformIncrDecrArguments;
|
|
function transformSampleReply(reply) {
|
|
return {
|
|
timestamp: reply[0],
|
|
value: Number(reply[1])
|
|
};
|
|
}
|
|
exports.transformSampleReply = transformSampleReply;
|
|
var TimeSeriesBucketTimestamp;
|
|
(function (TimeSeriesBucketTimestamp) {
|
|
TimeSeriesBucketTimestamp["LOW"] = "-";
|
|
TimeSeriesBucketTimestamp["HIGH"] = "+";
|
|
TimeSeriesBucketTimestamp["MID"] = "~";
|
|
})(TimeSeriesBucketTimestamp || (exports.TimeSeriesBucketTimestamp = TimeSeriesBucketTimestamp = {}));
|
|
function pushRangeArguments(args, fromTimestamp, toTimestamp, options) {
|
|
args.push(transformTimestampArgument(fromTimestamp), transformTimestampArgument(toTimestamp));
|
|
pushLatestArgument(args, options?.LATEST);
|
|
if (options?.FILTER_BY_TS) {
|
|
args.push('FILTER_BY_TS');
|
|
for (const ts of options.FILTER_BY_TS) {
|
|
args.push(transformTimestampArgument(ts));
|
|
}
|
|
}
|
|
if (options?.FILTER_BY_VALUE) {
|
|
args.push('FILTER_BY_VALUE', options.FILTER_BY_VALUE.min.toString(), options.FILTER_BY_VALUE.max.toString());
|
|
}
|
|
if (options?.COUNT) {
|
|
args.push('COUNT', options.COUNT.toString());
|
|
}
|
|
if (options?.ALIGN) {
|
|
args.push('ALIGN', transformTimestampArgument(options.ALIGN));
|
|
}
|
|
if (options?.AGGREGATION) {
|
|
args.push('AGGREGATION', options.AGGREGATION.type, transformTimestampArgument(options.AGGREGATION.timeBucket));
|
|
if (options.AGGREGATION.BUCKETTIMESTAMP) {
|
|
args.push('BUCKETTIMESTAMP', options.AGGREGATION.BUCKETTIMESTAMP);
|
|
}
|
|
if (options.AGGREGATION.EMPTY) {
|
|
args.push('EMPTY');
|
|
}
|
|
}
|
|
return args;
|
|
}
|
|
exports.pushRangeArguments = pushRangeArguments;
|
|
function pushMRangeGroupByArguments(args, groupBy) {
|
|
if (groupBy) {
|
|
args.push('GROUPBY', groupBy.label, 'REDUCE', groupBy.reducer);
|
|
}
|
|
return args;
|
|
}
|
|
exports.pushMRangeGroupByArguments = pushMRangeGroupByArguments;
|
|
function pushFilterArgument(args, filter) {
|
|
args.push('FILTER');
|
|
return (0, generic_transformers_1.pushVerdictArguments)(args, filter);
|
|
}
|
|
exports.pushFilterArgument = pushFilterArgument;
|
|
function pushMRangeArguments(args, fromTimestamp, toTimestamp, filter, options) {
|
|
args = pushRangeArguments(args, fromTimestamp, toTimestamp, options);
|
|
args = pushFilterArgument(args, filter);
|
|
return pushMRangeGroupByArguments(args, options?.GROUPBY);
|
|
}
|
|
exports.pushMRangeArguments = pushMRangeArguments;
|
|
function pushWithLabelsArgument(args, selectedLabels) {
|
|
if (!selectedLabels) {
|
|
args.push('WITHLABELS');
|
|
}
|
|
else {
|
|
args.push('SELECTED_LABELS');
|
|
args = (0, generic_transformers_1.pushVerdictArguments)(args, selectedLabels);
|
|
}
|
|
return args;
|
|
}
|
|
exports.pushWithLabelsArgument = pushWithLabelsArgument;
|
|
function pushMRangeWithLabelsArguments(args, fromTimestamp, toTimestamp, filter, options) {
|
|
args = pushRangeArguments(args, fromTimestamp, toTimestamp, options);
|
|
args = pushWithLabelsArgument(args, options?.SELECTED_LABELS);
|
|
args = pushFilterArgument(args, filter);
|
|
return pushMRangeGroupByArguments(args, options?.GROUPBY);
|
|
}
|
|
exports.pushMRangeWithLabelsArguments = pushMRangeWithLabelsArguments;
|
|
function transformRangeReply(reply) {
|
|
return reply.map(transformSampleReply);
|
|
}
|
|
exports.transformRangeReply = transformRangeReply;
|
|
function transformMRangeReply(reply) {
|
|
const args = [];
|
|
for (const [key, _, sample] of reply) {
|
|
args.push({
|
|
key,
|
|
samples: sample.map(transformSampleReply)
|
|
});
|
|
}
|
|
return args;
|
|
}
|
|
exports.transformMRangeReply = transformMRangeReply;
|
|
function transformMRangeWithLabelsReply(reply) {
|
|
const args = [];
|
|
for (const [key, labels, samples] of reply) {
|
|
args.push({
|
|
key,
|
|
labels: transformLablesReply(labels),
|
|
samples: samples.map(transformSampleReply)
|
|
});
|
|
}
|
|
return args;
|
|
}
|
|
exports.transformMRangeWithLabelsReply = transformMRangeWithLabelsReply;
|
|
function pushLatestArgument(args, latest) {
|
|
if (latest) {
|
|
args.push('LATEST');
|
|
}
|
|
return args;
|
|
}
|
|
exports.pushLatestArgument = pushLatestArgument;
|