@lcap/nasl 3.9.0-beta.1 → 3.9.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.
Files changed (83) hide show
  1. package/out/breakpoint/index.d.ts +1 -3
  2. package/out/breakpoint/index.d.ts.map +1 -1
  3. package/out/breakpoint/index.js +1 -3
  4. package/out/breakpoint/index.js.map +1 -1
  5. package/out/generator/genBundleFiles.js +2 -2
  6. package/out/generator/genBundleFiles.js.map +1 -1
  7. package/out/generator/release-body/body.d.ts +3 -4
  8. package/out/generator/release-body/body.d.ts.map +1 -1
  9. package/out/generator/release-body/body.js +16 -5
  10. package/out/generator/release-body/body.js.map +1 -1
  11. package/out/generator/release-body/data.d.ts +1 -0
  12. package/out/generator/release-body/data.d.ts.map +1 -1
  13. package/out/generator/release-body/data.js +6 -2
  14. package/out/generator/release-body/data.js.map +1 -1
  15. package/out/generator/release-body/internal.d.ts +1 -0
  16. package/out/generator/release-body/internal.d.ts.map +1 -1
  17. package/out/generator/release-body/internal.js.map +1 -1
  18. package/out/generator/release-body/types.d.ts +4 -2
  19. package/out/generator/release-body/types.d.ts.map +1 -1
  20. package/out/generator/release-body/types.js +4 -2
  21. package/out/generator/release-body/types.js.map +1 -1
  22. package/out/server/naslServer.d.ts.map +1 -1
  23. package/out/server/naslServer.js +4 -0
  24. package/out/server/naslServer.js.map +1 -1
  25. package/package.json +10 -9
  26. package/sandbox-natural/stdlib/nasl.ui.h5.json +15256 -0
  27. package/sandbox-natural/stdlib/nasl.ui.pc.json +30944 -0
  28. package/out/breakpoint/generator/AfterStartNode.d.ts +0 -8
  29. package/out/breakpoint/generator/AfterStartNode.d.ts.map +0 -1
  30. package/out/breakpoint/generator/AfterStartNode.js +0 -30
  31. package/out/breakpoint/generator/AfterStartNode.js.map +0 -1
  32. package/out/breakpoint/generator/BeforeEndNode.d.ts +0 -8
  33. package/out/breakpoint/generator/BeforeEndNode.d.ts.map +0 -1
  34. package/out/breakpoint/generator/BeforeEndNode.js +0 -28
  35. package/out/breakpoint/generator/BeforeEndNode.js.map +0 -1
  36. package/out/breakpoint/generator/BreakpointNode.d.ts +0 -21
  37. package/out/breakpoint/generator/BreakpointNode.d.ts.map +0 -1
  38. package/out/breakpoint/generator/BreakpointNode.js +0 -300
  39. package/out/breakpoint/generator/BreakpointNode.js.map +0 -1
  40. package/out/breakpoint/generator/CallbackNode.d.ts +0 -5
  41. package/out/breakpoint/generator/CallbackNode.d.ts.map +0 -1
  42. package/out/breakpoint/generator/CallbackNode.js +0 -37
  43. package/out/breakpoint/generator/CallbackNode.js.map +0 -1
  44. package/out/breakpoint/generator/FragmentNode.d.ts +0 -5
  45. package/out/breakpoint/generator/FragmentNode.d.ts.map +0 -1
  46. package/out/breakpoint/generator/FragmentNode.js +0 -18
  47. package/out/breakpoint/generator/FragmentNode.js.map +0 -1
  48. package/out/breakpoint/generator/index.d.ts +0 -5
  49. package/out/breakpoint/generator/index.d.ts.map +0 -1
  50. package/out/breakpoint/generator/index.js +0 -119
  51. package/out/breakpoint/generator/index.js.map +0 -1
  52. package/out/breakpoint/shared/constants.d.ts +0 -38
  53. package/out/breakpoint/shared/constants.d.ts.map +0 -1
  54. package/out/breakpoint/shared/constants.js +0 -108
  55. package/out/breakpoint/shared/constants.js.map +0 -1
  56. package/out/breakpoint/shared/index.d.ts +0 -4
  57. package/out/breakpoint/shared/index.d.ts.map +0 -1
  58. package/out/breakpoint/shared/index.js +0 -33
  59. package/out/breakpoint/shared/index.js.map +0 -1
  60. package/out/breakpoint/shared/operations.d.ts +0 -11
  61. package/out/breakpoint/shared/operations.d.ts.map +0 -1
  62. package/out/breakpoint/shared/operations.js +0 -25
  63. package/out/breakpoint/shared/operations.js.map +0 -1
  64. package/out/breakpoint/shared/socket.d.ts +0 -49
  65. package/out/breakpoint/shared/socket.d.ts.map +0 -1
  66. package/out/breakpoint/shared/socket.js +0 -257
  67. package/out/breakpoint/shared/socket.js.map +0 -1
  68. package/out/breakpoint/shared/utils.d.ts +0 -29
  69. package/out/breakpoint/shared/utils.d.ts.map +0 -1
  70. package/out/breakpoint/shared/utils.js +0 -217
  71. package/out/breakpoint/shared/utils.js.map +0 -1
  72. package/out/breakpoint/store/core.d.ts +0 -81
  73. package/out/breakpoint/store/core.d.ts.map +0 -1
  74. package/out/breakpoint/store/core.js +0 -410
  75. package/out/breakpoint/store/core.js.map +0 -1
  76. package/out/breakpoint/store/dock.d.ts +0 -2
  77. package/out/breakpoint/store/dock.d.ts.map +0 -1
  78. package/out/breakpoint/store/dock.js +0 -160
  79. package/out/breakpoint/store/dock.js.map +0 -1
  80. package/out/breakpoint/store/index.d.ts +0 -3
  81. package/out/breakpoint/store/index.d.ts.map +0 -1
  82. package/out/breakpoint/store/index.js +0 -19
  83. package/out/breakpoint/store/index.js.map +0 -1
