@lcap/nasl 3.6.3-alpha.5 → 3.6.4-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.
@@ -445,7 +445,7 @@ let CallFunction = CallFunction_1 = class CallFunction extends LogicItem__1.defa
445
445
  // 如果有内容
446
446
  const typeAnnotation = this.typeArguments[0];
447
447
  code += `<`;
448
- code += `${typeAnnotation.toNaturalTS((0, translator_1.shiftState)({ ...state, needNameSpace: true }, code, { tabSize: 0 }))}>`;
448
+ code += `${typeAnnotation.toNaturalTS((0, translator_1.shiftState)({ ...state, needNamespace: true }, code, { tabSize: 0 }))}>`;
449
449
  }
450
450
  if (this.arguments.length <= 3) {
451
451
  code += '(';
@@ -591,7 +591,7 @@ export declare class Logic extends BaseNode {
591
591
  toEmbeddedTSNoExport(state?: TranslatorState): string;
592
592
  get tsName(): string;
593
593
  toEmbeddedTS(state?: TranslatorState, prefix?: string, hideDefaultValue?: boolean): TranslatorGenerator;
594
- toNaturalTS(state?: TranslatorState, prefix?: string, logicName?: string, currentNode?: BaseNode, convertType?: string): string;
594
+ toNaturalTS(state?: TranslatorState, prefix?: string, logicName?: string, currentNode?: BaseNode): string;
595
595
  getRightCode(code: string, assignment: Assignment | BatchAssignment, rightNode: any): Generator<any, string, any>;
596
596
  handleReplaceCode(code: string, variable: string, replaceCode: string): string;
597
597
  handleForEachCode(code: string, forEachStatement: ForEachStatement): Generator<any, string, any>;
@@ -1152,7 +1152,7 @@ let Logic = Logic_1 = class Logic extends BaseNode_1.default {
1152
1152
  code += '\n';
1153
1153
  return code;
1154
1154
  }
1155
- toNaturalTS(state = (0, translator_1.createCompilerState)(), prefix, logicName, currentNode, convertType) {
1155
+ toNaturalTS(state = (0, translator_1.createCompilerState)(), prefix, logicName, currentNode) {
1156
1156
  // 如果传了不要前缀那就为空, 要不用传进来的,要是都没有就默认导出
1157
1157
  let code = '';
1158
1158
  if (currentNode === this) {
@@ -1250,7 +1250,7 @@ ${(0, translator_1.indent)(state.tabSize)} */\n`;
1250
1250
  if (item.concept === 'End' && (!state?.focusedNodePath || item?.nodePath === state?.focusedNodePath))
1251
1251
  code += `${(0, translator_1.indent)(state.tabSize + 1)}// 当前位置\n`;
1252
1252
  if (item.toNaturalTS) {
1253
- partialCode = item.toNaturalTS((0, translator_1.shiftState)({ ...state, convertType }, code, { tabSize: state.tabSize + 1 }));
1253
+ partialCode = item.toNaturalTS((0, translator_1.shiftState)(state, code, { tabSize: state.tabSize + 1 }));
1254
1254
  }
1255
1255
  else if (item.toEmbeddedTS) {
1256
1256
  partialCode = (0, time_slicing_1.runGeneratorSync)(item.toEmbeddedTS((0, translator_1.shiftState)(state, code, { tabSize: state.tabSize + 1 })));
@@ -1 +1 @@
1
- {"version":3,"file":"Logic__.js","sourceRoot":"","sources":["../../src/concepts/Logic__.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Logic__.js","sourceRoot":"","sources":["../../src/concepts/Logic__.ts"],"names":[],"mappings":"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"}
@@ -688,7 +688,7 @@ let TypeAnnotation = TypeAnnotation_1 = class TypeAnnotation extends BaseNode_1.
688
688
  if (this.tsCalleeNamespace.startsWith('nasl.ui')) {
689
689
  return `${this.tsCalleeNamespace}.${this.typeName}`;
690
690
  }
691
- return state?.needNameSpace ? `${this.typeNamespace}.${this.typeName}` : `${this.typeName}`;
691
+ return state?.needNamespace ? `${this.typeNamespace}.${this.typeName}` : `${this.typeName}`;
692
692
  }
693
693
  return this.tsCalleeNamespace.startsWith('nasl.ui')
694
694
  ? `${this.tsCalleeNamespace}.${this.typeName}`
@@ -98,13 +98,13 @@ const getNaslOql = () => {
98
98
  };
99
99
  exports.getNaslOql = getNaslOql;
100
100
  const getEnums = (app, state, moduleIndexList) => {
101
- const needNameSpace = moduleIndexList?.length >= 0;
101
+ const needNamespace = moduleIndexList?.length >= 0;
102
102
  const namespace = 'app.enums';
103
103
  const data = [];
104
104
  let code = '';
105
105
  code += `declare namespace ${namespace} {\n`;
106
106
  app.enums.forEach((enumeration) => {
107
- const temp = `${enumeration?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNameSpace }))}`;
107
+ const temp = `${enumeration?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNamespace }))}`;
108
108
  code += temp;
109
109
  data.push({ description: enumeration?.description || enumeration?.name, code: temp });
110
110
  });
@@ -114,7 +114,7 @@ const getEnums = (app, state, moduleIndexList) => {
114
114
  };
115
115
  exports.getEnums = getEnums;
116
116
  const getEntities = (app, state, moduleIndexList) => {
117
- const needNameSpace = moduleIndexList?.length >= 0;
117
+ const needNamespace = moduleIndexList?.length >= 0;
118
118
  const entities = [];
119
119
  let code = '';
120
120
  app.dataSources.forEach((dataSource) => {
@@ -124,8 +124,8 @@ const getEntities = (app, state, moduleIndexList) => {
124
124
  dataSource.entities
125
125
  .filter((entity) => !entity.name.startsWith('LCAP') || entity.name === 'LCAPUser')
126
126
  .forEach((entity) => {
127
- const entityName = needNameSpace ? `app.dataSources.${dataSource?.name}.entities.${entity?.name}` : undefined;
128
- const tempCode = `${entity?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNameSpace }), entityName)}`;
127
+ const entityName = needNamespace ? `app.dataSources.${dataSource?.name}.entities.${entity?.name}` : undefined;
128
+ const tempCode = `${entity?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNamespace }), entityName)}`;
129
129
  code += tempCode;
130
130
  data.push({ description: entity?.description || entity?.name, code: tempCode });
131
131
  });
@@ -137,7 +137,7 @@ const getEntities = (app, state, moduleIndexList) => {
137
137
  };
138
138
  exports.getEntities = getEntities;
139
139
  const getStructures = (app, state, moduleIndexList) => {
140
- const needNameSpace = moduleIndexList?.length >= 0;
140
+ const needNamespace = moduleIndexList?.length >= 0;
141
141
  const data = [];
142
142
  const namespace = `app.structures`;
143
143
  let code = '';
@@ -145,7 +145,7 @@ const getStructures = (app, state, moduleIndexList) => {
145
145
  app.structures
146
146
  .filter((entity) => !entity.name.startsWith('LCAP'))
147
147
  .forEach((structure) => {
148
- const tempCode = `${structure?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNameSpace }))}`;
148
+ const tempCode = `${structure?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNamespace }))}`;
149
149
  code += tempCode;
150
150
  data.push({ description: structure?.description || structure?.name, code: tempCode });
151
151
  });
@@ -166,8 +166,8 @@ const getLogics = (app, currentNode, moduleIndexList) => {
166
166
  if (hasModuleIndexList && !moduleIndexList?.includes(logicIndex))
167
167
  return;
168
168
  const logicName = moduleIndexList?.length >= 0 ? logic?.calleewholeKey : undefined;
169
- const needNameSpace = moduleIndexList?.length >= 0;
170
- const tempCode = `${logic?.toNaturalTS((0, translator_1.createCompilerState)('', { needNameSpace }), 'inTsContext', logicName, currentNode)}`;
169
+ const needNamespace = moduleIndexList?.length >= 0;
170
+ const tempCode = `${logic?.toNaturalTS((0, translator_1.createCompilerState)('', { needNamespace }), 'inTsContext', logicName, currentNode)}`;
171
171
  const description = logic?.description || '';
172
172
  code += `[${logicIndex}]${description} ${tempCode}`;
173
173
  data.push({ description, code: tempCode });
@@ -187,7 +187,7 @@ const getModuleInterfaces = (app, state, moduleIndexList) => {
187
187
  const structureNamespace = `${namespace}.structures`;
188
188
  const structureData = [];
189
189
  interfaceDependency?.structures?.forEach((structure) => {
190
- const tempCode = `${structure?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNameSpace: true }))}`;
190
+ const tempCode = `${structure?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNamespace: true }))}`;
191
191
  structureData.push({ description: structure?.description || structure?.name, code: tempCode });
192
192
  });
193
193
  structures = { namespace: structureNamespace, data: structureData };
@@ -199,8 +199,8 @@ const getModuleInterfaces = (app, state, moduleIndexList) => {
199
199
  return;
200
200
  const description = interface_?.description || '';
201
201
  const interfaceName = moduleIndexList?.length >= 0 ? interface_?.calleewholeKey : undefined;
202
- const needNameSpace = moduleIndexList?.length >= 0;
203
- const tempCode = interface_?.toNaturalTS((0, translator_1.createCompilerState)('', { needNameSpace }), interfaceName);
202
+ const needNamespace = moduleIndexList?.length >= 0;
203
+ const tempCode = interface_?.toNaturalTS((0, translator_1.createCompilerState)('', { needNamespace }), interfaceName);
204
204
  logicData.push({ description, code: tempCode });
205
205
  if (moduleIndexList?.includes(interfaceIndex)) {
206
206
  code += (0, exports.getLogicStructures)(interface_, 'interface', { description, codeStr: tempCode }, structureNamespace);
@@ -227,7 +227,7 @@ const getConnectors = (app, state, moduleIndexList) => {
227
227
  const structureNamespace = `extensions.${connection?.connector?.name}.structures`;
228
228
  const structureData = [];
229
229
  connection?.connector?.structures?.forEach((structure) => {
230
- const tempCode = `${structure?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNameSpace: true }))}`;
230
+ const tempCode = `${structure?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNamespace: true }))}`;
231
231
  structureData.push({ description: structure?.description || structure?.name, code: tempCode });
232
232
  });
233
233
  structures = { namespace: structureNamespace, data: structureData };
@@ -240,8 +240,8 @@ const getConnectors = (app, state, moduleIndexList) => {
240
240
  return;
241
241
  const description = `${logic?.description || logic?.title || ''}`;
242
242
  const logicName = moduleIndexList?.length >= 0 ? `${connection?.name}.${logic?.calleewholeKey}` : undefined;
243
- const needNameSpace = moduleIndexList?.length >= 0;
244
- const tempCode = `${logic?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNameSpace }, code), 'inConnector', logicName)}`;
243
+ const needNamespace = moduleIndexList?.length >= 0;
244
+ const tempCode = `${logic?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNamespace }, code), 'inConnector', logicName)}`;
245
245
  logicData.push({ description, code: tempCode });
246
246
  if (moduleIndexList?.includes(logicIndex)) {
247
247
  code += (0, exports.getLogicStructures)(logic, 'connector', { description, codeStr: tempCode }, structureNamespace);
@@ -258,8 +258,8 @@ const getConnectors = (app, state, moduleIndexList) => {
258
258
  return;
259
259
  const description = logic?.description || '';
260
260
  const logicName = moduleIndexList?.length >= 0 ? `${connection?.name}.${logic?.calleewholeKey}` : undefined;
261
- const needNameSpace = moduleIndexList?.length >= 0;
262
- const tempCode = `${logic?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNameSpace }, code), 'inConnector', logicName)}`;
261
+ const needNamespace = moduleIndexList?.length >= 0;
262
+ const tempCode = `${logic?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNamespace }, code), 'inConnector', logicName)}`;
263
263
  logicData.push({ description, code: tempCode });
264
264
  if (moduleIndexList?.includes(logicIndex)) {
265
265
  code += (0, exports.getLogicStructures)(logic, 'connector', { description, codeStr: tempCode }, structureNamespace);
@@ -289,7 +289,7 @@ const getDependencies = (app, state, moduleIndexList) => {
289
289
  const structureNamespace = `${namespace}.structures`;
290
290
  const structureData = [];
291
291
  module?.structures?.forEach((structure) => {
292
- const tempCode = `${structure?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNameSpace: true }))}`;
292
+ const tempCode = `${structure?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNamespace: true }))}`;
293
293
  structureData.push({ description: structure?.description || structure?.name, code: tempCode });
294
294
  });
295
295
  structures = { namespace: structureNamespace, data: structureData };
@@ -301,8 +301,8 @@ const getDependencies = (app, state, moduleIndexList) => {
301
301
  return;
302
302
  const description = logic?.description || '';
303
303
  const logicName = moduleIndexList?.length >= 0 ? logic?.calleewholeKey : undefined;
304
- const needNameSpace = moduleIndexList?.length >= 0;
305
- const tempCode = `${logic?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNameSpace }, code), 'inDependency', logicName)}`;
304
+ const needNamespace = moduleIndexList?.length >= 0;
305
+ const tempCode = `${logic?.toNaturalTS((0, translator_1.shiftState)({ ...state, needNamespace }, code), 'inDependency', logicName)}`;
306
306
  logicData.push({ description, code: tempCode });
307
307
  if (moduleIndexList?.includes(logicIndex)) {
308
308
  code += (0, exports.getLogicStructures)(logic, 'extension', { description, codeStr: tempCode }, structureNamespace);
@@ -382,11 +382,11 @@ const getCurrentNodeContext = (currentNode, focusedNodePath) => {
382
382
  code += ``;
383
383
  if (view) {
384
384
  // 为页面中的逻辑
385
- code += view?.toNaturalTS((0, translator_1.createCompilerState)('', { focusedNodePath, needNameSpace: true }), currentNode);
385
+ code += view?.toNaturalTS((0, translator_1.createCompilerState)('', { focusedNodePath, needNamespace: true }), currentNode);
386
386
  }
387
387
  else if (logic) {
388
388
  // 为全局逻辑
389
- code += logic?.toNaturalTS((0, translator_1.createCompilerState)('', { focusedNodePath, needNameSpace: true }), undefined, undefined, currentNode);
389
+ code += logic?.toNaturalTS((0, translator_1.createCompilerState)('', { focusedNodePath, needNamespace: true }), undefined, undefined, currentNode);
390
390
  }
391
391
  return { code: (0, exports.genTsBlock)(code), currentLogic: code };
392
392
  };
@@ -11,7 +11,6 @@ const analyzeClaims = (params) => {
11
11
  - 如果用户的需求涉及定时或延时等操作,请提示用户:当前暂不支持定时或延时操作,请调整后重新输入。
12
12
  - 如果用户的需求需要调用某个方法并且当前上下文中不存在时,请提示用户:当前应用中暂无该方法,请先导入相关依赖库或连接器模块
13
13
  - 例如:加解密依赖库中的方法
14
- - 如果用户的需求需要调用接口并且当前上下文中不存在此接口时,不需要再跟用户对话,直接返回 needImportInterface: true; executable: true; 以及 plan
15
14
  `;
16
15
  // global_logic、view_logic、event_logic、business_Logic
17
16
  const claimsMap = {
@@ -25,7 +24,6 @@ const analyzeClaims = (params) => {
25
24
  - 分析用户的需求,当需要从实体中获取或者查询数据时
26
25
  - 优先使用 SQL 的查询和数据操纵能力: 例如 JOIN、SUM、GROUP_BY 等能力
27
26
  - 使用 SQL 语句同时实现查询和计算
28
- - 如果用户的需求需要调用接口并且当前上下文中不存在此接口时,不需要再跟用户对话,直接返回 needImportInterface: true; executable: true; 以及 plan
29
27
  `
30
28
  };
31
29
  return claimsMap?.[logicType] || claims;
@@ -1 +1 @@
1
- {"version":3,"file":"analyzeClaims.js","sourceRoot":"","sources":["../../../src/natural/prompt/analyzeClaims.ts"],"names":[],"mappings":";;;AAAO,MAAM,aAAa,GAAG,CAAC,MAAW,EAAE,EAAE;IAC3C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAC7B,MAAM,MAAM,GAAG;;;;;;;;;CAShB,CAAC;IACA,qDAAqD;IACrD,MAAM,SAAS,GAAG;QAChB,YAAY,EAAE;;;;;;;;;;;CAWjB;KACS,CAAC;IACT,OAAO,SAAS,EAAE,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC;AAC1C,CAAC,CAAC;AA5BW,QAAA,aAAa,iBA4BxB"}
1
+ {"version":3,"file":"analyzeClaims.js","sourceRoot":"","sources":["../../../src/natural/prompt/analyzeClaims.ts"],"names":[],"mappings":";;;AAAO,MAAM,aAAa,GAAG,CAAC,MAAW,EAAE,EAAE;IAC3C,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAC7B,MAAM,MAAM,GAAG;;;;;;;;CAQhB,CAAC;IACA,qDAAqD;IACrD,MAAM,SAAS,GAAG;QAChB,YAAY,EAAE;;;;;;;;;;CAUjB;KACS,CAAC;IACT,OAAO,SAAS,EAAE,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC;AAC1C,CAAC,CAAC;AA1BW,QAAA,aAAa,iBA0BxB"}
@@ -10,7 +10,6 @@ const analyzeFormatOutput = () => {
10
10
  "text": "question",
11
11
  "executable": boolean,
12
12
  "moduleIndexList": [index],
13
- "needImportInterface": boolean
14
13
  }
15
14
  }
16
15
  \`\`\``;
@@ -1 +1 @@
1
- {"version":3,"file":"analyzeFormatOutput.js","sourceRoot":"","sources":["../../../src/natural/prompt/analyzeFormatOutput.ts"],"names":[],"mappings":";;;AAAO,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,OAAO;;;;;;;;;;;OAWF,CAAC;AACR,CAAC,CAAC;AAbW,QAAA,mBAAmB,uBAa9B"}
1
+ {"version":3,"file":"analyzeFormatOutput.js","sourceRoot":"","sources":["../../../src/natural/prompt/analyzeFormatOutput.ts"],"names":[],"mappings":";;;AAAO,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,OAAO;;;;;;;;;;OAUF,CAAC;AACR,CAAC,CAAC;AAZW,QAAA,mBAAmB,uBAY9B"}
@@ -3,19 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.analyzeTasks = void 0;
4
4
  const analyzeTasks = () => {
5
5
  return `
6
- - plan:
7
- - 尽可能的帮助用户将需求梳理成可执行的计划,计划包含多个任务,每个任务下可能包含多个子任务(会缩进 4 个空格)
8
- - 当前逻辑和当前位置是制定计划的重要参考依据之一,你需要在当前逻辑的基础上, 为用户制定计划, 只做用户需要的部分
9
- - 制定的计划最终将会作为调用代码补全接口的输入, 所以你需要考虑计划内容是否完整与充分, 如果不充分,你可以继续询问用户
10
- - text: 如果你认为需求不够明确时,可以继续询问用户需求的细节,不可为空
11
- - executable
12
- - 类型为 boolean, 如果你认为需求比较明确并且 plan 可执行, 返回 true, 否则返回 false
13
- - moduleIndexList
14
- - 类型为 Array, 你需要根据用户的执行计划,从 Context Definition 中整理出执行需要用到的模块或者方法,返回对应的索引
15
- - 用于下一步的具体实施,需要尽可能详细、精准的返回和执行计划相关的模块或方法索引。例如:"moduleIndexList": ['1','6-3','8-1-1-0']。
16
- - needImportInterface
17
- - 类型为 boolean, 如果你认为当前上下文无法满足需求,需要另外引入接口, 返回 true, 否则返回 false
18
- - 如果用户的需求需要调用接口并且当前上下文中不存在此接口时,不需要再跟用户对话,直接返回 needImportInterface: true; executable: true; 以及 plan
6
+ - plan:
7
+ - 尽可能的帮助用户将需求梳理成可执行的计划,计划包含多个任务,每个任务下可能包含多个子任务(会缩进 4 个空格)
8
+ - 制定的计划最终将会作为调用代码补全接口的输入, 所以你需要考虑计划内容是否完整与充分, 如果不充分,你可以继续询问用户
9
+ - text: 如果你认为需求不够明确时,可以继续询问用户需求的细节,不可为空
10
+ - executable
11
+ - 类型为 boolean, 如果你认为需求比较明确并且 plan 可执行, 返回 true, 否则返回 false
12
+ - moduleIndexList
13
+ - 类型为 Array, 你需要根据用户的执行计划,从 Context Definition 中整理出执行需要用到的模块,返回对应的模块索引
14
+ - 用于下一步的具体实施,需要尽可能详细、精准的返回和执行计划相关的模块索引。例如:"moduleIndexList": ['1','6-3','8-1-1-0']。
19
15
  `;
20
16
  };
21
17
  exports.analyzeTasks = analyzeTasks;
@@ -1 +1 @@
1
- {"version":3,"file":"analyzeTasks.js","sourceRoot":"","sources":["../../../src/natural/prompt/analyzeTasks.ts"],"names":[],"mappings":";;;AAAO,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,OAAO;;;;;;;;;;;;;;CAcR,CAAC;AACF,CAAC,CAAC;AAhBW,QAAA,YAAY,gBAgBvB"}
1
+ {"version":3,"file":"analyzeTasks.js","sourceRoot":"","sources":["../../../src/natural/prompt/analyzeTasks.ts"],"names":[],"mappings":";;;AAAO,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,OAAO;;;;;;;;;;CAUR,CAAC;AACF,CAAC,CAAC;AAZW,QAAA,YAAY,gBAYvB"}
@@ -10,13 +10,13 @@ const executeClaims = (params) => {
10
10
  - 函数名请使用 ${logicName}
11
11
  - 函数内的变量声明
12
12
  - 在使用变量或者参数前,请先查找低代码平台的 ts 定义中是否已声明,如果没有声明,请先声明,并遵循 nasl.core 中的规范
13
- - 在调用方法时,出入参的类型必须和方法的类型声明一致
14
13
  - 在使用枚举的时候,必须加上前缀, 格式为: app.enums.枚举['属性']
15
14
  - 例如 app.enums.UserStatusEnum['Normal']
16
15
  - 枚举值的类型为 枚举本身(eg: UserStatusEnum),如需文本(String),请使用 nasl.util.EnumValueToText() 方法进行转换
17
16
  - 禁止使用 result 作为变量名称,你可以使用其它变量名代替
18
17
  - 禁止使用 new 关键字
19
- - 所有的参数和变量禁止使用 any、Any 和 undefined 类型
18
+ - 禁止使用 any、Any 和 undefined 类型
19
+ - 在调用接口、依赖库中的方法时,出入参的类型必须和接口、依赖库的定义一致
20
20
  - 函数体
21
21
  - 只能返回一个函数体,你需要在一个函数体中实现所有的功能
22
22
  - 你只能使用 nasl.util 中的已有的函数或方法
@@ -44,13 +44,13 @@ const executeClaims = (params) => {
44
44
  - 函数名请使用 ${logicName}
45
45
  - 函数内的变量声明
46
46
  - 在使用变量或者参数前,请先查找低代码平台的 ts 定义中是否已声明,如果没有声明,请先声明,并遵循 nasl.core 中的规范
47
- - 在调用方法时,出入参的类型必须和方法的类型声明一致
48
47
  - 在使用枚举的时候,必须加上前缀, 格式为: app.enums.枚举['属性']
49
48
  - 例如 app.enums.UserStatusEnum['Normal']
50
49
  - 枚举值的类型为 枚举本身(eg: UserStatusEnum),如需文本(String),请使用 nasl.util.EnumValueToText() 方法进行转换
51
50
  - 禁止使用 result 作为变量名称,你可以使用其它变量名代替
52
51
  - 禁止使用 new 关键字
53
- - 所有的参数和变量禁止使用 any、Any 和 undefined 类型
52
+ - 禁止使用 any、Any 和 undefined 类型
53
+ - 在调用接口、连接器、依赖库中的方法时,出入参的类型必须和接口、连接器、依赖库的定义一致
54
54
  - 函数体
55
55
  - 只能返回一个函数体,你需要在一个函数体中实现所有的功能
56
56
  - 只能使用 nasl.util 中的已有的函数或方法
@@ -88,6 +88,8 @@ function transformTSCode(tsCode, contextLogicName, type) {
88
88
  const logic = new naslTypes.Logic();
89
89
  logic.body = [];
90
90
  function transformTypeAnnotation(node) {
91
+ if (!node)
92
+ return null;
91
93
  if (node.type === 'TSTypeReference') {
92
94
  const typeName = node.typeName.name;
93
95
  const primitiveType = naslTypes.primitiveTypeList.find((ta) => ta.typeName === typeName);
@@ -345,9 +347,14 @@ function transformTSCode(tsCode, contextLogicName, type) {
345
347
  }
346
348
  if (decl.init) {
347
349
  if (decl.init.type !== 'ArrayExpression' && decl.init.type !== 'ObjectExpression') {
350
+ const calleeName = (0, generator_1.default)(decl?.init?.callee).code;
348
351
  if (type === 'expression') {
349
352
  return transformLogicNode(decl.init);
350
353
  }
354
+ const varTypeAnnotation = decl?.id?.typeAnnotation?.typeAnnotation;
355
+ if (calleeName === 'nasl.oql.query' && varTypeAnnotation) {
356
+ decl.init.typeAnnotations = varTypeAnnotation;
357
+ }
351
358
  newNode = new naslTypes.Assignment({
352
359
  left: new naslTypes.Identifier({
353
360
  name: variableName,
@@ -391,7 +398,7 @@ function transformTSCode(tsCode, contextLogicName, type) {
391
398
  return new naslTypes.OqlQueryComponent({
392
399
  dataSource: 'app.dataSources.defaultDS',
393
400
  code: (0, generator_1.default)(node.arguments[0]).code.trim().slice(1, -1),
394
- // typeAnnotation: _typeAnnotation,
401
+ typeAnnotation: transformTypeAnnotation(node?.typeAnnotations)
395
402
  });
396
403
  }
397
404
  }