ファイルをcoffeescriptからtypescript、javascriptに変換するビルドチェーン設定があります。私の質問は、型署名をコーヒースクリプト関数に追加するための最も邪魔にならない方法は何ですか?
Coffeescriptは、バッククォートを介して生のjavascriptをサポートします。ただし、これは、coffeescriptがバッククォートスニペットを理解しなくなったことを意味します。
Coffeescriptはこれらを拒否します:
f = (`a:String`) -> a + 2
f = (a`:String`) -> a + 2
私はこれを関数の上に書くことができます:
`var f = (String) => any`
コンパイルしますが、型チェックは行いません。これは、Coffeescriptがすでに変数を宣言しているためだと思います。
それを機能させる方法を理解する唯一の方法は、多くの定型文を必要とします
f = (a) ->
`return (function(a:String){`
a + 2;
`})(a)`
新しいCoffeescriptReduxコンパイラではバックティックが正しく機能していないようです: https ://github.com/michaelficarra/CoffeeScriptRedux/issues/71
これは疑わしい試みであることを私はよく知っています、それは今のところ単なる実験です。現在contracts.coffeeを使用していますが、実際のタイプを探しています。