[Vue] 自作JSライブラリの型定義ファイルを作る その2 [TypeScript]
前の記事(https://coneta.jp/article/show/2908)
型定義ファイルを作っていく。
先方が用意したJSファイル (簡略化済み)
// src/apis/sample_api.js
export default class SampleApi {
static debug(message) { console.warn(message); }
constructor() {
var caller = this;
new SampleChannel(function (channel) {
caller._testApi = channel.api;
});
caller._testApi =
}
onConnect() { ... }
}
ちょっと長くなったが、2つのメソッド、1つのプライベート変数の定義が必要そうな感じ。
用意した型定義ファイル
Vue-CLIで作成したプロジェクトは、デフォルトで src/@types/
が型定義ファイルの置き場所になっているので、ここに配置する。
declare module "@/apis/sample_api.js" {
import SampleApi from "@/apis/sample_api.js";
_testApi: any;
static debug(message);
onConnect();
export default SampleApi;
}
これでOK
declareが肝心の型宣言キーワードですが、これに関しては前記事の参考文献を参照。