diff --git a/packages/client/lib/commands/XDEL.spec.ts b/packages/client/lib/commands/XDEL.spec.ts index 4f7d48aa0e..a5c81a5818 100644 --- a/packages/client/lib/commands/XDEL.spec.ts +++ b/packages/client/lib/commands/XDEL.spec.ts @@ -1,28 +1,31 @@ -// import { strict as assert } from 'assert'; -// import testUtils, { GLOBAL } from '../test-utils'; -// import { transformArguments } from './XDEL'; +import { strict as assert } from 'assert'; +import testUtils, { GLOBAL } from '../test-utils'; +import XDEL from './XDEL'; -// describe('XDEL', () => { -// describe('transformArguments', () => { -// it('string', () => { -// assert.deepEqual( -// transformArguments('key', '0-0'), -// ['XDEL', 'key', '0-0'] -// ); -// }); +describe('XDEL', () => { + describe('transformArguments', () => { + it('string', () => { + assert.deepEqual( + XDEL.transformArguments('key', '0-0'), + ['XDEL', 'key', '0-0'] + ); + }); -// it('array', () => { -// assert.deepEqual( -// transformArguments('key', ['0-0', '1-0']), -// ['XDEL', 'key', '0-0', '1-0'] -// ); -// }); -// }); + it('array', () => { + assert.deepEqual( + XDEL.transformArguments('key', ['0-0', '1-0']), + ['XDEL', 'key', '0-0', '1-0'] + ); + }); + }); -// testUtils.testWithClient('client.xDel', async client => { -// assert.equal( -// await client.xDel('key', '0-0'), -// 0 -// ); -// }, GLOBAL.SERVERS.OPEN); -// }); + testUtils.testAll('xDel', async client => { + assert.equal( + await client.xDel('key', '0-0'), + 0 + ); + }, { + client: GLOBAL.SERVERS.OPEN, + cluster: GLOBAL.CLUSTERS.OPEN + }); +}); diff --git a/packages/client/lib/commands/XDEL.ts b/packages/client/lib/commands/XDEL.ts index dab033fe57..acc9198c2b 100644 --- a/packages/client/lib/commands/XDEL.ts +++ b/packages/client/lib/commands/XDEL.ts @@ -1,13 +1,11 @@ -// import { RedisCommandArgument, RedisCommandArguments } from '.'; -// import { pushVariadicArguments } from './generic-transformers'; +import { RedisArgument, NumberReply, Command } from '../RESP/types'; +import { RedisVariadicArgument, pushVariadicArguments } from './generic-transformers'; -// export const FIRST_KEY_INDEX = 1; - -// export function transformArguments( -// key: RedisCommandArgument, -// id: RedisCommandArgument | Array -// ): RedisCommandArguments { -// return pushVariadicArguments(['XDEL', key], id); -// } - -// export declare function transformReply(): number; +export default { + FIRST_KEY_INDEX: 1, + IS_READ_ONLY: false, + transformArguments(key: RedisArgument, id: RedisVariadicArgument) { + return pushVariadicArguments(['XDEL', key], id); + }, + transformReply: undefined as unknown as () => NumberReply +} as const satisfies Command; diff --git a/packages/client/lib/commands/index.ts b/packages/client/lib/commands/index.ts index fa48aa9ef4..c5f4e31156 100644 --- a/packages/client/lib/commands/index.ts +++ b/packages/client/lib/commands/index.ts @@ -144,6 +144,7 @@ import WATCH from './WATCH'; import XACK from './XACK'; import XADD_NOMKSTREAM from './XADD_NOMKSTREAM'; import XADD from './XADD'; +import XDEL from './XDEL' import XLEN from './XLEN'; import ZADD from './ZADD'; import ZCARD from './ZCARD'; @@ -463,6 +464,9 @@ export default { xAddNoMkStream: XADD_NOMKSTREAM, XADD, xAdd: XADD, + XDEL, + xDel: XDEL, + XLEN, xLen: XLEN, ZADD, diff --git a/todo.md b/todo.md new file mode 100644 index 0000000000..d3c2e81aa3 --- /dev/null +++ b/todo.md @@ -0,0 +1,31 @@ +# return type +- `XAUTOCLAIM` + + +# create commands +- `ZREVRANGE` +- `ZREVRANGEBYLEX` +- `ZREVRANGEBYSCORE` +- `ZREVRANGE WITHSCORE` +- `ZRANK WITHSCORE` + + +# waiting List +- `BZMPOP.ts` +- `BZPOPMAX.ts` +- `BZPOPMIN.ts` +- `ZRANGEBYSCORE.ts` +- `ZRANGEBYLEX.ts` +- `ZPOPMIN.ts` +- `ZPOPMAX.ts` +- `ZMPOP.ts` +- `ZUNION.ts` +- `ZREMRANGEBYLEX.ts` +- `ZREMRANGEBYRANK.ts` +- `ZREMRANGEBYSCORE.ts` +- `ZUNION.ts` +- `ZUNIONSTORE.ts` + + +# other +