@lcap/nasl 4.1.0-rc.9 → 4.2.0-beta.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/generator/genBundleFiles.d.ts.map +1 -1
- package/out/generator/genBundleFiles.js +4 -2
- package/out/generator/genBundleFiles.js.map +1 -1
- package/out/generator/release-body/utils.d.ts +7 -3
- package/out/generator/release-body/utils.d.ts.map +1 -1
- package/out/generator/release-body/utils.js +4 -2
- package/out/generator/release-body/utils.js.map +1 -1
- package/out/index.d.ts +2 -1
- package/out/index.d.ts.map +1 -1
- package/out/index.js +4 -1
- package/out/index.js.map +1 -1
- package/out/natural/transforms/transform2LogicItem.js +1 -1
- package/out/natural/transforms/transform2LogicItem.js.map +1 -1
- package/out/server/findReference.d.ts.map +1 -1
- package/out/server/findReference.js +4 -0
- package/out/server/findReference.js.map +1 -1
- package/out/server/naslServer.d.ts.map +1 -1
- package/out/server/naslServer.js +7 -2
- package/out/server/naslServer.js.map +1 -1
- package/out/service/instruct-ruler/types.d.ts +1 -1
- package/out/service/instruct-ruler/types.d.ts.map +1 -1
- package/out/service/storage/api.d.ts +16 -7
- package/out/service/storage/api.js +6 -0
- package/out/service/storage/api.js.map +1 -1
- package/out/service/storage/cache/index.d.ts +3 -15
- package/out/service/storage/cache/index.d.ts.map +1 -1
- package/out/service/storage/cache/index.js +14 -299
- package/out/service/storage/cache/index.js.map +1 -1
- package/out/service/storage/cache/split.d.ts +0 -21
- package/out/service/storage/cache/split.d.ts.map +1 -1
- package/out/service/storage/cache/split.js +24 -33
- package/out/service/storage/cache/split.js.map +1 -1
- package/out/service/storage/init.d.ts +9 -0
- package/out/service/storage/init.d.ts.map +1 -1
- package/out/service/storage/init.js +38 -73
- package/out/service/storage/init.js.map +1 -1
- package/out/service/storage/service.js +1 -1
- package/out/service/storage/service.js.map +1 -1
- package/out/service/storage/types.d.ts +1 -1
- package/out/service/storage/types.d.ts.map +1 -1
- package/out/utils/can-i-use.d.ts +2 -0
- package/out/utils/can-i-use.d.ts.map +1 -0
- package/out/utils/can-i-use.js +16 -0
- package/out/utils/can-i-use.js.map +1 -0
- package/out/utils/index.d.ts +1 -0
- package/out/utils/index.d.ts.map +1 -1
- package/out/utils/index.js +1 -0
- package/out/utils/index.js.map +1 -1
- package/package.json +10 -10
|
@@ -14,7 +14,7 @@ declare namespace _default {
|
|
|
14
14
|
}
|
|
15
15
|
export { url_1 as url };
|
|
16
16
|
}
|
|
17
|
-
namespace
|
|
17
|
+
namespace newIncrQuery {
|
|
18
18
|
export namespace url_2 {
|
|
19
19
|
let method_2: string;
|
|
20
20
|
export { method_2 as method };
|
|
@@ -23,7 +23,7 @@ declare namespace _default {
|
|
|
23
23
|
}
|
|
24
24
|
export { url_2 as url };
|
|
25
25
|
}
|
|
26
|
-
namespace
|
|
26
|
+
namespace batchAction {
|
|
27
27
|
export namespace url_3 {
|
|
28
28
|
let method_3: string;
|
|
29
29
|
export { method_3 as method };
|
|
@@ -32,7 +32,7 @@ declare namespace _default {
|
|
|
32
32
|
}
|
|
33
33
|
export { url_3 as url };
|
|
34
34
|
}
|
|
35
|
-
namespace
|
|
35
|
+
namespace batchInstruct {
|
|
36
36
|
export namespace url_4 {
|
|
37
37
|
let method_4: string;
|
|
38
38
|
export { method_4 as method };
|
|
@@ -41,7 +41,7 @@ declare namespace _default {
|
|
|
41
41
|
}
|
|
42
42
|
export { url_4 as url };
|
|
43
43
|
}
|
|
44
|
-
namespace
|
|
44
|
+
namespace cleanUselessUnit {
|
|
45
45
|
export namespace url_5 {
|
|
46
46
|
let method_5: string;
|
|
47
47
|
export { method_5 as method };
|
|
@@ -50,7 +50,7 @@ declare namespace _default {
|
|
|
50
50
|
}
|
|
51
51
|
export { url_5 as url };
|
|
52
52
|
}
|
|
53
|
-
namespace
|
|
53
|
+
namespace saveFrontendNasl {
|
|
54
54
|
export namespace url_6 {
|
|
55
55
|
let method_6: string;
|
|
56
56
|
export { method_6 as method };
|
|
@@ -59,7 +59,7 @@ declare namespace _default {
|
|
|
59
59
|
}
|
|
60
60
|
export { url_6 as url };
|
|
61
61
|
}
|
|
62
|
-
namespace
|
|
62
|
+
namespace breakpoint {
|
|
63
63
|
export namespace url_7 {
|
|
64
64
|
let method_7: string;
|
|
65
65
|
export { method_7 as method };
|
|
@@ -68,7 +68,7 @@ declare namespace _default {
|
|
|
68
68
|
}
|
|
69
69
|
export { url_7 as url };
|
|
70
70
|
}
|
|
71
|
-
namespace
|
|
71
|
+
namespace databaseTypes {
|
|
72
72
|
export namespace url_8 {
|
|
73
73
|
let method_8: string;
|
|
74
74
|
export { method_8 as method };
|
|
@@ -77,6 +77,15 @@ declare namespace _default {
|
|
|
77
77
|
}
|
|
78
78
|
export { url_8 as url };
|
|
79
79
|
}
|
|
80
|
+
namespace aiCoachActionRecord {
|
|
81
|
+
export namespace url_9 {
|
|
82
|
+
let method_9: string;
|
|
83
|
+
export { method_9 as method };
|
|
84
|
+
let path_9: string;
|
|
85
|
+
export { path_9 as path };
|
|
86
|
+
}
|
|
87
|
+
export { url_9 as url };
|
|
88
|
+
}
|
|
80
89
|
}
|
|
81
90
|
export default _default;
|
|
82
91
|
//# sourceMappingURL=api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/service/storage/api.js"],"names":[],"mappings":";;AAAA,kBAAe;IACX,UAAU,EAAE;QACR,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,4CAA4C;SACrD;KACJ;IACD,SAAS,EAAE;QACP,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,2CAA2C;SACpD;KACJ;IACD,WAAW,EAAE;QACT,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,6CAA6C;SACtD;KACJ;IACD,aAAa,EAAE;QACX,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,+CAA+C;SACxD;KACJ;IACD,gBAAgB,EAAE;QACd,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,oDAAoD;SAC7D;KACJ;IACD,gBAAgB,EAAE;QACd,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,kDAAkD;SAC3D;KACJ;IACD,UAAU,EAAE;QACR,GAAG,EAAE;YACD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,oCAAoC;SAC7C;KACJ;IACD,WAAW;IACX,aAAa,EAAE;QACX,GAAG,EAAE;YACD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,wBAAwB;SACjC;KACJ;IACD,wCAAwC;IACxC,mBAAmB,EAAE;QACnB,GAAG,EAAE;YACH,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,+CAA+C;SACtD;KACF;CACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/service/storage/api.js"],"names":[],"mappings":";;AAAA,kBAAe;IACX,UAAU,EAAE;QACR,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,4CAA4C;SACrD;KACJ;IACD,SAAS,EAAE;QACP,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,2CAA2C;SACpD;KACJ;IACD,YAAY,EAAE;QACV,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,+CAA+C;SACxD;KACJ;IACD,WAAW,EAAE;QACT,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,6CAA6C;SACtD;KACJ;IACD,aAAa,EAAE;QACX,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,+CAA+C;SACxD;KACJ;IACD,gBAAgB,EAAE;QACd,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,oDAAoD;SAC7D;KACJ;IACD,gBAAgB,EAAE;QACd,GAAG,EAAE;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,kDAAkD;SAC3D;KACJ;IACD,UAAU,EAAE;QACR,GAAG,EAAE;YACD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,oCAAoC;SAC7C;KACJ;IACD,WAAW;IACX,aAAa,EAAE;QACX,GAAG,EAAE;YACD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,wBAAwB;SACjC;KACJ;IACD,wCAAwC;IACxC,mBAAmB,EAAE;QACnB,GAAG,EAAE;YACH,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,+CAA+C;SACtD;KACF;CACJ,CAAC"}
|
|
@@ -1,22 +1,10 @@
|
|
|
1
|
-
import { BatchInstructResult } from '@lcap/nasl-types';
|
|
2
|
-
import { App } from '@lcap/nasl-concepts';
|
|
3
|
-
import { Instruct } from '../types';
|
|
4
|
-
import { Operation } from '../operation';
|
|
5
|
-
export declare function update({ res, err, instructList, operationList, app }: {
|
|
6
|
-
res: BatchInstructResult;
|
|
7
|
-
err: any;
|
|
8
|
-
instructList: Instruct[];
|
|
9
|
-
operationList: Operation[];
|
|
10
|
-
app: App;
|
|
11
|
-
}): Promise<void>;
|
|
12
|
-
export declare function canUseNaslCache(globalChangedTime: number): Promise<any>;
|
|
13
1
|
/**
|
|
14
2
|
* 取出缓存
|
|
15
3
|
*
|
|
16
4
|
* @description 只是取出缓存,并不校验缓存的有效性
|
|
17
5
|
*/
|
|
18
|
-
export declare function
|
|
6
|
+
export declare function updateCheckNaslCache(allData: any[], incrNasls: any[]): Promise<any[]>;
|
|
7
|
+
export declare function getAppTree(allData: any[], appTree: {
|
|
19
8
|
[key: string]: string;
|
|
20
|
-
}):
|
|
21
|
-
export declare function updateNaslCache(data: any, globalChangedTime: number): Promise<void>;
|
|
9
|
+
}): any;
|
|
22
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/service/storage/cache/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/service/storage/cache/index.ts"],"names":[],"mappings":"AAsBA;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,kBAsC1E;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAC,OAmB1E"}
|
|
@@ -1,281 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getAppTree = exports.updateCheckNaslCache = void 0;
|
|
4
4
|
const split_1 = require("./split");
|
|
5
|
-
const lodash_1 = require("lodash");
|
|
6
5
|
const nasl_utils_1 = require("@lcap/nasl-utils");
|
|
7
|
-
const service_1 = require("@lcap/nasl-concepts/service");
|
|
8
6
|
/** 禁用模式 */
|
|
9
7
|
const disabled = nasl_utils_1.isNode || nasl_utils_1.isAutoTestEnv;
|
|
10
|
-
const globalChangedKey = 'appGlobalChanged';
|
|
11
|
-
function getNodes(node, onlyCurrent) {
|
|
12
|
-
if (!node) {
|
|
13
|
-
return [];
|
|
14
|
-
}
|
|
15
|
-
let newNode = node;
|
|
16
|
-
if (newNode?.__v_raw) {
|
|
17
|
-
newNode = newNode.__v_raw;
|
|
18
|
-
}
|
|
19
|
-
let newNodeJSON;
|
|
20
|
-
if (onlyCurrent) {
|
|
21
|
-
// 如果只需要自己的, 内部所有的文件级别节点 都不去遍历了, 其余的节点还是要的
|
|
22
|
-
function check(node) {
|
|
23
|
-
if (node?.concept && (0, service_1.checkNodeIsFileModule)(node)) {
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
return true;
|
|
27
|
-
}
|
|
28
|
-
newNodeJSON = newNode._toFileJSON(check);
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
newNodeJSON = newNode.toJSON();
|
|
32
|
-
}
|
|
33
|
-
const fileNodes = (0, split_1.splitNaslObj)(newNodeJSON);
|
|
34
|
-
const nodePath = node.nodePath;
|
|
35
|
-
const nodeName = node.name;
|
|
36
|
-
const res = fileNodes.map((item, index) => {
|
|
37
|
-
const newItem = {
|
|
38
|
-
...item
|
|
39
|
-
};
|
|
40
|
-
newItem.nodePath = item.nodePath.replace(nodeName, nodePath);
|
|
41
|
-
newItem.parentNodePath = item.parentNodePath ? item.parentNodePath.replace(nodeName, nodePath) : undefined;
|
|
42
|
-
if (!newItem?.parentKey || !newItem?.parentNodePath) {
|
|
43
|
-
newItem.parentKey = node.parentKey;
|
|
44
|
-
newItem.parentNodePath = node.parentNode?.nodePath;
|
|
45
|
-
}
|
|
46
|
-
return newItem;
|
|
47
|
-
});
|
|
48
|
-
return res;
|
|
49
|
-
}
|
|
50
|
-
function removeLastSegment(path) {
|
|
51
|
-
// 使用正则表达式匹配最后一个 .segment
|
|
52
|
-
const newPath = path.replace(/\.[^.]+$/, '');
|
|
53
|
-
return newPath;
|
|
54
|
-
}
|
|
55
|
-
function getParentKeyAndParentPath(nodePath) {
|
|
56
|
-
const lastIndex = nodePath.lastIndexOf('.');
|
|
57
|
-
// 获取parentNodePath
|
|
58
|
-
const parentNodePath = nodePath.substring(0, lastIndex);
|
|
59
|
-
// 获取parentKey
|
|
60
|
-
const namePath = nodePath.substring(lastIndex + 1);
|
|
61
|
-
const parentKeyMatch = namePath.match(/([^\.\[\]]+)\[/);
|
|
62
|
-
const parentKey = parentKeyMatch ? parentKeyMatch[1] : null;
|
|
63
|
-
return {
|
|
64
|
-
parentKey,
|
|
65
|
-
parentNodePath,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
async function update({ res, err, instructList, operationList, app }) {
|
|
69
|
-
const startTime = Date.now();
|
|
70
|
-
// 有错误就不更新缓存
|
|
71
|
-
if (err || !window?.$IndexedDBHelper) {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
const { globalChangedTime, preGlobalChangedTime } = res;
|
|
75
|
-
// 需要重新 tojson 的修改
|
|
76
|
-
const updateNodeSet = new Set();
|
|
77
|
-
// 需要删除的节点
|
|
78
|
-
const deleteNodeSet = new Set();
|
|
79
|
-
// 需要重新生成,并且子节点也需要重新生成
|
|
80
|
-
const updateChildNodeSet = new Set();
|
|
81
|
-
// 直接查库, 更新时间就好
|
|
82
|
-
const getCacheUpdateTimePaths = new Set();
|
|
83
|
-
// 直接查库, 删除就好
|
|
84
|
-
const getDeletePaths = [];
|
|
85
|
-
// 要更新的节点
|
|
86
|
-
const changeRes = [
|
|
87
|
-
{
|
|
88
|
-
nodePath: globalChangedKey,
|
|
89
|
-
globalChangedTime,
|
|
90
|
-
forceUpdate: false,
|
|
91
|
-
}
|
|
92
|
-
];
|
|
93
|
-
instructList.forEach(instructItem => {
|
|
94
|
-
instructItem.actions.forEach(actionItem => {
|
|
95
|
-
const { path, action, object } = actionItem;
|
|
96
|
-
let newPath = path;
|
|
97
|
-
// 如果是新增,因为这里传入的 是 object 不是 nasl 节点,而且 nodepath 是修改前的,所以不准,需要重新生成
|
|
98
|
-
if (action === 'create' && object?.name) {
|
|
99
|
-
const parts = path.split('.');
|
|
100
|
-
const lastPart = parts.pop();
|
|
101
|
-
const match = lastPart.match(/\[(\d+)\]/);
|
|
102
|
-
if (match) {
|
|
103
|
-
parts.push(lastPart.replace(/\[\d+\]/, `[name=${object?.name}]`));
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
parts.push(lastPart);
|
|
107
|
-
}
|
|
108
|
-
newPath = parts.join('.');
|
|
109
|
-
}
|
|
110
|
-
// delete的时候 有 name 都用的 name
|
|
111
|
-
if (action === 'delete') {
|
|
112
|
-
// 删了东西之后,节点肯定是不在了,所以现查一下现在数据库有没有这个 path 的,没有就往上找一层,更新上一层
|
|
113
|
-
getDeletePaths.push(path);
|
|
114
|
-
}
|
|
115
|
-
else if (action === 'create') {
|
|
116
|
-
// 新增的时候都是有节点的, 所以直接查节点,和更新缓存就好了
|
|
117
|
-
let node = app.findNodeByPath(newPath);
|
|
118
|
-
// 个别没有的还是查上一级, 通过上级找到他
|
|
119
|
-
if (!node?.concept) {
|
|
120
|
-
const removeLastNewPath = removeLastSegment(newPath);
|
|
121
|
-
node = app.findNodeByPath(removeLastNewPath);
|
|
122
|
-
}
|
|
123
|
-
if (node?.concept) {
|
|
124
|
-
// 增加有嵌套式的, 需要吧内部的节点都捞出来
|
|
125
|
-
const fileNode = (0, service_1.getNodeFileModule)(node);
|
|
126
|
-
// 只有新增的节点和nodePath是一样的,顶级节点才去看下一级有什么内容一起加上,否则只更新自己
|
|
127
|
-
if (node.concept === fileNode.concept && node.nodePath === fileNode.nodePath) {
|
|
128
|
-
updateChildNodeSet.add(fileNode);
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
updateNodeSet.add(fileNode);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
else {
|
|
135
|
-
console.error(path, 3333);
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
else {
|
|
139
|
-
if (Object.keys(object).length === 1 && object.changedTime) {
|
|
140
|
-
getCacheUpdateTimePaths.add(path);
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
|
-
const node = app.findNodeByPath(path);
|
|
144
|
-
if (node?.concept) {
|
|
145
|
-
if (node.concept === 'App') {
|
|
146
|
-
updateNodeSet.add(node);
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
const fileNode = (0, service_1.getNodeFileModule)(node);
|
|
150
|
-
updateNodeSet.add(fileNode);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
if (object.name) {
|
|
155
|
-
function updateLastLogicName(path, newName) {
|
|
156
|
-
// 使用正则表达式匹配最后一个 [name=xxx]
|
|
157
|
-
const regex = /\[name=[^\]]+\](?!.*\[name=[^\]]+\])/;
|
|
158
|
-
// 使用新名字替换最后一个 [name=xxx]
|
|
159
|
-
return path.replace(regex, `[name=${newName}]`);
|
|
160
|
-
}
|
|
161
|
-
const updatedPath = updateLastLogicName(path, object.name);
|
|
162
|
-
const updatedNode = app.findNodeByPath(updatedPath);
|
|
163
|
-
// 改名下面的子集也需要一起改名
|
|
164
|
-
updateChildNodeSet.add(updatedNode);
|
|
165
|
-
deleteNodeSet.add(path);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
});
|
|
170
|
-
});
|
|
171
|
-
const getDeleteNodes = await window?.$IndexedDBHelper.readDataBatch(getDeletePaths);
|
|
172
|
-
getDeleteNodes.forEach((nodeItem, index) => {
|
|
173
|
-
const path = getDeletePaths[index];
|
|
174
|
-
/**
|
|
175
|
-
* 删除节点的大概情况:
|
|
176
|
-
* 删除 logic1 这种节点本身,如果查到数据库有就删掉自身就好了,
|
|
177
|
-
* 删除 view1 这种节点,本身,以及子节点都要删除,(这种可能要把子节点,都找到删除,比如删除一个端,先不处理,当只删除自身, 重新进入时,更新)
|
|
178
|
-
* 删除 logic1 下的 if语句等, 需要冒泡到 逻辑本身上
|
|
179
|
-
* 删除 最后一个事件逻辑,可能还会删除 事件,然后冒泡的页面, 所以可能会找不到 node。
|
|
180
|
-
*/
|
|
181
|
-
if (nodeItem.value) {
|
|
182
|
-
deleteNodeSet.add(path);
|
|
183
|
-
}
|
|
184
|
-
else {
|
|
185
|
-
const newPath = removeLastSegment(path);
|
|
186
|
-
const node = app.findNodeByPath(newPath);
|
|
187
|
-
if (node) {
|
|
188
|
-
const fileNode = (0, service_1.getNodeFileModule)(node);
|
|
189
|
-
updateNodeSet.add(fileNode);
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
});
|
|
193
|
-
const getCacheUpdateTimeNodes = await window?.$IndexedDBHelper.readDataBatch([...getCacheUpdateTimePaths]);
|
|
194
|
-
getCacheUpdateTimeNodes.forEach((nodeItem, index) => {
|
|
195
|
-
if (nodeItem.value) {
|
|
196
|
-
const item = nodeItem.value;
|
|
197
|
-
changeRes.push(item);
|
|
198
|
-
}
|
|
199
|
-
else {
|
|
200
|
-
const keys = getCacheUpdateTimePaths.keys();
|
|
201
|
-
const path = [...keys][index];
|
|
202
|
-
const node = app.findNodeByPath(path);
|
|
203
|
-
if (node) {
|
|
204
|
-
const fileNode = (0, service_1.getNodeFileModule)(node);
|
|
205
|
-
updateNodeSet.add(fileNode);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
});
|
|
209
|
-
console.log('nasl storage data change: updateNodeSet, updateChildNodeSet, deleteNodeSet, changeRes');
|
|
210
|
-
console.log(updateNodeSet, updateChildNodeSet, deleteNodeSet, changeRes);
|
|
211
|
-
if (updateNodeSet.size || updateChildNodeSet.size || changeRes.length) {
|
|
212
|
-
const changeNodes = [];
|
|
213
|
-
// 需要改自己和子集的
|
|
214
|
-
updateChildNodeSet.forEach((node) => {
|
|
215
|
-
changeNodes.push(...getNodes(node));
|
|
216
|
-
});
|
|
217
|
-
// 只需要改自己的
|
|
218
|
-
updateNodeSet.forEach((node) => {
|
|
219
|
-
changeNodes.push(...getNodes(node, true));
|
|
220
|
-
});
|
|
221
|
-
const processedNodes = [];
|
|
222
|
-
const nodePathMap = new Map();
|
|
223
|
-
for (const node of [...changeNodes, ...changeRes]) {
|
|
224
|
-
// 检查是否已存在
|
|
225
|
-
if (!nodePathMap.get(node.nodePath)) {
|
|
226
|
-
// 因为tojson 之后的数据,可能被 vue 劫持,所以克隆 nasl 属性
|
|
227
|
-
if (changeNodes.includes(node)) {
|
|
228
|
-
node.nasl = (0, lodash_1.cloneDeep)(node.nasl);
|
|
229
|
-
}
|
|
230
|
-
// 更新缓存时间
|
|
231
|
-
node._changedTime = globalChangedTime;
|
|
232
|
-
if (node?.nasl?._changedTime) {
|
|
233
|
-
node.nasl._changedTime = globalChangedTime;
|
|
234
|
-
}
|
|
235
|
-
nodePathMap.set(node.nodePath, true);
|
|
236
|
-
processedNodes.push(node);
|
|
237
|
-
}
|
|
238
|
-
}
|
|
239
|
-
nasl_utils_1.isDebugMode && console.dir(processedNodes);
|
|
240
|
-
window?.$IndexedDBHelper.storeDataBatch(processedNodes);
|
|
241
|
-
}
|
|
242
|
-
if (deleteNodeSet.size) {
|
|
243
|
-
window?.$IndexedDBHelper.storeDataRemoveBatch([...deleteNodeSet]);
|
|
244
|
-
}
|
|
245
|
-
// 需要看看是不是有别的 tab 或者内容修改,
|
|
246
|
-
// 把本地存储的上次修改的时间拿出来, 用本次修改的返回的上次修改的时间,比较,如果不一样就要去 getquery
|
|
247
|
-
// const oldChangeObj = await (window as any)?.$IndexedDBHelper.readData(globalChangedKey);
|
|
248
|
-
// const newChangeObj = {
|
|
249
|
-
// nodePath: globalChangedKey,
|
|
250
|
-
// globalChangedTime,
|
|
251
|
-
// forceUpdate: oldChangeObj?.forceUpdate || false,
|
|
252
|
-
// }
|
|
253
|
-
// if (oldChangeObj?.globalChangedTime !== preGlobalChangedTime) {
|
|
254
|
-
// newChangeObj.forceUpdate = true
|
|
255
|
-
// }
|
|
256
|
-
// console.log(newChangeObj, 3333, 'newChangeObj')
|
|
257
|
-
// (window as any)?.$IndexedDBHelper.storeData(newChangeObj);
|
|
258
|
-
const endTime = Date.now();
|
|
259
|
-
if (endTime - startTime > 50) {
|
|
260
|
-
console.log(`更新缓存耗时: ${endTime - startTime}ms`);
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
exports.update = update;
|
|
264
|
-
async function canUseNaslCache(globalChangedTime) {
|
|
265
|
-
if (disabled) {
|
|
266
|
-
return;
|
|
267
|
-
}
|
|
268
|
-
try {
|
|
269
|
-
const data = await window?.$IndexedDBHelper.readData(globalChangedKey);
|
|
270
|
-
// 缓存有缓存时间, 就是可以用缓存
|
|
271
|
-
return data?.globalChangedTime;
|
|
272
|
-
}
|
|
273
|
-
catch (error) {
|
|
274
|
-
// 读取数据出错时,返回 false
|
|
275
|
-
return false;
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
exports.canUseNaslCache = canUseNaslCache;
|
|
279
8
|
const getAppTreePaths = (obj, parentPath = '') => {
|
|
280
9
|
let paths = [];
|
|
281
10
|
for (let key in obj) {
|
|
@@ -298,10 +27,16 @@ const getAppTreePaths = (obj, parentPath = '') => {
|
|
|
298
27
|
*
|
|
299
28
|
* @description 只是取出缓存,并不校验缓存的有效性
|
|
300
29
|
*/
|
|
301
|
-
async function
|
|
30
|
+
async function updateCheckNaslCache(allData, incrNasls) {
|
|
31
|
+
// 没有更新的长度就return掉
|
|
32
|
+
if (!incrNasls?.length) {
|
|
33
|
+
console.dir('检测无更新,使用 Nasl 前端缓存');
|
|
34
|
+
return allData;
|
|
35
|
+
}
|
|
36
|
+
// 有更新,就把更新,替换缓存
|
|
302
37
|
const updateData = [];
|
|
303
38
|
const deleteData = [];
|
|
304
|
-
incrNasls.forEach((item) => {
|
|
39
|
+
(incrNasls || []).forEach((item) => {
|
|
305
40
|
const findIndex = allData.findIndex(cacheItem => item.path === cacheItem.nodePath);
|
|
306
41
|
if (item.type === 'delete') {
|
|
307
42
|
allData.splice(findIndex, 1);
|
|
@@ -311,7 +46,6 @@ async function getNaslCacheWithoutCheck(allData, incrNasls, appTree) {
|
|
|
311
46
|
const newItem = {
|
|
312
47
|
nasl: item.nasl,
|
|
313
48
|
nodePath: item.path,
|
|
314
|
-
...getParentKeyAndParentPath(item.path),
|
|
315
49
|
_changedTime: item.nasl._changedTime,
|
|
316
50
|
};
|
|
317
51
|
updateData.push(newItem);
|
|
@@ -327,6 +61,10 @@ async function getNaslCacheWithoutCheck(allData, incrNasls, appTree) {
|
|
|
327
61
|
// 需要 await ,存储后,在进行下面的排序 和 合并 nasl ,合并 nasl 会改变对象中的值
|
|
328
62
|
await window?.$IndexedDBHelper.storeDataBatch(updateData);
|
|
329
63
|
window?.$IndexedDBHelper.storeDataRemoveBatch(deleteData);
|
|
64
|
+
return allData;
|
|
65
|
+
}
|
|
66
|
+
exports.updateCheckNaslCache = updateCheckNaslCache;
|
|
67
|
+
function getAppTree(allData, appTree) {
|
|
330
68
|
// 进行排序
|
|
331
69
|
if (appTree) {
|
|
332
70
|
// 因为 indexdb 拿出来的数据 都是没有顺序的,所以这里要按照 服务端返回的 nasl 的顺序来排列
|
|
@@ -344,28 +82,5 @@ async function getNaslCacheWithoutCheck(allData, incrNasls, appTree) {
|
|
|
344
82
|
const batchQueryRes = (0, split_1.mergeNaslObj)(allData);
|
|
345
83
|
return batchQueryRes;
|
|
346
84
|
}
|
|
347
|
-
exports.
|
|
348
|
-
async function updateNaslCache(data, globalChangedTime) {
|
|
349
|
-
// 进行前端缓存
|
|
350
|
-
if (!window?.$IndexedDBHelper) {
|
|
351
|
-
return;
|
|
352
|
-
}
|
|
353
|
-
console.time('拆分nasl');
|
|
354
|
-
const newFiles = (0, split_1.splitNaslObj)(data);
|
|
355
|
-
console.timeEnd('拆分nasl');
|
|
356
|
-
// 请求过之后,全局更新一把
|
|
357
|
-
const newChangeObj = {
|
|
358
|
-
nodePath: globalChangedKey,
|
|
359
|
-
globalChangedTime,
|
|
360
|
-
forceUpdate: false,
|
|
361
|
-
};
|
|
362
|
-
newFiles.unshift(newChangeObj);
|
|
363
|
-
console.time('存储数据库');
|
|
364
|
-
// 先清除所有数据库的内容
|
|
365
|
-
await window?.$IndexedDBHelper.clear();
|
|
366
|
-
// 更新存储数据库
|
|
367
|
-
await window?.$IndexedDBHelper.storeDataBatch(newFiles);
|
|
368
|
-
console.timeEnd('存储数据库');
|
|
369
|
-
}
|
|
370
|
-
exports.updateNaslCache = updateNaslCache;
|
|
85
|
+
exports.getAppTree = getAppTree;
|
|
371
86
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/service/storage/cache/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/service/storage/cache/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +1,6 @@
|
|
|
1
|
-
import { NASLObject } from '@lcap/nasl-types';
|
|
2
|
-
interface FileModuleData {
|
|
3
|
-
/** 当前模块数据 */
|
|
4
|
-
nasl: object;
|
|
5
|
-
/** 根节点路径 */
|
|
6
|
-
nodePath: string;
|
|
7
|
-
/** 若是在数组中,它在上级节点中的下标 */
|
|
8
|
-
parentIndex?: number;
|
|
9
|
-
/** 上级节点的 key */
|
|
10
|
-
parentKey?: string;
|
|
11
|
-
/** 上级节点的路径 */
|
|
12
|
-
parentNodePath?: string;
|
|
13
|
-
/** 当前节点修改的时间 */
|
|
14
|
-
_changedTime?: string;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* 拆分 Nasl 对象
|
|
18
|
-
* @param app
|
|
19
|
-
*/
|
|
20
|
-
export declare function splitNaslObj(app: NASLObject.AppObject): FileModuleData[];
|
|
21
1
|
/**
|
|
22
2
|
* 合并 Nasl 对象
|
|
23
3
|
* @param app
|
|
24
4
|
*/
|
|
25
5
|
export declare function mergeNaslObj(fileNodes: any[]): any;
|
|
26
|
-
export {};
|
|
27
6
|
//# sourceMappingURL=split.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"split.d.ts","sourceRoot":"","sources":["../../../../src/service/storage/cache/split.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"split.d.ts","sourceRoot":"","sources":["../../../../src/service/storage/cache/split.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AAEH,wBAAgB,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,OAiC5C"}
|
|
@@ -1,36 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.mergeNaslObj =
|
|
4
|
-
const service_1 = require("@lcap/nasl-concepts/service");
|
|
3
|
+
exports.mergeNaslObj = void 0;
|
|
5
4
|
const nasl_concepts_1 = require("@lcap/nasl-concepts");
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
if (!node.parentNodePath) {
|
|
19
|
-
continue;
|
|
20
|
-
}
|
|
21
|
-
const nodeObj = node.nasl;
|
|
22
|
-
const parentNode = map[node.parentNodePath];
|
|
23
|
-
if (Array.isArray(parentNode[node.parentKey])) {
|
|
24
|
-
const findIndex = parentNode[node.parentKey].findIndex((item) => item === nodeObj);
|
|
25
|
-
parentNode[node.parentKey].splice(findIndex, 1);
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
console.log(node, 2222);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return fileNodes;
|
|
5
|
+
function getParentKeyAndParentPath(nodePath) {
|
|
6
|
+
const lastIndex = nodePath.lastIndexOf('.');
|
|
7
|
+
// 获取parentNodePath
|
|
8
|
+
const parentNodePath = nodePath.substring(0, lastIndex);
|
|
9
|
+
// 获取parentKey
|
|
10
|
+
const namePath = nodePath.substring(lastIndex + 1);
|
|
11
|
+
const parentKeyMatch = namePath.match(/([^\.\[\]]+)\[/);
|
|
12
|
+
const parentKey = parentKeyMatch ? parentKeyMatch[1] : null;
|
|
13
|
+
return {
|
|
14
|
+
parentKey,
|
|
15
|
+
parentNodePath,
|
|
16
|
+
};
|
|
32
17
|
}
|
|
33
|
-
exports.splitNaslObj = splitNaslObj;
|
|
34
18
|
/**
|
|
35
19
|
* 合并 Nasl 对象
|
|
36
20
|
* @param app
|
|
@@ -42,13 +26,20 @@ function mergeNaslObj(fileNodes) {
|
|
|
42
26
|
map[node.nodePath] = node.nasl;
|
|
43
27
|
}
|
|
44
28
|
for (const node of fileNodes) {
|
|
45
|
-
|
|
29
|
+
const { parentNodePath, parentKey } = getParentKeyAndParentPath(node.nodePath);
|
|
30
|
+
if (!parentNodePath) {
|
|
46
31
|
continue;
|
|
47
32
|
}
|
|
48
|
-
const parentNode = map[
|
|
33
|
+
const parentNode = map[parentNodePath] || (0, nasl_concepts_1.findNodeObjectByPath)(app, parentNodePath || '');
|
|
49
34
|
if (parentNode) {
|
|
50
|
-
|
|
51
|
-
|
|
35
|
+
const parentArray = parentNode[parentKey];
|
|
36
|
+
if (Array.isArray(parentArray)) {
|
|
37
|
+
// 检查是否已存在相同name的对象
|
|
38
|
+
const exists = parentArray.some(item => item.name === node.nasl.name);
|
|
39
|
+
if (exists) {
|
|
40
|
+
throw new Error(`名称 '${node.nasl.name}' 已存在,重复添加!`);
|
|
41
|
+
}
|
|
42
|
+
parentArray.push(node.nasl);
|
|
52
43
|
}
|
|
53
44
|
else {
|
|
54
45
|
console.error(node, 888);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"split.js","sourceRoot":"","sources":["../../../../src/service/storage/cache/split.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"split.js","sourceRoot":"","sources":["../../../../src/service/storage/cache/split.ts"],"names":[],"mappings":";;;AAAA,uDAA2D;AAG3D,SAAS,yBAAyB,CAAC,QAAgB;IACjD,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IAC3C,mBAAmB;IACnB,MAAM,cAAc,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAExD,cAAc;IACd,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACnD,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5D,OAAO;QACH,SAAS;QACT,cAAc;KACjB,CAAC;AACJ,CAAC;AACD;;;GAGG;AAEH,SAAgB,YAAY,CAAC,SAAgB;IAC3C,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACnE,MAAM,GAAG,GAAQ,EAAE,CAAA;IAEnB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,IAAI,CAAA;IAChC,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,yBAAyB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9E,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,SAAS;QACX,CAAC;QACD,MAAM,UAAU,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,IAAA,oCAAoB,EAAC,GAAG,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC;QAC1F,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,CAAA;YACzC,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,mBAAmB;gBACnB,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACtE,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,CAAC;gBACtD,CAAC;gBACD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC7B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YAC1B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,OAAO,GAAG,CAAC;AACb,CAAC;AAjCD,oCAiCC"}
|
|
@@ -51,6 +51,15 @@ export interface ProxyApp extends App {
|
|
|
51
51
|
_historyName?: string;
|
|
52
52
|
}
|
|
53
53
|
export declare function handleApp(app: ProxyApp): void;
|
|
54
|
+
export declare function getNaslIncrQuery(appId: string): Promise<{
|
|
55
|
+
fullNasl: any;
|
|
56
|
+
naslAllData?: undefined;
|
|
57
|
+
appTree?: undefined;
|
|
58
|
+
} | {
|
|
59
|
+
naslAllData: any[];
|
|
60
|
+
appTree: any;
|
|
61
|
+
fullNasl?: undefined;
|
|
62
|
+
}>;
|
|
54
63
|
export declare const setStore: (store: any) => void;
|
|
55
64
|
/**
|
|
56
65
|
* 加载 app
|