UNPKG

@nanggo/social-preview

Version:

Generate beautiful social media preview images from any URL

49 lines (48 loc) 1.88 kB
/** * Metadata Extractor Module * Extracts Open Graph and Twitter Card metadata from URLs */ import { ExtractedMetadata, SecurityOptions } from '../types'; /** * Get statistics about in-flight requests for monitoring/debugging * @returns Object containing in-flight request statistics */ export declare function getInflightRequestStats(): { count: number; keys: string[]; maxLimit: number; utilizationPercent: number; }; /** * Clear all in-flight requests (useful for testing or cleanup) * WARNING: This will cause pending requests to potentially duplicate work */ export declare function clearInflightRequests(): void; /** * Test helper to access internal inflightRequests map * WARNING: Only for testing purposes */ export declare const __test_inflightRequests: Map<string, Promise<ExtractedMetadata>> | undefined; /** * Extract metadata from a given URL * @param url - The URL to extract metadata from * @param securityOptions - Security configuration options * @returns Extracted metadata object */ export declare function extractMetadata(url: string, securityOptions?: SecurityOptions): Promise<ExtractedMetadata>; /** * Fetch image from URL and return as buffer with size and type validation * @param imageUrl - URL of the image to fetch * @param securityOptions - Security configuration options * @param abortSignal - Optional abort signal for request cancellation * @returns Image buffer */ export declare function fetchImage(imageUrl: string, securityOptions?: SecurityOptions, abortSignal?: AbortSignal): Promise<Buffer>; /** * Validate metadata to ensure required fields are present */ export declare function validateMetadata(metadata: ExtractedMetadata): boolean; /** * Apply fallback values to incomplete metadata */ export declare function applyFallbacks(metadata: Partial<ExtractedMetadata>, url: string): ExtractedMetadata;