roku-debug 0.12.2 → 0.14.0

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 (44) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/FileUtils.d.ts +8 -0
  3. package/dist/FileUtils.js +29 -3
  4. package/dist/FileUtils.js.map +1 -1
  5. package/dist/adapters/DebugProtocolAdapter.d.ts +7 -1
  6. package/dist/adapters/DebugProtocolAdapter.js +55 -3
  7. package/dist/adapters/DebugProtocolAdapter.js.map +1 -1
  8. package/dist/adapters/TelnetAdapter.d.ts +16 -0
  9. package/dist/adapters/TelnetAdapter.js +4 -0
  10. package/dist/adapters/TelnetAdapter.js.map +1 -1
  11. package/dist/debugProtocol/Constants.d.ts +29 -1
  12. package/dist/debugProtocol/Constants.js +30 -1
  13. package/dist/debugProtocol/Constants.js.map +1 -1
  14. package/dist/debugProtocol/Debugger.d.ts +11 -5
  15. package/dist/debugProtocol/Debugger.js +39 -14
  16. package/dist/debugProtocol/Debugger.js.map +1 -1
  17. package/dist/debugProtocol/responses/ListBreakpointsResponse.d.ts +2 -1
  18. package/dist/debugProtocol/responses/ListBreakpointsResponse.js +1 -1
  19. package/dist/debugProtocol/responses/ListBreakpointsResponse.js.map +1 -1
  20. package/dist/debugSession/BrightScriptDebugSession.d.ts +8 -2
  21. package/dist/debugSession/BrightScriptDebugSession.js +74 -31
  22. package/dist/debugSession/BrightScriptDebugSession.js.map +1 -1
  23. package/dist/debugSession/Events.d.ts +7 -0
  24. package/dist/debugSession/Events.js +8 -1
  25. package/dist/debugSession/Events.js.map +1 -1
  26. package/dist/interfaces.d.ts +4 -0
  27. package/dist/managers/ActionQueue.d.ts +9 -0
  28. package/dist/managers/ActionQueue.js +38 -0
  29. package/dist/managers/ActionQueue.js.map +1 -0
  30. package/dist/managers/BreakpointManager.d.ts +128 -27
  31. package/dist/managers/BreakpointManager.js +294 -89
  32. package/dist/managers/BreakpointManager.js.map +1 -1
  33. package/dist/managers/FileManager.js +3 -3
  34. package/dist/managers/FileManager.js.map +1 -1
  35. package/dist/managers/LocationManager.js +1 -1
  36. package/dist/managers/LocationManager.js.map +1 -1
  37. package/dist/managers/ProjectManager.d.ts +4 -6
  38. package/dist/managers/ProjectManager.js +22 -30
  39. package/dist/managers/ProjectManager.js.map +1 -1
  40. package/dist/util.js +1 -4
  41. package/dist/util.js.map +1 -1
  42. package/package.json +3 -3
  43. package/roku-debug-0.14.0.tgz +0 -0
  44. package/roku-debug-0.12.2.tgz +0 -0
@@ -7,145 +7,220 @@ const source_map_1 = require("source-map");
7
7
  const FileUtils_1 = require("../FileUtils");
8
8
  const roku_deploy_1 = require("roku-deploy");
9
9
  const util_1 = require("../util");
