@lcap/nasl 2.20.0-beta.3 → 2.20.0-beta.4
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.
- package/out/automate/engine/index.d.ts +1 -1
- package/out/automate/engine/index.js +2 -3
- package/out/automate/engine/index.js.map +1 -1
- package/out/automate/engine/uniqueName.d.ts +1 -1
- package/out/automate/engine/uniqueName.js +2 -2
- package/out/automate/engine/uniqueName.js.map +1 -1
- package/out/automate/engine/utils.js +4 -1
- package/out/automate/engine/utils.js.map +1 -1
- package/out/automate/template/myProcess.d.ts +1 -1
- package/out/automate/template/myProcess.js +2 -2
- package/out/automate/template/myProcess.js.map +1 -1
- package/out/bak/translator.js +14 -22
- package/out/bak/translator.js.map +1 -1
- package/out/common/BaseNode.js +4 -1
- package/out/common/BaseNode.js.map +1 -1
- package/out/common/Command.d.ts +1 -0
- package/out/common/Command.js +5 -1
- package/out/common/Command.js.map +1 -1
- package/out/concepts/App__.d.ts +4 -0
- package/out/concepts/App__.js +30 -6
- package/out/concepts/App__.js.map +1 -1
- package/out/concepts/Assignee__.js +4 -3
- package/out/concepts/Assignee__.js.map +1 -1
- package/out/concepts/BatchAssignment__.js +3 -3
- package/out/concepts/BatchAssignment__.js.map +1 -1
- package/out/concepts/BindAttribute__.d.ts +7 -0
- package/out/concepts/BindAttribute__.js +270 -39
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/BindDirective__.d.ts +7 -0
- package/out/concepts/BindDirective__.js +215 -17
- package/out/concepts/BindDirective__.js.map +1 -1
- package/out/concepts/BindStyle__.d.ts +7 -0
- package/out/concepts/BindStyle__.js +194 -4
- package/out/concepts/BindStyle__.js.map +1 -1
- package/out/concepts/CallFunction__.js +22 -8
- package/out/concepts/CallFunction__.js.map +1 -1
- package/out/concepts/CallInterface__.js +3 -2
- package/out/concepts/CallInterface__.js.map +1 -1
- package/out/concepts/CallLogic__.d.ts +3 -0
- package/out/concepts/CallLogic__.js +78 -89
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CallQueryComponent__.js +20 -3
- package/out/concepts/CallQueryComponent__.js.map +1 -1
- package/out/concepts/ConfigGroup__.d.ts +1 -0
- package/out/concepts/ConfigGroup__.js +13 -0
- package/out/concepts/ConfigGroup__.js.map +1 -1
- package/out/concepts/ConfigProperty__.d.ts +19 -0
- package/out/concepts/ConfigProperty__.js +61 -0
- package/out/concepts/ConfigProperty__.js.map +1 -1
- package/out/concepts/Configuration__.d.ts +1 -0
- package/out/concepts/Configuration__.js +13 -0
- package/out/concepts/Configuration__.js.map +1 -1
- package/out/concepts/DataSource__.js.map +1 -1
- package/out/concepts/Destination__.d.ts +1 -0
- package/out/concepts/Destination__.js +61 -7
- package/out/concepts/Destination__.js.map +1 -1
- package/out/concepts/EntityProperty__.js +9 -1
- package/out/concepts/EntityProperty__.js.map +1 -1
- package/out/concepts/EnumItem__.d.ts +5 -5
- package/out/concepts/EnumItem__.js +6 -6
- package/out/concepts/Enum__.d.ts +20 -19
- package/out/concepts/Enum__.js +28 -1
- package/out/concepts/Enum__.js.map +1 -1
- package/out/concepts/ExternalDestination__.d.ts +1 -0
- package/out/concepts/ExternalDestination__.js +21 -3
- package/out/concepts/ExternalDestination__.js.map +1 -1
- package/out/concepts/ForEachStatement__.js +2 -0
- package/out/concepts/ForEachStatement__.js.map +1 -1
- package/out/concepts/Frontend__.d.ts +2 -1
- package/out/concepts/Frontend__.js.map +1 -1
- package/out/concepts/Identifier__.js +16 -5
- package/out/concepts/Identifier__.js.map +1 -1
- package/out/concepts/InterfaceParam__.js +9 -1
- package/out/concepts/InterfaceParam__.js.map +1 -1
- package/out/concepts/JSBlock__.js +5 -1
- package/out/concepts/JSBlock__.js.map +1 -1
- package/out/concepts/Logic__.d.ts +79 -79
- package/out/concepts/Logic__.js +16 -3
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/Match__.d.ts +0 -3
- package/out/concepts/Match__.js +11 -66
- package/out/concepts/Match__.js.map +1 -1
- package/out/concepts/MemberExpression__.js +9 -0
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/Module__.d.ts +16 -0
- package/out/concepts/Module__.js +43 -0
- package/out/concepts/Module__.js.map +1 -1
- package/out/concepts/NewComposite__.d.ts +2 -4
- package/out/concepts/NewComposite__.js +91 -126
- package/out/concepts/NewComposite__.js.map +1 -1
- package/out/concepts/NewList__.d.ts +1 -0
- package/out/concepts/NewList__.js +22 -2
- package/out/concepts/NewList__.js.map +1 -1
- package/out/concepts/NewMap__.d.ts +1 -0
- package/out/concepts/NewMap__.js +43 -11
- package/out/concepts/NewMap__.js.map +1 -1
- package/out/concepts/OqlQueryComponent__.js +40 -12
- package/out/concepts/OqlQueryComponent__.js.map +1 -1
- package/out/concepts/Param__.js +10 -2
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/ProcessElement__.js +2 -1
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/ProcessOutcome__.js +1 -1
- package/out/concepts/ProcessOutcome__.js.map +1 -1
- package/out/concepts/ProcessOutcomes__.js +1 -1
- package/out/concepts/ProcessOutcomes__.js.map +1 -1
- package/out/concepts/Process__.js +1 -0
- package/out/concepts/Process__.js.map +1 -1
- package/out/concepts/Return__.js +10 -2
- package/out/concepts/Return__.js.map +1 -1
- package/out/concepts/StringInterpolation__.js +14 -2
- package/out/concepts/StringInterpolation__.js.map +1 -1
- package/out/concepts/StringLiteral__.js +6 -6
- package/out/concepts/StringLiteral__.js.map +1 -1
- package/out/concepts/StructureProperty__.js +9 -1
- package/out/concepts/StructureProperty__.js.map +1 -1
- package/out/concepts/TypeAnnotation__.d.ts +6 -3
- package/out/concepts/TypeAnnotation__.js +67 -13
- package/out/concepts/TypeAnnotation__.js.map +1 -1
- package/out/concepts/ValidationRule__.d.ts +1 -0
- package/out/concepts/ValidationRule__.js +53 -0
- package/out/concepts/ValidationRule__.js.map +1 -1
- package/out/concepts/Variable__.js +9 -1
- package/out/concepts/Variable__.js.map +1 -1
- package/out/concepts/ViewElement__.js +17 -1
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.d.ts +1 -3
- package/out/concepts/View__.js +22 -11
- package/out/concepts/View__.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.collection.js +6 -1
- package/out/concepts/basics/stdlib/nasl.collection.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.configuration.js +3 -0
- package/out/concepts/basics/stdlib/nasl.configuration.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.core.d.ts +2 -0
- package/out/concepts/basics/stdlib/nasl.core.js +34 -0
- package/out/concepts/basics/stdlib/nasl.core.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.util.js +4 -2
- package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
- package/out/concepts/basics/types/index.d.ts +1 -0
- package/out/concepts/basics/types/index.js +3 -1
- package/out/concepts/basics/types/index.js.map +1 -1
- package/out/concepts/index__.d.ts +0 -1
- package/out/concepts/index__.js +0 -1
- package/out/concepts/index__.js.map +1 -1
- package/out/enums/KEYWORDS.js +8 -0
- package/out/enums/KEYWORDS.js.map +1 -1
- package/out/generator/genBundleFiles.js +24 -5
- package/out/generator/genBundleFiles.js.map +1 -1
- package/out/generator/genReleaseBody.d.ts +2 -3
- package/out/generator/genReleaseBody.js +97 -23
- package/out/generator/genReleaseBody.js.map +1 -1
- package/out/generator/permission.d.ts +2 -10
- package/out/generator/permission.js +26 -13
- package/out/generator/permission.js.map +1 -1
- package/out/server/entity2LogicNamespace.js +2 -20
- package/out/server/entity2LogicNamespace.js.map +1 -1
- package/out/server/extendBaseNode.js +16 -5
- package/out/server/extendBaseNode.js.map +1 -1
- package/out/server/formatTsUtils.d.ts +2 -1
- package/out/server/formatTsUtils.js +40 -10
- package/out/server/formatTsUtils.js.map +1 -1
- package/out/server/getLogics.d.ts +2 -2
- package/out/server/getLogics.js +3 -3
- package/out/server/getLogics.js.map +1 -1
- package/out/server/getMemberIdentifier.d.ts +1 -0
- package/out/server/getMemberIdentifier.js +27 -1
- package/out/server/getMemberIdentifier.js.map +1 -1
- package/out/server/index.js +1 -0
- package/out/server/index.js.map +1 -1
- package/out/server/naslServer.d.ts +7 -1
- package/out/server/naslServer.js +519 -46
- package/out/server/naslServer.js.map +1 -1
- package/out/server/translator.js +109 -33
- package/out/server/translator.js.map +1 -1
- package/out/service/storage/init.js +21 -1
- package/out/service/storage/init.js.map +1 -1
- package/out/templator/genCreateBlock.js +1 -3
- package/out/templator/genCreateBlock.js.map +1 -1
- package/out/templator/genCurdEditMultipleKeyBlock.js +1 -3
- package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
- package/out/templator/genCurdMultipleKeyBlock.js +2 -4
- package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
- package/out/templator/genGetBlock.js +1 -1
- package/out/templator/genGetBlock.js.map +1 -1
- package/out/templator/genGridViewBlock.js +2 -2
- package/out/templator/genGridViewBlock.js.map +1 -1
- package/out/templator/genListViewBlock.js +7 -1
- package/out/templator/genListViewBlock.js.map +1 -1
- package/out/templator/genSelectBlock.js +1 -1
- package/out/templator/genSelectBlock.js.map +1 -1
- package/out/templator/genTableBlock.js +2 -2
- package/out/templator/genTableBlock.js.map +1 -1
- package/out/templator/genUpdateBlock.js +2 -3
- package/out/templator/genUpdateBlock.js.map +1 -1
- package/out/utils/traverse.js +8 -2
- package/out/utils/traverse.js.map +1 -1
- package/package.json +2 -2
- package/sandbox/stdlib/dist/nasl.logging.js +0 -0
- package/sandbox/stdlib/dist/nasl.util.js +0 -0
- package/sandbox/stdlib/nasl.collection.ts +1 -0
- package/sandbox/stdlib/nasl.core.ts +34 -0
- package/sandbox/stdlib/nasl.oql.ts +71 -15
- package/sandbox/stdlib/nasl.util.ts +9 -3
- package/src/automate/engine/dist/index.dev.js +517 -0
- package/src/automate/engine/index.js +2 -3
- package/src/automate/engine/uniqueName.js +2 -2
- package/src/automate/engine/utils.js +4 -2
- package/src/automate/template/myProcess.js +2 -2
- package/src/bak/translator.js +16 -25
- package/src/common/BaseNode.ts +3 -1
- package/src/common/Command.ts +4 -0
- package/src/common/dist/BaseNode.js +1101 -0
- package/src/concepts/App__.ts +36 -7
- package/src/concepts/Assignee__.ts +4 -3
- package/src/concepts/BatchAssignment__.ts +3 -3
- package/src/concepts/BindAttribute__.ts +299 -38
- package/src/concepts/BindDirective__.ts +204 -31
- package/src/concepts/BindStyle__.ts +187 -24
- package/src/concepts/CallFunction__.ts +55 -10
- package/src/concepts/CallInterface__.ts +3 -2
- package/src/concepts/CallLogic__.ts +110 -90
- package/src/concepts/CallQueryComponent__.ts +18 -3
- package/src/concepts/ConfigGroup__.ts +17 -4
- package/src/concepts/ConfigProperty__.ts +70 -4
- package/src/concepts/Configuration__.ts +14 -5
- package/src/concepts/DataSource__.ts +4 -1
- package/src/concepts/Destination__.ts +61 -7
- package/src/concepts/EntityProperty__.ts +7 -1
- package/src/concepts/EnumItem__.ts +6 -6
- package/src/concepts/Enum__.ts +22 -19
- package/src/concepts/ExternalDestination__.ts +28 -8
- package/src/concepts/ForEachStatement__.ts +2 -0
- package/src/concepts/Frontend__.ts +2 -1
- package/src/concepts/Identifier__.ts +16 -5
- package/src/concepts/InterfaceParam__.ts +7 -1
- package/src/concepts/JSBlock__.ts +3 -2
- package/src/concepts/Logic__.ts +95 -83
- package/src/concepts/Match__.ts +31 -67
- package/src/concepts/MemberExpression__.ts +6 -0
- package/src/concepts/Module__.ts +57 -0
- package/src/concepts/NewComposite__.ts +95 -140
- package/src/concepts/NewList__.ts +23 -2
- package/src/concepts/NewMap__.ts +48 -24
- package/src/concepts/OqlQueryComponent__.ts +40 -20
- package/src/concepts/Param__.ts +178 -176
- package/src/concepts/ProcessElement__.ts +2 -1
- package/src/concepts/ProcessOutcome__.ts +1 -1
- package/src/concepts/ProcessOutcomes__.ts +1 -1
- package/src/concepts/Process__.ts +1 -0
- package/src/concepts/Return__.ts +8 -2
- package/src/concepts/StringInterpolation__.ts +19 -7
- package/src/concepts/StringLiteral__.ts +7 -6
- package/src/concepts/StructureProperty__.ts +7 -1
- package/src/concepts/TypeAnnotation__.ts +101 -14
- package/src/concepts/ValidationRule__.ts +58 -9
- package/src/concepts/Variable__.ts +11 -1
- package/src/concepts/ViewElement__.ts +39 -2
- package/src/concepts/View__.ts +26 -14
- package/src/concepts/basics/stdlib/dist/nasl.util.js +1602 -0
- package/src/concepts/basics/stdlib/dist/reference2TypeAnnotationList.js +24 -0
- package/src/concepts/basics/stdlib/nasl.collection.ts +6 -1
- package/src/concepts/basics/stdlib/nasl.configuration.ts +3 -0
- package/src/concepts/basics/stdlib/nasl.core.ts +33 -2
- package/src/concepts/basics/stdlib/nasl.util.ts +4 -2
- package/src/concepts/basics/types/index.ts +1 -0
- package/src/concepts/dist/BindAttribute__.js +795 -0
- package/src/concepts/dist/BindEvent__.js +732 -0
- package/src/concepts/dist/CallFunction__.js +527 -0
- package/src/concepts/dist/CallLogic__.js +932 -0
- package/src/concepts/dist/Destination__.js +708 -0
- package/src/concepts/dist/ExternalDestination__.js +298 -0
- package/src/concepts/dist/Identifier__.js +311 -0
- package/src/concepts/dist/StringInterpolation__.js +231 -0
- package/src/concepts/dist/TypeAnnotation__.js +834 -0
- package/src/concepts/dist/ViewElement__.js +1692 -0
- package/src/concepts/dist/View__.js +1601 -0
- package/src/concepts/index__.ts +0 -1
- package/src/enums/KEYWORDS.ts +8 -0
- package/src/generator/dist/genBundleFiles.js +261 -0
- package/src/generator/dist/genMetaData.js +245 -0
- package/src/generator/dist/permission.js +405 -0
- package/src/generator/genBundleFiles.ts +24 -5
- package/src/generator/genReleaseBody.ts +75 -30
- package/src/generator/permission.ts +30 -14
- package/src/server/entity2LogicNamespace.ts +2 -20
- package/src/server/extendBaseNode.ts +15 -5
- package/src/server/formatTsUtils.ts +41 -10
- package/src/server/getLogics.ts +4 -4
- package/src/server/getMemberIdentifier.ts +27 -1
- package/src/server/index.ts +2 -0
- package/src/server/naslServer.ts +520 -48
- package/src/server/translator.ts +96 -34
- package/src/service/storage/dist/init.js +579 -0
- package/src/service/storage/init.ts +22 -2
- package/src/templator/dist/genEditTableBlock.js +204 -0
- package/src/templator/dist/genGridViewBlock.js +265 -0
- package/src/templator/dist/genListViewBlock.js +84 -0
- package/src/templator/dist/genTableBlock.js +209 -0
- package/src/templator/dist/utils.js +527 -0
- package/src/templator/genCreateBlock.ts +1 -3
- package/src/templator/genCurdEditMultipleKeyBlock.ts +1 -3
- package/src/templator/genCurdMultipleKeyBlock.ts +2 -4
- package/src/templator/genGetBlock.ts +1 -1
- package/src/templator/genGridViewBlock.ts +3 -4
- package/src/templator/genListViewBlock.ts +9 -3
- package/src/templator/genSelectBlock.ts +1 -1
- package/src/templator/genTableBlock.ts +3 -3
- package/src/templator/genUpdateBlock.ts +2 -3
- package/src/utils/traverse.ts +10 -2
- package/ts-worker/lib/tsserver.js +10 -2
- package/ts-worker/package.json +1 -0
- package/ts-worker/webpack.config.js +11 -2
- package/out/concepts/ConstructArgument__.d.ts +0 -40
- package/out/concepts/ConstructArgument__.js +0 -108
- package/out/concepts/ConstructArgument__.js.map +0 -1
- package/out/concepts/Construct__.d.ts +0 -189
- package/out/concepts/Construct__.js +0 -340
- package/out/concepts/Construct__.js.map +0 -1
- package/out/templator/sql-parser/index.d.ts +0 -1
- package/out/templator/sql-parser/index.js +0 -228
- package/out/templator/sql-parser/index.js.map +0 -1
- package/out/templator/sql-parser/parser.js +0 -26664
- package/out/templator/sql-parser/parser.js.map +0 -1
package/src/server/translator.ts
CHANGED
|
@@ -49,6 +49,7 @@ import {
|
|
|
49
49
|
OqlQueryComponent,
|
|
50
50
|
NewMap,
|
|
51
51
|
NewList,
|
|
52
|
+
NewComposite,
|
|
52
53
|
} from '../concepts';
|
|
53
54
|
import { SourceMapItem } from '../translator';
|
|
54
55
|
import { Diagnostic } from '../manager/diagnostic';
|
|
@@ -94,7 +95,7 @@ function transformType(tsType: string): string {
|
|
|
94
95
|
return '拓展模块';
|
|
95
96
|
else if (tsType === 'Promise<void>')
|
|
96
97
|
return '未知类型';
|
|
97
|
-
else if (tsType.startsWith('{') && tsType.endsWith('}') || tsType.startsWith('{') && tsType.endsWith('...')) {
|
|
98
|
+
else if ((tsType.startsWith('{') && tsType.endsWith('}')) || (tsType.startsWith('{') && tsType.endsWith('...'))) {
|
|
98
99
|
if (tsType.includes('__name: "AStructure_')) {
|
|
99
100
|
return tsType.replace(/__name: "AStructure_\w{8}";/g, '');
|
|
100
101
|
}
|
|
@@ -141,6 +142,7 @@ const NAMESPACE_CONCEPT_MAP: Record<string, string> = {
|
|
|
141
142
|
extensions: '扩展模块',
|
|
142
143
|
apis: '接口应用',
|
|
143
144
|
components: '扩展组件',
|
|
145
|
+
properties: '配置参数',
|
|
144
146
|
};
|
|
145
147
|
|
|
146
148
|
function transformNamespace(tsNamespace: string): string {
|
|
@@ -276,6 +278,10 @@ const TS_RULES: Array<{
|
|
|
276
278
|
re: /Cannot find name '__(?:OQL_GRAMMAR_ERROR)__'/,
|
|
277
279
|
result: 'SQL查询:语句可能有异常。',
|
|
278
280
|
},
|
|
281
|
+
{
|
|
282
|
+
re: /Cannot find name '__(?:OQL_ALIAS_WARNING)__'/,
|
|
283
|
+
result: 'SQL查询:别名不符合规范。',
|
|
284
|
+
},
|
|
279
285
|
{
|
|
280
286
|
re: /Cannot find name '__(?:OQL_EMPTY_ERROR)__'/,
|
|
281
287
|
result: 'SQL查询:语句不能为空。',
|
|
@@ -375,9 +381,17 @@ const TS_RULES: Array<{
|
|
|
375
381
|
re: /'__destinationEmpty__' is declared but its value is never read./,
|
|
376
382
|
result: '任务未关联页面',
|
|
377
383
|
},
|
|
384
|
+
{
|
|
385
|
+
re: /'__devConfigValueEmpty' is declared but its value is never read./,
|
|
386
|
+
result: '配置参数开发环境取值未设置',
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
re: /'__onlineConfigValueEmpty' is declared but its value is never read./,
|
|
390
|
+
result: '配置参数生产环境取值未设置',
|
|
391
|
+
},
|
|
378
392
|
{
|
|
379
393
|
re: /Variable '(.+?)' implicitly has an 'any' type./,
|
|
380
|
-
result: '$1
|
|
394
|
+
result: '$1推导不出类型!请连线或手动设置',
|
|
381
395
|
transforms: [transformType],
|
|
382
396
|
},
|
|
383
397
|
];
|
|
@@ -407,6 +421,14 @@ const POST_RULES: Array<{
|
|
|
407
421
|
re: /Decimal|"Decimal"/g,
|
|
408
422
|
result: '精确小数',
|
|
409
423
|
},
|
|
424
|
+
{
|
|
425
|
+
re: /String|"String"/g,
|
|
426
|
+
result: '字符串',
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
re: /Boolean|"Boolean"/g,
|
|
430
|
+
result: '布尔值',
|
|
431
|
+
},
|
|
410
432
|
{
|
|
411
433
|
re: /never/g,
|
|
412
434
|
result: '未知类型',
|
|
@@ -491,7 +513,7 @@ export function naslNodeTranslateMessage(minRange: MinRange, tsErrorDetail: Diag
|
|
|
491
513
|
}
|
|
492
514
|
}
|
|
493
515
|
|
|
494
|
-
if (node instanceof ProcessElement &&
|
|
516
|
+
if (node instanceof ProcessElement && ['ExclusiveGateway', 'ParallelGateway', 'InclusiveGateway'].includes(node.type)) {
|
|
495
517
|
const reg = /Expected (.+?) arguments, but got (.+?)./.exec(text);
|
|
496
518
|
let u = '排他网关';
|
|
497
519
|
if (node.type === 'ParallelGateway') {
|
|
@@ -513,15 +535,27 @@ export function naslNodeTranslateMessage(minRange: MinRange, tsErrorDetail: Diag
|
|
|
513
535
|
node = node.getAncestor('CallLogic');
|
|
514
536
|
}
|
|
515
537
|
// 赋值左右侧类型不一致, 把文字换一下
|
|
516
|
-
if (/Argument of type '(.+?)' is not assignable to parameter of type '(.+?)'/.exec(text)
|
|
517
|
-
// OQL 的返回类型报错需要转换翻译,其内部 SQL 语句的参数类型报错不转换翻译
|
|
538
|
+
if (/Argument of type '(.+?)' is not assignable to parameter of type '(.+?)'/.exec(text)) {
|
|
518
539
|
if (node instanceof OqlQueryComponent) {
|
|
519
|
-
|
|
540
|
+
tsErrorDetail.message = tsErrorDetail.message.replace('参数类型不一致!传入类型:', '类型不一致!传入类型:').replace('接收类型:', '期待类型:');
|
|
541
|
+
} else if (node.parentNode instanceof Assignment) {
|
|
542
|
+
// OQL 的返回类型报错需要转换翻译,其内部 SQL 语句的参数类型报错不转换翻译
|
|
543
|
+
if (node instanceof OqlQueryComponent) {
|
|
544
|
+
if (node.getCurrentSource().currentSource.range.start.line + 1 === tsErrorDetail.originalDiagnostic.start.line) {
|
|
545
|
+
tsErrorDetail.message = tsErrorDetail.message.replace('参数类型不一致!传入类型:', '赋值:类型不一致!右边类型:').replace('接收类型:', '左边类型:');
|
|
546
|
+
}
|
|
547
|
+
} else {
|
|
548
|
+
// node = node.getAncestor('CallLogic');
|
|
520
549
|
tsErrorDetail.message = tsErrorDetail.message.replace('参数类型不一致!传入类型:', '赋值:类型不一致!右边类型:').replace('接收类型:', '左边类型:');
|
|
521
550
|
}
|
|
522
|
-
} else {
|
|
523
|
-
|
|
524
|
-
|
|
551
|
+
} else if (node.parentNode instanceof NewMap) {
|
|
552
|
+
if (text.includes(`is not assignable to parameter of type 'None'`)) {
|
|
553
|
+
tsErrorDetail.message = tsErrorDetail.message = `'参数类型不一致!', 'map的key类型只能是String | Integer | Boolean | Long | Decimal'的其中一种`;
|
|
554
|
+
} else if (text.includes(`parameter of type 'never'`)) {
|
|
555
|
+
tsErrorDetail.message = '自动推导不出类型!newMap中有未知类型';
|
|
556
|
+
}
|
|
557
|
+
} else if (node.parentNode instanceof NewList && text.includes(`parameter of type 'never'`)) {
|
|
558
|
+
tsErrorDetail.message = '自动推导不出类型!newList中有未知类型';
|
|
525
559
|
}
|
|
526
560
|
}
|
|
527
561
|
if (node instanceof Argument || node instanceof Anchor) {
|
|
@@ -552,10 +586,6 @@ export function naslNodeTranslateMessage(minRange: MinRange, tsErrorDetail: Diag
|
|
|
552
586
|
tsErrorDetail.message = str;
|
|
553
587
|
}
|
|
554
588
|
}
|
|
555
|
-
if (node instanceof OqlQueryComponent) {
|
|
556
|
-
console.log(minRange, tsErrorDetail);
|
|
557
|
-
}
|
|
558
|
-
|
|
559
589
|
// 类型报错的,需要放到上一级
|
|
560
590
|
if (/'(.+?)' has no exported member(?: named)? '(.+?)'/.exec(text) || /Property '(.+?)' does not exist on type '(.+?)'./.exec(text)) {
|
|
561
591
|
if (node instanceof TypeAnnotation) {
|
|
@@ -592,6 +622,10 @@ export function naslNodeTranslateMessage(minRange: MinRange, tsErrorDetail: Diag
|
|
|
592
622
|
tsErrorDetail.message = '调用逻辑:参数不能为空!';
|
|
593
623
|
} else if (node instanceof ProcessOutcome || node instanceof Function || node instanceof MatchCase) {
|
|
594
624
|
tsErrorDetail.message = (node as any).constructor.nodeTitle + ':不能为空!';
|
|
625
|
+
} else if (node instanceof NewMap) {
|
|
626
|
+
tsErrorDetail.message = 'Map推导不出类型!请手动设置!';
|
|
627
|
+
} else if (node instanceof NewList) {
|
|
628
|
+
tsErrorDetail.message = 'List推导不出类型!请手动设置!';
|
|
595
629
|
} else if (node instanceof Argument) {
|
|
596
630
|
let str = tsErrorDetail.message;
|
|
597
631
|
str = (node.parentNode as any).constructor.nodeTitle + ':' + str;
|
|
@@ -627,23 +661,35 @@ export function naslNodeTranslateMessage(minRange: MinRange, tsErrorDetail: Diag
|
|
|
627
661
|
if (/'__UpdateNoProperty__' is declared but its value is never read./.exec(text)) {
|
|
628
662
|
tsErrorDetail.message = '局部更新:未选择任何属性';
|
|
629
663
|
const callLogic = node.parentNode.parentNode.parentNode as CallLogic;
|
|
630
|
-
const bodyArgument = callLogic.arguments.find(item => item.keyword === 'body');
|
|
664
|
+
const bodyArgument = callLogic.arguments.find((item) => item.keyword === 'body');
|
|
631
665
|
node = bodyArgument.expression;
|
|
632
666
|
}
|
|
633
667
|
|
|
634
668
|
// 左右类型不一致的,把上级信息带上
|
|
635
669
|
if (/^Type '(.+?)' is not assignable to type '(.+?)'\./.exec(text) || /^This condition will always return '(.+?)' since the types '(.+?)' and '(.+?)' have no overlap./.exec(text)) {
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
670
|
+
if (node instanceof OqlQueryComponent) {
|
|
671
|
+
// SQL语句:查询字段重复:id
|
|
672
|
+
let cap = /^Type '(.+?)' is not assignable to type 'true'\./.exec(text);
|
|
673
|
+
if (cap) {
|
|
674
|
+
const errorMsg = 'SQL查询:查询字段重复:$1'.replace(/\$(\d+)/g, (m, index) => transformType(cap[index]));
|
|
675
|
+
tsErrorDetail.message = errorMsg;
|
|
676
|
+
} else {
|
|
677
|
+
cap = /^Type '(.+?)' is not assignable to type '(.+?)'\./.exec(text);
|
|
678
|
+
if (cap) {
|
|
679
|
+
const errorMsg = 'SQL查询:返回类型不一致:选择类型:$2,返回类型:$1'.replace(/\$(\d+)/g, (m, index) => transformType(cap[index]));
|
|
680
|
+
tsErrorDetail.message = errorMsg;
|
|
681
|
+
}
|
|
682
|
+
}
|
|
683
|
+
} else {
|
|
684
|
+
let str = tsErrorDetail.message;
|
|
685
|
+
str = (node.parentNode as any).constructor.nodeTitle + ':' + str;
|
|
686
|
+
tsErrorDetail.message = str;
|
|
687
|
+
if (node.parentNode instanceof AnonymousFunction) {
|
|
688
|
+
// 匿名函数:左右参数类型不一致!左边类型:布尔值,右边类型:整数。
|
|
689
|
+
tsErrorDetail.message = tsErrorDetail.message.replace('左右参数', '返回值').replace('左边类型', '接收类型').replace('右边类型', '传入类型');
|
|
690
|
+
} else if (text === `Type 'void' is not assignable to type 'never'.`) {
|
|
691
|
+
tsErrorDetail.message = `${node.name}推导不出类型!请连线或手动设置`;
|
|
692
|
+
}
|
|
647
693
|
}
|
|
648
694
|
}
|
|
649
695
|
// 参数类型不一致!
|
|
@@ -673,18 +719,34 @@ export function naslNodeTranslateMessage(minRange: MinRange, tsErrorDetail: Diag
|
|
|
673
719
|
node.isSmpty = true;
|
|
674
720
|
}
|
|
675
721
|
}
|
|
676
|
-
if (/Variable '(.+?)' implicitly has an 'any' type./.exec(text)) {
|
|
677
|
-
if (node.parentNode instanceof
|
|
722
|
+
if (/Variable '(.+?)' implicitly has an 'any' type./.exec(text) || /Variable '(.+?)' implicitly has an 'any\[\]' type./.exec(text)) {
|
|
723
|
+
if (node.parentNode instanceof NewComposite) {
|
|
724
|
+
//
|
|
725
|
+
} else if (node.parentNode instanceof NewList) {
|
|
726
|
+
tsErrorDetail.message = tsErrorDetail.message.replace('!请连线或手动设置', '');
|
|
727
|
+
} else if (node.parentNode instanceof NewMap) {
|
|
728
|
+
tsErrorDetail.message = tsErrorDetail.message.replace('!请连线或手动设置', '');
|
|
729
|
+
} else {
|
|
678
730
|
return;
|
|
679
|
-
|
|
680
|
-
// tsErrorDetail.message = 'newMap未设置类型,右侧属性' + tsErrorDetail.message.split('请连线或手动设置')[0];
|
|
681
|
-
// } else if (node.parentNode instanceof NewList) {
|
|
682
|
-
// tsErrorDetail.message = 'newList未设置类型,属性' + tsErrorDetail.message.split('请连线或手动设置')[0];
|
|
683
|
-
// }
|
|
731
|
+
}
|
|
684
732
|
}
|
|
685
733
|
for (const rule of POST_RULES) {
|
|
686
|
-
if (rule.re.test(tsErrorDetail.message))
|
|
687
|
-
tsErrorDetail.message = tsErrorDetail.message.replace(rule.re,
|
|
734
|
+
if (rule.re.test(tsErrorDetail.message)) {
|
|
735
|
+
tsErrorDetail.message = tsErrorDetail.message.replace(rule.re, (value, index, oldStr) => {
|
|
736
|
+
// 处理匹配到的值的左右的内容,是不是还是字母,要是字母就原样输出,防止展示问题
|
|
737
|
+
try {
|
|
738
|
+
const leftCode = index - 1 < 0 ? '' : oldStr[index - 1];
|
|
739
|
+
const rightCode = oldStr[index + value.length] || '';
|
|
740
|
+
if (/^[A-Za-z]+$/.test(leftCode) || /^[A-Za-z]+$/.test(rightCode)) {
|
|
741
|
+
return value;
|
|
742
|
+
} else {
|
|
743
|
+
return rule.result;
|
|
744
|
+
}
|
|
745
|
+
} catch (err) {
|
|
746
|
+
return value;
|
|
747
|
+
}
|
|
748
|
+
});
|
|
749
|
+
}
|
|
688
750
|
}
|
|
689
751
|
node.tsErrorDetail = tsErrorDetail;
|
|
690
752
|
// 如果logic中有报错就把标识置为true
|