{"version":3,"file":"preview.const.mjs","sources":["../../../packages/preview/preview.const.ts"],"sourcesContent":["import DocxPreview from './supports/docx-preview/index'\nimport XlsxPreview from './supports/xlsx-preview/index'\nimport PptPreview from './supports/ppt-preview/index'\nimport PdfPreview from './supports/pdf-preview/index'\nimport PicPreview from './supports/pic-preview/index'\nimport TxtPreview from './supports/txt-preview/index'\nimport CodePreview from './supports/code-preview/index'\nimport MdPreview from './supports/md-preview/index'\nimport EpubPreview from './supports/epub-preview/index'\nimport AudioPreview from './supports/audio-preview/index'\nimport VideoPreview from './supports/video-preview/index'\nimport type {IPreviewRule} from './preview.interface'\nimport {PreviewType} from './preview.interface'\n\nexport const textFilePreviewTypeList = [PreviewType.CODE, PreviewType.TXT, PreviewType.MD]\nexport const arrayBufferPreviewTypeList = [PreviewType.DOC, PreviewType.DOCX, PreviewType.XLSX, PreviewType.PPT, PreviewType.EPUB]\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: void 0,\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: void 0,\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}\n\n/**\n * 根据文件类型获取rule\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 * 根据文件类型获取PreviewType\n * @param type\n */\nexport function getPreviewTypeByFileType(type: string): PreviewType {\n    return getRuleByFileType(type).type\n}\n"],"names":["textFilePreviewTypeList","PreviewType","arrayBufferPreviewTypeList","imagePreviewTypeList","pdfPreviewTypeList","videoPreviewTypeList","PreviewRules","CodePreview","DocxPreview","XlsxPreview","PptPreview","PdfPreview","EpubPreview","MdPreview","PicPreview","TxtPreview","AudioPreview","VideoPreview","getRuleByFileType","type","cur","getPreviewTypeByFileType"],"mappings":"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"}