🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

@redis/time-series

Package Overview
Dependencies
Maintainers
3
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@redis/time-series - npm Package Compare versions

Comparing version

to
5.1.0

dist/lib/commands/helpers.d.ts

2

dist/lib/commands/ADD.d.ts
import { CommandParser } from '@redis/client/dist/lib/client/parser';
import { RedisArgument, NumberReply } from '@redis/client/dist/lib/RESP/types';
import { TimeSeriesEncoding, TimeSeriesDuplicatePolicies, Labels, Timestamp } from '.';
import { TimeSeriesEncoding, TimeSeriesDuplicatePolicies, Labels, Timestamp } from './helpers';
export interface TsIgnoreOptions {

@@ -5,0 +5,0 @@ maxTimeDiff: number;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const _1 = require(".");
const helpers_1 = require("./helpers");
exports.default = {

@@ -9,11 +9,11 @@ IS_READ_ONLY: false,

parser.pushKey(key);
parser.push((0, _1.transformTimestampArgument)(timestamp), value.toString());
(0, _1.parseRetentionArgument)(parser, options?.RETENTION);
(0, _1.parseEncodingArgument)(parser, options?.ENCODING);
(0, _1.parseChunkSizeArgument)(parser, options?.CHUNK_SIZE);
parser.push((0, helpers_1.transformTimestampArgument)(timestamp), value.toString());
(0, helpers_1.parseRetentionArgument)(parser, options?.RETENTION);
(0, helpers_1.parseEncodingArgument)(parser, options?.ENCODING);
(0, helpers_1.parseChunkSizeArgument)(parser, options?.CHUNK_SIZE);
if (options?.ON_DUPLICATE) {
parser.push('ON_DUPLICATE', options.ON_DUPLICATE);
}
(0, _1.parseLabelsArgument)(parser, options?.LABELS);
(0, _1.parseIgnoreArgument)(parser, options?.IGNORE);
(0, helpers_1.parseLabelsArgument)(parser, options?.LABELS);
(0, helpers_1.parseIgnoreArgument)(parser, options?.IGNORE);
},

@@ -20,0 +20,0 @@ transformReply: undefined

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const _1 = require(".");
const helpers_1 = require("./helpers");
exports.default = {

@@ -9,7 +9,7 @@ IS_READ_ONLY: false,

parser.pushKey(key);
(0, _1.parseRetentionArgument)(parser, options?.RETENTION);
(0, _1.parseChunkSizeArgument)(parser, options?.CHUNK_SIZE);
(0, _1.parseDuplicatePolicy)(parser, options?.DUPLICATE_POLICY);
(0, _1.parseLabelsArgument)(parser, options?.LABELS);
(0, _1.parseIgnoreArgument)(parser, options?.IGNORE);
(0, helpers_1.parseRetentionArgument)(parser, options?.RETENTION);
(0, helpers_1.parseChunkSizeArgument)(parser, options?.CHUNK_SIZE);
(0, helpers_1.parseDuplicatePolicy)(parser, options?.DUPLICATE_POLICY);
(0, helpers_1.parseLabelsArgument)(parser, options?.LABELS);
(0, helpers_1.parseIgnoreArgument)(parser, options?.IGNORE);
},

@@ -16,0 +16,0 @@ transformReply: undefined

import { CommandParser } from '@redis/client/dist/lib/client/parser';
import { RedisArgument, SimpleStringReply } from '@redis/client/dist/lib/RESP/types';
import { TimeSeriesEncoding, TimeSeriesDuplicatePolicies, Labels } from '.';
import { TimeSeriesEncoding, TimeSeriesDuplicatePolicies, Labels } from './helpers';
import { TsIgnoreOptions } from './ADD';

@@ -5,0 +5,0 @@ export interface TsCreateOptions {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const _1 = require(".");
const helpers_1 = require("./helpers");
exports.default = {

@@ -9,8 +9,8 @@ IS_READ_ONLY: false,

parser.pushKey(key);
(0, _1.parseRetentionArgument)(parser, options?.RETENTION);
(0, _1.parseEncodingArgument)(parser, options?.ENCODING);
(0, _1.parseChunkSizeArgument)(parser, options?.CHUNK_SIZE);
(0, _1.parseDuplicatePolicy)(parser, options?.DUPLICATE_POLICY);
(0, _1.parseLabelsArgument)(parser, options?.LABELS);
(0, _1.parseIgnoreArgument)(parser, options?.IGNORE);
(0, helpers_1.parseRetentionArgument)(parser, options?.RETENTION);
(0, helpers_1.parseEncodingArgument)(parser, options?.ENCODING);
(0, helpers_1.parseChunkSizeArgument)(parser, options?.CHUNK_SIZE);
(0, helpers_1.parseDuplicatePolicy)(parser, options?.DUPLICATE_POLICY);
(0, helpers_1.parseLabelsArgument)(parser, options?.LABELS);
(0, helpers_1.parseIgnoreArgument)(parser, options?.IGNORE);
},

@@ -17,0 +17,0 @@ transformReply: undefined

declare const _default: {
readonly IS_READ_ONLY: false;
readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, value: number, options?: import("./INCRBY").TsIncrByOptions | undefined) => void;
readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, value: number, options?: import("./INCRBY").TsIncrByOptions | undefined) => void;
readonly transformReply: () => import("@redis/client/dist/lib/RESP/types").NumberReply<number>;

@@ -5,0 +5,0 @@ };

