diff --git a/lib/bindings/bindings-react-native/src/gen_kotlin/templates/EnumTemplate.kt b/lib/bindings/bindings-react-native/src/gen_kotlin/templates/EnumTemplate.kt index 4fe43b2..d65192b 100644 --- a/lib/bindings/bindings-react-native/src/gen_kotlin/templates/EnumTemplate.kt +++ b/lib/bindings/bindings-react-native/src/gen_kotlin/templates/EnumTemplate.kt @@ -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 %} diff --git a/lib/bindings/bindings-react-native/src/gen_kotlin/templates/Helpers.kt b/lib/bindings/bindings-react-native/src/gen_kotlin/templates/Helpers.kt index 8fb488c..7be9f00 100644 --- a/lib/bindings/bindings-react-native/src/gen_kotlin/templates/Helpers.kt +++ b/lib/bindings/bindings-react-native/src/gen_kotlin/templates/Helpers.kt @@ -93,4 +93,9 @@ fun errUnexpectedType(typeName: String): String { fun errUnexpectedValue(fieldName: String): String { return "Unexpected value for optional field ${fieldName}" -} \ No newline at end of file +} + +fun camelToUpperSnakeCase(str: String): String { + val pattern = "(?<=.)[A-Z]".toRegex() + return str.replace(pattern, "_$0").uppercase() +} diff --git a/packages/react-native/android/src/main/java/com/breezliquidsdk/BreezLiquidSDKMapper.kt b/packages/react-native/android/src/main/java/com/breezliquidsdk/BreezLiquidSDKMapper.kt index db3e80b..a450d71 100644 --- a/packages/react-native/android/src/main/java/com/breezliquidsdk/BreezLiquidSDKMapper.kt +++ b/packages/react-native/android/src/main/java/com/breezliquidsdk/BreezLiquidSDKMapper.kt @@ -375,7 +375,7 @@ fun asSendPaymentResponseList(arr: ReadableArray): List { } fun asNetwork(type: String): Network { - return Network.valueOf(type.uppercase()) + return Network.valueOf(camelToUpperSnakeCase(type)) } fun asNetworkList(arr: ReadableArray): List { @@ -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() +}