@deephaven/console 0.15.1-beta.2 → 0.15.2-beta.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 (166) hide show
  1. package/dist/Console.d.ts +129 -121
  2. package/dist/Console.d.ts.map +1 -1
  3. package/dist/Console.js +98 -99
  4. package/dist/Console.js.map +1 -1
  5. package/dist/ConsoleInput.d.ts +47 -43
  6. package/dist/ConsoleInput.d.ts.map +1 -1
  7. package/dist/ConsoleInput.js +111 -73
  8. package/dist/ConsoleInput.js.map +1 -1
  9. package/dist/ConsoleMenu.d.ts +24 -22
  10. package/dist/ConsoleMenu.d.ts.map +1 -1
  11. package/dist/ConsoleMenu.js +7 -12
  12. package/dist/ConsoleMenu.js.map +1 -1
  13. package/dist/ConsolePropTypes.d.ts +2 -2
  14. package/dist/ConsolePropTypes.d.ts.map +1 -1
  15. package/dist/ConsolePropTypes.js.map +1 -1
  16. package/dist/ConsoleStatusBar.d.ts +26 -29
  17. package/dist/ConsoleStatusBar.d.ts.map +1 -1
  18. package/dist/ConsoleStatusBar.js +11 -12
  19. package/dist/ConsoleStatusBar.js.map +1 -1
  20. package/dist/StoragePropTypes.d.ts +2 -2
  21. package/dist/StoragePropTypes.d.ts.map +1 -1
  22. package/dist/StoragePropTypes.js.map +1 -1
  23. package/dist/command-history/CommandHistory.d.ts +52 -77
  24. package/dist/command-history/CommandHistory.d.ts.map +1 -1
  25. package/dist/command-history/CommandHistory.js +12 -14
  26. package/dist/command-history/CommandHistory.js.map +1 -1
  27. package/dist/command-history/CommandHistoryActions.d.ts +11 -19
  28. package/dist/command-history/CommandHistoryActions.d.ts.map +1 -1
  29. package/dist/command-history/CommandHistoryActions.js +4 -19
  30. package/dist/command-history/CommandHistoryActions.js.map +1 -1
  31. package/dist/command-history/CommandHistoryItem.d.ts +15 -21
  32. package/dist/command-history/CommandHistoryItem.d.ts.map +1 -1
  33. package/dist/command-history/CommandHistoryItem.js +1 -10
  34. package/dist/command-history/CommandHistoryItem.js.map +1 -1
  35. package/dist/command-history/CommandHistoryItemTooltip.d.ts +34 -31
  36. package/dist/command-history/CommandHistoryItemTooltip.d.ts.map +1 -1
  37. package/dist/command-history/CommandHistoryItemTooltip.js +28 -36
  38. package/dist/command-history/CommandHistoryItemTooltip.js.map +1 -1
  39. package/dist/command-history/CommandHistoryTypes.d.ts +19 -0
  40. package/dist/command-history/CommandHistoryTypes.d.ts.map +1 -0
  41. package/dist/command-history/CommandHistoryTypes.js +2 -0
  42. package/dist/command-history/CommandHistoryTypes.js.map +1 -0
  43. package/dist/command-history/index.d.ts +5 -5
  44. package/dist/command-history/index.d.ts.map +1 -1
  45. package/dist/command-history/index.js.map +1 -1
  46. package/dist/common/Code.d.ts +10 -11
  47. package/dist/common/Code.d.ts.map +1 -1
  48. package/dist/common/Code.js +5 -5
  49. package/dist/common/Code.js.map +1 -1
  50. package/dist/common/ConsoleUtils.d.ts +20 -8
  51. package/dist/common/ConsoleUtils.d.ts.map +1 -1
  52. package/dist/common/ConsoleUtils.js +34 -10
  53. package/dist/common/ConsoleUtils.js.map +1 -1
  54. package/dist/console-history/ConsoleHistory.d.ts +19 -18
  55. package/dist/console-history/ConsoleHistory.d.ts.map +1 -1
  56. package/dist/console-history/ConsoleHistory.js +5 -9
  57. package/dist/console-history/ConsoleHistory.js.map +1 -1
  58. package/dist/console-history/ConsoleHistoryItem.d.ts +21 -44
  59. package/dist/console-history/ConsoleHistoryItem.d.ts.map +1 -1
  60. package/dist/console-history/ConsoleHistoryItem.js +12 -28
  61. package/dist/console-history/ConsoleHistoryItem.js.map +1 -1
  62. package/dist/console-history/ConsoleHistoryItemResult.d.ts +13 -9
  63. package/dist/console-history/ConsoleHistoryItemResult.d.ts.map +1 -1
  64. package/dist/console-history/ConsoleHistoryItemResult.js.map +1 -1
  65. package/dist/console-history/ConsoleHistoryResultErrorMessage.d.ts +25 -21
  66. package/dist/console-history/ConsoleHistoryResultErrorMessage.d.ts.map +1 -1
  67. package/dist/console-history/ConsoleHistoryResultErrorMessage.js +15 -9
  68. package/dist/console-history/ConsoleHistoryResultErrorMessage.js.map +1 -1
  69. package/dist/console-history/ConsoleHistoryResultInProgress.d.ts +21 -17
  70. package/dist/console-history/ConsoleHistoryResultInProgress.d.ts.map +1 -1
  71. package/dist/console-history/ConsoleHistoryResultInProgress.js +12 -10
  72. package/dist/console-history/ConsoleHistoryResultInProgress.js.map +1 -1
  73. package/dist/console-history/ConsoleHistoryTypes.d.ts +19 -0
  74. package/dist/console-history/ConsoleHistoryTypes.d.ts.map +1 -0
  75. package/dist/console-history/ConsoleHistoryTypes.js +2 -0
  76. package/dist/console-history/ConsoleHistoryTypes.js.map +1 -0
  77. package/dist/console-history/index.d.ts +5 -5
  78. package/dist/console-history/index.d.ts.map +1 -1
  79. package/dist/console-history/index.js.map +1 -1
  80. package/dist/csv/CsvFormats.d.ts +13 -12
  81. package/dist/csv/CsvFormats.d.ts.map +1 -1
  82. package/dist/csv/CsvFormats.js +8 -8
  83. package/dist/csv/CsvFormats.js.map +1 -1
  84. package/dist/csv/CsvInputBar.d.ts +46 -38
  85. package/dist/csv/CsvInputBar.d.ts.map +1 -1
  86. package/dist/csv/CsvInputBar.js +15 -23
  87. package/dist/csv/CsvInputBar.js.map +1 -1
  88. package/dist/csv/CsvOverlay.d.ts +40 -40
  89. package/dist/csv/CsvOverlay.d.ts.map +1 -1
  90. package/dist/csv/CsvOverlay.js +38 -29
  91. package/dist/csv/CsvOverlay.js.map +1 -1
  92. package/dist/csv/CsvParser.d.ts +44 -46
  93. package/dist/csv/CsvParser.d.ts.map +1 -1
  94. package/dist/csv/CsvParser.js +53 -8
  95. package/dist/csv/CsvParser.js.map +1 -1
  96. package/dist/csv/CsvTypeParser.d.ts +32 -27
  97. package/dist/csv/CsvTypeParser.d.ts.map +1 -1
  98. package/dist/csv/CsvTypeParser.js +42 -8
  99. package/dist/csv/CsvTypeParser.js.map +1 -1
  100. package/dist/csv/NewTableColumnTypes.d.ts +1 -1
  101. package/dist/csv/NewTableColumnTypes.d.ts.map +1 -1
  102. package/dist/csv/NewTableColumnTypes.js.map +1 -1
  103. package/dist/declaration.d.js +2 -0
  104. package/dist/declaration.d.js.map +1 -0
  105. package/dist/index.d.ts +14 -13
  106. package/dist/index.d.ts.map +1 -1
  107. package/dist/index.js.map +1 -1
  108. package/dist/log/LogLevel.d.ts +1 -1
  109. package/dist/log/LogLevel.d.ts.map +1 -1
  110. package/dist/log/LogLevel.js.map +1 -1
  111. package/dist/log/LogLevelMenuItem.d.ts +11 -12
  112. package/dist/log/LogLevelMenuItem.d.ts.map +1 -1
  113. package/dist/log/LogLevelMenuItem.js +0 -6
  114. package/dist/log/LogLevelMenuItem.js.map +1 -1
  115. package/dist/log/LogView.d.ts +40 -47
  116. package/dist/log/LogView.d.ts.map +1 -1
  117. package/dist/log/LogView.js +65 -29
  118. package/dist/log/LogView.js.map +1 -1
  119. package/dist/monaco/MonacoCompletionProvider.d.ts +19 -19
  120. package/dist/monaco/MonacoCompletionProvider.d.ts.map +1 -1
  121. package/dist/monaco/MonacoCompletionProvider.js +11 -15
  122. package/dist/monaco/MonacoCompletionProvider.js.map +1 -1
  123. package/dist/monaco/MonacoUtils.d.ts +77 -20
  124. package/dist/monaco/MonacoUtils.d.ts.map +1 -1
  125. package/dist/monaco/MonacoUtils.js +32 -24
  126. package/dist/monaco/MonacoUtils.js.map +1 -1
  127. package/dist/monaco/index.d.ts +3 -2
  128. package/dist/monaco/index.d.ts.map +1 -1
  129. package/dist/monaco/index.js.map +1 -1
  130. package/dist/monaco/lang/Language.d.ts +7 -0
  131. package/dist/monaco/lang/Language.d.ts.map +1 -0
  132. package/dist/monaco/lang/Language.js +2 -0
  133. package/dist/monaco/lang/Language.js.map +1 -0
  134. package/dist/monaco/lang/db.d.ts +3 -93
  135. package/dist/monaco/lang/db.d.ts.map +1 -1
  136. package/dist/monaco/lang/db.js +18 -3
  137. package/dist/monaco/lang/db.js.map +1 -1
  138. package/dist/monaco/lang/groovy.d.ts +3 -146
  139. package/dist/monaco/lang/groovy.d.ts.map +1 -1
  140. package/dist/monaco/lang/groovy.js +15 -2
  141. package/dist/monaco/lang/groovy.js.map +1 -1
  142. package/dist/monaco/lang/log.d.ts +3 -40
  143. package/dist/monaco/lang/log.d.ts.map +1 -1
  144. package/dist/monaco/lang/log.js +2 -1
  145. package/dist/monaco/lang/log.js.map +1 -1
  146. package/dist/monaco/lang/python.d.ts +3 -154
  147. package/dist/monaco/lang/python.d.ts.map +1 -1
  148. package/dist/monaco/lang/python.js +15 -2
  149. package/dist/monaco/lang/python.js.map +1 -1
  150. package/dist/monaco/lang/scala.d.ts +3 -140
  151. package/dist/monaco/lang/scala.d.ts.map +1 -1
  152. package/dist/monaco/lang/scala.js +10 -3
  153. package/dist/monaco/lang/scala.js.map +1 -1
  154. package/dist/notebook/Editor.d.ts +26 -27
  155. package/dist/notebook/Editor.d.ts.map +1 -1
  156. package/dist/notebook/Editor.js +23 -19
  157. package/dist/notebook/Editor.js.map +1 -1
  158. package/dist/notebook/ScriptEditor.d.ts +54 -51
  159. package/dist/notebook/ScriptEditor.d.ts.map +1 -1
  160. package/dist/notebook/ScriptEditor.js +45 -48
  161. package/dist/notebook/ScriptEditor.js.map +1 -1
  162. package/dist/notebook/ScriptEditorUtils.d.ts +15 -10
  163. package/dist/notebook/ScriptEditorUtils.d.ts.map +1 -1
  164. package/dist/notebook/ScriptEditorUtils.js +7 -7
  165. package/dist/notebook/ScriptEditorUtils.js.map +1 -1
  166. package/package.json +12 -11
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/csv/CsvTypeParser.js"],"names":["Papa","NewTableColumnTypes","UNKNOWN","MAX_INT","MIN_INT","DATE_TIME_REGEX","LOCAL_TIME_REGEX","CsvTypeParser","determineType","value","type","nullString","STRING","INTEGER","checkInteger","LONG","checkLong","DOUBLE","checkDouble","BOOLEAN","checkBoolean","DATE_TIME","checkDateTime","LOCAL_TIME","checkLocalTime","getTypeFromUnknown","isNotParsableNumber","s","isNaN","noCommas","replace","getNumberType","includes","lower","toLowerCase","test","maxIntLength","startsWith","length","intValue","parseInt","constructor","onFileCompleted","file","readHeaders","parentConfig","onProgress","onError","totalChunks","isZip","shouldTrim","types","chunks","zipProgress","handleChunk","bind","handleComplete","handleError","handleNodeUpdate","config","error","chunk","complete","parse","toParse","nodeStream","result","parser","data","abort","Array","fill","slice","forEach","row","i","trim","progress","Math","round","isCancelled","results","meta","aborted","map","metadata","percent"],"mappings":";;;;;;AAAA;;AACA;AACA,OAAOA,IAAP,MAAiB,WAAjB;OACOC,mB,kCAEP;;AACA,IAAMC,OAAO,GAAG,SAAhB;AAEA,IAAMC,OAAO,GAAG,UAAhB;AACA,IAAMC,OAAO,GAAG,CAAC,UAAjB;AAEA,IAAMC,eAAe,GAAG,sGAAxB;AACA,IAAMC,gBAAgB,GAAG,0DAAzB;AAEA;AACA;AACA;;AACA,MAAMC,aAAN,CAAoB;AACE,SAAbC,aAAa,CAACC,KAAD,EAAQC,IAAR,EAAcC,UAAd,EAA0B;AAC5C,QAAI,CAACF,KAAD,IAAUA,KAAK,KAAKE,UAAxB,EAAoC;AAClC;AACA,aAAOD,IAAP;AACD;;AAED,YAAQA,IAAR;AACE,WAAKT,mBAAmB,CAACW,MAAzB;AACE;AACA,eAAOX,mBAAmB,CAACW,MAA3B;;AACF,WAAKX,mBAAmB,CAACY,OAAzB;AACE,eAAON,aAAa,CAACO,YAAd,CAA2BL,KAA3B,CAAP;;AACF,WAAKR,mBAAmB,CAACc,IAAzB;AACE,eAAOR,aAAa,CAACS,SAAd,CAAwBP,KAAxB,CAAP;;AACF,WAAKR,mBAAmB,CAACgB,MAAzB;AACE,eAAOV,aAAa,CAACW,WAAd,CAA0BT,KAA1B,CAAP;;AACF,WAAKR,mBAAmB,CAACkB,OAAzB;AACE,eAAOZ,aAAa,CAACa,YAAd,CAA2BX,KAA3B,CAAP;;AACF,WAAKR,mBAAmB,CAACoB,SAAzB;AACE,eAAOd,aAAa,CAACe,aAAd,CAA4Bb,KAA5B,CAAP;;AACF,WAAKR,mBAAmB,CAACsB,UAAzB;AACE,eAAOhB,aAAa,CAACiB,cAAd,CAA6Bf,KAA7B,CAAP;;AACF;AACE,eAAOF,aAAa,CAACkB,kBAAd,CAAiChB,KAAjC,CAAP;AAjBJ;AAmBD,GA1BiB,CA4BlB;;;AAC0B,SAAnBiB,mBAAmB,CAACC,CAAD,EAAI;AAC5B,WAAOC,KAAK,CAACD,CAAD,CAAL,IAAYA,CAAC,KAAK,UAAlB,IAAgCA,CAAC,KAAK,WAA7C;AACD;;AAEkB,SAAZb,YAAY,CAACL,KAAD,EAAQ;AACzB,QAAMoB,QAAQ,GAAGpB,KAAK,CAACqB,OAAN,CAAc,IAAd,EAAoB,EAApB,CAAjB;;AACA,QAAIvB,aAAa,CAACmB,mBAAd,CAAkCG,QAAlC,CAAJ,EAAiD;AAC/C,aAAO5B,mBAAmB,CAACW,MAA3B;AACD;;AAED,WAAOL,aAAa,CAACwB,aAAd,CAA4BF,QAA5B,CAAP;AACD;;AAEe,SAATb,SAAS,CAACP,KAAD,EAAQ;AACtB,QAAMoB,QAAQ,GAAGpB,KAAK,CAACqB,OAAN,CAAc,IAAd,EAAoB,EAApB,CAAjB;;AACA,QAAIvB,aAAa,CAACmB,mBAAd,CAAkCG,QAAlC,CAAJ,EAAiD;AAC/C,aAAO5B,mBAAmB,CAACW,MAA3B;AACD;;AAED,QAAIiB,QAAQ,CAACG,QAAT,CAAkB,GAAlB,CAAJ,EAA4B;AAC1B,aAAO/B,mBAAmB,CAACgB,MAA3B;AACD;;AAED,WAAOhB,mBAAmB,CAACc,IAA3B;AACD;;AAEiB,SAAXG,WAAW,CAACT,KAAD,EAAQ;AACxB,QAAMoB,QAAQ,GAAGpB,KAAK,CAACqB,OAAN,CAAc,IAAd,EAAoB,EAApB,CAAjB;;AACA,QAAIvB,aAAa,CAACmB,mBAAd,CAAkCG,QAAlC,CAAJ,EAAiD;AAC/C,aAAO5B,mBAAmB,CAACW,MAA3B;AACD;;AAED,WAAOX,mBAAmB,CAACgB,MAA3B;AACD;;AAEkB,SAAZG,YAAY,CAACX,KAAD,EAAQ;AACzB,QAAMwB,KAAK,GAAGxB,KAAK,CAACyB,WAAN,EAAd;;AACA,QAAID,KAAK,KAAK,MAAV,IAAoBA,KAAK,KAAK,OAAlC,EAA2C;AACzC,aAAOhC,mBAAmB,CAACkB,OAA3B;AACD;;AACD,WAAOlB,mBAAmB,CAACW,MAA3B;AACD;;AAEmB,SAAbU,aAAa,CAACb,KAAD,EAAQ;AAC1B,QAAIJ,eAAe,CAAC8B,IAAhB,CAAqB1B,KAArB,CAAJ,EAAiC;AAC/B,aAAOR,mBAAmB,CAACoB,SAA3B;AACD;;AAED,WAAOpB,mBAAmB,CAACW,MAA3B;AACD;;AAEoB,SAAdY,cAAc,CAACf,KAAD,EAAQ;AAC3B,QAAIH,gBAAgB,CAAC6B,IAAjB,CAAsB1B,KAAtB,CAAJ,EAAkC;AAChC,aAAOR,mBAAmB,CAACsB,UAA3B;AACD;;AAED,WAAOtB,mBAAmB,CAACW,MAA3B;AACD;;AAEwB,SAAlBa,kBAAkB,CAAChB,KAAD,EAAQ;AAC/B,QAAMoB,QAAQ,GAAGpB,KAAK,CAACqB,OAAN,CAAc,IAAd,EAAoB,EAApB,CAAjB;;AACA,QAAIvB,aAAa,CAACmB,mBAAd,CAAkCG,QAAlC,CAAJ,EAAiD;AAC/C,UAAMI,KAAK,GAAGxB,KAAK,CAACyB,WAAN,EAAd;;AACA,UAAID,KAAK,KAAK,MAAV,IAAoBA,KAAK,KAAK,OAAlC,EAA2C;AACzC,eAAOhC,mBAAmB,CAACkB,OAA3B;AACD;;AAED,UAAId,eAAe,CAAC8B,IAAhB,CAAqB1B,KAArB,KAA+BA,KAAK,CAACuB,QAAN,CAAe,GAAf,CAAnC,EAAwD;AACtD,eAAO/B,mBAAmB,CAACoB,SAA3B;AACD;;AAED,UAAIf,gBAAgB,CAAC6B,IAAjB,CAAsB1B,KAAtB,CAAJ,EAAkC;AAChC,eAAOR,mBAAmB,CAACsB,UAA3B;AACD;;AAED,aAAOtB,mBAAmB,CAACW,MAA3B;AACD;;AAED,WAAOL,aAAa,CAACwB,aAAd,CAA4BF,QAA5B,CAAP;AACD;;AAEmB,SAAbE,aAAa,CAACtB,KAAD,EAAQ;AAC1B,QAAIA,KAAK,CAACuB,QAAN,CAAe,GAAf,CAAJ,EAAyB;AACvB,aAAO/B,mBAAmB,CAACgB,MAA3B;AACD,KAHyB,CAK1B;;;AACA,QAAMmB,YAAY,GAAG3B,KAAK,CAAC4B,UAAN,CAAiB,GAAjB,IAAwB,EAAxB,GAA6B,EAAlD;;AACA,QAAI5B,KAAK,CAAC6B,MAAN,GAAeF,YAAnB,EAAiC;AAC/B,aAAOnC,mBAAmB,CAACc,IAA3B;AACD,KATyB,CAW1B;;;AACA,QAAMwB,QAAQ,GAAGC,QAAQ,CAAC/B,KAAD,EAAQ,EAAR,CAAzB;;AACA,QAAI8B,QAAQ,GAAGpC,OAAX,IAAsBoC,QAAQ,GAAGnC,OAArC,EAA8C;AAC5C,aAAOH,mBAAmB,CAACc,IAA3B;AACD;;AAED,WAAOd,mBAAmB,CAACY,OAA3B;AACD;;AAED4B,EAAAA,WAAW,CACTC,eADS,EAETC,IAFS,EAGTC,WAHS,EAITC,YAJS,EAKTlC,UALS,EAMTmC,UANS,EAOTC,OAPS,EAQTC,WARS,EASTC,KATS,EAUTC,UAVS,EAWT;AACA,SAAKR,eAAL,GAAuBA,eAAvB;AACA,SAAKC,IAAL,GAAYA,IAAZ;AACA,SAAKC,WAAL,GAAmBA,WAAnB;AACA,SAAKjC,UAAL,GAAkBA,UAAlB;AACA,SAAKmC,UAAL,GAAkBA,UAAlB;AACA,SAAKC,OAAL,GAAeA,OAAf;AACA,SAAKI,KAAL,GAAa,IAAb;AACA,SAAKC,MAAL,GAAc,CAAd;AACA,SAAKJ,WAAL,GAAmBA,WAAnB;AACA,SAAKC,KAAL,GAAaA,KAAb;AACA,SAAKC,UAAL,GAAkBA,UAAlB;AACA,SAAKG,WAAL,GAAmB,CAAnB;AAEA,SAAKC,WAAL,GAAmB,KAAKA,WAAL,CAAiBC,IAAjB,CAAsB,IAAtB,CAAnB;AACA,SAAKC,cAAL,GAAsB,KAAKA,cAAL,CAAoBD,IAApB,CAAyB,IAAzB,CAAtB;AACA,SAAKE,WAAL,GAAmB,KAAKA,WAAL,CAAiBF,IAAjB,CAAsB,IAAtB,CAAnB;AACA,SAAKG,gBAAL,GAAwB,KAAKA,gBAAL,CAAsBH,IAAtB,CAA2B,IAA3B,CAAxB;AAEA,SAAKI,MAAL,mCACKd,YADL;AAEEe,MAAAA,KAAK,EAAE,KAAKH,WAFd;AAGEI,MAAAA,KAAK,EAAE,KAAKP,WAHd;AAIEQ,MAAAA,QAAQ,EAAE,KAAKN;AAJjB;AAMD;;AAEDO,EAAAA,KAAK,GAAG;AACN,QAAMC,OAAO,GAAG,KAAKf,KAAL,GACZ,KAAKN,IAAL,CAAUsB,UAAV,CAAqB,YAArB,EAAmC,KAAKP,gBAAxC,CADY,GAEZ,KAAKf,IAFT;AAGA3C,IAAAA,IAAI,CAAC+D,KAAL,CAAWC,OAAX,EAAoB,KAAKL,MAAzB;AACD;;AAEDL,EAAAA,WAAW,CAACY,MAAD,EAASC,MAAT,EAAiB;AAC1B,QAAI;AAAEC,MAAAA;AAAF,QAAWF,MAAf;;AACA,QAAI,CAAC,KAAKf,KAAV,EAAiB;AACf,UAAI,CAACiB,IAAD,IAASA,IAAI,CAAC9B,MAAL,KAAgB,CAA7B,EAAgC;AAC9B6B,QAAAA,MAAM,CAACE,KAAP;AACA,aAAKtB,OAAL,CAAa,qCAAb;AACA;AACD;;AACD,WAAKI,KAAL,GAAa,IAAImB,KAAJ,CAAUF,IAAI,CAAC,CAAD,CAAJ,CAAQ9B,MAAlB,EAA0BiC,IAA1B,CAA+BrE,OAA/B,CAAb;;AACA,UAAI,KAAK0C,WAAT,EAAsB;AACpB;AACAwB,QAAAA,IAAI,GAAGA,IAAI,CAACI,KAAL,CAAW,CAAX,CAAP;AACD;AACF;;AAEDJ,IAAAA,IAAI,CAACK,OAAL,CAAaC,GAAG,IAAI;AAClB,UAAIA,GAAG,CAACpC,MAAJ,IAAc,KAAKa,KAAL,CAAWb,MAA7B,EAAqC;AACnC,aAAK,IAAIqC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAG,KAAKxB,KAAL,CAAWb,MAA/B,EAAuCqC,CAAC,IAAI,CAA5C,EAA+C;AAC7C,eAAKxB,KAAL,CAAWwB,CAAX,IAAgBpE,aAAa,CAACC,aAAd,CACd,KAAK0C,UAAL,GAAkBwB,GAAG,CAACC,CAAD,CAAH,CAAOC,IAAP,EAAlB,GAAkCF,GAAG,CAACC,CAAD,CADvB,EAEd,KAAKxB,KAAL,CAAWwB,CAAX,CAFc,EAGd,KAAKhE,UAHS,CAAhB;AAKD;AACF,OARD,MAQO;AACLwD,QAAAA,MAAM,CAACE,KAAP;AACA,aAAKtB,OAAL,yEACmE,KAAKI,KAAL,CAAWb,MAD9E,wBACkGoC,GAAG,CAACpC,MADtG,sBACwHoC,GADxH;AAGD;AACF,KAfD;AAiBA,SAAKtB,MAAL,IAAe,CAAf,CAhC0B,CAiC1B;;AACA,QAAIyB,QAAQ,GAAG,CAAf;;AACA,QAAI,KAAK7B,WAAL,GAAmB,CAAvB,EAA0B;AACxB6B,MAAAA,QAAQ,GAAGC,IAAI,CAACC,KAAL,CAAY,KAAK3B,MAAL,GAAc,KAAKJ,WAApB,GAAmC,EAA9C,CAAX;AACD,KAFD,MAEO;AACL6B,MAAAA,QAAQ,GAAGC,IAAI,CAACC,KAAL,CAAW,KAAK1B,WAAL,GAAmB,CAA9B,CAAX;AACD;;AACD,QAAM2B,WAAW,GAAG,KAAKlC,UAAL,CAAgB+B,QAAhB,CAApB;;AACA,QAAIG,WAAJ,EAAiB;AACfb,MAAAA,MAAM,CAACE,KAAP;AACD;AACF;;AAEDb,EAAAA,cAAc,CAACyB,OAAD,EAAU;AACtB,QAAM;AAAE9B,MAAAA,KAAF;AAAST,MAAAA;AAAT,QAA6B,IAAnC,CADsB,CAEtB;;AACA,QAAI,CAACuC,OAAD,IAAY,CAACA,OAAO,CAACC,IAAR,CAAaC,OAA9B,EAAuC;AACrCzC,MAAAA,eAAe,CACbS,KAAK,CAACiC,GAAN,CAAU1E,IAAI,IACZA,IAAI,KAAKR,OAAT,GAAmBD,mBAAmB,CAACW,MAAvC,GAAgDF,IADlD,CADa,CAAf;AAKD;AACF;;AAED+C,EAAAA,WAAW,CAACG,KAAD,EAAQ;AACjB,QAAM;AAAEb,MAAAA;AAAF,QAAc,IAApB;AACAA,IAAAA,OAAO,CAACa,KAAD,CAAP;AACD;;AAEDF,EAAAA,gBAAgB,CAAC2B,QAAD,EAAW;AACzB,SAAKhC,WAAL,GAAmBgC,QAAQ,CAACC,OAA5B;AACD;;AAhPiB;;AAmPpB,eAAe/E,aAAf","sourcesContent":["// Intentionally using isNaN rather than Number.isNaN\n/* eslint-disable no-restricted-globals */\nimport Papa from 'papaparse';\nimport NewTableColumnTypes from './NewTableColumnTypes';\n\n// Initially column types start al unknown\nconst UNKNOWN = 'unknown';\n\nconst MAX_INT = 2147483647;\nconst MIN_INT = -2147483648;\n\nconst DATE_TIME_REGEX = /^[0-9]{4}-[0-1][0-9]-[0-3][0-9][ T][0-2][0-9]:[0-5][0-9]:[0-6][0-9](?:\\.[0-9]{1,9})?(?: [a-zA-Z]+)?$/;\nconst LOCAL_TIME_REGEX = /^([0-9]+T)?([0-9]+):([0-9]+)(:[0-9]+)?(?:\\.[0-9]{1,9})?$/;\n\n/**\n * Determines the type of each column in a CSV file by parsing it and looking at every value.\n */\nclass CsvTypeParser {\n static determineType(value, type, nullString) {\n if (!value || value === nullString) {\n // A null tells us nothing about the type\n return type;\n }\n\n switch (type) {\n case NewTableColumnTypes.STRING:\n // Strings never get promoted\n return NewTableColumnTypes.STRING;\n case NewTableColumnTypes.INTEGER:\n return CsvTypeParser.checkInteger(value);\n case NewTableColumnTypes.LONG:\n return CsvTypeParser.checkLong(value);\n case NewTableColumnTypes.DOUBLE:\n return CsvTypeParser.checkDouble(value);\n case NewTableColumnTypes.BOOLEAN:\n return CsvTypeParser.checkBoolean(value);\n case NewTableColumnTypes.DATE_TIME:\n return CsvTypeParser.checkDateTime(value);\n case NewTableColumnTypes.LOCAL_TIME:\n return CsvTypeParser.checkLocalTime(value);\n default:\n return CsvTypeParser.getTypeFromUnknown(value);\n }\n }\n\n // Allows for cusomt rules in addition to isNaN\n static isNotParsableNumber(s) {\n return isNaN(s) || s === 'Infinity' || s === '-Infinity';\n }\n\n static checkInteger(value) {\n const noCommas = value.replace(/,/g, '');\n if (CsvTypeParser.isNotParsableNumber(noCommas)) {\n return NewTableColumnTypes.STRING;\n }\n\n return CsvTypeParser.getNumberType(noCommas);\n }\n\n static checkLong(value) {\n const noCommas = value.replace(/,/g, '');\n if (CsvTypeParser.isNotParsableNumber(noCommas)) {\n return NewTableColumnTypes.STRING;\n }\n\n if (noCommas.includes('.')) {\n return NewTableColumnTypes.DOUBLE;\n }\n\n return NewTableColumnTypes.LONG;\n }\n\n static checkDouble(value) {\n const noCommas = value.replace(/,/g, '');\n if (CsvTypeParser.isNotParsableNumber(noCommas)) {\n return NewTableColumnTypes.STRING;\n }\n\n return NewTableColumnTypes.DOUBLE;\n }\n\n static checkBoolean(value) {\n const lower = value.toLowerCase();\n if (lower === 'true' || lower === 'false') {\n return NewTableColumnTypes.BOOLEAN;\n }\n return NewTableColumnTypes.STRING;\n }\n\n static checkDateTime(value) {\n if (DATE_TIME_REGEX.test(value)) {\n return NewTableColumnTypes.DATE_TIME;\n }\n\n return NewTableColumnTypes.STRING;\n }\n\n static checkLocalTime(value) {\n if (LOCAL_TIME_REGEX.test(value)) {\n return NewTableColumnTypes.LOCAL_TIME;\n }\n\n return NewTableColumnTypes.STRING;\n }\n\n static getTypeFromUnknown(value) {\n const noCommas = value.replace(/,/g, '');\n if (CsvTypeParser.isNotParsableNumber(noCommas)) {\n const lower = value.toLowerCase();\n if (lower === 'true' || lower === 'false') {\n return NewTableColumnTypes.BOOLEAN;\n }\n\n if (DATE_TIME_REGEX.test(value) && value.includes(':')) {\n return NewTableColumnTypes.DATE_TIME;\n }\n\n if (LOCAL_TIME_REGEX.test(value)) {\n return NewTableColumnTypes.LOCAL_TIME;\n }\n\n return NewTableColumnTypes.STRING;\n }\n\n return CsvTypeParser.getNumberType(noCommas);\n }\n\n static getNumberType(value) {\n if (value.includes('.')) {\n return NewTableColumnTypes.DOUBLE;\n }\n\n // Fast length check\n const maxIntLength = value.startsWith('-') ? 11 : 10;\n if (value.length > maxIntLength) {\n return NewTableColumnTypes.LONG;\n }\n\n // Slower parseInt check\n const intValue = parseInt(value, 10);\n if (intValue > MAX_INT || intValue < MIN_INT) {\n return NewTableColumnTypes.LONG;\n }\n\n return NewTableColumnTypes.INTEGER;\n }\n\n constructor(\n onFileCompleted,\n file,\n readHeaders,\n parentConfig,\n nullString,\n onProgress,\n onError,\n totalChunks,\n isZip,\n shouldTrim\n ) {\n this.onFileCompleted = onFileCompleted;\n this.file = file;\n this.readHeaders = readHeaders;\n this.nullString = nullString;\n this.onProgress = onProgress;\n this.onError = onError;\n this.types = null;\n this.chunks = 0;\n this.totalChunks = totalChunks;\n this.isZip = isZip;\n this.shouldTrim = shouldTrim;\n this.zipProgress = 0;\n\n this.handleChunk = this.handleChunk.bind(this);\n this.handleComplete = this.handleComplete.bind(this);\n this.handleError = this.handleError.bind(this);\n this.handleNodeUpdate = this.handleNodeUpdate.bind(this);\n\n this.config = {\n ...parentConfig,\n error: this.handleError,\n chunk: this.handleChunk,\n complete: this.handleComplete,\n };\n }\n\n parse() {\n const toParse = this.isZip\n ? this.file.nodeStream('nodebuffer', this.handleNodeUpdate)\n : this.file;\n Papa.parse(toParse, this.config);\n }\n\n handleChunk(result, parser) {\n let { data } = result;\n if (!this.types) {\n if (!data || data.length === 0) {\n parser.abort();\n this.onError('Error parsing CSV: no data in file.');\n return;\n }\n this.types = new Array(data[0].length).fill(UNKNOWN);\n if (this.readHeaders) {\n // If headers are being read from the file, remove them from type analysis\n data = data.slice(1);\n }\n }\n\n data.forEach(row => {\n if (row.length >= this.types.length) {\n for (let i = 0; i < this.types.length; i += 1) {\n this.types[i] = CsvTypeParser.determineType(\n this.shouldTrim ? row[i].trim() : row[i],\n this.types[i],\n this.nullString\n );\n }\n } else {\n parser.abort();\n this.onError(\n `Error parsing CSV: Insufficient data in row.\\nExpected length ${this.types.length} but found ${row.length}.\\nRow = ${row}`\n );\n }\n });\n\n this.chunks += 1;\n // 50 because the type parsing accounts for 50% of the parsing\n let progress = 0;\n if (this.totalChunks > 0) {\n progress = Math.round((this.chunks / this.totalChunks) * 50);\n } else {\n progress = Math.round(this.zipProgress / 2);\n }\n const isCancelled = this.onProgress(progress);\n if (isCancelled) {\n parser.abort();\n }\n }\n\n handleComplete(results) {\n const { types, onFileCompleted } = this;\n // results is undefined for a succesful parse, but has meta data for an abort\n if (!results || !results.meta.aborted) {\n onFileCompleted(\n types.map(type =>\n type === UNKNOWN ? NewTableColumnTypes.STRING : type\n )\n );\n }\n }\n\n handleError(error) {\n const { onError } = this;\n onError(error);\n }\n\n handleNodeUpdate(metadata) {\n this.zipProgress = metadata.percent;\n }\n}\n\nexport default CsvTypeParser;\n"],"file":"CsvTypeParser.js"}
1
+ {"version":3,"sources":["../../src/csv/CsvTypeParser.ts"],"names":["assertNotNull","Papa","NewTableColumnTypes","UNKNOWN","MAX_INT","MIN_INT","DATE_TIME_REGEX","LOCAL_TIME_REGEX","CsvTypeParser","determineType","value","type","nullString","STRING","INTEGER","checkInteger","LONG","checkLong","DOUBLE","checkDouble","BOOLEAN","checkBoolean","DATE_TIME","checkDateTime","LOCAL_TIME","checkLocalTime","getTypeFromUnknown","isNotParsableNumber","s","isNaN","noCommas","replace","getNumberType","includes","lower","toLowerCase","test","maxIntLength","startsWith","length","intValue","parseInt","constructor","onFileCompleted","file","readHeaders","parentConfig","onProgress","onError","totalChunks","isZip","shouldTrim","chunks","zipProgress","handleChunk","bind","handleComplete","handleError","handleNodeUpdate","config","error","chunk","complete","parse","toParse","nodeStream","result","parser","data","types","abort","Array","fill","slice","cloneTypes","forEach","row","i","trim","progress","Math","round","isCancelled","results","meta","aborted","map","metadata","percent"],"mappings":"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","sourcesContent":["import type { JSZipObject } from 'jszip';\nimport { assertNotNull } from '@deephaven/utils';\nimport Papa, { Parser, ParseResult, ParseLocalConfig } from 'papaparse';\n// Intentionally using isNaN rather than Number.isNaN\n/* eslint-disable no-restricted-globals */\nimport NewTableColumnTypes from './NewTableColumnTypes';\n\n// Initially column types start al unknown\nconst UNKNOWN = 'unknown';\n\nconst MAX_INT = 2147483647;\nconst MIN_INT = -2147483648;\n\nconst DATE_TIME_REGEX = /^[0-9]{4}-[0-1][0-9]-[0-3][0-9][ T][0-2][0-9]:[0-5][0-9]:[0-6][0-9](?:\\.[0-9]{1,9})?(?: [a-zA-Z]+)?$/;\nconst LOCAL_TIME_REGEX = /^([0-9]+T)?([0-9]+):([0-9]+)(:[0-9]+)?(?:\\.[0-9]{1,9})?$/;\n\n/**\n * Determines the type of each column in a CSV file by parsing it and looking at every value.\n */\nclass CsvTypeParser {\n static determineType(\n value: string,\n type: string,\n nullString: string | null\n ): string {\n if (!value || value === nullString) {\n // A null tells us nothing about the type\n return type;\n }\n\n switch (type) {\n case NewTableColumnTypes.STRING:\n // Strings never get promoted\n return NewTableColumnTypes.STRING;\n case NewTableColumnTypes.INTEGER:\n return CsvTypeParser.checkInteger(value);\n case NewTableColumnTypes.LONG:\n return CsvTypeParser.checkLong(value);\n case NewTableColumnTypes.DOUBLE:\n return CsvTypeParser.checkDouble(value);\n case NewTableColumnTypes.BOOLEAN:\n return CsvTypeParser.checkBoolean(value);\n case NewTableColumnTypes.DATE_TIME:\n return CsvTypeParser.checkDateTime(value);\n case NewTableColumnTypes.LOCAL_TIME:\n return CsvTypeParser.checkLocalTime(value);\n default:\n return CsvTypeParser.getTypeFromUnknown(value);\n }\n }\n\n // Allows for cusomt rules in addition to isNaN\n static isNotParsableNumber(s: string): boolean {\n return (\n isNaN((s as unknown) as number) || s === 'Infinity' || s === '-Infinity'\n );\n }\n\n static checkInteger(value: string): string {\n const noCommas = value.replace(/,/g, '');\n if (CsvTypeParser.isNotParsableNumber(noCommas)) {\n return NewTableColumnTypes.STRING;\n }\n\n return CsvTypeParser.getNumberType(noCommas);\n }\n\n static checkLong(value: string): string {\n const noCommas = value.replace(/,/g, '');\n if (CsvTypeParser.isNotParsableNumber(noCommas)) {\n return NewTableColumnTypes.STRING;\n }\n\n if (noCommas.includes('.')) {\n return NewTableColumnTypes.DOUBLE;\n }\n\n return NewTableColumnTypes.LONG;\n }\n\n static checkDouble(value: string): string {\n const noCommas = value.replace(/,/g, '');\n if (CsvTypeParser.isNotParsableNumber(noCommas)) {\n return NewTableColumnTypes.STRING;\n }\n\n return NewTableColumnTypes.DOUBLE;\n }\n\n static checkBoolean(value: string): string {\n const lower = value.toLowerCase();\n if (lower === 'true' || lower === 'false') {\n return NewTableColumnTypes.BOOLEAN;\n }\n return NewTableColumnTypes.STRING;\n }\n\n static checkDateTime(value: string): string {\n if (DATE_TIME_REGEX.test(value)) {\n return NewTableColumnTypes.DATE_TIME;\n }\n\n return NewTableColumnTypes.STRING;\n }\n\n static checkLocalTime(value: string): string {\n if (LOCAL_TIME_REGEX.test(value)) {\n return NewTableColumnTypes.LOCAL_TIME;\n }\n\n return NewTableColumnTypes.STRING;\n }\n\n static getTypeFromUnknown(value: string): string {\n const noCommas = value.replace(/,/g, '');\n if (CsvTypeParser.isNotParsableNumber(noCommas)) {\n const lower = value.toLowerCase();\n if (lower === 'true' || lower === 'false') {\n return NewTableColumnTypes.BOOLEAN;\n }\n\n if (DATE_TIME_REGEX.test(value) && value.includes(':')) {\n return NewTableColumnTypes.DATE_TIME;\n }\n\n if (LOCAL_TIME_REGEX.test(value)) {\n return NewTableColumnTypes.LOCAL_TIME;\n }\n\n return NewTableColumnTypes.STRING;\n }\n\n return CsvTypeParser.getNumberType(noCommas);\n }\n\n static getNumberType(value: string): string {\n if (value.includes('.')) {\n return NewTableColumnTypes.DOUBLE;\n }\n\n // Fast length check\n const maxIntLength = value.startsWith('-') ? 11 : 10;\n if (value.length > maxIntLength) {\n return NewTableColumnTypes.LONG;\n }\n\n // Slower parseInt check\n const intValue = parseInt(value, 10);\n if (intValue > MAX_INT || intValue < MIN_INT) {\n return NewTableColumnTypes.LONG;\n }\n\n return NewTableColumnTypes.INTEGER;\n }\n\n constructor(\n onFileCompleted: (types: string[]) => void,\n file: Blob | JSZipObject,\n readHeaders: boolean,\n parentConfig: ParseLocalConfig<unknown, Blob | NodeJS.ReadableStream>,\n nullString: string | null,\n onProgress: (progressValue: number) => boolean,\n onError: (e: unknown) => void,\n totalChunks: number,\n isZip: boolean,\n shouldTrim: boolean\n ) {\n this.onFileCompleted = onFileCompleted;\n this.file = file;\n this.readHeaders = readHeaders;\n this.nullString = nullString;\n this.onProgress = onProgress;\n this.onError = onError;\n this.chunks = 0;\n this.totalChunks = totalChunks;\n this.isZip = isZip;\n this.shouldTrim = shouldTrim;\n this.zipProgress = 0;\n\n this.handleChunk = this.handleChunk.bind(this);\n this.handleComplete = this.handleComplete.bind(this);\n this.handleError = this.handleError.bind(this);\n this.handleNodeUpdate = this.handleNodeUpdate.bind(this);\n\n this.config = {\n ...parentConfig,\n error: this.handleError,\n chunk: this.handleChunk,\n complete: this.handleComplete,\n };\n }\n\n onFileCompleted: (types: string[]) => void;\n\n file: Blob | JSZipObject;\n\n readHeaders: boolean;\n\n nullString: string | null;\n\n onProgress: (progressValue: number) => boolean;\n\n onError: (e: unknown) => void;\n\n types?: string[];\n\n chunks: number;\n\n totalChunks: number;\n\n isZip: boolean;\n\n shouldTrim: boolean;\n\n zipProgress: number;\n\n config: ParseLocalConfig<unknown, Blob | NodeJS.ReadableStream>;\n\n parse(): void {\n const toParse = this.isZip\n ? (this.file as JSZipObject).nodeStream(\n // JsZip types are incorrect, thus the funny casting\n // Actual parameter is 'nodebuffer'\n 'nodebuffer' as 'nodestream',\n this.handleNodeUpdate\n )\n : (this.file as Blob);\n Papa.parse(toParse, this.config);\n }\n\n handleChunk(result: ParseResult<string[]>, parser: Parser): void {\n let { data } = result;\n if (!this.types) {\n if (!data || data.length === 0) {\n parser.abort();\n this.onError('Error parsing CSV: no data in file.');\n return;\n }\n this.types = new Array(data[0].length).fill(UNKNOWN);\n if (this.readHeaders) {\n // If headers are being read from the file, remove them from type analysis\n data = data.slice(1);\n }\n }\n\n assertNotNull(this.types);\n\n const cloneTypes = [...this.types];\n\n data.forEach(row => {\n if (row.length >= cloneTypes.length) {\n for (let i = 0; i < cloneTypes.length; i += 1) {\n cloneTypes[i] = CsvTypeParser.determineType(\n this.shouldTrim ? row[i].trim() : row[i],\n cloneTypes[i],\n this.nullString\n );\n }\n this.types = cloneTypes;\n } else {\n parser.abort();\n this.onError(\n `Error parsing CSV: Insufficient data in row.\\nExpected length ${cloneTypes.length} but found ${row.length}.\\nRow = ${row}`\n );\n }\n });\n\n this.chunks += 1;\n // 50 because the type parsing accounts for 50% of the parsing\n let progress = 0;\n if (this.totalChunks > 0) {\n progress = Math.round((this.chunks / this.totalChunks) * 50);\n } else {\n progress = Math.round(this.zipProgress / 2);\n }\n const isCancelled = this.onProgress(progress);\n if (isCancelled) {\n parser.abort();\n }\n }\n\n handleComplete(results: ParseResult<unknown>): void {\n const { types, onFileCompleted } = this;\n // results is undefined for a succesful parse, but has meta data for an abort\n assertNotNull(types);\n if (!results || !results.meta.aborted) {\n onFileCompleted(\n types.map(type =>\n type === UNKNOWN ? NewTableColumnTypes.STRING : type\n )\n );\n }\n }\n\n handleError(error: unknown): void {\n const { onError } = this;\n onError(error);\n }\n\n handleNodeUpdate(metadata: { percent: number }): void {\n this.zipProgress = metadata.percent;\n }\n}\n\nexport default CsvTypeParser;\n"],"file":"CsvTypeParser.js"}
@@ -1,4 +1,3 @@
1
- export default NewTableColumnTypes;
2
1
  /**
3
2
  * Valid column types to be used for a call to newTable.
4
3
  */