import { CommandParser } from '@redis/client/dist/lib/client/parser';
import { Timestamp } from '.';
import { Timestamp } from './helpers';
import { RedisArgument, NumberReply } from '@redis/client/dist/lib/RESP/types';

@@ -4,0 +4,0 @@ declare const _default: {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const _1 = require(".");
const helpers_1 = require("./helpers");
exports.default = {

@@ -9,3 +9,3 @@ IS_READ_ONLY: false,

parser.pushKey(key);
parser.push((0, _1.transformTimestampArgument)(fromTimestamp), (0, _1.transformTimestampArgument)(toTimestamp));
parser.push((0, helpers_1.transformTimestampArgument)(fromTimestamp), (0, helpers_1.transformTimestampArgument)(toTimestamp));
},

@@ -12,0 +12,0 @@ transformReply: undefined

import { CommandParser } from '@redis/client/dist/lib/client/parser';
import { RedisArgument, NumberReply } from '@redis/client/dist/lib/RESP/types';
import { Timestamp, Labels } from '.';
import { Timestamp, Labels } from './helpers';
import { TsIgnoreOptions } from './ADD';

@@ -5,0 +5,0 @@ export interface TsIncrByOptions {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseIncrByArguments = void 0;
const _1 = require(".");
const helpers_1 = require("./helpers");
function parseIncrByArguments(parser, key, value, options) {

@@ -9,11 +9,11 @@ parser.pushKey(key);

if (options?.TIMESTAMP !== undefined && options?.TIMESTAMP !== null) {
parser.push('TIMESTAMP', (0, _1.transformTimestampArgument)(options.TIMESTAMP));
parser.push('TIMESTAMP', (0, helpers_1.transformTimestampArgument)(options.TIMESTAMP));
}
(0, _1.parseRetentionArgument)(parser, options?.RETENTION);
(0, helpers_1.parseRetentionArgument)(parser, options?.RETENTION);
if (options?.UNCOMPRESSED) {
parser.push('UNCOMPRESSED');
}
(0, _1.parseChunkSizeArgument)(parser, options?.CHUNK_SIZE);
(0, _1.parseLabelsArgument)(parser, options?.LABELS);
(0, _1.parseIgnoreArgument)(parser, options?.IGNORE);
(0, helpers_1.parseChunkSizeArgument)(parser, options?.CHUNK_SIZE);
(0, helpers_1.parseLabelsArgument)(parser, options?.LABELS);
(0, helpers_1.parseIgnoreArgument)(parser, options?.IGNORE);
}

@@ -20,0 +20,0 @@ exports.parseIncrByArguments = parseIncrByArguments;

"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
var __importDefault = (this && this.__importDefault) || function (mod) {

@@ -6,3 +20,2 @@ return (mod && mod.__esModule) ? mod : { "default": mod };

Object.defineProperty(exports, "__esModule", { value: true });
exports.transformRESP2LabelsWithSources = exports.transformRESP2Labels = exports.parseSelectedLabelsArguments = exports.resp3MapToValue = exports.resp2MapToValue = exports.transformSamplesReply = exports.transformSampleReply = exports.parseLabelsArgument = exports.transformTimestampArgument = exports.parseDuplicatePolicy = exports.TIME_SERIES_DUPLICATE_POLICIES = exports.parseChunkSizeArgument = exports.parseEncodingArgument = exports.TIME_SERIES_ENCODING = exports.parseRetentionArgument = exports.parseIgnoreArgument = void 0;
const ADD_1 = __importDefault(require("./ADD"));

@@ -38,3 +51,3 @@ const ALTER_1 = __importDefault(require("./ALTER"));

const REVRANGE_1 = __importDefault(require("./REVRANGE"));
const decoder_1 = require("@redis/client/dist/lib/RESP/decoder");
__exportStar(require("./helpers"), exports);
exports.default = {

@@ -102,234 +115,2 @@ ADD: ADD_1.default,

};
function parseIgnoreArgument(parser, ignore) {
if (ignore !== undefined) {
parser.push('IGNORE', ignore.maxTimeDiff.toString(), ignore.maxValDiff.toString());
}
}
exports.parseIgnoreArgument = parseIgnoreArgument;
function parseRetentionArgument(parser, retention) {
if (retention !== undefined) {
parser.push('RETENTION', retention.toString());
}
}
exports.parseRetentionArgument = parseRetentionArgument;
exports.TIME_SERIES_ENCODING = {
COMPRESSED: 'COMPRESSED',
UNCOMPRESSED: 'UNCOMPRESSED'
};
function parseEncodingArgument(parser, encoding) {
if (encoding !== undefined) {
parser.push('ENCODING', encoding);
}
}
exports.parseEncodingArgument = parseEncodingArgument;
function parseChunkSizeArgument(parser, chunkSize) {
if (chunkSize !== undefined) {
parser.push('CHUNK_SIZE', chunkSize.toString());
}
}
exports.parseChunkSizeArgument = parseChunkSizeArgument;
exports.TIME_SERIES_DUPLICATE_POLICIES = {
BLOCK: 'BLOCK',
FIRST: 'FIRST',
LAST: 'LAST',
MIN: 'MIN',
MAX: 'MAX',
SUM: 'SUM'
};
function parseDuplicatePolicy(parser, duplicatePolicy) {
if (duplicatePolicy !== undefined) {
parser.push('DUPLICATE_POLICY', duplicatePolicy);
}
}
exports.parseDuplicatePolicy = parseDuplicatePolicy;
function transformTimestampArgument(timestamp) {
if (typeof timestamp === 'string')
return timestamp;
return (typeof timestamp === 'number' ?
timestamp :
timestamp.getTime()).toString();
}
exports.transformTimestampArgument = transformTimestampArgument;
function parseLabelsArgument(parser, labels) {
if (labels) {
parser.push('LABELS');
for (const [label, value] of Object.entries(labels)) {
parser.push(label, value);
}
}
}
exports.parseLabelsArgument = parseLabelsArgument;
exports.transformSampleReply = {
2(reply) {
const [timestamp, value] = reply;
return {
timestamp,
value: Number(value) // TODO: use double type mapping instead
};
},
3(reply) {
const [timestamp, value] = reply;
return {
timestamp,
value
};
}
};
exports.transformSamplesReply = {
2(reply) {
return reply
.map(sample => exports.transformSampleReply[2](sample));
},
3(reply) {
return reply
.map(sample => exports.transformSampleReply[3](sample));
}
};
// TODO: move to @redis/client?
function resp2MapToValue(wrappedReply, parseFunc, typeMapping) {
const reply = wrappedReply;
switch (typeMapping?.[decoder_1.RESP_TYPES.MAP]) {
case Map: {
const ret = new Map();
for (const wrappedTuple of reply) {
const tuple = wrappedTuple;
const key = tuple[0];
ret.set(key.toString(), parseFunc(tuple));
}
return ret;
}
case Array: {
for (const wrappedTuple of reply) {
const tuple = wrappedTuple;
tuple[1] = parseFunc(tuple);
}
return reply;
}
default: {
const ret = Object.create(null);
for (const wrappedTuple of reply) {
const tuple = wrappedTuple;
const key = tuple[0];
ret[key.toString()] = parseFunc(tuple);
}
return ret;
}
}
}
exports.resp2MapToValue = resp2MapToValue;
function resp3MapToValue(wrappedReply, parseFunc) {
const reply = wrappedReply;
if (reply instanceof Array) {
for (let i = 1; i < reply.length; i += 2) {
reply[i] = parseFunc(reply[i]);
}
}
else if (reply instanceof Map) {
for (const [key, value] of reply.entries()) {
reply.set(key, parseFunc(value));
}
}
else {
for (const [key, value] of Object.entries(reply)) {
reply[key] = parseFunc(value);
}
}
return reply;
}
exports.resp3MapToValue = resp3MapToValue;
function parseSelectedLabelsArguments(parser, selectedLabels) {
parser.push('SELECTED_LABELS');
parser.pushVariadic(selectedLabels);
}
exports.parseSelectedLabelsArguments = parseSelectedLabelsArguments;
function transformRESP2Labels(labels, typeMapping) {
const unwrappedLabels = labels;
switch (typeMapping?.[decoder_1.RESP_TYPES.MAP]) {
case Map:
const map = new Map();
for (const tuple of unwrappedLabels) {
const [key, value] = tuple;
const unwrappedKey = key;
map.set(unwrappedKey.toString(), value);
}
return map;
case Array:
return unwrappedLabels.flat();
case Object:
default:
const labelsObject = Object.create(null);
for (const tuple of unwrappedLabels) {
const [key, value] = tuple;
const unwrappedKey = key;
labelsObject[unwrappedKey.toString()] = value;
}
return labelsObject;
}
}
exports.transformRESP2Labels = transformRESP2Labels;
function transformRESP2LabelsWithSources(labels, typeMapping) {
const unwrappedLabels = labels;
const to = unwrappedLabels.length - 2; // ignore __reducer__ and __source__
let transformedLabels;
switch (typeMapping?.[decoder_1.RESP_TYPES.MAP]) {
case Map:
const map = new Map();
for (let i = 0; i < to; i++) {
const [key, value] = unwrappedLabels[i];
const unwrappedKey = key;
map.set(unwrappedKey.toString(), value);
}
transformedLabels = map;
break;
case Array:
transformedLabels = unwrappedLabels.slice(0, to).flat();
break;
case Object:
default:
const labelsObject = Object.create(null);
for (let i = 0; i < to; i++) {
const [key, value] = unwrappedLabels[i];
const unwrappedKey = key;
labelsObject[unwrappedKey.toString()] = value;
}
transformedLabels = labelsObject;
break;
}
const sourcesTuple = unwrappedLabels[unwrappedLabels.length - 1];
const unwrappedSourcesTuple = sourcesTuple;
// the __source__ label will never be null
const transformedSources = transformRESP2Sources(unwrappedSourcesTuple[1]);
return {
labels: transformedLabels,
sources: transformedSources
};
}
exports.transformRESP2LabelsWithSources = transformRESP2LabelsWithSources;
function transformRESP2Sources(sourcesRaw) {
// if a label contains "," this function will produce incorrcet results..
// there is not much we can do about it, and we assume most users won't be using "," in their labels..
const unwrappedSources = sourcesRaw;
if (typeof unwrappedSources === 'string') {
return unwrappedSources.split(',');
}
const indexOfComma = unwrappedSources.indexOf(',');
if (indexOfComma === -1) {
return [unwrappedSources];
}
const sourcesArray = [
unwrappedSources.subarray(0, indexOfComma)
];
let previousComma = indexOfComma + 1;
while (true) {
const indexOf = unwrappedSources.indexOf(',', previousComma);
if (indexOf === -1) {
sourcesArray.push(unwrappedSources.subarray(previousComma));
break;
}
const source = unwrappedSources.subarray(previousComma, indexOf);
sourcesArray.push(source);
previousComma = indexOf + 1;
}
return sourcesArray;
}
//# sourceMappingURL=index.js.map
import { CommandParser } from '@redis/client/dist/lib/client/parser';
import { ArrayReply, BlobStringReply, DoubleReply, NumberReply, ReplyUnion, SimpleStringReply, TypeMapping } from "@redis/client/dist/lib/RESP/types";
import { TimeSeriesDuplicatePolicies } from ".";
import { TimeSeriesDuplicatePolicies } from "./helpers";
import { TimeSeriesAggregationType } from "./CREATERULE";

@@ -5,0 +5,0 @@ export type InfoRawReplyTypes = SimpleStringReply | NumberReply | TimeSeriesDuplicatePolicies | null | Array<[name: BlobStringReply, value: BlobStringReply]> | BlobStringReply | Array<[key: BlobStringReply, timeBucket: NumberReply, aggregationType: TimeSeriesAggregationType]> | DoubleReply;

import { CommandParser } from '@redis/client/dist/lib/client/parser';
import { Timestamp } from '.';
import { Timestamp } from './helpers';
import { ArrayReply, NumberReply, SimpleErrorReply } from '@redis/client/dist/lib/RESP/types';

@@ -4,0 +4,0 @@ export interface TsMAddSample {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const _1 = require(".");
const helpers_1 = require("./helpers");
exports.default = {

@@ -10,3 +10,3 @@ IS_READ_ONLY: false,

parser.pushKey(key);
parser.push((0, _1.transformTimestampArgument)(timestamp), value.toString());
parser.push((0, helpers_1.transformTimestampArgument)(timestamp), value.toString());
}

@@ -13,0 +13,0 @@ },

@@ -9,4 +9,4 @@ import { CommandParser } from '@redis/client/dist/lib/client/parser';

readonly transformReply: {
2(this: void, reply: import("./MGET_WITHLABELS").MGetLabelsRawReply2<BlobStringReply<string> | NullReply>, _: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined): import("@redis/client/dist/lib/RESP/types").MapReply<BlobStringReply<string>, {
labels: import("@redis/client/dist/lib/RESP/types").MapReply<BlobStringReply<string>, BlobStringReply<string> | NullReply>;
2(this: void, reply: import("./MGET_WITHLABELS").MGetLabelsRawReply2<NullReply | BlobStringReply<string>>, _: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined): import("@redis/client/dist/lib/RESP/types").MapReply<BlobStringReply<string>, {
labels: import("@redis/client/dist/lib/RESP/types").MapReply<BlobStringReply<string>, NullReply | BlobStringReply<string>>;
sample: {

@@ -17,4 +17,4 @@ timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply<number>;

}>;
3(this: void, reply: import("./MGET_WITHLABELS").MGetLabelsRawReply3<BlobStringReply<string> | NullReply>): import("@redis/client/dist/lib/RESP/types").MapReply<BlobStringReply<string>, {
labels: import("@redis/client/dist/lib/RESP/types").MapReply<BlobStringReply<string>, BlobStringReply<string> | NullReply>;
3(this: void, reply: import("./MGET_WITHLABELS").MGetLabelsRawReply3<NullReply | BlobStringReply<string>>): import("@redis/client/dist/lib/RESP/types").MapReply<BlobStringReply<string>, {
labels: import("@redis/client/dist/lib/RESP/types").MapReply<BlobStringReply<string>, NullReply | BlobStringReply<string>>;
sample: {

@@ -21,0 +21,0 @@ timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply<number>;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const MGET_1 = require("./MGET");
const _1 = require(".");
const helpers_1 = require("./helpers");
const MGET_WITHLABELS_1 = require("./MGET_WITHLABELS");

@@ -11,3 +11,3 @@ exports.default = {

(0, MGET_1.parseLatestArgument)(parser, options?.LATEST);
(0, _1.parseSelectedLabelsArguments)(parser, selectedLabels);
(0, helpers_1.parseSelectedLabelsArguments)(parser, selectedLabels);
(0, MGET_1.parseFilterArgument)(parser, filter);

@@ -14,0 +14,0 @@ },

@@ -5,3 +5,3 @@ import { CommandParser } from '@redis/client/dist/lib/client/parser';

import { TsMGetOptions } from './MGET';
import { RawLabelValue, SampleRawReply } from '.';
import { RawLabelValue, SampleRawReply } from './helpers';
export interface TsMGetWithLabelsOptions extends TsMGetOptions {

@@ -8,0 +8,0 @@ SELECTED_LABELS?: RedisVariadicArgument;

@@ -5,10 +5,10 @@ "use strict";

const MGET_1 = require("./MGET");
const _1 = require(".");
const helpers_1 = require("./helpers");
function createTransformMGetLabelsReply() {
return {
2(reply, _, typeMapping) {
return (0, _1.resp2MapToValue)(reply, ([, labels, sample]) => {
return (0, helpers_1.resp2MapToValue)(reply, ([, labels, sample]) => {
return {
labels: (0, _1.transformRESP2Labels)(labels),
sample: _1.transformSampleReply[2](sample)
labels: (0, helpers_1.transformRESP2Labels)(labels),
sample: helpers_1.transformSampleReply[2](sample)
};

@@ -18,6 +18,6 @@ }, typeMapping);

3(reply) {
return (0, _1.resp3MapToValue)(reply, ([labels, sample]) => {
return (0, helpers_1.resp3MapToValue)(reply, ([labels, sample]) => {
return {
labels,
sample: _1.transformSampleReply[3](sample)
sample: helpers_1.transformSampleReply[3](sample)
};

@@ -24,0 +24,0 @@ });

import { CommandParser } from '@redis/client/dist/lib/client/parser';
import { BlobStringReply, ArrayReply, Resp2Reply, MapReply, TuplesReply, TypeMapping } from '@redis/client/dist/lib/RESP/types';
import { SampleRawReply } from '.';
import { SampleRawReply } from './helpers';
import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers';

@@ -5,0 +5,0 @@ export interface TsMGetOptions {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseFilterArgument = exports.parseLatestArgument = void 0;
const _1 = require(".");
const helpers_1 = require("./helpers");
function parseLatestArgument(parser, latest) {

@@ -26,5 +26,5 @@ if (latest) {

2(reply, _, typeMapping) {
return (0, _1.resp2MapToValue)(reply, ([, , sample]) => {
return (0, helpers_1.resp2MapToValue)(reply, ([, , sample]) => {
return {
sample: _1.transformSampleReply[2](sample)
sample: helpers_1.transformSampleReply[2](sample)
};

@@ -34,5 +34,5 @@ }, typeMapping);

3(reply) {
return (0, _1.resp3MapToValue)(reply, ([, sample]) => {
return (0, helpers_1.resp3MapToValue)(reply, ([, sample]) => {
return {
sample: _1.transformSampleReply[3](sample)
sample: helpers_1.transformSampleReply[3](sample)
};

@@ -39,0 +39,0 @@ });

import { CommandParser } from '@redis/client/dist/lib/client/parser';
import { ArrayReply, BlobStringReply, Resp2Reply, MapReply, TuplesReply, TypeMapping, RedisArgument, TuplesToMapReply } from '@redis/client/dist/lib/RESP/types';
import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers';
import { SampleRawReply, Timestamp } from '.';
import { SampleRawReply, Timestamp } from './helpers';
import { TsRangeOptions } from './RANGE';

@@ -6,0 +6,0 @@ export declare const TIME_SERIES_REDUCERS: {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.extractResp3MRangeSources = exports.createTransformMRangeGroupByArguments = exports.parseGroupByArguments = exports.TIME_SERIES_REDUCERS = void 0;
const _1 = require(".");
const helpers_1 = require("./helpers");
const RANGE_1 = require("./RANGE");

@@ -50,5 +50,5 @@ const MGET_1 = require("./MGET");

2(reply, _, typeMapping) {
return (0, _1.resp2MapToValue)(reply, ([_key, _labels, samples]) => {
return (0, helpers_1.resp2MapToValue)(reply, ([_key, _labels, samples]) => {
return {
samples: _1.transformSamplesReply[2](samples)
samples: helpers_1.transformSamplesReply[2](samples)
};

@@ -58,6 +58,6 @@ }, typeMapping);

3(reply) {
return (0, _1.resp3MapToValue)(reply, ([_labels, _metadata1, metadata2, samples]) => {
return (0, helpers_1.resp3MapToValue)(reply, ([_labels, _metadata1, metadata2, samples]) => {
return {
sources: extractResp3MRangeSources(metadata2),
samples: _1.transformSamplesReply[3](samples)
samples: helpers_1.transformSamplesReply[3](samples)
};

@@ -64,0 +64,0 @@ });

import { CommandParser } from '@redis/client/dist/lib/client/parser';
import { ArrayReply, BlobStringReply, MapReply, TuplesReply, RedisArgument, NullReply } from '@redis/client/dist/lib/RESP/types';
import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers';
import { SampleRawReply, Timestamp } from '.';
import { SampleRawReply, Timestamp } from './helpers';
import { TsRangeOptions } from './RANGE';

@@ -6,0 +6,0 @@ import { TsMRangeGroupBy, TsMRangeGroupByRawMetadataReply3 } from './MRANGE_GROUPBY';

@@ -7,3 +7,3 @@ "use strict";

exports.createMRangeSelectedLabelsGroupByTransformArguments = void 0;
const _1 = require(".");
const helpers_1 = require("./helpers");
const RANGE_1 = require("./RANGE");

@@ -17,3 +17,3 @@ const MRANGE_GROUPBY_1 = require("./MRANGE_GROUPBY");

(0, RANGE_1.parseRangeArguments)(parser, fromTimestamp, toTimestamp, options);
(0, _1.parseSelectedLabelsArguments)(parser, selectedLabels);
(0, helpers_1.parseSelectedLabelsArguments)(parser, selectedLabels);
(0, MGET_1.parseFilterArgument)(parser, filter);

@@ -30,7 +30,7 @@ (0, MRANGE_GROUPBY_1.parseGroupByArguments)(parser, groupBy);

3(reply) {
return (0, _1.resp3MapToValue)(reply, ([labels, _metadata, metadata2, samples]) => {
return (0, helpers_1.resp3MapToValue)(reply, ([labels, _metadata, metadata2, samples]) => {
return {
labels,
sources: (0, MRANGE_GROUPBY_1.extractResp3MRangeSources)(metadata2),
samples: _1.transformSamplesReply[3](samples)
samples: helpers_1.transformSamplesReply[3](samples)
};

@@ -37,0 +37,0 @@ });

import { CommandParser } from '@redis/client/dist/lib/client/parser';
import { ArrayReply, BlobStringReply, Resp2Reply, MapReply, TuplesReply, TypeMapping, NullReply, RedisArgument } from '@redis/client/dist/lib/RESP/types';
import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers';
import { SampleRawReply, Timestamp } from '.';
import { SampleRawReply, Timestamp } from './helpers';
import { TsRangeOptions } from './RANGE';

@@ -6,0 +6,0 @@ export type TsMRangeSelectedLabelsRawReply2 = ArrayReply<TuplesReply<[

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createTransformMRangeSelectedLabelsArguments = void 0;
const _1 = require(".");
const helpers_1 = require("./helpers");
const RANGE_1 = require("./RANGE");

@@ -11,3 +11,3 @@ const MGET_1 = require("./MGET");

(0, RANGE_1.parseRangeArguments)(parser, fromTimestamp, toTimestamp, options);
(0, _1.parseSelectedLabelsArguments)(parser, selectedLabels);
(0, helpers_1.parseSelectedLabelsArguments)(parser, selectedLabels);
(0, MGET_1.parseFilterArgument)(parser, filter);

@@ -22,6 +22,6 @@ };

2(reply, _, typeMapping) {
return (0, _1.resp2MapToValue)(reply, ([_key, labels, samples]) => {
return (0, helpers_1.resp2MapToValue)(reply, ([_key, labels, samples]) => {
return {
labels: (0, _1.transformRESP2Labels)(labels, typeMapping),
samples: _1.transformSamplesReply[2](samples)
labels: (0, helpers_1.transformRESP2Labels)(labels, typeMapping),
samples: helpers_1.transformSamplesReply[2](samples)
};

@@ -31,6 +31,6 @@ }, typeMapping);

3(reply) {
return (0, _1.resp3MapToValue)(reply, ([_key, labels, samples]) => {
return (0, helpers_1.resp3MapToValue)(reply, ([_key, labels, samples]) => {
return {
labels,
samples: _1.transformSamplesReply[3](samples)
samples: helpers_1.transformSamplesReply[3](samples)
};

@@ -37,0 +37,0 @@ });

@@ -5,3 +5,3 @@ /// <reference types="node" />

import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers';
import { SampleRawReply, Timestamp } from '.';
import { SampleRawReply, Timestamp } from './helpers';
import { TsRangeOptions } from './RANGE';

@@ -8,0 +8,0 @@ import { TsMRangeGroupBy, TsMRangeGroupByRawMetadataReply3 } from './MRANGE_GROUPBY';

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createMRangeWithLabelsGroupByTransformArguments = void 0;
const _1 = require(".");
const helpers_1 = require("./helpers");
const RANGE_1 = require("./RANGE");

@@ -23,8 +23,8 @@ const MRANGE_GROUPBY_1 = require("./MRANGE_GROUPBY");

2(reply, _, typeMapping) {
return (0, _1.resp2MapToValue)(reply, ([_key, labels, samples]) => {
const transformed = (0, _1.transformRESP2LabelsWithSources)(labels);
return (0, helpers_1.resp2MapToValue)(reply, ([_key, labels, samples]) => {
const transformed = (0, helpers_1.transformRESP2LabelsWithSources)(labels);
return {
labels: transformed.labels,
sources: transformed.sources,
samples: _1.transformSamplesReply[2](samples)
samples: helpers_1.transformSamplesReply[2](samples)
};

@@ -34,7 +34,7 @@ }, typeMapping);

3(reply) {
return (0, _1.resp3MapToValue)(reply, ([labels, _metadata, metadata2, samples]) => {
return (0, helpers_1.resp3MapToValue)(reply, ([labels, _metadata, metadata2, samples]) => {
return {
labels,
sources: (0, MRANGE_GROUPBY_1.extractResp3MRangeSources)(metadata2),
samples: _1.transformSamplesReply[3](samples)
samples: helpers_1.transformSamplesReply[3](samples)
};

@@ -41,0 +41,0 @@ });

import { CommandParser } from '@redis/client/dist/lib/client/parser';
import { ArrayReply, BlobStringReply, Resp2Reply, MapReply, TuplesReply, TypeMapping, RedisArgument } from '@redis/client/dist/lib/RESP/types';
import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers';
import { SampleRawReply, Timestamp } from '.';
import { SampleRawReply, Timestamp } from './helpers';
import { TsRangeOptions } from './RANGE';

@@ -6,0 +6,0 @@ export type TsMRangeWithLabelsRawReply2 = ArrayReply<TuplesReply<[

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createTransformMRangeWithLabelsArguments = void 0;
const _1 = require(".");
const helpers_1 = require("./helpers");
const RANGE_1 = require("./RANGE");

@@ -22,3 +22,3 @@ const MGET_1 = require("./MGET");

2(reply, _, typeMapping) {
return (0, _1.resp2MapToValue)(reply, ([_key, labels, samples]) => {
return (0, helpers_1.resp2MapToValue)(reply, ([_key, labels, samples]) => {
const unwrappedLabels = labels;

@@ -34,3 +34,3 @@ // TODO: use Map type mapping for labels

labels: labelsObject,
samples: _1.transformSamplesReply[2](samples)
samples: helpers_1.transformSamplesReply[2](samples)
};

@@ -40,6 +40,6 @@ }, typeMapping);

3(reply) {
return (0, _1.resp3MapToValue)(reply, ([labels, _metadata, samples]) => {
return (0, helpers_1.resp3MapToValue)(reply, ([labels, _metadata, samples]) => {
return {
labels,
samples: _1.transformSamplesReply[3](samples)
samples: helpers_1.transformSamplesReply[3](samples)
};

@@ -46,0 +46,0 @@ });

import { CommandParser } from '@redis/client/dist/lib/client/parser';
import { ArrayReply, BlobStringReply, Resp2Reply, MapReply, TuplesReply, TypeMapping, RedisArgument } from '@redis/client/dist/lib/RESP/types';
import { RedisVariadicArgument } from '@redis/client/dist/lib/commands/generic-transformers';
import { SampleRawReply, Timestamp } from '.';
import { SampleRawReply, Timestamp } from './helpers';
import { TsRangeOptions } from './RANGE';

@@ -6,0 +6,0 @@ export type TsMRangeRawReply2 = ArrayReply<TuplesReply<[

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createTransformMRangeArguments = void 0;
const _1 = require(".");
const helpers_1 = require("./helpers");
const RANGE_1 = require("./RANGE");

@@ -21,9 +21,9 @@ const MGET_1 = require("./MGET");

2(reply, _, typeMapping) {
return (0, _1.resp2MapToValue)(reply, ([_key, _labels, samples]) => {
return _1.transformSamplesReply[2](samples);
return (0, helpers_1.resp2MapToValue)(reply, ([_key, _labels, samples]) => {
return helpers_1.transformSamplesReply[2](samples);
}, typeMapping);
},
3(reply) {
return (0, _1.resp3MapToValue)(reply, ([_labels, _metadata, samples]) => {
return _1.transformSamplesReply[3](samples);
return (0, helpers_1.resp3MapToValue)(reply, ([_labels, _metadata, samples]) => {
return helpers_1.transformSamplesReply[3](samples);
});

@@ -30,0 +30,0 @@ }

declare const _default: {
readonly IS_READ_ONLY: true;
readonly parseCommand: (parser: import("@redis/client/dist/lib/client/parser").CommandParser, fromTimestamp: import(".").Timestamp, toTimestamp: import(".").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("./MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("./RANGE").TsRangeOptions | undefined) => void;
readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("./MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("./RANGE").TsRangeOptions | undefined) => void;
readonly transformReply: {

@@ -5,0 +5,0 @@ readonly 2: (this: void, reply: import("./MRANGE_GROUPBY").TsMRangeGroupByRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply<import("@redis/client/dist/lib/RESP/types").BlobStringReply<string>, {

declare const _default: {
readonly IS_READ_ONLY: true;
readonly parseCommand: (parser: import("@redis/client/dist/lib/client/parser").CommandParser, fromTimestamp: import(".").Timestamp, toTimestamp: import(".").Timestamp, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("./MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("./RANGE").TsRangeOptions | undefined) => void;
readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("./MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("./RANGE").TsRangeOptions | undefined) => void;
readonly transformReply: {

@@ -5,0 +5,0 @@ readonly 2: (this: void, reply: import("./MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply<import("@redis/client/dist/lib/RESP/types").BlobStringReply<string>, {

declare const _default: {
readonly IS_READ_ONLY: true;
readonly parseCommand: (parser: import("@redis/client/dist/lib/client/parser").CommandParser, fromTimestamp: import(".").Timestamp, toTimestamp: import(".").Timestamp, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./RANGE").TsRangeOptions | undefined) => void;
readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, selectedLabels: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./RANGE").TsRangeOptions | undefined) => void;
readonly transformReply: {

@@ -5,0 +5,0 @@ readonly 2: (this: void, reply: import("./MRANGE_SELECTED_LABELS").TsMRangeSelectedLabelsRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply<import("@redis/client/dist/lib/RESP/types").BlobStringReply<string>, {

/// <reference types="node" />
declare const _default: {
readonly IS_READ_ONLY: true;
readonly parseCommand: (parser: import("@redis/client/dist/lib/client/parser").CommandParser, fromTimestamp: import(".").Timestamp, toTimestamp: import(".").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("./MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("./RANGE").TsRangeOptions | undefined) => void;
readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, groupBy: import("./MRANGE_GROUPBY").TsMRangeGroupBy, options?: import("./RANGE").TsRangeOptions | undefined) => void;
readonly transformReply: {

@@ -6,0 +6,0 @@ readonly 2: (this: void, reply: import("./MRANGE_WITHLABELS_GROUPBY").TsMRangeWithLabelsGroupByRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply<import("@redis/client/dist/lib/RESP/types").BlobStringReply<string>, {

declare const _default: {
readonly NOT_KEYED_COMMAND: true;
readonly IS_READ_ONLY: true;
readonly parseCommand: (parser: import("@redis/client/dist/lib/client/parser").CommandParser, fromTimestamp: import(".").Timestamp, toTimestamp: import(".").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./RANGE").TsRangeOptions | undefined) => void;
readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./RANGE").TsRangeOptions | undefined) => void;
readonly transformReply: {

@@ -6,0 +6,0 @@ readonly 2: (this: void, reply: import("./MRANGE_WITHLABELS").TsMRangeWithLabelsRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply<import("@redis/client/dist/lib/RESP/types").BlobStringReply<string>, {

declare const _default: {
readonly NOT_KEYED_COMMAND: true;
readonly IS_READ_ONLY: true;
readonly parseCommand: (parser: import("@redis/client/dist/lib/client/parser").CommandParser, fromTimestamp: import(".").Timestamp, toTimestamp: import(".").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./RANGE").TsRangeOptions | undefined) => void;
readonly parseCommand: (parser: import("@redis/client").CommandParser, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, filter: import("@redis/client/dist/lib/commands/generic-transformers").RedisVariadicArgument, options?: import("./RANGE").TsRangeOptions | undefined) => void;
readonly transformReply: {

@@ -6,0 +6,0 @@ readonly 2: (this: void, reply: import("./MRANGE").TsMRangeRawReply2, _?: any, typeMapping?: import("@redis/client/dist/lib/RESP/types").TypeMapping | undefined) => import("@redis/client/dist/lib/RESP/types").MapReply<import("@redis/client/dist/lib/RESP/types").BlobStringReply<string>, {

import { CommandParser } from '@redis/client/dist/lib/client/parser';
import { RedisArgument } from '@redis/client/dist/lib/RESP/types';
import { Timestamp, SamplesRawReply } from '.';
import { Timestamp, SamplesRawReply } from './helpers';
import { TimeSeriesAggregationType } from './CREATERULE';

@@ -5,0 +5,0 @@ export declare const TIME_SERIES_BUCKET_TIMESTAMP: {

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.transformRangeArguments = exports.parseRangeArguments = exports.TIME_SERIES_BUCKET_TIMESTAMP = void 0;
const _1 = require(".");
const helpers_1 = require("./helpers");
exports.TIME_SERIES_BUCKET_TIMESTAMP = {

@@ -11,3 +11,3 @@ LOW: '-',

function parseRangeArguments(parser, fromTimestamp, toTimestamp, options) {
parser.push((0, _1.transformTimestampArgument)(fromTimestamp), (0, _1.transformTimestampArgument)(toTimestamp));
parser.push((0, helpers_1.transformTimestampArgument)(fromTimestamp), (0, helpers_1.transformTimestampArgument)(toTimestamp));
if (options?.LATEST) {

@@ -19,3 +19,3 @@ parser.push('LATEST');

for (const timestamp of options.FILTER_BY_TS) {
parser.push((0, _1.transformTimestampArgument)(timestamp));
parser.push((0, helpers_1.transformTimestampArgument)(timestamp));
}

@@ -31,5 +31,5 @@ }

if (options?.ALIGN !== undefined) {
parser.push('ALIGN', (0, _1.transformTimestampArgument)(options.ALIGN));
parser.push('ALIGN', (0, helpers_1.transformTimestampArgument)(options.ALIGN));
}
parser.push('AGGREGATION', options.AGGREGATION.type, (0, _1.transformTimestampArgument)(options.AGGREGATION.timeBucket));
parser.push('AGGREGATION', options.AGGREGATION.type, (0, helpers_1.transformTimestampArgument)(options.AGGREGATION.timeBucket));
if (options.AGGREGATION.BUCKETTIMESTAMP) {

@@ -58,6 +58,6 @@ parser.push('BUCKETTIMESTAMP', options.AGGREGATION.BUCKETTIMESTAMP);

2(reply) {
return _1.transformSamplesReply[2](reply);
return helpers_1.transformSamplesReply[2](reply);
},
3(reply) {
return _1.transformSamplesReply[3](reply);
return helpers_1.transformSamplesReply[3](reply);
}

@@ -64,0 +64,0 @@ }

declare const _default: {
readonly IS_READ_ONLY: true;
readonly parseCommand: (this: void, parser: import("@redis/client/dist/lib/client/parser").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, fromTimestamp: import(".").Timestamp, toTimestamp: import(".").Timestamp, options?: import("./RANGE").TsRangeOptions | undefined) => void;
readonly parseCommand: (this: void, parser: import("@redis/client").CommandParser, key: import("@redis/client/dist/lib/RESP/types").RedisArgument, fromTimestamp: import("./helpers").Timestamp, toTimestamp: import("./helpers").Timestamp, options?: import("./RANGE").TsRangeOptions | undefined) => void;
readonly transformReply: {

@@ -9,3 +9,3 @@ readonly 2: (this: void, reply: import("@redis/client/dist/lib/RESP/types").RespType<42, import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply<number>, import("@redis/client/dist/lib/RESP/types").BlobStringReply<string>], never, [import("@redis/client/dist/lib/RESP/types").NumberReply<number>, import("@redis/client/dist/lib/RESP/types").BlobStringReply<string>]>[], never, import("@redis/client/dist/lib/RESP/types").RespType<42, [import("@redis/client/dist/lib/RESP/types").NumberReply<number>, import("@redis/client/dist/lib/RESP/types").BlobStringReply<string>], never, [import("@redis/client/dist/lib/RESP/types").NumberReply<number>, import("@redis/client/dist/lib/RESP/types").BlobStringReply<string>]>[]>) => {

}[];
readonly 3: (this: void, reply: import(".").SamplesRawReply) => {
readonly 3: (this: void, reply: import("./helpers").SamplesRawReply) => {
timestamp: import("@redis/client/dist/lib/RESP/types").NumberReply<number>;

@@ -12,0 +12,0 @@ value: import("@redis/client/dist/lib/RESP/types").DoubleReply<number>;

{
"name": "@redis/time-series",
"version": "5.0.1",
"version": "5.1.0",
"license": "MIT",

@@ -15,3 +15,3 @@ "main": "./dist/lib/index.js",

"peerDependencies": {
"@redis/client": "^5.0.1"
"@redis/client": "^5.1.0"
},

@@ -18,0 +18,0 @@ "devDependencies": {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet