@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.
- package/LICENSE +21 -0
- package/README.md +134 -0
- package/dist/FileViewer.js +7 -0
- package/dist/FileViewer.vue.d.ts +37 -0
- package/dist/FileViewer.vue_vue_type_script_setup_true_lang.js +103 -0
- package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
- package/dist/components/AppxViewer.js +7 -0
- package/dist/components/AppxViewer.vue.d.ts +18 -0
- package/dist/components/AppxViewer.vue_vue_type_script_setup_true_lang.js +174 -0
- package/dist/components/ArchiveBrowser.js +7 -0
- package/dist/components/ArchiveBrowser.vue.d.ts +18 -0
- package/dist/components/ArchiveBrowser.vue_vue_type_script_setup_true_lang.js +279 -0
- package/dist/components/AudioViewer.js +7 -0
- package/dist/components/AudioViewer.vue.d.ts +21 -0
- package/dist/components/AudioViewer.vue_vue_type_script_setup_true_lang.js +201 -0
- package/dist/components/BinObjBrowser.js +7 -0
- package/dist/components/BinObjBrowser.vue.d.ts +19 -0
- package/dist/components/BinObjBrowser.vue_vue_type_script_setup_true_lang.js +141 -0
- package/dist/components/CertViewer.js +7 -0
- package/dist/components/CertViewer.vue.d.ts +17 -0
- package/dist/components/CertViewer.vue_vue_type_script_setup_true_lang.js +251 -0
- package/dist/components/ClassViewer.js +7 -0
- package/dist/components/ClassViewer.vue.d.ts +15 -0
- package/dist/components/ClassViewer.vue_vue_type_script_setup_true_lang.js +164 -0
- package/dist/components/CodeBlock.js +7 -0
- package/dist/components/CodeBlock.vue.d.ts +17 -0
- package/dist/components/CodeBlock.vue_vue_type_script_setup_true_lang.js +79 -0
- package/dist/components/CodeView.js +7 -0
- package/dist/components/CodeView.vue.d.ts +21 -0
- package/dist/components/CodeView.vue_vue_type_script_setup_true_lang.js +180 -0
- package/dist/components/CsvViewer.js +7 -0
- package/dist/components/CsvViewer.vue.d.ts +26 -0
- package/dist/components/CsvViewer.vue_vue_type_script_setup_true_lang.js +187 -0
- package/dist/components/DicomViewer.js +7 -0
- package/dist/components/DicomViewer.vue.d.ts +30 -0
- package/dist/components/DicomViewer.vue_vue_type_script_setup_true_lang.js +362 -0
- package/dist/components/DocxViewer.js +7 -0
- package/dist/components/DocxViewer.vue.d.ts +19 -0
- package/dist/components/DocxViewer.vue_vue_type_script_setup_true_lang.js +59 -0
- package/dist/components/DrawioViewer.js +7 -0
- package/dist/components/DrawioViewer.vue.d.ts +16 -0
- package/dist/components/DrawioViewer.vue_vue_type_script_setup_true_lang.js +38 -0
- package/dist/components/DxfViewer.js +7 -0
- package/dist/components/DxfViewer.vue.d.ts +14 -0
- package/dist/components/DxfViewer.vue_vue_type_script_setup_true_lang.js +239 -0
- package/dist/components/EbookViewer.js +7 -0
- package/dist/components/EbookViewer.vue.d.ts +22 -0
- package/dist/components/EbookViewer.vue_vue_type_script_setup_true_lang.js +170 -0
- package/dist/components/EmlViewer.js +7 -0
- package/dist/components/EmlViewer.vue.d.ts +21 -0
- package/dist/components/EmlViewer.vue_vue_type_script_setup_true_lang.js +193 -0
- package/dist/components/EplViewer.js +7 -0
- package/dist/components/EplViewer.vue.d.ts +19 -0
- package/dist/components/EplViewer.vue_vue_type_script_setup_true_lang.js +201 -0
- package/dist/components/FileViewerBody.js +7 -0
- package/dist/components/FileViewerBody.vue.d.ts +47 -0
- package/dist/components/FileViewerBody.vue_vue_type_script_setup_true_lang.js +599 -0
- package/dist/components/FileViewerPanel.js +7 -0
- package/dist/components/FileViewerPanel.vue.d.ts +3 -0
- package/dist/components/FileViewerPanel.vue_vue_type_script_setup_true_lang.js +207 -0
- package/dist/components/FontViewer.js +7 -0
- package/dist/components/FontViewer.vue.d.ts +17 -0
- package/dist/components/FontViewer.vue_vue_type_script_setup_true_lang.js +120 -0
- package/dist/components/FrontmatterCard.js +7 -0
- package/dist/components/FrontmatterCard.vue.d.ts +11 -0
- package/dist/components/FrontmatterCard.vue_vue_type_script_setup_true_lang.js +30 -0
- package/dist/components/GeoViewer.js +7 -0
- package/dist/components/GeoViewer.vue.d.ts +17 -0
- package/dist/components/GeoViewer.vue_vue_type_script_setup_true_lang.js +255 -0
- package/dist/components/HarViewer.js +7 -0
- package/dist/components/HarViewer.vue.d.ts +20 -0
- package/dist/components/HarViewer.vue_vue_type_script_setup_true_lang.js +322 -0
- package/dist/components/HexViewer.js +7 -0
- package/dist/components/HexViewer.vue.d.ts +22 -0
- package/dist/components/HexViewer.vue_vue_type_script_setup_true_lang.js +121 -0
- package/dist/components/HprofViewer.js +7 -0
- package/dist/components/HprofViewer.vue.d.ts +27 -0
- package/dist/components/HprofViewer.vue_vue_type_script_setup_true_lang.js +561 -0
- package/dist/components/ImageLightbox.js +7 -0
- package/dist/components/ImageLightbox.vue.d.ts +3 -0
- package/dist/components/ImageLightbox.vue_vue_type_script_setup_true_lang.js +86 -0
- package/dist/components/InlineText.d.ts +29 -0
- package/dist/components/InlineText.js +21 -0
- package/dist/components/JksViewer.js +7 -0
- package/dist/components/JksViewer.vue.d.ts +22 -0
- package/dist/components/JksViewer.vue_vue_type_script_setup_true_lang.js +353 -0
- package/dist/components/JsonlViewer.js +7 -0
- package/dist/components/JsonlViewer.vue.d.ts +15 -0
- package/dist/components/JsonlViewer.vue_vue_type_script_setup_true_lang.js +103 -0
- package/dist/components/LogViewer.js +7 -0
- package/dist/components/LogViewer.vue.d.ts +29 -0
- package/dist/components/LogViewer.vue_vue_type_script_setup_true_lang.js +670 -0
- package/dist/components/LrcViewer.js +7 -0
- package/dist/components/LrcViewer.vue.d.ts +17 -0
- package/dist/components/LrcViewer.vue_vue_type_script_setup_true_lang.js +106 -0
- package/dist/components/MarkdownTable.js +7 -0
- package/dist/components/MarkdownTable.vue.d.ts +19 -0
- package/dist/components/MarkdownTable.vue_vue_type_script_setup_true_lang.js +71 -0
- package/dist/components/MarkdownText.d.ts +30 -0
- package/dist/components/MarkdownText.js +21 -0
- package/dist/components/MhtViewer.js +7 -0
- package/dist/components/MhtViewer.vue.d.ts +22 -0
- package/dist/components/MhtViewer.vue_vue_type_script_setup_true_lang.js +112 -0
- package/dist/components/MindMapView.js +7 -0
- package/dist/components/MindMapView.vue.d.ts +23 -0
- package/dist/components/MindMapView.vue_vue_type_script_setup_true_lang.js +337 -0
- package/dist/components/MissingDependency.js +7 -0
- package/dist/components/MissingDependency.vue.d.ts +17 -0
- package/dist/components/MissingDependency.vue_vue_type_script_setup_true_lang.js +37 -0
- package/dist/components/ModelViewer.js +7 -0
- package/dist/components/ModelViewer.vue.d.ts +18 -0
- package/dist/components/ModelViewer.vue_vue_type_script_setup_true_lang.js +157 -0
- package/dist/components/MsiViewer.js +7 -0
- package/dist/components/MsiViewer.vue.d.ts +19 -0
- package/dist/components/MsiViewer.vue_vue_type_script_setup_true_lang.js +136 -0
- package/dist/components/NotebookViewer.js +7 -0
- package/dist/components/NotebookViewer.vue.d.ts +20 -0
- package/dist/components/NotebookViewer.vue_vue_type_script_setup_true_lang.js +125 -0
- package/dist/components/PdfViewer.js +7 -0
- package/dist/components/PdfViewer.vue.d.ts +19 -0
- package/dist/components/PdfViewer.vue_vue_type_script_setup_true_lang.js +114 -0
- package/dist/components/PptxViewer.js +7 -0
- package/dist/components/PptxViewer.vue.d.ts +20 -0
- package/dist/components/PptxViewer.vue_vue_type_script_setup_true_lang.js +73 -0
- package/dist/components/PsdViewer.js +7 -0
- package/dist/components/PsdViewer.vue.d.ts +15 -0
- package/dist/components/PsdViewer.vue_vue_type_script_setup_true_lang.js +218 -0
- package/dist/components/QmcAudioViewer.js +7 -0
- package/dist/components/QmcAudioViewer.vue.d.ts +18 -0
- package/dist/components/QmcAudioViewer.vue_vue_type_script_setup_true_lang.js +92 -0
- package/dist/components/RasterViewer.js +7 -0
- package/dist/components/RasterViewer.vue.d.ts +21 -0
- package/dist/components/RasterViewer.vue_vue_type_script_setup_true_lang.js +161 -0
- package/dist/components/RtfViewer.js +7 -0
- package/dist/components/RtfViewer.vue.d.ts +21 -0
- package/dist/components/RtfViewer.vue_vue_type_script_setup_true_lang.js +66 -0
- package/dist/components/SevenZipBrowser.js +7 -0
- package/dist/components/SevenZipBrowser.vue.d.ts +13 -0
- package/dist/components/SevenZipBrowser.vue_vue_type_script_setup_true_lang.js +366 -0
- package/dist/components/SqliteViewer.js +7 -0
- package/dist/components/SqliteViewer.vue.d.ts +18 -0
- package/dist/components/SqliteViewer.vue_vue_type_script_setup_true_lang.js +186 -0
- package/dist/components/SubtitleViewer.js +7 -0
- package/dist/components/SubtitleViewer.vue.d.ts +15 -0
- package/dist/components/SubtitleViewer.vue_vue_type_script_setup_true_lang.js +48 -0
- package/dist/components/XlsxChart.js +7 -0
- package/dist/components/XlsxChart.vue.d.ts +14 -0
- package/dist/components/XlsxChart.vue_vue_type_script_setup_true_lang.js +240 -0
- package/dist/components/XlsxViewer.js +7 -0
- package/dist/components/XlsxViewer.vue.d.ts +22 -0
- package/dist/components/XlsxViewer.vue_vue_type_script_setup_true_lang.js +814 -0
- package/dist/components/XmindViewer.js +7 -0
- package/dist/components/XmindViewer.vue.d.ts +13 -0
- package/dist/components/XmindViewer.vue_vue_type_script_setup_true_lang.js +48 -0
- package/dist/components/ZipBrowser.js +7 -0
- package/dist/components/ZipBrowser.vue.d.ts +14 -0
- package/dist/components/ZipBrowser.vue_vue_type_script_setup_true_lang.js +326 -0
- package/dist/components/ZoomImage.js +7 -0
- package/dist/components/ZoomImage.vue.d.ts +29 -0
- package/dist/components/ZoomImage.vue_vue_type_script_setup_true_lang.js +147 -0
- package/dist/components/epl/EplCodeBlock.js +7 -0
- package/dist/components/epl/EplCodeBlock.vue.d.ts +15 -0
- package/dist/components/epl/EplCodeBlock.vue_vue_type_script_setup_true_lang.js +72 -0
- package/dist/components/epl/EplDoc.js +7 -0
- package/dist/components/epl/EplDoc.vue.d.ts +19 -0
- package/dist/components/epl/EplDoc.vue_vue_type_script_setup_true_lang.js +327 -0
- package/dist/components/epl/EplMethod.js +7 -0
- package/dist/components/epl/EplMethod.vue.d.ts +14 -0
- package/dist/components/epl/EplMethod.vue_vue_type_script_setup_true_lang.js +100 -0
- package/dist/components/epl/EplResource.js +7 -0
- package/dist/components/epl/EplResource.vue.d.ts +15 -0
- package/dist/components/epl/EplResource.vue_vue_type_script_setup_true_lang.js +204 -0
- package/dist/components/epl/EplTree.js +7 -0
- package/dist/components/epl/EplTree.vue.d.ts +27 -0
- package/dist/components/epl/EplTree.vue_vue_type_script_setup_true_lang.js +123 -0
- package/dist/components/epl/EplVarTable.js +7 -0
- package/dist/components/epl/EplVarTable.vue.d.ts +21 -0
- package/dist/components/epl/EplVarTable.vue_vue_type_script_setup_true_lang.js +60 -0
- package/dist/components/epl/docTypes.d.ts +12 -0
- package/dist/components/epl/numbering.d.ts +21 -0
- package/dist/components/epl/numbering.js +14 -0
- package/dist/components/icons/Icon.js +7 -0
- package/dist/components/icons/Icon.vue.d.ts +14 -0
- package/dist/components/icons/Icon.vue_vue_type_script_setup_true_lang.js +33 -0
- package/dist/components/icons/iconPaths.d.ts +60 -0
- package/dist/components/icons/iconPaths.js +54 -0
- package/dist/components/optionalViewer.d.ts +14 -0
- package/dist/components/optionalViewer.js +37 -0
- package/dist/components/ui/ClampBlock.d.ts +82 -0
- package/dist/components/ui/ClampBlock.js +63 -0
- package/dist/composables/useFileViewer.d.ts +428 -0
- package/dist/composables/useFileViewer.js +27 -0
- package/dist/composables/useLightbox.d.ts +33 -0
- package/dist/composables/useLightbox.js +17 -0
- package/dist/composables/useLogRules.d.ts +47 -0
- package/dist/composables/useLogRules.js +74 -0
- package/dist/index.d.ts +44 -0
- package/dist/index.js +30 -0
- package/dist/lib/aes.d.ts +25 -0
- package/dist/lib/aes.js +99 -0
- package/dist/lib/appx.d.ts +66 -0
- package/dist/lib/appx.js +112 -0
- package/dist/lib/archive.d.ts +29 -0
- package/dist/lib/asn1.d.ts +47 -0
- package/dist/lib/asn1.js +122 -0
- package/dist/lib/binobj.d.ts +69 -0
- package/dist/lib/binobj.js +430 -0
- package/dist/lib/brotli.d.ts +14 -0
- package/dist/lib/brotli.js +16 -0
- package/dist/lib/bzip2.d.ts +14 -0
- package/dist/lib/bzip2.js +161 -0
- package/dist/lib/classfile.d.ts +72 -0
- package/dist/lib/classfile.js +210 -0
- package/dist/lib/codePreview.d.ts +22 -0
- package/dist/lib/codePreview.js +27 -0
- package/dist/lib/codefold.d.ts +14 -0
- package/dist/lib/codefold.js +30 -0
- package/dist/lib/codeformat.d.ts +21 -0
- package/dist/lib/codeformat.js +130 -0
- package/dist/lib/csv.d.ts +19 -0
- package/dist/lib/csv.js +74 -0
- package/dist/lib/des.d.ts +17 -0
- package/dist/lib/des.js +928 -0
- package/dist/lib/diagram.d.ts +5 -0
- package/dist/lib/diagram.js +479 -0
- package/dist/lib/dicom.d.ts +69 -0
- package/dist/lib/dicom.js +442 -0
- package/dist/lib/dicomCodecs.d.ts +28 -0
- package/dist/lib/dicomCodecs.js +156 -0
- package/dist/lib/dicomRender.d.ts +46 -0
- package/dist/lib/dicomRender.js +114 -0
- package/dist/lib/dxf.d.ts +86 -0
- package/dist/lib/dxf.js +399 -0
- package/dist/lib/eml.d.ts +40 -0
- package/dist/lib/eml.js +46 -0
- package/dist/lib/encoding.d.ts +28 -0
- package/dist/lib/encoding.js +44 -0
- package/dist/lib/epl/code/ast.d.ts +150 -0
- package/dist/lib/epl/code/codeDataParser.d.ts +3 -0
- package/dist/lib/epl/code/codeDataParser.js +330 -0
- package/dist/lib/epl/code/codeLines.d.ts +20 -0
- package/dist/lib/epl/code/codeLines.js +191 -0
- package/dist/lib/epl/code/structures.d.ts +86 -0
- package/dist/lib/epl/code/textCode.d.ts +29 -0
- package/dist/lib/epl/code/textCode.js +150 -0
- package/dist/lib/epl/code/variable.d.ts +25 -0
- package/dist/lib/epl/eplDocument.d.ts +21 -0
- package/dist/lib/epl/eplDocument.js +36 -0
- package/dist/lib/epl/imageList.d.ts +28 -0
- package/dist/lib/epl/imageList.js +66 -0
- package/dist/lib/epl/index.d.ts +53 -0
- package/dist/lib/epl/index.js +45 -0
- package/dist/lib/epl/io/binaryReader.d.ts +56 -0
- package/dist/lib/epl/io/binaryReader.js +119 -0
- package/dist/lib/epl/io/encoding.d.ts +16 -0
- package/dist/lib/epl/io/encoding.js +27 -0
- package/dist/lib/epl/model/eplSystemId.d.ts +64 -0
- package/dist/lib/epl/model/eplSystemId.js +16 -0
- package/dist/lib/epl/model/section.d.ts +46 -0
- package/dist/lib/epl/names/eplLibData.js +39 -0
- package/dist/lib/epl/names/idToNameMap.d.ts +33 -0
- package/dist/lib/epl/names/idToNameMap.js +130 -0
- package/dist/lib/epl/names/libNameProvider.d.ts +15 -0
- package/dist/lib/epl/names/libNameProvider.js +18 -0
- package/dist/lib/epl/program.d.ts +120 -0
- package/dist/lib/epl/program.js +134 -0
- package/dist/lib/epl/projectFileReader.d.ts +23 -0
- package/dist/lib/epl/projectFileReader.js +65 -0
- package/dist/lib/epl/sections/code.d.ts +20 -0
- package/dist/lib/epl/sections/esystemInfo.d.ts +14 -0
- package/dist/lib/epl/sections/losable.d.ts +11 -0
- package/dist/lib/epl/sections/projectConfig.d.ts +23 -0
- package/dist/lib/epl/sections/resource.d.ts +57 -0
- package/dist/lib/fb2.d.ts +14 -0
- package/dist/lib/fb2.js +62 -0
- package/dist/lib/fileType.d.ts +315 -0
- package/dist/lib/fileType.js +800 -0
- package/dist/lib/fonts.d.ts +8 -0
- package/dist/lib/fonts.js +4 -0
- package/dist/lib/format.d.ts +16 -0
- package/dist/lib/format.js +38 -0
- package/dist/lib/frontmatter.d.ts +13 -0
- package/dist/lib/frontmatter.js +23 -0
- package/dist/lib/geo.d.ts +30 -0
- package/dist/lib/geo.js +235 -0
- package/dist/lib/har.d.ts +171 -0
- package/dist/lib/har.js +397 -0
- package/dist/lib/highlight.d.ts +18 -0
- package/dist/lib/highlight.js +34 -0
- package/dist/lib/highlightLangs.d.ts +15 -0
- package/dist/lib/highlightLangs.js +93 -0
- package/dist/lib/hprof.d.ts +211 -0
- package/dist/lib/hprof.js +709 -0
- package/dist/lib/ipynb.d.ts +48 -0
- package/dist/lib/ipynb.js +130 -0
- package/dist/lib/jks.d.ts +86 -0
- package/dist/lib/jks.js +167 -0
- package/dist/lib/jsonl.d.ts +29 -0
- package/dist/lib/jsonl.js +24 -0
- package/dist/lib/lrc.d.ts +32 -0
- package/dist/lib/lrc.js +84 -0
- package/dist/lib/lzma.d.ts +70 -0
- package/dist/lib/lzma.js +204 -0
- package/dist/lib/markdown/blocks.d.ts +9 -0
- package/dist/lib/markdown/blocks.js +221 -0
- package/dist/lib/markdown/index.d.ts +3 -0
- package/dist/lib/markdown/inline.d.ts +33 -0
- package/dist/lib/markdown/inline.js +84 -0
- package/dist/lib/markdown/math.d.ts +5 -0
- package/dist/lib/markdown/math.js +25 -0
- package/dist/lib/markdown/segmentize.d.ts +11 -0
- package/dist/lib/markdown/segmentize.js +28 -0
- package/dist/lib/markdown/styles.d.ts +26 -0
- package/dist/lib/markdown/styles.js +135 -0
- package/dist/lib/mht.d.ts +51 -0
- package/dist/lib/mht.js +122 -0
- package/dist/lib/midi.d.ts +28 -0
- package/dist/lib/midi.js +84 -0
- package/dist/lib/mime.d.ts +82 -0
- package/dist/lib/mime.js +151 -0
- package/dist/lib/mindmap.d.ts +51 -0
- package/dist/lib/mindmap.js +113 -0
- package/dist/lib/mobi.d.ts +15 -0
- package/dist/lib/mobi.js +68 -0
- package/dist/lib/msi.d.ts +50 -0
- package/dist/lib/msi.js +332 -0
- package/dist/lib/optionalDep.d.ts +26 -0
- package/dist/lib/optionalDep.js +20 -0
- package/dist/lib/pkcs12.d.ts +56 -0
- package/dist/lib/pkcs12.js +356 -0
- package/dist/lib/qmc.d.ts +50 -0
- package/dist/lib/qmc.js +213 -0
- package/dist/lib/rar.d.ts +16 -0
- package/dist/lib/rar.js +40 -0
- package/dist/lib/rawPreview.d.ts +12 -0
- package/dist/lib/rawPreview.js +54 -0
- package/dist/lib/rc2.d.ts +12 -0
- package/dist/lib/rc2.js +298 -0
- package/dist/lib/resolveInput.d.ts +22 -0
- package/dist/lib/resolveInput.js +55 -0
- package/dist/lib/rtf.d.ts +53 -0
- package/dist/lib/rtf.js +413 -0
- package/dist/lib/sevenZip.d.ts +82 -0
- package/dist/lib/sevenZip.js +395 -0
- package/dist/lib/sha1.d.ts +24 -0
- package/dist/lib/sha1.js +53 -0
- package/dist/lib/sha256.d.ts +21 -0
- package/dist/lib/sha256.js +119 -0
- package/dist/lib/speechAudio.d.ts +36 -0
- package/dist/lib/speechAudio.js +85 -0
- package/dist/lib/sqlite.d.ts +38 -0
- package/dist/lib/sqlite.js +104 -0
- package/dist/lib/subtitle.d.ts +26 -0
- package/dist/lib/subtitle.js +99 -0
- package/dist/lib/tarball.d.ts +20 -0
- package/dist/lib/tarball.js +248 -0
- package/dist/lib/viewerFormats.d.ts +35 -0
- package/dist/lib/viewerFormats.js +83 -0
- package/dist/lib/viewerKind.d.ts +36 -0
- package/dist/lib/viewerKind.js +233 -0
- package/dist/lib/x509.d.ts +68 -0
- package/dist/lib/x509.js +267 -0
- package/dist/lib/xlsx.d.ts +55 -0
- package/dist/lib/xlsx.js +321 -0
- package/dist/lib/xlsxCharts.d.ts +34 -0
- package/dist/lib/xlsxCharts.js +152 -0
- package/dist/lib/xmind.d.ts +6 -0
- package/dist/lib/xmind.js +124 -0
- package/dist/lib/zip.d.ts +56 -0
- package/dist/lib/zip.js +169 -0
- package/dist/style.css +2 -0
- package/dist/types.d.ts +42 -0
- package/package.json +128 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Public entry for the e-language (易语言) `.e`/`.ec` reader — the only module the UI imports.
|
|
3
|
+
*
|
|
4
|
+
* {@link decompileEpl} turns the raw bytes into a preview: project metadata + a structured {@link EplProgram}
|
|
5
|
+
* (classes / methods / variables / structs / DLL declares / constants / forms / libraries, with method bodies
|
|
6
|
+
* reconstructed by the code-data decompiler) that the IDE-style viewer renders directly. Throws
|
|
7
|
+
* {@link EplEncryptedError} for encrypted files and {@link NotEplFileError} when the bytes aren't a project
|
|
8
|
+
* file — the viewer turns those into friendly messages.
|
|
9
|
+
*/
|
|
10
|
+
import { loadEpl, type EplDocument, EplEncryptedError, NotEplFileError } from './eplDocument';
|
|
11
|
+
import { type EplProgram } from './program';
|
|
12
|
+
export interface EplLibrary {
|
|
13
|
+
name: string;
|
|
14
|
+
fileName: string;
|
|
15
|
+
version: string;
|
|
16
|
+
}
|
|
17
|
+
export interface EplProjectInfo {
|
|
18
|
+
name: string;
|
|
19
|
+
description: string;
|
|
20
|
+
author: string;
|
|
21
|
+
version: string;
|
|
22
|
+
copyright: string;
|
|
23
|
+
email: string;
|
|
24
|
+
homepage: string;
|
|
25
|
+
}
|
|
26
|
+
export interface EplMeta {
|
|
27
|
+
/** 1=源码(.e), 3=模块(.ec). */
|
|
28
|
+
fileType: 'source' | 'module' | 'unknown';
|
|
29
|
+
/** The e-language IDE version that wrote the file, e.g. `5.71`. */
|
|
30
|
+
systemVersion: string;
|
|
31
|
+
project: EplProjectInfo | null;
|
|
32
|
+
libraries: EplLibrary[];
|
|
33
|
+
counts: {
|
|
34
|
+
classes: number;
|
|
35
|
+
methods: number;
|
|
36
|
+
globalVariables: number;
|
|
37
|
+
structs: number;
|
|
38
|
+
dllDeclares: number;
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export interface EplPreview {
|
|
42
|
+
meta: EplMeta;
|
|
43
|
+
/** Structured program model (classes / tables) rendered by the IDE-style viewer. */
|
|
44
|
+
program: EplProgram;
|
|
45
|
+
}
|
|
46
|
+
/** Parse + decompile a `.e`/`.ec` byte buffer into a preview (metadata + structured program model). */
|
|
47
|
+
export declare function decompileEpl(bytes: Uint8Array): EplPreview;
|
|
48
|
+
export { loadEpl, EplEncryptedError, NotEplFileError };
|
|
49
|
+
export type { EplDocument, EplProgram };
|
|
50
|
+
export type { EplClassView, EplClassKind, EplMethodView, EplVarRow, EplStructView, EplDllView, EplConstantRow, EplResourceRow, EplFormView, EplLibraryView, } from './program';
|
|
51
|
+
export type { CodeLine, GuideSeg } from './code/codeLines';
|
|
52
|
+
export { parseEplImageList } from './imageList';
|
|
53
|
+
export type { EplImageList, EplImageFrame } from './imageList';
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import "./projectFileReader.js";
|
|
2
|
+
import { loadEpl as e } from "./eplDocument.js";
|
|
3
|
+
import { buildProgram as t } from "./program.js";
|
|
4
|
+
import "./imageList.js";
|
|
5
|
+
//#region src/lib/epl/index.ts
|
|
6
|
+
function n(e) {
|
|
7
|
+
return e.join(".");
|
|
8
|
+
}
|
|
9
|
+
function r(e) {
|
|
10
|
+
let t = e.systemInfo, r = e.projectConfig, i = e.code;
|
|
11
|
+
return {
|
|
12
|
+
fileType: t?.fileType === 1 ? "source" : t?.fileType === 3 ? "module" : "unknown",
|
|
13
|
+
systemVersion: t ? n(t.esystemVersion) : "",
|
|
14
|
+
project: r ? {
|
|
15
|
+
name: r.name,
|
|
16
|
+
description: r.description,
|
|
17
|
+
author: r.author,
|
|
18
|
+
version: n(r.version),
|
|
19
|
+
copyright: r.copyright,
|
|
20
|
+
email: r.email,
|
|
21
|
+
homepage: r.homepage
|
|
22
|
+
} : null,
|
|
23
|
+
libraries: (i?.libraries ?? []).map((e) => ({
|
|
24
|
+
name: e.name,
|
|
25
|
+
fileName: e.fileName,
|
|
26
|
+
version: n(e.version)
|
|
27
|
+
})),
|
|
28
|
+
counts: {
|
|
29
|
+
classes: i?.classes.length ?? 0,
|
|
30
|
+
methods: i?.methods.length ?? 0,
|
|
31
|
+
globalVariables: i?.globalVariables.length ?? 0,
|
|
32
|
+
structs: i?.structs.length ?? 0,
|
|
33
|
+
dllDeclares: i?.dllDeclares.length ?? 0
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function i(n) {
|
|
38
|
+
let i = e(n);
|
|
39
|
+
return {
|
|
40
|
+
meta: r(i),
|
|
41
|
+
program: t(i)
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
//#endregion
|
|
45
|
+
export { i as decompileEpl };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export declare class BinaryReader {
|
|
2
|
+
readonly bytes: Uint8Array;
|
|
3
|
+
private readonly view;
|
|
4
|
+
/** Cursor in bytes. Mutable: {@link readBlocksWithIdAndOffest} seeks via per-block offsets. */
|
|
5
|
+
pos: number;
|
|
6
|
+
/** Active decoder for string reads — defaults to GBK; the document swaps it per the system-info section. */
|
|
7
|
+
dec: TextDecoder;
|
|
8
|
+
constructor(bytes: Uint8Array, dec?: TextDecoder, pos?: number);
|
|
9
|
+
get length(): number;
|
|
10
|
+
get eof(): boolean;
|
|
11
|
+
readInt32(): number;
|
|
12
|
+
readUInt32(): number;
|
|
13
|
+
readInt16(): number;
|
|
14
|
+
readUInt16(): number;
|
|
15
|
+
/** 64-bit little-endian IEEE-754 double (used by code-data number / date-time literals). */
|
|
16
|
+
readFloat64(): number;
|
|
17
|
+
readByte(): number;
|
|
18
|
+
/** Read `n` bytes as a fresh copy (C# ReadBytes returns a new array — callers may keep it). */
|
|
19
|
+
readBytes(n: number): Uint8Array;
|
|
20
|
+
skip(n: number): void;
|
|
21
|
+
/** Read `length` bytes, truncate at the first NUL, then decode (C# ReadStringWithFixedLength). */
|
|
22
|
+
readStringWithFixedLength(length: number, dec?: TextDecoder): string;
|
|
23
|
+
/** int32 length prefix, then a fixed-length string of that many bytes. */
|
|
24
|
+
readStringWithLengthPrefix(dec?: TextDecoder): string;
|
|
25
|
+
/**
|
|
26
|
+
* BStr: int32 length prefix INCLUDING the trailing NUL. length 0 ⇒ null; otherwise decode (length-1) bytes
|
|
27
|
+
* and consume the NUL. (C# ReadBStr.)
|
|
28
|
+
*/
|
|
29
|
+
readBStr(dec?: TextDecoder): string | null;
|
|
30
|
+
/** NUL-terminated string (does not depend on a length prefix). */
|
|
31
|
+
readCStyleString(dec?: TextDecoder): string;
|
|
32
|
+
readBytesWithLengthPrefix(): Uint8Array;
|
|
33
|
+
/** MFC CString-style count: a uint16, or, when 0xFFFF, a following int32 (C# ReadMfcStyleCountPrefix). */
|
|
34
|
+
readMfcStyleCountPrefix(): number;
|
|
35
|
+
readStringsWithMfcStyleCountPrefix(dec?: TextDecoder): string[];
|
|
36
|
+
readInt32sWithFixedLength(count: number): number[];
|
|
37
|
+
readInt32sWithLengthPrefix(): number[];
|
|
38
|
+
/** int32 BYTE-size prefix (divided by 4 to get the element count). */
|
|
39
|
+
readInt32sWithByteSizePrefix(): number[];
|
|
40
|
+
readInt16sWithFixedLength(count: number): number[];
|
|
41
|
+
readInt16sWithLengthPrefix(): number[];
|
|
42
|
+
/** int32 BYTE-size prefix (divided by 2 to get the element count). */
|
|
43
|
+
readInt16sWithByteSizePrefix(): number[];
|
|
44
|
+
/**
|
|
45
|
+
* Block table addressed by per-element OFFSET (C# ReadBlocksWithIdAndOffest):
|
|
46
|
+
* int32 count, int32 size, int32[count] ids, int32[count] offsets, then each block at
|
|
47
|
+
* (start + offset) prefixed by its own int32 length. The cursor lands at start+size afterwards.
|
|
48
|
+
*/
|
|
49
|
+
readBlocksWithIdAndOffest<T>(readFn: (r: BinaryReader, id: number, length: number) => T): T[];
|
|
50
|
+
/**
|
|
51
|
+
* Block table addressed by in-line MEMORY ADDRESS (C# ReadBlocksWithIdAndMemoryAddress):
|
|
52
|
+
* int32 headerSize, count = headerSize/8, int32[count] ids, int32[count] memoryAddresses, then each
|
|
53
|
+
* block read sequentially. Unlike the offset variant there is no per-block length / seeking.
|
|
54
|
+
*/
|
|
55
|
+
readBlocksWithIdAndMemoryAddress<T>(readFn: (r: BinaryReader, id: number, memoryAddress: number) => T): T[];
|
|
56
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { gbk as e } from "./encoding.js";
|
|
2
|
+
//#region src/lib/epl/io/binaryReader.ts
|
|
3
|
+
var t = class {
|
|
4
|
+
bytes;
|
|
5
|
+
view;
|
|
6
|
+
pos;
|
|
7
|
+
dec;
|
|
8
|
+
constructor(t, n = e(), r = 0) {
|
|
9
|
+
this.bytes = t, this.view = new DataView(t.buffer, t.byteOffset, t.byteLength), this.pos = r, this.dec = n;
|
|
10
|
+
}
|
|
11
|
+
get length() {
|
|
12
|
+
return this.bytes.length;
|
|
13
|
+
}
|
|
14
|
+
get eof() {
|
|
15
|
+
return this.pos >= this.bytes.length;
|
|
16
|
+
}
|
|
17
|
+
readInt32() {
|
|
18
|
+
let e = this.view.getInt32(this.pos, !0);
|
|
19
|
+
return this.pos += 4, e;
|
|
20
|
+
}
|
|
21
|
+
readUInt32() {
|
|
22
|
+
let e = this.view.getUint32(this.pos, !0);
|
|
23
|
+
return this.pos += 4, e;
|
|
24
|
+
}
|
|
25
|
+
readInt16() {
|
|
26
|
+
let e = this.view.getInt16(this.pos, !0);
|
|
27
|
+
return this.pos += 2, e;
|
|
28
|
+
}
|
|
29
|
+
readUInt16() {
|
|
30
|
+
let e = this.view.getUint16(this.pos, !0);
|
|
31
|
+
return this.pos += 2, e;
|
|
32
|
+
}
|
|
33
|
+
readFloat64() {
|
|
34
|
+
let e = this.view.getFloat64(this.pos, !0);
|
|
35
|
+
return this.pos += 8, e;
|
|
36
|
+
}
|
|
37
|
+
readByte() {
|
|
38
|
+
return this.bytes[this.pos++];
|
|
39
|
+
}
|
|
40
|
+
readBytes(e) {
|
|
41
|
+
let t = this.bytes.slice(this.pos, this.pos + e);
|
|
42
|
+
return this.pos += e, t;
|
|
43
|
+
}
|
|
44
|
+
skip(e) {
|
|
45
|
+
this.pos += e;
|
|
46
|
+
}
|
|
47
|
+
readStringWithFixedLength(e, t = this.dec) {
|
|
48
|
+
let n = this.pos;
|
|
49
|
+
this.pos += e;
|
|
50
|
+
let r = n, i = n + e;
|
|
51
|
+
for (; r < i && this.bytes[r] !== 0;) r++;
|
|
52
|
+
return t.decode(this.bytes.subarray(n, r));
|
|
53
|
+
}
|
|
54
|
+
readStringWithLengthPrefix(e = this.dec) {
|
|
55
|
+
return this.readStringWithFixedLength(this.readInt32(), e);
|
|
56
|
+
}
|
|
57
|
+
readBStr(e = this.dec) {
|
|
58
|
+
let t = this.readInt32();
|
|
59
|
+
if (t === 0) return null;
|
|
60
|
+
let n = e.decode(this.readBytes(t - 1));
|
|
61
|
+
return this.readByte(), n;
|
|
62
|
+
}
|
|
63
|
+
readCStyleString(e = this.dec) {
|
|
64
|
+
let t = this.pos;
|
|
65
|
+
for (; this.pos < this.bytes.length && this.bytes[this.pos] !== 0;) this.pos++;
|
|
66
|
+
let n = e.decode(this.bytes.subarray(t, this.pos));
|
|
67
|
+
return this.pos < this.bytes.length && this.pos++, n;
|
|
68
|
+
}
|
|
69
|
+
readBytesWithLengthPrefix() {
|
|
70
|
+
return this.readBytes(this.readInt32());
|
|
71
|
+
}
|
|
72
|
+
readMfcStyleCountPrefix() {
|
|
73
|
+
let e = this.readUInt16();
|
|
74
|
+
return e === 65535 ? this.readInt32() : e;
|
|
75
|
+
}
|
|
76
|
+
readStringsWithMfcStyleCountPrefix(e = this.dec) {
|
|
77
|
+
let t = this.readMfcStyleCountPrefix(), n = [];
|
|
78
|
+
for (let r = 0; r < t; r++) n.push(this.readStringWithLengthPrefix(e));
|
|
79
|
+
return n;
|
|
80
|
+
}
|
|
81
|
+
readInt32sWithFixedLength(e) {
|
|
82
|
+
let t = [];
|
|
83
|
+
for (let n = 0; n < e; n++) t.push(this.readInt32());
|
|
84
|
+
return t;
|
|
85
|
+
}
|
|
86
|
+
readInt32sWithLengthPrefix() {
|
|
87
|
+
return this.readInt32sWithFixedLength(this.readInt32());
|
|
88
|
+
}
|
|
89
|
+
readInt32sWithByteSizePrefix() {
|
|
90
|
+
return this.readInt32sWithFixedLength(Math.trunc(this.readInt32() / 4));
|
|
91
|
+
}
|
|
92
|
+
readInt16sWithFixedLength(e) {
|
|
93
|
+
let t = [];
|
|
94
|
+
for (let n = 0; n < e; n++) t.push(this.readInt16());
|
|
95
|
+
return t;
|
|
96
|
+
}
|
|
97
|
+
readInt16sWithLengthPrefix() {
|
|
98
|
+
return this.readInt16sWithFixedLength(this.readInt32());
|
|
99
|
+
}
|
|
100
|
+
readInt16sWithByteSizePrefix() {
|
|
101
|
+
return this.readInt16sWithFixedLength(Math.trunc(this.readInt32() / 2));
|
|
102
|
+
}
|
|
103
|
+
readBlocksWithIdAndOffest(e) {
|
|
104
|
+
let t = this.readInt32(), n = this.readInt32(), r = this.pos + n, i = this.readInt32sWithFixedLength(t), a = this.readInt32sWithFixedLength(t), o = this.pos, s = [];
|
|
105
|
+
for (let n = 0; n < t; n++) {
|
|
106
|
+
this.pos = o + a[n];
|
|
107
|
+
let t = this.readInt32();
|
|
108
|
+
s.push(e(this, i[n], t));
|
|
109
|
+
}
|
|
110
|
+
return this.pos = r, s;
|
|
111
|
+
}
|
|
112
|
+
readBlocksWithIdAndMemoryAddress(e) {
|
|
113
|
+
let t = this.readInt32(), n = Math.trunc(t / 8), r = this.readInt32sWithFixedLength(n), i = this.readInt32sWithFixedLength(n), a = [];
|
|
114
|
+
for (let t = 0; t < n; t++) a.push(e(this, r[t], i[t]));
|
|
115
|
+
return a;
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
//#endregion
|
|
119
|
+
export { t as BinaryReader };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Text decoders for the e-language (易语言) project parser.
|
|
3
|
+
*
|
|
4
|
+
* The whole `.e`/`.ec` format defaults to GBK (codepage 936). The system-info section may select another
|
|
5
|
+
* codepage via its `Language` field (see {@link decoderForLanguage}); section parsing then uses that decoder
|
|
6
|
+
* (falling back to GBK). We only ever DECODE (read) — never encode — so the native `TextDecoder` covers it.
|
|
7
|
+
*/
|
|
8
|
+
/** A cached non-fatal {@link TextDecoder} for a WHATWG label, falling back to GBK for unknown labels. */
|
|
9
|
+
export declare function decoderFor(label: string): TextDecoder;
|
|
10
|
+
/** The default GBK decoder (codepage 936) used for段名 and most string fields. */
|
|
11
|
+
export declare function gbk(): TextDecoder;
|
|
12
|
+
/**
|
|
13
|
+
* Decoder for ESystemInfoSection.Language: 1=中文(GBK), 2=英语(ASCII), 3=中文(BIG5), 4=日文(SJIS).
|
|
14
|
+
* ASCII is served by windows-1252 (a superset that decodes 0x00–0x7F identically); anything else → GBK.
|
|
15
|
+
*/
|
|
16
|
+
export declare function decoderForLanguage(lang: number): TextDecoder;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/lib/epl/io/encoding.ts
|
|
2
|
+
var e = /* @__PURE__ */ new Map();
|
|
3
|
+
function t(t) {
|
|
4
|
+
let n = e.get(t);
|
|
5
|
+
if (!n) {
|
|
6
|
+
try {
|
|
7
|
+
n = new TextDecoder(t);
|
|
8
|
+
} catch {
|
|
9
|
+
n = new TextDecoder("gbk");
|
|
10
|
+
}
|
|
11
|
+
e.set(t, n);
|
|
12
|
+
}
|
|
13
|
+
return n;
|
|
14
|
+
}
|
|
15
|
+
function n() {
|
|
16
|
+
return t("gbk");
|
|
17
|
+
}
|
|
18
|
+
function r(e) {
|
|
19
|
+
switch (e) {
|
|
20
|
+
case 2: return t("windows-1252");
|
|
21
|
+
case 3: return t("big5");
|
|
22
|
+
case 4: return t("shift_jis");
|
|
23
|
+
default: return t("gbk");
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//#endregion
|
|
27
|
+
export { r as decoderForLanguage, n as gbk };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* E-language system Id constants + helpers — port of `EplSystemId.cs`.
|
|
3
|
+
*
|
|
4
|
+
* Every reference in a `.e` project (variable, method, constant, class, form control, …) is a 32-bit Id:
|
|
5
|
+
* high 8 bits = TYPE (see `TYPE_*`), low 24 bits = number. Built-in data types use a separate `DATATYPE_*`
|
|
6
|
+
* space. All bit ops below run on int32 in JS exactly as C# `int` does, so the masks/shifts port verbatim.
|
|
7
|
+
*
|
|
8
|
+
* Note: `readInt32()` yields SIGNED int32, so the `DATATYPE_*` constants (high bit set) are written as
|
|
9
|
+
* `0x8000xxxx | 0` to land on the same negative int32 the file holds — letting `===` comparisons work.
|
|
10
|
+
*/
|
|
11
|
+
export declare const MASK_TYPE: number;
|
|
12
|
+
export declare const MASK_NUM = 16777215;
|
|
13
|
+
export declare const TYPE_METHOD = 67108864;
|
|
14
|
+
export declare const TYPE_GLOBAL = 83886080;
|
|
15
|
+
/** 普通程序集(非窗口程序集、类模块) */
|
|
16
|
+
export declare const TYPE_STATIC_CLASS = 150994944;
|
|
17
|
+
export declare const TYPE_DLL = 167772160;
|
|
18
|
+
/** 程序集变量 或 类模块成员 */
|
|
19
|
+
export declare const TYPE_CLASS_MEMBER = 352321536;
|
|
20
|
+
export declare const TYPE_CONSTANT = 402653184;
|
|
21
|
+
/** 窗口程序集 */
|
|
22
|
+
export declare const TYPE_FORM_CLASS = 419430400;
|
|
23
|
+
/** 局部变量 或 子程序参数(非 DLL 命令) */
|
|
24
|
+
export declare const TYPE_LOCAL = 620756992;
|
|
25
|
+
export declare const TYPE_IMAGE_RESOURCE = 671088640;
|
|
26
|
+
export declare const TYPE_STRUCT_MEMBER = 889192448;
|
|
27
|
+
export declare const TYPE_SOUND_RESOURCE = 939524096;
|
|
28
|
+
export declare const TYPE_STRUCT = 1090519040;
|
|
29
|
+
export declare const TYPE_DLL_PARAMETER = 1157627904;
|
|
30
|
+
export declare const TYPE_CLASS = 1224736768;
|
|
31
|
+
export declare const TYPE_FORM = 1375731712;
|
|
32
|
+
export declare const TYPE_FORM_SELF = 100663296;
|
|
33
|
+
export declare const TYPE_FORM_CONTROL = 369098752;
|
|
34
|
+
export declare const TYPE_FORM_MENU = 637534208;
|
|
35
|
+
/** Not-a-Variable sentinel (used by AccessArray/AccessMember expressions). */
|
|
36
|
+
export declare const ID_NAV = 83951614;
|
|
37
|
+
/** 无类型(如某子程序无返回值) */
|
|
38
|
+
export declare const DATATYPE_VOID = 0;
|
|
39
|
+
/** 通用型 */
|
|
40
|
+
export declare const DATATYPE_ANY: number;
|
|
41
|
+
export declare const DATATYPE_BYTE: number;
|
|
42
|
+
export declare const DATATYPE_SHORT: number;
|
|
43
|
+
export declare const DATATYPE_INT: number;
|
|
44
|
+
export declare const DATATYPE_LONG: number;
|
|
45
|
+
export declare const DATATYPE_FLOAT: number;
|
|
46
|
+
export declare const DATATYPE_DOUBLE: number;
|
|
47
|
+
export declare const DATATYPE_BOOL: number;
|
|
48
|
+
export declare const DATATYPE_DATETIME: number;
|
|
49
|
+
export declare const DATATYPE_STRING: number;
|
|
50
|
+
export declare const DATATYPE_BIN: number;
|
|
51
|
+
export declare const DATATYPE_METHODPTR: number;
|
|
52
|
+
/** 条件语句型(SDT_STATMENT),通常只用于支持库命令的参数 */
|
|
53
|
+
export declare const DATATYPE_LAMBDA: number;
|
|
54
|
+
/** Type part of a user-defined Id (`id & 0xFF000000`). */
|
|
55
|
+
export declare function getType(id: number): number;
|
|
56
|
+
/** Is this a library-defined data type Id (high byte 0, and not Void)? */
|
|
57
|
+
export declare function isLibDataType(id: number): boolean;
|
|
58
|
+
/** Compose a library data-type Id from 0-based lib + type indices. */
|
|
59
|
+
export declare function makeLibDataTypeId(lib: number, type: number): number;
|
|
60
|
+
/** Decompose a library data-type Id back to 0-based lib + type indices (C# uses sign-extended shorts). */
|
|
61
|
+
export declare function decomposeLibDataTypeId(id: number): {
|
|
62
|
+
lib: number;
|
|
63
|
+
type: number;
|
|
64
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/lib/epl/model/eplSystemId.ts
|
|
2
|
+
var e = 16777215, t = 67108864, n = 83886080, r = 150994944, i = 167772160, a = 352321536, o = 402653184, s = 419430400, c = 620756992, l = 671088640, u = 889192448, d = 939524096, f = 1090519040, p = 1157627904, m = 1224736768, h = 1375731712, g = 100663296, _ = 369098752, v = 637534208, y = 83951614, b = -2147483648, x = -2147483391, S = -2147483135, C = -2147482879, w = -2147482623, T = -2147482367, E = -2147482111, D = -2147483646, O = -2147483645, k = -2147483644, A = -2147483643, j = -2147483642, M = -2147483640;
|
|
3
|
+
function N(e) {
|
|
4
|
+
return e & 4278190080;
|
|
5
|
+
}
|
|
6
|
+
function P(e) {
|
|
7
|
+
return (e & 4278190080) == 0 && e !== 0;
|
|
8
|
+
}
|
|
9
|
+
function F(e) {
|
|
10
|
+
return {
|
|
11
|
+
lib: (e >> 16 << 16 >> 16) - 1,
|
|
12
|
+
type: (e << 16 >> 16) - 1
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
//#endregion
|
|
16
|
+
export { b as DATATYPE_ANY, A as DATATYPE_BIN, D as DATATYPE_BOOL, x as DATATYPE_BYTE, O as DATATYPE_DATETIME, E as DATATYPE_DOUBLE, T as DATATYPE_FLOAT, C as DATATYPE_INT, M as DATATYPE_LAMBDA, w as DATATYPE_LONG, j as DATATYPE_METHODPTR, S as DATATYPE_SHORT, k as DATATYPE_STRING, y as ID_NAV, e as MASK_NUM, m as TYPE_CLASS, a as TYPE_CLASS_MEMBER, o as TYPE_CONSTANT, i as TYPE_DLL, p as TYPE_DLL_PARAMETER, h as TYPE_FORM, s as TYPE_FORM_CLASS, _ as TYPE_FORM_CONTROL, v as TYPE_FORM_MENU, g as TYPE_FORM_SELF, n as TYPE_GLOBAL, l as TYPE_IMAGE_RESOURCE, c as TYPE_LOCAL, t as TYPE_METHOD, d as TYPE_SOUND_RESOURCE, r as TYPE_STATIC_CLASS, f as TYPE_STRUCT, u as TYPE_STRUCT_MEMBER, F as decomposeLibDataTypeId, N as getType, P as isLibDataType };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Section framework types — the TS shape of EProjectFile's `ISection` / `RawSectionInfo` / `BlockParserContext`.
|
|
3
|
+
*
|
|
4
|
+
* A `.e`/`.ec` file is a sequence of sections. The reader ({@link ProjectFileReader}) splits the file into
|
|
5
|
+
* {@link RawSection}s (key + name + optional flag + raw data bytes); the document loader then turns each raw
|
|
6
|
+
* section into a parsed object via the {@link SectionType} registered for its key, or a {@link GeneralSection}
|
|
7
|
+
* (raw bytes kept verbatim) when the key is unknown. Every parsed section shares {@link SectionBase}; the
|
|
8
|
+
* `kind` field discriminates the union the UI consumes.
|
|
9
|
+
*/
|
|
10
|
+
/** Common header carried by every parsed section. `kind` discriminates the section union. */
|
|
11
|
+
export interface SectionBase {
|
|
12
|
+
/** Discriminant for the section union (e.g. 'systemInfo', 'projectConfig', 'code', 'general'). */
|
|
13
|
+
kind: string;
|
|
14
|
+
/** The section's identifying key (e.g. 0x03007319 for the code section). */
|
|
15
|
+
sectionKey: number;
|
|
16
|
+
/** Human-readable section name (decoded from the 30-byte XOR'd header field). */
|
|
17
|
+
sectionName: string;
|
|
18
|
+
/** Whether a too-old e-language could skip this section (重要段为 false). */
|
|
19
|
+
isOptional: boolean;
|
|
20
|
+
}
|
|
21
|
+
/** A raw, unparsed section straight from the file: key, decoded name, optional flag, and the data body bytes. */
|
|
22
|
+
export interface RawSection {
|
|
23
|
+
key: number;
|
|
24
|
+
name: string;
|
|
25
|
+
isOptional: boolean;
|
|
26
|
+
data: Uint8Array;
|
|
27
|
+
}
|
|
28
|
+
/** Context handed to a section parser: the active text decoder + whether the document is EC-encrypted. */
|
|
29
|
+
export interface ParserContext {
|
|
30
|
+
/** Active text decoder (codepage chosen by the system-info section; GBK by default). */
|
|
31
|
+
dec: TextDecoder;
|
|
32
|
+
/** EC encryption changes the layout of a few sections (e.g. the code section's field order). */
|
|
33
|
+
cryptEC: boolean;
|
|
34
|
+
}
|
|
35
|
+
/** A registered section type: its key/name/optional metadata plus a parser over the section's data bytes. */
|
|
36
|
+
export interface SectionType<T extends SectionBase = SectionBase> {
|
|
37
|
+
key: number;
|
|
38
|
+
name: string;
|
|
39
|
+
isOptional: boolean;
|
|
40
|
+
parse(data: Uint8Array, ctx: ParserContext): T;
|
|
41
|
+
}
|
|
42
|
+
/** Fallback for an unknown/unparsed section key — the raw bytes are kept verbatim (no interpretation). */
|
|
43
|
+
export interface GeneralSection extends SectionBase {
|
|
44
|
+
kind: 'general';
|
|
45
|
+
data: Uint8Array;
|
|
46
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
var e = {
|
|
2
|
+
krnln: /* @__PURE__ */ JSON.parse("{\"name\":\"系统核心支持库\",\"cmds\":[\"如果\",\"如果真\",\"判断\",\"判断循环首\",\"判断循环尾\",\"循环判断首\",\"循环判断尾\",\"计次循环首\",\"计次循环尾\",\"变量循环首\",\"变量循环尾\",\"到循环尾\",\"跳出循环\",\"返回\",\"结束\",\"相乘\",\"相除\",\"整除\",\"求余数\",\"相加\",\"相减\",\"负\",\"取符号\",\"取绝对值\",\"取整\",\"绝对取整\",\"四舍五入\",\"求次方\",\"求平方根\",\"求正弦\",\"求余弦\",\"求正切\",\"求反正切\",\"求自然对数\",\"求反对数\",\"是否运算正确\",\"置随机数种子\",\"取随机数\",\"等于\",\"不等于\",\"小于\",\"大于\",\"小于或等于\",\"大于或等于\",\"近似等于\",\"并且\",\"或者\",\"取反\",\"位取反\",\"位与\",\"位或\",\"位异或\",\"赋值\",\"连续赋值\",\"参考\",\"重定义数组\",\"取数组成员数\",\"取数组下标\",\"复制数组\",\"加入成员\",\"插入成员\",\"删除成员\",\"清除数组\",\"数组排序\",\"取命令行\",\"取运行目录\",\"取执行文件名\",\"读环境变量\",\"写环境变量\",\"取所有发音\",\"取发音数目\",\"取拼音\",\"取声母\",\"取韵母\",\"发音比较\",\"输入字比较\",\"取文本长度\",\"取文本左边\",\"取文本右边\",\"取文本中间\",\"字符\",\"取代码\",\"寻找文本\",\"倒找文本\",\"到大写\",\"到小写\",\"到全角\",\"到半角\",\"到时间\",\"到数值\",\"到文本\",\"删首空\",\"删尾空\",\"删首尾空\",\"删全部空\",\"文本替换\",\"子文本替换\",\"取空白文本\",\"取重复文本\",\"文本比较\",\"分割文本\",\"取字节集长度\",\"到字节集\",\"取字节集数据\",\"取字节集左边\",\"取字节集右边\",\"取字节集中间\",\"寻找字节集\",\"倒找字节集\",\"字节集替换\",\"子字节集替换\",\"取空白字节集\",\"取重复字节集\",\"分割字节集\",\"数值到大写\",\"数值到金额\",\"数值到格式文本\",\"取十六进制文本\",\"取八进制文本\",\"增减时间\",\"取时间间隔\",\"取某月天数\",\"时间到文本\",\"取时间部分\",\"取年份\",\"取月份\",\"取日\",\"取星期几\",\"取小时\",\"取分钟\",\"取秒\",\"指定时间\",\"取现行时间\",\"置现行时间\",\"取磁盘总空间\",\"取磁盘剩余空间\",\"取磁盘卷标\",\"置磁盘卷标\",\"改变驱动器\",\"改变目录\",\"取当前目录\",\"创建目录\",\"删除目录\",\"复制文件\",\"移动文件\",\"删除文件\",\"文件更名\",\"文件是否存在\",\"寻找文件\",\"取文件时间\",\"取文件尺寸\",\"取文件属性\",\"置文件属性\",\"取临时文件名\",\"读入文件\",\"写到文件\",\"打开文件\",\"打开内存文件\",\"关闭文件\",\"关闭所有文件\",\"锁住文件\",\"解锁文件\",\"移动读写位置\",\"移到文件首\",\"移到文件尾\",\"读入字节集\",\"写出字节集\",\"读入文本\",\"写出文本\",\"读入一行\",\"写文本行\",\"读入数据\",\"写出数据\",\"是否在文件尾\",\"取读写位置\",\"取文件长度\",\"运行\",\"取剪辑板文本\",\"置剪辑板文本\",\"剪辑板中可有文本\",\"清除剪辑板\",\"取屏幕宽度\",\"取屏幕高度\",\"取鼠标水平位置\",\"取鼠标垂直位置\",\"取颜色数\",\"取文本注册表项\",\"取数值注册表项\",\"取字节集注册表项\",\"写注册表项\",\"删除注册表项\",\"输入框\",\"信息框\",\"鸣叫\",\"取启动时间\",\"播放音乐\",\"停止播放\",\"输出调试文本\",\"暂停\",\"检查\",\"载入\",\"选择\",\"多项选择\",\"是否为空\",\"是否已创建\",\"取数据类型尺寸\",\"取颜色值\",\"取子程序地址\",\"压缩图片\",\"取事件组件\",\"事件转移\",\"复制窗口组件\",\"处理事件\",\"载入图片\",\"卸载图片\",\"取窗口句柄\",\"销毁\",\"获取焦点\",\"可有焦点\",\"取用户区宽度\",\"取用户区高度\",\"禁止重画\",\"允许重画\",\"重画\",\"部分重画\",\"取消重画\",\"刷新显示\",\"移动\",\"调整层次\",\"弹出菜单\",\"取子夹数目\",\"取子夹名称\",\"置子夹名称\",\"打开\",\"取顶端可见项目\",\"置顶端可见项目\",\"取项目数\",\"取项目数值\",\"置项目数值\",\"取项目文本\",\"置项目文本\",\"加入项目\",\"插入项目\",\"删除项目\",\"清空\",\"选择\",\"取顶端可见项目\",\"置顶端可见项目\",\"取项目数\",\"取项目数值\",\"置项目数值\",\"取项目文本\",\"置项目文本\",\"取已选择项目数\",\"取所有被选择项目\",\"是否被选择\",\"选择项目\",\"取焦点项目\",\"置焦点项目\",\"加入项目\",\"插入项目\",\"删除项目\",\"清空\",\"选择\",\"取顶端可见项目\",\"置顶端可见项目\",\"取项目数\",\"取项目数值\",\"置项目数值\",\"取项目文本\",\"置项目文本\",\"加入项目\",\"插入项目\",\"删除项目\",\"清空\",\"选择\",\"是否被选中\",\"选中项目\",\"是否被允许\",\"允许\",\"取设备句柄\",\"清除\",\"取点\",\"画点\",\"画直线\",\"画椭圆\",\"画弧线\",\"画弦\",\"画饼\",\"画矩形\",\"画渐变矩形\",\"填充矩形\",\"画圆角矩形\",\"翻转矩形区\",\"画多边形\",\"置写出位置\",\"写文本行\",\"滚动写行\",\"写出\",\"定位写出\",\"取宽度\",\"取高度\",\"画图片\",\"取图片宽度\",\"取图片高度\",\"复制\",\"取设备句柄\",\"开始打印\",\"结束打印\",\"取消打印\",\"换页\",\"开始下一份\",\"画点\",\"画直线\",\"画椭圆\",\"画弧线\",\"画弦\",\"画饼\",\"画矩形\",\"画渐变矩形\",\"填充矩形\",\"画圆角矩形\",\"画多边形\",\"置写出位置\",\"写文本行\",\"写出\",\"定位写出\",\"取宽度\",\"取高度\",\"画图片\",\"取图片宽度\",\"取图片高度\",\"加入文本\",\"发送信息\",\"投递信息\",\"指针是否有效\",\"是否支持多用户\",\"取错误码\",\"取错误信息\",\"创建\",\"打开\",\"替换打开\",\"置当前库\",\"取当前库\",\"关闭\",\"全部关闭\",\"取库文件名\",\"是否已打开\",\"取记录数\",\"取创建时间\",\"取字段数\",\"取字段名\",\"改字段名\",\"取字段类型\",\"取字段尺寸\",\"新建索引\",\"置当前索引\",\"取当前索引\",\"更新索引\",\"取索引数\",\"取索引名\",\"取索引字段\",\"置加锁重试时间\",\"锁住数据库\",\"解锁数据库\",\"锁住增删\",\"解增删锁\",\"锁住记录\",\"解锁记录\",\"全部解锁\",\"取平均值\",\"求和\",\"取最大值\",\"取最小值\",\"取最大时间\",\"取最小时间\",\"计算数目\",\"复制结构\",\"复制记录\",\"计算排序\",\"排序\",\"分类计算\",\"添加\",\"加记录\",\"加空记录\",\"替换\",\"修改\",\"删除\",\"是否已删除\",\"恢复删除\",\"彻底删除\",\"清空\",\"读\",\"写\",\"读字段\",\"写字段\",\"附加字节集\",\"附加备注\",\"索引查找\",\"查找\",\"到首记录\",\"到尾记录\",\"跳过\",\"取记录号\",\"跳到\",\"取标签\",\"记录是否存在\",\"标签跳转\",\"首记录前\",\"尾记录后\",\"写出缓存\",\"写出所有缓存\",\"编辑\",\"置等待鼠标\",\"恢复鼠标\",\"延时\",\"播放MID\",\"是否为调试版\",\"插入字节集\",\"插入文本\",\"插入文本行\",\"删除数据\",\"取文本注册项\",\"取数值注册项\",\"取字节集注册项\",\"写注册项\",\"删除注册项\",\"注册项是否存在\",\"取标记组件\",\"跳转\",\"置外形图片\",\"播放MP3\",\"激活\",\"取硬盘特征字\",\"取主机名\",\"通信测试\",\"发送数据\",\"取回数据\",\"连接\",\"断开连接\",\"发送数据\",\"取回数据\",\"启动\",\"停止\",\"发送数据\",\"转换为主机名\",\"转换为IP地址\",\"取回客户\",\"发送数据\",\"取回数据\",\"置托盘图标\",\"弹出托盘菜单\",\"断开客户\",\"取默认底色\",\"取图片\",\"快照\",\"到首记录\",\"到尾记录\",\"跳过\",\"跳到\",\"取记录号\",\"取表头行数\",\"置表头行数\",\"取表头列数\",\"置表头列数\",\"取行高\",\"置行高\",\"取列宽\",\"置列宽\",\"取类型\",\"置类型\",\"取文本色\",\"置文本色\",\"取背景色\",\"置背景色\",\"取字体名\",\"置字体名\",\"取字体尺寸\",\"置字体尺寸\",\"取字体属性\",\"置字体属性\",\"取边距\",\"置边距\",\"取文本输入格式\",\"置文本输入格式\",\"取对齐方式\",\"置对齐方式\",\"取密码方式\",\"置密码方式\",\"取文本\",\"置文本\",\"取数据\",\"置数据\",\"合并\",\"分解\",\"是否被合并\",\"加线条\",\"删线条\",\"是否有线条\",\"清除\",\"置初始属性\",\"初始尺寸\",\"取行数\",\"取列数\",\"插入行\",\"添加行\",\"删除行\",\"插入列\",\"删除列\",\"添加\",\"存到字节集\",\"从字节集读\",\"存到文件\",\"从文件读\",\"单元格到字节集\",\"字节集到单元格\",\"单元格到文件\",\"文件到单元格\",\"刷新\",\"保存更改\",\"打印设置\",\"取打印设置\",\"置打印设置\",\"取打印页宽\",\"取打印页高\",\"置光标\",\"选择\",\"全部选择\",\"取光标行号\",\"取光标列号\",\"取选择行数\",\"取选择列数\",\"等宽缩放\",\"全部复制\",\"复制\",\"粘贴到光标处\",\"粘贴\",\"打印\",\"打印预览\",\"打开\",\"关闭\",\"取连接文本\",\"启动事务\",\"回滚事务\",\"提交事务\",\"查询\",\"重新查询\",\"关闭记录集\",\"首记录前\",\"尾记录后\",\"到首记录\",\"到尾记录\",\"到前一记录\",\"到后一记录\",\"读\",\"执行\",\"修改程序\",\"清除记录\",\"写出程序\",\"取日期\",\"取时间\",\"数组清零\",\"读配置项\",\"写配置项\",\"取配置节名\",\"取操作系统类别\",\"打开加密文件\",\"是否已加密\",\"置数据库密码\",\"密码输入框\",\"复制密码\",\"信号操作\",\"取系统语言\",\"打开MDB数据库\",\"打开SQL数据库\",\"取只读方式\",\"置只读方式\",\"标准输出\",\"标准输入\",\"指针到文本\",\"指针到字节集\",\"写到内存\",\"复制\",\"创建\",\"获取\",\"清除\",\"是否为空\",\"是否相等\",\"读文本属性\",\"读数值属性\",\"读逻辑属性\",\"读日期属性\",\"读对象型属性\",\"读属性\",\"写属性\",\"方法\",\"通用方法\",\"文本方法\",\"数值方法\",\"逻辑方法\",\"日期方法\",\"对象型方法\",\"创建图片对象\",\"创建字体对象\",\"取回图片\",\"取回字体\",\"取错误\",\"查看\",\"复制\",\"清除\",\"取类型\",\"取数组成员数\",\"取文本\",\"取数值\",\"取逻辑值\",\"取日期\",\"取对象\",\"取变体型\",\"赋值\",\"创建数组\",\"取和历文本\",\"取接口\",\"???\",\"调用反馈事件\",\"单位转换\",\"DLL命令调用转向\",\"置父窗口\",\"置类型\",\"取字节集\",\"到字节\",\"到短整数\",\"到整数\",\"到长整数\",\"到小数\",\"置自定义纸张类型\",\"删除自定义纸张类型\",\"取自定义纸张大小\",\"取所有纸张类型\",\"左移\",\"右移\",\"合并整数\",\"合并短整数\",\"置错误提示管理\",\"同步播放MP3\",\"暂停播放MP3\",\"继续播放MP3\",\"取MP3播放状态\",\"多文件对话框\",\"置DLL装载目录\",\"单位转换\",\"取组件名称\",\"取对象类型\",\"寻找组件\",\"取找到组件数目\",\"取所找到组件\",\"清除组件寻找句柄\",\"置入代码\",\"取设备名称\",\"载入易包文件\",\"载入易包数据\",\"卸载易包\",\"易包是否被载入\",\"复制易包常量\",\"指针到整数\",\"指针到小数\",\"指针到双精度小数\",\"十六进制\",\"二进制\",\"取程序名称\",\"交换变量\",\"强制交换变量\",\"取运行时数据类型\",\"宏\",\"类自身\",\"取操作系统类别2\",\"取最后错误\",\"取统一文本\",\"取统一文本长度\",\"运行控制台程序\",\"取核心库版本\",\"文本到UTF8\",\"UTF8到文本\",\"取字节集内整数\",\"置字节集内整数\",\"反转整数字节序\",\"条件宏是否存在\",\"文本到UTF16\",\"UTF16到文本\"],\"constants\":[\"引号\",\"左引号\",\"右引号\",\"换行符\",\"pi\",\"e\",\"黑色\",\"藏青\",\"墨绿\",\"深青\",\"红褐\",\"紫红\",\"褐绿\",\"浅灰\",\"灰色\",\"蓝色\",\"绿色\",\"艳青\",\"红色\",\"品红\",\"黄色\",\"白色\",\"蓝灰\",\"藏蓝\",\"嫩绿\",\"青绿\",\"黄褐\",\"粉红\",\"嫩黄\",\"银白\",\"紫色\",\"天蓝\",\"灰绿\",\"青蓝\",\"橙黄\",\"桃红\",\"芙红\",\"深灰\",\"透明\",\"隐藏窗口\",\"普通激活\",\"最小化激活\",\"最大化激活\",\"普通不激活\",\"最小化不激活\",\"读入\",\"写出\",\"读写\",\"重写\",\"改写\",\"改读\",\"无限制\",\"禁止读\",\"禁止写\",\"禁止读写\",\"文件首\",\"文件尾\",\"现行位置\",\"只读文件\",\"隐藏文件\",\"系统文件\",\"子目录\",\"存档文件\",\"无属性文件\",\"字节型\",\"短整数型\",\"整数型\",\"长整数型\",\"小数型\",\"双精度小数型\",\"逻辑型\",\"日期时间型\",\"子程序指针型\",\"文本型\",\"年份\",\"季度\",\"月份\",\"周\",\"自年首周数\",\"日\",\"小时\",\"分钟\",\"秒\",\"星期几\",\"自年首天数\",\"确认钮\",\"确认取消钮\",\"放弃重试忽略钮\",\"取消是否钮\",\"是否钮\",\"重试取消钮\",\"错误图标\",\"询问图标\",\"警告图标\",\"信息图标\",\"默认按钮一\",\"默认按钮二\",\"默认按钮三\",\"默认按钮四\",\"程序等待\",\"系统等待\",\"位于前台\",\"文本右对齐\",\"取消钮\",\"放弃钮\",\"重试钮\",\"忽略钮\",\"是钮\",\"否钮\",\"首拼及全拼\",\"双拼\",\"自动判别\",\"Ctrl键状态\",\"Shift键状态\",\"Alt键状态\",\"键0\",\"键1\",\"键2\",\"键3\",\"键4\",\"键5\",\"键6\",\"键7\",\"键8\",\"键9\",\"A键\",\"B键\",\"C键\",\"D键\",\"E键\",\"F键\",\"G键\",\"H键\",\"I键\",\"J键\",\"K键\",\"L键\",\"M键\",\"N键\",\"O键\",\"P键\",\"Q键\",\"R键\",\"S键\",\"T键\",\"U键\",\"V键\",\"W键\",\"X键\",\"Y键\",\"Z键\",\"F1键\",\"F2键\",\"F3键\",\"F4键\",\"F5键\",\"F6键\",\"F7键\",\"F8键\",\"F9键\",\"F10键\",\"F11键\",\"F12键\",\"F13键\",\"F14键\",\"F15键\",\"F16键\",\"Break键\",\"退格键\",\"Tab键\",\"回车键\",\"Shift键\",\"Ctrl键\",\"Alt键\",\"Pause键\",\"CapsLock键\",\"NumLock键\",\"ScrollLock键\",\"Esc键\",\"空格键\",\"PageUp键\",\"PageDown键\",\"Home键\",\"End键\",\"左光标键\",\"上光标键\",\"右光标键\",\"下光标键\",\"Ins键\",\"Del键\",\"分号键\",\"等号键\",\"逗号键\",\"减号键\",\"圆点键\",\"除号键\",\"反撇号键\",\"左中括号键\",\"右中括号键\",\"斜杠键\",\"单引号键\",\"顶层\",\"底层\",\"最高层\",\"次高层\",\"全部转换\",\"日期部分\",\"时间部分\",\"输入文本\",\"输入整数\",\"输入小数\",\"拷贝\",\"翻转拷贝\",\"位异或\",\"位或\",\"位与\",\"从上到下\",\"从左到右\",\"从左上到右下\",\"从右上到左下\",\"从下到上\",\"从右到左\",\"从右下到左上\",\"从左下到右上\",\"字节集型\",\"备注型\",\"通常索引\",\"读音索引\",\"南方读音索引\",\"不区分大小写\",\"忽略所有空格\",\"取平均值\",\"求和\",\"取最大值\",\"取最小值\",\"禁止修改\",\"禁止添加\",\"禁止删除\",\"禁止自动判断\",\"根类\",\"现行设置\",\"现行用户\",\"本地机器\",\"所有用户\",\"单击左键\",\"双击\",\"单击右键\",\"默认色\",\"文本\",\"图片文件名\",\"图片数据\",\"字节集数据\",\"上左\",\"上中\",\"上右\",\"中左\",\"中中\",\"中右\",\"下左\",\"下中\",\"下右\",\"缩放图片\",\"居中图片\",\"缩放居中图片\",\"平铺图片\",\"缩放平铺图片\",\"粗体\",\"斜体\",\"下划线\",\"删除线\",\"通常型\",\"左边框\",\"上边框\",\"右边框\",\"下边框\",\"水平线\",\"垂直线\",\"单斜线\",\"双斜线\",\"交叉线\",\"左单元格\",\"上单元格\",\"右单元格\",\"下单元格\",\"无页号\",\"上左页号\",\"上中页号\",\"上右页号\",\"下左页号\",\"下中页号\",\"下右页号\",\"全部页\",\"仅打印奇数页\",\"仅打印偶数页\",\"页范围\",\"行范围\",\"纵向\",\"横向\",\"默认纸\",\"A3纸\",\"A4纸\",\"A5纸\",\"B4纸\",\"B5纸\",\"四开\",\"十六开\",\"三十二开\",\"信纸\",\"法律用纸\",\"行政用纸\",\"声明\",\"小报\",\"笔记\",\"帐本\",\"对开纸\",\"输入密码\",\"缩放到纸宽\",\"限定到纸宽\",\"常量\",\"资源\",\"清除信号\",\"发送或置位\",\"DTR信号\",\"RTS信号\",\"Break信号\",\"GBK中文\",\"英文\",\"BIG5中文\",\"标准输出设备\",\"标准错误设备\",\"无法载入的常量\",\"横向绘画单位\",\"纵向绘画单位\",\"横向像素单位\",\"纵向像素单位\"],\"dataTypes\":[{\"name\":\"窗口\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"标题\",\"边框\",\"底色\",\"底图\",\"底图方式\",\"背景音乐\",\"播放次数\",\"控制按钮\",\"最大化按钮\",\"最小化按钮\",\"位置\",\"可否移动\",\"图标\",\"回车下移焦点\",\"Esc键关闭\",\"F1键打开帮助\",\"帮助文件名\",\"帮助标志值\",\"在任务条中显示\",\"随意移动\",\"外形\",\"总在最前\",\"保持标题条激活\",\"窗口类名\"],\"events\":[\"创建完毕\",\"可否被关闭\",\"将被销毁\",\"位置被改变\",\"尺寸被改变\",\"被激活\",\"被取消激活\",\"空闲\",\"首次激活\",\"托盘事件\",\"被显示\",\"被隐藏\",\"窗口可否被关闭\"]},{\"name\":\"报表\",\"members\":[],\"events\":[]},{\"name\":\"菜单\",\"members\":[\"标题\",\"选中\",\"禁止\",\"可视\"],\"events\":[\"被选择\"]},{\"name\":\"字体\",\"members\":[\"角度\",\"加粗\",\"倾斜\",\"删除线\",\"下划线\",\"字体大小\",\"字体名称\"],\"events\":[]},{\"name\":\"编辑框\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"内容\",\"边框\",\"文本颜色\",\"背景颜色\",\"字体\",\"隐藏选择\",\"最大允许长度\",\"是否允许多行\",\"滚动条\",\"对齐方式\",\"输入方式\",\"密码遮盖字符\",\"转换方式\",\"调节器方式\",\"调节器底限值\",\"调节器上限值\",\"起始选择位置\",\"被选择字符数\",\"被选择文本\",\"数据源\",\"数据列\"],\"events\":[\"内容被改变\",\"调节钮被按下\"]},{\"name\":\"图片框\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"边框\",\"背景颜色\",\"图片\",\"显示方式\",\"播放动画\",\"数据源\",\"数据列\"],\"events\":[]},{\"name\":\"外形框\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"背景颜色\",\"外形\",\"线条效果\",\"线型\",\"线宽\",\"线条颜色\",\"填充颜色\"],\"events\":[]},{\"name\":\"画板\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"边框\",\"画板背景色\",\"底图\",\"底图方式\",\"自动重画\",\"绘画单位\",\"画笔类型\",\"画出方式\",\"画笔粗细\",\"画笔颜色\",\"刷子类型\",\"刷子颜色\",\"文本颜色\",\"文本背景颜色\",\"字体\",\"画板宽度\",\"画板高度\"],\"events\":[\"绘画\"]},{\"name\":\"分组框\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"标题\",\"对齐方式\",\"文本颜色\",\"背景颜色\",\"字体\"],\"events\":[]},{\"name\":\"标签\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"标题\",\"效果\",\"边框\",\"渐变边框宽度\",\"渐变边框颜色1\",\"渐变边框颜色2\",\"渐变边框颜色3\",\"字体\",\"文本颜色\",\"背景颜色\",\"底图\",\"底图方式\",\"渐变背景方式\",\"渐变背景颜色1\",\"渐变背景颜色2\",\"渐变背景颜色3\",\"横向对齐方式\",\"是否自动折行\",\"纵向对齐方式\",\"数据源\",\"数据列\"],\"events\":[\"反馈事件\"]},{\"name\":\"按钮\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"图片\",\"类型\",\"标题\",\"横向对齐方式\",\"纵向对齐方式\",\"字体\"],\"events\":[\"被单击\"]},{\"name\":\"选择框\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"图片\",\"按钮形式\",\"平面\",\"标题\",\"标题居左\",\"横向对齐方式\",\"纵向对齐方式\",\"文本颜色\",\"背景颜色\",\"字体\",\"选中\",\"数据源\",\"数据列\"],\"events\":[\"被单击\"]},{\"name\":\"单选框\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"图片\",\"按钮形式\",\"平面\",\"标题\",\"标题居左\",\"横向对齐方式\",\"纵向对齐方式\",\"文本颜色\",\"背景颜色\",\"字体\",\"选中\"],\"events\":[\"被单击\"]},{\"name\":\"组合框\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"类型\",\"内容\",\"最大文本长度\",\"起始选择位置\",\"被选择字符数\",\"被选择文本\",\"自动排序\",\"行间距\",\"文本颜色\",\"背景颜色\",\"字体\",\"现行选中项\",\"列表项目\",\"项目数值\",\"数据源\",\"数据列\",\"除去重复\"],\"events\":[\"列表项被选择\",\"编辑内容被改变\",\"将弹出列表\",\"列表被关闭\",\"双击选择\"]},{\"name\":\"列表框\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"边框\",\"自动排序\",\"多列\",\"行间距\",\"文本颜色\",\"背景颜色\",\"字体\",\"允许选择多项\",\"现行选中项\",\"列表项目\",\"项目数值\",\"数据源\",\"数据列\",\"除去重复\"],\"events\":[\"列表项被选择\",\"双击选择\"]},{\"name\":\"选择列表框\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"边框\",\"自动排序\",\"多列\",\"行间距\",\"单选\",\"字体\",\"现行选中项\",\"列表项目\",\"项目数值\"],\"events\":[\"列表项被选择\",\"选中状态被改变\",\"双击选择\"]},{\"name\":\"横向滚动条\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"最小位置\",\"最大位置\",\"页改变值\",\"行改变值\",\"位置\",\"允许拖动跟踪\"],\"events\":[\"位置被改变\"]},{\"name\":\"纵向滚动条\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"最小位置\",\"最大位置\",\"页改变值\",\"行改变值\",\"位置\",\"允许拖动跟踪\"],\"events\":[\"位置被改变\"]},{\"name\":\"进度条\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"边框\",\"方向\",\"显示方式\",\"最小位置\",\"最大位置\",\"位置\"],\"events\":[]},{\"name\":\"滑块条\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"边框\",\"方向\",\"刻度类型\",\"单位刻度值\",\"允许选择\",\"首选择位置\",\"选择长度\",\"页改变值\",\"行改变值\",\"最小位置\",\"最大位置\",\"位置\"],\"events\":[\"位置被改变\"]},{\"name\":\"选择夹\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"表头方向\",\"允许多行表头\",\"字体\",\"子夹管理\",\"现行子夹\",\"隐藏自身\",\"是否填充背景\",\"背景颜色\"],\"events\":[\"被单击\",\"将改变子夹\",\"子夹被改变\"]},{\"name\":\"影像框\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"文件名\",\"居中播放\",\"透明背景\",\"播放\",\"播放次数\"],\"events\":[]},{\"name\":\"日期框\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"允许编辑\",\"附件类型\",\"今天\",\"最小日期\",\"最大日期\",\"字体\",\"边框\",\"数据源\",\"数据列\"],\"events\":[\"选择日期被改变\"]},{\"name\":\"月历\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"不显示今天\",\"不圈注今天\",\"开始星期首日\",\"显示星期序号\",\"滚动月数\",\"今天\",\"最小日期\",\"最大日期\",\"允许选择多天\",\"最多选择天数\",\"首选择日\",\"尾选择日\",\"字体\",\"文本颜色\",\"背景颜色\",\"内背景颜色\",\"标题颜色\",\"标题背景颜色\",\"非本月颜色\",\"边框\"],\"events\":[\"选择日期被改变\"]},{\"name\":\"驱动器框\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"驱动器\",\"类型\",\"文本颜色\",\"背景颜色\",\"字体\"],\"events\":[\"驱动器被改变\"]},{\"name\":\"目录框\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"目录\",\"边框\",\"背景颜色\",\"字体\"],\"events\":[\"目录被改变\"]},{\"name\":\"文件框\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"目录\",\"被选择文件\",\"允许选择多项\",\"通配符\",\"通常\",\"存档\",\"只读\",\"系统\",\"隐藏\",\"最小日期\",\"最大日期\",\"边框\",\"文本颜色\",\"背景颜色\",\"字体\"],\"events\":[\"选择文件被改变\",\"双击选择\"]},{\"name\":\"颜色选择器\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"颜色\",\"允许透明\"],\"events\":[\"颜色被改变\"]},{\"name\":\"超级链接框\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"标题\",\"类型\",\"电子信箱地址\",\"Internet地址\",\"文本颜色\",\"访问后的颜色\",\"热点颜色\",\"背景颜色\",\"边框\",\"字体\"],\"events\":[]},{\"name\":\"调节器\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"方向\",\"热点跟踪\"],\"events\":[\"调节钮被按下\"]},{\"name\":\"通用对话框\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"类型\",\"标题\",\"文件名\",\"过滤器\",\"初始过滤器\",\"初始目录\",\"默认文件后缀\",\"创建时提示\",\"文件必须存在\",\"文件覆盖提示\",\"目录必须存在\",\"不改变目录\",\"字体颜色\",\"加粗\",\"倾斜\",\"删除线\",\"下划线\",\"字体名称\",\"字体大小\",\"帮助文件名\",\"帮助命令\",\"帮助标志值\"],\"events\":[]},{\"name\":\"时钟\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"时钟周期\"],\"events\":[\"周期事件\"]},{\"name\":\"打印机\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"绘画单位\",\"画笔类型\",\"画出方式\",\"画笔粗细\",\"画笔颜色\",\"刷子类型\",\"刷子颜色\",\"文本颜色\",\"文本背景颜色\",\"字体\",\"打印作业名\",\"打印份数\",\"多份打印方式\",\"最小页号\",\"最大页号\",\"首页页号\",\"末页页号\",\"打印选择区\",\"左边空\",\"顶边空\",\"右边空\",\"底边空\",\"当前页号\",\"已打印份数\",\"打印区宽度\",\"打印区高度\",\"打印被中止\"],\"events\":[]},{\"name\":\"字段信息\",\"members\":[\"名称\",\"类型\",\"最大文本长度\"],\"events\":[]},{\"name\":\"数据报\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"端口\"],\"events\":[\"数据到达\"]},{\"name\":\"数据报\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"端口\"],\"events\":[\"数据到达\"]},{\"name\":\"客户\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\"],\"events\":[\"数据到达\",\"连接断开\"]},{\"name\":\"服务器\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"端口\"],\"events\":[\"数据到达\",\"客户进入\",\"客户离开\"]},{\"name\":\"端口\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"端口号\",\"波特率\",\"数据位数\",\"停止位数\",\"奇偶校验\",\"事件字符\",\"等待时间\",\"自动启动\",\"奇偶校验方案\",\"流控制方案\",\"Rts流控制\",\"Dtr流控制\"],\"events\":[\"收到信号\",\"数据到达\"]},{\"name\":\"打印设置信息\",\"members\":[\"纸张类型\",\"纸张方向\",\"左边距\",\"上边距\",\"右边距\",\"下边距\",\"页号位置\",\"打印份数\",\"首页打印页号\",\"是否打印到文件\",\"打印文件名\",\"自动填充\",\"自动添加表格线\",\"奇偶页方式\",\"打印范围方式\",\"起始打印位置\",\"结束打印位置\",\"每页打印行数\",\"打印缩放比\"],\"events\":[]},{\"name\":\"表格\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"数据源\",\"表格线颜色\",\"背景颜色\",\"缩放比\",\"允许选择块\",\"显示标尺\",\"显示空表格线\",\"禁止调整行高\",\"禁止调整列宽\",\"允许粘贴扩展\"],\"events\":[\"光标位置改变\",\"选择行列数改变\",\"内容被改变\",\"行高被改变\",\"列宽被改变\",\"尺寸被扩展\"]},{\"name\":\"数据源\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"数据提供者\",\"只读\",\"允许添加\",\"允许删除\"],\"events\":[\"当前记录改变\",\"添加记录\",\"删除记录\"]},{\"name\":\"通用提供者\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"初始行数\",\"初始列数\"],\"events\":[]},{\"name\":\"数据库提供者\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"数据库文件名\",\"字节集字段处理\",\"数据库密码\"],\"events\":[]},{\"name\":\"图形按钮\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"类型\",\"选中\",\"正常图片\",\"点燃图片\",\"按下图片\",\"禁止图片\",\"透明颜色\"],\"events\":[\"被单击\"]},{\"name\":\"外部数据库\",\"members\":[],\"events\":[]},{\"name\":\"外部数据提供者\",\"members\":[\"左边\",\"顶边\",\"宽度\",\"高度\",\"标记\",\"可视\",\"禁止\",\"鼠标指针\",\"连接文本\",\"查询SQL\"],\"events\":[]},{\"name\":\"对象\",\"members\":[\"指针\",\"辅助数据\"],\"events\":[]},{\"name\":\"变体型\",\"members\":[\"数据1\",\"数据2\",\"数据3\",\"数据4\"],\"events\":[]},{\"name\":\"变体类型\",\"members\":[\"未知\",\"空\",\"数值型\",\"文本型\",\"逻辑型\",\"日期型\",\"对象型\",\"错误值型\",\"数值型数组\",\"文本型数组\",\"逻辑型数组\",\"日期型数组\",\"对象型数组\",\"错误值型数组\",\"变体型数组\"],\"events\":[]},{\"name\":\"无法载入的窗口组件\",\"members\":[],\"events\":[]}]}"),
|
|
3
|
+
iconv: {
|
|
4
|
+
name: "编码转换支持库",
|
|
5
|
+
cmds: [
|
|
6
|
+
"编码转换",
|
|
7
|
+
"编码转换_打开",
|
|
8
|
+
"编码转换_转换",
|
|
9
|
+
"编码转换_关闭"
|
|
10
|
+
],
|
|
11
|
+
constants: /* @__PURE__ */ "编码_GB2312.编码_EUC_CN.编码_HZ.编码_GBK.编码_GB18030.编码_EUC_TW.编码_BIG5.编码_CP950.编码_BIG5_HKSCS.编码_ISO_2022_CN.编码_ISO_2022_CN_EXT.编码_EUC_JP.编码_SHIFT_JIS.编码_CP932.编码_ISO_2022_JP.编码_ISO_2022_JP_2.编码_ISO_2022_JP_1.编码_EUC_JISX0213.编码_Shift_JISX0213.编码_ISO_2022_JP_3.编码_EUC_KR.编码_CP949.编码_ISO_2022_KR.编码_JOHAB.编码_UTF_8.编码_UCS_2.编码_UCS_2BE.编码_UCS_2LE.编码_UCS_4.编码_UCS_4BE.编码_UCS_4LE.编码_UTF_16.编码_UTF_16BE.编码_UTF_16LE.编码_UTF_32.编码_UTF_32BE.编码_UTF_32LE.编码_UTF_7.编码_C99.编码_JAVA.编码_UCS_2_INTERNAL.编码_UCS_4_INTERNAL.编码_ASCII.编码_ISO_8859_1.编码_ISO_8859_2.编码_ISO_8859_3.编码_ISO_8859_4.编码_ISO_8859_5.编码_ISO_8859_7.编码_ISO_8859_9.编码_ISO_8859_10.编码_ISO_8859_13.编码_ISO_8859_14.编码_ISO_8859_15.编码_ISO_8859_16.编码_KOI8_R.编码_KOI8_U.编码_KOI8_RU.编码_CP1250.编码_CP1251.编码_CP1252.编码_CP1253.编码_CP1254.编码_CP1257.编码_CP850.编码_CP866.编码_MacRoman.编码_MacCentralEurope.编码_MacIceland.编码_MacCroatian.编码_MacRomania.编码_MacCyrillic.编码_MacUkraine.编码_MacGreek.编码_MacTurkish.编码_Macintosh.编码_CP437.编码_CP737.编码_CP775.编码_CP852.编码_CP853.编码_CP855.编码_CP857.编码_CP858.编码_CP860.编码_CP861.编码_CP863.编码_CP865.编码_CP869.编码_CP1125.编码_ISO_8859_6.编码_ISO_8859_8.编码_CP1255.编码_CP1256.编码_CP862.编码_MacHebrew.编码_MacArabic.编码_CP864.编码_ARMSCII_8.编码_Georgian_Academy.编码_Georgian_PS.编码_KOI8_T.编码_TIS_620.编码_CP874.编码_MacThai.编码_MuleLao_1.编码_CP1133.编码_VISCII.编码_TCVN.编码_CP1258.编码_TDS565.编码_HP_ROMAN8.编码_NEXTSTEP.编码_RISCOS_LATIN1.编码_char.编码_wchar_t".split("."),
|
|
12
|
+
dataTypes: []
|
|
13
|
+
},
|
|
14
|
+
spec: {
|
|
15
|
+
name: "特殊功能支持库",
|
|
16
|
+
cmds: [
|
|
17
|
+
"置入代码",
|
|
18
|
+
"取变量地址",
|
|
19
|
+
"取子程序地址",
|
|
20
|
+
"取变量数据地址",
|
|
21
|
+
"调试输出",
|
|
22
|
+
"验证",
|
|
23
|
+
"调用子程序",
|
|
24
|
+
"延迟",
|
|
25
|
+
"推迟调用子程序",
|
|
26
|
+
"申请内存",
|
|
27
|
+
"释放内存",
|
|
28
|
+
"调用易系统功能",
|
|
29
|
+
"取文本",
|
|
30
|
+
"取文本_属性设置",
|
|
31
|
+
"取文本_属性读取",
|
|
32
|
+
"推迟调用子程序_高精度计时"
|
|
33
|
+
],
|
|
34
|
+
constants: [],
|
|
35
|
+
dataTypes: []
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
//#endregion
|
|
39
|
+
export { e as default };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Id → name resolution — port of `IDToNameMap.cs`.
|
|
3
|
+
*
|
|
4
|
+
* Resolves every Id (variable / method / constant / class / control / data type …) to a display name from four
|
|
5
|
+
* sources, innermost first: (1) built-in system data-type names, (2) user-defined names collected from the
|
|
6
|
+
* parsed sections, (3) support-library names (pluggable {@link LibNameProvider}; populated by the predumped
|
|
7
|
+
* JSON in a later milestone — placeholder Ids until then), (4) debug-comment names (`_-@[MS]<name>` regex) that
|
|
8
|
+
* rescue anonymized members. Unknown Ids fall back to a typed placeholder like `_Sub_0x000001` / `_User_0x…`.
|
|
9
|
+
*/
|
|
10
|
+
import type { EplDocument } from '../eplDocument';
|
|
11
|
+
/** Pluggable support-library name lookup (filled from the predumped lib JSON; null ⇒ use the placeholder). */
|
|
12
|
+
export interface LibNameProvider {
|
|
13
|
+
cmdName(lib: number, id: number): string | null;
|
|
14
|
+
typeName(lib: number, id: number): string | null;
|
|
15
|
+
constantName(lib: number, id: number): string | null;
|
|
16
|
+
typeEventName(lib: number, type: number, id: number): string | null;
|
|
17
|
+
typeMemberName(lib: number, type: number, id: number): string | null;
|
|
18
|
+
}
|
|
19
|
+
/** Extract a rescued name from a debug comment (`_-@M<名称>` / `_-@S<名称>`), or null. */
|
|
20
|
+
export declare function parseDebugComment(comment: string | null | undefined): string | null;
|
|
21
|
+
export declare class IdToNameMap {
|
|
22
|
+
readonly userDefinedName: Map<number, string>;
|
|
23
|
+
readonly methodIdToClassId: Map<number, number>;
|
|
24
|
+
private readonly libProvider;
|
|
25
|
+
constructor(doc: EplDocument, libProvider?: LibNameProvider | null);
|
|
26
|
+
getUserDefinedName(id: number): string;
|
|
27
|
+
getDataTypeName(id: number): string;
|
|
28
|
+
getLibCmdName(lib: number, id: number): string;
|
|
29
|
+
getLibTypeName(lib: number, id: number): string;
|
|
30
|
+
getLibConstantName(lib: number, id: number): string;
|
|
31
|
+
getLibTypeEventName(lib: number, type: number, id: number): string;
|
|
32
|
+
getLibTypeMemberName(lib: number, type: number, id: number): string;
|
|
33
|
+
}
|