UNPKG

@navikt/ds-react

Version:

React components from the Norwegian Labour and Welfare Administration.

48 lines 1.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.validateFiles = void 0; const FileUpload_types_1 = require("../FileUpload.types"); const is_accepted_file_type_1 = require("./is-accepted-file-type"); const is_accepted_size_1 = require("./is-accepted-size"); const validateFiles = (files, accept, validator, maxSizeInBytes = -1) => { const allFiles = []; const accepted = []; const rejected = []; files.forEach((file) => { const acceptedFileType = (0, is_accepted_file_type_1.isAcceptedFileType)(file, accept); const acceptedFileSize = (0, is_accepted_size_1.isAcceptedSize)(file, maxSizeInBytes); const customValidation = validator ? validator(file) : true; const reasons = []; if (customValidation !== true) { reasons.push(customValidation); } if (!acceptedFileType) { reasons.push(FileUpload_types_1.fileRejectionReason.FileType); } if (!acceptedFileSize) { reasons.push(FileUpload_types_1.fileRejectionReason.FileSize); } allFiles.push({ file, error: reasons.length > 0, reasons, }); if (reasons.length === 0) { accepted.push(file); return; } rejected.push({ file, reasons, }); }); return { files: allFiles, partitionedFiles: { accepted, rejected, }, }; }; exports.validateFiles = validateFiles; //# sourceMappingURL=validate-files.js.map