Merge pull request #165 from breez/savage-rn-kotlin-enum-fix

Fix conversion of enum's in Kotlin
This commit is contained in:
Ross Savage
2024-05-06 20:20:15 +02:00
committed by GitHub
3 changed files with 13 additions and 3 deletions

View File

@@ -2,7 +2,7 @@
{%- if e.is_flat() %}
fun as{{ type_name }}(type: String): {{ type_name }} {
return {{ type_name }}.valueOf(type.uppercase())
return {{ type_name }}.valueOf(camelToUpperSnakeCase(type))
}
{%- else %}

View File

@@ -93,4 +93,9 @@ fun errUnexpectedType(typeName: String): String {
fun errUnexpectedValue(fieldName: String): String {
return "Unexpected value for optional field ${fieldName}"
}
}
fun camelToUpperSnakeCase(str: String): String {
val pattern = "(?<=.)[A-Z]".toRegex()
return str.replace(pattern, "_$0").uppercase()
}

View File

@@ -375,7 +375,7 @@ fun asSendPaymentResponseList(arr: ReadableArray): List<SendPaymentResponse> {
}
fun asNetwork(type: String): Network {
return Network.valueOf(type.uppercase())
return Network.valueOf(camelToUpperSnakeCase(type))
}
fun asNetworkList(arr: ReadableArray): List<Network> {
@@ -498,3 +498,8 @@ fun errUnexpectedType(typeName: String): String {
fun errUnexpectedValue(fieldName: String): String {
return "Unexpected value for optional field $fieldName"
}
fun camelToUpperSnakeCase(str: String): String {
val pattern = "(?<=.)[A-Z]".toRegex()
return str.replace(pattern, "_$0").uppercase()
}