UNPKG

vue-files-preview

Version:

A tool for previewing files such as doc, excel, pdf, image, markdown, txt, audio, and video and so on.

61 lines (60 loc) 1.56 kB
import { getPreviewTypeByFileType as d, textFilePreviewTypeList as o, arrayBufferPreviewTypeList as l, imagePreviewTypeList as f, pdfPreviewTypeList as u, videoPreviewTypeList as b } from "../preview.const.mjs"; function p(e) { const t = e.name, n = t.lastIndexOf("."); return t.substring(n + 1); } function L(e) { const t = e.name, n = t.lastIndexOf("."); return t.substring(0, n); } function m(e) { const t = d(p(e)), n = y(t); return new Promise((i) => { const r = e, a = new FileReader(); switch (n) { case "text": a.readAsText(r), a.onload = () => { i(a.result); }; break; case "arrayBuffer": a.readAsArrayBuffer(r), a.onload = () => { i(a.result); }; break; case "image": i(window.URL.createObjectURL(r)); break; case "pdf": { const c = new Blob([r], { type: "application/pdf" }), s = URL.createObjectURL(c); i(s); break; } case "video": { const c = URL.createObjectURL(new Blob([r], { type: "video/mp4" })); i(c); break; } default: i(window.URL.createObjectURL(r)); break; } }); } function y(e) { const t = { text: o.includes(e), arrayBuffer: l.includes(e), image: f.includes(e), pdf: u.includes(e), video: b.includes(e) }; return Object.keys(t).find((n) => t[n]); } export { L as getFileName, m as getFileRenderByFile, y as getFileRenderType, p as getFileType }; //# sourceMappingURL=utils.mjs.map