shineout
Version:
A components library for React
26 lines (25 loc) • 850 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = attrAccept;
function attrAccept(file, acceptedFiles) {
if (file && acceptedFiles) {
var acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(',');
var fileName = file.name || '';
var mimeType = file.type || '';
var baseMimeType = mimeType.replace(/\/.*$/, '');
return acceptedFilesArray.some(function (type) {
var validType = type.trim();
if (validType.charAt(0) === '.') {
return fileName.toLowerCase().endsWith(validType.toLowerCase());
}
if (/\/\*$/.test(validType)) {
// This is something like a image/* mime type
return baseMimeType === validType.replace(/\/.*$/, '');
}
return mimeType === validType;
});
}
return true;
}