| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // ECMAScript 402 API implementation. | 5 // ECMAScript 402 API implementation. |
| 6 | 6 |
| 7 /** | 7 /** |
| 8 * Intl object is a single object that has some named properties, | 8 * Intl object is a single object that has some named properties, |
| 9 * all of which are constructors. | 9 * all of which are constructors. |
| 10 */ | 10 */ |
| (...skipping 1781 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1792 } else { | 1792 } else { |
| 1793 dateMs = TO_NUMBER(dateValue); | 1793 dateMs = TO_NUMBER(dateValue); |
| 1794 } | 1794 } |
| 1795 | 1795 |
| 1796 if (!NUMBER_IS_FINITE(dateMs)) throw %make_range_error(kDateRange); | 1796 if (!NUMBER_IS_FINITE(dateMs)) throw %make_range_error(kDateRange); |
| 1797 | 1797 |
| 1798 return %InternalDateFormat(%GetImplFromInitializedIntlObject(formatter), | 1798 return %InternalDateFormat(%GetImplFromInitializedIntlObject(formatter), |
| 1799 new GlobalDate(dateMs)); | 1799 new GlobalDate(dateMs)); |
| 1800 } | 1800 } |
| 1801 | 1801 |
| 1802 function formatDateToParts(formatter, dateValue) { |
| 1803 var dateMs; |
| 1804 if (IS_UNDEFINED(dateValue)) { |
| 1805 dateMs = %DateCurrentTime(); |
| 1806 } else { |
| 1807 dateMs = TO_NUMBER(dateValue); |
| 1808 } |
| 1809 |
| 1810 if (!NUMBER_IS_FINITE(dateMs)) throw %make_range_error(kDateRange); |
| 1811 |
| 1812 return %InternalDateFormatToParts( |
| 1813 %GetImplFromInitializedIntlObject(formatter), new GlobalDate(dateMs)); |
| 1814 } |
| 1815 |
| 1802 | 1816 |
| 1803 /** | 1817 /** |
| 1804 * Returns a Date object representing the result of calling ToString(value) | 1818 * Returns a Date object representing the result of calling ToString(value) |
| 1805 * according to the effective locale and the formatting options of this | 1819 * according to the effective locale and the formatting options of this |
| 1806 * DateTimeFormat. | 1820 * DateTimeFormat. |
| 1807 * Returns undefined if date string cannot be parsed. | 1821 * Returns undefined if date string cannot be parsed. |
| 1808 */ | 1822 */ |
| 1809 function IntlParseDate(formatter, value) { | 1823 function IntlParseDate(formatter, value) { |
| 1810 return %InternalDateParse(%GetImplFromInitializedIntlObject(formatter), | 1824 return %InternalDateParse(%GetImplFromInitializedIntlObject(formatter), |
| 1811 TO_STRING(value)); | 1825 TO_STRING(value)); |
| 1812 } | 1826 } |
| 1813 | 1827 |
| 1814 | 1828 |
| 1815 // 0 because date is optional argument. | 1829 // 0 because date is optional argument. |
| 1816 AddBoundMethod(Intl.DateTimeFormat, 'format', formatDate, 0, 'dateformat'); | 1830 AddBoundMethod(Intl.DateTimeFormat, 'format', formatDate, 0, 'dateformat'); |
| 1831 AddBoundMethod(Intl.DateTimeFormat, 'formatToParts', formatDateToParts, 0, |
| 1832 'dateformat'); |
| 1817 | 1833 |
| 1818 | 1834 |
| 1819 /** | 1835 /** |
| 1820 * Returns canonical Area/Location(/Location) name, or throws an exception | 1836 * Returns canonical Area/Location(/Location) name, or throws an exception |
| 1821 * if the zone name is invalid IANA name. | 1837 * if the zone name is invalid IANA name. |
| 1822 */ | 1838 */ |
| 1823 function canonicalizeTimeZoneID(tzID) { | 1839 function canonicalizeTimeZoneID(tzID) { |
| 1824 // Skip undefined zones. | 1840 // Skip undefined zones. |
| 1825 if (IS_UNDEFINED(tzID)) { | 1841 if (IS_UNDEFINED(tzID)) { |
| 1826 return tzID; | 1842 return tzID; |
| (...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2293 } | 2309 } |
| 2294 ); | 2310 ); |
| 2295 | 2311 |
| 2296 utils.Export(function(to) { | 2312 utils.Export(function(to) { |
| 2297 to.AddBoundMethod = AddBoundMethod; | 2313 to.AddBoundMethod = AddBoundMethod; |
| 2298 to.IntlParseDate = IntlParseDate; | 2314 to.IntlParseDate = IntlParseDate; |
| 2299 to.IntlParseNumber = IntlParseNumber; | 2315 to.IntlParseNumber = IntlParseNumber; |
| 2300 }); | 2316 }); |
| 2301 | 2317 |
| 2302 }) | 2318 }) |
| OLD | NEW |