• Filter Comick results based on match configuration (one-shots, adult content).

    Parameters

    • comickResults: AniListManga[]

      Manga results from Comick.

    • title: string

      Original search title.

    • searchConfig: SearchServiceConfig

      Search configuration including cache bypass flag.

    Returns AniListManga[]

    Filtered manga array.

    export function applyComickFiltering(
    comickResults: AniListManga[],
    title: string,
    searchConfig: SearchServiceConfig,
    ): AniListManga[] {
    if (searchConfig.bypassCache) {
    return comickResults;
    }

    const matchConfig = getMatchConfig();
    let filteredResults = comickResults;

    if (matchConfig.shouldIgnoreOneShots) {
    const beforeFilter = filteredResults.length;
    filteredResults = filteredResults.filter((manga) => !isOneShot(manga));
    const afterFilter = filteredResults.length;

    if (beforeFilter > afterFilter) {
    console.debug(
    `[MangaSearchService] 🚫 Filtered out ${beforeFilter - afterFilter} one-shot(s) from Comick results for "${title}"`,
    );
    }
    }

    if (matchConfig.shouldIgnoreAdultContent) {
    const beforeFilter = filteredResults.length;
    filteredResults = filteredResults.filter((manga) => !manga.isAdult);
    const afterFilter = filteredResults.length;

    if (beforeFilter > afterFilter) {
    console.debug(
    `[MangaSearchService] 🚫 Filtered out ${beforeFilter - afterFilter} adult content from Comick results for "${title}"`,
    );
    }
    }

    return filteredResults;
    }