This repository has been archived by the owner on Jan 20, 2023. It is now read-only.
Releases: ProjectMapK/KMapper
Releases · ProjectMapK/KMapper
Update kotlin.
Update libs.
Kotlin 1.4.21へアップデート
Update libs.
内容
Kotlin 1.4.10
にアップデートShared
のアップデート取り込み- 呼び出し対象がコンストラクタかつ引数が完全に初期化されていて、かつ条件に合致する場合、
Java
のコンストラクタ/メソッドを直接呼び出すことでオーバーヘッドを低減- コンストラクタの場合
- クラスからコンパニオンオブジェクトに定義したメソッドを取得した(= インスタンス有りで初期化した)場合
- 呼び出し対象がコンストラクタかつ引数が完全に初期化されていて、かつ条件に合致する場合、
Update Kotlin and refactors.
ライブラリアップデート
Kotlin 1.4
ktlint
その他
- リファクタリング
Fix converter nullability.
主な変更
修正
BoundKMapper
で、null
でも変換処理を動かしていた(= 他のマッピングクラスと挙動が異なっていた)不具合の修正を行った。
破壊的変更
変換処理は値がnull
では発生しないため、AbstractKConverter
のconvert
関数のパラメータをnon-null
要求に修正した。
その他
- カバレッジ向上のため、多少のテスト追加
- 微小なリファクタリング
- 破壊的変更に伴うテスト修正
README
にカバレッジ表示の追加
Add dummy constructor and update libs.
ダミーコンストラクタの追加
KClass
をターゲットとした初期化時に、それぞれのマッパーについてダミーコンストラクタを追加し、記述を簡略化できるように修正を行った。
KMapper
// これまでの書き方
KMapper(Dst::class)
// ダミーコンストラクタを用いた書き方
KMapper<Dst>()
BoundKMapper
// これまでの書き方(マップ対象が関数の場合)
BoundKMapper(::Dst, Src::class)
// ダミーコンストラクタを用いた書き方
BoundKMapper<Src, Dst>(::Dst)
// これまでの書き方(マップ対象がクラスの場合)
BoundKMapper(Dst::class, Src::class)
// ダミーコンストラクタを用いた書き方
BoundKMapper<Src, Dst>()
PlainKMapper
// これまでの書き方
PlainKMapper(Dst::class)
// ダミーコンストラクタを用いた書き方
PlainKMapper<Dst>()
その他
- 内部で利用しているライブラリのアップデート
Fix BoundKMapper and fine-grained optimization.
バグ修正
BoundKMapper
について以下のバグを修正した。
- 内部的にパラメータを
KMapper
でマップする際、入力がnull
だと落ちる - 内部的にパラメータを
BoundKMapper
でマップする際、入力がnull
だと落ちる - 内部的にパラメータを
EnumMapper
でマップする際、入力がnull
だと落ちる - 内部的にパラメータを
toString
してマップする際、入力がnull
だと落ちる
細かな最適化
Sharedのアップデート取り込み
Shared
のアップデートを取り込み処理効率を向上した。
parameterNameConverterの取り扱いの修正
parameterNameConverter
をnullable
に、またデフォルト引数をnull
に修正した。
ParameterProcessorの微修正
null
を返さないものに関してはnon-null
指定に修正した。
Update shared.
Sharedのアップデートを取り込み、処理効率を向上。
Improved processing efficiency.
内容
- コンバータの取得処理は重いため、
KMapper
とPlainKMapper
では遅延初期化するように修正 BoundKMapper
では初期化チェックが不要なため、省いて高速化KMapper
とPlainKMapper
でput
時の初期化チェックを減らして高速化
Response to commonization.
内容
Shared
において行った共通化関数を取り込んだ。
これに伴い処理効率が向上した。
その他
ライセンスの修正を行った。