brighterscript 0.72.5 → 0.73.1

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 (77) hide show
  1. package/dist/DiagnosticFilterer.js +10 -3
  2. package/dist/DiagnosticFilterer.js.map +1 -1
  3. package/dist/DiagnosticMessages.d.ts +68 -1
  4. package/dist/DiagnosticMessages.js +60 -1
  5. package/dist/DiagnosticMessages.js.map +1 -1
  6. package/dist/LanguageServer.d.ts +14 -2
  7. package/dist/LanguageServer.js +50 -5
  8. package/dist/LanguageServer.js.map +1 -1
  9. package/dist/Logger.js +2 -2
  10. package/dist/Logger.js.map +1 -1
  11. package/dist/Program.d.ts +87 -0
  12. package/dist/Program.js +197 -0
  13. package/dist/Program.js.map +1 -1
  14. package/dist/ProgramBuilder.js.map +1 -1
  15. package/dist/RokuConstants.d.ts +88 -0
  16. package/dist/RokuConstants.js +58 -0
  17. package/dist/RokuConstants.js.map +1 -0
  18. package/dist/Stopwatch.js +2 -2
  19. package/dist/Stopwatch.js.map +1 -1
  20. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +27 -6
  21. package/dist/bscPlugin/validation/BrsFileValidator.js +68 -10
  22. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  23. package/dist/bscPlugin/validation/ProgramValidator.d.ts +10 -0
  24. package/dist/bscPlugin/validation/ProgramValidator.js +54 -0
  25. package/dist/bscPlugin/validation/ProgramValidator.js.map +1 -1
  26. package/dist/bscPlugin/validation/XmlFileValidator.d.ts +7 -0
  27. package/dist/bscPlugin/validation/XmlFileValidator.js +19 -0
  28. package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -1
  29. package/dist/files/BrsFile.js +1 -2
  30. package/dist/files/BrsFile.js.map +1 -1
  31. package/dist/files/XmlFile.d.ts +45 -0
  32. package/dist/files/XmlFile.js +257 -2
  33. package/dist/files/XmlFile.js.map +1 -1
  34. package/dist/formatUtils.d.ts +20 -0
  35. package/dist/formatUtils.js +38 -0
  36. package/dist/formatUtils.js.map +1 -0
  37. package/dist/globalCallables.d.ts +1 -1
  38. package/dist/globalCallables.js +4 -1
  39. package/dist/globalCallables.js.map +1 -1
  40. package/dist/interfaces.d.ts +11 -0
  41. package/dist/lexer/Lexer.js +4 -1
  42. package/dist/lexer/Lexer.js.map +1 -1
  43. package/dist/lsp/ActionQueue.js +1 -2
  44. package/dist/lsp/ActionQueue.js.map +1 -1
  45. package/dist/lsp/ProjectManager.d.ts +5 -0
  46. package/dist/lsp/ProjectManager.js.map +1 -1
  47. package/dist/lsp/worker/MessageHandler.d.ts +1 -0
  48. package/dist/lsp/worker/MessageHandler.js +9 -0
  49. package/dist/lsp/worker/MessageHandler.js.map +1 -1
  50. package/dist/lsp/worker/WorkerPool.d.ts +38 -17
  51. package/dist/lsp/worker/WorkerPool.js +87 -39
  52. package/dist/lsp/worker/WorkerPool.js.map +1 -1
  53. package/dist/lsp/worker/WorkerThreadProject.d.ts +14 -1
  54. package/dist/lsp/worker/WorkerThreadProject.js +39 -9
  55. package/dist/lsp/worker/WorkerThreadProject.js.map +1 -1
  56. package/dist/lsp/worker/WorkerThreadProjectRunner.js +6 -0
  57. package/dist/lsp/worker/WorkerThreadProjectRunner.js.map +1 -1
  58. package/dist/lsp/worker/run.js +20 -3
  59. package/dist/lsp/worker/run.js.map +1 -1
  60. package/dist/parser/Expression.js +2 -3
  61. package/dist/parser/Expression.js.map +1 -1
  62. package/dist/parser/Parser.js +4 -4
  63. package/dist/parser/Parser.js.map +1 -1
  64. package/dist/parser/SGParser.d.ts +6 -0
  65. package/dist/parser/SGParser.js +24 -16
  66. package/dist/parser/SGParser.js.map +1 -1
  67. package/dist/parser/SGTypes.d.ts +18 -8
  68. package/dist/parser/SGTypes.js +42 -15
  69. package/dist/parser/SGTypes.js.map +1 -1
  70. package/dist/preprocessor/Manifest.d.ts +16 -0
  71. package/dist/preprocessor/Manifest.js +21 -5
  72. package/dist/preprocessor/Manifest.js.map +1 -1
  73. package/dist/roku-types/index.d.ts +4 -0
  74. package/dist/util.d.ts +16 -0
  75. package/dist/util.js +103 -1
  76. package/dist/util.js.map +1 -1
  77. package/package.json +8 -18
