@braineet/ui
Version:
Braineet design system
82 lines (81 loc) • 3.85 kB
JavaScript
"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
};
};