@lcap/nasl-types 3.9.0-beta.4 → 3.9.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/concept.d.ts +5 -0
- package/out/concept.d.ts.map +1 -1
- package/out/module.d.ts +58 -31
- package/out/module.d.ts.map +1 -1
- package/out/module.js +11 -0
- package/out/module.js.map +1 -1
- package/package.json +1 -1
package/out/concept.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import * as Embedded from './embedded';
|
|
2
|
+
import * as Translator from './translator';
|
|
1
3
|
export type EventListener = (...args: Array<any>) => any;
|
|
2
4
|
export interface Params {
|
|
3
5
|
parentNode?: BaseNode;
|
|
@@ -44,8 +46,11 @@ export interface BaseNode extends EventEmitter {
|
|
|
44
46
|
readonly nodePath: string;
|
|
45
47
|
readonly parentNode?: BaseNode;
|
|
46
48
|
readonly parentKey?: string;
|
|
49
|
+
sourceMap: Translator.SourceMap;
|
|
47
50
|
__isCorrectTypeAnnotation: boolean;
|
|
48
51
|
tsErrorDetail: any;
|
|
52
|
+
toEmbeddedTSFile(): Embedded.TSFileGenerator<BaseNode>;
|
|
53
|
+
toEmbeddedDeclarationTSFile(): Embedded.DeclarationTSFileResult;
|
|
49
54
|
}
|
|
50
55
|
export interface NodePathOption {
|
|
51
56
|
useName?: boolean;
|
package/out/concept.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concept.d.ts","sourceRoot":"","sources":["../src/concept.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC;AAEzD,MAAM,WAAW,MAAM;IACrB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,SAAS,CAAC,EAAE,GAAG,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AAED,MAAM,WAAW,QAAS,SAAQ,YAAY;IAC5C;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC;IAE/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,yBAAyB,EAAE,OAAO,CAAC;IAEnC,aAAa,EAAE,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"concept.d.ts","sourceRoot":"","sources":["../src/concept.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAE3C,MAAM,MAAM,aAAa,GAAG,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC;AAEzD,MAAM,WAAW,MAAM;IACrB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,SAAS,CAAC,EAAE,GAAG,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,GAAG,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AAED,MAAM,WAAW,QAAS,SAAQ,YAAY;IAC5C;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAE1B,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC;IAE/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAE5B,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC;IAEhC,yBAAyB,EAAE,OAAO,CAAC;IAEnC,aAAa,EAAE,GAAG,CAAC;IAEnB,gBAAgB,IAAI,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAEvD,2BAA2B,IAAI,QAAQ,CAAC,uBAAuB,CAAC;CACjE;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAErD;;;;OAIG;IACH,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAEtD;;;;OAIG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;IAEvD;;;;OAIG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;CACnE"}
|
package/out/module.d.ts
CHANGED
|
@@ -6,28 +6,38 @@ export interface Module {
|
|
|
6
6
|
* 模块根节点
|
|
7
7
|
*/
|
|
8
8
|
readonly node: BaseNode;
|
|
9
|
+
/**
|
|
10
|
+
* 模块根节点子树的节点数量
|
|
11
|
+
*/
|
|
12
|
+
readonly count: number;
|
|
9
13
|
/**
|
|
10
14
|
* 模块名称
|
|
15
|
+
*
|
|
16
|
+
* @description 对应 Nasl 节点路径
|
|
11
17
|
*/
|
|
12
18
|
readonly name: string;
|
|
13
19
|
/**
|
|
14
|
-
*
|
|
20
|
+
* 模块签名
|
|
15
21
|
*
|
|
16
|
-
* @description
|
|
22
|
+
* @description 作为对外的标识符
|
|
17
23
|
*/
|
|
18
|
-
|
|
24
|
+
readonly signature: string;
|
|
25
|
+
/** 签名是否是最新的 */
|
|
26
|
+
readonly isLastSignature: boolean;
|
|
19
27
|
/**
|
|
20
|
-
*
|
|
28
|
+
* 模块最后编辑时间
|
|
21
29
|
*
|
|
22
|
-
* @description
|
|
30
|
+
* @description 取当前子树中所有节点的最新时间
|
|
23
31
|
*/
|
|
24
|
-
|
|
32
|
+
readonly lastModifyTime: number;
|
|
25
33
|
/**
|
|
26
|
-
*
|
|
34
|
+
* 更新节点
|
|
27
35
|
*
|
|
28
|
-
* @description
|
|
36
|
+
* @description 有时候 App 会对节点做修改操作,所以这里需要沿着 nodePath 更新模块对应的节点
|
|
29
37
|
*/
|
|
30
|
-
|
|
38
|
+
updateNode(node: BaseNode): void;
|
|
39
|
+
/** 更新签名 */
|
|
40
|
+
updateSignature(signature: string): void;
|
|
31
41
|
/** 输出模块纯数据 */
|
|
32
42
|
toData(): ModuleData;
|
|
33
43
|
/** 添加模块依赖 */
|
|
@@ -44,61 +54,78 @@ export interface ModuleDependency {
|
|
|
44
54
|
/** 依赖模块 */
|
|
45
55
|
readonly dependency: Module;
|
|
46
56
|
}
|
|
57
|
+
/** 模块在拓扑排序中的状态 */
|
|
58
|
+
export declare enum ModuleStatusInTopologicalSort {
|
|
59
|
+
/** 未访问 */
|
|
60
|
+
NotVisit = 0,
|
|
61
|
+
/** 已访问且修改 */
|
|
62
|
+
VisitedWithModify = 1,
|
|
63
|
+
/** 已访问且未修改 */
|
|
64
|
+
VisitedWithNoModify = 2
|
|
65
|
+
}
|
|
66
|
+
/** 查询模块状态 */
|
|
67
|
+
export type GetModuleStatus = (module: Module) => ModuleStatusInTopologicalSort;
|
|
68
|
+
/** 拓扑排序上下文 */
|
|
69
|
+
export interface TopologicalSortContext {
|
|
70
|
+
/**
|
|
71
|
+
* 获取模块签名值
|
|
72
|
+
*
|
|
73
|
+
* @param {Module[]} modules 待标注的模块
|
|
74
|
+
* @param {GetModuleStatus} isModuleSignatureUpdated 查询模块是否更新了签名
|
|
75
|
+
* @return {Module[]} 签名变更的模块
|
|
76
|
+
*/
|
|
77
|
+
getModulesSignature(modules: Module[], getModuleStatus: GetModuleStatus): Promise<Module[]>;
|
|
78
|
+
}
|
|
47
79
|
/** 模块图 */
|
|
48
80
|
export interface ModuleGraph {
|
|
81
|
+
/** 当前 Nasl 根节点 */
|
|
82
|
+
readonly app: BaseNode;
|
|
49
83
|
/** 生成时间 */
|
|
50
84
|
readonly createTime: number;
|
|
51
85
|
/**
|
|
52
|
-
*
|
|
86
|
+
* 从节点获取模块
|
|
53
87
|
*
|
|
54
88
|
* @description 会向上迭代上级节点,直到找到模块节点
|
|
55
89
|
*/
|
|
56
90
|
getModuleByNode(node: BaseNode): Module;
|
|
91
|
+
/**
|
|
92
|
+
* 从节点路径获取模块
|
|
93
|
+
*
|
|
94
|
+
* @description 会向上迭代上级节点,直到找到模块节点
|
|
95
|
+
*/
|
|
96
|
+
getModuleByNodePath(nodePath: string): Module | undefined;
|
|
57
97
|
/**
|
|
58
98
|
* 从符号遍历创建模块
|
|
59
99
|
*
|
|
60
100
|
* @description 会按照模块依赖关系创建模块依赖子图
|
|
61
101
|
*/
|
|
62
102
|
getModuleMapBySymbol(symbol: Symbol): void;
|
|
63
|
-
/** 获取所有模块 */
|
|
64
|
-
getModules(): Module[];
|
|
65
103
|
/**
|
|
66
|
-
*
|
|
104
|
+
* 按照拓扑排序执行操作
|
|
67
105
|
*
|
|
68
|
-
* @
|
|
69
|
-
* @description 当前模块图为新
|
|
106
|
+
* @returns 返回更新模块
|
|
70
107
|
*/
|
|
71
|
-
|
|
108
|
+
topologicalSort(context: TopologicalSortContext): Promise<Module[]>;
|
|
109
|
+
/** 获取所有模块 */
|
|
110
|
+
getModules(): Module[];
|
|
72
111
|
/** 生成模块图数据 */
|
|
73
112
|
toData(): ModuleGraphData;
|
|
74
113
|
}
|
|
75
114
|
/** 模块数据 */
|
|
76
|
-
export interface ModuleData extends Pick<Module, 'lastModifyTime' | '
|
|
115
|
+
export interface ModuleData extends Pick<Module, 'lastModifyTime' | 'isLastSignature' | 'signature'> {
|
|
77
116
|
node: string;
|
|
78
|
-
|
|
117
|
+
count: number;
|
|
118
|
+
dependency: string[];
|
|
79
119
|
}
|
|
80
120
|
/** 模块依赖数据 */
|
|
81
121
|
export interface ModuleDependencyData {
|
|
82
122
|
module: string;
|
|
83
123
|
dependency: string;
|
|
84
124
|
}
|
|
85
|
-
/** 模块签名数据 */
|
|
86
|
-
export interface ModuleSignature {
|
|
87
|
-
/**
|
|
88
|
-
* 函数签名
|
|
89
|
-
*
|
|
90
|
-
* @description 初始化未完成时为`'uninitialized'`
|
|
91
|
-
*/
|
|
92
|
-
signature: string;
|
|
93
|
-
/** 更新时间 */
|
|
94
|
-
updateTime: number;
|
|
95
|
-
}
|
|
96
125
|
/** 模块图数据 */
|
|
97
126
|
export interface ModuleGraphData {
|
|
98
127
|
appId: string;
|
|
99
128
|
createdTime: number;
|
|
100
129
|
modules: Record<string, Omit<ModuleData, 'node'>>;
|
|
101
130
|
}
|
|
102
|
-
/** 模块签名表 */
|
|
103
|
-
export type ModuleSignatureMap = Record<string, ModuleSignature>;
|
|
104
131
|
//# sourceMappingURL=module.d.ts.map
|
package/out/module.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,WAAW;AACX,MAAM,WAAW,MAAM;IACrB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;OAIG;IACH,
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
|
package/out/module.js
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ModuleStatusInTopologicalSort = void 0;
|
|
4
|
+
/** 模块在拓扑排序中的状态 */
|
|
5
|
+
var ModuleStatusInTopologicalSort;
|
|
6
|
+
(function (ModuleStatusInTopologicalSort) {
|
|
7
|
+
/** 未访问 */
|
|
8
|
+
ModuleStatusInTopologicalSort[ModuleStatusInTopologicalSort["NotVisit"] = 0] = "NotVisit";
|
|
9
|
+
/** 已访问且修改 */
|
|
10
|
+
ModuleStatusInTopologicalSort[ModuleStatusInTopologicalSort["VisitedWithModify"] = 1] = "VisitedWithModify";
|
|
11
|
+
/** 已访问且未修改 */
|
|
12
|
+
ModuleStatusInTopologicalSort[ModuleStatusInTopologicalSort["VisitedWithNoModify"] = 2] = "VisitedWithNoModify";
|
|
13
|
+
})(ModuleStatusInTopologicalSort || (exports.ModuleStatusInTopologicalSort = ModuleStatusInTopologicalSort = {}));
|
|
3
14
|
//# sourceMappingURL=module.js.map
|
package/out/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;AA8DA,kBAAkB;AAClB,IAAY,6BAOX;AAPD,WAAY,6BAA6B;IACvC,UAAU;IACV,yFAAQ,CAAA;IACR,aAAa;IACb,2GAAiB,CAAA;IACjB,cAAc;IACd,+GAAmB,CAAA;AACrB,CAAC,EAPW,6BAA6B,6CAA7B,6BAA6B,QAOxC"}
|