@@ -1 +1 @@
1
- {"version":3,"file":"SGParser.js","sourceRoot":"","sources":["../../src/parser/SGParser.ts"],"names":[],"mappings":";;;AACA,4CAA4C;AAC5C,8DAA2D;AAE3D,kCAA2B;AAC3B,uCAAyH;AAEzH,yCAAgD;AAEhD,MAAqB,QAAQ;IAA7B;QAEI;;WAEG;QACI,QAAG,GAAU,IAAI,eAAK,EAAE,CAAC;QAIhC;;WAEG;QACI,gBAAW,GAAG,EAAkB,CAAC;IAqH5C,CAAC;IA/GG;;;;OAIG;IACH,IAAI,UAAU;QACV,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;YAChC,IAAI,CAAC,cAAc,EAAE,CAAC;SACzB;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAGD;;OAEG;IACH,oBAAoB;QAChB,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IACjC,CAAC;IAED;;OAEG;IACK,cAAc;QAClB,IAAI,CAAC,WAAW,GAAG,iBAAiB,EAAE,CAAC;QAEvC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;QAC/B,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO;SACV;QAED,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,EAAE;YACjB,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC;SAC1C;QACD,MAAM,WAAW,GAAG,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACtD,IAAI,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC;SAChD;QAED,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,OAAO,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAC3C,IAAI,OAAO,EAAE;gBACT,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC/B,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC;oBACnC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK;oBAClC,IAAI,EAAE,GAAG;oBACT,OAAO,EAAE,cAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC;iBACxD,CAAC,CAAC;aACN;SACJ;IACL,CAAC;IAEM,KAAK,CAAC,OAAe,EAAE,YAAoB;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QAEtB,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAChF,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC;QAE1B,IAAI,SAAS,CAAC,MAAM,EAAE;YAClB,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE;gBACzB,IAAI,CAAC,WAAW,CAAC,IAAI,iCACd,uCAAkB,CAAC,oBAAoB,CAAC,iBAAiB,GAAG,CAAC,OAAO,EAAE,CAAC,KAC1E,KAAK,EAAE,cAAI,CAAC,WAAW,CACnB,GAAG,CAAC,IAAI,GAAG,CAAC,EACZ,GAAG,CAAC,MAAM,EACV,GAAG,CAAC,IAAI,GAAG,CAAC,EACZ,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAC1B,IACH,CAAC;aACN;SACJ;QACD,IAAI,WAAW,CAAC,MAAM,EAAE;YACpB,MAAM,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,IAAI,iCACd,uCAAkB,CAAC,oBAAoB,CAAC,iBAAiB,GAAG,CAAC,OAAO,EAAE,CAAC,KAC1E,KAAK,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,IACvG,CAAC;SACN;QAED,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,GAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,EAAE;YACP,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;YAC9B,0DAA0D;YAC1D,IACI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,IAAI,GAAG,MAAM,MAAK,CAAC;gBACjC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,IAAI,EAAE,MAAK,OAAO,EAClC;gBACE,IAAI,CAAC,WAAW,CAAC,IAAI,iCACd,uCAAkB,CAAC,oBAAoB,CAAC,sDAAsD,CAAC,KAClG,KAAK,EAAE,eAAe,CAAC,MAAM,CAAC,IAChC,CAAC;aACN;SACJ;QAED,IAAI,IAAA,mBAAa,EAAC,IAAI,CAAC,EAAE;YACrB,IAAI,CAAC,GAAG,GAAG,IAAI,eAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;SAC5C;aAAM;YACH,IAAI,IAAI,EAAE;gBACN,wBAAwB;gBACxB,IAAI,CAAC,WAAW,CAAC,IAAI,iCACd,uCAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KACrD,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,IACvB,CAAC;aACN;YACD,IAAI,CAAC,GAAG,GAAG,IAAI,eAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SACtC;IACL,CAAC;CACJ;AAjID,2BAiIC;AAED,SAAS,QAAQ,CAAC,GAAoB,EAAE,WAAyB;;IAC7D,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC;IAEpD,IAAI,MAAgB,CAAC;IACrB,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,CAAC,CAAC,EAAE;QAChB,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAClC,MAAM,GAAG,IAAI,kBAAQ,CACjB,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAC5B,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAC5B,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAC;KACL;IAED,IAAI,IAAW,CAAC;IAChB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,KAAI,MAAA,MAAA,OAAO,CAAC,CAAC,CAAC,0CAAE,QAAQ,0CAAE,IAAI,CAAA,EAAE;QAClD,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;KAC9C;IAED,OAAO;QACH,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI;KACb,CAAC;AACN,CAAC;AAaD,SAAS,UAAU,CAAC,EAAE,QAAQ,EAAkB,EAAE,WAAyB;;IACvE,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,KAAY,CAAC;IACjB,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC3C,IAAI,WAAW,EAAE;QACb,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACxC,KAAK,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KAC/C;SAAM;QACH,MAAM,QAAQ,GAAG,MAAA,QAAQ,CAAC,GAAG,0CAAG,CAAC,CAAC,CAAC;QACnC,KAAK,GAAG,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;KAChD;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,MAAA,QAAQ,CAAC,OAAO,0CAAG,CAAC,CAAC,CAAC;IACtC,QAAQ,IAAI,CAAC,IAAI,EAAE;QACf,KAAK,WAAW;YACZ,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,CAAC,EAAE,WAAW,CAAC,CAAC;YACjH,OAAO,IAAI,qBAAW,CAAC,IAAI,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;QACtE,KAAK,WAAW;YACZ,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,WAAW,CAAC,CAAC;YAClF,OAAO,IAAI,qBAAW,CAAC,IAAI,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;QAC1D,KAAK,OAAO;YACR,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;gBACtB,wBAAwB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;aAC/C;YACD,OAAO,IAAI,iBAAO,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAChD,KAAK,UAAU;YACX,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;gBACtB,wBAAwB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;aAC/C;YACD,OAAO,IAAI,oBAAU,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QACnD,KAAK,QAAQ;YACT,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;gBACtB,wBAAwB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;aAC/C;YACD,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YAChC,OAAO,IAAI,kBAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACxD,KAAK,UAAU;YACX,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC1C,OAAO,IAAI,oBAAU,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;QACxD;YACI,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,OAAO,IAAI,gBAAM,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;KAC/D;AACL,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAa,EAAE,WAAyB;IACtE,WAAW,CAAC,IAAI,iCACT,uCAAkB,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,KACtD,KAAK,EAAE,IAAI,CAAC,KAAK,IACnB,CAAC;AACP,CAAC;AAED,SAAS,OAAO,CAAC,EAAE,QAAQ,EAAkB;;IACzC,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,IAAI,KAAY,CAAC;IACjB,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;IAC3C,IAAI,WAAW,EAAE;QACb,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACxC,KAAK,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KAC/C;SAAM;QACH,MAAM,QAAQ,GAAG,MAAA,QAAQ,CAAC,GAAG,0CAAG,CAAC,CAAC,CAAC;QACnC,KAAK,GAAG,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;KAChD;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,MAAA,QAAQ,CAAC,OAAO,0CAAG,CAAC,CAAC,CAAC;IACtC,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtC,OAAO,IAAI,gBAAM,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,WAAW,CAAC,OAAuB,EAAE,KAAe,EAAE,WAAyB;;IACpF,IAAI,CAAC,OAAO,EAAE;QACV,OAAO,EAAE,CAAC;KACb;IACD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IACrC,MAAM,IAAI,GAAY,EAAE,CAAC;IACzB,IAAI,OAAO,EAAE;QACT,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;YACzB,MAAM,IAAI,GAAG,MAAA,KAAK,CAAC,QAAQ,CAAC,IAAI,0CAAG,CAAC,CAAC,CAAC;YACtC,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EAAE;gBACb,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oBAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;iBAC7C;qBAAM;oBACH,gBAAgB;oBAChB,WAAW,CAAC,IAAI,iCACT,uCAAkB,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,KAClD,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,IAC9B,CAAC;iBACN;aACJ;iBAAM;gBACH,mBAAmB;aACtB;SACJ;KACJ;IACD,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CAAC,OAAuB;IACrC,IAAI,CAAC,OAAO,EAAE;QACV,OAAO,EAAE,CAAC;KACb;IACD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IACrC,OAAO,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,WAAW,CAAC,OAAuB;;IACxC,OAAO,CAAC,CAAC,CAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC,OAAO,0CAAE,MAAM,CAAA,CAAC;AAC/C,CAAC;AAED,SAAS,QAAQ,CAAC,OAAuB;IACrC,IAAI,CAAC,OAAO,EAAE;QACV,OAAO,SAAS,CAAC;KACpB;IACD,MAAM,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC;IACnC,OAAO,QAAQ,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAa,EAAE,OAAO,GAAG,KAAK;IAC5C,IAAI,CAAC,KAAK,EAAE;QACR,OAAO,SAAS,CAAC;KACpB;IACD,OAAO;QACH,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK;QACtD,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC;KACvE,CAAC;AACN,CAAC;AAED,SAAS,aAAa,CAAC,UAA8B;IACjD,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;;QACpC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,MAAA,QAAQ,CAAC,MAAM,0CAAG,CAAC,CAAC,CAAC;QAEnC,IAAI,SAAkB,CAAC;QACvB,IAAI,UAAmB,CAAC;QACxB,+CAA+C;QAC/C,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC,CAAC;QACrD,IAAI,KAAK,EAAE;YACP,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;YACzC,SAAS,GAAG;gBACR,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,KAAK,EAAE,cAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;aAChH,CAAC;YACF,UAAU,GAAG;gBACT,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;gBACd,KAAK,EAAE,cAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;aACxG,CAAC;SACL;QACD,OAAO;YACH,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC;YAClB,SAAS,EAAE,SAAS;YACpB,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;YAC5B,UAAU,EAAE,UAAU;YACtB,KAAK,EAAE,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC;SACrC,CAAC;IACN,CAAC,CAAC,KAAI,EAAE,CAAC;AACb,CAAC;AAED,yCAAyC;AACzC,SAAS,eAAe,CAAC,KAAa,EAAE,GAAY;IAChD,IAAI,CAAC,GAAG,EAAE;QACN,GAAG,GAAG,KAAK,CAAC;KACf;IACD,OAAO,cAAI,CAAC,WAAW,CACnB,KAAK,CAAC,SAAS,GAAG,CAAC,EACnB,KAAK,CAAC,WAAW,GAAG,CAAC,EACrB,GAAG,CAAC,OAAO,GAAG,CAAC,EACf,GAAG,CAAC,SAAS,CAChB,CAAC;AACN,CAAC;AAED,iCAAiC;AACjC,SAAgB,mBAAmB,CAAC,KAAa;IAC7C,IAAI,CAAC,KAAK,EAAE;QACR,OAAO,SAAS,CAAC;KACpB;IACD,OAAO,cAAI,CAAC,WAAW,CACnB,KAAK,CAAC,SAAS,GAAG,CAAC,EACnB,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,OAAO,GAAG,CAAC,EACjB,KAAK,CAAC,SAAS,GAAG,CAAC,CACtB,CAAC;AACN,CAAC;AAVD,kDAUC;AAED,SAAS,WAAW,CAAC,KAAa;IAC9B,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,IAAG,CAAC,EAAE;QACnB,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KAC5C;IACD,OAAO,EAAE,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB;IACtB,OAAO;QACH,gBAAgB,EAAE,EAAE;KACvB,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"SGParser.js","sourceRoot":"","sources":["../../src/parser/SGParser.ts"],"names":[],"mappings":"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"}
@@ -17,12 +17,19 @@ export declare class SGTag {
17
17
  tag: SGToken;
18
18
  attributes: SGAttribute[];
19
19
  range?: Range;
20
- constructor(tag: SGToken, attributes?: SGAttribute[], range?: Range);
20
+ closingTag?: SGToken;
21
+ constructor(tag: SGToken, attributes?: SGAttribute[], range?: Range, closingTag?: SGToken);
21
22
  get id(): string;
22
23
  set id(value: string);
23
24
  getAttribute(name: string): SGAttribute | undefined;
24
25
  getAttributeValue(name: string): string | undefined;
25
26
  setAttribute(name: string, value: string): void;
27
+ /**
28
+ * The nested tags directly contained by this tag. Base tags have no children;
29
+ * subclasses that contain other tags override this. Used for AST traversal
30
+ * (e.g. validation) so it works regardless of how the AST was constructed.
31
+ */
32
+ getChildren(): SGTag[];
26
33
  transpile(state: TranspileState): SourceNode;
27
34
  protected transpileBody(state: TranspileState): (string | SourceNode)[];
28
35
  protected transpileAttributes(state: TranspileState, attributes: SGAttribute[]): (string | SourceNode)[];
@@ -32,15 +39,16 @@ export declare class SGProlog extends SGTag {
32
39
  }
33
40
  export declare class SGNode extends SGTag {
34
41
  children: SGNode[];
35
- constructor(tag: SGToken, attributes?: SGAttribute[], children?: SGNode[], range?: Range);
42
+ constructor(tag: SGToken, attributes?: SGAttribute[], children?: SGNode[], range?: Range, closingTag?: SGToken);
43
+ getChildren(): SGTag[];
36
44
  protected transpileBody(state: TranspileState): (string | SourceNode)[];
37
45
  }
38
46
  export declare class SGChildren extends SGNode {
39
- constructor(tag?: SGToken, children?: SGNode[], range?: Range);
47
+ constructor(tag?: SGToken, children?: SGNode[], range?: Range, closingTag?: SGToken);
40
48
  }
41
49
  export declare class SGScript extends SGTag {
42
50
  cdata?: SGToken;
43
- constructor(tag?: SGToken, attributes?: SGAttribute[], cdata?: SGToken, range?: Range);
51
+ constructor(tag?: SGToken, attributes?: SGAttribute[], cdata?: SGToken, range?: Range, closingTag?: SGToken);
44
52
  get type(): string;
45
53
  set type(value: string);
46
54
  get uri(): string;
@@ -49,7 +57,7 @@ export declare class SGScript extends SGTag {
49
57
  protected transpileAttributes(state: TranspileState, attributes: SGAttribute[]): (string | SourceNode)[];
50
58
  }
51
59
  export declare class SGField extends SGTag {
52
- constructor(tag?: SGToken, attributes?: SGAttribute[], range?: Range);
60
+ constructor(tag?: SGToken, attributes?: SGAttribute[], range?: Range, closingTag?: SGToken);
53
61
  get type(): string;
54
62
  set type(value: string);
55
63
  get alias(): string;
@@ -63,22 +71,23 @@ export declare class SGField extends SGTag {
63
71
  }
64
72
  export declare const SGFieldTypes: string[];
65
73
  export declare class SGFunction extends SGTag {
66
- constructor(tag?: SGToken, attributes?: SGAttribute[], range?: Range);
74
+ constructor(tag?: SGToken, attributes?: SGAttribute[], range?: Range, closingTag?: SGToken);
67
75
  get name(): string;
68
76
  set name(value: string);
69
77
  }
70
78
  export declare class SGInterface extends SGTag {
71
79
  fields: SGField[];
72
80
  functions: SGFunction[];
73
- constructor(tag?: SGToken, content?: SGTag[], range?: Range);
81
+ constructor(tag?: SGToken, content?: SGTag[], range?: Range, closingTag?: SGToken);
74
82
  getField(id: string): SGField;
75
83
  setField(id: string, type: string, onChange?: string, alwaysNotify?: boolean, alias?: string): void;
76
84
  getFunction(name: string): SGFunction;
77
85
  setFunction(name: string): void;
86
+ getChildren(): SGTag[];
78
87
  protected transpileBody(state: TranspileState): (string | SourceNode)[];
79
88
  }
80
89
  export declare class SGComponent extends SGTag {
81
- constructor(tag?: SGToken, attributes?: SGAttribute[], content?: SGTag[], range?: Range);
90
+ constructor(tag?: SGToken, attributes?: SGAttribute[], content?: SGTag[], range?: Range, closingTag?: SGToken);
82
91
  api: SGInterface;
83
92
  scripts: SGScript[];
84
93
  children: SGChildren;
@@ -87,6 +96,7 @@ export declare class SGComponent extends SGTag {
87
96
  set name(value: string);
88
97
  get extends(): string;
89
98
  set extends(value: string);
99
+ getChildren(): SGTag[];
90
100
  protected transpileBody(state: TranspileState): (string | SourceNode)[];
91
101
  }
92
102
  export interface SGReferences {
@@ -6,10 +6,11 @@ const creators_1 = require("../astUtils/creators");
6
6
  const xml_1 = require("../astUtils/xml");
7
7
  const util_1 = require("../util");
8
8
  class SGTag {
9
- constructor(tag, attributes = [], range) {
9
+ constructor(tag, attributes = [], range, closingTag) {
10
10
  this.tag = tag;
11
11
  this.attributes = attributes;
12
12
  this.range = range;
13
+ this.closingTag = closingTag;
13
14
  }
14
15
  get id() {
15
16
  return this.getAttributeValue('id');
@@ -42,6 +43,14 @@ class SGTag {
42
43
  });
43
44
  }
44
45
  }
46
+ /**
47
+ * The nested tags directly contained by this tag. Base tags have no children;
48
+ * subclasses that contain other tags override this. Used for AST traversal
49
+ * (e.g. validation) so it works regardless of how the AST was constructed.
50
+ */
51
+ getChildren() {
52
+ return [];
53
+ }
45
54
  transpile(state) {
46
55
  return new source_map_1.SourceNode(null, null, state.srcPath, [
47
56
  state.indentText,
@@ -75,10 +84,13 @@ class SGProlog extends SGTag {
75
84
  }
76
85
  exports.SGProlog = SGProlog;
77
86
  class SGNode extends SGTag {
78
- constructor(tag, attributes, children = [], range) {
79
- super(tag, attributes, range);
87
+ constructor(tag, attributes, children = [], range, closingTag) {
88
+ super(tag, attributes, range, closingTag);
80
89
  this.children = children;
81
90
  }
91
+ getChildren() {
92
+ return this.children;
93
+ }
82
94
  transpileBody(state) {
83
95
  if (this.children.length > 0) {
84
96
  const body = ['>\n'];
@@ -95,14 +107,14 @@ class SGNode extends SGTag {
95
107
  }
96
108
  exports.SGNode = SGNode;
97
109
  class SGChildren extends SGNode {
98
- constructor(tag = { text: 'children' }, children = [], range) {
99
- super(tag, [], children, range);
110
+ constructor(tag = { text: 'children' }, children = [], range, closingTag) {
111
+ super(tag, [], children, range, closingTag);
100
112
  }
101
113
  }
102
114
  exports.SGChildren = SGChildren;
103
115
  class SGScript extends SGTag {
104
- constructor(tag = { text: 'script' }, attributes, cdata, range) {
105
- super(tag, attributes, range);
116
+ constructor(tag = { text: 'script' }, attributes, cdata, range, closingTag) {
117
+ super(tag, attributes, range, closingTag);
106
118
  this.cdata = cdata;
107
119
  if (!attributes) {
108
120
  this.type = 'text/brightscript';
@@ -164,8 +176,8 @@ class SGScript extends SGTag {
164
176
  }
165
177
  exports.SGScript = SGScript;
166
178
  class SGField extends SGTag {
167
- constructor(tag = { text: 'field' }, attributes = [], range) {
168
- super(tag, attributes, range);
179
+ constructor(tag = { text: 'field' }, attributes = [], range, closingTag) {
180
+ super(tag, attributes, range, closingTag);
169
181
  }
170
182
  get type() {
171
183
  return this.getAttributeValue('type');
@@ -206,8 +218,8 @@ exports.SGFieldTypes = [
206
218
  'array', 'roarray', 'rect2d', 'rect2darray'
207
219
  ];
208
220
  class SGFunction extends SGTag {
209
- constructor(tag = { text: 'function' }, attributes = [], range) {
210
- super(tag, attributes, range);
221
+ constructor(tag = { text: 'function' }, attributes = [], range, closingTag) {
222
+ super(tag, attributes, range, closingTag);
211
223
  }
212
224
  get name() {
213
225
  return this.getAttributeValue('name');
@@ -218,8 +230,8 @@ class SGFunction extends SGTag {
218
230
  }
219
231
  exports.SGFunction = SGFunction;
220
232
  class SGInterface extends SGTag {
221
- constructor(tag = { text: 'interface' }, content, range) {
222
- super(tag, [], range);
233
+ constructor(tag = { text: 'interface' }, content, range, closingTag) {
234
+ super(tag, [], range, closingTag);
223
235
  this.fields = [];
224
236
  this.functions = [];
225
237
  if (content) {
@@ -264,6 +276,9 @@ class SGInterface extends SGTag {
264
276
  this.functions.push(func);
265
277
  }
266
278
  }
279
+ getChildren() {
280
+ return [...this.fields, ...this.functions];
281
+ }
267
282
  transpileBody(state) {
268
283
  const body = ['>\n'];
269
284
  state.blockDepth++;
@@ -280,8 +295,8 @@ class SGInterface extends SGTag {
280
295
  }
281
296
  exports.SGInterface = SGInterface;
282
297
  class SGComponent extends SGTag {
283
- constructor(tag = { text: 'component' }, attributes, content, range) {
284
- super(tag, attributes, range);
298
+ constructor(tag = { text: 'component' }, attributes, content, range, closingTag) {
299
+ super(tag, attributes, range, closingTag);
285
300
  this.scripts = [];
286
301
  this.customizations = [];
287
302
  if (content) {
@@ -313,6 +328,18 @@ class SGComponent extends SGTag {
313
328
  set extends(value) {
314
329
  this.setAttribute('extends', value);
315
330
  }
331
+ getChildren() {
332
+ const result = [];
333
+ if (this.api) {
334
+ result.push(this.api);
335
+ }
336
+ result.push(...this.scripts);
337
+ if (this.children) {
338
+ result.push(this.children);
339
+ }
340
+ result.push(...this.customizations);
341
+ return result;
342
+ }
316
343
  transpileBody(state) {
317
344
  const body = ['>\n'];
318
345
  state.blockDepth++;
@@ -1 +1 @@
1
- {"version":3,"file":"SGTypes.js","sourceRoot":"","sources":["../../src/parser/SGTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SGTypes.js","sourceRoot":"","sources":["../../src/parser/SGTypes.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,17 @@
1
+ import type { Range } from 'vscode-languageserver';
1
2
  /**
2
3
  * A map containing the data from a `manifest` file.
3
4
  */
4
5
  export declare type Manifest = Map<string, string>;
6
+ /**
7
+ * One key/value pair from a manifest, with the source location of the value.
8
+ * The range covers the value (right-hand side of `=`), suitable for diagnostic squiggles.
9
+ */
10
+ export interface ManifestEntry {
11
+ key: string;
12
+ value: string;
13
+ range: Range;
14
+ }
5
15
  /**
6
16
  * Attempts to read a `manifest` file, parsing its contents into a map of string to JavaScript
7
17
  * number, string, or boolean.
@@ -18,6 +28,12 @@ export declare function getManifest(rootDir: string): Promise<Manifest>;
18
28
  * representing the manifest file's contents
19
29
  */
20
30
  export declare function parseManifest(contents: string): Map<string, string>;
31
+ /**
32
+ * Parse a manifest file's contents into an ordered list of entries with line/column ranges.
33
+ * Use this when you need to attach diagnostics to specific manifest lines; for plain key→value
34
+ * lookups, prefer {@link parseManifest}.
35
+ */
36
+ export declare function parseManifestEntries(contents: string): ManifestEntry[];
21
37
  /**
22
38
  * Parses a 'manifest' file's `bs_const` property into a map of key to boolean value.
23
39
  * @param manifest the internal representation of the 'manifest' file to extract `bs_const` from
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getBsConst = exports.parseManifest = exports.getManifest = void 0;
3
+ exports.getBsConst = exports.parseManifestEntries = exports.parseManifest = exports.getManifest = void 0;
4
4
  const fsExtra = require("fs-extra");
5
5
  const path = require("path");
6
+ const util_1 = require("../util");
6
7
  /**
7
8
  * Attempts to read a `manifest` file, parsing its contents into a map of string to JavaScript
8
9
  * number, string, or boolean.
@@ -30,25 +31,40 @@ exports.getManifest = getManifest;
30
31
  * representing the manifest file's contents
31
32
  */
32
33
  function parseManifest(contents) {
33
- const lines = contents.split(/\r?\n/g);
34
34
  const result = new Map();
35
+ for (const entry of parseManifestEntries(contents)) {
36
+ result.set(entry.key, entry.value);
37
+ }
38
+ return result;
39
+ }
40
+ exports.parseManifest = parseManifest;
41
+ /**
42
+ * Parse a manifest file's contents into an ordered list of entries with line/column ranges.
43
+ * Use this when you need to attach diagnostics to specific manifest lines; for plain key→value
44
+ * lookups, prefer {@link parseManifest}.
45
+ */
46
+ function parseManifestEntries(contents) {
47
+ const lines = contents.split(/\r?\n/g);
48
+ const result = [];
35
49
  for (let i = 0; i < lines.length; i++) {
36
50
  const line = lines[i];
37
51
  // skip empty lines and comments
38
52
  if (line.trim() === '' || line.trim().startsWith('#')) {
39
53
  continue;
40
54
  }
41
- let equalIndex = line.indexOf('=');
55
+ const equalIndex = line.indexOf('=');
42
56
  if (equalIndex === -1) {
43
57
  throw new Error(`[manifest:${i + 1}] No '=' detected. Manifest attributes must be of the form 'key=value'.`);
44
58
  }
45
59
  const key = line.slice(0, equalIndex);
46
60
  const value = line.slice(equalIndex + 1);
47
- result.set(key, value);
61
+ //range covers just the value (after `=`) so squiggles point at the meaningful text
62
+ const range = util_1.util.createRange(i, equalIndex + 1, i, line.length);
63
+ result.push({ key: key, value: value, range: range });
48
64
  }
49
65
  return result;
50
66
  }
51
- exports.parseManifest = parseManifest;
67
+ exports.parseManifestEntries = parseManifestEntries;
52
68
  /**
53
69
  * Parses a 'manifest' file's `bs_const` property into a map of key to boolean value.
54
70
  * @param manifest the internal representation of the 'manifest' file to extract `bs_const` from
@@ -1 +1 @@
1
- {"version":3,"file":"Manifest.js","sourceRoot":"","sources":["../../src/preprocessor/Manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Manifest.js","sourceRoot":"","sources":["../../src/preprocessor/Manifest.ts"],"names":[],"mappings":"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"}
@@ -5607,6 +5607,10 @@ export interface SGNodeData extends BrightScriptDocLookup {
5607
5607
  fields: BRSFieldData[];
5608
5608
  events: BrightScriptDocLookup[];
5609
5609
  interfaces: BrightScriptDocLookup[];
5610
+ /**
5611
+ * The node this node extends. Absent on the root `Node` type.
5612
+ */
5613
+ extends?: BrightScriptDocLookup;
5610
5614
  }
5611
5615
  export interface BRSComponentData extends BrightScriptDocLookup, PossiblyDeprecated {
5612
5616
  interfaces: BrightScriptDocLookup[];
package/dist/util.d.ts CHANGED
@@ -172,6 +172,22 @@ export declare class Util {
172
172
  */
173
173
  rangeContains(range: Range | undefined, position: Position | undefined): boolean;
174
174
  comparePositionToRange(position: Position | undefined, range: Range | undefined): 1 | -1 | 0;
175
+ /**
176
+ * Convert a file path into a `file://` URL string (e.g. `file:///C:/projects/file.brs`).
177
+ * Mirrors the `file-url` package: resolves the path, normalizes slashes, prefixes a leading slash
178
+ * (required for Windows drive letters), and escapes per RFC 3986.
179
+ */
180
+ fileUrl(filePath: string): string;
181
+ /**
182
+ * `JSON.stringify` that is safe against circular references and throwing getters. Replaces the
183
+ * `safe-json-stringify` package.
184
+ */
185
+ safeJsonStringify(data: any, replacer?: (key: string, value: any) => any, space?: string | number): string;
186
+ /**
187
+ * Serialize an error (or any thrown value) into a plain object suitable for `JSON.stringify`,
188
+ * handling circular references. Replaces the `serialize-error` package.
189
+ */
190
+ serializeError(value: any): any;
175
191
  /**
176
192
  * Parse an xml file and get back a javascript object containing its results
177
193
  */
package/dist/util.js CHANGED
@@ -610,6 +610,106 @@ class Util {
610
610
  }
611
611
  return 0;
612
612
  }
613
+ /**
614
+ * Convert a file path into a `file://` URL string (e.g. `file:///C:/projects/file.brs`).
615
+ * Mirrors the `file-url` package: resolves the path, normalizes slashes, prefixes a leading slash
616
+ * (required for Windows drive letters), and escapes per RFC 3986.
617
+ */
618
+ fileUrl(filePath) {
619
+ let pathName = path.resolve(filePath).replace(/\\/g, '/');
620
+ //Windows drive letter must be prefixed with a slash
621
+ if (!pathName.startsWith('/')) {
622
+ pathName = `/${pathName}`;
623
+ }
624
+ //escape required characters for path components
625
+ return encodeURI(`file://${pathName}`).replace(/[?#]/g, encodeURIComponent);
626
+ }
627
+ /**
628
+ * `JSON.stringify` that is safe against circular references and throwing getters. Replaces the
629
+ * `safe-json-stringify` package.
630
+ */
631
+ safeJsonStringify(data, replacer, space) {
632
+ const seen = [];
633
+ const throwsMessage = (err) => '[Throws: ' + (err ? err.message : '?') + ']';
634
+ const safeGetValue = (obj, property) => {
635
+ try {
636
+ return obj[property];
637
+ }
638
+ catch (err) {
639
+ return throwsMessage(err);
640
+ }
641
+ };
642
+ const visit = (obj) => {
643
+ if (obj === null || typeof obj !== 'object') {
644
+ return obj;
645
+ }
646
+ if (seen.includes(obj)) {
647
+ return '[Circular]';
648
+ }
649
+ seen.push(obj);
650
+ try {
651
+ if (typeof obj.toJSON === 'function') {
652
+ try {
653
+ return visit(obj.toJSON());
654
+ }
655
+ catch (err) {
656
+ return throwsMessage(err);
657
+ }
658
+ }
659
+ if (Array.isArray(obj)) {
660
+ return obj.map(visit);
661
+ }
662
+ return Object.keys(obj).reduce((result, prop) => {
663
+ result[prop] = visit(safeGetValue(obj, prop));
664
+ return result;
665
+ }, {});
666
+ }
667
+ finally {
668
+ seen.pop();
669
+ }
670
+ };
671
+ return JSON.stringify(visit(data), replacer, space);
672
+ }
673
+ /**
674
+ * Serialize an error (or any thrown value) into a plain object suitable for `JSON.stringify`,
675
+ * handling circular references. Replaces the `serialize-error` package.
676
+ */
677
+ serializeError(value) {
678
+ const commonProperties = ['name', 'message', 'stack', 'code'];
679
+ const destroyCircular = (from, seen) => {
680
+ const to = Array.isArray(from) ? [] : {};
681
+ seen.push(from);
682
+ for (const [key, val] of Object.entries(from)) {
683
+ if (typeof val === 'function') {
684
+ continue;
685
+ }
686
+ if (!val || typeof val !== 'object') {
687
+ to[key] = val;
688
+ continue;
689
+ }
690
+ if (!seen.includes(from[key])) {
691
+ to[key] = destroyCircular(from[key], seen.slice());
692
+ continue;
693
+ }
694
+ to[key] = '[Circular]';
695
+ }
696
+ for (const property of commonProperties) {
697
+ if (typeof from[property] === 'string') {
698
+ to[property] = from[property];
699
+ }
700
+ }
701
+ return to;
702
+ };
703
+ if (typeof value === 'object' && value !== null) {
704
+ return destroyCircular(value, []);
705
+ }
706
+ //people sometimes throw things besides Error objects…
707
+ if (typeof value === 'function') {
708
+ //`JSON.stringify()` discards functions. We do too, unless a function is thrown directly.
709
+ return `[Function: ${(value.name || 'anonymous')}]`;
710
+ }
711
+ return value;
712
+ }
613
713
  /**
614
714
  * Parse an xml file and get back a javascript object containing its results
615
715
  */
@@ -1014,11 +1114,13 @@ class Util {
1014
1114
  */
1015
1115
  cloneToken(token) {
1016
1116
  if (token) {
1117
+ //keep this field order identical to `Lexer.addToken` so cloned tokens
1118
+ //share the same V8 hidden class as lexer-produced tokens
1017
1119
  const result = {
1018
1120
  kind: token.kind,
1019
- range: this.cloneRange(token.range),
1020
1121
  text: token.text,
1021
1122
  isReserved: token.isReserved,
1123
+ range: this.cloneRange(token.range),
1022
1124
  leadingWhitespace: token.leadingWhitespace
1023
1125
  };
1024
1126
  //handle those tokens that have charCode