UNPKG

devextreme

Version:

JavaScript/TypeScript Component Suite for Responsive Web Development

77 lines (75 loc) 2.31 kB
/** * DevExtreme (cjs/__internal/ui/file_uploader/file_uploader.utils.js) * Version: 25.2.5 * Build date: Fri Feb 20 2026 * * Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getFileSize = exports.getFileIconName = void 0; var _message = _interopRequireDefault(require("../../../common/core/localization/message")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e } } const EXTENTIONS_MAP = { jpg: "image", jpeg: "image", png: "image", gif: "image", bmp: "image", webp: "image", mp4: "video", mov: "video", avi: "video", webm: "video", mkv: "video", mp3: "music", wav: "music", ogg: "music", m4a: "music", flac: "music", doc: "textdocument", docx: "textdocument", txt: "textdocument", rtf: "textdocument", md: "textdocument", xls: "exportxlsx", xlsx: "exportxlsx", csv: "exportxlsx", ods: "exportxlsx", zip: "folder", rar: "folder", "7z": "folder", tar: "folder", gz: "folder", pdf: "pdffile" }; const DEFAULT_ICON = "file"; const getFileIconName = function() { let filename = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : ""; const lastDotIndex = filename.lastIndexOf("."); if (-1 === lastDotIndex || lastDotIndex === filename.length - 1) { return "file" } const extension = filename.slice(lastDotIndex + 1).toLowerCase(); return EXTENTIONS_MAP[extension] || "file" }; exports.getFileIconName = getFileIconName; const getFileSize = sizeInBytes => { const labels = [_message.default.format("dxFileUploader-bytes"), _message.default.format("dxFileUploader-kb"), _message.default.format("dxFileUploader-Mb"), _message.default.format("dxFileUploader-Gb")]; const count = labels.length - 1; let value = sizeInBytes; let i = 0; while (i < count && value >= 1024) { value /= 1024; i += 1 } return `${Math.round(value)} ${labels[i]}` }; exports.getFileSize = getFileSize;