Files
supabase/apps/studio/lib/mime.ts
Alaister Young b897d51a53 feat: use TUS for file uploads in dashboard (#28030)
* feat: use TUS for file uploads in dashboard

* handle upload progress

* add fallback for mime types

* lowercase extensions

* add note about mime

* Handle file size 0 and make check for nbsp replacement

* Fix NaN in progress

---------

Co-authored-by: Joshen Lim <joshenlimek@gmail.com>
2024-07-17 13:27:00 +08:00

21 lines
588 B
TypeScript

import db from 'mime-db'
// [Alaister]: This is going to be moved to the server side
// so can be removed once the server side is ready
export const MIME_TYPES_BY_EXTENSION = Object.fromEntries(
Object.entries(db)
.filter(([, { extensions }]) => extensions !== undefined)
.flatMap(([mime, { extensions }]) =>
extensions!.map((extension) => [extension.toLowerCase(), mime])
)
)
export function lookupMime(extension?: string): string | undefined {
if (extension === undefined) {
return undefined
}
return MIME_TYPES_BY_EXTENSION[extension.toLowerCase()]
}