1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-04 15:02:09 +03:00

Add support for T-Digest (#2214)

* wip

* close #2216 - add support for TDIGEST.MERGESTORE and make compression optional on TDIGEST.CREATE

* fix some tdigest commands, use bloom edge docker

* fix index.ts

* 2.4-RC2 (v2.4.1)

* fix some commands and tests

* clean code
This commit is contained in:
Leibale Eidelman
2022-11-01 15:45:47 -04:00
committed by GitHub
parent 1c6d74ffcb
commit be90e62360
33 changed files with 794 additions and 20 deletions

View File

@ -42,24 +42,32 @@ interface Version {
}
export default class TestUtils {
static #parseVersionNumber(version: string): Array<number> {
if (version === 'edge') return [Infinity];
const dashIndex = version.indexOf('-');
return (dashIndex === -1 ? version : version.substring(0, dashIndex))
.split('.')
.map(x => {
const value = Number(x);
if (Number.isNaN(value)) {
throw new TypeError(`${version} is not a valid redis version`);
}
return value;
});
}
static #getVersion(argumentName: string, defaultVersion: string): Version {
return yargs(hideBin(process.argv))
.option(argumentName, {
type: 'string',
default: defaultVersion
})
.coerce(argumentName, (arg: string) => {
const indexOfDash = arg.indexOf('-');
.coerce(argumentName, (version: string) => {
return {
string: arg,
numbers: (indexOfDash === -1 ? arg : arg.substring(0, indexOfDash)).split('.').map(x => {
const value = Number(x);
if (Number.isNaN(value)) {
throw new TypeError(`${arg} is not a valid redis version`);
}
return value;
})
string: version,
numbers: TestUtils.#parseVersionNumber(version)
};
})
.demandOption(argumentName)