UNPKG

fingerprinter-js

Version:

Enterprise-grade browser fingerprinting with 19 collectors and advanced bot detection

83 lines 2.56 kB
import { FingerprintEngineConfig, FingerprintResult, FingerprintOptions, SuspectAnalysisConfig } from '../types'; /** * Advanced Fingerprint Engine with Dependency Injection * Implements SOLID principles and provides enterprise-grade functionality * * Key features: * - Dependency injection for collectors and detectors * - Configurable performance settings * - Comprehensive error handling and recovery * - Parallel and sequential collection modes * - Performance monitoring and optimization */ export declare class FingerprintEngine { private readonly config; private readonly analyzer; private readonly performanceMetrics; constructor(config: FingerprintEngineConfig); /** * Generate a comprehensive fingerprint with full analysis */ generate(): Promise<FingerprintResult>; /** * Collect components from all configured collectors */ private collectComponents; /** * Collect components in parallel for better performance */ private collectComponentsParallel; /** * Collect components sequentially for better error isolation */ private collectComponentsSequential; /** * Execute a collector with timeout protection */ private executeCollectorWithTimeout; /** * Calculate confidence score based on collection results */ private calculateConfidence; /** * Generate fingerprint hash from components */ private generateFingerprintHash; /** * Normalize components for consistent hashing */ private normalizeComponents; /** * Normalize individual values for consistent hashing */ private normalizeValue; /** * Validate and normalize configuration */ private validateAndNormalizeConfig; /** * Get performance metrics from last collection */ getPerformanceMetrics(): Readonly<Record<string, number>>; /** * Get available collectors */ getAvailableCollectors(): ReadonlyArray<string>; /** * Get available detectors */ getAvailableDetectors(): ReadonlyArray<string>; /** * Get configuration */ getConfig(): FingerprintEngineConfig; /** * Create a new engine with modified options */ withOptions(options: Partial<FingerprintOptions>): FingerprintEngine; /** * Create a new engine with modified suspect configuration */ withSuspectConfig(suspectConfig: Partial<SuspectAnalysisConfig>): FingerprintEngine; } //# sourceMappingURL=fingerprint-engine.d.ts.map