UNPKG

@squarecloud/blob

Version:
1 lines 6.45 kB
{"version":3,"sources":["../../../src/utils/mimetype/mimetypes.ts","../../../src/utils/mimetype/enum.ts","../../../src/utils/mimetype/index.ts"],"sourcesContent":["export const mimeTypesWithExtension = {\n\t\"video/mp4\": [\"mp4\"],\n\t\"video/mpeg\": [\"mpeg\"],\n\t\"video/webm\": [\"webm\"],\n\t\"video/x-flv\": [\"flv\"],\n\t\"video/x-m4v\": [\"m4v\"],\n\t\"image/jpeg\": [\"jpg\", \"jpeg\"],\n\t\"image/png\": [\"png\"],\n\t\"image/apng\": [\"apng\"],\n\t\"image/tiff\": [\"tiff\"],\n\t\"image/gif\": [\"gif\"],\n\t\"image/webp\": [\"webp\"],\n\t\"image/bmp\": [\"bmp\"],\n\t\"image/svg+xml\": [\"svg\"],\n\t\"image/x-icon\": [\"ico\"],\n\t\"image/ico\": [\"ico\"],\n\t\"image/cur\": [\"cur\"],\n\t\"image/heic\": [\"heic\"],\n\t\"image/heif\": [\"heif\"],\n\t\"audio/wav\": [\"wav\"],\n\t\"audio/ogg\": [\"ogg\"],\n\t\"audio/opus\": [\"opus\"],\n\t\"audio/mp4\": [\"mp4\"],\n\t\"audio/mpeg\": [\"mp3\"],\n\t\"audio/aac\": [\"aac\"],\n\t\"text/plain\": [\"txt\"],\n\t\"text/html\": [\"html\"],\n\t\"text/css\": [\"css\"],\n\t\"text/csv\": [\"csv\"],\n\t\"text/x-sql\": [\"sql\"],\n\t\"application/xml\": [\"xml\"],\n\t\"application/sql\": [\"sql\"],\n\t\"application/x-sql\": [\"sql\"],\n\t\"application/x-sqlite3\": [\"sqlite3\"],\n\t\"application/x-pkcs12\": [\"pfx\"],\n\t\"application/pdf\": [\"pdf\"],\n\t\"application/json\": [\"json\"],\n\t\"application/javascript\": [\"js\"],\n};\n\nexport const mimeTypes = Object.keys(mimeTypesWithExtension) as [\n\tMimeType,\n\t...MimeType[],\n];\n\nexport type MimeType = keyof typeof mimeTypesWithExtension;\n","export enum MimeTypes {\n\tVIDEO_MP4 = \"video/mp4\",\n\tVIDEO_MPEG = \"video/mpeg\",\n\tVIDEO_WEBM = \"video/webm\",\n\tVIDEO_X_FLV = \"video/x-flv\",\n\tVIDEO_X_M4V = \"video/x-m4v\",\n\tIMAGE_JPEG = \"image/jpeg\",\n\tIMAGE_PNG = \"image/png\",\n\tIMAGE_APNG = \"image/apng\",\n\tIMAGE_TIFF = \"image/tiff\",\n\tIMAGE_GIF = \"image/gif\",\n\tIMAGE_WEBP = \"image/webp\",\n\tIMAGE_BMP = \"image/bmp\",\n\tIMAGE_SVG = \"image/svg+xml\",\n\tIMAGE_X_ICON = \"image/x-icon\",\n\tIMAGE_ICO = \"image/ico\",\n\tIMAGE_CUR = \"image/cur\",\n\tIMAGE_HEIC = \"image/heic\",\n\tIMAGE_HEIF = \"image/heif\",\n\tAUDIO_WAV = \"audio/wav\",\n\tAUDIO_OGG = \"audio/ogg\",\n\tAUDIO_OPUS = \"audio/opus\",\n\tAUDIO_MP4 = \"audio/mp4\",\n\tAUDIO_MPEG = \"audio/mpeg\",\n\tAUDIO_AAC = \"audio/aac\",\n\tTEXT_PLAIN = \"text/plain\",\n\tTEXT_HTML = \"text/html\",\n\tTEXT_CSS = \"text/css\",\n\tTEXT_CSV = \"text/csv\",\n\tTEXT_X_SQL = \"text/x-sql\",\n\tAPPLICATION_XML = \"application/xml\",\n\tAPPLICATION_SQL = \"application/sql\",\n\tAPPLICATION_X_SQL = \"application/x-sql\",\n\tAPPLICATION_X_SQLITE3 = \"application/x-sqlite3\",\n\tAPPLICATION_X_PKCS12 = \"application/x-pkcs12\",\n\tAPPLICATION_PDF = \"application/pdf\",\n\tAPPLICATION_JSON = \"application/json\",\n\tAPPLICATION_JAVASCRIPT = \"application/javascript\",\n}\n","import { type MimeType, mimeTypes, mimeTypesWithExtension } from \"./mimetypes\";\n\n// biome-ignore lint/complexity/noStaticOnlyClass: organization\nexport class MimeTypeUtil {\n\t/** Supported mime types with their extensions */\n\tstatic mimeTypesWithExtension = mimeTypesWithExtension;\n\t/** All supported mime types */\n\tstatic mimeTypes = mimeTypes;\n\n\t/**\n\t * Returns the corresponding MIME type for a given file extension.\n\t *\n\t * @param extension - The file extension to search for.\n\t * @return The MIME type associated with the extension, or \"text/plain\" if not found.\n\t *\n\t * @example\n\t * ```js\n\t * \tMimeTypeUtil.fromExtension(\"jpeg\") // \"image/jpeg\" | Supported\n\t * \tMimeTypeUtil.fromExtension(\"json\") // \"application/json\" | Supported\n\t * \tMimeTypeUtil.fromExtension(\"potato\") // \"text/plain\" | Unsupported, defaults to text/plain\n\t * ```\n\t */\n\tstatic fromExtension(extension: string): MimeType {\n\t\tconst entries = Object.entries(mimeTypesWithExtension);\n\t\tconst mimeType = entries.find(([, extensions]) =>\n\t\t\textensions.includes(extension),\n\t\t)?.[0];\n\n\t\treturn (mimeType as MimeType) || \"text/plain\";\n\t}\n}\n\nexport * from \"./enum\";\nexport { MimeType } from \"./mimetypes\";\n"],"mappings":"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","names":["MimeTypes"]}