···3232 "type": "integer",
3333 "description": "The amount of time (in minutes) the recipe takes to complete."
3434 },
3535+ "serves": {
3636+ "type": "integer",
3737+ "description": "The amount of people the recipe will make servings for."
3838+ },
3539 "ingredients": {
3640 "type": "array",
3741 "items": {
···5757 title: string;
5858 description?: string;
5959 imageUrl?: string;
6060+ serves?: number;
6061 time?: number;
6162 }
6263 }
···8283 title: string;
8384 description?: string;
8485 imageUrl?: string;
8686+ serves?: number;
8587 type?: string;
8688 }
8789 }
···106108 description?: string;
107109 /** The recipe's cover image. */
108110 image?: At.Blob;
111111+ /** The amount of people the recipe will make servings for. */
112112+ serves?: number;
109113 /** The amount of time (in minutes) the recipe takes to complete. */
110114 time?: number;
111115 }
+1
libs/lexicons/src/recipe.ts
···77 title: z.string().max(3000, 'Recipe titles must be under 3000 characters.'),
88 description: z.string().max(3000, 'Recipe descriptions must be under 3000 characters.').nullable(),
99 time: z.number({ message: 'Time must be a number.' }),
1010+ serves: z.number({ message: 'Serves must be a number.' }),
1011 ingredients: z.array(IngredientObject),
1112 steps: z.array(StepObject),
1213});