@bugspotter/sdk
Version:
Professional bug reporting SDK with screenshots, session replay, and automatic error capture for web applications
33 lines (32 loc) • 1.21 kB
TypeScript
/**
* Upload Helpers
* Utilities for preparing data for presigned URL uploads
*/
/**
* Compress replay events using CompressionStream API (browser native)
* Falls back to no compression if API not available
* @param events - Session replay events array
* @returns Compressed Blob (gzip)
*/
export declare function compressReplayEvents(events: unknown[]): Promise<Blob>;
/**
* Convert screenshot canvas to Blob
* @param canvas - HTML Canvas element with screenshot
* @param quality - JPEG quality (0-1), default 0.9
* @returns Screenshot Blob
*/
export declare function canvasToBlob(canvas: HTMLCanvasElement, quality?: number): Promise<Blob>;
/**
* Estimate compressed size of replay events
* Uses rough heuristic: gzip typically achieves 80-90% compression for JSON
* @param events - Replay events array
* @returns Estimated compressed size in bytes
*/
export declare function estimateCompressedReplaySize(events: unknown[]): number;
/**
* Check if file size is within upload limits
* @param blob - File or Blob to check
* @param maxSizeMB - Maximum size in megabytes
* @returns True if within limit
*/
export declare function isWithinSizeLimit(blob: Blob, maxSizeMB: number): boolean;