@@ -19,36 +19,34 @@ extension stringFormatting on Duration {
1919 /// foo.toStringAsClock(); // 1:30.0
2020 /// ```
2121 String toStringAsClock () {
22- String oneDigitOf (int number) {
23- String numberAsSingleDigit = '' ;
24- if (number >= 1000 || number < 0 )
25- throw ArgumentError ();
26- else if (number < 100 )
27- numberAsSingleDigit = "0" ;
28- else
29- numberAsSingleDigit = "${number ~/ 100 }" ;
30- assert (numberAsSingleDigit.length == 1 );
31- return numberAsSingleDigit;
32- }
33-
34- String twoDigitsOf (int number) {
35- String numberAsTwoDigits = '' ;
36- if (number >= 100 || number < 0 )
37- throw ArgumentError ();
38- else if (number >= 10 )
39- numberAsTwoDigits = "$number " ;
40- else
41- numberAsTwoDigits = "0$number " ;
42- assert (numberAsTwoDigits.length == 2 );
43- return numberAsTwoDigits;
44- }
45-
4622 int minutes = this .inMinutes.remainder (Duration .minutesPerHour);
4723 int seconds = this .inSeconds.remainder (Duration .secondsPerMinute);
4824 int ms = this .inMilliseconds.remainder (Duration .millisecondsPerSecond);
49- String mm = twoDigitsOf (minutes);
50- String ss = twoDigitsOf (seconds);
51- String m = oneDigitOf (ms);
25+ String mm = _twoDigitsOf (minutes);
26+ String ss = _twoDigitsOf (seconds);
27+ String m = _oneDigitOf (ms);
5228 return "$mm :$ss .$m " ;
5329 }
30+
31+ String _oneDigitOf (int number) {
32+ String numberAsSingleDigit = '' ;
33+ if (number < 100 ) {
34+ numberAsSingleDigit = "0" ;
35+ } else {
36+ numberAsSingleDigit = "${number ~/ 100 }" ;
37+ }
38+ assert (numberAsSingleDigit.length == 1 );
39+ return numberAsSingleDigit;
40+ }
41+
42+ String _twoDigitsOf (int number) {
43+ String numberAsTwoDigits = '' ;
44+ if (number >= 10 ) {
45+ numberAsTwoDigits = "$number " ;
46+ } else {
47+ numberAsTwoDigits = "0$number " ;
48+ }
49+ assert (numberAsTwoDigits.length == 2 );
50+ return numberAsTwoDigits;
51+ }
5452}
0 commit comments