@aiao/rxdb-model 0.0.18 → 0.0.26

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.
Files changed (181) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +43 -6
  3. package/dist/cn.d.ts +19 -0
  4. package/dist/cn.d.ts.map +1 -0
  5. package/dist/entity-capabilities.d.ts +31 -0
  6. package/dist/entity-capabilities.d.ts.map +1 -0
  7. package/dist/entity-detail/detail-tabs.d.ts +13 -2
  8. package/dist/entity-detail/detail-tabs.d.ts.map +1 -1
  9. package/dist/entity-detail/index.d.ts +5 -0
  10. package/dist/entity-detail/index.d.ts.map +1 -1
  11. package/dist/entity-detail/interfaces.d.ts +29 -1
  12. package/dist/entity-detail/interfaces.d.ts.map +1 -1
  13. package/dist/entity-field.utils.d.ts +60 -2
  14. package/dist/entity-field.utils.d.ts.map +1 -1
  15. package/dist/entity-form/form-data.d.ts +22 -1
  16. package/dist/entity-form/form-data.d.ts.map +1 -1
  17. package/dist/entity-form/form-fields.d.ts +25 -2
  18. package/dist/entity-form/form-fields.d.ts.map +1 -1
  19. package/dist/entity-form/form-validation.d.ts +20 -2
  20. package/dist/entity-form/form-validation.d.ts.map +1 -1
  21. package/dist/entity-form/index.d.ts +5 -0
  22. package/dist/entity-form/index.d.ts.map +1 -1
  23. package/dist/entity-form/interfaces.d.ts +65 -1
  24. package/dist/entity-form/interfaces.d.ts.map +1 -1
  25. package/dist/entity-list/manual-order-list.d.ts +99 -0
  26. package/dist/entity-list/manual-order-list.d.ts.map +1 -0
  27. package/dist/entity-table/columns/build-editable-columns.d.ts +26 -4
  28. package/dist/entity-table/columns/build-editable-columns.d.ts.map +1 -1
  29. package/dist/entity-table/columns/column-utils.d.ts +78 -12
  30. package/dist/entity-table/columns/column-utils.d.ts.map +1 -1
  31. package/dist/entity-table/editors/color-editor.d.ts +23 -0
  32. package/dist/entity-table/editors/color-editor.d.ts.map +1 -0
  33. package/dist/entity-table/editors/date-editor.d.ts +6 -1
  34. package/dist/entity-table/editors/date-editor.d.ts.map +1 -1
  35. package/dist/entity-table/editors/enum-editor.d.ts +11 -1
  36. package/dist/entity-table/editors/enum-editor.d.ts.map +1 -1
  37. package/dist/entity-table/editors/global-overlay-editor.d.ts +27 -4
  38. package/dist/entity-table/editors/global-overlay-editor.d.ts.map +1 -1
  39. package/dist/entity-table/editors/icon-list-editor.d.ts +13 -1
  40. package/dist/entity-table/editors/icon-list-editor.d.ts.map +1 -1
  41. package/dist/entity-table/editors/json-editor.d.ts +6 -1
  42. package/dist/entity-table/editors/json-editor.d.ts.map +1 -1
  43. package/dist/entity-table/editors/key-value-editor.d.ts +12 -2
  44. package/dist/entity-table/editors/key-value-editor.d.ts.map +1 -1
  45. package/dist/entity-table/editors/lucide-svg.d.ts +3 -2
  46. package/dist/entity-table/editors/lucide-svg.d.ts.map +1 -1
  47. package/dist/entity-table/editors/multiselect-editor.d.ts +24 -6
  48. package/dist/entity-table/editors/multiselect-editor.d.ts.map +1 -1
  49. package/dist/entity-table/editors/number-editor.d.ts +33 -3
  50. package/dist/entity-table/editors/number-editor.d.ts.map +1 -1
  51. package/dist/entity-table/editors/relation-editor.d.ts +14 -2
  52. package/dist/entity-table/editors/relation-editor.d.ts.map +1 -1
  53. package/dist/entity-table/editors/safe-list-editor.d.ts +1 -0
  54. package/dist/entity-table/editors/safe-list-editor.d.ts.map +1 -1
  55. package/dist/entity-table/editors/tags-editor.d.ts +12 -1
  56. package/dist/entity-table/editors/tags-editor.d.ts.map +1 -1
  57. package/dist/entity-table/editors/text-format-editor.d.ts +32 -0
  58. package/dist/entity-table/editors/text-format-editor.d.ts.map +1 -0
  59. package/dist/entity-table/editors/uuid-editor.d.ts +14 -1
  60. package/dist/entity-table/editors/uuid-editor.d.ts.map +1 -1
  61. package/dist/entity-table/index.d.ts +13 -3
  62. package/dist/entity-table/index.d.ts.map +1 -1
  63. package/dist/entity-table/interfaces.d.ts +13 -0
  64. package/dist/entity-table/interfaces.d.ts.map +1 -1
  65. package/dist/entity-table/vtable/table-clipboard.d.ts +31 -2
  66. package/dist/entity-table/vtable/table-clipboard.d.ts.map +1 -1
  67. package/dist/entity-table/vtable/table-factory.d.ts +25 -5
  68. package/dist/entity-table/vtable/table-factory.d.ts.map +1 -1
  69. package/dist/entity-table/vtable/table-keyboard.d.ts +18 -1
  70. package/dist/entity-table/vtable/table-keyboard.d.ts.map +1 -1
  71. package/dist/entity-table/vtable/table-operations.d.ts +44 -3
  72. package/dist/entity-table/vtable/table-operations.d.ts.map +1 -1
  73. package/dist/entity-table/vtable/table-row-move.d.ts +88 -0
  74. package/dist/entity-table/vtable/table-row-move.d.ts.map +1 -0
  75. package/dist/entity-table/vtable/table-theme.d.ts +47 -2
  76. package/dist/entity-table/vtable/table-theme.d.ts.map +1 -1
  77. package/dist/entity-table/vtable/table-tooltip.d.ts +7 -1
  78. package/dist/entity-table/vtable/table-tooltip.d.ts.map +1 -1
  79. package/dist/entity-table/vtable/vtable-compat.d.ts +33 -5
  80. package/dist/entity-table/vtable/vtable-compat.d.ts.map +1 -1
  81. package/dist/entity-value.utils.d.ts +50 -2
  82. package/dist/entity-value.utils.d.ts.map +1 -1
  83. package/dist/index.d.ts +9 -0
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/index.js +4392 -64471
  86. package/dist/query-builder/models/config.interface.d.ts +2 -2
  87. package/dist/query-builder/models/operator.interface.d.ts +6 -2
  88. package/dist/query-builder/models/operator.interface.d.ts.map +1 -1
  89. package/dist/query-builder/models/query-builder-state.d.ts +31 -2
  90. package/dist/query-builder/models/query-builder-state.d.ts.map +1 -1
  91. package/dist/query-builder/models/validation.interface.d.ts +2 -2
  92. package/dist/query-builder/services/operator-registry.service.d.ts +13 -3
  93. package/dist/query-builder/services/operator-registry.service.d.ts.map +1 -1
  94. package/dist/query-builder/services/query-builder.service.d.ts +16 -6
  95. package/dist/query-builder/services/query-builder.service.d.ts.map +1 -1
  96. package/dist/query-builder/services/query-converter.service.d.ts +10 -2
  97. package/dist/query-builder/services/query-converter.service.d.ts.map +1 -1
  98. package/dist/query-builder/services/schema-parser.service.d.ts +10 -2
  99. package/dist/query-builder/services/schema-parser.service.d.ts.map +1 -1
  100. package/dist/query-builder/services/validation.service.d.ts +34 -4
  101. package/dist/query-builder/services/validation.service.d.ts.map +1 -1
  102. package/dist/query-builder/utils/date.d.ts +12 -0
  103. package/dist/query-builder/utils/date.d.ts.map +1 -1
  104. package/dist/query-builder/utils/field-tree.d.ts +7 -1
  105. package/dist/query-builder/utils/field-tree.d.ts.map +1 -1
  106. package/dist/query-builder/utils/id.d.ts +2 -0
  107. package/dist/query-builder/utils/id.d.ts.map +1 -1
  108. package/dist/query-builder/utils/metadata-field-extractor.d.ts +15 -3
  109. package/dist/query-builder/utils/metadata-field-extractor.d.ts.map +1 -1
  110. package/dist/query-builder/utils/popover-position.d.ts +11 -0
  111. package/dist/query-builder/utils/popover-position.d.ts.map +1 -1
  112. package/dist/query-builder/utils/schema-factory.d.ts +7 -3
  113. package/dist/query-builder/utils/structural-equal.d.ts +4 -0
  114. package/dist/query-builder/utils/structural-equal.d.ts.map +1 -1
  115. package/dist/query-builder/utils/value-input.d.ts +21 -1
  116. package/dist/query-builder/utils/value-input.d.ts.map +1 -1
  117. package/dist/structural-equal.d.ts +5 -1
  118. package/dist/structural-equal.d.ts.map +1 -1
  119. package/package.json +34 -10
  120. package/src/cn.ts +21 -0
  121. package/src/entity-capabilities.ts +37 -0
  122. package/src/entity-detail/detail-tabs.ts +48 -0
  123. package/src/entity-detail/index.ts +7 -0
  124. package/src/entity-detail/interfaces.ts +55 -0
  125. package/src/entity-field.utils.ts +205 -0
  126. package/src/entity-form/form-data.ts +83 -0
  127. package/src/entity-form/form-fields.ts +48 -0
  128. package/src/entity-form/form-validation.ts +34 -0
  129. package/src/entity-form/index.ts +9 -0
  130. package/src/entity-form/interfaces.ts +116 -0
  131. package/src/entity-list/manual-order-list.ts +159 -0
  132. package/src/entity-table/columns/build-editable-columns.ts +184 -0
  133. package/src/entity-table/columns/column-utils.ts +657 -0
  134. package/src/entity-table/editors/color-editor.ts +239 -0
  135. package/src/entity-table/editors/date-editor.ts +169 -0
  136. package/src/entity-table/editors/enum-editor.ts +167 -0
  137. package/src/entity-table/editors/global-overlay-editor.ts +277 -0
  138. package/src/entity-table/editors/icon-list-editor.ts +130 -0
  139. package/src/entity-table/editors/json-editor.ts +212 -0
  140. package/src/entity-table/editors/key-value-editor.ts +595 -0
  141. package/src/entity-table/editors/lucide-svg.ts +78 -0
  142. package/src/entity-table/editors/multiselect-editor.ts +171 -0
  143. package/src/entity-table/editors/number-editor.ts +322 -0
  144. package/src/entity-table/editors/relation-editor.ts +316 -0
  145. package/src/entity-table/editors/safe-list-editor.ts +17 -0
  146. package/src/entity-table/editors/tags-editor.ts +239 -0
  147. package/src/entity-table/editors/text-format-editor.ts +220 -0
  148. package/src/entity-table/editors/uuid-editor.ts +198 -0
  149. package/src/entity-table/index.ts +96 -0
  150. package/src/entity-table/interfaces.ts +72 -0
  151. package/src/entity-table/vtable/table-clipboard.ts +419 -0
  152. package/src/entity-table/vtable/table-factory.ts +117 -0
  153. package/src/entity-table/vtable/table-keyboard.ts +89 -0
  154. package/src/entity-table/vtable/table-operations.ts +123 -0
  155. package/src/entity-table/vtable/table-row-move.ts +122 -0
  156. package/src/entity-table/vtable/table-theme.ts +181 -0
  157. package/src/entity-table/vtable/table-tooltip.ts +70 -0
  158. package/src/entity-table/vtable/vtable-compat.ts +84 -0
  159. package/src/entity-value.utils.ts +456 -0
  160. package/src/index.ts +57 -0
  161. package/src/query-builder/models/config.interface.ts +31 -0
  162. package/src/query-builder/models/index.ts +8 -0
  163. package/src/query-builder/models/operator.interface.ts +191 -0
  164. package/src/query-builder/models/query-builder-state.ts +222 -0
  165. package/src/query-builder/models/validation.interface.ts +184 -0
  166. package/src/query-builder/services/index.ts +9 -0
  167. package/src/query-builder/services/operator-registry.service.ts +243 -0
  168. package/src/query-builder/services/query-builder.service.ts +568 -0
  169. package/src/query-builder/services/query-converter.service.ts +153 -0
  170. package/src/query-builder/services/schema-parser.service.ts +309 -0
  171. package/src/query-builder/services/validation.service.ts +390 -0
  172. package/src/query-builder/utils/date.ts +35 -0
  173. package/src/query-builder/utils/field-tree.ts +400 -0
  174. package/src/query-builder/utils/id.ts +15 -0
  175. package/src/query-builder/utils/index.ts +12 -0
  176. package/src/query-builder/utils/metadata-field-extractor.ts +460 -0
  177. package/src/query-builder/utils/popover-position.ts +59 -0
  178. package/src/query-builder/utils/schema-factory.ts +75 -0
  179. package/src/query-builder/utils/structural-equal.ts +5 -0
  180. package/src/query-builder/utils/value-input.ts +105 -0
  181. package/src/structural-equal.ts +49 -0
