@northguild/gmt 1.19.0 → 1.20.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 (1024) hide show
  1. package/README.md +12 -12
  2. package/dist/calendar/business/businessDaysBetween.d.ts +2 -2
  3. package/dist/calendar/business/businessDaysBetween.js +11 -35
  4. package/dist/calendar/business/mergeCalendars.d.ts +1 -1
  5. package/dist/calendar/business/mergeCalendars.js +8 -9
  6. package/dist/calendar/business/nextBusinessDay.d.ts +2 -2
  7. package/dist/calendar/business/nextBusinessDay.js +2 -2
  8. package/dist/calendar/business/previousBusinessDay.d.ts +2 -2
  9. package/dist/calendar/business/previousBusinessDay.js +2 -2
  10. package/dist/calendar/business/rollDate.d.ts +3 -3
  11. package/dist/calendar/business/rollDate.js +10 -43
  12. package/dist/calendar/calculate/bucketRange.d.ts +9 -9
  13. package/dist/calendar/calculate/bucketRange.js +9 -9
  14. package/dist/calendar/calculate/floorToZone.d.ts +2 -2
  15. package/dist/calendar/calculate/floorToZone.js +1 -1
  16. package/dist/calendar/calculate/getFiscalPeriod.d.ts +50 -40
  17. package/dist/calendar/calculate/getFiscalPeriod.js +78 -57
  18. package/dist/calendar/calculate/getQuarter.d.ts +26 -21
  19. package/dist/calendar/calculate/getQuarter.js +48 -19
  20. package/dist/calendar/hours/addOperatingTime.d.ts +3 -3
  21. package/dist/calendar/hours/addOperatingTime.js +3 -3
  22. package/dist/calendar/hours/isOpenAt.d.ts +3 -3
  23. package/dist/calendar/hours/isOpenAt.js +3 -3
  24. package/dist/calendar/hours/nextCloseAt.d.ts +2 -2
  25. package/dist/calendar/hours/nextCloseAt.js +2 -2
  26. package/dist/calendar/hours/nextOpenAt.d.ts +3 -3
  27. package/dist/calendar/hours/nextOpenAt.js +3 -3
  28. package/dist/calendar/hours/operatingIntervals.d.ts +2 -2
  29. package/dist/calendar/hours/operatingIntervals.js +4 -6
  30. package/dist/calendar/hours/operatingTimeBetween.d.ts +3 -3
  31. package/dist/calendar/hours/operatingTimeBetween.js +6 -8
  32. package/dist/calendar/hours/recurringWindows.d.ts +5 -5
  33. package/dist/calendar/hours/recurringWindows.js +9 -10
  34. package/dist/calendar/index.d.ts +1 -1
  35. package/dist/calendar/index.js +2 -2
  36. package/dist/calendar/validate/index.d.ts +3 -0
  37. package/dist/calendar/validate/index.js +3 -0
  38. package/dist/calendar/validate/isValidFiscalCalendar.d.ts +23 -0
  39. package/dist/calendar/validate/isValidFiscalCalendar.js +44 -0
  40. package/dist/calendar/validate/isValidFiscalExtraWeek.d.ts +19 -0
  41. package/dist/calendar/validate/isValidFiscalExtraWeek.js +23 -0
  42. package/dist/calendar/validate/isValidFiscalPattern.d.ts +7 -7
  43. package/dist/calendar/validate/isValidFiscalPattern.js +7 -7
  44. package/dist/calendar/validate/isValidFiscalYearLabel.d.ts +20 -0
  45. package/dist/calendar/validate/isValidFiscalYearLabel.js +24 -0
  46. package/dist/calendar/validate/isValidRollConvention.js +2 -10
  47. package/dist/calendar/validate/isValidZoneBucketUnit.d.ts +1 -1
  48. package/dist/duration/calculate/absDuration.js +1 -1
  49. package/dist/duration/calculate/addDuration.js +1 -1
  50. package/dist/duration/calculate/durationFromUnits.js +1 -1
  51. package/dist/duration/calculate/getDurationSign.js +1 -1
  52. package/dist/duration/calculate/getDurationUnit.d.ts +1 -1
  53. package/dist/duration/calculate/getDurationUnit.js +1 -1
  54. package/dist/duration/calculate/negateDuration.js +1 -1
  55. package/dist/duration/calculate/subtractDuration.js +1 -1
  56. package/dist/duration/calculate/totalDuration.d.ts +4 -4
  57. package/dist/duration/calculate/totalDuration.js +4 -4
  58. package/dist/duration/calculate/totalUnits.js +1 -1
  59. package/dist/duration/compare/compareDurations.d.ts +3 -3
  60. package/dist/duration/compare/compareDurations.js +3 -3
  61. package/dist/duration/format/formatDuration.d.ts +9 -9
  62. package/dist/duration/format/formatDuration.js +14 -13
  63. package/dist/duration/index.d.ts +1 -1
  64. package/dist/duration/index.js +2 -2
  65. package/dist/duration/normalize/normalizeDuration.d.ts +3 -3
  66. package/dist/duration/normalize/normalizeDuration.js +3 -3
  67. package/dist/duration/parse/parseDuration.d.ts +1 -1
  68. package/dist/duration/parse/parseDuration.js +1 -1
  69. package/dist/duration/validate/isValidDuration.js +2 -11
  70. package/dist/gnss/convert/gnssToUtc.d.ts +24 -0
  71. package/dist/gnss/convert/gnssToUtc.js +39 -0
  72. package/dist/gnss/convert/gnssWeekToUtc.d.ts +53 -0
  73. package/dist/gnss/convert/gnssWeekToUtc.js +80 -0
  74. package/dist/gnss/convert/index.d.ts +6 -0
  75. package/dist/gnss/convert/index.js +6 -0
  76. package/dist/gnss/convert/rinexWeekToUtc.d.ts +34 -0
  77. package/dist/gnss/convert/rinexWeekToUtc.js +57 -0
  78. package/dist/gnss/convert/utcToGnss.d.ts +38 -0
  79. package/dist/gnss/convert/utcToGnss.js +53 -0
  80. package/dist/gnss/convert/utcToGnssWeek.d.ts +24 -0
  81. package/dist/gnss/convert/utcToGnssWeek.js +40 -0
  82. package/dist/gnss/convert/utcToRinexWeek.d.ts +19 -0
  83. package/dist/gnss/convert/utcToRinexWeek.js +45 -0
  84. package/dist/gnss/index.d.ts +2 -0
  85. package/dist/gnss/index.js +3 -0
  86. package/dist/index.d.ts +4 -2
  87. package/dist/index.js +4 -2
  88. package/dist/instant/convert/classifyLocal.d.ts +4 -4
  89. package/dist/instant/convert/classifyLocal.js +8 -19
  90. package/dist/instant/convert/fromOffsetInstant.d.ts +4 -4
  91. package/dist/instant/convert/fromOffsetInstant.js +5 -5
  92. package/dist/instant/convert/resolveLocal.d.ts +9 -9
  93. package/dist/instant/convert/resolveLocal.js +9 -9
  94. package/dist/instant/convert/toOffsetInstant.d.ts +11 -11
  95. package/dist/instant/convert/toOffsetInstant.js +11 -28
  96. package/dist/instant/index.d.ts +1 -1
  97. package/dist/instant/index.js +2 -2
  98. package/dist/instant/validate/isValidUtcOffset.d.ts +1 -1
  99. package/dist/instant/validate/isValidUtcOffset.js +1 -1
  100. package/dist/intermodal/calculate/billingTimeline.js +1 -1
  101. package/dist/intermodal/calculate/chargeableDays.d.ts +12 -12
  102. package/dist/intermodal/calculate/chargeableDays.js +17 -16
  103. package/dist/intermodal/calculate/demurrageClock.d.ts +1 -1
  104. package/dist/intermodal/calculate/demurrageClock.js +2 -2
  105. package/dist/intermodal/calculate/freeTimeExpiry.d.ts +10 -10
  106. package/dist/intermodal/calculate/freeTimeExpiry.js +19 -15
  107. package/dist/intermodal/calculate/multimodalETA.d.ts +1 -1
  108. package/dist/intermodal/calculate/multimodalETA.js +2 -2
  109. package/dist/intermodal/format/bolTimestamp.d.ts +6 -6
  110. package/dist/intermodal/format/bolTimestamp.js +6 -6
  111. package/dist/intermodal/format/formatEpcisEvent.d.ts +1 -1
  112. package/dist/intermodal/format/formatEpcisEvent.js +2 -2
  113. package/dist/intermodal/index.d.ts +1 -1
  114. package/dist/intermodal/index.js +2 -2
  115. package/dist/intermodal/parse/parseEpcisEvent.js +1 -1
  116. package/dist/intermodal/validate/isValidEpcisEventTime.js +1 -1
  117. package/dist/internal/advanceToWeekday.d.ts +1 -1
  118. package/dist/internal/businessCalendar.d.ts +28 -12
  119. package/dist/internal/businessCalendar.js +129 -118
  120. package/dist/internal/businessDayValues.js +1 -1
  121. package/dist/internal/calendarDatePairPolicy.d.ts +1 -1
  122. package/dist/internal/calendarDateString.d.ts +1 -1
  123. package/dist/internal/calendarDateString.js +1 -1
  124. package/dist/internal/calendarSystemIds.js +1 -1
  125. package/dist/internal/calendarValueOfDate.js +1 -1
  126. package/dist/internal/calendarZonedPairPolicy.d.ts +1 -1
  127. package/dist/internal/calendarZonedString.d.ts +3 -3
  128. package/dist/internal/calendarZonedString.js +4 -4
  129. package/dist/internal/compareUnixEpochs.js +1 -1
  130. package/dist/internal/cutoffAtResolved.d.ts +62 -0
  131. package/dist/internal/cutoffAtResolved.js +162 -0
  132. package/dist/internal/cycleFieldValue.d.ts +0 -2
  133. package/dist/internal/cycleFieldValue.js +0 -2
  134. package/dist/internal/dateTimeUnitHelpers.d.ts +1 -1
  135. package/dist/internal/dateUnitHelpers.d.ts +1 -1
  136. package/dist/internal/daylightTime.d.ts +1 -1
  137. package/dist/internal/differenceRecord.d.ts +1 -1
  138. package/dist/internal/durationUntilString.d.ts +1 -1
  139. package/dist/internal/durationUntilString.js +1 -1
  140. package/dist/internal/dutyEngine.d.ts +6 -6
  141. package/dist/internal/dutyEngine.js +206 -197
  142. package/dist/internal/dutyPeriods.d.ts +1 -1
  143. package/dist/internal/dutyPeriods.js +8 -2
  144. package/dist/internal/dutyRules.d.ts +2 -1
  145. package/dist/internal/dutyRules.js +1 -1
  146. package/dist/internal/dutyRunIndex.d.ts +150 -0
  147. package/dist/internal/dutyRunIndex.js +398 -0
  148. package/dist/internal/earlierOccurrence.d.ts +41 -0
  149. package/dist/internal/earlierOccurrence.js +57 -0
  150. package/dist/internal/ediDateTimeFields.js +1 -1
  151. package/dist/internal/ediDateTimeWriter.js +1 -1
  152. package/dist/internal/englishCalendarNames.d.ts +1 -1
  153. package/dist/internal/epochDay.d.ts +41 -0
  154. package/dist/internal/epochDay.js +129 -0
  155. package/dist/internal/exactDuration.js +1 -1
  156. package/dist/internal/exactMoment.d.ts +4 -4
  157. package/dist/internal/exactMoment.js +5 -5
  158. package/dist/internal/fiscalCalendar.d.ts +41 -7
  159. package/dist/internal/fiscalCalendar.js +77 -9
  160. package/dist/internal/foreignEpochs.d.ts +5 -0
  161. package/dist/internal/foreignEpochs.js +5 -0
  162. package/dist/internal/formatCalendarDays.d.ts +4 -4
  163. package/dist/internal/formatCalendarDays.js +6 -5
  164. package/dist/internal/formatDateInCalendar.d.ts +1 -1
  165. package/dist/internal/formatRelativeDuration.d.ts +7 -7
  166. package/dist/internal/formatRelativeDuration.js +8 -7
  167. package/dist/internal/formatterCache.d.ts +40 -0
  168. package/dist/internal/formatterCache.js +181 -0
  169. package/dist/internal/freeTimeLedger.d.ts +31 -43
  170. package/dist/internal/freeTimeLedger.js +322 -30
  171. package/dist/internal/getLocaleWeekYearBounds.d.ts +1 -1
  172. package/dist/internal/gnssTimeScales.d.ts +53 -0
  173. package/dist/internal/gnssTimeScales.js +128 -0
  174. package/dist/internal/gnssWeek.d.ts +92 -0
  175. package/dist/internal/gnssWeek.js +212 -0
  176. package/dist/internal/halfOpenIntervals.d.ts +1 -1
  177. package/dist/internal/halfOpenIntervals.js +1 -1
  178. package/dist/internal/hasCalendarAnnotation.d.ts +3 -3
  179. package/dist/internal/hasCalendarAnnotation.js +3 -3
  180. package/dist/internal/hourDurationString.js +1 -1
  181. package/dist/internal/httpDateFields.js +1 -1
  182. package/dist/internal/index.d.ts +9 -3
  183. package/dist/internal/index.js +9 -3
  184. package/dist/internal/inputChecks.d.ts +53 -0
  185. package/dist/internal/inputChecks.js +132 -0
  186. package/dist/internal/instantFormatOptions.d.ts +1 -1
  187. package/dist/internal/instantFormatOptions.js +4 -8
  188. package/dist/internal/instantIntervalText.js +1 -1
  189. package/dist/internal/instantNanoseconds.d.ts +2 -2
  190. package/dist/internal/instantNanoseconds.js +2 -2
  191. package/dist/internal/intervalCountHelpers.d.ts +1 -1
  192. package/dist/internal/isoStringBody.d.ts +2 -2
  193. package/dist/internal/isoStringBody.js +2 -2
  194. package/dist/internal/joinDateTimeConnector.js +3 -2
  195. package/dist/internal/leapSeconds.d.ts +63 -0
  196. package/dist/internal/leapSeconds.js +162 -0
  197. package/dist/internal/localeWeekInfo.d.ts +1 -1
  198. package/dist/internal/localeWeekInfo.js +1 -1
  199. package/dist/internal/monthGridWeekRow.d.ts +1 -1
  200. package/dist/internal/normalizeDateTime.d.ts +2 -1
  201. package/dist/internal/normalizeDateTime.js +3 -2
  202. package/dist/internal/normalizeTimeZone.d.ts +1 -1
  203. package/dist/internal/normalizeTimeZone.js +1 -1
  204. package/dist/internal/offsetTimeline.d.ts +56 -0
  205. package/dist/internal/offsetTimeline.js +166 -0
  206. package/dist/internal/operatingSchedule.d.ts +28 -32
  207. package/dist/internal/operatingSchedule.js +538 -176
  208. package/dist/internal/patternToken.js +10 -7
  209. package/dist/internal/plainDateAdd.d.ts +1 -1
  210. package/dist/internal/plainDateAdd.js +1 -1
  211. package/dist/internal/plainDateUntil.d.ts +1 -1
  212. package/dist/internal/plainDateUntil.js +1 -1
  213. package/dist/internal/readSetFields.js +1 -1
  214. package/dist/internal/resolveDurationRelativeTo.d.ts +1 -1
  215. package/dist/internal/resolveDurationRelativeTo.js +1 -1
  216. package/dist/internal/resolveLocale.d.ts +2 -2
  217. package/dist/internal/resolveLocale.js +2 -2
  218. package/dist/internal/resolveManualRoundingOptions.d.ts +1 -1
  219. package/dist/internal/resolveUnixIntervalPair.d.ts +1 -1
  220. package/dist/internal/rinexWeek.d.ts +22 -0
  221. package/dist/internal/rinexWeek.js +30 -0
  222. package/dist/internal/rollBusinessDate.d.ts +15 -0
  223. package/dist/internal/rollBusinessDate.js +46 -0
  224. package/dist/internal/splitStep.d.ts +1 -1
  225. package/dist/internal/splitStep.js +1 -1
  226. package/dist/internal/startOrEndOfUnix.d.ts +1 -1
  227. package/dist/internal/startOrEndOfUtc.d.ts +1 -1
  228. package/dist/internal/startOrEndOfUtc.js +1 -1
  229. package/dist/internal/startOrEndOfZoned.d.ts +1 -1
  230. package/dist/internal/temporal.d.ts +5 -0
  231. package/dist/internal/temporal.js +5 -0
  232. package/dist/internal/temporalCompat/calendarDateArithmetic.d.ts +1 -1
  233. package/dist/internal/temporalCompat/calendarDateFromFields.d.ts +1 -1
  234. package/dist/internal/temporalCompat/calendarDateFromFields.js +1 -1
  235. package/dist/internal/temporalCompat/calendarFields.d.ts +1 -1
  236. package/dist/internal/temporalCompat/capabilities.d.ts +27 -5
  237. package/dist/internal/temporalCompat/capabilities.js +28 -4
  238. package/dist/internal/temporalCompat/fieldSearch.d.ts +1 -1
  239. package/dist/internal/temporalCompat/fieldSearch.js +1 -1
  240. package/dist/internal/temporalCompat/fixedDay.d.ts +1 -1
  241. package/dist/internal/temporalCompat/fixedDay.js +1 -1
  242. package/dist/internal/temporalCompat/index.d.ts +1 -1
  243. package/dist/internal/temporalCompat/index.js +1 -1
  244. package/dist/internal/temporalCompat/largeMonthSpan.js +1 -1
  245. package/dist/internal/temporalCompat/nonIsoArithmetic.d.ts +1 -1
  246. package/dist/internal/temporalCompat/nonIsoArithmetic.js +1 -1
  247. package/dist/internal/temporalCompat/probeRepros.d.ts +35 -0
  248. package/dist/internal/temporalCompat/probeRepros.js +571 -0
  249. package/dist/internal/temporalCompat/readArithmeticModel.js +2 -2
  250. package/dist/internal/temporalCompat/repros.d.ts +3 -10
  251. package/dist/internal/temporalCompat/repros.js +13 -520
  252. package/dist/internal/timeScaleString.d.ts +47 -0
  253. package/dist/internal/timeScaleString.js +86 -0
  254. package/dist/internal/toInstantFromUtc.d.ts +1 -1
  255. package/dist/internal/toInstantFromUtc.js +1 -1
  256. package/dist/internal/unixEpochValue.d.ts +1 -1
  257. package/dist/internal/unixEpochValue.js +1 -1
  258. package/dist/internal/unixFormatReference.d.ts +1 -1
  259. package/dist/internal/unixFormatReference.js +1 -1
  260. package/dist/internal/unixWallClock.d.ts +1 -1
  261. package/dist/internal/utcOffsetString.d.ts +16 -0
  262. package/dist/internal/utcOffsetString.js +31 -1
  263. package/dist/internal/utcReading.d.ts +59 -0
  264. package/dist/internal/utcReading.js +113 -0
  265. package/dist/internal/utcWallClock.d.ts +1 -1
  266. package/dist/internal/utcWallClock.js +1 -1
  267. package/dist/internal/validatedZones.d.ts +20 -0
  268. package/dist/internal/validatedZones.js +33 -0
  269. package/dist/internal/wallClockAtOffset.d.ts +1 -1
  270. package/dist/internal/yearWindowStart.js +1 -1
  271. package/dist/internal/zoneBucketCap.d.ts +1 -1
  272. package/dist/internal/zoneBucketCap.js +2 -2
  273. package/dist/internal/zoneFrame.d.ts +4 -4
  274. package/dist/internal/zoneFrame.js +4 -4
  275. package/dist/internal/zonedBucket.d.ts +2 -2
  276. package/dist/internal/zonedBucket.js +92 -21
  277. package/dist/internal/zonedFormatReference.d.ts +1 -1
  278. package/dist/internal/zonedFormatReference.js +1 -1
  279. package/dist/internal/zonedLocalDates.d.ts +1 -1
  280. package/dist/internal/zonedLocalDates.js +22 -19
  281. package/dist/internal/zonedNowUnitValue.d.ts +1 -1
  282. package/dist/internal/zonedNowUnitValue.js +1 -1
  283. package/dist/internal/zonedTransitionSearch.d.ts +2 -0
  284. package/dist/internal/zonedTransitionSearch.js +165 -16
  285. package/dist/internal/zonedWallClock.d.ts +15 -4
  286. package/dist/internal/zonedWallClock.js +34 -6
  287. package/dist/internal/zonedWallClockDifference.d.ts +1 -1
  288. package/dist/internal/zonedWallClockDifference.js +2 -2
  289. package/dist/internal/zonedWallClockOperations.d.ts +2 -2
  290. package/dist/internal/zonedWallClockOperations.js +51 -6
  291. package/dist/internal/zonelessCalendarDate.d.ts +1 -1
  292. package/dist/internal/zonelessCalendarDate.js +1 -1
  293. package/dist/interval/index.d.ts +1 -1
  294. package/dist/interval/index.js +2 -2
  295. package/dist/plain/calculate/addBusinessDays.d.ts +2 -2
  296. package/dist/plain/calculate/addBusinessDays.js +2 -2
  297. package/dist/plain/calculate/addDateTime.js +1 -1
  298. package/dist/plain/calculate/addTime.js +1 -1
  299. package/dist/plain/calculate/clampDate.js +1 -1
  300. package/dist/plain/calculate/closestDateTo.js +1 -1
  301. package/dist/plain/calculate/cycleDate.js +1 -1
  302. package/dist/plain/calculate/cycleDateTime.js +1 -1
  303. package/dist/plain/calculate/cycleTime.js +1 -1
  304. package/dist/plain/calculate/diffDate.d.ts +1 -1
  305. package/dist/plain/calculate/diffDateAsDuration.d.ts +1 -1
  306. package/dist/plain/calculate/diffDateTime.d.ts +1 -1
  307. package/dist/plain/calculate/diffDateTime.js +1 -1
  308. package/dist/plain/calculate/diffDateTimeAsDuration.d.ts +1 -1
  309. package/dist/plain/calculate/diffDateTimeAsDuration.js +1 -1
  310. package/dist/plain/calculate/diffTime.d.ts +1 -1
  311. package/dist/plain/calculate/diffTime.js +1 -1
  312. package/dist/plain/calculate/endOfDate.d.ts +1 -1
  313. package/dist/plain/calculate/endOfDate.js +1 -1
  314. package/dist/plain/calculate/endOfDateTime.d.ts +1 -1
  315. package/dist/plain/calculate/endOfDateTime.js +1 -1
  316. package/dist/plain/calculate/endOfQuarterForDate.js +1 -1
  317. package/dist/plain/calculate/endOfQuarterForDateTime.js +1 -1
  318. package/dist/plain/calculate/endOfTime.d.ts +1 -1
  319. package/dist/plain/calculate/endOfTime.js +1 -1
  320. package/dist/plain/calculate/getDayOfYear.js +1 -1
  321. package/dist/plain/calculate/getDaysInMonth.js +1 -1
  322. package/dist/plain/calculate/getDaysInYear.js +1 -1
  323. package/dist/plain/calculate/getLargestDateDurationUnit.d.ts +1 -1
  324. package/dist/plain/calculate/getLargestDateTimeDurationUnit.d.ts +1 -1
  325. package/dist/plain/calculate/getLargestTimeDurationUnit.d.ts +1 -1
  326. package/dist/plain/calculate/getLocaleDayOfWeek.d.ts +6 -6
  327. package/dist/plain/calculate/getLocaleDayOfWeek.js +7 -7
  328. package/dist/plain/calculate/getLocaleEndOfWeek.d.ts +4 -4
  329. package/dist/plain/calculate/getLocaleEndOfWeek.js +5 -5
  330. package/dist/plain/calculate/getLocaleStartOfWeek.d.ts +5 -5
  331. package/dist/plain/calculate/getLocaleStartOfWeek.js +6 -6
  332. package/dist/plain/calculate/getLocaleWeekYear.d.ts +10 -10
  333. package/dist/plain/calculate/getLocaleWeekYear.js +11 -11
  334. package/dist/plain/calculate/getQuarterForDate.js +1 -1
  335. package/dist/plain/calculate/getQuarterForDateTime.js +1 -1
  336. package/dist/plain/calculate/getWeekNumber.js +1 -1
  337. package/dist/plain/calculate/getWeekOfMonth.d.ts +10 -14
  338. package/dist/plain/calculate/getWeekOfMonth.js +11 -15
  339. package/dist/plain/calculate/getWeekYear.js +1 -1
  340. package/dist/plain/calculate/getWeeksInLocaleWeekYear.d.ts +7 -7
  341. package/dist/plain/calculate/getWeeksInLocaleWeekYear.js +8 -8
  342. package/dist/plain/calculate/getWeeksInMonth.d.ts +8 -11
  343. package/dist/plain/calculate/getWeeksInMonth.js +9 -12
  344. package/dist/plain/calculate/getWeeksInYear.js +1 -1
  345. package/dist/plain/calculate/maxDate.js +1 -1
  346. package/dist/plain/calculate/maxDateTime.js +1 -1
  347. package/dist/plain/calculate/maxTime.js +1 -1
  348. package/dist/plain/calculate/minDate.js +1 -1
  349. package/dist/plain/calculate/minDateTime.js +1 -1
  350. package/dist/plain/calculate/minTime.js +1 -1
  351. package/dist/plain/calculate/nextWeekday.d.ts +14 -12
  352. package/dist/plain/calculate/nextWeekday.js +15 -13
  353. package/dist/plain/calculate/previousWeekday.d.ts +14 -12
  354. package/dist/plain/calculate/previousWeekday.js +15 -13
  355. package/dist/plain/calculate/roundDate.d.ts +1 -1
  356. package/dist/plain/calculate/roundDate.js +1 -1
  357. package/dist/plain/calculate/roundDateTime.d.ts +1 -1
  358. package/dist/plain/calculate/roundDateTime.js +1 -1
  359. package/dist/plain/calculate/roundTime.d.ts +1 -1
  360. package/dist/plain/calculate/roundTime.js +1 -1
  361. package/dist/plain/calculate/setDate.d.ts +1 -1
  362. package/dist/plain/calculate/setDate.js +1 -1
  363. package/dist/plain/calculate/setDateTime.d.ts +1 -1
  364. package/dist/plain/calculate/setDateTime.js +1 -1
  365. package/dist/plain/calculate/setTime.d.ts +1 -1
  366. package/dist/plain/calculate/setTime.js +1 -1
  367. package/dist/plain/calculate/sortDateTimes.js +1 -1
  368. package/dist/plain/calculate/sortDates.js +1 -1
  369. package/dist/plain/calculate/sortTimes.js +1 -1
  370. package/dist/plain/calculate/startOfDate.d.ts +1 -1
  371. package/dist/plain/calculate/startOfDate.js +1 -1
  372. package/dist/plain/calculate/startOfDateTime.d.ts +1 -1
  373. package/dist/plain/calculate/startOfDateTime.js +1 -1
  374. package/dist/plain/calculate/startOfQuarterForDate.js +1 -1
  375. package/dist/plain/calculate/startOfQuarterForDateTime.js +1 -1
  376. package/dist/plain/calculate/startOfTime.d.ts +1 -1
  377. package/dist/plain/calculate/startOfTime.js +1 -1
  378. package/dist/plain/calculate/subtractBusinessDays.d.ts +2 -2
  379. package/dist/plain/calculate/subtractBusinessDays.js +2 -2
  380. package/dist/plain/calculate/subtractDate.js +1 -1
  381. package/dist/plain/calculate/subtractDateTime.js +1 -1
  382. package/dist/plain/calculate/subtractTime.js +1 -1
  383. package/dist/plain/calculate/weekOfYearForDate.js +1 -1
  384. package/dist/plain/calculate/weekOfYearForDateTime.js +1 -1
  385. package/dist/plain/chop/chopDate.js +1 -1
  386. package/dist/plain/chop/chopMilliseconds.js +1 -1
  387. package/dist/plain/chop/chopSeconds.js +1 -1
  388. package/dist/plain/chop/chopTime.js +1 -1
  389. package/dist/plain/compare/areDateTimesEqual.js +1 -1
  390. package/dist/plain/compare/areDateTimesEqualBy.d.ts +2 -4
  391. package/dist/plain/compare/areDateTimesEqualBy.js +2 -4
  392. package/dist/plain/compare/areDatesEqual.js +1 -1
  393. package/dist/plain/compare/areDatesEqualBy.d.ts +5 -5
  394. package/dist/plain/compare/areDatesEqualBy.js +5 -5
  395. package/dist/plain/compare/areTimesEqual.js +1 -1
  396. package/dist/plain/compare/isAfterDate.js +1 -1
  397. package/dist/plain/compare/isAfterDateTime.js +1 -1
  398. package/dist/plain/compare/isAfterTime.js +1 -1
  399. package/dist/plain/compare/isBeforeDate.js +1 -1
  400. package/dist/plain/compare/isBeforeDateTime.js +1 -1
  401. package/dist/plain/compare/isBeforeTime.js +1 -1
  402. package/dist/plain/compare/isBetweenDate.js +1 -1
  403. package/dist/plain/compare/isBetweenDateTime.js +1 -1
  404. package/dist/plain/compare/isBetweenTime.js +1 -1
  405. package/dist/plain/compare/isBusinessDay.d.ts +2 -2
  406. package/dist/plain/compare/isBusinessDay.js +3 -3
  407. package/dist/plain/compare/isRelativeDay.d.ts +1 -1
  408. package/dist/plain/compare/isRelativeDay.js +1 -1
  409. package/dist/plain/compare/isThisUnit.d.ts +8 -6
  410. package/dist/plain/compare/isThisUnit.js +7 -5
  411. package/dist/plain/compare/isWeekend.d.ts +5 -5
  412. package/dist/plain/compare/isWeekend.js +6 -6
  413. package/dist/plain/format/formatCalendar.d.ts +3 -5
  414. package/dist/plain/format/formatCalendar.js +10 -9
  415. package/dist/plain/format/formatDate.d.ts +4 -4
  416. package/dist/plain/format/formatDate.js +8 -7
  417. package/dist/plain/format/formatDateRange.d.ts +4 -4
  418. package/dist/plain/format/formatDateRange.js +8 -7
  419. package/dist/plain/format/formatDateTime.d.ts +4 -4
  420. package/dist/plain/format/formatDateTime.js +8 -7
  421. package/dist/plain/format/formatDateTimeRange.d.ts +4 -4
  422. package/dist/plain/format/formatDateTimeRange.js +8 -7
  423. package/dist/plain/format/formatDateTimeToParts.d.ts +6 -6
  424. package/dist/plain/format/formatDateTimeToParts.js +10 -9
  425. package/dist/plain/format/formatDateToParts.d.ts +6 -6
  426. package/dist/plain/format/formatDateToParts.js +10 -9
  427. package/dist/plain/format/formatRelativeDate.d.ts +3 -3
  428. package/dist/plain/format/formatRelativeDate.js +4 -4
  429. package/dist/plain/format/formatRelativeDateTime.d.ts +3 -3
  430. package/dist/plain/format/formatRelativeDateTime.js +4 -4
  431. package/dist/plain/format/formatRelativeTime.d.ts +3 -3
  432. package/dist/plain/format/formatRelativeTime.js +4 -4
  433. package/dist/plain/format/formatSqlDateTime.js +1 -1
  434. package/dist/plain/format/formatTime.d.ts +4 -4
  435. package/dist/plain/format/formatTime.js +8 -7
  436. package/dist/plain/get/getDay.js +1 -1
  437. package/dist/plain/get/getDayOfWeek.js +1 -1
  438. package/dist/plain/get/getHour.js +1 -1
  439. package/dist/plain/get/getMicrosecond.js +1 -1
  440. package/dist/plain/get/getMillisecond.js +1 -1
  441. package/dist/plain/get/getMinute.js +1 -1
  442. package/dist/plain/get/getMonth.js +1 -1
  443. package/dist/plain/get/getNanosecond.js +1 -1
  444. package/dist/plain/get/getNow.js +1 -1
  445. package/dist/plain/get/getNowUnit.js +1 -1
  446. package/dist/plain/get/getSecond.js +1 -1
  447. package/dist/plain/get/getToday.js +1 -1
  448. package/dist/plain/get/getWeekOfYear.js +1 -1
  449. package/dist/plain/get/getYear.js +1 -1
  450. package/dist/plain/index.d.ts +1 -1
  451. package/dist/plain/index.js +2 -2
  452. package/dist/plain/interval/intervalAbutsDate.d.ts +1 -2
  453. package/dist/plain/interval/intervalAbutsDate.js +2 -3
  454. package/dist/plain/interval/intervalAbutsDateTime.js +1 -1
  455. package/dist/plain/interval/intervalAbutsTime.js +1 -1
  456. package/dist/plain/interval/intervalContainsDate.d.ts +1 -1
  457. package/dist/plain/interval/intervalContainsDate.js +2 -2
  458. package/dist/plain/interval/intervalContainsDateTime.js +1 -1
  459. package/dist/plain/interval/intervalContainsTime.js +1 -1
  460. package/dist/plain/interval/intervalCountDate.js +1 -1
  461. package/dist/plain/interval/intervalCountDateTime.js +1 -1
  462. package/dist/plain/interval/intervalCountTime.js +1 -1
  463. package/dist/plain/interval/intervalDifferenceDate.d.ts +1 -1
  464. package/dist/plain/interval/intervalDifferenceDate.js +2 -2
  465. package/dist/plain/interval/intervalDifferenceDateTime.js +1 -1
  466. package/dist/plain/interval/intervalDifferenceTime.js +1 -1
  467. package/dist/plain/interval/intervalDivideEquallyDate.d.ts +3 -3
  468. package/dist/plain/interval/intervalDivideEquallyDate.js +3 -3
  469. package/dist/plain/interval/intervalDivideEquallyDateTime.js +1 -1
  470. package/dist/plain/interval/intervalDivideEquallyTime.js +1 -1
  471. package/dist/plain/interval/intervalEngulfsDate.d.ts +1 -1
  472. package/dist/plain/interval/intervalEngulfsDate.js +2 -2
  473. package/dist/plain/interval/intervalEngulfsDateTime.js +1 -1
  474. package/dist/plain/interval/intervalEngulfsTime.js +1 -1
  475. package/dist/plain/interval/intervalFromDurationDate.js +1 -1
  476. package/dist/plain/interval/intervalFromDurationDateTime.js +1 -1
  477. package/dist/plain/interval/intervalFromDurationTime.js +1 -1
  478. package/dist/plain/interval/intervalIntersectionDate.d.ts +1 -1
  479. package/dist/plain/interval/intervalIntersectionDate.js +2 -2
  480. package/dist/plain/interval/intervalIntersectionDateTime.js +1 -1
  481. package/dist/plain/interval/intervalIntersectionTime.js +1 -1
  482. package/dist/plain/interval/intervalLengthDateTime.js +1 -1
  483. package/dist/plain/interval/intervalLengthTime.js +1 -1
  484. package/dist/plain/interval/intervalOverlappingDaysDate.js +1 -1
  485. package/dist/plain/interval/intervalOverlappingDaysDateTime.js +1 -1
  486. package/dist/plain/interval/intervalSplitAtDate.d.ts +1 -1
  487. package/dist/plain/interval/intervalSplitAtDate.js +2 -2
  488. package/dist/plain/interval/intervalSplitAtDateTime.js +1 -1
  489. package/dist/plain/interval/intervalSplitAtTime.js +1 -1
  490. package/dist/plain/interval/intervalUnionDate.d.ts +2 -2
  491. package/dist/plain/interval/intervalUnionDate.js +3 -3
  492. package/dist/plain/interval/intervalUnionDateTime.js +1 -1
  493. package/dist/plain/interval/intervalUnionTime.js +1 -1
  494. package/dist/plain/interval/intervalXorAllDate.d.ts +1 -1
  495. package/dist/plain/interval/intervalXorAllDate.js +2 -2
  496. package/dist/plain/interval/intervalXorAllDateTime.js +1 -1
  497. package/dist/plain/interval/intervalXorAllTime.js +1 -1
  498. package/dist/plain/interval/intervalXorDate.d.ts +1 -1
  499. package/dist/plain/interval/intervalXorDate.js +2 -2
  500. package/dist/plain/interval/intervalXorDateTime.js +1 -1
  501. package/dist/plain/interval/intervalXorTime.js +1 -1
  502. package/dist/plain/interval/intervalsOverlapDate.d.ts +1 -1
  503. package/dist/plain/interval/intervalsOverlapDate.js +2 -2
  504. package/dist/plain/interval/intervalsOverlapDateTime.js +1 -1
  505. package/dist/plain/interval/intervalsOverlapTime.js +1 -1
  506. package/dist/plain/interval/mergeIntervalsDate.d.ts +1 -1
  507. package/dist/plain/interval/mergeIntervalsDate.js +2 -2
  508. package/dist/plain/interval/mergeIntervalsDateTime.js +1 -1
  509. package/dist/plain/interval/mergeIntervalsTime.js +1 -1
  510. package/dist/plain/interval/splitIntervalByUnitDate.d.ts +2 -3
  511. package/dist/plain/interval/splitIntervalByUnitDate.js +3 -4
  512. package/dist/plain/interval/splitIntervalByUnitDateTime.d.ts +2 -1
  513. package/dist/plain/interval/splitIntervalByUnitDateTime.js +3 -2
  514. package/dist/plain/interval/splitIntervalByUnitTime.js +1 -1
  515. package/dist/plain/interval/validate/isValidDateInterval.d.ts +1 -1
  516. package/dist/plain/interval/validate/isValidDateInterval.js +2 -2
  517. package/dist/plain/interval/validate/isValidDateTimeInterval.js +1 -1
  518. package/dist/plain/interval/validate/isValidTimeInterval.js +1 -1
  519. package/dist/plain/locale/getLocaleEraNames.d.ts +6 -6
  520. package/dist/plain/locale/getLocaleEraNames.js +8 -7
  521. package/dist/plain/locale/getLocaleMeridiems.d.ts +5 -5
  522. package/dist/plain/locale/getLocaleMeridiems.js +7 -6
  523. package/dist/plain/locale/getLocaleMonthNames.d.ts +6 -6
  524. package/dist/plain/locale/getLocaleMonthNames.js +17 -11
  525. package/dist/plain/locale/getLocaleWeekdayNames.d.ts +3 -3
  526. package/dist/plain/locale/getLocaleWeekdayNames.js +12 -5
  527. package/dist/plain/map/mapDatesInRange.js +1 -1
  528. package/dist/plain/map/mapDaysInMonth.js +1 -1
  529. package/dist/plain/parse/parseDateTimeWithPattern.d.ts +14 -13
  530. package/dist/plain/parse/parseDateTimeWithPattern.js +15 -14
  531. package/dist/plain/parse/parseDateWithPattern.d.ts +18 -17
  532. package/dist/plain/parse/parseDateWithPattern.js +19 -18
  533. package/dist/plain/parse/parseDayFromDate.js +1 -1
  534. package/dist/plain/parse/parseDayFromDateTime.js +1 -1
  535. package/dist/plain/parse/parseDayOfWeekFromDate.js +1 -1
  536. package/dist/plain/parse/parseDayOfWeekFromDateTime.js +1 -1
  537. package/dist/plain/parse/parseHourFromDateTime.js +1 -1
  538. package/dist/plain/parse/parseHourFromTime.js +1 -1
  539. package/dist/plain/parse/parseMicrosecondFromDateTime.js +1 -1
  540. package/dist/plain/parse/parseMicrosecondFromTime.js +1 -1
  541. package/dist/plain/parse/parseMillisecondFromDateTime.js +1 -1
  542. package/dist/plain/parse/parseMillisecondFromTime.js +1 -1
  543. package/dist/plain/parse/parseMinuteFromDateTime.js +1 -1
  544. package/dist/plain/parse/parseMinuteFromTime.js +1 -1
  545. package/dist/plain/parse/parseMonthFromDate.js +1 -1
  546. package/dist/plain/parse/parseMonthFromDateTime.js +1 -1
  547. package/dist/plain/parse/parseNanosecondFromDateTime.js +1 -1
  548. package/dist/plain/parse/parseNanosecondFromTime.js +1 -1
  549. package/dist/plain/parse/parseSecondFromDateTime.js +1 -1
  550. package/dist/plain/parse/parseSecondFromTime.js +1 -1
  551. package/dist/plain/parse/parseSqlDateTime.js +1 -1
  552. package/dist/plain/parse/parseTimeWithPattern.d.ts +6 -4
  553. package/dist/plain/parse/parseTimeWithPattern.js +7 -5
  554. package/dist/plain/parse/parseUnitFromDate.d.ts +1 -1
  555. package/dist/plain/parse/parseUnitFromDate.js +1 -1
  556. package/dist/plain/parse/parseUnitFromDateTime.d.ts +1 -1
  557. package/dist/plain/parse/parseUnitFromDateTime.js +1 -1
  558. package/dist/plain/parse/parseUnitFromTime.d.ts +1 -1
  559. package/dist/plain/parse/parseUnitFromTime.js +1 -1
  560. package/dist/plain/parse/parseWeekFromDateTime.js +1 -1
  561. package/dist/plain/parse/parseYearFromDate.js +1 -1
  562. package/dist/plain/parse/parseYearFromDateTime.js +1 -1
  563. package/dist/plain/validate/{isLeapSecond.d.ts → hasSecond60.d.ts} +16 -14
  564. package/dist/plain/validate/{isLeapSecond.js → hasSecond60.js} +16 -14
  565. package/dist/plain/validate/index.d.ts +1 -1
  566. package/dist/plain/validate/index.js +1 -1
  567. package/dist/plain/validate/isLeapYear.js +1 -1
  568. package/dist/plain/validate/isValidDate.js +2 -17
  569. package/dist/plain/validate/isValidDateRange.js +1 -1
  570. package/dist/plain/validate/isValidDateTime.d.ts +1 -1
  571. package/dist/plain/validate/isValidDateTime.js +4 -4
  572. package/dist/plain/validate/isValidDateTimeRange.js +1 -1
  573. package/dist/plain/validate/isValidIsoDateLike.js +3 -3
  574. package/dist/plain/validate/isValidTime.js +2 -18
  575. package/dist/plain/validate/isValidTimeRange.js +1 -1
  576. package/dist/precision/convert/fromNanoseconds.d.ts +2 -2
  577. package/dist/precision/convert/fromNanoseconds.js +3 -3
  578. package/dist/precision/convert/toNanoseconds.d.ts +2 -2
  579. package/dist/precision/convert/toNanoseconds.js +2 -2
  580. package/dist/precision/index.d.ts +1 -1
  581. package/dist/precision/index.js +2 -2
  582. package/dist/precision/validate/isValidInstant.d.ts +1 -1
  583. package/dist/precision/validate/isValidInstant.js +1 -1
  584. package/dist/regex/calendar-zoned-date-time.d.ts +4 -4
  585. package/dist/regex/calendar-zoned-date-time.js +4 -4
  586. package/dist/regex/index.d.ts +1 -1
  587. package/dist/regex/index.js +2 -2
  588. package/dist/regex/leap-second.d.ts +1 -1
  589. package/dist/regex/leap-second.js +1 -1
  590. package/dist/regex/time-zone-like.d.ts +2 -2
  591. package/dist/regex/time-zone-like.js +2 -2
  592. package/dist/span/calculate/spanMs.d.ts +4 -3
  593. package/dist/span/calculate/spanMs.js +4 -3
  594. package/dist/span/calculate/spanNs.d.ts +4 -3
  595. package/dist/span/calculate/spanNs.js +4 -3
  596. package/dist/span/calculate/spanWallClock.d.ts +12 -12
  597. package/dist/span/calculate/spanWallClock.js +13 -13
  598. package/dist/span/index.d.ts +1 -1
  599. package/dist/span/index.js +2 -2
  600. package/dist/span/validate/isValidSpan.d.ts +3 -3
  601. package/dist/span/validate/isValidSpan.js +3 -3
  602. package/dist/timescale/calculate/index.d.ts +3 -0
  603. package/dist/timescale/calculate/index.js +3 -0
  604. package/dist/timescale/calculate/leapSecondsBetween.d.ts +26 -0
  605. package/dist/timescale/calculate/leapSecondsBetween.js +62 -0
  606. package/dist/timescale/calculate/nextLeapSecond.d.ts +18 -0
  607. package/dist/timescale/calculate/nextLeapSecond.js +33 -0
  608. package/dist/timescale/calculate/taiMinusUtc.d.ts +21 -0
  609. package/dist/timescale/calculate/taiMinusUtc.js +38 -0
  610. package/dist/timescale/convert/fromTAI.d.ts +22 -0
  611. package/dist/timescale/convert/fromTAI.js +35 -0
  612. package/dist/timescale/convert/index.d.ts +2 -0
  613. package/dist/timescale/convert/index.js +2 -0
  614. package/dist/timescale/convert/toTAI.d.ts +23 -0
  615. package/dist/timescale/convert/toTAI.js +39 -0
  616. package/dist/timescale/index.d.ts +4 -0
  617. package/dist/timescale/index.js +5 -0
  618. package/dist/timescale/validate/index.d.ts +1 -0
  619. package/dist/timescale/validate/index.js +1 -0
  620. package/dist/timescale/validate/isLeapSecond.d.ts +25 -0
  621. package/dist/timescale/validate/isLeapSecond.js +36 -0
  622. package/dist/transport/calculate/crossingTime.d.ts +2 -2
  623. package/dist/transport/calculate/crossingTime.js +3 -3
  624. package/dist/transport/calculate/cutoffAt.d.ts +4 -4
  625. package/dist/transport/calculate/cutoffAt.js +24 -133
  626. package/dist/transport/calculate/cutoffSchedule.d.ts +2 -2
  627. package/dist/transport/calculate/cutoffSchedule.js +52 -20
  628. package/dist/transport/calculate/dwellTime.d.ts +3 -3
  629. package/dist/transport/calculate/dwellTime.js +4 -4
  630. package/dist/transport/calculate/estimateDrift.d.ts +1 -1
  631. package/dist/transport/calculate/estimateDrift.js +1 -1
  632. package/dist/transport/calculate/nextDeparture.d.ts +2 -2
  633. package/dist/transport/calculate/nextDeparture.js +2 -2
  634. package/dist/transport/calculate/scheduleDelivery.d.ts +2 -2
  635. package/dist/transport/calculate/scheduleDelivery.js +3 -3
  636. package/dist/transport/calculate/transitTime.d.ts +11 -11
  637. package/dist/transport/calculate/transitTime.js +11 -11
  638. package/dist/transport/compare/classifyPunctuality.d.ts +1 -1
  639. package/dist/transport/compare/classifyPunctuality.js +1 -1
  640. package/dist/transport/compare/isPastCutoff.d.ts +1 -1
  641. package/dist/transport/compare/isPastCutoff.js +2 -2
  642. package/dist/transport/compare/scheduleDeviation.d.ts +1 -1
  643. package/dist/transport/compare/scheduleDeviation.js +1 -1
  644. package/dist/transport/compare/timeToCutoff.d.ts +1 -1
  645. package/dist/transport/compare/timeToCutoff.js +1 -1
  646. package/dist/transport/convert/etaAtZone.d.ts +2 -2
  647. package/dist/transport/convert/etaAtZone.js +2 -2
  648. package/dist/transport/index.d.ts +1 -1
  649. package/dist/transport/index.js +2 -2
  650. package/dist/types/date-duration-unit.d.ts +1 -1
  651. package/dist/types/date-time-duration-units.d.ts +1 -1
  652. package/dist/types/date-time-unit.d.ts +1 -1
  653. package/dist/types/date-unit.d.ts +1 -1
  654. package/dist/types/disambiguation.d.ts +1 -1
  655. package/dist/types/duration-relative-to.d.ts +1 -1
  656. package/dist/types/duration-string-options.d.ts +1 -1
  657. package/dist/types/exact-duration-unit.d.ts +1 -1
  658. package/dist/types/fiscal-calendar.d.ts +40 -4
  659. package/dist/types/gnss.d.ts +51 -0
  660. package/dist/types/gnss.js +0 -0
  661. package/dist/types/index.d.ts +2 -0
  662. package/dist/types/index.js +2 -0
  663. package/dist/types/now-unit.d.ts +1 -1
  664. package/dist/types/offset.d.ts +1 -1
  665. package/dist/types/overflow.d.ts +1 -1
  666. package/dist/types/rounding-options.d.ts +1 -1
  667. package/dist/types/stored-zoned-classification.d.ts +83 -0
  668. package/dist/types/stored-zoned-classification.js +0 -0
  669. package/dist/types/time-duration-unit.d.ts +1 -1
  670. package/dist/types/time-unit.d.ts +1 -1
  671. package/dist/types/utc-now-unit.d.ts +1 -1
  672. package/dist/unix/calculate/diffUnix.d.ts +1 -1
  673. package/dist/unix/calculate/diffUnixAsDuration.d.ts +1 -1
  674. package/dist/unix/calculate/endOfUnix.d.ts +2 -2
  675. package/dist/unix/calculate/endOfUnix.js +1 -1
  676. package/dist/unix/calculate/isBetweenUnix.js +1 -1
  677. package/dist/unix/calculate/roundUnix.d.ts +7 -5
  678. package/dist/unix/calculate/roundUnix.js +6 -4
  679. package/dist/unix/calculate/setUnix.d.ts +3 -3
  680. package/dist/unix/calculate/setUnix.js +2 -2
  681. package/dist/unix/calculate/startOfUnix.d.ts +2 -2
  682. package/dist/unix/calculate/startOfUnix.js +1 -1
  683. package/dist/unix/compare/areUnixEqualBy.d.ts +6 -6
  684. package/dist/unix/compare/areUnixEqualBy.js +5 -5
  685. package/dist/unix/convert/convertUnixToPlainTime.d.ts +1 -1
  686. package/dist/unix/convert/convertUnixToPlainTime.js +1 -1
  687. package/dist/unix/convert/convertUnixToZoned.d.ts +1 -1
  688. package/dist/unix/convert/convertUnixToZoned.js +1 -1
  689. package/dist/unix/format/formatCalendarUnix.d.ts +10 -9
  690. package/dist/unix/format/formatCalendarUnix.js +6 -6
  691. package/dist/unix/format/formatRelativeUnix.d.ts +7 -7
  692. package/dist/unix/format/formatRelativeUnix.js +7 -7
  693. package/dist/unix/format/formatUnix.d.ts +9 -9
  694. package/dist/unix/format/formatUnix.js +9 -9
  695. package/dist/unix/get/getUnixDay.js +1 -1
  696. package/dist/unix/get/getUnixHour.js +1 -1
  697. package/dist/unix/get/getUnixMicrosecond.js +1 -1
  698. package/dist/unix/get/getUnixMillisecond.js +1 -1
  699. package/dist/unix/get/getUnixMinute.js +1 -1
  700. package/dist/unix/get/getUnixMonth.js +1 -1
  701. package/dist/unix/get/getUnixNanosecond.js +1 -1
  702. package/dist/unix/get/getUnixNow.js +1 -1
  703. package/dist/unix/get/getUnixNowUnit.d.ts +1 -1
  704. package/dist/unix/get/getUnixNowUnit.js +1 -1
  705. package/dist/unix/get/getUnixSecond.js +1 -1
  706. package/dist/unix/get/getUnixYear.js +1 -1
  707. package/dist/unix/index.d.ts +1 -1
  708. package/dist/unix/index.js +2 -2
  709. package/dist/unix/interval/intervalFromDurationUnix.js +1 -1
  710. package/dist/unix/interval/intervalLengthUnix.d.ts +2 -2
  711. package/dist/unix/interval/intervalLengthUnix.js +2 -2
  712. package/dist/unix/interval/splitIntervalByUnitUnix.d.ts +3 -2
  713. package/dist/unix/interval/splitIntervalByUnitUnix.js +4 -3
  714. package/dist/unix/parse/parseUnitFromUnix.d.ts +1 -1
  715. package/dist/utc/calculate/addUtc.js +1 -1
  716. package/dist/utc/calculate/diffUtc.d.ts +1 -1
  717. package/dist/utc/calculate/diffUtc.js +1 -1
  718. package/dist/utc/calculate/diffUtcAsDuration.d.ts +1 -1
  719. package/dist/utc/calculate/diffUtcAsDuration.js +1 -1
  720. package/dist/utc/calculate/endOfQuarterForUtc.js +1 -1
  721. package/dist/utc/calculate/endOfUtc.d.ts +1 -1
  722. package/dist/utc/calculate/isBetweenUtc.js +1 -1
  723. package/dist/utc/calculate/maxUtc.js +1 -1
  724. package/dist/utc/calculate/minUtc.js +1 -1
  725. package/dist/utc/calculate/roundUtc.d.ts +1 -1
  726. package/dist/utc/calculate/roundUtc.js +1 -1
  727. package/dist/utc/calculate/setUtc.d.ts +1 -1
  728. package/dist/utc/calculate/setUtc.js +1 -1
  729. package/dist/utc/calculate/sortUtc.js +1 -1
  730. package/dist/utc/calculate/startOfQuarterForUtc.js +1 -1
  731. package/dist/utc/calculate/startOfUtc.d.ts +1 -1
  732. package/dist/utc/calculate/subtractUtc.js +1 -1
  733. package/dist/utc/compare/areUtcEqual.js +1 -1
  734. package/dist/utc/compare/areUtcEqualBy.d.ts +2 -2
  735. package/dist/utc/compare/areUtcEqualBy.js +2 -2
  736. package/dist/utc/compare/isAfterUtc.js +1 -1
  737. package/dist/utc/compare/isBeforeUtc.js +1 -1
  738. package/dist/utc/convert/convertUtcToPlainDate.d.ts +1 -1
  739. package/dist/utc/convert/convertUtcToPlainDate.js +2 -2
  740. package/dist/utc/convert/convertUtcToPlainDateTime.d.ts +1 -1
  741. package/dist/utc/convert/convertUtcToPlainDateTime.js +2 -2
  742. package/dist/utc/convert/convertUtcToPlainTime.d.ts +1 -1
  743. package/dist/utc/convert/convertUtcToPlainTime.js +2 -2
  744. package/dist/utc/convert/convertUtcToUnix.js +1 -1
  745. package/dist/utc/convert/convertUtcToZoned.d.ts +1 -1
  746. package/dist/utc/convert/convertUtcToZoned.js +2 -2
  747. package/dist/utc/format/formatCalendarUtc.d.ts +6 -5
  748. package/dist/utc/format/formatCalendarUtc.js +3 -3
  749. package/dist/utc/format/formatHttpDate.js +1 -1
  750. package/dist/utc/format/formatRelativeUtc.d.ts +5 -5
  751. package/dist/utc/format/formatRelativeUtc.js +5 -5
  752. package/dist/utc/format/formatUtc.d.ts +8 -8
  753. package/dist/utc/format/formatUtc.js +8 -8
  754. package/dist/utc/get/getUtcDay.js +1 -1
  755. package/dist/utc/get/getUtcHour.js +1 -1
  756. package/dist/utc/get/getUtcMicrosecond.js +1 -1
  757. package/dist/utc/get/getUtcMillisecond.js +1 -1
  758. package/dist/utc/get/getUtcMinute.js +1 -1
  759. package/dist/utc/get/getUtcMonth.js +1 -1
  760. package/dist/utc/get/getUtcNanosecond.js +1 -1
  761. package/dist/utc/get/getUtcNow.js +1 -1
  762. package/dist/utc/get/getUtcNowUnit.js +1 -1
  763. package/dist/utc/get/getUtcSecond.js +1 -1
  764. package/dist/utc/get/getUtcYear.js +1 -1
  765. package/dist/utc/index.d.ts +1 -1
  766. package/dist/utc/index.js +2 -2
  767. package/dist/utc/interval/intervalAbutsUtc.js +1 -1
  768. package/dist/utc/interval/intervalContainsUtc.js +1 -1
  769. package/dist/utc/interval/intervalCountUtc.js +1 -1
  770. package/dist/utc/interval/intervalDivideEquallyUtc.js +1 -1
  771. package/dist/utc/interval/intervalEngulfsUtc.js +1 -1
  772. package/dist/utc/interval/intervalFromDurationUtc.js +1 -1
  773. package/dist/utc/interval/intervalLengthUtc.js +1 -1
  774. package/dist/utc/interval/intervalOverlappingDaysUtc.js +1 -1
  775. package/dist/utc/interval/intervalSplitAtUtc.js +1 -1
  776. package/dist/utc/interval/intervalXorAllUtc.js +1 -1
  777. package/dist/utc/interval/intervalXorUtc.js +1 -1
  778. package/dist/utc/interval/splitIntervalByUnitUtc.d.ts +2 -1
  779. package/dist/utc/interval/splitIntervalByUnitUtc.js +3 -2
  780. package/dist/utc/interval/validate/isValidUtcInterval.js +1 -1
  781. package/dist/utc/parse/parseDateFromUtc.d.ts +1 -1
  782. package/dist/utc/parse/parseDateFromUtc.js +1 -1
  783. package/dist/utc/parse/parseDayFromUtc.d.ts +1 -1
  784. package/dist/utc/parse/parseDayFromUtc.js +1 -1
  785. package/dist/utc/parse/parseDayOfWeekFromUtc.d.ts +1 -1
  786. package/dist/utc/parse/parseDayOfWeekFromUtc.js +2 -2
  787. package/dist/utc/parse/parseHourFromUtc.d.ts +1 -1
  788. package/dist/utc/parse/parseHourFromUtc.js +1 -1
  789. package/dist/utc/parse/parseHttpDate.js +1 -1
  790. package/dist/utc/parse/parseMicrosecondFromUtc.d.ts +1 -1
  791. package/dist/utc/parse/parseMicrosecondFromUtc.js +1 -1
  792. package/dist/utc/parse/parseMillisecondFromUtc.d.ts +1 -1
  793. package/dist/utc/parse/parseMillisecondFromUtc.js +1 -1
  794. package/dist/utc/parse/parseMonthFromUtc.d.ts +1 -1
  795. package/dist/utc/parse/parseMonthFromUtc.js +1 -1
  796. package/dist/utc/parse/parseNanosecondFromUtc.d.ts +1 -1
  797. package/dist/utc/parse/parseNanosecondFromUtc.js +1 -1
  798. package/dist/utc/parse/parseSecondFromUtc.d.ts +1 -1
  799. package/dist/utc/parse/parseSecondFromUtc.js +1 -1
  800. package/dist/utc/parse/parseTimeFromUtc.d.ts +1 -1
  801. package/dist/utc/parse/parseTimeFromUtc.js +2 -2
  802. package/dist/utc/parse/parseUnitFromUtc.d.ts +2 -2
  803. package/dist/utc/parse/parseUnitFromUtc.js +2 -2
  804. package/dist/utc/parse/parseWeekFromUtc.d.ts +1 -1
  805. package/dist/utc/parse/parseWeekFromUtc.js +2 -2
  806. package/dist/utc/parse/parseYearFromUtc.d.ts +1 -1
  807. package/dist/utc/parse/parseYearFromUtc.js +1 -1
  808. package/dist/utc/validate/isValidUtc.js +3 -3
  809. package/dist/utc/validate/isValidUtcRange.js +1 -1
  810. package/dist/{duty → workforce}/calculate/dutyDayFor.js +1 -1
  811. package/dist/{duty → workforce}/calculate/evaluateDutyLog.js +1 -1
  812. package/dist/{duty → workforce}/calculate/longestRun.js +1 -1
  813. package/dist/{duty → workforce}/calculate/qualifyingRestPairs.js +1 -1
  814. package/dist/{duty → workforce}/calculate/qualifyingRests.js +1 -1
  815. package/dist/workforce/index.d.ts +3 -0
  816. package/dist/workforce/index.js +4 -0
  817. package/dist/{duty → workforce}/validate/isValidDutyLog.d.ts +2 -2
  818. package/dist/{duty → workforce}/validate/isValidDutyLog.js +2 -2
  819. package/dist/zoned/calculate/addZoned.d.ts +15 -15
  820. package/dist/zoned/calculate/addZoned.js +15 -15
  821. package/dist/zoned/calculate/addZonedBusinessDays.d.ts +5 -4
  822. package/dist/zoned/calculate/addZonedBusinessDays.js +5 -4
  823. package/dist/zoned/calculate/clampZoned.js +1 -1
  824. package/dist/zoned/calculate/diffZoned.d.ts +8 -8
  825. package/dist/zoned/calculate/diffZoned.js +7 -7
  826. package/dist/zoned/calculate/diffZonedAsDuration.d.ts +5 -5
  827. package/dist/zoned/calculate/diffZonedAsDuration.js +4 -4
  828. package/dist/zoned/calculate/endOfZoned.d.ts +3 -3
  829. package/dist/zoned/calculate/endOfZoned.js +2 -2
  830. package/dist/zoned/calculate/getHoursInZonedDay.d.ts +2 -2
  831. package/dist/zoned/calculate/getHoursInZonedDay.js +2 -2
  832. package/dist/zoned/calculate/getLocaleZonedDayOfWeek.d.ts +6 -5
  833. package/dist/zoned/calculate/getLocaleZonedDayOfWeek.js +6 -5
  834. package/dist/zoned/calculate/getLocaleZonedEndOfWeek.d.ts +5 -5
  835. package/dist/zoned/calculate/getLocaleZonedEndOfWeek.js +5 -5
  836. package/dist/zoned/calculate/getLocaleZonedStartOfWeek.d.ts +6 -6
  837. package/dist/zoned/calculate/getLocaleZonedStartOfWeek.js +6 -6
  838. package/dist/zoned/calculate/maxZoned.d.ts +2 -2
  839. package/dist/zoned/calculate/maxZoned.js +3 -3
  840. package/dist/zoned/calculate/minZoned.d.ts +2 -2
  841. package/dist/zoned/calculate/minZoned.js +3 -3
  842. package/dist/zoned/calculate/roundZoned.d.ts +11 -9
  843. package/dist/zoned/calculate/roundZoned.js +11 -9
  844. package/dist/zoned/calculate/setZoned.d.ts +8 -8
  845. package/dist/zoned/calculate/setZoned.js +8 -8
  846. package/dist/zoned/calculate/sortZoned.d.ts +3 -3
  847. package/dist/zoned/calculate/sortZoned.js +4 -4
  848. package/dist/zoned/calculate/startOfZoned.d.ts +3 -3
  849. package/dist/zoned/calculate/startOfZoned.js +2 -2
  850. package/dist/zoned/calculate/subtractZoned.d.ts +14 -14
  851. package/dist/zoned/calculate/subtractZoned.js +14 -14
  852. package/dist/zoned/calculate/subtractZonedBusinessDays.d.ts +5 -4
  853. package/dist/zoned/calculate/subtractZonedBusinessDays.js +5 -4
  854. package/dist/zoned/chop/chopZonedDate.d.ts +1 -1
  855. package/dist/zoned/chop/chopZonedDate.js +1 -1
  856. package/dist/zoned/chop/chopZonedMilliseconds.d.ts +1 -1
  857. package/dist/zoned/chop/chopZonedMilliseconds.js +1 -1
  858. package/dist/zoned/chop/chopZonedSeconds.d.ts +1 -1
  859. package/dist/zoned/chop/chopZonedSeconds.js +1 -1
  860. package/dist/zoned/chop/chopZonedTime.d.ts +1 -1
  861. package/dist/zoned/chop/chopZonedTime.js +1 -1
  862. package/dist/zoned/chop/chopZonedTimezone.d.ts +1 -1
  863. package/dist/zoned/chop/chopZonedTimezone.js +1 -1
  864. package/dist/zoned/classify/classifyStoredZoned.d.ts +46 -0
  865. package/dist/zoned/classify/classifyStoredZoned.js +177 -0
  866. package/dist/zoned/classify/index.d.ts +1 -0
  867. package/dist/zoned/classify/index.js +1 -0
  868. package/dist/zoned/compare/areZonedEqual.js +1 -1
  869. package/dist/zoned/compare/areZonedEqualBy.d.ts +8 -10
  870. package/dist/zoned/compare/areZonedEqualBy.js +8 -10
  871. package/dist/zoned/compare/isAfterZoned.js +1 -1
  872. package/dist/zoned/compare/isBeforeZoned.d.ts +2 -2
  873. package/dist/zoned/compare/isBeforeZoned.js +3 -3
  874. package/dist/zoned/compare/isBetweenZoned.js +1 -1
  875. package/dist/zoned/compare/isInDaylightSaving.d.ts +2 -2
  876. package/dist/zoned/compare/isInDaylightSaving.js +2 -2
  877. package/dist/zoned/compare/isZonedBusinessDay.d.ts +7 -6
  878. package/dist/zoned/compare/isZonedBusinessDay.js +7 -6
  879. package/dist/zoned/compare/isZonedFuture.js +1 -1
  880. package/dist/zoned/compare/isZonedPast.js +1 -1
  881. package/dist/zoned/compare/isZonedRelativeDay.d.ts +2 -2
  882. package/dist/zoned/compare/isZonedRelativeDay.js +3 -3
  883. package/dist/zoned/compare/isZonedThisUnit.d.ts +7 -7
  884. package/dist/zoned/compare/isZonedThisUnit.js +7 -7
  885. package/dist/zoned/compare/isZonedWeekend.d.ts +5 -5
  886. package/dist/zoned/compare/isZonedWeekend.js +5 -5
  887. package/dist/zoned/convert/convertPlainDateTimeToZoned.d.ts +6 -6
  888. package/dist/zoned/convert/convertPlainDateTimeToZoned.js +6 -6
  889. package/dist/zoned/convert/convertZonedToCalendar.d.ts +5 -5
  890. package/dist/zoned/convert/convertZonedToCalendar.js +5 -5
  891. package/dist/zoned/convert/convertZonedToPlainDateTime.d.ts +3 -3
  892. package/dist/zoned/convert/convertZonedToPlainDateTime.js +3 -3
  893. package/dist/zoned/convert/convertZonedToZoned.d.ts +2 -2
  894. package/dist/zoned/convert/convertZonedToZoned.js +2 -2
  895. package/dist/zoned/format/formatCalendarZoned.d.ts +7 -6
  896. package/dist/zoned/format/formatCalendarZoned.js +5 -5
  897. package/dist/zoned/format/formatRelativeZoned.d.ts +3 -3
  898. package/dist/zoned/format/formatRelativeZoned.js +4 -4
  899. package/dist/zoned/format/formatRfc2822.d.ts +3 -3
  900. package/dist/zoned/format/formatRfc2822.js +3 -3
  901. package/dist/zoned/format/formatRfc3339.d.ts +2 -2
  902. package/dist/zoned/format/formatRfc3339.js +2 -2
  903. package/dist/zoned/format/formatTimeZoneName.d.ts +17 -17
  904. package/dist/zoned/format/formatTimeZoneName.js +13 -12
  905. package/dist/zoned/format/formatZonedDateTime.d.ts +10 -10
  906. package/dist/zoned/format/formatZonedDateTime.js +12 -11
  907. package/dist/zoned/format/formatZonedRange.d.ts +7 -7
  908. package/dist/zoned/format/formatZonedRange.js +9 -8
  909. package/dist/zoned/format/formatZonedToParts.d.ts +11 -11
  910. package/dist/zoned/format/formatZonedToParts.js +13 -12
  911. package/dist/zoned/get/getDstTransitions.d.ts +9 -9
  912. package/dist/zoned/get/getDstTransitions.js +3 -3
  913. package/dist/zoned/get/getSystemTimeZone.d.ts +2 -2
  914. package/dist/zoned/get/getSystemTimeZone.js +2 -2
  915. package/dist/zoned/get/getTimeZoneOffset.d.ts +5 -5
  916. package/dist/zoned/get/getTimeZoneOffset.js +5 -5
  917. package/dist/zoned/get/getTimeZones.d.ts +1 -1
  918. package/dist/zoned/get/getTimeZones.js +1 -1
  919. package/dist/zoned/get/getZonedDay.d.ts +1 -1
  920. package/dist/zoned/get/getZonedDay.js +1 -1
  921. package/dist/zoned/get/getZonedDayOfWeek.d.ts +1 -1
  922. package/dist/zoned/get/getZonedDayOfWeek.js +1 -1
  923. package/dist/zoned/get/getZonedHour.d.ts +1 -1
  924. package/dist/zoned/get/getZonedHour.js +1 -1
  925. package/dist/zoned/get/getZonedMicrosecond.d.ts +1 -1
  926. package/dist/zoned/get/getZonedMicrosecond.js +1 -1
  927. package/dist/zoned/get/getZonedMillisecond.d.ts +1 -1
  928. package/dist/zoned/get/getZonedMillisecond.js +1 -1
  929. package/dist/zoned/get/getZonedMinute.d.ts +1 -1
  930. package/dist/zoned/get/getZonedMinute.js +1 -1
  931. package/dist/zoned/get/getZonedMonth.d.ts +1 -1
  932. package/dist/zoned/get/getZonedMonth.js +1 -1
  933. package/dist/zoned/get/getZonedNanosecond.d.ts +1 -1
  934. package/dist/zoned/get/getZonedNanosecond.js +1 -1
  935. package/dist/zoned/get/getZonedNow.d.ts +4 -4
  936. package/dist/zoned/get/getZonedNow.js +4 -4
  937. package/dist/zoned/get/getZonedNowUnit.d.ts +2 -2
  938. package/dist/zoned/get/getZonedNowUnit.js +1 -1
  939. package/dist/zoned/get/getZonedSecond.d.ts +1 -1
  940. package/dist/zoned/get/getZonedSecond.js +1 -1
  941. package/dist/zoned/get/getZonedToday.d.ts +1 -1
  942. package/dist/zoned/get/getZonedToday.js +1 -1
  943. package/dist/zoned/get/getZonedWeekOfYear.d.ts +1 -1
  944. package/dist/zoned/get/getZonedWeekOfYear.js +1 -1
  945. package/dist/zoned/get/getZonedYear.d.ts +1 -1
  946. package/dist/zoned/get/getZonedYear.js +1 -1
  947. package/dist/zoned/index.d.ts +2 -1
  948. package/dist/zoned/index.js +3 -2
  949. package/dist/zoned/interval/intervalAbutsZoned.d.ts +2 -2
  950. package/dist/zoned/interval/intervalAbutsZoned.js +3 -3
  951. package/dist/zoned/interval/intervalContainsZoned.d.ts +1 -1
  952. package/dist/zoned/interval/intervalContainsZoned.js +2 -2
  953. package/dist/zoned/interval/intervalCountZoned.d.ts +4 -4
  954. package/dist/zoned/interval/intervalCountZoned.js +5 -5
  955. package/dist/zoned/interval/intervalDifferenceZoned.js +1 -1
  956. package/dist/zoned/interval/intervalDivideEquallyZoned.d.ts +1 -1
  957. package/dist/zoned/interval/intervalDivideEquallyZoned.js +2 -2
  958. package/dist/zoned/interval/intervalEngulfsZoned.d.ts +1 -1
  959. package/dist/zoned/interval/intervalEngulfsZoned.js +2 -2
  960. package/dist/zoned/interval/intervalFromDurationZoned.d.ts +6 -6
  961. package/dist/zoned/interval/intervalFromDurationZoned.js +7 -7
  962. package/dist/zoned/interval/intervalIntersectionZoned.js +1 -1
  963. package/dist/zoned/interval/intervalLengthZoned.d.ts +5 -5
  964. package/dist/zoned/interval/intervalLengthZoned.js +5 -5
  965. package/dist/zoned/interval/intervalOverlappingDaysZoned.d.ts +2 -2
  966. package/dist/zoned/interval/intervalOverlappingDaysZoned.js +3 -3
  967. package/dist/zoned/interval/intervalSplitAtZoned.js +14 -16
  968. package/dist/zoned/interval/intervalUnionZoned.js +1 -1
  969. package/dist/zoned/interval/intervalXorAllZoned.js +1 -1
  970. package/dist/zoned/interval/intervalXorZoned.js +1 -1
  971. package/dist/zoned/interval/intervalsOverlapZoned.d.ts +2 -2
  972. package/dist/zoned/interval/intervalsOverlapZoned.js +3 -3
  973. package/dist/zoned/interval/mergeIntervalsZoned.js +1 -1
  974. package/dist/zoned/interval/splitIntervalByUnitZoned.d.ts +2 -1
  975. package/dist/zoned/interval/splitIntervalByUnitZoned.js +3 -2
  976. package/dist/zoned/interval/validate/isValidCalendarZonedInterval.d.ts +2 -2
  977. package/dist/zoned/interval/validate/isValidCalendarZonedInterval.js +3 -3
  978. package/dist/zoned/interval/validate/isValidZonedInterval.d.ts +1 -1
  979. package/dist/zoned/interval/validate/isValidZonedInterval.js +2 -2
  980. package/dist/zoned/map/mapZonedDatesInRange.js +1 -1
  981. package/dist/zoned/map/mapZonedHoursInDay.d.ts +1 -1
  982. package/dist/zoned/map/mapZonedHoursInDay.js +2 -2
  983. package/dist/zoned/parse/getZonedOffset.d.ts +1 -1
  984. package/dist/zoned/parse/getZonedOffset.js +1 -1
  985. package/dist/zoned/parse/getZonedOffsetAs.d.ts +6 -6
  986. package/dist/zoned/parse/getZonedOffsetAs.js +3 -3
  987. package/dist/zoned/parse/parseDateTimeFromZoned.js +2 -2
  988. package/dist/zoned/parse/parseRfc2822.js +1 -1
  989. package/dist/zoned/parse/parseRfc3339.js +1 -1
  990. package/dist/zoned/parse/parseUnitFromZoned.d.ts +1 -1
  991. package/dist/zoned/validate/hasDaylightSaving.d.ts +2 -2
  992. package/dist/zoned/validate/hasDaylightSaving.js +3 -3
  993. package/dist/zoned/validate/isValidCalendarZonedDateTime.d.ts +8 -8
  994. package/dist/zoned/validate/isValidCalendarZonedDateTime.js +8 -8
  995. package/dist/zoned/validate/isValidTimeZone.d.ts +1 -1
  996. package/dist/zoned/validate/isValidTimeZone.js +3 -18
  997. package/dist/zoned/validate/isValidZonedDateTime.d.ts +7 -7
  998. package/dist/zoned/validate/isValidZonedDateTime.js +9 -9
  999. package/dist/zoned/validate/isValidZonedRange.d.ts +1 -1
  1000. package/dist/zoned/validate/isValidZonedRange.js +5 -5
  1001. package/package.json +71 -21
  1002. package/skills/gmt-arithmetic/SKILL.md +18 -59
  1003. package/skills/gmt-basics/SKILL.md +32 -12
  1004. package/skills/gmt-gnss/SKILL.md +92 -0
  1005. package/skills/gmt-integration/SKILL.md +48 -15
  1006. package/skills/gmt-intermodal/SKILL.md +189 -0
  1007. package/skills/gmt-timezone/SKILL.md +34 -257
  1008. package/skills/gmt-transport/SKILL.md +133 -0
  1009. package/skills/gmt-workforce/SKILL.md +84 -0
  1010. package/dist/duty/index.d.ts +0 -3
  1011. package/dist/duty/index.js +0 -4
  1012. /package/dist/{duty → workforce}/calculate/dutyDayFor.d.ts +0 -0
  1013. /package/dist/{duty → workforce}/calculate/dutyTotals.d.ts +0 -0
  1014. /package/dist/{duty → workforce}/calculate/dutyTotals.js +0 -0
  1015. /package/dist/{duty → workforce}/calculate/dutyViolations.d.ts +0 -0
  1016. /package/dist/{duty → workforce}/calculate/dutyViolations.js +0 -0
  1017. /package/dist/{duty → workforce}/calculate/evaluateDutyLog.d.ts +0 -0
  1018. /package/dist/{duty → workforce}/calculate/index.d.ts +0 -0
  1019. /package/dist/{duty → workforce}/calculate/index.js +0 -0
  1020. /package/dist/{duty → workforce}/calculate/longestRun.d.ts +0 -0
  1021. /package/dist/{duty → workforce}/calculate/qualifyingRestPairs.d.ts +0 -0
  1022. /package/dist/{duty → workforce}/calculate/qualifyingRests.d.ts +0 -0
  1023. /package/dist/{duty → workforce}/validate/index.d.ts +0 -0
  1024. /package/dist/{duty → workforce}/validate/index.js +0 -0
