私は、文字列リテラルのシンプルなユニオンタイプを持っており、FFIが "通常の" Javascriptを呼び出すため、その正当性をチェックする必要があります。特定の変数がこれらのリテラル文字列のいずれかのインスタンスであることを保証する方法はありますか実行時に? type
を使用して実行時に文字列リテラルの型の有効性をチェックしていますか?
type MyStrings = "A" | "B" | "C";
MyStrings.isAssignable("A"); // true
MyStrings.isAssignable("D"); // false
これは動作しますが、ブレークは、すぐに 'MyStrings'は、対応する' isAssignable'機能を更新せずに延長されます。手作業の負担が少ないものを望んでいました。 –
それについてはあまりできません。私が書いたように、 'type'部分は厳密にはtypescriptであり、その情報は生成されたjsファイルで失われます。 'type'の代わりに' enum'を使うことができます。 –
もしあなたが努力したいと思えば、タイプと、他のデータソースからのランタイムタイプチェックを行うTSコードを定義するTSコードを生成するためのツールを書くことができます。私はREST APIがC#で書かれたコードを手がかりにし、タイプ定義とタイプを記述する実行時のイントロスペクティブオブジェクトリテラルの両方で、TSにC#データコントラクトをコンパイルしました。理解できるように、そのすべてはTSの範囲外です。 – Alan