У меня есть функция:
public doSomethingWithEnum(enumType) {
// Iterate over enum keys with Object.keys(enumType)
}
И я могу использовать это так:
export enum MyEnum { SomeEnumValue = 'SomeEnumValue', SomeOtherValue = 'SomeOtherValue' }
doSomethingWithEnum(MyEnum);
Это нормально, это работает. Проблема в том, что мне нужен тип для этого параметра, чтобы я мог передать ему любое перечисление. На данный момент это может быть также :any
, который, я думаю, слишком открыт.
Есть ли способ ограничения / указания типа этого параметра?
Что я пробовал
Я знаю, что можно ограничить это, перечислив известные типы, например:
doSomethingWithEnum(enumType: MyEnum | MyOtherEnum)
Но мне нужно, чтобы это было более масштабируемым, я не хочу каждый раз добавлять тип другому потребителю необходимо позвонить в службу.