Skip to content
This repository was archived by the owner on Jan 20, 2023. It is now read-only.
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
KMapper
====
This is a Mapper Libraly like a `ModelMapper` for `Kotlin`.
You can call `KFunction`(e.g. `constructor`) from `Object`.
You can call `KFunction`(e.g. `method reference`) from `Object`.

```kotlin
// before
Expand Down Expand Up @@ -39,6 +39,8 @@ class Dst(
val arg4: Double,
val arg5: String?
)

val newInstance = KMapper(::Dst).map(src1, src2, src3)
```

### Set alias on map
Expand All @@ -47,6 +49,8 @@ class Dst(
class Src(@KGetterAlias("aliased") val str: String)

class Dst(val aliased: String)

val newInstance = KMapper(::Dst).map(src)
```

#### for parameter
Expand All @@ -56,6 +60,8 @@ class Src(val str: String)
class Dst(@param:KPropertyAlias("str") private val _src: String) {
val src = _src.someArrangement
}

val newInstance = KMapper(::Dst).map(src)
```

### Convert parameter name
Expand All @@ -64,7 +70,7 @@ val srcMap = mapOf("snake_case" to "SnakeCase")

class Dst(val snakeCase: String)

val dst: Dst = Mapper(::DataClass) { it.toSnakeCase }.map(src)
val dst: Dst = KMapper(::DataClass) { camelToSnake(it) }.map(src)
```

### Map param to another class
Expand All @@ -82,4 +88,6 @@ class CreatorClass @SingleArgCreator constructor(val arg: String) {
class Src(val arg1: String, val arg2: Int)

class Dst(val arg1: CreatorClass, val arg2: CreatorClass)

val newInstance = KMapper(::Dst).map(src)
```