@@ -1,4 +1,4 @@
1
- import { Temporal } from "@js-temporal/polyfill";
1
+ import { Temporal } from "../../internal/temporal.js";
2
2
  import { isValidDateTime } from "../../plain/validate/index.js";
3
3
  import { isValidTimeZone } from "../validate/index.js";
4
4
  import { isoStringBody, zonedDateTimeFrom } from "../../internal/index.js";
@@ -22,13 +22,13 @@ import { optionOrDefault } from "../../internal/optionOrDefault.js";
22
22
  * @param optionsArg optional settings for the precision of the output string and for resolving a DST gap or overlap
23
23
  * @returns zoned ISO 8601 datetime string or "" when invalid
24
24
  *
25
- * @example convertPlainDateTimeToZoned("2024-02-29T14:30:45", "America/New_York") // "2024-02-29T14:30:45.000-05:00[America/New_York]"
25
+ * @example convertPlainDateTimeToZoned("2024-02-29T14:30:45", "Asia/Tokyo") // "2024-02-29T14:30:45.000+09:00[Asia/Tokyo]"
26
26
  * @example convertPlainDateTimeToZoned("2024-02-29T14:30:45.123456789", "UTC") // "2024-02-29T14:30:45.123+00:00[UTC]"
27
27
  * @example convertPlainDateTimeToZoned("2024-02-29T14:30:45.123456789", "UTC", { smallestUnit: "nanoseconds" }) // "2024-02-29T14:30:45.123456789+00:00[UTC]"
