Menu.ts
1 import { deserialize, deserializeWith, rename, t } from "desero"; 2 import { Meal } from "~/models"; 3 4 /** 5 * Menu of a specific date with meals details. 6 * @hideconstructor 7 */ 8 export class Menu { 9 /** 10 * For when this menu is made for. 11 */ 12 @deserializeWith((date) => new Date(date)) 13 public date = t.instance<Date>(); 14 15 /** 16 * Meals available in this menu. 17 */ 18 @rename("repas") 19 @deserializeWith((repas) => { 20 if (Array.isArray(repas)) { 21 return repas.map((repas) => deserialize(Meal, repas)); 22 } 23 24 return [deserialize(Meal, repas)]; 25 }) 26 public meals = t.array(t.reference(Meal)); 27 }