Skip to content
This repository was archived by the owner on Jan 20, 2023. It is now read-only.

Commit f89081e

Browse files
authored
Merge pull request #17 from k163377/refactor
Refactor.
2 parents c5f8897 + 1baae93 commit f89081e

File tree

3 files changed

+9
-11
lines changed

3 files changed

+9
-11
lines changed

src/main/kotlin/com/mapk/kmapper/KMapper.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,19 @@ import kotlin.reflect.jvm.javaGetter
1919

2020
class KMapper<T : Any> private constructor(
2121
private val function: KFunctionForCall<T>,
22-
propertyNameConverter: (String) -> String = { it }
22+
parameterNameConverter: (String) -> String
2323
) {
24-
constructor(function: KFunction<T>, propertyNameConverter: (String) -> String = { it }) : this(
25-
KFunctionForCall(function), propertyNameConverter
24+
constructor(function: KFunction<T>, parameterNameConverter: (String) -> String = { it }) : this(
25+
KFunctionForCall(function), parameterNameConverter
2626
)
2727

28-
constructor(clazz: KClass<T>, propertyNameConverter: (String) -> String = { it }) : this(
29-
clazz.toKConstructor(), propertyNameConverter
28+
constructor(clazz: KClass<T>, parameterNameConverter: (String) -> String = { it }) : this(
29+
clazz.toKConstructor(), parameterNameConverter
3030
)
3131

3232
private val parameterMap: Map<String, ParameterForMap<*>> = function.parameters
3333
.filter { it.kind != KParameter.Kind.INSTANCE && !it.isUseDefaultArgument() }
34-
.associate { (propertyNameConverter(it.getAliasOrName()!!)) to ParameterForMap.newInstance(it) }
34+
.associate { (parameterNameConverter(it.getAliasOrName()!!)) to ParameterForMap.newInstance(it) }
3535

3636
private fun bindArguments(argumentBucket: ArgumentBucket, src: Any) {
3737
src::class.memberProperties.forEach outer@{ property ->

src/main/kotlin/com/mapk/kmapper/ParameterForMap.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,7 @@ internal class ParameterForMap<T : Any> private constructor(val param: KParamete
1717
}
1818
// リストの長さが小さいと期待されるためこの形で実装しているが、理想的にはmap的なものが使いたい
1919
private val converters: Set<Pair<KClass<*>, KFunction<T>>> by lazy {
20-
convertersFromConstructors(clazz) + convertersFromStaticMethods(
21-
clazz
22-
) + convertersFromCompanionObject(clazz)
20+
convertersFromConstructors(clazz) + convertersFromStaticMethods(clazz) + convertersFromCompanionObject(clazz)
2321
}
2422

2523
// 引数の型がconverterに対して入力可能ならconverterを返す

src/test/kotlin/com/mapk/kmapper/PropertyNameConverterTest.kt renamed to src/test/kotlin/com/mapk/kmapper/ParameterNameConverterTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import org.junit.jupiter.api.Test
77

88
private class CamelCaseDst(val camelCase: String)
99

10-
@DisplayName("プロパティ名変換のテスト")
11-
class PropertyNameConverterTest {
10+
@DisplayName("パラメータ名変換のテスト")
11+
class ParameterNameConverterTest {
1212
@Test
1313
@DisplayName("スネークケースsrc -> キャメルケースdst")
1414
fun test() {

0 commit comments

Comments
 (0)