@@ -1,410 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.fetchReturn = exports.fetchFrontendVariable = exports.fetchBackendObject = exports.fetchBackendReturn = exports.fetchBackendPage = exports.stepOverBreakpoint = exports.stepOverBreakpointToFrontend = exports.stepOverBreakpointToBackend = exports.resolveBreakpoint = exports.resolveByPath = exports.resolveBreakpointToFrontend = exports.resolveBreakpointToBackend = exports.findFromStack = exports.removeBreakpointForTemporary = exports.recoverBreakpointAfterTemporary = exports.addBreakpointNodesFromApp = exports.addBreakpointNodesFromNode = exports.removeBreakpointNode = exports.disableBreakpointNode = exports.enableBreakpointNode = exports.addBreakpointNode = exports.syncBreakpointsToFrontend = exports.store = exports.reactive = void 0;
30
- const debounce_1 = __importDefault(require("lodash/debounce"));
31
- const constants_1 = require("../shared/constants");
32
- const socket = __importStar(require("../shared/socket"));
33
- const operations_1 = require("../shared/operations");
34
- const utils_1 = require("../shared/utils");
35
- let original = {
36
- enable: true,
37
- nodes: [],
38
- stack: [],
39
- connections: [],
40
- activePath: '',
41
- activeStackItem: {},
42
- echoStackItem: {},
43
- };
44
- Object.defineProperty(original, 'activePath', {
45
- get: () => {
46
- const { activeStackItem = {} } = original;
47
- const { operation = {} } = activeStackItem;
48
- const { path = '' } = operation;
49
- return path;
50
- },
51
- });
52
- const reactive = (callback) => {
53
- original = callback(original);
54
- return original;
55
- };
56
- exports.reactive = reactive;
57
- exports.store = new Proxy({}, {
58
- get: (_, key) => original[key],
59
- set: (_, key, value) => Reflect.set(original, key, value),
60
- });
61
- const isUseful = (node) => {
62
- if (!node) {
63
- return false;
64
- }
65
- const { app, nodePath } = node;
66
- if (!app || !nodePath) {
67
- return false;
68
- }
69
- return app.findNodeByPath(nodePath);
70
- };
71
- const clean = (0, debounce_1.default)(() => {
72
- const set = new Set();
73
- for (let i = 0; i < exports.store.nodes.length; i += 1) {
74
- const current = exports.store.nodes[i];
75
- const { id } = current;
76
- const repeated = set.has(id);
77
- const useless = !isUseful(current);
78
- if (useless || repeated) {
79
- exports.store.nodes.splice(i, 1);
80
- i -= 1;
81
- }
82
- else {
83
- set.add(id);
84
- }
85
- }
86
- }, 300);
87
- exports.syncBreakpointsToFrontend = (0, debounce_1.default)(() => {
88
- const { nodes = [] } = exports.store;
89
- const filter = (node) => node.breakpoint === constants_1.STATUS_ENABLED;
90
- const map = (node) => node.nodePath;
91
- const paths = nodes.filter(filter).map(map);
92
- socket.emitToFrontend({
93
- eventType: constants_1.EVENT_TYPE_SYNC_BREAKPOINTS,
94
- paths,
95
- });
96
- });
97
- const creater = (node) => {
98
- if (!node?.breakpoint) {
99
- return;
100
- }
101
- exports.store.nodes.push(node);
102
- clean();
103
- (0, exports.syncBreakpointsToFrontend)();
104
- };
105
- const deleter = (node) => {
106
- const index = exports.store.nodes.indexOf(node);
107
- index > -1 && exports.store.nodes.splice(index, 1);
108
- (0, exports.syncBreakpointsToFrontend)();
109
- };
110
- const isFrontend = (node) => {
111
- if (!node) {
112
- return;
113
- }
114
- const { getAncestor } = node;
115
- return getAncestor && getAncestor.call(node, 'FrontendType');
116
- };
117
- const updateToBackend = (node) => {
118
- node = (0, utils_1.getRealNode)(node);
119
- if (!node) {
120
- return;
121
- }
122
- const frontend = isFrontend(node);
123
- const { breakpoint, nodePath: path } = node;
124
- if (!breakpoint) {
125
- return;
126
- }
127
- if (frontend) {
128
- return;
129
- }
130
- socket.emitToBackend({
131
- eventType: constants_1.EVENT_TYPE_BREAKPOINT,
132
- breakpoint: { path, breakpointStatus: breakpoint },
133
- });
134
- };
135
- const updater = (node) => {
136
- if (!node) {
137
- return;
138
- }
139
- const { breakpoint } = node;
140
- const { nodes = [] } = exports.store;
141
- const included = nodes.includes(node);
142
- if (breakpoint) {
143
- included ? updateToBackend(node) : creater(node);
144
- }
145
- else {
146
- included && deleter(node);
147
- }
148
- (0, exports.syncBreakpointsToFrontend)();
149
- };
150
- (0, operations_1.setCreate)(creater);
151
- (0, operations_1.setUpdate)(updater);
152
- (0, operations_1.setDelete)(deleter);
153
- const addBreakpointNode = (node) => {
154
- node = (0, utils_1.getRealNode)(node);
155
- if (!node) {
156
- return;
157
- }
158
- const frontend = isFrontend(node);
159
- const backendData = {
160
- eventType: constants_1.EVENT_TYPE_BREAKPOINT,
161
- breakpoint: {
162
- path: node.nodePath,
163
- breakpointStatus: constants_1.STATUS_ENABLED,
164
- },
165
- };
166
- node.update({ breakpoint: constants_1.STATUS_ENABLED });
167
- !frontend && socket.emitToBackend(backendData);
168
- creater(node);
169
- };
170
- exports.addBreakpointNode = addBreakpointNode;
171
- const enableBreakpointNode = (node) => {
172
- node = (0, utils_1.getRealNode)(node);
173
- if (!node) {
174
- return;
175
- }
176
- node.update({ breakpoint: constants_1.STATUS_ENABLED });
177
- };
178
- exports.enableBreakpointNode = enableBreakpointNode;
179
- const disableBreakpointNode = (node) => {
180
- node = (0, utils_1.getRealNode)(node);
181
- if (!node) {
182
- return;
183
- }
184
- node.update({ breakpoint: constants_1.STATUS_DISABLED });
185
- };
186
- exports.disableBreakpointNode = disableBreakpointNode;
187
- const removeBreakpointNode = (node) => {
188
- node = (0, utils_1.getRealNode)(node);
189
- if (!node) {
190
- return;
191
- }
192
- const frontend = isFrontend(node);
193
- const backendData = {
194
- eventType: constants_1.EVENT_TYPE_BREAKPOINT,
195
- breakpoint: {
196
- path: node.nodePath,
197
- breakpointStatus: constants_1.STATUS_DELETED,
198
- },
199
- };
200
- node.update({ breakpoint: null });
201
- !frontend && socket.emitToBackend(backendData);
202
- deleter(node);
203
- };
204
- exports.removeBreakpointNode = removeBreakpointNode;
205
- const addBreakpointNodesFromNode = (source) => {
206
- (0, utils_1.traverseBreakpointOnNode)(source, creater);
207
- };
208
- exports.addBreakpointNodesFromNode = addBreakpointNodesFromNode;
209
- const addBreakpointNodesFromApp = (source) => {
210
- exports.store.nodes = [];
211
- setTimeout(() => (0, utils_1.traverseBreakpointOnApp)(source, creater));
212
- };
213
- exports.addBreakpointNodesFromApp = addBreakpointNodesFromApp;
214
- let temporaryNodes = [];
215
- const recoverBreakpointAfterTemporary = () => {
216
- temporaryNodes.forEach((node) => {
217
- if (node) {
218
- node.breakpoint = constants_1.STATUS_ENABLED;
219
- }
220
- });
221
- };
222
- exports.recoverBreakpointAfterTemporary = recoverBreakpointAfterTemporary;
223
- const removeBreakpointForTemporary = async () => {
224
- temporaryNodes = exports.store.nodes || [];
225
- temporaryNodes.forEach((node) => {
226
- if (node && 'breakpoint' in node) {
227
- delete node.breakpoint;
228
- }
229
- });
230
- await Promise.resolve(temporaryNodes);
231
- (0, exports.recoverBreakpointAfterTemporary)();
232
- };
233
- exports.removeBreakpointForTemporary = removeBreakpointForTemporary;
234
- const findFromStack = (targetPath = exports.store.activePath) => {
235
- const { stack = [], activeStackItem = {} } = exports.store;
236
- const { operation: { path: activeStackItemPath = '' } = {} } = activeStackItem;
237
- if (activeStackItemPath === targetPath) {
238
- return activeStackItem;
239
- }
240
- return stack.find((item = {}) => {
241
- const { operation: { path = '' } = {} } = item;
242
- return targetPath === path;
243
- });
244
- };
245
- exports.findFromStack = findFromStack;
246
- const resolveBreakpointToBackend = (path = exports.store.activePath) => {
247
- const eventType = constants_1.EVENT_TYPE_RESOLVE;
248
- const data = { eventType, path };
249
- path && socket.emitToBackend(data);
250
- };
251
- exports.resolveBreakpointToBackend = resolveBreakpointToBackend;
252
- const resolveBreakpointToFrontend = (path = exports.store.activePath) => {
253
- const eventType = constants_1.EVENT_TYPE_RESOLVE;
254
- const data = { eventType, path };
255
- path && socket.emitToFrontend(data);
256
- };
257
- exports.resolveBreakpointToFrontend = resolveBreakpointToFrontend;
258
- const resolveByPath = (path = exports.store.activePath) => {
259
- const { activePath, stack = [] } = exports.store;
260
- const found = (0, exports.findFromStack)(path);
261
- const nextStack = stack.filter((item) => item !== found);
262
- if (activePath === path) {
263
- // eslint-disable-next-line prefer-destructuring
264
- exports.store.activeStackItem = nextStack[0];
265
- }
266
- exports.store.stack = nextStack;
267
- };
268
- exports.resolveByPath = resolveByPath;
269
- const resolveBreakpoint = (path = exports.store.activePath) => {
270
- const found = (0, exports.findFromStack)();
271
- if (!found) {
272
- return;
273
- }
274
- const { target } = found;
275
- switch (target) {
276
- case constants_1.TARGET_BACKEND: {
277
- (0, exports.resolveBreakpointToBackend)(path);
278
- break;
279
- }
280
- case constants_1.TARGET_FRONTEND: {
281
- (0, exports.resolveBreakpointToFrontend)(path);
282
- break;
283
- }
284
- }
285
- exports.store.echoStackItem = found;
286
- (0, exports.resolveByPath)();
287
- };
288
- exports.resolveBreakpoint = resolveBreakpoint;
289
- const stepOverBreakpointToBackend = () => {
290
- const { activePath } = exports.store;
291
- activePath && socket.emitToBackend({
292
- eventType: constants_1.EVENT_TYPE_STEP_OVER,
293
- path: exports.store.activePath,
294
- });
295
- };
296
- exports.stepOverBreakpointToBackend = stepOverBreakpointToBackend;
297
- const stepOverBreakpointToFrontend = (data = {}) => {
298
- const { activePath } = exports.store;
299
- activePath && socket.emitToFrontend({
300
- eventType: constants_1.EVENT_TYPE_STEP_OVER,
301
- path: exports.store.activePath,
302
- ...data,
303
- });
304
- };
305
- exports.stepOverBreakpointToFrontend = stepOverBreakpointToFrontend;
306
- const stepOverBreakpoint = (data = {}) => {
307
- const found = (0, exports.findFromStack)();
308
- if (!found) {
309
- return;
310
- }
311
- const { target } = found;
312
- switch (target) {
313
- case constants_1.TARGET_BACKEND: {
314
- (0, exports.stepOverBreakpointToBackend)();
315
- break;
316
- }
317
- case constants_1.TARGET_FRONTEND: {
318
- (0, exports.stepOverBreakpointToFrontend)(data);
319
- break;
320
- }
321
- }
322
- exports.store.echoStackItem = found;
323
- (0, exports.resolveByPath)();
324
- };
325
- exports.stepOverBreakpoint = stepOverBreakpoint;
326
- const fetchBackendPage = (source = {}) => socket.emitToBackend({
327
- eventType: constants_1.EVENT_TYPE_PAGE_INFO,
328
- ...source,
329
- });
330
- exports.fetchBackendPage = fetchBackendPage;
331
- const fetchBackendReturn = (source = {}) => socket.emitToBackend({
332
- eventType: constants_1.EVENT_TYPE_RETURN_INFO,
333
- ...source,
334
- });
335
- exports.fetchBackendReturn = fetchBackendReturn;
336
- const fetchBackendObject = (source = {}) => socket.emitToBackend({
337
- eventType: constants_1.EVENT_TYPE_OBJECT_INFO,
338
- ...source,
339
- });
340
- exports.fetchBackendObject = fetchBackendObject;
341
- let variableNodes = [];
342
- let variablesPromise;
343
- let resolveVariablesPromise;
344
- const nodeToCode = (node) => {
345
- let code;
346
- try {
347
- if ('toJS' in node) {
348
- code = node.toJS();
349
- }
350
- }
351
- catch (e) {
352
- console.error(e);
353
- code = '';
354
- }
355
- return code;
356
- };
357
- const fetchVariables = (0, debounce_1.default)(async () => {
358
- const { activePath } = exports.store;
359
- const resolve = resolveVariablesPromise;
360
- const codes = variableNodes.map(nodeToCode);
361
- variableNodes = [];
362
- variablesPromise = undefined;
363
- resolveVariablesPromise = undefined;
364
- const result = await socket.emitToFrontend({
365
- eventType: constants_1.EVENT_TYPE_PARSE,
366
- path: activePath,
367
- codes,
368
- });
369
- resolve && resolve(result);
370
- }, 0, { leading: false, trailing: true });
371
- const getVariablesPromise = () => {
372
- variablesPromise = variablesPromise || new Promise((resolve) => {
373
- resolveVariablesPromise = resolve;
374
- });
375
- fetchVariables();
376
- return variablesPromise;
377
- };
378
- const fetchFrontendVariable = async (node) => {
379
- const { length } = variableNodes;
380
- variableNodes = variableNodes.concat(node);
381
- const promise = getVariablesPromise();
382
- const result = await promise;
383
- return result && result[length];
384
- };
385
- exports.fetchFrontendVariable = fetchFrontendVariable;
386
- const fetchReturn = async (node) => {
387
- const { nodePath: path } = node;
388
- if (!path) {
389
- return;
390
- }
391
- const found = (0, exports.findFromStack)();
392
- if (!found) {
393
- return;
394
- }
395
- const { target } = found;
396
- const data = { path };
397
- switch (target) {
398
- case constants_1.TARGET_BACKEND: {
399
- return (0, exports.fetchBackendReturn)(data);
400
- }
401
- case constants_1.TARGET_FRONTEND: {
402
- const eventType = constants_1.EVENT_TYPE_CACHE;
403
- const options = { eventType, ...data };
404
- return socket.emitToFrontend(options);
405
- }
406
- }
407
- };
408
- exports.fetchReturn = fetchReturn;
409
- exports.default = exports.store;
410
- //# sourceMappingURL=core.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../../src/breakpoint/store/core.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=dock.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dock.d.ts","sourceRoot":"","sources":["../../../src/breakpoint/store/dock.ts"],"names":[],"mappings":""}
@@ -1,160 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const constants_1 = require("../shared/constants");
27
- const socket = __importStar(require("../shared/socket"));
28
- const core_1 = require("./core");
29
- const isMatchStepOver = (source = {}) => {
30
- const { echoStackItem = {} } = core_1.store;
31
- const { target, operation: { threadId = 0 } = {}, } = echoStackItem;
32
- const { target: sourceTarget, operation: { threadId: sourceThreadId = 0 } = {}, } = source;
33
- const a = [target, threadId];
34
- const b = [sourceTarget, sourceThreadId];
35
- return a.every((x, i) => a[i] === b[i]);
36
- };
37
- const forBreakpoint = (target) => (data = {}) => {
38
- const { enable, activePath, activeStackItem } = core_1.store;
39
- const { path } = data;
40
- const current = { target, operation: data };
41
- const matched = isMatchStepOver(current);
42
- if (matched) {
43
- core_1.store.stack.unshift(current);
44
- core_1.store.activeStackItem = current;
45
- core_1.store.echoStackItem = undefined;
46
- }
47
- else {
48
- core_1.store.stack.push(current);
49
- core_1.store.activeStackItem = activePath ? activeStackItem : current;
50
- }
51
- !enable && path && (0, core_1.resolveBreakpoint)(path);
52
- };
53
- // 前端代码执行到断点发送过来
54
- socket.on(constants_1.EVENT_TYPE_BREAKPOINT, forBreakpoint(constants_1.TARGET_FRONTEND));
55
- // 后端代码执行到断点发送过来
56
- socket.on(constants_1.RESPONSE_TYPE_DEBUG_INFO, forBreakpoint(constants_1.TARGET_BACKEND));
57
- // 建立连接时
58
- socket.on(constants_1.RESPONSE_TYPE_CONNECTION_INFO, (data = {}) => {
59
- const { connectionName, connectionStatus } = data;
60
- const isFrontend = connectionName === constants_1.CONNECTION_NAME_FRONTEND;
61
- const isConnected = connectionStatus === constants_1.CONNECTION_STATUS_CONNECTED;
62
- if (isFrontend && isConnected) {
63
- (0, core_1.syncBreakpointsToFrontend)();
64
- }
65
- });
66
- const cleanStackWhenDisconnect = (target) => {
67
- if (!target) {
68
- return;
69
- }
70
- const found = (0, core_1.findFromStack)();
71
- const { stack = [] } = core_1.store;
72
- const filter = (item = {}) => item.target !== target;
73
- core_1.store.stack = stack.filter(filter);
74
- const useful = core_1.store.stack.includes(found);
75
- if (useful) {
76
- return;
77
- }
78
- // eslint-disable-next-line prefer-destructuring
79
- core_1.store.activeStackItem = core_1.store.stack[0];
80
- };
81
- // 连接发生变化时
82
- socket.on(constants_1.RESPONSE_TYPE_CONNECTION_INFO, (data = {}) => {
83
- const { connections = [] } = core_1.store;
84
- const { connectionName, connectionStatus } = data;
85
- switch (connectionStatus) {
86
- case constants_1.CONNECTION_STATUS_CONNECTED: {
87
- core_1.store.connections.push(connectionName);
88
- break;
89
- }
90
- case constants_1.CONNECTION_STATUS_DISCONNECTED: {
91
- const filter = (item) => item !== connectionName;
92
- core_1.store.connections = connections.filter(filter);
93
- switch (connectionName) {
94
- case constants_1.CONNECTION_NAME_BACKEND: {
95
- cleanStackWhenDisconnect(constants_1.TARGET_BACKEND);
96
- break;
97
- }
98
- case constants_1.CONNECTION_NAME_FRONTEND: {
99
- cleanStackWhenDisconnect(constants_1.TARGET_FRONTEND);
100
- break;
101
- }
102
- }
103
- break;
104
- }
105
- }
106
- });
107
- // 前端手动释放断点
108
- socket.on(constants_1.EVENT_TYPE_RESOLVE, (data = {}) => {
109
- const { path } = data;
110
- path && (0, core_1.resolveByPath)(path);
111
- });
112
- const cleanStore = () => {
113
- core_1.store.stack = [];
114
- core_1.store.connections = [];
115
- core_1.store.activeStackItem = {};
116
- };
117
- socket.on(constants_1.EVENT_DISCONNECT, cleanStore);
118
- socket.on(constants_1.EVENT_RECONNECT, cleanStore);
119
- socket.setPolyfillGetter(() => {
120
- const found = (0, core_1.findFromStack)();
121
- if (!found) {
122
- return;
123
- }
124
- const { operation = {} } = found;
125
- const { variables, ...rest } = operation;
126
- return rest;
127
- });
128
- // 后端点击下一步执行结束
129
- socket.on(constants_1.RESPONSE_TYPE_END_INFO, (data = {}) => {
130
- const { eventType, frontendScopeId } = data;
131
- if (eventType !== constants_1.EVENT_TYPE_STEP_OVER) {
132
- return;
133
- }
134
- if (!frontendScopeId) {
135
- return;
136
- }
137
- socket.emitToFrontend({
138
- eventType: constants_1.EVENT_TYPE_STEP_OVER,
139
- scopeId: `${frontendScopeId}`,
140
- formBackend: true,
141
- logicPath: '',
142
- path: '',
143
- });
144
- });
145
- // 后端主动结束调试请求
146
- socket.on(constants_1.RESPONSE_TYPE_RELEASE_INFO, (data = {}) => {
147
- const { threadId } = data;
148
- const { stack = [], activeStackItem } = core_1.store;
149
- const found = stack.find((item = {}) => item?.operation?.threadId === threadId);
150
- if (!found) {
151
- return;
152
- }
153
- const nextStack = stack.filter((item) => item !== found);
154
- if (activeStackItem === found) {
155
- // eslint-disable-next-line prefer-destructuring
156
- core_1.store.activeStackItem = nextStack[0];
157
- }
158
- core_1.store.stack = nextStack;
159
- });
160
- //# sourceMappingURL=dock.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dock.js","sourceRoot":"","sources":["../../../src/breakpoint/store/dock.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import './dock';
2
- export * from './core';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/breakpoint/store/index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,CAAC;AAChB,cAAc,QAAQ,CAAC"}
@@ -1,19 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- require("./dock");
18
- __exportStar(require("./core"), exports);
19
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/breakpoint/store/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kBAAgB;AAChB,yCAAuB"}