1
0
mirror of https://github.com/redis/node-redis.git synced 2025-08-06 02:15:48 +03:00
This commit is contained in:
dovi
2023-07-05 14:41:15 -04:00
parent cac51e5edb
commit ffa5c50fc0
2 changed files with 48 additions and 46 deletions

View File

@@ -1,39 +1,39 @@
import { strict as assert } from 'assert'; import { strict as assert } from 'assert';
import testUtils, { GLOBAL } from '../test-utils'; import testUtils, { GLOBAL } from '../test-utils';
import { transformArguments } from './MADD'; import MADD from './MADD';
describe('MADD', () => { describe('MADD', () => {
it('transformArguments', () => { it('transformArguments', () => {
assert.deepEqual( assert.deepEqual(
transformArguments([{ MADD.transformArguments([{
key: '1', key: '1',
timestamp: 0, timestamp: 0,
value: 0 value: 0
}, { }, {
key: '2', key: '2',
timestamp: 1, timestamp: 1,
value: 1 value: 1
}]), }]),
['TS.MADD', '1', '0', '0', '2', '1', '1'] ['TS.MADD', '1', '0', '0', '2', '1', '1']
); );
}); });
// Should we check empty array? // Should we check empty array?
testUtils.testWithClient('client.ts.mAdd', async client => { testUtils.testWithClient('client.ts.mAdd', async client => {
await client.ts.create('key'); await client.ts.create('key');
assert.deepEqual( assert.deepEqual(
await client.ts.mAdd([{ await client.ts.mAdd([{
key: 'key', key: 'key',
timestamp: 0, timestamp: 0,
value: 0 value: 0
}, { }, {
key: 'key', key: 'key',
timestamp: 1, timestamp: 1,
value: 1 value: 1
}]), }]),
[0, 1] [0, 1]
); );
}, GLOBAL.SERVERS.OPEN); }, GLOBAL.SERVERS.OPEN);
}); });

View File

@@ -1,25 +1,27 @@
import { Timestamp, transformTimestampArgument } from '.'; import { Timestamp, transformTimestampArgument } from '.';
import { ArrayReply, NumberReply, Command } from '@redis/client/dist/lib/RESP/types';
export const FIRST_KEY_INDEX = 1; export interface TsMAddSample {
key: string;
interface MAddSample { timestamp: Timestamp;
key: string; value: number;
timestamp: Timestamp;
value: number;
} }
export function transformArguments(toAdd: Array<MAddSample>): Array<string> { export default {
FIRST_KEY_INDEX: 1,
IS_READ_ONLY: false,
transformArguments(toAdd: Array<TsMAddSample>) {
const args = ['TS.MADD']; const args = ['TS.MADD'];
for (const { key, timestamp, value } of toAdd) { for (const { key, timestamp, value } of toAdd) {
args.push( args.push(
key, key,
transformTimestampArgument(timestamp), transformTimestampArgument(timestamp),
value.toString() value.toString()
); );
} }
return args; return args;
} },
transformReply: undefined as unknown as () => ArrayReply<NumberReply>
export declare function transformReply(): Array<number>; } as const satisfies Command;