astro
Version:
Astro is a modern site builder with web best practices, performance, and DX front-of-mind.
16 lines (15 loc) • 508 B
JavaScript
import { extname } from "node:path";
import { AstroError, AstroErrorData } from "../../../core/errors/index.js";
import { isFontType } from "../utils.js";
export class NodeFontTypeExtractor {
extract(url) {
const extension = extname(url).slice(1);
if (!isFontType(extension)) {
throw new AstroError({
...AstroErrorData.CannotExtractFontType,
message: AstroErrorData.CannotExtractFontType.message(url)
}, { cause: `Unexpected extension, got "${extension}"` });
}
return extension;
}
}