@lcap/nasl 1.0.0-alpha.2 → 1.0.0-alpha.3
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/README.md +3 -3
- package/docs/assets/search.js +1 -1
- package/docs/classes/Entity.html +2832 -204
- package/docs/classes/View.html +4567 -365
- package/out/common/BaseNode.js +23 -16
- package/out/common/BaseNode.js.map +1 -1
- package/out/concepts/App__.d.ts +22 -0
- package/out/concepts/App__.js +77 -15
- package/out/concepts/App__.js.map +1 -1
- package/out/concepts/Argument__.d.ts +2 -1
- package/out/concepts/Argument__.js +2 -2
- package/out/concepts/Argument__.js.map +1 -1
- package/out/concepts/Assignment__.d.ts +2 -1
- package/out/concepts/Assignment__.js +3 -8
- package/out/concepts/Assignment__.js.map +1 -1
- package/out/concepts/Attribute__.js.map +1 -1
- package/out/concepts/BinaryExpression__.d.ts +2 -1
- package/out/concepts/BinaryExpression__.js +5 -5
- package/out/concepts/BinaryExpression__.js.map +1 -1
- package/out/concepts/BindAttribute__.d.ts +2 -1
- package/out/concepts/BindAttribute__.js +9 -4
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/BindDirective__.d.ts +2 -1
- package/out/concepts/BindDirective__.js +2 -2
- package/out/concepts/BindDirective__.js.map +1 -1
- package/out/concepts/BindEvent__.d.ts +2 -1
- package/out/concepts/BindEvent__.js +4 -3
- package/out/concepts/BindEvent__.js.map +1 -1
- package/out/concepts/BooleanLiteral__.d.ts +2 -1
- package/out/concepts/BooleanLiteral__.js +1 -1
- package/out/concepts/BooleanLiteral__.js.map +1 -1
- package/out/concepts/CallFunction__.d.ts +57 -1
- package/out/concepts/CallFunction__.js +119 -11
- package/out/concepts/CallFunction__.js.map +1 -1
- package/out/concepts/CallInterface__.d.ts +2 -1
- package/out/concepts/CallInterface__.js +2 -2
- package/out/concepts/CallInterface__.js.map +1 -1
- package/out/concepts/CallLogic__.d.ts +57 -1
- package/out/concepts/CallLogic__.js +117 -10
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CallQueryComponent__.js +1 -1
- package/out/concepts/CallQueryComponent__.js.map +1 -1
- package/out/concepts/Comment__.js.map +1 -1
- package/out/concepts/CompletionProperty__.js.map +1 -1
- package/out/concepts/ConfigGroup__.d.ts +120 -0
- package/out/concepts/ConfigGroup__.js +214 -0
- package/out/concepts/ConfigGroup__.js.map +1 -0
- package/out/concepts/ConfigPropertyValue__.d.ts +43 -0
- package/out/concepts/ConfigPropertyValue__.js +103 -0
- package/out/concepts/ConfigPropertyValue__.js.map +1 -0
- package/out/concepts/ConfigProperty__.d.ts +128 -0
- package/out/concepts/ConfigProperty__.js +236 -0
- package/out/concepts/ConfigProperty__.js.map +1 -0
- package/out/concepts/Configuration__.d.ts +120 -0
- package/out/concepts/Configuration__.js +210 -0
- package/out/concepts/Configuration__.js.map +1 -0
- package/out/concepts/Constant__.d.ts +2 -1
- package/out/concepts/Constant__.js +1 -1
- package/out/concepts/Constant__.js.map +1 -1
- package/out/concepts/DataElement__.js.map +1 -1
- package/out/concepts/Destination__.d.ts +2 -1
- package/out/concepts/Destination__.js +4 -3
- package/out/concepts/Destination__.js.map +1 -1
- package/out/concepts/End__.js.map +1 -1
- package/out/concepts/EntityIndex__.d.ts +8 -0
- package/out/concepts/EntityIndex__.js +18 -0
- package/out/concepts/EntityIndex__.js.map +1 -1
- package/out/concepts/EntityProperty__.d.ts +5 -5
- package/out/concepts/EntityProperty__.js +10 -9
- package/out/concepts/EntityProperty__.js.map +1 -1
- package/out/concepts/Entity__.d.ts +30 -26
- package/out/concepts/Entity__.js +44 -36
- package/out/concepts/Entity__.js.map +1 -1
- package/out/concepts/EnumItem__.js.map +1 -1
- package/out/concepts/Enum__.d.ts +8 -8
- package/out/concepts/Enum__.js +10 -4
- package/out/concepts/Enum__.js.map +1 -1
- package/out/concepts/Event__.js +1 -1
- package/out/concepts/Event__.js.map +1 -1
- package/out/concepts/ForEachStatement__.d.ts +35 -33
- package/out/concepts/ForEachStatement__.js +103 -36
- package/out/concepts/ForEachStatement__.js.map +1 -1
- package/out/concepts/Function__.js +1 -1
- package/out/concepts/Function__.js.map +1 -1
- package/out/concepts/Identifier__.d.ts +2 -1
- package/out/concepts/Identifier__.js +15 -1
- package/out/concepts/Identifier__.js.map +1 -1
- package/out/concepts/IfStatement__.js.map +1 -1
- package/out/concepts/InterfaceParam__.js +1 -1
- package/out/concepts/InterfaceParam__.js.map +1 -1
- package/out/concepts/Interface__.d.ts +5 -1
- package/out/concepts/Interface__.js +19 -5
- package/out/concepts/Interface__.js.map +1 -1
- package/out/concepts/JSBlock__.js.map +1 -1
- package/out/concepts/LogicItem__.d.ts +2 -1
- package/out/concepts/LogicItem__.js +2 -2
- package/out/concepts/LogicItem__.js.map +1 -1
- package/out/concepts/Logic__.js +9 -7
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/MemberExpression__.d.ts +2 -5
- package/out/concepts/MemberExpression__.js +12 -18
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/Module__.d.ts +121 -126
- package/out/concepts/Module__.js +10 -17
- package/out/concepts/Module__.js.map +1 -1
- package/out/concepts/Namespace__.js +12 -12
- package/out/concepts/Namespace__.js.map +1 -1
- package/out/concepts/NullLiteral__.d.ts +2 -1
- package/out/concepts/NullLiteral__.js +1 -1
- package/out/concepts/NullLiteral__.js.map +1 -1
- package/out/concepts/NumericLiteral__.d.ts +2 -1
- package/out/concepts/NumericLiteral__.js +1 -1
- package/out/concepts/NumericLiteral__.js.map +1 -1
- package/out/concepts/Param__.d.ts +1 -1
- package/out/concepts/Param__.js +2 -2
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/Point__.js.map +1 -1
- package/out/concepts/ProcessComponent__.js +2 -2
- package/out/concepts/ProcessComponent__.js.map +1 -1
- package/out/concepts/ProcessElement__.d.ts +82 -81
- package/out/concepts/ProcessElement__.js +19 -6
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/ProcessOutcome__.js.map +1 -1
- package/out/concepts/Process__.d.ts +1 -0
- package/out/concepts/Process__.js +10 -4
- package/out/concepts/Process__.js.map +1 -1
- package/out/concepts/QueryAggregateExpression__.js.map +1 -1
- package/out/concepts/QueryFieldExpression__.js +1 -1
- package/out/concepts/QueryFieldExpression__.js.map +1 -1
- package/out/concepts/QueryFromExpression__.js.map +1 -1
- package/out/concepts/QueryGroupByExpression__.js.map +1 -1
- package/out/concepts/QueryJoinExpression__.js +1 -1
- package/out/concepts/QueryJoinExpression__.js.map +1 -1
- package/out/concepts/QueryLimitExpression__.js.map +1 -1
- package/out/concepts/QueryOrderByExpression__.js.map +1 -1
- package/out/concepts/QuerySelectExpression__.js +1 -1
- package/out/concepts/QuerySelectExpression__.js.map +1 -1
- package/out/concepts/Rect__.js.map +1 -1
- package/out/concepts/Return__.d.ts +1 -1
- package/out/concepts/Return__.js +2 -2
- package/out/concepts/Return__.js.map +1 -1
- package/out/concepts/Role__.d.ts +5 -0
- package/out/concepts/Role__.js +19 -2
- package/out/concepts/Role__.js.map +1 -1
- package/out/concepts/Slot__.js.map +1 -1
- package/out/concepts/SqlQueryComponent__.d.ts +2 -0
- package/out/concepts/SqlQueryComponent__.js +16 -0
- package/out/concepts/SqlQueryComponent__.js.map +1 -1
- package/out/concepts/Start__.js.map +1 -1
- package/out/concepts/StringLiteral__.d.ts +2 -1
- package/out/concepts/StringLiteral__.js +1 -1
- package/out/concepts/StringLiteral__.js.map +1 -1
- package/out/concepts/StructureProperty__.d.ts +1 -1
- package/out/concepts/StructureProperty__.js +1 -1
- package/out/concepts/StructureProperty__.js.map +1 -1
- package/out/concepts/Structure__.d.ts +1 -1
- package/out/concepts/Structure__.js +4 -4
- package/out/concepts/Structure__.js.map +1 -1
- package/out/concepts/SwitchCase__.js.map +1 -1
- package/out/concepts/SwitchStatement__.js.map +1 -1
- package/out/concepts/Theme__.js.map +1 -1
- package/out/concepts/Transactional__.js.map +1 -1
- package/out/concepts/TypeAnnotation__.js +3 -0
- package/out/concepts/TypeAnnotation__.js.map +1 -1
- package/out/concepts/TypeParam__.js.map +1 -1
- package/out/concepts/UnaryExpression__.d.ts +2 -1
- package/out/concepts/UnaryExpression__.js +3 -3
- package/out/concepts/UnaryExpression__.js.map +1 -1
- package/out/concepts/Unparsed__.d.ts +2 -1
- package/out/concepts/Unparsed__.js +1 -1
- package/out/concepts/Unparsed__.js.map +1 -1
- package/out/concepts/UseComponent__.js.map +1 -1
- package/out/concepts/ValidationRule__.d.ts +2 -1
- package/out/concepts/ValidationRule__.js +2 -2
- package/out/concepts/ValidationRule__.js.map +1 -1
- package/out/concepts/Variable__.d.ts +6 -5
- package/out/concepts/Variable__.js +3 -3
- package/out/concepts/Variable__.js.map +1 -1
- package/out/concepts/ViewComponent__.js +5 -5
- package/out/concepts/ViewComponent__.js.map +1 -1
- package/out/concepts/ViewElement__.d.ts +5 -4
- package/out/concepts/ViewElement__.js +109 -65
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.d.ts +97 -90
- package/out/concepts/View__.js +153 -118
- package/out/concepts/View__.js.map +1 -1
- package/out/concepts/WhileStatement__.js.map +1 -1
- package/out/concepts/basics/stdlib/index.js +2 -2
- package/out/concepts/basics/stdlib/index.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.ui.js +3 -137
- package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.util.js +21 -5
- package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.validation.d.ts +3 -0
- package/out/concepts/basics/stdlib/nasl.validation.js +527 -0
- package/out/concepts/basics/stdlib/nasl.validation.js.map +1 -0
- package/out/concepts/index__.d.ts +4 -0
- package/out/concepts/index__.js +4 -0
- package/out/concepts/index__.js.map +1 -1
- package/out/data/Module.d.ts +34 -0
- package/out/data/Module.js +53 -0
- package/out/data/Module.js.map +1 -0
- package/out/generator/compileComponent.d.ts +1 -1
- package/out/generator/genBundleFiles.d.ts +0 -1
- package/out/generator/genBundleFiles.js +1 -1
- package/out/generator/genBundleFiles.js.map +1 -1
- package/out/generator/genMetaData.d.ts +35 -0
- package/out/generator/genMetaData.js +78 -0
- package/out/generator/genMetaData.js.map +1 -0
- package/out/generator/index.d.ts +1 -0
- package/out/generator/index.js +1 -0
- package/out/generator/index.js.map +1 -1
- package/out/index.d.ts +2 -2
- package/out/index.js +3 -1
- package/out/index.js.map +1 -1
- package/out/server/createUiTs.d.ts +7 -0
- package/out/server/createUiTs.js +157 -0
- package/out/server/createUiTs.js.map +1 -0
- package/out/server/entity2LogicNamespace.d.ts +9 -1
- package/out/server/entity2LogicNamespace.js +11 -1
- package/out/server/entity2LogicNamespace.js.map +1 -1
- package/out/server/getExtensionModules.d.ts +3 -0
- package/out/server/getExtensionModules.js +18 -0
- package/out/server/getExtensionModules.js.map +1 -0
- package/out/server/getLogics.js +18 -15
- package/out/server/getLogics.js.map +1 -1
- package/out/server/getMemberIdentifier.d.ts +3 -2
- package/out/server/getMemberIdentifier.js +47 -15
- package/out/server/getMemberIdentifier.js.map +1 -1
- package/out/server/getProcesses.d.ts +4 -1
- package/out/server/getProcesses.js +16 -7
- package/out/server/getProcesses.js.map +1 -1
- package/out/server/getValidates.js +1 -1
- package/out/server/getValidates.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 +23 -5
- package/out/server/naslServer.js +199 -25
- package/out/server/naslServer.js.map +1 -1
- package/out/server/process2LogicNamespace.d.ts +15 -1
- package/out/server/process2LogicNamespace.js +30 -3
- package/out/server/process2LogicNamespace.js.map +1 -1
- package/out/server/translator.js +28 -0
- package/out/server/translator.js.map +1 -1
- package/out/service/storage/init.d.ts +5 -0
- package/out/service/storage/init.js +60 -52
- package/out/service/storage/init.js.map +1 -1
- package/out/templator/genCallComponentLogic.js +2 -2
- package/out/templator/genCallComponentLogic.js.map +1 -1
- package/out/templator/genCreateBlock.js +6 -8
- package/out/templator/genCreateBlock.js.map +1 -1
- package/out/templator/genCurdEditMultipleKeyBlock.js +3 -3
- package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
- package/out/templator/genCurdMultipleKeyBlock.js +4 -4
- package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
- package/out/templator/genEditTableBlock.js +3 -3
- package/out/templator/genEditTableBlock.js.map +1 -1
- package/out/templator/genGetBlock.js +1 -1
- package/out/templator/genGetBlock.js.map +1 -1
- package/out/templator/genListViewBlock.js +2 -2
- 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/genUpdateBlock.js +8 -12
- package/out/templator/genUpdateBlock.js.map +1 -1
- package/out/templator/utils.d.ts +20 -20
- package/out/templator/utils.js +22 -22
- package/out/templator/utils.js.map +1 -1
- package/package.json +2 -1
- package/src/automate/engine/index.js +37 -3
- package/src/automate/engine/utils.js +68 -64
- package/src/common/BaseNode.ts +24 -17
- package/src/concepts/App__.ts +93 -17
- package/src/concepts/Argument__.ts +4 -2
- package/src/concepts/Assignment__.ts +5 -7
- package/src/concepts/Attribute__.ts +1 -0
- package/src/concepts/BinaryExpression__.ts +7 -5
- package/src/concepts/BindAttribute__.ts +9 -4
- package/src/concepts/BindDirective__.ts +4 -2
- package/src/concepts/BindEvent__.ts +6 -4
- package/src/concepts/BooleanLiteral__.ts +3 -1
- package/src/concepts/CallFunction__.ts +195 -11
- package/src/concepts/CallInterface__.ts +4 -2
- package/src/concepts/CallLogic__.ts +211 -12
- package/src/concepts/CallQueryComponent__.ts +2 -1
- package/src/concepts/Comment__.ts +1 -0
- package/src/concepts/CompletionProperty__.ts +1 -0
- package/src/concepts/ConfigGroup__.ts +290 -0
- package/src/concepts/ConfigPropertyValue__.ts +112 -0
- package/src/concepts/ConfigProperty__.ts +306 -0
- package/src/concepts/Configuration__.ts +286 -0
- package/src/concepts/Constant__.ts +3 -1
- package/src/concepts/DataElement__.ts +1 -0
- package/src/concepts/Destination__.ts +7 -5
- package/src/concepts/End__.ts +1 -0
- package/src/concepts/EntityIndex__.ts +19 -0
- package/src/concepts/EntityProperty__.ts +9 -8
- package/src/concepts/Entity__.ts +66 -59
- package/src/concepts/EnumItem__.ts +1 -0
- package/src/concepts/Enum__.ts +32 -12
- package/src/concepts/Event__.ts +2 -1
- package/src/concepts/ForEachStatement__.ts +115 -69
- package/src/concepts/Function__.ts +2 -1
- package/src/concepts/Identifier__.ts +18 -1
- package/src/concepts/IfStatement__.ts +1 -0
- package/src/concepts/InterfaceParam__.ts +2 -1
- package/src/concepts/Interface__.ts +21 -5
- package/src/concepts/JSBlock__.ts +1 -0
- package/src/concepts/LogicItem__.ts +9 -40
- package/src/concepts/Logic__.ts +48 -9
- package/src/concepts/MemberExpression__.ts +14 -17
- package/src/concepts/Module__.ts +158 -139
- package/src/concepts/Namespace__.ts +13 -12
- package/src/concepts/NullLiteral__.ts +3 -1
- package/src/concepts/NumericLiteral__.ts +3 -1
- package/src/concepts/Param__.ts +3 -2
- package/src/concepts/Point__.ts +1 -0
- package/src/concepts/ProcessComponent__.ts +3 -2
- package/src/concepts/ProcessElement__.ts +102 -107
- package/src/concepts/ProcessOutcome__.ts +1 -0
- package/src/concepts/Process__.ts +12 -4
- package/src/concepts/QueryAggregateExpression__.ts +1 -0
- package/src/concepts/QueryFieldExpression__.ts +2 -1
- package/src/concepts/QueryFromExpression__.ts +1 -0
- package/src/concepts/QueryGroupByExpression__.ts +1 -0
- package/src/concepts/QueryJoinExpression__.ts +2 -1
- package/src/concepts/QueryLimitExpression__.ts +1 -0
- package/src/concepts/QueryOrderByExpression__.ts +1 -0
- package/src/concepts/QuerySelectExpression__.ts +2 -1
- package/src/concepts/Rect__.ts +1 -0
- package/src/concepts/Return__.ts +3 -2
- package/src/concepts/Role__.ts +19 -2
- package/src/concepts/Slot__.ts +1 -0
- package/src/concepts/SqlQueryComponent__.ts +11 -1
- package/src/concepts/Start__.ts +1 -0
- package/src/concepts/StringLiteral__.ts +3 -1
- package/src/concepts/StructureProperty__.ts +2 -1
- package/src/concepts/Structure__.ts +5 -4
- package/src/concepts/SwitchCase__.ts +1 -0
- package/src/concepts/SwitchStatement__.ts +1 -0
- package/src/concepts/Theme__.ts +1 -0
- package/src/concepts/Transactional__.ts +1 -0
- package/src/concepts/TypeAnnotation__.ts +4 -0
- package/src/concepts/TypeParam__.ts +1 -0
- package/src/concepts/UnaryExpression__.ts +6 -3
- package/src/concepts/Unparsed__.ts +3 -1
- package/src/concepts/UseComponent__.ts +1 -0
- package/src/concepts/ValidationRule__.ts +5 -2
- package/src/concepts/Variable__.ts +12 -6
- package/src/concepts/ViewComponent__.ts +6 -5
- package/src/concepts/ViewElement__.ts +109 -80
- package/src/concepts/View__.ts +245 -206
- package/src/concepts/WhileStatement__.ts +1 -0
- package/src/concepts/basics/stdlib/index.ts +2 -2
- package/src/concepts/basics/stdlib/nasl.ui.ts +3 -137
- package/src/concepts/basics/stdlib/nasl.util.ts +21 -5
- package/src/concepts/basics/stdlib/{nasl.validate.ts → nasl.validation.ts} +28 -28
- package/src/concepts/index__.ts +4 -0
- package/src/generator/compileComponent.ts +1 -1
- package/src/generator/genBundleFiles.ts +1 -2
- package/src/generator/genMetaData.ts +111 -0
- package/src/generator/index.ts +1 -0
- package/src/index.ts +2 -2
- package/src/server/createUiTs.ts +153 -0
- package/src/server/entity2LogicNamespace.ts +17 -1
- package/src/server/getExtensionModules.ts +13 -0
- package/src/server/getLogics.ts +19 -18
- package/src/server/getMemberIdentifier.ts +60 -19
- package/src/server/getProcesses.ts +15 -8
- package/src/server/getValidates.ts +1 -1
- package/src/server/index.ts +2 -1
- package/src/server/naslServer.ts +204 -24
- package/src/server/process2LogicNamespace.ts +44 -3
- package/src/server/translator.ts +121 -97
- package/src/service/config/api.js +32 -0
- package/src/service/config/index.js +6 -0
- package/src/service/creator/index.js +2 -2
- package/src/service/logic/checktypeSocket.js +49 -0
- package/src/service/modules/api.js +20 -0
- package/src/service/modules/index.js +6 -0
- package/src/service/storage/init.ts +62 -54
- package/src/templator/genCallComponentLogic.ts +2 -2
- package/src/templator/genCreateBlock.ts +19 -25
- package/src/templator/genCurdEditMultipleKeyBlock.ts +3 -3
- package/src/templator/genCurdMultipleKeyBlock.ts +4 -4
- package/src/templator/genEditTableBlock.ts +3 -3
- package/src/templator/genGetBlock.ts +1 -1
- package/src/templator/genListViewBlock.ts +2 -2
- package/src/templator/genSelectBlock.ts +1 -1
- package/src/templator/genUpdateBlock.ts +19 -25
- package/src/templator/utils.ts +25 -153
package/out/server/naslServer.js
CHANGED
|
@@ -12,12 +12,13 @@ exports.translateDiagnosticMessage = exports.transformType = void 0;
|
|
|
12
12
|
const Messager_1 = __importDefault(require("../common/Messager"));
|
|
13
13
|
const concepts_1 = require("../concepts");
|
|
14
14
|
const translator_1 = require("../translator");
|
|
15
|
-
const storage_1 = __importDefault(require("../service/storage"));
|
|
16
15
|
const translator_2 = require("./translator");
|
|
17
16
|
Object.defineProperty(exports, "transformType", { enumerable: true, get: function () { return translator_2.transformType; } });
|
|
18
17
|
Object.defineProperty(exports, "translateDiagnosticMessage", { enumerable: true, get: function () { return translator_2.translateDiagnosticMessage; } });
|
|
19
18
|
const common_1 = require("../common");
|
|
20
19
|
const diagnostic_1 = __importDefault(require("../manager/diagnostic"));
|
|
20
|
+
const createUiTs_1 = __importDefault(require("./createUiTs"));
|
|
21
|
+
const coreTypeList_1 = require("../concepts/basics/types/coreTypeList");
|
|
21
22
|
const EmbeddedTSFileLineMap = {
|
|
22
23
|
Entity: 3,
|
|
23
24
|
};
|
|
@@ -43,9 +44,21 @@ const naslServer = {
|
|
|
43
44
|
* 先用挂在点上面,简单的方法实现,后期再考虑解耦
|
|
44
45
|
*/
|
|
45
46
|
file2NodeMap: new Map(),
|
|
47
|
+
elementsLogic: {},
|
|
46
48
|
start() {
|
|
47
49
|
return this.messager.requestCommand('start');
|
|
48
50
|
},
|
|
51
|
+
async createUiTs(allComponent) {
|
|
52
|
+
const { code, elementsLogic } = await (0, createUiTs_1.default)(allComponent);
|
|
53
|
+
// 放入生產的uits文件
|
|
54
|
+
await naslServer.addFile({
|
|
55
|
+
file: 'nasl.ui.definition.ts',
|
|
56
|
+
fileContent: code,
|
|
57
|
+
});
|
|
58
|
+
naslServer.elementsLogic = elementsLogic;
|
|
59
|
+
// 全部文件加载完毕开始初始化
|
|
60
|
+
await naslServer.getDiagnosticRecordsAndPushAll();
|
|
61
|
+
},
|
|
49
62
|
contentToFile(module, results) {
|
|
50
63
|
module.structures.forEach((structure) => {
|
|
51
64
|
const result = structure.toEmbeddedTSFile();
|
|
@@ -76,17 +89,15 @@ const naslServer = {
|
|
|
76
89
|
this.file2NodeMap.set(result.filePath, _enum);
|
|
77
90
|
});
|
|
78
91
|
module.logics.forEach((logic) => {
|
|
92
|
+
if (!(logic instanceof concepts_1.Logic))
|
|
93
|
+
return;
|
|
79
94
|
const result = logic.toEmbeddedTSFile();
|
|
80
95
|
results.push(result);
|
|
81
96
|
logic.sourceMap = result.sourceMap;
|
|
82
97
|
this.file2NodeMap.set(result.filePath, logic);
|
|
83
98
|
});
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
results.push(result);
|
|
87
|
-
view.sourceMap = result.sourceMap;
|
|
88
|
-
this.file2NodeMap.set(result.filePath, view);
|
|
89
|
-
});
|
|
99
|
+
// view的生成
|
|
100
|
+
naslServer.view2TSFile(module.views, results);
|
|
90
101
|
module.processes.forEach((process) => {
|
|
91
102
|
const result = process.toEmbeddedTSFile();
|
|
92
103
|
results.push(result);
|
|
@@ -103,6 +114,18 @@ const naslServer = {
|
|
|
103
114
|
});
|
|
104
115
|
}
|
|
105
116
|
},
|
|
117
|
+
view2TSFile(viewsChildren, results) {
|
|
118
|
+
// 子页面
|
|
119
|
+
viewsChildren.forEach((view) => {
|
|
120
|
+
const result = view.toEmbeddedTSFile();
|
|
121
|
+
results.push(result);
|
|
122
|
+
view.sourceMap = result.sourceMap;
|
|
123
|
+
this.file2NodeMap.set(result.filePath, view);
|
|
124
|
+
if (view.children.length) {
|
|
125
|
+
naslServer.view2TSFile(view.children, results);
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
},
|
|
106
129
|
async openApp(app) {
|
|
107
130
|
const results = [];
|
|
108
131
|
try {
|
|
@@ -144,7 +167,13 @@ const naslServer = {
|
|
|
144
167
|
fileContent: result.code,
|
|
145
168
|
}));
|
|
146
169
|
await this.writeFiles(files);
|
|
147
|
-
this._debugInFileStorage(
|
|
170
|
+
this._debugInFileStorage(module.parentNode, files);
|
|
171
|
+
},
|
|
172
|
+
/**
|
|
173
|
+
* 初始化之前添加文件
|
|
174
|
+
*/
|
|
175
|
+
addFile(file) {
|
|
176
|
+
return this.messager.requestCommand('addFile', file);
|
|
148
177
|
},
|
|
149
178
|
/**
|
|
150
179
|
* 只新增文件
|
|
@@ -169,11 +198,15 @@ const naslServer = {
|
|
|
169
198
|
updateFiles(args) {
|
|
170
199
|
return this.messager.requestCommand('updateFiles', args);
|
|
171
200
|
},
|
|
172
|
-
_debugInFileStorage(
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
}
|
|
201
|
+
_debugInFileStorage(node, openFiles) {
|
|
202
|
+
// let app = node;
|
|
203
|
+
// if (node.concept !== 'App') {
|
|
204
|
+
// app = (node as any).rootNode || (node as any).app;
|
|
205
|
+
// }
|
|
206
|
+
// return Promise.all(openFiles.map(async (file) => {
|
|
207
|
+
// const res = await axios.post('/api/App/debugEmbedded?id=' + app.id, file);
|
|
208
|
+
// return res.data;
|
|
209
|
+
// }));
|
|
177
210
|
},
|
|
178
211
|
open() {
|
|
179
212
|
return this.messager.requestCommand('open');
|
|
@@ -187,24 +220,88 @@ const naslServer = {
|
|
|
187
220
|
async references(args) {
|
|
188
221
|
return (await this.messager.requestCommand('references', args))?.response;
|
|
189
222
|
},
|
|
190
|
-
|
|
223
|
+
getValueSelectCompletion(node, value) {
|
|
191
224
|
const { currentSource, fileNode } = naslServer.getCurrentSource(node);
|
|
192
225
|
// console.log(currentSource, fileNode);
|
|
193
226
|
if (currentSource && fileNode) {
|
|
194
|
-
return naslServer.
|
|
227
|
+
return naslServer._getValueSelectCompletion({
|
|
195
228
|
file: fileNode.getEmbeddedFilePath(),
|
|
196
229
|
range: {
|
|
197
230
|
line: (0, translator_1.lsp2tspNumber)(currentSource.range.start.line),
|
|
198
231
|
offset: (0, translator_1.lsp2tspNumber)(currentSource.range.start.character),
|
|
199
232
|
},
|
|
233
|
+
value,
|
|
200
234
|
});
|
|
201
235
|
}
|
|
202
236
|
else {
|
|
203
237
|
console.log('没找到节点', node, currentSource, fileNode);
|
|
204
238
|
}
|
|
205
239
|
},
|
|
206
|
-
|
|
207
|
-
return this.messager.requestCommand('
|
|
240
|
+
_getValueSelectCompletion(args) {
|
|
241
|
+
return this.messager.requestCommand('getValueSelectCompletion', args);
|
|
242
|
+
},
|
|
243
|
+
// 联合类型切割取出类型
|
|
244
|
+
getDisplayString2Type(displayString) {
|
|
245
|
+
// 取出匹配的内容
|
|
246
|
+
const reg = /\<([^()]+)\>/g;
|
|
247
|
+
const types = reg.exec(displayString);
|
|
248
|
+
// 取出提示的类型,组成是数组
|
|
249
|
+
const typeList = types[1].split(' | ').map((item) => {
|
|
250
|
+
if (item.includes(' ')) {
|
|
251
|
+
const strs = item.split(' ');
|
|
252
|
+
const type = strs[strs.length - 1];
|
|
253
|
+
return type;
|
|
254
|
+
}
|
|
255
|
+
else if (item.includes('.')) {
|
|
256
|
+
const strs = item.split('.');
|
|
257
|
+
const type = strs[strs.length - 1];
|
|
258
|
+
return type;
|
|
259
|
+
}
|
|
260
|
+
else {
|
|
261
|
+
return item;
|
|
262
|
+
}
|
|
263
|
+
});
|
|
264
|
+
return typeList;
|
|
265
|
+
},
|
|
266
|
+
async getTypeQuickinfo(node) {
|
|
267
|
+
console.log(node);
|
|
268
|
+
if (node instanceof concepts_1.Identifier) {
|
|
269
|
+
const callFunction = node.parentNode.parentNode;
|
|
270
|
+
/**
|
|
271
|
+
* currentSource callFunction 的节点,要去到当前节点的位置
|
|
272
|
+
* nasl.util.Convert(xxx),所以取到的位置要 + `nasl.util.C` 的长度
|
|
273
|
+
* fileNode
|
|
274
|
+
*/
|
|
275
|
+
const { currentSource, fileNode } = naslServer.getCurrentSource(callFunction);
|
|
276
|
+
const quickInfo = await naslServer._getTypeQuickinfo({
|
|
277
|
+
file: fileNode.getEmbeddedFilePath(),
|
|
278
|
+
line: (0, translator_1.lsp2tspNumber)(currentSource.range.start.line),
|
|
279
|
+
offset: (0, translator_1.lsp2tspNumber)(currentSource.range.start.character) + `nasl.util.C`.length,
|
|
280
|
+
});
|
|
281
|
+
if (quickInfo.responseRequired) {
|
|
282
|
+
const displayString = quickInfo?.response?.displayString || '';
|
|
283
|
+
const typeList = naslServer.getDisplayString2Type(displayString);
|
|
284
|
+
let res = [];
|
|
285
|
+
typeList.forEach((type) => {
|
|
286
|
+
const typeAnnotation = coreTypeList_1.primitiveTypeList.find((typeAnnotation) => typeAnnotation.typeName === type);
|
|
287
|
+
if (typeAnnotation) {
|
|
288
|
+
res.push(typeAnnotation);
|
|
289
|
+
}
|
|
290
|
+
else if (type === 'unknown') {
|
|
291
|
+
return null;
|
|
292
|
+
}
|
|
293
|
+
});
|
|
294
|
+
if (!res.length) {
|
|
295
|
+
res = coreTypeList_1.primitiveTypeList;
|
|
296
|
+
}
|
|
297
|
+
// 调整结构
|
|
298
|
+
const dataTypeList = [{ title: '基础类型', children: res }];
|
|
299
|
+
return dataTypeList;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
},
|
|
303
|
+
_getTypeQuickinfo(args) {
|
|
304
|
+
return this.messager.requestCommand('quickInfo', args);
|
|
208
305
|
},
|
|
209
306
|
getSelectNextCompletion(node) {
|
|
210
307
|
const { currentSource, fileNode } = naslServer.getCurrentSource(node);
|
|
@@ -254,10 +351,14 @@ const naslServer = {
|
|
|
254
351
|
if (node instanceof concepts_1.Entity) {
|
|
255
352
|
record.suggestionDiagnostics = [];
|
|
256
353
|
}
|
|
257
|
-
|
|
354
|
+
if (node instanceof concepts_1.View) {
|
|
258
355
|
// event在view中不展示建议使用,提示关闭掉
|
|
259
356
|
record.suggestionDiagnostics = record.suggestionDiagnostics.filter((item) => !item.text.includes(`'event'`));
|
|
260
357
|
}
|
|
358
|
+
if (node instanceof concepts_1.Logic) {
|
|
359
|
+
// logic在for循环中,不展示any提示
|
|
360
|
+
record.suggestionDiagnostics = record.suggestionDiagnostics.filter((item) => !item.text.includes(`implicitly has an 'any' type, but a better type may be inferred from usage.`));
|
|
361
|
+
}
|
|
261
362
|
record.suggestionDiagnostics = record.suggestionDiagnostics
|
|
262
363
|
.map((diag) => this._resolveDiagnostic(diag, node.sourceMap))
|
|
263
364
|
.filter((diag) => !!diag);
|
|
@@ -295,7 +396,7 @@ const naslServer = {
|
|
|
295
396
|
_diagnosticSpecialTreatment(minRange, tsErrorDetail) {
|
|
296
397
|
// 因为缺少参数时候有可能有特殊情况,因为原本少的多了就会找到 callLogic上,
|
|
297
398
|
// 但是只少一个的时候就会找到准确的Argument上 需要特殊处理, ui层就可以统一处理
|
|
298
|
-
if (minRange.node instanceof concepts_1.Argument && /Expected (.+?) arguments, but got (.+?)./.exec(tsErrorDetail.text)) {
|
|
399
|
+
if (minRange.node instanceof concepts_1.Argument && /Expected (.+?) arguments, but got (.+?)./.exec(tsErrorDetail.originalDiagnostic.text)) {
|
|
299
400
|
minRange.node = minRange.node.parentNode;
|
|
300
401
|
}
|
|
301
402
|
minRange.node.tsErrorDetail = tsErrorDetail;
|
|
@@ -446,6 +547,30 @@ const naslServer = {
|
|
|
446
547
|
});
|
|
447
548
|
refsList = [...viewRefs.refs];
|
|
448
549
|
}
|
|
550
|
+
/**
|
|
551
|
+
* elements 需要查的是__elements.后面的那个内容,过滤两个为了生成内容的节点
|
|
552
|
+
*/
|
|
553
|
+
if (node instanceof concepts_1.ViewElement) {
|
|
554
|
+
const code = currentSource.code;
|
|
555
|
+
const prefix = '__elements.';
|
|
556
|
+
const prefixIndex = code.indexOf(prefix) !== -1 ? code.indexOf(prefix) : 0;
|
|
557
|
+
const methodsNameIndex = prefixIndex + prefix.length;
|
|
558
|
+
const methods = await naslServer.references({
|
|
559
|
+
file: fileNode.getEmbeddedFilePath(),
|
|
560
|
+
line: (0, translator_1.lsp2tspNumber)(currentSource.range.start.line),
|
|
561
|
+
offset: (0, translator_1.lsp2tspNumber)(currentSource.range.start.character + methodsNameIndex),
|
|
562
|
+
});
|
|
563
|
+
const methodRefs = methods.refs.filter((item) => {
|
|
564
|
+
if (item.lineText.includes('__elements.') && item.lineText.includes('new nasl.ui.')) {
|
|
565
|
+
return false;
|
|
566
|
+
}
|
|
567
|
+
if (item.lineText.includes(': <nasl.ui.')) {
|
|
568
|
+
return false;
|
|
569
|
+
}
|
|
570
|
+
return true;
|
|
571
|
+
});
|
|
572
|
+
refsList = [...methodRefs];
|
|
573
|
+
}
|
|
449
574
|
return refsList;
|
|
450
575
|
},
|
|
451
576
|
/**
|
|
@@ -476,6 +601,10 @@ const naslServer = {
|
|
|
476
601
|
if (minRange.node instanceof concepts_1.CallLogic && node instanceof concepts_1.Logic) {
|
|
477
602
|
minRange.setTypeMethods = 'setCalleeName';
|
|
478
603
|
}
|
|
604
|
+
if (minRange.node instanceof concepts_1.CallLogic && node instanceof concepts_1.ViewElement) {
|
|
605
|
+
minRange.setTypeMethods = 'setCalleeName';
|
|
606
|
+
minRange.newValue = 'elements.' + newValue + '.logics';
|
|
607
|
+
}
|
|
479
608
|
// 如果节点是实体修改引发calllogic修改
|
|
480
609
|
if (minRange.node instanceof concepts_1.CallLogic && (node instanceof concepts_1.Entity || node instanceof concepts_1.View)) {
|
|
481
610
|
// 匹配到的内容,当前这一行的内容;
|
|
@@ -541,6 +670,11 @@ const naslServer = {
|
|
|
541
670
|
minRange.newValue = newTextValue;
|
|
542
671
|
}
|
|
543
672
|
}
|
|
673
|
+
// 如果修改逻辑,改到了Identifier表达式,只能说明是在属性里有使用了
|
|
674
|
+
if (minRange.node instanceof concepts_1.Identifier && node instanceof concepts_1.Logic) {
|
|
675
|
+
minRange.newValue = newValue;
|
|
676
|
+
minRange.setTypeMethods = 'setName';
|
|
677
|
+
}
|
|
544
678
|
// 如果节点是MemberExpression表达式
|
|
545
679
|
if (minRange.node instanceof concepts_1.MemberExpression) {
|
|
546
680
|
// 匹配到的内容,当前这一行的内容;
|
|
@@ -645,6 +779,19 @@ const naslServer = {
|
|
|
645
779
|
minRange.newValue = newTsNameSpace;
|
|
646
780
|
}
|
|
647
781
|
}
|
|
782
|
+
if (minRange.node instanceof concepts_1.Interface && node instanceof concepts_1.Logic) {
|
|
783
|
+
minRange.setTypeMethods = 'setOriginLogicName';
|
|
784
|
+
}
|
|
785
|
+
// 如果是role改名,就需要查到变更后的数组
|
|
786
|
+
if ((minRange.node instanceof concepts_1.View || minRange.node instanceof concepts_1.ViewElement) && node instanceof concepts_1.Role) {
|
|
787
|
+
// oldName旧的节点存的值
|
|
788
|
+
// newValue用户输入值
|
|
789
|
+
// node.bindRoles 存的
|
|
790
|
+
minRange.setTypeMethods = 'setBindRoles';
|
|
791
|
+
const str = minRange.node.bindRoles.toString().replace(oldName, newValue);
|
|
792
|
+
const newBindRoles = str.split(',');
|
|
793
|
+
minRange.newValue = newBindRoles;
|
|
794
|
+
}
|
|
648
795
|
// 枚举修改枚举名,比较特殊
|
|
649
796
|
if (minRange.node instanceof concepts_1.EnumItem && node instanceof concepts_1.Enum) {
|
|
650
797
|
// 什么都不做,用来跳过修改
|
|
@@ -659,6 +806,10 @@ const naslServer = {
|
|
|
659
806
|
if (minRange.node instanceof concepts_1.View && node instanceof concepts_1.View && minRange.node !== node) {
|
|
660
807
|
return null;
|
|
661
808
|
}
|
|
809
|
+
// 逻辑改名,触发了在定义里面的,element定义,的值,直接掠过
|
|
810
|
+
if (minRange.node instanceof concepts_1.View && node instanceof concepts_1.Logic) {
|
|
811
|
+
return null;
|
|
812
|
+
}
|
|
662
813
|
}
|
|
663
814
|
else {
|
|
664
815
|
console.log('没找到节点需要排查');
|
|
@@ -851,7 +1002,7 @@ const naslServer = {
|
|
|
851
1002
|
}
|
|
852
1003
|
},
|
|
853
1004
|
// 获取element方法的可选值
|
|
854
|
-
|
|
1005
|
+
getFieldKeySelectCompletion(node, fieldKey) {
|
|
855
1006
|
const { currentSource, fileNode } = naslServer.getCurrentSource(node);
|
|
856
1007
|
console.log(currentSource);
|
|
857
1008
|
if (currentSource && fileNode) {
|
|
@@ -861,7 +1012,7 @@ const naslServer = {
|
|
|
861
1012
|
line: (0, translator_1.lsp2tspNumber)(currentSource.range.start.line),
|
|
862
1013
|
offset: (0, translator_1.lsp2tspNumber)(currentSource.range.start.character),
|
|
863
1014
|
},
|
|
864
|
-
getFieldKey,
|
|
1015
|
+
getFieldKey: fieldKey,
|
|
865
1016
|
});
|
|
866
1017
|
}
|
|
867
1018
|
else {
|
|
@@ -917,6 +1068,8 @@ concepts_1.BaseNode.prototype.findUsage = function findUsage() {
|
|
|
917
1068
|
}
|
|
918
1069
|
};
|
|
919
1070
|
concepts_1.BaseNode.prototype.changeName = async function changeName(newValue, updateAll = false) {
|
|
1071
|
+
console.log(newValue);
|
|
1072
|
+
console.log(this);
|
|
920
1073
|
try {
|
|
921
1074
|
/**
|
|
922
1075
|
* 查找这个节点是不是有依赖
|
|
@@ -1004,10 +1157,11 @@ concepts_1.BaseNode.prototype.prepareDelete = async function prepareDelete() {
|
|
|
1004
1157
|
else {
|
|
1005
1158
|
// 如果有依赖就有一个查找引用提示
|
|
1006
1159
|
confirmParms.tipFlag = true;
|
|
1160
|
+
const node = this;
|
|
1007
1161
|
callback = () => {
|
|
1008
1162
|
// removeParam
|
|
1009
1163
|
// 跟rename 还不太一样,部分修改依赖修改好的值,然后在下面的修改需要把自己传递进去
|
|
1010
|
-
if (
|
|
1164
|
+
if (node instanceof concepts_1.Param) {
|
|
1011
1165
|
const App = this.rootNode;
|
|
1012
1166
|
const logicNode = this.parentNode;
|
|
1013
1167
|
// 收集修改
|
|
@@ -1028,6 +1182,26 @@ concepts_1.BaseNode.prototype.prepareDelete = async function prepareDelete() {
|
|
|
1028
1182
|
App.emit('collect:end');
|
|
1029
1183
|
return;
|
|
1030
1184
|
}
|
|
1185
|
+
// 删除logic节点,如果有对应的interface要一起删除
|
|
1186
|
+
if (node instanceof concepts_1.Logic) {
|
|
1187
|
+
const App = this.rootNode;
|
|
1188
|
+
// 收集修改
|
|
1189
|
+
App.emit('collect:start');
|
|
1190
|
+
this.delete();
|
|
1191
|
+
refsList.forEach((record) => {
|
|
1192
|
+
const fileNode = naslServer.file2NodeMap.get(record.file);
|
|
1193
|
+
if (!fileNode)
|
|
1194
|
+
return null;
|
|
1195
|
+
const minRange = naslServer._findMinRange(record, fileNode.sourceMap);
|
|
1196
|
+
if (minRange) {
|
|
1197
|
+
if (minRange.node instanceof concepts_1.Interface) {
|
|
1198
|
+
minRange.node.delete();
|
|
1199
|
+
}
|
|
1200
|
+
}
|
|
1201
|
+
});
|
|
1202
|
+
// 结束修改 ,批量操作
|
|
1203
|
+
App.emit('collect:end');
|
|
1204
|
+
}
|
|
1031
1205
|
// 其余的都直接调用删除
|
|
1032
1206
|
this.delete();
|
|
1033
1207
|
};
|
|
@@ -1161,8 +1335,8 @@ async function receiveHandleChange($event) {
|
|
|
1161
1335
|
const targetNode = $event.target;
|
|
1162
1336
|
// 当前操作的文件节点
|
|
1163
1337
|
const { fileNode } = naslServer.getCurrentSource(targetNode);
|
|
1164
|
-
// 如果是导入模块就,就引入对应模块,先不处理module,下面的内容会自动创建
|
|
1165
|
-
if (fileNode instanceof concepts_1.Module) {
|
|
1338
|
+
// 如果是导入模块就,就引入对应模块,先不处理module和Configuration,下面的内容会自动创建
|
|
1339
|
+
if (fileNode instanceof concepts_1.Module || fileNode instanceof concepts_1.Configuration) {
|
|
1166
1340
|
return;
|
|
1167
1341
|
}
|
|
1168
1342
|
const result = fileNode.toEmbeddedTSFile();
|
|
@@ -1196,7 +1370,7 @@ translator_1.embeddedTSEmitter.on('change', ($event) => {
|
|
|
1196
1370
|
// 收集到一个行为集合
|
|
1197
1371
|
const eventValue = $event.value;
|
|
1198
1372
|
eventValue.forEach((item) => {
|
|
1199
|
-
receiveHandleChange(item);
|
|
1373
|
+
receiveHandleChange(item.originEvent);
|
|
1200
1374
|
});
|
|
1201
1375
|
});
|
|
1202
1376
|
naslServer.messager.options.context = naslServer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"naslServer.js","sourceRoot":"","sources":["../../src/server/naslServer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"naslServer.js","sourceRoot":"","sources":["../../src/server/naslServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,16 @@
|
|
|
1
|
-
import { Namespace, Process } from '..';
|
|
1
|
+
import { Namespace, Logic, Process } from '..';
|
|
2
2
|
export declare function process2LogicNamespace(process: Process): Namespace;
|
|
3
|
+
interface processTreeFragment {
|
|
4
|
+
level: 'processTreeFragment';
|
|
5
|
+
name: string;
|
|
6
|
+
id: string;
|
|
7
|
+
logics: Array<Logic>;
|
|
8
|
+
elements: Array<{
|
|
9
|
+
level: 'processTreeElementFragment';
|
|
10
|
+
name: string;
|
|
11
|
+
id: string;
|
|
12
|
+
logics: Array<Logic>;
|
|
13
|
+
}>;
|
|
14
|
+
}
|
|
15
|
+
export declare function processToTreeFragment(process: Process): processTreeFragment;
|
|
16
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.process2LogicNamespace = void 0;
|
|
3
|
+
exports.processToTreeFragment = exports.process2LogicNamespace = void 0;
|
|
4
4
|
const __1 = require("..");
|
|
5
5
|
const getProcesses_1 = require("./getProcesses");
|
|
6
6
|
function process2LogicNamespace(process) {
|
|
@@ -12,11 +12,12 @@ function process2LogicNamespace(process) {
|
|
|
12
12
|
name: e.name,
|
|
13
13
|
logics: [l],
|
|
14
14
|
});
|
|
15
|
+
const path = `app.processes.${process.name}.elements.${e.name}.logic`;
|
|
15
16
|
l.getNamespace = function () {
|
|
16
|
-
return
|
|
17
|
+
return path;
|
|
17
18
|
};
|
|
18
19
|
children.push(ns);
|
|
19
|
-
ns.path = `app.processes.${process.name}.elements.${e.name}
|
|
20
|
+
ns.path = `app.processes.${process.name}.elements.${e.name}`;
|
|
20
21
|
}
|
|
21
22
|
});
|
|
22
23
|
const launchLogic = (0, getProcesses_1.genLaunchProcess)(process);
|
|
@@ -29,4 +30,30 @@ function process2LogicNamespace(process) {
|
|
|
29
30
|
return ns;
|
|
30
31
|
}
|
|
31
32
|
exports.process2LogicNamespace = process2LogicNamespace;
|
|
33
|
+
function processToTreeFragment(process) {
|
|
34
|
+
const fragment = {
|
|
35
|
+
level: 'processTreeFragment',
|
|
36
|
+
name: process.name,
|
|
37
|
+
id: process.id,
|
|
38
|
+
logics: [],
|
|
39
|
+
elements: [],
|
|
40
|
+
};
|
|
41
|
+
process.elements.forEach((e) => {
|
|
42
|
+
if (e.type === 'UserTask') {
|
|
43
|
+
const l = (0, getProcesses_1.genUserTaskLogic)(e);
|
|
44
|
+
l.parentKey = 'readonly';
|
|
45
|
+
fragment.elements.push({
|
|
46
|
+
level: 'processTreeElementFragment',
|
|
47
|
+
id: e.id,
|
|
48
|
+
name: e.name,
|
|
49
|
+
logics: [l],
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
const launchLogic = (0, getProcesses_1.genLaunchProcess)(process);
|
|
54
|
+
fragment.logics.push(launchLogic);
|
|
55
|
+
launchLogic.parentKey = 'readonly';
|
|
56
|
+
return fragment;
|
|
57
|
+
}
|
|
58
|
+
exports.processToTreeFragment = processToTreeFragment;
|
|
32
59
|
//# sourceMappingURL=process2LogicNamespace.js.map
|