@lcap/nasl 4.3.0-rc.4 → 4.4.0-beta.1

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 (127) hide show
  1. package/out/generator/annotation/full.d.ts.map +1 -1
  2. package/out/generator/annotation/full.js +0 -32
  3. package/out/generator/annotation/full.js.map +1 -1
  4. package/out/generator/genBundleFiles.d.ts +1 -0
  5. package/out/generator/genBundleFiles.d.ts.map +1 -1
  6. package/out/generator/genBundleFiles.js +3 -2
  7. package/out/generator/genBundleFiles.js.map +1 -1
  8. package/out/generator/genSimpleBundleFile.d.ts +19 -0
  9. package/out/generator/genSimpleBundleFile.d.ts.map +1 -0
  10. package/out/generator/genSimpleBundleFile.js +114 -0
  11. package/out/generator/genSimpleBundleFile.js.map +1 -0
  12. package/out/generator/index.d.ts +1 -0
  13. package/out/generator/index.d.ts.map +1 -1
  14. package/out/generator/index.js +1 -0
  15. package/out/generator/index.js.map +1 -1
  16. package/out/generator/release-body/utils.d.ts.map +1 -1
  17. package/out/generator/release-body/utils.js +1 -0
  18. package/out/generator/release-body/utils.js.map +1 -1
  19. package/out/manager/diagnostic.d.ts.map +1 -1
  20. package/out/manager/diagnostic.js +0 -1
  21. package/out/manager/diagnostic.js.map +1 -1
  22. package/out/natural/getContext/index.js +1 -1
  23. package/out/natural/getContext/index.js.map +1 -1
  24. package/out/natural/index.d.ts +2 -0
  25. package/out/natural/index.d.ts.map +1 -1
  26. package/out/natural/index.js +4 -0
  27. package/out/natural/index.js.map +1 -1
  28. package/out/natural/parseNaturalTS.d.ts +5 -8
  29. package/out/natural/parseNaturalTS.d.ts.map +1 -1
  30. package/out/natural/parseNaturalTS.js +205 -54
  31. package/out/natural/parseNaturalTS.js.map +1 -1
  32. package/out/natural/parseNaturalTSXView.d.ts +7 -0
  33. package/out/natural/parseNaturalTSXView.d.ts.map +1 -0
  34. package/out/natural/parseNaturalTSXView.js +722 -0
  35. package/out/natural/parseNaturalTSXView.js.map +1 -0
  36. package/out/natural/tools.js +2 -2
  37. package/out/natural/tools.js.map +1 -1
  38. package/out/natural/transformTS2UI.d.ts.map +1 -1
  39. package/out/natural/transformTS2UI.js +16 -25
  40. package/out/natural/transformTS2UI.js.map +1 -1
  41. package/out/natural/transformTSCode.d.ts.map +1 -1
  42. package/out/natural/transformTSCode.js +11 -4
  43. package/out/natural/transformTSCode.js.map +1 -1
  44. package/out/natural/transforms/transform2Entity.d.ts +2 -2
  45. package/out/natural/transforms/transform2Entity.d.ts.map +1 -1
  46. package/out/natural/transforms/transform2Entity.js +31 -7
  47. package/out/natural/transforms/transform2Entity.js.map +1 -1
  48. package/out/natural/transforms/transform2Enum.d.ts +2 -2
  49. package/out/natural/transforms/transform2Enum.d.ts.map +1 -1
  50. package/out/natural/transforms/transform2Enum.js +20 -4
  51. package/out/natural/transforms/transform2Enum.js.map +1 -1
  52. package/out/natural/transforms/transform2GlobalLogicDeclaration.d.ts +2 -2
  53. package/out/natural/transforms/transform2GlobalLogicDeclaration.d.ts.map +1 -1
  54. package/out/natural/transforms/transform2GlobalLogicDeclaration.js +4 -4
  55. package/out/natural/transforms/transform2GlobalLogicDeclaration.js.map +1 -1
  56. package/out/natural/transforms/transform2Logic.d.ts +4 -2
  57. package/out/natural/transforms/transform2Logic.d.ts.map +1 -1
  58. package/out/natural/transforms/transform2Logic.js +45 -8
  59. package/out/natural/transforms/transform2Logic.js.map +1 -1
  60. package/out/natural/transforms/transform2LogicItem.d.ts +63 -30
  61. package/out/natural/transforms/transform2LogicItem.d.ts.map +1 -1
  62. package/out/natural/transforms/transform2LogicItem.js +500 -222
  63. package/out/natural/transforms/transform2LogicItem.js.map +1 -1
  64. package/out/natural/transforms/transform2MetadataType.d.ts +3 -0
  65. package/out/natural/transforms/transform2MetadataType.d.ts.map +1 -0
  66. package/out/natural/transforms/transform2MetadataType.js +14 -0
  67. package/out/natural/transforms/transform2MetadataType.js.map +1 -0
  68. package/out/natural/transforms/transform2Structure.d.ts +2 -2
  69. package/out/natural/transforms/transform2Structure.d.ts.map +1 -1
  70. package/out/natural/transforms/transform2Structure.js +5 -5
  71. package/out/natural/transforms/transform2Structure.js.map +1 -1
  72. package/out/natural/transforms/transform2TypeAnnotation.d.ts +2 -2
  73. package/out/natural/transforms/transform2TypeAnnotation.d.ts.map +1 -1
  74. package/out/natural/transforms/transform2TypeAnnotation.js +10 -14
  75. package/out/natural/transforms/transform2TypeAnnotation.js.map +1 -1
  76. package/out/natural/transforms/transform2ValidationRule.d.ts +3 -0
  77. package/out/natural/transforms/transform2ValidationRule.d.ts.map +1 -0
  78. package/out/natural/transforms/transform2ValidationRule.js +24 -0
  79. package/out/natural/transforms/transform2ValidationRule.js.map +1 -0
  80. package/out/natural/transforms/transform2Variable.d.ts +3 -2
  81. package/out/natural/transforms/transform2Variable.d.ts.map +1 -1
  82. package/out/natural/transforms/transform2Variable.js +30 -6
  83. package/out/natural/transforms/transform2Variable.js.map +1 -1
  84. package/out/natural/transforms/transformThemeAndStyle.d.ts +24 -0
  85. package/out/natural/transforms/transformThemeAndStyle.d.ts.map +1 -0
  86. package/out/natural/transforms/transformThemeAndStyle.js +269 -0
  87. package/out/natural/transforms/transformThemeAndStyle.js.map +1 -0
  88. package/out/natural/transforms/utils.d.ts +37 -3
  89. package/out/natural/transforms/utils.d.ts.map +1 -1
  90. package/out/natural/transforms/utils.js +95 -13
  91. package/out/natural/transforms/utils.js.map +1 -1
  92. package/out/server/OQL/oql-cache.js +1 -1
  93. package/out/server/OQL/oql-cache.js.map +1 -1
  94. package/out/server/OQL/sqlCategory.json +410 -0
  95. package/out/server/OQL/sqlFunctions.json +695 -7
  96. package/out/server/OQL/utils.d.ts +1 -0
  97. package/out/server/OQL/utils.d.ts.map +1 -1
  98. package/out/server/OQL/utils.js +1 -0
  99. package/out/server/OQL/utils.js.map +1 -1
  100. package/out/server/index.d.ts +1 -0
  101. package/out/server/index.d.ts.map +1 -1
  102. package/out/server/index.js +1 -0
  103. package/out/server/index.js.map +1 -1
  104. package/out/server/naslServer.d.ts +4 -1
  105. package/out/server/naslServer.d.ts.map +1 -1
  106. package/out/server/naslServer.js +39 -11
  107. package/out/server/naslServer.js.map +1 -1
  108. package/out/service/initial/form-designer.d.ts +1 -1
  109. package/out/service/initial/form-designer.d.ts.map +1 -1
  110. package/out/service/initial/form-designer.js +4 -1
  111. package/out/service/initial/form-designer.js.map +1 -1
  112. package/out/service/initial/processV2.d.ts +1 -1
  113. package/out/service/initial/processV2.d.ts.map +1 -1
  114. package/out/service/initial/processV2.js +4 -1
  115. package/out/service/initial/processV2.js.map +1 -1
  116. package/out/service/initial/types.d.ts +1 -0
  117. package/out/service/initial/types.d.ts.map +1 -1
  118. package/out/templator/block2nasl/jsx2nasl/transform-expression2nasl.d.ts.map +1 -1
  119. package/out/templator/block2nasl/jsx2nasl/transform-expression2nasl.js +3 -6
  120. package/out/templator/block2nasl/jsx2nasl/transform-expression2nasl.js.map +1 -1
  121. package/package.json +14 -12
  122. package/sandbox/stdlib/nasl.oql.ts +1 -0
  123. package/sandbox/stdlib/nasl.util.ts +9 -0
  124. package/out/natural/transforms/registerTransform.d.ts +0 -8
  125. package/out/natural/transforms/registerTransform.d.ts.map +0 -1
  126. package/out/natural/transforms/registerTransform.js +0 -24
  127. package/out/natural/transforms/registerTransform.js.map +0 -1
