Kyoo/front/src/models/show.ts
2025-07-14 02:56:51 +02:00

21 lines
560 B
TypeScript

import { z } from "zod/v4";
import { Collection } from "./collection";
import { Movie } from "./movie";
import { Serie } from "./serie";
export const Show = z.union([
Serie.and(z.object({ kind: z.literal("serie") })),
Movie.and(z.object({ kind: z.literal("movie") })),
Collection.and(z.object({ kind: z.literal("collection") })),
]);
export type Show = z.infer<typeof Show>;
export type WatchStatusV = NonNullable<Serie["watchStatus"]>["status"];
export const WatchStatusV = [
"completed",
"watching",
"rewatching",
"dropped",
"planned",
] as const;