Skip to content

Commit 9c3c9d4

Browse files
committed
make compatible with other JVM Locales as for example turkish.
capitalize() without Locale.ROOT leads to unexpected chars which are language specific Review changes
1 parent cd67006 commit 9c3c9d4

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/main/kotlin/graphql/kickstart/tools/resolver/FieldResolverScanner.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,11 @@ internal class FieldResolverScanner(val options: SchemaParserOptions) {
8787
return methods.find {
8888
it.name == name && verifyMethodArguments(it, argumentCount, search)
8989
} ?: methods.find {
90-
(isBoolean(field.type) && it.name == "is${name.capitalize(Locale.ROOT)}") && verifyMethodArguments(it, argumentCount, search)
90+
(isBoolean(field.type) && it.name == "is${name.replaceFirstChar(Char::titlecase)}") && verifyMethodArguments(it, argumentCount, search)
9191
} ?: methods.find {
92-
it.name == "get${name.capitalize(Locale.ROOT)}" && verifyMethodArguments(it, argumentCount, search)
92+
it.name == "get${name.replaceFirstChar(Char::titlecase)}" && verifyMethodArguments(it, argumentCount, search)
9393
} ?: methods.find {
94-
it.name == "getField${name.capitalize(Locale.ROOT)}" && verifyMethodArguments(it, argumentCount, search)
94+
it.name == "getField${name.replaceFirstChar(Char::titlecase)}" && verifyMethodArguments(it, argumentCount, search)
9595
} ?: methods.find {
9696
it.name == "get${name.snakeToCamelCase()}" && verifyMethodArguments(it, argumentCount, search)
9797
}
@@ -180,9 +180,9 @@ internal class FieldResolverScanner(val options: SchemaParserOptions) {
180180

181181
signatures.add("${baseType.name}.${field.name}($argString)")
182182
if (isBoolean) {
183-
signatures.add("${baseType.name}.is${field.name.capitalize(Locale.ROOT)}($argString)")
183+
signatures.add("${baseType.name}.is${field.name.replaceFirstChar(Char::titlecase)}($argString)")
184184
}
185-
signatures.add("${baseType.name}.get${field.name.capitalize(Locale.ROOT)}($argString)")
185+
signatures.add("${baseType.name}.get${field.name.replaceFirstChar(Char::titlecase)}($argString)")
186186
if (scannedProperties) {
187187
signatures.add("${baseType.name}.${field.name}")
188188
}

src/main/kotlin/graphql/kickstart/tools/util/Utils.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,5 +73,5 @@ private fun isBooleanGetter(method: Method) = (method.name.startsWith("is")
7373
&& (method.returnType == java.lang.Boolean::class.java)
7474
|| method.returnType == Boolean::class.java)
7575

76-
internal fun String.snakeToCamelCase(): String = split("_").joinToString(separator = "") { it.capitalize(Locale.ROOT) }
76+
internal fun String.snakeToCamelCase(): String = split("_").joinToString(separator = "") { it.replaceFirstChar(Char::titlecase) }
7777

0 commit comments

Comments
 (0)