You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-06 02:15:48 +03:00
Bloom commands (#1786)
* ft.alter * bloom commands * tdigest * delete tdigest * uncomment tests * small changes * Update MADD.ts * small changes * clean code * Update README.md * Update README.md Co-authored-by: leibale <leibale1998@gmail.com>
This commit is contained in:
37
packages/bloom/lib/commands/count-min-sketch/MERGE.ts
Normal file
37
packages/bloom/lib/commands/count-min-sketch/MERGE.ts
Normal file
@@ -0,0 +1,37 @@
|
||||
export const FIRST_KEY_INDEX = 1;
|
||||
|
||||
interface Sketch {
|
||||
name: string;
|
||||
weight: number;
|
||||
}
|
||||
|
||||
type Sketches = Array<string> | Array<Sketch>;
|
||||
|
||||
export function transformArguments(dest: string, src: Sketches): Array<string> {
|
||||
const args = [
|
||||
'CMS.MERGE',
|
||||
dest,
|
||||
src.length.toString()
|
||||
];
|
||||
|
||||
if (isStringSketches(src)) {
|
||||
args.push(...src);
|
||||
} else {
|
||||
for (const sketch of src) {
|
||||
args.push(sketch.name);
|
||||
}
|
||||
|
||||
args.push('WEIGHTS');
|
||||
for (const sketch of src) {
|
||||
args.push(sketch.weight.toString());
|
||||
}
|
||||
}
|
||||
|
||||
return args;
|
||||
}
|
||||
|
||||
function isStringSketches(src: Sketches): src is Array<string> {
|
||||
return typeof src[0] === 'string';
|
||||
}
|
||||
|
||||
export declare function transformReply(): 'OK';
|
Reference in New Issue
Block a user