vue-files-preview-inno
Version:
A tool for previewing files such as doc, excel, pdf, image, markdown, txt, audio, and video and so on.
1 lines • 7.48 kB
Source Map (JSON)
{"version":3,"file":"preview.const.mjs","sources":["../../../../packages/preview/preview.const.ts"],"sourcesContent":["import type { IPreviewRule } from './preview.interface'\nimport { PreviewType } from './preview.interface'\nimport AudioPreview from './supports/audio-preview/index'\nimport CodePreview from './supports/code-preview/index'\nimport DocxPreview from './supports/docx-preview/index'\nimport EpubPreview from './supports/epub-preview/index'\nimport MdPreview from './supports/md-preview/index'\nimport PdfPreview from './supports/pdf-preview/index'\nimport PicPreview from './supports/pic-preview/index'\nimport TxtPreview from './supports/txt-preview/index'\nimport UnknownPreview from './supports/unknown-preview/index'\nimport MsgPreview from './supports/msg-preview/index'\nimport PptPreview from './supports/ppt-preview/index'\nimport VideoPreview from './supports/video-preview/index'\nimport XlsxPreview from './supports/xlsx-preview/index'\n\nexport const textFilePreviewTypeList = [PreviewType.CODE, PreviewType.TXT, PreviewType.MD]\nexport const arrayBufferPreviewTypeList = [PreviewType.DOC, PreviewType.DOCX, PreviewType.XLSX, PreviewType.PPT, PreviewType.EPUB, PreviewType.MSG]\nexport const imagePreviewTypeList = [PreviewType.PIC, PreviewType.AUDIO]\nexport const pdfPreviewTypeList = [PreviewType.PDF]\nexport const videoPreviewTypeList = [PreviewType.VIDEO]\n\nexport const PreviewRules: Record<PreviewType, IPreviewRule> = {\n [PreviewType.NONE]: {\n name: '',\n component: UnknownPreview,\n type: PreviewType.NONE,\n accept: [],\n },\n [PreviewType.CODE]: {\n name: '',\n component: CodePreview,\n type: PreviewType.CODE,\n accept: ['html', 'css', 'less', 'scss', 'js', 'json', 'ts', 'vue', 'c', 'cpp', 'java', 'py', 'go', 'php', 'lua', 'rb', 'pl', 'swift', 'vb', 'cs', 'sh', 'rs', 'vim', 'log', 'lock', 'swift', 'mod', 'mht', 'mhtml', 'xml'],\n },\n [PreviewType.DOC]: {\n name: '',\n component: UnknownPreview,\n type: PreviewType.DOC,\n accept: ['doc', 'docm', 'dot', 'dotm', 'dotx', 'fodt', 'mht', 'odt', 'ott', 'rtf', 'djvu', 'xps'],\n },\n [PreviewType.DOCX]: {\n name: '',\n component: DocxPreview,\n type: PreviewType.DOCX,\n accept: ['docx'],\n },\n [PreviewType.XLSX]: {\n name: '',\n component: XlsxPreview,\n type: PreviewType.XLSX,\n accept: ['xlsx', 'xls', 'csv', 'fods', 'ods', 'ots', 'xlsm', 'xlt', 'xltm'],\n },\n // ppt: presentation\n [PreviewType.PPT]: {\n name: '',\n component: PptPreview,\n type: PreviewType.PPT,\n accept: ['ppt', 'pptx', 'fodp', 'odp', 'otp', 'pot', 'potm', 'potx', 'pps', 'ppsm', 'ppsx', 'pptm'],\n },\n [PreviewType.PDF]: {\n name: '',\n component: PdfPreview,\n type: PreviewType.PDF,\n accept: ['pdf'],\n },\n [PreviewType.EPUB]: {\n name: '',\n component: EpubPreview,\n type: PreviewType.EPUB,\n accept: ['epub'],\n },\n [PreviewType.MD]: {\n name: '',\n component: MdPreview,\n type: PreviewType.MD,\n accept: ['md'],\n },\n [PreviewType.PIC]: {\n name: '',\n component: PicPreview,\n type: PreviewType.PIC,\n accept: ['jpg', 'png', 'jpeg', 'webp', 'gif', 'bmp', 'svg', 'ico'],\n },\n [PreviewType.TXT]: {\n name: '',\n component: TxtPreview,\n type: PreviewType.TXT,\n accept: ['txt'],\n },\n [PreviewType.AUDIO]: {\n name: '',\n component: AudioPreview,\n type: PreviewType.AUDIO,\n accept: ['mp3', 'wav', 'wma', 'ogg', 'aac', 'flac'],\n },\n [PreviewType.VIDEO]: {\n name: '',\n component: VideoPreview,\n type: PreviewType.VIDEO,\n accept: ['mp4', 'webm', 'ogg', 'mkv', 'avi', 'mpeg', 'flv', 'mov', 'wmv'],\n },\n [PreviewType.MSG]: {\n name: '',\n component: MsgPreview,\n type: PreviewType.MSG,\n accept: ['msg'],\n },\n}\n\n/**\n * Get based on file type\n * @param type\n */\nexport function getRuleByFileType(type: string): IPreviewRule {\n return Object.values(PreviewRules).find(cur => cur.accept.includes(type)) ?? PreviewRules[PreviewType.NONE]\n}\n\n/**\n * Get based on file type\n * @param type\n */\nexport function getPreviewTypeByFileType(type: string): PreviewType {\n return getRuleByFileType(type).type\n}"],"names":["textFilePreviewTypeList","PreviewType","arrayBufferPreviewTypeList","imagePreviewTypeList","pdfPreviewTypeList","videoPreviewTypeList","PreviewRules","UnknownPreview","CodePreview","DocxPreview","XlsxPreview","PptPreview","PdfPreview","EpubPreview","MdPreview","PicPreview","TxtPreview","AudioPreview","VideoPreview","MsgPreview","getRuleByFileType","type","cur","getPreviewTypeByFileType"],"mappings":"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"}