interface UseAdvancedFilterResult {
    filteredMatches: MangaMatchResult[];
    stats:
        | null
        | {
            totalMatches: number;
            filteredCount: number;
            confidenceFiltered: number;
            formatFiltered: number;
            genreFiltered: number;
            statusFiltered: number;
            yearFiltered: number;
            tagFiltered: number;
        };
    isFiltering: boolean;
    timing: | null
    | { processingTimeMs: number; filterApplicationTimeMs: number };
    wasWorkerExecution: boolean;
    error: null | Error;
    debug?: { mismatchReasons: { matchId: number; reason: string }[] };
}

Properties

filteredMatches: MangaMatchResult[]

Filtered match results

stats:
    | null
    | {
        totalMatches: number;
        filteredCount: number;
        confidenceFiltered: number;
        formatFiltered: number;
        genreFiltered: number;
        statusFiltered: number;
        yearFiltered: number;
        tagFiltered: number;
    }

Statistics about the filter operation

isFiltering: boolean

Whether a filter operation is currently in progress

timing: null | { processingTimeMs: number; filterApplicationTimeMs: number }

Performance timing from last filter operation

wasWorkerExecution: boolean

Whether the last filter was executed on a worker

error: null | Error

Error from filter operation (if any)

debug?: { mismatchReasons: { matchId: number; reason: string }[] }

Debug information about the last operation

Type declaration

  • mismatchReasons: { matchId: number; reason: string }[]

    Reasons why matches were filtered out (limited to 100 entries)