Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@litert/redis",
"version": "3.0.1",
"version": "3.0.2",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

use command npm version v3.0.2 to update package version

"description": "A redis protocol implement for Node.js.",
"main": "./lib/index.js",
"scripts": {
Expand Down
73 changes: 73 additions & 0 deletions src/lib/Commands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2085,6 +2085,79 @@ export const COMMANDS: Record<keyof C.ICommandAPIs, ICommand> = {
}
},

/**
* Command: zRem
* @see https://redis.io/commands/zRem
*/
'zRem': {
prepare: createDefaultPreparer('ZREM')
},

/**
* Command: zAdd
* @see https://redis.io/commands/zAdd
*/
'zAdd': {
prepare: createDefaultPreparer('ZADD'),
process: isIntegerOne
},

/**
* Command: zRange
* @see https://redis.io/commands/zRange
*/
'zRangeWithScores': {
prepare: (key: string, start: number, stop: number) => {

return {
'cmd': 'ZRANGE',
'args': [key, start, stop, 'WITHSCORES']
};
},
process: (items: Array<[number, Buffer]>): Array<{ member: string; score: number; }> => {

const ret: Array<{ member: string; score: number; }> = [];

for (let i = 0 ; i < items.length; i = i + 2) {

ret.push({
'member': items[i][1].toString(),
'score': parseFloat(items[i + 1][1].toString())
});
}

return ret;
}
},

/**
* Command: zRange
* @see https://redis.io/commands/zRange
*/
'zRangeWithScores$': {
prepare: (key: string, start: number, stop: number) => {

return {
'cmd': 'ZRANGE',
'args': [key, start, stop, 'WITHSCORES']
};
},
process: (items: Array<[number, Buffer]>): Array<{ member: Buffer; score: number; }> => {

const ret: Array<{ member: Buffer; score: number; }> = [];

for (let i = 0 ; i < items.length; i = i + 2) {

ret.push({
'member': items[i][1],
'score': parseFloat(items[i + 1][1].toString())
});
}

return ret;
}
},

/**
* Command: pfAdd
* @see https://redis.io/commands/pfAdd
Expand Down
24 changes: 24 additions & 0 deletions src/lib/Common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1221,6 +1221,30 @@ export interface ICommandAPIs {
*/
rPushX(key: string, values: Array<string | Buffer>): Promise<number>;

/**
* Command: zAdd
* @see https://redis.io/commands/zAdd
*/
zAdd(key: string, member: string, score: string | Buffer): Promise<boolean>;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

member: string | Buffer
score: string | number


/**
* Command: zRem
* @see https://redis.io/commands/zRem
*/
zRem(key: string, members: Array<string | Buffer>): Promise<number>;

/**
* Command: zRange
* @see https://redis.io/commands/zRange
*/
zRangeWithScores(key: string, start: number, stop: number): Promise<Array<{ member: string; score: number; }>>;

/**
* Command: zRange
* @see https://redis.io/commands/zRange
*/
zRangeWithScores$(key: string, start: number, stop: number): Promise<Array<{ member: Buffer; score: number; }>>;

/**
* Command: pfAdd
* @see https://redis.io/commands/pfAdd
Expand Down