@lcap/nasl-breakpoint 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 (62) hide show
  1. package/README.md +3 -0
  2. package/out/generator/AfterStartNode.d.ts +8 -0
  3. package/out/generator/AfterStartNode.d.ts.map +1 -0
  4. package/out/generator/AfterStartNode.js +30 -0
  5. package/out/generator/AfterStartNode.js.map +1 -0
  6. package/out/generator/BeforeEndNode.d.ts +8 -0
  7. package/out/generator/BeforeEndNode.d.ts.map +1 -0
  8. package/out/generator/BeforeEndNode.js +28 -0
  9. package/out/generator/BeforeEndNode.js.map +1 -0
  10. package/out/generator/BreakpointNode.d.ts +23 -0
  11. package/out/generator/BreakpointNode.d.ts.map +1 -0
  12. package/out/generator/BreakpointNode.js +314 -0
  13. package/out/generator/BreakpointNode.js.map +1 -0
  14. package/out/generator/CallbackNode.d.ts +6 -0
  15. package/out/generator/CallbackNode.d.ts.map +1 -0
  16. package/out/generator/CallbackNode.js +39 -0
  17. package/out/generator/CallbackNode.js.map +1 -0
  18. package/out/generator/FragmentNode.d.ts +5 -0
  19. package/out/generator/FragmentNode.d.ts.map +1 -0
  20. package/out/generator/FragmentNode.js +18 -0
  21. package/out/generator/FragmentNode.js.map +1 -0
  22. package/out/generator/index.d.ts +10 -0
  23. package/out/generator/index.d.ts.map +1 -0
  24. package/out/generator/index.js +149 -0
  25. package/out/generator/index.js.map +1 -0
  26. package/out/index.d.ts +4 -0
  27. package/out/index.d.ts.map +1 -0
  28. package/out/index.js +20 -0
  29. package/out/index.js.map +1 -0
  30. package/out/shared/constants.d.ts +38 -0
  31. package/out/shared/constants.d.ts.map +1 -0
  32. package/out/shared/constants.js +108 -0
  33. package/out/shared/constants.js.map +1 -0
  34. package/out/shared/index.d.ts +4 -0
  35. package/out/shared/index.d.ts.map +1 -0
  36. package/out/shared/index.js +33 -0
  37. package/out/shared/index.js.map +1 -0
  38. package/out/shared/operations.d.ts +11 -0
  39. package/out/shared/operations.d.ts.map +1 -0
  40. package/out/shared/operations.js +25 -0
  41. package/out/shared/operations.js.map +1 -0
  42. package/out/shared/socket.d.ts +49 -0
  43. package/out/shared/socket.d.ts.map +1 -0
  44. package/out/shared/socket.js +257 -0
  45. package/out/shared/socket.js.map +1 -0
  46. package/out/shared/utils.d.ts +29 -0
  47. package/out/shared/utils.d.ts.map +1 -0
  48. package/out/shared/utils.js +217 -0
  49. package/out/shared/utils.js.map +1 -0
  50. package/out/store/core.d.ts +81 -0
  51. package/out/store/core.d.ts.map +1 -0
  52. package/out/store/core.js +411 -0
  53. package/out/store/core.js.map +1 -0
  54. package/out/store/dock.d.ts +2 -0
  55. package/out/store/dock.d.ts.map +1 -0
  56. package/out/store/dock.js +160 -0
  57. package/out/store/dock.js.map +1 -0
  58. package/out/store/index.d.ts +3 -0
  59. package/out/store/index.d.ts.map +1 -0
  60. package/out/store/index.js +19 -0
  61. package/out/store/index.js.map +1 -0
  62. package/package.json +34 -0
