UNPKG

@braineet/ui

Version:

Braineet design system

82 lines (81 loc) 3.85 kB
"use strict"; exports.__esModule = true; exports.previewFile = exports.isFile = exports.getTypeFile = exports.getFileIcon = exports.getFileExt = exports.canPreviewFile = void 0; var _constants = require("./constants"); var isImage = function isImage(file) { var _FILE_TYPES$IMAGE; return (_FILE_TYPES$IMAGE = _constants.FILE_TYPES.IMAGE) == null ? void 0 : _FILE_TYPES$IMAGE.find(function (f) { return (f == null ? void 0 : f.mime) === (file == null ? void 0 : file.type) && ['svg', 'tiff'].every(function (ext) { var _file$type; return !(file != null && (_file$type = file.type) != null && _file$type.includes(ext)); }); }); }; var isFile = exports.isFile = function isFile(file) { if (file === void 0) { file = {}; } try { return !!file.name && !!file.size; } catch (error) { return false; } }; var previewFile = exports.previewFile = function previewFile(file) { if (!isImage(file)) { return null; } try { return URL.createObjectURL(file); } catch (error) { console.error(error); } }; var getFileExt = exports.getFileExt = function getFileExt(file) { var _file$path; if (!file || !(file != null && file.path)) return null; var paths = file == null || (_file$path = file.path) == null ? void 0 : _file$path.split('.'); return paths[paths.length - 1]; }; var getTypeFile = exports.getTypeFile = function getTypeFile(file) { try { var foundFileType = _constants.FILE_TYPES[file == null ? void 0 : file.type]; return (foundFileType == null ? void 0 : foundFileType.type) || (file == null ? void 0 : file.type); } catch (error) { console.error(error); } }; var canPreviewFile = exports.canPreviewFile = function canPreviewFile(file) { try { var _Object$values; var foundFileType = (_Object$values = Object.values(_constants.FILE_TYPES)) == null ? void 0 : _Object$values.find(function (fType) { return (fType == null ? void 0 : fType.type) === (file == null ? void 0 : file.type); }); return ![_constants.UPLOAD_ITEM_STATUS.UPLOADING, _constants.UPLOAD_ITEM_STATUS.ERROR].includes(file == null ? void 0 : file.status) && foundFileType; } catch (error) { console.error(error); return false; } }; var getFileIcon = exports.getFileIcon = function getFileIcon(file) { var _Object$values2, _Object$values3, _FILE_TYPES$file$type, _file$icon, _file$icon2, _file$icon3; var defaultColor = _constants.FILE_TYPES.generic.color; if (!file && !(file != null && file.ext) && !(file != null && file.type)) { return { color: defaultColor, name: _constants.FILE_ICON.notFound }; } var mimeColor = (_Object$values2 = Object.values(_constants.FILE_TYPES)) == null || (_Object$values2 = _Object$values2.find(function (fileType) { return fileType.type === (file == null ? void 0 : file.type); })) == null ? void 0 : _Object$values2.color; var extensionColor = (_Object$values3 = Object.values(_constants.FILE_TYPES)) == null || (_Object$values3 = _Object$values3.find(function (fileType) { return fileType.extension === "." + (file == null ? void 0 : file.ext); })) == null ? void 0 : _Object$values3.color; var typeColor = (_FILE_TYPES$file$type = _constants.FILE_TYPES[file == null ? void 0 : file.type]) == null ? void 0 : _FILE_TYPES$file$type.color; var defaultNameIcon = file != null && (_file$icon = file.icon) != null && _file$icon.color || mimeColor || extensionColor || typeColor ? _constants.FILE_ICON.default : _constants.FILE_ICON.notFound; return { name: (file == null || (_file$icon2 = file.icon) == null ? void 0 : _file$icon2.name) || _constants.FILE_ICON[file == null ? void 0 : file.type] || defaultNameIcon, color: (file == null || (_file$icon3 = file.icon) == null ? void 0 : _file$icon3.color) || mimeColor || extensionColor || typeColor || defaultColor }; };