@internationalized/date 3.10.0 → 3.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/EthiopicCalendar.main.js +6 -0
  2. package/dist/EthiopicCalendar.main.js.map +1 -1
  3. package/dist/EthiopicCalendar.mjs +6 -0
  4. package/dist/EthiopicCalendar.module.js +6 -0
  5. package/dist/EthiopicCalendar.module.js.map +1 -1
  6. package/dist/GregorianCalendar.main.js +6 -0
  7. package/dist/GregorianCalendar.main.js.map +1 -1
  8. package/dist/GregorianCalendar.mjs +6 -0
  9. package/dist/GregorianCalendar.module.js +6 -0
  10. package/dist/GregorianCalendar.module.js.map +1 -1
  11. package/dist/HebrewCalendar.main.js +6 -0
  12. package/dist/HebrewCalendar.main.js.map +1 -1
  13. package/dist/HebrewCalendar.mjs +6 -0
  14. package/dist/HebrewCalendar.module.js +6 -0
  15. package/dist/HebrewCalendar.module.js.map +1 -1
  16. package/dist/IslamicCalendar.main.js +6 -0
  17. package/dist/IslamicCalendar.main.js.map +1 -1
  18. package/dist/IslamicCalendar.mjs +6 -0
  19. package/dist/IslamicCalendar.module.js +6 -0
  20. package/dist/IslamicCalendar.module.js.map +1 -1
  21. package/dist/PersianCalendar.main.js +6 -0
  22. package/dist/PersianCalendar.main.js.map +1 -1
  23. package/dist/PersianCalendar.mjs +6 -0
  24. package/dist/PersianCalendar.module.js +6 -0
  25. package/dist/PersianCalendar.module.js.map +1 -1
  26. package/dist/string.main.js +8 -2
  27. package/dist/string.main.js.map +1 -1
  28. package/dist/string.mjs +8 -2
  29. package/dist/string.module.js +8 -2
  30. package/dist/string.module.js.map +1 -1
  31. package/dist/types.d.ts +14 -0
  32. package/dist/types.d.ts.map +1 -1
  33. package/package.json +2 -2
  34. package/src/calendars/EthiopicCalendar.ts +8 -0
  35. package/src/calendars/GregorianCalendar.ts +8 -0
  36. package/src/calendars/HebrewCalendar.ts +8 -0
  37. package/src/calendars/IslamicCalendar.ts +8 -0
  38. package/src/calendars/PersianCalendar.ts +8 -0
  39. package/src/string.ts +6 -0
  40. package/src/types.ts +4 -0
@@ -56,6 +56,12 @@ class $f3ed2e4472ae7e25$export$37fccdbfd14c5939 {
56
56
  let isLeapYear = (0, $2b4dce13dd5a17fa$export$842a2cf37af977e1)(25 * date.year + 11, 33) < 8;
57
57
  return isLeapYear ? 30 : 29;
58
58
  }
