@aiao/rxdb-model 0.0.19 → 0.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +43 -6
- package/dist/cn.d.ts +19 -0
- package/dist/cn.d.ts.map +1 -0
- package/dist/entity-capabilities.d.ts +25 -0
- package/dist/entity-capabilities.d.ts.map +1 -0
- package/dist/entity-detail/detail-tabs.d.ts +7 -1
- package/dist/entity-detail/detail-tabs.d.ts.map +1 -1
- package/dist/entity-detail/index.d.ts +5 -0
- package/dist/entity-detail/index.d.ts.map +1 -1
- package/dist/entity-detail/interfaces.d.ts +25 -1
- package/dist/entity-detail/interfaces.d.ts.map +1 -1
- package/dist/entity-field.utils.d.ts +54 -2
- package/dist/entity-field.utils.d.ts.map +1 -1
- package/dist/entity-form/form-data.d.ts +21 -0
- package/dist/entity-form/form-data.d.ts.map +1 -1
- package/dist/entity-form/form-fields.d.ts +19 -1
- package/dist/entity-form/form-fields.d.ts.map +1 -1
- package/dist/entity-form/form-validation.d.ts +13 -0
- package/dist/entity-form/form-validation.d.ts.map +1 -1
- package/dist/entity-form/index.d.ts +5 -0
- package/dist/entity-form/index.d.ts.map +1 -1
- package/dist/entity-form/interfaces.d.ts +60 -0
- package/dist/entity-form/interfaces.d.ts.map +1 -1
- package/dist/entity-list/manual-order-list.d.ts +92 -0
- package/dist/entity-list/manual-order-list.d.ts.map +1 -0
- package/dist/entity-list/types.d.ts +25 -0
- package/dist/entity-list/types.d.ts.map +1 -0
- package/dist/entity-table/columns/build-editable-columns.d.ts +24 -2
- package/dist/entity-table/columns/build-editable-columns.d.ts.map +1 -1
- package/dist/entity-table/columns/column-utils.d.ts +75 -9
- package/dist/entity-table/columns/column-utils.d.ts.map +1 -1
- package/dist/entity-table/editors/color-editor.d.ts +23 -0
- package/dist/entity-table/editors/color-editor.d.ts.map +1 -0
- package/dist/entity-table/editors/date-editor.d.ts +5 -0
- package/dist/entity-table/editors/date-editor.d.ts.map +1 -1
- package/dist/entity-table/editors/enum-editor.d.ts +10 -0
- package/dist/entity-table/editors/enum-editor.d.ts.map +1 -1
- package/dist/entity-table/editors/global-overlay-editor.d.ts +26 -3
- package/dist/entity-table/editors/global-overlay-editor.d.ts.map +1 -1
- package/dist/entity-table/editors/icon-list-editor.d.ts +12 -0
- package/dist/entity-table/editors/icon-list-editor.d.ts.map +1 -1
- package/dist/entity-table/editors/json-editor.d.ts +5 -0
- package/dist/entity-table/editors/json-editor.d.ts.map +1 -1
- package/dist/entity-table/editors/key-value-editor.d.ts +11 -1
- package/dist/entity-table/editors/key-value-editor.d.ts.map +1 -1
- package/dist/entity-table/editors/lucide-svg.d.ts +3 -2
- package/dist/entity-table/editors/lucide-svg.d.ts.map +1 -1
- package/dist/entity-table/editors/multiselect-editor.d.ts +24 -6
- package/dist/entity-table/editors/multiselect-editor.d.ts.map +1 -1
- package/dist/entity-table/editors/number-editor.d.ts +32 -2
- package/dist/entity-table/editors/number-editor.d.ts.map +1 -1
- package/dist/entity-table/editors/relation-editor.d.ts +12 -0
- package/dist/entity-table/editors/relation-editor.d.ts.map +1 -1
- package/dist/entity-table/editors/safe-list-editor.d.ts +1 -0
- package/dist/entity-table/editors/safe-list-editor.d.ts.map +1 -1
- package/dist/entity-table/editors/tags-editor.d.ts +11 -0
- package/dist/entity-table/editors/tags-editor.d.ts.map +1 -1
- package/dist/entity-table/editors/text-format-editor.d.ts +32 -0
- package/dist/entity-table/editors/text-format-editor.d.ts.map +1 -0
- package/dist/entity-table/editors/uuid-editor.d.ts +13 -0
- package/dist/entity-table/editors/uuid-editor.d.ts.map +1 -1
- package/dist/entity-table/index.d.ts +13 -3
- package/dist/entity-table/index.d.ts.map +1 -1
- package/dist/entity-table/interfaces.d.ts +38 -0
- package/dist/entity-table/interfaces.d.ts.map +1 -1
- package/dist/entity-table/vtable/table-clipboard.d.ts +30 -1
- package/dist/entity-table/vtable/table-clipboard.d.ts.map +1 -1
- package/dist/entity-table/vtable/table-factory.d.ts +23 -3
- package/dist/entity-table/vtable/table-factory.d.ts.map +1 -1
- package/dist/entity-table/vtable/table-keyboard.d.ts +18 -1
- package/dist/entity-table/vtable/table-keyboard.d.ts.map +1 -1
- package/dist/entity-table/vtable/table-operations.d.ts +42 -1
- package/dist/entity-table/vtable/table-operations.d.ts.map +1 -1
- package/dist/entity-table/vtable/table-row-move.d.ts +88 -0
- package/dist/entity-table/vtable/table-row-move.d.ts.map +1 -0
- package/dist/entity-table/vtable/table-theme.d.ts +47 -2
- package/dist/entity-table/vtable/table-theme.d.ts.map +1 -1
- package/dist/entity-table/vtable/table-tooltip.d.ts +7 -1
- package/dist/entity-table/vtable/table-tooltip.d.ts.map +1 -1
- package/dist/entity-table/vtable/vtable-compat.d.ts +33 -5
- package/dist/entity-table/vtable/vtable-compat.d.ts.map +1 -1
- package/dist/entity-value.utils.d.ts +49 -1
- package/dist/entity-value.utils.d.ts.map +1 -1
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4394 -64471
- package/dist/query-builder/models/operator.interface.d.ts +5 -1
- package/dist/query-builder/models/operator.interface.d.ts.map +1 -1
- package/dist/query-builder/models/query-builder-state.d.ts +31 -2
- package/dist/query-builder/models/query-builder-state.d.ts.map +1 -1
- package/dist/query-builder/models/validation.interface.d.ts +1 -1
- package/dist/query-builder/services/operator-registry.service.d.ts +7 -1
- package/dist/query-builder/services/operator-registry.service.d.ts.map +1 -1
- package/dist/query-builder/services/query-builder.service.d.ts +10 -4
- package/dist/query-builder/services/query-builder.service.d.ts.map +1 -1
- package/dist/query-builder/services/query-converter.service.d.ts +5 -1
- package/dist/query-builder/services/query-converter.service.d.ts.map +1 -1
- package/dist/query-builder/services/schema-parser.service.d.ts +5 -1
- package/dist/query-builder/services/schema-parser.service.d.ts.map +1 -1
- package/dist/query-builder/services/validation.service.d.ts +29 -3
- package/dist/query-builder/services/validation.service.d.ts.map +1 -1
- package/dist/query-builder/utils/date.d.ts +12 -0
- package/dist/query-builder/utils/date.d.ts.map +1 -1
- package/dist/query-builder/utils/field-tree.d.ts.map +1 -1
- package/dist/query-builder/utils/id.d.ts +2 -0
- package/dist/query-builder/utils/id.d.ts.map +1 -1
- package/dist/query-builder/utils/metadata-field-extractor.d.ts +13 -2
- package/dist/query-builder/utils/metadata-field-extractor.d.ts.map +1 -1
- package/dist/query-builder/utils/popover-position.d.ts +11 -0
- package/dist/query-builder/utils/popover-position.d.ts.map +1 -1
- package/dist/query-builder/utils/schema-factory.d.ts +1 -1
- package/dist/query-builder/utils/structural-equal.d.ts +4 -0
- package/dist/query-builder/utils/structural-equal.d.ts.map +1 -1
- package/dist/query-builder/utils/value-input.d.ts +20 -0
- package/dist/query-builder/utils/value-input.d.ts.map +1 -1
- package/dist/structural-equal.d.ts +5 -1
- package/dist/structural-equal.d.ts.map +1 -1
- package/package.json +34 -10
- package/src/cn.ts +21 -0
- package/src/entity-capabilities.ts +37 -0
- package/src/entity-detail/detail-tabs.ts +48 -0
- package/src/entity-detail/index.ts +7 -0
- package/src/entity-detail/interfaces.ts +55 -0
- package/src/entity-field.utils.ts +205 -0
- package/src/entity-form/form-data.ts +83 -0
- package/src/entity-form/form-fields.ts +48 -0
- package/src/entity-form/form-validation.ts +34 -0
- package/src/entity-form/index.ts +9 -0
- package/src/entity-form/interfaces.ts +116 -0
- package/src/entity-list/manual-order-list.ts +159 -0
- package/src/entity-list/types.ts +22 -0
- package/src/entity-table/columns/build-editable-columns.ts +184 -0
- package/src/entity-table/columns/column-utils.ts +657 -0
- package/src/entity-table/editors/color-editor.ts +239 -0
- package/src/entity-table/editors/date-editor.ts +169 -0
- package/src/entity-table/editors/enum-editor.ts +167 -0
- package/src/entity-table/editors/global-overlay-editor.ts +277 -0
- package/src/entity-table/editors/icon-list-editor.ts +130 -0
- package/src/entity-table/editors/json-editor.ts +212 -0
- package/src/entity-table/editors/key-value-editor.ts +595 -0
- package/src/entity-table/editors/lucide-svg.ts +78 -0
- package/src/entity-table/editors/multiselect-editor.ts +171 -0
- package/src/entity-table/editors/number-editor.ts +322 -0
- package/src/entity-table/editors/relation-editor.ts +316 -0
- package/src/entity-table/editors/safe-list-editor.ts +17 -0
- package/src/entity-table/editors/tags-editor.ts +239 -0
- package/src/entity-table/editors/text-format-editor.ts +220 -0
- package/src/entity-table/editors/uuid-editor.ts +198 -0
- package/src/entity-table/index.ts +96 -0
- package/src/entity-table/interfaces.ts +100 -0
- package/src/entity-table/vtable/table-clipboard.ts +419 -0
- package/src/entity-table/vtable/table-factory.ts +117 -0
- package/src/entity-table/vtable/table-keyboard.ts +89 -0
- package/src/entity-table/vtable/table-operations.ts +123 -0
- package/src/entity-table/vtable/table-row-move.ts +122 -0
- package/src/entity-table/vtable/table-theme.ts +181 -0
- package/src/entity-table/vtable/table-tooltip.ts +70 -0
- package/src/entity-table/vtable/vtable-compat.ts +84 -0
- package/src/entity-value.utils.ts +456 -0
- package/src/index.ts +58 -0
- package/src/query-builder/models/config.interface.ts +31 -0
- package/src/query-builder/models/index.ts +8 -0
- package/src/query-builder/models/operator.interface.ts +191 -0
- package/src/query-builder/models/query-builder-state.ts +222 -0
- package/src/query-builder/models/validation.interface.ts +184 -0
- package/src/query-builder/services/index.ts +9 -0
- package/src/query-builder/services/operator-registry.service.ts +243 -0
- package/src/query-builder/services/query-builder.service.ts +568 -0
- package/src/query-builder/services/query-converter.service.ts +153 -0
- package/src/query-builder/services/schema-parser.service.ts +312 -0
- package/src/query-builder/services/validation.service.ts +390 -0
- package/src/query-builder/utils/date.ts +35 -0
- package/src/query-builder/utils/field-tree.ts +400 -0
- package/src/query-builder/utils/id.ts +15 -0
- package/src/query-builder/utils/index.ts +12 -0
- package/src/query-builder/utils/metadata-field-extractor.ts +460 -0
- package/src/query-builder/utils/popover-position.ts +63 -0
- package/src/query-builder/utils/schema-factory.ts +75 -0
- package/src/query-builder/utils/structural-equal.ts +5 -0
- package/src/query-builder/utils/value-input.ts +105 -0
- package/src/structural-equal.ts +49 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { OperatorName } from '
|
|
1
|
+
import { OperatorName } from '@aiao/rxdb';
|
|
2
2
|
import { PropertyType } from './query-builder-state.js';
|
|
3
3
|
/**
|
|
4
4
|
* 操作符定义
|
|
@@ -37,6 +37,10 @@ export type QueryBuilderOperator = OperatorName;
|
|
|
37
37
|
export declare const DEFAULT_OPERATORS: OperatorDefinition[];
|
|
38
38
|
/**
|
|
39
39
|
* 根据字段类型获取适用的操作符
|
|
40
|
+
*
|
|
41
|
+
* @param type - 字段类型
|
|
42
|
+
* @param operators - 操作符定义列表(默认使用内置操作符 DEFAULT_OPERATORS)
|
|
43
|
+
* @returns 适用于该字段类型的操作符数组
|
|
40
44
|
*/
|
|
41
45
|
export declare function getOperatorsForType(type: PropertyType, operators?: OperatorDefinition[]): OperatorDefinition[];
|
|
42
46
|
//# sourceMappingURL=operator.interface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operator.interface.d.ts","sourceRoot":"","sources":["../../../src/query-builder/models/operator.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,GAAG,EAAE,YAAY,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;;OAOG;IACH,SAAS,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;IAE9D;;OAEG;IACH,eAAe,EAAE,YAAY,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,kBAAkB,EAsIjD,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"operator.interface.d.ts","sourceRoot":"","sources":["../../../src/query-builder/models/operator.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,GAAG,EAAE,YAAY,CAAC;IAElB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;;OAOG;IACH,SAAS,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,UAAU,CAAC;IAE9D;;OAEG;IACH,eAAe,EAAE,YAAY,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,YAAY,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,kBAAkB,EAsIjD,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,YAAY,EAClB,SAAS,GAAE,kBAAkB,EAAsB,GAClD,kBAAkB,EAAE,CAEtB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { OperatorName, Rule, RuleGroup } from '
|
|
1
|
+
import { OperatorName, Rule, RuleGroup } from '@aiao/rxdb';
|
|
2
2
|
/**
|
|
3
3
|
* UI 规则(宽松类型,用于查询构建器组件内部)
|
|
4
4
|
*
|
|
@@ -7,9 +7,21 @@ import { OperatorName, Rule, RuleGroup } from '../../../packages/rxdb/src/index.
|
|
|
7
7
|
* 此类型提供宽松的字段类型,方便 UI 组件操作。
|
|
8
8
|
*/
|
|
9
9
|
export interface UIRule {
|
|
10
|
+
/**
|
|
11
|
+
* 规则唯一标识符
|
|
12
|
+
*/
|
|
10
13
|
id: string;
|
|
14
|
+
/**
|
|
15
|
+
* 字段名
|
|
16
|
+
*/
|
|
11
17
|
field: string;
|
|
18
|
+
/**
|
|
19
|
+
* 操作符
|
|
20
|
+
*/
|
|
12
21
|
operator: string;
|
|
22
|
+
/**
|
|
23
|
+
* 规则值(可选)
|
|
24
|
+
*/
|
|
13
25
|
value?: unknown;
|
|
14
26
|
/**
|
|
15
27
|
* EXISTS/NOT EXISTS 操作符的子查询条件
|
|
@@ -38,12 +50,20 @@ export interface UIRule {
|
|
|
38
50
|
* };
|
|
39
51
|
* ```
|
|
40
52
|
*/
|
|
41
|
-
export type QueryBuilderRule<T = Record<string, unknown>> =
|
|
53
|
+
export type QueryBuilderRule<T = Record<string, unknown>> = UIRule & {
|
|
42
54
|
/**
|
|
43
55
|
* 规则唯一标识符
|
|
44
56
|
* 用于 React key, Angular trackBy, Vue :key
|
|
45
57
|
*/
|
|
46
58
|
id: string;
|
|
59
|
+
/**
|
|
60
|
+
* 字段名(类型安全的实体字段键或字符串)
|
|
61
|
+
*/
|
|
62
|
+
field: string | (keyof T & string);
|
|
63
|
+
/**
|
|
64
|
+
* 操作符(RxDB OperatorName 或自定义字符串)
|
|
65
|
+
*/
|
|
66
|
+
operator: OperatorName | string;
|
|
47
67
|
};
|
|
48
68
|
/**
|
|
49
69
|
* 规则组(复用 RxDB RuleGroup 类型 + UI 元数据)
|
|
@@ -149,11 +169,20 @@ export interface FieldMetadata {
|
|
|
149
169
|
export type PropertyType = 'uuid' | 'string' | 'number' | 'boolean' | 'date' | 'array' | 'object' | 'relation' | 'enum' | 'keyValue';
|
|
150
170
|
/**
|
|
151
171
|
* 类型守卫:判断是否为规则组
|
|
172
|
+
*
|
|
173
|
+
* @param item - 待判断的规则或规则组
|
|
174
|
+
* @returns 若为规则组则返回 true,否则返回 false
|
|
152
175
|
*/
|
|
153
176
|
export declare function isRuleGroup<T>(item: QueryBuilderRule<T> | QueryBuilderRuleGroup<T>): item is QueryBuilderRuleGroup<T>;
|
|
154
177
|
/**
|
|
155
178
|
* 类型守卫:判断是否为规则
|
|
179
|
+
*
|
|
180
|
+
* @param item - 待判断的规则或规则组
|
|
181
|
+
* @returns 若为规则则返回 true,否则返回 false
|
|
156
182
|
*/
|
|
157
183
|
export declare function isRule<T>(item: QueryBuilderRule<T> | QueryBuilderRuleGroup<T>): item is QueryBuilderRule<T>;
|
|
184
|
+
/**
|
|
185
|
+
* 类型重导出:操作符名及 RxDB 原生规则、规则组类型
|
|
186
|
+
*/
|
|
158
187
|
export type { OperatorName, Rule, RuleGroup };
|
|
159
188
|
//# sourceMappingURL=query-builder-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-builder-state.d.ts","sourceRoot":"","sources":["../../../src/query-builder/models/query-builder-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"query-builder-state.d.ts","sourceRoot":"","sources":["../../../src/query-builder/models/query-builder-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { OperatorName } from '
|
|
1
|
+
import { OperatorName } from '@aiao/rxdb';
|
|
2
2
|
import { OperatorDefinition } from '../models/operator.interface.js';
|
|
3
3
|
import { FieldMetadata, PropertyType } from '../models/query-builder-state.js';
|
|
4
4
|
/**
|
|
@@ -26,6 +26,7 @@ export declare class OperatorRegistry {
|
|
|
26
26
|
* 获取操作符数量
|
|
27
27
|
*/
|
|
28
28
|
get size(): number;
|
|
29
|
+
/** @param options - 初始注册的操作符集合 */
|
|
29
30
|
constructor(options?: OperatorRegistryOptions);
|
|
30
31
|
/**
|
|
31
32
|
* 注册新操作符
|
|
@@ -123,10 +124,15 @@ export declare class OperatorRegistry {
|
|
|
123
124
|
}
|
|
124
125
|
/**
|
|
125
126
|
* 创建 OperatorRegistry 实例的工厂函数
|
|
127
|
+
*
|
|
128
|
+
* @param options - 操作符注册表选项
|
|
129
|
+
* @returns 新的 OperatorRegistry 实例
|
|
126
130
|
*/
|
|
127
131
|
export declare function createOperatorRegistry(options?: OperatorRegistryOptions): OperatorRegistry;
|
|
128
132
|
/**
|
|
129
133
|
* 获取默认操作符注册表
|
|
134
|
+
*
|
|
135
|
+
* @returns 全局共享的默认 OperatorRegistry 实例(懒初始化)
|
|
130
136
|
*/
|
|
131
137
|
export declare function getDefaultOperatorRegistry(): OperatorRegistry;
|
|
132
138
|
//# sourceMappingURL=operator-registry.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operator-registry.service.d.ts","sourceRoot":"","sources":["../../../src/query-builder/services/operator-registry.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAqB,KAAK,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC7F,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAEjC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;IAElE;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;
|
|
1
|
+
{"version":3,"file":"operator-registry.service.d.ts","sourceRoot":"","sources":["../../../src/query-builder/services/operator-registry.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAqB,KAAK,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC7F,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,SAAS,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAEjC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwC;IAElE;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,kCAAkC;gBACtB,OAAO,GAAE,uBAA4B;IAkBjD;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,GAAG,IAAI;IAI5C;;;;OAIG;IACH,YAAY,CAAC,SAAS,EAAE,kBAAkB,EAAE,GAAG,IAAI;IAMnD;;;;;OAKG;IACH,UAAU,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO;IAItC;;;;;OAKG;IACH,GAAG,CAAC,GAAG,EAAE,YAAY,GAAG,kBAAkB,GAAG,SAAS;IAItD;;;;OAIG;IACH,MAAM,IAAI,kBAAkB,EAAE;IAI9B;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,SAAS,EAAE,YAAY,GAAG,kBAAkB,EAAE;IAIzD;;;;;OAKG;IACH,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,kBAAkB,EAAE;IAyBvD;;;;;;OAMG;IACH,0BAA0B,CAAC,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,YAAY,GAAG,OAAO;IAKvF;;;;;;OAMG;IACH,2BAA2B,CAAC,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,GAAG,OAAO;IAIrF;;;;;OAKG;IACH,YAAY,CAAC,WAAW,EAAE,YAAY,GAAG,kBAAkB,CAAC,WAAW,CAAC,GAAG,SAAS;IAKpF;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,KAAK,IAAI,IAAI;CAMd;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,gBAAgB,CAE1F;AAOD;;;;GAIG;AACH,wBAAgB,0BAA0B,IAAI,gBAAgB,CAK7D"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { RuleGroup } from '
|
|
1
|
+
import { RuleGroup } from '@aiao/rxdb';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { QueryBuilderConfig } from '../models/config.interface.js';
|
|
4
|
-
import { FieldMetadata,
|
|
4
|
+
import { FieldMetadata, QueryBuilderRuleGroup, QueryBuilderState, UIRule } from '../models/query-builder-state.js';
|
|
5
5
|
import { ValidationResult } from '../models/validation.interface.js';
|
|
6
6
|
import { OperatorRegistry } from './operator-registry.service.js';
|
|
7
7
|
import { QueryConverter } from './query-converter.service.js';
|
|
@@ -67,6 +67,7 @@ export declare class QueryBuilderService<T = Record<string, unknown>> {
|
|
|
67
67
|
* RxDB Query 格式的 Observable
|
|
68
68
|
*/
|
|
69
69
|
readonly query$: Observable<RuleGroup<T>>;
|
|
70
|
+
/** @param options - 查询构建器配置(schema / initialQuery / 嵌套上限等) */
|
|
70
71
|
constructor(options?: QueryBuilderServiceOptions<T>);
|
|
71
72
|
/**
|
|
72
73
|
* 获取当前状态快照
|
|
@@ -99,7 +100,7 @@ export declare class QueryBuilderService<T = Record<string, unknown>> {
|
|
|
99
100
|
/**
|
|
100
101
|
* 添加规则
|
|
101
102
|
*/
|
|
102
|
-
addRule(parentGroupId?: string | null, rule?: Partial<Omit<
|
|
103
|
+
addRule(parentGroupId?: string | null, rule?: Partial<Omit<UIRule, 'id'>>): string;
|
|
103
104
|
/**
|
|
104
105
|
* 添加规则组
|
|
105
106
|
*/
|
|
@@ -107,7 +108,7 @@ export declare class QueryBuilderService<T = Record<string, unknown>> {
|
|
|
107
108
|
/**
|
|
108
109
|
* 更新规则
|
|
109
110
|
*/
|
|
110
|
-
updateRule(ruleId: string, updates: Partial<Omit<
|
|
111
|
+
updateRule(ruleId: string, updates: Partial<Omit<UIRule, 'id'>>): void;
|
|
111
112
|
/**
|
|
112
113
|
* 更新组的组合器
|
|
113
114
|
*/
|
|
@@ -152,11 +153,16 @@ export declare class QueryBuilderService<T = Record<string, unknown>> {
|
|
|
152
153
|
private removeItemFromGroup;
|
|
153
154
|
private getGroupDepth;
|
|
154
155
|
private findItem;
|
|
156
|
+
private findGroup;
|
|
157
|
+
private getGroupHeight;
|
|
155
158
|
private isDescendant;
|
|
156
159
|
private insertItemInGroup;
|
|
157
160
|
}
|
|
158
161
|
/**
|
|
159
162
|
* 创建 QueryBuilderService 实例的工厂函数
|
|
163
|
+
*
|
|
164
|
+
* @param options - 服务选项
|
|
165
|
+
* @returns 新的 QueryBuilderService 实例
|
|
160
166
|
*/
|
|
161
167
|
export declare function createQueryBuilderService<T = Record<string, unknown>>(options?: QueryBuilderServiceOptions<T>): QueryBuilderService<T>;
|
|
162
168
|
//# sourceMappingURL=query-builder.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-builder.service.d.ts","sourceRoot":"","sources":["../../../src/query-builder/services/query-builder.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAgB,SAAS,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EAAmB,UAAU,EAA6B,MAAM,MAAM,CAAC;AAC9E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,KAAK,EACV,aAAa,
|
|
1
|
+
{"version":3,"file":"query-builder.service.d.ts","sourceRoot":"","sources":["../../../src/query-builder/services/query-builder.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { RuleGroup } from '
|
|
1
|
+
import { RuleGroup } from '@aiao/rxdb';
|
|
2
2
|
import { QueryBuilderState } from '../models/query-builder-state.js';
|
|
3
3
|
/**
|
|
4
4
|
* 转换选项
|
|
@@ -18,6 +18,7 @@ export declare class QueryConverter<T = Record<string, unknown>> {
|
|
|
18
18
|
private readonly idGenerator;
|
|
19
19
|
/** 不需要 value 字段的操作符 */
|
|
20
20
|
private readonly noValueOperators;
|
|
21
|
+
/** @param options - 转换器配置 */
|
|
21
22
|
constructor(options?: QueryConverterOptions);
|
|
22
23
|
/**
|
|
23
24
|
* 将 QueryBuilder 状态转换为 RxDB Query
|
|
@@ -67,6 +68,9 @@ export declare class QueryConverter<T = Record<string, unknown>> {
|
|
|
67
68
|
}
|
|
68
69
|
/**
|
|
69
70
|
* 创建 QueryConverter 实例的工厂函数
|
|
71
|
+
*
|
|
72
|
+
* @param options - 转换选项
|
|
73
|
+
* @returns 新的 QueryConverter 实例
|
|
70
74
|
*/
|
|
71
75
|
export declare function createQueryConverter<T = Record<string, unknown>>(options?: QueryConverterOptions): QueryConverter<T>;
|
|
72
76
|
//# sourceMappingURL=query-converter.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-converter.service.d.ts","sourceRoot":"","sources":["../../../src/query-builder/services/query-converter.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAQ,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAA2C,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAInH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,qBAAa,cAAc,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;IAE3C,uBAAuB;IACvB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAuD;
|
|
1
|
+
{"version":3,"file":"query-converter.service.d.ts","sourceRoot":"","sources":["../../../src/query-builder/services/query-converter.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAQ,SAAS,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,KAAK,EAA2C,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAInH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,qBAAa,cAAc,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAe;IAE3C,uBAAuB;IACvB,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAuD;IAExF,6BAA6B;gBACjB,OAAO,GAAE,qBAA0B;IAI/C;;;;;;;;;;;;OAYG;IACH,WAAW,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;IAItD;;;;;;;;;;;OAWG;IACH,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;IASxD;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;CAM5B;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,cAAc,CAAC,CAAC,CAAC,CAEpH"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EntityMetadata } from '
|
|
1
|
+
import { EntityMetadata } from '@aiao/rxdb';
|
|
2
2
|
import { FieldMetadata } from '../models/query-builder-state.js';
|
|
3
3
|
/**
|
|
4
4
|
* 解析器配置选项
|
|
@@ -42,6 +42,7 @@ export interface SchemaParserOptions {
|
|
|
42
42
|
export declare class SchemaParser {
|
|
43
43
|
private readonly options;
|
|
44
44
|
private readonly relationFieldsCache;
|
|
45
|
+
/** @param options - 解析器配置(含关系目标字段递归解析缓存) */
|
|
45
46
|
constructor(options?: SchemaParserOptions);
|
|
46
47
|
/**
|
|
47
48
|
* 从 EntityMetadata 解析字段元数据
|
|
@@ -79,6 +80,9 @@ export declare class SchemaParser {
|
|
|
79
80
|
}
|
|
80
81
|
/**
|
|
81
82
|
* 创建 SchemaParser 实例的工厂函数
|
|
83
|
+
*
|
|
84
|
+
* @param options - 解析器配置选项
|
|
85
|
+
* @returns 新的 SchemaParser 实例
|
|
82
86
|
*/
|
|
83
87
|
export declare function createSchemaParser(options?: SchemaParserOptions): SchemaParser;
|
|
84
88
|
//# sourceMappingURL=schema-parser.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-parser.service.d.ts","sourceRoot":"","sources":["../../../src/query-builder/services/schema-parser.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAA0C,MAAM,YAAY,CAAC;AACzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAqBtE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAEhD;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC;IAEhD;;OAEG;IACH,oBAAoB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;CAC3F;
|
|
1
|
+
{"version":3,"file":"schema-parser.service.d.ts","sourceRoot":"","sources":["../../../src/query-builder/services/schema-parser.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAA0C,MAAM,YAAY,CAAC;AACzF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAqBtE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAEhD;;OAEG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAC;IAEhD;;OAEG;IACH,oBAAoB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC;CAC3F;AA+BD;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAEtB;IAEF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsC;IAE1E,4CAA4C;gBAChC,OAAO,GAAE,mBAAwB;IAW7C;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,QAAQ,EAAE,cAAc,GAAG,aAAa,EAAE;IAwDhD;;;;;OAKG;IACH,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC;IAUjF;;OAEG;IACH,OAAO,CAAC,aAAa;IA8CrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAKvB;;OAEG;IACH,OAAO,CAAC,aAAa;CAsCtB;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAE9E"}
|
|
@@ -1,6 +1,27 @@
|
|
|
1
|
-
import { FieldMetadata, QueryBuilderRule,
|
|
1
|
+
import { FieldMetadata, QueryBuilderRule, UIRule } from '../models/query-builder-state.js';
|
|
2
2
|
import { ValidationResult, ValidationRule } from '../models/validation.interface.js';
|
|
3
3
|
import { OperatorRegistry } from './operator-registry.service.js';
|
|
4
|
+
/**
|
|
5
|
+
* 单条校验规则输入(兼容 QueryBuilderRule 与 UIRule)
|
|
6
|
+
*/
|
|
7
|
+
type ValidationRuleInput = QueryBuilderRule<Record<string, unknown>> | UIRule;
|
|
8
|
+
/**
|
|
9
|
+
* 校验规则组输入(宽松递归结构)
|
|
10
|
+
*/
|
|
11
|
+
export type ValidationGroupInput = {
|
|
12
|
+
/**
|
|
13
|
+
* 规则组唯一标识符
|
|
14
|
+
*/
|
|
15
|
+
id: string;
|
|
16
|
+
/**
|
|
17
|
+
* 逻辑组合符
|
|
18
|
+
*/
|
|
19
|
+
combinator: 'and' | 'or';
|
|
20
|
+
/**
|
|
21
|
+
* 子规则列表(支持嵌套)
|
|
22
|
+
*/
|
|
23
|
+
rules: Array<ValidationRuleInput | ValidationGroupInput>;
|
|
24
|
+
};
|
|
4
25
|
/**
|
|
5
26
|
* 校验服务选项
|
|
6
27
|
*/
|
|
@@ -26,15 +47,16 @@ export interface ValidationServiceOptions {
|
|
|
26
47
|
export declare class ValidationService {
|
|
27
48
|
private readonly rules;
|
|
28
49
|
private readonly operatorRegistry;
|
|
50
|
+
/** @param options - 校验服务配置(自定义规则等) */
|
|
29
51
|
constructor(options?: ValidationServiceOptions);
|
|
30
52
|
/**
|
|
31
53
|
* 校验单条规则
|
|
32
54
|
*/
|
|
33
|
-
validateRule
|
|
55
|
+
validateRule(rule: ValidationRuleInput, field: FieldMetadata): ValidationResult;
|
|
34
56
|
/**
|
|
35
57
|
* 校验整个规则组
|
|
36
58
|
*/
|
|
37
|
-
validateGroup
|
|
59
|
+
validateGroup(group: ValidationGroupInput, fields: Map<string, FieldMetadata>): ValidationResult;
|
|
38
60
|
/**
|
|
39
61
|
* 注册自定义校验规则
|
|
40
62
|
*/
|
|
@@ -62,6 +84,10 @@ export declare class ValidationService {
|
|
|
62
84
|
}
|
|
63
85
|
/**
|
|
64
86
|
* 创建 ValidationService 实例的工厂函数
|
|
87
|
+
*
|
|
88
|
+
* @param options - 校验服务选项
|
|
89
|
+
* @returns 新的 ValidationService 实例
|
|
65
90
|
*/
|
|
66
91
|
export declare function createValidationService(options?: ValidationServiceOptions): ValidationService;
|
|
92
|
+
export {};
|
|
67
93
|
//# sourceMappingURL=validation.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.service.d.ts","sourceRoot":"","sources":["../../../src/query-builder/services/validation.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"validation.service.d.ts","sourceRoot":"","sources":["../../../src/query-builder/services/validation.service.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAyB,MAAM,EAAE,MAAM,kCAAkC,CAAC;AACvH,OAAO,KAAK,EAGV,gBAAgB,EAChB,cAAc,EACf,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAA8B,MAAM,gCAAgC,CAAC;AAE9F;;GAEG;AACH,KAAK,mBAAmB,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC;AAE9E;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,UAAU,EAAE,KAAK,GAAG,IAAI,CAAC;IAEzB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC,mBAAmB,GAAG,oBAAoB,CAAC,CAAC;CAC1D,CAAC;AAkBF;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC;;OAEG;IACH,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAE/B;;OAEG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAiBD;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;IACpD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAmB;IAEpD,sCAAsC;gBAC1B,OAAO,GAAE,wBAA6B;IAalD;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,aAAa,GAAG,gBAAgB;IA8F/E;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,gBAAgB;IAiChG;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAIxC;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIrC;;OAEG;IACH,QAAQ,IAAI,cAAc,EAAE;IAI5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoDzB;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;CAgD9B;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,iBAAiB,CAE7F"}
|
|
@@ -1,3 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 将日期格式化为 YYYY-MM-DD 字符串。
|
|
3
|
+
*
|
|
4
|
+
* @param date 要格式化的日期(Date 对象或可解析的日期字符串)
|
|
5
|
+
* @returns YYYY-MM-DD 格式的日期字符串;输入为空值或无法解析时返回空字符串
|
|
6
|
+
*/
|
|
1
7
|
export declare function formatDateToYmd(date: Date | string | null | undefined): string;
|
|
8
|
+
/**
|
|
9
|
+
* 将 YYYY-MM-DD 字符串解析为本地时区的 Date。
|
|
10
|
+
*
|
|
11
|
+
* @param ymd YYYY-MM-DD 格式的日期字符串
|
|
12
|
+
* @returns 本地时区当天 00:00:00 的 Date 对象;输入为空、段数不为 3 或任一段 parseInt 结果为 NaN 时返回 null
|
|
13
|
+
*/
|
|
2
14
|
export declare function parseYmdToLocalDate(ymd: string | null | undefined): Date | null;
|
|
3
15
|
//# sourceMappingURL=date.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../src/query-builder/utils/date.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAQ9E;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAY/E"}
|
|
1
|
+
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../src/query-builder/utils/date.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAQ9E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,CAY/E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-tree.d.ts","sourceRoot":"","sources":["../../../src/query-builder/utils/field-tree.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"field-tree.d.ts","sourceRoot":"","sources":["../../../src/query-builder/utils/field-tree.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAcpF;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,cAAc;IACd,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,cAAc;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU;IACV,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU;IACV,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,iCAAiC;IACjC,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,gCAAgC;IAChC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oCAAoC;IACpC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAoHvE;AAoDD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,aAAa,EAAE,EACtB,SAAS,SAAQ,EACjB,MAAM,SAAK,GACV,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAIzC;AAmBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAWhG;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAcpF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,SAAK,GAAG,MAAM,EAAE,CAE9D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAyB/E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../../src/query-builder/utils/id.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH
|
|
1
|
+
{"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../../src/query-builder/utils/id.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;;;GAKG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC"}
|
|
@@ -1,21 +1,29 @@
|
|
|
1
|
-
import { EntityMetadata, EntityRelationMetadata, KeyValuePropertyMetadata, PropertyType } from '
|
|
1
|
+
import { EntityMetadata, EntityRelationMetadata, KeyValuePropertyMetadata, PropertyType } from '@aiao/rxdb';
|
|
2
2
|
import { FieldMetadata, PropertyType as QBPropertyType } from '../models/query-builder-state.js';
|
|
3
3
|
/**
|
|
4
4
|
* 模型信息接口
|
|
5
5
|
*/
|
|
6
6
|
export interface ModelInfo {
|
|
7
|
+
/** 实体名称 */
|
|
7
8
|
name: string;
|
|
9
|
+
/** 实体显示名称 */
|
|
8
10
|
displayName: string;
|
|
9
|
-
|
|
11
|
+
/** 实体类构造函数 */
|
|
12
|
+
entityClass: new (...args: never[]) => unknown;
|
|
13
|
+
/** RxDB 实体元数据 */
|
|
10
14
|
metadata: EntityMetadata;
|
|
11
15
|
}
|
|
12
16
|
/**
|
|
13
17
|
* 查询示例接口
|
|
14
18
|
*/
|
|
15
19
|
export interface QueryExample {
|
|
20
|
+
/** 示例名称 */
|
|
16
21
|
name: string;
|
|
22
|
+
/** 示例描述 */
|
|
17
23
|
description: string;
|
|
24
|
+
/** 示例对应的模型名称 */
|
|
18
25
|
modelName: string;
|
|
26
|
+
/** 示例查询内容(结构由具体模型决定) */
|
|
19
27
|
query: unknown;
|
|
20
28
|
}
|
|
21
29
|
/**
|
|
@@ -114,6 +122,9 @@ export declare function extractFieldsFromMetadata(metadata: EntityMetadata, allM
|
|
|
114
122
|
export declare function extractRelationTargetFields(metadata: EntityMetadata, config?: FieldExtractorConfig): FieldMetadata[];
|
|
115
123
|
/**
|
|
116
124
|
* 从 keyValue 属性的 properties 提取子字段列表
|
|
125
|
+
*
|
|
126
|
+
* @param properties keyValue 属性的子属性元数据列表
|
|
127
|
+
* @returns 子字段元数据列表
|
|
117
128
|
*/
|
|
118
129
|
export declare function extractKeyValueFields(properties: KeyValuePropertyMetadata[]): FieldMetadata[];
|
|
119
130
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metadata-field-extractor.d.ts","sourceRoot":"","sources":["../../../src/query-builder/utils/metadata-field-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACnG,OAAO,EAAE,YAAY,EAAgB,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEtG;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IAEpB,WAAW,EAAE,KAAK,GAAG,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"metadata-field-extractor.d.ts","sourceRoot":"","sources":["../../../src/query-builder/utils/metadata-field-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACnG,OAAO,EAAE,YAAY,EAAgB,MAAM,YAAY,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAEtG;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,aAAa;IACb,WAAW,EAAE,MAAM,CAAC;IAEpB,cAAc;IACd,WAAW,EAAE,KAAK,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC;IAC/C,iBAAiB;IACjB,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB;IACxB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,kBAAkB;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAYD;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,cAAc,CAyBlE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,MAAM,EAAE,CAKhF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,cAAc,EACxB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,MAAM,GAAE,oBAAyB,GAChC,aAAa,EAAE,CAEjB;AAyJD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,cAAc,EACxB,MAAM,GAAE,oBAAyB,GAChC,aAAa,EAAE,CAmDjB;AAmBD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,wBAAwB,EAAE,GAAG,aAAa,EAAE,CAQ7F;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,aAAa,EAAE,CAcvE"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* @param triggerRect 触发按钮的 DOMRect
|
|
5
5
|
* @param gap 触发元素与弹出层之间的间距(单位 px,默认 2)
|
|
6
6
|
* @param minSpaceBelow 判断下方空间是否充足的阈值(单位 px,默认 120)
|
|
7
|
+
* @returns 弹出层定位信息:left、minWidth,以及 top(下方展示)或 bottom(上方展示)
|
|
7
8
|
*/
|
|
8
9
|
export declare function calcPopoverPosition(triggerRect: DOMRect, gap?: number, minSpaceBelow?: number): {
|
|
9
10
|
left: number;
|
|
@@ -13,10 +14,20 @@ export declare function calcPopoverPosition(triggerRect: DOMRect, gap?: number,
|
|
|
13
14
|
};
|
|
14
15
|
/**
|
|
15
16
|
* 将 calcPopoverPosition 的结果直接应用到弹出层 DOM 元素。
|
|
17
|
+
*
|
|
18
|
+
* @param el 弹出层 DOM 元素
|
|
19
|
+
* @param triggerRect 触发按钮的 DOMRect
|
|
20
|
+
* @param gap 触发元素与弹出层之间的间距(单位 px,默认 2)
|
|
21
|
+
* @param minSpaceBelow 判断下方空间是否充足的阈值(单位 px,默认 120)
|
|
16
22
|
*/
|
|
17
23
|
export declare function applyPopoverPosition(el: HTMLElement, triggerRect: DOMRect, gap?: number, minSpaceBelow?: number): void;
|
|
18
24
|
/**
|
|
19
25
|
* 在弹出层选项列表中查找匹配项的 label。
|
|
26
|
+
*
|
|
27
|
+
* @param options 选项列表(value 为选中值、label 为显示文本)
|
|
28
|
+
* @param selected 当前选中的 value
|
|
29
|
+
* @param placeholder 未找到匹配项时返回的占位文本
|
|
30
|
+
* @returns 匹配项的 label;未找到时返回 placeholder
|
|
20
31
|
*/
|
|
21
32
|
export declare function findOptionLabel(options: ReadonlyArray<{
|
|
22
33
|
value: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popover-position.d.ts","sourceRoot":"","sources":["../../../src/query-builder/utils/popover-position.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"popover-position.d.ts","sourceRoot":"","sources":["../../../src/query-builder/utils/popover-position.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,OAAO,EACpB,GAAG,SAAI,EACP,aAAa,SAAM,GAClB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAMnE;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,SAAI,EAAE,aAAa,SAAM,GAAG,IAAI,CAkB9G;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,aAAa,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,EACxD,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,CAER"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structural-equal.d.ts","sourceRoot":"","sources":["../../../src/query-builder/utils/structural-equal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"structural-equal.d.ts","sourceRoot":"","sources":["../../../src/query-builder/utils/structural-equal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC"}
|
|
@@ -1,11 +1,31 @@
|
|
|
1
1
|
import { UUID_RE } from '../../entity-value.utils.js';
|
|
2
2
|
import { OperatorRegistry } from '../services/operator-registry.service.js';
|
|
3
|
+
/** 标准 UUID 格式正则(8-4-4-4-12 十六进制,忽略大小写),重新导出供校验使用 */
|
|
3
4
|
export { UUID_RE };
|
|
5
|
+
/**
|
|
6
|
+
* 根据字段类型和运算符确定查询条件值的输入控件类型。
|
|
7
|
+
*
|
|
8
|
+
* @param fieldType 字段类型(如 'string'、'number'、'date'、'enum' 等)
|
|
9
|
+
* @param operator 运算符 key(如 'between'、'in'、'null' 等)
|
|
10
|
+
* @param enumOptions 字段的枚举选项列表
|
|
11
|
+
* @param operatorRegistry 运算符注册表(默认使用全局默认注册表)
|
|
12
|
+
* @returns 输入控件类型标识(如 'string'、'number'、'boolean'、'date'、'range'、'array'、'enum'、'enum-array'、'subquery'、'uuid'、'none')
|
|
13
|
+
*/
|
|
4
14
|
export declare function getInputType(fieldType: string, operator: string, enumOptions?: unknown[], operatorRegistry?: OperatorRegistry): string;
|
|
15
|
+
/**
|
|
16
|
+
* 返回指定输入控件类型的默认值。
|
|
17
|
+
*
|
|
18
|
+
* @param type 输入控件类型(getInputType 的返回值)
|
|
19
|
+
* @returns 对应类型的默认值:boolean 为 false、range/array/enum-array 为 []、subquery 为 undefined、none/number/date 为 null、其余为 ''
|
|
20
|
+
*/
|
|
5
21
|
export declare function getDefaultValueForType(type: string): unknown;
|
|
6
22
|
/**
|
|
7
23
|
* 将逗号分隔的字符串解析为数组。
|
|
8
24
|
* 当 fieldType 为 'number' 时返回数字数组,否则返回字符串数组。
|
|
25
|
+
*
|
|
26
|
+
* @param text 逗号分隔的字符串
|
|
27
|
+
* @param fieldType 字段类型;为 'number' 时各项解析为数字并过滤无效值
|
|
28
|
+
* @returns 解析后的数组(空白项被过滤)
|
|
9
29
|
*/
|
|
10
30
|
export declare function parseCommaSeparatedInput(text: string, fieldType: string): unknown[];
|
|
11
31
|
//# sourceMappingURL=value-input.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"value-input.d.ts","sourceRoot":"","sources":["../../../src/query-builder/utils/value-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAGtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAGjF,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,OAAO,EAAE,EACvB,gBAAgB,GAAE,gBAA+C,GAChE,MAAM,CAiCR;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAqB5D;AAED
|
|
1
|
+
{"version":3,"file":"value-input.d.ts","sourceRoot":"","sources":["../../../src/query-builder/utils/value-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAGtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAGjF,oDAAoD;AACpD,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,WAAW,CAAC,EAAE,OAAO,EAAE,EACvB,gBAAgB,GAAE,gBAA+C,GAChE,MAAM,CAiCR;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAqB5D;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,EAAE,CASnF"}
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
* 结构化深比较,替代 JSON.stringify 比较。
|
|
3
3
|
* 递归比较对象和数组,不依赖 key 序列化顺序。
|
|
4
4
|
* 支持循环引用检测,避免无限递归。
|
|
5
|
+
* @param a - 参与比较的第一个值
|
|
6
|
+
* @param b - 参与比较的第二个值
|
|
7
|
+
* @param seen - 已访问的对象集合,用于循环引用检测
|
|
8
|
+
* @returns 两者结构相等时返回 true
|
|
5
9
|
*/
|
|
6
|
-
export declare function structuralEqual(a: unknown, b: unknown
|
|
10
|
+
export declare function structuralEqual(a: unknown, b: unknown): boolean;
|
|
7
11
|
//# sourceMappingURL=structural-equal.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structural-equal.d.ts","sourceRoot":"","sources":["../src/structural-equal.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"structural-equal.d.ts","sourceRoot":"","sources":["../src/structural-equal.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,OAAO,CAE/D"}
|