react-native-surveys
Version:
Build your own forms, surveys and polls for your React Native apps.
27 lines (23 loc) • 832 B
JavaScript
import "core-js/fn/array/some";
import "core-js/fn/string/ends-with";
export default function(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 fileName.toLowerCase().endsWith(validType.toLowerCase());
} else if (validType.endsWith("/*")) {
// This is something like a image/* mime type
return baseMimeType === validType.replace(/\/.*$/, "");
}
return mimeType === validType;
});
}
return true;
}