@@ -1,5 +1,5 @@
1
- import { OperatorDefinition } from './operator.interface.js';
2
- import { QueryBuilderRuleGroup, SchemaInfo } from './query-builder-state.js';
1
+ import type { OperatorDefinition } from './operator.interface.js';
2
+ import type { QueryBuilderRuleGroup, SchemaInfo } from './query-builder-state.js';
3
3
  /**
4
4
  * 查询构建器配置
5
5
  */
@@ -1,5 +1,5 @@
1
- import { OperatorName } from '../../../packages/rxdb/src/index.ts';
2
- import { PropertyType } from './query-builder-state.js';
1
+ import type { OperatorName } from '@aiao/rxdb';
2
+ import type { PropertyType } from './query-builder-state.js';
3
3
  /**
4
4
  * 操作符定义
5
5
  * 包含操作符的元数据和约束
@@ -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;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,YAAY,EAClB,SAAS,GAAE,kBAAkB,EAAsB,GAClD,kBAAkB,EAAE,CAEtB"}
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 '../../../packages/rxdb/src/index.ts';
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>> = Rule<T> & {
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;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;OAEG;IACH,KAAK,CAAC,EAAE,qBAAqB,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACxD;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG;IACpE;;;OAGG;IACH,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAChE;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,UAAU,EAAE,KAAK,GAAG,IAAI,CAAC;IAEzB;;OAEG;IACH,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5D;;OAEG;IACH,SAAS,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,MAAM,EAAE,aAAa,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,IAAI,EAAE,YAAY,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IAE7C;;OAEG;IACH,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IAEjC;;OAEG;IACH,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GACpB,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,SAAS,GACT,MAAM,GACN,OAAO,GACP,QAAQ,GACR,UAAU,GACV,MAAM,GACN,UAAU,CAAC;AAEf;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,qBAAqB,CAAC,CAAC,CAAC,CAErH;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,qBAAqB,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAE3G;AAED,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,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,5 +1,5 @@
1
- import { OperatorName } from '../../../packages/rxdb/src/index.ts';
2
- import { PropertyType } from './query-builder-state.js';
1
+ import type { OperatorName } from '@aiao/rxdb';
2
+ import type { PropertyType } from './query-builder-state.js';
3
3
  /**
4
4
  * 验证规则
5
5
  */
