roku-debug 0.8.4 → 0.9.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 (84) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/ChanperfTracker.js +8 -10
  3. package/dist/ChanperfTracker.js.map +1 -1
  4. package/dist/CompileErrorProcessor.d.ts +2 -1
  5. package/dist/CompileErrorProcessor.js +7 -5
  6. package/dist/CompileErrorProcessor.js.map +1 -1
  7. package/dist/ComponentLibraryServer.js +1 -0
  8. package/dist/ComponentLibraryServer.js.map +1 -1
  9. package/dist/FileUtils.d.ts +2 -2
  10. package/dist/FileUtils.js +4 -4
  11. package/dist/FileUtils.js.map +1 -1
  12. package/dist/LaunchConfiguration.d.ts +5 -0
  13. package/dist/PrintedObjectParser.js +1 -0
  14. package/dist/PrintedObjectParser.js.map +1 -1
  15. package/dist/RendezvousTracker.js +6 -8
  16. package/dist/RendezvousTracker.js.map +1 -1
  17. package/dist/SceneGraphDebugCommandController.d.ts +1 -0
  18. package/dist/SceneGraphDebugCommandController.js +14 -7
  19. package/dist/SceneGraphDebugCommandController.js.map +1 -1
  20. package/dist/adapters/DebugProtocolAdapter.d.ts +7 -15
  21. package/dist/adapters/DebugProtocolAdapter.js +32 -30
  22. package/dist/adapters/DebugProtocolAdapter.js.map +1 -1
  23. package/dist/adapters/TelnetAdapter.d.ts +11 -58
  24. package/dist/adapters/TelnetAdapter.js +262 -382
  25. package/dist/adapters/TelnetAdapter.js.map +1 -1
  26. package/dist/adapters/TelnetRequestPipeline.d.ts +51 -0
  27. package/dist/adapters/TelnetRequestPipeline.js +229 -0
  28. package/dist/adapters/TelnetRequestPipeline.js.map +1 -0
  29. package/dist/debugProtocol/Constants.js +1 -0
  30. package/dist/debugProtocol/Constants.js.map +1 -1
  31. package/dist/debugProtocol/Debugger.d.ts +9 -8
  32. package/dist/debugProtocol/Debugger.js +33 -28
  33. package/dist/debugProtocol/Debugger.js.map +1 -1
  34. package/dist/debugProtocol/responses/ConnectIOPortResponse.js +1 -0
  35. package/dist/debugProtocol/responses/ConnectIOPortResponse.js.map +1 -1
  36. package/dist/debugProtocol/responses/HandshakeResponse.js +1 -0
  37. package/dist/debugProtocol/responses/HandshakeResponse.js.map +1 -1
  38. package/dist/debugProtocol/responses/Response.js +1 -0
  39. package/dist/debugProtocol/responses/Response.js.map +1 -1
  40. package/dist/debugProtocol/responses/StackTraceResponse.js +1 -0
  41. package/dist/debugProtocol/responses/StackTraceResponse.js.map +1 -1
  42. package/dist/debugProtocol/responses/ThreadsResponse.js +1 -0
  43. package/dist/debugProtocol/responses/ThreadsResponse.js.map +1 -1
  44. package/dist/debugProtocol/responses/UndefinedResponse.js +1 -0
  45. package/dist/debugProtocol/responses/UndefinedResponse.js.map +1 -1
  46. package/dist/debugProtocol/responses/UpdateThreadsResponse.js +1 -0
  47. package/dist/debugProtocol/responses/UpdateThreadsResponse.js.map +1 -1
  48. package/dist/debugProtocol/responses/VariableResponse.d.ts +1 -1
  49. package/dist/debugProtocol/responses/VariableResponse.js +1 -0
  50. package/dist/debugProtocol/responses/VariableResponse.js.map +1 -1
  51. package/dist/debugProtocol/responses/index.js +18 -11
  52. package/dist/debugProtocol/responses/index.js.map +1 -1
  53. package/dist/debugSession/BrightScriptDebugSession.d.ts +12 -9
  54. package/dist/debugSession/BrightScriptDebugSession.js +114 -92
  55. package/dist/debugSession/BrightScriptDebugSession.js.map +1 -1
  56. package/dist/debugSession/Events.js +1 -0
  57. package/dist/debugSession/Events.js.map +1 -1
  58. package/dist/index.js +26 -18
  59. package/dist/index.js.map +1 -1
  60. package/dist/interfaces.d.ts +11 -0
  61. package/dist/interfaces.js +16 -0
  62. package/dist/interfaces.js.map +1 -0
  63. package/dist/logging.d.ts +11 -0
  64. package/dist/logging.js +14 -0
  65. package/dist/logging.js.map +1 -0
  66. package/dist/managers/BreakpointManager.js +4 -4
  67. package/dist/managers/BreakpointManager.js.map +1 -1
  68. package/dist/managers/FileManager.d.ts +2 -1
  69. package/dist/managers/FileManager.js +9 -6
  70. package/dist/managers/FileManager.js.map +1 -1
  71. package/dist/managers/LocationManager.js +8 -7
  72. package/dist/managers/LocationManager.js.map +1 -1
  73. package/dist/managers/ProjectManager.d.ts +2 -0
  74. package/dist/managers/ProjectManager.js +14 -11
  75. package/dist/managers/ProjectManager.js.map +1 -1
  76. package/dist/managers/SourceMapManager.d.ts +1 -0
  77. package/dist/managers/SourceMapManager.js +9 -8
  78. package/dist/managers/SourceMapManager.js.map +1 -1
  79. package/dist/util.d.ts +50 -14
  80. package/dist/util.js +136 -75
  81. package/dist/util.js.map +1 -1
  82. package/package.json +52 -40
  83. package/roku-debug-0.9.0.tgz +0 -0
  84. package/roku-debug-0.8.4.tgz +0 -0
