Как набирать значения перечисления с TypeScript? - PullRequest
0 голосов
/ 26 апреля 2020

Учитывая простое enum:

export enum IconNames {
  DEFAULT = 'DEFAULT',
  MOVE = 'MOVE',
  RESIZE = 'RESIZE',
  ADD = 'ADD',
  CANCEL = 'CANCEL',
  CLOSE = 'CLOSE',
}

Я хотел бы ввести аргумент name в данной функции isTransform, поэтому я бы вызывал его только со значением IconNames:

/* Tried `string` which doesn't work 
as `name` supposed to be enum's value */

const isTransform = (name: any) => [IconNames.MOVE, IconNames.RESIZE, IconNames.ADD].includes(name);

Нужно ли для него создавать интерфейс? Как мне его использовать?

1 Ответ

1 голос
/ 26 апреля 2020

Кажется, что это работает:

function isTransform(name: string): boolean {
  const transformValues: string[] = [IconNames.MOVE, IconNames.RESIZE, IconNames.ADD]
  return transformValues.indexOf(name) > -1
}

Это также работает:

function isTransform(name: IconNames): boolean {
  const transformValues = [IconNames.MOVE, IconNames.RESIZE, IconNames.ADD]
  return transformValues.indexOf(name) > -1
}

Вопрос в том, будете ли вы звонить isTransform только со значениями IconNames или с string?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...