10
+ const eventemitter3_1 = require("eventemitter3");
10
11
  class BreakpointManager {
11
12
  constructor(sourceMapManager, locationManager) {
12
13
  this.sourceMapManager = sourceMapManager;
13
14
  this.locationManager = locationManager;
14
- /**
15
- * Indicates whether the app has been launched or not.
16
- * This will determine whether the breakpoints should be written to the files, or marked as not verified (greyed out in vscode)
17
- */
18
- this.areBreakpointsLocked = false;
15
+ this.emitter = new eventemitter3_1.EventEmitter();
19
16
  /**
20
17
  * A map of breakpoints by what file they were set in.
21
18
  * This does not handle any source-to-dest mapping...these breakpoints are stored in the file they were set in.
22
19
  * These breakpoints are all set before launch, and then this list is not changed again after that.
23
20
  * (this concept may need to be modified once we get live breakpoint support)
24
21
  */
25
- this.breakpointsByFilePath = {};
22
+ this.breakpointsByFilePath = new Map();
23
+ /**
24
+ * A sequence used to generate unique client breakpoint IDs
25
+ */
26
+ this.breakpointIdSequence = 1;
27
+ this.verifiedBreakpointKeys = [];
28
+ this.isVerifyEventQueued = false;
29
+ /**
30
+ * The list of breakpoints that were permanently written to a file at the start of a debug session. Used for line offset calculations.
31
+ */
32
+ this.permanentBreakpointsBySrcPath = new Map();
26
33
  this.bpIndex = 1;
34
+ /**
35
+ * Flag indicating whether a `getDiff` function is currently running
36
+ */
37
+ this.isGetDiffRunning = false;
38
+ this.lastState = new Map();
27
39
  }
28
- /**
29
- * Tell the breakpoint manager that no new breakpoints can be verified
30
- * (most likely due to the app being launched and roku not supporting dynamic breakpoints)
31
- */
32
- lockBreakpoints() {
33
- this.areBreakpointsLocked = true;
40
+ emit(eventName, data) {
41
+ this.emitter.emit(eventName, data);
42
+ }
43
+ on(eventName, handler) {
44
+ this.emitter.on(eventName, handler);
45
+ return () => {
46
+ this.emitter.off(eventName, handler);
47
+ };
34
48
  }
35
49
  /**
36
50
  * breakpoint lines are 1-based, and columns are zero-based
37
51
  */
38
- registerBreakpoint(sourceFilePath, breakpoint) {
39
- var _a, _b, _c, _d, _e;
40
- sourceFilePath = this.sanitizeSourceFilePath(sourceFilePath);
52
+ setBreakpoint(srcPath, breakpoint) {
53
+ var _a, _b, _c;
54
+ srcPath = this.sanitizeSourceFilePath(srcPath);
55
+ //if a breakpoint gets set in rootDir, and we have sourceDirs, convert the rootDir path to sourceDirs path
56
+ //so the breakpoint gets moved into the source file instead of the output file
57
+ if (((_a = this.launchConfiguration) === null || _a === void 0 ? void 0 : _a.sourceDirs) && this.launchConfiguration.sourceDirs.length > 0) {
58
+ let lastWorkingPath = '';
59
+ for (const sourceDir of this.launchConfiguration.sourceDirs) {
60
+ srcPath = srcPath.replace(this.launchConfiguration.rootDir, sourceDir);
61
+ if (fsExtra.pathExistsSync(srcPath)) {
62
+ lastWorkingPath = srcPath;
63
+ }
64
+ }
65
+ srcPath = this.sanitizeSourceFilePath(lastWorkingPath);
66
+ }
41
67
  //get the breakpoints array (and optionally initialize it if not set)
42
- let breakpointsArray = (_a = this.breakpointsByFilePath[sourceFilePath]) !== null && _a !== void 0 ? _a : [];
43
- this.breakpointsByFilePath[sourceFilePath] = breakpointsArray;
44
- let existingBreakpoint = breakpointsArray.find(x => x.line === breakpoint.line);
45
- let bp = Object.assign(existingBreakpoint || {}, breakpoint);
46
- //set column=0 if the breakpoint is missing that field
47
- bp.column = (_b = bp.column) !== null && _b !== void 0 ? _b : 0;
48
- bp.wasAddedBeforeLaunch = (_c = bp.wasAddedBeforeLaunch) !== null && _c !== void 0 ? _c : this.areBreakpointsLocked === false;
49
- //set an id if one does not already exist (used for pushing breakpoints to the client)
50
- bp.id = (_d = bp.id) !== null && _d !== void 0 ? _d : BreakpointManager.breakpointIdSequence++;
51
- //any breakpoint set in this function is not hidden
52
- bp.isHidden = false;
53
- //mark non-supported breakpoint as NOT verified, since we don't support debugging non-brightscript files
54
- if (!FileUtils_1.fileUtils.hasAnyExtension(sourceFilePath, ['.brs', '.bs', '.xml'])) {
68
+ let breakpointsArray = this.getBreakpointsForFile(srcPath, true);
69
+ //only a single breakpoint can be defined per line. So, if we find one on this line, we'll augment that breakpoint rather than builiding a new one
70
+ const existingBreakpoint = breakpointsArray.find(x => x.line === breakpoint.line);
71
+ let bp = Object.assign(existingBreakpoint !== null && existingBreakpoint !== void 0 ? existingBreakpoint : {}, {
72
+ //remove common attributes from any existing breakpoint so we don't end up with more info than we need
73
+ ...{
74
+ //default to 0 if the breakpoint is missing `column`
75
+ column: 0,
76
+ condition: undefined,
77
+ hitCondition: undefined,
78
+ logMessage: undefined
79
+ },
80
+ ...breakpoint,
81
+ srcPath: srcPath,
82
+ //assign a hash-like key to this breakpoint (so we can match against other similar breakpoints in the future)
83
+ hash: this.getBreakpointKey(srcPath, breakpoint)
84
+ });
85
+ //generate a new id for this breakpoint if one does not exist
86
+ (_b = bp.id) !== null && _b !== void 0 ? _b : (bp.id = this.breakpointIdSequence++);
87
+ //all breakpoints default to false if not already set to true
88
+ (_c = bp.verified) !== null && _c !== void 0 ? _c : (bp.verified = false);
89
+ //if the breakpoint hash changed, mark the breakpoint as unverified
90
+ if ((existingBreakpoint === null || existingBreakpoint === void 0 ? void 0 : existingBreakpoint.hash) !== bp.hash) {
55
91
  bp.verified = false;
56
- //debug session is not launched yet, all of these breakpoints are treated as verified
57
92
  }
58
- else if (this.areBreakpointsLocked === false) {
59
- //confirm that breakpoint is at a valid location. TODO figure out how to determine valid locations...
60
- bp.verified = true;
61
- //a debug session is currently running
93
+ //if this is a new breakpoint, add it to the list. (otherwise, the existing breakpoint is edited in-place)
94
+ if (!existingBreakpoint) {
95
+ breakpointsArray.push(bp);
62
96
  }
63
- else {
64
- //TODO use the standard reverse-lookup logic for converting the rootDir or stagingDir paths into sourceDirs
65
- //if a breakpoint gets set in rootDir, and we have sourceDirs, convert the rootDir path to sourceDirs path
66
- //so the breakpoint gets moved into the source file instead of the output file
67
- if (((_e = this.launchConfiguration) === null || _e === void 0 ? void 0 : _e.sourceDirs) && this.launchConfiguration.sourceDirs.length > 0) {
68
- let lastWorkingPath = '';
69
- for (const sourceDir of this.launchConfiguration.sourceDirs) {
70
- sourceFilePath = sourceFilePath.replace(this.launchConfiguration.rootDir, sourceDir);
71
- if (fsExtra.pathExistsSync(sourceFilePath)) {
72
- lastWorkingPath = sourceFilePath;
73
- }
97
+ //if this is one of the permanent breakpoints, mark it as verified immediately (only applicable to telnet sessions)
98
+ if (this.getPermanentBreakpoint(bp.hash)) {
99
+ this.verifyBreakpoint(bp.hash, bp.id);
100
+ }
101
+ return bp;
102
+ }
103
+ /**
104
+ * Find a breakpoint by its hash
105
+ * @returns the breakpoint, or undefined if not found
106
+ */
107
+ getBreakpointByHash(hash) {
108
+ return this.getBreakpointsByHashes([hash])[0];
109
+ }
110
+ /**
111
+ * Find a list of breakpoints by their hashes
112
+ * @returns the breakpoint, or undefined if not found
113
+ */
114
+ getBreakpointsByHashes(hashes) {
115
+ const result = [];
116
+ for (const [, breakpoints] of this.breakpointsByFilePath) {
117
+ for (const breakpoint of breakpoints) {
118
+ if (hashes.includes(breakpoint.hash)) {
119
+ result.push(breakpoint);
74
120
  }
75
- sourceFilePath = lastWorkingPath;
76
- }
77
- //new breakpoints will be verified=false, but breakpoints that were removed and then added again should be verified=true
78
- if (breakpointsArray.find(x => x.wasAddedBeforeLaunch && x.line === bp.line)) {
79
- bp.verified = true;
80
- bp.wasAddedBeforeLaunch = true;
81
- }
82
- else {
83
- bp.verified = false;
84
- bp.wasAddedBeforeLaunch = false;
85
121
  }
86
122
  }
87
- //if we already have a breakpoint for this exact line, don't add another one
88
- if (breakpointsArray.find(x => x.line === breakpoint.line)) {
123
+ return result;
124
+ }
125
+ /**
126
+ * Mark this breakpoint as verified
127
+ */
128
+ verifyBreakpoint(hash, deviceId) {
129
+ const breakpoint = this.getBreakpointByHash(hash);
130
+ if (breakpoint) {
131
+ breakpoint.verified = true;
132
+ breakpoint.deviceId = deviceId;
89
133
  }
90
- else {
91
- //add the breakpoint to the list
92
- breakpointsArray.push(bp);
134
+ this.queueVerifyEvent(hash);
135
+ }
136
+ /**
137
+ * Whenever breakpoints get verified, they need to be synced back to vscode.
138
+ * This queues up a future function that will emit a batch of all verified breakpoints.
139
+ * @param hash the breakpoint hash that identifies this specific breakpoint based on its features
140
+ */
141
+ queueVerifyEvent(hash) {
142
+ this.verifiedBreakpointKeys.push(hash);
143
+ if (!this.isVerifyEventQueued) {
144
+ this.isVerifyEventQueued = true;
145
+ process.nextTick(() => {
146
+ this.isVerifyEventQueued = false;
147
+ const breakpoints = this.getBreakpointsByHashes(this.verifiedBreakpointKeys.map(x => x));
148
+ this.verifiedBreakpointKeys = [];
149
+ this.emit('breakpoints-verified', {
150
+ breakpoints: breakpoints
151
+ });
152
+ });
93
153
  }
94
154
  }
95
155
  /**
96
- * Set/replace/delete the list of breakpoints for this file.
97
- * @param sourceFilePath
98
- * @param allBreakpointsForFile
156
+ * Generate a key based on the features of the breakpoint. Every breakpoint that exists at the same location
157
+ * and has the same features should have the same key.
99
158
  */
100
- replaceBreakpoints(sourceFilePath, allBreakpointsForFile) {
101
- sourceFilePath = this.sanitizeSourceFilePath(sourceFilePath);
102
- if (this.areBreakpointsLocked) {
103
- //keep verified breakpoints, but toss the rest
104
- this.breakpointsByFilePath[sourceFilePath] = this.getBreakpointsForFile(sourceFilePath)
105
- .filter(x => x.verified);
106
- //hide all of the breakpoints (the active ones will be reenabled later in this method)
107
- for (let bp of this.breakpointsByFilePath[sourceFilePath]) {
108
- bp.isHidden = true;
109
- }
159
+ getBreakpointKey(filePath, breakpoint) {
160
+ var _a, _b, _c;
161
+ const key = `${(0, FileUtils_1.standardizePath)(filePath)}:${breakpoint.line}:${(_a = breakpoint.column) !== null && _a !== void 0 ? _a : 0}`;
162
+ const condition = (_b = breakpoint.condition) === null || _b === void 0 ? void 0 : _b.trim();
163
+ if (condition) {
164
+ return `${key}-condition=${condition}`;
110
165
  }
111
- else {
112
- //we're not debugging erase all of the breakpoints
113
- this.breakpointsByFilePath[sourceFilePath] = [];
166
+ const hitCondition = parseInt((_c = breakpoint.hitCondition) === null || _c === void 0 ? void 0 : _c.trim());
167
+ if (!isNaN(hitCondition)) {
168
+ return `${key}-hitCondition=${hitCondition}`;
114
169
  }
115
- for (let breakpoint of allBreakpointsForFile) {
116
- this.registerBreakpoint(sourceFilePath, breakpoint);
170
+ if (breakpoint.logMessage) {
171
+ return `${key}-logMessage=${breakpoint.logMessage}`;
117
172
  }
173
+ return `${key}-standard`;
174
+ }
175
+ /**
176
+ * Set/replace/delete the list of breakpoints for this file.
177
+ * @param srcPath
178
+ * @param allBreakpointsForFile
179
+ */
180
+ replaceBreakpoints(srcPath, allBreakpointsForFile) {
181
+ srcPath = this.sanitizeSourceFilePath(srcPath);
182
+ const currentBreakpoints = allBreakpointsForFile.map(breakpoint => this.setBreakpoint(srcPath, breakpoint));
183
+ //delete all breakpoints from the file that are not currently in this list
184
+ this.breakpointsByFilePath.set(srcPath, this.getBreakpointsForFile(srcPath).filter(x => currentBreakpoints.includes(x)));
118
185
  //get the final list of breakpoints
119
- return this.getBreakpointsForFile(sourceFilePath);
186
+ return currentBreakpoints;
120
187
  }
121
188
  /**
122
189
  * Get a list of all breakpoint tasks that should be performed.
123
190
  * This will also exclude files with breakpoints that are not in scope.
124
191
  */
125
192
  async getBreakpointWork(project) {
193
+ var _a;
126
194
  let result = {};
127
195
  //iterate over every file that contains breakpoints
128
- for (let sourceFilePath in this.breakpointsByFilePath) {
129
- let breakpoints = this.breakpointsByFilePath[sourceFilePath];
196
+ for (let [sourceFilePath, breakpoints] of this.breakpointsByFilePath) {
130
197
  for (let breakpoint of breakpoints) {
131
198
  //get the list of locations in staging that this breakpoint should be written to.
132
199
  //if none are found, then this breakpoint is ignored
133
200
  let stagingLocationsResult = await this.locationManager.getStagingLocations(sourceFilePath, breakpoint.line, breakpoint.column, [
134
- ...project.sourceDirs,
201
+ ...(_a = project === null || project === void 0 ? void 0 : project.sourceDirs) !== null && _a !== void 0 ? _a : [],
135
202
  project.rootDir
136
203
  ], project.stagingFolderPath, project.fileMappings);
137
204
  for (let stagingLocation of stagingLocationsResult.locations) {
138
205
  let relativeStagingPath = FileUtils_1.fileUtils.replaceCaseInsensitive(stagingLocation.filePath, FileUtils_1.fileUtils.standardizePath(FileUtils_1.fileUtils.removeTrailingSlash(project.stagingFolderPath) + '/'), '');
206
+ const pkgPath = 'pkg:/' + FileUtils_1.fileUtils
207
+ //replace staging folder path with nothing (so we can build a pkg path)
208
+ .replaceCaseInsensitive((0, roku_deploy_1.standardizePath) `${stagingLocation.filePath}`, (0, roku_deploy_1.standardizePath) `${project.stagingFolderPath}`, '')
209
+ //force to unix path separators
210
+ .replace(/[\/\\]+/g, '/')
211
+ //remove leading slash
212
+ .replace(/^\//, '');
139
213
  let obj = {
140
214
  //add the breakpoint info
141
215
  ...breakpoint,
142
216
  //add additional info
143
- sourceFilePath: sourceFilePath,
217
+ srcPath: sourceFilePath,
144
218
  rootDirFilePath: (0, roku_deploy_1.standardizePath) `${project.rootDir}/${relativeStagingPath}`,
145
219
  line: stagingLocation.lineNumber,
146
220
  column: stagingLocation.columnIndex,
147
221
  stagingFilePath: stagingLocation.filePath,
148
- type: stagingLocationsResult.type
222
+ type: stagingLocationsResult.type,
223
+ pkgPath: pkgPath
149
224
  };
150
225
  if (!result[stagingLocation.filePath]) {
151
226
  result[stagingLocation.filePath] = [];
@@ -181,9 +256,27 @@ class BreakpointManager {
181
256
  let breakpointsByStagingFilePath = await this.getBreakpointWork(project);
182
257
  let promises = [];
183
258
  for (let stagingFilePath in breakpointsByStagingFilePath) {
184
- promises.push(this.writeBreakpointsToFile(stagingFilePath, breakpointsByStagingFilePath[stagingFilePath]));
259
+ const breakpoints = breakpointsByStagingFilePath[stagingFilePath];
260
+ promises.push(this.writeBreakpointsToFile(stagingFilePath, breakpoints));
261
+ for (const breakpoint of breakpoints) {
262
+ //mark this breakpoint as verified
263
+ this.verifyBreakpoint(breakpoint.hash, breakpoint.id);
264
+ //add this breakpoint to the list of "permanent" breakpoints
265
+ this.registerPermanentBreakpoint(breakpoint);
266
+ }
185
267
  }
186
268
  await Promise.all(promises);
269
+ //sort all permanent breakpoints by line and column
270
+ for (const [key, breakpoints] of this.permanentBreakpointsBySrcPath) {
271
+ this.permanentBreakpointsBySrcPath.set(key, (0, natural_orderby_1.orderBy)(breakpoints, [x => x.line, x => x.column]));
272
+ }
273
+ }
274
+ registerPermanentBreakpoint(breakpoint) {
275
+ var _a;
276
+ const collection = (_a = this.permanentBreakpointsBySrcPath.get(breakpoint.srcPath)) !== null && _a !== void 0 ? _a : [];
277
+ //clone the breakpoint so future updates don't mutate it.
278
+ collection.push({ ...breakpoint });
279
+ this.permanentBreakpointsBySrcPath.set(breakpoint.srcPath, collection);
187
280
  }
188
281
  /**
189
282
  * Write breakpoints to the specified file, and update the sourcemaps to match
@@ -200,7 +293,7 @@ class BreakpointManager {
200
293
  //the calling function will merge this sourcemap into the other existing sourcemap, so just use the same name because it doesn't matter
201
294
  ? breakpoints[0].rootDirFilePath
202
295
  //the calling function doesn't have a sourcemap for this file, so we need to point it to the sourceDirs found location (probably rootDir...)
203
- : breakpoints[0].sourceFilePath;
296
+ : breakpoints[0].srcPath;
204
297
  let sourceAndMap = this.getSourceAndMapWithBreakpoints(fileContents, originalFilePath, breakpoints);
205
298
  //if we got a map file back, write it to the filesystem
206
299
  if (sourceAndMap.map) {
@@ -311,10 +404,34 @@ class BreakpointManager {
311
404
  /**
312
405
  * Get the list of breakpoints for the specified file path, or an empty array
313
406
  */
314
- getBreakpointsForFile(filePath) {
407
+ getBreakpointsForFile(filePath, registerIfMissing = false) {
315
408
  var _a;
316
409
  let key = this.sanitizeSourceFilePath(filePath);
317
- return (_a = this.breakpointsByFilePath[key]) !== null && _a !== void 0 ? _a : [];
410
+ const result = (_a = this.breakpointsByFilePath.get(key)) !== null && _a !== void 0 ? _a : [];
411
+ if (registerIfMissing === true) {
412
+ this.breakpointsByFilePath.set(key, result);
413
+ }
414
+ return result;
415
+ }
416
+ /**
417
+ * Get the permanent breakpoint with the specified hash
418
+ * @returns the breakpoint with the matching hash, or undefined
419
+ */
420
+ getPermanentBreakpoint(hash) {
421
+ for (const [, breakpoints] of this.permanentBreakpointsBySrcPath) {
422
+ for (const breakpoint of breakpoints) {
423
+ if (breakpoint.hash === hash) {
424
+ return breakpoint;
425
+ }
426
+ }
427
+ }
428
+ }
429
+ /**
430
+ * Get the list of breakpoints that were written to the source file
431
+ */
432
+ getPermanentBreakpointsForFile(srcPath) {
433
+ var _a;
434
+ return (_a = this.permanentBreakpointsBySrcPath.get(this.sanitizeSourceFilePath(srcPath))) !== null && _a !== void 0 ? _a : [];
318
435
  }
319
436
  /**
320
437
  * File paths can be different casing sometimes,
@@ -322,14 +439,102 @@ class BreakpointManager {
322
439
  */
323
440
  sanitizeSourceFilePath(filePath) {
324
441
  filePath = FileUtils_1.fileUtils.standardizePath(filePath);
325
- for (let key in this.breakpointsByFilePath) {
442
+ for (let [key] of this.breakpointsByFilePath) {
326
443
  if (filePath.toLowerCase() === key.toLowerCase()) {
327
444
  return key;
328
445
  }
329
446
  }
330
447
  return filePath;
331
448
  }
449
+ /**
450
+ * Determine if there's a breakpoint set at the given staging folder and line.
451
+ * This is not trivial, so only run when absolutely necessary
452
+ * @param projects the list of projects to scan
453
+ * @param pkgPath the path to the file in the staging directory
454
+ * @param line the 0-based line for the breakpoint
455
+ */
456
+ async lineHasBreakpoint(projects, pkgPath, line) {
457
+ const workByProject = (await Promise.all(projects.map(project => this.getBreakpointWork(project))));
458
+ for (const projectWork of workByProject) {
459
+ for (let key in projectWork) {
460
+ const work = projectWork[key];
461
+ for (const item of work) {
462
+ if (item.pkgPath === pkgPath && item.line - 1 === line) {
463
+ return true;
464
+ }
465
+ }
466
+ }
467
+ }
468
+ }
469
+ /**
470
+ * Get a diff of all breakpoints that have changed since the last time the diff was retrieved.
471
+ * Sets the new baseline to the current state, so the next diff will be based on this new baseline.
472
+ *
473
+ * All projects should be passed in every time.
474
+ */
475
+ async getDiff(projects) {
476
+ //if the diff is currently running, return an empty "nothing has changed" diff
477
+ if (this.isGetDiffRunning) {
478
+ return {
479
+ added: [],
480
+ removed: [],
481
+ unchanged: [...this.lastState.values()]
482
+ };
483
+ }
484
+ try {
485
+ this.isGetDiffRunning = true;
486
+ const currentState = new Map();
487
+ await Promise.all(projects.map(async (project) => {
488
+ //get breakpoint data for every project
489
+ const work = await this.getBreakpointWork(project);
490
+ for (const filePath in work) {
491
+ const fileWork = work[filePath];
492
+ for (const bp of fileWork) {
493
+ bp.stagingFilePath = FileUtils_1.fileUtils.postfixFilePath(bp.stagingFilePath, project.postfix, ['.brs']);
494
+ bp.pkgPath = FileUtils_1.fileUtils.postfixFilePath(bp.pkgPath, project.postfix, ['.brs']);
495
+ const key = [
496
+ bp.stagingFilePath,
497
+ bp.line,
498
+ bp.column,
499
+ bp.condition,
500
+ bp.hitCondition,
501
+ bp.logMessage
502
+ ].join('--');
503
+ //clone the breakpoint and then add it to the current state
504
+ currentState.set(key, { ...bp });
505
+ }
506
+ }
507
+ }));
508
+ const added = new Map();
509
+ const removed = new Map();
510
+ const unchanged = new Map();
511
+ for (const key of [...currentState.keys(), ...this.lastState.keys()]) {
512
+ const inCurrent = currentState.has(key);
513
+ const inLast = this.lastState.has(key);
514
+ //no change
515
+ if (inLast && inCurrent) {
516
+ unchanged.set(key, currentState.get(key));
517
+ //added since last time
518
+ }
519
+ else if (!inLast && inCurrent) {
520
+ added.set(key, currentState.get(key));
521
+ //removed since last time
522
+ }
523
+ else {
524
+ removed.set(key, this.lastState.get(key));
525
+ }
526
+ }
527
+ this.lastState = currentState;
528
+ return {
529
+ added: [...added.values()],
530
+ removed: [...removed.values()],
531
+ unchanged: [...unchanged.values()]
532
+ };
533
+ }
534
+ finally {
535
+ this.isGetDiffRunning = false;
536
+ }
537
+ }
332
538
  }
333
539
  exports.BreakpointManager = BreakpointManager;
334
- BreakpointManager.breakpointIdSequence = 1;
335
540
  //# sourceMappingURL=BreakpointManager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BreakpointManager.js","sourceRoot":"","sources":["../../src/managers/BreakpointManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BreakpointManager.js","sourceRoot":"","sources":["../../src/managers/BreakpointManager.ts"],"names":[],"mappings":"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"}
@@ -18,8 +18,8 @@ class FileManager {
18
18
  this.cache = {};
19
19
  }
20
20
  getCodeFile(filePath) {
21
- let lowerFilePath = filePath.toLowerCase();
22
- if (!this.cache[lowerFilePath]) {
21
+ let lowerFilePath = filePath === null || filePath === void 0 ? void 0 : filePath.toLowerCase();
22
+ if (lowerFilePath && !this.cache[lowerFilePath]) {
23
23
  let fileInfo = {
24
24
  lines: [],
25
25
  functionNameMap: {}
@@ -116,7 +116,7 @@ class FileManager {
116
116
  getCorrectFunctionNameCase(sourceFilePath, functionName) {
117
117
  var _a;
118
118
  let fileInfo = this.getCodeFile(sourceFilePath);
119
- return (_a = fileInfo.functionNameMap[functionName.toLowerCase()]) !== null && _a !== void 0 ? _a : functionName;
119
+ return (_a = fileInfo === null || fileInfo === void 0 ? void 0 : fileInfo.functionNameMap[functionName === null || functionName === void 0 ? void 0 : functionName.toLowerCase()]) !== null && _a !== void 0 ? _a : functionName;
120
120
  }
121
121
  /**
122
122
  * Find the function at the given position
@@ -1 +1 @@
1
- {"version":3,"file":"FileManager.js","sourceRoot":"","sources":["../../src/managers/FileManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileManager.js","sourceRoot":"","sources":["../../src/managers/FileManager.ts"],"names":[],"mappings":"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"}
@@ -127,7 +127,7 @@ class LocationManager {
127
127
  }
128
128
  //look through the files array to see if there are any mappings that reference this file.
129
129
  //both `src` and `dest` are assumed to already be standardized
130
- for (let fileMapping of fileMappings) {
130
+ for (let fileMapping of fileMappings !== null && fileMappings !== void 0 ? fileMappings : []) {
131
131
  if (fileMapping.src === sourceFilePath) {
132
132
  return {
133
133
  type: 'fileMap',
@@ -1 +1 @@
1
- {"version":3,"file":"LocationManager.js","sourceRoot":"","sources":["../../src/managers/LocationManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LocationManager.js","sourceRoot":"","sources":["../../src/managers/LocationManager.ts"],"names":[],"mappings":"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"}