@lcap/nasl 4.4.0-beta.3 → 4.4.0-beta.30
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/generator/genBundleFiles.d.ts +2 -0
- package/out/generator/genBundleFiles.d.ts.map +1 -1
- package/out/generator/genBundleFiles.js +77 -12
- package/out/generator/genBundleFiles.js.map +1 -1
- package/out/generator/icestark.d.ts +1 -1
- package/out/generator/icestark.d.ts.map +1 -1
- package/out/generator/icestark.js +6 -1
- package/out/generator/icestark.js.map +1 -1
- package/out/generator/qiankun.d.ts +1 -1
- package/out/generator/qiankun.d.ts.map +1 -1
- package/out/generator/qiankun.js +9 -3
- package/out/generator/qiankun.js.map +1 -1
- package/out/generator/release-body/body.d.ts +0 -1
- package/out/generator/release-body/body.d.ts.map +1 -1
- package/out/generator/release-body/body.js +1 -390
- package/out/generator/release-body/body.js.map +1 -1
- package/out/generator/release-body/data.d.ts.map +1 -1
- package/out/generator/release-body/data.js +38 -11
- package/out/generator/release-body/data.js.map +1 -1
- package/out/generator/release-body/internal.d.ts +1 -0
- package/out/generator/release-body/internal.d.ts.map +1 -1
- package/out/generator/release-body/internal.js.map +1 -1
- package/out/generator/release-body/share-content.js +1 -1
- package/out/generator/release-body/share-content.js.map +1 -1
- package/out/generator/release-body/types.d.ts +2 -0
- package/out/generator/release-body/types.d.ts.map +1 -1
- package/out/generator/release-body/utils.d.ts +1 -0
- package/out/generator/release-body/utils.d.ts.map +1 -1
- package/out/generator/release-body/utils.js +2 -1
- package/out/generator/release-body/utils.js.map +1 -1
- package/out/generator/templates/chunk.js +1 -1
- package/out/generator/templates/runtime.js +2 -2
- package/out/generator/wujie.d.ts +1 -1
- package/out/generator/wujie.d.ts.map +1 -1
- package/out/generator/wujie.js +6 -1
- package/out/generator/wujie.js.map +1 -1
- package/out/natural/exports/nasl2Files.d.ts +34 -0
- package/out/natural/exports/nasl2Files.d.ts.map +1 -0
- package/out/natural/exports/nasl2Files.js +237 -0
- package/out/natural/exports/nasl2Files.js.map +1 -0
- package/out/natural/{transform2BatchActions.d.ts → exports/transform2BatchActions.d.ts} +20 -2
- package/out/natural/exports/transform2BatchActions.d.ts.map +1 -0
- package/out/natural/exports/transform2BatchActions.js +1233 -0
- package/out/natural/exports/transform2BatchActions.js.map +1 -0
- package/out/natural/index.d.ts +12 -12
- package/out/natural/index.d.ts.map +1 -1
- package/out/natural/index.js +12 -14
- package/out/natural/index.js.map +1 -1
- package/out/natural/{genNaturalTS.d.ts → old/getContext/genNaturalTS.d.ts} +12 -12
- package/out/natural/old/getContext/genNaturalTS.d.ts.map +1 -0
- package/out/natural/{genNaturalTS.js → old/getContext/genNaturalTS.js} +65 -65
- package/out/natural/old/getContext/genNaturalTS.js.map +1 -0
- package/out/natural/old/getContext/genTextualNASL.d.ts.map +1 -0
- package/out/natural/old/getContext/genTextualNASL.js.map +1 -0
- package/out/natural/{getContext → old/getContext}/getUILib.d.ts +1 -1
- package/out/natural/old/getContext/getUILib.d.ts.map +1 -0
- package/out/natural/{getContext → old/getContext}/getUILib.js +14 -14
- package/out/natural/old/getContext/getUILib.js.map +1 -0
- package/out/natural/{getContext → old/getContext}/index.d.ts +3 -3
- package/out/natural/old/getContext/index.d.ts.map +1 -0
- package/out/natural/{getContext → old/getContext}/index.js +4 -4
- package/out/natural/old/getContext/index.js.map +1 -0
- package/out/natural/old/getContext/naslStdlibMap.d.ts.map +1 -0
- package/out/natural/{getContext → old/getContext}/naslStdlibMap.js +10 -10
- package/out/natural/old/getContext/naslStdlibMap.js.map +1 -0
- package/out/natural/{transformTS2UI.d.ts → old/parser/transformTS2UI.d.ts} +2 -2
- package/out/natural/old/parser/transformTS2UI.d.ts.map +1 -0
- package/out/natural/{transformTS2UI.js → old/parser/transformTS2UI.js} +13 -14
- package/out/natural/old/parser/transformTS2UI.js.map +1 -0
- package/out/natural/{transformTSCode.d.ts → old/parser/transformTSCode.d.ts} +1 -1
- package/out/natural/old/parser/transformTSCode.d.ts.map +1 -0
- package/out/natural/{transformTSCode.js → old/parser/transformTSCode.js} +32 -8
- package/out/natural/old/parser/transformTSCode.js.map +1 -0
- package/out/natural/{tools.d.ts → old/tools.d.ts} +0 -4
- package/out/natural/old/tools.d.ts.map +1 -0
- package/out/natural/{tools.js → old/tools.js} +7 -25
- package/out/natural/old/tools.js.map +1 -0
- package/out/natural/{parseNaturalTS.d.ts → parser/parseNaturalTS.d.ts} +9 -2
- package/out/natural/parser/parseNaturalTS.d.ts.map +1 -0
- package/out/natural/{parseNaturalTS.js → parser/parseNaturalTS.js} +119 -38
- package/out/natural/parser/parseNaturalTS.js.map +1 -0
- package/out/natural/{parseNaturalTSXView.d.ts → parser/parseNaturalTSXView.d.ts} +1 -2
- package/out/natural/parser/parseNaturalTSXView.d.ts.map +1 -0
- package/out/natural/{parseNaturalTSXView.js → parser/parseNaturalTSXView.js} +181 -139
- package/out/natural/parser/parseNaturalTSXView.js.map +1 -0
- package/out/natural/transforms/checker/checkDataQueryCalleeNameOrder.d.ts +7 -0
- package/out/natural/transforms/checker/checkDataQueryCalleeNameOrder.d.ts.map +1 -0
- package/out/natural/transforms/checker/checkDataQueryCalleeNameOrder.js +38 -0
- package/out/natural/transforms/checker/checkDataQueryCalleeNameOrder.js.map +1 -0
- package/out/natural/transforms/checker/checkDefaultValue.d.ts +14 -0
- package/out/natural/transforms/checker/checkDefaultValue.d.ts.map +1 -0
- package/out/natural/transforms/checker/checkDefaultValue.js +39 -0
- package/out/natural/transforms/checker/checkDefaultValue.js.map +1 -0
- package/out/natural/transforms/checker/checkLcapEntity.d.ts +16 -0
- package/out/natural/transforms/checker/checkLcapEntity.d.ts.map +1 -0
- package/out/natural/transforms/checker/checkLcapEntity.js +337 -0
- package/out/natural/transforms/checker/checkLcapEntity.js.map +1 -0
- package/out/natural/transforms/checker/checkValidationCalleeName.d.ts +3 -0
- package/out/natural/transforms/checker/checkValidationCalleeName.d.ts.map +1 -0
- package/out/natural/transforms/checker/checkValidationCalleeName.js +88 -0
- package/out/natural/transforms/checker/checkValidationCalleeName.js.map +1 -0
- package/out/natural/transforms/checker/checkViewElement.d.ts +29 -0
- package/out/natural/transforms/checker/checkViewElement.d.ts.map +1 -0
- package/out/natural/transforms/checker/checkViewElement.js +618 -0
- package/out/natural/transforms/checker/checkViewElement.js.map +1 -0
- package/out/natural/transforms/checker/index.d.ts +19 -0
- package/out/natural/transforms/checker/index.d.ts.map +1 -0
- package/out/natural/transforms/checker/index.js +30 -0
- package/out/natural/transforms/checker/index.js.map +1 -0
- package/out/natural/transforms/transform2Entity.d.ts +13 -1
- package/out/natural/transforms/transform2Entity.d.ts.map +1 -1
- package/out/natural/transforms/transform2Entity.js +172 -17
- package/out/natural/transforms/transform2Entity.js.map +1 -1
- package/out/natural/transforms/transform2Enum.d.ts +1 -1
- package/out/natural/transforms/transform2Enum.d.ts.map +1 -1
- package/out/natural/transforms/transform2Enum.js +5 -1
- package/out/natural/transforms/transform2Enum.js.map +1 -1
- package/out/natural/transforms/transform2GlobalLogicDeclaration.d.ts +2 -2
- package/out/natural/transforms/transform2GlobalLogicDeclaration.d.ts.map +1 -1
- package/out/natural/transforms/transform2GlobalLogicDeclaration.js +18 -4
- package/out/natural/transforms/transform2GlobalLogicDeclaration.js.map +1 -1
- package/out/natural/transforms/transform2Logic.d.ts +4 -4
- package/out/natural/transforms/transform2Logic.d.ts.map +1 -1
- package/out/natural/transforms/transform2Logic.js +58 -17
- package/out/natural/transforms/transform2Logic.js.map +1 -1
- package/out/natural/transforms/transform2LogicItem.d.ts +11 -4
- package/out/natural/transforms/transform2LogicItem.d.ts.map +1 -1
- package/out/natural/transforms/transform2LogicItem.js +279 -178
- package/out/natural/transforms/transform2LogicItem.js.map +1 -1
- package/out/natural/transforms/transform2MetadataType.d.ts +1 -1
- package/out/natural/transforms/transform2MetadataType.d.ts.map +1 -1
- package/out/natural/transforms/transform2MetadataType.js +1 -1
- package/out/natural/transforms/transform2MetadataType.js.map +1 -1
- package/out/natural/transforms/transform2Param.d.ts +4 -0
- package/out/natural/transforms/transform2Param.d.ts.map +1 -0
- package/out/natural/transforms/transform2Param.js +114 -0
- package/out/natural/transforms/transform2Param.js.map +1 -0
- package/out/natural/transforms/transform2Structure.d.ts +1 -1
- package/out/natural/transforms/transform2Structure.d.ts.map +1 -1
- package/out/natural/transforms/transform2Structure.js +13 -2
- package/out/natural/transforms/transform2Structure.js.map +1 -1
- package/out/natural/transforms/transform2TypeAnnotation.d.ts +1 -1
- package/out/natural/transforms/transform2TypeAnnotation.d.ts.map +1 -1
- package/out/natural/transforms/transform2TypeAnnotation.js +3 -3
- package/out/natural/transforms/transform2TypeAnnotation.js.map +1 -1
- package/out/natural/transforms/transform2ValidationRule.d.ts +2 -2
- package/out/natural/transforms/transform2ValidationRule.d.ts.map +1 -1
- package/out/natural/transforms/transform2ValidationRule.js +6 -1
- package/out/natural/transforms/transform2ValidationRule.js.map +1 -1
- package/out/natural/transforms/transform2Variable.d.ts +4 -3
- package/out/natural/transforms/transform2Variable.d.ts.map +1 -1
- package/out/natural/transforms/transform2Variable.js +57 -6
- package/out/natural/transforms/transform2Variable.js.map +1 -1
- package/out/natural/transforms/transformThemeAndStyle.d.ts +5 -2
- package/out/natural/transforms/transformThemeAndStyle.d.ts.map +1 -1
- package/out/natural/transforms/transformThemeAndStyle.js +26 -13
- package/out/natural/transforms/transformThemeAndStyle.js.map +1 -1
- package/out/natural/transforms/utils/createComponentLookupMap.d.ts +32 -0
- package/out/natural/transforms/utils/createComponentLookupMap.d.ts.map +1 -0
- package/out/natural/transforms/utils/createComponentLookupMap.js +57 -0
- package/out/natural/transforms/utils/createComponentLookupMap.js.map +1 -0
- package/out/natural/transforms/utils/iconNames.d.ts +2 -0
- package/out/natural/transforms/utils/iconNames.d.ts.map +1 -0
- package/out/natural/transforms/utils/iconNames.js +299 -0
- package/out/natural/transforms/utils/iconNames.js.map +1 -0
- package/out/natural/transforms/utils/misc.d.ts +16 -0
- package/out/natural/transforms/utils/misc.d.ts.map +1 -0
- package/out/natural/transforms/utils/misc.js +240 -0
- package/out/natural/transforms/utils/misc.js.map +1 -0
- package/out/natural/transforms/utils/normalizeNode.d.ts +3 -0
- package/out/natural/transforms/utils/normalizeNode.d.ts.map +1 -0
- package/out/natural/transforms/utils/normalizeNode.js +15 -0
- package/out/natural/transforms/utils/normalizeNode.js.map +1 -0
- package/out/natural/transforms/utils/parseDecorator.d.ts +74 -0
- package/out/natural/transforms/utils/parseDecorator.d.ts.map +1 -0
- package/out/natural/transforms/utils/parseDecorator.js +252 -0
- package/out/natural/transforms/utils/parseDecorator.js.map +1 -0
- package/out/natural/transforms/utils/transform2Directory.d.ts +59 -0
- package/out/natural/transforms/utils/transform2Directory.d.ts.map +1 -0
- package/out/natural/transforms/utils/transform2Directory.js +229 -0
- package/out/natural/transforms/utils/transform2Directory.js.map +1 -0
- package/out/natural/{transforms/utils.d.ts → utils/index.d.ts} +35 -18
- package/out/natural/utils/index.d.ts.map +1 -0
- package/out/natural/utils/index.js +206 -0
- package/out/natural/utils/index.js.map +1 -0
- package/out/natural/utils/nasl-file-types.d.ts +45 -0
- package/out/natural/utils/nasl-file-types.d.ts.map +1 -0
- package/out/natural/utils/nasl-file-types.js +131 -0
- package/out/natural/utils/nasl-file-types.js.map +1 -0
- package/out/server/OQL/sqlDbTypes.json +717 -0
- package/out/server/createUiTs.d.ts +0 -1
- package/out/server/createUiTs.d.ts.map +1 -1
- package/out/server/createUiTs.js +1 -118
- package/out/server/createUiTs.js.map +1 -1
- package/out/server/extendBaseNode.d.ts.map +1 -1
- package/out/server/extendBaseNode.js +17 -0
- package/out/server/extendBaseNode.js.map +1 -1
- package/out/server/findReference.js +1 -1
- package/out/server/findReference.js.map +1 -1
- package/out/server/naslServer.d.ts +0 -1
- package/out/server/naslServer.d.ts.map +1 -1
- package/out/server/naslServer.js +66 -55
- package/out/server/naslServer.js.map +1 -1
- package/out/server/translator.js.map +1 -1
- package/out/service/autofix/rules/rule-convert-incompatible-assignment-to-union.js.map +1 -1
- package/out/service/creator/add.configs.js +1 -1
- package/out/service/creator/add.configs.js.map +1 -1
- package/out/service/storage/init.d.ts +1 -1
- package/out/service/storage/init.d.ts.map +1 -1
- package/out/service/storage/init.js +26 -9
- package/out/service/storage/init.js.map +1 -1
- package/out/service/storage/specTools.d.ts +20 -8
- package/out/service/storage/specTools.d.ts.map +1 -1
- package/out/service/storage/specTools.js +157 -5
- package/out/service/storage/specTools.js.map +1 -1
- package/out/templator/block2nasl/jsx2nasl/transform-func2nasl.d.ts +4 -0
- package/out/templator/block2nasl/jsx2nasl/transform-func2nasl.d.ts.map +1 -1
- package/out/templator/block2nasl/jsx2nasl/transform-func2nasl.js +20 -1
- package/out/templator/block2nasl/jsx2nasl/transform-func2nasl.js.map +1 -1
- package/out/templator/block2nasl/jsx2nasl/transform-tsx2nasl.d.ts.map +1 -1
- package/out/templator/block2nasl/jsx2nasl/transform-tsx2nasl.js +28 -1
- package/out/templator/block2nasl/jsx2nasl/transform-tsx2nasl.js.map +1 -1
- package/out/templator/block2nasl/transformBlock2Nasl.js +2 -2
- package/out/templator/block2nasl/transformBlock2Nasl.js.map +1 -1
- package/out/templator/block2nasl/viewMergeBlock.js +3 -2
- package/out/templator/block2nasl/viewMergeBlock.js.map +1 -1
- package/out/utils/can-i-use.d.ts.map +1 -1
- package/out/utils/can-i-use.js +1 -0
- package/out/utils/can-i-use.js.map +1 -1
- package/package.json +9 -9
- package/sandbox/stdlib/nasl.core.ts +2 -0
- package/sandbox/stdlib/nasl.io.ts +1 -1
- package/sandbox/stdlib/nasl.oql.ts +2 -0
- package/sandbox/stdlib/nasl.util.ts +1 -1
- package/sandbox/stdlib/nasl.validation.ts +50 -14
- package/out/natural/genNaturalTS.d.ts.map +0 -1
- package/out/natural/genNaturalTS.js.map +0 -1
- package/out/natural/genTextualNASL.d.ts.map +0 -1
- package/out/natural/genTextualNASL.js.map +0 -1
- package/out/natural/getContext/getUILib.d.ts.map +0 -1
- package/out/natural/getContext/getUILib.js.map +0 -1
- package/out/natural/getContext/index.d.ts.map +0 -1
- package/out/natural/getContext/index.js.map +0 -1
- package/out/natural/getContext/nasl2Files.d.ts +0 -15
- package/out/natural/getContext/nasl2Files.d.ts.map +0 -1
- package/out/natural/getContext/nasl2Files.js +0 -75
- package/out/natural/getContext/nasl2Files.js.map +0 -1
- package/out/natural/getContext/naslStdlibMap.d.ts.map +0 -1
- package/out/natural/getContext/naslStdlibMap.js.map +0 -1
- package/out/natural/parseNaturalTS.d.ts.map +0 -1
- package/out/natural/parseNaturalTS.js.map +0 -1
- package/out/natural/parseNaturalTSXView.d.ts.map +0 -1
- package/out/natural/parseNaturalTSXView.js.map +0 -1
- package/out/natural/tools.d.ts.map +0 -1
- package/out/natural/tools.js.map +0 -1
- package/out/natural/transform2BatchActions.d.ts.map +0 -1
- package/out/natural/transform2BatchActions.js +0 -387
- package/out/natural/transform2BatchActions.js.map +0 -1
- package/out/natural/transformTS2UI.d.ts.map +0 -1
- package/out/natural/transformTS2UI.js.map +0 -1
- package/out/natural/transformTSCode.d.ts.map +0 -1
- package/out/natural/transformTSCode.js.map +0 -1
- package/out/natural/transforms/utils.d.ts.map +0 -1
- package/out/natural/transforms/utils.js +0 -407
- package/out/natural/transforms/utils.js.map +0 -1
- /package/out/natural/{genTextualNASL.d.ts → old/getContext/genTextualNASL.d.ts} +0 -0
- /package/out/natural/{genTextualNASL.js → old/getContext/genTextualNASL.js} +0 -0
- /package/out/natural/{getContext → old/getContext}/naslStdlibMap.d.ts +0 -0
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.nasl2Files = exports.convertDependenciesToNaturalTS = void 0;
|
|
4
|
+
const index_1 = require("../../index");
|
|
5
|
+
const moduleType2DepNamespaceMap = {
|
|
6
|
+
extension: 'extensions',
|
|
7
|
+
interface: 'apis',
|
|
8
|
+
connector: 'connectors',
|
|
9
|
+
customInterface: 'apis',
|
|
10
|
+
// component: 'components',
|
|
11
|
+
// sharedApp: 'sharedApp',
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* 将 NASL 变量转换为 NaturalTS 代码
|
|
15
|
+
* @param variables - 变量列表
|
|
16
|
+
* @param state - 编译器状态
|
|
17
|
+
* @returns 生成的变量声明代码
|
|
18
|
+
*/
|
|
19
|
+
const convertVariablesToNaturalTS = (variables, state) => {
|
|
20
|
+
let code = '';
|
|
21
|
+
variables.forEach((variable) => {
|
|
22
|
+
code += variable.toNaturalTS(state);
|
|
23
|
+
code += ';\n';
|
|
24
|
+
});
|
|
25
|
+
return code;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* 收集并去重所有领域目录
|
|
29
|
+
* @param app - NASL 应用实例
|
|
30
|
+
* @returns 去重后的领域目录数组,格式为 ["name(title)", "name"]
|
|
31
|
+
*/
|
|
32
|
+
const collectDomainDirectories = (app) => {
|
|
33
|
+
const domainSet = new Set();
|
|
34
|
+
// 遍历 app.directories 下的 children
|
|
35
|
+
if (app.directories && app.directories.length > 0) {
|
|
36
|
+
app.directories.forEach((directory) => {
|
|
37
|
+
if (directory.children && directory.children.length > 0) {
|
|
38
|
+
directory.children.forEach((child) => {
|
|
39
|
+
const domain = child.title ? `${child.name}(${child.title})` : child.name;
|
|
40
|
+
domainSet.add(domain);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
// 遍历数据源目录
|
|
46
|
+
if (app.dataSources && app.dataSources.length > 0) {
|
|
47
|
+
app.dataSources.forEach((dataSource) => {
|
|
48
|
+
if (dataSource.directories && dataSource.directories.length > 0) {
|
|
49
|
+
dataSource.directories.forEach((directory) => {
|
|
50
|
+
const domain = directory.title ? `${directory.name}(${directory.title})` : directory.name;
|
|
51
|
+
domainSet.add(domain);
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
return Array.from(domainSet);
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* 将应用依赖转换为 NaturalTS 文件
|
|
60
|
+
* @param dependencies - 依赖列表
|
|
61
|
+
* @param state - 编译器状态
|
|
62
|
+
* @returns 生成的依赖文件列表
|
|
63
|
+
*/
|
|
64
|
+
const convertDependenciesToNaturalTS = (dependencies, withTypeLibraryDefinition, state) => {
|
|
65
|
+
const files = [];
|
|
66
|
+
// 用于生成 app.dependencies.json 的数据结构
|
|
67
|
+
const dependenciesInfo = {};
|
|
68
|
+
const addDependencyInfo = (category, name, version) => {
|
|
69
|
+
if (!dependenciesInfo[category]) {
|
|
70
|
+
dependenciesInfo[category] = {};
|
|
71
|
+
}
|
|
72
|
+
dependenciesInfo[category][name] = version;
|
|
73
|
+
};
|
|
74
|
+
dependencies?.forEach((dep) => {
|
|
75
|
+
let category;
|
|
76
|
+
const file = { path: '', content: '' };
|
|
77
|
+
if (dep.type === 'extension') {
|
|
78
|
+
if (dep.logics?.length > 0) {
|
|
79
|
+
// 判定为服务端依赖库
|
|
80
|
+
// extension 有 logics 为后端扩展
|
|
81
|
+
category = 'extensions';
|
|
82
|
+
file.path = `${category}.${dep.name}.ts`;
|
|
83
|
+
file.content = dep.toNaturalTS((0, index_1.shiftState)(state, '', { tabSize: 0, descriptionComment: true, needNamespace: false })).trim() + '\n';
|
|
84
|
+
}
|
|
85
|
+
else if (dep.frontends?.length > 0) {
|
|
86
|
+
// 判定为前端依赖库
|
|
87
|
+
// extension 有 frontends 为前端扩展
|
|
88
|
+
category = 'uilibs';
|
|
89
|
+
// if (withTypeLibraryDefinition?.[dep.name]) {
|
|
90
|
+
// file.path = `${category}.${dep.name}.d.ts`;
|
|
91
|
+
// file.content = withTypeLibraryDefinition[dep.name] || '';
|
|
92
|
+
// }
|
|
93
|
+
file.path = `${category}.${dep.name}.ts`;
|
|
94
|
+
file.content = dep.toNaturalTS((0, index_1.shiftState)(state, '', { tabSize: 0, descriptionComment: true, needNamespace: false })).trim() + '\n';
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
category = moduleType2DepNamespaceMap[dep.type];
|
|
99
|
+
file.path = `${category}.${dep.name}.ts`;
|
|
100
|
+
file.content = dep.toNaturalTS((0, index_1.shiftState)(state, '', { tabSize: 0, descriptionComment: true, needNamespace: false })).trim() + '\n';
|
|
101
|
+
}
|
|
102
|
+
// 收集依赖信息
|
|
103
|
+
if (file.path && file.content && category) {
|
|
104
|
+
files.push(file);
|
|
105
|
+
if (category === 'apis') {
|
|
106
|
+
const apiCodes = dep.interfaces?.map((i) => i.name);
|
|
107
|
+
addDependencyInfo(category, dep.name, apiCodes);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
addDependencyInfo(category, dep.name, dep.version || '0.0.0');
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
// 生成 app.dependencies.json 文件
|
|
115
|
+
if (Object.keys(dependenciesInfo).length > 0) {
|
|
116
|
+
const content = JSON.stringify(dependenciesInfo, null, 2);
|
|
117
|
+
files.push({ path: 'app.dependencies.json', content });
|
|
118
|
+
}
|
|
119
|
+
return files;
|
|
120
|
+
};
|
|
121
|
+
exports.convertDependenciesToNaturalTS = convertDependenciesToNaturalTS;
|
|
122
|
+
/**
|
|
123
|
+
* 将 NASL 对象转换为文件
|
|
124
|
+
* @param params - 包含 NASL 应用对象的参数
|
|
125
|
+
* @param params.app - NASL 应用实例
|
|
126
|
+
* @param params.withTypeLibraryDefinition - 可选,往沙箱写时必传,前端依赖库的.d.ts文件
|
|
127
|
+
* @param params.range - 生成文件的范围,可选值:'ts'(仅生成 TypeScript 文件)、'tsx'(仅生成 TSX 文件)、'all'(默认,生成所有类型的文件)
|
|
128
|
+
* @returns 生成的文件列表,每个文件包含路径和内容
|
|
129
|
+
*/
|
|
130
|
+
const nasl2Files = ({ app, withTypeLibraryDefinition, range = 'all', }) => {
|
|
131
|
+
const result = [];
|
|
132
|
+
const state = (0, index_1.createCompilerState)('', { descriptionComment: true, consistentMode: true });
|
|
133
|
+
try {
|
|
134
|
+
if (range === 'all' || range === 'ts') {
|
|
135
|
+
// 收集所有领域目录并生成 JSON 文件
|
|
136
|
+
const domainDirectories = collectDomainDirectories(app);
|
|
137
|
+
if (domainDirectories.length > 0) {
|
|
138
|
+
const content = JSON.stringify(domainDirectories, null, 2);
|
|
139
|
+
result.push({ path: 'app.directories.json', content });
|
|
140
|
+
}
|
|
141
|
+
// 处理后端全局变量
|
|
142
|
+
if (app.backend?.variables && app.backend.variables.length > 0) {
|
|
143
|
+
const path = `app.backend.variables.ts`;
|
|
144
|
+
const content = convertVariablesToNaturalTS(app.backend.variables, state);
|
|
145
|
+
result.push({ path, content });
|
|
146
|
+
}
|
|
147
|
+
// 处理前端全局变量
|
|
148
|
+
if (app.frontendTypes?.[0]?.frontends[0]?.variables &&
|
|
149
|
+
app.frontendTypes[0].frontends[0].variables.length > 0) {
|
|
150
|
+
const path = `app.frontendTypes.pc.frontends.pc.variables.ts`;
|
|
151
|
+
const content = convertVariablesToNaturalTS(app.frontendTypes[0].frontends[0].variables, state);
|
|
152
|
+
result.push({ path, content });
|
|
153
|
+
}
|
|
154
|
+
// 处理 theme.css
|
|
155
|
+
const theme = app.frontendTypes?.[0]?.frontends?.[0]?.theme;
|
|
156
|
+
if (theme) {
|
|
157
|
+
let cssContent = '';
|
|
158
|
+
cssContent += theme.toThemeCSS();
|
|
159
|
+
if (cssContent) {
|
|
160
|
+
result.push({
|
|
161
|
+
path: 'app.frontendTypes.pc.frontends.pc.theme.css',
|
|
162
|
+
content: cssContent.trim() + '\n',
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
// 处理枚举
|
|
167
|
+
if (app.enums && app.enums.length > 0) {
|
|
168
|
+
app.enums.forEach((item) => {
|
|
169
|
+
const path = `app.enums.${item.name}.ts`;
|
|
170
|
+
const content = item.toNaturalTS((0, index_1.shiftState)(state, '', { tabSize: 0, descriptionComment: false }));
|
|
171
|
+
result.push({ path, content });
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
// 处理结构体
|
|
175
|
+
if (app.structures && app.structures.length > 0) {
|
|
176
|
+
app.structures.forEach((item) => {
|
|
177
|
+
const path = `app.structures.${item.name}.ts`;
|
|
178
|
+
const content = item.toNaturalTS((0, index_1.shiftState)(state, '', { tabSize: 0, descriptionComment: false }));
|
|
179
|
+
result.push({ path, content });
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
// 处理数据源实体
|
|
183
|
+
if (app.dataSources && app.dataSources.length > 0 && app.dataSources[0]?.entities) {
|
|
184
|
+
app.dataSources[0].entities.forEach((item) => {
|
|
185
|
+
const path = `app.dataSources.defaultDS.entities.${item.name}.ts`;
|
|
186
|
+
const content = item.toNaturalTS((0, index_1.shiftState)(state, '', { tabSize: 0, descriptionComment: false }));
|
|
187
|
+
result.push({ path, content });
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
// 处理依赖
|
|
191
|
+
const allDependencies = [...(app.dependencies || []), ...(app.interfaceDependencies || []), ...(app.connectorDependencies || [])];
|
|
192
|
+
if (allDependencies && allDependencies.length > 0) {
|
|
193
|
+
const dependencyFiles = (0, exports.convertDependenciesToNaturalTS)(allDependencies, withTypeLibraryDefinition, state);
|
|
194
|
+
result.push(...dependencyFiles);
|
|
195
|
+
}
|
|
196
|
+
// 处理逻辑
|
|
197
|
+
if (app.logics && app.logics.length > 0) {
|
|
198
|
+
app.logics.forEach((item) => {
|
|
199
|
+
const path = `app.logics.${item.name}.ts`;
|
|
200
|
+
const content = item.toNaturalTS((0, index_1.shiftState)(state, '', {
|
|
201
|
+
tabSize: 0,
|
|
202
|
+
functionPrefix: 'export',
|
|
203
|
+
descriptionComment: false,
|
|
204
|
+
}));
|
|
205
|
+
result.push({ path, content });
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
// 处理前端视图
|
|
210
|
+
if ((range === 'all' || range === 'tsx') && app.frontendTypes?.[0]?.frontends[0]?.views) {
|
|
211
|
+
// 递归处理视图及其子视图的函数
|
|
212
|
+
const processView = (view, pathPrefix) => {
|
|
213
|
+
const path = `${pathPrefix}.${view.name}.tsx`;
|
|
214
|
+
const content = view.toNaturalTSX((0, index_1.shiftState)(state, '', { tabSize: 0 }));
|
|
215
|
+
result.push({ path, content });
|
|
216
|
+
// 如果视图有 children,递归处理子视图
|
|
217
|
+
if (view.children && view.children.length > 0) {
|
|
218
|
+
view.children.forEach((childView) => {
|
|
219
|
+
processView(childView, `${pathPrefix}.${view.name}.views`);
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
};
|
|
223
|
+
app.frontendTypes[0].frontends[0].views.forEach((item) => {
|
|
224
|
+
processView(item, 'app.frontendTypes.pc.frontends.pc.views');
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
catch (error) {
|
|
229
|
+
console.error('Error in nasl2File:', error);
|
|
230
|
+
return [];
|
|
231
|
+
}
|
|
232
|
+
// 输出结果
|
|
233
|
+
console.log('Generated files count:', result.length);
|
|
234
|
+
return result;
|
|
235
|
+
};
|
|
236
|
+
exports.nasl2Files = nasl2Files;
|
|
237
|
+
//# sourceMappingURL=nasl2Files.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nasl2Files.js","sourceRoot":"","sources":["../../../src/natural/exports/nasl2Files.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,6 +16,8 @@
|
|
|
16
16
|
* - enum: 枚举类型
|
|
17
17
|
* - logic: 业务逻辑
|
|
18
18
|
* - view: 视图组件
|
|
19
|
+
* - backendVariables: 后端变量
|
|
20
|
+
* - frontendVariables: 前端类型变量
|
|
19
21
|
*/
|
|
20
22
|
/**
|
|
21
23
|
* 用于描述对代码文件的操作,包括路径、内容和操作类型
|
|
@@ -25,8 +27,8 @@ export interface CodeAction {
|
|
|
25
27
|
path: string;
|
|
26
28
|
/** 文件内容 */
|
|
27
29
|
content: string;
|
|
28
|
-
/**
|
|
29
|
-
action: 'create' | 'update' | 'delete';
|
|
30
|
+
/** 操作类型:创建、更新、删除或已存在(用于自动生成的父级视图) */
|
|
31
|
+
action: 'create' | 'update' | 'delete' | 'exist';
|
|
30
32
|
}
|
|
31
33
|
/**
|
|
32
34
|
* 批量操作接口
|
|
@@ -53,6 +55,21 @@ export interface Operators {
|
|
|
53
55
|
/** 源类型 */
|
|
54
56
|
sourceType: string;
|
|
55
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* 布局模板参数接口
|
|
60
|
+
*/
|
|
61
|
+
interface LayoutTemplateParams {
|
|
62
|
+
viewName: string;
|
|
63
|
+
title: string;
|
|
64
|
+
namespace: string;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* 生成空的路由容器模板
|
|
68
|
+
* 用于为嵌套视图创建父级容器视图
|
|
69
|
+
* @param params - 包含视图名称、标题和命名空间的参数
|
|
70
|
+
* @returns 生成的路由容器模板代码
|
|
71
|
+
*/
|
|
72
|
+
export declare const generateRouterContainerTemplate: (params: Pick<LayoutTemplateParams, 'viewName' | 'title' | 'namespace'>) => string;
|
|
56
73
|
/**
|
|
57
74
|
* 将 codeAction 数组转换为批量操作
|
|
58
75
|
* 这是整个模块的核心函数,负责将多个codeAction 转换成统一的批量操作格式
|
|
@@ -68,6 +85,7 @@ export interface Operators {
|
|
|
68
85
|
* @param app - NASL 应用实例,用于操作目标应用
|
|
69
86
|
* @param sessionId - 会话 ID,用于生成唯一标识
|
|
70
87
|
* @param type - 操作类型,'normal' 为正常模式,'debug' 为调试模式(会返回更多信息)
|
|
88
|
+
* @param files - 可选的完整文件列表,包含现有文件和新文件
|
|
71
89
|
* @returns 包含批量操作和可选调试信息的对象
|
|
72
90
|
*/
|
|
73
91
|
export declare const transform2BatchActions: ({ codeActions, app, sessionId, type, }: {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform2BatchActions.d.ts","sourceRoot":"","sources":["../../../src/natural/exports/transform2BatchActions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAQH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,MAAM,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;CAClD;AAED;;;GAGG;AACH,UAAU,WAAW;IACnB,WAAW;IACX,MAAM,EAAE,MAAM,CAAC;IACf,WAAW;IACX,IAAI,EAAE,MAAM,CAAC;IACb,cAAc;IACd,MAAM,EAAE,GAAG,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,YAAY;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,aAAa;IACb,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,aAAa;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU;IACV,UAAU,EAAE,MAAM,CAAC;CACpB;AAwBD;;GAEG;AACH,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,WAClC,KAAK,oBAAoB,EAAE,UAAU,GAAG,OAAO,GAAG,WAAW,CAAC,KACrE,MAeF,CAAC;AA6xBF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,sBAAsB,2CAKhC;IACD,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,GAAG,EAAE,GAAG,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC3B,KAAG;IACF,YAAY,EAAE,SAAS,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC,CAAC;CAmN9D,CAAC;AA6ZF;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,QAAS,GAAG,gBAAgB,SAAS,SA2DlE,CAAC"}
|