@@ -11,4 +10,5 @@ declare class NewTableColumnTypes {
11
10
  static DATE_TIME: string;
12
11
  static LOCAL_TIME: string;
13
12
  }
13
+ export default NewTableColumnTypes;
14
14
  //# sourceMappingURL=NewTableColumnTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"NewTableColumnTypes.d.ts","sourceRoot":"","sources":["../../src/csv/NewTableColumnTypes.js"],"names":[],"mappings":";AAAA;;GAEG;AACH;IACE,uBAAuB;IAEvB,oBAAqB;IAErB,sBAAyB;IAEzB,uBAAwB;IAExB,sBAAyB;IAEzB,yBAA8B;IAE9B,0BAAgC;CACjC"}
1
+ {"version":3,"file":"NewTableColumnTypes.d.ts","sourceRoot":"","sources":["../../src/csv/NewTableColumnTypes.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAM,mBAAmB;IACvB,MAAM,CAAC,OAAO,SAAS;IAEvB,MAAM,CAAC,IAAI,SAAU;IAErB,MAAM,CAAC,MAAM,SAAY;IAEzB,MAAM,CAAC,OAAO,SAAU;IAExB,MAAM,CAAC,MAAM,SAAY;IAEzB,MAAM,CAAC,SAAS,SAAc;IAE9B,MAAM,CAAC,UAAU,SAAe;CACjC;AAED,eAAe,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/csv/NewTableColumnTypes.js"],"names":["NewTableColumnTypes"],"mappings":";;AAAA;AACA;AACA;AACA,MAAMA,mBAAN,CAA0B;;gBAApBA,mB,aACa,K;;gBADbA,mB,UAGU,M;;gBAHVA,mB,YAKY,Q;;gBALZA,mB,aAOa,M;;gBAPbA,mB,YASY,Q;;gBATZA,mB,eAWe,U;;gBAXfA,mB,gBAagB,W;;AAGtB,eAAeA,mBAAf","sourcesContent":["/**\n * Valid column types to be used for a call to newTable.\n */\nclass NewTableColumnTypes {\n static INTEGER = 'int';\n\n static LONG = 'long';\n\n static DOUBLE = 'double';\n\n static BOOLEAN = 'bool';\n\n static STRING = 'string';\n\n static DATE_TIME = 'datetime';\n\n static LOCAL_TIME = 'localtime';\n}\n\nexport default NewTableColumnTypes;\n"],"file":"NewTableColumnTypes.js"}
1
+ {"version":3,"sources":["../../src/csv/NewTableColumnTypes.ts"],"names":["NewTableColumnTypes"],"mappings":";;AAAA;AACA;AACA;AACA,MAAMA,mBAAN,CAA0B;;gBAApBA,mB,aACa,K;;gBADbA,mB,UAGU,M;;gBAHVA,mB,YAKY,Q;;gBALZA,mB,aAOa,M;;gBAPbA,mB,YASY,Q;;gBATZA,mB,eAWe,U;;gBAXfA,mB,gBAagB,W;;AAGtB,eAAeA,mBAAf","sourcesContent":["/**\n * Valid column types to be used for a call to newTable.\n */\nclass NewTableColumnTypes {\n static INTEGER = 'int';\n\n static LONG = 'long';\n\n static DOUBLE = 'double';\n\n static BOOLEAN = 'bool';\n\n static STRING = 'string';\n\n static DATE_TIME = 'datetime';\n\n static LOCAL_TIME = 'localtime';\n}\n\nexport default NewTableColumnTypes;\n"],"file":"NewTableColumnTypes.js"}
@@ -0,0 +1,2 @@
1
+
2
+ //# sourceMappingURL=declaration.d.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"declaration.d.js"}
package/dist/index.d.ts CHANGED
@@ -1,14 +1,15 @@
1
- export { default as ConsoleInput } from "./ConsoleInput";
2
- export { default as ConsoleMenu } from "./ConsoleMenu";
3
- export { default as SHORTCUTS } from "./ConsoleShortcuts";
4
- export { default as ConsoleStatusBar } from "./ConsoleStatusBar";
5
- export { default as MonacoUtils } from "./monaco/MonacoUtils";
6
- export { default as Editor } from "./notebook/Editor";
7
- export { default as ScriptEditor } from "./notebook/ScriptEditor";
8
- export { default as ScriptEditorUtils } from "./notebook/ScriptEditorUtils";
9
- export * from "./common";
10
- export * from "./command-history";
11
- export * from "./console-history";
12
- export { default as LogView } from "./log/LogView";
13
- export { default as Console, default } from "./Console";
1
+ export { default as Console } from './Console';
2
+ export { default as ConsoleInput } from './ConsoleInput';
3
+ export { default as ConsoleMenu } from './ConsoleMenu';
4
+ export { default as SHORTCUTS } from './ConsoleShortcuts';
5
+ export { default as ConsoleStatusBar } from './ConsoleStatusBar';
6
+ export { default as MonacoUtils } from './monaco/MonacoUtils';
7
+ export { default as Editor } from './notebook/Editor';
8
+ export { default as ScriptEditor } from './notebook/ScriptEditor';
9
+ export { default as ScriptEditorUtils } from './notebook/ScriptEditorUtils';
10
+ export * from './common';
11
+ export * from './command-history';
12
+ export * from './console-history';
13
+ export { default as LogView } from './log/LogView';
14
+ export { default } from './Console';
14
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAC5E,cAAc,UAAU,CAAC;AACzB,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["default","Console","ConsoleInput","ConsoleMenu","SHORTCUTS","ConsoleStatusBar","MonacoUtils","Editor","ScriptEditor","ScriptEditorUtils","LogView"],"mappings":"SAASA,OAAO,IAAIC,O;SACXD,OAAO,IAAIE,Y;SACXF,OAAO,IAAIG,W;SACXH,OAAO,IAAII,S;SACXJ,OAAO,IAAIK,gB;SACXL,OAAO,IAAIM,W;SACXN,OAAO,IAAIO,M;SACXP,OAAO,IAAIQ,Y;SACXR,OAAO,IAAIS,iB;;;;SAIXT,OAAO,IAAIU,O;SAEXV,O","sourcesContent":["export { default as Console } from './Console';\nexport { default as ConsoleInput } from './ConsoleInput';\nexport { default as ConsoleMenu } from './ConsoleMenu';\nexport { default as SHORTCUTS } from './ConsoleShortcuts';\nexport { default as ConsoleStatusBar } from './ConsoleStatusBar';\nexport { default as MonacoUtils } from './monaco/MonacoUtils';\nexport { default as Editor } from './notebook/Editor';\nexport { default as ScriptEditor } from './notebook/ScriptEditor';\nexport { default as ScriptEditorUtils } from './notebook/ScriptEditorUtils';\nexport * from './common';\nexport * from './command-history';\nexport * from './console-history';\nexport { default as LogView } from './log/LogView';\n\nexport { default } from './Console';\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.ts"],"names":["default","Console","ConsoleInput","ConsoleMenu","SHORTCUTS","ConsoleStatusBar","MonacoUtils","Editor","ScriptEditor","ScriptEditorUtils","LogView"],"mappings":"SAASA,OAAO,IAAIC,O;SACXD,OAAO,IAAIE,Y;SACXF,OAAO,IAAIG,W;SACXH,OAAO,IAAII,S;SACXJ,OAAO,IAAIK,gB;SACXL,OAAO,IAAIM,W;SACXN,OAAO,IAAIO,M;SACXP,OAAO,IAAIQ,Y;SACXR,OAAO,IAAIS,iB;;;;SAIXT,OAAO,IAAIU,O;SAEXV,O","sourcesContent":["export { default as Console } from './Console';\nexport { default as ConsoleInput } from './ConsoleInput';\nexport { default as ConsoleMenu } from './ConsoleMenu';\nexport { default as SHORTCUTS } from './ConsoleShortcuts';\nexport { default as ConsoleStatusBar } from './ConsoleStatusBar';\nexport { default as MonacoUtils } from './monaco/MonacoUtils';\nexport { default as Editor } from './notebook/Editor';\nexport { default as ScriptEditor } from './notebook/ScriptEditor';\nexport { default as ScriptEditorUtils } from './notebook/ScriptEditorUtils';\nexport * from './common';\nexport * from './command-history';\nexport * from './console-history';\nexport { default as LogView } from './log/LogView';\n\nexport { default } from './Console';\n"],"file":"index.js"}
@@ -1,4 +1,4 @@
1
- declare var _default: Readonly<{
1
+ declare const _default: Readonly<{
2
2
  FATAL: string;
3
3
  STDERR: string;
4
4
  ERROR: string;
@@ -1 +1 @@
1
- {"version":3,"file":"LogLevel.d.ts","sourceRoot":"","sources":["../../src/log/LogLevel.js"],"names":[],"mappings":""}
1
+ {"version":3,"file":"LogLevel.d.ts","sourceRoot":"","sources":["../../src/log/LogLevel.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,wBASG"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/log/LogLevel.js"],"names":["Object","freeze","FATAL","STDERR","ERROR","WARN","STDOUT","INFO","DEBUG","TRACE"],"mappings":"AAAA,eAAeA,MAAM,CAACC,MAAP,CAAc;AAC3BC,EAAAA,KAAK,EAAE,OADoB;AAE3BC,EAAAA,MAAM,EAAE,QAFmB;AAG3BC,EAAAA,KAAK,EAAE,OAHoB;AAI3BC,EAAAA,IAAI,EAAE,MAJqB;AAK3BC,EAAAA,MAAM,EAAE,QALmB;AAM3BC,EAAAA,IAAI,EAAE,MANqB;AAO3BC,EAAAA,KAAK,EAAE,OAPoB;AAQ3BC,EAAAA,KAAK,EAAE;AARoB,CAAd,CAAf","sourcesContent":["export default Object.freeze({\n FATAL: 'FATAL',\n STDERR: 'STDERR',\n ERROR: 'ERROR',\n WARN: 'WARN',\n STDOUT: 'STDOUT',\n INFO: 'INFO',\n DEBUG: 'DEBUG',\n TRACE: 'TRACE',\n});\n"],"file":"LogLevel.js"}
1
+ {"version":3,"sources":["../../src/log/LogLevel.ts"],"names":["Object","freeze","FATAL","STDERR","ERROR","WARN","STDOUT","INFO","DEBUG","TRACE"],"mappings":"AAAA,eAAeA,MAAM,CAACC,MAAP,CAAc;AAC3BC,EAAAA,KAAK,EAAE,OADoB;AAE3BC,EAAAA,MAAM,EAAE,QAFmB;AAG3BC,EAAAA,KAAK,EAAE,OAHoB;AAI3BC,EAAAA,IAAI,EAAE,MAJqB;AAK3BC,EAAAA,MAAM,EAAE,QALmB;AAM3BC,EAAAA,IAAI,EAAE,MANqB;AAO3BC,EAAAA,KAAK,EAAE,OAPoB;AAQ3BC,EAAAA,KAAK,EAAE;AARoB,CAAd,CAAf","sourcesContent":["export default Object.freeze({\n FATAL: 'FATAL',\n STDERR: 'STDERR',\n ERROR: 'ERROR',\n WARN: 'WARN',\n STDOUT: 'STDOUT',\n INFO: 'INFO',\n DEBUG: 'DEBUG',\n TRACE: 'TRACE',\n});\n"],"file":"LogLevel.js"}
@@ -1,15 +1,14 @@
1
- export default LogLevelMenuItem;
2
- declare class LogLevelMenuItem extends React.PureComponent<any, any, any> {
3
- constructor(props: any);
4
- handleSwitchClick(): void;
1
+ import { PureComponent, ReactElement } from 'react';
2
+ import './LogLevelMenuItem.scss';
3
+ interface LogLevelMenuItemProps {
4
+ logLevel: string;
5
+ on: boolean;
6
+ onClick: (logLevel: string) => void;
5
7
  }
6
- declare namespace LogLevelMenuItem {
7
- namespace propTypes {
8
- const logLevel: PropTypes.Validator<string>;
9
- const on: PropTypes.Validator<boolean>;
10
- const onClick: PropTypes.Validator<(...args: any[]) => any>;
11
- }
8
+ declare class LogLevelMenuItem extends PureComponent<LogLevelMenuItemProps, Record<string, never>> {
9
+ constructor(props: LogLevelMenuItemProps);
10
+ handleSwitchClick(): void;
11
+ render(): ReactElement;
12
12
  }
13
- import React from "react";
14
- import PropTypes from "prop-types";
13
+ export default LogLevelMenuItem;
15
14
  //# sourceMappingURL=LogLevelMenuItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LogLevelMenuItem.d.ts","sourceRoot":"","sources":["../../src/log/LogLevelMenuItem.jsx"],"names":[],"mappings":";AAOA;IACE,wBAIC;IAED,0BAGC;CAWF"}
1
+ {"version":3,"file":"LogLevelMenuItem.d.ts","sourceRoot":"","sources":["../../src/log/LogLevelMenuItem.tsx"],"names":[],"mappings":"AACA,OAAc,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG3D,OAAO,yBAAyB,CAAC;AAEjC,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACrC;AAED,cAAM,gBAAiB,SAAQ,aAAa,CAC1C,qBAAqB,EACrB,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CACtB;gBACa,KAAK,EAAE,qBAAqB;IAMxC,iBAAiB,IAAI,IAAI;IAKzB,MAAM,IAAI,YAAY;CASvB;AAED,eAAe,gBAAgB,CAAC"}
@@ -1,7 +1,6 @@
1
1
  // Port of https://github.com/react-bootstrap/react-bootstrap/blob/master/src/Collapse.js
2
2
  import React, { PureComponent } from 'react';
3
3
  import classNames from 'classnames';
4
- import PropTypes from 'prop-types';
5
4
  import { UISwitch } from '@deephaven/components';
6
5
  import "./LogLevelMenuItem.css";
7
6
 
@@ -34,10 +33,5 @@ class LogLevelMenuItem extends PureComponent {
34
33
 
35
34
  }
36
35
 
37
- LogLevelMenuItem.propTypes = {
38
- logLevel: PropTypes.string.isRequired,
39
- on: PropTypes.bool.isRequired,
40
- onClick: PropTypes.func.isRequired
41
- };
42
36
  export default LogLevelMenuItem;
43
37
  //# sourceMappingURL=LogLevelMenuItem.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/log/LogLevelMenuItem.jsx"],"names":["React","PureComponent","classNames","PropTypes","UISwitch","LogLevelMenuItem","constructor","props","handleSwitchClick","bind","logLevel","onClick","render","on","propTypes","string","isRequired","bool","func"],"mappings":"AAAA;AACA,OAAOA,KAAP,IAAgBC,aAAhB,QAAqC,OAArC;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SAASC,QAAT,QAAyB,uBAAzB;;;AAGA,MAAMC,gBAAN,SAA+BJ,aAA/B,CAA6C;AAC3CK,EAAAA,WAAW,CAACC,KAAD,EAAQ;AACjB,UAAMA,KAAN;AAEA,SAAKC,iBAAL,GAAyB,KAAKA,iBAAL,CAAuBC,IAAvB,CAA4B,IAA5B,CAAzB;AACD;;AAEDD,EAAAA,iBAAiB,GAAG;AAClB,QAAM;AAAEE,MAAAA,QAAF;AAAYC,MAAAA;AAAZ,QAAwB,KAAKJ,KAAnC;AACAI,IAAAA,OAAO,CAACD,QAAD,CAAP;AACD;;AAEDE,EAAAA,MAAM,GAAG;AACP,QAAM;AAAEF,MAAAA,QAAF;AAAYG,MAAAA;AAAZ,QAAmB,KAAKN,KAA9B;AACA,wBACE;AAAK,MAAA,SAAS,EAAEL,UAAU,CAAC,qBAAD,EAAwBQ,QAAxB;AAA1B,oBACE,oBAAC,QAAD;AAAU,MAAA,EAAE,EAAEG,EAAd;AAAkB,MAAA,OAAO,EAAE,KAAKL;AAAhC,MADF,EAEGE,QAFH,CADF;AAMD;;AApB0C;;AAuB7CL,gBAAgB,CAACS,SAAjB,GAA6B;AAC3BJ,EAAAA,QAAQ,EAAEP,SAAS,CAACY,MAAV,CAAiBC,UADA;AAE3BH,EAAAA,EAAE,EAAEV,SAAS,CAACc,IAAV,CAAeD,UAFQ;AAG3BL,EAAAA,OAAO,EAAER,SAAS,CAACe,IAAV,CAAeF;AAHG,CAA7B;AAMA,eAAeX,gBAAf","sourcesContent":["// Port of https://github.com/react-bootstrap/react-bootstrap/blob/master/src/Collapse.js\nimport React, { PureComponent } from 'react';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { UISwitch } from '@deephaven/components';\nimport './LogLevelMenuItem.scss';\n\nclass LogLevelMenuItem extends PureComponent {\n constructor(props) {\n super(props);\n\n this.handleSwitchClick = this.handleSwitchClick.bind(this);\n }\n\n handleSwitchClick() {\n const { logLevel, onClick } = this.props;\n onClick(logLevel);\n }\n\n render() {\n const { logLevel, on } = this.props;\n return (\n <div className={classNames('log-level-menu-item', logLevel)}>\n <UISwitch on={on} onClick={this.handleSwitchClick} />\n {logLevel}\n </div>\n );\n }\n}\n\nLogLevelMenuItem.propTypes = {\n logLevel: PropTypes.string.isRequired,\n on: PropTypes.bool.isRequired,\n onClick: PropTypes.func.isRequired,\n};\n\nexport default LogLevelMenuItem;\n"],"file":"LogLevelMenuItem.js"}
1
+ {"version":3,"sources":["../../src/log/LogLevelMenuItem.tsx"],"names":["React","PureComponent","classNames","UISwitch","LogLevelMenuItem","constructor","props","handleSwitchClick","bind","logLevel","onClick","render","on"],"mappings":"AAAA;AACA,OAAOA,KAAP,IAAgBC,aAAhB,QAAmD,OAAnD;AACA,OAAOC,UAAP,MAAuB,YAAvB;AACA,SAASC,QAAT,QAAyB,uBAAzB;;;AASA,MAAMC,gBAAN,SAA+BH,aAA/B,CAGE;AACAI,EAAAA,WAAW,CAACC,KAAD,EAA+B;AACxC,UAAMA,KAAN;AAEA,SAAKC,iBAAL,GAAyB,KAAKA,iBAAL,CAAuBC,IAAvB,CAA4B,IAA5B,CAAzB;AACD;;AAEDD,EAAAA,iBAAiB,GAAS;AACxB,QAAM;AAAEE,MAAAA,QAAF;AAAYC,MAAAA;AAAZ,QAAwB,KAAKJ,KAAnC;AACAI,IAAAA,OAAO,CAACD,QAAD,CAAP;AACD;;AAEDE,EAAAA,MAAM,GAAiB;AACrB,QAAM;AAAEF,MAAAA,QAAF;AAAYG,MAAAA;AAAZ,QAAmB,KAAKN,KAA9B;AACA,wBACE;AAAK,MAAA,SAAS,EAAEJ,UAAU,CAAC,qBAAD,EAAwBO,QAAxB;AAA1B,oBACE,oBAAC,QAAD;AAAU,MAAA,EAAE,EAAEG,EAAd;AAAkB,MAAA,OAAO,EAAE,KAAKL;AAAhC,MADF,EAEGE,QAFH,CADF;AAMD;;AApBD;;AAuBF,eAAeL,gBAAf","sourcesContent":["// Port of https://github.com/react-bootstrap/react-bootstrap/blob/master/src/Collapse.js\nimport React, { PureComponent, ReactElement } from 'react';\nimport classNames from 'classnames';\nimport { UISwitch } from '@deephaven/components';\nimport './LogLevelMenuItem.scss';\n\ninterface LogLevelMenuItemProps {\n logLevel: string;\n on: boolean;\n onClick: (logLevel: string) => void;\n}\n\nclass LogLevelMenuItem extends PureComponent<\n LogLevelMenuItemProps,\n Record<string, never>\n> {\n constructor(props: LogLevelMenuItemProps) {\n super(props);\n\n this.handleSwitchClick = this.handleSwitchClick.bind(this);\n }\n\n handleSwitchClick(): void {\n const { logLevel, onClick } = this.props;\n onClick(logLevel);\n }\n\n render(): ReactElement {\n const { logLevel, on } = this.props;\n return (\n <div className={classNames('log-level-menu-item', logLevel)}>\n <UISwitch on={on} onClick={this.handleSwitchClick} />\n {logLevel}\n </div>\n );\n }\n}\n\nexport default LogLevelMenuItem;\n"],"file":"LogLevelMenuItem.js"}
@@ -1,8 +1,19 @@
1
- export default LogView;
1
+ import { PureComponent, ReactElement } from 'react';
2
+ import { DropdownActions } from '@deephaven/components';
3
+ import { IdeSession, LogItem } from '@deephaven/jsapi-shim';
4
+ import * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';
5
+ import './LogView.scss';
6
+ import LogLevelMenuItem from './LogLevelMenuItem';
7
+ interface LogViewProps {
8
+ session: IdeSession;
9
+ }
10
+ interface LogViewState {
11
+ shownLogLevels: Record<string, boolean>;
12
+ }
2
13
  /**
3
14
  * Log view contents. Uses a monaco editor to display/search the contents of the log.
4
15
  */
5
- declare class LogView extends React.PureComponent<any, any, any> {
16
+ declare class LogView extends PureComponent<LogViewProps, LogViewState> {
6
17
  static DefaultLogLevels: string[];
7
18
  static AllLogLevels: string[];
8
19
  /** ms to buffer log messages before processing them */
@@ -10,33 +21,19 @@ declare class LogView extends React.PureComponent<any, any, any> {
10
21
  /** Maximum number of messages to store in the log */
11
22
  static maxLogSize: number;
12
23
  static truncateSize: number;
13
- static getLogText(logItem: any): string;
14
- constructor(props: any);
15
- handleClearClick(): void;
16
- handleFlushTimeout(): void;
17
- handleLogMessage(message: any): void;
18
- handleMenuItemClick(logLevel: any): void;
19
- handleResetClick(): void;
20
- handleResize(): void;
21
- handleToggleAllClick(): void;
22
- cancelListener: any;
23
- editor: monaco.editor.IStandaloneCodeEditor | null;
24
+ static getLogText(logItem: LogItem): string;
25
+ constructor(props: LogViewProps);
26
+ componentDidMount(): void;
27
+ componentDidUpdate(prevProps: LogViewProps, prevState: LogViewState): void;
28
+ componentWillUnmount(): void;
29
+ cancelListener?: () => void | null;
30
+ editor?: monaco.editor.IStandaloneCodeEditor;
24
31
  editorContainer: HTMLDivElement | null;
25
- logLevelMenuItems: {};
26
- flushTimer: NodeJS.Timeout | null;
27
- bufferedMessages: any[];
28
- messages: any[];
29
- getMenuActions(shownLogLevels: any): ({
30
- menuElement: JSX.Element;
31
- group: number;
32
- order: number;
33
- title?: undefined;
34
- } | {
35
- title: string;
36
- group: number;
37
- order: number;
38
- menuElement: JSX.Element;
39
- })[];
32
+ logLevelMenuItems: Record<string, LogLevelMenuItem>;
33
+ flushTimer?: ReturnType<typeof setTimeout>;
34
+ bufferedMessages: LogItem[];
35
+ messages: LogItem[];
36
+ getMenuActions(shownLogLevels: Record<string, boolean>): DropdownActions;
40
37
  resetLogLevels(): void;
41
38
  startListening(): void;
42
39
  stopListening(): void;
@@ -44,9 +41,9 @@ declare class LogView extends React.PureComponent<any, any, any> {
44
41
  destroyMonaco(): void;
45
42
  triggerFindWidget(): void;
46
43
  toggleAll(): void;
47
- toggleLogLevel(logLevel: any): void;
48
- updateLogLevels(updatedLogLevels: any): void;
49
- appendLogText(text: any): void;
44
+ toggleLogLevel(logLevel: string): void;
45
+ updateLogLevels(updatedLogLevels: Record<string, boolean>): void;
46
+ appendLogText(text: string): void;
50
47
  /**
51
48
  * Refresh the contents of the log component with the updated filter text
52
49
  */
@@ -54,26 +51,22 @@ declare class LogView extends React.PureComponent<any, any, any> {
54
51
  truncateLogIfNecessary(): void;
55
52
  scrollToBottom(): void;
56
53
  isBottomVisible(): boolean;
57
- isLineVisible(line: any): boolean;
54
+ isLineVisible(line: number): boolean;
58
55
  /** Checks if the given log message is visible with the current filters */
59
- isLogItemVisible(message: any): any;
56
+ isLogItemVisible(message: LogItem): boolean;
60
57
  flush(): void;
61
- queue(message: any): void;
58
+ queue(message: LogItem): void;
62
59
  stopFlushTimer(): void;
63
60
  updateDimensions(): void;
61
+ handleClearClick(): void;
64
62
  clearLogs(): void;
63
+ handleFlushTimeout(): void;
64
+ handleLogMessage(message: LogItem): void;
65
+ handleMenuItemClick(logLevel: string): void;
66
+ handleResetClick(): void;
67
+ handleResize(): void;
68
+ handleToggleAllClick(): void;
69
+ render(): ReactElement;
65
70
  }
66
- declare namespace LogView {
67
- namespace propTypes {
68
- const session: import("prop-types").Validator<import("prop-types").InferProps<{
69
- addEventListener: import("prop-types").Validator<(...args: any[]) => any>;
70
- removeEventListener: import("prop-types").Validator<(...args: any[]) => any>;
71
- onLogMessage: import("prop-types").Requireable<(...args: any[]) => any>;
72
- getTable: import("prop-types").Validator<(...args: any[]) => any>;
73
- runCode: import("prop-types").Validator<(...args: any[]) => any>;
74
- }>>;
75
- }
76
- }
77
- import React from "react";
78
- import * as monaco from "monaco-editor/esm/vs/editor/editor.api.js";
71
+ export default LogView;
79
72
  //# sourceMappingURL=LogView.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LogView.d.ts","sourceRoot":"","sources":["../../src/log/LogView.jsx"],"names":[],"mappings":";AAWA;;GAEG;AACH;IACE,kCAME;IAEF,8BASE;IAEF,uDAAuD;IACvD,6BAA0B;IAE1B,qDAAqD;IACrD,0BAA2B;IAE3B,4BAA4B;IAE5B,wCAIC;IAED,wBAuBC;IAoYD,yBAEC;IAOD,2BAGC;IAED,qCAMC;IAED,yCAEC;IAED,yBAEC;IAED,qBAEC;IAED,6BAEC;IApbC,oBAA0B;IAC1B,mDAAkB;IAClB,uCAA2B;IAC3B,sBAA2B;IAC3B,kCAAsB;IAEtB,wBAA0B;IAC1B,gBAAkB;IAwCpB;;;;;;;;;;SAyDC;IAED,uBASC;IAED,uBAGC;IAED,sBAKC;IAED,mBA6CC;IAED,sBAKC;IAED,0BAMC;IAED,kBAqBC;IAED,oCAMC;IAED,6CAIC;IAED,+BA0CC;IAED;;OAEG;IACH,uBAkCC;IAED,+BAMC;IAED,uBAOC;IAED,2BASC;IAED,kCAcC;IAED,0EAA0E;IAC1E,oCAGC;IAED,cAcC;IAED,0BAQC;IAED,uBAKC;IAED,yBAIC;IAMD,kBAGC;CAoEF"}
1
+ {"version":3,"file":"LogView.d.ts","sourceRoot":"","sources":["../../src/log/LogView.tsx"],"names":[],"mappings":"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"}
@@ -8,16 +8,16 @@ import React, { PureComponent } from 'react';
8
8
  import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
9
9
  import { DropdownMenu, Tooltip } from '@deephaven/components';
10
10
  import { vsGear, dhTrashUndo } from '@deephaven/icons';
11
- import { PropTypes as APIPropTypes } from '@deephaven/jsapi-shim';
11
+ import { assertNotNull } from '@deephaven/utils';
12
12
  import * as monaco from 'monaco-editor/esm/vs/editor/editor.api.js';
13
13
  import ConsoleUtils from "../common/ConsoleUtils.js";
14
14
  import LogLevel from "./LogLevel.js";
15
15
  import "./LogView.css";
16
16
  import LogLevelMenuItem from "./LogLevelMenuItem.js";
17
+
17
18
  /**
18
19
  * Log view contents. Uses a monaco editor to display/search the contents of the log.
19
20
  */
20
-
21
21
  class LogView extends PureComponent {
22
22
  /** ms to buffer log messages before processing them */
23
23
 
@@ -30,6 +30,21 @@ class LogView extends PureComponent {
30
30
 
31
31
  constructor(props) {
32
32
  super(props);
33
+
34
+ _defineProperty(this, "cancelListener", void 0);
35
+
36
+ _defineProperty(this, "editor", void 0);
37
+
38
+ _defineProperty(this, "editorContainer", void 0);
39
+
40
+ _defineProperty(this, "logLevelMenuItems", void 0);
41
+
42
+ _defineProperty(this, "flushTimer", void 0);
43
+
44
+ _defineProperty(this, "bufferedMessages", void 0);
45
+
46
+ _defineProperty(this, "messages", void 0);
47
+
33
48
  this.handleClearClick = this.handleClearClick.bind(this);
34
49
  this.handleFlushTimeout = this.handleFlushTimeout.bind(this);
35
50
  this.handleLogMessage = this.handleLogMessage.bind(this);
@@ -37,11 +52,8 @@ class LogView extends PureComponent {
37
52
  this.handleResetClick = this.handleResetClick.bind(this);
38
53
  this.handleResize = this.handleResize.bind(this);
39
54
  this.handleToggleAllClick = this.handleToggleAllClick.bind(this);
40
- this.cancelListener = null;
41
- this.editor = null;
42
- this.editorContainer = null;
43
55
  this.logLevelMenuItems = {};
44
- this.flushTimer = null;
56
+ this.editorContainer = null;
45
57
  this.bufferedMessages = [];
46
58
  this.messages = [];
47
59
  this.state = {
@@ -109,7 +121,9 @@ class LogView extends PureComponent {
109
121
  on: on,
110
122
  onClick: _this.handleMenuItemClick,
111
123
  ref: element => {
112
- _this.logLevelMenuItems[logLevel] = element;
124
+ if (element != null) {
125
+ _this.logLevelMenuItems[logLevel] = element;
126
+ }
113
127
  }
114
128
  })
115
129
  });
@@ -161,20 +175,22 @@ class LogView extends PureComponent {
161
175
  stopListening() {
162
176
  if (this.cancelListener != null) {
163
177
  this.cancelListener();
164
- this.cancelListener = null;
178
+ this.cancelListener = undefined;
165
179
  }
166
180
  }
167
181
 
168
182
  initMonaco() {
183
+ assertNotNull(this.editorContainer);
169
184
  this.editor = monaco.editor.create(this.editorContainer, {
170
- copyWithSyntaxHighlighting: 'false',
185
+ copyWithSyntaxHighlighting: false,
171
186
  fixedOverflowWidgets: true,
172
187
  folding: false,
173
188
  fontFamily: 'Fira Mono',
174
189
  glyphMargin: false,
175
190
  language: 'log',
176
191
  lineDecorationsWidth: 0,
177
- lineNumbers: '',
192
+ // I commented this out since '' is not a valid parameter for line Numbers
193
+ // lineNumbers: '',
178
194
  lineNumbersMinChars: 0,
179
195
  minimap: {
180
196
  enabled: false
@@ -187,32 +203,42 @@ class LogView extends PureComponent {
187
203
  }); // When find widget is open, escape key closes it.
188
204
  // Instead, capture it and do nothing. Same for shift-escape.
189
205
 
190
- this.editor.addCommand(monaco.KeyCode.Escape, () => {});
206
+ this.editor.addCommand(monaco.KeyCode.Escape, () => undefined);
191
207
  this.editor.addCommand( // eslint-disable-next-line no-bitwise
192
- monaco.KeyMod.Shift | monaco.KeyCode.Escape, () => {}); // Restore regular escape to clear selection, when editorText has focus.
208
+ monaco.KeyMod.Shift | monaco.KeyCode.Escape, () => undefined); // Restore regular escape to clear selection, when editorText has focus.
193
209
 
194
210
  this.editor.addCommand(monaco.KeyCode.Escape, () => {
195
- this.editor.setPosition(this.editor.getPosition());
211
+ var _this$editor, _this$editor2;
212
+
213
+ var position = (_this$editor = this.editor) === null || _this$editor === void 0 ? void 0 : _this$editor.getPosition();
214
+ assertNotNull(position);
215
+ (_this$editor2 = this.editor) === null || _this$editor2 === void 0 ? void 0 : _this$editor2.setPosition(position);
196
216
  }, 'findWidgetVisible && editorTextFocus');
197
217
  this.editor.addCommand( // eslint-disable-next-line no-bitwise
198
218
  monaco.KeyMod.Shift | monaco.KeyCode.Escape, () => {
199
- this.editor.setPosition(this.editor.getPosition());
219
+ var _this$editor3, _this$editor4;
220
+
221
+ var position = (_this$editor3 = this.editor) === null || _this$editor3 === void 0 ? void 0 : _this$editor3.getPosition();
222
+ assertNotNull(position);
223
+ (_this$editor4 = this.editor) === null || _this$editor4 === void 0 ? void 0 : _this$editor4.setPosition(position);
200
224
  }, 'findWidgetVisible && editorTextFocus');
201
225
  }
202
226
 
203
227
  destroyMonaco() {
204
228
  if (this.editor) {
205
229
  this.editor.dispose();
206
- this.editor = null;
230
+ this.editor = undefined;
207
231
  }
208
232
  }
209
233
 
210
234
  triggerFindWidget() {
235
+ var _this$editor5, _this$editor6;
236
+
211
237
  // The actions.find action can no longer be triggered when the editor is not in focus, with monaco 0.22.x.
212
238
  // As a workaround, just focus the editor before triggering the action
213
239
  // https://github.com/microsoft/monaco-editor/issues/2355
214
- this.editor.focus();
215
- this.editor.trigger('keyboard', 'actions.find');
240
+ (_this$editor5 = this.editor) === null || _this$editor5 === void 0 ? void 0 : _this$editor5.focus();
241
+ (_this$editor6 = this.editor) === null || _this$editor6 === void 0 ? void 0 : _this$editor6.trigger('keyboard', 'actions.find', undefined);
216
242
  }
217
243
 
218
244
  toggleAll() {
@@ -274,8 +300,10 @@ class LogView extends PureComponent {
274
300
  }
275
301
 
276
302
  var model = this.editor.getModel();
277
- var line = model.getLineCount();
278
- var column = model.getLineLength(line);
303
+ var line = model === null || model === void 0 ? void 0 : model.getLineCount();
304
+ assertNotNull(line);
305
+ var column = model === null || model === void 0 ? void 0 : model.getLineLength(line);
306
+ assertNotNull(column);
279
307
  var isBottomVisible = this.isBottomVisible();
280
308
  var edits = [];
281
309
 
@@ -304,10 +332,12 @@ class LogView extends PureComponent {
304
332
  text,
305
333
  forceMoveMarkers: true
306
334
  });
307
- model.applyEdits(edits);
335
+ model === null || model === void 0 ? void 0 : model.applyEdits(edits);
308
336
 
309
337
  if (isBottomVisible) {
310
- this.editor.revealLine(model.getLineCount(), 1);
338
+ var lineCount = model === null || model === void 0 ? void 0 : model.getLineCount();
339
+ assertNotNull(lineCount);
340
+ this.editor.revealLine(lineCount, 1);
311
341
  }
312
342
  }
313
343
  /**
@@ -347,7 +377,10 @@ class LogView extends PureComponent {
347
377
  this.editor.setValue(text);
348
378
 
349
379
  if (isBottomVisible) {
350
- var line = this.editor.getModel().getLineCount();
380
+ var _this$editor$getModel;
381
+
382
+ var line = (_this$editor$getModel = this.editor.getModel()) === null || _this$editor$getModel === void 0 ? void 0 : _this$editor$getModel.getLineCount();
383
+ assertNotNull(line);
351
384
  this.editor.revealLine(line, 1);
352
385
  }
353
386
 
@@ -362,11 +395,14 @@ class LogView extends PureComponent {
362
395
  }
363
396
 
364
397
  scrollToBottom() {
398
+ var _this$editor7, _this$editor7$getMode, _this$editor7$getMode2;
399
+
365
400
  if (!this.editor) {
366
401
  return;
367
402
  }
368
403
 
369
- var line = this.editor.getModel().getLineCount();
404
+ var line = (_this$editor7 = this.editor) === null || _this$editor7 === void 0 ? void 0 : (_this$editor7$getMode = _this$editor7.getModel) === null || _this$editor7$getMode === void 0 ? void 0 : (_this$editor7$getMode2 = _this$editor7$getMode.call(_this$editor7)) === null || _this$editor7$getMode2 === void 0 ? void 0 : _this$editor7$getMode2.getLineCount();
405
+ assertNotNull(line);
370
406
  this.editor.revealLine(line, 1);
371
407
  }
372
408
 
@@ -376,12 +412,15 @@ class LogView extends PureComponent {
376
412
  }
377
413
 
378
414
  var model = this.editor.getModel();
379
- var line = model.getLineCount();
415
+ var line = model === null || model === void 0 ? void 0 : model.getLineCount();
416
+ assertNotNull(line);
380
417
  return this.isLineVisible(line);
381
418
  }
382
419
 
383
420
  isLineVisible(line) {
384
- var visibleRanges = this.editor.getVisibleRanges();
421
+ var _this$editor8;
422
+
423
+ var visibleRanges = (_this$editor8 = this.editor) === null || _this$editor8 === void 0 ? void 0 : _this$editor8.getVisibleRanges();
385
424
 
386
425
  if (visibleRanges == null || visibleRanges.length === 0) {
387
426
  return false;
@@ -435,7 +474,7 @@ class LogView extends PureComponent {
435
474
  stopFlushTimer() {
436
475
  if (this.flushTimer) {
437
476
  clearTimeout(this.flushTimer);
438
- this.flushTimer = null;
477
+ this.flushTimer = undefined;
439
478
  }
440
479
  }
441
480
 
@@ -530,8 +569,5 @@ _defineProperty(LogView, "maxLogSize", 131072);
530
569
 
531
570
  _defineProperty(LogView, "truncateSize", 65536);
532
571
 
533
- LogView.propTypes = {
534
- session: APIPropTypes.IdeSession.isRequired
535
- };
536
572
  export default LogView;
537
573
  //# sourceMappingURL=LogView.js.map