@@ -0,0 +1,257 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.emitToFrontend = exports.getBeacon = exports.emitToBackend = exports.setPolyfillGetter = exports.emit = exports.on = exports.off = exports.disconnect = exports.connect = exports.isConnected = void 0;
7
+ const socket_io_client_1 = __importDefault(require("socket.io-client"));
8
+ const constants_1 = require("./constants");
9
+ const utils_1 = require("./utils");
10
+ let socket;
11
+ const store = {};
12
+ const socketType = 'debug';
13
+ const namespace = '/debug/ide';
14
+ const path = '/debug/context';
15
+ const nativeTypes = [constants_1.EVENT_DISCONNECT, constants_1.EVENT_RECONNECT];
16
+ const callback = (result = {}) => {
17
+ const { type, data = {} } = result;
18
+ const { eventType } = data;
19
+ if (!type) {
20
+ return;
21
+ }
22
+ const key = type === constants_1.RESPONSE_TYPE_FRONTEND_INFO ? eventType : type;
23
+ if (!key) {
24
+ return;
25
+ }
26
+ const { [key]: listeners = [] } = store;
27
+ listeners.forEach((listener) => listener(data));
28
+ };
29
+ const register = (current) => {
30
+ current && nativeTypes.forEach((type) => {
31
+ current.on(type, () => callback({ type }));
32
+ });
33
+ };
34
+ const isConnected = () => socket && socket.connected;
35
+ exports.isConnected = isConnected;
36
+ const rejectEvents = [
37
+ 'error',
38
+ 'connect_error',
39
+ 'connect_timeout',
40
+ constants_1.EVENT_DISCONNECT,
41
+ ];
42
+ const connect = (appId = '') => {
43
+ if (socket) {
44
+ return;
45
+ }
46
+ if (!appId) {
47
+ return;
48
+ }
49
+ const query = { appId };
50
+ const extraHeaders = query;
51
+ const transportOptions = {
52
+ polling: { extraHeaders },
53
+ };
54
+ socket = (0, socket_io_client_1.default)(namespace, {
55
+ transports: ['websocket'],
56
+ reconnectionAttempts: 5,
57
+ transportOptions,
58
+ path,
59
+ query,
60
+ });
61
+ socket.on(socketType, callback);
62
+ register(socket);
63
+ return new Promise((resolve, reject) => {
64
+ const onReject = (error) => {
65
+ reject(error);
66
+ callback({ type: constants_1.RESPONSE_TYPE_EXCEPTION_INFO });
67
+ };
68
+ const onResolve = () => {
69
+ rejectEvents.forEach((item) => {
70
+ socket.off(item, onReject);
71
+ });
72
+ resolve(socket);
73
+ };
74
+ rejectEvents.forEach((item) => {
75
+ socket.on(item, onReject);
76
+ });
77
+ socket.on('connect', onResolve);
78
+ });
79
+ };
80
+ exports.connect = connect;
81
+ const disconnect = () => {
82
+ socket && socket.disconnect();
83
+ socket = null;
84
+ callback({ type: constants_1.EVENT_DISCONNECT });
85
+ };
86
+ exports.disconnect = disconnect;
87
+ const off = (type, listener) => {
88
+ const { [type]: listeners = [] } = store;
89
+ store[type] = listeners.filter((item) => item !== listener);
90
+ };
91
+ exports.off = off;
92
+ const on = (type, listener) => {
93
+ const { [type]: listeners = [] } = store;
94
+ store[type] = listeners.concat(listener);
95
+ return () => (0, exports.off)(type, listener);
96
+ };
97
+ exports.on = on;
98
+ const emit = (data = {}) => {
99
+ if (!socket) {
100
+ return;
101
+ }
102
+ socket.emit(socketType, data);
103
+ };
104
+ exports.emit = emit;
105
+ let getter = () => ({});
106
+ const getPolyfill = () => getter && getter();
107
+ const setPolyfillGetter = (rookie) => {
108
+ getter = rookie || getter;
109
+ };
110
+ exports.setPolyfillGetter = setPolyfillGetter;
111
+ const isUsefulArray = (array = []) => array.every((item) => item !== undefined);
112
+ const isDifferentArray = (a = [], b = []) => {
113
+ const length = Math.max(a.length, b.length);
114
+ for (let i = 0; i < length; i += 1) {
115
+ if (a[i] !== b[i]) {
116
+ return true;
117
+ }
118
+ }
119
+ return false;
120
+ };
121
+ const tick = (time = 5000) => (...args) => new Promise((resolve) => {
122
+ // eslint-disable-next-line
123
+ let un;
124
+ // eslint-disable-next-line
125
+ let timer;
126
+ const [type, listener] = args;
127
+ const func = async (...rest) => {
128
+ const result = listener && await listener(...rest);
129
+ if (result === undefined) {
130
+ return;
131
+ }
132
+ un();
133
+ resolve(result);
134
+ timer && clearTimeout(timer);
135
+ };
136
+ un = (0, exports.on)(type, func);
137
+ timer = setTimeout(un, time);
138
+ });
139
+ const tickers = [
140
+ (data = {}) => {
141
+ const { operation = {} } = data;
142
+ const { eventType, pageNum: requestPageNum, pageSize: requestPageSize, uniqueId: requestUniqueId, } = operation;
143
+ if (eventType !== constants_1.EVENT_TYPE_PAGE_INFO) {
144
+ return;
145
+ }
146
+ const requestValues = [requestPageNum, requestPageSize, requestUniqueId];
147
+ const useful = isUsefulArray(requestValues);
148
+ if (!useful) {
149
+ return;
150
+ }
151
+ return tick()(constants_1.RESPONSE_TYPE_PAGE_INFO, (source = {}) => {
152
+ const { variable, pageNum: responsePageNum, pageSize: responsePageSize, uniqueId: responseUniqueId, } = source;
153
+ if (!variable) {
154
+ return;
155
+ }
156
+ const responseValues = [responsePageNum, responsePageSize, responseUniqueId];
157
+ const different = isDifferentArray(responseValues, requestValues);
158
+ return different ? undefined : variable;
159
+ });
160
+ },
161
+ (data = {}) => {
162
+ const { operation = {} } = data;
163
+ const { eventType, uniqueId: requestUniqueId } = operation;
164
+ if (eventType !== constants_1.EVENT_TYPE_OBJECT_INFO) {
165
+ return;
166
+ }
167
+ const requestValues = [requestUniqueId];
168
+ const useful = isUsefulArray(requestValues);
169
+ if (!useful) {
170
+ return;
171
+ }
172
+ return tick()(constants_1.RESPONSE_TYPE_OBJECT_INFO, (source = {}) => {
173
+ const { variable, uniqueId: responseUniqueId, } = source;
174
+ if (!variable) {
175
+ return;
176
+ }
177
+ const responseValues = [responseUniqueId];
178
+ const different = isDifferentArray(responseValues, requestValues);
179
+ return different ? undefined : variable;
180
+ });
181
+ },
182
+ (data = {}) => {
183
+ const { operation = {} } = data;
184
+ const { eventType, path: requestPath, uniqueId: requestUniqueId = 0, pageNum: requestPageNum = 0, pageSize: requestPageSize = 0, } = operation;
185
+ if (eventType !== constants_1.EVENT_TYPE_RETURN_INFO) {
186
+ return;
187
+ }
188
+ const requestValues = [requestPath, requestUniqueId, requestPageNum, requestPageSize];
189
+ const useful = isUsefulArray(requestValues);
190
+ if (!useful) {
191
+ return;
192
+ }
193
+ return tick()(constants_1.RESPONSE_TYPE_RETURN_INFO, (data = {}) => {
194
+ const { variable, path: responsePath, uniqueId: responseUniqueId = 0, pageNum: responsePageNum = 0, pageSize: responsePageSize = 0, } = data;
195
+ if (!variable) {
196
+ return;
197
+ }
198
+ const responseValues = [responsePath, responseUniqueId, responsePageNum, responsePageSize];
199
+ const different = isDifferentArray(responseValues, requestValues);
200
+ return different ? undefined : variable;
201
+ });
202
+ },
203
+ ];
204
+ const emitToBackend = (operation = {}) => {
205
+ const backendPolyfill = getPolyfill() || {};
206
+ operation = { ...backendPolyfill, ...operation };
207
+ const { threadId, eventType } = operation;
208
+ const data = { target: constants_1.TARGET_BACKEND, operation };
209
+ if (!threadId && eventType !== constants_1.EVENT_TYPE_BREAKPOINT) {
210
+ return;
211
+ }
212
+ (0, exports.emit)(data);
213
+ return tickers.reduce((result, ticker) => result || ticker(data), undefined);
214
+ };
215
+ exports.emitToBackend = emitToBackend;
216
+ let uId = 0;
217
+ const getBeacon = () => {
218
+ uId += 1;
219
+ return uId;
220
+ };
221
+ exports.getBeacon = getBeacon;
222
+ const reviver = (key, value) => {
223
+ if (value === constants_1.JSON_VOID) {
224
+ value = (0, utils_1.toStringVoid)();
225
+ }
226
+ return value;
227
+ };
228
+ const emitToFrontend = (operation = {}) => {
229
+ const beacon = (0, exports.getBeacon)();
230
+ const { scopeId } = getPolyfill() || {};
231
+ const data = {
232
+ target: constants_1.TARGET_FRONTEND,
233
+ operation: { beacon, scopeId, ...operation },
234
+ };
235
+ (0, exports.emit)(data);
236
+ const { eventType } = operation;
237
+ if (!eventType) {
238
+ return;
239
+ }
240
+ return tick()(eventType, (source = {}) => {
241
+ const { beacon: responseBeacon, result = 'null' } = source;
242
+ if (responseBeacon !== beacon) {
243
+ return;
244
+ }
245
+ let value;
246
+ try {
247
+ value = JSON.parse(result, reviver);
248
+ }
249
+ catch (error) {
250
+ value = 'null';
251
+ console.error(error);
252
+ }
253
+ return value;
254
+ });
255
+ };
256
+ exports.emitToFrontend = emitToFrontend;
257
+ //# sourceMappingURL=socket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"socket.js","sourceRoot":"","sources":["../../src/shared/socket.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { App, BaseNode } from '@lcap/nasl-concepts';
2
+ type Callback = (node: BaseNode) => void;
3
+ type HistoryInApp = {
4
+ _historyIndex?: number;
5
+ _historyList?: Array<{
6
+ list?: Array<{
7
+ action?: 'delete' | 'create' | 'update';
8
+ object?: null | Record<string, any>;
9
+ oldObject?: null | Record<string, any>;
10
+ }>;
11
+ }>;
12
+ _historyName?: string;
13
+ };
14
+ export declare const isAppDirty: (app?: HistoryInApp) => boolean;
15
+ export declare const getRealNode: (node: BaseNode) => BaseNode;
16
+ export declare const isBreakable: (node: BaseNode) => Boolean;
17
+ export declare const isActive: (store?: any) => any;
18
+ export declare const isEnabled: (node: BaseNode) => Boolean;
19
+ export declare const isDisabled: (node: BaseNode) => Boolean;
20
+ export declare const getUniqueIdFromNode: (node: BaseNode) => string;
21
+ export declare const getGlobalLogics: (app: App) => (import("@lcap/nasl-concepts").Logic | import("@lcap/nasl-concepts").OverriddenLogic)[];
22
+ export declare const getLogics: (app: App) => (import("@lcap/nasl-concepts").Logic | import("@lcap/nasl-concepts").OverriddenLogic)[];
23
+ export declare const traverseBreakpointOnNode: (node: (BaseNode | any), callback: Callback) => void;
24
+ export declare const traverseBreakpointOnApp: (app: App, callback: Callback) => void;
25
+ export declare const toString: (value: any, type: string) => any;
26
+ export declare const toStringVoid: () => any;
27
+ export declare const getLogicAncestor: (node: BaseNode) => BaseNode | undefined;
28
+ export {};
29
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/shared/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,GAAG,EAEH,QAAQ,EAGT,MAAM,qBAAqB,CAAC;AAW7B,KAAK,QAAQ,GAAG,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;AAGzC,KAAK,YAAY,GAAG;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,KAAK,CAAC;QACnB,IAAI,CAAC,EAAE,KAAK,CAAC;YACX,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;YACxC,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YACpC,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;SACxC,CAAC,CAAC;KACJ,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAQF,eAAO,MAAM,UAAU,SAAS,YAAY,YAiC3C,CAAC;AAEF,eAAO,MAAM,WAAW,SAAU,QAAQ,KAAG,QAY5C,CAAC;AAsDF,eAAO,MAAM,WAAW,SAAU,QAAQ,KAAG,OAM5C,CAAC;AAEF,eAAO,MAAM,QAAQ,WAAW,GAAG,QAKlC,CAAC;AAEF,eAAO,MAAM,SAAS,SAAU,QAAQ,KAAG,OAQ1C,CAAC;AAEF,eAAO,MAAM,UAAU,SAAU,QAAQ,KAAG,OAQ3C,CAAC;AAEF,eAAO,MAAM,mBAAmB,SAAU,QAAQ,WAA0B,CAAC;AAE7E,eAAO,MAAM,eAAe,QAAS,GAAG,4FAkBvC,CAAC;AAEF,eAAO,MAAM,SAAS,QAAS,GAAG,4FA+DjC,CAAC;AAUF,eAAO,MAAM,wBAAwB,SAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,YAAY,QAAQ,SAkBlF,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAAS,GAAG,YAAY,QAAQ,SAQnE,CAAC;AAEF,eAAO,MAAM,QAAQ,UAAW,GAAG,QAAQ,MAAM,QAKhD,CAAC;AAEF,eAAO,MAAM,YAAY,WAAsC,CAAC;AAEhE,eAAO,MAAM,gBAAgB,SAAU,QAAQ,KAAG,QAAQ,GAAG,SAS5D,CAAC"}
@@ -0,0 +1,217 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLogicAncestor = exports.toStringVoid = exports.toString = exports.traverseBreakpointOnApp = exports.traverseBreakpointOnNode = exports.getLogics = exports.getGlobalLogics = exports.getUniqueIdFromNode = exports.isDisabled = exports.isEnabled = exports.isActive = exports.isBreakable = exports.getRealNode = exports.isAppDirty = void 0;
4
+ const nasl_concepts_1 = require("@lcap/nasl-concepts");
5
+ const constants_1 = require("./constants");
6
+ const neatKeys = [
7
+ 'breakpoint',
8
+ 'offsetX',
9
+ 'offsetY',
10
+ ];
11
+ const isAppDirty = (app = {}) => {
12
+ if (!app) {
13
+ return false;
14
+ }
15
+ const { _historyIndex = 0, _historyList = [], } = app;
16
+ const historyList = Array.isArray(_historyList) ? _historyList.slice(0, _historyIndex) : [];
17
+ return historyList.some((item = {}) => {
18
+ const { list = [] } = item;
19
+ return list.some((current = {}) => {
20
+ const { action, oldObject } = current;
21
+ if (action !== 'update') {
22
+ return true;
23
+ }
24
+ if (!oldObject) {
25
+ return false;
26
+ }
27
+ const keys = Object.keys(oldObject);
28
+ const filter = (key) => !neatKeys.includes(key);
29
+ const dirtyKeys = keys.filter(filter);
30
+ return dirtyKeys.length > 0;
31
+ });
32
+ });
33
+ };
34
+ exports.isAppDirty = isAppDirty;
35
+ const getRealNode = (node) => {
36
+ if (!node) {
37
+ return;
38
+ }
39
+ const { concept, object } = node;
40
+ if (concept === 'MemberExpression') {
41
+ return (0, exports.getRealNode)(object);
42
+ }
43
+ return node;
44
+ };
45
+ exports.getRealNode = getRealNode;
46
+ const unbrakableAncestors = [
47
+ 'Process',
48
+ 'BindAttribute',
49
+ 'CallAuthInterface',
50
+ ];
51
+ const isBreakableByAncestors = (node) => {
52
+ node = (0, exports.getRealNode)(node);
53
+ if (!node) {
54
+ return false;
55
+ }
56
+ const useful = node instanceof nasl_concepts_1.BaseNode;
57
+ if (!useful) {
58
+ return false;
59
+ }
60
+ return unbrakableAncestors.every((ancestor) => !node.getAncestor(ancestor));
61
+ };
62
+ const isBreakableByCurrent = (node) => {
63
+ node = (0, exports.getRealNode)(node);
64
+ if (!node) {
65
+ return false;
66
+ }
67
+ const { concept } = node;
68
+ return constants_1.BREAKPOINT_CONCEPTS.includes(concept);
69
+ };
70
+ const conditions = [];
71
+ const isBreakableByConditions = (node) => {
72
+ if (!node) {
73
+ return true;
74
+ }
75
+ return conditions.every((condition) => {
76
+ const result = condition(node);
77
+ if (result === undefined) {
78
+ return true;
79
+ }
80
+ return result;
81
+ });
82
+ };
83
+ const isBreakable = (node) => {
84
+ const a = isBreakableByCurrent(node);
85
+ const b = isBreakableByAncestors(node);
86
+ const c = isBreakableByConditions(node);
87
+ return a && b && c;
88
+ };
89
+ exports.isBreakable = isBreakable;
90
+ const isActive = (store = {}) => {
91
+ const lcapPreference = store?.lcapPreference;
92
+ const { activeDebugger = constants_1.DEFAULT_ACTIVE_DEBUGGER } = lcapPreference || {};
93
+ return activeDebugger;
94
+ };
95
+ exports.isActive = isActive;
96
+ const isEnabled = (node) => {
97
+ node = (0, exports.getRealNode)(node);
98
+ if (!node) {
99
+ return false;
100
+ }
101
+ return node.breakpoint === constants_1.STATUS_ENABLED;
102
+ };
103
+ exports.isEnabled = isEnabled;
104
+ const isDisabled = (node) => {
105
+ node = (0, exports.getRealNode)(node);
106
+ if (!node) {
107
+ return false;
108
+ }
109
+ return node.breakpoint === constants_1.STATUS_DISABLED;
110
+ };
111
+ exports.isDisabled = isDisabled;
112
+ const getUniqueIdFromNode = (node) => node && node.nodePath;
113
+ exports.getUniqueIdFromNode = getUniqueIdFromNode;
114
+ const getGlobalLogics = (app) => {
115
+ if (!app) {
116
+ return [];
117
+ }
118
+ const { logics = [], authLogics = [], overriddenLogics = [], authLogicsForCallInterface = [], } = app;
119
+ return [
120
+ ...(logics || []),
121
+ ...(authLogics || []),
122
+ ...(overriddenLogics || []),
123
+ ...(authLogicsForCallInterface || []),
124
+ ];
125
+ };
126
+ exports.getGlobalLogics = getGlobalLogics;
127
+ const getLogics = (app) => {
128
+ if (!app) {
129
+ return [];
130
+ }
131
+ const { frontendTypes = [] } = app;
132
+ let result = (0, exports.getGlobalLogics)(app) || [];
133
+ const forViewElement = (viewElement) => {
134
+ if (!viewElement) {
135
+ return;
136
+ }
137
+ const { children: viewElementChildren = [], bindEvents: viewElementBindEvents = [], } = viewElement;
138
+ viewElementBindEvents.forEach((bindEvent) => {
139
+ const { logics: bindEventLogics = [] } = bindEvent;
140
+ result = result.concat(bindEventLogics);
141
+ });
142
+ viewElementChildren.forEach(forViewElement);
143
+ };
144
+ const forView = (view) => {
145
+ if (!view) {
146
+ return;
147
+ }
148
+ const { logics: viewLogics = [], elements: viewElements = [], bindEvents: viewBindEvents = [], } = view;
149
+ result = result.concat(viewLogics);
150
+ viewBindEvents.forEach((bindEvent) => {
151
+ const { logics: bindEventLogics = [] } = bindEvent;
152
+ result = result.concat(bindEventLogics);
153
+ });
154
+ viewElements.forEach(forViewElement);
155
+ view?.children?.forEach(forView);
156
+ };
157
+ frontendTypes?.forEach((frontendType) => {
158
+ frontendType?.frontends?.forEach((frontend) => {
159
+ const { views = [] } = frontend;
160
+ views && views.forEach(forView);
161
+ });
162
+ const { businessComponents } = frontendType || {};
163
+ if (Array.isArray(businessComponents) && businessComponents.length) {
164
+ businessComponents.forEach(forView);
165
+ }
166
+ });
167
+ return result;
168
+ };
169
+ exports.getLogics = getLogics;
170
+ const hadBreakpoint = (node) => {
171
+ if (node instanceof nasl_concepts_1.BaseNode) {
172
+ return node.breakpoint;
173
+ }
174
+ return false;
175
+ };
176
+ const traverseBreakpointOnNode = (node, callback) => {
177
+ if (!node) {
178
+ return;
179
+ }
180
+ const operate = (item) => hadBreakpoint(item) && callback(item);
181
+ const forEach = (item) => {
182
+ operate(item);
183
+ (0, exports.traverseBreakpointOnNode)(item, callback);
184
+ };
185
+ operate(node);
186
+ constants_1.TRAVERSE_NODE_KEYS.forEach((key) => {
187
+ const { [key]: value } = node;
188
+ const array = Array.isArray(value) ? value : [value];
189
+ array.forEach(forEach);
190
+ });
191
+ };
192
+ exports.traverseBreakpointOnNode = traverseBreakpointOnNode;
193
+ const traverseBreakpointOnApp = (app, callback) => {
194
+ if (!app) {
195
+ return;
196
+ }
197
+ const logics = (0, exports.getLogics)(app);
198
+ logics.forEach((logic) => (0, exports.traverseBreakpointOnNode)(logic, callback));
199
+ };
200
+ exports.traverseBreakpointOnApp = traverseBreakpointOnApp;
201
+ const toString = (value, type) => {
202
+ // eslint-disable-next-line no-new-wrappers
203
+ const result = new String(value);
204
+ result.type = type;
205
+ return result;
206
+ };
207
+ exports.toString = toString;
208
+ const toStringVoid = () => (0, exports.toString)('void', 'undefined');
209
+ exports.toStringVoid = toStringVoid;
210
+ const getLogicAncestor = (node) => {
211
+ if (!node) {
212
+ return;
213
+ }
214
+ return constants_1.LOGIC_CONCEPTS.reduce((result, concpet) => result || node.getAncestor(concpet), undefined);
215
+ };
216
+ exports.getLogicAncestor = getLogicAncestor;
217
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/shared/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ import { BaseNode, App } from '@lcap/nasl-concepts';
2
+ import * as socket from '../shared/socket';
3
+ type Store = {
4
+ enable?: Boolean;
5
+ activePath?: string;
6
+ activeStackItem?: any;
7
+ echoStackItem?: any;
8
+ nodes?: BaseNode[];
9
+ stack?: any[];
10
+ connections?: string[];
11
+ [key: string]: any;
12
+ };
13
+ type StepOverData = Parameters<typeof socket.emitToFrontend>[0];
14
+ export declare const reactive: (callback: <T>(arg: T) => T) => Store;
15
+ export declare const store: Store;
16
+ export declare const syncBreakpointsToFrontend: any;
17
+ export declare const addBreakpointNode: (node: BaseNode) => void;
18
+ export declare const enableBreakpointNode: (node: BaseNode) => void;
19
+ export declare const disableBreakpointNode: (node: BaseNode) => void;
20
+ export declare const removeBreakpointNode: (node: BaseNode) => void;
21
+ export declare const addBreakpointNodesFromNode: (source: BaseNode) => void;
22
+ export declare const addBreakpointNodesFromApp: (source: App) => void;
23
+ export declare const recoverBreakpointAfterTemporary: () => void;
24
+ export declare const removeBreakpointForTemporary: () => Promise<void>;
25
+ export declare const findFromStack: (targetPath?: string) => any;
26
+ export declare const resolveBreakpointToBackend: (path?: string) => void;
27
+ export declare const resolveBreakpointToFrontend: (path?: string) => void;
28
+ export declare const resolveByPath: (path?: string) => void;
29
+ export declare const resolveBreakpoint: (path?: string) => void;
30
+ export declare const stepOverBreakpointToBackend: () => void;
31
+ export declare const stepOverBreakpointToFrontend: (data?: StepOverData) => void;
32
+ export declare const stepOverBreakpoint: (data?: StepOverData) => void;
33
+ export declare const fetchBackendPage: (source?: Record<string, any>) => ((data?: {
34
+ target?: string;
35
+ operation?: {
36
+ [key: string]: any;
37
+ eventType?: string;
38
+ path?: string;
39
+ threadId?: number;
40
+ breakpointStatus?: string;
41
+ frontendInfo?: any;
42
+ breakpoint?: {
43
+ path?: string;
44
+ breakpointStatus?: string;
45
+ };
46
+ };
47
+ }) => Promise<unknown>) | Promise<unknown>;
48
+ export declare const fetchBackendReturn: (source?: Record<string, any>) => ((data?: {
49
+ target?: string;
50
+ operation?: {
51
+ [key: string]: any;
52
+ eventType?: string;
53
+ path?: string;
54
+ threadId?: number;
55
+ breakpointStatus?: string;
56
+ frontendInfo?: any;
57
+ breakpoint?: {
58
+ path?: string;
59
+ breakpointStatus?: string;
60
+ };
61
+ };
62
+ }) => Promise<unknown>) | Promise<unknown>;
63
+ export declare const fetchBackendObject: (source?: Record<string, any>) => ((data?: {
64
+ target?: string;
65
+ operation?: {
66
+ [key: string]: any;
67
+ eventType?: string;
68
+ path?: string;
69
+ threadId?: number;
70
+ breakpointStatus?: string;
71
+ frontendInfo?: any;
72
+ breakpoint?: {
73
+ path?: string;
74
+ breakpointStatus?: string;
75
+ };
76
+ };
77
+ }) => Promise<unknown>) | Promise<unknown>;
78
+ export declare const fetchFrontendVariable: (node: BaseNode) => Promise<any>;
79
+ export declare const fetchReturn: (node: BaseNode) => Promise<unknown>;
80
+ export default store;
81
+ //# sourceMappingURL=core.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/store/core.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAmBpD,OAAO,KAAK,MAAM,MAAM,kBAAkB,CAAC;AAI3C,KAAK,KAAK,GAAG;IACX,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,GAAG,CAAC;IACtB,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,CAAC;AAEF,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAwBhE,eAAO,MAAM,QAAQ,sBAAuB,CAAC,KAAK,CAAC,UAGlD,CAAC;AAEF,eAAO,MAAM,KAAK,OAGhB,CAAC;AAmCH,eAAO,MAAM,yBAAyB,KAWpC,CAAC;AA6EH,eAAO,MAAM,iBAAiB,SAAU,QAAQ,SAoB/C,CAAC;AAEF,eAAO,MAAM,oBAAoB,SAAU,QAAQ,SAQlD,CAAC;AAEF,eAAO,MAAM,qBAAqB,SAAU,QAAQ,SAQnD,CAAC;AAEF,eAAO,MAAM,oBAAoB,SAAU,QAAQ,SAqBlD,CAAC;AAEF,eAAO,MAAM,0BAA0B,WAAY,QAAQ,SAE1D,CAAC;AAEF,eAAO,MAAM,yBAAyB,WAAY,GAAG,SAGpD,CAAC;AAIF,eAAO,MAAM,+BAA+B,YAM3C,CAAC;AAEF,eAAO,MAAM,4BAA4B,qBAUxC,CAAC;AAEF,eAAO,MAAM,aAAa,8BAazB,CAAC;AAEF,eAAO,MAAM,0BAA0B,yBAKtC,CAAC;AAEF,eAAO,MAAM,2BAA2B,yBAKvC,CAAC;AAEF,eAAO,MAAM,aAAa,yBAYzB,CAAC;AAEF,eAAO,MAAM,iBAAiB,yBAsB7B,CAAC;AAEF,eAAO,MAAM,2BAA2B,YAOvC,CAAC;AAEF,eAAO,MAAM,4BAA4B,UAAU,YAAY,SAQ9D,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAAU,YAAY,SAsBpD,CAAC;AAEF,eAAO,MAAM,gBAAgB,YAAY,OAAO,MAAM,EAAE,GAAG,CAAC;;;;;;;;;;;;;;0CAG1D,CAAC;AAEH,eAAO,MAAM,kBAAkB,YAAY,OAAO,MAAM,EAAE,GAAG,CAAC;;;;;;;;;;;;;;0CAG5D,CAAC;AAEH,eAAO,MAAM,kBAAkB,YAAY,OAAO,MAAM,EAAE,GAAG,CAAC;;;;;;;;;;;;;;0CAG5D,CAAC;AAiDH,eAAO,MAAM,qBAAqB,SAAgB,QAAQ,iBASzD,CAAC;AAEF,eAAO,MAAM,WAAW,SAAgB,QAAQ,qBA4B/C,CAAC;AAEF,eAAe,KAAK,CAAC"}