@razorpay/blade
Version:
The Design System that powers Razorpay
29 lines (27 loc) • 1.03 kB
JavaScript
/**
* Check if the provided file type should be accepted by the input with accept attribute.
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Input#attr-accept
*
* Inspired by https://github.com/enyo/dropzone
*/
var isFileAccepted = function isFileAccepted(file, acceptedFiles) {
if (file && acceptedFiles) {
var acceptedFilesArray = acceptedFiles.split(',');
var fileName = file.name || '';
var mimeType = (file.type || '').toLowerCase();
var baseMimeType = mimeType.replace(/\/.*$/, '');
return acceptedFilesArray.some(function (type) {
var validType = type.trim().toLowerCase();
if (validType.startsWith('.')) {
return fileName.toLowerCase().endsWith(validType);
} else if (validType.endsWith('/*')) {
// This is something like a image/* mime type
return baseMimeType === validType.replace(/\/.*$/, '');
}
return mimeType === validType;
});
}
return true;
};
export { isFileAccepted };
//# sourceMappingURL=isFileAccepted.js.map