Задать вопрос
@nomta

Как создать «типизированный enum»?

Привет всем!
Есть enum
const enum ResponseHeadersMapping {
  totalCount = 'X-Total-Count'
  link = 'Link'
}

Есть interface
interface ResponseHeaders {
  totalCount: number
  link?: string
}

Как сделать, чтобы в интерфейсе могли быть только те же свойства, что и в enum ?
Нужен интерфейс, свойства которого существуют в enum (totalCount есть в ResponseHeadersMapping), а значение имеет указанный тип (number).
  • Вопрос задан
  • 108 просмотров
Подписаться 1 Средний 5 комментариев
Пригласить эксперта
Ответы на вопрос 1
yarkov
@yarkov
Помог ответ? Отметь решением.
const enum ResponseHeadersMapping {
  totalCount = 'X-Total-Count',
  link = 'Link',
}

type ResponseHeaders = {
  [key in ResponseHeadersMapping]: string
}

const variable: ResponseHeaders = {
  [ResponseHeadersMapping.totalCount]: 'totalCount',
  [ResponseHeadersMapping.link]: 'link',
};


Как-то так, но вам в комментариях написали уже, что это странно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы