import { APIError } from "./api_error"; export function objForEach( obj: T, f: (k: keyof T, v: T[keyof T]) => void, ): void { for (const k in obj) { if (Object.prototype.hasOwnProperty.call(obj, k)) { f(k, obj[k]); } } } export type Loading = T | "loading" | "error"; export function loading_success(o: Loading): o is T { if (o === "loading") return false; if (o === "error") return false; return true; } export function ensure_loaded(o: Loading): T { if (!loading_success(o)) throw ""; return o; } export function handle_error(error: unknown) { if (error instanceof APIError) { error.alert(); } else { console.error(error); } } export function name_door(day: number): string { return `Türchen ${day}`; }