28
- * @example convertPlainDateTimeToZoned("invalid", "America/New_York") // ""
29
- * @example convertPlainDateTimeToZoned("2024-03-10T02:30:00", "America/New_York", { disambiguation: "earlier" }) // "2024-03-10T01:30:00.000-05:00[America/New_York]" (spring-forward gap)
30
- * @example convertPlainDateTimeToZoned("2024-11-03T01:30:00", "America/New_York", { disambiguation: "later" }) // "2024-11-03T01:30:00.000-05:00[America/New_York]" (fall-back overlap)
31
- * @example convertPlainDateTimeToZoned("2024-03-10T02:30:00", "America/New_York", { disambiguation: "reject" }) // ""
28
+ * @example convertPlainDateTimeToZoned("invalid", "Asia/Kolkata") // ""
29
+ * @example convertPlainDateTimeToZoned("2024-10-06T02:30:00", "Australia/Sydney", { disambiguation: "earlier" }) // "2024-10-06T01:30:00.000+10:00[Australia/Sydney]" (spring-forward gap)
30
+ * @example convertPlainDateTimeToZoned("2024-10-27T01:30:00", "Europe/London", { disambiguation: "later" }) // "2024-10-27T01:30:00.000+00:00[Europe/London]" (fall-back overlap)
31
+ * @example convertPlainDateTimeToZoned("2024-10-06T02:30:00", "Australia/Sydney", { disambiguation: "reject" }) // ""
32
32
  */
