You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-03 04:01:40 +03:00
RESP3 Support - Some commands responses in RESP3 aren't stable yet and therefore return an "untyped" ReplyUnion. Sentinel TypeMapping Correctly types Multi commands Note: some API changes to be further documented in v4-to-v5.md
34 lines
733 B
TypeScript
34 lines
733 B
TypeScript
import { strict as assert } from 'node:assert';
|
|
import { describe } from 'mocha';
|
|
import encodeCommand from './encoder';
|
|
|
|
describe('RESP Encoder', () => {
|
|
it('1 byte', () => {
|
|
assert.deepEqual(
|
|
encodeCommand(['a', 'z']),
|
|
['*2\r\n$1\r\na\r\n$1\r\nz\r\n']
|
|
);
|
|
});
|
|
|
|
it('2 bytes', () => {
|
|
assert.deepEqual(
|
|
encodeCommand(['א', 'ת']),
|
|
['*2\r\n$2\r\nא\r\n$2\r\nת\r\n']
|
|
);
|
|
});
|
|
|
|
it('4 bytes', () => {
|
|
assert.deepEqual(
|
|
[...encodeCommand(['🐣', '🐤'])],
|
|
['*2\r\n$4\r\n🐣\r\n$4\r\n🐤\r\n']
|
|
);
|
|
});
|
|
|
|
it('buffer', () => {
|
|
assert.deepEqual(
|
|
encodeCommand([Buffer.from('string')]),
|
|
['*1\r\n$6\r\n', Buffer.from('string'), '\r\n']
|
|
);
|
|
});
|
|
});
|