mime.ts20 lines · main
| 1 | import db from 'mime-db' |
| 2 | |
| 3 | // [Alaister]: This is going to be moved to the server side |
| 4 | // so can be removed once the server side is ready |
| 5 | |
| 6 | export const MIME_TYPES_BY_EXTENSION = Object.fromEntries( |
| 7 | Object.entries(db) |
| 8 | .filter(([, { extensions }]) => extensions !== undefined) |
| 9 | .flatMap(([mime, { extensions }]) => |
| 10 | extensions!.map((extension) => [extension.toLowerCase(), mime]) |
| 11 | ) |
| 12 | ) |
| 13 | |
| 14 | export function lookupMime(extension?: string): string | undefined { |
| 15 | if (extension === undefined) { |
| 16 | return undefined |
| 17 | } |
| 18 | |
| 19 | return MIME_TYPES_BY_EXTENSION[extension.toLowerCase()] |
| 20 | } |