@lcap/nasl 3.1.0-beta.4 → 3.1.0-beta.5
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/utils.js +4 -0
- package/out/automate/engine/utils.js.map +1 -1
- package/out/automate/upgrader/2.12.js +1 -5
- package/out/automate/upgrader/2.12.js.map +1 -1
- package/out/automate/upgrader/2.14.js +1 -5
- package/out/automate/upgrader/2.14.js.map +1 -1
- package/out/automate/upgrader/2.16.js +1 -5
- package/out/automate/upgrader/2.16.js.map +1 -1
- package/out/automate/upgrader/2.17.js +1 -5
- package/out/automate/upgrader/2.17.js.map +1 -1
- package/out/automate/upgrader/2.18.js +1 -5
- package/out/automate/upgrader/2.18.js.map +1 -1
- package/out/automate/upgrader/2.20.js +1 -5
- package/out/automate/upgrader/2.20.js.map +1 -1
- package/out/breakpoint/generator/BreakpointNode.js +14 -4
- package/out/breakpoint/generator/BreakpointNode.js.map +1 -1
- package/out/breakpoint/index.js +1 -5
- package/out/breakpoint/index.js.map +1 -1
- package/out/breakpoint/shared/index.js +1 -5
- package/out/breakpoint/shared/index.js.map +1 -1
- package/out/breakpoint/shared/utils.js +1 -1
- package/out/breakpoint/shared/utils.js.map +1 -1
- package/out/breakpoint/store/core.js +1 -5
- package/out/breakpoint/store/core.js.map +1 -1
- package/out/breakpoint/store/dock.js +1 -5
- package/out/breakpoint/store/dock.js.map +1 -1
- package/out/breakpoint/store/index.js +1 -5
- package/out/breakpoint/store/index.js.map +1 -1
- package/out/common/BaseNode.d.ts +1 -1
- package/out/common/BaseNode.js +17 -11
- package/out/common/BaseNode.js.map +1 -1
- package/out/common/index.js +1 -5
- package/out/common/index.js.map +1 -1
- package/out/concepts/Anchor__.js +1 -5
- package/out/concepts/Anchor__.js.map +1 -1
- package/out/concepts/AnonymousFunction__.d.ts +9 -8
- package/out/concepts/AnonymousFunction__.js +14 -18
- package/out/concepts/AnonymousFunction__.js.map +1 -1
- package/out/concepts/App__.js +1 -5
- package/out/concepts/App__.js.map +1 -1
- package/out/concepts/Argument__.js +2 -11
- package/out/concepts/Argument__.js.map +1 -1
- package/out/concepts/Assignee__.js +1 -5
- package/out/concepts/Assignee__.js.map +1 -1
- package/out/concepts/Assignment__.js +1 -1
- package/out/concepts/Assignment__.js.map +1 -1
- package/out/concepts/AuthLogicForCallInterface__.js +1 -5
- package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
- package/out/concepts/Backend__.js +1 -5
- package/out/concepts/Backend__.js.map +1 -1
- package/out/concepts/BatchAssignment__.js +3 -8
- package/out/concepts/BatchAssignment__.js.map +1 -1
- package/out/concepts/BindAttribute__.js +2 -15
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/BindDirective__.js +1 -5
- package/out/concepts/BindDirective__.js.map +1 -1
- package/out/concepts/BindEvent__.js +1 -5
- package/out/concepts/BindEvent__.js.map +1 -1
- package/out/concepts/BindStyle__.js +1 -5
- package/out/concepts/BindStyle__.js.map +1 -1
- package/out/concepts/CallAuthInterface__.js +1 -5
- package/out/concepts/CallAuthInterface__.js.map +1 -1
- package/out/concepts/CallFunction__.js +2 -2
- package/out/concepts/CallFunction__.js.map +1 -1
- package/out/concepts/CallInterface__.js +50 -62
- package/out/concepts/CallInterface__.js.map +1 -1
- package/out/concepts/CallLogic__.d.ts +4 -1
- package/out/concepts/CallLogic__.js +86 -123
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CallQueryComponent__.d.ts +1 -1
- package/out/concepts/CallQueryComponent__.js +1 -5
- package/out/concepts/CallQueryComponent__.js.map +1 -1
- package/out/concepts/CompletionProperty__.js +8 -1
- package/out/concepts/CompletionProperty__.js.map +1 -1
- package/out/concepts/ConfigGroup__.js +1 -5
- package/out/concepts/ConfigGroup__.js.map +1 -1
- package/out/concepts/ConfigProperty__.js +1 -5
- package/out/concepts/ConfigProperty__.js.map +1 -1
- package/out/concepts/Configuration__.js +1 -5
- package/out/concepts/Configuration__.js.map +1 -1
- package/out/concepts/Connector__.js +1 -5
- package/out/concepts/Connector__.js.map +1 -1
- package/out/concepts/DataSource__.js +1 -5
- package/out/concepts/DataSource__.js.map +1 -1
- package/out/concepts/Destination__.js +1 -5
- package/out/concepts/Destination__.js.map +1 -1
- package/out/concepts/EntityProperty__.js +1 -5
- package/out/concepts/EntityProperty__.js.map +1 -1
- package/out/concepts/Entity__.js +1 -5
- package/out/concepts/Entity__.js.map +1 -1
- package/out/concepts/Enum__.js +1 -5
- package/out/concepts/Enum__.js.map +1 -1
- package/out/concepts/Event__.js +1 -5
- package/out/concepts/Event__.js.map +1 -1
- package/out/concepts/ForEachStatement__.js +1 -5
- package/out/concepts/ForEachStatement__.js.map +1 -1
- package/out/concepts/FrontendLibrary__.d.ts +29 -29
- package/out/concepts/FrontendLibrary__.js +3 -7
- package/out/concepts/FrontendLibrary__.js.map +1 -1
- package/out/concepts/Frontend__.js +1 -5
- package/out/concepts/Frontend__.js.map +1 -1
- package/out/concepts/Function__.js +2 -6
- package/out/concepts/Function__.js.map +1 -1
- package/out/concepts/Interface__.js +1 -5
- package/out/concepts/Interface__.js.map +1 -1
- package/out/concepts/LogicItem__.d.ts +6 -6
- package/out/concepts/LogicItem__.js +6 -6
- package/out/concepts/LogicItem__.js.map +1 -1
- package/out/concepts/Logic__.js +5 -24
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/MatchCase__.js +1 -5
- package/out/concepts/MatchCase__.js.map +1 -1
- package/out/concepts/Module__.js +1 -5
- package/out/concepts/Module__.js.map +1 -1
- package/out/concepts/MsgTriggerEvent__.js +1 -5
- package/out/concepts/MsgTriggerEvent__.js.map +1 -1
- package/out/concepts/MsgTriggerLauncher__.js +1 -5
- package/out/concepts/MsgTriggerLauncher__.js.map +1 -1
- package/out/concepts/Namespace__.d.ts +29 -29
- package/out/concepts/Namespace__.js +3 -7
- package/out/concepts/Namespace__.js.map +1 -1
- package/out/concepts/NewComposite__.d.ts +0 -1
- package/out/concepts/NewComposite__.js +4 -72
- package/out/concepts/NewComposite__.js.map +1 -1
- package/out/concepts/NewList__.d.ts +0 -1
- package/out/concepts/NewList__.js +2 -22
- package/out/concepts/NewList__.js.map +1 -1
- package/out/concepts/NewMap__.js +1 -5
- package/out/concepts/NewMap__.js.map +1 -1
- package/out/concepts/OverriddenLogic__.js +1 -5
- package/out/concepts/OverriddenLogic__.js.map +1 -1
- package/out/concepts/ProcessComponent__.js +1 -5
- package/out/concepts/ProcessComponent__.js.map +1 -1
- package/out/concepts/ProcessElement__.js +1 -5
- package/out/concepts/ProcessElement__.js.map +1 -1
- package/out/concepts/Process__.js +1 -5
- package/out/concepts/Process__.js.map +1 -1
- package/out/concepts/QueryJoinExpression__.js +1 -5
- package/out/concepts/QueryJoinExpression__.js.map +1 -1
- package/out/concepts/QuerySelectExpression__.js +1 -5
- package/out/concepts/QuerySelectExpression__.js.map +1 -1
- package/out/concepts/SelectMembers__.js +1 -5
- package/out/concepts/SelectMembers__.js.map +1 -1
- package/out/concepts/StringInterpolation__.js +1 -5
- package/out/concepts/StringInterpolation__.js.map +1 -1
- package/out/concepts/Structure__.js +1 -5
- package/out/concepts/Structure__.js.map +1 -1
- package/out/concepts/TriggerEvent__.js +1 -5
- package/out/concepts/TriggerEvent__.js.map +1 -1
- package/out/concepts/TypeAnnotation__.js +5 -5
- package/out/concepts/TypeAnnotation__.js.map +1 -1
- package/out/concepts/ValidationRule__.js +10 -4
- package/out/concepts/ValidationRule__.js.map +1 -1
- package/out/concepts/ViewComponent__.d.ts +33 -33
- package/out/concepts/ViewComponent__.js +8 -12
- package/out/concepts/ViewComponent__.js.map +1 -1
- package/out/concepts/ViewElement__.js +53 -74
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.js +5 -9
- package/out/concepts/View__.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.http.js +2 -2
- package/out/concepts/basics/stdlib/nasl.util.js +9 -17
- package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
- package/out/concepts/basics/types/index.js +1 -1
- package/out/concepts/basics/types/index.js.map +1 -1
- package/out/concepts/index.js +1 -5
- package/out/concepts/index.js.map +1 -1
- package/out/concepts/index__.js +1 -5
- package/out/concepts/index__.js.map +1 -1
- package/out/generator/genBundleFiles.js +1 -5
- package/out/generator/genBundleFiles.js.map +1 -1
- package/out/generator/genHash.js +1 -5
- package/out/generator/genHash.js.map +1 -1
- package/out/generator/genMetaData.js +1 -13
- package/out/generator/genMetaData.js.map +1 -1
- package/out/generator/index.js +1 -5
- package/out/generator/index.js.map +1 -1
- package/out/generator/permission.js +48 -24
- package/out/generator/permission.js.map +1 -1
- package/out/generator/styleReplacer.js +1 -5
- package/out/generator/styleReplacer.js.map +1 -1
- package/out/index.js +1 -5
- package/out/index.js.map +1 -1
- package/out/sentry/index.js +1 -8
- package/out/sentry/index.js.map +1 -1
- package/out/server/formatTsUtils.js +28 -29
- package/out/server/formatTsUtils.js.map +1 -1
- package/out/server/getMemberIdentifier.js +1 -1
- package/out/server/getMemberIdentifier.js.map +1 -1
- package/out/server/naslServer.js +17 -20
- package/out/server/naslServer.js.map +1 -1
- package/out/service/creator/errHandles.d.ts +1 -1
- package/out/service/storage/init.js +5 -8
- package/out/service/storage/init.js.map +1 -1
- package/out/templator/genCreateBlock.js +1 -5
- package/out/templator/genCreateBlock.js.map +1 -1
- package/out/templator/genCurdEditMultipleKeyBlock.js +2 -6
- package/out/templator/genCurdEditMultipleKeyBlock.js.map +1 -1
- package/out/templator/genCurdMultipleKeyBlock.js +3 -7
- package/out/templator/genCurdMultipleKeyBlock.js.map +1 -1
- package/out/templator/genEditTableBlock.d.ts +1 -1
- package/out/templator/genEditTableBlock.js +3 -11
- package/out/templator/genEditTableBlock.js.map +1 -1
- package/out/templator/genGetBlock.js +1 -5
- package/out/templator/genGetBlock.js.map +1 -1
- package/out/templator/genGridViewBlock.d.ts +2 -2
- package/out/templator/genGridViewBlock.js +9 -19
- package/out/templator/genGridViewBlock.js.map +1 -1
- package/out/templator/genListViewBlock.d.ts +2 -2
- package/out/templator/genListViewBlock.js +6 -14
- package/out/templator/genListViewBlock.js.map +1 -1
- package/out/templator/genQueryComponent.js +1 -5
- package/out/templator/genQueryComponent.js.map +1 -1
- package/out/templator/genSelectBlock.d.ts +2 -2
- package/out/templator/genSelectBlock.js +10 -20
- package/out/templator/genSelectBlock.js.map +1 -1
- package/out/templator/genTableBlock.d.ts +1 -1
- package/out/templator/genTableBlock.js +4 -12
- package/out/templator/genTableBlock.js.map +1 -1
- package/out/templator/genUpdateBlock.js +1 -5
- package/out/templator/genUpdateBlock.js.map +1 -1
- package/out/templator/index.js +1 -5
- package/out/templator/index.js.map +1 -1
- package/out/utils/index.js +1 -5
- package/out/utils/index.js.map +1 -1
- package/package.json +2 -2
- package/src/breakpoint/generator/BreakpointNode.ts +19 -4
- package/src/breakpoint/shared/utils.ts +1 -1
- package/src/common/BaseNode.ts +15 -3
- package/src/concepts/CallLogic__.ts +45 -15
- package/src/concepts/ValidationRule__.ts +15 -5
- package/src/concepts/ViewElement__.ts +9 -6
- package/src/generator/permission.ts +28 -8
- package/src/server/formatTsUtils.ts +26 -28
- package/src/server/getMemberIdentifier.ts +1 -1
- package/src/server/naslServer.ts +0 -1
- package/test/concepts/call-logic/__snapshots__/getQuickInfoOffset.spec.ts.snap +106 -0
- package/test/concepts/call-logic/__snapshots__/toEmbeddedTS.spec.ts.snap +45 -0
- package/test/concepts/call-logic/__snapshots__/toJS.spec.ts.snap +102 -0
- package/test/concepts/call-logic/fixtures/nested-call-logic.json +934 -0
- package/test/concepts/call-logic/getQuickInfoOffset.spec.ts +23 -0
- package/test/concepts/validation-rule/__snapshots__/toEmbeddedTS.spec.ts.snap +6 -0
- package/test/concepts/validation-rule/__snapshots__/toJS.spec.ts.snap +5 -0
- package/test/concepts/validation-rule/fixtures/argument-without-keyout.json +34 -0
- package/test/concepts/validation-rule/validation-rule.spec.ts +15 -0
package/out/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lcap/nasl",
|
|
3
3
|
"description": "NetEase Application Specific Language",
|
|
4
|
-
"version": "3.1.0-beta.
|
|
4
|
+
"version": "3.1.0-beta.5",
|
|
5
5
|
"author": "Forrest <rainforest92@126.com>",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"clear": "rimraf ./out",
|
|
8
8
|
"build": "npm run clear && tsc -p ./tsconfig.build.json",
|
|
9
9
|
"watch": "npm run build -- -w",
|
|
10
10
|
"test": "mocha --file ./test/setup.ts",
|
|
11
|
-
"test:update": "
|
|
11
|
+
"test:update": "npm run test -- --update",
|
|
12
12
|
"release:beta": "npm run build && npm publish --tag beta --access public --no-git-checks",
|
|
13
13
|
"release": "npm run build && npm publish --tag latest --access public",
|
|
14
14
|
"doc": "typedoc --out docs src --options docs-build/typedoc.json",
|
|
@@ -74,6 +74,7 @@ const callLogicGenerator = (instance: BreakpointNode) => (breaker: string) => {
|
|
|
74
74
|
const base = args || [];
|
|
75
75
|
|
|
76
76
|
breakpointArgument.name = attribute;
|
|
77
|
+
breakpointArgument.keyword = attribute;
|
|
77
78
|
breakpointArgument.expression = breakpointExpression as any;
|
|
78
79
|
breakpointExpression._nodePath = _nodePath;
|
|
79
80
|
source.arguments = base.concat(breakpointArgument);
|
|
@@ -100,19 +101,33 @@ const callFunctionGenerator = (instance: BreakpointNode) => (breaker: string) =>
|
|
|
100
101
|
return;
|
|
101
102
|
}
|
|
102
103
|
|
|
103
|
-
const {
|
|
104
|
+
const {
|
|
105
|
+
arguments: sourceArguments,
|
|
106
|
+
typeArguments: sourceTypeArguments,
|
|
107
|
+
} = source;
|
|
104
108
|
|
|
105
109
|
const breakpointExpression = new BreakpointNode();
|
|
106
110
|
const breakpointArgument = new Argument();
|
|
107
|
-
|
|
111
|
+
|
|
112
|
+
const baseArguments = sourceArguments || [];
|
|
113
|
+
const baseTypeArguments = sourceTypeArguments || [];
|
|
114
|
+
const addToTypeArguments = baseTypeArguments?.length;
|
|
108
115
|
|
|
109
116
|
breakpointArgument.name = attribute;
|
|
117
|
+
breakpointArgument.keyword = attribute;
|
|
110
118
|
breakpointArgument.expression = breakpointExpression as any;
|
|
111
119
|
breakpointExpression._nodePath = _nodePath;
|
|
112
|
-
|
|
120
|
+
|
|
121
|
+
if (addToTypeArguments) {
|
|
122
|
+
source.typeArguments = baseTypeArguments.concat(breakpointArgument);
|
|
123
|
+
} else {
|
|
124
|
+
source.arguments = baseArguments.concat(breakpointArgument);
|
|
125
|
+
}
|
|
113
126
|
|
|
114
127
|
const code = source.toJS();
|
|
115
|
-
|
|
128
|
+
|
|
129
|
+
source.arguments = sourceArguments;
|
|
130
|
+
source.typeArguments = sourceTypeArguments;
|
|
116
131
|
|
|
117
132
|
return code;
|
|
118
133
|
};
|
package/src/common/BaseNode.ts
CHANGED
|
@@ -199,13 +199,20 @@ export class BaseNode extends EventEmitter {
|
|
|
199
199
|
|
|
200
200
|
// 测试时用的标记属性
|
|
201
201
|
if (process.env.NODE_ENV === 'testing') {
|
|
202
|
-
properties.push('__$Selected');
|
|
202
|
+
properties.push('__$Selected', '__TypeAnnotation');
|
|
203
203
|
}
|
|
204
204
|
|
|
205
205
|
properties.forEach((key) => {
|
|
206
|
-
const property = propertyMap.get(key);
|
|
207
206
|
const sourceItem = (source as any)[key] !== undefined ? (source as any)[key] : (this as any)[key];
|
|
207
|
+
|
|
208
|
+
let property = propertyMap.get(key);
|
|
208
209
|
let objectRefCtor: any;
|
|
210
|
+
|
|
211
|
+
// 测试环境下,类型节点由外部注入,所以需要在初始化的时候必须带上类型节点
|
|
212
|
+
if (process.env.NODE_ENV === 'testing' && key === '__TypeAnnotation' && sourceItem) {
|
|
213
|
+
property = { objectRef: 'TypeAnnotation' };
|
|
214
|
+
}
|
|
215
|
+
|
|
209
216
|
try {
|
|
210
217
|
if (property?.objectRef) {
|
|
211
218
|
const arr = property.objectRef.split(' | ');
|
|
@@ -218,8 +225,13 @@ export class BaseNode extends EventEmitter {
|
|
|
218
225
|
}
|
|
219
226
|
}
|
|
220
227
|
}
|
|
228
|
+
|
|
221
229
|
// 数组的情况也在这里做掉了
|
|
222
|
-
|
|
230
|
+
const value = objectRefCtor && sourceItem && !(sourceItem instanceof objectRefCtor) ? this.instantiateSub(sourceItem, key) : sourceItem;
|
|
231
|
+
|
|
232
|
+
if (value !== undefined) {
|
|
233
|
+
(this as any)[key] = value;
|
|
234
|
+
}
|
|
223
235
|
} catch (e) {
|
|
224
236
|
// Function has non-object prototype 'undefined' in instanceof check
|
|
225
237
|
if (!e.message.includes('Function has non-object prototype'))
|
|
@@ -776,6 +776,16 @@ export class CallLogic extends LogicItem {
|
|
|
776
776
|
typeArguments,
|
|
777
777
|
} = this;
|
|
778
778
|
|
|
779
|
+
const isShowArgument = (arg?: Argument) => {
|
|
780
|
+
return (
|
|
781
|
+
arg.expression ||
|
|
782
|
+
(
|
|
783
|
+
arg.paramDefaultValue &&
|
|
784
|
+
arg.paramTypeAnnotation
|
|
785
|
+
)
|
|
786
|
+
);
|
|
787
|
+
}
|
|
788
|
+
|
|
779
789
|
const keywordProcessIndex = findConceptKeyWordIndexFromNamespace(calleeNamespace, 'processes');
|
|
780
790
|
const isProcessLogic = keywordProcessIndex !== -1;
|
|
781
791
|
const isFrontendLibrary = calleeNamespace.startsWith('extensions') && calleeNamespace.indexOf('frontends');
|
|
@@ -811,7 +821,7 @@ export class CallLogic extends LogicItem {
|
|
|
811
821
|
arg: actualArg,
|
|
812
822
|
};
|
|
813
823
|
})
|
|
814
|
-
.filter((item) =>
|
|
824
|
+
.filter((item) => isShowArgument(item.arg))
|
|
815
825
|
.map((obj: any) => `\n${obj?.keyword}: ${obj?.arg?.toJS(shiftState(state, code))}`)
|
|
816
826
|
.join(', ');
|
|
817
827
|
code += argsStr;
|
|
@@ -849,7 +859,6 @@ export class CallLogic extends LogicItem {
|
|
|
849
859
|
case 'batchUpdate': {
|
|
850
860
|
code += `body: {\n`;
|
|
851
861
|
const argsStr = logicArgs
|
|
852
|
-
.filter((arg) => arg.expression)
|
|
853
862
|
.map((arg) => {
|
|
854
863
|
const name = arg.keyword === 'body' ? (this.calleeName === 'batchUpdate' ? 'entities' : 'entity') : arg.keyword;
|
|
855
864
|
return `${name}: ${arg.expression.toJS(shiftState(state, code))}`;
|
|
@@ -864,7 +873,6 @@ export class CallLogic extends LogicItem {
|
|
|
864
873
|
case 'updateBy': {
|
|
865
874
|
code += `body: {`;
|
|
866
875
|
const argsStr = logicArgs
|
|
867
|
-
.filter((arg) => arg.expression)
|
|
868
876
|
.map((arg: any) => {
|
|
869
877
|
const name = arg.keyword === 'body' ? 'entity' : arg.keyword;
|
|
870
878
|
// filter回调函数
|
|
@@ -920,7 +928,7 @@ export class CallLogic extends LogicItem {
|
|
|
920
928
|
arg: actualArg,
|
|
921
929
|
};
|
|
922
930
|
})
|
|
923
|
-
.filter((item) =>
|
|
931
|
+
.filter((item) => isShowArgument(item.arg))
|
|
924
932
|
.map((obj) => `\n${obj?.keyword}: ${obj?.arg?.toJS(shiftState(state, code))}`)
|
|
925
933
|
.join(', ');
|
|
926
934
|
code += argsStr;
|
|
@@ -1237,19 +1245,41 @@ export class CallLogic extends LogicItem {
|
|
|
1237
1245
|
|
|
1238
1246
|
/** 获取类型标注时的偏移量 */
|
|
1239
1247
|
getQuickInfoOffset(detail: TSPPosition, code: string): TSPPosition {
|
|
1240
|
-
if (
|
|
1241
|
-
|
|
1242
|
-
|
|
1248
|
+
if (this.useIife) {
|
|
1249
|
+
const characterOffset = 8;
|
|
1250
|
+
const lines = code.split('\n');
|
|
1251
|
+
const lineOffset = lines.findIndex((item) => item.startsWith('return wrapper'));
|
|
1243
1252
|
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1253
|
+
return {
|
|
1254
|
+
line: detail.line + lineOffset,
|
|
1255
|
+
offset: characterOffset,
|
|
1256
|
+
};
|
|
1257
|
+
} else {
|
|
1258
|
+
let indexOf = 0;
|
|
1248
1259
|
|
|
1249
|
-
|
|
1250
|
-
|
|
1251
|
-
|
|
1252
|
-
|
|
1260
|
+
// 没有括号,表示括号在外面
|
|
1261
|
+
if (!code.includes('(')) {
|
|
1262
|
+
indexOf = -1;
|
|
1263
|
+
}
|
|
1264
|
+
// 有括号就找到括号的位置
|
|
1265
|
+
else {
|
|
1266
|
+
// 如果有泛型先往前找一找
|
|
1267
|
+
if (code.includes('<')) {
|
|
1268
|
+
indexOf = Math.min(code.indexOf('<'), code.indexOf('('));
|
|
1269
|
+
} else {
|
|
1270
|
+
indexOf = code.indexOf('(');
|
|
1271
|
+
}
|
|
1272
|
+
const subStr = code.substring(0, indexOf);
|
|
1273
|
+
const codeArr = subStr?.split('.');
|
|
1274
|
+
const lastLen = codeArr?.[codeArr.length - 1]?.length;
|
|
1275
|
+
indexOf = subStr.length - lastLen;
|
|
1276
|
+
}
|
|
1277
|
+
|
|
1278
|
+
return {
|
|
1279
|
+
...detail,
|
|
1280
|
+
offset: detail.offset + indexOf,
|
|
1281
|
+
};
|
|
1282
|
+
}
|
|
1253
1283
|
}
|
|
1254
1284
|
|
|
1255
1285
|
/**
|
|
@@ -500,15 +500,25 @@ export class ValidationRule extends LogicItem {
|
|
|
500
500
|
code += calleeKey;
|
|
501
501
|
code += '(';
|
|
502
502
|
args.forEach((arg, index) => {
|
|
503
|
+
const param = validationInFunction?.params?.[index];
|
|
504
|
+
|
|
505
|
+
// 当前参数缺失 keyword,且原始形参中有名称,则补充参数
|
|
506
|
+
if (!arg.keyword && param.name) {
|
|
507
|
+
arg.keyword = param.name;
|
|
508
|
+
}
|
|
509
|
+
|
|
503
510
|
// 如果找到函数而且有参数,就用参数的必填非必填
|
|
504
|
-
if (validationInFunction &&
|
|
505
|
-
code += arg.toEmbeddedTS(shiftState(state, code),
|
|
506
|
-
}
|
|
507
|
-
|
|
511
|
+
if (validationInFunction && param) {
|
|
512
|
+
code += arg.toEmbeddedTS(shiftState(state, code), param.required, false);
|
|
513
|
+
}
|
|
514
|
+
// 如果没有就默认不必填
|
|
515
|
+
else {
|
|
508
516
|
code += arg.toEmbeddedTS(shiftState(state, code), false, false);
|
|
509
517
|
}
|
|
510
|
-
|
|
518
|
+
|
|
519
|
+
if (index !== args.length - 1) {
|
|
511
520
|
code += ', ';
|
|
521
|
+
}
|
|
512
522
|
});
|
|
513
523
|
code += ');';
|
|
514
524
|
}
|
|
@@ -1453,7 +1453,7 @@ export class ViewElement extends BaseNode {
|
|
|
1453
1453
|
if (bindAttrs && bindAttrs.length) {
|
|
1454
1454
|
const attr = bindAttrs.find((item) => item.name === 'data-source');
|
|
1455
1455
|
if (attr && attr.expression) {
|
|
1456
|
-
const datasourceName = `datasourceName${
|
|
1456
|
+
const datasourceName = `datasourceName${element.name}`;
|
|
1457
1457
|
(element as any).__tsDataSourceTypeName = datasourceName;
|
|
1458
1458
|
if (attr.expression instanceof MemberExpression || attr.expression instanceof Identifier) {
|
|
1459
1459
|
const value = attr.expression.toEmbeddedTS(shiftState(state, code));
|
|
@@ -1667,11 +1667,14 @@ export class ViewElement extends BaseNode {
|
|
|
1667
1667
|
|
|
1668
1668
|
utils.traverse((current) => {
|
|
1669
1669
|
const node = current.node as any;
|
|
1670
|
-
if (node.concept === 'CallLogic'
|
|
1671
|
-
|
|
1672
|
-
if(
|
|
1673
|
-
const
|
|
1674
|
-
|
|
1670
|
+
if (node.concept === 'CallLogic') {
|
|
1671
|
+
node.uuid = uuidv4().replace(/-/g, '');
|
|
1672
|
+
if (/elements.(.+).logics/.test(node.calleeNamespace)) {
|
|
1673
|
+
const oldName = node.calleeNamespace.split('.')[1];
|
|
1674
|
+
if (nameMap.has(oldName)) {
|
|
1675
|
+
const newName = nameMap.get(oldName);
|
|
1676
|
+
node.calleeNamespace = `elements.${newName}.logics`
|
|
1677
|
+
}
|
|
1675
1678
|
}
|
|
1676
1679
|
}
|
|
1677
1680
|
}, { node: element }, { mode: 'anyObject', excludedKeySet: element.JSON_EXCLUDED_KEYS });
|
|
@@ -224,20 +224,40 @@ function getAllLogics(app: App) {
|
|
|
224
224
|
}
|
|
225
225
|
|
|
226
226
|
function findUploaders(app: App) {
|
|
227
|
-
const
|
|
227
|
+
const uploaders = new Map<string, ViewElement[]>();
|
|
228
|
+
const callLogicUploadList = new Map<string, any>();
|
|
229
|
+
let callLogicUploadFlag = false;
|
|
228
230
|
app.traverseChildren((node) => {
|
|
229
231
|
if (node instanceof ViewElement && node.tag?.includes('uploader')) {
|
|
230
232
|
const urlAttr = node.bindAttrs.find((item) => item.name === 'url');
|
|
231
233
|
const url = urlAttr?.value;
|
|
232
234
|
if (url) {
|
|
233
|
-
if (!
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
235
|
+
if (!uploaders.has(url)) uploaders.set(url, [node]);
|
|
236
|
+
else uploaders.get(url).push(node);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
if (node instanceof CallLogic && node?.calleeName?.includes('downloadFile') && node?.calleeNamespace === 'nasl.io' && !callLogicUploadFlag) {
|
|
240
|
+
const viewElement = node?.getAncestor('ViewElement');
|
|
241
|
+
const view = node?.getAncestor('View');
|
|
242
|
+
// ViewElement 权限优先
|
|
243
|
+
if (viewElement instanceof ViewElement && viewElement?.auth) {
|
|
244
|
+
callLogicUploadList.set(viewElement?.authPath, [{
|
|
245
|
+
type: 'component',
|
|
246
|
+
path: viewElement?.authPath
|
|
247
|
+
}]);
|
|
248
|
+
} else if (view instanceof View && view?.auth) {
|
|
249
|
+
callLogicUploadList.set(view?.authPath, [{
|
|
250
|
+
type: 'page',
|
|
251
|
+
path: view?.authPath
|
|
252
|
+
}]);
|
|
253
|
+
} else {
|
|
254
|
+
// 如果开启权限和未开启权限都有,以未开启权限为准,清空 map,设置为 [[]]
|
|
255
|
+
callLogicUploadFlag = true;
|
|
256
|
+
callLogicUploadList.clear();
|
|
237
257
|
}
|
|
238
258
|
}
|
|
239
259
|
});
|
|
240
|
-
return
|
|
260
|
+
return { uploaders, callLogicUploadList: callLogicUploadList.size === 0 ? [[]] : Array.from(callLogicUploadList.values()) };
|
|
241
261
|
}
|
|
242
262
|
function checkUploadAuth(view: View | ViewElement) {
|
|
243
263
|
const res: ResourceNode[] = [];
|
|
@@ -274,7 +294,7 @@ export async function genPermissionData(app: App) {
|
|
|
274
294
|
openCache();
|
|
275
295
|
const logicPageResourceDtoList: { [key: string]: ResourceNode[][] } = {};
|
|
276
296
|
const { logics, processLogics } = getAllLogics(app);
|
|
277
|
-
const uploaders = findUploaders(app);
|
|
297
|
+
const {uploaders, callLogicUploadList} = findUploaders(app);
|
|
278
298
|
for (const logic of [...logics, ...processLogics]) {
|
|
279
299
|
const resources = await findResourcesOfLogic(logic, uploaders);
|
|
280
300
|
if (resources.length === 0)
|
|
@@ -288,7 +308,7 @@ export async function genPermissionData(app: App) {
|
|
|
288
308
|
if (authValue?.length) {
|
|
289
309
|
logicPageResourceDtoList['/upload:POST'] = checkPageAndUploadAuth(uploaders) != -1 ? [[]] : authValue
|
|
290
310
|
}
|
|
291
|
-
|
|
311
|
+
logicPageResourceDtoList['/upload/download_files:POST'] = callLogicUploadList;
|
|
292
312
|
closeCache();
|
|
293
313
|
// console.timeEnd('xxx');
|
|
294
314
|
return logicPageResourceDtoList;
|
|
@@ -510,36 +510,34 @@ function getNodeTypeVariableData(nodeType: any, item: any, node: SynatxNode) {
|
|
|
510
510
|
const app = (node.rootNode) as App;
|
|
511
511
|
let structure: any = {};
|
|
512
512
|
|
|
513
|
-
//
|
|
514
|
-
if (
|
|
515
|
-
|
|
516
|
-
|
|
513
|
+
// 有类型在进行下一步运算
|
|
514
|
+
if (typeAnnotation) {
|
|
515
|
+
// 数据查询没有输出参数,特殊处理
|
|
516
|
+
if (typeAnnotation.typeKind === 'anonymousStructure') {
|
|
517
|
+
structure = { properties: typeAnnotation.properties };
|
|
518
|
+
} else if (typeAnnotation.typeArguments) {
|
|
519
|
+
structure = { properties: app.getSelectRef(typeAnnotation, true) };
|
|
520
|
+
} else {
|
|
521
|
+
structure = app.findNodeByCompleteName(typeAnnotation.typeNamespace + '.' + typeAnnotation.typeName);
|
|
522
|
+
}
|
|
523
|
+
structure?.properties?.forEach((structureProperty: StructureProperty) => {
|
|
524
|
+
const { name, typeAnnotation } = structureProperty;
|
|
525
|
+
const expression = new MemberExpression({
|
|
526
|
+
object: parentExpression,
|
|
527
|
+
property: new Identifier({ name }),
|
|
528
|
+
});
|
|
529
|
+
const completionData = new CompletionProperty({
|
|
530
|
+
name,
|
|
531
|
+
value: name,
|
|
532
|
+
expression,
|
|
533
|
+
children: [],
|
|
534
|
+
});
|
|
535
|
+
completionData.icon = 'refProperty';
|
|
517
536
|
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
structure = { properties: typeAnnotation.properties };
|
|
521
|
-
} else if (typeAnnotation.typeArguments) {
|
|
522
|
-
structure = { properties: app.getSelectRef(typeAnnotation, true) };
|
|
523
|
-
} else {
|
|
524
|
-
structure = app.findNodeByCompleteName(typeAnnotation.typeNamespace + '.' + typeAnnotation.typeName);
|
|
525
|
-
}
|
|
526
|
-
structure?.properties?.forEach((structureProperty: StructureProperty) => {
|
|
527
|
-
const { name, typeAnnotation } = structureProperty;
|
|
528
|
-
const expression = new MemberExpression({
|
|
529
|
-
object: parentExpression,
|
|
530
|
-
property: new Identifier({ name }),
|
|
537
|
+
item.children.push(completionData);
|
|
538
|
+
recursionProperty(typeAnnotation, completionData, node, typeKeyMap);
|
|
531
539
|
});
|
|
532
|
-
|
|
533
|
-
name,
|
|
534
|
-
value: name,
|
|
535
|
-
expression,
|
|
536
|
-
children: [],
|
|
537
|
-
});
|
|
538
|
-
completionData.icon = 'refProperty';
|
|
539
|
-
|
|
540
|
-
item.children.push(completionData);
|
|
541
|
-
recursionProperty(typeAnnotation, completionData, node, typeKeyMap);
|
|
542
|
-
});
|
|
540
|
+
}
|
|
543
541
|
}
|
|
544
542
|
|
|
545
543
|
const completionData = new CompletionProperty(item);
|
|
@@ -326,7 +326,7 @@ export function getConfigsIdentifier(node: BaseNode): CompletionProperty[] {
|
|
|
326
326
|
const isView = !!(node as Identifier).view;
|
|
327
327
|
const newProperties = formatConfigProperties(properties, isView);
|
|
328
328
|
// 添加依赖库的枚举选择
|
|
329
|
-
const modules = app?.dependencies?.filter((module) => module.
|
|
329
|
+
const modules = app?.dependencies?.filter((module) => module.type === 'extension') || [];
|
|
330
330
|
const extensionConfigProperties: any[] = [];
|
|
331
331
|
modules.forEach((module) => {
|
|
332
332
|
const groups = module?.configuration?.groups || [];
|
package/src/server/naslServer.ts
CHANGED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`call-logic:getQuickInfoOffset entries-get-with-arguments 1`] = `
|
|
4
|
+
Object {
|
|
5
|
+
"code": "app.dataSources.defaultDS.entities.Entity1.logics.get(new nasl.core.Long(123));",
|
|
6
|
+
"line": 1,
|
|
7
|
+
"offset": 51,
|
|
8
|
+
}
|
|
9
|
+
`;
|
|
10
|
+
|
|
11
|
+
exports[`call-logic:getQuickInfoOffset entries-update-with-arguments 1`] = `
|
|
12
|
+
Object {
|
|
13
|
+
"code": "app.dataSources.defaultDS.entities.Entity1.logics.update((() => {
|
|
14
|
+
new nasl.core.Long(123);
|
|
15
|
+
new nasl.core.String('StringLiteral');
|
|
16
|
+
new nasl.core.Long(1234);
|
|
17
|
+
function __newComposite() {
|
|
18
|
+
let __obj = nasl.util.New<app.dataSources.defaultDS.entities.Entity1>();
|
|
19
|
+
const { id, name, value } = __obj;
|
|
20
|
+
nasl.core.compareNew(new nasl.core.Long(123), id);
|
|
21
|
+
nasl.core.compareNew(new nasl.core.String('StringLiteral'), name);
|
|
22
|
+
nasl.core.compareNew(new nasl.core.Long(1234), value);
|
|
23
|
+
return __obj;
|
|
24
|
+
};
|
|
25
|
+
return __newComposite();
|
|
26
|
+
})());",
|
|
27
|
+
"line": 1,
|
|
28
|
+
"offset": 51,
|
|
29
|
+
}
|
|
30
|
+
`;
|
|
31
|
+
|
|
32
|
+
exports[`call-logic:getQuickInfoOffset global-logic-argument-no-expression 1`] = `
|
|
33
|
+
Object {
|
|
34
|
+
"code": "app.logics.logic1(__IDENTIFIER__, __IDENTIFIER__, __IDENTIFIER__);",
|
|
35
|
+
"line": 1,
|
|
36
|
+
"offset": 12,
|
|
37
|
+
}
|
|
38
|
+
`;
|
|
39
|
+
|
|
40
|
+
exports[`call-logic:getQuickInfoOffset global-logic-argument-some-expression 1`] = `
|
|
41
|
+
Object {
|
|
42
|
+
"code": "app.logics.logic1(new nasl.core.String('StringLiteral'), __IDENTIFIER__, nasl.util.New<app.dataSources.defaultDS.entities.Entity1>());",
|
|
43
|
+
"line": 1,
|
|
44
|
+
"offset": 12,
|
|
45
|
+
}
|
|
46
|
+
`;
|
|
47
|
+
|
|
48
|
+
exports[`call-logic:getQuickInfoOffset nested-call-logic 1`] = `
|
|
49
|
+
Object {
|
|
50
|
+
"code": "(() =>{
|
|
51
|
+
const wrapper = nasl.util.autoHandleError(extensions.httpclient.logics.exchange);
|
|
52
|
+
return wrapper(nasl.util.stringInterpolation(new nasl.core.String('StringLiteral'), (() =>{
|
|
53
|
+
const wrapper = nasl.util.autoHandleError(extensions.encrypt_tool.logics.encryptWithUrlEncode);
|
|
54
|
+
return wrapper(sign);
|
|
55
|
+
})(), new nasl.core.String('StringLiteral'), (() =>{
|
|
56
|
+
const wrapper = nasl.util.autoHandleError(extensions.encrypt_tool.logics.encryptWithUrlEncode);
|
|
57
|
+
return wrapper(currDate);
|
|
58
|
+
})(), new nasl.core.String('StringLiteral'), SignatureNonce, new nasl.core.String('StringLiteral'), receiver, new nasl.core.String('StringLiteral'), signName, new nasl.core.String('StringLiteral'), templateCode, new nasl.core.String('StringLiteral'), (() =>{
|
|
59
|
+
const wrapper = nasl.util.autoHandleError(extensions.encrypt_tool.logics.encryptWithUrlEncode);
|
|
60
|
+
return wrapper(templateParam);
|
|
61
|
+
})())
|
|
62
|
+
, new nasl.core.String('StringLiteral'), header, body);
|
|
63
|
+
})();",
|
|
64
|
+
"line": 3,
|
|
65
|
+
"offset": 8,
|
|
66
|
+
}
|
|
67
|
+
`;
|
|
68
|
+
|
|
69
|
+
exports[`call-logic:getQuickInfoOffset only-call-logic 1`] = `
|
|
70
|
+
Object {
|
|
71
|
+
"code": "nasl.auth.logout();",
|
|
72
|
+
"line": 1,
|
|
73
|
+
"offset": 11,
|
|
74
|
+
}
|
|
75
|
+
`;
|
|
76
|
+
|
|
77
|
+
exports[`call-logic:getQuickInfoOffset view-buildin-logic-with-argument 1`] = `
|
|
78
|
+
Object {
|
|
79
|
+
"code": "nasl.io.downloadFile(new nasl.core.String('StringLiteral'), new nasl.core.String('StringLiteral'));",
|
|
80
|
+
"line": 1,
|
|
81
|
+
"offset": 9,
|
|
82
|
+
}
|
|
83
|
+
`;
|
|
84
|
+
|
|
85
|
+
exports[`call-logic:getQuickInfoOffset view-component-logic-no-argument 1`] = `
|
|
86
|
+
Object {
|
|
87
|
+
"code": "__elements.uLinearLayout1.openLoading();",
|
|
88
|
+
"line": 1,
|
|
89
|
+
"offset": 27,
|
|
90
|
+
}
|
|
91
|
+
`;
|
|
92
|
+
|
|
93
|
+
exports[`call-logic:getQuickInfoOffset view-component-with-validation 1`] = `
|
|
94
|
+
Object {
|
|
95
|
+
"code": "(() =>{
|
|
96
|
+
const wrapper = nasl.util.callLogicWithChecker(app.logics.logic1, (param1) => {
|
|
97
|
+
() => {param1.length;
|
|
98
|
+
nasl.validation.max(new nasl.core.Long(5));;
|
|
99
|
+
};
|
|
100
|
+
});
|
|
101
|
+
return wrapper(new nasl.core.String('StringLiteral'));
|
|
102
|
+
})();",
|
|
103
|
+
"line": 7,
|
|
104
|
+
"offset": 8,
|
|
105
|
+
}
|
|
106
|
+
`;
|
|
@@ -39,6 +39,51 @@ exports[`call-logic:toEmbeddedTS global-logic-argument-some-expression 1`] = `
|
|
|
39
39
|
"
|
|
40
40
|
`;
|
|
41
41
|
|
|
42
|
+
exports[`call-logic:toEmbeddedTS nested-call-logic 1`] = `
|
|
43
|
+
"(() => {
|
|
44
|
+
const wrapper = nasl.util.autoHandleError(
|
|
45
|
+
extensions.httpclient.logics.exchange
|
|
46
|
+
);
|
|
47
|
+
return wrapper(
|
|
48
|
+
nasl.util.stringInterpolation(
|
|
49
|
+
new nasl.core.String(\\"StringLiteral\\"),
|
|
50
|
+
(() => {
|
|
51
|
+
const wrapper = nasl.util.autoHandleError(
|
|
52
|
+
extensions.encrypt_tool.logics.encryptWithUrlEncode
|
|
53
|
+
);
|
|
54
|
+
return wrapper(sign);
|
|
55
|
+
})(),
|
|
56
|
+
new nasl.core.String(\\"StringLiteral\\"),
|
|
57
|
+
(() => {
|
|
58
|
+
const wrapper = nasl.util.autoHandleError(
|
|
59
|
+
extensions.encrypt_tool.logics.encryptWithUrlEncode
|
|
60
|
+
);
|
|
61
|
+
return wrapper(currDate);
|
|
62
|
+
})(),
|
|
63
|
+
new nasl.core.String(\\"StringLiteral\\"),
|
|
64
|
+
SignatureNonce,
|
|
65
|
+
new nasl.core.String(\\"StringLiteral\\"),
|
|
66
|
+
receiver,
|
|
67
|
+
new nasl.core.String(\\"StringLiteral\\"),
|
|
68
|
+
signName,
|
|
69
|
+
new nasl.core.String(\\"StringLiteral\\"),
|
|
70
|
+
templateCode,
|
|
71
|
+
new nasl.core.String(\\"StringLiteral\\"),
|
|
72
|
+
(() => {
|
|
73
|
+
const wrapper = nasl.util.autoHandleError(
|
|
74
|
+
extensions.encrypt_tool.logics.encryptWithUrlEncode
|
|
75
|
+
);
|
|
76
|
+
return wrapper(templateParam);
|
|
77
|
+
})()
|
|
78
|
+
),
|
|
79
|
+
new nasl.core.String(\\"StringLiteral\\"),
|
|
80
|
+
header,
|
|
81
|
+
body
|
|
82
|
+
);
|
|
83
|
+
})();
|
|
84
|
+
"
|
|
85
|
+
`;
|
|
86
|
+
|
|
42
87
|
exports[`call-logic:toEmbeddedTS only-call-logic 1`] = `
|
|
43
88
|
"nasl.auth.logout();
|
|
44
89
|
"
|