You've already forked node-redis
mirror of
https://github.com/redis/node-redis.git
synced 2025-08-06 02:15:48 +03:00
fix #1714 - update README(s)
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { strict as assert } from 'assert';
|
||||
import testUtils, { GLOBAL } from '../test-utils';
|
||||
import { RedisSearchLanguages, SchemaFieldTypes, SchemaTextFieldPhonetics, transformArguments } from './CREATE';
|
||||
import { SchemaFieldTypes, SchemaTextFieldPhonetics, transformArguments } from './CREATE';
|
||||
import { RedisSearchLanguages } from '.';
|
||||
|
||||
describe('CREATE', () => {
|
||||
describe('transformArguments', () => {
|
||||
@@ -111,6 +112,20 @@ describe('CREATE', () => {
|
||||
['FT.CREATE', 'index', 'SCHEMA', 'field', 'TAG', 'SEPERATOR', 'seperator']
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
|
||||
it('with CASESENSITIVE', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments('index', {
|
||||
field: {
|
||||
type: SchemaFieldTypes.TAG,
|
||||
CASESENSITIVE: true
|
||||
}
|
||||
}),
|
||||
['FT.CREATE', 'index', 'SCHEMA', 'field', 'TAG', 'CASESENSITIVE']
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
describe('with generic options', () => {
|
||||
@@ -126,18 +141,6 @@ describe('CREATE', () => {
|
||||
);
|
||||
});
|
||||
|
||||
it('with CASESENSITIVE', () => {
|
||||
assert.deepEqual(
|
||||
transformArguments('index', {
|
||||
field: {
|
||||
type: SchemaFieldTypes.TEXT,
|
||||
CASESENSITIVE: true
|
||||
}
|
||||
}),
|
||||
['FT.CREATE', 'index', 'SCHEMA', 'field', 'TEXT', 'CASESENSITIVE']
|
||||
);
|
||||
});
|
||||
|
||||
describe('with SORTABLE', () => {
|
||||
it('true', () => {
|
||||
assert.deepEqual(
|
||||
|
@@ -1,17 +1,16 @@
|
||||
import { pushOptionalVerdictArgument } from '@redis/client/dist/lib/commands/generic-transformers';
|
||||
import { PropertyName } from '.';
|
||||
import { RedisSearchLanguages, PropertyName } from '.';
|
||||
|
||||
export enum SchemaFieldTypes {
|
||||
TEXT = 'TEXT',
|
||||
NUMERIC = 'NUMERIC',
|
||||
GEO = 'GEO',
|
||||
TAG = 'TAG',
|
||||
TAG = 'TAG'
|
||||
}
|
||||
|
||||
type CreateSchemaField<T extends SchemaFieldTypes, E = Record<string, never>> = T | ({
|
||||
type: T;
|
||||
AS?: string;
|
||||
CASESENSITIVE?: true;
|
||||
SORTABLE?: true | 'UNF';
|
||||
NOINDEX?: true;
|
||||
} & E);
|
||||
@@ -35,6 +34,7 @@ type CreateSchemaGeoField = CreateSchemaField<SchemaFieldTypes.GEO>;
|
||||
|
||||
type CreateSchemaTagField = CreateSchemaField<SchemaFieldTypes.TAG, {
|
||||
SEPERATOR?: string;
|
||||
CASESENSITIVE?: true;
|
||||
}>;
|
||||
|
||||
interface CreateSchema {
|
||||
@@ -45,34 +45,6 @@ interface CreateSchema {
|
||||
CreateSchemaTagField
|
||||
}
|
||||
|
||||
export enum RedisSearchLanguages {
|
||||
ARABIC = 'Arabic',
|
||||
BASQUE = 'Basque',
|
||||
CATALANA = 'Catalan',
|
||||
DANISH = 'Danish',
|
||||
DUTCH = 'Dutch',
|
||||
ENGLISH = 'English',
|
||||
FINNISH = 'Finnish',
|
||||
FRENCH = 'French',
|
||||
GERMAN = 'German',
|
||||
GREEK = 'Greek',
|
||||
HUNGARIAN = 'Hungarian',
|
||||
INDONESAIN = 'Indonesian',
|
||||
IRISH = 'Irish',
|
||||
ITALIAN = 'Italian',
|
||||
LITHUANIAN = 'Lithuanian',
|
||||
NEPALI = 'Nepali',
|
||||
NORWEIGAN = 'Norwegian',
|
||||
PORTUGUESE = 'Portuguese',
|
||||
ROMANIAN = 'Romanian',
|
||||
RUSSIAN = 'Russian',
|
||||
SPANISH = 'Spanish',
|
||||
SWEDISH = 'Swedish',
|
||||
TAMIL = 'Tamil',
|
||||
TURKISH = 'Turkish',
|
||||
CHINESE = 'Chinese'
|
||||
}
|
||||
|
||||
interface CreateOptions {
|
||||
ON?: 'HASH' | 'JSON';
|
||||
PREFIX?: string | Array<string>;
|
||||
@@ -196,11 +168,11 @@ export function transformArguments(index: string, schema: CreateSchema, options?
|
||||
args.push('SEPERATOR', fieldOptions.SEPERATOR);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
if (fieldOptions.CASESENSITIVE) {
|
||||
args.push('CASESENSITIVE');
|
||||
}
|
||||
|
||||
if (fieldOptions.CASESENSITIVE) {
|
||||
args.push('CASESENSITIVE');
|
||||
break;
|
||||
}
|
||||
|
||||
if (fieldOptions.SORTABLE) {
|
||||
|
@@ -1,6 +1,7 @@
|
||||
import { strict as assert } from 'assert';
|
||||
import { RedisSearchLanguages } from '.';
|
||||
import testUtils, { GLOBAL } from '../test-utils';
|
||||
import { RedisSearchLanguages, SchemaFieldTypes } from './CREATE';
|
||||
import { SchemaFieldTypes } from './CREATE';
|
||||
import { transformArguments } from './SEARCH';
|
||||
|
||||
describe('SEARCH', () => {
|
||||
|
@@ -1,8 +1,6 @@
|
||||
import { RedisCommandArguments } from '@redis/client/dist/lib/commands';
|
||||
import { pushOptionalVerdictArgument, pushVerdictArgument, transformReplyTuples } from '@redis/client/dist/lib/commands/generic-transformers';
|
||||
import { type } from 'os';
|
||||
import { PropertyName, pushSortByArguments, SortByOptions } from '.';
|
||||
import { RedisSearchLanguages } from './CREATE';
|
||||
import { RedisSearchLanguages, PropertyName, pushSortByArguments, SortByOptions } from '.';
|
||||
|
||||
export const FIRST_KEY_INDEX = 1;
|
||||
|
||||
@@ -41,7 +39,7 @@ interface SearchOptions {
|
||||
TAGS?: {
|
||||
open: string;
|
||||
close: string;
|
||||
}
|
||||
};
|
||||
};
|
||||
SLOP?: number;
|
||||
INORDER?: true;
|
||||
|
@@ -87,6 +87,34 @@ export default {
|
||||
tagVals: TAGVALS
|
||||
};
|
||||
|
||||
export enum RedisSearchLanguages {
|
||||
ARABIC = 'Arabic',
|
||||
BASQUE = 'Basque',
|
||||
CATALANA = 'Catalan',
|
||||
DANISH = 'Danish',
|
||||
DUTCH = 'Dutch',
|
||||
ENGLISH = 'English',
|
||||
FINNISH = 'Finnish',
|
||||
FRENCH = 'French',
|
||||
GERMAN = 'German',
|
||||
GREEK = 'Greek',
|
||||
HUNGARIAN = 'Hungarian',
|
||||
INDONESAIN = 'Indonesian',
|
||||
IRISH = 'Irish',
|
||||
ITALIAN = 'Italian',
|
||||
LITHUANIAN = 'Lithuanian',
|
||||
NEPALI = 'Nepali',
|
||||
NORWEIGAN = 'Norwegian',
|
||||
PORTUGUESE = 'Portuguese',
|
||||
ROMANIAN = 'Romanian',
|
||||
RUSSIAN = 'Russian',
|
||||
SPANISH = 'Spanish',
|
||||
SWEDISH = 'Swedish',
|
||||
TAMIL = 'Tamil',
|
||||
TURKISH = 'Turkish',
|
||||
CHINESE = 'Chinese'
|
||||
}
|
||||
|
||||
export type PropertyName = `${'@' | '$.'}${string}`;
|
||||
|
||||
export type SortByOptions = PropertyName | {
|
||||
|
Reference in New Issue
Block a user