Я хочу предоставить интерфейс, который гарантирует, что определение перечисления будет передано.
// msg.ts, here's an example enum
export enum Messages {
A,
B
}
// interfaces.d.ts
export interface IThingy {
Messages: Messages
// ^ how do I specify that Messages should be the actual, full enum, not a member of the enum?
}
Я хочу, чтобы потребители могли получить доступ к этому перечислению, как если бы оно было введено. Например:
function (param: IThingy) {
param.Messages.A // ok!
}
Если это невозможно, как я могу достичь того же эффекта? В конечном итоге я просто хочу передать константную, строго типизированную карту K: V (string: string).
Я видел подобное: Перечислите как параметр в машинописи , хотя мои намерения достаточно разные.