Skip to content

Commit 714d602

Browse files
authored
Update to_camel_case to respect the rust convention of prefixing '_' for unused vars (#684)
1 parent 37a37d4 commit 714d602

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

juniper/src/util.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,13 @@ use std::borrow::Cow;
77
pub fn to_camel_case(s: &'_ str) -> Cow<'_, str> {
88
let mut dest = Cow::Borrowed(s);
99

10-
for (i, part) in s.split('_').enumerate() {
10+
// handle '_' to be more friendly with the
11+
// _var convention for unused variables
12+
let s_iter = if s.starts_with('_') { &s[1..] } else { s }
13+
.split('_')
14+
.enumerate();
15+
16+
for (i, part) in s_iter {
1117
if i > 0 && part.len() == 1 {
1218
dest += Cow::Owned(part.to_uppercase());
1319
} else if i > 0 && part.len() > 1 {
@@ -32,7 +38,7 @@ pub fn to_camel_case(s: &'_ str) -> Cow<'_, str> {
3238
#[test]
3339
fn test_to_camel_case() {
3440
assert_eq!(&to_camel_case("test")[..], "test");
35-
assert_eq!(&to_camel_case("_test")[..], "Test");
41+
assert_eq!(&to_camel_case("_test")[..], "test");
3642
assert_eq!(&to_camel_case("first_second")[..], "firstSecond");
3743
assert_eq!(&to_camel_case("first_")[..], "first");
3844
assert_eq!(&to_camel_case("a_b_c")[..], "aBC");

juniper_codegen/src/util/mod.rs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,13 @@ fn get_doc_attr(attrs: &[Attribute]) -> Option<Vec<MetaNameValue>> {
233233
pub fn to_camel_case(s: &str) -> String {
234234
let mut dest = String::new();
235235

236-
for (i, part) in s.split('_').enumerate() {
236+
// handle '_' to be more friendly with the
237+
// _var convention for unused variables
238+
let s_iter = if s.starts_with('_') { &s[1..] } else { s }
239+
.split('_')
240+
.enumerate();
241+
242+
for (i, part) in s_iter {
237243
if i > 0 && part.len() == 1 {
238244
dest.push_str(&part.to_uppercase());
239245
} else if i > 0 && part.len() > 1 {
@@ -1874,7 +1880,7 @@ mod test {
18741880
#[test]
18751881
fn test_to_camel_case() {
18761882
assert_eq!(&to_camel_case("test")[..], "test");
1877-
assert_eq!(&to_camel_case("_test")[..], "Test");
1883+
assert_eq!(&to_camel_case("_test")[..], "test");
18781884
assert_eq!(&to_camel_case("first_second")[..], "firstSecond");
18791885
assert_eq!(&to_camel_case("first_")[..], "first");
18801886
assert_eq!(&to_camel_case("a_b_c")[..], "aBC");

0 commit comments

Comments
 (0)