From bbea6fb626a0c04ee5d53064f50c5007b5cb898c Mon Sep 17 00:00:00 2001 From: Ritesh Ghosh Date: Thu, 3 Aug 2023 01:29:20 +0530 Subject: [PATCH] feat(new types): added several new types & made types D.R.Y --- src/models/anime.ts | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/src/models/anime.ts b/src/models/anime.ts index 511202e..65c2b54 100644 --- a/src/models/anime.ts +++ b/src/models/anime.ts @@ -1,5 +1,3 @@ -import { HttpError } from "http-errors"; - export interface Anime { id: string | null; name: string | null; @@ -15,29 +13,33 @@ export interface Anime { type CommonAnimeProps = "id" | "name" | "poster"; -export interface Top10Anime extends Pick { +export interface Top10Anime extends Pick { rank: number | null; - eps: { - sub: number | null; - dub: number | null; - }; } export type Top10AnimeTimePeriod = "day" | "week" | "month"; -export interface AnimeSearchResult { - animes: Array | HttpError; - mostPopularAnimes: Array | HttpError; - totalPages: number; - currentPage: number; - hasNextPage: boolean; -} - export interface MostPopularAnime extends Pick { jname: string | null; - otherInfo: string[] | []; + otherInfo: string[]; } +export interface SpotlightAnime + extends MostPopularAnime, + Pick { + description: string | null; +} + +export interface TrendingAnime + extends Pick, + Pick {} + +export interface LatestEpisodeAnime extends Anime {} + +export interface TopUpcomingAnime extends Anime {} + +export interface TopAiringAnime extends MostPopularAnime {} + export type AnimeCategories = | "most-favorite" | "most-popular"