UNPKG

@fe6/water-pro

Version:

An enterprise-class UI design language and Vue-based implementation

27 lines (24 loc) 853 B
function endsWith(str, suffix) { return str.includes(suffix, str.length - suffix.length); } export default (file, acceptedFiles) => { if (file && acceptedFiles) { const acceptedFilesArray = Array.isArray(acceptedFiles) ? acceptedFiles : acceptedFiles.split(','); const fileName = file.name || ''; const mimeType = file.type || ''; const baseMimeType = mimeType.replace(/\/.*$/, ''); return acceptedFilesArray.some((type) => { const validType = type.trim(); if (validType.charAt(0) === '.') { return endsWith(fileName.toLowerCase(), validType.toLowerCase()); } else if (/\/\*$/.test(validType)) { // This is something like a image/* mime type return baseMimeType === validType.replace(/\/.*$/, ''); } return mimeType === validType; }); } return true; };