Pular para o conteúdo principal

@cactus-agents/utils

Helpers framework-agnostic para manipulação de URLs de imagem.

Instalação

pnpm add @cactus-agents/utils

API

getUrlForApiImage(image, options?)

Constrói a URL correta para uma imagem, detectando o tipo automaticamente:

import { getUrlForApiImage } from '@cactus-agents/utils';

// Cloudflare Image Delivery — adiciona /w=N e params de quality/format
getUrlForApiImage('https://imagedelivery.net/abc/image-id/public', { width: 300 })
// → "https://imagedelivery.net/abc/image-id/w=300"

// URL externa — retorna como está
getUrlForApiImage('https://external.com/banner.jpg')
// → "https://external.com/banner.jpg"

// Path relativo — adiciona prefixo /api/storage/
getUrlForApiImage('uploads/logo.png')
// → "/api/storage/uploads/logo.png"

// null/undefined — retorna undefined
getUrlForApiImage(null)
// → undefined

getAssetsUrlForCDN(image, cdnBaseUrl?, options?)

Prepends CDN base URL a assets locais:

import { getAssetsUrlForCDN } from '@cactus-agents/utils';

// Path local → CDN
getAssetsUrlForCDN('/assets/icon.png', 'https://cdn.example.com')
// → "https://cdn.example.com/assets/icon.png"

// URL externa → passa direto
getAssetsUrlForCDN('https://external.com/img.jpg', 'https://cdn.example.com')
// → "https://external.com/img.jpg"

ImageOptions

interface ImageOptions {
width?: number;
height?: number;
format?: string;
quality?: number;
}