Category: TypeScript

  • TypeScriptでライブラリのラッパーを作成する

    TypeScriptでライブラリのラッパーを作成する

    TypeScriptを用いて実装しているプロジェクトの中で使用するライブラリの選定を行った時のこと ライブラリをそのまま呼び出さずにラッパーを作成すると良いとのことで、色々調べながら実装したのでその覚え書きです。 目次  ラッパーとは  ラッパーを作ると何が出来るか  ライブラリをラップする  実際に作成する  まとめ ラッパーとは ラッパー(wrapper)とは、関数やクラス・ライブラリなどを包み込む外側の関数やクラスのことです。 例えば、関数を包み込む関数を作成することをラップすると言います。 今回は、TypeScriptでライブラリ丸ごと全部ラップするものを作成します。 ラッパーを作ると何が出来る? そもそも、なぜラッパーを作る必要があるのか?作るとどんなメリットがあるのか?について整理していきます。 ラッパーの作成メリットの一つとして、ラッパーを作成することで仕様変更への対応コストが下がるという事が挙げられます。 関数・クラスをラップすると、元の関数に何か変更が生じた際に外側のラッパーに修正を加えるだけでプログラム全体の修正は行わずに済むようになります。 例えば、以下のようなstringとnumberの引数を持つ関数があるとすると const func = (arg1:string, arg2:number) => { // 何かの処理 } hello("hello", 3); ラッパー関数はこのようになります。 const wrap = (arg1:string, arg2:number) => { func(arg1, arg2); } wrap("hello", 3); プロジェクト全体では、func関数は使わずラッパー関数であるwrapを呼び出すようにしておきます。 もしfunc関数に仕様変更が発生した際は、下記のように修正を加えます。 const func = (arg1:string, arg2:number) => { // 何かの処理 } //…