You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-06 02:15:48 +03:00
more commands
This commit is contained in:
@@ -1,19 +1,19 @@
|
||||
import { strict as assert } from 'assert';
|
||||
import testUtils, { GLOBAL } from '../test-utils';
|
||||
import { transformArguments } from './ARRAPPEND';
|
||||
import ARRAPPEND from './ARRAPPEND';
|
||||
|
||||
describe('ARRAPPEND', () => {
|
||||
describe('transformArguments', () => {
|
||||
it('single JSON', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments('key', '$', 1),
|
||||
ARRAPPEND.transformArguments('key', '$', 1),
|
||||
['JSON.ARRAPPEND', 'key', '$', '1']
|
||||
);
|
||||
});
|
||||
|
||||
it('multiple JSONs', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments('key', '$', 1, 2),
|
||||
ARRAPPEND.transformArguments('key', '$', 1, 2),
|
||||
['JSON.ARRAPPEND', 'key', '$', '1', '2']
|
||||
);
|
||||
});
|
||||
|
@@ -1,8 +1,10 @@
|
||||
import { RedisJSON, transformRedisJsonArgument } from '.';
|
||||
import { RedisArgument, ArrayReply, NumberReply, Command } from '@redis/client/dist/lib/RESP/types';
|
||||
|
||||
export const FIRST_KEY_INDEX = 1;
|
||||
|
||||
export function transformArguments(key: string, path: string, ...jsons: Array<RedisJSON>): Array<string> {
|
||||
export default {
|
||||
FIRST_KEY_INDEX: 1,
|
||||
IS_READ_ONLY: false,
|
||||
transformArguments(key: RedisArgument, path: RedisArgument, ...jsons: Array<RedisJSON>) {
|
||||
const args = ['JSON.ARRAPPEND', key, path];
|
||||
|
||||
for (const json of jsons) {
|
||||
@@ -10,6 +12,6 @@ export function transformArguments(key: string, path: string, ...jsons: Array<Re
|
||||
}
|
||||
|
||||
return args;
|
||||
}
|
||||
|
||||
export declare function transformReply(): number | Array<number>;
|
||||
},
|
||||
transformReply: undefined as unknown as () => NumberReply | ArrayReply<NumberReply>
|
||||
} as const satisfies Command;
|
||||
|
@@ -1,26 +1,26 @@
|
||||
import { strict as assert } from 'assert';
|
||||
import testUtils, { GLOBAL } from '../test-utils';
|
||||
import { transformArguments } from './ARRINDEX';
|
||||
import ARRINDEX from './ARRINDEX';
|
||||
|
||||
describe('ARRINDEX', () => {
|
||||
describe('transformArguments', () => {
|
||||
it('simple', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments('key', '$', 'json'),
|
||||
ARRINDEX.transformArguments('key', '$', 'json'),
|
||||
['JSON.ARRINDEX', 'key', '$', '"json"']
|
||||
);
|
||||
});
|
||||
|
||||
it('with start', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments('key', '$', 'json', 1),
|
||||
ARRINDEX.transformArguments('key', '$', 'json', 1),
|
||||
['JSON.ARRINDEX', 'key', '$', '"json"', '1']
|
||||
);
|
||||
});
|
||||
|
||||
it('with start, end', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments('key', '$', 'json', 1, 2),
|
||||
ARRINDEX.transformArguments('key', '$', 'json', 1, 2),
|
||||
['JSON.ARRINDEX', 'key', '$', '"json"', '1', '2']
|
||||
);
|
||||
});
|
||||
|
@@ -1,10 +1,16 @@
|
||||
import { RedisArgument, ArrayReply, NumberReply, Command } from '@redis/client/dist/lib/RESP/types';
|
||||
import { RedisJSON, transformRedisJsonArgument } from '.';
|
||||
|
||||
export const FIRST_KEY_INDEX = 1;
|
||||
|
||||
export const IS_READ_ONLY = true;
|
||||
|
||||
export function transformArguments(key: string, path: string, json: RedisJSON, start?: number, stop?: number): Array<string> {
|
||||
export default {
|
||||
FIRST_KEY_INDEX: 1,
|
||||
IS_READ_ONLY: true,
|
||||
transformArguments(
|
||||
key: RedisArgument,
|
||||
path: RedisArgument,
|
||||
json: RedisJSON,
|
||||
start?: number,
|
||||
stop?: number
|
||||
) {
|
||||
const args = ['JSON.ARRINDEX', key, path, transformRedisJsonArgument(json)];
|
||||
|
||||
if (start !== undefined && start !== null) {
|
||||
@@ -16,6 +22,6 @@ export function transformArguments(key: string, path: string, json: RedisJSON, s
|
||||
}
|
||||
|
||||
return args;
|
||||
}
|
||||
|
||||
export declare function transformReply(): number | Array<number>;
|
||||
},
|
||||
transformReply: undefined as unknown as () => NumberReply | ArrayReply<NumberReply>
|
||||
} as const satisfies Command;
|
||||
|
@@ -1,11 +1,11 @@
|
||||
import { strict as assert } from 'assert';
|
||||
import testUtils, { GLOBAL } from '../test-utils';
|
||||
import { transformArguments } from './DICTDUMP';
|
||||
import DICTDUMP from './DICTDUMP';
|
||||
|
||||
describe('DICTDUMP', () => {
|
||||
it('transformArguments', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments('dictionary'),
|
||||
DICTDUMP.transformArguments('dictionary'),
|
||||
['FT.DICTDUMP', 'dictionary']
|
||||
);
|
||||
});
|
||||
|
@@ -1,5 +1,13 @@
|
||||
export function transformArguments(dictionary: string): Array<string> {
|
||||
return ['FT.DICTDUMP', dictionary];
|
||||
}
|
||||
import { RedisArgument, ArrayReply, SetReply, BlobStringReply, Command } from '@redis/client/dist/lib/RESP/types';
|
||||
|
||||
export declare function transformReply(): Array<string>;
|
||||
export default {
|
||||
FIRST_KEY_INDEX: undefined,
|
||||
IS_READ_ONLY: true,
|
||||
transformArguments(dictionary: RedisArgument) {
|
||||
return ['FT.DICTDUMP', dictionary];
|
||||
},
|
||||
transformReply: {
|
||||
2: undefined as unknown as () => ArrayReply<BlobStringReply>,
|
||||
3: undefined as unknown as () => SetReply<BlobStringReply>
|
||||
}
|
||||
} as const satisfies Command;
|
||||
|
@@ -1,20 +1,20 @@
|
||||
import { strict as assert } from 'assert';
|
||||
import testUtils, { GLOBAL } from '../test-utils';
|
||||
import { SchemaFieldTypes } from '.';
|
||||
import { transformArguments } from './DROPINDEX';
|
||||
import DROPINDEX from './DROPINDEX';
|
||||
|
||||
describe('DROPINDEX', () => {
|
||||
describe('transformArguments', () => {
|
||||
it('without options', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments('index'),
|
||||
DROPINDEX.transformArguments('index'),
|
||||
['FT.DROPINDEX', 'index']
|
||||
);
|
||||
});
|
||||
|
||||
it('with DD', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments('index', { DD: true }),
|
||||
DROPINDEX.transformArguments('index', { DD: true }),
|
||||
['FT.DROPINDEX', 'index', 'DD']
|
||||
);
|
||||
});
|
||||
|
@@ -1,8 +1,13 @@
|
||||
interface DropIndexOptions {
|
||||
import { RedisArgument, SimpleStringReply, NumberReply, Command } from '@redis/client/dist/lib/RESP/types';
|
||||
|
||||
export interface FtDropIndexOptions {
|
||||
DD?: true;
|
||||
}
|
||||
|
||||
export function transformArguments(index: string, options?: DropIndexOptions): Array<string> {
|
||||
export default {
|
||||
FIRST_KEY_INDEX: undefined,
|
||||
IS_READ_ONLY: false,
|
||||
transformArguments(index: RedisArgument, options?: FtDropIndexOptions) {
|
||||
const args = ['FT.DROPINDEX', index];
|
||||
|
||||
if (options?.DD) {
|
||||
@@ -10,6 +15,9 @@ export function transformArguments(index: string, options?: DropIndexOptions): A
|
||||
}
|
||||
|
||||
return args;
|
||||
},
|
||||
transformReply: {
|
||||
2: undefined as unknown as () => SimpleStringReply<'OK'>,
|
||||
3: undefined as unknown as () => NumberReply
|
||||
}
|
||||
|
||||
export declare function transformReply(): 'OK';
|
||||
} as const satisfies Command;
|
||||
|
@@ -1,12 +1,12 @@
|
||||
import { strict as assert } from 'assert';
|
||||
import testUtils, { GLOBAL } from '../test-utils';
|
||||
import { SchemaFieldTypes } from '.';
|
||||
import { transformArguments } from './TAGVALS';
|
||||
import TAGVALS from './TAGVALS';
|
||||
|
||||
describe('TAGVALS', () => {
|
||||
it('transformArguments', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments('index', '@field'),
|
||||
TAGVALS.transformArguments('index', '@field'),
|
||||
['FT.TAGVALS', 'index', '@field']
|
||||
);
|
||||
});
|
||||
|
@@ -1,5 +1,13 @@
|
||||
export function transformArguments(index: string, fieldName: string): Array<string> {
|
||||
return ['FT.TAGVALS', index, fieldName];
|
||||
}
|
||||
import { RedisArgument, ArrayReply, SetReply, BlobStringReply, Command } from '@redis/client/dist/lib/RESP/types';
|
||||
|
||||
export declare function transformReply(): Array<string>;
|
||||
export default {
|
||||
FIRST_KEY_INDEX: undefined,
|
||||
IS_READ_ONLY: false,
|
||||
transformArguments(index: RedisArgument, fieldName: RedisArgument) {
|
||||
return ['FT.TAGVALS', index, fieldName];
|
||||
},
|
||||
transformReply: {
|
||||
2: undefined as unknown as () => ArrayReply<BlobStringReply>,
|
||||
3: undefined as unknown as () => SetReply<BlobStringReply>
|
||||
}
|
||||
} as const satisfies Command;
|
||||
|
@@ -1,11 +1,11 @@
|
||||
import { strict as assert } from 'assert';
|
||||
import testUtils, { GLOBAL } from '../test-utils';
|
||||
import { transformArguments } from './_LIST';
|
||||
import _LIST from './_LIST';
|
||||
|
||||
describe('_LIST', () => {
|
||||
it('transformArguments', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments(),
|
||||
_LIST.transformArguments(),
|
||||
['FT._LIST']
|
||||
);
|
||||
});
|
||||
|
@@ -1,5 +1,13 @@
|
||||
export function transformArguments(): Array<string> {
|
||||
return ['FT._LIST'];
|
||||
}
|
||||
import { ArrayReply, SetReply, BlobStringReply, Command } from '@redis/client/dist/lib/RESP/types';
|
||||
|
||||
export declare function transformReply(): Array<string>;
|
||||
export default {
|
||||
FIRST_KEY_INDEX: undefined,
|
||||
IS_READ_ONLY: true,
|
||||
transformArguments() {
|
||||
return ['FT._LIST'];
|
||||
},
|
||||
transformReply: {
|
||||
2: undefined as unknown as () => ArrayReply<BlobStringReply>,
|
||||
3: undefined as unknown as () => SetReply<BlobStringReply>
|
||||
}
|
||||
} as const satisfies Command;
|
||||
|
Reference in New Issue
Block a user