From a81d0a652ef23d0505862135866632036b78a1ed Mon Sep 17 00:00:00 2001 From: Victor Berchet Date: Tue, 16 Sep 2014 23:40:53 +0200 Subject: [PATCH] perf(util): call toLowerCase() only where needed --- lib/utils.dart | 5 ++--- test/utils_spec.dart | 4 ++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/lib/utils.dart b/lib/utils.dart index bcfbfe48b..d4f874457 100644 --- a/lib/utils.dart +++ b/lib/utils.dart @@ -82,9 +82,8 @@ relaxFnArgs(Function fn) { capitalize(String s) => s.substring(0, 1).toUpperCase() + s.substring(1); String camelCase(String s) { - var part = s.split('-').map((s) => s.toLowerCase()); - if (part.length <= 1) return part.join(); - return part.first + part.skip(1).map(capitalize).join(); + var parts = s.split('-'); + return parts.first.toLowerCase() + parts.skip(1).map(capitalize).join(); } /// Returns whether or not the given identifier is a reserved word in Dart. diff --git a/test/utils_spec.dart b/test/utils_spec.dart index 61e4c3ef6..1dd6350fe 100644 --- a/test/utils_spec.dart +++ b/test/utils_spec.dart @@ -44,6 +44,10 @@ main() { it('should lowercase strings', () { expect(camelCase('Caps-first')).toEqual('capsFirst'); }); + + it('should work on empty string', () { + expect(camelCase('')).toEqual(''); + }); }); }