33
33
  export function convertPlainDateTimeToZoned(value, timeZone, optionsArg) {
34
34
  try {
@@ -26,12 +26,12 @@ import type { CalendarSystem } from "../../types/index.js";
26
26
  * "indian" | "ethiopic" | "ethioaa" | "coptic")
27
27
  * @returns RFC 9557 zoned datetime string, or "" on invalid input
28
28
  *
29
- * @example convertZonedToCalendar("2024-10-03T14:30:45-04:00[America/New_York]", "hebrew") // "2024-10-03T14:30:45-04:00[America/New_York][u-ca=hebrew]"
30
- * @example convertZonedToCalendar("2024-10-03T14:30:45-04:00[America/New_York][u-ca=hebrew]", "iso8601") // "2024-10-03T14:30:45-04:00[America/New_York]"
31
- * @example convertZonedToCalendar("2024-10-03T14:30:45-04:00[America/New_York]", "japanese") // "2024-10-03T14:30:45-04:00[America/New_York][u-ca=japanese]"
32
- * @example convertZonedToCalendar("2024-10-03T14:30:45-04:00[America/New_York]", "roc") // "2024-10-03T14:30:45-04:00[America/New_York][u-ca=roc]"
29
+ * @example convertZonedToCalendar("2024-10-03T14:30:45+01:00[Europe/London]", "hebrew") // "2024-10-03T14:30:45+01:00[Europe/London][u-ca=hebrew]"
30
+ * @example convertZonedToCalendar("2024-10-03T14:30:45+01:00[Europe/London][u-ca=hebrew]", "iso8601") // "2024-10-03T14:30:45+01:00[Europe/London]"
31
+ * @example convertZonedToCalendar("2024-10-03T14:30:45+09:00[Asia/Tokyo]", "japanese") // "2024-10-03T14:30:45+09:00[Asia/Tokyo][u-ca=japanese]"
32
+ * @example convertZonedToCalendar("2024-10-03T14:30:45+08:00[Asia/Taipei]", "roc") // "2024-10-03T14:30:45+08:00[Asia/Taipei][u-ca=roc]"
33
33
  * @example convertZonedToCalendar("+275760-09-13T00:00:00+00:00[UTC]", "hebrew") // "+275760-09-13T00:00:00+00:00[UTC][u-ca=hebrew]"
34
- * @example convertZonedToCalendar("2024-10-03T14:30:45-04:00[u-ca=hebrew][America/New_York]", "iso8601") // "" (calendar before zone is not RFC 9557)
34
+ * @example convertZonedToCalendar("2024-10-03T14:30:45+01:00[u-ca=hebrew][Europe/London]", "iso8601") // "" (calendar before zone is not RFC 9557)
35
35
  * @example convertZonedToCalendar("invalid", "hebrew") // ""
36
36
  */
37
37
  export declare function convertZonedToCalendar(value: string, calendar: CalendarSystem): string;
@@ -27,12 +27,12 @@ import { isValidCalendarZonedDateTime } from "../validate/index.js";
27
27
  * "indian" | "ethiopic" | "ethioaa" | "coptic")
