Files
SnowLuma/.pnpm-store/v11/files/2e/cc655c9bc2877cbc9eefd6a57db235f923d5386f6ed097f8412369015606f581b3d7ef60ef333730917c6ee7281d04dbda3a7618dbd755802bbdce39bd987a
T
TanTan 2a69b23b47
Dev Build / cleanup (push) Waiting to run
Dev Build / typecheck (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:27:07 +08:00

81 lines
2.1 KiB
Plaintext

Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
//#region src/utils/mime.ts
/**
* @module
* MIME utility.
*/
const getMimeType = (filename, mimes = baseMimes) => {
const match = filename.match(/\.([a-zA-Z0-9]+?)$/);
if (!match) return;
return mimes[match[1].toLowerCase()];
};
const getExtension = (mimeType) => {
const baseType = mimeType.split(";", 1)[0].trim();
for (const ext in baseMimes) {
const stored = baseMimes[ext];
if (stored === mimeType || stored.split(";", 1)[0].trim() === baseType) return ext;
}
};
const baseMimes = {
aac: "audio/aac",
avi: "video/x-msvideo",
avif: "image/avif",
av1: "video/av1",
bin: "application/octet-stream",
bmp: "image/bmp",
css: "text/css; charset=utf-8",
csv: "text/csv; charset=utf-8",
eot: "application/vnd.ms-fontobject",
epub: "application/epub+zip",
gif: "image/gif",
gz: "application/gzip",
htm: "text/html; charset=utf-8",
html: "text/html; charset=utf-8",
ico: "image/x-icon",
ics: "text/calendar; charset=utf-8",
jpeg: "image/jpeg",
jpg: "image/jpeg",
js: "text/javascript; charset=utf-8",
json: "application/json",
jsonld: "application/ld+json",
map: "application/json",
mid: "audio/x-midi",
midi: "audio/x-midi",
mjs: "text/javascript; charset=utf-8",
mp3: "audio/mpeg",
mp4: "video/mp4",
mpeg: "video/mpeg",
oga: "audio/ogg",
ogv: "video/ogg",
ogx: "application/ogg",
opus: "audio/opus",
otf: "font/otf",
pdf: "application/pdf",
png: "image/png",
rtf: "application/rtf",
svg: "image/svg+xml; charset=utf-8",
tif: "image/tiff",
tiff: "image/tiff",
ts: "video/mp2t",
ttf: "font/ttf",
txt: "text/plain; charset=utf-8",
wasm: "application/wasm",
webm: "video/webm",
weba: "audio/webm",
webmanifest: "application/manifest+json",
webp: "image/webp",
woff: "font/woff",
woff2: "font/woff2",
xhtml: "application/xhtml+xml; charset=utf-8",
xml: "application/xml; charset=utf-8",
zip: "application/zip",
"3gp": "video/3gpp",
"3g2": "video/3gpp2",
gltf: "model/gltf+json",
glb: "model/gltf-binary"
};
//#endregion
exports.getExtension = getExtension;
exports.getMimeType = getMimeType;
exports.mimes = baseMimes;