@lcap/nasl-concepts 3.9.0-beta.1 → 3.9.0-beta.12
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/common/BaseNode.d.ts +22 -9
- package/out/common/BaseNode.d.ts.map +1 -1
- package/out/common/BaseNode.js +146 -37
- package/out/common/BaseNode.js.map +1 -1
- package/out/concepts/AbstractInterface__.d.ts +1 -1
- package/out/concepts/AbstractInterface__.d.ts.map +1 -1
- package/out/concepts/AbstractInterface__.js.map +1 -1
- package/out/concepts/App__.d.ts +2 -1
- package/out/concepts/App__.d.ts.map +1 -1
- package/out/concepts/App__.js.map +1 -1
- package/out/concepts/AssigneeV2__.js +1 -1
- package/out/concepts/AssigneeV2__.js.map +1 -1
- package/out/concepts/Attribute__.d.ts +5 -1
- package/out/concepts/Attribute__.d.ts.map +1 -1
- package/out/concepts/Attribute__.js +3 -0
- package/out/concepts/Attribute__.js.map +1 -1
- package/out/concepts/AuthLogicForCallInterface__.d.ts.map +1 -1
- package/out/concepts/AuthLogicForCallInterface__.js +72 -46
- package/out/concepts/AuthLogicForCallInterface__.js.map +1 -1
- package/out/concepts/BackendVariable__.d.ts.map +1 -1
- package/out/concepts/BackendVariable__.js +16 -1
- package/out/concepts/BackendVariable__.js.map +1 -1
- package/out/concepts/BaseSetter__.d.ts +1 -1
- package/out/concepts/BaseSetter__.d.ts.map +1 -1
- package/out/concepts/BaseSetter__.js.map +1 -1
- package/out/concepts/BindAttribute__.d.ts.map +1 -1
- package/out/concepts/BindAttribute__.js +13 -4
- package/out/concepts/BindAttribute__.js.map +1 -1
- package/out/concepts/BindDirective__.js +1 -1
- package/out/concepts/BindDirective__.js.map +1 -1
- package/out/concepts/BindEvent__.js +6 -4
- package/out/concepts/BindEvent__.js.map +1 -1
- package/out/concepts/BindStyle__.js +1 -1
- package/out/concepts/BindStyle__.js.map +1 -1
- package/out/concepts/BusinessComponent__.d.ts.map +1 -1
- package/out/concepts/BusinessComponent__.js +125 -77
- package/out/concepts/BusinessComponent__.js.map +1 -1
- package/out/concepts/BusinessLogic__.d.ts.map +1 -1
- package/out/concepts/BusinessLogic__.js +72 -46
- package/out/concepts/BusinessLogic__.js.map +1 -1
- package/out/concepts/CallEvent__.d.ts.map +1 -1
- package/out/concepts/CallEvent__.js +6 -2
- package/out/concepts/CallEvent__.js.map +1 -1
- package/out/concepts/CallInterface__.d.ts +6 -1
- package/out/concepts/CallInterface__.d.ts.map +1 -1
- package/out/concepts/CallInterface__.js +31 -10
- package/out/concepts/CallInterface__.js.map +1 -1
- package/out/concepts/CallLogic__.d.ts +1 -0
- package/out/concepts/CallLogic__.d.ts.map +1 -1
- package/out/concepts/CallLogic__.js +60 -17
- package/out/concepts/CallLogic__.js.map +1 -1
- package/out/concepts/CallMicroserviceInterface__.d.ts +39 -0
- package/out/concepts/CallMicroserviceInterface__.d.ts.map +1 -0
- package/out/concepts/CallMicroserviceInterface__.js +134 -0
- package/out/concepts/CallMicroserviceInterface__.js.map +1 -0
- package/out/concepts/CallQueryComponent__.d.ts +4 -2
- package/out/concepts/CallQueryComponent__.d.ts.map +1 -1
- package/out/concepts/CallQueryComponent__.js +34 -15
- package/out/concepts/CallQueryComponent__.js.map +1 -1
- package/out/concepts/CompletionProperty__.d.ts.map +1 -1
- package/out/concepts/CompletionProperty__.js +15 -8
- package/out/concepts/CompletionProperty__.js.map +1 -1
- package/out/concepts/ConnectionInfo__.d.ts +40 -0
- package/out/concepts/ConnectionInfo__.d.ts.map +1 -0
- package/out/concepts/ConnectionInfo__.js +92 -0
- package/out/concepts/ConnectionInfo__.js.map +1 -0
- package/out/concepts/Connection__.d.ts +1 -1
- package/out/concepts/Connection__.d.ts.map +1 -1
- package/out/concepts/Connection__.js +3 -3
- package/out/concepts/Connection__.js.map +1 -1
- package/out/concepts/ConnectorTrigger__.d.ts +1 -0
- package/out/concepts/ConnectorTrigger__.d.ts.map +1 -1
- package/out/concepts/ConnectorTrigger__.js +46 -11
- package/out/concepts/ConnectorTrigger__.js.map +1 -1
- package/out/concepts/Connector__.d.ts +4 -4
- package/out/concepts/Connector__.d.ts.map +1 -1
- package/out/concepts/Connector__.js +20 -4
- package/out/concepts/Connector__.js.map +1 -1
- package/out/concepts/Destination__.d.ts.map +1 -1
- package/out/concepts/Destination__.js +11 -8
- package/out/concepts/Destination__.js.map +1 -1
- package/out/concepts/EntityProperty__.d.ts.map +1 -1
- package/out/concepts/EntityProperty__.js +3 -2
- package/out/concepts/EntityProperty__.js.map +1 -1
- package/out/concepts/Entity__.d.ts +3 -3
- package/out/concepts/Entity__.d.ts.map +1 -1
- package/out/concepts/Entity__.js +8 -2
- package/out/concepts/Entity__.js.map +1 -1
- package/out/concepts/Enum__.d.ts.map +1 -1
- package/out/concepts/Enum__.js.map +1 -1
- package/out/concepts/Event__.d.ts +2 -0
- package/out/concepts/Event__.d.ts.map +1 -1
- package/out/concepts/Event__.js +33 -10
- package/out/concepts/Event__.js.map +1 -1
- package/out/concepts/FrontendLibrary__.d.ts +81 -1
- package/out/concepts/FrontendLibrary__.d.ts.map +1 -1
- package/out/concepts/FrontendLibrary__.js +77 -1
- package/out/concepts/FrontendLibrary__.js.map +1 -1
- package/out/concepts/Frontend__.d.ts +2 -0
- package/out/concepts/Frontend__.d.ts.map +1 -1
- package/out/concepts/Frontend__.js +60 -50
- package/out/concepts/Frontend__.js.map +1 -1
- package/out/concepts/IconSetter__.d.ts +2 -0
- package/out/concepts/IconSetter__.d.ts.map +1 -1
- package/out/concepts/IconSetter__.js +6 -0
- package/out/concepts/IconSetter__.js.map +1 -1
- package/out/concepts/Identifier__.d.ts.map +1 -1
- package/out/concepts/Identifier__.js +10 -1
- package/out/concepts/Identifier__.js.map +1 -1
- package/out/concepts/ImportedInterface__.d.ts +1 -1
- package/out/concepts/ImportedInterface__.d.ts.map +1 -1
- package/out/concepts/ImportedInterface__.js.map +1 -1
- package/out/concepts/Interface__.d.ts +11 -3
- package/out/concepts/Interface__.d.ts.map +1 -1
- package/out/concepts/Interface__.js +17 -3
- package/out/concepts/Interface__.js.map +1 -1
- package/out/concepts/LogicItem__.d.ts +18 -1
- package/out/concepts/LogicItem__.d.ts.map +1 -1
- package/out/concepts/LogicItem__.js +23 -0
- package/out/concepts/LogicItem__.js.map +1 -1
- package/out/concepts/Logic__.d.ts +2 -2
- package/out/concepts/Logic__.d.ts.map +1 -1
- package/out/concepts/Logic__.js +142 -102
- package/out/concepts/Logic__.js.map +1 -1
- package/out/concepts/MemberExpression__.d.ts.map +1 -1
- package/out/concepts/MemberExpression__.js +31 -13
- package/out/concepts/MemberExpression__.js.map +1 -1
- package/out/concepts/MetadataType__.d.ts +1 -1
- package/out/concepts/MetadataType__.d.ts.map +1 -1
- package/out/concepts/MetadataType__.js +5 -1
- package/out/concepts/MetadataType__.js.map +1 -1
- package/out/concepts/MicroserviceInterface__.d.ts +117 -0
- package/out/concepts/MicroserviceInterface__.d.ts.map +1 -0
- package/out/concepts/MicroserviceInterface__.js +263 -0
- package/out/concepts/MicroserviceInterface__.js.map +1 -0
- package/out/concepts/Module__.d.ts +3 -3
- package/out/concepts/Module__.d.ts.map +1 -1
- package/out/concepts/Module__.js +15 -3
- package/out/concepts/Module__.js.map +1 -1
- package/out/concepts/NewComposite__.d.ts +2 -1
- package/out/concepts/NewComposite__.d.ts.map +1 -1
- package/out/concepts/NewComposite__.js +23 -0
- package/out/concepts/NewComposite__.js.map +1 -1
- package/out/concepts/NewStructure__.d.ts +120 -0
- package/out/concepts/NewStructure__.d.ts.map +1 -0
- package/out/concepts/NewStructure__.js +250 -0
- package/out/concepts/NewStructure__.js.map +1 -0
- package/out/concepts/OverriddenLogic__.d.ts +2 -0
- package/out/concepts/OverriddenLogic__.d.ts.map +1 -1
- package/out/concepts/OverriddenLogic__.js +93 -46
- package/out/concepts/OverriddenLogic__.js.map +1 -1
- package/out/concepts/Param__.d.ts +6 -1
- package/out/concepts/Param__.d.ts.map +1 -1
- package/out/concepts/Param__.js +32 -22
- package/out/concepts/Param__.js.map +1 -1
- package/out/concepts/ProcessDefinitionV2__.d.ts +299 -0
- package/out/concepts/ProcessDefinitionV2__.d.ts.map +1 -0
- package/out/concepts/ProcessDefinitionV2__.js +443 -0
- package/out/concepts/ProcessDefinitionV2__.js.map +1 -0
- package/out/concepts/ProcessElementV2__.d.ts +20 -5
- package/out/concepts/ProcessElementV2__.d.ts.map +1 -1
- package/out/concepts/ProcessElementV2__.js +41 -14
- package/out/concepts/ProcessElementV2__.js.map +1 -1
- package/out/concepts/ProcessV2__.d.ts +70 -302
- package/out/concepts/ProcessV2__.d.ts.map +1 -1
- package/out/concepts/ProcessV2__.js +207 -353
- package/out/concepts/ProcessV2__.js.map +1 -1
- package/out/concepts/PropertyTransformSetter__.d.ts +26 -0
- package/out/concepts/PropertyTransformSetter__.d.ts.map +1 -0
- package/out/concepts/PropertyTransformSetter__.js +55 -0
- package/out/concepts/PropertyTransformSetter__.js.map +1 -0
- package/out/concepts/QueryOrderByExpression__.d.ts +0 -1
- package/out/concepts/QueryOrderByExpression__.d.ts.map +1 -1
- package/out/concepts/QueryOrderByExpression__.js +0 -1
- package/out/concepts/QueryOrderByExpression__.js.map +1 -1
- package/out/concepts/Return__.d.ts +5 -0
- package/out/concepts/Return__.d.ts.map +1 -1
- package/out/concepts/Return__.js +8 -3
- package/out/concepts/Return__.js.map +1 -1
- package/out/concepts/Slot__.d.ts +10 -3
- package/out/concepts/Slot__.d.ts.map +1 -1
- package/out/concepts/Slot__.js +18 -22
- package/out/concepts/Slot__.js.map +1 -1
- package/out/concepts/StructureProperty__.d.ts.map +1 -1
- package/out/concepts/StructureProperty__.js +16 -0
- package/out/concepts/StructureProperty__.js.map +1 -1
- package/out/concepts/Structure__.d.ts.map +1 -1
- package/out/concepts/Structure__.js +6 -8
- package/out/concepts/Structure__.js.map +1 -1
- package/out/concepts/SubLogic__.d.ts +1 -0
- package/out/concepts/SubLogic__.d.ts.map +1 -1
- package/out/concepts/SubLogic__.js +291 -46
- package/out/concepts/SubLogic__.js.map +1 -1
- package/out/concepts/TriggerLauncher__.d.ts +1 -0
- package/out/concepts/TriggerLauncher__.d.ts.map +1 -1
- package/out/concepts/TriggerLauncher__.js +22 -1
- package/out/concepts/TriggerLauncher__.js.map +1 -1
- package/out/concepts/TypeAnnotation__.d.ts.map +1 -1
- package/out/concepts/TypeAnnotation__.js +6 -3
- package/out/concepts/TypeAnnotation__.js.map +1 -1
- package/out/concepts/Variable__.d.ts +5 -0
- package/out/concepts/Variable__.d.ts.map +1 -1
- package/out/concepts/Variable__.js +27 -12
- package/out/concepts/Variable__.js.map +1 -1
- package/out/concepts/ViewComponent__.d.ts +553 -0
- package/out/concepts/ViewComponent__.d.ts.map +1 -0
- package/out/concepts/ViewComponent__.js +616 -0
- package/out/concepts/ViewComponent__.js.map +1 -0
- package/out/concepts/ViewElement__.d.ts +2 -0
- package/out/concepts/ViewElement__.d.ts.map +1 -1
- package/out/concepts/ViewElement__.js +90 -28
- package/out/concepts/ViewElement__.js.map +1 -1
- package/out/concepts/View__.d.ts +1 -1
- package/out/concepts/View__.d.ts.map +1 -1
- package/out/concepts/View__.js +149 -64
- package/out/concepts/View__.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.processV2.d.ts.map +1 -1
- package/out/concepts/basics/stdlib/nasl.processV2.js +78 -0
- package/out/concepts/basics/stdlib/nasl.processV2.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.ui.js +40 -40
- package/out/concepts/basics/stdlib/nasl.ui.js.map +1 -1
- package/out/concepts/basics/stdlib/nasl.util.d.ts.map +1 -1
- package/out/concepts/basics/stdlib/nasl.util.js +0 -10
- package/out/concepts/basics/stdlib/nasl.util.js.map +1 -1
- package/out/concepts/index.d.ts +3 -1
- package/out/concepts/index.d.ts.map +1 -1
- package/out/concepts/index.js +1 -3
- package/out/concepts/index.js.map +1 -1
- package/out/concepts/index__.d.ts +8 -0
- package/out/concepts/index__.d.ts.map +1 -1
- package/out/concepts/index__.js +8 -0
- package/out/concepts/index__.js.map +1 -1
- package/out/concepts/utils/asserts.d.ts +408 -0
- package/out/concepts/utils/asserts.d.ts.map +1 -1
- package/out/concepts/utils/asserts.js +559 -15
- package/out/concepts/utils/asserts.js.map +1 -1
- package/out/concepts/utils/types.d.ts +31 -7
- package/out/concepts/utils/types.d.ts.map +1 -1
- package/out/decorators/constant.d.ts +7 -0
- package/out/decorators/constant.d.ts.map +1 -1
- package/out/decorators/constant.js.map +1 -1
- package/out/decorators/utils.d.ts.map +1 -1
- package/out/decorators/utils.js +0 -2
- package/out/decorators/utils.js.map +1 -1
- package/out/service/annotation.d.ts +30 -0
- package/out/service/annotation.d.ts.map +1 -0
- package/out/service/{modules.js → annotation.js} +93 -2
- package/out/service/annotation.js.map +1 -0
- package/out/service/entity2LogicNamespace.d.ts.map +1 -1
- package/out/service/entity2LogicNamespace.js.map +1 -1
- package/out/service/getConnector.d.ts.map +1 -1
- package/out/service/getConnector.js +3 -1
- package/out/service/getConnector.js.map +1 -1
- package/out/service/getLogics.js +12 -12
- package/out/service/getLogics.js.map +1 -1
- package/out/service/getMemberIdentifier.d.ts +2 -1
- package/out/service/getMemberIdentifier.d.ts.map +1 -1
- package/out/service/getMemberIdentifier.js +15 -18
- package/out/service/getMemberIdentifier.js.map +1 -1
- package/out/service/getProcesses.d.ts +1 -1
- package/out/service/getProcesses.d.ts.map +1 -1
- package/out/service/getProcesses.js +2 -1
- package/out/service/getProcesses.js.map +1 -1
- package/out/service/getProcessesV2.d.ts +4 -17
- package/out/service/getProcessesV2.d.ts.map +1 -1
- package/out/service/getProcessesV2.js +38 -5
- package/out/service/getProcessesV2.js.map +1 -1
- package/out/service/index.d.ts +1 -1
- package/out/service/index.d.ts.map +1 -1
- package/out/service/index.js +1 -1
- package/out/service/index.js.map +1 -1
- package/out/utils/uiPathId.d.ts +3 -0
- package/out/utils/uiPathId.d.ts.map +1 -0
- package/out/utils/uiPathId.js +32 -0
- package/out/utils/uiPathId.js.map +1 -0
- package/out/utils/utils.d.ts.map +1 -1
- package/out/utils/utils.js.map +1 -1
- package/package.json +5 -5
- package/out/breakpoint/index.d.ts +0 -2
- package/out/breakpoint/index.d.ts.map +0 -1
- package/out/breakpoint/index.js +0 -18
- package/out/breakpoint/index.js.map +0 -1
- package/out/breakpoint/operation.d.ts +0 -11
- package/out/breakpoint/operation.d.ts.map +0 -1
- package/out/breakpoint/operation.js +0 -24
- package/out/breakpoint/operation.js.map +0 -1
- package/out/concepts/types__.d.ts +0 -2
- package/out/concepts/types__.d.ts.map +0 -1
- package/out/concepts/types__.js +0 -3
- package/out/concepts/types__.js.map +0 -1
- package/out/service/modules.d.ts +0 -9
- package/out/service/modules.d.ts.map +0 -1
- package/out/service/modules.js.map +0 -1
package/out/common/BaseNode.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { EventEmitter } from './EventEmitter';
|
|
|
3
3
|
import { Diagnostic } from '@lcap/nasl-types';
|
|
4
4
|
import type { EventPayload, Params, NodePathOption } from './types';
|
|
5
5
|
import { type SyntaxNode, type App, type TypeAnnotation, type SyntaxNodeConcept, type ConceptClassMap } from '../concepts';
|
|
6
|
-
type SourceMap = Translator.SourceMap<
|
|
6
|
+
type SourceMap = Translator.SourceMap<SyntaxNode>;
|
|
7
7
|
/**
|
|
8
8
|
* 顶点类
|
|
9
9
|
* 属性均为只读,仅在初始化和 load 的情况下可以修改
|
|
@@ -43,14 +43,6 @@ export declare class BaseNode extends EventEmitter {
|
|
|
43
43
|
*/
|
|
44
44
|
workingCopy: object;
|
|
45
45
|
branch: object;
|
|
46
|
-
/**
|
|
47
|
-
* 断点状态
|
|
48
|
-
* undefined ==> 未设置
|
|
49
|
-
* null ==> 已删除
|
|
50
|
-
* 'ENABLED' ==> 启用断点
|
|
51
|
-
* 'DISABLED' ==> 禁用断点
|
|
52
|
-
*/
|
|
53
|
-
breakpoint: 'ENABLED' | 'DISABLED' | null | undefined;
|
|
54
46
|
/**
|
|
55
47
|
* 父节点
|
|
56
48
|
*/
|
|
@@ -137,6 +129,14 @@ export declare class BaseNode extends EventEmitter {
|
|
|
137
129
|
* 当前节点的类型标注是不是正确的
|
|
138
130
|
*/
|
|
139
131
|
__isCorrectTypeAnnotation: boolean;
|
|
132
|
+
/**
|
|
133
|
+
* 断点状态
|
|
134
|
+
* undefined ==> 未设置
|
|
135
|
+
* null ==> 已删除
|
|
136
|
+
* 'ENABLED' ==> 启用断点
|
|
137
|
+
* 'DISABLED' ==> 禁用断点
|
|
138
|
+
*/
|
|
139
|
+
breakpoint: 'ENABLED' | 'DISABLED' | null | undefined;
|
|
140
140
|
/**
|
|
141
141
|
* @param source 需要合并的部分参数
|
|
142
142
|
*/
|
|
@@ -180,6 +180,11 @@ export declare class BaseNode extends EventEmitter {
|
|
|
180
180
|
_delete(): Params;
|
|
181
181
|
static from(source: any, parentNode?: BaseNode, parentKey?: string): BaseNode;
|
|
182
182
|
get nodePath(): string;
|
|
183
|
+
/**
|
|
184
|
+
* 生成完整调用令牌
|
|
185
|
+
*
|
|
186
|
+
* @description 语义检查时使用
|
|
187
|
+
*/
|
|
183
188
|
getTokenKeyWithNamespace(): string;
|
|
184
189
|
getNodePath(useIndex: boolean): string;
|
|
185
190
|
getNodePath(useIndexKeys: string[]): string;
|
|
@@ -243,6 +248,13 @@ export declare class BaseNode extends EventEmitter {
|
|
|
243
248
|
* this.deepPick(result, ['id'])
|
|
244
249
|
*/
|
|
245
250
|
deepPick(source: any, keys?: Array<string>): void;
|
|
251
|
+
/**
|
|
252
|
+
* 输出全量标注的 JSON 数据
|
|
253
|
+
*
|
|
254
|
+
* @description 给全量标注的数据使用
|
|
255
|
+
* @description 会判断节点是否存在`typeAnnotation`属性,如果没有则使用`__TypeAnnotation`属性。
|
|
256
|
+
*/
|
|
257
|
+
toAnnotationJSON(): Record<string, any>;
|
|
246
258
|
/**
|
|
247
259
|
* 去除循环依赖,转为纯 JSON
|
|
248
260
|
* @param parentKey 外面的 key,提供给 JSON.stringify 使用
|
|
@@ -395,6 +407,7 @@ export declare class BaseNode extends EventEmitter {
|
|
|
395
407
|
* @returns 搜索到的节点
|
|
396
408
|
*/
|
|
397
409
|
findNaslNodeByBFS(input?: SyntaxNodeConcept | ((node: SyntaxNode) => boolean), containsSelf?: boolean): SyntaxNode[];
|
|
410
|
+
getEmbeddedFilePath(): string;
|
|
398
411
|
toEmbeddedTS(): Generator<any, string, any>;
|
|
399
412
|
toEmbeddedTSFile(): Embedded.TSFileGenerator<BaseNode>;
|
|
400
413
|
toEmbeddedDeclarationTSFile(): Embedded.DeclarationTSFileResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseNode.d.ts","sourceRoot":"","sources":["../../src/common/BaseNode.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAgBpE,OAAO,EACL,KAAK,UAAU,EACf,KAAK,GAAG,EAER,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EAErB,MAAM,aAAa,CAAC;AAErB,KAAK,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,
|
|
1
|
+
{"version":3,"file":"BaseNode.d.ts","sourceRoot":"","sources":["../../src/common/BaseNode.ts"],"names":[],"mappings":"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"}
|
package/out/common/BaseNode.js
CHANGED
|
@@ -36,7 +36,7 @@ const nasl_translator_1 = require("@lcap/nasl-translator");
|
|
|
36
36
|
const nasl_sentry_1 = require("@lcap/nasl-sentry");
|
|
37
37
|
const utils = __importStar(require("../utils"));
|
|
38
38
|
const EventEmitter_1 = require("./EventEmitter");
|
|
39
|
-
const
|
|
39
|
+
const nasl_utils_1 = require("@lcap/nasl-utils");
|
|
40
40
|
const actionable_1 = require("../service/actionable");
|
|
41
41
|
const store_1 = require("../store");
|
|
42
42
|
const decorators_1 = require("../decorators");
|
|
@@ -95,17 +95,19 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
95
95
|
this.on('update', this.genActionListener);
|
|
96
96
|
this.on('node:Editing', this.nodeEditing);
|
|
97
97
|
/**
|
|
98
|
-
*
|
|
98
|
+
* 非测试模式下监听 action,delete,update 事件
|
|
99
99
|
*/
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
100
|
+
if (process.env.NODE_ENV !== 'testing') {
|
|
101
|
+
this.on('create', () => nasl_utils_1.breakpoint.operators.create(this));
|
|
102
|
+
this.on('delete', () => nasl_utils_1.breakpoint.operators.delete(this));
|
|
103
|
+
this.on('update', () => nasl_utils_1.breakpoint.operators.update(this));
|
|
104
|
+
}
|
|
103
105
|
}
|
|
104
106
|
subConstructor(source) {
|
|
105
107
|
const concept = this.concept || this.constructor.name;
|
|
106
108
|
const propertyMap = (0, decorators_1.getConceptPropertyMap)(concept);
|
|
107
109
|
const whitePropertyMap = (0, decorators_1.getConceptWhitePropertyMap)(concept);
|
|
108
|
-
const properties =
|
|
110
|
+
const properties = ['typeAnnotation', ...propertyMap.keys(), ...whitePropertyMap.keys()];
|
|
109
111
|
// 测试时用的标记属性
|
|
110
112
|
if (process.env.NODE_ENV === 'testing') {
|
|
111
113
|
properties.push('__$Selected', '__TypeAnnotation');
|
|
@@ -114,11 +116,22 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
114
116
|
if (key === 'concept') {
|
|
115
117
|
return;
|
|
116
118
|
}
|
|
119
|
+
if (source[key] === undefined) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
117
122
|
const sourceItem = source[key] !== undefined ? source[key] : this[key];
|
|
118
123
|
let property = propertyMap.get(key);
|
|
119
124
|
let objectRefCtor;
|
|
120
|
-
|
|
121
|
-
|
|
125
|
+
if (
|
|
126
|
+
// 属性存在
|
|
127
|
+
sourceItem &&
|
|
128
|
+
(
|
|
129
|
+
// 全量标注需要的后端标注数据
|
|
130
|
+
key === 'typeAnnotation' ||
|
|
131
|
+
(
|
|
132
|
+
// 测试环境下手动添加的前端标注数据
|
|
133
|
+
process.env.NODE_ENV === 'testing' &&
|
|
134
|
+
key === '__TypeAnnotation'))) {
|
|
122
135
|
property = { objectRef: 'TypeAnnotation' };
|
|
123
136
|
}
|
|
124
137
|
try {
|
|
@@ -145,7 +158,9 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
145
158
|
throw e;
|
|
146
159
|
}
|
|
147
160
|
});
|
|
148
|
-
|
|
161
|
+
if (process.env.NODE_ENV !== 'testing') {
|
|
162
|
+
nasl_utils_1.breakpoint.operators.create(this);
|
|
163
|
+
}
|
|
149
164
|
// node 环境下需要删除当前节点的 concept 属性
|
|
150
165
|
if (utils.isNode && ('concept' in this) && !this.concept) {
|
|
151
166
|
Reflect.deleteProperty(this, 'concept');
|
|
@@ -625,7 +640,7 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
625
640
|
const Ctor = (0, decorators_1.getConceptConstructor)(source?.concept) || this;
|
|
626
641
|
if (Ctor && source instanceof Ctor) {
|
|
627
642
|
if (utils.isDebugMode) {
|
|
628
|
-
console.warn('传入的对象已经是一个实例,请确认逻辑是否存在问题!');
|
|
643
|
+
// console.warn('传入的对象已经是一个实例,请确认逻辑是否存在问题!');
|
|
629
644
|
}
|
|
630
645
|
if (parentNode) {
|
|
631
646
|
source.parentNode = parentNode;
|
|
@@ -663,12 +678,23 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
663
678
|
get nodePath() {
|
|
664
679
|
return this.getNodePath(false);
|
|
665
680
|
}
|
|
681
|
+
/**
|
|
682
|
+
* 生成完整调用令牌
|
|
683
|
+
*
|
|
684
|
+
* @description 语义检查时使用
|
|
685
|
+
*/
|
|
666
686
|
getTokenKeyWithNamespace() {
|
|
667
687
|
/**
|
|
668
688
|
* 本来想在 BaseNode 上加个 getNamespace 方法作为默认的类型的
|
|
669
689
|
* 但是没想到上层有逻辑依赖了判断节点是否有这个方法,加上这个默认方法之后有些功能挂了,所以这里不得不使用 as any
|
|
670
690
|
*/
|
|
671
|
-
|
|
691
|
+
if (typeof this.getTsNamespace === 'function') {
|
|
692
|
+
return `${this.getTsNamespace()}.${this.name}`;
|
|
693
|
+
}
|
|
694
|
+
else if (typeof this.getNamespace === 'function') {
|
|
695
|
+
return `${this.getNamespace()}.${this.name}`;
|
|
696
|
+
}
|
|
697
|
+
throw new Error(`${this.concept} 节点 getTokenKeyWithNamespace 方法未实现`);
|
|
672
698
|
}
|
|
673
699
|
getNodePath(useIndex) {
|
|
674
700
|
let node = this;
|
|
@@ -796,7 +822,9 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
796
822
|
return instance;
|
|
797
823
|
}
|
|
798
824
|
if (Array.isArray(instance)) {
|
|
799
|
-
return instance.map((item) =>
|
|
825
|
+
return instance.map((item) => {
|
|
826
|
+
return item && item._toJSON ? item._toJSON(filerFn) : item;
|
|
827
|
+
});
|
|
800
828
|
}
|
|
801
829
|
return instance && instance._toJSON ? instance._toJSON(filerFn) : instance;
|
|
802
830
|
}
|
|
@@ -895,6 +923,46 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
895
923
|
target.assign ? target.assign(obj) : Object.assign(target, obj);
|
|
896
924
|
}, { node: source }, { mode: 'anyObject' });
|
|
897
925
|
}
|
|
926
|
+
/**
|
|
927
|
+
* 输出全量标注的 JSON 数据
|
|
928
|
+
*
|
|
929
|
+
* @description 给全量标注的数据使用
|
|
930
|
+
* @description 会判断节点是否存在`typeAnnotation`属性,如果没有则使用`__TypeAnnotation`属性。
|
|
931
|
+
*/
|
|
932
|
+
toAnnotationJSON() {
|
|
933
|
+
const source = {};
|
|
934
|
+
const propertyMap = (0, decorators_1.getConceptPropertyMap)(this.concept ?? this.constructor.name);
|
|
935
|
+
for (const [key, property] of propertyMap) {
|
|
936
|
+
if (!property) {
|
|
937
|
+
continue;
|
|
938
|
+
}
|
|
939
|
+
const { objectRef: propertyObjectRef } = property;
|
|
940
|
+
const sourceItem = this[key];
|
|
941
|
+
if (!propertyObjectRef) {
|
|
942
|
+
source[key] = sourceItem;
|
|
943
|
+
}
|
|
944
|
+
else if (Array.isArray(sourceItem)) {
|
|
945
|
+
source[key] = sourceItem.map((child) => {
|
|
946
|
+
return child.toAnnotationJSON?.() ?? child;
|
|
947
|
+
});
|
|
948
|
+
}
|
|
949
|
+
else {
|
|
950
|
+
source[key] = sourceItem?.toAnnotationJSON?.() ?? sourceItem;
|
|
951
|
+
}
|
|
952
|
+
}
|
|
953
|
+
// concept 在原型链上,这里需要补一下属性
|
|
954
|
+
source.concept = this.concept;
|
|
955
|
+
// 全量标注比原始属性多了个 typeAnnotation
|
|
956
|
+
if (!source.typeAnnotation && this.typeAnnotation) {
|
|
957
|
+
source.typeAnnotation = this.typeAnnotation?.toAnnotationJSON?.() ?? this.typeAnnotation;
|
|
958
|
+
}
|
|
959
|
+
// 前端标注转为后端标注
|
|
960
|
+
if (!this.typeAnnotation && this.__TypeAnnotation) {
|
|
961
|
+
source.typeAnnotation = this.__TypeAnnotation.toAnnotationJSON?.();
|
|
962
|
+
delete source.__TypeAnnotation;
|
|
963
|
+
}
|
|
964
|
+
return source;
|
|
965
|
+
}
|
|
898
966
|
/**
|
|
899
967
|
* 去除循环依赖,转为纯 JSON
|
|
900
968
|
* @param parentKey 外面的 key,提供给 JSON.stringify 使用
|
|
@@ -1123,16 +1191,28 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
1123
1191
|
}
|
|
1124
1192
|
}
|
|
1125
1193
|
else {
|
|
1126
|
-
const expIndex = parentNode[parentKey].findIndex((item) => item === oldNode);
|
|
1127
1194
|
const firstUpperText = parentKey[0].toUpperCase() + parentKey.slice(1, parentKey.length);
|
|
1195
|
+
const firstUpperTextWithoutSuffix = firstUpperText.slice(0, firstUpperText.length - 1);
|
|
1196
|
+
const expIndex = parentNode[parentKey].findIndex((item) => item === oldNode);
|
|
1128
1197
|
Object.assign(newNode, { offsetX, offsetY });
|
|
1129
1198
|
if (parentNode.concept === 'MatchCase') {
|
|
1130
1199
|
parentKey === 'body' ? parentNode.insertItemInBodyAt(newNode, expIndex) : parentNode.insertLogicItemInPatternsAt(newNode, expIndex);
|
|
1131
1200
|
}
|
|
1132
|
-
else if (parentNode[`insertItemIn${firstUpperText}At`])
|
|
1201
|
+
else if (parentNode[`insertItemIn${firstUpperText}At`]) {
|
|
1133
1202
|
parentNode[`insertItemIn${firstUpperText}At`](newNode, expIndex);
|
|
1134
|
-
|
|
1203
|
+
}
|
|
1204
|
+
else if (parentNode[`insert${firstUpperText}At`]) {
|
|
1205
|
+
parentNode[`insert${firstUpperText}At`](newNode, expIndex);
|
|
1206
|
+
}
|
|
1207
|
+
else if (parentNode[`insert${firstUpperTextWithoutSuffix}At`]) {
|
|
1208
|
+
parentNode[`insert${firstUpperTextWithoutSuffix}At`](newNode, expIndex);
|
|
1209
|
+
}
|
|
1210
|
+
else if (parentNode[`insert${newNode.concept}At`]) {
|
|
1211
|
+
parentNode[`insert${newNode.concept}At`](newNode, expIndex);
|
|
1212
|
+
}
|
|
1213
|
+
else {
|
|
1135
1214
|
parentNode.insertItemAt(newNode, expIndex);
|
|
1215
|
+
}
|
|
1136
1216
|
}
|
|
1137
1217
|
oldNode.delete();
|
|
1138
1218
|
app.emit('collect:end');
|
|
@@ -1188,7 +1268,7 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
1188
1268
|
propertyKeys.push(...whitelist);
|
|
1189
1269
|
}
|
|
1190
1270
|
for (const property of propertyKeys) {
|
|
1191
|
-
const child = node[property];
|
|
1271
|
+
const child = node?.[property];
|
|
1192
1272
|
if (!child)
|
|
1193
1273
|
continue;
|
|
1194
1274
|
else if (Array.isArray(child))
|
|
@@ -1205,11 +1285,8 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
1205
1285
|
* @description 与`traverseChildren`不同,此方法会过滤掉非节点值
|
|
1206
1286
|
*/
|
|
1207
1287
|
*traverseChildrenGenerator(cb) {
|
|
1208
|
-
const isNode = (node) => {
|
|
1209
|
-
return Boolean(node) && typeof node === 'object' && ('concept' in node) && typeof node.concept === 'string';
|
|
1210
|
-
};
|
|
1211
1288
|
function* traverse(node) {
|
|
1212
|
-
if (
|
|
1289
|
+
if (concepts_1.asserts.isBaseNode(node)) {
|
|
1213
1290
|
const result = cb(node);
|
|
1214
1291
|
if (utils.isGenerator(result)) {
|
|
1215
1292
|
yield* result;
|
|
@@ -1247,11 +1324,36 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
1247
1324
|
* @description 严格迭代所有子节点!排除属性!
|
|
1248
1325
|
*/
|
|
1249
1326
|
traverseStrictChildren(cb, whitelist) {
|
|
1250
|
-
|
|
1251
|
-
if (
|
|
1252
|
-
|
|
1327
|
+
function traverse(node) {
|
|
1328
|
+
if (!node) {
|
|
1329
|
+
return;
|
|
1330
|
+
}
|
|
1331
|
+
if (concepts_1.asserts.isBaseNode(node)) {
|
|
1332
|
+
cb(node);
|
|
1253
1333
|
}
|
|
1254
|
-
|
|
1334
|
+
const propertyMap = (0, decorators_1.getConceptPropertyMap)(node?.concept);
|
|
1335
|
+
if (!propertyMap) {
|
|
1336
|
+
return;
|
|
1337
|
+
}
|
|
1338
|
+
const keys = (whitelist && whitelist.length > 0)
|
|
1339
|
+
? Array.from(propertyMap.keys()).concat(whitelist)
|
|
1340
|
+
: propertyMap.keys();
|
|
1341
|
+
for (const property of keys) {
|
|
1342
|
+
const prop = node[property];
|
|
1343
|
+
if (!prop) {
|
|
1344
|
+
continue;
|
|
1345
|
+
}
|
|
1346
|
+
else if (Array.isArray(prop)) {
|
|
1347
|
+
for (const child of prop) {
|
|
1348
|
+
traverse(child);
|
|
1349
|
+
}
|
|
1350
|
+
}
|
|
1351
|
+
else {
|
|
1352
|
+
traverse(prop);
|
|
1353
|
+
}
|
|
1354
|
+
}
|
|
1355
|
+
}
|
|
1356
|
+
traverse(this);
|
|
1255
1357
|
}
|
|
1256
1358
|
/**
|
|
1257
1359
|
* 迭代所有子节点
|
|
@@ -1260,7 +1362,6 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
1260
1362
|
*/
|
|
1261
1363
|
traverseStrictChildrenStopWhen(cb, setStopFlag, whitelist) {
|
|
1262
1364
|
let shouldStop = false;
|
|
1263
|
-
// if ((node instanceof View || node instanceof ViewElement) && node.auth) flag = true;
|
|
1264
1365
|
function traverse(node) {
|
|
1265
1366
|
if (concepts_1.asserts.isBaseNode(node)) {
|
|
1266
1367
|
cb(node);
|
|
@@ -1312,14 +1413,14 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
1312
1413
|
continue;
|
|
1313
1414
|
}
|
|
1314
1415
|
else if (Array.isArray(child)) {
|
|
1315
|
-
child.forEach((
|
|
1316
|
-
if (concepts_1.asserts.isBaseNode(
|
|
1317
|
-
traverse(
|
|
1416
|
+
child.forEach((item) => {
|
|
1417
|
+
if (concepts_1.asserts.isBaseNode(item)) {
|
|
1418
|
+
traverse(item);
|
|
1318
1419
|
}
|
|
1319
1420
|
});
|
|
1320
1421
|
}
|
|
1321
1422
|
else {
|
|
1322
|
-
if (concepts_1.asserts.isBaseNode(
|
|
1423
|
+
if (concepts_1.asserts.isBaseNode(child)) {
|
|
1323
1424
|
traverse(child);
|
|
1324
1425
|
}
|
|
1325
1426
|
}
|
|
@@ -1483,8 +1584,10 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
1483
1584
|
const queue = []; // 创建一个队列存储待遍历的节点
|
|
1484
1585
|
const results = []; // 创建一个数组存储匹配的结果
|
|
1485
1586
|
queue.push(this); // 将初始节点加入队列
|
|
1486
|
-
|
|
1487
|
-
|
|
1587
|
+
let point = 0; // 创建一个指针,指向当前遍历的节点
|
|
1588
|
+
while (queue[point]) {
|
|
1589
|
+
const node = queue[point]; // 从队列中取出一个节点
|
|
1590
|
+
point++; // 指针后移
|
|
1488
1591
|
if (node) {
|
|
1489
1592
|
let result = false;
|
|
1490
1593
|
if (!containsSelf) {
|
|
@@ -1535,14 +1638,17 @@ let BaseNode = class BaseNode extends EventEmitter_1.EventEmitter {
|
|
|
1535
1638
|
}
|
|
1536
1639
|
return results; // 返回匹配的结果数组
|
|
1537
1640
|
}
|
|
1641
|
+
getEmbeddedFilePath() {
|
|
1642
|
+
throw new Error(`${this.concept} 节点方法未实现`);
|
|
1643
|
+
}
|
|
1538
1644
|
*toEmbeddedTS() {
|
|
1539
|
-
throw new Error(
|
|
1645
|
+
throw new Error(`${this.concept} 节点方法未实现`);
|
|
1540
1646
|
}
|
|
1541
1647
|
*toEmbeddedTSFile() {
|
|
1542
|
-
throw new Error(
|
|
1648
|
+
throw new Error(`${this.concept} 节点方法未实现`);
|
|
1543
1649
|
}
|
|
1544
1650
|
toEmbeddedDeclarationTSFile() {
|
|
1545
|
-
throw new Error(
|
|
1651
|
+
throw new Error(`${this.concept} 节点方法未实现`);
|
|
1546
1652
|
}
|
|
1547
1653
|
/**
|
|
1548
1654
|
* 生成自然语言 TS
|
|
@@ -1627,15 +1733,15 @@ __decorate([
|
|
|
1627
1733
|
__decorate([
|
|
1628
1734
|
(0, decorators_1.property)()
|
|
1629
1735
|
], BaseNode.prototype, "concept", null);
|
|
1736
|
+
__decorate([
|
|
1737
|
+
(0, decorators_1.property)()
|
|
1738
|
+
], BaseNode.prototype, "changedTime", void 0);
|
|
1630
1739
|
__decorate([
|
|
1631
1740
|
(0, decorators_1.whiteProperty)()
|
|
1632
1741
|
], BaseNode.prototype, "workingCopy", void 0);
|
|
1633
1742
|
__decorate([
|
|
1634
1743
|
(0, decorators_1.whiteProperty)()
|
|
1635
1744
|
], BaseNode.prototype, "branch", void 0);
|
|
1636
|
-
__decorate([
|
|
1637
|
-
(0, decorators_1.property)()
|
|
1638
|
-
], BaseNode.prototype, "breakpoint", void 0);
|
|
1639
1745
|
__decorate([
|
|
1640
1746
|
(0, decorators_1.circular)()
|
|
1641
1747
|
], BaseNode.prototype, "parentNode", void 0);
|
|
@@ -1690,6 +1796,9 @@ __decorate([
|
|
|
1690
1796
|
__decorate([
|
|
1691
1797
|
(0, decorators_1.excludedInJSON)()
|
|
1692
1798
|
], BaseNode.prototype, "__isCorrectTypeAnnotation", void 0);
|
|
1799
|
+
__decorate([
|
|
1800
|
+
(0, decorators_1.excludedInJSON)()
|
|
1801
|
+
], BaseNode.prototype, "breakpoint", void 0);
|
|
1693
1802
|
__decorate([
|
|
1694
1803
|
(0, decorators_1.action)('查找引用')
|
|
1695
1804
|
], BaseNode.prototype, "findUsage", null);
|