28
28
  * @returns RFC 9557 zoned datetime string, or "" on invalid input
29
29
  *
30
- * @example convertZonedToCalendar("2024-10-03T14:30:45-04:00[America/New_York]", "hebrew") // "2024-10-03T14:30:45-04:00[America/New_York][u-ca=hebrew]"
31
- * @example convertZonedToCalendar("2024-10-03T14:30:45-04:00[America/New_York][u-ca=hebrew]", "iso8601") // "2024-10-03T14:30:45-04:00[America/New_York]"
32
- * @example convertZonedToCalendar("2024-10-03T14:30:45-04:00[America/New_York]", "japanese") // "2024-10-03T14:30:45-04:00[America/New_York][u-ca=japanese]"
33
- * @example convertZonedToCalendar("2024-10-03T14:30:45-04:00[America/New_York]", "roc") // "2024-10-03T14:30:45-04:00[America/New_York][u-ca=roc]"
30
+ * @example convertZonedToCalendar("2024-10-03T14:30:45+01:00[Europe/London]", "hebrew") // "2024-10-03T14:30:45+01:00[Europe/London][u-ca=hebrew]"
31
+ * @example convertZonedToCalendar("2024-10-03T14:30:45+01:00[Europe/London][u-ca=hebrew]", "iso8601") // "2024-10-03T14:30:45+01:00[Europe/London]"
32
+ * @example convertZonedToCalendar("2024-10-03T14:30:45+09:00[Asia/Tokyo]", "japanese") // "2024-10-03T14:30:45+09:00[Asia/Tokyo][u-ca=japanese]"
33
+ * @example convertZonedToCalendar("2024-10-03T14:30:45+08:00[Asia/Taipei]", "roc") // "2024-10-03T14:30:45+08:00[Asia/Taipei][u-ca=roc]"
34
34
  * @example convertZonedToCalendar("+275760-09-13T00:00:00+00:00[UTC]", "hebrew") // "+275760-09-13T00:00:00+00:00[UTC][u-ca=hebrew]"
