| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2012, 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 library date_symbols; | |
| 5 | |
| 6 /** | |
| 7 * This holds onto information about how a particular locale formats dates. It | |
| 8 * contains mostly strings, e.g. what the names of months or weekdays are, | |
| 9 * but also indicates things like the first day of the week. We expect the data | |
| 10 * for instances of these to be generated out of ICU or a similar reference | |
| 11 * source. This is used in conjunction with the date_time_patterns, which | |
| 12 * defines for a particular locale the different named formats that will | |
| 13 * make use of this data. | |
| 14 */ | |
| 15 class DateSymbols { | |
| 16 String NAME; | |
| 17 List<String> ERAS, | |
| 18 ERANAMES, | |
| 19 NARROWMONTHS, | |
| 20 STANDALONENARROWMONTHS, | |
| 21 MONTHS, | |
| 22 STANDALONEMONTHS, | |
| 23 SHORTMONTHS, | |
| 24 STANDALONESHORTMONTHS, | |
| 25 WEEKDAYS, | |
| 26 STANDALONEWEEKDAYS, | |
| 27 SHORTWEEKDAYS, | |
| 28 STANDALONESHORTWEEKDAYS, | |
| 29 NARROWWEEKDAYS, | |
| 30 STANDALONENARROWWEEKDAYS, | |
| 31 SHORTQUARTERS, | |
| 32 QUARTERS, | |
| 33 AMPMS, | |
| 34 DATEFORMATS, | |
| 35 TIMEFORMATS, | |
| 36 DATETIMEFORMATS; | |
| 37 Map<String, String> AVAILABLEFORMATS; | |
| 38 int FIRSTDAYOFWEEK; | |
| 39 List<int> WEEKENDRANGE; | |
| 40 int FIRSTWEEKCUTOFFDAY; | |
| 41 | |
| 42 DateSymbols({this.NAME, this.ERAS, this.ERANAMES, this.NARROWMONTHS, | |
| 43 this.STANDALONENARROWMONTHS, this.MONTHS, this.STANDALONEMONTHS, | |
| 44 this.SHORTMONTHS, this.STANDALONESHORTMONTHS, this.WEEKDAYS, | |
| 45 this.STANDALONEWEEKDAYS, this.SHORTWEEKDAYS, this.STANDALONESHORTWEEKDAYS, | |
| 46 this.NARROWWEEKDAYS, this.STANDALONENARROWWEEKDAYS, this.SHORTQUARTERS, | |
| 47 this.QUARTERS, this.AMPMS, | |
| 48 // TODO(alanknight): These formats are taken from Closure, | |
| 49 // where there's only a fixed set of available formats. | |
| 50 // Here we have the patterns separately. These should | |
| 51 // either be used, or removed. | |
| 52 this.DATEFORMATS, this.TIMEFORMATS, this.AVAILABLEFORMATS, | |
| 53 this.FIRSTDAYOFWEEK, this.WEEKENDRANGE, this.FIRSTWEEKCUTOFFDAY, | |
| 54 this.DATETIMEFORMATS}); | |
| 55 | |
| 56 // TODO(alanknight): Replace this with use of a more general serialization | |
| 57 // facility once one is available. Issue 4926. | |
| 58 DateSymbols.deserializeFromMap(Map map) { | |
| 59 NAME = map["NAME"]; | |
| 60 ERAS = map["ERAS"]; | |
| 61 ERANAMES = map["ERANAMES"]; | |
| 62 NARROWMONTHS = map["NARROWMONTHS"]; | |
| 63 STANDALONENARROWMONTHS = map["STANDALONENARROWMONTHS"]; | |
| 64 MONTHS = map["MONTHS"]; | |
| 65 STANDALONEMONTHS = map["STANDALONEMONTHS"]; | |
| 66 SHORTMONTHS = map["SHORTMONTHS"]; | |
| 67 STANDALONESHORTMONTHS = map["STANDALONESHORTMONTHS"]; | |
| 68 WEEKDAYS = map["WEEKDAYS"]; | |
| 69 STANDALONEWEEKDAYS = map["STANDALONEWEEKDAYS"]; | |
| 70 SHORTWEEKDAYS = map["SHORTWEEKDAYS"]; | |
| 71 STANDALONESHORTWEEKDAYS = map["STANDALONESHORTWEEKDAYS"]; | |
| 72 NARROWWEEKDAYS = map["NARROWWEEKDAYS"]; | |
| 73 STANDALONENARROWWEEKDAYS = map["STANDALONENARROWWEEKDAYS"]; | |
| 74 SHORTQUARTERS = map["SHORTQUARTERS"]; | |
| 75 QUARTERS = map["QUARTERS"]; | |
| 76 AMPMS = map["AMPMS"]; | |
| 77 DATEFORMATS = map["DATEFORMATS"]; | |
| 78 TIMEFORMATS = map["TIMEFORMATS"]; | |
| 79 AVAILABLEFORMATS = map["AVAILABLEFORMATS"]; | |
| 80 FIRSTDAYOFWEEK = map["FIRSTDAYOFWEEK"]; | |
| 81 WEEKENDRANGE = map["WEEKENDRANGE"]; | |
| 82 FIRSTWEEKCUTOFFDAY = map["FIRSTWEEKCUTOFFDAY"]; | |
| 83 DATETIMEFORMATS = map["DATETIMEFORAMTS"]; | |
| 84 } | |
| 85 | |
| 86 Map serializeToMap() => { | |
| 87 "NAME": NAME, | |
| 88 "ERAS": ERAS, | |
| 89 "ERANAMES": ERANAMES, | |
| 90 "NARROWMONTHS": NARROWMONTHS, | |
| 91 "STANDALONENARROWMONTHS": STANDALONENARROWMONTHS, | |
| 92 "MONTHS": MONTHS, | |
| 93 "STANDALONEMONTHS": STANDALONEMONTHS, | |
| 94 "SHORTMONTHS": SHORTMONTHS, | |
| 95 "STANDALONESHORTMONTHS": STANDALONESHORTMONTHS, | |
| 96 "WEEKDAYS": WEEKDAYS, | |
| 97 "STANDALONEWEEKDAYS": STANDALONEWEEKDAYS, | |
| 98 "SHORTWEEKDAYS": SHORTWEEKDAYS, | |
| 99 "STANDALONESHORTWEEKDAYS": STANDALONESHORTWEEKDAYS, | |
| 100 "NARROWWEEKDAYS": NARROWWEEKDAYS, | |
| 101 "STANDALONENARROWWEEKDAYS": STANDALONENARROWWEEKDAYS, | |
| 102 "SHORTQUARTERS": SHORTQUARTERS, | |
| 103 "QUARTERS": QUARTERS, | |
| 104 "AMPMS": AMPMS, | |
| 105 "DATEFORMATS": DATEFORMATS, | |
| 106 "TIMEFORMATS": TIMEFORMATS, | |
| 107 "AVAILABLEFORMATS": AVAILABLEFORMATS, | |
| 108 "FIRSTDAYOFWEEK": FIRSTDAYOFWEEK, | |
| 109 "WEEKENDRANGE": WEEKENDRANGE, | |
| 110 "FIRSTWEEKCUTOFFDAY": FIRSTWEEKCUTOFFDAY, | |
| 111 "DATETIMEFORMATS": DATETIMEFORMATS, | |
| 112 }; | |
| 113 | |
| 114 toString() => NAME; | |
| 115 } | |
| 116 | |
| 117 /** | |
| 118 * We hard-code the locale data for en_US here so that there's at least one | |
| 119 * locale always available. | |
| 120 */ | |
| 121 var en_USSymbols = new DateSymbols( | |
| 122 NAME: "en_US", | |
| 123 ERAS: const ['BC', 'AD'], | |
| 124 ERANAMES: const ['Before Christ', 'Anno Domini'], | |
| 125 NARROWMONTHS: const [ | |
| 126 'J', | |
| 127 'F', | |
| 128 'M', | |
| 129 'A', | |
| 130 'M', | |
| 131 'J', | |
| 132 'J', | |
| 133 'A', | |
| 134 'S', | |
| 135 'O', | |
| 136 'N', | |
| 137 'D' | |
| 138 ], | |
| 139 STANDALONENARROWMONTHS: const [ | |
| 140 'J', | |
| 141 'F', | |
| 142 'M', | |
| 143 'A', | |
| 144 'M', | |
| 145 'J', | |
| 146 'J', | |
| 147 'A', | |
| 148 'S', | |
| 149 'O', | |
| 150 'N', | |
| 151 'D' | |
| 152 ], | |
| 153 MONTHS: const [ | |
| 154 'January', | |
| 155 'February', | |
| 156 'March', | |
| 157 'April', | |
| 158 'May', | |
| 159 'June', | |
| 160 'July', | |
| 161 'August', | |
| 162 'September', | |
| 163 'October', | |
| 164 'November', | |
| 165 'December' | |
| 166 ], | |
| 167 STANDALONEMONTHS: const [ | |
| 168 'January', | |
| 169 'February', | |
| 170 'March', | |
| 171 'April', | |
| 172 'May', | |
| 173 'June', | |
| 174 'July', | |
| 175 'August', | |
| 176 'September', | |
| 177 'October', | |
| 178 'November', | |
| 179 'December' | |
| 180 ], | |
| 181 SHORTMONTHS: const [ | |
| 182 'Jan', | |
| 183 'Feb', | |
| 184 'Mar', | |
| 185 'Apr', | |
| 186 'May', | |
| 187 'Jun', | |
| 188 'Jul', | |
| 189 'Aug', | |
| 190 'Sep', | |
| 191 'Oct', | |
| 192 'Nov', | |
| 193 'Dec' | |
| 194 ], | |
| 195 STANDALONESHORTMONTHS: const [ | |
| 196 'Jan', | |
| 197 'Feb', | |
| 198 'Mar', | |
| 199 'Apr', | |
| 200 'May', | |
| 201 'Jun', | |
| 202 'Jul', | |
| 203 'Aug', | |
| 204 'Sep', | |
| 205 'Oct', | |
| 206 'Nov', | |
| 207 'Dec' | |
| 208 ], | |
| 209 WEEKDAYS: const [ | |
| 210 'Sunday', | |
| 211 'Monday', | |
| 212 'Tuesday', | |
| 213 'Wednesday', | |
| 214 'Thursday', | |
| 215 'Friday', | |
| 216 'Saturday' | |
| 217 ], | |
| 218 STANDALONEWEEKDAYS: const [ | |
| 219 'Sunday', | |
| 220 'Monday', | |
| 221 'Tuesday', | |
| 222 'Wednesday', | |
| 223 'Thursday', | |
| 224 'Friday', | |
| 225 'Saturday' | |
| 226 ], | |
| 227 SHORTWEEKDAYS: const ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], | |
| 228 STANDALONESHORTWEEKDAYS: const [ | |
| 229 'Sun', | |
| 230 'Mon', | |
| 231 'Tue', | |
| 232 'Wed', | |
| 233 'Thu', | |
| 234 'Fri', | |
| 235 'Sat' | |
| 236 ], | |
| 237 NARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'], | |
| 238 STANDALONENARROWWEEKDAYS: const ['S', 'M', 'T', 'W', 'T', 'F', 'S'], | |
| 239 SHORTQUARTERS: const ['Q1', 'Q2', 'Q3', 'Q4'], | |
| 240 QUARTERS: const [ | |
| 241 '1st quarter', | |
| 242 '2nd quarter', | |
| 243 '3rd quarter', | |
| 244 '4th quarter' | |
| 245 ], | |
| 246 AMPMS: const ['AM', 'PM'], | |
| 247 DATEFORMATS: const ['EEEE, MMMM d, y', 'MMMM d, y', 'MMM d, y', 'M/d/yy'], | |
| 248 TIMEFORMATS: const ['h:mm:ss a zzzz', 'h:mm:ss a z', 'h:mm:ss a', 'h:mm a'], | |
| 249 FIRSTDAYOFWEEK: 6, | |
| 250 WEEKENDRANGE: const [5, 6], | |
| 251 FIRSTWEEKCUTOFFDAY: 5, | |
| 252 DATETIMEFORMATS: const [ | |
| 253 '{1} \'at\' {0}', | |
| 254 '{1} \'at\' {0}', | |
| 255 '{1}, {0}', | |
| 256 '{1}, {0}' | |
| 257 ]); | |
| 258 | |
| 259 var en_USPatterns = const { | |
| 260 'd': 'd', // DAY | |
| 261 'E': 'EEE', // ABBR_WEEKDAY | |
| 262 'EEEE': 'EEEE', // WEEKDAY | |
| 263 'LLL': 'LLL', // ABBR_STANDALONE_MONTH | |
| 264 'LLLL': 'LLLL', // STANDALONE_MONTH | |
| 265 'M': 'L', // NUM_MONTH | |
| 266 'Md': 'M/d', // NUM_MONTH_DAY | |
| 267 'MEd': 'EEE, M/d', // NUM_MONTH_WEEKDAY_DAY | |
| 268 'MMM': 'LLL', // ABBR_MONTH | |
| 269 'MMMd': 'MMM d', // ABBR_MONTH_DAY | |
| 270 'MMMEd': 'EEE, MMM d', // ABBR_MONTH_WEEKDAY_DAY | |
| 271 'MMMM': 'LLLL', // MONTH | |
| 272 'MMMMd': 'MMMM d', // MONTH_DAY | |
| 273 'MMMMEEEEd': 'EEEE, MMMM d', // MONTH_WEEKDAY_DAY | |
| 274 'QQQ': 'QQQ', // ABBR_QUARTER | |
| 275 'QQQQ': 'QQQQ', // QUARTER | |
| 276 'y': 'y', // YEAR | |
| 277 'yM': 'M/y', // YEAR_NUM_MONTH | |
| 278 'yMd': 'M/d/y', // YEAR_NUM_MONTH_DAY | |
| 279 'yMEd': 'EEE, M/d/y', // YEAR_NUM_MONTH_WEEKDAY_DAY | |
| 280 'yMMM': 'MMM y', // YEAR_ABBR_MONTH | |
| 281 'yMMMd': 'MMM d, y', // YEAR_ABBR_MONTH_DAY | |
| 282 'yMMMEd': 'EEE, MMM d, y', // YEAR_ABBR_MONTH_WEEKDAY_DAY | |
| 283 'yMMMM': 'MMMM y', // YEAR_MONTH | |
| 284 'yMMMMd': 'MMMM d, y', // YEAR_MONTH_DAY | |
| 285 'yMMMMEEEEd': 'EEEE, MMMM d, y', // YEAR_MONTH_WEEKDAY_DAY | |
| 286 'yQQQ': 'QQQ y', // YEAR_ABBR_QUARTER | |
| 287 'yQQQQ': 'QQQQ y', // YEAR_QUARTER | |
| 288 'H': 'HH', // HOUR24 | |
| 289 'Hm': 'HH:mm', // HOUR24_MINUTE | |
| 290 'Hms': 'HH:mm:ss', // HOUR24_MINUTE_SECOND | |
| 291 'j': 'h a', // HOUR | |
| 292 'jm': 'h:mm a', // HOUR_MINUTE | |
| 293 'jms': 'h:mm:ss a', // HOUR_MINUTE_SECOND | |
| 294 'jmv': 'h:mm a v', // HOUR_MINUTE_GENERIC_TZ | |
| 295 'jmz': 'h:mm a z', // HOUR_MINUTETZ | |
| 296 'jz': 'h a z', // HOURGENERIC_TZ | |
| 297 'm': 'm', // MINUTE | |
| 298 'ms': 'mm:ss', // MINUTE_SECOND | |
| 299 's': 's', // SECOND | |
| 300 'v': 'v', // ABBR_GENERIC_TZ | |
| 301 'z': 'z', // ABBR_SPECIFIC_TZ | |
| 302 'zzzz': 'zzzz', // SPECIFIC_TZ | |
| 303 'ZZZZ': 'ZZZZ' // ABBR_UTC_TZ | |
| 304 }; | |
| OLD | NEW |