| 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 contains internal implementation details of the date formatting code |
| 7 * which are exposed as public functions because they must be called by other |
| 8 * libraries in order to configure the source for the locale data. We don't want |
| 9 * them exposed as public API functions in the date formatting library, so they |
| 10 * are put in a separate library here. These are for internal use only. User |
| 11 * code should import one of the date_symbol_data... libraries and call the |
| 12 * initializeDateFormatting method exposed there. |
| 13 */ |
| 14 |
| 15 #library('date_format_internal'); |
| 16 #import('intl_helpers.dart'); |
| 17 |
| 18 /** |
| 19 * This holds the symbols to be used for date/time formatting, indexed |
| 20 * by locale. Note that it will be set differently during initialization, |
| 21 * depending on what implementation we are using. By default, it is initialized |
| 22 * to an instance of UninitializedLocaleData, so any attempt to use it will |
| 23 * result in an informative error message. |
| 24 */ |
| 25 var dateTimeSymbols = |
| 26 const UninitializedLocaleData('initializeDateFormatting(<locale>)'); |
| 27 |
| 28 /** |
| 29 * This holds the patterns used for date/time formatting, indexed |
| 30 * by locale. Note that it will be set differently during initialization, |
| 31 * depending on what implementation we are using. By default, it is initialized |
| 32 * to an instance of UninitializedLocaleData, so any attempt to use it will |
| 33 * result in an informative error message. |
| 34 */ |
| 35 var dateTimePatterns = |
| 36 const UninitializedLocaleData('initializeDateFormatting(<locale>)'); |
| 37 |
| 38 /** |
| 39 * Initialize the symbols dictionary. This should be passed a function that |
| 40 * creates and returns the symbol data. We take a function so that if |
| 41 * initializing the data is an expensive operation it need only be done once, |
| 42 * no matter how many times this method is called. |
| 43 */ |
| 44 void initializeDateSymbols(Function symbols) { |
| 45 if (dateTimeSymbols is UninitializedLocaleData) { |
| 46 dateTimeSymbols = symbols(); |
| 47 } |
| 48 } |
| 49 |
| 50 /** |
| 51 * Initialize the patterns dictionary. This should be passed a function that |
| 52 * creates and returns the pattern data. We take a function so that if |
| 53 * initializing the data is an expensive operation it need only be done once, |
| 54 * no matter how many times this method is called. |
| 55 */ |
| 56 void initializeDatePatterns(Function patterns) { |
| 57 if (dateTimePatterns is UninitializedLocaleData) { |
| 58 dateTimePatterns = patterns(); |
| 59 } |
| 60 } |
| 61 |
| 62 Future initializeIndividualLocaleDateFormatting(Function init) { |
| 63 return init(dateTimeSymbols, dateTimePatterns); |
| 64 } |
| OLD | NEW |