22 lines
504 B
TypeScript
22 lines
504 B
TypeScript
import { detectMime } from "./mime.js";
|
|
|
|
export async function sniffMimeFromBase64(base64: string): Promise<string | undefined> {
|
|
const trimmed = base64.trim();
|
|
if (!trimmed) {
|
|
return undefined;
|
|
}
|
|
|
|
const take = Math.min(256, trimmed.length);
|
|
const sliceLen = take - (take % 4);
|
|
if (sliceLen < 8) {
|
|
return undefined;
|
|
}
|
|
|
|
try {
|
|
const head = Buffer.from(trimmed.slice(0, sliceLen), "base64");
|
|
return await detectMime({ buffer: head });
|
|
} catch {
|
|
return undefined;
|
|
}
|
|
}
|