Я пытаюсь получить все элементы перечисления TypeScript. Для этого я использую следующую обобщенную функцию:
static getAllValues<T>(enumeration: T): Array<T>{
let enumKeys: Array<T> = Object.keys(enumeration).map(k => enumeration[k]);
let items: Array<T> = new Array<T>();
for(let elem of enumKeys){
if (typeof(elem) === "number"){
items.push(elem)
}
}
return items;
}
Вызывая эту функцию с помощью Enum типа ExampleEnum
как
export enum ExampleEnum {
FOO,
BAR,
FOOBAR
}
Я ожидал возвращаемое значение от типа Array<ExampleEnum>
, но ответ от типа Array<typeof ExampleEnum>
.
Кто-нибудь знает, как это исправить, чтобы получить возврат от типа Array<ExampleEnum>
?
(я использую TypeScript 3.2.1)