@nokecy/qc-ui 1.1.37 → 1.1.38

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 (234) hide show
  1. package/README.md +25 -25
  2. package/dist/cjs/ConfirmPro/index.js +4 -4
  3. package/dist/cjs/RuleBuilder/LogicSelector.js +7 -7
  4. package/dist/cjs/RuleBuilder/RuleBuilderContainer.js +27 -27
  5. package/dist/cjs/RuleBuilder/RuleCard.js +6 -6
  6. package/dist/cjs/RuleBuilder/RuleGroupEditor.js +7 -7
  7. package/dist/cjs/RuleBuilder/constants/operators.js +18 -18
  8. package/dist/cjs/RuleBuilder/context/RuleBuilderContext.js +38 -38
  9. package/dist/cjs/RuleBuilder/inputs/BetweenValueInput.js +5 -5
  10. package/dist/cjs/RuleBuilder/inputs/MultiValueInput.js +5 -5
  11. package/dist/cjs/RuleBuilder/inputs/SingleValueInput.js +8 -8
  12. package/dist/cjs/RuleBuilder/inputs/ValueInput.js +8 -8
  13. package/dist/cjs/RuleBuilder/selectors/FieldSelector.js +5 -5
  14. package/dist/cjs/RuleBuilder/selectors/OperatorSelector.js +5 -5
  15. package/dist/cjs/RuleBuilder/styles/index.module.less +443 -443
  16. package/dist/cjs/RuleBuilder/styles/index.module.less.d.ts +43 -43
  17. package/dist/cjs/RuleBuilder/types/index.js +42 -42
  18. package/dist/cjs/RuleBuilder/utils/pathHelpers.js +47 -47
  19. package/dist/cjs/RuleBuilder/utils/ruleHelpers.js +31 -31
  20. package/dist/cjs/RuleBuilder/utils/validation.js +22 -22
  21. package/dist/cjs/ag-grid-plus/_utils/boolSelect.js +5 -5
  22. package/dist/cjs/ag-grid-plus/_utils/processColumnGroups.js +9 -9
  23. package/dist/cjs/ag-grid-plus/ag-grid-theme-builder.css +352 -352
  24. package/dist/cjs/ag-grid-plus/ag-gridPlus.js +63 -65
  25. package/dist/cjs/ag-grid-plus/context/gridContext.js +19 -19
  26. package/dist/cjs/ag-grid-plus/context/useSchemeDataFlow.js +56 -56
  27. package/dist/cjs/ag-grid-plus/context/useSchemeManager.js +93 -93
  28. package/dist/cjs/ag-grid-plus/errors/ErrorBoundary.js +8 -8
  29. package/dist/cjs/ag-grid-plus/errors/types.js +14 -14
  30. package/dist/cjs/ag-grid-plus/hooks/useAgGridCalculation.js +45 -45
  31. package/dist/cjs/ag-grid-plus/hooks/useAgGridData.js +44 -44
  32. package/dist/cjs/ag-grid-plus/hooks/useGridPlusColumnState.js +3 -3
  33. package/dist/cjs/ag-grid-plus/hooks/useGridState.js +36 -36
  34. package/dist/cjs/ag-grid-plus/index.less +50 -50
  35. package/dist/cjs/ag-grid-plus/queryForm/index.less +72 -72
  36. package/dist/cjs/ag-grid-plus/setting/ColumnConfigForm.js +11 -11
  37. package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.js +3 -3
  38. package/dist/cjs/ag-grid-plus/setting/ColumnNameCellRenderer.js +10 -10
  39. package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +29 -29
  40. package/dist/cjs/ag-grid-plus/setting/DebounceInputs.js +9 -9
  41. package/dist/cjs/ag-grid-plus/setting/MoveNodeModal.js +7 -7
  42. package/dist/cjs/ag-grid-plus/setting/NameColumnRenderer.js +6 -6
  43. package/dist/cjs/ag-grid-plus/setting/QuerySchemeManager.js +34 -34
  44. package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.js +76 -76
  45. package/dist/cjs/ag-grid-plus/setting/performanceMonitor.js +5 -5
  46. package/dist/cjs/ag-grid-plus/shared/storage/backendApiAdapter.js +46 -46
  47. package/dist/cjs/ag-grid-plus/shared/storage/localStorageAdapter.js +39 -39
  48. package/dist/cjs/ag-grid-plus/shared/utils/schemeDataMigration.js +18 -18
  49. package/dist/cjs/ag-grid-plus/theme.js +3 -3
  50. package/dist/cjs/ag-grid-plus/toolBar/index.js +4 -4
  51. package/dist/cjs/ag-grid-plus/utils/columnProcessors.js +52 -52
  52. package/dist/cjs/ag-grid-plus/utils/constants.js +22 -22
  53. package/dist/cjs/ag-grid-plus/utils/entityExtensionColumns.js +20 -20
  54. package/dist/cjs/ag-grid-plus/utils/logger.js +2 -2
  55. package/dist/cjs/ag-grid-plus/utils/sanitize.js +10 -10
  56. package/dist/cjs/ag-grid-plus/utils.js +3 -3
  57. package/dist/cjs/array-table/columnHelper.js +43 -43
  58. package/dist/cjs/array-table/hooks.js +11 -9
  59. package/dist/cjs/array-table/index.js +40 -41
  60. package/dist/cjs/array-table/utils.js +4 -3
  61. package/dist/cjs/components/RegexEditor/core/RegexEditor.js +32 -32
  62. package/dist/cjs/components/RegexEditor/core/RegexEditor.less +119 -119
  63. package/dist/cjs/components/RegexEditor/core/extensions/errorMarker.js +52 -52
  64. package/dist/cjs/components/RegexEditor/hooks/useRegexTester.js +48 -48
  65. package/dist/cjs/components/RegexEditor/hooks/useRegexValidation.js +54 -54
  66. package/dist/cjs/components/RegexEditor/hooks/useTemplateManager.js +5 -5
  67. package/dist/cjs/components/RegexEditor/templates/TemplateSelector.js +28 -28
  68. package/dist/cjs/components/RegexEditor/templates/builtinTemplates.js +24 -24
  69. package/dist/cjs/components/RegexEditor/templates/storage.js +29 -29
  70. package/dist/cjs/components/RegexEditor/templates/templateManager.js +29 -29
  71. package/dist/cjs/components/RegexEditor/templates/types.js +74 -74
  72. package/dist/cjs/components/RegexEditor/validation/complexity.js +40 -40
  73. package/dist/cjs/components/RegexEditor/validation/parser.js +47 -47
  74. package/dist/cjs/components/RegexEditor/validation/validator.js +54 -54
  75. package/dist/cjs/components/RegexEditor/visualizer/FlagsSelector.js +19 -19
  76. package/dist/cjs/components/RegexEditor/visualizer/MatchItem.js +20 -20
  77. package/dist/cjs/components/RegexEditor/visualizer/RegexRailroadDiagram.js +15 -15
  78. package/dist/cjs/components/RegexEditor/visualizer/RegexTester.js +17 -17
  79. package/dist/cjs/components/RegexEditor/visualizer/astToRailroad.js +11 -11
  80. package/dist/cjs/components/RegexEditor/visualizer/utils.js +92 -92
  81. package/dist/cjs/dashboard/dashboard/components/toolbar/style/index.less +49 -49
  82. package/dist/cjs/dashboard/dashboard/index.less +173 -173
  83. package/dist/cjs/dashboard/dashboard/utils.js +4 -4
  84. package/dist/cjs/dashboard/utils.js +8 -8
  85. package/dist/cjs/dashboard/widget/index.less +7 -7
  86. package/dist/cjs/dashboard/widget/selector/index.less +172 -172
  87. package/dist/cjs/deleteConfirm/index.js +17 -17
  88. package/dist/cjs/draggableModal/index.js +4 -4
  89. package/dist/cjs/draggableModal/style.less +122 -122
  90. package/dist/cjs/editable/index.js +16 -1
  91. package/dist/cjs/formDesigner/arrayTable/styles.less +2 -2
  92. package/dist/cjs/formDesigner/index.less +2 -2
  93. package/dist/cjs/fullScreenAlert/index.js +13 -13
  94. package/dist/cjs/fullScreenAlert/index.less +133 -133
  95. package/dist/cjs/generatedListPage/ConfigurableToolbar.js +2 -2
  96. package/dist/cjs/generatedListPage/GeneratedListPage.js +20 -20
  97. package/dist/cjs/generatedListPage/OptionsColumn.js +3 -3
  98. package/dist/cjs/generatedListPage/PerformanceMonitor.js +9 -9
  99. package/dist/cjs/generatedListPage/RequestManager.js +39 -39
  100. package/dist/cjs/generatedListPage/_utils/AccessWrapper.js +6 -6
  101. package/dist/cjs/generatedListPage/_utils/defaultHandlers.js +14 -14
  102. package/dist/cjs/generatedListPage/usePermissionCheck.js +27 -27
  103. package/dist/cjs/generatedListPage/useRequestManager.js +20 -20
  104. package/dist/cjs/importModal/index.js +4 -4
  105. package/dist/cjs/standardFormDialog/FormValidation.js +45 -45
  106. package/dist/cjs/standardFormDialog/PortalManager.js +46 -46
  107. package/dist/cjs/standardFormDialog/StandardFormDialog.js +20 -20
  108. package/dist/cjs/standardFormDialog/useStandardFormSchema.js +24 -24
  109. package/dist/cjs/toolBar/index.less +25 -25
  110. package/dist/cjs/types/railroad-diagrams.d.ts +59 -59
  111. package/dist/cjs/types/regexp-tree.d.ts +175 -175
  112. package/dist/esm/ConfirmPro/index.js +4 -4
  113. package/dist/esm/RuleBuilder/LogicSelector.js +7 -7
  114. package/dist/esm/RuleBuilder/RuleBuilderContainer.js +27 -27
  115. package/dist/esm/RuleBuilder/RuleCard.js +6 -6
  116. package/dist/esm/RuleBuilder/RuleGroupEditor.js +7 -7
  117. package/dist/esm/RuleBuilder/constants/operators.js +18 -18
  118. package/dist/esm/RuleBuilder/context/RuleBuilderContext.js +38 -38
  119. package/dist/esm/RuleBuilder/index.js +6 -6
  120. package/dist/esm/RuleBuilder/inputs/BetweenValueInput.js +5 -5
  121. package/dist/esm/RuleBuilder/inputs/MultiValueInput.js +5 -5
  122. package/dist/esm/RuleBuilder/inputs/SingleValueInput.js +8 -8
  123. package/dist/esm/RuleBuilder/inputs/ValueInput.js +8 -8
  124. package/dist/esm/RuleBuilder/selectors/FieldSelector.js +5 -5
  125. package/dist/esm/RuleBuilder/selectors/OperatorSelector.js +5 -5
  126. package/dist/esm/RuleBuilder/styles/index.module.less +443 -443
  127. package/dist/esm/RuleBuilder/styles/index.module.less.d.ts +43 -43
  128. package/dist/esm/RuleBuilder/types/index.js +42 -42
  129. package/dist/esm/RuleBuilder/utils/pathHelpers.js +47 -47
  130. package/dist/esm/RuleBuilder/utils/ruleHelpers.js +31 -31
  131. package/dist/esm/RuleBuilder/utils/validation.js +22 -22
  132. package/dist/esm/ag-grid-plus/_utils/boolSelect.js +5 -5
  133. package/dist/esm/ag-grid-plus/_utils/processColumnGroups.js +9 -9
  134. package/dist/esm/ag-grid-plus/ag-grid-theme-builder.css +352 -352
  135. package/dist/esm/ag-grid-plus/ag-gridPlus.js +63 -65
  136. package/dist/esm/ag-grid-plus/context/gridContext.js +19 -19
  137. package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.js +56 -56
  138. package/dist/esm/ag-grid-plus/context/useSchemeManager.js +93 -93
  139. package/dist/esm/ag-grid-plus/errors/ErrorBoundary.js +8 -8
  140. package/dist/esm/ag-grid-plus/errors/types.js +14 -14
  141. package/dist/esm/ag-grid-plus/hooks/index.js +2 -2
  142. package/dist/esm/ag-grid-plus/hooks/useAgGridCalculation.js +45 -45
  143. package/dist/esm/ag-grid-plus/hooks/useAgGridData.js +44 -44
  144. package/dist/esm/ag-grid-plus/hooks/useGridPlusColumnState.js +3 -3
  145. package/dist/esm/ag-grid-plus/hooks/useGridState.js +36 -36
  146. package/dist/esm/ag-grid-plus/index.less +50 -50
  147. package/dist/esm/ag-grid-plus/queryForm/index.less +72 -72
  148. package/dist/esm/ag-grid-plus/setting/ColumnConfigForm.js +11 -11
  149. package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.js +3 -3
  150. package/dist/esm/ag-grid-plus/setting/ColumnNameCellRenderer.js +10 -10
  151. package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +29 -29
  152. package/dist/esm/ag-grid-plus/setting/DebounceInputs.js +9 -9
  153. package/dist/esm/ag-grid-plus/setting/MoveNodeModal.js +7 -7
  154. package/dist/esm/ag-grid-plus/setting/NameColumnRenderer.js +6 -6
  155. package/dist/esm/ag-grid-plus/setting/QuerySchemeManager.js +34 -34
  156. package/dist/esm/ag-grid-plus/setting/columnGroupUtils.js +76 -76
  157. package/dist/esm/ag-grid-plus/setting/performanceMonitor.js +5 -5
  158. package/dist/esm/ag-grid-plus/shared/storage/backendApiAdapter.js +46 -46
  159. package/dist/esm/ag-grid-plus/shared/storage/localStorageAdapter.js +39 -39
  160. package/dist/esm/ag-grid-plus/shared/utils/schemeDataMigration.js +18 -18
  161. package/dist/esm/ag-grid-plus/theme.js +3 -3
  162. package/dist/esm/ag-grid-plus/toolBar/index.js +4 -4
  163. package/dist/esm/ag-grid-plus/utils/columnProcessors.js +52 -52
  164. package/dist/esm/ag-grid-plus/utils/constants.js +22 -22
  165. package/dist/esm/ag-grid-plus/utils/entityExtensionColumns.js +20 -20
  166. package/dist/esm/ag-grid-plus/utils/logger.js +2 -2
  167. package/dist/esm/ag-grid-plus/utils/sanitize.js +10 -10
  168. package/dist/esm/ag-grid-plus/utils.js +3 -3
  169. package/dist/esm/array-table/columnHelper.js +43 -43
  170. package/dist/esm/array-table/hooks.js +11 -9
  171. package/dist/esm/array-table/index.js +40 -41
  172. package/dist/esm/array-table/utils.js +4 -3
  173. package/dist/esm/components/RegexEditor/core/RegexEditor.js +32 -32
  174. package/dist/esm/components/RegexEditor/core/RegexEditor.less +119 -119
  175. package/dist/esm/components/RegexEditor/core/extensions/errorMarker.js +52 -52
  176. package/dist/esm/components/RegexEditor/hooks/index.js +4 -4
  177. package/dist/esm/components/RegexEditor/hooks/useRegexTester.js +48 -48
  178. package/dist/esm/components/RegexEditor/hooks/useRegexValidation.js +54 -54
  179. package/dist/esm/components/RegexEditor/hooks/useTemplateManager.js +5 -5
  180. package/dist/esm/components/RegexEditor/templates/TemplateSelector.js +28 -28
  181. package/dist/esm/components/RegexEditor/templates/builtinTemplates.js +24 -24
  182. package/dist/esm/components/RegexEditor/templates/index.js +2 -2
  183. package/dist/esm/components/RegexEditor/templates/storage.js +29 -29
  184. package/dist/esm/components/RegexEditor/templates/templateManager.js +29 -29
  185. package/dist/esm/components/RegexEditor/templates/types.js +74 -74
  186. package/dist/esm/components/RegexEditor/validation/complexity.js +40 -40
  187. package/dist/esm/components/RegexEditor/validation/parser.js +47 -47
  188. package/dist/esm/components/RegexEditor/validation/validator.js +54 -54
  189. package/dist/esm/components/RegexEditor/visualizer/FlagsSelector.js +19 -19
  190. package/dist/esm/components/RegexEditor/visualizer/MatchItem.js +20 -20
  191. package/dist/esm/components/RegexEditor/visualizer/RegexRailroadDiagram.js +15 -15
  192. package/dist/esm/components/RegexEditor/visualizer/RegexTester.js +17 -17
  193. package/dist/esm/components/RegexEditor/visualizer/astToRailroad.js +11 -11
  194. package/dist/esm/components/RegexEditor/visualizer/index.js +5 -5
  195. package/dist/esm/components/RegexEditor/visualizer/utils.js +92 -92
  196. package/dist/esm/dashboard/dashboard/components/toolbar/style/index.less +49 -49
  197. package/dist/esm/dashboard/dashboard/index.less +173 -173
  198. package/dist/esm/dashboard/dashboard/utils.js +4 -4
  199. package/dist/esm/dashboard/utils.js +8 -8
  200. package/dist/esm/dashboard/widget/index.less +7 -7
  201. package/dist/esm/dashboard/widget/selector/index.less +172 -172
  202. package/dist/esm/deleteConfirm/index.js +17 -17
  203. package/dist/esm/draggableModal/index.js +4 -4
  204. package/dist/esm/draggableModal/style.less +122 -122
  205. package/dist/esm/editable/index.js +16 -1
  206. package/dist/esm/formDesigner/arrayTable/styles.less +2 -2
  207. package/dist/esm/formDesigner/index.less +2 -2
  208. package/dist/esm/fullScreenAlert/index.js +13 -13
  209. package/dist/esm/fullScreenAlert/index.less +133 -133
  210. package/dist/esm/generatedListPage/ConfigurableToolbar.js +2 -2
  211. package/dist/esm/generatedListPage/GeneratedListPage.js +20 -20
  212. package/dist/esm/generatedListPage/OptionsColumn.js +3 -3
  213. package/dist/esm/generatedListPage/PerformanceMonitor.js +9 -9
  214. package/dist/esm/generatedListPage/RequestManager.js +39 -39
  215. package/dist/esm/generatedListPage/_utils/AccessWrapper.js +6 -6
  216. package/dist/esm/generatedListPage/_utils/defaultHandlers.js +14 -14
  217. package/dist/esm/generatedListPage/index.js +9 -9
  218. package/dist/esm/generatedListPage/usePermissionCheck.js +27 -27
  219. package/dist/esm/generatedListPage/useRequestManager.js +20 -20
  220. package/dist/esm/importModal/index.js +4 -4
  221. package/dist/esm/standardFormDialog/FormValidation.js +45 -45
  222. package/dist/esm/standardFormDialog/PortalManager.js +46 -46
  223. package/dist/esm/standardFormDialog/StandardFormDialog.js +20 -20
  224. package/dist/esm/standardFormDialog/useStandardFormSchema.js +24 -24
  225. package/dist/esm/standardFormDialog/withStandardForm.d.ts +2 -2
  226. package/dist/esm/toolBar/index.less +25 -25
  227. package/dist/esm/types/railroad-diagrams.d.ts +59 -59
  228. package/dist/esm/types/regexp-tree.d.ts +175 -175
  229. package/dist/umd/qc-ui.min.js +1 -1
  230. package/package.json +90 -90
  231. package/dist/cjs/ag-grid-plus/shared/hooks/useSchemeManager.d.ts +0 -66
  232. package/dist/cjs/ag-grid-plus/shared/hooks/useSchemeManager.js +0 -648
  233. package/dist/esm/ag-grid-plus/shared/hooks/useSchemeManager.d.ts +0 -66
  234. package/dist/esm/ag-grid-plus/shared/hooks/useSchemeManager.js +0 -643
