UNPKG

fingerprinter-js

Version:

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

50 lines 1.45 kB
/** * Base Collector Class * Abstract base class for all fingerprint collectors */ import { CollectorCategory, CollectorMetadata, ComponentCollector } from "../types"; /** * Abstract base class for collectors */ export declare abstract class BaseCollector<T = unknown> implements ComponentCollector<T> { abstract readonly name: string; abstract readonly metadata: CollectorMetadata; /** * Collect fingerprint data * Override this method in subclasses */ abstract collect(): Promise<T> | T; /** * Check if collector is supported * Override in subclasses for specific checks */ isSupported(): boolean; /** * Safe collection with error handling */ protected safeCollect<R>(fn: () => R, defaultValue: R): R; /** * Create metadata helper */ protected static createMetadata(name: string, options?: { weight?: number; entropy?: number; stable?: boolean; category?: CollectorCategory; }): CollectorMetadata; } /** * Async base collector with timeout support */ export declare abstract class AsyncBaseCollector<T = unknown> extends BaseCollector<T> { protected timeout: number; /** * Set collector timeout */ setTimeout(ms: number): this; /** * Wrap async operation with timeout */ protected withTimeout<R>(promise: Promise<R>, fallback: R): Promise<R>; } //# sourceMappingURL=base.d.ts.map