• shape_warrior_t@programming.dev
      link
      fedilink
      English
      arrow-up
      3
      ·
      edit-2
      3 hours ago

      I was thinking of the three legal states as:

      • not logged in (null or {isAdmin: false, isLoggedIn: false})
      • logged in as non-admin (false or {isAdmin: false, isLoggedIn: true})
      • logged in as admin (true or {isAdmin: true, isLoggedIn: true})

      which leaves {isAdmin: true, isLoggedIn: false} as an invalid, nonsensical state. (How would you know the user’s an admin if they’re not logged in?) Of course, in a different context, all four states could potentially be distinctly meaningful.