Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(505)

Side by Side Diff: pkg/polymer/lib/src/utils.dart

Issue 24149003: Port of github.com/polymer/polymer. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: rebase Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « pkg/polymer/lib/src/loader.dart ('k') | pkg/polymer/lib/transformer.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file.
4
5 library polymer.src.utils;
6
7 /**
8 * Converts a string name with hyphens into an identifier, by removing hyphens
9 * and capitalizing the following letter. Optionally [startUppercase] to
10 * captialize the first letter.
11 */
12 String toCamelCase(String hyphenedName, {bool startUppercase: false}) {
13 var segments = hyphenedName.split('-');
14 int start = startUppercase ? 0 : 1;
15 for (int i = start; i < segments.length; i++) {
16 var segment = segments[i];
17 if (segment.length > 0) {
18 // Character between 'a'..'z' mapped to 'A'..'Z'
19 segments[i] = '${segment[0].toUpperCase()}${segment.substring(1)}';
20 }
21 }
22 return segments.join('');
23 }
24
25 /** Reverse of [toCamelCase]. */
26 String toHyphenedName(String word) {
27 var sb = new StringBuffer();
28 for (int i = 0; i < word.length; i++) {
29 var lower = word[i].toLowerCase();
30 if (word[i] != lower && i > 0) sb.write('-');
31 sb.write(lower);
32 }
33 return sb.toString();
34 }
OLDNEW
« no previous file with comments | « pkg/polymer/lib/src/loader.dart ('k') | pkg/polymer/lib/transformer.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698