@l1yp/file-viewer 0.1.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 (373) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +134 -0
  3. package/dist/FileViewer.js +7 -0
  4. package/dist/FileViewer.vue.d.ts +37 -0
  5. package/dist/FileViewer.vue_vue_type_script_setup_true_lang.js +103 -0
  6. package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
  7. package/dist/components/AppxViewer.js +7 -0
  8. package/dist/components/AppxViewer.vue.d.ts +18 -0
  9. package/dist/components/AppxViewer.vue_vue_type_script_setup_true_lang.js +174 -0
  10. package/dist/components/ArchiveBrowser.js +7 -0
  11. package/dist/components/ArchiveBrowser.vue.d.ts +18 -0
  12. package/dist/components/ArchiveBrowser.vue_vue_type_script_setup_true_lang.js +279 -0
  13. package/dist/components/AudioViewer.js +7 -0
  14. package/dist/components/AudioViewer.vue.d.ts +21 -0
  15. package/dist/components/AudioViewer.vue_vue_type_script_setup_true_lang.js +201 -0
  16. package/dist/components/BinObjBrowser.js +7 -0
  17. package/dist/components/BinObjBrowser.vue.d.ts +19 -0
  18. package/dist/components/BinObjBrowser.vue_vue_type_script_setup_true_lang.js +141 -0
  19. package/dist/components/CertViewer.js +7 -0
  20. package/dist/components/CertViewer.vue.d.ts +17 -0
  21. package/dist/components/CertViewer.vue_vue_type_script_setup_true_lang.js +251 -0
  22. package/dist/components/ClassViewer.js +7 -0
  23. package/dist/components/ClassViewer.vue.d.ts +15 -0
  24. package/dist/components/ClassViewer.vue_vue_type_script_setup_true_lang.js +164 -0
  25. package/dist/components/CodeBlock.js +7 -0
  26. package/dist/components/CodeBlock.vue.d.ts +17 -0
  27. package/dist/components/CodeBlock.vue_vue_type_script_setup_true_lang.js +79 -0
  28. package/dist/components/CodeView.js +7 -0
  29. package/dist/components/CodeView.vue.d.ts +21 -0
  30. package/dist/components/CodeView.vue_vue_type_script_setup_true_lang.js +180 -0
  31. package/dist/components/CsvViewer.js +7 -0
  32. package/dist/components/CsvViewer.vue.d.ts +26 -0
  33. package/dist/components/CsvViewer.vue_vue_type_script_setup_true_lang.js +187 -0
  34. package/dist/components/DicomViewer.js +7 -0
  35. package/dist/components/DicomViewer.vue.d.ts +30 -0
  36. package/dist/components/DicomViewer.vue_vue_type_script_setup_true_lang.js +362 -0
  37. package/dist/components/DocxViewer.js +7 -0
  38. package/dist/components/DocxViewer.vue.d.ts +19 -0
  39. package/dist/components/DocxViewer.vue_vue_type_script_setup_true_lang.js +59 -0
  40. package/dist/components/DrawioViewer.js +7 -0
  41. package/dist/components/DrawioViewer.vue.d.ts +16 -0
  42. package/dist/components/DrawioViewer.vue_vue_type_script_setup_true_lang.js +38 -0
  43. package/dist/components/DxfViewer.js +7 -0
  44. package/dist/components/DxfViewer.vue.d.ts +14 -0
  45. package/dist/components/DxfViewer.vue_vue_type_script_setup_true_lang.js +239 -0
  46. package/dist/components/EbookViewer.js +7 -0
  47. package/dist/components/EbookViewer.vue.d.ts +22 -0
  48. package/dist/components/EbookViewer.vue_vue_type_script_setup_true_lang.js +170 -0
  49. package/dist/components/EmlViewer.js +7 -0
  50. package/dist/components/EmlViewer.vue.d.ts +21 -0
  51. package/dist/components/EmlViewer.vue_vue_type_script_setup_true_lang.js +193 -0
  52. package/dist/components/EplViewer.js +7 -0
  53. package/dist/components/EplViewer.vue.d.ts +19 -0
  54. package/dist/components/EplViewer.vue_vue_type_script_setup_true_lang.js +201 -0
  55. package/dist/components/FileViewerBody.js +7 -0
  56. package/dist/components/FileViewerBody.vue.d.ts +47 -0
  57. package/dist/components/FileViewerBody.vue_vue_type_script_setup_true_lang.js +599 -0
  58. package/dist/components/FileViewerPanel.js +7 -0
  59. package/dist/components/FileViewerPanel.vue.d.ts +3 -0
  60. package/dist/components/FileViewerPanel.vue_vue_type_script_setup_true_lang.js +207 -0
  61. package/dist/components/FontViewer.js +7 -0
  62. package/dist/components/FontViewer.vue.d.ts +17 -0
  63. package/dist/components/FontViewer.vue_vue_type_script_setup_true_lang.js +120 -0
  64. package/dist/components/FrontmatterCard.js +7 -0
  65. package/dist/components/FrontmatterCard.vue.d.ts +11 -0
  66. package/dist/components/FrontmatterCard.vue_vue_type_script_setup_true_lang.js +30 -0
  67. package/dist/components/GeoViewer.js +7 -0
  68. package/dist/components/GeoViewer.vue.d.ts +17 -0
  69. package/dist/components/GeoViewer.vue_vue_type_script_setup_true_lang.js +255 -0
  70. package/dist/components/HarViewer.js +7 -0
  71. package/dist/components/HarViewer.vue.d.ts +20 -0
  72. package/dist/components/HarViewer.vue_vue_type_script_setup_true_lang.js +322 -0
  73. package/dist/components/HexViewer.js +7 -0
  74. package/dist/components/HexViewer.vue.d.ts +22 -0
  75. package/dist/components/HexViewer.vue_vue_type_script_setup_true_lang.js +121 -0
  76. package/dist/components/HprofViewer.js +7 -0
  77. package/dist/components/HprofViewer.vue.d.ts +27 -0
  78. package/dist/components/HprofViewer.vue_vue_type_script_setup_true_lang.js +561 -0
  79. package/dist/components/ImageLightbox.js +7 -0
  80. package/dist/components/ImageLightbox.vue.d.ts +3 -0
  81. package/dist/components/ImageLightbox.vue_vue_type_script_setup_true_lang.js +86 -0
  82. package/dist/components/InlineText.d.ts +29 -0
  83. package/dist/components/InlineText.js +21 -0
  84. package/dist/components/JksViewer.js +7 -0
  85. package/dist/components/JksViewer.vue.d.ts +22 -0
  86. package/dist/components/JksViewer.vue_vue_type_script_setup_true_lang.js +353 -0
  87. package/dist/components/JsonlViewer.js +7 -0
  88. package/dist/components/JsonlViewer.vue.d.ts +15 -0
  89. package/dist/components/JsonlViewer.vue_vue_type_script_setup_true_lang.js +103 -0
  90. package/dist/components/LogViewer.js +7 -0
  91. package/dist/components/LogViewer.vue.d.ts +29 -0
  92. package/dist/components/LogViewer.vue_vue_type_script_setup_true_lang.js +670 -0
  93. package/dist/components/LrcViewer.js +7 -0
  94. package/dist/components/LrcViewer.vue.d.ts +17 -0
  95. package/dist/components/LrcViewer.vue_vue_type_script_setup_true_lang.js +106 -0
  96. package/dist/components/MarkdownTable.js +7 -0
  97. package/dist/components/MarkdownTable.vue.d.ts +19 -0
  98. package/dist/components/MarkdownTable.vue_vue_type_script_setup_true_lang.js +71 -0
  99. package/dist/components/MarkdownText.d.ts +30 -0
  100. package/dist/components/MarkdownText.js +21 -0
  101. package/dist/components/MhtViewer.js +7 -0
  102. package/dist/components/MhtViewer.vue.d.ts +22 -0
  103. package/dist/components/MhtViewer.vue_vue_type_script_setup_true_lang.js +112 -0
  104. package/dist/components/MindMapView.js +7 -0
  105. package/dist/components/MindMapView.vue.d.ts +23 -0
  106. package/dist/components/MindMapView.vue_vue_type_script_setup_true_lang.js +337 -0
  107. package/dist/components/MissingDependency.js +7 -0
  108. package/dist/components/MissingDependency.vue.d.ts +17 -0
  109. package/dist/components/MissingDependency.vue_vue_type_script_setup_true_lang.js +37 -0
  110. package/dist/components/ModelViewer.js +7 -0
  111. package/dist/components/ModelViewer.vue.d.ts +18 -0
  112. package/dist/components/ModelViewer.vue_vue_type_script_setup_true_lang.js +157 -0
  113. package/dist/components/MsiViewer.js +7 -0
  114. package/dist/components/MsiViewer.vue.d.ts +19 -0
  115. package/dist/components/MsiViewer.vue_vue_type_script_setup_true_lang.js +136 -0
  116. package/dist/components/NotebookViewer.js +7 -0
  117. package/dist/components/NotebookViewer.vue.d.ts +20 -0
  118. package/dist/components/NotebookViewer.vue_vue_type_script_setup_true_lang.js +125 -0
  119. package/dist/components/PdfViewer.js +7 -0
  120. package/dist/components/PdfViewer.vue.d.ts +19 -0
  121. package/dist/components/PdfViewer.vue_vue_type_script_setup_true_lang.js +114 -0
  122. package/dist/components/PptxViewer.js +7 -0
  123. package/dist/components/PptxViewer.vue.d.ts +20 -0
  124. package/dist/components/PptxViewer.vue_vue_type_script_setup_true_lang.js +73 -0
  125. package/dist/components/PsdViewer.js +7 -0
  126. package/dist/components/PsdViewer.vue.d.ts +15 -0
  127. package/dist/components/PsdViewer.vue_vue_type_script_setup_true_lang.js +218 -0
  128. package/dist/components/QmcAudioViewer.js +7 -0
  129. package/dist/components/QmcAudioViewer.vue.d.ts +18 -0
  130. package/dist/components/QmcAudioViewer.vue_vue_type_script_setup_true_lang.js +92 -0
  131. package/dist/components/RasterViewer.js +7 -0
  132. package/dist/components/RasterViewer.vue.d.ts +21 -0
  133. package/dist/components/RasterViewer.vue_vue_type_script_setup_true_lang.js +161 -0
  134. package/dist/components/RtfViewer.js +7 -0
  135. package/dist/components/RtfViewer.vue.d.ts +21 -0
  136. package/dist/components/RtfViewer.vue_vue_type_script_setup_true_lang.js +66 -0
  137. package/dist/components/SevenZipBrowser.js +7 -0
  138. package/dist/components/SevenZipBrowser.vue.d.ts +13 -0
  139. package/dist/components/SevenZipBrowser.vue_vue_type_script_setup_true_lang.js +366 -0
  140. package/dist/components/SqliteViewer.js +7 -0
  141. package/dist/components/SqliteViewer.vue.d.ts +18 -0
  142. package/dist/components/SqliteViewer.vue_vue_type_script_setup_true_lang.js +186 -0
  143. package/dist/components/SubtitleViewer.js +7 -0
  144. package/dist/components/SubtitleViewer.vue.d.ts +15 -0
  145. package/dist/components/SubtitleViewer.vue_vue_type_script_setup_true_lang.js +48 -0
  146. package/dist/components/XlsxChart.js +7 -0
  147. package/dist/components/XlsxChart.vue.d.ts +14 -0
  148. package/dist/components/XlsxChart.vue_vue_type_script_setup_true_lang.js +240 -0
  149. package/dist/components/XlsxViewer.js +7 -0
  150. package/dist/components/XlsxViewer.vue.d.ts +22 -0
  151. package/dist/components/XlsxViewer.vue_vue_type_script_setup_true_lang.js +814 -0
  152. package/dist/components/XmindViewer.js +7 -0
  153. package/dist/components/XmindViewer.vue.d.ts +13 -0
  154. package/dist/components/XmindViewer.vue_vue_type_script_setup_true_lang.js +48 -0
  155. package/dist/components/ZipBrowser.js +7 -0
  156. package/dist/components/ZipBrowser.vue.d.ts +14 -0
  157. package/dist/components/ZipBrowser.vue_vue_type_script_setup_true_lang.js +326 -0
  158. package/dist/components/ZoomImage.js +7 -0
  159. package/dist/components/ZoomImage.vue.d.ts +29 -0
  160. package/dist/components/ZoomImage.vue_vue_type_script_setup_true_lang.js +147 -0
  161. package/dist/components/epl/EplCodeBlock.js +7 -0
  162. package/dist/components/epl/EplCodeBlock.vue.d.ts +15 -0
  163. package/dist/components/epl/EplCodeBlock.vue_vue_type_script_setup_true_lang.js +72 -0
  164. package/dist/components/epl/EplDoc.js +7 -0
  165. package/dist/components/epl/EplDoc.vue.d.ts +19 -0
  166. package/dist/components/epl/EplDoc.vue_vue_type_script_setup_true_lang.js +327 -0
  167. package/dist/components/epl/EplMethod.js +7 -0
  168. package/dist/components/epl/EplMethod.vue.d.ts +14 -0
  169. package/dist/components/epl/EplMethod.vue_vue_type_script_setup_true_lang.js +100 -0
  170. package/dist/components/epl/EplResource.js +7 -0
  171. package/dist/components/epl/EplResource.vue.d.ts +15 -0
  172. package/dist/components/epl/EplResource.vue_vue_type_script_setup_true_lang.js +204 -0
  173. package/dist/components/epl/EplTree.js +7 -0
  174. package/dist/components/epl/EplTree.vue.d.ts +27 -0
  175. package/dist/components/epl/EplTree.vue_vue_type_script_setup_true_lang.js +123 -0
  176. package/dist/components/epl/EplVarTable.js +7 -0
  177. package/dist/components/epl/EplVarTable.vue.d.ts +21 -0
  178. package/dist/components/epl/EplVarTable.vue_vue_type_script_setup_true_lang.js +60 -0
  179. package/dist/components/epl/docTypes.d.ts +12 -0
  180. package/dist/components/epl/numbering.d.ts +21 -0
  181. package/dist/components/epl/numbering.js +14 -0
  182. package/dist/components/icons/Icon.js +7 -0
  183. package/dist/components/icons/Icon.vue.d.ts +14 -0
  184. package/dist/components/icons/Icon.vue_vue_type_script_setup_true_lang.js +33 -0
  185. package/dist/components/icons/iconPaths.d.ts +60 -0
  186. package/dist/components/icons/iconPaths.js +54 -0
  187. package/dist/components/optionalViewer.d.ts +14 -0
  188. package/dist/components/optionalViewer.js +37 -0
  189. package/dist/components/ui/ClampBlock.d.ts +82 -0
  190. package/dist/components/ui/ClampBlock.js +63 -0
  191. package/dist/composables/useFileViewer.d.ts +428 -0
  192. package/dist/composables/useFileViewer.js +27 -0
  193. package/dist/composables/useLightbox.d.ts +33 -0
  194. package/dist/composables/useLightbox.js +17 -0
  195. package/dist/composables/useLogRules.d.ts +47 -0
  196. package/dist/composables/useLogRules.js +74 -0
  197. package/dist/index.d.ts +44 -0
  198. package/dist/index.js +30 -0
  199. package/dist/lib/aes.d.ts +25 -0
  200. package/dist/lib/aes.js +99 -0
  201. package/dist/lib/appx.d.ts +66 -0
  202. package/dist/lib/appx.js +112 -0
  203. package/dist/lib/archive.d.ts +29 -0
  204. package/dist/lib/asn1.d.ts +47 -0
  205. package/dist/lib/asn1.js +122 -0
  206. package/dist/lib/binobj.d.ts +69 -0
  207. package/dist/lib/binobj.js +430 -0
  208. package/dist/lib/brotli.d.ts +14 -0
  209. package/dist/lib/brotli.js +16 -0
  210. package/dist/lib/bzip2.d.ts +14 -0
  211. package/dist/lib/bzip2.js +161 -0
  212. package/dist/lib/classfile.d.ts +72 -0
  213. package/dist/lib/classfile.js +210 -0
  214. package/dist/lib/codePreview.d.ts +22 -0
  215. package/dist/lib/codePreview.js +27 -0
  216. package/dist/lib/codefold.d.ts +14 -0
  217. package/dist/lib/codefold.js +30 -0
  218. package/dist/lib/codeformat.d.ts +21 -0
  219. package/dist/lib/codeformat.js +130 -0
  220. package/dist/lib/csv.d.ts +19 -0
  221. package/dist/lib/csv.js +74 -0
  222. package/dist/lib/des.d.ts +17 -0
  223. package/dist/lib/des.js +928 -0
  224. package/dist/lib/diagram.d.ts +5 -0
  225. package/dist/lib/diagram.js +479 -0
  226. package/dist/lib/dicom.d.ts +69 -0
  227. package/dist/lib/dicom.js +442 -0
  228. package/dist/lib/dicomCodecs.d.ts +28 -0
  229. package/dist/lib/dicomCodecs.js +156 -0
  230. package/dist/lib/dicomRender.d.ts +46 -0
  231. package/dist/lib/dicomRender.js +114 -0
  232. package/dist/lib/dxf.d.ts +86 -0
  233. package/dist/lib/dxf.js +399 -0
  234. package/dist/lib/eml.d.ts +40 -0
  235. package/dist/lib/eml.js +46 -0
  236. package/dist/lib/encoding.d.ts +28 -0
  237. package/dist/lib/encoding.js +44 -0
  238. package/dist/lib/epl/code/ast.d.ts +150 -0
  239. package/dist/lib/epl/code/codeDataParser.d.ts +3 -0
  240. package/dist/lib/epl/code/codeDataParser.js +330 -0
  241. package/dist/lib/epl/code/codeLines.d.ts +20 -0
  242. package/dist/lib/epl/code/codeLines.js +191 -0
  243. package/dist/lib/epl/code/structures.d.ts +86 -0
  244. package/dist/lib/epl/code/textCode.d.ts +29 -0
  245. package/dist/lib/epl/code/textCode.js +150 -0
  246. package/dist/lib/epl/code/variable.d.ts +25 -0
  247. package/dist/lib/epl/eplDocument.d.ts +21 -0
  248. package/dist/lib/epl/eplDocument.js +36 -0
  249. package/dist/lib/epl/imageList.d.ts +28 -0
  250. package/dist/lib/epl/imageList.js +66 -0
  251. package/dist/lib/epl/index.d.ts +53 -0
  252. package/dist/lib/epl/index.js +45 -0
  253. package/dist/lib/epl/io/binaryReader.d.ts +56 -0
  254. package/dist/lib/epl/io/binaryReader.js +119 -0
  255. package/dist/lib/epl/io/encoding.d.ts +16 -0
  256. package/dist/lib/epl/io/encoding.js +27 -0
  257. package/dist/lib/epl/model/eplSystemId.d.ts +64 -0
  258. package/dist/lib/epl/model/eplSystemId.js +16 -0
  259. package/dist/lib/epl/model/section.d.ts +46 -0
  260. package/dist/lib/epl/names/eplLibData.js +39 -0
  261. package/dist/lib/epl/names/idToNameMap.d.ts +33 -0
  262. package/dist/lib/epl/names/idToNameMap.js +130 -0
  263. package/dist/lib/epl/names/libNameProvider.d.ts +15 -0
  264. package/dist/lib/epl/names/libNameProvider.js +18 -0
  265. package/dist/lib/epl/program.d.ts +120 -0
  266. package/dist/lib/epl/program.js +134 -0
  267. package/dist/lib/epl/projectFileReader.d.ts +23 -0
  268. package/dist/lib/epl/projectFileReader.js +65 -0
  269. package/dist/lib/epl/sections/code.d.ts +20 -0
  270. package/dist/lib/epl/sections/esystemInfo.d.ts +14 -0
  271. package/dist/lib/epl/sections/losable.d.ts +11 -0
  272. package/dist/lib/epl/sections/projectConfig.d.ts +23 -0
  273. package/dist/lib/epl/sections/resource.d.ts +57 -0
  274. package/dist/lib/fb2.d.ts +14 -0
  275. package/dist/lib/fb2.js +62 -0
  276. package/dist/lib/fileType.d.ts +315 -0
  277. package/dist/lib/fileType.js +800 -0
  278. package/dist/lib/fonts.d.ts +8 -0
  279. package/dist/lib/fonts.js +4 -0
  280. package/dist/lib/format.d.ts +16 -0
  281. package/dist/lib/format.js +38 -0
  282. package/dist/lib/frontmatter.d.ts +13 -0
  283. package/dist/lib/frontmatter.js +23 -0
  284. package/dist/lib/geo.d.ts +30 -0
  285. package/dist/lib/geo.js +235 -0
  286. package/dist/lib/har.d.ts +171 -0
  287. package/dist/lib/har.js +397 -0
  288. package/dist/lib/highlight.d.ts +18 -0
  289. package/dist/lib/highlight.js +34 -0
  290. package/dist/lib/highlightLangs.d.ts +15 -0
  291. package/dist/lib/highlightLangs.js +93 -0
  292. package/dist/lib/hprof.d.ts +211 -0
  293. package/dist/lib/hprof.js +709 -0
  294. package/dist/lib/ipynb.d.ts +48 -0
  295. package/dist/lib/ipynb.js +130 -0
  296. package/dist/lib/jks.d.ts +86 -0
  297. package/dist/lib/jks.js +167 -0
  298. package/dist/lib/jsonl.d.ts +29 -0
  299. package/dist/lib/jsonl.js +24 -0
  300. package/dist/lib/lrc.d.ts +32 -0
  301. package/dist/lib/lrc.js +84 -0
  302. package/dist/lib/lzma.d.ts +70 -0
  303. package/dist/lib/lzma.js +204 -0
  304. package/dist/lib/markdown/blocks.d.ts +9 -0
  305. package/dist/lib/markdown/blocks.js +221 -0
  306. package/dist/lib/markdown/index.d.ts +3 -0
  307. package/dist/lib/markdown/inline.d.ts +33 -0
  308. package/dist/lib/markdown/inline.js +84 -0
  309. package/dist/lib/markdown/math.d.ts +5 -0
  310. package/dist/lib/markdown/math.js +25 -0
  311. package/dist/lib/markdown/segmentize.d.ts +11 -0
  312. package/dist/lib/markdown/segmentize.js +28 -0
  313. package/dist/lib/markdown/styles.d.ts +26 -0
  314. package/dist/lib/markdown/styles.js +135 -0
  315. package/dist/lib/mht.d.ts +51 -0
  316. package/dist/lib/mht.js +122 -0
  317. package/dist/lib/midi.d.ts +28 -0
  318. package/dist/lib/midi.js +84 -0
  319. package/dist/lib/mime.d.ts +82 -0
  320. package/dist/lib/mime.js +151 -0
  321. package/dist/lib/mindmap.d.ts +51 -0
  322. package/dist/lib/mindmap.js +113 -0
  323. package/dist/lib/mobi.d.ts +15 -0
  324. package/dist/lib/mobi.js +68 -0
  325. package/dist/lib/msi.d.ts +50 -0
  326. package/dist/lib/msi.js +332 -0
  327. package/dist/lib/optionalDep.d.ts +26 -0
  328. package/dist/lib/optionalDep.js +20 -0
  329. package/dist/lib/pkcs12.d.ts +56 -0
  330. package/dist/lib/pkcs12.js +356 -0
  331. package/dist/lib/qmc.d.ts +50 -0
  332. package/dist/lib/qmc.js +213 -0
  333. package/dist/lib/rar.d.ts +16 -0
  334. package/dist/lib/rar.js +40 -0
  335. package/dist/lib/rawPreview.d.ts +12 -0
  336. package/dist/lib/rawPreview.js +54 -0
  337. package/dist/lib/rc2.d.ts +12 -0
  338. package/dist/lib/rc2.js +298 -0
  339. package/dist/lib/resolveInput.d.ts +22 -0
  340. package/dist/lib/resolveInput.js +55 -0
  341. package/dist/lib/rtf.d.ts +53 -0
  342. package/dist/lib/rtf.js +413 -0
  343. package/dist/lib/sevenZip.d.ts +82 -0
  344. package/dist/lib/sevenZip.js +395 -0
  345. package/dist/lib/sha1.d.ts +24 -0
  346. package/dist/lib/sha1.js +53 -0
  347. package/dist/lib/sha256.d.ts +21 -0
  348. package/dist/lib/sha256.js +119 -0
  349. package/dist/lib/speechAudio.d.ts +36 -0
  350. package/dist/lib/speechAudio.js +85 -0
  351. package/dist/lib/sqlite.d.ts +38 -0
  352. package/dist/lib/sqlite.js +104 -0
  353. package/dist/lib/subtitle.d.ts +26 -0
  354. package/dist/lib/subtitle.js +99 -0
  355. package/dist/lib/tarball.d.ts +20 -0
  356. package/dist/lib/tarball.js +248 -0
  357. package/dist/lib/viewerFormats.d.ts +35 -0
  358. package/dist/lib/viewerFormats.js +83 -0
  359. package/dist/lib/viewerKind.d.ts +36 -0
  360. package/dist/lib/viewerKind.js +233 -0
  361. package/dist/lib/x509.d.ts +68 -0
  362. package/dist/lib/x509.js +267 -0
  363. package/dist/lib/xlsx.d.ts +55 -0
  364. package/dist/lib/xlsx.js +321 -0
  365. package/dist/lib/xlsxCharts.d.ts +34 -0
  366. package/dist/lib/xlsxCharts.js +152 -0
  367. package/dist/lib/xmind.d.ts +6 -0
  368. package/dist/lib/xmind.js +124 -0
  369. package/dist/lib/zip.d.ts +56 -0
  370. package/dist/lib/zip.js +169 -0
  371. package/dist/style.css +2 -0
  372. package/dist/types.d.ts +42 -0
  373. package/package.json +128 -0
