Update json utils

Koitharu 1 year ago
parent 3e4d712dca
commit 51ed1b2db8
Signed by: Koitharu
GPG Key ID: 676DEE768C17A9D7

@ -120,6 +120,17 @@ public fun JSONObject.getFloatOrDefault(name: String, defaultValue: Float): Floa
} }
} }
public fun <E : Enum<E>> JSONObject.getEnumValueOrNull(name: String, enumClass: Class<E>): E? {
val enumName = getStringOrNull(name) ?: return null
return enumClass.enumConstants?.find { x ->
enumName.equals(x.name, ignoreCase = true)
}
}
public fun <E : Enum<E>> JSONObject.getEnumValueOrDefault(name: String, defaultValue: E): E {
return getEnumValueOrNull(name, defaultValue.javaClass) ?: defaultValue
}
public fun JSONArray?.isNullOrEmpty(): Boolean { public fun JSONArray?.isNullOrEmpty(): Boolean {
contract { contract {
returns(false) implies (this@isNullOrEmpty != null) returns(false) implies (this@isNullOrEmpty != null)

Loading…
Cancel
Save