roku-debug 0.9.2 → 0.10.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 (65) hide show
  1. package/CHANGELOG.md +50 -52
  2. package/LICENSE +21 -0
  3. package/README.md +6 -6
  4. package/dist/adapters/DebugProtocolAdapter.d.ts +18 -8
  5. package/dist/adapters/DebugProtocolAdapter.js +137 -94
  6. package/dist/adapters/DebugProtocolAdapter.js.map +1 -1
  7. package/dist/adapters/TelnetAdapter.d.ts +6 -1
  8. package/dist/adapters/TelnetAdapter.js +8 -1
  9. package/dist/adapters/TelnetAdapter.js.map +1 -1
  10. package/dist/debugProtocol/Constants.d.ts +57 -52
  11. package/dist/debugProtocol/Constants.js +74 -50
  12. package/dist/debugProtocol/Constants.js.map +1 -1
  13. package/dist/debugProtocol/Debugger.d.ts +11 -7
  14. package/dist/debugProtocol/Debugger.js +154 -114
  15. package/dist/debugProtocol/Debugger.js.map +1 -1
  16. package/dist/debugProtocol/responses/ConnectIOPortResponse.d.ts +2 -2
  17. package/dist/debugProtocol/responses/ConnectIOPortResponse.js +5 -3
  18. package/dist/debugProtocol/responses/ConnectIOPortResponse.js.map +1 -1
  19. package/dist/debugProtocol/responses/ExecuteResponseV3.d.ts +23 -0
  20. package/dist/debugProtocol/responses/ExecuteResponseV3.js +54 -0
  21. package/dist/debugProtocol/responses/ExecuteResponseV3.js.map +1 -0
  22. package/dist/debugProtocol/responses/HandshakeResponse.d.ts +2 -0
  23. package/dist/debugProtocol/responses/HandshakeResponse.js +8 -0
  24. package/dist/debugProtocol/responses/HandshakeResponse.js.map +1 -1
  25. package/dist/debugProtocol/responses/HandshakeResponseV3.d.ts +14 -0
  26. package/dist/debugProtocol/responses/HandshakeResponseV3.js +47 -0
  27. package/dist/debugProtocol/responses/HandshakeResponseV3.js.map +1 -0
  28. package/dist/debugProtocol/responses/{Response.d.ts → ProtocolEvent.d.ts} +4 -2
  29. package/dist/debugProtocol/responses/{Response.js → ProtocolEvent.js} +13 -7
  30. package/dist/debugProtocol/responses/ProtocolEvent.js.map +1 -0
  31. package/dist/debugProtocol/responses/ProtocolEventV3.d.ts +11 -0
  32. package/dist/debugProtocol/responses/ProtocolEventV3.js +42 -0
  33. package/dist/debugProtocol/responses/ProtocolEventV3.js.map +1 -0
  34. package/dist/debugProtocol/responses/StackTraceResponse.d.ts +1 -1
  35. package/dist/debugProtocol/responses/StackTraceResponse.js +2 -2
  36. package/dist/debugProtocol/responses/StackTraceResponse.js.map +1 -1
  37. package/dist/debugProtocol/responses/StackTraceResponseV3.d.ts +18 -0
  38. package/dist/debugProtocol/responses/StackTraceResponseV3.js +58 -0
  39. package/dist/debugProtocol/responses/StackTraceResponseV3.js.map +1 -0
  40. package/dist/debugProtocol/responses/ThreadsResponse.d.ts +1 -1
  41. package/dist/debugProtocol/responses/ThreadsResponse.js +2 -1
  42. package/dist/debugProtocol/responses/ThreadsResponse.js.map +1 -1
  43. package/dist/debugProtocol/responses/UndefinedResponse.d.ts +2 -2
  44. package/dist/debugProtocol/responses/UndefinedResponse.js +5 -3
  45. package/dist/debugProtocol/responses/UndefinedResponse.js.map +1 -1
  46. package/dist/debugProtocol/responses/UpdateThreadsResponse.d.ts +2 -2
  47. package/dist/debugProtocol/responses/UpdateThreadsResponse.js +26 -6
  48. package/dist/debugProtocol/responses/UpdateThreadsResponse.js.map +1 -1
  49. package/dist/debugProtocol/responses/VariableResponse.d.ts +1 -1
  50. package/dist/debugProtocol/responses/VariableResponse.js +16 -8
  51. package/dist/debugProtocol/responses/VariableResponse.js.map +1 -1
  52. package/dist/debugProtocol/responses/index.d.ts +4 -1
  53. package/dist/debugProtocol/responses/index.js +4 -1
  54. package/dist/debugProtocol/responses/index.js.map +1 -1
  55. package/dist/debugSession/BrightScriptDebugSession.d.ts +8 -2
  56. package/dist/debugSession/BrightScriptDebugSession.js +87 -62
  57. package/dist/debugSession/BrightScriptDebugSession.js.map +1 -1
  58. package/dist/interfaces.d.ts +4 -0
  59. package/dist/util.d.ts +10 -7
  60. package/dist/util.js +71 -0
  61. package/dist/util.js.map +1 -1
  62. package/package.json +5 -4
  63. package/roku-debug-0.10.0.tgz +0 -0
  64. package/dist/debugProtocol/responses/Response.js.map +0 -1
  65. package/roku-debug-0.9.2.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"VariableResponse.js","sourceRoot":"","sources":["../../../src/debugProtocol/responses/VariableResponse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"VariableResponse.js","sourceRoot":"","sources":["../../../src/debugProtocol/responses/VariableResponse.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
1
  export * from './ConnectIOPortResponse';
2
2
  export * from './HandshakeResponse';
3
- export * from './Response';
3
+ export * from './HandshakeResponseV3';
4
+ export * from './ProtocolEvent';
5
+ export * from './ProtocolEventV3';
4
6
  export * from './StackTraceResponse';
7
+ export * from './StackTraceResponseV3';
5
8
  export * from './ThreadsResponse';
6
9
  export * from './UndefinedResponse';
7
10
  export * from './UpdateThreadsResponse';
@@ -12,8 +12,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./ConnectIOPortResponse"), exports);
14
14
  __exportStar(require("./HandshakeResponse"), exports);
15
- __exportStar(require("./Response"), exports);
15
+ __exportStar(require("./HandshakeResponseV3"), exports);
16
+ __exportStar(require("./ProtocolEvent"), exports);
17
+ __exportStar(require("./ProtocolEventV3"), exports);
16
18
  __exportStar(require("./StackTraceResponse"), exports);
19
+ __exportStar(require("./StackTraceResponseV3"), exports);
17
20
  __exportStar(require("./ThreadsResponse"), exports);
18
21
  __exportStar(require("./UndefinedResponse"), exports);
19
22
  __exportStar(require("./UpdateThreadsResponse"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/debugProtocol/responses/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0DAAwC;AACxC,sDAAoC;AACpC,6CAA2B;AAC3B,uDAAqC;AACrC,oDAAkC;AAClC,sDAAoC;AACpC,0DAAwC;AACxC,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/debugProtocol/responses/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0DAAwC;AACxC,sDAAoC;AACpC,wDAAsC;AACtC,kDAAgC;AAChC,oDAAkC;AAClC,uDAAqC;AACrC,yDAAuC;AACvC,oDAAkC;AAClC,sDAAoC;AACpC,0DAAwC;AACxC,qDAAmC"}
@@ -7,10 +7,9 @@ import { FileManager } from '../managers/FileManager';
7
7
  import { SourceMapManager } from '../managers/SourceMapManager';
8
8
  import { LocationManager } from '../managers/LocationManager';
9
9
  import { BreakpointManager } from '../managers/BreakpointManager';
10
- import type { Logger } from '../logging';
11
10
  export declare class BrightScriptDebugSession extends BaseDebugSession {
12
11
  constructor();
13
- logger: Logger;
12
+ logger: import("@rokucommunity/logger/dist/Logger").Logger;
14
13
  /**
15
14
  * A sequence used to help identify log statements for requests
16
15
  */
@@ -35,6 +34,7 @@ export declare class BrightScriptDebugSession extends BaseDebugSession {
35
34
  private enableDebugProtocol;
36
35
  private getRokuAdapter;
37
36
  private launchConfiguration;
37
+ private initRequestArgs;
38
38
  /**
39
39
  * The 'initialize' request is the first request called by the frontend
40
40
  * to interrogate the features the debug adapter provides.
@@ -99,6 +99,12 @@ export declare class BrightScriptDebugSession extends BaseDebugSession {
99
99
  private getVariableFromResult;
100
100
  private getEvaluateRefId;
101
101
  private clearState;
102
+ /**
103
+ * Tells the client to re-request all variables because we've invalidated them
104
+ * @param threadId
105
+ * @param stackFrameId
106
+ */
107
+ private sendInvalidatedEvent;
102
108
  /**
103
109
  * If `stopOnEntry` is enabled, register the entry breakpoint.
104
110
  */
@@ -60,6 +60,7 @@ class BrightScriptDebugSession extends vscode_debugadapter_1.DebugSession {
60
60
  * to interrogate the features the debug adapter provides.
61
61
  */
62
62
  initializeRequest(response, args) {
63
+ this.initRequestArgs = args;
63
64
  this.logger.log('initializeRequest');
64
65
  // since this debug adapter can accept configuration requests like 'setBreakpoint' at any time,
65
66
  // we request them early by sending an 'initializeRequest' to the frontend.
@@ -613,6 +614,7 @@ class BrightScriptDebugSession extends vscode_debugadapter_1.DebugSession {
613
614
  if (this.rokuAdapter.isAtDebuggerPrompt) {
614
615
  const reference = this.variableHandles.get(args.variablesReference);
615
616
  if (reference) {
617
+ logger.log('reference', reference);
616
618
  // NOTE: Legacy telnet support for local vars
617
619
  if (this.launchConfiguration.enableVariablesPanel) {
618
620
  const vars = await this.rokuAdapter.getScopeVariables(reference);
@@ -629,6 +631,7 @@ class BrightScriptDebugSession extends vscode_debugadapter_1.DebugSession {
629
631
  else {
630
632
  //find the variable with this reference
631
633
  let v = this.variables[args.variablesReference];
634
+ logger.log('variable', v);
632
635
  //query for child vars if we haven't done it yet.
633
636
  if (v.childVariables.length === 0) {
634
637
  let result = await this.rokuAdapter.getVariable(v.evaluateName, v.frameId);
@@ -658,94 +661,104 @@ class BrightScriptDebugSession extends vscode_debugadapter_1.DebugSession {
658
661
  }
659
662
  }
660
663
  async evaluateRequest(response, args) {
664
+ let deferred = (0, util_1.defer)();
661
665
  if (args.context === 'repl' && !this.enableDebugProtocol && args.expression.trim().startsWith('>')) {
662
666
  this.clearState();
663
667
  const expression = args.expression.replace(/^\s*>\s*/, '');
664
668
  this.logger.log('Sending raw telnet command...I sure hope you know what you\'re doing', { expression });
665
669
  this.rokuAdapter.requestPipeline.client.write(`${expression}\r\n`);
666
670
  this.sendResponse(response);
667
- return;
671
+ return deferred.promise;
668
672
  }
669
673
  try {
670
- let deferred = (0, util_1.defer)();
671
674
  this.evaluateRequestPromise = this.evaluateRequestPromise.then(() => {
672
675
  return deferred.promise;
673
676
  });
674
- //fix vscode bug that excludes closing quotemark sometimes.
677
+ //fix vscode hover bug that excludes closing quotemark sometimes.
675
678
  if (args.context === 'hover') {
676
679
  args.expression = util_1.util.ensureClosingQuote(args.expression);
677
680
  }
678
- try {
679
- if (this.rokuAdapter.isAtDebuggerPrompt) {
680
- if (['hover', 'watch'].includes(args.context) || args.expression.toLowerCase().trim().startsWith('print ')) {
681
- //if this command has the word print in front of it, remove that word
682
- let expression = args.expression.replace(/^print/i, '').trim();
683
- let refId = this.getEvaluateRefId(expression, args.frameId);
684
- let v;
685
- //if we already looked this item up, return it
686
- if (this.variables[refId]) {
687
- v = this.variables[refId];
681
+ if (!this.rokuAdapter.isAtDebuggerPrompt) {
682
+ let message = 'Skipped evaluate request because RokuAdapter is not accepting requests at this time';
683
+ if (args.context === 'repl') {
684
+ this.sendEvent(new vscode_debugadapter_1.OutputEvent(message, 'stderr'));
685
+ response.body = {
686
+ result: 'invalid',
687
+ variablesReference: 0
688
+ };
689
+ }
690
+ else {
691
+ throw new Error(message);
692
+ }
693
+ //is at debugger prompt
694
+ }
695
+ else {
696
+ const variablePath = util_1.util.getVariablePath(args.expression);
697
+ //if we found a variable path (e.g. ['a', 'b', 'c']) then do a variable lookup because it's faster and more widely supported than `evaluate`
698
+ if (variablePath) {
699
+ let refId = this.getEvaluateRefId(args.expression, args.frameId);
700
+ let v;
701
+ //if we already looked this item up, return it
702
+ if (this.variables[refId]) {
703
+ v = this.variables[refId];
704
+ }
705
+ else {
706
+ let result = await this.rokuAdapter.getVariable(args.expression, args.frameId, true);
707
+ if (!result) {
708
+ throw new Error(`bad variable request "${args.expression}"`);
688
709
  }
689
- else {
690
- let result = await this.rokuAdapter.getVariable(expression.toLowerCase(), args.frameId, true);
691
- if (!result) {
692
- console.error(`bad variable request ${expression}`);
693
- return;
694
- }
695
- v = this.getVariableFromResult(result, args.frameId);
696
- //TODO - testing something, remove later
697
- // eslint-disable-next-line camelcase
698
- v.request_seq = response.request_seq;
699
- v.frameId = args.frameId;
710
+ v = this.getVariableFromResult(result, args.frameId);
711
+ //TODO - testing something, remove later
712
+ // eslint-disable-next-line camelcase
713
+ v.request_seq = response.request_seq;
714
+ v.frameId = args.frameId;
715
+ }
716
+ response.body = {
717
+ result: v.value,
718
+ type: v.type,
719
+ variablesReference: v.variablesReference,
720
+ namedVariables: v.namedVariables || 0,
721
+ indexedVariables: v.indexedVariables || 0
722
+ };
723
+ //run an `evaluate` call
724
+ }
725
+ else {
726
+ if (this.enableDebugProtocol) {
727
+ const isPrintVar = util_1.util.isPrintVarExpression(args.expression);
728
+ }
729
+ if (args.context === 'repl' || !this.enableDebugProtocol) {
730
+ let commandResults = await this.rokuAdapter.evaluate(args.expression, args.frameId);
731
+ commandResults.message = util_1.util.trimDebugPrompt(commandResults.message);
732
+ //clear variable cache since this action could have side-effects
733
+ this.clearState();
734
+ this.sendInvalidatedEvent(null, args.frameId);
735
+ //if the adapter captured output (probably only telnet), print it to the vscode debug console
736
+ if (typeof commandResults.message === 'string') {
737
+ this.sendEvent(new vscode_debugadapter_1.OutputEvent(commandResults.message, commandResults.type === 'error' ? 'stderr' : 'stdio'));
700
738
  }
701
739
  response.body = {
702
- result: v.value,
703
- type: v.type,
704
- variablesReference: v.variablesReference,
705
- namedVariables: v.namedVariables || 0,
706
- indexedVariables: v.indexedVariables || 0
740
+ result: 'invalid',
741
+ variablesReference: 0
707
742
  };
708
743
  }
709
- else if (args.context === 'repl' && !this.enableDebugProtocol) {
710
- let lowerExpression = args.expression.toLowerCase().trim();
711
- if (['cont', 'c'].includes(lowerExpression)) {
712
- await this.rokuAdapter.continue();
713
- }
714
- else if (lowerExpression === 'over') {
715
- await this.rokuAdapter.stepOver(-1);
716
- }
717
- else if (['step', 's', 't'].includes(lowerExpression)) {
718
- await this.rokuAdapter.stepInto(-1);
719
- }
720
- else if (lowerExpression === 'out') {
721
- await this.rokuAdapter.stepOut(-1);
722
- }
723
- else if (['down', 'd', 'exit', 'thread', 'th', 'up', 'u'].includes(lowerExpression)) {
724
- await this.rokuAdapter.requestPipeline.executeCommand(args.expression, { waitForPrompt: false, insertAtFront: true });
725
- }
726
- else {
727
- const promise = this.rokuAdapter.evaluate(args.expression);
728
- response.body = {
729
- result: await promise
730
- };
731
- // //print the output to the screen
732
- // this.sendEvent(new OutputEvent(result, 'stdout'));
733
- // TODO: support var? maybe?
734
- }
744
+ else {
745
+ response.body = {
746
+ result: 'invalid',
747
+ variablesReference: 0
748
+ };
735
749
  }
736
750
  }
737
- else {
738
- this.logger.log('Skipped evaluate request because RokuAdapter is not accepting requests at this time');
739
- }
740
751
  }
741
- finally {
742
- deferred.resolve();
743
- }
744
- this.sendResponse(response);
745
752
  }
746
753
  catch (error) {
747
754
  this.logger.error('Error during variables request', error);
748
755
  }
756
+ //
757
+ try {
758
+ this.sendResponse(response);
759
+ }
760
+ catch (_a) { }
761
+ deferred.resolve();
749
762
  }
750
763
  /**
751
764
  * Called when the host stops debugging
@@ -859,6 +872,7 @@ class BrightScriptDebugSession extends vscode_debugadapter_1.DebugSession {
859
872
  v.type = result.type;
860
873
  v.evaluateName = result.evaluateName;
861
874
  v.frameId = frameId;
875
+ v.type = result.type;
862
876
  v.presentationHint = result.presentationHint ? { kind: result.presentationHint } : undefined;
863
877
  if (result.children) {
864
878
  let childVariables = [];
@@ -882,6 +896,17 @@ class BrightScriptDebugSession extends vscode_debugadapter_1.DebugSession {
882
896
  //erase all cached variables
883
897
  this.variables = {};
884
898
  }
899
+ /**
900
+ * Tells the client to re-request all variables because we've invalidated them
901
+ * @param threadId
902
+ * @param stackFrameId
903
+ */
904
+ sendInvalidatedEvent(threadId, stackFrameId) {
905
+ //if the client supports this request, send it
906
+ if (this.initRequestArgs.supportsInvalidatedEvent) {
907
+ this.sendEvent(new vscode_debugadapter_1.InvalidatedEvent(['variables'], threadId, stackFrameId));
908
+ }
909
+ }
885
910
  /**
886
911
  * If `stopOnEntry` is enabled, register the entry breakpoint.
887
912
  */
@@ -1 +1 @@
1
- {"version":3,"file":"BrightScriptDebugSession.js","sourceRoot":"","sources":["../../src/debugSession/BrightScriptDebugSession.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrightScriptDebugSession.js","sourceRoot":"","sources":["../../src/debugSession/BrightScriptDebugSession.ts"],"names":[],"mappings":"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"}
@@ -9,3 +9,7 @@ export declare enum HighLevelType {
9
9
  */
10
10
  unknown = "unknown"
11
11
  }
12
+ export interface RokuAdapterEvaluateResponse {
13
+ type: 'message' | 'error';
14
+ message: string;
15
+ }
package/dist/util.d.ts CHANGED
@@ -90,18 +90,21 @@ declare class Util {
90
90
  removeThreadAttachedText(text: string): string;
91
91
  filterGenericErrors(errors: BrightScriptDebugCompileError[]): BrightScriptDebugCompileError[];
92
92
  /**
93
- * Look up the ip address for a hostname. This is cached for the lifetime of the app, or bypassed with the `skipCache` parameter
94
- * @param host
95
- * @param skipCache
96
- * @returns
93
+ * Removes the trailing `Brightscript Debugger>` prompt if present. If not present, returns original value
94
+ * @param value
97
95
  */
96
+ trimDebugPrompt(value: string): string;
97
+ /**
98
+ * Get the keys for a given variable expression, or undefined if the expression doesn't make sense.
99
+ */
100
+ getVariablePath(expression: string): string[];
98
101
  dnsLookup(host: string, skipCache?: boolean): Promise<string>;
99
102
  private dnsCache;
100
103
  /**
101
- * Sleep for the given number of milliseconds
102
- * @param milliseconds
103
- * @returns
104
+ * Is this expression the `print` keyword followed by a variable expression (like `a.b` or `a['b'].c`)
105
+ * @param expression
104
106
  */
107
+ isPrintVarExpression(expression: string): boolean;
105
108
  sleep(milliseconds: number): Promise<unknown>;
106
109
  fence(data: string): string;
107
110
  }
package/dist/util.js CHANGED
@@ -6,6 +6,7 @@ const fsExtra = require("fs-extra");
6
6
  const net = require("net");
7
7
  const url = require("url");
8
8
  const Events_1 = require("./debugSession/Events");
9
+ const brighterscript_1 = require("brighterscript");
9
10
  const CompileErrorProcessor_1 = require("./CompileErrorProcessor");
10
11
  const serialize_error_1 = require("serialize-error");
11
12
  const dns = require("dns");
@@ -249,6 +250,62 @@ class Util {
249
250
  });
250
251
  }
251
252
  /**
253
+ * Removes the trailing `Brightscript Debugger>` prompt if present. If not present, returns original value
254
+ * @param value
255
+ */
256
+ trimDebugPrompt(value) {
257
+ const match = /(.*?)\r?\nBrightscript Debugger>\s*/is.exec(value);
258
+ if (match) {
259
+ return match[1];
260
+ }
261
+ else {
262
+ return value;
263
+ }
264
+ }
265
+ /**
266
+ * Get the keys for a given variable expression, or undefined if the expression doesn't make sense.
267
+ */
268
+ getVariablePath(expression) {
269
+ var _a;
270
+ //HACK: assign to a variable so it turns into a valid expression, then we'll look at the right-hand-side
271
+ const parser = brighterscript_1.Parser.parse(`__rokuDebugVar = ${expression}`);
272
+ if (
273
+ //quit if there are parse errors
274
+ parser.diagnostics.find(x => x.severity === brighterscript_1.DiagnosticSeverity.Error) ||
275
+ //quit if there are zero statements or more than one statement
276
+ parser.ast.statements.length !== 1) {
277
+ return undefined;
278
+ }
279
+ let value = parser.ast.statements[0].value;
280
+ const parts = [];
281
+ while (value) {
282
+ if ((0, brighterscript_1.isVariableExpression)(value)) {
283
+ parts.unshift(value.name.text);
284
+ return parts;
285
+ }
286
+ else if ((0, brighterscript_1.isDottedGetExpression)(value)) {
287
+ parts.unshift(value.name.text);
288
+ value = value.obj;
289
+ }
290
+ else if ((0, brighterscript_1.isIndexedGetExpression)(value)) {
291
+ if ((0, brighterscript_1.isLiteralExpression)(value.index)) {
292
+ parts.unshift(
293
+ //remove leading and trailing quotes (won't hurt for numeric literals)
294
+ (_a = value.index.token.text) === null || _a === void 0 ? void 0 : _a.replace(/^"/, '').replace(/"$/, ''));
295
+ }
296
+ else {
297
+ //if we found a non-literal value, this entire variable path is NOT a true variable path
298
+ return;
299
+ }
300
+ value = value.obj;
301
+ }
302
+ else {
303
+ //not valid
304
+ return;
305
+ }
306
+ }
307
+ }
308
+ /*
252
309
  * Look up the ip address for a hostname. This is cached for the lifetime of the app, or bypassed with the `skipCache` parameter
253
310
  * @param host
254
311
  * @param skipCache
@@ -263,6 +320,20 @@ class Util {
263
320
  return this.dnsCache.get(host);
264
321
  }
265
322
  /**
323
+ * Is this expression the `print` keyword followed by a variable expression (like `a.b` or `a['b'].c`)
324
+ * @param expression
325
+ */
326
+ isPrintVarExpression(expression) {
327
+ expression = expression.trim().toLowerCase();
328
+ if (expression.startsWith('print') || expression.startsWith('?')) {
329
+ const parts = this.getVariablePath(expression.replace(/^(print|\?)/, ''));
330
+ if ((parts === null || parts === void 0 ? void 0 : parts.length) > 0) {
331
+ return true;
332
+ }
333
+ }
334
+ return false;
335
+ }
336
+ /*
266
337
  * Sleep for the given number of milliseconds
267
338
  * @param milliseconds
268
339
  * @returns
package/dist/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;AACA,yBAAyB;AACzB,oCAAoC;AACpC,2BAA2B;AAC3B,2BAA2B;AAG3B,kDAAkF;AAGlF,mEAA4D;AAC5D,qDAAiD;AACjD,2BAA2B;AAE3B,MAAM,IAAI;IAAV;QA8QY,aAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAiBjD,CAAC;IA9RG;;;OAGG;IACI,mBAAmB,CAAC,OAAe;QACtC,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;IAChF,CAAC;IAED;;;OAGG;IACI,UAAU,CAAC,QAAgB;QAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,MAAM,CAAC,gBAAwB;QACxC,IAAI;YACA,6GAA6G;YAC7G,IAAI,gBAAgB,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;YACzD,IAAI,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;SACxB;QAAC,OAAO,CAAC,EAAE;YACR,kDAAkD;YAClD,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAED;;;OAGG;IACI,gBAAgB,CAAC,QAAgB;QACpC,IAAI,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,MAAM,EAAE;YACR,OAAO,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SAC5C;aAAM;YACH,OAAO,QAAQ,CAAC;SACnB;IACL,CAAC;IAED;;;OAGG;IACI,aAAa,CAAC,QAAgB;QACjC,OAAO,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,qBAAqB,CAAC,KAAa;QACtC,OAAO,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,uBAAuB,CAAC,IAAY;QAC7C,IAAI,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE;YACvC,OAAO,SAAS,CAAC;SACpB;aAAM;YACH,IAAI,YAAY,GAAG,CAAC,MAAM,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC7D,IAAI,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAE7C,IAAI,cAAc,GAAG,EAAE,CAAC;YACxB,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE;gBAC9B,IAAI,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpC,IAAI,KAAK,EAAE;oBACP,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;iBACvC;aACJ;YAED,OAAO,cAAc,CAAC;SACzB;IACL,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,WAAW,CAAC,IAAY;QACjC,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5C,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE;iBAC5B,IAAI,CAAC,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE;gBACxB,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE;oBAC3B,OAAO,CAAC,IAAI,CAAC,CAAC;iBACjB;qBAAM;oBACH,MAAM,CAAC,GAAG,CAAC,CAAC;iBACf;YACL,CAAC,CAAC;iBACD,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;gBAC/C,OAAO,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;iBACV,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,YAAyB;QACzC,wDAAwD;QACxD,IAAI,MAAM,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QACrC,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC1D,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE;gBACpB,mBAAmB,GAAG,IAAI,CAAC;gBAC3B,MAAM;aACT;SACJ;QAED,IAAI,CAAC,mBAAmB,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;SACnF;QACD,OAAO,YAAY,CAAC,YAAY,EAAE,CAAC;IACvC,CAAC;IAOD;;;OAGG;IACI,GAAG,CAAC,OAAe;QACtB,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,uBAAc,CAAC,gBAAgB,OAAO,EAAE,CAAC,CAAC,CAAC;SAC/E;IACL,CAAC;IAED;;;;OAIG;IACI,kBAAkB,CAAC,IAAY;QAClC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE;YAC7D,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC;SAC5B;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACI,aAAa,CAAC,KAAY,EAAE,QAAkB;QACjD,IAAI,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE;YACpE,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE;YAClF,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,QAAQ,CAAC,IAAI,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,QAAQ,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE;YAC9E,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,0BAA0B,CAAC,IAAY;QAC1C,MAAM,MAAM,GAAG,6CAA6C,CAAC;QAC7D,IAAI,KAAsB,CAAC;QAC3B,MAAM,YAAY,GAAG,EAAc,CAAC;QACpC,0CAA0C;QAC1C,OAAO,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC9B,MAAM,oBAAoB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtC,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7B,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC9B,oDAAoD;YACpD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;gBACxB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;aACvD;YACD,mDAAmD;YACnD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;aAChE;SACJ;QAED,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,0CAA0C;QAC1C,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;YAC/C,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SACxE;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;OAGG;IACI,sBAAsB,CAAC,IAAY;QACtC,IAAI,KAAK,GAAG,gCAAgC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,OAAO,CAAC,CAAC,KAAK,CAAC;IACnB,CAAC;IAED;;;OAGG;IACI,0BAA0B,CAAC,IAAY;QAC1C,IAAI,+CAA+C,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAC5D,OAAO,IAAI,CAAC;SACf;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAED;;;OAGG;IACI,wBAAwB,CAAC,IAAY;QACxC,MAAM,KAAK,GAAG,sFAAsF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChH,IAAI,KAAK,EAAE;YACP,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;SAC1C;aAAM;YACH,OAAO,IAAI,CAAC;SACf;IACL,CAAC;IAEM,mBAAmB,CAAC,MAAuC;QAC9D,MAAM,cAAc,GAAkD,EAAE,CAAC;QAEzE,oDAAoD;QACpD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACrB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAClC,IAAI,CAAC,CAAC,OAAO,KAAK,yCAAiB,EAAE;gBACjC,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE;oBACtB,OAAO,KAAK,CAAC;iBAChB;aACJ;iBAAM;gBACH,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;aAC5B;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,SAAS,GAAG,KAAK;;QAClD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,EAAE;YACvC,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAA,MAAM,CAAC,OAAO,mCAAI,IAAI,CAAC,CAAC;SACnD;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAID;;;;OAIG;IACI,KAAK,CAAC,YAAoB;QAC7B,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACzB,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,IAAY;QACrB,MAAM,KAAK,GAAG,sBAAsB,CAAC;QACrC,OAAO,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,IAAI,CAAC;IAC7C,CAAC;CACJ;AAED,SAAgB,KAAK;IACjB,IAAI,QAA8C,CAAC;IACnD,IAAI,OAA+B,CAAC;IACpC,IAAI,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,YAAY,EAAE,WAAW,EAAE,EAAE;QACvD,QAAQ,GAAG,YAAY,CAAC;QACxB,OAAO,GAAG,WAAW,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,OAAO;QACH,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,SAAS,OAAO,CAAC,KAA0B;YAChD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAChB,QAAQ,GAAG,SAAS,CAAC;aACxB;iBAAM;gBACH,MAAM,IAAI,KAAK,CACX,mDAAmD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG;oBAC/F,cAAc,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CACxC,CAAC;aACL;QACL,CAAC;QACD,MAAM,EAAE,SAAS,MAAM,CAAC,MAAY;YAChC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACnB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBACvB,OAAO,CAAC,MAAM,CAAC,CAAC;gBAChB,OAAO,GAAG,SAAS,CAAC;aACvB;iBAAM;gBACH,MAAM,IAAI,KAAK,CACX,kDAAkD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG;oBAC9F,sBAAsB,IAAI,CAAC,SAAS,CAAC,IAAA,gCAAc,EAAC,MAAM,CAAC,CAAC,EAAE,CACjE,CAAC;aACL;QACL,CAAC;QACD,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,KAAK;QACjB,IAAI,WAAW;YACX,OAAO,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC;QAC9C,CAAC;KACJ,CAAC;AACN,CAAC;AAvCD,sBAuCC;AAEY,QAAA,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}