@wordpress/upload-media
Version:
Core media upload logic.
30 lines (29 loc) • 818 B
JavaScript
// packages/upload-media/src/validate-mime-type.ts
import { __, sprintf } from "@wordpress/i18n";
import { ErrorCode, UploadError } from "./upload-error.mjs";
function validateMimeType(file, allowedTypes) {
if (!allowedTypes) {
return;
}
const isAllowedType = allowedTypes.some((allowedType) => {
if (allowedType.includes("/")) {
return allowedType === file.type;
}
return file.type.startsWith(`${allowedType}/`);
});
if (file.type && !isAllowedType) {
throw new UploadError({
code: ErrorCode.MIME_TYPE_NOT_SUPPORTED,
message: sprintf(
// translators: %s: file name.
__("%s: Sorry, this file type is not supported here."),
file.name
),
file
});
}
}
export {
validateMimeType
};
//# sourceMappingURL=validate-mime-type.mjs.map