私は、使用しているJavaScriptで書かれた外部SDKを持っています。これらのモジュールの1つであるBlob
は新機能ですが、列挙型FooEnum
(メンバーBar
およびBaz
)も公開されています。TypeScriptのnewableおよびenumの参照
JavaScriptでこの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
を得ることができません。
Blob.FooEnum
が実際に列挙型自体を指し、列挙型のメンバーではないことをどのようにタイプスクリプトに伝えることができますか?