Параметр функции проверки TypeScript является одним из допустимых Enums - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть несколько перечислений, например, так:

enum AuthCommands {
  LOGIN_REQUEST = "LOGIN_REQUEST",
  SIGNUP_REQUEST = "SIGNUP_REQUEST"
}

enum CustomerCommands {
  CUSTOMER_CREATE_REQUEST = "CUSTOMER_CREATE_REQUEST",
  CUSTOMER_UPDATE_REQUEST = "CUSTOMER_UPDATE_REQUEST",
  CUSTOMER_DELETE_REQUEST = "CUSTOMER_DELETE_REQUEST"
}

У меня есть объект этих перечислений:

const Types = {
  AuthCommands,
  CustomerCommands
};

У меня тогда есть следующая функция:

async create(id: string, eventType: Types) {}

В этой части eventType: Types я пытаюсь проверить, что вызывающий этого метода вызывает его с параметром eventType, который является допустимым членом одного из этих перечислений. Как бы мне этого добиться?

(С учетом вышесказанного я, очевидно, получаю ошибку [ts] 'Types' refers to a value, but is being used as a type here.)

Является ли const Types правильным способом группировки Enums?

1 Ответ

0 голосов
/ 05 февраля 2020

Вы должны объявить «Типы» следующим образом:

export type Types = AuthCommands | CustomCommands;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...