UNPKG

shelving

Version:

Toolkit for using data in JavaScript.

14 lines (13 loc) 656 B
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; }