35
- * @example convertZonedToCalendar("2024-10-03T14:30:45-04:00[u-ca=hebrew][America/New_York]", "iso8601") // "" (calendar before zone is not RFC 9557)
35
+ * @example convertZonedToCalendar("2024-10-03T14:30:45+01:00[u-ca=hebrew][Europe/London]", "iso8601") // "" (calendar before zone is not RFC 9557)
36
36
  * @example convertZonedToCalendar("invalid", "hebrew") // ""
37
37
  */
38
38
  export function convertZonedToCalendar(value, calendar) {
@@ -11,9 +11,9 @@
11
11
  * @param value zoned ISO 8601 datetime string
12
12
  * @returns plain datetime string or "" on invalid input
13
13
  *
14
- * @example convertZonedToPlainDateTime("2024-02-29T14:30:45.123-05:00[America/New_York]") // "2024-02-29T14:30:45.123"
15
- * @example convertZonedToPlainDateTime("2024-11-03T01:30:00-05:00[America/New_York]") // "2024-11-03T01:30:00" (the second 01:30, EST)
16
- * @example convertZonedToPlainDateTime("2024-11-03T01:30:00-04:00[America/New_York]") // "2024-11-03T01:30:00" (the first 01:30, EDT)
14
+ * @example convertZonedToPlainDateTime("2024-02-29T14:30:45.123-03:00[America/Sao_Paulo]") // "2024-02-29T14:30:45.123"
15
+ * @example convertZonedToPlainDateTime("2024-10-27T01:30:00+00:00[Europe/London]") // "2024-10-27T01:30:00" (the second 01:30, GMT)
16
+ * @example convertZonedToPlainDateTime("2024-10-27T01:30:00+01:00[Europe/London]") // "2024-10-27T01:30:00" (the first 01:30, BST)
17
17
  * @example convertZonedToPlainDateTime("invalid") // ""
18
18
  */
19
19
  export declare function convertZonedToPlainDateTime(value: string): string;
@@ -13,9 +13,9 @@ import { zonedDateTimeFrom } from "../../internal/index.js";
13
13
  * @param value zoned ISO 8601 datetime string
14
14
  * @returns plain datetime string or "" on invalid input
15
15
  *
16
- * @example convertZonedToPlainDateTime("2024-02-29T14:30:45.123-05:00[America/New_York]") // "2024-02-29T14:30:45.123"
17
- * @example convertZonedToPlainDateTime("2024-11-03T01:30:00-05:00[America/New_York]") // "2024-11-03T01:30:00" (the second 01:30, EST)
18
- * @example convertZonedToPlainDateTime("2024-11-03T01:30:00-04:00[America/New_York]") // "2024-11-03T01:30:00" (the first 01:30, EDT)
16
+ * @example convertZonedToPlainDateTime("2024-02-29T14:30:45.123-03:00[America/Sao_Paulo]") // "2024-02-29T14:30:45.123"
17
+ * @example convertZonedToPlainDateTime("2024-10-27T01:30:00+00:00[Europe/London]") // "2024-10-27T01:30:00" (the second 01:30, GMT)
18
+ * @example convertZonedToPlainDateTime("2024-10-27T01:30:00+01:00[Europe/London]") // "2024-10-27T01:30:00" (the first 01:30, BST)
19
19
  * @example convertZonedToPlainDateTime("invalid") // ""
20
20
  */
21
21
  export function convertZonedToPlainDateTime(value) {
@@ -12,7 +12,7 @@
12
12
  * @param timeZone target IANA name or a UTC offset to the minute (what `isValidTimeZone` accepts)
13
13
  * @returns zoned ISO 8601 string in target timeZone or "" when invalid
14
14
  *
15
- * @example convertZonedToZoned("2024-02-29T12:34:56.789+00:00[UTC]", "America/New_York") // "2024-02-29T07:34:56.789-05:00[America/New_York]"
16
- * @example convertZonedToZoned("invalid", "America/New_York") // ""
15
+ * @example convertZonedToZoned("2024-02-29T12:34:56.789+00:00[UTC]", "Asia/Kolkata") // "2024-02-29T18:04:56.789+05:30[Asia/Kolkata]"
16
+ * @example convertZonedToZoned("invalid", "Asia/Kolkata") // ""
17
17
  */
18
18
  export declare function convertZonedToZoned(value: string, timeZone: string): string;
@@ -14,8 +14,8 @@ import { zonedDateTimeFrom } from "../../internal/index.js";
14
14
  * @param timeZone target IANA name or a UTC offset to the minute (what `isValidTimeZone` accepts)
15
15
  * @returns zoned ISO 8601 string in target timeZone or "" when invalid
16
16
  *
17
- * @example convertZonedToZoned("2024-02-29T12:34:56.789+00:00[UTC]", "America/New_York") // "2024-02-29T07:34:56.789-05:00[America/New_York]"
18
- * @example convertZonedToZoned("invalid", "America/New_York") // ""
17
+ * @example convertZonedToZoned("2024-02-29T12:34:56.789+00:00[UTC]", "Asia/Kolkata") // "2024-02-29T18:04:56.789+05:30[Asia/Kolkata]"
18
+ * @example convertZonedToZoned("invalid", "Asia/Kolkata") // ""
19
19
  */
20
20
  export function convertZonedToZoned(value, timeZone) {
21
21
  if (!isValidZonedDateTime(value) || !isValidTimeZone(timeZone)) {
@@ -14,8 +14,9 @@ export interface FormatCalendarZonedOptions {
14
14
  reference?: string | number;
15
15
  /**
16
16
  * The length of the time-of-day part, as the `timeStyle` of `Intl.DateTimeFormat`. `"short"`
17
- * writes hours and minutes, `"medium"` adds seconds, `"long"` adds the short time zone name
18
- * ("EDT") and `"full"` the long one ("Eastern Daylight Time"). Any other value returns `""`.
17
+ * writes hours and minutes, `"medium"` adds seconds, `"long"` adds the locale's short zone
18
+ * name ("BST" in en-GB, "GMT+1" in en-US) and `"full"` the long one ("British Summer Time" in
19
+ * English). Any other value returns `""`.
19
20
  *
20
21
  * @defaultValue `"short"`
21
22
  */
@@ -23,7 +24,7 @@ export interface FormatCalendarZonedOptions {
23
24
  }
24
25
  /**
25
26
  * Format a zoned date-time as a relative day label plus time-of-day, e.g.
26
- * "Tomorrow at 2:30 PM" — the zoned counterpart of `formatCalendar`. See
27
+ * "tomorrow at 14:30" — the zoned counterpart of `formatCalendar`. See
27
28
  * that function's JSDoc for the day-label/threshold/connector design; this
28
29
  * variant differs only in reading `value`'s IANA timezone for both the
29
30
  * calendar-day comparison and the rendered clock time.
@@ -35,10 +36,10 @@ export interface FormatCalendarZonedOptions {
35
36
  * @param options optional settings for the reference moment and the time style
36
37
  * @returns the formatted calendar string, or "" on invalid input
37
38
  *
38
- * @example formatCalendarZoned("2026-03-16T14:30:00-04:00[America/New_York]", "en-US", { reference: "2026-03-15T09:00:00-04:00[America/New_York]" }) // "tomorrow at 2:30 PM"
39
+ * @example formatCalendarZoned("2026-03-16T14:30:00+00:00[Europe/London]", "en-GB", { reference: "2026-03-15T09:00:00+00:00[Europe/London]" }) // "tomorrow at 14:30"
39
40
  * @example formatCalendarZoned("2026-03-16T14:30:00+01:00[Europe/Berlin]", "de-DE", { reference: "2026-03-15T09:00:00+01:00[Europe/Berlin]" }) // "morgen um 14:30"
40
41
  * @example formatCalendarZoned("not-a-date") // ""
41
- * @example formatCalendarZoned("2024-03-16T14:30:00-04:00[America/New_York]", ["fr-FR", "en-US"], { reference: "2024-03-15T09:00:00-04:00[America/New_York]" }) // "demain à 14:30"
42
- * @example formatCalendarZoned("2024-03-12T10:00:00-04:00[America/New_York]", "en-US", null as never) // "" (null options)
42
+ * @example formatCalendarZoned("2024-03-16T14:30:00+02:00[Africa/Johannesburg]", ["fr-FR", "en-US"], { reference: "2024-03-15T09:00:00+02:00[Africa/Johannesburg]" }) // "demain à 14:30"
43
+ * @example formatCalendarZoned("2024-03-12T10:00:00+09:00[Asia/Tokyo]", "ja-JP", null as never) // "" (null options)
43
44
  */
44
45
  export declare function formatCalendarZoned(value: string, locale?: string | string[], options?: FormatCalendarZonedOptions): string;
@@ -1,4 +1,4 @@
1
- import { Temporal } from "@js-temporal/polyfill";
1
+ import { Temporal } from "../../internal/temporal.js";
2
2
  import { zonedDateTimeFrom } from "../../internal/index.js";
3
3
  import { formatCalendarDays } from "../../internal/formatCalendarDays.js";
4
4
  import { isValidUtc } from "../../utc/validate/index.js";
@@ -8,7 +8,7 @@ import { optionOrDefault } from "../../internal/optionOrDefault.js";
8
8
  import { isObject } from "../../internal/isObject.js";
9
9
  /**
10
10
  * Format a zoned date-time as a relative day label plus time-of-day, e.g.
11
- * "Tomorrow at 2:30 PM" — the zoned counterpart of `formatCalendar`. See
11
+ * "tomorrow at 14:30" — the zoned counterpart of `formatCalendar`. See
12
12
  * that function's JSDoc for the day-label/threshold/connector design; this
13
13
  * variant differs only in reading `value`'s IANA timezone for both the
14
14
  * calendar-day comparison and the rendered clock time.
@@ -20,11 +20,11 @@ import { isObject } from "../../internal/isObject.js";
20
20
  * @param options optional settings for the reference moment and the time style
21
21
  * @returns the formatted calendar string, or "" on invalid input
22
22
  *
23
- * @example formatCalendarZoned("2026-03-16T14:30:00-04:00[America/New_York]", "en-US", { reference: "2026-03-15T09:00:00-04:00[America/New_York]" }) // "tomorrow at 2:30 PM"
23
+ * @example formatCalendarZoned("2026-03-16T14:30:00+00:00[Europe/London]", "en-GB", { reference: "2026-03-15T09:00:00+00:00[Europe/London]" }) // "tomorrow at 14:30"
24
24
  * @example formatCalendarZoned("2026-03-16T14:30:00+01:00[Europe/Berlin]", "de-DE", { reference: "2026-03-15T09:00:00+01:00[Europe/Berlin]" }) // "morgen um 14:30"
25
25
  * @example formatCalendarZoned("not-a-date") // ""
26
- * @example formatCalendarZoned("2024-03-16T14:30:00-04:00[America/New_York]", ["fr-FR", "en-US"], { reference: "2024-03-15T09:00:00-04:00[America/New_York]" }) // "demain à 14:30"
27
- * @example formatCalendarZoned("2024-03-12T10:00:00-04:00[America/New_York]", "en-US", null as never) // "" (null options)
26
+ * @example formatCalendarZoned("2024-03-16T14:30:00+02:00[Africa/Johannesburg]", ["fr-FR", "en-US"], { reference: "2024-03-15T09:00:00+02:00[Africa/Johannesburg]" }) // "demain à 14:30"
27
+ * @example formatCalendarZoned("2024-03-12T10:00:00+09:00[Asia/Tokyo]", "ja-JP", null as never) // "" (null options)
28
28
  */
29
29
  export function formatCalendarZoned(value, locale, options = {}) {
30
30
  try {
@@ -65,11 +65,11 @@ export interface FormatRelativeZonedOptions {
65
65
  * @param options optional settings for the wording, the display unit, rounding and the reference moment
66
66
  * @returns the formatted relative-time string, or "" on invalid input
67
67
  *
68
- * @example formatRelativeZoned("2023-12-29T00:00:00+00:00[UTC]", "en-US", { reference: "2024-02-29T00:00:00+00:00[UTC]" }) // "2 months ago"
69
- * @example formatRelativeZoned("2026-03-08T01:00:00-05:00[America/New_York]", "en-US", { reference: "2026-03-07T01:00:00-05:00[America/New_York]" }) // "tomorrow"
68
+ * @example formatRelativeZoned("2023-12-29T00:00:00+00:00[UTC]", "en-GB", { reference: "2024-02-29T00:00:00+00:00[UTC]" }) // "2 months ago"
69
+ * @example formatRelativeZoned("2026-03-08T01:00:00+05:30[Asia/Kolkata]", "en-IN", { reference: "2026-03-07T01:00:00+05:30[Asia/Kolkata]" }) // "tomorrow"
70
70
  * @example formatRelativeZoned("2026-01-15T00:00:00+00:00[UTC]", "en-US", { reference: "2026-01-15T10:30:00+00:00[UTC]", roundingMethod: "floor" }) // "11 hours ago" (−10.5 hours floors to −11; the default rounds to 10)
71
71
  * @example formatRelativeZoned("not-a-date") // ""
72
72
  * @example formatRelativeZoned("2024-02-28T23:30:00+00:00[UTC]", ["fr-FR", "en-US"], { reference: "2024-02-29T00:00:00+00:00[UTC]" }) // "il y a 30 minutes"
73
- * @example formatRelativeZoned("2024-03-12T10:00:00-04:00[America/New_York]", "en-US", null as never) // "" (null options)
73
+ * @example formatRelativeZoned("2024-03-12T10:00:00+02:00[Africa/Johannesburg]", "de-DE", null as never) // "" (null options)
74
74
  */
75
75
  export declare function formatRelativeZoned(value: string, locale?: string | string[], options?: FormatRelativeZonedOptions): string;
@@ -1,4 +1,4 @@
1
- import { Temporal } from "@js-temporal/polyfill";
1
+ import { Temporal } from "../../internal/temporal.js";
2
2
  import { durationTotal, zonedDateTimeFrom } from "../../internal/index.js";
3
3
  import { formatRelativeDuration } from "../../internal/formatRelativeDuration.js";
4
4
  import { isValidUtc } from "../../utc/validate/index.js";
@@ -24,12 +24,12 @@ import { isObject } from "../../internal/isObject.js";
24
24
  * @param options optional settings for the wording, the display unit, rounding and the reference moment
25
25
  * @returns the formatted relative-time string, or "" on invalid input
26
26
  *
27
- * @example formatRelativeZoned("2023-12-29T00:00:00+00:00[UTC]", "en-US", { reference: "2024-02-29T00:00:00+00:00[UTC]" }) // "2 months ago"
28
- * @example formatRelativeZoned("2026-03-08T01:00:00-05:00[America/New_York]", "en-US", { reference: "2026-03-07T01:00:00-05:00[America/New_York]" }) // "tomorrow"
27
+ * @example formatRelativeZoned("2023-12-29T00:00:00+00:00[UTC]", "en-GB", { reference: "2024-02-29T00:00:00+00:00[UTC]" }) // "2 months ago"
28
+ * @example formatRelativeZoned("2026-03-08T01:00:00+05:30[Asia/Kolkata]", "en-IN", { reference: "2026-03-07T01:00:00+05:30[Asia/Kolkata]" }) // "tomorrow"
29
29
  * @example formatRelativeZoned("2026-01-15T00:00:00+00:00[UTC]", "en-US", { reference: "2026-01-15T10:30:00+00:00[UTC]", roundingMethod: "floor" }) // "11 hours ago" (−10.5 hours floors to −11; the default rounds to 10)
30
30
  * @example formatRelativeZoned("not-a-date") // ""
31
31
  * @example formatRelativeZoned("2024-02-28T23:30:00+00:00[UTC]", ["fr-FR", "en-US"], { reference: "2024-02-29T00:00:00+00:00[UTC]" }) // "il y a 30 minutes"
32
- * @example formatRelativeZoned("2024-03-12T10:00:00-04:00[America/New_York]", "en-US", null as never) // "" (null options)
32
+ * @example formatRelativeZoned("2024-03-12T10:00:00+02:00[Africa/Johannesburg]", "de-DE", null as never) // "" (null options)
33
33
  */
34
34
  export function formatRelativeZoned(value, locale, options = {}) {
35
35
  try {
@@ -21,12 +21,12 @@
21
21
  * grammar (`"-0044.5"`, `"00-1"`). For the value itself use
22
22
  * `Temporal.ZonedDateTime#toString()`.
23
23
  *
24
- * @param value zoned ISO 8601 datetime string (e.g. "2024-03-15T14:30:00-04:00[America/New_York]")
24
+ * @param value zoned ISO 8601 datetime string (e.g. "2024-03-15T14:30:00+05:30[Asia/Kolkata]")
25
25
  * @returns RFC 5322 date-time string, or "" on invalid input, a sub-minute offset or a negative year
26
26
  *
27
- * @example formatRfc2822("2024-03-15T14:30:00-04:00[America/New_York]") // "Fri, 15 Mar 2024 14:30:00 -0400"
27
+ * @example formatRfc2822("2024-03-15T14:30:00+05:30[Asia/Kolkata]") // "Fri, 15 Mar 2024 14:30:00 +0530"
28
28
  * @example formatRfc2822("2024-01-05T09:00:00+00:00[UTC]") // "Fri, 05 Jan 2024 09:00:00 +0000"
29
- * @example formatRfc2822("2024-03-15T14:30:00.999-04:00[America/New_York]") // "Fri, 15 Mar 2024 14:30:00 -0400"
29
+ * @example formatRfc2822("2024-03-15T14:30:00.999+05:30[Asia/Kolkata]") // "Fri, 15 Mar 2024 14:30:00 +0530"
30
30
  * @example formatRfc2822("1969-12-31T23:15:30-00:45[Africa/Monrovia]") // "" (offset −00:44:30)
31
31
  * @example formatRfc2822("-000001-06-15T12:00:00+00:00[UTC]") // ""
32
32
  * @example Temporal.ZonedDateTime.from("-000001-06-15T12:00:00+00:00[UTC]").toString() // "-000001-06-15T12:00:00+00:00[UTC]"
@@ -25,12 +25,12 @@ const NANOSECONDS_PER_MINUTE = 60_000_000_000;
25
25
  * grammar (`"-0044.5"`, `"00-1"`). For the value itself use
26
26
  * `Temporal.ZonedDateTime#toString()`.
27
27
  *
28
- * @param value zoned ISO 8601 datetime string (e.g. "2024-03-15T14:30:00-04:00[America/New_York]")
28
+ * @param value zoned ISO 8601 datetime string (e.g. "2024-03-15T14:30:00+05:30[Asia/Kolkata]")
29
29
  * @returns RFC 5322 date-time string, or "" on invalid input, a sub-minute offset or a negative year
30
30
  *
31
- * @example formatRfc2822("2024-03-15T14:30:00-04:00[America/New_York]") // "Fri, 15 Mar 2024 14:30:00 -0400"
31
+ * @example formatRfc2822("2024-03-15T14:30:00+05:30[Asia/Kolkata]") // "Fri, 15 Mar 2024 14:30:00 +0530"
32
32
  * @example formatRfc2822("2024-01-05T09:00:00+00:00[UTC]") // "Fri, 05 Jan 2024 09:00:00 +0000"
33
- * @example formatRfc2822("2024-03-15T14:30:00.999-04:00[America/New_York]") // "Fri, 15 Mar 2024 14:30:00 -0400"
33
+ * @example formatRfc2822("2024-03-15T14:30:00.999+05:30[Asia/Kolkata]") // "Fri, 15 Mar 2024 14:30:00 +0530"
34
34
  * @example formatRfc2822("1969-12-31T23:15:30-00:45[Africa/Monrovia]") // "" (offset −00:44:30)
35
35
  * @example formatRfc2822("-000001-06-15T12:00:00+00:00[UTC]") // ""
36
36
  * @example Temporal.ZonedDateTime.from("-000001-06-15T12:00:00+00:00[UTC]").toString() // "-000001-06-15T12:00:00+00:00[UTC]"
@@ -23,10 +23,10 @@
23
23
  * different instant, and years outside 0000–9999 were written in expanded form. For either
24
24
  * string use `Temporal.ZonedDateTime#toString({ timeZoneName: "never" })`.
25
25
  *
26
- * @param value zoned ISO 8601 datetime string (e.g. "2024-03-15T14:30:00-04:00[America/New_York]")
26
+ * @param value zoned ISO 8601 datetime string (e.g. "2024-03-15T14:30:00-03:00[America/Sao_Paulo]")
27
27
  * @returns RFC 3339 datetime string, or "" on invalid input or a year outside 0000–9999
28
28
  *
29
- * @example formatRfc3339("2024-03-15T14:30:00-04:00[America/New_York]") // "2024-03-15T14:30:00-04:00"
29
+ * @example formatRfc3339("2024-03-15T14:30:00-03:00[America/Sao_Paulo]") // "2024-03-15T14:30:00-03:00"
30
30
  * @example formatRfc3339("2024-03-15T14:30:00Z[UTC]") // "2024-03-15T14:30:00+00:00"
31
31
  * @example formatRfc3339("1969-12-31T23:15:30-00:45[Africa/Monrovia]") // "1970-01-01T00:00:00+00:00" (offset −00:44:30)
32
32
  * @example formatRfc3339("+010000-01-01T00:00:00+00:00[UTC]") // ""
@@ -26,10 +26,10 @@ const NANOSECONDS_PER_MINUTE = 60_000_000_000;
26
26
  * different instant, and years outside 0000–9999 were written in expanded form. For either
27
27
  * string use `Temporal.ZonedDateTime#toString({ timeZoneName: "never" })`.
28
28
  *
29
- * @param value zoned ISO 8601 datetime string (e.g. "2024-03-15T14:30:00-04:00[America/New_York]")
29
+ * @param value zoned ISO 8601 datetime string (e.g. "2024-03-15T14:30:00-03:00[America/Sao_Paulo]")
30
30
  * @returns RFC 3339 datetime string, or "" on invalid input or a year outside 0000–9999
31
31
  *
32
- * @example formatRfc3339("2024-03-15T14:30:00-04:00[America/New_York]") // "2024-03-15T14:30:00-04:00"
32
+ * @example formatRfc3339("2024-03-15T14:30:00-03:00[America/Sao_Paulo]") // "2024-03-15T14:30:00-03:00"
33
33
  * @example formatRfc3339("2024-03-15T14:30:00Z[UTC]") // "2024-03-15T14:30:00+00:00"
34
34
  * @example formatRfc3339("1969-12-31T23:15:30-00:45[Africa/Monrovia]") // "1970-01-01T00:00:00+00:00" (offset −00:44:30)
35
35
  * @example formatRfc3339("+010000-01-01T00:00:00+00:00[UTC]") // ""
@@ -4,14 +4,14 @@
4
4
  *
5
5
  * @remarks Members:
6
6
  *
7
- * | Member | Example (America/New_York) | Description |
7
+ * | Member | Example (Australia/Sydney, en-AU) | Description |
8
8
  * | --- | --- | --- |
9
- * | `short` | `EST`/`EDT` | Abbreviated zone name; seasonal for DST zones. |
10
- * | `long` | `Eastern Standard Time` | Full zone name; seasonal for DST zones. |
11
- * | `shortOffset` | `GMT-5` | Short UTC offset; seasonal. |
12
- * | `longOffset` | `GMT-05:00` | Zero-padded UTC offset; seasonal. |
13
- * | `shortGeneric` | `ET` | Season-independent generic abbreviation. |
14
- * | `longGeneric` | `Eastern Time` | Season-independent generic full name. |
9
+ * | `short` | `AEST`/`AEDT` | Abbreviated zone name; seasonal for DST zones. |
10
+ * | `long` | `Australian Eastern Standard Time` | Full zone name; seasonal for DST zones. |
11
+ * | `shortOffset` | `GMT+10` | Short UTC offset; seasonal. |
12
+ * | `longOffset` | `GMT+10:00` | Zero-padded UTC offset; seasonal. |
13
+ * | `shortGeneric` | `AET` | Season-independent generic abbreviation. |
14
+ * | `longGeneric` | `Australian Eastern Time` | Season-independent generic full name. |
15
15
  *
16
16
  * @example
17
17
  * import { TimeZoneNameStyle } from "@northguild/gmt/zoned";
@@ -34,16 +34,16 @@ export interface FormatTimeZoneNameOptions {
34
34
  * Return the localized display name for an IANA timeZone.
35
35
  *
36
36
  * - `options.style` covers every `Intl.DateTimeFormatOptions` `timeZoneName`
37
- * value: "short" (EST), "long" (Eastern Standard Time), "shortOffset"
38
- * (GMT-5), "longOffset" (GMT-05:00), "shortGeneric" (ET), "longGeneric"
39
- * (Eastern Time).
37
+ * value: "short" (AEST), "long" (Australian Eastern Standard Time),
38
+ * "shortOffset" (GMT+10), "longOffset" (GMT+10:00), "shortGeneric" (AET),
39
+ * "longGeneric" (Australian Eastern Time).
40
40
  * - "short"/"long"/"shortOffset"/"longOffset" name the zone's *current*
41
41
  * offset — for a DST-observing zone the label flips between standard and
42
42
  * daylight names depending on when this is called, since there's no
43
43
  * instant parameter to pin it to (this matches how
44
44
  * `Intl.DateTimeFormat.prototype.format()` itself defaults to "now" when
45
45
  * called with no argument). "shortGeneric"/"longGeneric" are
46
- * season-independent (e.g. "ET", "Eastern Time") and don't have this
46
+ * season-independent (e.g. "AET", "Australian Eastern Time") and don't have this
47
47
  * issue — prefer them for a name that won't change twice a year.
48
48
  * - Output depends on runtime ICU data.
49
49
  * - Returns "" for an invalid timeZone or locale.
@@ -53,16 +53,16 @@ export interface FormatTimeZoneNameOptions {
53
53
  * Node, throw a RangeError exception"). Pass the IANA name.
54
54
  *
55
55
  * @param timeZone IANA name or a UTC offset to the minute (what `isValidTimeZone` accepts)
56
- * @param locale BCP 47 locale tag (e.g. "en-US"), or a preference list of tags (ECMA-402; the first with locale data is read). Required: omitted, or an empty list (which ECMA-402 would resolve to the host default), returns ""
56
+ * @param locale BCP 47 locale tag (e.g. "en-AU", "ja-JP"), or a preference list of tags (ECMA-402; the first with locale data is read). Required: omitted, or an empty list (which ECMA-402 would resolve to the host default), returns ""
57
57
  * @param options optional setting for the form of the name
58
58
  * @returns localized zone name, or "" on invalid input
59
59
  *
60
- * @example formatTimeZoneName("America/New_York", "en-US", { style: "shortGeneric" }) // "ET"
61
- * @example formatTimeZoneName("America/New_York", "en-US", { style: "longGeneric" }) // "Eastern Time"
62
- * @example formatTimeZoneName("America/New_York", "en-US", { style: "shortOffset" }) // "GMT-4" or "GMT-5", depending on the current date
60
+ * @example formatTimeZoneName("Australia/Sydney", "en-AU", { style: "shortGeneric" }) // "AET"
61
+ * @example formatTimeZoneName("Australia/Sydney", "en-AU", { style: "longGeneric" }) // "Australian Eastern Time"
62
+ * @example formatTimeZoneName("Australia/Sydney", "en-AU", { style: "shortOffset" }) // "GMT+10" or "GMT+11", depending on the current date
63
63
  * @example formatTimeZoneName("Asia/Tokyo", "ja-JP", { style: "longGeneric" }) // "日本標準時"
64
- * @example formatTimeZoneName("Invalid/Zone", "en-US") // ""
65
- * @example formatTimeZoneName("America/New_York", "!!!") // ""
64
+ * @example formatTimeZoneName("Invalid/Zone", "en-GB") // ""
65
+ * @example formatTimeZoneName("Australia/Sydney", "!!!") // ""
66
66
  * @example formatTimeZoneName("Europe/Berlin", ["fr-FR", "en-US"], { style: "longGeneric" }) // "heure d’Europe centrale"
67
67
  */
68
68
  export declare function formatTimeZoneName(timeZone: string, locale: string | string[], options?: FormatTimeZoneNameOptions): string;
@@ -1,4 +1,5 @@
1
- import { Temporal } from "@js-temporal/polyfill";
1
+ import { cachedFormatter } from "../../internal/formatterCache.js";
2
+ import { Temporal } from "../../internal/temporal.js";
2
3
  import { resolveRequiredLocale } from "../../internal/resolveLocale.js";
3
4
  import { isValidTimeZone } from "../validate/index.js";
4
5
  import { isOptionsArgument } from "../../internal/isObject.js";
@@ -7,16 +8,16 @@ import { optionOrDefault } from "../../internal/optionOrDefault.js";
7
8
  * Return the localized display name for an IANA timeZone.
8
9
  *
9
10
  * - `options.style` covers every `Intl.DateTimeFormatOptions` `timeZoneName`
10
- * value: "short" (EST), "long" (Eastern Standard Time), "shortOffset"
11
- * (GMT-5), "longOffset" (GMT-05:00), "shortGeneric" (ET), "longGeneric"
12
- * (Eastern Time).
11
+ * value: "short" (AEST), "long" (Australian Eastern Standard Time),
12
+ * "shortOffset" (GMT+10), "longOffset" (GMT+10:00), "shortGeneric" (AET),
13
+ * "longGeneric" (Australian Eastern Time).
13
14
  * - "short"/"long"/"shortOffset"/"longOffset" name the zone's *current*
14
15
  * offset — for a DST-observing zone the label flips between standard and
15
16
  * daylight names depending on when this is called, since there's no
16
17
  * instant parameter to pin it to (this matches how
17
18
  * `Intl.DateTimeFormat.prototype.format()` itself defaults to "now" when
18
19
  * called with no argument). "shortGeneric"/"longGeneric" are
19
- * season-independent (e.g. "ET", "Eastern Time") and don't have this
20
+ * season-independent (e.g. "AET", "Australian Eastern Time") and don't have this
20
21
  * issue — prefer them for a name that won't change twice a year.
21
22
  * - Output depends on runtime ICU data.
22
23
  * - Returns "" for an invalid timeZone or locale.
@@ -26,16 +27,16 @@ import { optionOrDefault } from "../../internal/optionOrDefault.js";
26
27
  * Node, throw a RangeError exception"). Pass the IANA name.
27
28
  *
28
29
  * @param timeZone IANA name or a UTC offset to the minute (what `isValidTimeZone` accepts)
29
- * @param locale BCP 47 locale tag (e.g. "en-US"), or a preference list of tags (ECMA-402; the first with locale data is read). Required: omitted, or an empty list (which ECMA-402 would resolve to the host default), returns ""
30
+ * @param locale BCP 47 locale tag (e.g. "en-AU", "ja-JP"), or a preference list of tags (ECMA-402; the first with locale data is read). Required: omitted, or an empty list (which ECMA-402 would resolve to the host default), returns ""
30
31
  * @param options optional setting for the form of the name
31
32
  * @returns localized zone name, or "" on invalid input
32
33
  *
33
- * @example formatTimeZoneName("America/New_York", "en-US", { style: "shortGeneric" }) // "ET"
34
- * @example formatTimeZoneName("America/New_York", "en-US", { style: "longGeneric" }) // "Eastern Time"
35
- * @example formatTimeZoneName("America/New_York", "en-US", { style: "shortOffset" }) // "GMT-4" or "GMT-5", depending on the current date
34
+ * @example formatTimeZoneName("Australia/Sydney", "en-AU", { style: "shortGeneric" }) // "AET"
35
+ * @example formatTimeZoneName("Australia/Sydney", "en-AU", { style: "longGeneric" }) // "Australian Eastern Time"
36
+ * @example formatTimeZoneName("Australia/Sydney", "en-AU", { style: "shortOffset" }) // "GMT+10" or "GMT+11", depending on the current date
36
37
  * @example formatTimeZoneName("Asia/Tokyo", "ja-JP", { style: "longGeneric" }) // "日本標準時"
37
- * @example formatTimeZoneName("Invalid/Zone", "en-US") // ""
38
- * @example formatTimeZoneName("America/New_York", "!!!") // ""
38
+ * @example formatTimeZoneName("Invalid/Zone", "en-GB") // ""
39
+ * @example formatTimeZoneName("Australia/Sydney", "!!!") // ""
39
40
  * @example formatTimeZoneName("Europe/Berlin", ["fr-FR", "en-US"], { style: "longGeneric" }) // "heure d’Europe centrale"
40
41
  */
41
42
  export function formatTimeZoneName(timeZone, locale, options) {
@@ -51,7 +52,7 @@ export function formatTimeZoneName(timeZone, locale, options) {
51
52
  return "";
52
53
  try {
53
54
  const style = optionOrDefault(options?.style, "long");
54
- const formatter = new Intl.DateTimeFormat(resolvedLocale, {
55
+ const formatter = cachedFormatter("DateTimeFormat", resolvedLocale, {
55
56
  timeZone,
56
57
  timeZoneName: style,
57
58
  hour: "numeric",
@@ -19,20 +19,20 @@ import type { DateTimeFormatOptions } from "../../types/index.js";
19
19
  * options value formats with the defaults, as `Intl.DateTimeFormat` does).
20
20
  *
21
21
  * @param value zoned ISO 8601 datetime string
22
- * @param locale optional locale tag (e.g. "en-US"), or a preference list of tags (ECMA-402)
22
+ * @param locale optional locale tag (e.g. "en-GB", "ja-JP"), or a preference list of tags (ECMA-402)
23
23
  * @param options optional Intl.DateTimeFormatOptions
24
24
  * @returns localized string or "" when invalid
25
25
  *
26
- * @example formatZonedDateTime("2024-02-29T12:34:56.789+00:00[UTC]", "en-US", { dateStyle: "long", timeStyle: "long" }) // "February 29, 2024 at 12:34:56 PM UTC"
26
+ * @example formatZonedDateTime("2024-02-29T12:34:56.789+00:00[UTC]", "de-DE", { dateStyle: "long", timeStyle: "long" }) // "29. Februar 2024 um 12:34:56 UTC"
27
27
  * @example formatZonedDateTime("2024-02-29T12:34:56.789+00:00[UTC]", "en-GB", { dateStyle: "short", timeStyle: "short" }) // "29/02/2024, 12:34"
28
- * @example formatZonedDateTime("2024-02-03T14:30:45-05:00[America/New_York]", "ja-JP-u-ca-japanese", { year: "numeric", month: "long" }) // "令和6年2月"
29
- * @example formatZonedDateTime("2024-02-03T14:30:45-05:00[America/New_York]", "ja-JP-u-ca-japanese", { year: "numeric", month: "numeric" }) // "R6/2" — the pre-1.16.0 text
30
- * @example formatZonedDateTime("2024-02-03T14:30:45-05:00[America/New_York]", "en-US", { era: "long" }) // "2/3/2024 Anno Domini, 2:30:45 PM EST"
31
- * @example formatZonedDateTime("2024-02-03T14:30:45-05:00[America/New_York]", "en-US", { era: "long", year: "numeric", month: "numeric", day: "numeric" }) // "2/3/2024 Anno Domini" — the pre-1.16.0 text
32
- * @example formatZonedDateTime("2024-02-03T14:30:45-05:00[America/New_York]", "en-US", { timeZone: "Asia/Tokyo" }) // "" — a ZonedDateTime keeps its own zone
33
- * @example formatUtc("2024-02-03T19:30:45Z", "en-US", { timeZone: "Asia/Tokyo", includeTimeZoneName: true }) // "2/4/2024, 4:30:45 AM GMT+9" — the same instant in another zone
34
- * @example formatZonedDateTime("invalid", "en-US") // "" (invalid input)
28
+ * @example formatZonedDateTime("2024-02-03T14:30:45+09:00[Asia/Tokyo]", "ja-JP-u-ca-japanese", { year: "numeric", month: "long" }) // "令和6年2月"
29
+ * @example formatZonedDateTime("2024-02-03T14:30:45+09:00[Asia/Tokyo]", "ja-JP-u-ca-japanese", { year: "numeric", month: "numeric" }) // "R6/2" — the pre-1.16.0 text
30
+ * @example formatZonedDateTime("2024-02-03T14:30:45+00:00[Europe/London]", "en-GB", { era: "long" }) // "03/02/2024 Anno Domini, 14:30:45 GMT"
31
+ * @example formatZonedDateTime("2024-02-03T14:30:45+00:00[Europe/London]", "en-GB", { era: "long", year: "numeric", month: "numeric", day: "numeric" }) // "03/02/2024 Anno Domini" — the pre-1.16.0 text
32
+ * @example formatZonedDateTime("2024-02-03T14:30:45+00:00[Europe/London]", "en-GB", { timeZone: "Asia/Tokyo" }) // "" — a ZonedDateTime keeps its own zone
33
+ * @example formatUtc("2024-02-03T14:30:45Z", "en-GB", { timeZone: "Asia/Tokyo", includeTimeZoneName: true }) // "03/02/2024, 23:30:45 GMT+9" — the same instant in another zone
34
+ * @example formatZonedDateTime("invalid", "pt-BR") // "" (invalid input)
35
35
  * @example formatZonedDateTime("2024-02-03T14:30:45+01:00[Europe/Paris]", ["fr-FR", "en-US"], { dateStyle: "short", timeStyle: "short" }) // "03/02/2024 14:30"
36
- * @example formatZonedDateTime("2024-02-03T14:30:00-05:00[America/New_York]", "en-US", null as never) // "" (null options, as ECMA-402 rejects them)
36
+ * @example formatZonedDateTime("2024-02-03T14:30:00+05:30[Asia/Kolkata]", "hi-IN", null as never) // "" (null options, as ECMA-402 rejects them)
37
37
  */
38
38
  export declare function formatZonedDateTime(value: string, locale?: string | string[], options?: DateTimeFormatOptions): string;
@@ -1,3 +1,4 @@
1
+ import { cachedFormatter } from "../../internal/formatterCache.js";
1
2
  import { normalizeDateTime, zonedDateTimeFrom } from "../../internal/index.js";
2
3
  import { instantFormatOptions } from "../../internal/instantFormatOptions.js";
3
4
  import { isValidZonedDateTime } from "../validate/index.js";
@@ -22,21 +23,21 @@ import { readDateTimeFormatOptions } from "../../internal/readDateTimeFormatOpti
22
23
  * options value formats with the defaults, as `Intl.DateTimeFormat` does).
23
24
  *
24
25
  * @param value zoned ISO 8601 datetime string
25
- * @param locale optional locale tag (e.g. "en-US"), or a preference list of tags (ECMA-402)
26
+ * @param locale optional locale tag (e.g. "en-GB", "ja-JP"), or a preference list of tags (ECMA-402)
26
27
  * @param options optional Intl.DateTimeFormatOptions
27
28
  * @returns localized string or "" when invalid
28
29
  *
29
- * @example formatZonedDateTime("2024-02-29T12:34:56.789+00:00[UTC]", "en-US", { dateStyle: "long", timeStyle: "long" }) // "February 29, 2024 at 12:34:56 PM UTC"
30
+ * @example formatZonedDateTime("2024-02-29T12:34:56.789+00:00[UTC]", "de-DE", { dateStyle: "long", timeStyle: "long" }) // "29. Februar 2024 um 12:34:56 UTC"
30
31
  * @example formatZonedDateTime("2024-02-29T12:34:56.789+00:00[UTC]", "en-GB", { dateStyle: "short", timeStyle: "short" }) // "29/02/2024, 12:34"
31
- * @example formatZonedDateTime("2024-02-03T14:30:45-05:00[America/New_York]", "ja-JP-u-ca-japanese", { year: "numeric", month: "long" }) // "令和6年2月"
32
- * @example formatZonedDateTime("2024-02-03T14:30:45-05:00[America/New_York]", "ja-JP-u-ca-japanese", { year: "numeric", month: "numeric" }) // "R6/2" — the pre-1.16.0 text
33
- * @example formatZonedDateTime("2024-02-03T14:30:45-05:00[America/New_York]", "en-US", { era: "long" }) // "2/3/2024 Anno Domini, 2:30:45 PM EST"
34
- * @example formatZonedDateTime("2024-02-03T14:30:45-05:00[America/New_York]", "en-US", { era: "long", year: "numeric", month: "numeric", day: "numeric" }) // "2/3/2024 Anno Domini" — the pre-1.16.0 text
35
- * @example formatZonedDateTime("2024-02-03T14:30:45-05:00[America/New_York]", "en-US", { timeZone: "Asia/Tokyo" }) // "" — a ZonedDateTime keeps its own zone
36
- * @example formatUtc("2024-02-03T19:30:45Z", "en-US", { timeZone: "Asia/Tokyo", includeTimeZoneName: true }) // "2/4/2024, 4:30:45 AM GMT+9" — the same instant in another zone
37
- * @example formatZonedDateTime("invalid", "en-US") // "" (invalid input)
32
+ * @example formatZonedDateTime("2024-02-03T14:30:45+09:00[Asia/Tokyo]", "ja-JP-u-ca-japanese", { year: "numeric", month: "long" }) // "令和6年2月"
33
+ * @example formatZonedDateTime("2024-02-03T14:30:45+09:00[Asia/Tokyo]", "ja-JP-u-ca-japanese", { year: "numeric", month: "numeric" }) // "R6/2" — the pre-1.16.0 text
34
+ * @example formatZonedDateTime("2024-02-03T14:30:45+00:00[Europe/London]", "en-GB", { era: "long" }) // "03/02/2024 Anno Domini, 14:30:45 GMT"
35
+ * @example formatZonedDateTime("2024-02-03T14:30:45+00:00[Europe/London]", "en-GB", { era: "long", year: "numeric", month: "numeric", day: "numeric" }) // "03/02/2024 Anno Domini" — the pre-1.16.0 text
36
+ * @example formatZonedDateTime("2024-02-03T14:30:45+00:00[Europe/London]", "en-GB", { timeZone: "Asia/Tokyo" }) // "" — a ZonedDateTime keeps its own zone
37
+ * @example formatUtc("2024-02-03T14:30:45Z", "en-GB", { timeZone: "Asia/Tokyo", includeTimeZoneName: true }) // "03/02/2024, 23:30:45 GMT+9" — the same instant in another zone
38
+ * @example formatZonedDateTime("invalid", "pt-BR") // "" (invalid input)
38
39
  * @example formatZonedDateTime("2024-02-03T14:30:45+01:00[Europe/Paris]", ["fr-FR", "en-US"], { dateStyle: "short", timeStyle: "short" }) // "03/02/2024 14:30"
39
- * @example formatZonedDateTime("2024-02-03T14:30:00-05:00[America/New_York]", "en-US", null as never) // "" (null options, as ECMA-402 rejects them)
40
+ * @example formatZonedDateTime("2024-02-03T14:30:00+05:30[Asia/Kolkata]", "hi-IN", null as never) // "" (null options, as ECMA-402 rejects them)
40
41
  */
41
42
  export function formatZonedDateTime(value, locale, options) {
42
43
  // ECMA-402 CoerceOptionsToObject: null options throw TypeError, so they are invalid input.
@@ -56,7 +57,7 @@ export function formatZonedDateTime(value, locale, options) {
56
57
  if (resolved === null) {
57
58
  return "";
58
59
  }
59
- return normalizeDateTime(new Intl.DateTimeFormat(locale, resolved).format(zonedDateTime.epochMilliseconds));
60
+ return normalizeDateTime(cachedFormatter("DateTimeFormat", locale, resolved).format(zonedDateTime.epochMilliseconds));
60
61
  }
61
62
  catch {
62
63
  return "";
@@ -24,14 +24,14 @@ import type { DateTimeFormatOptions } from "../../types/index.js";
24
24
  * @param options optional Intl.DateTimeFormatOptions
25
25
  * @returns localized range string or "" when invalid
26
26
  *
27
- * @example formatZonedRange("2024-02-29T12:00:00.000+00:00[UTC]", "2024-02-29T14:00:00.000+00:00[UTC]", "en-US", { dateStyle: "long", timeStyle: "short" }) // "February 29, 2024, 12:00 - 2:00 PM"
27
+ * @example formatZonedRange("2024-02-29T12:00:00.000+00:00[UTC]", "2024-02-29T14:00:00.000+00:00[UTC]", "de-DE", { dateStyle: "long", timeStyle: "short" }) // "29. Februar 2024, 12:00-14:00 Uhr"
28
28
  * @example formatZonedRange("2024-02-29T12:00:00.000+00:00[UTC]", "2024-02-29T14:00:00.000+00:00[UTC]", "en-GB", { dateStyle: "short", timeStyle: "short" }) // "29/02/2024, 12:00-14:00"
29
- * @example formatZonedRange("2024-02-03T14:30:45-05:00[America/New_York]", "2024-02-03T15:30:45-05:00[America/New_York]", "zh-CN", { year: "numeric", month: "long" }) // "2024年2月"
30
- * @example formatZonedRange("2024-02-03T14:30:45-05:00[America/New_York]", "2024-02-03T15:30:45-05:00[America/New_York]", "en-US", { era: "long" }) // "2/3/2024 Anno Domini, 2:30:45 PM - 3:30:45 PM"
31
- * @example formatZonedRange("2024-02-29T10:00:00-05:00[America/New_York]", "2024-02-29T12:00:00-05:00[America/New_York]", "en-US", { hour: "numeric", timeZone: "UTC" }) // "" — a ZonedDateTime keeps its own zone
32
- * @example formatZonedRange("2024-02-29T10:00:00-05:00[America/New_York]", "2024-02-29T12:00:00-05:00[America/New_York]", "en-US", { hour: "numeric", minute: "numeric", timeZoneName: "short" }) // "10:00 AM - 12:00 PM EST" — the pre-1.16.0 text
33
- * @example formatZonedRange("invalid", "2024-02-29T14:00:00.000+00:00[UTC]", "en-US") // "" (invalid input)
29
+ * @example formatZonedRange("2024-02-03T14:30:45+08:00[Asia/Shanghai]", "2024-02-03T15:30:45+08:00[Asia/Shanghai]", "zh-CN", { year: "numeric", month: "long" }) // "2024年2月"
30
+ * @example formatZonedRange("2024-02-03T14:30:45+00:00[Europe/London]", "2024-02-03T15:30:45+00:00[Europe/London]", "en-GB", { era: "long" }) // "03/02/2024 Anno Domini, 14:30:45 - 15:30:45"
31
+ * @example formatZonedRange("2024-02-29T10:00:00+09:00[Asia/Tokyo]", "2024-02-29T12:00:00+09:00[Asia/Tokyo]", "ja-JP", { hour: "numeric", timeZone: "UTC" }) // "" — a ZonedDateTime keeps its own zone
32
+ * @example formatZonedRange("2024-02-29T10:00:00+00:00[Europe/London]", "2024-02-29T12:00:00+00:00[Europe/London]", "en-GB", { hour: "numeric", minute: "numeric", timeZoneName: "short" }) // "10:00-12:00 GMT" — the pre-1.16.0 text
33
+ * @example formatZonedRange("invalid", "2024-02-29T14:00:00.000+00:00[UTC]", "fr-FR") // "" (invalid input)
34
34
  * @example formatZonedRange("2024-02-03T14:30:45+01:00[Europe/Paris]", "2024-02-03T16:46:15+01:00[Europe/Paris]", ["fr-FR", "en-US"], { dateStyle: "short", timeStyle: "short" }) // "03/02/2024, 14:30 - 16:46"
35
- * @example formatZonedRange("2024-02-03T14:30:00-05:00[America/New_York]", "2024-02-05T17:00:00-05:00[America/New_York]", "en-US", null as never) // "" (null options, as ECMA-402 rejects them)
35
+ * @example formatZonedRange("2024-02-03T14:30:00-03:00[America/Sao_Paulo]", "2024-02-05T17:00:00-03:00[America/Sao_Paulo]", "pt-BR", null as never) // "" (null options, as ECMA-402 rejects them)
36
36
  */
37
37
  export declare function formatZonedRange(from: string, to: string, locale?: string | string[], options?: DateTimeFormatOptions): string;