shelving
Version:
Toolkit for using data in JavaScript.
14 lines (13 loc) • 656 B
JavaScript
import { RequiredError } from "../error/RequiredError.js";
/** Get the file extension from a file path, or return `undefined` if the input has no extension. */
export function getFileExtension(file) {
const i = file.lastIndexOf(".");
return (i >= 0 && file.slice(i + 1)) || undefined;
}
/** Get the file extension from a file path, or throw `RequiredError` if the input has no extension. */
export function requireFileExtension(file, caller = requireFileExtension) {
const extension = getFileExtension(file);
if (!extension)
throw new RequiredError("File extension is required", { received: file, caller });
return extension;
}