59
+ getMaximumMonthsInYear() {
60
+ return 12;
61
+ }
62
+ getMaximumDaysInMonth() {
63
+ return 31;
64
+ }
59
65
  getEras() {
60
66
  return [
61
67
  'AP'
@@ -56,6 +56,12 @@ class $f3ed2e4472ae7e25$export$37fccdbfd14c5939 {
56
56
  let isLeapYear = (0, $2b4dce13dd5a17fa$export$842a2cf37af977e1)(25 * date.year + 11, 33) < 8;
57
57
  return isLeapYear ? 30 : 29;
58
58
  }
59
+ getMaximumMonthsInYear() {
60
+ return 12;
61
+ }
62
+ getMaximumDaysInMonth() {
63
+ return 31;
64
+ }
59
65
  getEras() {
60
66
  return [
61
67
  'AP'
@@ -1 +1 @@
1
- {"mappings":";;;AAAA;;;;;;;;;;CAUC,GAED,gEAAgE;AAChE,gGAAgG;;;AAMhG,MAAM,sCAAgB;AAEtB,wEAAwE;AACxE,MAAM,oCAAc;IAClB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,IAAK,SAAS;CACf;AAQM,MAAM;IAGX,cAAc,EAAU,EAAgB;QACtC,IAAI,iBAAiB,KAAK;QAC1B,IAAI,OAAO,IAAI,KAAK,KAAK,CAAC,AAAC,CAAA,KAAK,iBAAiB,CAAA,IAAK;QACtD,IAAI,aAAa,MAAO,CAAA,OAAO,CAAA,IAAK,KAAK,KAAK,CAAC,AAAC,CAAA,IAAI,OAAO,EAAC,IAAK;QACjE,IAAI,YAAY,iBAAiB;QACjC,IAAI,QAAQ,YAAY,MACpB,KAAK,KAAK,CAAC,YAAY,MACvB,KAAK,KAAK,CAAC,AAAC,CAAA,YAAY,CAAA,IAAK;QACjC,IAAI,MAAM,YAAY,iCAAW,CAAC,MAAM,GAAG;QAC3C,OAAO,IAAI,CAAA,GAAA,yCAAW,EAAE,IAAI,EAAE,MAAM,QAAQ,GAAG;IACjD;IAEA,YAAY,IAAqB,EAAU;QACzC,IAAI,KAAK,sCAAgB,IAAI,MAAO,CAAA,KAAK,IAAI,GAAG,CAAA,IAAK,KAAK,KAAK,CAAC,AAAC,CAAA,IAAI,KAAK,IAAI,GAAG,EAAC,IAAK;QACvF,MAAM,iCAAW,CAAC,KAAK,KAAK,GAAG,EAAE;QACjC,MAAM,KAAK,GAAG;QACd,OAAO;IACT;IAEA,kBAA0B;QACxB,OAAO;IACT;IAEA,eAAe,IAAqB,EAAU;QAC5C,IAAI,KAAK,KAAK,IAAI,GAChB,OAAO;QAGT,IAAI,KAAK,KAAK,IAAI,IAChB,OAAO;QAGT,IAAI,aAAa,CAAA,GAAA,yCAAE,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,MAAM;QAChD,OAAO,aAAa,KAAK;IAC3B;IAEA,UAAoB;QAClB,OAAO;YAAC;SAAK;IACf;IAEA,gBAAwB;QACtB,8CAA8C;QAC9C,mDAAmD;QACnD,OAAO;IACT;;aA9CA,aAAiC;;AA+CnC","sources":["packages/@internationalized/date/src/calendars/PersianCalendar.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Portions of the code in this file are based on code from ICU.\n// Original licensing can be found in the NOTICE file in the root directory of this source tree.\n\nimport {AnyCalendarDate, Calendar, CalendarIdentifier} from '../types';\nimport {CalendarDate} from '../CalendarDate';\nimport {mod} from '../utils';\n\nconst PERSIAN_EPOCH = 1948320;\n\n// Number of days from the start of the year to the start of each month.\nconst MONTH_START = [\n 0, // Farvardin\n 31, // Ordibehesht\n 62, // Khordad\n 93, // Tir\n 124, // Mordad\n 155, // Shahrivar\n 186, // Mehr\n 216, // Aban\n 246, // Azar\n 276, // Dey\n 306, // Bahman\n 336 // Esfand\n];\n\n/**\n * The Persian calendar is the main calendar used in Iran and Afghanistan. It has 12 months\n * in each year, the first 6 of which have 31 days, and the next 5 have 30 days. The 12th month\n * has either 29 or 30 days depending on whether it is a leap year. The Persian year starts\n * around the March equinox.\n */\nexport class PersianCalendar implements Calendar {\n identifier: CalendarIdentifier = 'persian';\n\n fromJulianDay(jd: number): CalendarDate {\n let daysSinceEpoch = jd - PERSIAN_EPOCH;\n let year = 1 + Math.floor((33 * daysSinceEpoch + 3) / 12053);\n let farvardin1 = 365 * (year - 1) + Math.floor((8 * year + 21) / 33);\n let dayOfYear = daysSinceEpoch - farvardin1;\n let month = dayOfYear < 216\n ? Math.floor(dayOfYear / 31)\n : Math.floor((dayOfYear - 6) / 30);\n let day = dayOfYear - MONTH_START[month] + 1;\n return new CalendarDate(this, year, month + 1, day);\n }\n\n toJulianDay(date: AnyCalendarDate): number {\n let jd = PERSIAN_EPOCH - 1 + 365 * (date.year - 1) + Math.floor((8 * date.year + 21) / 33);\n jd += MONTH_START[date.month - 1];\n jd += date.day;\n return jd;\n }\n\n getMonthsInYear(): number {\n return 12;\n }\n\n getDaysInMonth(date: AnyCalendarDate): number {\n if (date.month <= 6) {\n return 31;\n }\n\n if (date.month <= 11) {\n return 30;\n }\n\n let isLeapYear = mod(25 * date.year + 11, 33) < 8;\n return isLeapYear ? 30 : 29;\n }\n\n getEras(): string[] {\n return ['AP'];\n }\n\n getYearsInEra(): number {\n // 9378-10-10 persian is 9999-12-31 gregorian.\n // Round down to 9377 to set the maximum full year.\n return 9377;\n }\n}\n"],"names":[],"version":3,"file":"PersianCalendar.module.js.map"}
1
+ {"mappings":";;;AAAA;;;;;;;;;;CAUC,GAED,gEAAgE;AAChE,gGAAgG;;;AAMhG,MAAM,sCAAgB;AAEtB,wEAAwE;AACxE,MAAM,oCAAc;IAClB;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,IAAK,SAAS;CACf;AAQM,MAAM;IAGX,cAAc,EAAU,EAAgB;QACtC,IAAI,iBAAiB,KAAK;QAC1B,IAAI,OAAO,IAAI,KAAK,KAAK,CAAC,AAAC,CAAA,KAAK,iBAAiB,CAAA,IAAK;QACtD,IAAI,aAAa,MAAO,CAAA,OAAO,CAAA,IAAK,KAAK,KAAK,CAAC,AAAC,CAAA,IAAI,OAAO,EAAC,IAAK;QACjE,IAAI,YAAY,iBAAiB;QACjC,IAAI,QAAQ,YAAY,MACpB,KAAK,KAAK,CAAC,YAAY,MACvB,KAAK,KAAK,CAAC,AAAC,CAAA,YAAY,CAAA,IAAK;QACjC,IAAI,MAAM,YAAY,iCAAW,CAAC,MAAM,GAAG;QAC3C,OAAO,IAAI,CAAA,GAAA,yCAAW,EAAE,IAAI,EAAE,MAAM,QAAQ,GAAG;IACjD;IAEA,YAAY,IAAqB,EAAU;QACzC,IAAI,KAAK,sCAAgB,IAAI,MAAO,CAAA,KAAK,IAAI,GAAG,CAAA,IAAK,KAAK,KAAK,CAAC,AAAC,CAAA,IAAI,KAAK,IAAI,GAAG,EAAC,IAAK;QACvF,MAAM,iCAAW,CAAC,KAAK,KAAK,GAAG,EAAE;QACjC,MAAM,KAAK,GAAG;QACd,OAAO;IACT;IAEA,kBAA0B;QACxB,OAAO;IACT;IAEA,eAAe,IAAqB,EAAU;QAC5C,IAAI,KAAK,KAAK,IAAI,GAChB,OAAO;QAGT,IAAI,KAAK,KAAK,IAAI,IAChB,OAAO;QAGT,IAAI,aAAa,CAAA,GAAA,yCAAE,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,MAAM;QAChD,OAAO,aAAa,KAAK;IAC3B;IAEA,yBAAiC;QAC/B,OAAO;IACT;IAEA,wBAAgC;QAC9B,OAAO;IACT;IAEA,UAAoB;QAClB,OAAO;YAAC;SAAK;IACf;IAEA,gBAAwB;QACtB,8CAA8C;QAC9C,mDAAmD;QACnD,OAAO;IACT;;aAtDA,aAAiC;;AAuDnC","sources":["packages/@internationalized/date/src/calendars/PersianCalendar.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n// Portions of the code in this file are based on code from ICU.\n// Original licensing can be found in the NOTICE file in the root directory of this source tree.\n\nimport {AnyCalendarDate, Calendar, CalendarIdentifier} from '../types';\nimport {CalendarDate} from '../CalendarDate';\nimport {mod} from '../utils';\n\nconst PERSIAN_EPOCH = 1948320;\n\n// Number of days from the start of the year to the start of each month.\nconst MONTH_START = [\n 0, // Farvardin\n 31, // Ordibehesht\n 62, // Khordad\n 93, // Tir\n 124, // Mordad\n 155, // Shahrivar\n 186, // Mehr\n 216, // Aban\n 246, // Azar\n 276, // Dey\n 306, // Bahman\n 336 // Esfand\n];\n\n/**\n * The Persian calendar is the main calendar used in Iran and Afghanistan. It has 12 months\n * in each year, the first 6 of which have 31 days, and the next 5 have 30 days. The 12th month\n * has either 29 or 30 days depending on whether it is a leap year. The Persian year starts\n * around the March equinox.\n */\nexport class PersianCalendar implements Calendar {\n identifier: CalendarIdentifier = 'persian';\n\n fromJulianDay(jd: number): CalendarDate {\n let daysSinceEpoch = jd - PERSIAN_EPOCH;\n let year = 1 + Math.floor((33 * daysSinceEpoch + 3) / 12053);\n let farvardin1 = 365 * (year - 1) + Math.floor((8 * year + 21) / 33);\n let dayOfYear = daysSinceEpoch - farvardin1;\n let month = dayOfYear < 216\n ? Math.floor(dayOfYear / 31)\n : Math.floor((dayOfYear - 6) / 30);\n let day = dayOfYear - MONTH_START[month] + 1;\n return new CalendarDate(this, year, month + 1, day);\n }\n\n toJulianDay(date: AnyCalendarDate): number {\n let jd = PERSIAN_EPOCH - 1 + 365 * (date.year - 1) + Math.floor((8 * date.year + 21) / 33);\n jd += MONTH_START[date.month - 1];\n jd += date.day;\n return jd;\n }\n\n getMonthsInYear(): number {\n return 12;\n }\n\n getDaysInMonth(date: AnyCalendarDate): number {\n if (date.month <= 6) {\n return 31;\n }\n\n if (date.month <= 11) {\n return 30;\n }\n\n let isLeapYear = mod(25 * date.year + 11, 33) < 8;\n return isLeapYear ? 30 : 29;\n }\n\n getMaximumMonthsInYear(): number {\n return 12;\n }\n\n getMaximumDaysInMonth(): number {\n return 31;\n }\n\n getEras(): string[] {\n return ['AP'];\n }\n\n getYearsInEra(): number {\n // 9378-10-10 persian is 9999-12-31 gregorian.\n // Round down to 9377 to set the maximum full year.\n return 9377;\n }\n}\n"],"names":[],"version":3,"file":"PersianCalendar.module.js.map"}
@@ -58,14 +58,20 @@ function $4c32e2d98e5a5134$export$c9698ec7f05a07e1(value) {
58
58
  }
59
59
  function $4c32e2d98e5a5134$export$6b862160d295c8e(value) {
60
60
  let m = value.match($4c32e2d98e5a5134$var$DATE_RE);
61
- if (!m) throw new Error('Invalid ISO 8601 date string: ' + value);
61
+ if (!m) {
62
+ if ($4c32e2d98e5a5134$var$ABSOLUTE_RE.test(value)) throw new Error(`Invalid ISO 8601 date string: ${value}. Use parseAbsolute() instead.`);
63
+ throw new Error('Invalid ISO 8601 date string: ' + value);
64
+ }
62
65
  let date = new (0, $625ad1e1f4c43bc1$exports.CalendarDate)($4c32e2d98e5a5134$var$parseNumber(m[1], 0, 9999), $4c32e2d98e5a5134$var$parseNumber(m[2], 1, 12), 1);
63
66
  date.day = $4c32e2d98e5a5134$var$parseNumber(m[3], 1, date.calendar.getDaysInMonth(date));
64
67
  return date;
65
68
  }
66
69
  function $4c32e2d98e5a5134$export$588937bcd60ade55(value) {
67
70
  let m = value.match($4c32e2d98e5a5134$var$DATE_TIME_RE);
68
- if (!m) throw new Error('Invalid ISO 8601 date time string: ' + value);
71
+ if (!m) {
72
+ if ($4c32e2d98e5a5134$var$ABSOLUTE_RE.test(value)) throw new Error(`Invalid ISO 8601 date time string: ${value}. Use parseAbsolute() instead.`);
73
+ throw new Error('Invalid ISO 8601 date time string: ' + value);
74
+ }
69
75
  let year = $4c32e2d98e5a5134$var$parseNumber(m[1], -9999, 9999);
70
76
  let era = year < 1 ? 'BC' : 'AD';
71
77
  let date = new (0, $625ad1e1f4c43bc1$exports.CalendarDateTime)(era, year < 1 ? -year + 1 : year, $4c32e2d98e5a5134$var$parseNumber(m[2], 1, 12), 1, m[4] ? $4c32e2d98e5a5134$var$parseNumber(m[4], 0, 23) : 0, m[5] ? $4c32e2d98e5a5134$var$parseNumber(m[5], 0, 59) : 0, m[6] ? $4c32e2d98e5a5134$var$parseNumber(m[6], 0, 59) : 0, m[7] ? $4c32e2d98e5a5134$var$parseNumber(m[7], 0, Infinity) * 1000 : 0);
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@internationalized/date/src/string.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AnyDateTime, DateTimeDuration, Disambiguation} from './types';\nimport {CalendarDate, CalendarDateTime, Time, ZonedDateTime} from './CalendarDate';\nimport {epochFromDate, fromAbsolute, possibleAbsolutes, toAbsolute, toCalendar, toCalendarDateTime, toTimeZone} from './conversion';\nimport {getLocalTimeZone} from './queries';\nimport {GregorianCalendar} from './calendars/GregorianCalendar';\nimport {Mutable} from './utils';\n\nconst TIME_RE = /^(\\d{2})(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?$/;\nconst DATE_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})$/;\nconst DATE_TIME_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}))?(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?$/;\nconst ZONED_DATE_TIME_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}))?(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?(?:([+-]\\d{2})(?::?(\\d{2}))?(?::?(\\d{2}))?)?\\[(.*?)\\]$/;\nconst ABSOLUTE_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}))?(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?(?:(?:([+-]\\d{2})(?::?(\\d{2}))?)|Z)$/;\nconst DATE_TIME_DURATION_RE =\n /^((?<negative>-)|\\+)?P((?<years>\\d*)Y)?((?<months>\\d*)M)?((?<weeks>\\d*)W)?((?<days>\\d*)D)?((?<time>T)((?<hours>\\d*[.,]?\\d{1,9})H)?((?<minutes>\\d*[.,]?\\d{1,9})M)?((?<seconds>\\d*[.,]?\\d{1,9})S)?)?$/;\nconst requiredDurationTimeGroups = ['hours', 'minutes', 'seconds'];\nconst requiredDurationGroups = ['years', 'months', 'weeks', 'days', ...requiredDurationTimeGroups];\n\n/** Parses an ISO 8601 time string. */\nexport function parseTime(value: string): Time {\n let m = value.match(TIME_RE);\n if (!m) {\n throw new Error('Invalid ISO 8601 time string: ' + value);\n }\n\n return new Time(\n parseNumber(m[1], 0, 23),\n m[2] ? parseNumber(m[2], 0, 59) : 0,\n m[3] ? parseNumber(m[3], 0, 59) : 0,\n m[4] ? parseNumber(m[4], 0, Infinity) * 1000 : 0\n );\n}\n\n/** Parses an ISO 8601 date string, with no time components. */\nexport function parseDate(value: string): CalendarDate {\n let m = value.match(DATE_RE);\n if (!m) {\n throw new Error('Invalid ISO 8601 date string: ' + value);\n }\n\n let date: Mutable<CalendarDate> = new CalendarDate(\n parseNumber(m[1], 0, 9999),\n parseNumber(m[2], 1, 12),\n 1\n );\n\n date.day = parseNumber(m[3], 1, date.calendar.getDaysInMonth(date));\n return date as CalendarDate;\n}\n\n/** Parses an ISO 8601 date and time string, with no time zone. */\nexport function parseDateTime(value: string): CalendarDateTime {\n let m = value.match(DATE_TIME_RE);\n if (!m) {\n throw new Error('Invalid ISO 8601 date time string: ' + value);\n }\n\n let year = parseNumber(m[1], -9999, 9999);\n let era = year < 1 ? 'BC' : 'AD';\n\n let date: Mutable<CalendarDateTime> = new CalendarDateTime(\n era,\n year < 1 ? -year + 1 : year,\n parseNumber(m[2], 1, 12),\n 1,\n m[4] ? parseNumber(m[4], 0, 23) : 0,\n m[5] ? parseNumber(m[5], 0, 59) : 0,\n m[6] ? parseNumber(m[6], 0, 59) : 0,\n m[7] ? parseNumber(m[7], 0, Infinity) * 1000 : 0\n );\n\n date.day = parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n return date as CalendarDateTime;\n}\n\n/**\n * Parses an ISO 8601 date and time string with a time zone extension and optional UTC offset\n * (e.g. \"2021-11-07T00:45[America/Los_Angeles]\" or \"2021-11-07T00:45-07:00[America/Los_Angeles]\").\n * Ambiguous times due to daylight saving time transitions are resolved according to the `disambiguation`\n * parameter.\n */\nexport function parseZonedDateTime(value: string, disambiguation?: Disambiguation): ZonedDateTime {\n let m = value.match(ZONED_DATE_TIME_RE);\n if (!m) {\n throw new Error('Invalid ISO 8601 date time string: ' + value);\n }\n\n let year = parseNumber(m[1], -9999, 9999);\n let era = year < 1 ? 'BC' : 'AD';\n\n let date: Mutable<ZonedDateTime> = new ZonedDateTime(\n era,\n year < 1 ? -year + 1 : year,\n parseNumber(m[2], 1, 12),\n 1,\n m[11],\n 0,\n m[4] ? parseNumber(m[4], 0, 23) : 0,\n m[5] ? parseNumber(m[5], 0, 59) : 0,\n m[6] ? parseNumber(m[6], 0, 59) : 0,\n m[7] ? parseNumber(m[7], 0, Infinity) * 1000 : 0\n );\n\n date.day = parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n\n let plainDateTime = toCalendarDateTime(date as ZonedDateTime);\n\n let ms: number;\n if (m[8]) {\n let hourOffset = parseNumber(m[8], -23, 23);\n date.offset = Math.sign(hourOffset) * (Math.abs(hourOffset) * 60 * 60 * 1000 + parseNumber(m[9] ?? '0', 0, 59) * 60 * 1000 + parseNumber(m[10] ?? '0', 0, 59) * 1000);\n ms = epochFromDate(date as ZonedDateTime) - date.offset;\n\n // Validate offset against parsed date.\n let absolutes = possibleAbsolutes(plainDateTime, date.timeZone);\n if (!absolutes.includes(ms)) {\n throw new Error(`Offset ${offsetToString(date.offset)} is invalid for ${dateTimeToString(date)} in ${date.timeZone}`);\n }\n } else {\n // Convert to absolute and back to fix invalid times due to DST.\n ms = toAbsolute(toCalendarDateTime(plainDateTime), date.timeZone, disambiguation);\n }\n\n return fromAbsolute(ms, date.timeZone);\n}\n\n/**\n * Parses an ISO 8601 date and time string with a UTC offset (e.g. \"2021-11-07T07:45:00Z\"\n * or \"2021-11-07T07:45:00-07:00\"). The result is converted to the provided time zone.\n */\nexport function parseAbsolute(value: string, timeZone: string): ZonedDateTime {\n let m = value.match(ABSOLUTE_RE);\n if (!m) {\n throw new Error('Invalid ISO 8601 date time string: ' + value);\n }\n\n let year = parseNumber(m[1], -9999, 9999);\n let era = year < 1 ? 'BC' : 'AD';\n\n let date: Mutable<ZonedDateTime> = new ZonedDateTime(\n era,\n year < 1 ? -year + 1 : year,\n parseNumber(m[2], 1, 12),\n 1,\n timeZone,\n 0,\n m[4] ? parseNumber(m[4], 0, 23) : 0,\n m[5] ? parseNumber(m[5], 0, 59) : 0,\n m[6] ? parseNumber(m[6], 0, 59) : 0,\n m[7] ? parseNumber(m[7], 0, Infinity) * 1000 : 0\n );\n\n date.day = parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n\n if (m[8]) {\n date.offset = parseNumber(m[8], -23, 23) * 60 * 60 * 1000 + parseNumber(m[9] ?? '0', 0, 59) * 60 * 1000;\n }\n\n return toTimeZone(date as ZonedDateTime, timeZone);\n}\n\n/**\n * Parses an ISO 8601 date and time string with a UTC offset (e.g. \"2021-11-07T07:45:00Z\"\n * or \"2021-11-07T07:45:00-07:00\"). The result is converted to the user's local time zone.\n */\nexport function parseAbsoluteToLocal(value: string): ZonedDateTime {\n return parseAbsolute(value, getLocalTimeZone());\n}\n\nfunction parseNumber(value: string, min: number, max: number) {\n let val = Number(value);\n if (val < min || val > max) {\n throw new RangeError(`Value out of range: ${min} <= ${val} <= ${max}`);\n }\n\n return val;\n}\n\nexport function timeToString(time: Time): string {\n return `${String(time.hour).padStart(2, '0')}:${String(time.minute).padStart(2, '0')}:${String(time.second).padStart(2, '0')}${time.millisecond ? String(time.millisecond / 1000).slice(1) : ''}`;\n}\n\nexport function dateToString(date: CalendarDate): string {\n let gregorianDate = toCalendar(date, new GregorianCalendar());\n let year: string;\n if (gregorianDate.era === 'BC') {\n year = gregorianDate.year === 1\n ? '0000'\n : '-' + String(Math.abs(1 - gregorianDate.year)).padStart(6, '00');\n } else {\n year = String(gregorianDate.year).padStart(4, '0');\n }\n return `${year}-${String(gregorianDate.month).padStart(2, '0')}-${String(gregorianDate.day).padStart(2, '0')}`;\n}\n\nexport function dateTimeToString(date: AnyDateTime): string {\n // @ts-ignore\n return `${dateToString(date)}T${timeToString(date)}`;\n}\n\nfunction offsetToString(offset: number) {\n let sign = Math.sign(offset) < 0 ? '-' : '+';\n offset = Math.abs(offset);\n let offsetHours = Math.floor(offset / (60 * 60 * 1000));\n let offsetMinutes = Math.floor((offset % (60 * 60 * 1000)) / (60 * 1000));\n let offsetSeconds = Math.floor((offset % (60 * 60 * 1000)) % (60 * 1000) / 1000);\n let stringOffset = `${sign}${String(offsetHours).padStart(2, '0')}:${String(offsetMinutes).padStart(2, '0')}`;\n if (offsetSeconds !== 0) {\n stringOffset += `:${String(offsetSeconds).padStart(2, '0')}`;\n }\n\n return stringOffset;\n}\n\nexport function zonedDateTimeToString(date: ZonedDateTime): string {\n return `${dateTimeToString(date)}${offsetToString(date.offset)}[${date.timeZone}]`;\n}\n\n/**\n * Parses an ISO 8601 duration string (e.g. \"P3Y6M6W4DT12H30M5S\").\n * @param value An ISO 8601 duration string.\n * @returns A DateTimeDuration object.\n */\nexport function parseDuration(value: string): Required<DateTimeDuration> {\n const match = value.match(DATE_TIME_DURATION_RE);\n\n if (!match) {\n throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n }\n\n const parseDurationGroup = (\n group: string | undefined,\n isNegative: boolean\n ): number => {\n if (!group) {\n return 0;\n }\n try {\n const sign = isNegative ? -1 : 1;\n return sign * Number(group.replace(',', '.'));\n } catch {\n throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n }\n };\n\n const isNegative = !!match.groups?.negative;\n\n const hasRequiredGroups = requiredDurationGroups.some(group => match.groups?.[group]);\n\n if (!hasRequiredGroups) {\n throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n }\n\n const durationStringIncludesTime = match.groups?.time;\n\n if (durationStringIncludesTime) {\n const hasRequiredDurationTimeGroups = requiredDurationTimeGroups.some(group => match.groups?.[group]);\n if (!hasRequiredDurationTimeGroups) {\n throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n }\n }\n\n const duration: Mutable<DateTimeDuration> = {\n years: parseDurationGroup(match.groups?.years, isNegative),\n months: parseDurationGroup(match.groups?.months, isNegative),\n weeks: parseDurationGroup(match.groups?.weeks, isNegative),\n days: parseDurationGroup(match.groups?.days, isNegative),\n hours: parseDurationGroup(match.groups?.hours, isNegative),\n minutes: parseDurationGroup(match.groups?.minutes, isNegative),\n seconds: parseDurationGroup(match.groups?.seconds, isNegative)\n };\n\n if (duration.hours !== undefined && ((duration.hours % 1) !== 0) && (duration.minutes || duration.seconds)) {\n throw new Error(`Invalid ISO 8601 Duration string: ${value} - only the smallest unit can be fractional`);\n }\n\n if (duration.minutes !== undefined && ((duration.minutes % 1) !== 0) && duration.seconds) {\n throw new Error(`Invalid ISO 8601 Duration string: ${value} - only the smallest unit can be fractional`);\n }\n\n return duration as Required<DateTimeDuration>;\n}\n"],"names":[],"version":3,"file":"string.main.js.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;CAUC;;;;AASD,MAAM,gCAAU;AAChB,MAAM,gCAAU;AAChB,MAAM,qCAAe;AACrB,MAAM,2CAAqB;AAC3B,MAAM,oCAAc;AACpB,MAAM,8CACF;AACJ,MAAM,mDAA6B;IAAC;IAAS;IAAW;CAAU;AAClE,MAAM,+CAAyB;IAAC;IAAS;IAAU;IAAS;OAAW;CAA2B;AAG3F,SAAS,0CAAU,KAAa;IACrC,IAAI,IAAI,MAAM,KAAK,CAAC;IACpB,IAAI,CAAC,GACH,MAAM,IAAI,MAAM,mCAAmC;IAGrD,OAAO,IAAI,CAAA,GAAA,8BAAG,EACZ,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,KACrB,CAAC,CAAC,EAAE,GAAG,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,GAClC,CAAC,CAAC,EAAE,GAAG,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,GAClC,CAAC,CAAC,EAAE,GAAG,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,YAAY,OAAO;AAEnD;AAGO,SAAS,yCAAU,KAAa;IACrC,IAAI,IAAI,MAAM,KAAK,CAAC;IACpB,IAAI,CAAC,GAAG;QACN,IAAI,kCAAY,IAAI,CAAC,QACnB,MAAM,IAAI,MAAM,CAAC,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;QAExF,MAAM,IAAI,MAAM,mCAAmC;IACrD;IAEA,IAAI,OAA8B,IAAI,CAAA,GAAA,sCAAW,EAC/C,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,OACrB,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,KACrB;IAGF,KAAK,GAAG,GAAG,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,QAAQ,CAAC,cAAc,CAAC;IAC7D,OAAO;AACT;AAGO,SAAS,0CAAc,KAAa;IACzC,IAAI,IAAI,MAAM,KAAK,CAAC;IACpB,IAAI,CAAC,GAAG;QACN,IAAI,kCAAY,IAAI,CAAC,QACnB,MAAM,IAAI,MAAM,CAAC,mCAAmC,EAAE,MAAM,8BAA8B,CAAC;QAE7F,MAAM,IAAI,MAAM,wCAAwC;IAC1D;IAEA,IAAI,OAAO,kCAAY,CAAC,CAAC,EAAE,EAAE,OAAO;IACpC,IAAI,MAAM,OAAO,IAAI,OAAO;IAE5B,IAAI,OAAkC,IAAI,CAAA,GAAA,0CAAe,EACvD,KACA,OAAO,IAAI,CAAC,OAAO,IAAI,MACvB,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,KACrB,GACA,CAAC,CAAC,EAAE,GAAG,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,GAClC,CAAC,CAAC,EAAE,GAAG,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,GAClC,CAAC,CAAC,EAAE,GAAG,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,GAClC,CAAC,CAAC,EAAE,GAAG,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,YAAY,OAAO;IAGjD,KAAK,GAAG,GAAG,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,QAAQ,CAAC,cAAc,CAAC;IAC7D,OAAO;AACT;AAQO,SAAS,0CAAmB,KAAa,EAAE,cAA+B;IAC/E,IAAI,IAAI,MAAM,KAAK,CAAC;IACpB,IAAI,CAAC,GACH,MAAM,IAAI,MAAM,wCAAwC;IAG1D,IAAI,OAAO,kCAAY,CAAC,CAAC,EAAE,EAAE,OAAO;IACpC,IAAI,MAAM,OAAO,IAAI,OAAO;IAE5B,IAAI,OAA+B,IAAI,CAAA,GAAA,uCAAY,EACjD,KACA,OAAO,IAAI,CAAC,OAAO,IAAI,MACvB,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,KACrB,GACA,CAAC,CAAC,GAAG,EACL,GACA,CAAC,CAAC,EAAE,GAAG,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,GAClC,CAAC,CAAC,EAAE,GAAG,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,GAClC,CAAC,CAAC,EAAE,GAAG,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,GAClC,CAAC,CAAC,EAAE,GAAG,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,YAAY,OAAO;IAGjD,KAAK,GAAG,GAAG,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,QAAQ,CAAC,cAAc,CAAC;IAE7D,IAAI,gBAAgB,CAAA,GAAA,4CAAiB,EAAE;IAEvC,IAAI;IACJ,IAAI,CAAC,CAAC,EAAE,EAAE;QACR,IAAI,aAAa,kCAAY,CAAC,CAAC,EAAE,EAAE,KAAK;YACmD,KAA8C;QAAzI,KAAK,MAAM,GAAG,KAAK,IAAI,CAAC,cAAe,CAAA,KAAK,GAAG,CAAC,cAAT,UAAwC,kCAAY,CAAA,MAAA,CAAC,CAAC,EAAE,cAAJ,iBAAA,MAAQ,KAAK,GAAG,MAA5B,QAA8C,kCAAY,CAAA,OAAA,CAAC,CAAC,GAAG,cAAL,kBAAA,OAAS,KAAK,GAAG,MAAM,IAAG;QACnK,KAAK,CAAA,GAAA,uCAAY,EAAE,QAAyB,KAAK,MAAM;QAEvD,uCAAuC;QACvC,IAAI,YAAY,CAAA,GAAA,2CAAgB,EAAE,eAAe,KAAK,QAAQ;QAC9D,IAAI,CAAC,UAAU,QAAQ,CAAC,KACtB,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,qCAAe,KAAK,MAAM,EAAE,gBAAgB,EAAE,0CAAiB,MAAM,IAAI,EAAE,KAAK,QAAQ,EAAE;IAExH,OACE,gEAAgE;IAChE,KAAK,CAAA,GAAA,oCAAS,EAAE,CAAA,GAAA,4CAAiB,EAAE,gBAAgB,KAAK,QAAQ,EAAE;IAGpE,OAAO,CAAA,GAAA,sCAAW,EAAE,IAAI,KAAK,QAAQ;AACvC;AAMO,SAAS,0CAAc,KAAa,EAAE,QAAgB;IAC3D,IAAI,IAAI,MAAM,KAAK,CAAC;IACpB,IAAI,CAAC,GACH,MAAM,IAAI,MAAM,wCAAwC;IAG1D,IAAI,OAAO,kCAAY,CAAC,CAAC,EAAE,EAAE,OAAO;IACpC,IAAI,MAAM,OAAO,IAAI,OAAO;IAE5B,IAAI,OAA+B,IAAI,CAAA,GAAA,uCAAY,EACjD,KACA,OAAO,IAAI,CAAC,OAAO,IAAI,MACvB,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,KACrB,GACA,UACA,GACA,CAAC,CAAC,EAAE,GAAG,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,GAClC,CAAC,CAAC,EAAE,GAAG,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,GAClC,CAAC,CAAC,EAAE,GAAG,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,GAClC,CAAC,CAAC,EAAE,GAAG,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,YAAY,OAAO;IAGjD,KAAK,GAAG,GAAG,kCAAY,CAAC,CAAC,EAAE,EAAE,GAAG,KAAK,QAAQ,CAAC,cAAc,CAAC;QAGa;IAD1E,IAAI,CAAC,CAAC,EAAE,EACN,KAAK,MAAM,GAAG,kCAAY,CAAC,CAAC,EAAE,EAAE,KAAK,MAAvB,UAA8C,kCAAY,CAAA,MAAA,CAAC,CAAC,EAAE,cAAJ,iBAAA,MAAQ,KAAK,GAAG,MAA5B;IAG9D,OAAO,CAAA,GAAA,oCAAS,EAAE,MAAuB;AAC3C;AAMO,SAAS,0CAAqB,KAAa;IAChD,OAAO,0CAAc,OAAO,CAAA,GAAA,0CAAe;AAC7C;AAEA,SAAS,kCAAY,KAAa,EAAE,GAAW,EAAE,GAAW;IAC1D,IAAI,MAAM,OAAO;IACjB,IAAI,MAAM,OAAO,MAAM,KACrB,MAAM,IAAI,WAAW,CAAC,oBAAoB,EAAE,IAAI,IAAI,EAAE,IAAI,IAAI,EAAE,KAAK;IAGvE,OAAO;AACT;AAEO,SAAS,0CAAa,IAAU;IACrC,OAAO,GAAG,OAAO,KAAK,IAAI,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,EAAE,OAAO,KAAK,MAAM,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,EAAE,OAAO,KAAK,MAAM,EAAE,QAAQ,CAAC,GAAG,OAAO,KAAK,WAAW,GAAG,OAAO,KAAK,WAAW,GAAG,MAAM,KAAK,CAAC,KAAK,IAAI;AACnM;AAEO,SAAS,0CAAa,IAAkB;IAC7C,IAAI,gBAAgB,CAAA,GAAA,oCAAS,EAAE,MAAM,IAAI,CAAA,GAAA,2CAAgB;IACzD,IAAI;IACJ,IAAI,cAAc,GAAG,KAAK,MACxB,OAAO,cAAc,IAAI,KAAK,IAC1B,SACA,MAAM,OAAO,KAAK,GAAG,CAAC,IAAI,cAAc,IAAI,GAAG,QAAQ,CAAC,GAAG;SAE/D,OAAO,OAAO,cAAc,IAAI,EAAE,QAAQ,CAAC,GAAG;IAEhD,OAAO,GAAG,KAAK,CAAC,EAAE,OAAO,cAAc,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,EAAE,OAAO,cAAc,GAAG,EAAE,QAAQ,CAAC,GAAG,MAAM;AAChH;AAEO,SAAS,0CAAiB,IAAiB;IAChD,aAAa;IACb,OAAO,GAAG,0CAAa,MAAM,CAAC,EAAE,0CAAa,OAAO;AACtD;AAEA,SAAS,qCAAe,MAAc;IACpC,IAAI,OAAO,KAAK,IAAI,CAAC,UAAU,IAAI,MAAM;IACzC,SAAS,KAAK,GAAG,CAAC;IAClB,IAAI,cAAc,KAAK,KAAK,CAAC,SAAU;IACvC,IAAI,gBAAgB,KAAK,KAAK,CAAC,AAAC,SAAU,UAAoB;IAC9D,IAAI,gBAAgB,KAAK,KAAK,CAAC,AAAC,SAAU,UAAoB,QAAa;IAC3E,IAAI,eAAe,GAAG,OAAO,OAAO,aAAa,QAAQ,CAAC,GAAG,KAAK,CAAC,EAAE,OAAO,eAAe,QAAQ,CAAC,GAAG,MAAM;IAC7G,IAAI,kBAAkB,GACpB,gBAAgB,CAAC,CAAC,EAAE,OAAO,eAAe,QAAQ,CAAC,GAAG,MAAM;IAG9D,OAAO;AACT;AAEO,SAAS,0CAAsB,IAAmB;IACvD,OAAO,GAAG,0CAAiB,QAAQ,qCAAe,KAAK,MAAM,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC;AACpF;AAOO,SAAS,0CAAc,KAAa;QAsBpB,eAQc,gBAUP,gBACC,gBACD,gBACD,gBACC,gBACE,gBACA;IA7C9B,MAAM,QAAQ,MAAM,KAAK,CAAC;IAE1B,IAAI,CAAC,OACH,MAAM,IAAI,MAAM,CAAC,kCAAkC,EAAE,OAAO;IAG9D,MAAM,qBAAqB,CACzB,OACA;QAEA,IAAI,CAAC,OACH,OAAO;QAET,IAAI;YACF,MAAM,OAAO,aAAa,KAAK;YAC/B,OAAO,OAAO,OAAO,MAAM,OAAO,CAAC,KAAK;QAC1C,EAAE,OAAM;YACN,MAAM,IAAI,MAAM,CAAC,kCAAkC,EAAE,OAAO;QAC9D;IACF;IAEA,MAAM,aAAa,CAAC,GAAC,gBAAA,MAAM,MAAM,cAAZ,oCAAA,cAAc,QAAQ;IAE3C,MAAM,oBAAoB,6CAAuB,IAAI,CAAC,CAAA;YAAS;gBAAA,gBAAA,MAAM,MAAM,cAAZ,oCAAA,aAAc,CAAC,MAAM;;IAEpF,IAAI,CAAC,mBACH,MAAM,IAAI,MAAM,CAAC,kCAAkC,EAAE,OAAO;IAG9D,MAAM,8BAA6B,iBAAA,MAAM,MAAM,cAAZ,qCAAA,eAAc,IAAI;IAErD,IAAI,4BAA4B;QAC9B,MAAM,gCAAgC,iDAA2B,IAAI,CAAC,CAAA;gBAAS;oBAAA,gBAAA,MAAM,MAAM,cAAZ,oCAAA,aAAc,CAAC,MAAM;;QACpG,IAAI,CAAC,+BACH,MAAM,IAAI,MAAM,CAAC,kCAAkC,EAAE,OAAO;IAEhE;IAEA,MAAM,WAAsC;QAC1C,OAAO,oBAAmB,iBAAA,MAAM,MAAM,cAAZ,qCAAA,eAAc,KAAK,EAAE;QAC/C,QAAQ,oBAAmB,iBAAA,MAAM,MAAM,cAAZ,qCAAA,eAAc,MAAM,EAAE;QACjD,OAAO,oBAAmB,iBAAA,MAAM,MAAM,cAAZ,qCAAA,eAAc,KAAK,EAAE;QAC/C,MAAM,oBAAmB,iBAAA,MAAM,MAAM,cAAZ,qCAAA,eAAc,IAAI,EAAE;QAC7C,OAAO,oBAAmB,iBAAA,MAAM,MAAM,cAAZ,qCAAA,eAAc,KAAK,EAAE;QAC/C,SAAS,oBAAmB,iBAAA,MAAM,MAAM,cAAZ,qCAAA,eAAc,OAAO,EAAE;QACnD,SAAS,oBAAmB,iBAAA,MAAM,MAAM,cAAZ,qCAAA,eAAc,OAAO,EAAE;IACrD;IAEA,IAAI,SAAS,KAAK,KAAK,aAAc,AAAC,SAAS,KAAK,GAAG,MAAO,KAAO,CAAA,SAAS,OAAO,IAAI,SAAS,OAAO,AAAD,GACtG,MAAM,IAAI,MAAM,CAAC,kCAAkC,EAAE,MAAM,2CAA2C,CAAC;IAGzG,IAAI,SAAS,OAAO,KAAK,aAAc,AAAC,SAAS,OAAO,GAAG,MAAO,KAAM,SAAS,OAAO,EACtF,MAAM,IAAI,MAAM,CAAC,kCAAkC,EAAE,MAAM,2CAA2C,CAAC;IAGzG,OAAO;AACT","sources":["packages/@internationalized/date/src/string.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AnyDateTime, DateTimeDuration, Disambiguation} from './types';\nimport {CalendarDate, CalendarDateTime, Time, ZonedDateTime} from './CalendarDate';\nimport {epochFromDate, fromAbsolute, possibleAbsolutes, toAbsolute, toCalendar, toCalendarDateTime, toTimeZone} from './conversion';\nimport {getLocalTimeZone} from './queries';\nimport {GregorianCalendar} from './calendars/GregorianCalendar';\nimport {Mutable} from './utils';\n\nconst TIME_RE = /^(\\d{2})(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?$/;\nconst DATE_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})$/;\nconst DATE_TIME_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}))?(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?$/;\nconst ZONED_DATE_TIME_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}))?(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?(?:([+-]\\d{2})(?::?(\\d{2}))?(?::?(\\d{2}))?)?\\[(.*?)\\]$/;\nconst ABSOLUTE_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}))?(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?(?:(?:([+-]\\d{2})(?::?(\\d{2}))?)|Z)$/;\nconst DATE_TIME_DURATION_RE =\n /^((?<negative>-)|\\+)?P((?<years>\\d*)Y)?((?<months>\\d*)M)?((?<weeks>\\d*)W)?((?<days>\\d*)D)?((?<time>T)((?<hours>\\d*[.,]?\\d{1,9})H)?((?<minutes>\\d*[.,]?\\d{1,9})M)?((?<seconds>\\d*[.,]?\\d{1,9})S)?)?$/;\nconst requiredDurationTimeGroups = ['hours', 'minutes', 'seconds'];\nconst requiredDurationGroups = ['years', 'months', 'weeks', 'days', ...requiredDurationTimeGroups];\n\n/** Parses an ISO 8601 time string. */\nexport function parseTime(value: string): Time {\n let m = value.match(TIME_RE);\n if (!m) {\n throw new Error('Invalid ISO 8601 time string: ' + value);\n }\n\n return new Time(\n parseNumber(m[1], 0, 23),\n m[2] ? parseNumber(m[2], 0, 59) : 0,\n m[3] ? parseNumber(m[3], 0, 59) : 0,\n m[4] ? parseNumber(m[4], 0, Infinity) * 1000 : 0\n );\n}\n\n/** Parses an ISO 8601 date string, with no time components. */\nexport function parseDate(value: string): CalendarDate {\n let m = value.match(DATE_RE);\n if (!m) {\n if (ABSOLUTE_RE.test(value)) {\n throw new Error(`Invalid ISO 8601 date string: ${value}. Use parseAbsolute() instead.`);\n }\n throw new Error('Invalid ISO 8601 date string: ' + value);\n }\n\n let date: Mutable<CalendarDate> = new CalendarDate(\n parseNumber(m[1], 0, 9999),\n parseNumber(m[2], 1, 12),\n 1\n );\n\n date.day = parseNumber(m[3], 1, date.calendar.getDaysInMonth(date));\n return date as CalendarDate;\n}\n\n/** Parses an ISO 8601 date and time string, with no time zone. */\nexport function parseDateTime(value: string): CalendarDateTime {\n let m = value.match(DATE_TIME_RE);\n if (!m) {\n if (ABSOLUTE_RE.test(value)) {\n throw new Error(`Invalid ISO 8601 date time string: ${value}. Use parseAbsolute() instead.`);\n }\n throw new Error('Invalid ISO 8601 date time string: ' + value);\n }\n\n let year = parseNumber(m[1], -9999, 9999);\n let era = year < 1 ? 'BC' : 'AD';\n\n let date: Mutable<CalendarDateTime> = new CalendarDateTime(\n era,\n year < 1 ? -year + 1 : year,\n parseNumber(m[2], 1, 12),\n 1,\n m[4] ? parseNumber(m[4], 0, 23) : 0,\n m[5] ? parseNumber(m[5], 0, 59) : 0,\n m[6] ? parseNumber(m[6], 0, 59) : 0,\n m[7] ? parseNumber(m[7], 0, Infinity) * 1000 : 0\n );\n\n date.day = parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n return date as CalendarDateTime;\n}\n\n/**\n * Parses an ISO 8601 date and time string with a time zone extension and optional UTC offset\n * (e.g. \"2021-11-07T00:45[America/Los_Angeles]\" or \"2021-11-07T00:45-07:00[America/Los_Angeles]\").\n * Ambiguous times due to daylight saving time transitions are resolved according to the `disambiguation`\n * parameter.\n */\nexport function parseZonedDateTime(value: string, disambiguation?: Disambiguation): ZonedDateTime {\n let m = value.match(ZONED_DATE_TIME_RE);\n if (!m) {\n throw new Error('Invalid ISO 8601 date time string: ' + value);\n }\n\n let year = parseNumber(m[1], -9999, 9999);\n let era = year < 1 ? 'BC' : 'AD';\n\n let date: Mutable<ZonedDateTime> = new ZonedDateTime(\n era,\n year < 1 ? -year + 1 : year,\n parseNumber(m[2], 1, 12),\n 1,\n m[11],\n 0,\n m[4] ? parseNumber(m[4], 0, 23) : 0,\n m[5] ? parseNumber(m[5], 0, 59) : 0,\n m[6] ? parseNumber(m[6], 0, 59) : 0,\n m[7] ? parseNumber(m[7], 0, Infinity) * 1000 : 0\n );\n\n date.day = parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n\n let plainDateTime = toCalendarDateTime(date as ZonedDateTime);\n\n let ms: number;\n if (m[8]) {\n let hourOffset = parseNumber(m[8], -23, 23);\n date.offset = Math.sign(hourOffset) * (Math.abs(hourOffset) * 60 * 60 * 1000 + parseNumber(m[9] ?? '0', 0, 59) * 60 * 1000 + parseNumber(m[10] ?? '0', 0, 59) * 1000);\n ms = epochFromDate(date as ZonedDateTime) - date.offset;\n\n // Validate offset against parsed date.\n let absolutes = possibleAbsolutes(plainDateTime, date.timeZone);\n if (!absolutes.includes(ms)) {\n throw new Error(`Offset ${offsetToString(date.offset)} is invalid for ${dateTimeToString(date)} in ${date.timeZone}`);\n }\n } else {\n // Convert to absolute and back to fix invalid times due to DST.\n ms = toAbsolute(toCalendarDateTime(plainDateTime), date.timeZone, disambiguation);\n }\n\n return fromAbsolute(ms, date.timeZone);\n}\n\n/**\n * Parses an ISO 8601 date and time string with a UTC offset (e.g. \"2021-11-07T07:45:00Z\"\n * or \"2021-11-07T07:45:00-07:00\"). The result is converted to the provided time zone.\n */\nexport function parseAbsolute(value: string, timeZone: string): ZonedDateTime {\n let m = value.match(ABSOLUTE_RE);\n if (!m) {\n throw new Error('Invalid ISO 8601 date time string: ' + value);\n }\n\n let year = parseNumber(m[1], -9999, 9999);\n let era = year < 1 ? 'BC' : 'AD';\n\n let date: Mutable<ZonedDateTime> = new ZonedDateTime(\n era,\n year < 1 ? -year + 1 : year,\n parseNumber(m[2], 1, 12),\n 1,\n timeZone,\n 0,\n m[4] ? parseNumber(m[4], 0, 23) : 0,\n m[5] ? parseNumber(m[5], 0, 59) : 0,\n m[6] ? parseNumber(m[6], 0, 59) : 0,\n m[7] ? parseNumber(m[7], 0, Infinity) * 1000 : 0\n );\n\n date.day = parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n\n if (m[8]) {\n date.offset = parseNumber(m[8], -23, 23) * 60 * 60 * 1000 + parseNumber(m[9] ?? '0', 0, 59) * 60 * 1000;\n }\n\n return toTimeZone(date as ZonedDateTime, timeZone);\n}\n\n/**\n * Parses an ISO 8601 date and time string with a UTC offset (e.g. \"2021-11-07T07:45:00Z\"\n * or \"2021-11-07T07:45:00-07:00\"). The result is converted to the user's local time zone.\n */\nexport function parseAbsoluteToLocal(value: string): ZonedDateTime {\n return parseAbsolute(value, getLocalTimeZone());\n}\n\nfunction parseNumber(value: string, min: number, max: number) {\n let val = Number(value);\n if (val < min || val > max) {\n throw new RangeError(`Value out of range: ${min} <= ${val} <= ${max}`);\n }\n\n return val;\n}\n\nexport function timeToString(time: Time): string {\n return `${String(time.hour).padStart(2, '0')}:${String(time.minute).padStart(2, '0')}:${String(time.second).padStart(2, '0')}${time.millisecond ? String(time.millisecond / 1000).slice(1) : ''}`;\n}\n\nexport function dateToString(date: CalendarDate): string {\n let gregorianDate = toCalendar(date, new GregorianCalendar());\n let year: string;\n if (gregorianDate.era === 'BC') {\n year = gregorianDate.year === 1\n ? '0000'\n : '-' + String(Math.abs(1 - gregorianDate.year)).padStart(6, '00');\n } else {\n year = String(gregorianDate.year).padStart(4, '0');\n }\n return `${year}-${String(gregorianDate.month).padStart(2, '0')}-${String(gregorianDate.day).padStart(2, '0')}`;\n}\n\nexport function dateTimeToString(date: AnyDateTime): string {\n // @ts-ignore\n return `${dateToString(date)}T${timeToString(date)}`;\n}\n\nfunction offsetToString(offset: number) {\n let sign = Math.sign(offset) < 0 ? '-' : '+';\n offset = Math.abs(offset);\n let offsetHours = Math.floor(offset / (60 * 60 * 1000));\n let offsetMinutes = Math.floor((offset % (60 * 60 * 1000)) / (60 * 1000));\n let offsetSeconds = Math.floor((offset % (60 * 60 * 1000)) % (60 * 1000) / 1000);\n let stringOffset = `${sign}${String(offsetHours).padStart(2, '0')}:${String(offsetMinutes).padStart(2, '0')}`;\n if (offsetSeconds !== 0) {\n stringOffset += `:${String(offsetSeconds).padStart(2, '0')}`;\n }\n\n return stringOffset;\n}\n\nexport function zonedDateTimeToString(date: ZonedDateTime): string {\n return `${dateTimeToString(date)}${offsetToString(date.offset)}[${date.timeZone}]`;\n}\n\n/**\n * Parses an ISO 8601 duration string (e.g. \"P3Y6M6W4DT12H30M5S\").\n * @param value An ISO 8601 duration string.\n * @returns A DateTimeDuration object.\n */\nexport function parseDuration(value: string): Required<DateTimeDuration> {\n const match = value.match(DATE_TIME_DURATION_RE);\n\n if (!match) {\n throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n }\n\n const parseDurationGroup = (\n group: string | undefined,\n isNegative: boolean\n ): number => {\n if (!group) {\n return 0;\n }\n try {\n const sign = isNegative ? -1 : 1;\n return sign * Number(group.replace(',', '.'));\n } catch {\n throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n }\n };\n\n const isNegative = !!match.groups?.negative;\n\n const hasRequiredGroups = requiredDurationGroups.some(group => match.groups?.[group]);\n\n if (!hasRequiredGroups) {\n throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n }\n\n const durationStringIncludesTime = match.groups?.time;\n\n if (durationStringIncludesTime) {\n const hasRequiredDurationTimeGroups = requiredDurationTimeGroups.some(group => match.groups?.[group]);\n if (!hasRequiredDurationTimeGroups) {\n throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n }\n }\n\n const duration: Mutable<DateTimeDuration> = {\n years: parseDurationGroup(match.groups?.years, isNegative),\n months: parseDurationGroup(match.groups?.months, isNegative),\n weeks: parseDurationGroup(match.groups?.weeks, isNegative),\n days: parseDurationGroup(match.groups?.days, isNegative),\n hours: parseDurationGroup(match.groups?.hours, isNegative),\n minutes: parseDurationGroup(match.groups?.minutes, isNegative),\n seconds: parseDurationGroup(match.groups?.seconds, isNegative)\n };\n\n if (duration.hours !== undefined && ((duration.hours % 1) !== 0) && (duration.minutes || duration.seconds)) {\n throw new Error(`Invalid ISO 8601 Duration string: ${value} - only the smallest unit can be fractional`);\n }\n\n if (duration.minutes !== undefined && ((duration.minutes % 1) !== 0) && duration.seconds) {\n throw new Error(`Invalid ISO 8601 Duration string: ${value} - only the smallest unit can be fractional`);\n }\n\n return duration as Required<DateTimeDuration>;\n}\n"],"names":[],"version":3,"file":"string.main.js.map"}
package/dist/string.mjs CHANGED
@@ -42,14 +42,20 @@ function $fae977aafc393c5c$export$c9698ec7f05a07e1(value) {
42
42
  }
43
43
  function $fae977aafc393c5c$export$6b862160d295c8e(value) {
44
44
  let m = value.match($fae977aafc393c5c$var$DATE_RE);
45
- if (!m) throw new Error('Invalid ISO 8601 date string: ' + value);
45
+ if (!m) {
46
+ if ($fae977aafc393c5c$var$ABSOLUTE_RE.test(value)) throw new Error(`Invalid ISO 8601 date string: ${value}. Use parseAbsolute() instead.`);
47
+ throw new Error('Invalid ISO 8601 date string: ' + value);
48
+ }
46
49
  let date = new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)($fae977aafc393c5c$var$parseNumber(m[1], 0, 9999), $fae977aafc393c5c$var$parseNumber(m[2], 1, 12), 1);
47
50
  date.day = $fae977aafc393c5c$var$parseNumber(m[3], 1, date.calendar.getDaysInMonth(date));
48
51
  return date;
49
52
  }
50
53
  function $fae977aafc393c5c$export$588937bcd60ade55(value) {
51
54
  let m = value.match($fae977aafc393c5c$var$DATE_TIME_RE);
52
- if (!m) throw new Error('Invalid ISO 8601 date time string: ' + value);
55
+ if (!m) {
56
+ if ($fae977aafc393c5c$var$ABSOLUTE_RE.test(value)) throw new Error(`Invalid ISO 8601 date time string: ${value}. Use parseAbsolute() instead.`);
57
+ throw new Error('Invalid ISO 8601 date time string: ' + value);
58
+ }
53
59
  let year = $fae977aafc393c5c$var$parseNumber(m[1], -9999, 9999);
54
60
  let era = year < 1 ? 'BC' : 'AD';
55
61
  let date = new (0, $35ea8db9cb2ccb90$export$ca871e8dbb80966f)(era, year < 1 ? -year + 1 : year, $fae977aafc393c5c$var$parseNumber(m[2], 1, 12), 1, m[4] ? $fae977aafc393c5c$var$parseNumber(m[4], 0, 23) : 0, m[5] ? $fae977aafc393c5c$var$parseNumber(m[5], 0, 59) : 0, m[6] ? $fae977aafc393c5c$var$parseNumber(m[6], 0, 59) : 0, m[7] ? $fae977aafc393c5c$var$parseNumber(m[7], 0, Infinity) * 1000 : 0);
@@ -42,14 +42,20 @@ function $fae977aafc393c5c$export$c9698ec7f05a07e1(value) {
42
42
  }
43
43
  function $fae977aafc393c5c$export$6b862160d295c8e(value) {
44
44
  let m = value.match($fae977aafc393c5c$var$DATE_RE);
45
- if (!m) throw new Error('Invalid ISO 8601 date string: ' + value);
45
+ if (!m) {
46
+ if ($fae977aafc393c5c$var$ABSOLUTE_RE.test(value)) throw new Error(`Invalid ISO 8601 date string: ${value}. Use parseAbsolute() instead.`);
47
+ throw new Error('Invalid ISO 8601 date string: ' + value);
48
+ }
46
49
  let date = new (0, $35ea8db9cb2ccb90$export$99faa760c7908e4f)($fae977aafc393c5c$var$parseNumber(m[1], 0, 9999), $fae977aafc393c5c$var$parseNumber(m[2], 1, 12), 1);
47
50
  date.day = $fae977aafc393c5c$var$parseNumber(m[3], 1, date.calendar.getDaysInMonth(date));
48
51
  return date;
49
52
  }
50
53
  function $fae977aafc393c5c$export$588937bcd60ade55(value) {
51
54
  let m = value.match($fae977aafc393c5c$var$DATE_TIME_RE);
52
- if (!m) throw new Error('Invalid ISO 8601 date time string: ' + value);
55
+ if (!m) {
56
+ if ($fae977aafc393c5c$var$ABSOLUTE_RE.test(value)) throw new Error(`Invalid ISO 8601 date time string: ${value}. Use parseAbsolute() instead.`);
57
+ throw new Error('Invalid ISO 8601 date time string: ' + value);
58
+ }
53
59
  let year = $fae977aafc393c5c$var$parseNumber(m[1], -9999, 9999);
54
60
  let era = year < 1 ? 'BC' : 'AD';
55
61
  let date = new (0, $35ea8db9cb2ccb90$export$ca871e8dbb80966f)(era, year < 1 ? -year + 1 : year, $fae977aafc393c5c$var$parseNumber(m[2], 1, 12), 1, m[4] ? $fae977aafc393c5c$var$parseNumber(m[4], 0, 23) : 0, m[5] ? $fae977aafc393c5c$var$parseNumber(m[5], 0, 59) : 0, m[6] ? $fae977aafc393c5c$var$parseNumber(m[6], 0, 59) : 0, m[7] ? $fae977aafc393c5c$var$parseNumber(m[7], 0, Infinity) * 1000 : 0);
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@internationalized/date/src/string.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AnyDateTime, DateTimeDuration, Disambiguation} from './types';\nimport {CalendarDate, CalendarDateTime, Time, ZonedDateTime} from './CalendarDate';\nimport {epochFromDate, fromAbsolute, possibleAbsolutes, toAbsolute, toCalendar, toCalendarDateTime, toTimeZone} from './conversion';\nimport {getLocalTimeZone} from './queries';\nimport {GregorianCalendar} from './calendars/GregorianCalendar';\nimport {Mutable} from './utils';\n\nconst TIME_RE = /^(\\d{2})(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?$/;\nconst DATE_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})$/;\nconst DATE_TIME_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}))?(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?$/;\nconst ZONED_DATE_TIME_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}))?(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?(?:([+-]\\d{2})(?::?(\\d{2}))?(?::?(\\d{2}))?)?\\[(.*?)\\]$/;\nconst ABSOLUTE_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}))?(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?(?:(?:([+-]\\d{2})(?::?(\\d{2}))?)|Z)$/;\nconst DATE_TIME_DURATION_RE =\n /^((?<negative>-)|\\+)?P((?<years>\\d*)Y)?((?<months>\\d*)M)?((?<weeks>\\d*)W)?((?<days>\\d*)D)?((?<time>T)((?<hours>\\d*[.,]?\\d{1,9})H)?((?<minutes>\\d*[.,]?\\d{1,9})M)?((?<seconds>\\d*[.,]?\\d{1,9})S)?)?$/;\nconst requiredDurationTimeGroups = ['hours', 'minutes', 'seconds'];\nconst requiredDurationGroups = ['years', 'months', 'weeks', 'days', ...requiredDurationTimeGroups];\n\n/** Parses an ISO 8601 time string. */\nexport function parseTime(value: string): Time {\n let m = value.match(TIME_RE);\n if (!m) {\n throw new Error('Invalid ISO 8601 time string: ' + value);\n }\n\n return new Time(\n parseNumber(m[1], 0, 23),\n m[2] ? parseNumber(m[2], 0, 59) : 0,\n m[3] ? parseNumber(m[3], 0, 59) : 0,\n m[4] ? parseNumber(m[4], 0, Infinity) * 1000 : 0\n );\n}\n\n/** Parses an ISO 8601 date string, with no time components. */\nexport function parseDate(value: string): CalendarDate {\n let m = value.match(DATE_RE);\n if (!m) {\n throw new Error('Invalid ISO 8601 date string: ' + value);\n }\n\n let date: Mutable<CalendarDate> = new CalendarDate(\n parseNumber(m[1], 0, 9999),\n parseNumber(m[2], 1, 12),\n 1\n );\n\n date.day = parseNumber(m[3], 1, date.calendar.getDaysInMonth(date));\n return date as CalendarDate;\n}\n\n/** Parses an ISO 8601 date and time string, with no time zone. */\nexport function parseDateTime(value: string): CalendarDateTime {\n let m = value.match(DATE_TIME_RE);\n if (!m) {\n throw new Error('Invalid ISO 8601 date time string: ' + value);\n }\n\n let year = parseNumber(m[1], -9999, 9999);\n let era = year < 1 ? 'BC' : 'AD';\n\n let date: Mutable<CalendarDateTime> = new CalendarDateTime(\n era,\n year < 1 ? -year + 1 : year,\n parseNumber(m[2], 1, 12),\n 1,\n m[4] ? parseNumber(m[4], 0, 23) : 0,\n m[5] ? parseNumber(m[5], 0, 59) : 0,\n m[6] ? parseNumber(m[6], 0, 59) : 0,\n m[7] ? parseNumber(m[7], 0, Infinity) * 1000 : 0\n );\n\n date.day = parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n return date as CalendarDateTime;\n}\n\n/**\n * Parses an ISO 8601 date and time string with a time zone extension and optional UTC offset\n * (e.g. \"2021-11-07T00:45[America/Los_Angeles]\" or \"2021-11-07T00:45-07:00[America/Los_Angeles]\").\n * Ambiguous times due to daylight saving time transitions are resolved according to the `disambiguation`\n * parameter.\n */\nexport function parseZonedDateTime(value: string, disambiguation?: Disambiguation): ZonedDateTime {\n let m = value.match(ZONED_DATE_TIME_RE);\n if (!m) {\n throw new Error('Invalid ISO 8601 date time string: ' + value);\n }\n\n let year = parseNumber(m[1], -9999, 9999);\n let era = year < 1 ? 'BC' : 'AD';\n\n let date: Mutable<ZonedDateTime> = new ZonedDateTime(\n era,\n year < 1 ? -year + 1 : year,\n parseNumber(m[2], 1, 12),\n 1,\n m[11],\n 0,\n m[4] ? parseNumber(m[4], 0, 23) : 0,\n m[5] ? parseNumber(m[5], 0, 59) : 0,\n m[6] ? parseNumber(m[6], 0, 59) : 0,\n m[7] ? parseNumber(m[7], 0, Infinity) * 1000 : 0\n );\n\n date.day = parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n\n let plainDateTime = toCalendarDateTime(date as ZonedDateTime);\n\n let ms: number;\n if (m[8]) {\n let hourOffset = parseNumber(m[8], -23, 23);\n date.offset = Math.sign(hourOffset) * (Math.abs(hourOffset) * 60 * 60 * 1000 + parseNumber(m[9] ?? '0', 0, 59) * 60 * 1000 + parseNumber(m[10] ?? '0', 0, 59) * 1000);\n ms = epochFromDate(date as ZonedDateTime) - date.offset;\n\n // Validate offset against parsed date.\n let absolutes = possibleAbsolutes(plainDateTime, date.timeZone);\n if (!absolutes.includes(ms)) {\n throw new Error(`Offset ${offsetToString(date.offset)} is invalid for ${dateTimeToString(date)} in ${date.timeZone}`);\n }\n } else {\n // Convert to absolute and back to fix invalid times due to DST.\n ms = toAbsolute(toCalendarDateTime(plainDateTime), date.timeZone, disambiguation);\n }\n\n return fromAbsolute(ms, date.timeZone);\n}\n\n/**\n * Parses an ISO 8601 date and time string with a UTC offset (e.g. \"2021-11-07T07:45:00Z\"\n * or \"2021-11-07T07:45:00-07:00\"). The result is converted to the provided time zone.\n */\nexport function parseAbsolute(value: string, timeZone: string): ZonedDateTime {\n let m = value.match(ABSOLUTE_RE);\n if (!m) {\n throw new Error('Invalid ISO 8601 date time string: ' + value);\n }\n\n let year = parseNumber(m[1], -9999, 9999);\n let era = year < 1 ? 'BC' : 'AD';\n\n let date: Mutable<ZonedDateTime> = new ZonedDateTime(\n era,\n year < 1 ? -year + 1 : year,\n parseNumber(m[2], 1, 12),\n 1,\n timeZone,\n 0,\n m[4] ? parseNumber(m[4], 0, 23) : 0,\n m[5] ? parseNumber(m[5], 0, 59) : 0,\n m[6] ? parseNumber(m[6], 0, 59) : 0,\n m[7] ? parseNumber(m[7], 0, Infinity) * 1000 : 0\n );\n\n date.day = parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n\n if (m[8]) {\n date.offset = parseNumber(m[8], -23, 23) * 60 * 60 * 1000 + parseNumber(m[9] ?? '0', 0, 59) * 60 * 1000;\n }\n\n return toTimeZone(date as ZonedDateTime, timeZone);\n}\n\n/**\n * Parses an ISO 8601 date and time string with a UTC offset (e.g. \"2021-11-07T07:45:00Z\"\n * or \"2021-11-07T07:45:00-07:00\"). The result is converted to the user's local time zone.\n */\nexport function parseAbsoluteToLocal(value: string): ZonedDateTime {\n return parseAbsolute(value, getLocalTimeZone());\n}\n\nfunction parseNumber(value: string, min: number, max: number) {\n let val = Number(value);\n if (val < min || val > max) {\n throw new RangeError(`Value out of range: ${min} <= ${val} <= ${max}`);\n }\n\n return val;\n}\n\nexport function timeToString(time: Time): string {\n return `${String(time.hour).padStart(2, '0')}:${String(time.minute).padStart(2, '0')}:${String(time.second).padStart(2, '0')}${time.millisecond ? String(time.millisecond / 1000).slice(1) : ''}`;\n}\n\nexport function dateToString(date: CalendarDate): string {\n let gregorianDate = toCalendar(date, new GregorianCalendar());\n let year: string;\n if (gregorianDate.era === 'BC') {\n year = gregorianDate.year === 1\n ? '0000'\n : '-' + String(Math.abs(1 - gregorianDate.year)).padStart(6, '00');\n } else {\n year = String(gregorianDate.year).padStart(4, '0');\n }\n return `${year}-${String(gregorianDate.month).padStart(2, '0')}-${String(gregorianDate.day).padStart(2, '0')}`;\n}\n\nexport function dateTimeToString(date: AnyDateTime): string {\n // @ts-ignore\n return `${dateToString(date)}T${timeToString(date)}`;\n}\n\nfunction offsetToString(offset: number) {\n let sign = Math.sign(offset) < 0 ? '-' : '+';\n offset = Math.abs(offset);\n let offsetHours = Math.floor(offset / (60 * 60 * 1000));\n let offsetMinutes = Math.floor((offset % (60 * 60 * 1000)) / (60 * 1000));\n let offsetSeconds = Math.floor((offset % (60 * 60 * 1000)) % (60 * 1000) / 1000);\n let stringOffset = `${sign}${String(offsetHours).padStart(2, '0')}:${String(offsetMinutes).padStart(2, '0')}`;\n if (offsetSeconds !== 0) {\n stringOffset += `:${String(offsetSeconds).padStart(2, '0')}`;\n }\n\n return stringOffset;\n}\n\nexport function zonedDateTimeToString(date: ZonedDateTime): string {\n return `${dateTimeToString(date)}${offsetToString(date.offset)}[${date.timeZone}]`;\n}\n\n/**\n * Parses an ISO 8601 duration string (e.g. \"P3Y6M6W4DT12H30M5S\").\n * @param value An ISO 8601 duration string.\n * @returns A DateTimeDuration object.\n */\nexport function parseDuration(value: string): Required<DateTimeDuration> {\n const match = value.match(DATE_TIME_DURATION_RE);\n\n if (!match) {\n throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n }\n\n const parseDurationGroup = (\n group: string | undefined,\n isNegative: boolean\n ): number => {\n if (!group) {\n return 0;\n }\n try {\n const sign = isNegative ? -1 : 1;\n return sign * Number(group.replace(',', '.'));\n } catch {\n throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n }\n };\n\n const isNegative = !!match.groups?.negative;\n\n const hasRequiredGroups = requiredDurationGroups.some(group => match.groups?.[group]);\n\n if (!hasRequiredGroups) {\n throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n }\n\n const durationStringIncludesTime = match.groups?.time;\n\n if (durationStringIncludesTime) {\n const hasRequiredDurationTimeGroups = requiredDurationTimeGroups.some(group => match.groups?.[group]);\n if (!hasRequiredDurationTimeGroups) {\n throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n }\n }\n\n const duration: Mutable<DateTimeDuration> = {\n years: parseDurationGroup(match.groups?.years, isNegative),\n months: parseDurationGroup(match.groups?.months, isNegative),\n weeks: parseDurationGroup(match.groups?.weeks, isNegative),\n days: parseDurationGroup(match.groups?.days, isNegative),\n hours: parseDurationGroup(match.groups?.hours, isNegative),\n minutes: parseDurationGroup(match.groups?.minutes, isNegative),\n seconds: parseDurationGroup(match.groups?.seconds, isNegative)\n };\n\n if (duration.hours !== undefined && ((duration.hours % 1) !== 0) && (duration.minutes || duration.seconds)) {\n throw new Error(`Invalid ISO 8601 Duration string: ${value} - only the smallest unit can be fractional`);\n }\n\n if (duration.minutes !== undefined && ((duration.minutes % 1) !== 0) && duration.seconds) {\n throw new Error(`Invalid ISO 8601 Duration string: ${value} - only the smallest unit can be fractional`);\n }\n\n return duration as Required<DateTimeDuration>;\n}\n"],"names":[],"version":3,"file":"string.module.js.map"}
1
+ {"mappings":"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","sources":["packages/@internationalized/date/src/string.ts"],"sourcesContent":["/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nimport {AnyDateTime, DateTimeDuration, Disambiguation} from './types';\nimport {CalendarDate, CalendarDateTime, Time, ZonedDateTime} from './CalendarDate';\nimport {epochFromDate, fromAbsolute, possibleAbsolutes, toAbsolute, toCalendar, toCalendarDateTime, toTimeZone} from './conversion';\nimport {getLocalTimeZone} from './queries';\nimport {GregorianCalendar} from './calendars/GregorianCalendar';\nimport {Mutable} from './utils';\n\nconst TIME_RE = /^(\\d{2})(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?$/;\nconst DATE_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})$/;\nconst DATE_TIME_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}))?(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?$/;\nconst ZONED_DATE_TIME_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}))?(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?(?:([+-]\\d{2})(?::?(\\d{2}))?(?::?(\\d{2}))?)?\\[(.*?)\\]$/;\nconst ABSOLUTE_RE = /^([+-]\\d{6}|\\d{4})-(\\d{2})-(\\d{2})(?:T(\\d{2}))?(?::(\\d{2}))?(?::(\\d{2}))?(\\.\\d+)?(?:(?:([+-]\\d{2})(?::?(\\d{2}))?)|Z)$/;\nconst DATE_TIME_DURATION_RE =\n /^((?<negative>-)|\\+)?P((?<years>\\d*)Y)?((?<months>\\d*)M)?((?<weeks>\\d*)W)?((?<days>\\d*)D)?((?<time>T)((?<hours>\\d*[.,]?\\d{1,9})H)?((?<minutes>\\d*[.,]?\\d{1,9})M)?((?<seconds>\\d*[.,]?\\d{1,9})S)?)?$/;\nconst requiredDurationTimeGroups = ['hours', 'minutes', 'seconds'];\nconst requiredDurationGroups = ['years', 'months', 'weeks', 'days', ...requiredDurationTimeGroups];\n\n/** Parses an ISO 8601 time string. */\nexport function parseTime(value: string): Time {\n let m = value.match(TIME_RE);\n if (!m) {\n throw new Error('Invalid ISO 8601 time string: ' + value);\n }\n\n return new Time(\n parseNumber(m[1], 0, 23),\n m[2] ? parseNumber(m[2], 0, 59) : 0,\n m[3] ? parseNumber(m[3], 0, 59) : 0,\n m[4] ? parseNumber(m[4], 0, Infinity) * 1000 : 0\n );\n}\n\n/** Parses an ISO 8601 date string, with no time components. */\nexport function parseDate(value: string): CalendarDate {\n let m = value.match(DATE_RE);\n if (!m) {\n if (ABSOLUTE_RE.test(value)) {\n throw new Error(`Invalid ISO 8601 date string: ${value}. Use parseAbsolute() instead.`);\n }\n throw new Error('Invalid ISO 8601 date string: ' + value);\n }\n\n let date: Mutable<CalendarDate> = new CalendarDate(\n parseNumber(m[1], 0, 9999),\n parseNumber(m[2], 1, 12),\n 1\n );\n\n date.day = parseNumber(m[3], 1, date.calendar.getDaysInMonth(date));\n return date as CalendarDate;\n}\n\n/** Parses an ISO 8601 date and time string, with no time zone. */\nexport function parseDateTime(value: string): CalendarDateTime {\n let m = value.match(DATE_TIME_RE);\n if (!m) {\n if (ABSOLUTE_RE.test(value)) {\n throw new Error(`Invalid ISO 8601 date time string: ${value}. Use parseAbsolute() instead.`);\n }\n throw new Error('Invalid ISO 8601 date time string: ' + value);\n }\n\n let year = parseNumber(m[1], -9999, 9999);\n let era = year < 1 ? 'BC' : 'AD';\n\n let date: Mutable<CalendarDateTime> = new CalendarDateTime(\n era,\n year < 1 ? -year + 1 : year,\n parseNumber(m[2], 1, 12),\n 1,\n m[4] ? parseNumber(m[4], 0, 23) : 0,\n m[5] ? parseNumber(m[5], 0, 59) : 0,\n m[6] ? parseNumber(m[6], 0, 59) : 0,\n m[7] ? parseNumber(m[7], 0, Infinity) * 1000 : 0\n );\n\n date.day = parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n return date as CalendarDateTime;\n}\n\n/**\n * Parses an ISO 8601 date and time string with a time zone extension and optional UTC offset\n * (e.g. \"2021-11-07T00:45[America/Los_Angeles]\" or \"2021-11-07T00:45-07:00[America/Los_Angeles]\").\n * Ambiguous times due to daylight saving time transitions are resolved according to the `disambiguation`\n * parameter.\n */\nexport function parseZonedDateTime(value: string, disambiguation?: Disambiguation): ZonedDateTime {\n let m = value.match(ZONED_DATE_TIME_RE);\n if (!m) {\n throw new Error('Invalid ISO 8601 date time string: ' + value);\n }\n\n let year = parseNumber(m[1], -9999, 9999);\n let era = year < 1 ? 'BC' : 'AD';\n\n let date: Mutable<ZonedDateTime> = new ZonedDateTime(\n era,\n year < 1 ? -year + 1 : year,\n parseNumber(m[2], 1, 12),\n 1,\n m[11],\n 0,\n m[4] ? parseNumber(m[4], 0, 23) : 0,\n m[5] ? parseNumber(m[5], 0, 59) : 0,\n m[6] ? parseNumber(m[6], 0, 59) : 0,\n m[7] ? parseNumber(m[7], 0, Infinity) * 1000 : 0\n );\n\n date.day = parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n\n let plainDateTime = toCalendarDateTime(date as ZonedDateTime);\n\n let ms: number;\n if (m[8]) {\n let hourOffset = parseNumber(m[8], -23, 23);\n date.offset = Math.sign(hourOffset) * (Math.abs(hourOffset) * 60 * 60 * 1000 + parseNumber(m[9] ?? '0', 0, 59) * 60 * 1000 + parseNumber(m[10] ?? '0', 0, 59) * 1000);\n ms = epochFromDate(date as ZonedDateTime) - date.offset;\n\n // Validate offset against parsed date.\n let absolutes = possibleAbsolutes(plainDateTime, date.timeZone);\n if (!absolutes.includes(ms)) {\n throw new Error(`Offset ${offsetToString(date.offset)} is invalid for ${dateTimeToString(date)} in ${date.timeZone}`);\n }\n } else {\n // Convert to absolute and back to fix invalid times due to DST.\n ms = toAbsolute(toCalendarDateTime(plainDateTime), date.timeZone, disambiguation);\n }\n\n return fromAbsolute(ms, date.timeZone);\n}\n\n/**\n * Parses an ISO 8601 date and time string with a UTC offset (e.g. \"2021-11-07T07:45:00Z\"\n * or \"2021-11-07T07:45:00-07:00\"). The result is converted to the provided time zone.\n */\nexport function parseAbsolute(value: string, timeZone: string): ZonedDateTime {\n let m = value.match(ABSOLUTE_RE);\n if (!m) {\n throw new Error('Invalid ISO 8601 date time string: ' + value);\n }\n\n let year = parseNumber(m[1], -9999, 9999);\n let era = year < 1 ? 'BC' : 'AD';\n\n let date: Mutable<ZonedDateTime> = new ZonedDateTime(\n era,\n year < 1 ? -year + 1 : year,\n parseNumber(m[2], 1, 12),\n 1,\n timeZone,\n 0,\n m[4] ? parseNumber(m[4], 0, 23) : 0,\n m[5] ? parseNumber(m[5], 0, 59) : 0,\n m[6] ? parseNumber(m[6], 0, 59) : 0,\n m[7] ? parseNumber(m[7], 0, Infinity) * 1000 : 0\n );\n\n date.day = parseNumber(m[3], 0, date.calendar.getDaysInMonth(date));\n\n if (m[8]) {\n date.offset = parseNumber(m[8], -23, 23) * 60 * 60 * 1000 + parseNumber(m[9] ?? '0', 0, 59) * 60 * 1000;\n }\n\n return toTimeZone(date as ZonedDateTime, timeZone);\n}\n\n/**\n * Parses an ISO 8601 date and time string with a UTC offset (e.g. \"2021-11-07T07:45:00Z\"\n * or \"2021-11-07T07:45:00-07:00\"). The result is converted to the user's local time zone.\n */\nexport function parseAbsoluteToLocal(value: string): ZonedDateTime {\n return parseAbsolute(value, getLocalTimeZone());\n}\n\nfunction parseNumber(value: string, min: number, max: number) {\n let val = Number(value);\n if (val < min || val > max) {\n throw new RangeError(`Value out of range: ${min} <= ${val} <= ${max}`);\n }\n\n return val;\n}\n\nexport function timeToString(time: Time): string {\n return `${String(time.hour).padStart(2, '0')}:${String(time.minute).padStart(2, '0')}:${String(time.second).padStart(2, '0')}${time.millisecond ? String(time.millisecond / 1000).slice(1) : ''}`;\n}\n\nexport function dateToString(date: CalendarDate): string {\n let gregorianDate = toCalendar(date, new GregorianCalendar());\n let year: string;\n if (gregorianDate.era === 'BC') {\n year = gregorianDate.year === 1\n ? '0000'\n : '-' + String(Math.abs(1 - gregorianDate.year)).padStart(6, '00');\n } else {\n year = String(gregorianDate.year).padStart(4, '0');\n }\n return `${year}-${String(gregorianDate.month).padStart(2, '0')}-${String(gregorianDate.day).padStart(2, '0')}`;\n}\n\nexport function dateTimeToString(date: AnyDateTime): string {\n // @ts-ignore\n return `${dateToString(date)}T${timeToString(date)}`;\n}\n\nfunction offsetToString(offset: number) {\n let sign = Math.sign(offset) < 0 ? '-' : '+';\n offset = Math.abs(offset);\n let offsetHours = Math.floor(offset / (60 * 60 * 1000));\n let offsetMinutes = Math.floor((offset % (60 * 60 * 1000)) / (60 * 1000));\n let offsetSeconds = Math.floor((offset % (60 * 60 * 1000)) % (60 * 1000) / 1000);\n let stringOffset = `${sign}${String(offsetHours).padStart(2, '0')}:${String(offsetMinutes).padStart(2, '0')}`;\n if (offsetSeconds !== 0) {\n stringOffset += `:${String(offsetSeconds).padStart(2, '0')}`;\n }\n\n return stringOffset;\n}\n\nexport function zonedDateTimeToString(date: ZonedDateTime): string {\n return `${dateTimeToString(date)}${offsetToString(date.offset)}[${date.timeZone}]`;\n}\n\n/**\n * Parses an ISO 8601 duration string (e.g. \"P3Y6M6W4DT12H30M5S\").\n * @param value An ISO 8601 duration string.\n * @returns A DateTimeDuration object.\n */\nexport function parseDuration(value: string): Required<DateTimeDuration> {\n const match = value.match(DATE_TIME_DURATION_RE);\n\n if (!match) {\n throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n }\n\n const parseDurationGroup = (\n group: string | undefined,\n isNegative: boolean\n ): number => {\n if (!group) {\n return 0;\n }\n try {\n const sign = isNegative ? -1 : 1;\n return sign * Number(group.replace(',', '.'));\n } catch {\n throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n }\n };\n\n const isNegative = !!match.groups?.negative;\n\n const hasRequiredGroups = requiredDurationGroups.some(group => match.groups?.[group]);\n\n if (!hasRequiredGroups) {\n throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n }\n\n const durationStringIncludesTime = match.groups?.time;\n\n if (durationStringIncludesTime) {\n const hasRequiredDurationTimeGroups = requiredDurationTimeGroups.some(group => match.groups?.[group]);\n if (!hasRequiredDurationTimeGroups) {\n throw new Error(`Invalid ISO 8601 Duration string: ${value}`);\n }\n }\n\n const duration: Mutable<DateTimeDuration> = {\n years: parseDurationGroup(match.groups?.years, isNegative),\n months: parseDurationGroup(match.groups?.months, isNegative),\n weeks: parseDurationGroup(match.groups?.weeks, isNegative),\n days: parseDurationGroup(match.groups?.days, isNegative),\n hours: parseDurationGroup(match.groups?.hours, isNegative),\n minutes: parseDurationGroup(match.groups?.minutes, isNegative),\n seconds: parseDurationGroup(match.groups?.seconds, isNegative)\n };\n\n if (duration.hours !== undefined && ((duration.hours % 1) !== 0) && (duration.minutes || duration.seconds)) {\n throw new Error(`Invalid ISO 8601 Duration string: ${value} - only the smallest unit can be fractional`);\n }\n\n if (duration.minutes !== undefined && ((duration.minutes % 1) !== 0) && duration.seconds) {\n throw new Error(`Invalid ISO 8601 Duration string: ${value} - only the smallest unit can be fractional`);\n }\n\n return duration as Required<DateTimeDuration>;\n}\n"],"names":[],"version":3,"file":"string.module.js.map"}
package/dist/types.d.ts CHANGED
@@ -12,6 +12,8 @@ export class GregorianCalendar implements Calendar {
12
12
  getDaysInMonth(date: AnyCalendarDate): number;
13
13
  getMonthsInYear(date: AnyCalendarDate): number;
14
14
  getDaysInYear(date: AnyCalendarDate): number;
15
+ getMaximumMonthsInYear(): number;
16
+ getMaximumDaysInMonth(): number;
15
17
  getYearsInEra(date: AnyCalendarDate): number;
16
18
  getEras(): string[];
17
19
  isInverseEra(date: AnyCalendarDate): boolean;
@@ -386,6 +388,10 @@ export interface Calendar {
386
388
  * eras may begin in the middle of a month.
387
389
  */
388
390
  getMinimumDayInMonth?(date: AnyCalendarDate): number;
391
+ /** Returns the maximum months across all years. */
392
+ getMaximumMonthsInYear(): number;
393
+ /** Returns the maximum days across all months. */
394
+ getMaximumDaysInMonth(): number;
389
395
  /**
390
396
  * Returns a date that is the first day of the month for the given date.
391
397
  * This is used to determine the month that the given date falls in, if
@@ -514,6 +520,8 @@ export class PersianCalendar implements Calendar {
514
520
  toJulianDay(date: AnyCalendarDate): number;
515
521
  getMonthsInYear(): number;
516
522
  getDaysInMonth(date: AnyCalendarDate): number;
523
+ getMaximumMonthsInYear(): number;
524
+ getMaximumDaysInMonth(): number;
517
525
  getEras(): string[];
518
526
  getYearsInEra(): number;
519
527
  }
@@ -545,6 +553,8 @@ export class IslamicCivilCalendar implements Calendar {
545
553
  getDaysInMonth(date: AnyCalendarDate): number;
546
554
  getMonthsInYear(): number;
547
555
  getDaysInYear(date: AnyCalendarDate): number;
556
+ getMaximumMonthsInYear(): number;
557
+ getMaximumDaysInMonth(): number;
548
558
  getYearsInEra(): number;
549
559
  getEras(): string[];
550
560
  }
@@ -587,6 +597,8 @@ export class HebrewCalendar implements Calendar {
587
597
  getDaysInMonth(date: AnyCalendarDate): number;
588
598
  getMonthsInYear(date: AnyCalendarDate): number;
589
599
  getDaysInYear(date: AnyCalendarDate): number;
600
+ getMaximumMonthsInYear(): number;
601
+ getMaximumDaysInMonth(): number;
590
602
  getYearsInEra(): number;
591
603
  getEras(): string[];
592
604
  balanceYearMonth(date: Mutable<AnyCalendarDate>, previousDate: AnyCalendarDate): void;
@@ -603,6 +615,8 @@ export class EthiopicCalendar implements Calendar {
603
615
  getDaysInMonth(date: AnyCalendarDate): number;
604
616
  getMonthsInYear(): number;
605
617
  getDaysInYear(date: AnyCalendarDate): number;
618
+ getMaximumMonthsInYear(): number;
619
+ getMaximumDaysInMonth(): number;
606
620
  getYearsInEra(date: AnyCalendarDate): number;
607
621
  getEras(): string[];
608
622
  }
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/@internationalized/date/src/packages/@internationalized/date/src/utils.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/calendars/GregorianCalendar.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/weekStartData.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/queries.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/conversion.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/manipulation.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/string.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/CalendarDate.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/types.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/calendars/JapaneseCalendar.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/calendars/BuddhistCalendar.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/calendars/TaiwanCalendar.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/calendars/PersianCalendar.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/calendars/IndianCalendar.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/calendars/IslamicCalendar.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/calendars/HebrewCalendar.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/calendars/EthiopicCalendar.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/createCalendar.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/DateFormatter.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/index.ts","packages/@internationalized/date/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nexport type {\n AnyCalendarDate,\n AnyTime,\n AnyDateTime,\n Calendar,\n CalendarIdentifier,\n DateDuration,\n TimeDuration,\n DateTimeDuration,\n DateFields,\n TimeFields,\n DateField,\n TimeField,\n Disambiguation,\n CycleOptions,\n CycleTimeOptions\n} from './types';\n\nexport {CalendarDate, CalendarDateTime, Time, ZonedDateTime} from './CalendarDate';\nexport {GregorianCalendar} from './calendars/GregorianCalendar';\nexport {JapaneseCalendar} from './calendars/JapaneseCalendar';\nexport {BuddhistCalendar} from './calendars/BuddhistCalendar';\nexport {TaiwanCalendar} from './calendars/TaiwanCalendar';\nexport {PersianCalendar} from './calendars/PersianCalendar';\nexport {IndianCalendar} from './calendars/IndianCalendar';\nexport {IslamicCivilCalendar, IslamicTabularCalendar, IslamicUmalquraCalendar} from './calendars/IslamicCalendar';\nexport {HebrewCalendar} from './calendars/HebrewCalendar';\nexport {EthiopicCalendar, EthiopicAmeteAlemCalendar, CopticCalendar} from './calendars/EthiopicCalendar';\nexport {createCalendar} from './createCalendar';\nexport {\n toCalendarDate,\n toCalendarDateTime,\n toTime,\n toCalendar,\n toZoned,\n toTimeZone,\n toLocalTimeZone,\n fromDate,\n fromAbsolute\n} from './conversion';\nexport {\n isSameDay,\n isSameMonth,\n isSameYear,\n isEqualDay,\n isEqualMonth,\n isEqualYear,\n isToday,\n getDayOfWeek,\n now,\n today,\n getHoursInDay,\n getLocalTimeZone,\n setLocalTimeZone,\n resetLocalTimeZone,\n startOfMonth,\n startOfWeek,\n startOfYear,\n endOfMonth,\n endOfWeek,\n endOfYear,\n getMinimumMonthInYear,\n getMinimumDayInMonth,\n getWeeksInMonth,\n minDate,\n maxDate,\n isWeekend,\n isWeekday,\n isEqualCalendar\n} from './queries';\nexport {\n parseDate,\n parseDateTime,\n parseTime,\n parseAbsolute,\n parseAbsoluteToLocal,\n parseZonedDateTime,\n parseDuration\n} from './string';\nexport {DateFormatter} from './DateFormatter';\n"],"names":[],"version":3,"file":"types.d.ts.map"}
1
+ {"mappings":"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","sources":["packages/@internationalized/date/src/packages/@internationalized/date/src/utils.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/calendars/GregorianCalendar.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/weekStartData.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/queries.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/conversion.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/manipulation.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/string.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/CalendarDate.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/types.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/calendars/JapaneseCalendar.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/calendars/BuddhistCalendar.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/calendars/TaiwanCalendar.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/calendars/PersianCalendar.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/calendars/IndianCalendar.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/calendars/IslamicCalendar.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/calendars/HebrewCalendar.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/calendars/EthiopicCalendar.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/createCalendar.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/DateFormatter.ts","packages/@internationalized/date/src/packages/@internationalized/date/src/index.ts","packages/@internationalized/date/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\nexport type {\n AnyCalendarDate,\n AnyTime,\n AnyDateTime,\n Calendar,\n CalendarIdentifier,\n DateDuration,\n TimeDuration,\n DateTimeDuration,\n DateFields,\n TimeFields,\n DateField,\n TimeField,\n Disambiguation,\n CycleOptions,\n CycleTimeOptions\n} from './types';\n\nexport {CalendarDate, CalendarDateTime, Time, ZonedDateTime} from './CalendarDate';\nexport {GregorianCalendar} from './calendars/GregorianCalendar';\nexport {JapaneseCalendar} from './calendars/JapaneseCalendar';\nexport {BuddhistCalendar} from './calendars/BuddhistCalendar';\nexport {TaiwanCalendar} from './calendars/TaiwanCalendar';\nexport {PersianCalendar} from './calendars/PersianCalendar';\nexport {IndianCalendar} from './calendars/IndianCalendar';\nexport {IslamicCivilCalendar, IslamicTabularCalendar, IslamicUmalquraCalendar} from './calendars/IslamicCalendar';\nexport {HebrewCalendar} from './calendars/HebrewCalendar';\nexport {EthiopicCalendar, EthiopicAmeteAlemCalendar, CopticCalendar} from './calendars/EthiopicCalendar';\nexport {createCalendar} from './createCalendar';\nexport {\n toCalendarDate,\n toCalendarDateTime,\n toTime,\n toCalendar,\n toZoned,\n toTimeZone,\n toLocalTimeZone,\n fromDate,\n fromAbsolute\n} from './conversion';\nexport {\n isSameDay,\n isSameMonth,\n isSameYear,\n isEqualDay,\n isEqualMonth,\n isEqualYear,\n isToday,\n getDayOfWeek,\n now,\n today,\n getHoursInDay,\n getLocalTimeZone,\n setLocalTimeZone,\n resetLocalTimeZone,\n startOfMonth,\n startOfWeek,\n startOfYear,\n endOfMonth,\n endOfWeek,\n endOfYear,\n getMinimumMonthInYear,\n getMinimumDayInMonth,\n getWeeksInMonth,\n minDate,\n maxDate,\n isWeekend,\n isWeekday,\n isEqualCalendar\n} from './queries';\nexport {\n parseDate,\n parseDateTime,\n parseTime,\n parseAbsolute,\n parseAbsoluteToLocal,\n parseZonedDateTime,\n parseDuration\n} from './string';\nexport {DateFormatter} from './DateFormatter';\n"],"names":[],"version":3,"file":"types.d.ts.map"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@internationalized/date",
3
- "version": "3.10.0",
3
+ "version": "3.11.0",
4
4
  "description": "Internationalized calendar, date, and time manipulation utilities",
5
5
  "license": "Apache-2.0",
6
6
  "main": "dist/main.js",
@@ -31,5 +31,5 @@
31
31
  "publishConfig": {
32
32
  "access": "public"
33
33
  },
34
- "gitHead": "0bda51183baa23306342af32a82012ea0fe0f2dc"
34
+ "gitHead": "66e51757606b43a89ed02c574ca24517323a2ab9"
35
35
  }
@@ -100,6 +100,14 @@ export class EthiopicCalendar implements Calendar {
100
100
  return 365 + getLeapDay(date.year);
101
101
  }
102
102
 
103
+ getMaximumMonthsInYear(): number {
104
+ return 13;
105
+ }
106
+
107
+ getMaximumDaysInMonth(): number {
108
+ return 30;
109
+ }
110
+
103
111
  getYearsInEra(date: AnyCalendarDate): number {
104
112
  // 9999-12-31 gregorian is 9992-20-02 ethiopic.
105
113
  // Round down to 9991 for the last full year.
@@ -113,6 +113,14 @@ export class GregorianCalendar implements Calendar {
113
113
  return isLeapYear(date.year) ? 366 : 365;
114
114
  }
115
115
 
116
+ getMaximumMonthsInYear(): number {
117
+ return 12;
118
+ }
119
+
120
+ getMaximumDaysInMonth(): number {
121
+ return 31;
122
+ }
123
+
116
124
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
117
125
  getYearsInEra(date: AnyCalendarDate): number {
118
126
  return 9999;
@@ -180,6 +180,14 @@ export class HebrewCalendar implements Calendar {
180
180
  return getDaysInYear(date.year);
181
181
  }
182
182
 
183
+ getMaximumMonthsInYear(): number {
184
+ return 13;
185
+ }
186
+
187
+ getMaximumDaysInMonth(): number {
188
+ return 30;
189
+ }
190
+
183
191
  getYearsInEra(): number {
184
192
  // 6239 gregorian
185
193
  return 9999;
@@ -77,6 +77,14 @@ export class IslamicCivilCalendar implements Calendar {
77
77
  return isLeapYear(date.year) ? 355 : 354;
78
78
  }
79
79
 
80
+ getMaximumMonthsInYear(): number {
81
+ return 12;
82
+ }
83
+
84
+ getMaximumDaysInMonth(): number {
85
+ return 30;
86
+ }
87
+
80
88
  getYearsInEra(): number {
81
89
  // 9999 gregorian
82
90
  return 9665;
@@ -80,6 +80,14 @@ export class PersianCalendar implements Calendar {
80
80
  return isLeapYear ? 30 : 29;
81
81
  }
82
82
 
83
+ getMaximumMonthsInYear(): number {
84
+ return 12;
85
+ }
86
+
87
+ getMaximumDaysInMonth(): number {
88
+ return 31;
89
+ }
90
+
83
91
  getEras(): string[] {
84
92
  return ['AP'];
85
93
  }
package/src/string.ts CHANGED
@@ -46,6 +46,9 @@ export function parseTime(value: string): Time {
46
46
  export function parseDate(value: string): CalendarDate {
47
47
  let m = value.match(DATE_RE);
48
48
  if (!m) {
49
+ if (ABSOLUTE_RE.test(value)) {
50
+ throw new Error(`Invalid ISO 8601 date string: ${value}. Use parseAbsolute() instead.`);
51
+ }
49
52
  throw new Error('Invalid ISO 8601 date string: ' + value);
50
53
  }
51
54
 
@@ -63,6 +66,9 @@ export function parseDate(value: string): CalendarDate {
63
66
  export function parseDateTime(value: string): CalendarDateTime {
64
67
  let m = value.match(DATE_TIME_RE);
65
68
  if (!m) {
69
+ if (ABSOLUTE_RE.test(value)) {
70
+ throw new Error(`Invalid ISO 8601 date time string: ${value}. Use parseAbsolute() instead.`);
71
+ }
66
72
  throw new Error('Invalid ISO 8601 date time string: ' + value);
67
73
  }
68
74
 
package/src/types.ts CHANGED
@@ -74,6 +74,10 @@ export interface Calendar {
74
74
  * eras may begin in the middle of a month.
75
75
  */
76
76
  getMinimumDayInMonth?(date: AnyCalendarDate): number,
77
+ /** Returns the maximum months across all years. */
78
+ getMaximumMonthsInYear(): number,
79
+ /** Returns the maximum days across all months. */
80
+ getMaximumDaysInMonth(): number,
77
81
  /**
78
82
  * Returns a date that is the first day of the month for the given date.
79
83
  * This is used to determine the month that the given date falls in, if