• Advanced search for manga with additional filters.

    Parameters

    • search: string

      Search query.

    • filters: { genres?: string[]; tags?: string[]; formats?: string[] } = {}

      Filter options.

    • page: number = 1

      Page number.

    • perPage: number = 50

      Results per page.

    • Optionaltoken: string

      Optional access token.

    • OptionalbypassCache: boolean

      Optional parameter to bypass cache.

    Returns Promise<SearchResult<AniListManga>>

    Promise resolving to search results.

    export async function advancedSearchManga(
    search: string,
    filters: {
    genres?: string[];
    tags?: string[];
    formats?: string[];
    } = {},
    page: number = 1,
    perPage: number = 50,
    token?: string,
    bypassCache?: boolean,
    ): Promise<SearchResult<AniListManga>> {
    const cacheKey = generateCacheKey(search, page, perPage, filters);
    const variables = {
    search,
    page,
    perPage,
    genre_in: filters.genres,
    tag_in: filters.tags,
    format_in: filters.formats,
    };

    return executeSearchQuery(
    ADVANCED_SEARCH_MANGA,
    variables,
    search,
    cacheKey,
    "Advanced search",
    token,
    bypassCache,
    page,
    perPage,
    );
    }