feat: createClient関数で生成される関数の引数にreadonlyを追加 #60
+33
−16
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
背景
MicroCMSQueryのfieldsにリテラル型のタプルを渡した時、以下のような型エラーが発生します。解決策
readonlyを追加しましたreadonlyを追加するためts-essentialsを導入しましたreadonlyを追加しても問題ないと判断しました懸念点
typeof client['get']のように型を再利用しながら、引数に破壊的な変更を行う既存コードが壊れる可能性があります備考
makeRequest関数でfetchClient関数にrequestInitを渡す際、readonlyのなしのRequestInitにキャストしていますgenerateFetchClient関数を確認した限り、キャストした部分の破壊的変更は存在しなかったため、このような実装にしています