Присвоение приоритета уровням доступа безопасности

#javascript #typescript

#javascript #typescript

Вопрос:

У меня есть следующие уровни доступа для моего приложения

 type accessLevels = "ReadOnly" | "Write" | "Admin";
  

Серверная часть возвращает массив level объектов, который содержит уровень доступа.

 const levels = [
    {
        access: "ReadOnly"
    },
    {
        access: "Write"
    }
]
  

Основываясь на вышесказанном, я показываю / скрываю определенные части приложения с помощью:

 const hasWriteAccess: boolean = level.some((level) => {
    return level.access === "Write" || level.access === "Admin";
});
  

Я пытаюсь обойти это level.access === "Write" || level.access === "Admin" и вместо этого делаю что-то вроде level.access > "ReadOnly . Это imo упростило бы логику. Есть ли какой-либо способ, которым я могу этого добиться?

Комментарии:

1. вы думали о том, чтобы применить числовое значение к вашим типам? что-то вроде a> b> c?

2. Вы бы упростили логику, но ваше определение типа стало бы менее понятным, если бы вы просто использовали целые числа вместо простого английского.

3. @Fallenreaper то, что сказал Дэниел.