• Hook for filtering reading history with worker pool support Memoizes results by cache key to avoid redundant computations

    Parameters

    • readingHistory: ReadingHistory
    • dateRange: { start: number | Date; end: number | Date }
    • OptionalaggregationType: "none" | "daily" | "weekly"
    • OptionalonProgressChange: (stage: string, progress: number, message: string) => void

    Returns {
        filterResult: null | ReadingHistoryFilterResult;
        isFiltering: boolean;
        error: null | Error;
        cacheKey: string;
    }