import { z } from "zod"; const intensity = z.enum(["mild", "moderate", "strong"]); const confidence = z.enum(["high", "medium", "low"]); export const ratingExplainedSchema = z.object({ officialRating: z.string(), region: z.string(), summary: z.string(), factors: z.array( z.object({ category: z.enum([ "violence", "language", "sexuality", "substances", "frightening", "other", ]), intensity, description: z.string(), approximateTiming: z.string().optional(), confidence: confidence.optional(), }), ), borderlineNote: z.string().optional(), }); export const internationalRatingsSchema = z.object({ ratings: z.array( z.object({ country: z.string(), countryCode: z.string(), rating: z.string(), descriptors: z.array(z.string()).optional(), }), ), discrepancyNote: z.string(), strictestCountry: z.string().optional(), mostLenientCountry: z.string().optional(), }); export type RatingExplained = z.infer; export type InternationalRatings = z.infer;