From 340d306861356689a975bc1274f6123b55b31995 Mon Sep 17 00:00:00 2001 From: Ashar Date: Sat, 5 Oct 2024 14:20:51 +0530 Subject: [PATCH] fix: prefix `.` for fully qualified field names was not working (#34) Sometimes, user prefer to use `.` as prefix for fully qualified field names. This fixes the `split_package_identifier` to take into account this during splitting. This potentially fixes: #31 --- src/utils.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/utils.rs b/src/utils.rs index 4b77d7e..d14ed7a 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -37,6 +37,8 @@ pub fn is_inner_identifier(s: &str) -> bool { } pub fn split_identifier_package(s: &str) -> (&str, &str) { + // trim beginning dots, some use `.` prefix for fully qualified field names + let s = s.trim_start_matches("."); if is_inner_identifier(s) || !s.contains('.') { return ("", s); } @@ -76,6 +78,10 @@ mod test { split_identifier_package("com.book.Book"), ("com.book", "Book") ); + assert_eq!( + split_identifier_package(".com.book.Book"), + ("com.book", "Book") + ); assert_eq!( split_identifier_package("com.book.Book.Author"), ("com.book", "Book.Author")