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 | |
5 /** | |
6 * This file should be imported, along with date_format.dart in order to read | |
7 * locale data from files in the file system. | |
8 */ | |
9 | |
10 library date_symbol_data_file; | |
11 | |
12 import 'dart:async'; | |
13 | |
14 import 'package:path/path.dart' as path; | |
15 | |
16 import 'date_symbols.dart'; | |
17 import 'src/data/dates/locale_list.dart'; | |
18 import 'src/date_format_internal.dart'; | |
19 import 'src/file_data_reader.dart'; | |
20 import 'src/lazy_locale_data.dart'; | |
21 | |
22 export 'src/data/dates/locale_list.dart'; | |
23 | |
24 /** | |
25 * This should be called for at least one [locale] before any date formatting | |
26 * methods are called. It sets up the lookup for date symbols using [path]. | |
27 * The [path] parameter should end with a directory separator appropriate | |
28 * for the platform. | |
29 */ | |
30 Future initializeDateFormatting(String locale, String filePath) { | |
31 var reader = new FileDataReader(path.join(filePath, 'symbols')); | |
32 initializeDateSymbols(() => new LazyLocaleData( | |
33 reader, _createDateSymbol, availableLocalesForDateFormatting)); | |
34 var reader2 = new FileDataReader(path.join(filePath, 'patterns')); | |
35 initializeDatePatterns(() => | |
36 new LazyLocaleData(reader2, (x) => x, availableLocalesForDateFormatting)); | |
37 return initializeIndividualLocaleDateFormatting((symbols, patterns) { | |
38 return Future | |
39 .wait([symbols.initLocale(locale), patterns.initLocale(locale)]); | |
40 }); | |
41 } | |
42 | |
43 /** Defines how new date symbol entries are created. */ | |
44 DateSymbols _createDateSymbol(Map map) => | |
45 new DateSymbols.deserializeFromMap(map); | |
OLD | NEW |