| Index: charted/lib/locale/format/time_format.dart
|
| diff --git a/charted/lib/locale/format/time_format.dart b/charted/lib/locale/format/time_format.dart
|
| deleted file mode 100644
|
| index d2c16c65c7940cc57fd7e99e8e3dac90a649b1e8..0000000000000000000000000000000000000000
|
| --- a/charted/lib/locale/format/time_format.dart
|
| +++ /dev/null
|
| @@ -1,136 +0,0 @@
|
| -/*
|
| - * Copyright 2014 Google Inc. All rights reserved.
|
| - *
|
| - * Use of this source code is governed by a BSD-style
|
| - * license that can be found in the LICENSE file or at
|
| - * https://developers.google.com/open-source/licenses/bsd
|
| - */
|
| -part of charted.locale.format;
|
| -
|
| -typedef String TimeFormatFunction(DateTime date);
|
| -
|
| -//TODO(songrenchu): Document time format; Add test for time format.
|
| -
|
| -class TimeFormat {
|
| - String _template;
|
| - String _locale;
|
| - DateFormat _dateFormat;
|
| -
|
| - TimeFormat([String template = null, String identifier = 'en_US']) {
|
| - _template = template;
|
| - _locale = identifier;
|
| - if (_template != null)
|
| - _dateFormat = new DateFormat(_wrapStrptime2ICU(_template), _locale);
|
| - }
|
| -
|
| - TimeFormat _getInstance(String template) {
|
| - return new TimeFormat(template, _locale);
|
| - }
|
| -
|
| - String apply(DateTime date) {
|
| - assert(_dateFormat != null);
|
| - return _dateFormat.format(date);
|
| - }
|
| -
|
| - String toString() => _template;
|
| -
|
| - DateTime parse(String string) {
|
| - assert(_dateFormat != null);
|
| - return _dateFormat.parse(string);
|
| - }
|
| -
|
| - TimeFormatFunction multi(List<List> formats) {
|
| - var n = formats.length,
|
| - i = -1;
|
| - while (++i < n)
|
| - formats[i][0] = _getInstance(formats[i][0] as String);
|
| - return (var date) {
|
| - if (date is num) {
|
| - date = new DateTime.fromMillisecondsSinceEpoch(date.toInt());
|
| - }
|
| - var i = 0,
|
| - f = formats[i];
|
| - while (f.length < 2 || f[1](date) == false) {
|
| - i++;
|
| - if (i < n) f = formats[i];
|
| - }
|
| - if (i == n) return null;
|
| - return f[0].apply(date);
|
| - };
|
| - }
|
| -
|
| - UTCTimeFormat utc([String specifier = null]) {
|
| - return new UTCTimeFormat(specifier == null ?
|
| - _template : specifier, _locale);
|
| - }
|
| -
|
| - static UTCTimeFormat iso() {
|
| - return new UTCTimeFormat("%Y-%m-%dT%H:%M:%S.%LZ");
|
| - }
|
| -
|
| - static Map timeFormatPads = {"-": "", "_": " ", "0": "0"};
|
| - // TODO(songrenchu): Cannot fully be equivalent now.
|
| - static Map timeFormatsTransform = {
|
| - 'a': 'EEE',
|
| - 'A': 'EEEE',
|
| - 'b': 'MMM',
|
| - 'B': 'MMMM',
|
| - 'c': 'EEE MMM d HH:mm:ss yyyy',
|
| - 'd': 'dd',
|
| - 'e': 'd', // TODO(songrenchu): zero padding not supported
|
| - 'H': 'HH',
|
| - 'I': 'hh',
|
| - 'j': 'DDD',
|
| - 'm': 'MM',
|
| - 'M': 'mm',
|
| - 'L': 'SSS',
|
| - 'p': 'a',
|
| - 'S': 'ss',
|
| - 'U': 'ww', // TODO(songrenchu): ICU doesn't distinguish 'U' and 'W',
|
| - // and not supported by Dart: DateFormat
|
| - 'w': 'ee', // TODO(songrenchu): e not supported by Dart: DateFormat
|
| - 'W': 'ww', // TODO(songrenchu): ICU doesn't distinguish 'U' and 'W',
|
| - // and not supported by Dart: DateFormat
|
| - 'x': 'MM/dd/yyyy',
|
| - 'X': 'HH:mm:ss',
|
| - 'y': 'yy',
|
| - 'Y': 'yyyy',
|
| - 'Z': 'Z',
|
| - '%': '%'
|
| - };
|
| -
|
| - String _wrapStrptime2ICU(String template) {
|
| - var string = [],
|
| - i = -1,
|
| - j = 0,
|
| - n = template.length,
|
| - tempChar;
|
| - while (++i < n) {
|
| - if (template[i] == '%') {
|
| - string.add(template.substring(j, i));
|
| - if ((timeFormatPads[tempChar = template[++i]]) != null)
|
| - tempChar = template[++i];
|
| - if (timeFormatsTransform[tempChar] != null)
|
| - string.add(timeFormatsTransform[tempChar]);
|
| - j = i + 1;
|
| - }
|
| - }
|
| - if (j < i)
|
| - string.add("'" + template.substring(j, i) + "'");
|
| - return string.join("");
|
| - }
|
| -}
|
| -
|
| -class UTCTimeFormat extends TimeFormat {
|
| - UTCTimeFormat(String template, [String identifier = 'en_US']):
|
| - super(template, identifier);
|
| -
|
| - UTCTimeFormat _getInstance(String template) {
|
| - return new UTCTimeFormat(template, _locale);
|
| - }
|
| -
|
| - DateTime parse(String string) {
|
| - assert(_dateFormat != null);
|
| - return _dateFormat.parseUTC(string);
|
| - }
|
| -}
|
|
|