• Returns whether a match violates the allowed genres filter.

    Parameters

    Returns boolean

    True if no required genre is present.

    export function failsGenreFilter(
    match: MangaMatchResult,
    filters: AdvancedMatchFilters,
    ): boolean {
    if (filters.genres.length === 0) {
    return false;
    }
    const matchManga = match.selectedMatch || match.anilistMatches?.[0]?.manga;
    const genres = matchManga?.genres;
    if (!genres?.length) {
    return false;
    }
    const genresLower = new Set(
    genres.map((genre: string) => genre.toLowerCase()),
    );
    return !filters.genres.some((filterGenre: string) =>
    genresLower.has(filterGenre.toLowerCase()),
    );
    }