@lcap/nasl 3.6.0-alpha.1 → 3.6.0-alpha.2
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/bak/translator.js +119 -39
- package/out/bak/translator.js.map +1 -1
- package/out/breakpoint/generator/BreakpointNode.d.ts +3 -0
- package/out/breakpoint/generator/BreakpointNode.js +9 -0
- package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
- package/out/breakpoint/shared/constants.js +1 -0
- package/out/breakpoint/shared/constants.js.map +1 -1
- package/out/breakpoint/shared/utils.js +12 -6
- package/out/breakpoint/shared/utils.js.map +1 -1
- package/out/breakpoint/store/core.js +1 -1
- package/out/breakpoint/store/core.js.map +1 -1
- package/out/common/BaseNode.d.ts +1 -4
- package/out/common/BaseNode.js +23 -37
- package/out/common/BaseNode.js.map +1 -1
- package/out/concepts/AnonymousFunction__.d.ts +6 -1
- package/out/concepts/AnonymousFunction__.js +34 -16
- package/out/concepts/AnonymousFunction__.js.map +1 -1
- package/out/concepts/App__.d.ts +55 -51
- package/out/concepts/App__.js +76 -80
- package/out/concepts/App__.js.map +1 -1
- package/out/concepts/BackendVariable__.js +10 -2
- package/out/concepts/BackendVariable__.js.map +1 -1
- package/out/concepts/BindAttribute__.js +16 -6
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/BindDirective__.d.ts +1 -0
- package/out/concepts/BindDirective__.js +19 -4
- package/out/concepts/BindDirective__.js.map +1 -1
- package/out/concepts/BindEvent__.d.ts +3 -1
- package/out/concepts/BindEvent__.js +39 -14
- package/out/concepts/BindEvent__.js.map +1 -1
- package/out/concepts/BusinessComponent__.d.ts +641 -0
- package/out/concepts/BusinessComponent__.js +1921 -0
- package/out/concepts/BusinessComponent__.js.map +1 -0
- package/out/concepts/BusinessLogic__.d.ts +38 -0
- package/out/concepts/BusinessLogic__.js +358 -0
- package/out/concepts/BusinessLogic__.js.map +1 -0
- package/out/concepts/CallEvent__.d.ts +101 -0
- package/out/concepts/CallEvent__.js +280 -0
- package/out/concepts/CallEvent__.js.map +1 -0
- package/out/concepts/CallFunction__.d.ts +0 -1
- package/out/concepts/CallFunction__.js +10 -10
- package/out/concepts/CallFunction__.js.map +1 -1
- package/out/concepts/CallLogic__.d.ts +2 -0
- package/out/concepts/CallLogic__.js +38 -27
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/Constant__.js +7 -6
- package/out/concepts/Constant__.js.map +1 -1
- package/out/concepts/Destination__.d.ts +1 -1
- package/out/concepts/Destination__.js +7 -5
- package/out/concepts/Destination__.js.map +1 -1
- package/out/concepts/End__.js +2 -1
- package/out/concepts/End__.js.map +1 -1
- package/out/concepts/Event__.d.ts +14 -0
- package/out/concepts/Event__.js +61 -0
- package/out/concepts/Event__.js.map +1 -1
- package/out/concepts/FrontendType__.d.ts +308 -0
- package/out/concepts/FrontendType__.js +605 -0
- package/out/concepts/FrontendType__.js.map +1 -0
- package/out/concepts/Frontend__.d.ts +0 -88
- package/out/concepts/Frontend__.js +1 -143
- package/out/concepts/Frontend__.js.map +1 -1
- package/out/concepts/Identifier__.d.ts +5 -0
- package/out/concepts/Identifier__.js +19 -9
- package/out/concepts/Identifier__.js.map +1 -1
- package/out/concepts/LogicItem__.d.ts +1 -1
- package/out/concepts/LogicItem__.js.map +1 -1
- package/out/concepts/Logic__.d.ts +3 -1
- package/out/concepts/Logic__.js +31 -21
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/Match__.d.ts +1 -1
- package/out/concepts/MemberExpression__.d.ts +1 -1
- package/out/concepts/MemberExpression__.js +3 -3
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/NewComposite__.js.map +1 -1
- package/out/concepts/ParamWithGroup__.d.ts +39 -0
- package/out/concepts/ParamWithGroup__.js +85 -0
- package/out/concepts/ParamWithGroup__.js.map +1 -0
- package/out/concepts/Param__.js +11 -3
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/ProcessElement__.js +9 -1
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/Return__.js +17 -9
- package/out/concepts/Return__.js.map +1 -1
- package/out/concepts/ValidationRule__.js +2 -1
- package/out/concepts/ValidationRule__.js.map +1 -1
- package/out/concepts/Variable__.js +17 -8
- package/out/concepts/Variable__.js.map +1 -1
- package/out/concepts/ViewElement__.d.ts +17 -1
- package/out/concepts/ViewElement__.js +145 -16
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.js +21 -20
- package/out/concepts/View__.js.map +1 -1
- package/out/concepts/index__.d.ts +5 -0
- package/out/concepts/index__.js +5 -0
- package/out/concepts/index__.js.map +1 -1
- package/out/concepts/utils/asserts.d.ts +258 -3
- package/out/concepts/utils/asserts.js +351 -13
- package/out/concepts/utils/asserts.js.map +1 -1
- package/out/concepts/utils/types.d.ts +20 -3
- package/out/generator/genBundleFiles.js +25 -11
- package/out/generator/genBundleFiles.js.map +1 -1
- package/out/generator/genReleaseBody.js +12 -3
- package/out/generator/genReleaseBody.js.map +1 -1
- package/out/generator/permission.js +3 -3
- package/out/generator/permission.js.map +1 -1
- package/out/natural/transformTSCode.js +1 -1
- package/out/natural/transformTSCode.js.map +1 -1
- package/out/server/extendBaseNode.js +6 -4
- package/out/server/extendBaseNode.js.map +1 -1
- package/out/server/getLogics.js +62 -27
- package/out/server/getLogics.js.map +1 -1
- package/out/server/getMemberIdentifier.js +6 -1
- package/out/server/getMemberIdentifier.js.map +1 -1
- package/out/server/getProcesses.js +3 -3
- package/out/server/getProcesses.js.map +1 -1
- package/out/server/naslServer.js +40 -19
- package/out/server/naslServer.js.map +1 -1
- package/out/server/translator.js +6 -1
- package/out/server/translator.js.map +1 -1
- package/out/service/storage/init.js +1 -2
- package/out/service/storage/init.js.map +1 -1
- package/out/templator/genCreateBlock.js +6 -6
- package/out/templator/genCreateBlock.js.map +1 -1
- package/out/templator/genCurdEditMultipleKeyBlock.js +16 -16
- package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
- package/out/templator/genCurdMultipleKeyBlock.js +36 -36
- package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
- package/out/templator/genGetBlock.js +6 -5
- package/out/templator/genGetBlock.js.map +1 -1
- package/out/templator/genGridViewBlock.js +12 -12
- package/out/templator/genGridViewBlock.js.map +1 -1
- package/out/templator/genListViewBlock.js +4 -4
- package/out/templator/genListViewBlock.js.map +1 -1
- package/out/templator/genSelectBlock.js +3 -3
- package/out/templator/genSelectBlock.js.map +1 -1
- package/out/templator/genTableBlock.js +10 -10
- package/out/templator/genTableBlock.js.map +1 -1
- package/out/templator/genUpdateBlock.js +10 -9
- package/out/templator/genUpdateBlock.js.map +1 -1
- package/out/templator/utils.d.ts +2 -2
- package/out/templator/utils.js.map +1 -1
- package/out/translator/utils.js +12 -1
- package/out/translator/utils.js.map +1 -1
- package/out/utils/i18nInfo.js +7 -2
- package/out/utils/i18nInfo.js.map +1 -1
- package/out/utils/index.d.ts +17 -0
- package/out/utils/index.js +184 -1
- package/out/utils/index.js.map +1 -1
- package/package.json +2 -2
- package/src/bak/translator.js +121 -43
- package/src/breakpoint/generator/BreakpointNode.ts +12 -0
- package/src/breakpoint/shared/constants.ts +1 -0
- package/src/breakpoint/shared/utils.ts +13 -8
- package/src/breakpoint/store/core.ts +1 -1
- package/src/common/BaseNode.ts +22 -41
- package/src/concepts/AnonymousFunction__.ts +36 -18
- package/src/concepts/App__.ts +129 -130
- package/src/concepts/BackendVariable__.ts +10 -2
- package/src/concepts/BindAttribute__.ts +14 -6
- package/src/concepts/BindDirective__.ts +19 -4
- package/src/concepts/BindEvent__.ts +41 -13
- package/src/concepts/BusinessComponent__.ts +2693 -0
- package/src/concepts/BusinessLogic__.ts +376 -0
- package/src/concepts/CallEvent__.ts +351 -0
- package/src/concepts/CallFunction__.ts +10 -13
- package/src/concepts/CallLogic__.ts +45 -32
- package/src/concepts/Constant__.ts +5 -7
- package/src/concepts/Destination__.ts +7 -5
- package/src/concepts/End__.ts +1 -0
- package/src/concepts/Event__.ts +70 -0
- package/src/concepts/FrontendType__.ts +919 -0
- package/src/concepts/Frontend__.ts +3 -251
- package/src/concepts/Identifier__.ts +29 -13
- package/src/concepts/LogicItem__.ts +1 -0
- package/src/concepts/Logic__.ts +36 -23
- package/src/concepts/MemberExpression__.ts +3 -3
- package/src/concepts/NewComposite__.ts +4 -6
- package/src/concepts/ParamWithGroup__.ts +101 -0
- package/src/concepts/Param__.ts +11 -3
- package/src/concepts/ProcessElement__.ts +8 -1
- package/src/concepts/Return__.ts +15 -12
- package/src/concepts/ValidationRule__.ts +6 -1
- package/src/concepts/Variable__.ts +17 -9
- package/src/concepts/ViewElement__.ts +168 -33
- package/src/concepts/View__.ts +23 -20
- package/src/concepts/index__.ts +5 -0
- package/src/concepts/utils/asserts.ts +367 -4
- package/src/concepts/utils/types.ts +28 -0
- package/src/generator/genBundleFiles.ts +33 -15
- package/src/generator/genReleaseBody.ts +14 -3
- package/src/generator/permission.ts +8 -6
- package/src/natural/transformTSCode.ts +1 -1
- package/src/server/extendBaseNode.ts +22 -20
- package/src/server/getLogics.ts +79 -41
- package/src/server/getMemberIdentifier.ts +7 -1
- package/src/server/getProcesses.ts +3 -3
- package/src/server/naslServer.ts +44 -20
- package/src/server/translator.ts +7 -1
- package/src/service/storage/init.ts +1 -2
- package/src/templator/genCreateBlock.ts +6 -6
- package/src/templator/genCurdEditMultipleKeyBlock.ts +16 -16
- package/src/templator/genCurdMultipleKeyBlock.ts +36 -36
- package/src/templator/genGetBlock.ts +6 -5
- package/src/templator/genGridViewBlock.ts +12 -12
- package/src/templator/genListViewBlock.ts +4 -4
- package/src/templator/genSelectBlock.ts +3 -3
- package/src/templator/genTableBlock.ts +10 -10
- package/src/templator/genUpdateBlock.ts +10 -9
- package/src/templator/utils.ts +2 -2
- package/src/translator/utils.ts +12 -1
- package/src/utils/i18nInfo.ts +7 -2
- package/src/utils/index.ts +211 -1
- package/test/concepts/call-function/fixtures/from-string.json +68 -59
- package/test/concepts/call-function/fixtures/to-string-global-tz.json +67 -58
- package/test/concepts/call-function/fixtures/to-string-no-tz.json +57 -48
- package/test/concepts/call-function/fixtures/to-string-user-tz.json +69 -60
- package/test/concepts/call-function/fixtures/to-string-utc-tz.json +69 -60
- package/test/concepts/call-interface/fixtures/only-interface.json +81 -72
- package/test/concepts/call-interface/fixtures/with-body-complex-argument.json +223 -214
- package/test/concepts/call-interface/fixtures/with-body-no-argument.json +85 -76
- package/test/concepts/call-interface/fixtures/with-body-simple-argument.json +100 -91
- package/test/concepts/call-interface/fixtures/with-headers-no-argument.json +88 -79
- package/test/concepts/call-interface/fixtures/with-headers.json +90 -81
- package/test/concepts/call-interface/fixtures/with-query-no-argument.json +88 -79
- package/test/concepts/call-interface/fixtures/with-query.json +90 -81
- package/test/concepts/call-logic/__snapshots__/getQuickInfoOffset.spec.ts.snap +4 -2
- package/test/concepts/call-logic/fixtures/entries-get-with-arguments.json +104 -95
- package/test/concepts/call-logic/fixtures/entries-update-with-arguments.json +209 -200
- package/test/concepts/call-logic/fixtures/global-logic-argument-no-expression.json +97 -88
- package/test/concepts/call-logic/fixtures/global-logic-argument-some-expression.json +124 -115
- package/test/concepts/call-logic/fixtures/json-deserialize.json +120 -111
- package/test/concepts/call-logic/fixtures/json-serialize-with-string.json +124 -115
- package/test/concepts/call-logic/fixtures/json-serialize.json +124 -115
- package/test/concepts/call-logic/fixtures/view-buildin-logic-with-argument.json +91 -82
- package/test/concepts/call-logic/fixtures/view-component-logic-no-argument.json +88 -79
- package/test/concepts/call-logic/fixtures/view-component-with-validation.json +144 -135
- package/test/concepts/identifier/fixtures/view-variable.json +145 -136
- package/test/concepts/view-element/__snapshots__/toVue.spec.ts.snap +1 -1
- package/test/concepts/view-element/fixtures/default-login.json +221 -212
- package/test/concepts/view-element/fixtures/default-not-found.json +183 -174
- package/test/concepts/view-element/fixtures/with-role-auth.json +91 -82
- package/test/concepts/view-element/fixtures/with-table.json +1894 -1885
- package/test/concepts/view-element/toVue.spec.ts +1 -0
- package/ts-worker/package.json +1 -1
- package/ts-worker/src/index.js +1 -0
|
@@ -16,6 +16,7 @@ import { elementsEventsMap } from '../server/createUiTs';
|
|
|
16
16
|
import type Param from './Param__';
|
|
17
17
|
import type TypeAnnotation from './TypeAnnotation__';
|
|
18
18
|
import type Process from './Process__';
|
|
19
|
+
import type BusinessComponent from './BusinessComponent__';
|
|
19
20
|
|
|
20
21
|
//================================================================================
|
|
21
22
|
// 从这里开始到结尾注释之间的代码由 NASL Workbench 自动生成,请不手动修改!
|
|
@@ -606,7 +607,7 @@ export class BindEvent extends BaseNode {
|
|
|
606
607
|
if (isPageCycle) {
|
|
607
608
|
if (['keydown', 'keyup'].includes(self.name)) {
|
|
608
609
|
code = `const ${self.toHump(self.name) || '__IDENTIFIER__'} = (event: `;
|
|
609
|
-
code += self.getEventTypeString();
|
|
610
|
+
code += yield* self.getEventTypeString(state);
|
|
610
611
|
code += ') => [\n';
|
|
611
612
|
yield* wrapForEach(self.logics, function* warpForEachGenerator(logic) {
|
|
612
613
|
// 一些默认的逻辑不翻译 排除掉
|
|
@@ -645,7 +646,7 @@ export class BindEvent extends BaseNode {
|
|
|
645
646
|
} else {
|
|
646
647
|
yield* wrapForEach(self.logics, function* warpForEachGenerator(logic, index) {
|
|
647
648
|
const logicName = logic.name;
|
|
648
|
-
logic.name = logic.
|
|
649
|
+
logic.name = logic.likeComponent.name + logic.name + index;
|
|
649
650
|
code += yield* logic.toEmbeddedTS(
|
|
650
651
|
shiftState(state, code, {
|
|
651
652
|
tabSize: (state?.tabSize || 0) + 2,
|
|
@@ -661,7 +662,7 @@ export class BindEvent extends BaseNode {
|
|
|
661
662
|
}
|
|
662
663
|
code = `${self.toHump(self.name) || '__IDENTIFIER__'}: (event: `;
|
|
663
664
|
// event的类型
|
|
664
|
-
code += self.getEventTypeString();
|
|
665
|
+
code += yield* self.getEventTypeString(state);
|
|
665
666
|
code += ') => [\n';
|
|
666
667
|
yield* wrapForEach(self.logics, function* warpForEachGenerator(logic) {
|
|
667
668
|
// 一些默认的逻辑不翻译 排除掉
|
|
@@ -696,7 +697,7 @@ export class BindEvent extends BaseNode {
|
|
|
696
697
|
code += indent(state?.tabSize || 0);
|
|
697
698
|
code += ',\n';
|
|
698
699
|
});
|
|
699
|
-
if (self.view) code += '],\n';
|
|
700
|
+
if (self.view || self.getAncestor('BusinessComponent')) code += '],\n';
|
|
700
701
|
else code += ']\n';
|
|
701
702
|
return code;
|
|
702
703
|
}
|
|
@@ -769,9 +770,11 @@ export class BindEvent extends BaseNode {
|
|
|
769
770
|
return code;
|
|
770
771
|
}
|
|
771
772
|
|
|
772
|
-
getEventTypeString() {
|
|
773
|
+
*getEventTypeString(state = createCompilerState()) {
|
|
773
774
|
let code = '';
|
|
774
775
|
if (!Object.keys(elementsEventsMap).length) return;
|
|
776
|
+
// 业务组件
|
|
777
|
+
const businessComponent = this.element?.correspondingBusinessComponent;
|
|
775
778
|
// 已有的点击事件,已知类型的,就直接取值
|
|
776
779
|
if (
|
|
777
780
|
[
|
|
@@ -792,6 +795,20 @@ export class BindEvent extends BaseNode {
|
|
|
792
795
|
const ref = eventInfo.params[0].schema.$ref;
|
|
793
796
|
const type = ref.replace('#/systemTypes/', 'nasl.ui.');
|
|
794
797
|
code = `${type}`;
|
|
798
|
+
} else if (businessComponent) {
|
|
799
|
+
code = '{\n';
|
|
800
|
+
// 目标事件
|
|
801
|
+
const targetEvent = businessComponent.events?.find((event) => {
|
|
802
|
+
return event.name === this.name;
|
|
803
|
+
});
|
|
804
|
+
if (Array.isArray(targetEvent?.params)) {
|
|
805
|
+
yield* wrapForEach(targetEvent.params, function* warpForEachGenerator(param, index) {
|
|
806
|
+
code += `${param.name}?: `;
|
|
807
|
+
code += yield* param.typeAnnotation.toEmbeddedTS(shiftState(state, code));
|
|
808
|
+
code += ',\n';
|
|
809
|
+
});
|
|
810
|
+
}
|
|
811
|
+
code += '\n}';
|
|
795
812
|
} else {
|
|
796
813
|
code = 'nasl.ui.BaseEvent';
|
|
797
814
|
}
|
|
@@ -848,8 +865,13 @@ export class BindEvent extends BaseNode {
|
|
|
848
865
|
});
|
|
849
866
|
}
|
|
850
867
|
|
|
868
|
+
get likeComponent(): View | BusinessComponent {
|
|
869
|
+
return this.view || (this?.getAncestor('BusinessComponent') as BusinessComponent);
|
|
870
|
+
}
|
|
871
|
+
|
|
851
872
|
getNamespace(ns: string) {
|
|
852
|
-
if (this.
|
|
873
|
+
if (this.likeComponent)
|
|
874
|
+
return `${this.likeComponent.getNamespace()}.${this.likeComponent.name}.bindEvents.${this.name}.logics`;
|
|
853
875
|
if (this.parentNode && (this.parentNode as Namespace).getNamespace) {
|
|
854
876
|
const parentNamespace = (this.parentNode as Namespace).getNamespace();
|
|
855
877
|
const parentName = this.parentNode.name;
|
|
@@ -961,16 +983,21 @@ export class BindEvent extends BaseNode {
|
|
|
961
983
|
getPageViewEventChineseName() {
|
|
962
984
|
const parent = this.parentNode;
|
|
963
985
|
const suffixRE = /时|前|后$/;
|
|
964
|
-
if (asserts.isView(parent)) {
|
|
986
|
+
if (asserts.isView(parent) || asserts.isBusinessComponent(parent)) {
|
|
987
|
+
const conceptTitleMap = {
|
|
988
|
+
View: '页面',
|
|
989
|
+
BusinessComponent: '业务组件',
|
|
990
|
+
};
|
|
991
|
+
const conceptTitle = conceptTitleMap[parent.concept];
|
|
965
992
|
const event = elementsEventsMap[this.name];
|
|
966
993
|
|
|
967
994
|
if (['keydown', 'keyup'].includes(event.name)) {
|
|
968
|
-
return `“${parent.title || parent.name}
|
|
995
|
+
return `“${parent.title || parent.name}”${conceptTitle}${event.title}`;
|
|
969
996
|
}
|
|
970
997
|
|
|
971
998
|
const cap = suffixRE.exec(event?.title);
|
|
972
|
-
if (cap) return `${event.title.replace(suffixRE, '')}“${parent.title || parent.name}
|
|
973
|
-
else return `${event.title}“${parent.title || parent.name}
|
|
999
|
+
if (cap) return `${event.title.replace(suffixRE, '')}“${parent.title || parent.name}”${conceptTitle}${cap[0]}`;
|
|
1000
|
+
else return `${event.title}“${parent.title || parent.name}”${conceptTitle}`;
|
|
974
1001
|
} else if (asserts.isViewElement(parent)) {
|
|
975
1002
|
const eventName = `${parent.tag}-${this.name}`;
|
|
976
1003
|
if (elementsEventsMap[eventName]) {
|
|
@@ -1065,8 +1092,8 @@ export class BindEvent extends BaseNode {
|
|
|
1065
1092
|
const newName = this.name.replace(/-/g, '');
|
|
1066
1093
|
if (asserts.isViewElement(parentNode)) {
|
|
1067
1094
|
return `${parentNode.name}_${newName}`;
|
|
1068
|
-
} else if (asserts.isView(parentNode)) {
|
|
1069
|
-
return `${this.
|
|
1095
|
+
} else if (asserts.isView(parentNode) || asserts.isBusinessComponent(parentNode)) {
|
|
1096
|
+
return `${this.likeComponent.name}_${newName}`;
|
|
1070
1097
|
} else {
|
|
1071
1098
|
// 这里编译成这个名字了 后续pctemplate 里也得按这个调用?
|
|
1072
1099
|
// 或者说因为会编译在不同的端里 直接 name好了
|
|
@@ -1135,7 +1162,8 @@ export class BindEvent extends BaseNode {
|
|
|
1135
1162
|
parent = parent.parentNode;
|
|
1136
1163
|
}
|
|
1137
1164
|
}
|
|
1138
|
-
return `/embedded/${this.
|
|
1165
|
+
return `/embedded/${this.getAncestor('App')?.name}/frontends/${this.getAncestor('FrontendType')?.name
|
|
1166
|
+
}/bindEvents/${pathName}.ts`;
|
|
1139
1167
|
}
|
|
1140
1168
|
|
|
1141
1169
|
//================================================================================
|