UNPKG

@paroicms/server

Version:
35 lines 1.3 kB
import { isResizeRule, isSizeName, } from "@paroicms/public-anywhere-lib"; import { extensionToMediaType } from "@paroicms/server-image-cache-engine"; export function parseImageRawSizeNameAndExt(nameAndExt) { const extIndex = nameAndExt.lastIndexOf("."); if (extIndex === -1) return; const mediaType = extensionToMediaType(nameAndExt.slice(extIndex + 1)); if (!mediaType) return; const name = nameAndExt.slice(0, extIndex); const match = name.match(/^(.+)-([0-9]+x[0-9]+)$/); if (!match) return; const [, slug, rawSizeName] = match; if (!isSizeName(rawSizeName)) return; return { slug, rawSizeName, mediaType }; } export function parseImageRenderedResizeRuleAndExt(nameAndExt) { const extIndex = nameAndExt.lastIndexOf("."); if (extIndex === -1) return; const mediaType = extensionToMediaType(nameAndExt.slice(extIndex + 1)); if (!mediaType) return; const nameAndSuffix = nameAndExt.slice(0, extIndex); const match = nameAndSuffix.match(/^(.+)-([0-9x]+)-rendered$/); if (!match) return; const [, slug, resizeRule] = match; if (!isResizeRule(resizeRule)) return; return { slug, resizeRule, mediaType }; } //# sourceMappingURL=_media-serve-helpers.js.map