animedex.backends.anilist._mapper

AniList raw payload → typed dataclass mapping helpers.

Each map_* function takes a parsed JSON dict (the inner data.<root> block from a GraphQL response) plus a SourceTag and returns the matching rich dataclass from animedex.backends.anilist.models.

When the upstream returned null for a single-id query (i.e. data.Media is None), the mapper raises ApiError with reason="not-found" so the Python API surface presents a consistent semantic.

map_media

animedex.backends.anilist._mapper.map_media(payload: Dict[str, Any], src: SourceTag) AnilistAnime[source]

map_media_list

animedex.backends.anilist._mapper.map_media_list(payload: Dict[str, Any], src: SourceTag) List[AnilistAnime][source]

map_character

animedex.backends.anilist._mapper.map_character(payload: Dict[str, Any], src: SourceTag) AnilistCharacter[source]

map_character_list

animedex.backends.anilist._mapper.map_character_list(payload: Dict[str, Any], src: SourceTag) List[AnilistCharacter][source]

map_staff

animedex.backends.anilist._mapper.map_staff(payload: Dict[str, Any], src: SourceTag) AnilistStaff[source]

map_staff_list

animedex.backends.anilist._mapper.map_staff_list(payload: Dict[str, Any], src: SourceTag) List[AnilistStaff][source]

map_studio

animedex.backends.anilist._mapper.map_studio(payload: Dict[str, Any], src: SourceTag) AnilistStudio[source]

map_studio_list

animedex.backends.anilist._mapper.map_studio_list(payload: Dict[str, Any], src: SourceTag) List[AnilistStudio][source]

map_user

animedex.backends.anilist._mapper.map_user(payload: Dict[str, Any], src: SourceTag) AnilistUser[source]

map_user_list

animedex.backends.anilist._mapper.map_user_list(payload: Dict[str, Any], src: SourceTag) List[AnilistUser][source]

map_genre_collection

animedex.backends.anilist._mapper.map_genre_collection(payload: Dict[str, Any], src: SourceTag) AnilistGenreCollection[source]

map_media_tag_collection

animedex.backends.anilist._mapper.map_media_tag_collection(payload: Dict[str, Any], src: SourceTag) List[AnilistMediaTag][source]

map_site_statistics

animedex.backends.anilist._mapper.map_site_statistics(payload: Dict[str, Any], src: SourceTag) AnilistSiteStatistics[source]

map_airing_schedule

animedex.backends.anilist._mapper.map_airing_schedule(payload: Dict[str, Any], src: SourceTag) List[AnilistAiringSchedule][source]

map_media_trend

animedex.backends.anilist._mapper.map_media_trend(payload: Dict[str, Any], src: SourceTag) List[AnilistMediaTrend][source]

map_review

animedex.backends.anilist._mapper.map_review(payload: Dict[str, Any], src: SourceTag) List[AnilistReview][source]

map_recommendation

animedex.backends.anilist._mapper.map_recommendation(payload: Dict[str, Any], src: SourceTag) List[AnilistRecommendation][source]

map_thread

animedex.backends.anilist._mapper.map_thread(payload: Dict[str, Any], src: SourceTag) List[AnilistThread][source]

map_thread_comment

animedex.backends.anilist._mapper.map_thread_comment(payload: Dict[str, Any], src: SourceTag) List[AnilistThreadComment][source]

map_activity

animedex.backends.anilist._mapper.map_activity(payload: Dict[str, Any], src: SourceTag) List[AnilistActivity][source]

map_activity_reply

animedex.backends.anilist._mapper.map_activity_reply(payload: Dict[str, Any], src: SourceTag) List[AnilistActivityReply][source]

map_follow

animedex.backends.anilist._mapper.map_follow(payload: Dict[str, Any], key: str, src: SourceTag) List[AnilistFollowEntry][source]

Shared between map_following() / map_follower().

map_media_list_public

animedex.backends.anilist._mapper.map_media_list_public(payload: Dict[str, Any], src: SourceTag) List[AnilistMediaListEntry][source]

map_viewer

animedex.backends.anilist._mapper.map_viewer(payload: Dict[str, Any], src: SourceTag) AnilistUser[source]

Map data.Viewer (authenticated) to AnilistUser.

Same shape as data.User from the public Q_USER_BY_NAME query, just keyed under Viewer. We delegate to map_user() after relabelling.

map_notification

animedex.backends.anilist._mapper.map_notification(payload: Dict[str, Any], src: SourceTag) List[AnilistNotification][source]

map_markdown

animedex.backends.anilist._mapper.map_markdown(payload: Dict[str, Any], src: SourceTag) AnilistMarkdown[source]

map_ani_chart_user

animedex.backends.anilist._mapper.map_ani_chart_user(payload: Dict[str, Any], src: SourceTag) AnilistAniChartUser[source]

map_media_list_collection_public

animedex.backends.anilist._mapper.map_media_list_collection_public(payload: Dict[str, Any], src: SourceTag) AnilistMediaListCollection[source]