@@ -2,6 +2,7 @@ import type { ProtocolVersionDetails } from '../debugProtocol/Debugger';
2
2
  import type { RendezvousHistory } from '../RendezvousTracker';
3
3
  import type { ChanperfData } from '../ChanperfTracker';
4
4
  import type { SourceLocation } from '../managers/LocationManager';
5
+ import type { HighLevelType } from '../interfaces';
5
6
  /**
6
7
  * A class that connects to a Roku device over telnet debugger port and provides a standardized way of interacting with it.
7
8
  */
@@ -9,6 +10,7 @@ export declare class DebugProtocolAdapter {
9
10
  private host;
10
11
  private stopOnEntry;
11
12
  constructor(host: string, stopOnEntry?: boolean);
13
+ private logger;
12
14
  connected: boolean;
13
15
  private compileClient;
14
16
  private compileErrorProcessor;
@@ -71,9 +73,9 @@ export declare class DebugProtocolAdapter {
71
73
  /**
72
74
  * Send command to step over
73
75
  */
74
- stepOver(threadId: number): Promise<any>;
75
- stepInto(threadId: number): Promise<any>;
76
- stepOut(threadId: number): Promise<any>;
76
+ stepOver(threadId: number): Promise<import("..").Response>;
77
+ stepInto(threadId: number): Promise<import("..").Response>;
78
+ stepOut(threadId: number): Promise<import("..").Response>;
77
79
  /**
78
80
  * Tell the brightscript program to continue (i.e. resume program)
79
81
  */
@@ -81,7 +83,7 @@ export declare class DebugProtocolAdapter {
81
83
  /**
82
84
  * Tell the brightscript program to pause (fall into debug mode)
83
85
  */
84
- pause(): Promise<unknown>;
86
+ pause(): Promise<import("..").Response>;
85
87
  /**
86
88
  * Clears the state, which means that everything will be retrieved fresh next time it is requested
87
89
  */
@@ -115,10 +117,6 @@ export declare class DebugProtocolAdapter {
115
117
  * Disconnect from the telnet session and unset all objects
116
118
  */
117
119
  destroy(): Promise<void>;
118
- /**
119
- * Make sure any active Brightscript Debugger threads are exited
120
- */
121
- exitActiveBrightscriptDebugger(): Promise<void>;
122
120
  /**
123
121
  * Passes the debug functions used to locate the client files and lines to the RendezvousTracker
124
122
  */
@@ -148,13 +146,6 @@ export interface StackFrame {
148
146
  export declare enum EventName {
149
147
  suspend = "suspend"
150
148
  }
151
- export declare enum HighLevelType {
152
- primative = "primative",
153
- array = "array",
154
- function = "function",
155
- object = "object",
156
- uninitialized = "uninitialized"
157
- }
158
149
  export interface EvaluateContainer {
159
150
  name: string;
160
151
  evaluateName: string;
@@ -165,6 +156,7 @@ export interface EvaluateContainer {
165
156
  elementCount: number;
166
157
  highLevelType: HighLevelType;
167
158
  children: EvaluateContainer[];
159
+ presentationHint?: 'property' | 'method' | 'class' | 'data' | 'event' | 'baseClass' | 'innerClass' | 'interface' | 'mostDerivedClass' | 'virtual' | 'dataBreakpoint';
168
160
  }
169
161
  export declare enum KeyType {
170
162
  string = "String",
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KeyType = exports.EventName = exports.DebugProtocolAdapter = void 0;
3
4
  const Debugger_1 = require("../debugProtocol/Debugger");
4
5
  const EventEmitter = require("events");
5
6
  const net_1 = require("net");
6
- const BrightScriptDebugSession_1 = require("../debugSession/BrightScriptDebugSession");
7
7
  const CompileErrorProcessor_1 = require("../CompileErrorProcessor");
8
8
  const RendezvousTracker_1 = require("../RendezvousTracker");
9
9
  const ChanperfTracker_1 = require("../ChanperfTracker");
10
+ const util_1 = require("../util");
11
+ const logging_1 = require("../logging");
10
12
  /**
11
13
  * A class that connects to a Roku device over telnet debugger port and provides a standardized way of interacting with it.
12
14
  */
@@ -14,6 +16,7 @@ class DebugProtocolAdapter {
14
16
  constructor(host, stopOnEntry = false) {
15
17
  this.host = host;
16
18
  this.stopOnEntry = stopOnEntry;
19
+ this.logger = logging_1.logger.createLogger(`[${DebugProtocolAdapter.name}]`);
17
20
  this.nextFrameId = 1;
18
21
  this.stackFramesCache = {};
19
22
  this.cache = {};
@@ -112,7 +115,7 @@ class DebugProtocolAdapter {
112
115
  * Connect to the telnet session. This should be called before the channel is launched.
113
116
  */
114
117
  async connect() {
115
- let deferred = BrightScriptDebugSession_1.defer();
118
+ let deferred = (0, util_1.defer)();
116
119
  this.socketDebugger = new Debugger_1.Debugger({
117
120
  host: this.host,
118
121
  stopOnEntry: this.stopOnEntry
@@ -145,13 +148,13 @@ class DebugProtocolAdapter {
145
148
  this.beginAppExit();
146
149
  });
147
150
  this.connected = await this.socketDebugger.connect();
148
- console.log(`Closing telnet connection used for compile errors`);
151
+ this.logger.log(`Closing telnet connection used for compile errors`);
149
152
  if (this.compileClient) {
150
153
  this.compileClient.removeAllListeners();
151
154
  this.compileClient.destroy();
152
155
  this.compileClient = undefined;
153
156
  }
154
- console.log(`+++++++++++ CONNECTED TO DEVICE ${this.host}, Success ${this.connected} +++++++++++`);
157
+ this.logger.log(`Connected to device`, { host: this.host, connected: this.connected });
155
158
  this.emit('connected', this.connected);
156
159
  // Listen for the app exit event
157
160
  this.socketDebugger.on('app-exit', () => {
@@ -176,7 +179,7 @@ class DebugProtocolAdapter {
176
179
  catch (e) {
177
180
  deferred.reject(e);
178
181
  }
179
- return await deferred.promise;
182
+ return deferred.promise;
180
183
  }
181
184
  beginAppExit() {
182
185
  this.compileErrorProcessor.compileErrorTimer = setTimeout(() => {
@@ -185,7 +188,7 @@ class DebugProtocolAdapter {
185
188
  }, 200);
186
189
  }
187
190
  async watchCompileOutput() {
188
- let deferred = BrightScriptDebugSession_1.defer();
191
+ let deferred = (0, util_1.defer)();
189
192
  try {
190
193
  this.compileClient = new net_1.Socket();
191
194
  this.compileErrorProcessor.on('compile-errors', (errors) => {
@@ -194,21 +197,27 @@ class DebugProtocolAdapter {
194
197
  });
195
198
  //if the connection fails, reject the connect promise
196
199
  this.compileClient.addListener('error', (err) => {
197
- deferred.reject(new Error(`Error with connection to: ${this.host} \n\n ${err.message}`));
200
+ deferred.reject(new Error(`Error with connection to: ${this.host} \n\n ${err.message} `));
198
201
  });
202
+ this.logger.info('Connecting via telnet to gether compile info', { host: this.host });
199
203
  this.compileClient.connect(8085, this.host, () => {
200
- console.log(`+++++++++++ CONNECTED TO DEVICE ${this.host} VIA TELNET FOR COMPILE INFO +++++++++++`);
204
+ this.logger.log(`Connected via telnet to gather compile info`, { host: this.host });
201
205
  });
206
+ this.logger.debug('Waiting for the compile client to settle');
202
207
  await this.settle(this.compileClient, 'data');
208
+ this.logger.debug('Compile client has settled');
203
209
  let lastPartialLine = '';
204
210
  this.compileClient.on('data', (buffer) => {
205
211
  let responseText = buffer.toString();
212
+ this.logger.info('CompileClient received data', { responseText });
206
213
  if (!responseText.endsWith('\n')) {
214
+ this.logger.debug('Buffer was split');
207
215
  // buffer was split, save the partial line
208
216
  lastPartialLine += responseText;
209
217
  }
210
218
  else {
211
219
  if (lastPartialLine) {
220
+ this.logger.debug('Previous response was split, so merging last response with this one', { lastPartialLine, responseText });
212
221
  // there was leftover lines, join the partial lines back together
213
222
  responseText = lastPartialLine + responseText;
214
223
  lastPartialLine = '';
@@ -224,7 +233,7 @@ class DebugProtocolAdapter {
224
233
  catch (e) {
225
234
  deferred.reject(e);
226
235
  }
227
- return await deferred.promise;
236
+ return deferred.promise;
228
237
  }
229
238
  /**
230
239
  * Send command to step over
@@ -311,6 +320,8 @@ class DebugProtocolAdapter {
311
320
  * @param expression
312
321
  */
313
322
  async getVariable(expression, frameId, withChildren = true) {
323
+ const logger = this.logger.createLogger(' getVariable');
324
+ logger.info('begin', { expression });
314
325
  if (!this.isAtDebuggerPrompt) {
315
326
  throw new Error('Cannot resolve variable: debugger is not paused');
316
327
  }
@@ -318,14 +329,14 @@ class DebugProtocolAdapter {
318
329
  if (!frame) {
319
330
  throw new Error('Cannot request variable without a corresponding frame');
320
331
  }
321
- return this.resolve(`variable: ${expression} ${frame.frameIndex} ${frame.threadIndex}`, async () => {
332
+ return this.resolve(`variable: ${expression} ${frame.frameIndex} ${frame.threadIndex} `, async () => {
322
333
  let variablePath = this.getVariablePath(expression);
323
- let variableInfo = await this.socketDebugger.getVariables(variablePath, withChildren, frame.frameIndex, frame.threadIndex);
324
- if (variableInfo.errorCode === 'OK') {
334
+ let response = await this.socketDebugger.getVariables(variablePath, withChildren, frame.frameIndex, frame.threadIndex);
335
+ if (response.errorCode === 'OK') {
325
336
  let mainContainer;
326
337
  let children = [];
327
338
  let firstHandled = false;
328
- for (let variable of variableInfo.variables) {
339
+ for (let variable of response.variables) {
329
340
  let value;
330
341
  let variableType = variable.variableType;
331
342
  if (variable.value === null) {
@@ -359,7 +370,7 @@ class DebugProtocolAdapter {
359
370
  }
360
371
  else {
361
372
  if (!firstHandled && variablePath.length === 0) {
362
- // If this is a scope request there will be no entry's in the variable path
373
+ // If this is a scope request there will be no entries in the variable path
363
374
  // We will need to create a fake mainContainer
364
375
  firstHandled = true;
365
376
  mainContainer = {
@@ -369,12 +380,17 @@ class DebugProtocolAdapter {
369
380
  type: '',
370
381
  value: null,
371
382
  keyType: 'String',
372
- elementCount: variableInfo.numVariables
383
+ elementCount: response.numVariables
373
384
  };
374
385
  }
375
386
  let pathAddition = mainContainer.keyType === 'Integer' ? children.length : variable.name;
376
387
  container.name = pathAddition.toString();
377
- container.evaluateName = `${mainContainer.evaluateName}.${pathAddition}`;
388
+ if (mainContainer.evaluateName) {
389
+ container.evaluateName = `${mainContainer.evaluateName}.${pathAddition}`;
390
+ }
391
+ else {
392
+ container.evaluateName = pathAddition.toString();
393
+ }
378
394
  container.variablePath = [].concat(container.variablePath, [pathAddition.toString()]);
379
395
  if (container.keyType) {
380
396
  container.children = [];
@@ -469,12 +485,6 @@ class DebugProtocolAdapter {
469
485
  }
470
486
  this.emitter = undefined;
471
487
  }
472
- /**
473
- * Make sure any active Brightscript Debugger threads are exited
474
- */
475
- async exitActiveBrightscriptDebugger() {
476
- // Legacy function called by the debug section
477
- }
478
488
  // #region Rendezvous Tracker pass though functions
479
489
  /**
480
490
  * Passes the debug functions used to locate the client files and lines to the RendezvousTracker
@@ -508,14 +518,6 @@ var EventName;
508
518
  (function (EventName) {
509
519
  EventName["suspend"] = "suspend";
510
520
  })(EventName = exports.EventName || (exports.EventName = {}));
511
- var HighLevelType;
512
- (function (HighLevelType) {
513
- HighLevelType["primative"] = "primative";
514
- HighLevelType["array"] = "array";
515
- HighLevelType["function"] = "function";
516
- HighLevelType["object"] = "object";
517
- HighLevelType["uninitialized"] = "uninitialized";
518
- })(HighLevelType = exports.HighLevelType || (exports.HighLevelType = {}));
519
521
  var KeyType;
520
522
  (function (KeyType) {
521
523
  KeyType["string"] = "String";
@@ -1 +1 @@
1
- {"version":3,"file":"DebugProtocolAdapter.js","sourceRoot":"","sources":["../../src/adapters/DebugProtocolAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DebugProtocolAdapter.js","sourceRoot":"","sources":["../../src/adapters/DebugProtocolAdapter.ts"],"names":[],"mappings":"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"}
@@ -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: any): 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
@@ -127,7 +122,7 @@ export declare class TelnetAdapter {
127
122
  * Gets a string array of all the local variables using the var command
128
123
  * @param scope
129
124
  */
130
- getScopeVariables(scope?: string): Promise<any[]>;
125
+ getScopeVariables(scope?: string): Promise<string[]>;
131
126
  /**
132
127
  * Given an expression, evaluate that statement ON the roku
133
128
  * @param expression
@@ -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,38 +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 debuggerLineRegex;
244
- private isAtDebuggerPrompt;
245
- private get isProcessing();
246
- private get hasRequests();
247
- private currentRequest;
248
- private emitter;
249
- on(eventName: 'console-output' | 'unhandled-console-output', handler: (data: string) => void): any;
250
- private emit;
251
- private connect;
252
- /**
253
- * Checks the supplied string for the debugger input prompt
254
- * @param responseText
255
- */
256
- private checkForDebuggerPrompt;
257
- /**
258
- * Schedule a command to be run. Resolves with the result once the command finishes
259
- * @param commandFunction
260
- * @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
261
- * @param forceExecute - if true, it is assumed the command can be run at any time and will be executed immediately
262
- * @param silent - if true, the command will be hidden from the output
263
- */
264
- executeCommand(command: string, waitForPrompt: boolean, forceExecute?: boolean, silent?: boolean): Promise<string>;
265
- /**
266
- * Internal request processing function
267
- */
268
- private process;
269
- destroy(): void;
270
- }
271
224
  interface BrightScriptRuntimeError {
272
225
  message: string;
273
226
  errorCode: string;