{"version":3,"file":"typeFromMime.mjs","sources":["../../../admin/src/utils/typeFromMime.ts"],"sourcesContent":["import { AssetType, ASSET_TYPES, DocType, DOC_TYPES } from '../enums';\n\ntype MimeTypeMapKeys = Exclude | 'excel';\n\nconst MIME_TYPE_MAP: Record = {\n image: ASSET_TYPES.Image,\n video: ASSET_TYPES.Video,\n audio: ASSET_TYPES.Audio,\n pdf: DOC_TYPES.Pdf,\n csv: DOC_TYPES.Csv,\n // For XLS files the mime is application/vnd.ms-excel so we need to check for 'excel' not 'xls'\n excel: DOC_TYPES.Xls,\n zip: DOC_TYPES.Zip,\n};\n\nconst MIME_TYPE_KEYS = Object.keys(MIME_TYPE_MAP) as MimeTypeMapKeys[];\n\nexport const typeFromMime = (mime: string): AssetType | DocType => {\n const mimeTypeKey = MIME_TYPE_KEYS.find((m) => mime.toLowerCase().includes(m));\n\n if (mimeTypeKey === undefined) return ASSET_TYPES.Document;\n\n return MIME_TYPE_MAP[mimeTypeKey] ?? ASSET_TYPES.Document;\n};\n"],"names":["MIME_TYPE_MAP","image","ASSET_TYPES","Image","video","Video","audio","Audio","pdf","DOC_TYPES","Pdf","csv","Csv","excel","Xls","zip","Zip","MIME_TYPE_KEYS","Object","keys","typeFromMime","mime","mimeTypeKey","find","m","toLowerCase","includes","undefined","Document"],"mappings":";;AAIA,MAAMA,aAAAA,GAA8D;AAClEC,IAAAA,KAAAA,EAAOC,YAAYC,KAAK;AACxBC,IAAAA,KAAAA,EAAOF,YAAYG,KAAK;AACxBC,IAAAA,KAAAA,EAAOJ,YAAYK,KAAK;AACxBC,IAAAA,GAAAA,EAAKC,UAAUC,GAAG;AAClBC,IAAAA,GAAAA,EAAKF,UAAUG,GAAG;;AAElBC,IAAAA,KAAAA,EAAOJ,UAAUK,GAAG;AACpBC,IAAAA,GAAAA,EAAKN,UAAUO;AACjB,CAAA;AAEA,MAAMC,cAAAA,GAAiBC,MAAAA,CAAOC,IAAI,CAACnB,aAAAA,CAAAA;AAE5B,MAAMoB,eAAe,CAACC,IAAAA,GAAAA;IAC3B,MAAMC,WAAAA,GAAcL,cAAAA,CAAeM,IAAI,CAAC,CAACC,IAAMH,IAAAA,CAAKI,WAAW,EAAA,CAAGC,QAAQ,CAACF,CAAAA,CAAAA,CAAAA;AAE3E,IAAA,IAAIF,WAAAA,KAAgBK,SAAAA,EAAW,OAAOzB,WAAAA,CAAY0B,QAAQ;AAE1D,IAAA,OAAO5B,aAAa,CAACsB,WAAAA,CAAY,IAAIpB,YAAY0B,QAAQ;AAC3D;;;;"}