/ src / models / Menu.ts
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  }