UNPKG

bitcoin-inscription-viewer

Version:

🔍 A robust, production-ready React/TypeScript library for viewing Bitcoin Ordinals inscriptions with advanced optimization features including LRU caching, LaserEyes wallet integration, virtual scrolling, and performance monitoring

49 lines 1.58 kB
/** * Batch Fetching Utilities for Inscription Content * Provides efficient batch operations and concurrent request management */ export interface BatchFetchConfig { batchSize?: number; maxConcurrency?: number; retryAttempts?: number; retryDelay?: number; timeout?: number; priorityQueue?: boolean; } export interface BatchFetchResult<T> { successful: Map<string, T>; failed: Map<string, Error>; stats: { totalRequests: number; successCount: number; failureCount: number; averageResponseTime: number; totalTime: number; }; } export interface FetchRequest { id: string; priority?: number; fetcher: () => Promise<any>; } declare class BatchFetcher { private config; private activeRequests; private requestQueue; constructor(config?: BatchFetchConfig); fetchBatch<T>(requests: FetchRequest[]): Promise<BatchFetchResult<T>>; private processBatchConcurrently; private fetchWithRetry; private delay; getActiveRequests(): string[]; getQueueSize(): number; } export declare const createBatchFetchRequests: (inscriptionIds: string[], fetcher: (id: string) => Promise<any>, priorities?: Record<string, number>) => FetchRequest[]; export declare const batchFetcher: BatchFetcher; export declare const useBatchFetcher: (config?: BatchFetchConfig) => { fetchBatch: <T>(requests: FetchRequest[]) => Promise<BatchFetchResult<T>>; getActiveRequests: () => string[]; getQueueSize: () => number; }; export {}; //# sourceMappingURL=batchFetcher.d.ts.map