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

Side by Side Diff: runtime/bin/vmservice/client/lib/src/app/utils.dart

Issue 237683004: Disable applyAuthorStyles (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 8 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
OLDNEW
(Empty)
1 // Copyright (c) 2014, 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 part of app;
6
7 class Utils {
8 static String formatPercent(num a, num total) {
9 var percent = 100.0 * (a / total);
10 return '${percent.toStringAsFixed(2)}%';
11 }
12
13 static String zeroPad(int value, int pad) {
14 String prefix = "";
15 while (pad > 1) {
16 int pow10 = pow(10, pad - 1);
17 if (value < pow10) {
18 prefix = prefix + "0";
19 }
20 pad--;
21 }
22 return "${prefix}${value}";
23 }
24
25 static String formatCommaSeperated(int v) {
26 const COMMA_EVERY = 1000;
27 if (v < COMMA_EVERY) {
28 return v.toString();
29 }
30 var mod = v % COMMA_EVERY;
31 v ~/= COMMA_EVERY;
32 var r = '${zeroPad(mod, 3)}';
33 while (v > COMMA_EVERY) {
34 mod = v % COMMA_EVERY;
35 r = '${zeroPad(mod, 3)},$r';
36 v ~/= COMMA_EVERY;
37 }
38 if (v != 0) {
39 r = '$v,$r';
40 }
41 return r;
42 }
43
44 static String formatTimePrecise(double time) {
45 if (time == null) {
46 return "-";
47 }
48 const millisPerHour = 60 * 60 * 1000;
49 const millisPerMinute = 60 * 1000;
50 const millisPerSecond = 1000;
51
52 var millis = (time * millisPerSecond).round();
53
54 var hours = millis ~/ millisPerHour;
55 millis = millis % millisPerHour;
56
57 var minutes = millis ~/ millisPerMinute;
58 millis = millis % millisPerMinute;
59
60 var seconds = millis ~/ millisPerSecond;
61 millis = millis % millisPerSecond;
62
63 if (hours > 0) {
64 return ("${zeroPad(hours,2)}"
65 ":${zeroPad(minutes,2)}"
66 ":${zeroPad(seconds,2)}"
67 ".${zeroPad(millis,3)}");
68 } else {
69 return ("${zeroPad(minutes,2)}"
70 ":${zeroPad(seconds,2)}"
71 ".${zeroPad(millis,3)}");
72 }
73 }
74
75 static String formatSize(int bytes) {
76 const int bytesPerKB = 1024;
77 const int bytesPerMB = 1024 * bytesPerKB;
78 const int bytesPerGB = 1024 * bytesPerMB;
79 const int bytesPerTB = 1024 * bytesPerGB;
80
81 if (bytes < bytesPerKB) {
82 return "${bytes}B";
83 } else if (bytes < bytesPerMB) {
84 return "${(bytes / bytesPerKB).round()}KB";
85 } else if (bytes < bytesPerGB) {
86 return "${(bytes / bytesPerMB).round()}MB";
87 } else if (bytes < bytesPerTB) {
88 return "${(bytes / bytesPerGB).round()}GB";
89 } else {
90 return "${(bytes / bytesPerTB).round()}TB";
91 }
92 }
93
94 static String formatTime(double time) {
95 if (time == null) {
96 return "-";
97 }
98 const millisPerHour = 60 * 60 * 1000;
99 const millisPerMinute = 60 * 1000;
100 const millisPerSecond = 1000;
101
102 var millis = (time * millisPerSecond).round();
103
104 var hours = millis ~/ millisPerHour;
105 millis = millis % millisPerHour;
106
107 var minutes = millis ~/ millisPerMinute;
108 millis = millis % millisPerMinute;
109
110 var seconds = millis ~/ millisPerSecond;
111
112 StringBuffer out = new StringBuffer();
113 if (hours != 0) {
114 return '${hours}h ${minutes}m ${seconds}s';
115 }
116 if (minutes != 0) {
117 return '${minutes}m ${seconds}s';
118 }
119 return '${seconds}s';
120 }
121
122 static String formatSeconds(double x) {
123 return x.toStringAsFixed(2);
124 }
125 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698