diff --git a/packages/client/lib/commands/XACK.spec.ts b/packages/client/lib/commands/XACK.spec.ts index fdfaee5fb5..dd44debe2a 100644 --- a/packages/client/lib/commands/XACK.spec.ts +++ b/packages/client/lib/commands/XACK.spec.ts @@ -1,28 +1,31 @@ -// import { strict as assert } from 'assert'; -// import testUtils, { GLOBAL } from '../test-utils'; -// import { transformArguments } from './XACK'; +import { strict as assert } from 'assert'; +import testUtils, { GLOBAL } from '../test-utils'; +import XACK from './XACK'; -// describe('XACK', () => { -// describe('transformArguments', () => { -// it('string', () => { -// assert.deepEqual( -// transformArguments('key', 'group', '1-0'), -// ['XACK', 'key', 'group', '1-0'] -// ); -// }); +describe('XACK', () => { + describe('transformArguments', () => { + it('string', () => { + assert.deepEqual( + XACK.transformArguments('key', 'group', '1-0'), + ['XACK', 'key', 'group', '1-0'] + ); + }); -// it('array', () => { -// assert.deepEqual( -// transformArguments('key', 'group', ['1-0', '2-0']), -// ['XACK', 'key', 'group', '1-0', '2-0'] -// ); -// }); -// }); + it('array', () => { + assert.deepEqual( + XACK.transformArguments('key', 'group', ['1-0', '2-0']), + ['XACK', 'key', 'group', '1-0', '2-0'] + ); + }); + }); -// testUtils.testWithClient('client.xAck', async client => { -// assert.equal( -// await client.xAck('key', 'group', '1-0'), -// 0 -// ); -// }, GLOBAL.SERVERS.OPEN); -// }); + testUtils.testAll('xAck', async client => { + assert.equal( + await client.xAck('key', 'group', '1-0'), + 0 + ); + }, { + client: GLOBAL.SERVERS.OPEN, + cluster: GLOBAL.CLUSTERS.OPEN + }); +}); diff --git a/packages/client/lib/commands/XACK.ts b/packages/client/lib/commands/XACK.ts index 4d54df00d1..89b2d58120 100644 --- a/packages/client/lib/commands/XACK.ts +++ b/packages/client/lib/commands/XACK.ts @@ -1,14 +1,15 @@ -// import { RedisCommandArgument, RedisCommandArguments } from '.'; -// import { pushVariadicArguments } from './generic-transformers'; +import { NumberReply, Command, RedisArgument } from '../RESP/types'; +import { RedisVariadicArgument, pushVariadicArguments } from './generic-transformers'; -// export const FIRST_KEY_INDEX = 1; - -// export function transformArguments( -// key: RedisCommandArgument, -// group: RedisCommandArgument, -// id: RedisCommandArgument | Array -// ): RedisCommandArguments { -// return pushVariadicArguments(['XACK', key, group], id); -// } - -// export declare function transformReply(): number; +export default { + FIRST_KEY_INDEX: 1, + IS_READ_ONLY: false, + transformArguments( + key: RedisArgument, + group: RedisArgument, + id: RedisVariadicArgument + ) { + return pushVariadicArguments(['XACK', key, group], 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 a07c5b8b02..fa48aa9ef4 100644 --- a/packages/client/lib/commands/index.ts +++ b/packages/client/lib/commands/index.ts @@ -141,6 +141,7 @@ import UNLINK from './UNLINK'; import UNWATCH from './UNWATCH'; import WAIT from './WAIT'; import WATCH from './WATCH'; +import XACK from './XACK'; import XADD_NOMKSTREAM from './XADD_NOMKSTREAM'; import XADD from './XADD'; import XLEN from './XLEN'; @@ -456,6 +457,8 @@ export default { wait: WAIT, WATCH, watch: WATCH, + XACK, + xAck: XACK, XADD_NOMKSTREAM, xAddNoMkStream: XADD_NOMKSTREAM, XADD,