diff --git a/src/lib/data/Mangas.ts b/src/lib/data/Mangas.ts index 7d3d4059..9e4e00d6 100644 --- a/src/lib/data/Mangas.ts +++ b/src/lib/data/Mangas.ts @@ -124,13 +124,25 @@ type MigrateOptions = { migrateCategories?: boolean; deleteChapters?: boolean; }; + +type MarkAsReadActionOption = MarkAsReadOptions & + PropertiesNever & + PropertiesNever; +type ChangeCategoriesActionOption = PropertiesNever & + ChangeCategoriesOptions & + PropertiesNever; +type MigrateActionOption = PropertiesNever & + PropertiesNever & + MigrateOptions; +type DefaultActionOption = Partial & Partial & Partial; + type PerformActionOptions = Action extends 'mark_as_read' - ? MarkAsReadOptions & PropertiesNever & PropertiesNever + ? MarkAsReadActionOption : Action extends 'change_categories' - ? PropertiesNever & ChangeCategoriesOptions & PropertiesNever + ? ChangeCategoriesActionOption : Action extends 'migrate' - ? PropertiesNever & PropertiesNever & MigrateOptions - : Partial & Partial & Partial; + ? MigrateActionOption + : DefaultActionOption; export class Mangas { static getIds(mangas: { id: number }[]): number[] {