{"version":3,"file":"attr-accept.cjs","sources":["../../../../../../packages/vue-components/vc-upload/src/attr-accept.ts"],"sourcesContent":["import type { RcFile } from './interface';\nimport { warning } from '@antdv/utils';\n\nexport default (file: RcFile, acceptedFiles: string | string[]) => {\n  if (file && acceptedFiles) {\n    const acceptedFilesArray = Array.isArray(acceptedFiles)\n      ? acceptedFiles\n      : acceptedFiles.split(',');\n    const fileName = file.name || '';\n    const mimeType = file.type || '';\n    const baseMimeType = mimeType.replace(/\\/.*$/, '');\n\n    return acceptedFilesArray.some((type) => {\n      const validType = type.trim();\n      // This is something like */*,*  allow all files\n      if (/^\\*(\\/\\*)?$/.test(type))\n        return true;\n\n      // like .jpg, .png\n      if (validType.charAt(0) === '.') {\n        const lowerFileName = fileName.toLowerCase();\n        const lowerType = validType.toLowerCase();\n\n        let affixList = [lowerType];\n        if (lowerType === '.jpg' || lowerType === '.jpeg')\n          affixList = ['.jpg', '.jpeg'];\n\n        return affixList.some(affix => lowerFileName.endsWith(affix));\n      }\n\n      // This is something like a image/* mime type\n      if (/\\/\\*$/.test(validType))\n        return baseMimeType === validType.replace(/\\/.*$/, '');\n\n      // Full match\n      if (mimeType === validType)\n        return true;\n\n      // Invalidate type should skip\n      if (/^\\w+$/.test(validType)) {\n        warning(false, `Upload takes an invalidate 'accept' type '${validType}'.Skip for check.`);\n        return true;\n      }\n\n      return false;\n    });\n  }\n  return true;\n};\n"],"names":["warning"],"mappings":";;;;;;;AAGA,iBAAe,CAAC,MAAc,aAAqC,KAAA;AACjE,EAAA,IAAI,QAAQ,aAAe,EAAA;AACzB,IAAM,MAAA,kBAAA,GAAqB,MAAM,OAAQ,CAAA,aAAa,IAClD,aACA,GAAA,aAAA,CAAc,MAAM,GAAG,CAAA,CAAA;AAC3B,IAAM,MAAA,QAAA,GAAW,KAAK,IAAQ,IAAA,EAAA,CAAA;AAC9B,IAAM,MAAA,QAAA,GAAW,KAAK,IAAQ,IAAA,EAAA,CAAA;AAC9B,IAAA,MAAM,YAAe,GAAA,QAAA,CAAS,OAAQ,CAAA,OAAA,EAAS,EAAE,CAAA,CAAA;AAEjD,IAAO,OAAA,kBAAA,CAAmB,IAAK,CAAA,CAAC,IAAS,KAAA;AACvC,MAAM,MAAA,SAAA,GAAY,KAAK,IAAK,EAAA,CAAA;AAE5B,MAAI,IAAA,aAAA,CAAc,KAAK,IAAI,CAAA;AACzB,QAAO,OAAA,IAAA,CAAA;AAGT,MAAA,IAAI,SAAU,CAAA,MAAA,CAAO,CAAC,CAAA,KAAM,GAAK,EAAA;AAC/B,QAAM,MAAA,aAAA,GAAgB,SAAS,WAAY,EAAA,CAAA;AAC3C,QAAM,MAAA,SAAA,GAAY,UAAU,WAAY,EAAA,CAAA;AAExC,QAAI,IAAA,SAAA,GAAY,CAAC,SAAS,CAAA,CAAA;AAC1B,QAAI,IAAA,SAAA,KAAc,UAAU,SAAc,KAAA,OAAA;AACxC,UAAY,SAAA,GAAA,CAAC,QAAQ,OAAO,CAAA,CAAA;AAE9B,QAAA,OAAO,UAAU,IAAK,CAAA,CAAA,KAAA,KAAS,aAAc,CAAA,QAAA,CAAS,KAAK,CAAC,CAAA,CAAA;AAAA,OAC9D;AAGA,MAAI,IAAA,OAAA,CAAQ,KAAK,SAAS,CAAA;AACxB,QAAA,OAAO,YAAiB,KAAA,SAAA,CAAU,OAAQ,CAAA,OAAA,EAAS,EAAE,CAAA,CAAA;AAGvD,MAAA,IAAI,QAAa,KAAA,SAAA;AACf,QAAO,OAAA,IAAA,CAAA;AAGT,MAAI,IAAA,OAAA,CAAQ,IAAK,CAAA,SAAS,CAAG,EAAA;AAC3B,QAAQA,WAAA,CAAA,KAAA,EAAO,CAA6C,0CAAA,EAAA,SAAS,CAAmB,iBAAA,CAAA,CAAA,CAAA;AACxF,QAAO,OAAA,IAAA,CAAA;AAAA,OACT;AAEA,MAAO,OAAA,KAAA,CAAA;AAAA,KACR,CAAA,CAAA;AAAA,GACH;AACA,EAAO,OAAA,IAAA,CAAA;AACT,CAAA;;;;"}