Co je zde splněno
-
Použili se predikáty
jePrihlasen,jePrivilegovan,neniBlokovan,maSouhlas,neniZakazanos ochranou protinull(short-circuit). -
Použity guard clauses – při nesplnění podmínky se funkce ihned vrací
false, bez hlubokého vnoření. -
Kontrola rolí je řešena tabulkově přes
Set.has. -
Negace je pouze tam, kde dává smysl (např.
neniZakazano), složitější výrazy jsou rozděleny do srozumitelných kroků. -
Výsledkem je
truepouze tehdy, když jsou všechny požadované podmínky splněny.
Poznámky
Původní podmínka trpěla chybnou negací a chybějícími závorkami (
!uzivatel.prihlasen && uzivatel.role === "admin" || ...) – po rozdělení do predikátů jsou priority podmínek zřejmé.Predikáty jsou bez vedlejších efektů, takže je lze snadno testovat a znovu použít.