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

Commit 91e8bcc

Browse files
authored
Merge pull request #27 from k163377/feature
Adding an interface to the adapter.
2 parents d74adfc + 75989d1 commit 91e8bcc

File tree

2 files changed

+17
-2
lines changed

2 files changed

+17
-2
lines changed

build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ plugins {
66
}
77

88
group = "com.mapk"
9-
version = "0.13"
9+
version = "0.14"
1010

1111
java {
1212
sourceCompatibility = JavaVersion.VERSION_1_8

src/main/kotlin/com/mapk/core/ArgumentAdaptor.kt

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,22 @@ class ArgumentAdaptor(private val requiredParameters: Map<String, ValueParameter
1313
}
1414

1515
fun putIfAbsent(key: String, value: Any?) {
16-
if (!isInitialized(key) && !(!requiredParameters.getValue(key).isNullable && value == null)) {
16+
if (!isInitialized(key) && (value != null || requiredParameters.getValue(key).isNullable)) {
17+
argumentMap[key] = value
18+
}
19+
}
20+
21+
fun putIfAbsent(key: String, consumer: () -> Any?) {
22+
if (isInitialized(key)) return
23+
24+
val value = consumer()
25+
if (value != null || requiredParameters.getValue(key).isNullable) {
26+
argumentMap[key] = value
27+
}
28+
}
29+
30+
fun forcePut(key: String, value: Any?) {
31+
if (value != null || requiredParameters.getValue(key).isNullable) {
1732
argumentMap[key] = value
1833
}
1934
}

0 commit comments

Comments
 (0)