mirror of
https://github.com/BradNut/boredgame
synced 2025-09-08 17:40:22 +00:00
39 lines
877 B
TypeScript
39 lines
877 B
TypeScript
import { z } from 'zod';
|
|
import zodToJsonSchema from 'zod-to-json-schema';
|
|
|
|
export const BoardGameSearch = z.object({
|
|
minAge: z.number(),
|
|
maxAge: z.number(),
|
|
minPlayers: z.number(),
|
|
maxPlayers: z.number()
|
|
});
|
|
|
|
export const Board
|
|
|
|
export const game_schema = z.object({
|
|
id: z.string(),
|
|
handle: z.string(),
|
|
name: z.string(),
|
|
url: z.string(),
|
|
edit_url: z.string(),
|
|
price: z.number(),
|
|
price_ca: z.number(),
|
|
price_uk: z.number(),
|
|
price_au: z.number(),
|
|
msrp: z.number(),
|
|
year_published: z.number(),
|
|
min_players: z.number(),
|
|
max_players: z.number(),
|
|
min_playtime: z.number(),
|
|
max_playtime: z.number(),
|
|
min_age: z.number(),
|
|
description: z.string(),
|
|
players: z.string(),
|
|
playtime: z.string()
|
|
});
|
|
|
|
export const game_raw_schema_json = zodToJsonSchema(game_schema, {
|
|
$refStrategy: 'none',
|
|
});
|
|
|
|
export type Game = z.infer<typeof game_schema>;
|