roku-debug 0.8.6 → 0.9.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 (44) hide show
  1. package/CHANGELOG.md +34 -2
  2. package/dist/CompileErrorProcessor.d.ts +1 -0
  3. package/dist/CompileErrorProcessor.js +5 -3
  4. package/dist/CompileErrorProcessor.js.map +1 -1
  5. package/dist/LaunchConfiguration.d.ts +5 -0
  6. package/dist/SceneGraphDebugCommandController.d.ts +1 -0
  7. package/dist/SceneGraphDebugCommandController.js +11 -5
  8. package/dist/SceneGraphDebugCommandController.js.map +1 -1
  9. package/dist/adapters/DebugProtocolAdapter.d.ts +3 -7
  10. package/dist/adapters/DebugProtocolAdapter.js +21 -16
  11. package/dist/adapters/DebugProtocolAdapter.js.map +1 -1
  12. package/dist/adapters/TelnetAdapter.d.ts +10 -51
  13. package/dist/adapters/TelnetAdapter.js +218 -364
  14. package/dist/adapters/TelnetAdapter.js.map +1 -1
  15. package/dist/adapters/TelnetRequestPipeline.d.ts +55 -0
  16. package/dist/adapters/TelnetRequestPipeline.js +250 -0
  17. package/dist/adapters/TelnetRequestPipeline.js.map +1 -0
  18. package/dist/debugProtocol/Debugger.d.ts +1 -0
  19. package/dist/debugProtocol/Debugger.js +20 -19
  20. package/dist/debugProtocol/Debugger.js.map +1 -1
  21. package/dist/debugSession/BrightScriptDebugSession.d.ts +6 -0
  22. package/dist/debugSession/BrightScriptDebugSession.js +83 -44
  23. package/dist/debugSession/BrightScriptDebugSession.js.map +1 -1
  24. package/dist/interfaces.d.ts +11 -0
  25. package/dist/interfaces.js +16 -0
  26. package/dist/interfaces.js.map +1 -0
  27. package/dist/logging.d.ts +11 -0
  28. package/dist/logging.js +14 -0
  29. package/dist/logging.js.map +1 -0
  30. package/dist/managers/FileManager.d.ts +1 -0
  31. package/dist/managers/FileManager.js +3 -1
  32. package/dist/managers/FileManager.js.map +1 -1
  33. package/dist/managers/ProjectManager.d.ts +2 -0
  34. package/dist/managers/ProjectManager.js +5 -2
  35. package/dist/managers/ProjectManager.js.map +1 -1
  36. package/dist/managers/SourceMapManager.d.ts +1 -0
  37. package/dist/managers/SourceMapManager.js +5 -5
  38. package/dist/managers/SourceMapManager.js.map +1 -1
  39. package/dist/util.d.ts +19 -6
  40. package/dist/util.js +41 -30
  41. package/dist/util.js.map +1 -1
  42. package/package.json +4 -1
  43. package/roku-debug-0.9.2.tgz +0 -0
  44. package/roku-debug-0.8.6.tgz +0 -0
@@ -1,8 +1,8 @@
1
- /// <reference types="node" />
2
- import type { Socket } from 'net';
3
1
  import type { RendezvousHistory } from '../RendezvousTracker';
4
2
  import type { ChanperfData } from '../ChanperfTracker';
5
3
  import type { SourceLocation } from '../managers/LocationManager';
4
+ import { HighLevelType } from '../interfaces';
5
+ import { TelnetRequestPipeline } from './TelnetRequestPipeline';
6
6
  /**
7
7
  * A class that connects to a Roku device over telnet debugger port and provides a standardized way of interacting with it.
8
8
  */
