namespace _dali { /** */ export function access_level_encode( access_level : _dali.type.enum_access_level ) : ("none" | "view" | "edit" | "admin") { switch (access_level) { case _dali.type.enum_access_level.none: return "none"; case _dali.type.enum_access_level.view: return "view"; case _dali.type.enum_access_level.edit: return "edit"; case _dali.type.enum_access_level.admin: return "admin"; } } /** */ export function access_level_decode( representation : /*("none" | "view" | "edit" | "admin")*/string ) : _dali.type.enum_access_level { switch (representation) { case "none": return _dali.type.enum_access_level.none; case "view": return _dali.type.enum_access_level.view; case "edit": return _dali.type.enum_access_level.edit; case "admin": return _dali.type.enum_access_level.admin; default: throw (new Error("invalid access level representation: " + representation)); } } /** */ export function view_mode_encode( mode : _dali.type.enum_view_mode ) : string { switch (mode) { case _dali.type.enum_view_mode.week: {return "week"; break;} case _dali.type.enum_view_mode.list: {return "list"; break;} default: {throw (new Error("invalid mode"));} } } /** */ export function view_mode_decode( view_mode_encoded : string ) : _dali.type.enum_view_mode { const map : Record = { "week": _dali.type.enum_view_mode.week, "list": _dali.type.enum_view_mode.list, }; if (! (view_mode_encoded in map)) { throw (new Error("invalid mode: " + view_mode_encoded)); } else { return map[view_mode_encoded]; } } /** */ export function view_mode_determine( mode_descriptor : string ) : _dali.type.enum_view_mode { if (mode_descriptor === "auto") { return ( (window.innerWidth >= 800) ? _dali.type.enum_view_mode.week : _dali.type.enum_view_mode.list ); } else { return view_mode_decode(mode_descriptor); } } }