@lcap/nasl 4.4.0-beta.9 → 4.4.0-rc.2

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 (204) hide show
  1. package/out/generator/genBundleFiles.d.ts.map +1 -1
  2. package/out/generator/genBundleFiles.js +32 -3
  3. package/out/generator/genBundleFiles.js.map +1 -1
  4. package/out/generator/qiankun.d.ts +1 -1
  5. package/out/generator/qiankun.d.ts.map +1 -1
  6. package/out/generator/qiankun.js +4 -0
  7. package/out/generator/qiankun.js.map +1 -1
  8. package/out/generator/release-body/body.d.ts +0 -1
  9. package/out/generator/release-body/body.d.ts.map +1 -1
  10. package/out/generator/release-body/body.js +1 -390
  11. package/out/generator/release-body/body.js.map +1 -1
  12. package/out/generator/release-body/data.d.ts.map +1 -1
  13. package/out/generator/release-body/data.js +1 -10
  14. package/out/generator/release-body/data.js.map +1 -1
  15. package/out/generator/release-body/share-content.js.map +1 -1
  16. package/out/generator/release-body/types.d.ts +1 -0
  17. package/out/generator/release-body/types.d.ts.map +1 -1
  18. package/out/generator/templates/chunk.js +1 -1
  19. package/out/generator/templates/runtime.js +2 -2
  20. package/out/natural/exports/nasl2Files.d.ts.map +1 -0
  21. package/out/natural/{getContext → exports}/nasl2Files.js +4 -4
  22. package/out/natural/exports/nasl2Files.js.map +1 -0
  23. package/out/natural/{transform2BatchActions.d.ts → exports/transform2BatchActions.d.ts} +1 -1
  24. package/out/natural/exports/transform2BatchActions.d.ts.map +1 -0
  25. package/out/natural/{transform2BatchActions.js → exports/transform2BatchActions.js} +68 -19
  26. package/out/natural/exports/transform2BatchActions.js.map +1 -0
  27. package/out/natural/index.d.ts +12 -12
  28. package/out/natural/index.d.ts.map +1 -1
  29. package/out/natural/index.js +12 -14
  30. package/out/natural/index.js.map +1 -1
  31. package/out/natural/{genNaturalTS.d.ts → old/getContext/genNaturalTS.d.ts} +12 -12
  32. package/out/natural/old/getContext/genNaturalTS.d.ts.map +1 -0
  33. package/out/natural/{genNaturalTS.js → old/getContext/genNaturalTS.js} +65 -65
  34. package/out/natural/old/getContext/genNaturalTS.js.map +1 -0
  35. package/out/natural/old/getContext/genTextualNASL.d.ts.map +1 -0
  36. package/out/natural/old/getContext/genTextualNASL.js.map +1 -0
  37. package/out/natural/{getContext → old/getContext}/getUILib.d.ts +1 -1
  38. package/out/natural/old/getContext/getUILib.d.ts.map +1 -0
  39. package/out/natural/{getContext → old/getContext}/getUILib.js +14 -14
  40. package/out/natural/old/getContext/getUILib.js.map +1 -0
  41. package/out/natural/{getContext → old/getContext}/index.d.ts +3 -3
  42. package/out/natural/old/getContext/index.d.ts.map +1 -0
  43. package/out/natural/{getContext → old/getContext}/index.js +4 -4
  44. package/out/natural/old/getContext/index.js.map +1 -0
  45. package/out/natural/old/getContext/naslStdlibMap.d.ts.map +1 -0
  46. package/out/natural/{getContext → old/getContext}/naslStdlibMap.js +10 -10
  47. package/out/natural/old/getContext/naslStdlibMap.js.map +1 -0
  48. package/out/natural/{transformTS2UI.d.ts → old/parser/transformTS2UI.d.ts} +2 -2
  49. package/out/natural/old/parser/transformTS2UI.d.ts.map +1 -0
  50. package/out/natural/{transformTS2UI.js → old/parser/transformTS2UI.js} +12 -13
  51. package/out/natural/old/parser/transformTS2UI.js.map +1 -0
  52. package/out/natural/{transformTSCode.d.ts → old/parser/transformTSCode.d.ts} +1 -1
  53. package/out/natural/old/parser/transformTSCode.d.ts.map +1 -0
  54. package/out/natural/{transformTSCode.js → old/parser/transformTSCode.js} +6 -6
  55. package/out/natural/old/parser/transformTSCode.js.map +1 -0
  56. package/out/natural/{tools.d.ts → old/tools.d.ts} +0 -4
  57. package/out/natural/old/tools.d.ts.map +1 -0
  58. package/out/natural/{tools.js → old/tools.js} +7 -25
  59. package/out/natural/old/tools.js.map +1 -0
  60. package/out/natural/{parseNaturalTS.d.ts → parser/parseNaturalTS.d.ts} +1 -1
  61. package/out/natural/parser/parseNaturalTS.d.ts.map +1 -0
  62. package/out/natural/{parseNaturalTS.js → parser/parseNaturalTS.js} +14 -10
  63. package/out/natural/parser/parseNaturalTS.js.map +1 -0
  64. package/out/natural/{parseNaturalTSXView.d.ts → parser/parseNaturalTSXView.d.ts} +1 -2
  65. package/out/natural/parser/parseNaturalTSXView.d.ts.map +1 -0
  66. package/out/natural/{parseNaturalTSXView.js → parser/parseNaturalTSXView.js} +51 -58
  67. package/out/natural/parser/parseNaturalTSXView.js.map +1 -0
  68. package/out/natural/transforms/checker/checkDataQueryCalleeNameOrder.d.ts +7 -0
  69. package/out/natural/transforms/checker/checkDataQueryCalleeNameOrder.d.ts.map +1 -0
  70. package/out/natural/transforms/checker/checkDataQueryCalleeNameOrder.js +38 -0
  71. package/out/natural/transforms/checker/checkDataQueryCalleeNameOrder.js.map +1 -0
  72. package/out/natural/transforms/checker/checkDefaultValue.d.ts +13 -0
  73. package/out/natural/transforms/checker/checkDefaultValue.d.ts.map +1 -0
  74. package/out/natural/transforms/checker/checkDefaultValue.js +33 -0
  75. package/out/natural/transforms/checker/checkDefaultValue.js.map +1 -0
  76. package/out/natural/transforms/checker/checkViewElement.d.ts +29 -0
  77. package/out/natural/transforms/checker/checkViewElement.d.ts.map +1 -0
  78. package/out/natural/transforms/checker/checkViewElement.js +422 -0
  79. package/out/natural/transforms/checker/checkViewElement.js.map +1 -0
  80. package/out/natural/transforms/checker/index.d.ts +17 -0
  81. package/out/natural/transforms/checker/index.d.ts.map +1 -0
  82. package/out/natural/transforms/checker/index.js +26 -0
  83. package/out/natural/transforms/checker/index.js.map +1 -0
  84. package/out/natural/transforms/transform2Entity.d.ts +8 -1
  85. package/out/natural/transforms/transform2Entity.d.ts.map +1 -1
  86. package/out/natural/transforms/transform2Entity.js +88 -18
  87. package/out/natural/transforms/transform2Entity.js.map +1 -1
  88. package/out/natural/transforms/transform2Enum.d.ts +1 -1
  89. package/out/natural/transforms/transform2Enum.d.ts.map +1 -1
  90. package/out/natural/transforms/transform2Enum.js +5 -1
  91. package/out/natural/transforms/transform2Enum.js.map +1 -1
  92. package/out/natural/transforms/transform2GlobalLogicDeclaration.d.ts +1 -1
  93. package/out/natural/transforms/transform2GlobalLogicDeclaration.d.ts.map +1 -1
  94. package/out/natural/transforms/transform2GlobalLogicDeclaration.js +3 -3
  95. package/out/natural/transforms/transform2GlobalLogicDeclaration.js.map +1 -1
  96. package/out/natural/transforms/transform2Logic.d.ts +1 -1
  97. package/out/natural/transforms/transform2Logic.d.ts.map +1 -1
  98. package/out/natural/transforms/transform2Logic.js +4 -4
  99. package/out/natural/transforms/transform2Logic.js.map +1 -1
  100. package/out/natural/transforms/transform2LogicItem.d.ts +6 -3
  101. package/out/natural/transforms/transform2LogicItem.d.ts.map +1 -1
  102. package/out/natural/transforms/transform2LogicItem.js +99 -110
  103. package/out/natural/transforms/transform2LogicItem.js.map +1 -1
  104. package/out/natural/transforms/transform2MetadataType.d.ts +1 -1
  105. package/out/natural/transforms/transform2MetadataType.d.ts.map +1 -1
  106. package/out/natural/transforms/transform2MetadataType.js +1 -1
  107. package/out/natural/transforms/transform2MetadataType.js.map +1 -1
  108. package/out/natural/transforms/transform2Param.d.ts +4 -0
  109. package/out/natural/transforms/transform2Param.d.ts.map +1 -0
  110. package/out/natural/transforms/transform2Param.js +114 -0
  111. package/out/natural/transforms/transform2Param.js.map +1 -0
  112. package/out/natural/transforms/transform2Structure.d.ts +1 -1
  113. package/out/natural/transforms/transform2Structure.d.ts.map +1 -1
  114. package/out/natural/transforms/transform2Structure.js +13 -2
  115. package/out/natural/transforms/transform2Structure.js.map +1 -1
  116. package/out/natural/transforms/transform2TypeAnnotation.d.ts +1 -1
  117. package/out/natural/transforms/transform2TypeAnnotation.d.ts.map +1 -1
  118. package/out/natural/transforms/transform2TypeAnnotation.js +2 -2
  119. package/out/natural/transforms/transform2TypeAnnotation.js.map +1 -1
  120. package/out/natural/transforms/transform2ValidationRule.d.ts +1 -1
  121. package/out/natural/transforms/transform2ValidationRule.d.ts.map +1 -1
  122. package/out/natural/transforms/transform2ValidationRule.js +1 -1
  123. package/out/natural/transforms/transform2ValidationRule.js.map +1 -1
  124. package/out/natural/transforms/transform2Variable.d.ts +2 -1
  125. package/out/natural/transforms/transform2Variable.d.ts.map +1 -1
  126. package/out/natural/transforms/transform2Variable.js +22 -2
  127. package/out/natural/transforms/transform2Variable.js.map +1 -1
  128. package/out/natural/transforms/transformThemeAndStyle.d.ts +1 -1
  129. package/out/natural/transforms/transformThemeAndStyle.d.ts.map +1 -1
  130. package/out/natural/transforms/transformThemeAndStyle.js +1 -1
  131. package/out/natural/transforms/transformThemeAndStyle.js.map +1 -1
  132. package/out/natural/transforms/utils/fetchFromComments.d.ts +3 -0
  133. package/out/natural/transforms/utils/fetchFromComments.d.ts.map +1 -0
  134. package/out/natural/transforms/utils/fetchFromComments.js +10 -0
  135. package/out/natural/transforms/utils/fetchFromComments.js.map +1 -0
  136. package/out/natural/transforms/utils/misc.d.ts +16 -0
  137. package/out/natural/transforms/utils/misc.d.ts.map +1 -0
  138. package/out/natural/transforms/utils/misc.js +240 -0
  139. package/out/natural/transforms/utils/misc.js.map +1 -0
  140. package/out/natural/transforms/utils/parseDecorator.d.ts +46 -0
  141. package/out/natural/transforms/utils/parseDecorator.d.ts.map +1 -0
  142. package/out/natural/transforms/utils/parseDecorator.js +180 -0
  143. package/out/natural/transforms/utils/parseDecorator.js.map +1 -0
  144. package/out/natural/utils/index.d.ts +59 -0
  145. package/out/natural/utils/index.d.ts.map +1 -0
  146. package/out/natural/utils/index.js +168 -0
  147. package/out/natural/utils/index.js.map +1 -0
  148. package/out/server/extendBaseNode.js +14 -0
  149. package/out/server/extendBaseNode.js.map +1 -1
  150. package/out/server/findReference.js +1 -1
  151. package/out/server/findReference.js.map +1 -1
  152. package/out/server/naslServer.d.ts.map +1 -1
  153. package/out/server/naslServer.js +33 -17
  154. package/out/server/naslServer.js.map +1 -1
  155. package/out/server/translator.js.map +1 -1
  156. package/out/service/autofix/rules/rule-convert-incompatible-assignment-to-union.js.map +1 -1
  157. package/out/service/storage/init.d.ts.map +1 -1
  158. package/out/service/storage/init.js +9 -2
  159. package/out/service/storage/init.js.map +1 -1
  160. package/out/templator/block2nasl/transformBlock2Nasl.js +2 -2
  161. package/out/templator/block2nasl/transformBlock2Nasl.js.map +1 -1
  162. package/out/utils/can-i-use.d.ts.map +1 -1
  163. package/out/utils/can-i-use.js +1 -0
  164. package/out/utils/can-i-use.js.map +1 -1
  165. package/package.json +9 -9
  166. package/sandbox/stdlib/nasl.core.ts +2 -0
  167. package/sandbox/stdlib/nasl.io.ts +1 -1
  168. package/sandbox/stdlib/nasl.oql.ts +2 -0
  169. package/out/natural/genNaturalTS.d.ts.map +0 -1
  170. package/out/natural/genNaturalTS.js.map +0 -1
  171. package/out/natural/genTextualNASL.d.ts.map +0 -1
  172. package/out/natural/genTextualNASL.js.map +0 -1
  173. package/out/natural/getContext/getUILib.d.ts.map +0 -1
  174. package/out/natural/getContext/getUILib.js.map +0 -1
  175. package/out/natural/getContext/index.d.ts.map +0 -1
  176. package/out/natural/getContext/index.js.map +0 -1
  177. package/out/natural/getContext/nasl2Files.d.ts.map +0 -1
  178. package/out/natural/getContext/nasl2Files.js.map +0 -1
  179. package/out/natural/getContext/naslStdlibMap.d.ts.map +0 -1
  180. package/out/natural/getContext/naslStdlibMap.js.map +0 -1
  181. package/out/natural/parseNaturalTS.d.ts.map +0 -1
  182. package/out/natural/parseNaturalTS.js.map +0 -1
  183. package/out/natural/parseNaturalTSXView.d.ts.map +0 -1
  184. package/out/natural/parseNaturalTSXView.js.map +0 -1
  185. package/out/natural/tools.d.ts.map +0 -1
  186. package/out/natural/tools.js.map +0 -1
  187. package/out/natural/transform2BatchActions.d.ts.map +0 -1
  188. package/out/natural/transform2BatchActions.js.map +0 -1
  189. package/out/natural/transformTS2UI.d.ts.map +0 -1
  190. package/out/natural/transformTS2UI.js.map +0 -1
  191. package/out/natural/transformTSCode.d.ts.map +0 -1
  192. package/out/natural/transformTSCode.js.map +0 -1
  193. package/out/natural/transforms/checkViewElement.d.ts +0 -12
  194. package/out/natural/transforms/checkViewElement.d.ts.map +0 -1
  195. package/out/natural/transforms/checkViewElement.js +0 -143
  196. package/out/natural/transforms/checkViewElement.js.map +0 -1
  197. package/out/natural/transforms/utils.d.ts +0 -137
  198. package/out/natural/transforms/utils.d.ts.map +0 -1
  199. package/out/natural/transforms/utils.js +0 -714
  200. package/out/natural/transforms/utils.js.map +0 -1
  201. /package/out/natural/{getContext → exports}/nasl2Files.d.ts +0 -0
  202. /package/out/natural/{genTextualNASL.d.ts → old/getContext/genTextualNASL.d.ts} +0 -0
  203. /package/out/natural/{genTextualNASL.js → old/getContext/genTextualNASL.js} +0 -0
  204. /package/out/natural/{getContext → old/getContext}/naslStdlibMap.d.ts +0 -0