@@ -10,9 +10,10 @@ export declare class TelnetAdapter {
10
10
  private host;
11
11
  private enableDebuggerAutoRecovery;
12
12
  constructor(host: string, enableDebuggerAutoRecovery?: boolean);
13
+ logger: import("@rokucommunity/logger/dist/Logger").Logger;
13
14
  connected: boolean;
14
15
  private compileErrorProcessor;
15
- requestPipeline: RequestPipeline;
16
+ requestPipeline: TelnetRequestPipeline;
16
17
  private emitter;
17
18
  private isNextBreakpointSkipped;
18
19
  private isInMicroDebugger;
@@ -67,7 +68,7 @@ export declare class TelnetAdapter {
67
68
  * @param maxWaitMilliseconds
68
69
  */
69
70
  private settle;
70
- processBreakpoints(text: string): string | null;
71
+ private processBreakpoints;
71
72
  /**
72
73
  * Connect to the telnet session. This should be called before the channel is launched.
73
74
  */
@@ -83,7 +84,6 @@ export declare class TelnetAdapter {
83
84
  * @param responseText
84
85
  */
85
86
  private checkForRuntimeError;
86
- private processUnhandledLines;
87
87
  /**
88
88
  * Send command to step over
89
89
  */
@@ -97,7 +97,7 @@ export declare class TelnetAdapter {
97
97
  /**
98
98
  * Tell the brightscript program to pause (fall into debug mode)
99
99
  */
100
- pause(): Promise<string>;
100
+ pause(): void;
101
101
  /**
102
102
  * Clears the state, which means that everything will be retrieved fresh next time it is requested
103
103
  */
@@ -108,16 +108,11 @@ export declare class TelnetAdapter {
108
108
  */
109
109
  evaluate(command: string): Promise<string>;
110
110
  getStackTrace(): Promise<StackFrame[]>;
111
- /**
112
- * Runs a regex to get the content between telnet commands
113
- * @param value
114
- */
115
- getExpressionDetails(value: string): string;
116
111
  /**
117
112
  * Runs a regex to check if the target is an object and get the type if it is
118
113
  * @param value
119
114
  */
120
- getObjectType(value: string): string;
115
+ private getObjectType;
121
116
  /**
122
117
  * Runs a regex to get the first work of a line
123
118
  * @param value
@@ -137,7 +132,7 @@ export declare class TelnetAdapter {
137
132
  * In order to get around the `...` issue in printed arrays, `getVariable` now prints every value from an array or associative array in a for loop.
138
133
  * As such, we need to iterate over every printed result to produce the children array
139
134
  */
140
- getForLoopPrintedChildren(expression: string, data: string): EvaluateContainer[];
135
+ private getForLoopPrintedChildren;
141
136
  /**
142
137
  * Get all of the children of an array or list
143
138
  */
@@ -153,7 +148,7 @@ export declare class TelnetAdapter {
153
148
  * Get the type of the provided expression
154
149
  * @param expression
155
150
  */
156
- getVariableType(expression: any): Promise<string>;
151
+ getVariableType(expression: string): Promise<string>;
157
152
  /**
158
153
  * Cache items by a unique key
159
154
  * @param expression
@@ -168,10 +163,6 @@ export declare class TelnetAdapter {
168
163
  * Disconnect from the telnet session and unset all objects
169
164
  */
170
165
  destroy(): Promise<void>;
171
- /**
172
- * Make sure any active Brightscript Debugger threads are exited
173
- */
174
- exitActiveBrightscriptDebugger(): Promise<void>;
175
166
  /**
176
167
  * Passes the debug functions used to locate the client files and lines to the RendezvousTracker
177
168
  */
@@ -199,13 +190,6 @@ export interface StackFrame {
199
190
  export declare enum EventName {
200
191
  suspend = "suspend"
201
192
  }
202
- export declare enum HighLevelType {
203
- primative = "primative",
204
- array = "array",
205
- function = "function",
206
- object = "object",
207
- uninitialized = "uninitialized"
208
- }
209
193
  export interface EvaluateContainer {
210
194
  name: string;
211
195
  evaluateName: string;
@@ -216,6 +200,7 @@ export interface EvaluateContainer {
216
200
  elementCount: number;
217
201
  highLevelType: HighLevelType;
218
202
  children: EvaluateContainer[];
203
+ presentationHint?: 'property' | 'method' | 'class' | 'data' | 'event' | 'baseClass' | 'innerClass' | 'interface' | 'mostDerivedClass' | 'virtual' | 'dataBreakpoint';
219
204
  }
220
205
  export declare enum KeyType {
221
206
  string = "String",
@@ -236,32 +221,6 @@ export declare enum PrimativeType {
236
221
  integer = "Integer",
237
222
  float = "Float"
238
223
  }
239
- export declare class RequestPipeline {
240
- private client;
241
- constructor(client: Socket);
242
- private requests;
243
- private isAtDebuggerPrompt;
244
- private get isProcessing();
245
- private get hasRequests();
246
- private currentRequest;
247
- private emitter;
248
- on(eventName: 'console-output' | 'unhandled-console-output', handler: (data: string) => void): any;
249
- private emit;
250
- private connect;
251
- /**
252
- * Schedule a command to be run. Resolves with the result once the command finishes
253
- * @param commandFunction
254
- * @param waitForPrompt - if true, the promise will wait until we find a prompt, and return all output in between. If false, the promise will immediately resolve
255
- * @param forceExecute - if true, it is assumed the command can be run at any time and will be executed immediately
256
- * @param silent - if true, the command will be hidden from the output
257
- */
258
- executeCommand(command: string, waitForPrompt: boolean, forceExecute?: boolean, silent?: boolean): Promise<string>;
259
- /**
260
- * Internal request processing function
261
- */
262
- private process;
263
- destroy(): void;
264
- }
265
224
  interface BrightScriptRuntimeError {
266
225
  message: string;
267
226
  errorCode: string;