@@ -32,8 +32,12 @@ const transform2GlobalLogicDeclaration_1 = require("./transforms/transform2Globa
32
32
  const transform2Enum_1 = require("./transforms/transform2Enum");
33
33
  const transform2Logic_1 = require("./transforms/transform2Logic");
34
34
  const transform2Variable_1 = require("./transforms/transform2Variable");
35
+ const parseNaturalTSXView_1 = require("./parseNaturalTSXView");
36
+ const transform2MetadataType_1 = require("./transforms/transform2MetadataType");
37
+ const transformThemeAndStyle_1 = require("./transforms/transformThemeAndStyle");
35
38
  /**
36
39
  * 铺平命名空间
40
+ * 会将连续嵌套的命令空间铺平
37
41
  */
38
42
  function flatNamespace(node) {
39
43
  const sub = node.body;
@@ -55,22 +59,24 @@ function flatNamespace(node) {
55
59
  * ids: apis.myInterface.interfaces statement: TSDeclareFunction
56
60
  * ids: apis.myInterface.interfaces statement: FunctionDeclaration
57
61
  */
58
- function flatMapNamespaceStatements(nodes, isInner = false) {
62
+ function flatMapNamespaceStatements(nodes, isInner = false, parseState) {
59
63
  const result = [];
60
64
  nodes.forEach((node) => {
61
65
  let statement = node;
62
66
  if (node.type === 'ExportNamedDeclaration') {
63
- // if (!isInner) throwError('顶层不应该导出:' + node.declaration.type);
67
+ // if (!isInner) return throwError(options?.parsingId, '顶层不应该导出:' + node.declaration.type);
64
68
  statement = node.declaration;
65
69
  statement.leadingComments = node.leadingComments;
66
70
  }
67
71
  else {
68
- if (isInner)
69
- (0, utils_1.throwError)('内层必须使用导出:' + node.type);
72
+ if (isInner && !(node.type === 'ExpressionStatement' && ['CallExpression', 'TaggedTemplateExpression'].includes(node.expression.type))) // && node.expression.callee.type === 'Identifier' && /^[@$]/.test(node.expression.callee.name)))
73
+ return (0, utils_1.throwError)(parseState, '必须使用 export', node.type, node);
70
74
  }
71
75
  if (statement.type === 'TSModuleDeclaration') {
72
76
  const curr = flatNamespace(statement);
73
- const subResult = flatMapNamespaceStatements(curr.block.body, true);
77
+ const nodeNamespace = curr.ids.map((id) => id.name).join('.');
78
+ console.log('nodeNamespace in flatMapNamespaceStatements:', nodeNamespace);
79
+ const subResult = flatMapNamespaceStatements(curr.block.body, true, { ...parseState, nodeNamespace });
74
80
  subResult.forEach((item) => {
75
81
  result.push({ ids: [...curr.ids, ...item.ids], statement: item.statement });
76
82
  });
@@ -81,19 +87,19 @@ function flatMapNamespaceStatements(nodes, isInner = false) {
81
87
  });
82
88
  return result;
83
89
  }
84
- function handleDependency({ dependencies, moduleType, listName, options, node }) {
85
- let dependency = dependencies.find((d) => d.name === options?.moduleName);
90
+ function handleDependency({ dependencies, moduleType, listName, opts, node }) {
91
+ let dependency = dependencies.find((d) => d.name === opts?.moduleName);
86
92
  if (!dependency) {
87
93
  if (moduleType === 'connector') {
88
94
  dependency = new utils_1.naslTypes.Connector({
89
95
  type: moduleType,
90
- name: options.moduleName,
96
+ name: opts.moduleName,
91
97
  });
92
98
  }
93
99
  else {
94
100
  dependency = new utils_1.naslTypes.Module({
95
101
  type: moduleType,
96
- name: options.moduleName,
102
+ name: opts.moduleName,
97
103
  });
98
104
  }
99
105
  dependencies.push(dependency);
@@ -118,13 +124,13 @@ function handleDependency({ dependencies, moduleType, listName, options, node })
118
124
  }
119
125
  }
120
126
  const hasLogicIndex = logicList.findIndex((item) => item.name === node.name);
121
- if (options.logicType === 'declare') {
127
+ if (opts.logicKind === 'declare') {
122
128
  // 逻辑不存在时添加
123
129
  if (hasLogicIndex === -1) {
124
130
  logicList.push(node);
125
131
  }
126
132
  }
127
- else if (options.logicType === 'export') {
133
+ else if (opts.logicKind === 'export') {
128
134
  if (hasLogicIndex !== -1) {
129
135
  // 覆盖
130
136
  logicList[hasLogicIndex] = node;
@@ -137,19 +143,19 @@ function handleDependency({ dependencies, moduleType, listName, options, node })
137
143
  }
138
144
  }
139
145
  const HEAD_NAMESPACES = ['app', 'extensions', 'apis', 'connectors'];
140
- const TYPE_IN_NAMESPACES = ['structures', 'enums', 'logics', 'interfaces'];
146
+ const TYPE_IN_NAMESPACES = ['structures', 'enums', 'metadataTypes', 'logics', 'interfaces'];
141
147
  /**
142
148
  * 添加到指定命名空间中
143
149
  */
144
- function addType2Namespace(app, node, namespacePrefix, type, options) {
150
+ function addType2Namespace(app, node, namespacePrefix, type, opts) {
145
151
  if (namespacePrefix === 'app') {
146
152
  app[type].push(node);
147
153
  }
148
154
  if (namespacePrefix === 'extensions') {
149
- handleDependency({ dependencies: app.dependencies, moduleType: 'extension', listName: type, options, node });
155
+ handleDependency({ dependencies: app.dependencies, moduleType: 'extension', listName: type, opts, node });
150
156
  }
151
157
  else if (namespacePrefix === 'connectors') {
152
- handleDependency({ dependencies: app.connectorDependencies, moduleType: 'connector', listName: type, options, node });
158
+ handleDependency({ dependencies: app.connectorDependencies, moduleType: 'connector', listName: type, opts, node });
153
159
  }
154
160
  else if (namespacePrefix === 'apis') {
155
161
  if (type === 'interfaces') {
@@ -172,7 +178,7 @@ function addType2Namespace(app, node, namespacePrefix, type, options) {
172
178
  params: interfaceParams
173
179
  });
174
180
  }
175
- handleDependency({ dependencies: app.interfaceDependencies, moduleType: 'interface', listName: type, options, node });
181
+ handleDependency({ dependencies: app.interfaceDependencies, moduleType: 'interface', listName: type, opts, node });
176
182
  }
177
183
  }
178
184
  exports.addType2Namespace = addType2Namespace;
@@ -182,23 +188,32 @@ function addConnectionByName(app, connectionName, connectorName) {
182
188
  namespace: `connector.${connectorName}`,
183
189
  }));
184
190
  }
185
- function parseNaturalTS(tsCode, appInfo = {}) {
191
+ function parseNaturalTS(tsCode, options) {
186
192
  const plugins = [
187
- ['@babel/plugin-proposal-decorators', { legacy: true }],
188
- '@babel/plugin-proposal-class-properties'
193
+ [require('@babel/plugin-proposal-decorators'), { legacy: true }],
194
+ require('@babel/plugin-proposal-class-properties'),
189
195
  ];
190
196
  const root = babel.parseSync(tsCode, {
191
- filename: 'result.ts',
197
+ filename: 'result.tsx',
192
198
  presets: [require('@babel/preset-typescript')],
193
199
  plugins
194
200
  });
195
201
  const app = new utils_1.naslTypes.App();
196
- const namespaceStatements = flatMapNamespaceStatements(root.program.body);
197
- namespaceStatements.forEach(({ ids: _ids, statement }) => {
202
+ const namespaceStatements = flatMapNamespaceStatements(root.program.body, false, { $$beacon: true, parsingId: options?.parsingId });
203
+ let viewCacheMap = {};
204
+ namespaceStatements.forEach(({ ids: _ids, statement }, index) => {
198
205
  const idNames = _ids.map((id) => id.name);
199
206
  const idNamesStr = idNames.join('.');
207
+ console.log('nodeNamespace in namespaceStatements:', idNamesStr);
208
+ const parseState = {
209
+ $$beacon: true,
210
+ parsingId: options?.parsingId,
211
+ nodeNamespace: idNamesStr,
212
+ nodeName: '',
213
+ appendExtName: true,
214
+ };
200
215
  if (!HEAD_NAMESPACES.includes(idNames[0]))
201
- (0, utils_1.throwError)(`不支持命名空间以${idNames[0]}开头`);
216
+ return (0, utils_1.throwError)(parseState, `不支持命名空间以${idNames[0]}开头`);
202
217
  let headNamespace = idNames[0];
203
218
  let typeInNamespace;
204
219
  if (headNamespace === 'app') {
@@ -214,16 +229,16 @@ function parseNaturalTS(tsCode, appInfo = {}) {
214
229
  return;
215
230
  }
216
231
  else if (paramType.type !== 'TSUnionType')
217
- (0, utils_1.throwError)('连接必须使用字符串联合类型');
232
+ return (0, utils_1.throwError)(parseState, '连接必须使用字符串联合类型');
218
233
  else {
219
234
  const connectionNames = paramType.types.map((type) => {
220
235
  if (type.type === 'TSLiteralType' && type.literal.type === 'StringLiteral') {
221
236
  return type.literal.value;
222
237
  }
223
238
  else {
224
- (0, utils_1.throwError)('连接必须使用字符串字面量');
239
+ return (0, utils_1.throwError)(parseState, '连接必须使用字符串字面量');
225
240
  }
226
- });
241
+ }).filter(Boolean);
227
242
  connectionNames.forEach((connectionName) => {
228
243
  addConnectionByName(app, connectionName, idNames[1]);
229
244
  });
@@ -231,7 +246,7 @@ function parseNaturalTS(tsCode, appInfo = {}) {
231
246
  }
232
247
  }
233
248
  else {
234
- (0, utils_1.throwError)(`不支持的命名空间:${idNamesStr}`);
249
+ return (0, utils_1.throwError)(parseState, `不支持的命名空间:${idNamesStr}`);
235
250
  }
236
251
  }
237
252
  else {
@@ -239,13 +254,12 @@ function parseNaturalTS(tsCode, appInfo = {}) {
239
254
  }
240
255
  }
241
256
  let tailNamespace = idNames[idNames.length - 1];
242
- let moduleName = headNamespace === 'app' ? '' : idNames[1];
243
- const options = { moduleName };
257
+ parseState.moduleName = headNamespace === 'app' ? '' : idNames[1];
244
258
  if (idNames[1] === 'dataSources' && idNames[3] === 'entities') {
245
259
  let dataSource = app.dataSources[0];
246
260
  if (dataSource) {
247
261
  if (dataSource.name !== idNames[2])
248
- (0, utils_1.throwError)(`暂时不支持多数据源${dataSource.name},${idNames[2]}`);
262
+ return (0, utils_1.throwError)(parseState, `暂时不支持多数据源${dataSource.name},${idNames[2]}`);
249
263
  }
250
264
  else {
251
265
  dataSource = new utils_1.naslTypes.DataSource({
@@ -254,63 +268,82 @@ function parseNaturalTS(tsCode, appInfo = {}) {
254
268
  app.dataSources.push(dataSource);
255
269
  }
256
270
  if (statement.type === 'ClassDeclaration') {
257
- dataSource.entities.push((0, transform2Entity_1.transform2Entity)(statement));
271
+ dataSource.entities.push((0, transform2Entity_1.transform2Entity)(statement, { ...parseState }));
258
272
  }
259
273
  else if (statement.type === 'VariableDeclaration') { }
274
+ else if (statement.type === 'ExpressionStatement' && statement.expression.type === 'CallExpression' && statement.expression.callee.type === 'MemberExpression' && statement.expression.callee.property.type === 'Identifier' && statement.expression.callee.property.name === '$mockData') {
275
+ if (statement.expression.arguments.length > 0) {
276
+ const firstArg = statement.expression.arguments[0];
277
+ try {
278
+ const argCode = (0, utils_1.generate)(firstArg).code;
279
+ JSON.parse(argCode);
280
+ }
281
+ catch (error) {
282
+ return (0, utils_1.throwError)({ ...parseState, nodeName: dataSource.entities[dataSource.entities.length - 1]?.name }, '$mockData的参数不是有效的JSON格式', firstArg.type, statement);
283
+ }
284
+ }
285
+ }
260
286
  else
261
- (0, utils_1.throwError)('实体命名空间中不支持的节点类型:' + statement.type);
287
+ return (0, utils_1.throwError)(parseState, '实体命名空间中不支持的节点类型', statement.type, statement);
262
288
  }
263
289
  else if (typeInNamespace === 'structures') {
264
290
  if (statement.type === 'ClassDeclaration') {
265
- addType2Namespace(app, (0, transform2Structure_1.transform2Structure)(statement), headNamespace, typeInNamespace, options);
291
+ addType2Namespace(app, (0, transform2Structure_1.transform2Structure)(statement, { ...parseState }), headNamespace, typeInNamespace, { ...parseState });
266
292
  }
267
293
  else
268
- (0, utils_1.throwError)('数据结构命名空间中不支持的节点类型:' + statement.type);
294
+ return (0, utils_1.throwError)(parseState, '数据结构命名空间中不支持的节点类型', statement.type, statement);
269
295
  }
270
296
  else if (typeInNamespace === 'enums') {
271
297
  if (statement.type === 'ClassDeclaration') {
272
- addType2Namespace(app, (0, transform2Enum_1.transform2Enum)(statement, statement.leadingComments), headNamespace, typeInNamespace, options);
298
+ addType2Namespace(app, (0, transform2Enum_1.transform2Enum)(statement, statement.leadingComments, { ...parseState }), headNamespace, typeInNamespace, { ...parseState });
273
299
  }
274
300
  else
275
- (0, utils_1.throwError)('枚举命名空间中不支持的节点类型:' + statement.type);
301
+ return (0, utils_1.throwError)(parseState, '枚举命名空间中不支持的节点类型', statement.type, statement);
302
+ }
303
+ else if (typeInNamespace === 'metadataTypes') {
304
+ if (statement.type === 'TSTypeAliasDeclaration') {
305
+ addType2Namespace(app, (0, transform2MetadataType_1.transform2MetadataType)(statement, statement.leadingComments, { ...parseState }), headNamespace, typeInNamespace, { ...parseState });
306
+ }
307
+ else
308
+ return (0, utils_1.throwError)(parseState, '元数据类型命名空间中不支持的节点类型', statement.type, statement);
276
309
  }
277
310
  else if (typeInNamespace === 'logics') {
278
- options.logicType = statement.type === 'TSDeclareFunction' ? 'declare' : 'export';
311
+ const logicParseState = { ...parseState, logicKind: statement.type === 'TSDeclareFunction' ? 'declare' : 'export' };
279
312
  if (statement.type === 'TSDeclareFunction') {
280
- addType2Namespace(app, (0, transform2GlobalLogicDeclaration_1.transform2GlobalLogicDeclaration)(statement), headNamespace, typeInNamespace, options);
313
+ addType2Namespace(app, (0, transform2GlobalLogicDeclaration_1.transform2GlobalLogicDeclaration)(statement, { ...parseState }), headNamespace, typeInNamespace, logicParseState);
281
314
  }
282
315
  else if (statement.type === 'FunctionDeclaration') {
283
- addType2Namespace(app, (0, transform2Logic_1.transform2Logic)(statement), headNamespace, typeInNamespace, options);
316
+ addType2Namespace(app, (0, transform2Logic_1.transform2Logic)(statement, undefined, { ...parseState }), headNamespace, typeInNamespace, logicParseState);
284
317
  }
285
318
  else
286
- (0, utils_1.throwError)('逻辑命名空间中不支持的节点类型:' + statement.type);
319
+ return (0, utils_1.throwError)(parseState, '逻辑命名空间中不支持的节点类型', statement.type, statement);
287
320
  }
288
321
  else if (['apis', 'extensions', 'connectors'].includes(headNamespace)) {
289
322
  // logics / interfaces
290
323
  if (tailNamespace === 'logics' || tailNamespace === 'interfaces') {
291
- options.logicType = statement.type === 'TSDeclareFunction' ? 'declare' : 'export';
292
- const logic = (0, transform2Logic_1.transform2Logic)(statement);
293
- if (options.logicType === 'declare') {
324
+ const logicParseState = { ...parseState, logicKind: statement.type === 'TSDeclareFunction' ? 'declare' : 'export' };
325
+ const logic = (0, transform2Logic_1.transform2Logic)(statement, undefined, logicParseState);
326
+ if (logicParseState.logicKind === 'declare') {
294
327
  logic.body = [];
295
328
  }
296
- addType2Namespace(app, logic, headNamespace, tailNamespace, options);
329
+ addType2Namespace(app, logic, headNamespace, tailNamespace, logicParseState);
297
330
  }
298
331
  else if (tailNamespace === 'enums' && statement.type === 'ClassDeclaration') {
299
- addType2Namespace(app, (0, transform2Enum_1.transform2Enum)(statement, statement.leadingComments), headNamespace, tailNamespace, options);
332
+ addType2Namespace(app, (0, transform2Enum_1.transform2Enum)(statement, statement.leadingComments, { ...parseState }), headNamespace, tailNamespace, parseState);
300
333
  }
301
334
  else if (tailNamespace === 'structures' && statement.type === 'ClassDeclaration') {
302
- addType2Namespace(app, (0, transform2Structure_1.transform2Structure)(statement), headNamespace, tailNamespace, options);
335
+ addType2Namespace(app, (0, transform2Structure_1.transform2Structure)(statement, { ...parseState }), headNamespace, tailNamespace, parseState);
303
336
  }
304
337
  else if (headNamespace === 'connectors') {
305
- options.logicType = statement.type === 'TSDeclareFunction' ? 'declare' : 'export';
306
- const logic = (0, transform2Logic_1.transform2Logic)(statement);
307
- if (options.logicType === 'declare') {
338
+ const logicParseState = { ...parseState, logicKind: statement.type === 'TSDeclareFunction' ? 'declare' : 'export' };
339
+ const logic = (0, transform2Logic_1.transform2Logic)(statement, undefined, logicParseState);
340
+ if (logicParseState.logicKind === 'declare') {
308
341
  logic.body = [];
309
342
  }
310
- addType2Namespace(app, logic, headNamespace, tailNamespace, options);
343
+ addType2Namespace(app, logic, headNamespace, tailNamespace, logicParseState);
311
344
  }
312
345
  else {
313
- (0, utils_1.throwError)('不支持的命名空间:' + idNamesStr);
346
+ return (0, utils_1.throwError)(parseState, '不支持的命名空间:' + idNamesStr);
314
347
  }
315
348
  }
316
349
  else if (idNamesStr === 'app.backend.variables') {
@@ -318,13 +351,131 @@ function parseNaturalTS(tsCode, appInfo = {}) {
318
351
  if (!app.backend) {
319
352
  app.backend = new utils_1.naslTypes.Backend();
320
353
  }
321
- app.backend.variables.push((0, transform2Variable_1.transform2BackendVariable)(statement));
354
+ const variable = (0, transform2Variable_1.transform2BackendVariable)(statement, { ...parseState });
355
+ variable && app.backend.variables.push(variable);
322
356
  }
323
357
  else
324
- (0, utils_1.throwError)('变量命名空间中不支持的节点类型:' + statement.type);
358
+ return (0, utils_1.throwError)(parseState, '变量命名空间中不支持的节点类型', statement.type, statement);
359
+ }
360
+ else if (idNames[1] === 'frontendTypes' && idNames[3] === 'frontends') {
361
+ let frontendType = app.frontendTypes.find((item) => item.name === idNames[2]);
362
+ if (!frontendType) {
363
+ frontendType = new utils_1.naslTypes.FrontendType({
364
+ name: idNames[2],
365
+ kind: idNames[2],
366
+ frameworkKind: "vue3",
367
+ frameworkUI: "ElementPlus",
368
+ });
369
+ app.frontendTypes.push(frontendType);
370
+ }
371
+ let frontend = frontendType.frontends.find((item) => item.name === idNames[4]);
372
+ if (!frontend) {
373
+ frontend = new utils_1.naslTypes.Frontend({
374
+ type: idNames[2],
375
+ name: idNames[4],
376
+ title: idNames[4].toUpperCase() + '端',
377
+ path: '/',
378
+ theme: new utils_1.naslTypes.Theme({
379
+ name: 'default',
380
+ title: '默认主题样式',
381
+ })
382
+ });
383
+ frontendType.frontends.push(frontend);
384
+ }
385
+ if (idNames[5] === 'variables') {
386
+ if (statement.type === 'VariableDeclaration') {
387
+ const variable = (0, transform2Variable_1.transform2FrontendVariable)(statement, { ...parseState });
388
+ variable && frontend.variables.push(variable);
389
+ }
390
+ else
391
+ return (0, utils_1.throwError)(parseState, '前端变量命名空间中不支持的节点类型', statement.type, statement);
392
+ }
393
+ else if (idNames[5] === 'views') {
394
+ if (statement.type === 'FunctionDeclaration' || statement.type === 'TSDeclareFunction') {
395
+ let decorator;
396
+ let prevStatement = namespaceStatements[index - 1]?.statement;
397
+ if (prevStatement?.type === 'ExpressionStatement' && prevStatement.expression.type === 'CallExpression' && prevStatement.expression.callee.type === 'Identifier' && prevStatement.expression.callee.name === '$View') {
398
+ decorator = prevStatement.expression;
399
+ }
400
+ const newOptions = { ...parseState, isInFrontend: true };
401
+ const view = statement.type === 'FunctionDeclaration' ? (0, parseNaturalTSXView_1.transform2View)(statement, decorator, newOptions) : (0, parseNaturalTSXView_1.transformTSDeclareFunction2View)(statement, decorator, newOptions);
402
+ newOptions.nodeName = view.name;
403
+ const parentPathSegments = []; // ['dashboard', 'abc']
404
+ for (let i = 6; i < idNames.length - 1; i += 2) {
405
+ if (idNames[i + 1] === 'views') {
406
+ parentPathSegments.push(idNames[i]);
407
+ }
408
+ else {
409
+ return (0, utils_1.throwError)(newOptions, `页面没有按 .views. 间隔,不支持的命名空间:${idNamesStr}`);
410
+ }
411
+ }
412
+ // 现在传过来时,需要先排序了,不然可能找不到父页面
413
+ function findViewByPath(views, pathSegments) {
414
+ if (pathSegments.length === 0)
415
+ return null;
416
+ const targetName = pathSegments[0];
417
+ const foundView = views.find(v => v.name === targetName);
418
+ if (!foundView)
419
+ return null;
420
+ if (pathSegments.length === 1)
421
+ return foundView;
422
+ return findViewByPath(foundView.children || [], pathSegments.slice(1));
423
+ }
424
+ let parentViewList;
425
+ if (parentPathSegments.length === 0) {
426
+ parentViewList = frontend.views;
427
+ }
428
+ else {
429
+ let parentView = viewCacheMap[parentPathSegments.join('/')];
430
+ if (!parentView)
431
+ parentView = findViewByPath(frontend.views, parentPathSegments);
432
+ if (!parentView)
433
+ return (0, utils_1.throwError)(newOptions, `找不到父级页面:${idNames.slice(0, -1).join('.')}`);
434
+ parentViewList = parentView.children;
435
+ }
436
+ if (view) {
437
+ const existingView = parentViewList.find((item) => item.name === view.name);
438
+ if (existingView) {
439
+ if (utils_1.DEBUG) {
440
+ return (0, utils_1.throwError)(newOptions, `${idNamesStr} 中存在同名页面:${view.name}`);
441
+ }
442
+ else { // 存在则保留原来页面的子页面,其他内容覆盖
443
+ delete view.children;
444
+ Object.assign(existingView, view);
445
+ }
446
+ }
447
+ else {
448
+ parentViewList.push(view);
449
+ viewCacheMap[[...parentPathSegments, view.name].join('/')] = view;
450
+ }
451
+ }
452
+ }
453
+ }
454
+ else if (statement.type === 'ExpressionStatement' && statement.expression.type === 'TaggedTemplateExpression') {
455
+ const expression = statement.expression;
456
+ if (expression.tag.type === 'Identifier' && expression.tag.name === '$theme') {
457
+ if (expression.quasi.expressions.length > 0) {
458
+ return (0, utils_1.throwError)(parseState, '不支持在 $theme 中使用动态表达式');
459
+ }
460
+ const css = expression.quasi.quasis[0].value.raw;
461
+ const variableMap = (0, transformThemeAndStyle_1.transformTheme)(css, { ...parseState });
462
+ frontend.theme.scopeVariableMap = variableMap;
463
+ }
464
+ else if (expression.tag.type === 'Identifier' && expression.tag.name === '$extraStyle') {
465
+ if (expression.quasi.expressions.length > 0) {
466
+ return (0, utils_1.throwError)(parseState, '不支持在 $style 中使用动态表达式');
467
+ }
468
+ const css = expression.quasi.quasis[0].value.raw;
469
+ const cssRules = (0, transformThemeAndStyle_1.transformStyle)(css, { ...parseState });
470
+ frontend.theme.cssRules = cssRules;
471
+ }
472
+ }
473
+ else {
474
+ return (0, utils_1.throwError)(parseState, '不支持的命名空间:' + idNamesStr);
475
+ }
325
476
  }
326
477
  else {
327
- (0, utils_1.throwError)('不支持的命名空间:' + idNamesStr);
478
+ return (0, utils_1.throwError)(parseState, '不支持的命名空间:' + idNamesStr);
328
479
  }
329
480
  });
330
481
  return app;
@@ -1 +1 @@
1
- {"version":3,"file":"parseNaturalTS.js","sourceRoot":"","sources":["../../src/natural/parseNaturalTS.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseNaturalTS.js","sourceRoot":"","sources":["../../src/natural/parseNaturalTS.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { babelTypes, naslTypes, ParseNaturalTSState, ParseLogicState, ParseViewState } from './transforms/utils';
2
+ export declare function transform2Variables(node: babelTypes.VariableDeclaration, options: ParseNaturalTSState): naslTypes.Variable[];
3
+ export declare function transformJSXElement2ViewElement(node: babelTypes.JSXElement, options: ParseViewState): naslTypes.ViewElement | void;
4
+ export declare function transform2View(func: babelTypes.FunctionDeclaration, decorator: babelTypes.CallExpression, options: ParseNaturalTSState): naslTypes.View;
5
+ export declare function transformTSDeclareFunction2View(func: babelTypes.TSDeclareFunction, decorator: babelTypes.CallExpression, options: ParseLogicState): naslTypes.View;
6
+ export declare function parseNaturalTSXView(tsCode: string, options: ParseNaturalTSState): naslTypes.View;
7
+ //# sourceMappingURL=parseNaturalTSXView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseNaturalTSXView.d.ts","sourceRoot":"","sources":["../../src/natural/parseNaturalTSXView.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAoD,mBAAmB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAkBnK,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,CAAC,mBAAmB,EAAE,OAAO,EAAE,mBAAmB,GAAG,SAAS,CAAC,QAAQ,EAAE,CAmB5H;AAmFD,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,OAAO,EAAE,cAAc,GAAG,SAAS,CAAC,WAAW,GAAG,IAAI,CAmVlI;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,CAAC,mBAAmB,EAAE,SAAS,EAAE,UAAU,CAAC,cAAc,EAAE,OAAO,EAAE,mBAAmB,kBAkItI;AAED,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,UAAU,CAAC,iBAAiB,EAAE,SAAS,EAAE,UAAU,CAAC,cAAc,EAAE,OAAO,EAAE,eAAe,kBAkCjJ;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,kBA0B/E"}