@@ -1,6 +1,10 @@
1
- import { OperatorName } from '../../../packages/rxdb/src/index.ts';
2
- import { OperatorDefinition } from '../models/operator.interface.js';
3
- import { FieldMetadata, PropertyType } from '../models/query-builder-state.js';
1
+ /**
2
+ * @fileoverview 操作符注册表服务
3
+ * 管理操作符的注册、查询和类型过滤
4
+ */
5
+ import type { OperatorName } from '@aiao/rxdb';
6
+ import { type OperatorDefinition } from '../models/operator.interface.js';
7
+ import type { FieldMetadata, PropertyType } from '../models/query-builder-state.js';
4
8
  /**
5
9
  * 操作符注册表选项
6
10
  */
@@ -26,6 +30,7 @@ export declare class OperatorRegistry {
26
30
  * 获取操作符数量
27
31
  */
28
32
  get size(): number;
33
+ /** @param options - 初始注册的操作符集合 */
29
34
  constructor(options?: OperatorRegistryOptions);
30
35
  /**
31
36
  * 注册新操作符
@@ -123,10 +128,15 @@ export declare class OperatorRegistry {
123
128
  }
124
129
  /**
125
130
  * 创建 OperatorRegistry 实例的工厂函数
131
+ *
132
+ * @param options - 操作符注册表选项
133
+ * @returns 新的 OperatorRegistry 实例
126
134
  */
127
135
  export declare function createOperatorRegistry(options?: OperatorRegistryOptions): OperatorRegistry;
128
136
  /**
129
137
  * 获取默认操作符注册表
138
+ *
139
+ * @returns 全局共享的默认 OperatorRegistry 实例(懒初始化)
130
140
  */
131
141
  export declare function getDefaultOperatorRegistry(): OperatorRegistry;
132
142
  //# 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;gBAEW,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;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,uBAAuB,GAAG,gBAAgB,CAE1F;AAOD;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,gBAAgB,CAK7D"}
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,8 +1,12 @@
1
- import { RuleGroup } from '../../../packages/rxdb/src/index.ts';
1
+ /**
2
+ * @fileoverview QueryBuilder 核心服务
3
+ * 提供 RxJS 响应式状态管理,支持规则增删改和双向转换
4
+ */
5
+ import type { RuleGroup } from '@aiao/rxdb';
2
6
  import { Observable } from 'rxjs';
3
- import { QueryBuilderConfig } from '../models/config.interface.js';
4
- import { FieldMetadata, QueryBuilderRule, QueryBuilderRuleGroup, QueryBuilderState } from '../models/query-builder-state.js';
5
- import { ValidationResult } from '../models/validation.interface.js';
7
+ import type { QueryBuilderConfig } from '../models/config.interface.js';
8
+ import type { FieldMetadata, QueryBuilderRuleGroup, QueryBuilderState, UIRule } from '../models/query-builder-state.js';
9
+ import type { ValidationResult } from '../models/validation.interface.js';
6
10
  import { OperatorRegistry } from './operator-registry.service.js';
7
11
  import { QueryConverter } from './query-converter.service.js';
8
12
  import { ValidationService } from './validation.service.js';
@@ -67,6 +71,7 @@ export declare class QueryBuilderService<T = Record<string, unknown>> {
67
71
  * RxDB Query 格式的 Observable
68
72
  */
69
73
  readonly query$: Observable<RuleGroup<T>>;
74
+ /** @param options - 查询构建器配置(schema / initialQuery / 嵌套上限等) */
70
75
  constructor(options?: QueryBuilderServiceOptions<T>);
71
76
  /**
72
77
  * 获取当前状态快照
@@ -99,7 +104,7 @@ export declare class QueryBuilderService<T = Record<string, unknown>> {
99
104
  /**
100
105
  * 添加规则
101
106
  */
102
- addRule(parentGroupId?: string | null, rule?: Partial<Omit<QueryBuilderRule<T>, 'id'>>): string;
107
+ addRule(parentGroupId?: string | null, rule?: Partial<Omit<UIRule, 'id'>>): string;
103
108
  /**
104
109
  * 添加规则组
105
110
  */
@@ -107,7 +112,7 @@ export declare class QueryBuilderService<T = Record<string, unknown>> {
107
112
  /**
108
113
  * 更新规则
109
114
  */
110
- updateRule(ruleId: string, updates: Partial<Omit<QueryBuilderRule<T>, 'id'>>): void;
115
+ updateRule(ruleId: string, updates: Partial<Omit<UIRule, 'id'>>): void;
111
116
  /**
112
117
  * 更新组的组合器
113
118
  */
@@ -152,11 +157,16 @@ export declare class QueryBuilderService<T = Record<string, unknown>> {
152
157
  private removeItemFromGroup;
153
158
  private getGroupDepth;
154
159
  private findItem;
160
+ private findGroup;
161
+ private getGroupHeight;
155
162
  private isDescendant;
156
163
  private insertItemInGroup;
157
164
  }
158
165
  /**
159
166
  * 创建 QueryBuilderService 实例的工厂函数
167
+ *
168
+ * @param options - 服务选项
169
+ * @returns 新的 QueryBuilderService 实例
160
170
  */
161
171
  export declare function createQueryBuilderService<T = Record<string, unknown>>(options?: QueryBuilderServiceOptions<T>): QueryBuilderService<T>;
162
172
  //# 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":"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"}
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,5 +1,9 @@
1
- import { RuleGroup } from '../../../packages/rxdb/src/index.ts';
2
- import { QueryBuilderState } from '../models/query-builder-state.js';
1
+ /**
2
+ * @fileoverview Query 转换服务
3
+ * 在 QueryBuilder 状态和 RxDB Query 之间进行双向转换
4
+ */
5
+ import type { RuleGroup } from '@aiao/rxdb';
6
+ import type { QueryBuilderState } from '../models/query-builder-state.js';
3
7
  /**
4
8
  * 转换选项
5
9
  */
@@ -18,6 +22,7 @@ export declare class QueryConverter<T = Record<string, unknown>> {
18
22
  private readonly idGenerator;
19
23
  /** 不需要 value 字段的操作符 */
20
24
  private readonly noValueOperators;
25
+ /** @param options - 转换器配置 */
21
26
  constructor(options?: QueryConverterOptions);
22
27
  /**
23
28
  * 将 QueryBuilder 状态转换为 RxDB Query
@@ -67,6 +72,9 @@ export declare class QueryConverter<T = Record<string, unknown>> {
67
72
  }
68
73
  /**
69
74
  * 创建 QueryConverter 实例的工厂函数
75
+ *
76
+ * @param options - 转换选项
77
+ * @returns 新的 QueryConverter 实例
70
78
  */
71
79
  export declare function createQueryConverter<T = Record<string, unknown>>(options?: QueryConverterOptions): QueryConverter<T>;
72
80
  //# 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;gBAE5E,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;IASzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;CAM5B;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,cAAc,CAAC,CAAC,CAAC,CAEpH"}
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,5 +1,9 @@
1
- import { EntityMetadata } from '../../../packages/rxdb/src/index.ts';
2
- import { FieldMetadata } from '../models/query-builder-state.js';
1
+ /**
2
+ * @fileoverview Schema 解析服务
3
+ * 从 EntityMetadata 解析字段元数据,用于 QueryBuilder 组件
4
+ */
5
+ import type { EntityMetadata } from '@aiao/rxdb';
6
+ import type { FieldMetadata } from '../models/query-builder-state.js';
3
7
  /**
4
8
  * 解析器配置选项
5
9
  */
@@ -42,6 +46,7 @@ export interface SchemaParserOptions {
42
46
  export declare class SchemaParser {
43
47
  private readonly options;
44
48
  private readonly relationFieldsCache;
49
+ /** @param options - 解析器配置(含关系目标字段递归解析缓存) */
45
50
  constructor(options?: SchemaParserOptions);
46
51
  /**
47
52
  * 从 EntityMetadata 解析字段元数据
@@ -79,6 +84,9 @@ export declare class SchemaParser {
79
84
  }
80
85
  /**
81
86
  * 创建 SchemaParser 实例的工厂函数
87
+ *
88
+ * @param options - 解析器配置选项
89
+ * @returns 新的 SchemaParser 实例
82
90
  */
83
91
  export declare function createSchemaParser(options?: SchemaParserOptions): SchemaParser;
84
92
  //# 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;AA4BD;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAEtB;IAEF,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAsC;gBAE9D,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;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,YAAY,CAE9E"}
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;AA4BD;;;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,31 @@
1
- import { FieldMetadata, QueryBuilderRule, QueryBuilderRuleGroup } from '../models/query-builder-state.js';
2
- import { ValidationResult, ValidationRule } from '../models/validation.interface.js';
1
+ /**
2
+ * @fileoverview 校验服务
3
+ * 提供规则值的即时校验功能
4
+ */
5
+ import type { FieldMetadata, QueryBuilderRule, UIRule } from '../models/query-builder-state.js';
6
+ import type { ValidationResult, ValidationRule } from '../models/validation.interface.js';
3
7
  import { OperatorRegistry } from './operator-registry.service.js';
8
+ /**
9
+ * 单条校验规则输入(兼容 QueryBuilderRule 与 UIRule)
10
+ */
11
+ type ValidationRuleInput = QueryBuilderRule<Record<string, unknown>> | UIRule;
12
+ /**
13
+ * 校验规则组输入(宽松递归结构)
14
+ */
15
+ export type ValidationGroupInput = {
16
+ /**
17
+ * 规则组唯一标识符
18
+ */
19
+ id: string;
20
+ /**
21
+ * 逻辑组合符
22
+ */
23
+ combinator: 'and' | 'or';
24
+ /**
25
+ * 子规则列表(支持嵌套)
26
+ */
27
+ rules: Array<ValidationRuleInput | ValidationGroupInput>;
28
+ };
4
29
  /**
5
30
  * 校验服务选项
6
31
  */
@@ -26,15 +51,16 @@ export interface ValidationServiceOptions {
26
51
  export declare class ValidationService {
27
52
  private readonly rules;
28
53
  private readonly operatorRegistry;
54
+ /** @param options - 校验服务配置(自定义规则等) */
29
55
  constructor(options?: ValidationServiceOptions);
30
56
  /**
31
57
  * 校验单条规则
32
58
  */
33
- validateRule<T>(rule: QueryBuilderRule<T>, field: FieldMetadata): ValidationResult;
59
+ validateRule(rule: ValidationRuleInput, field: FieldMetadata): ValidationResult;
34
60
  /**
35
61
  * 校验整个规则组
36
62
  */
37
- validateGroup<T>(group: QueryBuilderRuleGroup<T>, fields: Map<string, FieldMetadata>): ValidationResult;
63
+ validateGroup(group: ValidationGroupInput, fields: Map<string, FieldMetadata>): ValidationResult;
38
64
  /**
39
65
  * 注册自定义校验规则
40
66
  */
@@ -62,6 +88,10 @@ export declare class ValidationService {
62
88
  }
63
89
  /**
64
90
  * 创建 ValidationService 实例的工厂函数
91
+ *
92
+ * @param options - 校验服务选项
93
+ * @returns 新的 ValidationService 实例
65
94
  */
66
95
  export declare function createValidationService(options?: ValidationServiceOptions): ValidationService;
96
+ export {};
67
97
  //# 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,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAE/G,OAAO,KAAK,EAGV,gBAAgB,EAChB,cAAc,EACf,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAA8B,MAAM,gCAAgC,CAAC;AAU9F;;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;gBAExC,OAAO,GAAE,wBAA6B;IAmBlD;;OAEG;IACH,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,GAAG,gBAAgB;IA8FlF;;OAEG;IACH,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,qBAAqB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,gBAAgB;IAiCvG;;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;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,iBAAiB,CAE7F"}
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,4 +1,10 @@
1
- import { FieldMetadata, PropertyType } from '../models/query-builder-state.js';
1
+ /**
2
+ * @fileoverview 字段树工具函数
3
+ *
4
+ * 提供 Angular/React/Vue 共享的字段树构建和查找功能。
5
+ * 用于将扁平的 FieldMetadata[] 转换为 CascadeSelect 组件所需的树形结构。
6
+ */
7
+ import type { FieldMetadata, PropertyType } from '../models/query-builder-state.js';
2
8
  /**
3
9
  * 字段树节点(用于 CascadeSelect)
4
10
  *
@@ -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;AAKpF;;;;;;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,CAkHvE;AAiED;;;;;;;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,CAWzC;AAED;;;;;;;;;;;;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,CAmB/E"}
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"}
@@ -4,6 +4,8 @@
4
4
  /**
5
5
  * 生成唯一 ID
6
6
  * 用于 QueryBuilder 规则和规则组的标识
7
+ *
8
+ * @returns 唯一 ID 字符串(uuid v7)
7
9
  */
8
10
  export declare function generateId(): string;
9
11
  //# sourceMappingURL=id.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../../src/query-builder/utils/id.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;;GAGG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC"}
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,30 @@
1
- import { EntityMetadata, EntityRelationMetadata, KeyValuePropertyMetadata, PropertyType } from '../../../packages/rxdb/src/index.ts';
2
- import { FieldMetadata, PropertyType as QBPropertyType } from '../models/query-builder-state.js';
1
+ import type { EntityMetadata, EntityRelationMetadata, KeyValuePropertyMetadata } from '@aiao/rxdb';
2
+ import { PropertyType } from '@aiao/rxdb';
3
+ import type { FieldMetadata, PropertyType as QBPropertyType } from '../models/query-builder-state.js';
3
4
  /**
4
5
  * 模型信息接口
5
6
  */
6
7
  export interface ModelInfo {
8
+ /** 实体名称 */
7
9
  name: string;
10
+ /** 实体显示名称 */
8
11
  displayName: string;
9
- entityClass: new (...args: any[]) => unknown;
12
+ /** 实体类构造函数 */
13
+ entityClass: new (...args: never[]) => unknown;
14
+ /** RxDB 实体元数据 */
10
15
  metadata: EntityMetadata;
11
16
  }
12
17
  /**
13
18
  * 查询示例接口
14
19
  */
15
20
  export interface QueryExample {
21
+ /** 示例名称 */
16
22
  name: string;
23
+ /** 示例描述 */
17
24
  description: string;
25
+ /** 示例对应的模型名称 */
18
26
  modelName: string;
27
+ /** 示例查询内容(结构由具体模型决定) */
19
28
  query: unknown;
20
29
  }
21
30
  /**
@@ -114,6 +123,9 @@ export declare function extractFieldsFromMetadata(metadata: EntityMetadata, allM
114
123
  export declare function extractRelationTargetFields(metadata: EntityMetadata, config?: FieldExtractorConfig): FieldMetadata[];
115
124
  /**
116
125
  * 从 keyValue 属性的 properties 提取子字段列表
126
+ *
127
+ * @param properties keyValue 属性的子属性元数据列表
128
+ * @returns 子字段元数据列表
117
129
  */
118
130
  export declare function extractKeyValueFields(properties: KeyValuePropertyMetadata[]): FieldMetadata[];
119
131
  /**
@@ -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,GAAG,EAAE,KAAK,OAAO,CAAC;IAC7C,QAAQ,EAAE,cAAc,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,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;AAkJD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,cAAc,EACxB,MAAM,GAAE,oBAAyB,GAChC,aAAa,EAAE,CAgDjB;AAmBD;;GAEG;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,CAOvE"}
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;;;;;;GAMG;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;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,SAAI,EAAE,aAAa,SAAM,GAAG,IAAI,CAc9G;AAED;;GAEG;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
+ {"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,CAc9G;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,6 +1,10 @@
1
- import { EntityMetadata } from '../../../packages/rxdb/src/index.ts';
2
- import { FieldMetadata } from '../models/query-builder-state.js';
3
- import { SchemaParserOptions } from '../services/schema-parser.service.js';
1
+ /**
2
+ * @fileoverview Schema 工厂函数
3
+ * 提供便捷的工厂方法从 RxDB 实体创建 SchemaParser 实例并解析字段
4
+ */
5
+ import type { EntityMetadata } from '@aiao/rxdb';
6
+ import type { FieldMetadata } from '../models/query-builder-state.js';
7
+ import { type SchemaParserOptions } from '../services/schema-parser.service.js';
4
8
  /**
5
9
  * 从 EntityMetadata 创建字段元数据
6
10
  *
@@ -1,2 +1,6 @@
1
+ /**
2
+ * 重新导出 structuralEqual:结构化深比较,替代 JSON.stringify 比较。
3
+ * 递归比较对象和数组,不依赖 key 序列化顺序,支持循环引用检测。
4
+ */
1
5
  export { structuralEqual } from '../../structural-equal.js';
2
6
  //# sourceMappingURL=structural-equal.d.ts.map
@@ -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
- import { OperatorRegistry } from '../services/operator-registry.service.js';
2
+ import type { 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