import path from 'path'; import { URL } from 'url'; const imageExtensionRegex = /\.(jpg|jpeg|png|gif|bmp|tiff|svg|webp)$/i; /** * Extracts the image basename from a given URL. * * @param urlString - The URL string from which the image basename is to be extracted. * @returns The basename of the image file from the URL. * Returns an empty string if the URL does not contain a valid image basename. */ export function getImageBasename(urlString: string) { try { const url = new URL(urlString); const basename = path.basename(url.pathname); return imageExtensionRegex.test(basename) ? basename : ''; } catch { // If URL parsing fails, return an empty string return ''; } } /** * Extracts the basename of a file from a given URL. * * @param urlString - The URL string from which the file basename is to be extracted. * @returns The basename of the file from the URL. * Returns an empty string if the URL parsing fails. */ export function getFileBasename(urlString: string) { try { const url = new URL(urlString); return path.basename(url.pathname); } catch { // If URL parsing fails, return an empty string return ''; } }