UNPKG

@premieroctet/next-admin

Version:

Next-Admin provides a customizable and turnkey admin dashboard for applications built with Next.js and powered by the Prisma ORM. It aims to simplify the development process by providing a turnkey admin system that can be easily integrated into your proje

52 lines (51 loc) 1.24 kB
const SUPPORTED_IMG_EXTENSIONS = [ "apng", "avif", "png", "gif", "jpg", "jpeg", "jfif", "pjpeg", "pjp", "png", "svg", "webp", "bmp", "ico", "cur", "tif", "tiff" ]; function isBase64Url(url) { return url.startsWith("data:"); } function getFilenameAndExtensionFromUrl(url) { const cleanUrl = url.split("?")[0].split("#")[0]; const fullFilename = cleanUrl.split("/").pop(); if (!fullFilename) return { fileName: void 0, extension: void 0 }; const [_, extension] = fullFilename.split("."); return { fileName: fullFilename, extension }; } function isImageType(url) { if (isBase64Url(url)) return url.split(":")[1].split(";")[0].includes("image"); { const { extension } = getFilenameAndExtensionFromUrl(url); if (!!extension) return SUPPORTED_IMG_EXTENSIONS.includes(extension.toLocaleLowerCase()); return false; } } function getFilenameFromUrl(url) { if (isBase64Url(url)) return; { const { fileName } = getFilenameAndExtensionFromUrl(url); return fileName; } } export { getFilenameAndExtensionFromUrl, getFilenameFromUrl, isBase64Url, isImageType };