UNPKG

@bugspotter/sdk

Version:

Professional bug reporting SDK with screenshots, session replay, and automatic error capture for web applications

50 lines (49 loc) 1.93 kB
export interface CompressionConfig { gzipLevel?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -1; imageMaxWidth?: number; imageMaxHeight?: number; webpQuality?: number; jpegQuality?: number; verbose?: boolean; } /** * Compress JSON or string data using gzip * @param data - Data to compress (will be JSON stringified if object) * @param config - Optional compression configuration * @returns Compressed data as Uint8Array */ export declare function compressData(data: unknown, config?: CompressionConfig): Promise<Uint8Array>; /** * Decompress gzipped data back to original format * Useful for testing and verification * @param compressed - Compressed Uint8Array data * @param config - Optional configuration * @returns Decompressed and parsed data (or string if input was string) */ export declare function decompressData(compressed: Uint8Array, config?: Pick<CompressionConfig, 'verbose'>): unknown; /** * Optimize and compress screenshot image * Converts to WebP if supported, resizes if too large, then compresses * @param base64 - Base64 encoded image (PNG or other format) * @param config - Optional compression configuration * @returns Optimized base64 image string */ export declare function compressImage(base64: string, config?: CompressionConfig): Promise<string>; /** * Calculate compression ratio for analytics * @param originalSize - Original data size in bytes * @param compressedSize - Compressed data size in bytes * @returns Compression ratio as percentage (0-100) */ export declare function getCompressionRatio(originalSize: number, compressedSize: number): number; /** * Estimate payload size before compression * @param data - Data to estimate * @returns Estimated size in bytes */ export declare function estimateSize(data: unknown): number; /** * Reset cached instances (useful for testing) * @internal */ export declare function resetCompressionCache(): void;