OperatorRegistry
Defined in: packages/rxdb-model/dist/query-builder/services/operator-registry.service.d.ts:27
操作符注册表服务 管理可用操作符及其元数据
Constructors
Constructor
new OperatorRegistry(options?): OperatorRegistry;
Defined in: packages/rxdb-model/dist/query-builder/services/operator-registry.service.d.ts:34
Parameters
| Parameter | Type | Description |
|---|---|---|
options? | OperatorRegistryOptions | 初始注册的操作符集合 |
Returns
OperatorRegistry
Accessors
size
Get Signature
get size(): number;
Defined in: packages/rxdb-model/dist/query-builder/services/operator-registry.service.d.ts:32
获取操作符数量
Returns
number
Methods
clear()
clear(): void;
Defined in: packages/rxdb-model/dist/query-builder/services/operator-registry.service.d.ts:123
清空所有操作符
Returns
void
get()
get(key): OperatorDefinition | undefined;
Defined in: packages/rxdb-model/dist/query-builder/services/operator-registry.service.d.ts:70
获取操作符定义
Parameters
| Parameter | Type | Description |
|---|---|---|
key | OperatorName | 操作符键值 |
Returns
OperatorDefinition | undefined
操作符定义或 undefined
getAll()
getAll(): OperatorDefinition[];
Defined in: packages/rxdb-model/dist/query-builder/services/operator-registry.service.d.ts:76
获取所有操作符
Returns
所有操作符定义数组
getForField()
getForField(field): OperatorDefinition[];
Defined in: packages/rxdb-model/dist/query-builder/services/operator-registry.service.d.ts:96
根据字段元数据获取适用的操作符
Parameters
| Parameter | Type | Description |
|---|---|---|
field | FieldMetadata | 字段元数据 |
Returns
适用的操作符数组
getForType()
getForType(fieldType): OperatorDefinition[];
Defined in: packages/rxdb-model/dist/query-builder/services/operator-registry.service.d.ts:89
根据字段类型获取适用的操作符
Parameters
| Parameter | Type | Description |
|---|---|---|
fieldType | PropertyType | 字段类型 |
Returns
适用的操作符数组
Example
const stringOperators = registry.getForType('string');
// [{ key: '=', ... }, { key: 'contains', ... }, ...]
getValueType()
getValueType(operatorKey): "none" | "range" | "array" | "subquery" | "single" | undefined;
Defined in: packages/rxdb-model/dist/query-builder/services/operator-registry.service.d.ts:119
获取操作符的值类型
Parameters
| Parameter | Type | Description |
|---|---|---|
operatorKey | OperatorName | 操作符键值 |
Returns
"none" | "range" | "array" | "subquery" | "single" | undefined
值类型
isOperatorSupportedForField()
isOperatorSupportedForField(operatorKey, field): boolean;
Defined in: packages/rxdb-model/dist/query-builder/services/operator-registry.service.d.ts:112
检查操作符是否支持指定字段
Parameters
| Parameter | Type | Description |
|---|---|---|
operatorKey | OperatorName | 操作符键值 |
field | FieldMetadata | 字段元数据 |
Returns
boolean
是否支持
isOperatorSupportedForType()
isOperatorSupportedForType(operatorKey, fieldType): boolean;
Defined in: packages/rxdb-model/dist/query-builder/services/operator-registry.service.d.ts:104
检查操作符是否支持指定类型
Parameters
| Parameter | Type | Description |
|---|---|---|
operatorKey | OperatorName | 操作符键值 |
fieldType | PropertyType | 字段类型 |
Returns
boolean
是否支持
register()
register(operator): void;
Defined in: packages/rxdb-model/dist/query-builder/services/operator-registry.service.d.ts:50
注册新操作符
Parameters
| Parameter | Type | Description |
|---|---|---|
operator | OperatorDefinition | 操作符定义 |
Returns
void
Example
registry.register({
key: 'contains',
label: '包含',
applicableTypes: ['string'],
valueType: 'single'
});
registerMany()
registerMany(operators): void;
Defined in: packages/rxdb-model/dist/query-builder/services/operator-registry.service.d.ts:56
批量注册操作符
Parameters
| Parameter | Type | Description |
|---|---|---|
operators | OperatorDefinition[] | 操作符定义数组 |
Returns
void
reset()
reset(): void;
Defined in: packages/rxdb-model/dist/query-builder/services/operator-registry.service.d.ts:127
重置为默认操作符
Returns
void
unregister()
unregister(key): boolean;
Defined in: packages/rxdb-model/dist/query-builder/services/operator-registry.service.d.ts:63
移除操作符
Parameters
| Parameter | Type | Description |
|---|---|---|
key | OperatorName | 操作符键值 |
Returns
boolean
是否成功移除