JavaScript를 사용하여 외부 SDK를 작성했습니다. 이러한 모듈 중 하나 인 Blob
은 새로운 기능을 제공하지만 열거 형 FooEnum
(구성원 Bar
및 Baz
)을 노출합니다.TypeScript newable 및 enum 참조
자바 스크립트에서이 SDK를 사용하는 코드는 그래서 같다 : 내가 지금은 나에게 어떤 종류의 안전을 제공하기 위해이 SDK를 캐스팅 할 수있는 인터페이스를 작성하는 것을 시도하고있다
const blobInstance = new Sdk.Blob();
const fooType = Sdk.Blob.FooEnum.Baz;
.
interface BlobInterface { }
enum Foo {
Bar,
Baz
}
interface Sdk {
Blob: {
new(): BlobInterface;
FooEnum: Foo;
}
}
이 문제 그러나, 나는 Blob.FooEnum
를 참조 할 때, 그것은 FooEnum
자체가 실제로 열거 Foo
의 일원이라고 생각한다는 것입니다 (즉, 그것이 Bar
하다고 생각 내 : 여기에 지금까지있어 무엇인가 또는 Baz
) 따라서, Baz
을받을 수 없습니다.
TypeScript에 Blob.FooEnum
이 실제로 열거 형을 가리키며 열거 형의 구성원이 아니라고 어떻게 알릴 수 있습니까?