{"version":3,"file":"index-8rTzdqyx.js","sources":["../../Client/webkit/validation/rules/fileTypes/index.ts"],"sourcesContent":["import { Rule } from '@webkit/validation/value';\r\n\r\nexport const fileTypes = (fileTypes: string[], error?: string) =>\r\n    ({\r\n        id: 'file-types',\r\n        validator: files => {\r\n            if (!files) return true;\r\n\r\n            return files.every(file => {\r\n                const extension = file.name.split('.').pop();\r\n                return extension\r\n                    ? fileTypes.map(ft => ft.replace('.', '').toLowerCase()).includes(extension.toLowerCase())\r\n                    : false;\r\n            });\r\n        },\r\n        error: () => {\r\n            if (error) return error;\r\n\r\n            const extensions =\r\n                fileTypes.length === 1\r\n                    ? fileTypes[0]\r\n                    : fileTypes.slice(0, -1).join(', ') + ' or ' + fileTypes.slice(-1);\r\n            return `Please choose a file with extension ${extensions}.`;\r\n        },\r\n    } as Rule<File[]>);\r\n"],"names":["fileTypes","error","files","file","extension","ft"],"mappings":"AAEa,MAAAA,EAAY,CAACA,EAAqBC,KAC1C,CACG,GAAI,aACJ,UAAoBC,GACXA,EAEEA,EAAM,MAAcC,GAAA,CACvB,MAAMC,EAAYD,EAAK,KAAK,MAAM,GAAG,EAAE,IAAI,EAC3C,OAAOC,EACDJ,EAAU,IAAUK,GAAAA,EAAG,QAAQ,IAAK,EAAE,EAAE,YAAA,CAAa,EAAE,SAASD,EAAU,YAAa,CAAA,EACvF,EAAA,CACT,EAPkB,GASvB,MAAO,IAOI,uCAHHJ,EAAU,SAAW,EACfA,EAAU,CAAC,EACXA,EAAU,MAAM,EAAG,EAAE,EAAE,KAAK,IAAI,EAAI,OAASA,EAAU,MAAM,EAAE,CACjB,GAEhE"}