@@ -0,0 +1,240 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleListSort = exports.upgradeListSort = exports.replaceCallFunctionMap = exports.callFunctionMap = void 0;
4
+ const utils_1 = require("../../utils");
5
+ exports.callFunctionMap = [
6
+ 'Convert',
7
+ 'FormatNumber',
8
+ 'FormatDateTime',
9
+ 'FormatDate',
10
+ 'FromString',
11
+ 'ToString',
12
+ 'Length',
13
+ 'IndexOf',
14
+ 'Join',
15
+ 'LastIndexOf',
16
+ 'Replace',
17
+ 'Split',
18
+ 'SubString',
19
+ 'ToLower',
20
+ 'ToUpper',
21
+ 'Trim',
22
+ 'CurrDate',
23
+ 'CurrDateTime',
24
+ 'CurrTime',
25
+ 'DateDiff',
26
+ 'AlterDateTime',
27
+ 'GetDateCount',
28
+ 'GetSpecificDaysOfWeek',
29
+ 'ListAdd',
30
+ 'ListAddAll',
31
+ 'ListContains',
32
+ 'ListInsert',
33
+ 'ListDistinct',
34
+ 'ListDistinctBy',
35
+ 'ListFilter',
36
+ 'ListFind',
37
+ 'ListFindIndex',
38
+ 'ListFlatten',
39
+ 'ListGroupBy',
40
+ 'ListHead',
41
+ 'ListLast',
42
+ 'ListMax',
43
+ 'ListMin',
44
+ 'ListReverse',
45
+ 'ListSlice',
46
+ 'ListSort',
47
+ 'ListSum',
48
+ 'ListToMap',
49
+ 'ListTransform',
50
+ 'ListGet',
51
+ 'ListRemove',
52
+ 'ListRemoveAt',
53
+ 'ListSet',
54
+ 'ListRange',
55
+ 'ListRepeat',
56
+ 'MapContains',
57
+ 'MapGet',
58
+ 'MapPut',
59
+ 'MapKeys',
60
+ 'MapRemove',
61
+ 'MapValues',
62
+ 'EnumToList',
63
+ 'EnumItemToText',
64
+ 'Round',
65
+ 'Clear',
66
+ 'Clone',
67
+ 'HasValue',
68
+ 'RandomInt',
69
+ 'NewList',
70
+ 'NewMap',
71
+ 'NewEntity',
72
+ 'NewStructure',
73
+ 'NewAnonymousStructure',
74
+ 'jsonSerialize',
75
+ 'jsonDeserialize',
76
+ "Add",
77
+ "AddAll",
78
+ "Contains",
79
+ "Insert",
80
+ "Get",
81
+ "Remove",
82
+ "RemoveAt",
83
+ "Set",
84
+ "Ceil",
85
+ "Floor",
86
+ "Trunc",
87
+ "TruncDivide",
88
+ "Abs",
89
+ "Pow",
90
+ "Sqrt",
91
+ "Cbrt",
92
+ "Log",
93
+ "PadStart",
94
+ "PadEnd",
95
+ "TrimStart",
96
+ "TrimEnd",
97
+ ];
98
+ exports.replaceCallFunctionMap = {
99
+ "ListAdd": "Add",
100
+ "ListAddAll": "AddAll",
101
+ "ListContains": "Contains",
102
+ "ListInsert": "Insert",
103
+ "ListGet": "Get",
104
+ "ListRemove": "Remove",
105
+ "ListRemoveAt": "RemoveAt",
106
+ "ListSet": "Set",
107
+ "COUNTD": "COUNT",
108
+ };
109
+ function upgradeListSort(node) {
110
+ const asc = node?.arguments?.[2]?.expression;
111
+ const by = node?.arguments?.[1]?.expression;
112
+ const newArgument = [
113
+ {
114
+ ...node.arguments[0]
115
+ },
116
+ {
117
+ concept: 'Argument',
118
+ keyword: 'fn1',
119
+ expression: {
120
+ concept: 'AnonymousFunction',
121
+ body: {
122
+ concept: 'NewComposite',
123
+ typeAnnotation: {
124
+ concept: 'TypeAnnotation',
125
+ typeKind: 'anonymousStructure',
126
+ properties: [
127
+ {
128
+ concept: 'StructureProperty',
129
+ name: 'asc',
130
+ typeAnnotation: {
131
+ concept: 'TypeAnnotation',
132
+ typeKind: 'primitive',
133
+ typeNamespace: 'nasl.core',
134
+ typeName: 'Boolean'
135
+ }
136
+ },
137
+ {
138
+ concept: 'StructureProperty',
139
+ name: 'by',
140
+ typeAnnotation: null
141
+ }
142
+ ]
143
+ },
144
+ properties: [
145
+ {
146
+ concept: 'Identifier',
147
+ name: 'asc',
148
+ folded: false,
149
+ typeAnnotation: null
150
+ },
151
+ {
152
+ concept: 'Identifier',
153
+ name: 'by',
154
+ folded: false,
155
+ typeAnnotation: null
156
+ }
157
+ ],
158
+ rights: [
159
+ {
160
+ concept: 'SelectMembers',
161
+ hideMembers: false,
162
+ expression: asc,
163
+ members: []
164
+ }
165
+ ],
166
+ assignmentLines: [
167
+ {
168
+ concept: 'AssignmentLine',
169
+ leftIndex: [0, 0],
170
+ rightIndex: [0]
171
+ }
172
+ ]
173
+ },
174
+ params: by?.params
175
+ }
176
+ }
177
+ ];
178
+ if (by?.body) {
179
+ newArgument[1].expression.body.rights.push({
180
+ concept: 'SelectMembers',
181
+ hideMembers: false,
182
+ expression: by.body,
183
+ members: []
184
+ });
185
+ newArgument[1].expression.body.assignmentLines.push({
186
+ concept: 'AssignmentLine',
187
+ leftIndex: [0, 1],
188
+ rightIndex: [1]
189
+ });
190
+ }
191
+ node.arguments = newArgument;
192
+ return node;
193
+ }
194
+ exports.upgradeListSort = upgradeListSort;
195
+ function handleListSort(node, parseState) {
196
+ const args = node?.arguments;
197
+ let hasErrorArg = false;
198
+ if (args?.[args?.length - 1]?.expression?.concept === 'BooleanLiteral') {
199
+ if (utils_1.DEBUG)
200
+ return (0, utils_1.throwError)(parseState, '调用 ListSort 函数需要使用最新的写法');
201
+ // 老的 ListSort 结构'nasl.util.ListSort(variable1, (item) => item, true)',要升级成新的
202
+ return upgradeListSort(node);
203
+ }
204
+ else {
205
+ args?.forEach((arg, index) => {
206
+ // 新的 ListSort: nasl.util.ListSort(list, (item) => ({ asc: true, by: item.name}))
207
+ if (index !== 0) {
208
+ const argExpression = arg?.expression;
209
+ if (argExpression?.concept === 'AnonymousFunction' && argExpression?.body?.concept === 'NewComposite') {
210
+ // 做下特殊处理
211
+ if (argExpression?.body?.rights[1] && argExpression?.body?.rights[1]?.members[0]) {
212
+ argExpression.body.rights[1].expression = argExpression?.body?.rights[1]?.members[0];
213
+ argExpression.body.rights[1].members = [];
214
+ argExpression.body.assignmentLines[1].rightIndex = [1];
215
+ }
216
+ if (!argExpression?.params?.length) {
217
+ argExpression.params = [
218
+ {
219
+ concept: 'Param',
220
+ name: 'item',
221
+ typeAnnotation: null
222
+ }
223
+ ];
224
+ }
225
+ }
226
+ else if (argExpression?.concept === 'SubLogic') {
227
+ hasErrorArg = false;
228
+ }
229
+ else {
230
+ hasErrorArg = true;
231
+ }
232
+ }
233
+ });
234
+ if (hasErrorArg)
235
+ return null;
236
+ return node;
237
+ }
238
+ }
239
+ exports.handleListSort = handleListSort;
240
+ //# sourceMappingURL=misc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../../../src/natural/transforms/utils/misc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { babelTypes, naslTypes, type ParseNaturalTSState } from '../../utils';
2
+ /**
3
+ * 从装饰器对象表达式中提取指定的属性
4
+ */
5
+ export declare function pickDecoratorObject(objectExpression: babelTypes.ObjectExpression, keys: Set<string>, mappings: Record<string, string>, parseState: ParseNaturalTSState): Record<string, any>;
6
+ /**
7
+ * 装饰器处理器配置接口
8
+ */
9
+ export interface DecoratorHandler<K extends string = never> {
10
+ name: string;
11
+ allowedKeys?: Set<K>;
12
+ mappings?: {
13
+ [Key in K]?: string;
14
+ };
15
+ customHandler?: (decorator: babelTypes.Decorator, target: naslTypes.BaseNode, parseState: ParseNaturalTSState) => void;
16
+ }
17
+ /**
18
+ * Entity 装饰器处理器配置
19
+ */
20
+ export declare const ENTITY_DECORATOR: DecoratorHandler<'title' | 'uuid' | 'tableName' | 'origin'>;
21
+ /**
22
+ * EntityProperty 装饰器处理器配置
23
+ */
24
+ export declare const ENTITY_PROPERTY_DECORATOR: DecoratorHandler<'title' | 'description' | 'uuid' | 'columnName' | 'required' | 'primaryKey' | 'generationRule' | 'sequence'>;
25
+ /**
26
+ * EntityRelation 装饰器处理器配置(特殊处理)
27
+ */
28
+ export declare const ENTITY_RELATION_DECORATOR: DecoratorHandler;
29
+ /**
30
+ * Enum 装饰器处理器配置
31
+ */
32
+ export declare const ENUM_DECORATOR: DecoratorHandler<'title' | 'description'>;
33
+ /**
34
+ * Structure 装饰器处理器配置
35
+ */
36
+ export declare const STRUCTURE_DECORATOR: DecoratorHandler<'title'>;
37
+ /**
38
+ * StructureProperty 装饰器处理器配置
39
+ */
40
+ export declare const STRUCTURE_PROPERTY_DECORATOR: DecoratorHandler<'title' | 'description' | 'jsonName'>;
41
+ /**
42
+ * 统一的装饰器处理函数
43
+ * 根据配置的处理器列表处理所有装饰器
44
+ */
45
+ export declare function processDecoratorsByConfig(decorators: babelTypes.Decorator[] | undefined, handlers: DecoratorHandler<string>[], target: naslTypes.BaseNode, parseState: ParseNaturalTSState): void;
46
+ //# sourceMappingURL=parseDecorator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseDecorator.d.ts","sourceRoot":"","sources":["../../../../src/natural/transforms/utils/parseDecorator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAY,SAAS,EAAc,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGpG;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,mBAAmB,uBA8BtK;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,KAAK;IACtD,IAAI,EAAE,MAAM,CAAC;IAEb,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IAErB,QAAQ,CAAC,EAAE;SAAG,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM;KAAE,CAAC;IAEnC,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,QAAQ,EAAE,UAAU,EAAE,mBAAmB,KAAK,IAAI,CAAC;CAC1H;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,gBAAgB,CAAC,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAMxF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,gBAAgB,CAAC,OAAO,GAAG,aAAa,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,gBAAgB,GAAG,UAAU,CAgBnK,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,gBA0BvC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,gBAAgB,CAAC,OAAO,GAAG,aAAa,CAMpE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,gBAAgB,CAAC,OAAO,CAMzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,gBAAgB,CAAC,OAAO,GAAG,aAAa,GAAG,UAAU,CAM/F,CAAC;AAEF;;;GAGG;AACH,wBAAgB,yBAAyB,CACrC,UAAU,EAAE,UAAU,CAAC,SAAS,EAAE,GAAG,SAAS,EAC9C,QAAQ,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAAE,EACpC,MAAM,EAAE,SAAS,CAAC,QAAQ,EAC1B,UAAU,EAAE,mBAAmB,GAChC,IAAI,CAiCN"}
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processDecoratorsByConfig = exports.STRUCTURE_PROPERTY_DECORATOR = exports.STRUCTURE_DECORATOR = exports.ENUM_DECORATOR = exports.ENTITY_RELATION_DECORATOR = exports.ENTITY_PROPERTY_DECORATOR = exports.ENTITY_DECORATOR = exports.pickDecoratorObject = void 0;
4
+ const utils_1 = require("../../utils");
5
+ const transform2Entity_1 = require("../transform2Entity");
6
+ /**
7
+ * 从装饰器对象表达式中提取指定的属性
8
+ */
9
+ function pickDecoratorObject(objectExpression, keys, mappings, parseState) {
10
+ mappings = mappings || {};
11
+ const result = {};
12
+ objectExpression.properties.forEach((item) => {
13
+ if (item.type === 'ObjectProperty' && item.key.type === 'Identifier' && keys.has(item.key.name)) {
14
+ let value;
15
+ if (item.value.type === 'NullLiteral') {
16
+ value = null;
17
+ }
18
+ else if (item.value.type === 'BooleanLiteral') {
19
+ value = item.value.value;
20
+ }
21
+ else if (item.value.type === 'StringLiteral') {
22
+ value = item.value.value;
23
+ }
24
+ else if (item.value.type === 'NumericLiteral') {
25
+ value = item.value.value;
26
+ }
27
+ else if (item.key.name === 'databaseTypeAnnotation') {
28
+ if (item.value.type === 'Identifier' || item.value.type === 'CallExpression') {
29
+ value = (0, transform2Entity_1.transform2DatabaseTypeAnnotation)(item.value, parseState);
30
+ }
31
+ else {
32
+ return (0, utils_1.throwError)(parseState, '不支持的 databaseTypeAnnotation 类型:' + (0, utils_1.generate)(item).code);
33
+ }
34
+ }
35
+ else {
36
+ return (0, utils_1.throwError)(parseState, '不支持的装饰器对象属性值:' + (0, utils_1.generate)(item).code);
37
+ }
38
+ const propStr = mappings[item.key.name] || item.key.name;
39
+ result[propStr] = value;
40
+ }
41
+ else {
42
+ return (0, utils_1.throwError)(parseState, '不支持的装饰器对象属性:' + (0, utils_1.generate)(item).code);
43
+ }
44
+ });
45
+ return result;
46
+ }
47
+ exports.pickDecoratorObject = pickDecoratorObject;
48
+ /**
49
+ * Entity 装饰器处理器配置
50
+ */
51
+ exports.ENTITY_DECORATOR = {
52
+ name: 'Entity',
53
+ allowedKeys: new Set(['title', 'uuid', 'tableName', 'origin']),
54
+ mappings: {
55
+ title: 'description',
56
+ },
57
+ };
58
+ /**
59
+ * EntityProperty 装饰器处理器配置
60
+ */
61
+ exports.ENTITY_PROPERTY_DECORATOR = {
62
+ name: 'EntityProperty',
63
+ allowedKeys: new Set([
64
+ 'title',
65
+ 'description',
66
+ 'uuid',
67
+ 'columnName',
68
+ 'required',
69
+ 'primaryKey',
70
+ // 'databaseTypeAnnotation',
71
+ 'generationRule',
72
+ 'sequence',
73
+ ]),
74
+ mappings: {
75
+ title: 'label',
76
+ },
77
+ };
78
+ /**
79
+ * EntityRelation 装饰器处理器配置(特殊处理)
80
+ */
81
+ exports.ENTITY_RELATION_DECORATOR = {
82
+ name: 'EntityRelation',
83
+ customHandler: (decorator, property, parseState) => {
84
+ const decoratorExpression = decorator.expression;
85
+ if (decoratorExpression.type === 'CallExpression') {
86
+ const decoratorsNode = decoratorExpression.typeParameters;
87
+ if (decoratorsNode.params && decoratorsNode.params[0].type === 'TSIndexedAccessType') {
88
+ const releationNode = decoratorsNode.params[0];
89
+ const relationProperty = (0, utils_1.generate)(releationNode.indexType).code || '';
90
+ const objectTypeName = releationNode.objectType.typeName;
91
+ const relationEntity = (0, utils_1.generate)(objectTypeName.right).code || '';
92
+ const relationNamespace = (0, utils_1.generate)(objectTypeName.left).code || '';
93
+ property.relationNamespace = relationNamespace;
94
+ property.relationEntity = relationEntity;
95
+ property.relationProperty = relationProperty.replace(/[']/g, '');
96
+ }
97
+ const arg = decoratorExpression.arguments[0];
98
+ if (arg && arg.type === 'StringLiteral') {
99
+ property.deleteRule = arg.value.toLowerCase();
100
+ }
101
+ else {
102
+ property.deleteRule = 'protect';
103
+ }
104
+ }
105
+ else {
106
+ (0, utils_1.throwError)(parseState, 'EntityRelation 不支持这种装饰器写法', decorator);
107
+ }
108
+ },
109
+ };
110
+ /**
111
+ * Enum 装饰器处理器配置
112
+ */
113
+ exports.ENUM_DECORATOR = {
114
+ name: 'Enum',
115
+ allowedKeys: new Set(['title', 'description']),
116
+ mappings: {
117
+ title: 'description',
118
+ },
119
+ };
120
+ /**
121
+ * Structure 装饰器处理器配置
122
+ */
123
+ exports.STRUCTURE_DECORATOR = {
124
+ name: 'Structure',
125
+ allowedKeys: new Set(['title']),
126
+ mappings: {
127
+ title: 'description',
128
+ },
129
+ };
130
+ /**
131
+ * StructureProperty 装饰器处理器配置
132
+ */
133
+ exports.STRUCTURE_PROPERTY_DECORATOR = {
134
+ name: 'StructureProperty',
135
+ allowedKeys: new Set(['title', 'description', 'jsonName']),
136
+ mappings: {
137
+ title: 'label',
138
+ },
139
+ };
140
+ /**
141
+ * 统一的装饰器处理函数
142
+ * 根据配置的处理器列表处理所有装饰器
143
+ */
144
+ function processDecoratorsByConfig(decorators, handlers, target, parseState) {
145
+ if (!decorators || decorators.length === 0)
146
+ return;
147
+ decorators.forEach((decorator) => {
148
+ handlers.forEach((handler) => {
149
+ const decoratorExpression = decorator.expression;
150
+ // 检查是否匹配当前处理器
151
+ if (decoratorExpression.type === 'CallExpression' &&
152
+ decoratorExpression.callee.type === 'Identifier' &&
153
+ decoratorExpression.callee.name === handler.name) {
154
+ // 优先使用自定义处理器
155
+ if (handler.customHandler) {
156
+ handler.customHandler(decorator, target, parseState);
157
+ }
158
+ else if (handler.allowedKeys) { // 使用通用属性提取逻辑
159
+ const decoratorArgs = decoratorExpression.arguments[0];
160
+ if (decoratorArgs) {
161
+ if (decoratorArgs.type === 'ObjectExpression') {
162
+ const decoratorProps = pickDecoratorObject(decoratorArgs, handler.allowedKeys, handler.mappings, parseState);
163
+ Object.keys(decoratorProps).forEach(key => {
164
+ if (decoratorProps[key] !== undefined) {
165
+ target[key] = decoratorProps[key];
166
+ }
167
+ });
168
+ }
169
+ else {
170
+ (0, utils_1.throwError)(parseState, '不支持的装饰器参数形式,应该使用对象表达式', decoratorArgs);
171
+ }
172
+ }
173
+ }
174
+ }
175
+ // ignore other decorators
176
+ });
177
+ });
178
+ }
179
+ exports.processDecoratorsByConfig = processDecoratorsByConfig;
180
+ //# sourceMappingURL=parseDecorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseDecorator.js","sourceRoot":"","sources":["../../../../src/natural/transforms/utils/parseDecorator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import * as babel from '@babel/core';
2
+ import * as babelTypes from '@babel/types';
3
+ import generate from '@babel/generator';
4
+ import * as naslTypes from '../../concepts';
5
+ export { babelTypes, naslTypes, generate };
6
+ export { genHash, uuidv4, firstLowerCase, firstUpperCase, splitPath } from '../../utils';
7
+ export declare function DEBUG(): boolean;
8
+ export declare const parseNaturalTSErrorMap: Record<number, Array<string>>;
9
+ export declare class ParseNaturalTSError extends Error {
10
+ constructor(message: string);
11
+ }
12
+ export type componentsMap = Map<string, {
13
+ component: any;
14
+ propsMap: Map<string, any>;
15
+ eventsMap: Map<string, any>;
16
+ slotsMap: Map<string, any>;
17
+ }>;
18
+ export interface ParseNaturalTSState {
19
+ $$beacon: true;
20
+ parsingId?: number;
21
+ nodeNamespace?: string;
22
+ nodeName?: string;
23
+ moduleName?: string;
24
+ appendExtName?: boolean;
25
+ source?: string;
26
+ componentsMap?: componentsMap;
27
+ strictForTraining?: boolean;
28
+ }
29
+ export interface ParseLogicState extends ParseNaturalTSState {
30
+ isInFrontend?: boolean;
31
+ logicType?: 'global_logic' | 'view_logic' | 'event_logic';
32
+ logicKind?: 'declare' | 'export';
33
+ }
34
+ export interface ParseViewState extends ParseLogicState {
35
+ nameMap: Map<string, boolean>;
36
+ parentTag?: string;
37
+ isRootLevel?: boolean;
38
+ }
39
+ /**
40
+ * 抛出错误
41
+ * @param message 错误信息
42
+ * @param babelNode babel节点,用于便捷生成代码片段信息
43
+ * @param babelNode2 babel节点,用于便捷生成代码片段信息
44
+ */
45
+ export declare function throwError(state: ParseNaturalTSState, message: string, babelNode?: babelTypes.Node | string, babelNode2?: babelTypes.Node | string): undefined;
46
+ /**
47
+ * 抛出警告,在 DEBUG 模式下不抛出这类错误
48
+ * @param message 错误信息
49
+ * @param babelNode babel节点,用于便捷生成代码片段信息
50
+ * @param babelNode2 babel节点,用于便捷生成代码片段信息
51
+ */
52
+ export declare function throwWarning(message: string, babelNode?: babelTypes.Node | string, babelNode2?: babelTypes.Node | string): void;
53
+ export declare function tryParseTS(tsCode: string): import("@babel/parser").ParseResult<babel.types.File>;
54
+ export declare function fetchFromComments(comments?: Array<babelTypes.Comment | babelTypes.CommentBlock>): string;
55
+ export declare const genAIUID: (node: any, sessionId: string, num?: number) => {
56
+ node: any;
57
+ number: number;
58
+ };
59
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/natural/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,aAAa,CAAC;AACrC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,QAAQ,MAAM,kBAAkB,CAAC;AACxC,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAI5C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;AAG3C,OAAO,EACL,OAAO,EACP,MAAM,EACN,cAAc,EACd,cAAc,EACd,SAAS,EACV,MAAM,aAAa,CAAC;AAGrB,wBAAgB,KAAK,YAEpB;AAED,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAM,CAAC;AAExE,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAGD,MAAM,MAAM,aAAa,GAAG,GAAG,CAC7B,MAAM,EACN;IACE,SAAS,EAAE,GAAG,CAAC;IACf,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC5B,CACF,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,IAAI,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,eAAgB,SAAQ,mBAAmB;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,cAAc,GAAG,YAAY,GAAG,aAAa,CAAC;IAC1D,SAAS,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;CAClC;AAED,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,IAAI,GAAG,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,IAAI,GAAG,MAAM,GAAG,SAAS,CAwC9J;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,IAAI,GAAG,MAAM,EAAE,UAAU,CAAC,EAAE,UAAU,CAAC,IAAI,GAAG,MAAM,QAYxH;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,yDAWxC;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,UAG/F;AAID,eAAO,MAAM,QAAQ,SAAU,GAAG,aAAa,MAAM,QAAQ,MAAM;;;CAoBlE,CAAC"}