@nokecy/qc-ui 1.1.36 → 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 (240) 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 +83 -89
  25. package/dist/cjs/ag-grid-plus/context/gridContext.d.ts +1 -5
  26. package/dist/cjs/ag-grid-plus/context/gridContext.js +19 -19
  27. package/dist/cjs/ag-grid-plus/context/useSchemeDataFlow.js +56 -56
  28. package/dist/cjs/ag-grid-plus/context/useSchemeManager.js +93 -93
  29. package/dist/cjs/ag-grid-plus/errors/ErrorBoundary.js +8 -8
  30. package/dist/cjs/ag-grid-plus/errors/types.js +14 -14
  31. package/dist/cjs/ag-grid-plus/hooks/useAgGridCalculation.js +45 -45
  32. package/dist/cjs/ag-grid-plus/hooks/useAgGridData.js +44 -44
  33. package/dist/cjs/ag-grid-plus/hooks/useGridPlusColumnState.js +3 -3
  34. package/dist/cjs/ag-grid-plus/hooks/useGridState.js +36 -36
  35. package/dist/cjs/ag-grid-plus/index.less +50 -50
  36. package/dist/cjs/ag-grid-plus/queryForm/index.less +72 -72
  37. package/dist/cjs/ag-grid-plus/setting/ColumnConfigForm.js +11 -11
  38. package/dist/cjs/ag-grid-plus/setting/ColumnConfigTable.js +3 -3
  39. package/dist/cjs/ag-grid-plus/setting/ColumnNameCellRenderer.js +10 -10
  40. package/dist/cjs/ag-grid-plus/setting/ColumnSetting.js +29 -29
  41. package/dist/cjs/ag-grid-plus/setting/DebounceInputs.js +9 -9
  42. package/dist/cjs/ag-grid-plus/setting/MoveNodeModal.js +7 -7
  43. package/dist/cjs/ag-grid-plus/setting/NameColumnRenderer.js +6 -6
  44. package/dist/cjs/ag-grid-plus/setting/QuerySchemeManager.js +34 -34
  45. package/dist/cjs/ag-grid-plus/setting/columnGroupUtils.js +76 -76
  46. package/dist/cjs/ag-grid-plus/setting/performanceMonitor.js +5 -5
  47. package/dist/cjs/ag-grid-plus/shared/storage/backendApiAdapter.js +46 -46
  48. package/dist/cjs/ag-grid-plus/shared/storage/localStorageAdapter.js +39 -39
  49. package/dist/cjs/ag-grid-plus/shared/utils/schemeDataMigration.js +18 -18
  50. package/dist/cjs/ag-grid-plus/theme.js +3 -3
  51. package/dist/cjs/ag-grid-plus/toolBar/index.js +4 -4
  52. package/dist/cjs/ag-grid-plus/types.d.ts +2 -22
  53. package/dist/cjs/ag-grid-plus/utils/columnProcessors.js +52 -52
  54. package/dist/cjs/ag-grid-plus/utils/constants.js +22 -22
  55. package/dist/cjs/ag-grid-plus/utils/entityExtensionColumns.d.ts +1 -0
  56. package/dist/cjs/ag-grid-plus/utils/entityExtensionColumns.js +22 -20
  57. package/dist/cjs/ag-grid-plus/utils/logger.js +2 -2
  58. package/dist/cjs/ag-grid-plus/utils/sanitize.js +10 -10
  59. package/dist/cjs/ag-grid-plus/utils.js +3 -3
  60. package/dist/cjs/array-table/columnHelper.js +43 -43
  61. package/dist/cjs/array-table/hooks.js +11 -9
  62. package/dist/cjs/array-table/index.js +40 -41
  63. package/dist/cjs/array-table/utils.js +4 -3
  64. package/dist/cjs/components/RegexEditor/core/RegexEditor.js +32 -32
  65. package/dist/cjs/components/RegexEditor/core/RegexEditor.less +119 -119
  66. package/dist/cjs/components/RegexEditor/core/extensions/errorMarker.js +52 -52
  67. package/dist/cjs/components/RegexEditor/hooks/useRegexTester.js +48 -48
  68. package/dist/cjs/components/RegexEditor/hooks/useRegexValidation.js +54 -54
  69. package/dist/cjs/components/RegexEditor/hooks/useTemplateManager.js +5 -5
  70. package/dist/cjs/components/RegexEditor/templates/TemplateSelector.js +28 -28
  71. package/dist/cjs/components/RegexEditor/templates/builtinTemplates.js +24 -24
  72. package/dist/cjs/components/RegexEditor/templates/storage.js +29 -29
  73. package/dist/cjs/components/RegexEditor/templates/templateManager.js +29 -29
  74. package/dist/cjs/components/RegexEditor/templates/types.js +74 -74
  75. package/dist/cjs/components/RegexEditor/validation/complexity.js +40 -40
  76. package/dist/cjs/components/RegexEditor/validation/parser.js +47 -47
  77. package/dist/cjs/components/RegexEditor/validation/validator.js +54 -54
  78. package/dist/cjs/components/RegexEditor/visualizer/FlagsSelector.js +19 -19
  79. package/dist/cjs/components/RegexEditor/visualizer/MatchItem.js +20 -20
  80. package/dist/cjs/components/RegexEditor/visualizer/RegexRailroadDiagram.js +15 -15
  81. package/dist/cjs/components/RegexEditor/visualizer/RegexTester.js +17 -17
  82. package/dist/cjs/components/RegexEditor/visualizer/astToRailroad.js +11 -11
  83. package/dist/cjs/components/RegexEditor/visualizer/utils.js +92 -92
  84. package/dist/cjs/dashboard/dashboard/components/toolbar/style/index.less +49 -49
  85. package/dist/cjs/dashboard/dashboard/index.less +173 -173
  86. package/dist/cjs/dashboard/dashboard/utils.js +4 -4
  87. package/dist/cjs/dashboard/utils.js +8 -8
  88. package/dist/cjs/dashboard/widget/index.less +7 -7
  89. package/dist/cjs/dashboard/widget/selector/index.less +172 -172
  90. package/dist/cjs/deleteConfirm/index.js +17 -17
  91. package/dist/cjs/draggableModal/index.js +4 -4
  92. package/dist/cjs/draggableModal/style.less +122 -122
  93. package/dist/cjs/editable/index.js +16 -1
  94. package/dist/cjs/formDesigner/arrayTable/styles.less +2 -2
  95. package/dist/cjs/formDesigner/index.less +2 -2
  96. package/dist/cjs/fullScreenAlert/index.js +13 -13
  97. package/dist/cjs/fullScreenAlert/index.less +133 -133
  98. package/dist/cjs/generatedListPage/ConfigurableToolbar.js +2 -2
  99. package/dist/cjs/generatedListPage/GeneratedListPage.js +20 -20
  100. package/dist/cjs/generatedListPage/OptionsColumn.js +3 -3
  101. package/dist/cjs/generatedListPage/PerformanceMonitor.js +9 -9
  102. package/dist/cjs/generatedListPage/RequestManager.js +39 -39
  103. package/dist/cjs/generatedListPage/_utils/AccessWrapper.js +6 -6
  104. package/dist/cjs/generatedListPage/_utils/defaultHandlers.js +14 -14
  105. package/dist/cjs/generatedListPage/usePermissionCheck.js +27 -27
  106. package/dist/cjs/generatedListPage/useRequestManager.js +20 -20
  107. package/dist/cjs/importModal/index.js +4 -4
  108. package/dist/cjs/standardFormDialog/FormValidation.js +45 -45
  109. package/dist/cjs/standardFormDialog/PortalManager.js +46 -46
  110. package/dist/cjs/standardFormDialog/StandardFormDialog.js +20 -20
  111. package/dist/cjs/standardFormDialog/useStandardFormSchema.js +24 -24
  112. package/dist/cjs/toolBar/index.less +25 -25
  113. package/dist/cjs/types/railroad-diagrams.d.ts +59 -59
  114. package/dist/cjs/types/regexp-tree.d.ts +175 -175
  115. package/dist/esm/ConfirmPro/index.js +4 -4
  116. package/dist/esm/RuleBuilder/LogicSelector.js +7 -7
  117. package/dist/esm/RuleBuilder/RuleBuilderContainer.js +27 -27
  118. package/dist/esm/RuleBuilder/RuleCard.js +6 -6
  119. package/dist/esm/RuleBuilder/RuleGroupEditor.js +7 -7
  120. package/dist/esm/RuleBuilder/constants/operators.js +18 -18
  121. package/dist/esm/RuleBuilder/context/RuleBuilderContext.js +38 -38
  122. package/dist/esm/RuleBuilder/index.js +6 -6
  123. package/dist/esm/RuleBuilder/inputs/BetweenValueInput.js +5 -5
  124. package/dist/esm/RuleBuilder/inputs/MultiValueInput.js +5 -5
  125. package/dist/esm/RuleBuilder/inputs/SingleValueInput.js +8 -8
  126. package/dist/esm/RuleBuilder/inputs/ValueInput.js +8 -8
  127. package/dist/esm/RuleBuilder/selectors/FieldSelector.js +5 -5
  128. package/dist/esm/RuleBuilder/selectors/OperatorSelector.js +5 -5
  129. package/dist/esm/RuleBuilder/styles/index.module.less +443 -443
  130. package/dist/esm/RuleBuilder/styles/index.module.less.d.ts +43 -43
  131. package/dist/esm/RuleBuilder/types/index.js +42 -42
  132. package/dist/esm/RuleBuilder/utils/pathHelpers.js +47 -47
  133. package/dist/esm/RuleBuilder/utils/ruleHelpers.js +31 -31
  134. package/dist/esm/RuleBuilder/utils/validation.js +22 -22
  135. package/dist/esm/ag-grid-plus/_utils/boolSelect.js +5 -5
  136. package/dist/esm/ag-grid-plus/_utils/processColumnGroups.js +9 -9
  137. package/dist/esm/ag-grid-plus/ag-grid-theme-builder.css +352 -352
  138. package/dist/esm/ag-grid-plus/ag-gridPlus.js +83 -89
  139. package/dist/esm/ag-grid-plus/context/gridContext.d.ts +1 -5
  140. package/dist/esm/ag-grid-plus/context/gridContext.js +19 -19
  141. package/dist/esm/ag-grid-plus/context/useSchemeDataFlow.js +56 -56
  142. package/dist/esm/ag-grid-plus/context/useSchemeManager.js +93 -93
  143. package/dist/esm/ag-grid-plus/errors/ErrorBoundary.js +8 -8
  144. package/dist/esm/ag-grid-plus/errors/types.js +14 -14
  145. package/dist/esm/ag-grid-plus/hooks/index.js +2 -2
  146. package/dist/esm/ag-grid-plus/hooks/useAgGridCalculation.js +45 -45
  147. package/dist/esm/ag-grid-plus/hooks/useAgGridData.js +44 -44
  148. package/dist/esm/ag-grid-plus/hooks/useGridPlusColumnState.js +3 -3
  149. package/dist/esm/ag-grid-plus/hooks/useGridState.js +36 -36
  150. package/dist/esm/ag-grid-plus/index.less +50 -50
  151. package/dist/esm/ag-grid-plus/queryForm/index.less +72 -72
  152. package/dist/esm/ag-grid-plus/setting/ColumnConfigForm.js +11 -11
  153. package/dist/esm/ag-grid-plus/setting/ColumnConfigTable.js +3 -3
  154. package/dist/esm/ag-grid-plus/setting/ColumnNameCellRenderer.js +10 -10
  155. package/dist/esm/ag-grid-plus/setting/ColumnSetting.js +29 -29
  156. package/dist/esm/ag-grid-plus/setting/DebounceInputs.js +9 -9
  157. package/dist/esm/ag-grid-plus/setting/MoveNodeModal.js +7 -7
  158. package/dist/esm/ag-grid-plus/setting/NameColumnRenderer.js +6 -6
  159. package/dist/esm/ag-grid-plus/setting/QuerySchemeManager.js +34 -34
  160. package/dist/esm/ag-grid-plus/setting/columnGroupUtils.js +76 -76
  161. package/dist/esm/ag-grid-plus/setting/performanceMonitor.js +5 -5
  162. package/dist/esm/ag-grid-plus/shared/storage/backendApiAdapter.js +46 -46
  163. package/dist/esm/ag-grid-plus/shared/storage/localStorageAdapter.js +39 -39
  164. package/dist/esm/ag-grid-plus/shared/utils/schemeDataMigration.js +18 -18
  165. package/dist/esm/ag-grid-plus/theme.js +3 -3
  166. package/dist/esm/ag-grid-plus/toolBar/index.js +4 -4
  167. package/dist/esm/ag-grid-plus/types.d.ts +2 -22
  168. package/dist/esm/ag-grid-plus/utils/columnProcessors.js +52 -52
  169. package/dist/esm/ag-grid-plus/utils/constants.js +22 -22
  170. package/dist/esm/ag-grid-plus/utils/entityExtensionColumns.d.ts +1 -0
  171. package/dist/esm/ag-grid-plus/utils/entityExtensionColumns.js +29 -34
  172. package/dist/esm/ag-grid-plus/utils/logger.js +2 -2
  173. package/dist/esm/ag-grid-plus/utils/sanitize.js +10 -10
  174. package/dist/esm/ag-grid-plus/utils.js +3 -3
  175. package/dist/esm/array-table/columnHelper.js +43 -43
  176. package/dist/esm/array-table/hooks.js +11 -9
  177. package/dist/esm/array-table/index.js +40 -41
  178. package/dist/esm/array-table/utils.js +4 -3
  179. package/dist/esm/components/RegexEditor/core/RegexEditor.js +32 -32
  180. package/dist/esm/components/RegexEditor/core/RegexEditor.less +119 -119
  181. package/dist/esm/components/RegexEditor/core/extensions/errorMarker.js +52 -52
  182. package/dist/esm/components/RegexEditor/hooks/index.js +4 -4
  183. package/dist/esm/components/RegexEditor/hooks/useRegexTester.js +48 -48
  184. package/dist/esm/components/RegexEditor/hooks/useRegexValidation.js +54 -54
  185. package/dist/esm/components/RegexEditor/hooks/useTemplateManager.js +5 -5
  186. package/dist/esm/components/RegexEditor/templates/TemplateSelector.js +28 -28
  187. package/dist/esm/components/RegexEditor/templates/builtinTemplates.js +24 -24
  188. package/dist/esm/components/RegexEditor/templates/index.js +2 -2
  189. package/dist/esm/components/RegexEditor/templates/storage.js +29 -29
  190. package/dist/esm/components/RegexEditor/templates/templateManager.js +29 -29
  191. package/dist/esm/components/RegexEditor/templates/types.js +74 -74
  192. package/dist/esm/components/RegexEditor/validation/complexity.js +40 -40
  193. package/dist/esm/components/RegexEditor/validation/parser.js +47 -47
  194. package/dist/esm/components/RegexEditor/validation/validator.js +54 -54
  195. package/dist/esm/components/RegexEditor/visualizer/FlagsSelector.js +19 -19
  196. package/dist/esm/components/RegexEditor/visualizer/MatchItem.js +20 -20
  197. package/dist/esm/components/RegexEditor/visualizer/RegexRailroadDiagram.js +15 -15
  198. package/dist/esm/components/RegexEditor/visualizer/RegexTester.js +17 -17
  199. package/dist/esm/components/RegexEditor/visualizer/astToRailroad.js +11 -11
  200. package/dist/esm/components/RegexEditor/visualizer/index.js +5 -5
  201. package/dist/esm/components/RegexEditor/visualizer/utils.js +92 -92
  202. package/dist/esm/dashboard/dashboard/components/toolbar/style/index.less +49 -49
  203. package/dist/esm/dashboard/dashboard/index.less +173 -173
  204. package/dist/esm/dashboard/dashboard/utils.js +4 -4
  205. package/dist/esm/dashboard/utils.js +8 -8
  206. package/dist/esm/dashboard/widget/index.less +7 -7
  207. package/dist/esm/dashboard/widget/selector/index.less +172 -172
  208. package/dist/esm/deleteConfirm/index.js +17 -17
  209. package/dist/esm/draggableModal/index.js +4 -4
  210. package/dist/esm/draggableModal/style.less +122 -122
  211. package/dist/esm/editable/index.js +16 -1
  212. package/dist/esm/formDesigner/arrayTable/styles.less +2 -2
  213. package/dist/esm/formDesigner/index.less +2 -2
  214. package/dist/esm/fullScreenAlert/index.js +13 -13
  215. package/dist/esm/fullScreenAlert/index.less +133 -133
  216. package/dist/esm/generatedListPage/ConfigurableToolbar.js +2 -2
  217. package/dist/esm/generatedListPage/GeneratedListPage.js +20 -20
  218. package/dist/esm/generatedListPage/OptionsColumn.js +3 -3
  219. package/dist/esm/generatedListPage/PerformanceMonitor.js +9 -9
  220. package/dist/esm/generatedListPage/RequestManager.js +39 -39
  221. package/dist/esm/generatedListPage/_utils/AccessWrapper.js +6 -6
  222. package/dist/esm/generatedListPage/_utils/defaultHandlers.js +14 -14
  223. package/dist/esm/generatedListPage/index.js +9 -9
  224. package/dist/esm/generatedListPage/usePermissionCheck.js +27 -27
  225. package/dist/esm/generatedListPage/useRequestManager.js +20 -20
  226. package/dist/esm/importModal/index.js +4 -4
  227. package/dist/esm/standardFormDialog/FormValidation.js +45 -45
  228. package/dist/esm/standardFormDialog/PortalManager.js +46 -46
  229. package/dist/esm/standardFormDialog/StandardFormDialog.js +20 -20
  230. package/dist/esm/standardFormDialog/useStandardFormSchema.js +24 -24
  231. package/dist/esm/standardFormDialog/withStandardForm.d.ts +2 -2
  232. package/dist/esm/toolBar/index.less +25 -25
  233. package/dist/esm/types/railroad-diagrams.d.ts +59 -59
  234. package/dist/esm/types/regexp-tree.d.ts +175 -175
  235. package/dist/umd/qc-ui.min.js +1 -1
  236. package/package.json +90 -90
  237. package/dist/cjs/ag-grid-plus/shared/hooks/useSchemeManager.d.ts +0 -66
  238. package/dist/cjs/ag-grid-plus/shared/hooks/useSchemeManager.js +0 -648
  239. package/dist/esm/ag-grid-plus/shared/hooks/useSchemeManager.d.ts +0 -66
  240. 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
+ }