diff --git a/build.gradle.kts b/build.gradle.kts index 52c988f..cee5e1d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -6,7 +6,7 @@ plugins { } group = "com.mapk" -version = "0.13" +version = "0.14" java { sourceCompatibility = JavaVersion.VERSION_1_8 diff --git a/src/main/kotlin/com/mapk/core/ArgumentAdaptor.kt b/src/main/kotlin/com/mapk/core/ArgumentAdaptor.kt index b011f1c..af561d7 100644 --- a/src/main/kotlin/com/mapk/core/ArgumentAdaptor.kt +++ b/src/main/kotlin/com/mapk/core/ArgumentAdaptor.kt @@ -13,7 +13,22 @@ class ArgumentAdaptor(private val requiredParameters: Map Any?) { + if (isInitialized(key)) return + + val value = consumer() + if (value != null || requiredParameters.getValue(key).isNullable) { + argumentMap[key] = value + } + } + + fun forcePut(key: String, value: Any?) { + if (value != null || requiredParameters.getValue(key).isNullable) { argumentMap[key] = value } }