@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
17 lines (16 loc) • 767 B
JavaScript
//#region src/base-ui/Upload/helpers.ts
const matchesAccept = (file, accept) => {
const patterns = accept?.split(",").map((pattern) => pattern.trim().toLowerCase()).filter(Boolean);
if (!patterns || patterns.length === 0) return true;
const fileName = file.name.toLowerCase();
const fileType = (file.type || "").toLowerCase();
return patterns.some((pattern) => {
if (pattern.startsWith(".")) return fileName.endsWith(pattern);
if (pattern.endsWith("/*")) return fileType.startsWith(pattern.slice(0, -1));
return fileType === pattern;
});
};
const filterFilesByAccept = (files, accept) => accept ? files.filter((file) => matchesAccept(file, accept)) : files;
//#endregion
export { filterFilesByAccept, matchesAccept };
//# sourceMappingURL=helpers.mjs.map