@@ -1,175 +1,175 @@
1
- /**
2
- * regexp-tree 库的类型定义
3
- *
4
- * @description
5
- * 为 regexp-tree 库提供完整的 TypeScript 类型支持,包括 AST 节点类型和主要 API。
6
- *
7
- * @see https://github.com/DmitrySoshnikov/regexp-tree
8
- */
9
-
10
- declare module 'regexp-tree/ast' {
11
- export interface AstClassMap {
12
- 'RegExp': AstRegExp;
13
- 'Disjunction': Disjunction;
14
- 'Alternative': Alternative;
15
- 'Assertion': Assertion;
16
- 'Char': Char;
17
- 'CharacterClass': CharacterClass;
18
- 'ClassRange': ClassRange;
19
- 'Backreference': Backreference;
20
- 'Group': Group;
21
- 'Repetition': Repetition;
22
- 'Quantifier': Quantifier;
23
- }
24
-
25
- export type AstClass = keyof AstClassMap;
26
- export type AstNode = AstClassMap[AstClass];
27
- export type AstNodeLocation = {
28
- line: number;
29
- column: number;
30
- offset: number;
31
- };
32
-
33
- export interface Base<T extends AstClass> {
34
- type: T;
35
- loc?: {
36
- source: string;
37
- start: AstNodeLocation;
38
- end: AstNodeLocation;
39
- };
40
- }
41
-
42
- export interface SimpleChar extends Base<'Char'> {
43
- value: string;
44
- kind: 'simple';
45
- escaped?: true;
46
- codePoint: number;
47
- }
48
-
49
- export interface SpecialChar extends Base<'Char'> {
50
- value: string;
51
- kind: 'meta' | 'control' | 'hex' | 'decimal' | 'oct' | 'unicode';
52
- codePoint: number;
53
- }
54
-
55
- export type Char =
56
- | SimpleChar
57
- | SpecialChar;
58
-
59
- export interface ClassRange extends Base<'ClassRange'> {
60
- from: Char;
61
- to: Char;
62
- }
63
-
64
- export interface CharacterClass extends Base<'CharacterClass'> {
65
- negative?: true;
66
- expressions: (Char | ClassRange)[];
67
- }
68
-
69
- export interface Alternative extends Base<'Alternative'> {
70
- expressions: Expression[];
71
- }
72
-
73
- export interface Disjunction extends Base<'Disjunction'> {
74
- left: Expression | null;
75
- right: Expression | null;
76
- }
77
-
78
- export interface CapturingGroup extends Base<'Group'> {
79
- capturing: true;
80
- number: number;
81
- name?: string;
82
- nameRaw?: string;
83
- expression: Expression | null;
84
- }
85
-
86
- export interface NoncapturingGroup extends Base<'Group'> {
87
- capturing: false;
88
- expression: Expression | null;
89
- }
90
-
91
- export type Group =
92
- | CapturingGroup
93
- | NoncapturingGroup;
94
-
95
- export interface NumericBackreference extends Base<'Backreference'> {
96
- kind: 'number';
97
- number: number;
98
- reference: number;
99
- }
100
-
101
- export interface NamedBackreference extends Base<'Backreference'> {
102
- kind: 'name';
103
- number: number;
104
- reference: string;
105
- referenceRaw: string;
106
- }
107
-
108
- export type Backreference =
109
- | NumericBackreference
110
- | NamedBackreference;
111
-
112
- export interface Repetition extends Base<'Repetition'> {
113
- expression: Expression;
114
- quantifier: Quantifier;
115
- }
116
-
117
- export interface SimpleQuantifier extends Base<'Quantifier'> {
118
- kind: '+' | '*' | '?';
119
- greedy: boolean;
120
- }
121
-
122
- export interface RangeQuantifier extends Base<'Quantifier'> {
123
- kind: 'Range';
124
- from: number;
125
- to?: number;
126
- greedy: boolean;
127
- }
128
-
129
- export type Quantifier =
130
- | SimpleQuantifier
131
- | RangeQuantifier;
132
-
133
- export interface SimpleAssertion extends Base<'Assertion'> {
134
- kind: '^' | '$' | '\\b' | '\\B';
135
- }
136
-
137
- export interface LookaroundAssertion extends Base<'Assertion'> {
138
- kind: 'Lookahead' | 'Lookbehind';
139
- negative?: true;
140
- assertion: Expression | null;
141
- }
142
-
143
- export type Assertion =
144
- | SimpleAssertion
145
- | LookaroundAssertion;
146
-
147
- export type Expression =
148
- | Char
149
- | CharacterClass
150
- | Alternative
151
- | Disjunction
152
- | Group
153
- | Backreference
154
- | Repetition
155
- | Assertion;
156
-
157
- export interface AstRegExp extends Base<'RegExp'> {
158
- body: Expression | null;
159
- flags: string;
160
- }
161
- }
162
-
163
- declare module 'regexp-tree' {
164
- import type { AstNode, AstRegExp } from 'regexp-tree/ast';
165
-
166
- export type { AstNode, AstRegExp };
167
-
168
- export interface ParserOptions {
169
- captureLocations?: boolean;
170
- allowGroupNameDuplicates?: boolean;
171
- }
172
-
173
- export function parse(pattern: string, options?: ParserOptions): AstRegExp;
174
- export function traverse(ast: AstNode, handlers: Record<string, (path: any) => void>): void;
175
- }
1
+ /**
2
+ * regexp-tree 库的类型定义
3
+ *
4
+ * @description
5
+ * 为 regexp-tree 库提供完整的 TypeScript 类型支持,包括 AST 节点类型和主要 API。
6
+ *
7
+ * @see https://github.com/DmitrySoshnikov/regexp-tree
8
+ */
9
+
10
+ declare module 'regexp-tree/ast' {
11
+ export interface AstClassMap {
12
+ 'RegExp': AstRegExp;
13
+ 'Disjunction': Disjunction;
14
+ 'Alternative': Alternative;
15
+ 'Assertion': Assertion;
16
+ 'Char': Char;
17
+ 'CharacterClass': CharacterClass;
18
+ 'ClassRange': ClassRange;
19
+ 'Backreference': Backreference;
20
+ 'Group': Group;
21
+ 'Repetition': Repetition;
22
+ 'Quantifier': Quantifier;
23
+ }
24
+
25
+ export type AstClass = keyof AstClassMap;
26
+ export type AstNode = AstClassMap[AstClass];
27
+ export type AstNodeLocation = {
28
+ line: number;
29
+ column: number;
30
+ offset: number;
31
+ };
32
+
33
+ export interface Base<T extends AstClass> {
34
+ type: T;
35
+ loc?: {
36
+ source: string;
37
+ start: AstNodeLocation;
38
+ end: AstNodeLocation;
39
+ };
40
+ }
41
+
42
+ export interface SimpleChar extends Base<'Char'> {
43
+ value: string;
44
+ kind: 'simple';
45
+ escaped?: true;
46
+ codePoint: number;
47
+ }
48
+
49
+ export interface SpecialChar extends Base<'Char'> {
50
+ value: string;
51
+ kind: 'meta' | 'control' | 'hex' | 'decimal' | 'oct' | 'unicode';
52
+ codePoint: number;
53
+ }
54
+
55
+ export type Char =
56
+ | SimpleChar
57
+ | SpecialChar;
58
+
59
+ export interface ClassRange extends Base<'ClassRange'> {
60
+ from: Char;
61
+ to: Char;
62
+ }
63
+
64
+ export interface CharacterClass extends Base<'CharacterClass'> {
65
+ negative?: true;
66
+ expressions: (Char | ClassRange)[];
67
+ }
68
+
69
+ export interface Alternative extends Base<'Alternative'> {
70
+ expressions: Expression[];
71
+ }
72
+
73
+ export interface Disjunction extends Base<'Disjunction'> {
74
+ left: Expression | null;
75
+ right: Expression | null;
76
+ }
77
+
78
+ export interface CapturingGroup extends Base<'Group'> {
79
+ capturing: true;
80
+ number: number;
81
+ name?: string;
82
+ nameRaw?: string;
83
+ expression: Expression | null;
84
+ }
85
+
86
+ export interface NoncapturingGroup extends Base<'Group'> {
87
+ capturing: false;
88
+ expression: Expression | null;
89
+ }
90
+
91
+ export type Group =
92
+ | CapturingGroup
93
+ | NoncapturingGroup;
94
+
95
+ export interface NumericBackreference extends Base<'Backreference'> {
96
+ kind: 'number';
97
+ number: number;
98
+ reference: number;
99
+ }
100
+
101
+ export interface NamedBackreference extends Base<'Backreference'> {
102
+ kind: 'name';
103
+ number: number;
104
+ reference: string;
105
+ referenceRaw: string;
106
+ }
107
+
108
+ export type Backreference =
109
+ | NumericBackreference
110
+ | NamedBackreference;
111
+
112
+ export interface Repetition extends Base<'Repetition'> {
113
+ expression: Expression;
114
+ quantifier: Quantifier;
115
+ }
116
+
117
+ export interface SimpleQuantifier extends Base<'Quantifier'> {
118
+ kind: '+' | '*' | '?';
119
+ greedy: boolean;
120
+ }
121
+
122
+ export interface RangeQuantifier extends Base<'Quantifier'> {
123
+ kind: 'Range';
124
+ from: number;
125
+ to?: number;
126
+ greedy: boolean;
127
+ }
128
+
129
+ export type Quantifier =
130
+ | SimpleQuantifier
131
+ | RangeQuantifier;
132
+
133
+ export interface SimpleAssertion extends Base<'Assertion'> {
134
+ kind: '^' | '$' | '\\b' | '\\B';
135
+ }
136
+
137
+ export interface LookaroundAssertion extends Base<'Assertion'> {
138
+ kind: 'Lookahead' | 'Lookbehind';
139
+ negative?: true;
140
+ assertion: Expression | null;
141
+ }
142
+
143
+ export type Assertion =
144
+ | SimpleAssertion
145
+ | LookaroundAssertion;
146
+
147
+ export type Expression =
148
+ | Char
149
+ | CharacterClass
150
+ | Alternative
151
+ | Disjunction
152
+ | Group
153
+ | Backreference
154
+ | Repetition
155
+ | Assertion;
156
+
157
+ export interface AstRegExp extends Base<'RegExp'> {
158
+ body: Expression | null;
159
+ flags: string;
160
+ }
161
+ }
162
+
163
+ declare module 'regexp-tree' {
164
+ import type { AstNode, AstRegExp } from 'regexp-tree/ast';
165
+
166
+ export type { AstNode, AstRegExp };
167
+
168
+ export interface ParserOptions {
169
+ captureLocations?: boolean;
170
+ allowGroupNameDuplicates?: boolean;
171
+ }
172
+
173
+ export function parse(pattern: string, options?: ParserOptions): AstRegExp;
174
+ export function traverse(ast: AstNode, handlers: Record<string, (path: any) => void>): void;
175
+ }