summaryrefslogtreecommitdiff
path: root/src/utils/filterFiles.js
blob: 62f8f36e4e7a175587cbbe869bfd37eeb242759f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
const formattedFilenameExt = (name) =>
  `.${name.split(".").pop().toLowerCase()}`;

const areRequirementsFulfilled = (requirements, file) =>
  requirements.maxSize >= file.size &&
  requirements.supportedFormats.includes(formattedFilenameExt(file.name));

export function filterFiles(files, requirements) {
  let accepted = [];
  let rejected = [];
  Array.from(files).forEach((file) => {
    if (file) {
      if (areRequirementsFulfilled(requirements, file)) {
        accepted.push(file);
      } else {
        rejected.push(file);
      }
    }
  });
  return { accepted, rejected };
}