javascript
1// a.ts 2// このファイルではimportはしない 3const a : TestApi.type.hoge = "string";
js
1// b.ts 2import {TestApi} from "./hoge" 3const a : TestApi.type.hoge = TestApi.func.abc();
という書き方が出来る型情報と実装の書き方を教えて下さい。abc()はfunction abc(){return "ok";}
で大丈夫です。
hoge.ts にはこう書く。kage.d.ts にはこう書く。 と教えて欲しいです。
以下の点がわからないです。箇条書きで申し訳ありません
- TestApi.type.hoge はimportをせずに使えるようにしたい。
- ↑つまり、TestApi.type.hoge は d.ts ファイルに書く必要がある。
- TestApi.func.abc() は実装なので、.ts ファイルに書く必要がある。
- ↑という事は、名前空間 TestApi は、2個のファイルに分かれている必要がある。
- b.ts で、
import {TestApi}
とすると、TestApiは .tsの内容を指してしまうので、TestApi.type の型が無効になってしまう。
TestApiという同じ名前空間の中に、実装と型定義の2種類の情報を定義する方法が分からないです。
import {TestApi.func} とか出来ればいいんでしょうが、それは出来ないですし。
実装はTestApiFunc 名前空間に書いて、型情報はTestApiType という全く別の名前空間に定義すれば出来るでしょうけど、それは避けたいです。
よろしくおねがいします
あなたの回答
tips
プレビュー