@@ -0,0 +1,709 @@
1
+ //#region src/lib/hprof.ts
2
+ var e = class extends Error {
3
+ constructor(e) {
4
+ super(e), this.name = "HprofParseError";
5
+ }
6
+ }, t = 2, n = 4, r = 5, i = 6, a = 7, o = 8, s = 9, c = 10, l = 11;
7
+ function u(u, d) {
8
+ switch (u) {
9
+ case t: return d;
10
+ case n:
11
+ case o: return 1;
12
+ case r:
13
+ case s: return 2;
14
+ case i:
15
+ case c: return 4;
16
+ case a:
17
+ case l: return 8;
18
+ default: throw new e("未知的基础类型标记 0x" + u.toString(16));
19
+ }
20
+ }
21
+ var d = {
22
+ [n]: "boolean",
23
+ [r]: "char",
24
+ [i]: "float",
25
+ [a]: "double",
26
+ [o]: "byte",
27
+ [s]: "short",
28
+ [c]: "int",
29
+ [l]: "long"
30
+ };
31
+ function f(e) {
32
+ return d[e] ?? "type" + e;
33
+ }
34
+ var p = class {
35
+ blob;
36
+ chunkSize;
37
+ size;
38
+ buf = new Uint8Array();
39
+ pos = 0;
40
+ fileCursor = 0;
41
+ globalPos = 0;
42
+ constructor(e, t = 8 * 1024 * 1024) {
43
+ this.blob = e, this.chunkSize = t, this.size = e.size;
44
+ }
45
+ async ensure(t) {
46
+ for (; this.buf.length - this.pos < t;) {
47
+ if (this.fileCursor >= this.size) throw new e("文件在偏移 " + this.globalPos + " 处意外结束(可能已截断)");
48
+ let t = Math.min(this.fileCursor + this.chunkSize, this.size), n = await this.blob.slice(this.fileCursor, t).arrayBuffer(), r = new Uint8Array(n);
49
+ if (this.fileCursor = t, this.pos > 0 && (this.buf = this.buf.slice(this.pos), this.pos = 0), this.buf.length === 0) this.buf = r;
50
+ else {
51
+ let e = new Uint8Array(this.buf.length + r.length);
52
+ e.set(this.buf, 0), e.set(r, this.buf.length), this.buf = e;
53
+ }
54
+ }
55
+ }
56
+ async u1() {
57
+ await this.ensure(1);
58
+ let e = this.buf[this.pos];
59
+ return this.pos += 1, this.globalPos += 1, e;
60
+ }
61
+ async u2() {
62
+ await this.ensure(2);
63
+ let e = this.pos, t = (this.buf[e] << 8 | this.buf[e + 1]) >>> 0;
64
+ return this.pos += 2, this.globalPos += 2, t;
65
+ }
66
+ async u4() {
67
+ await this.ensure(4);
68
+ let e = this.buf, t = this.pos, n = (e[t] << 24 | e[t + 1] << 16 | e[t + 2] << 8 | e[t + 3]) >>> 0;
69
+ return this.pos += 4, this.globalPos += 4, n;
70
+ }
71
+ async u8() {
72
+ await this.ensure(8);
73
+ let e = new DataView(this.buf.buffer, this.buf.byteOffset + this.pos, 8).getBigUint64(0, !1);
74
+ return this.pos += 8, this.globalPos += 8, e;
75
+ }
76
+ async id(e) {
77
+ return e === 8 ? (await this.u8()).toString() : e === 4 ? (await this.u4()).toString() : e === 2 ? (await this.u2()).toString() : (await this.u1()).toString();
78
+ }
79
+ async bytes(e) {
80
+ await this.ensure(e);
81
+ let t = this.buf.slice(this.pos, this.pos + e);
82
+ return this.pos += e, this.globalPos += e, t;
83
+ }
84
+ async cstring() {
85
+ let e = [];
86
+ for (;;) {
87
+ let t = await this.u1();
88
+ if (t === 0) break;
89
+ e.push(t);
90
+ }
91
+ return new TextDecoder("utf-8").decode(new Uint8Array(e));
92
+ }
93
+ async skip(t) {
94
+ if (t <= 0) return;
95
+ let n = this.buf.length - this.pos;
96
+ if (t <= n) {
97
+ this.pos += t, this.globalPos += t;
98
+ return;
99
+ }
100
+ let r = t - n;
101
+ if (this.pos = this.buf.length, this.globalPos += n, this.buf = new Uint8Array(), this.fileCursor += r, this.globalPos += r, this.fileCursor > this.size) throw new e("跳过范围超出文件末尾(文件可能已截断)");
102
+ }
103
+ }, m = 1, h = 2, g = 12, _ = 28, v = 32, y = 33, b = 34, x = 35, S = {
104
+ 1: (e) => e,
105
+ 2: () => 8,
106
+ 3: () => 8,
107
+ 4: () => 4,
108
+ 5: () => 0,
109
+ 6: () => 4,
110
+ 7: () => 0,
111
+ 8: () => 8,
112
+ 255: () => 0,
113
+ 137: () => 0,
114
+ 139: () => 0,
115
+ 141: () => 0,
116
+ 142: () => 8,
117
+ 138: () => 0,
118
+ 140: () => 0,
119
+ 144: () => 0
120
+ }, C = 8192, w = 256, T = 4e3;
121
+ function E() {
122
+ return new Promise((e) => setTimeout(e, 0));
123
+ }
124
+ async function D(t) {
125
+ let n = await t.cstring();
126
+ if (!n.startsWith("JAVA PROFILE")) throw new e("不是有效的 HPROF 文件(magic: \"" + n.slice(0, 32) + "\")");
127
+ let r = await t.u4();
128
+ if (r !== 1 && r !== 2 && r !== 4 && r !== 8) throw new e("异常的 idSize:" + r);
129
+ let i = await t.u4(), a = await t.u4();
130
+ return {
131
+ idSize: r,
132
+ timestamp: (BigInt(i) << 32n | BigInt(a)).toString()
133
+ };
134
+ }
135
+ async function O(e, t) {
136
+ let n = await e.id(t);
137
+ await e.skip(4);
138
+ let r = await e.id(t);
139
+ await e.skip(t * 5);
140
+ let i = await e.u4(), a = await e.u2();
141
+ for (let n = 0; n < a; n++) {
142
+ await e.u2();
143
+ let n = await e.u1();
144
+ await e.skip(u(n, t));
145
+ }
146
+ let o = await e.u2();
147
+ for (let n = 0; n < o; n++) {
148
+ await e.id(t);
149
+ let n = await e.u1();
150
+ await e.skip(u(n, t));
151
+ }
152
+ let s = await e.u2(), c = [];
153
+ for (let n = 0; n < s; n++) {
154
+ let n = await e.id(t), r = await e.u1();
155
+ c.push({
156
+ nameId: n,
157
+ type: r
158
+ });
159
+ }
160
+ return {
161
+ classObjId: n,
162
+ info: {
163
+ superId: r,
164
+ instanceSize: i,
165
+ instFields: c
166
+ }
167
+ };
168
+ }
169
+ async function k(t, n, r) {
170
+ let i = S[n];
171
+ if (i) return await t.skip(r + i(r)), null;
172
+ switch (n) {
173
+ case v: {
174
+ let { classObjId: e, info: n } = await O(t, r);
175
+ return {
176
+ kind: "class",
177
+ classObjId: e,
178
+ info: n
179
+ };
180
+ }
181
+ case y: {
182
+ let e = await t.id(r);
183
+ return await t.skip(4), {
184
+ kind: "instance",
185
+ id: e,
186
+ classObjId: await t.id(r),
187
+ numBytes: await t.u4()
188
+ };
189
+ }
190
+ case b: {
191
+ await t.id(r), await t.skip(4);
192
+ let e = await t.u4(), n = await t.id(r);
193
+ return await t.skip(e * r), {
194
+ kind: "objArray",
195
+ elemClassId: n,
196
+ numElements: e,
197
+ shallow: e * r + r * 2 + 4
198
+ };
199
+ }
200
+ case x: {
201
+ await t.id(r), await t.skip(4);
202
+ let e = await t.u4(), n = await t.u1();
203
+ return await t.skip(e * u(n, r)), {
204
+ kind: "primArray",
205
+ elemType: n,
206
+ numElements: e,
207
+ shallow: e * u(n, r) + r * 2 + 4
208
+ };
209
+ }
210
+ default: throw new e("未知的堆子记录标记 0x" + n.toString(16) + "(偏移 " + t.globalPos + ")");
211
+ }
212
+ }
213
+ function A(e, t, n) {
214
+ return n === 8 ? e.getBigUint64(t, !1).toString() : n === 4 ? e.getUint32(t, !1).toString() : n === 2 ? e.getUint16(t, !1).toString() : e.getUint8(t).toString();
215
+ }
216
+ function j(e, d, f) {
217
+ let p = new DataView(e.buffer, e.byteOffset, e.byteLength), m = [], h = 0;
218
+ for (let e of d) switch (e.type) {
219
+ case t: {
220
+ let t = A(p, h, f);
221
+ h += f, m.push(t === "0" ? {
222
+ name: e.name,
223
+ value: "null",
224
+ kind: "null"
225
+ } : {
226
+ name: e.name,
227
+ value: "#" + t,
228
+ kind: "ref",
229
+ refId: t
230
+ });
231
+ break;
232
+ }
233
+ case n:
234
+ m.push({
235
+ name: e.name,
236
+ value: p.getUint8(h) === 0 ? "false" : "true",
237
+ kind: "prim"
238
+ }), h += 1;
239
+ break;
240
+ case o:
241
+ m.push({
242
+ name: e.name,
243
+ value: String(p.getInt8(h)),
244
+ kind: "prim"
245
+ }), h += 1;
246
+ break;
247
+ case r: {
248
+ let t = p.getUint16(h, !1);
249
+ m.push({
250
+ name: e.name,
251
+ value: M(t),
252
+ kind: "prim"
253
+ }), h += 2;
254
+ break;
255
+ }
256
+ case s:
257
+ m.push({
258
+ name: e.name,
259
+ value: String(p.getInt16(h, !1)),
260
+ kind: "prim"
261
+ }), h += 2;
262
+ break;
263
+ case i:
264
+ m.push({
265
+ name: e.name,
266
+ value: N(p.getFloat32(h, !1)),
267
+ kind: "prim"
268
+ }), h += 4;
269
+ break;
270
+ case c:
271
+ m.push({
272
+ name: e.name,
273
+ value: String(p.getInt32(h, !1)),
274
+ kind: "prim"
275
+ }), h += 4;
276
+ break;
277
+ case a:
278
+ m.push({
279
+ name: e.name,
280
+ value: N(p.getFloat64(h, !1)),
281
+ kind: "prim"
282
+ }), h += 8;
283
+ break;
284
+ case l:
285
+ m.push({
286
+ name: e.name,
287
+ value: p.getBigInt64(h, !1).toString(),
288
+ kind: "prim"
289
+ }), h += 8;
290
+ break;
291
+ default: h += u(e.type, f);
292
+ }
293
+ return m;
294
+ }
295
+ function M(e) {
296
+ return e >= 32 && e !== 127 ? "'" + String.fromCharCode(e) + "'" : "'\\u" + e.toString(16).padStart(4, "0") + "'";
297
+ }
298
+ function N(e) {
299
+ return Number.isNaN(e) ? "NaN" : Number.isFinite(e) ? String(e) : e > 0 ? "Infinity" : "-Infinity";
300
+ }
301
+ function P(e) {
302
+ if (!e) return "Object[]";
303
+ if (e[0] !== "[") return e + "[]";
304
+ let t = 0, n = 0;
305
+ for (; n < e.length && e[n] === "[";) t++, n++;
306
+ let r = e.slice(n);
307
+ return r = r.startsWith("L") && r.endsWith(";") ? r.slice(1, -1) : {
308
+ Z: "boolean",
309
+ B: "byte",
310
+ C: "char",
311
+ S: "short",
312
+ I: "int",
313
+ J: "long",
314
+ F: "float",
315
+ D: "double"
316
+ }[r] ?? r, r + "[]".repeat(t);
317
+ }
318
+ function F(e) {
319
+ let t = P(e);
320
+ return t.endsWith("[]") ? t.slice(0, -2) : t;
321
+ }
322
+ function I(e, t, u) {
323
+ switch (u) {
324
+ case n: return e.getUint8(t) === 0 ? "false" : "true";
325
+ case o: return String(e.getInt8(t));
326
+ case r: return M(e.getUint16(t, !1));
327
+ case s: return String(e.getInt16(t, !1));
328
+ case i: return N(e.getFloat32(t, !1));
329
+ case c: return String(e.getInt32(t, !1));
330
+ case a: return N(e.getFloat64(t, !1));
331
+ case l: return e.getBigInt64(t, !1).toString();
332
+ default: return "?";
333
+ }
334
+ }
335
+ function L(e, t) {
336
+ let n = new DataView(e.buffer, e.byteOffset, e.byteLength), r = u(t, 8), i = Math.min(Math.floor(e.byteLength / r), 256), a = [];
337
+ for (let e = 0; e < i; e++) a.push({
338
+ name: String(e),
339
+ value: I(n, e * r, t),
340
+ kind: "prim"
341
+ });
342
+ return a;
343
+ }
344
+ function R(e) {
345
+ let t = "", n = e.byteLength & -2;
346
+ for (let r = 0; r < n; r += 2) t += String.fromCharCode(e[r] << 8 | e[r + 1]);
347
+ return t;
348
+ }
349
+ function z(e) {
350
+ let t = "", n = e.byteLength & -2;
351
+ for (let r = 0; r < n; r += 2) t += String.fromCharCode(e[r] | e[r + 1] << 8);
352
+ return t;
353
+ }
354
+ function B(e) {
355
+ let t = "";
356
+ for (let n = 0; n < e.byteLength; n++) t += String.fromCharCode(e[n]);
357
+ return t;
358
+ }
359
+ function V(e) {
360
+ if (e.byteLength === 0) return "";
361
+ let t = 0;
362
+ for (let n = 0; n < e.byteLength; n++) {
363
+ let r = e[n];
364
+ (r >= 32 && r < 127 || r === 9 || r === 10 || r === 13) && t++;
365
+ }
366
+ return t / e.byteLength >= .85 ? B(e) : void 0;
367
+ }
368
+ function H(e) {
369
+ let t = Math.min(e.byteLength, w), n = "";
370
+ for (let r = 0; r < t; r++) n += e[r].toString(16).padStart(2, "0") + (r < t - 1 ? " " : "");
371
+ return e.byteLength > t ? n + " …" : n;
372
+ }
373
+ function U(e, t, n) {
374
+ let i = {
375
+ elemType: e,
376
+ length: n,
377
+ truncated: !1
378
+ };
379
+ if (e === r) i.text = R(t), i.truncated = t.byteLength < n * 2;
380
+ else if (e === o) {
381
+ i.hex = H(t);
382
+ let e = V(t);
383
+ e !== void 0 && (i.text = e), i.truncated = t.byteLength < n;
384
+ } else i.elements = L(t, e), i.truncated = i.elements.length < n;
385
+ return i;
386
+ }
387
+ function W(e, t, n) {
388
+ return t === r ? R(e) : n === 1 ? z(e) : B(e);
389
+ }
390
+ var G = class t {
391
+ blob;
392
+ idSize;
393
+ classInfo;
394
+ classNames;
395
+ strings;
396
+ layoutCache;
397
+ summary;
398
+ constructor(e, t, n, r, i, a, o) {
399
+ this.blob = e, this.idSize = n, this.classInfo = r, this.classNames = i, this.strings = a, this.layoutCache = o, this.summary = t;
400
+ }
401
+ classNameOf(e) {
402
+ return this.classNames.get(e) ?? "<class#" + e + ">";
403
+ }
404
+ resolveLayout(e) {
405
+ let t = this.layoutCache.get(e);
406
+ if (t !== void 0) return t;
407
+ let n = [], r = e, i = /* @__PURE__ */ new Set();
408
+ for (; r !== "0" && !i.has(r);) {
409
+ i.add(r);
410
+ let t = this.classInfo.get(r);
411
+ if (!t) return this.layoutCache.set(e, null), null;
412
+ for (let e of t.instFields) n.push({
413
+ name: this.strings.get(e.nameId) ?? "<field#" + e.nameId + ">",
414
+ type: e.type
415
+ });
416
+ r = t.superId;
417
+ }
418
+ return this.layoutCache.set(e, n), n;
419
+ }
420
+ static async parse(n, r) {
421
+ let i = new p(n), { idSize: a, timestamp: o } = await D(i), s = /* @__PURE__ */ new Map(), c = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Map(), u = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Map(), v = /* @__PURE__ */ new Map(), y = 0, b = 0, x = 0, S = 0, C = 0, w = 0, O = async () => {
422
+ ++w % T === 0 && (r?.(i.globalPos, i.size), await E());
423
+ };
424
+ for (; i.globalPos < i.size;) {
425
+ let t = await i.u1();
426
+ await i.u4();
427
+ let n = await i.u4(), r = i.globalPos + n;
428
+ if (x++, t === m) {
429
+ let e = await i.id(a), t = await i.bytes(n - a);
430
+ s.set(e, new TextDecoder("utf-8").decode(t));
431
+ } else if (t === h) {
432
+ await i.u4();
433
+ let e = await i.id(a);
434
+ await i.u4();
435
+ let t = await i.id(a);
436
+ c.set(e, t);
437
+ } else if (t === g || t === _) for (; i.globalPos < r;) {
438
+ let e = await k(i, await i.u1(), a);
439
+ if (e) if (e.kind === "class") l.set(e.classObjId, e.info), S++;
440
+ else if (e.kind === "instance") {
441
+ await i.skip(e.numBytes), b++;
442
+ let t = e.numBytes + a * 2;
443
+ C += t;
444
+ let n = u.get(e.classObjId);
445
+ n ? (n.count++, n.bytes += t) : u.set(e.classObjId, {
446
+ count: 1,
447
+ bytes: t
448
+ });
449
+ } else if (e.kind === "objArray") {
450
+ b++, C += e.shallow;
451
+ let t = d.get(e.elemClassId);
452
+ t ? (t.count++, t.bytes += e.shallow) : d.set(e.elemClassId, {
453
+ count: 1,
454
+ bytes: e.shallow
455
+ });
456
+ } else {
457
+ b++, C += e.shallow;
458
+ let t = v.get(e.elemType);
459
+ t ? (t.count++, t.bytes += e.shallow) : v.set(e.elemType, {
460
+ count: 1,
461
+ bytes: e.shallow
462
+ });
463
+ }
464
+ else y++;
465
+ await O();
466
+ }
467
+ else await i.skip(n);
468
+ if (i.globalPos < r) await i.skip(r - i.globalPos);
469
+ else if (i.globalPos > r) throw new e("解析在标记 0x" + t.toString(16) + " 处越界(偏移 " + i.globalPos + ",应止于 " + r + ")");
470
+ await O();
471
+ }
472
+ let A = /* @__PURE__ */ new Map();
473
+ for (let [e, t] of c) A.set(e, s.get(t) ?? "<class#" + e + ">");
474
+ let j = [];
475
+ for (let [e, t] of u) j.push({
476
+ name: A.get(e) ?? "<class#" + e + ">",
477
+ count: t.count,
478
+ bytes: t.bytes,
479
+ target: {
480
+ kind: "class",
481
+ classObjId: e
482
+ }
483
+ });
484
+ for (let [e, t] of d) j.push({
485
+ name: P(A.get(e)),
486
+ count: t.count,
487
+ bytes: t.bytes,
488
+ target: {
489
+ kind: "objArray",
490
+ elemClassId: e
491
+ }
492
+ });
493
+ for (let [e, t] of v) j.push({
494
+ name: f(e) + "[]",
495
+ count: t.count,
496
+ bytes: t.bytes,
497
+ target: {
498
+ kind: "primArray",
499
+ elemType: e
500
+ }
501
+ });
502
+ return j.sort((e, t) => t.bytes - e.bytes || t.count - e.count), r?.(i.size, i.size), new t(n, {
503
+ idSize: a,
504
+ timestamp: o,
505
+ fileSize: n.size,
506
+ recordCount: x,
507
+ classCount: S,
508
+ instanceCount: b,
509
+ gcRoots: y,
510
+ stringCount: s.size,
511
+ heapBytes: C,
512
+ rows: j
513
+ }, a, l, A, s, /* @__PURE__ */ new Map());
514
+ }
515
+ async collect(t, n = {}) {
516
+ let r = n.limit ?? 1e4, i = n.filter?.trim().toLowerCase() ?? "", a = this.idSize, o = t.kind === "class" ? this.resolveLayout(t.classObjId) : null, s = new p(this.blob);
517
+ await D(s);
518
+ let c = [], l = 0, d = 0, f = async () => {
519
+ ++d % T === 0 && (n.onProgress?.(s.globalPos, s.size), await E());
520
+ }, m = (e) => {
521
+ i && !K(e, i) || (l++, c.length < r && c.push(e));
522
+ };
523
+ for (; s.globalPos < s.size;) {
524
+ let n = await s.u1();
525
+ await s.u4();
526
+ let d = await s.u4(), p = s.globalPos + d;
527
+ if (n === g || n === _) for (; s.globalPos < p;) {
528
+ let e = await s.u1();
529
+ if (t.kind === "class" && e === y) {
530
+ let e = await s.id(a);
531
+ await s.skip(4);
532
+ let n = await s.id(a), u = await s.u4();
533
+ if (n === t.classObjId) {
534
+ let t = u + a * 2;
535
+ if (i || c.length < r) {
536
+ let n = await s.bytes(u);
537
+ m({
538
+ id: e,
539
+ size: t,
540
+ fields: o ? j(n, o, a) : []
541
+ });
542
+ } else await s.skip(u), l++;
543
+ } else await s.skip(u);
544
+ } else if (t.kind === "primArray" && e === x) {
545
+ let e = await s.id(a);
546
+ await s.skip(4);
547
+ let n = await s.u4(), o = await s.u1(), d = n * u(o, a);
548
+ if (o === t.elemType) {
549
+ let t = d + a * 2 + 4;
550
+ if (i || c.length < r) {
551
+ let r = Math.min(d, C), i = await s.bytes(r);
552
+ await s.skip(d - r), m({
553
+ id: e,
554
+ size: t,
555
+ fields: [],
556
+ array: U(o, i, n)
557
+ });
558
+ } else await s.skip(d), l++;
559
+ } else await s.skip(d);
560
+ } else if (t.kind === "objArray" && e === b) {
561
+ let e = await s.id(a);
562
+ await s.skip(4);
563
+ let n = await s.u4(), o = await s.id(a);
564
+ if (o === t.elemClassId) {
565
+ let t = n * a + a * 2 + 4;
566
+ i || c.length < r ? m({
567
+ id: e,
568
+ size: t,
569
+ fields: [],
570
+ array: await this.readObjArrayPreview(s, n, o, a)
571
+ }) : (await s.skip(n * a), l++);
572
+ } else await s.skip(n * a);
573
+ } else {
574
+ let t = await k(s, e, a);
575
+ t && t.kind === "instance" && await s.skip(t.numBytes);
576
+ }
577
+ await f();
578
+ }
579
+ else await s.skip(d);
580
+ if (s.globalPos < p) await s.skip(p - s.globalPos);
581
+ else if (s.globalPos > p) throw new e("解析越界(偏移 " + s.globalPos + ",应止于 " + p + ")");
582
+ await f();
583
+ }
584
+ return n.onProgress?.(s.size, s.size), {
585
+ rows: c,
586
+ total: l,
587
+ truncated: l > c.length
588
+ };
589
+ }
590
+ async readObjArrayPreview(e, t, n, r) {
591
+ let i = Math.min(t, 256), a = [];
592
+ for (let t = 0; t < i; t++) {
593
+ let n = await e.id(r);
594
+ a.push(n === "0" ? {
595
+ name: String(t),
596
+ value: "null",
597
+ kind: "null"
598
+ } : {
599
+ name: String(t),
600
+ value: "#" + n,
601
+ kind: "ref",
602
+ refId: n
603
+ });
604
+ }
605
+ return await e.skip((t - i) * r), {
606
+ elemClassName: F(this.classNames.get(n)),
607
+ length: t,
608
+ elements: a,
609
+ truncated: i < t
610
+ };
611
+ }
612
+ async resolveObjects(t, n) {
613
+ let r = this.idSize, i = /* @__PURE__ */ new Map(), a = 0;
614
+ for (let e of t) {
615
+ let t = this.classNames.get(e);
616
+ t ? i.set(e, {
617
+ id: e,
618
+ kind: "class",
619
+ className: t
620
+ }) : a++;
621
+ }
622
+ if (a === 0) return i;
623
+ let o = new p(this.blob);
624
+ await D(o);
625
+ let s = 0, c = async () => {
626
+ ++s % T === 0 && (n?.(o.globalPos, o.size), await E());
627
+ };
628
+ for (; o.globalPos < o.size && a > 0;) {
629
+ let n = await o.u1();
630
+ await o.u4();
631
+ let s = await o.u4(), l = o.globalPos + s;
632
+ if (n === g || n === _) for (; o.globalPos < l && a > 0;) {
633
+ let n = await o.u1();
634
+ if (n === y) {
635
+ let e = await o.id(r);
636
+ await o.skip(4);
637
+ let n = await o.id(r), s = await o.u4();
638
+ if (t.has(e) && !i.has(e)) {
639
+ let t = await o.bytes(s), c = this.resolveLayout(n);
640
+ i.set(e, {
641
+ id: e,
642
+ kind: "instance",
643
+ className: this.classNameOf(n),
644
+ size: s + r * 2,
645
+ fields: c ? j(t, c, r) : []
646
+ }), a--;
647
+ } else await o.skip(s);
648
+ } else if (n === x) {
649
+ let e = await o.id(r);
650
+ await o.skip(4);
651
+ let n = await o.u4(), s = await o.u1(), c = n * u(s, r);
652
+ if (t.has(e) && !i.has(e)) {
653
+ let t = Math.min(c, C), l = await o.bytes(t);
654
+ await o.skip(c - t), i.set(e, {
655
+ id: e,
656
+ kind: "primArray",
657
+ className: f(s) + "[]",
658
+ size: c + r * 2 + 4,
659
+ length: n,
660
+ elemType: s,
661
+ rawBytes: l,
662
+ array: U(s, l, n)
663
+ }), a--;
664
+ } else await o.skip(c);
665
+ } else if (n === b) {
666
+ let e = await o.id(r);
667
+ await o.skip(4);
668
+ let n = await o.u4(), s = await o.id(r);
669
+ if (t.has(e) && !i.has(e)) {
670
+ let t = await this.readObjArrayPreview(o, n, s, r);
671
+ i.set(e, {
672
+ id: e,
673
+ kind: "objArray",
674
+ className: P(this.classNames.get(s)),
675
+ size: n * r + r * 2 + 4,
676
+ length: n,
677
+ array: t
678
+ }), a--;
679
+ } else await o.skip(n * r);
680
+ } else if (n === v) await O(o, r);
681
+ else {
682
+ let t = S[n];
683
+ if (t) await o.skip(r + t(r));
684
+ else throw new e("未知的堆子记录标记 0x" + n.toString(16) + "(偏移 " + o.globalPos + ")");
685
+ }
686
+ await c();
687
+ }
688
+ else await o.skip(s);
689
+ if (o.globalPos < l) await o.skip(l - o.globalPos);
690
+ else if (o.globalPos > l) throw new e("解析越界(偏移 " + o.globalPos + ",应止于 " + l + ")");
691
+ await c();
692
+ }
693
+ return n?.(o.size, o.size), i;
694
+ }
695
+ };
696
+ function K(e, t) {
697
+ if (e.id.includes(t)) return !0;
698
+ for (let n of e.fields) if ((n.name + "=" + n.value).toLowerCase().includes(t)) return !0;
699
+ let n = e.array;
700
+ if (n) {
701
+ if (n.text && n.text.toLowerCase().includes(t) || n.hex && n.hex.includes(t)) return !0;
702
+ if (n.elements) {
703
+ for (let e of n.elements) if (e.value.toLowerCase().includes(t)) return !0;
704
+ }
705
+ }
706
+ return !1;
707
+ }
708
+ //#endregion
709
+ export { G as Hprof, e as HprofParseError, W as decodeStringValue };