feat: createClient関数で生成される関数の引数にreadonlyを追加 #60
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
関数を確認した限り、キャストした部分の破壊的変更は存在しなかったため、このような実装にしています