@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
@@ -0,0 +1,177 @@
1
+ import { Temporal } from "../../internal/temporal.js";
2
+ import { formatUtcOffset, isoStringBody, isWithinIsoDaysRange, TIME_ZONE_ANNOTATION, UTC_OFFSET_WITH_SECONDS, writtenOffset, zonedDateTimeFrom, } from "../../internal/index.js";
3
+ import { classifyWall } from "../../internal/earlierOccurrence.js";
4
+ import { hasInstantShape, hasZonedDateTimeShape, } from "../../internal/isoStringBody.js";
5
+ import { hasSecond60 } from "../../plain/validate/hasSecond60.js";
6
+ import { utcOffset } from "../../regex/index.js";
7
+ /** A leading RFC 9557 time zone annotation: `[zone]` or `[!zone]`, with no `=`. */
8
+ const timeZoneAnnotation = new RegExp(`^${TIME_ZONE_ANNOTATION}`);
9
+ /**
10
+ * Says whether a stored RFC 9557 string with both an offset and a zone still names one
11
+ * instant under this host's time zone rules, and gives every reading when it does not.
12
+ *
13
+ * An offset stored next to a zone is a claim about the zone's rules. When the rules change
14
+ * after the string was written, the offset and the zone can disagree (RFC 9557 §3.4), or the
15
+ * local time can fall into a new gap or overlap. Each of Temporal's `offset` values
16
+ * (`use`, `ignore`, `prefer`, `reject`) is one choice among the readings returned.
17
+ *
18
+ * Resolution: none. No reading is chosen. An ambiguous or nonexistent local time returns both
19
+ * its `earlier` and `later` readings, as `disambiguation` names them, and the instant the
20
+ * stored offset gives.
21
+ *
22
+ * - Five kinds. `valid`: the local time occurs once, at the stored offset. `validInOverlap`: it
23
+ * occurs twice and the stored offset picks `instant`, which is `earlier` or `later`.
24
+ * `offsetMismatch`: it occurs once, but not at the stored offset. `ambiguous`: it occurs
25
+ * twice and the stored offset picks neither. `nonexistent`: it falls in a gap.
26
+ * - Every kind carries `atStoredOffset`, the instant `offset: "use"` gives. It differs from
27
+ * `instant` when an offset written to the minute matches a zone offset with seconds
28
+ * (`Africa/Monrovia`, `-00:45` for `-00:44:30`). An offset written with seconds must match
29
+ * exactly.
30
+ * - Each reading is a `Temporal.Instant#toString` string ending in `Z`, and each offset is
31
+ * `±HH:MM[:SS]`. `storedOffset` keeps the seconds as written, so `-00:45:00` stays
32
+ * `-00:45:00`; `zoneOffset` drops a zero seconds part.
33
+ * - The result depends on the host's tzdb: the same string can be `valid` on one host and
34
+ * `offsetMismatch` on another. On Node, `process.versions.tz` names the release. Browsers
35
+ * expose no equivalent.
36
+ * - `…Z[zone]` is always `valid` (Temporal reads `Z` as exact, RFC 9557 §3.4 Figure 2), even
37
+ * inside an overlap or a gap. `-00:00` is a numeric offset of zero, as Temporal reads it,
38
+ * so it can be an `offsetMismatch`.
39
+ * - Returns null for a string with no offset, no zone annotation, a bracketed offset in place
40
+ * of an IANA zone, an unknown zone, an offset finer than a second, a calendar other than
41
+ * `iso8601`, second 60, basic format, a reading outside the instant range, a local date of
42
+ * `-271821-04-19` (which Temporal's `prefer` and `reject` refuse), or any non-string input.
43
+ *
44
+ * @param value RFC 9557 string with a UTC offset and a bracketed IANA time zone
45
+ * @returns the classification with every reading as a `Z` instant string, or `null` for any
46
+ * other input
47
+ *
48
+ * @example classifyStoredZoned("2016-12-01T09:00:00+02:00[Europe/Istanbul]") // { kind: "offsetMismatch", storedOffset: "+02:00", zoneOffset: "+03:00", atStoredOffset: "2016-12-01T07:00:00Z", atZoneOffset: "2016-12-01T06:00:00Z" }
49
+ * @example classifyStoredZoned("2026-03-29T01:30:00+00:00[Europe/London]") // { kind: "nonexistent", earlier: "2026-03-29T00:30:00Z", later: "2026-03-29T01:30:00Z", atStoredOffset: "2026-03-29T01:30:00Z" }
50
+ * @example classifyStoredZoned("2026-10-25T01:30:00+01:00[Europe/London]") // { kind: "validInOverlap", instant: "2026-10-25T00:30:00Z", earlier: "2026-10-25T00:30:00Z", later: "2026-10-25T01:30:00Z", atStoredOffset: "2026-10-25T00:30:00Z" }
51
+ * @example classifyStoredZoned("2026-03-29T01:30:00[Europe/London]") // null
52
+ */
53
+ export function classifyStoredZoned(value) {
54
+ if (typeof value !== "string" ||
55
+ hasSecond60(value) ||
56
+ !hasZonedDateTimeShape(value) ||
57
+ !hasInstantShape(value)) {
58
+ return null;
59
+ }
60
+ try {
61
+ return classifyShaped(value);
62
+ }
63
+ catch {
64
+ return null;
65
+ }
66
+ }
67
+ /**
68
+ * A `Z` string. It is offsetBehaviour exact (Temporal §6.5.2): no candidate is checked, so the
69
+ * exact read is the whole answer. It also keeps `Z` strings at the instant-range edge, where an
70
+ * `ignore` read would resolve the zone's wall clock outside the range.
71
+ */
72
+ function classifyExact(value) {
73
+ const exact = zonedDateTimeFrom(value);
74
+ // A bracketed offset names no place, and Temporal accepts it; GMT does not.
75
+ if (utcOffset.test(exact.timeZoneId) || exact.calendarId !== "iso8601") {
76
+ return null;
77
+ }
78
+ const instant = exact.toInstant().toString();
79
+ return { kind: "valid", instant, atStoredOffset: instant };
80
+ }
81
+ /**
82
+ * The offset as written: `writtenOffset` drops a seconds part of zero, so `-00:45:00` is put back
83
+ * when the body wrote seconds. Without it a caller could not tell `-00:45:00` (which must match
84
+ * the zone exactly) from `-00:45` (which may match `-00:44:30`).
85
+ */
86
+ function withWrittenSeconds(offset, body) {
87
+ return offset !== null &&
88
+ offset.length === 6 &&
89
+ UTC_OFFSET_WITH_SECONDS.test(body)
90
+ ? `${offset}:00`
91
+ : offset;
92
+ }
93
+ /** What the stored offset says, or null when it cannot be trusted. */
94
+ function readStored(value, body) {
95
+ const use = zonedDateTimeFrom(value, { offset: "use" }).toInstant();
96
+ const storedOffset = withWrittenSeconds(writtenOffset(use, body), body);
97
+ const wall = Temporal.PlainDateTime.from(body);
98
+ // Temporal's `prefer` and `reject` refuse a local date outside CheckISODaysRange (§6.5.1
99
+ // step 7), so the stored offset cannot be checked and the string is not a valid stored time.
100
+ // `use` accepts that date. TC39's `ignore` accepts it too, but polyfill 0.5.1 throws there, so
101
+ // the `ignore` read in `classifyShaped` can throw first; `classifyStoredZoned` catches that and
102
+ // returns the same null.
103
+ return storedOffset === null || !isWithinIsoDaysRange(wall)
104
+ ? null
105
+ : { use, storedOffset, wall };
106
+ }
107
+ /** The classification of a string that passed the shape gate; throws where Temporal throws. */
108
+ function classifyShaped(value) {
109
+ const body = isoStringBody(value);
110
+ // Only a time zone annotation makes the string zoned (RFC 9557 §4.1).
111
+ if (!timeZoneAnnotation.test(value.slice(body.length))) {
112
+ return null;
113
+ }
114
+ if (body.endsWith("Z") || body.endsWith("z")) {
115
+ return classifyExact(value);
116
+ }
117
+ const zoned = zonedDateTimeFrom(value, { offset: "ignore" });
118
+ // A bracketed offset names no place, and Temporal accepts it; GMT does not.
119
+ if (utcOffset.test(zoned.timeZoneId) || zoned.calendarId !== "iso8601") {
120
+ return null;
121
+ }
122
+ const stored = readStored(value, body);
123
+ if (stored === null) {
124
+ return null;
125
+ }
126
+ const { use, storedOffset, wall } = stored;
127
+ const { kind, earliest, latest } = classifyWall(wall, zoned.timeZoneId);
128
+ const readings = {
129
+ earlier: earliest.toInstant().toString(),
130
+ later: latest.toInstant().toString(),
131
+ atStoredOffset: use.toString(),
132
+ };
133
+ if (kind === "nonexistent") {
134
+ return { kind, ...readings };
135
+ }
136
+ // `reject` is Temporal §6.5.1: the stored offset must match a candidate instant.
137
+ const matched = matchStoredOffset(value);
138
+ if (kind === "ambiguous") {
139
+ return classifyOverlap(matched, readings);
140
+ }
141
+ return classifyUnique(matched, readings, storedOffset, earliest);
142
+ }
143
+ /** A repeated wall clock: valid in the overlap when the stored offset picks one of its readings. */
144
+ function classifyOverlap(matched, readings) {
145
+ return matched === null
146
+ ? { kind: "ambiguous", ...readings }
147
+ : { kind: "validInOverlap", instant: matched, ...readings };
148
+ }
149
+ /** A wall clock with one reading: valid when the stored offset matches it, otherwise a mismatch. */
150
+ function classifyUnique(matched, readings, storedOffset, earliest) {
151
+ if (matched !== null) {
152
+ return {
153
+ kind: "valid",
154
+ instant: matched,
155
+ atStoredOffset: readings.atStoredOffset,
156
+ };
157
+ }
158
+ const zoneOffset = formatUtcOffset(BigInt(earliest.offsetNanoseconds));
159
+ return zoneOffset === null
160
+ ? null
161
+ : {
162
+ kind: "offsetMismatch",
163
+ storedOffset,
164
+ zoneOffset,
165
+ atStoredOffset: readings.atStoredOffset,
166
+ atZoneOffset: readings.earlier,
167
+ };
168
+ }
169
+ /** The instant the stored offset picks under `offset: "reject"`, or null when nothing matches. */
170
+ function matchStoredOffset(value) {
171
+ try {
172
+ return zonedDateTimeFrom(value).toInstant().toString();
173
+ }
174
+ catch {
175
+ return null;
176
+ }
177
+ }
@@ -0,0 +1 @@
1
+ export * from "./classifyStoredZoned.js";
@@ -0,0 +1 @@
1
+ export * from "./classifyStoredZoned.js";
@@ -1,4 +1,4 @@
1
- import { Temporal } from "@js-temporal/polyfill";
1
+ import { Temporal } from "../../internal/temporal.js";
2
2
  import { isValidZonedDateTime } from "../validate/index.js";
3
3
  import { zonedDateTimeFrom } from "../../internal/index.js";
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { Temporal } from "@js-temporal/polyfill";
1
+ import { Temporal } from "../../internal/temporal.js";
2
2
  import type { DateTimeUnit } from "../../types/index.js";
3
3
  /**
4
4
  * Compare two zoned ISO datetime strings for equality at a given unit.
@@ -9,21 +9,19 @@ import type { DateTimeUnit } from "../../types/index.js";
9
9
  * another, and this function answers per each value's own zone, because a
10
10
  * `Temporal.ZonedDateTime` reads its calendar and clock fields in its own
11
11
  * time zone.
12
- * - Comparison: Luxon's `dt.hasSame(other, unit)` also compares the two values'
13
- * local times.
14
12
  * - Each value's start-of-unit is its real local bucket (see `startOfZoned`), so a bucket a
15
13
  * zone transition shortened is still its own unit: in `Pacific/Chatham` on its 2024
16
14
  * spring-forward, 03:50 and 04:05 are different hours, because the 03:00 hour lasted only
17
15
  * from 03:45 to 04:00.
18
16
  * - Two values in the same time zone are equal only when their bucket starts are the same
19
- * instant, as in `areUnixEqualBy`: both passes of New York's repeated 01:00 on its 2024
17
+ * instant, as in `areUnixEqualBy`: both passes of London's repeated 01:00 on its 2024
20
18
  * fall-back read the same wall clock but are different hours. Values in different zones are
21
19
  * compared by their buckets' local labels, since their instants never line up.
22
20
  * - `"month"` requires the same month AND year, matching `areDateTimesEqualBy`.
23
21
  * - `unit` accepts the singular or plural name (`"day"` or `"days"`), as Temporal does.
24
22
  * - Returns false for an unsupported unit or invalid input.
25
23
  *
26
- * Mapping from date-fns:
24
+ * Migrating from date-fns:
27
25
  * - `isSameDay(a, b)` → `areZonedEqualBy(a, b, "day")`
28
26
  * - `isSameMonth(a, b)` → `areZonedEqualBy(a, b, "month")`
29
27
  * - `isSameYear(a, b)` → `areZonedEqualBy(a, b, "year")`
@@ -34,11 +32,11 @@ import type { DateTimeUnit } from "../../types/index.js";
34
32
  * @param optionsArg optional setting for the week's first day
35
33
  * @returns true if both values share the same local start-of-unit boundary, false on an unsupported unit or invalid input
36
34
  *
37
- * @example areZonedEqualBy("2024-03-15T10:00:00-04:00[America/New_York]", "2024-03-15T20:00:00+01:00[Europe/Berlin]", "day") // true (both are local March 15 in their own zone)
38
- * @example areZonedEqualBy("2024-03-15T10:00:00-04:00[America/New_York]", "2024-03-15T20:00:00+01:00[Europe/Berlin]", "days") // true (plural unit)
39
- * @example areZonedEqualBy("2024-03-15T23:30:00-04:00[America/New_York]", "2024-03-16T04:30:00+00:00[UTC]", "day") // false (same instant, different local calendar day per zone)
40
- * @example areZonedEqualBy("2024-11-03T01:30:00-04:00[America/New_York]", "2024-11-03T01:30:00-05:00[America/New_York]", "hour") // false (both read 01:30, but they sit in the two different real 01:00 hours)
41
- * @example areZonedEqualBy("invalid", "2024-03-15T10:00:00-04:00[America/New_York]", "day") // false
35
+ * @example areZonedEqualBy("2024-03-15T10:00:00+09:00[Asia/Tokyo]", "2024-03-15T20:00:00+01:00[Europe/Berlin]", "day") // true (both are local March 15 in their own zone)
36
+ * @example areZonedEqualBy("2024-03-15T10:00:00+09:00[Asia/Tokyo]", "2024-03-15T20:00:00+01:00[Europe/Berlin]", "days") // true (plural unit)
37
+ * @example areZonedEqualBy("2024-03-15T23:30:00-03:00[America/Sao_Paulo]", "2024-03-16T02:30:00+00:00[UTC]", "day") // false (same instant, different local calendar day per zone)
38
+ * @example areZonedEqualBy("2024-10-27T01:30:00+01:00[Europe/London]", "2024-10-27T01:30:00+00:00[Europe/London]", "hour") // false (both read 01:30, but they sit in the two different real 01:00 hours)
39
+ * @example areZonedEqualBy("invalid", "2024-03-15T10:00:00+02:00[Africa/Johannesburg]", "day") // false
42
40
  */
43
41
  export declare function areZonedEqualBy(value1: string, value2: string, unit: Temporal.SmallestUnit<DateTimeUnit>, optionsArg?: {
44
42
  /**
@@ -1,4 +1,4 @@
1
- import { Temporal } from "@js-temporal/polyfill";
1
+ import { Temporal } from "../../internal/temporal.js";
2
2
  import { isValidDateTimeUnit } from "../../plain/validate/index.js";
3
3
  import { startOfZoned } from "../calculate/startOfZoned.js";
4
4
  import { isValidZonedDateTime } from "../validate/index.js";
@@ -15,21 +15,19 @@ import { isOptionsArgument } from "../../internal/isObject.js";
15
15
  * another, and this function answers per each value's own zone, because a
16
16
  * `Temporal.ZonedDateTime` reads its calendar and clock fields in its own
17
17
  * time zone.
18
- * - Comparison: Luxon's `dt.hasSame(other, unit)` also compares the two values'
19
- * local times.
20
18
  * - Each value's start-of-unit is its real local bucket (see `startOfZoned`), so a bucket a
21
19
  * zone transition shortened is still its own unit: in `Pacific/Chatham` on its 2024
22
20
  * spring-forward, 03:50 and 04:05 are different hours, because the 03:00 hour lasted only
23
21
  * from 03:45 to 04:00.
24
22
  * - Two values in the same time zone are equal only when their bucket starts are the same
25
- * instant, as in `areUnixEqualBy`: both passes of New York's repeated 01:00 on its 2024
23
+ * instant, as in `areUnixEqualBy`: both passes of London's repeated 01:00 on its 2024
26
24
  * fall-back read the same wall clock but are different hours. Values in different zones are
27
25
  * compared by their buckets' local labels, since their instants never line up.
28
26
  * - `"month"` requires the same month AND year, matching `areDateTimesEqualBy`.
29
27
  * - `unit` accepts the singular or plural name (`"day"` or `"days"`), as Temporal does.
30
28
  * - Returns false for an unsupported unit or invalid input.
31
29
  *
32
- * Mapping from date-fns:
30
+ * Migrating from date-fns:
33
31
  * - `isSameDay(a, b)` → `areZonedEqualBy(a, b, "day")`
34
32
  * - `isSameMonth(a, b)` → `areZonedEqualBy(a, b, "month")`
35
33
  * - `isSameYear(a, b)` → `areZonedEqualBy(a, b, "year")`
@@ -40,11 +38,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
40
38
  * @param optionsArg optional setting for the week's first day
41
39
  * @returns true if both values share the same local start-of-unit boundary, false on an unsupported unit or invalid input
42
40
  *
43
- * @example areZonedEqualBy("2024-03-15T10:00:00-04:00[America/New_York]", "2024-03-15T20:00:00+01:00[Europe/Berlin]", "day") // true (both are local March 15 in their own zone)
44
- * @example areZonedEqualBy("2024-03-15T10:00:00-04:00[America/New_York]", "2024-03-15T20:00:00+01:00[Europe/Berlin]", "days") // true (plural unit)
45
- * @example areZonedEqualBy("2024-03-15T23:30:00-04:00[America/New_York]", "2024-03-16T04:30:00+00:00[UTC]", "day") // false (same instant, different local calendar day per zone)
46
- * @example areZonedEqualBy("2024-11-03T01:30:00-04:00[America/New_York]", "2024-11-03T01:30:00-05:00[America/New_York]", "hour") // false (both read 01:30, but they sit in the two different real 01:00 hours)
47
- * @example areZonedEqualBy("invalid", "2024-03-15T10:00:00-04:00[America/New_York]", "day") // false
41
+ * @example areZonedEqualBy("2024-03-15T10:00:00+09:00[Asia/Tokyo]", "2024-03-15T20:00:00+01:00[Europe/Berlin]", "day") // true (both are local March 15 in their own zone)
42
+ * @example areZonedEqualBy("2024-03-15T10:00:00+09:00[Asia/Tokyo]", "2024-03-15T20:00:00+01:00[Europe/Berlin]", "days") // true (plural unit)
43
+ * @example areZonedEqualBy("2024-03-15T23:30:00-03:00[America/Sao_Paulo]", "2024-03-16T02:30:00+00:00[UTC]", "day") // false (same instant, different local calendar day per zone)
44
+ * @example areZonedEqualBy("2024-10-27T01:30:00+01:00[Europe/London]", "2024-10-27T01:30:00+00:00[Europe/London]", "hour") // false (both read 01:30, but they sit in the two different real 01:00 hours)
45
+ * @example areZonedEqualBy("invalid", "2024-03-15T10:00:00+02:00[Africa/Johannesburg]", "day") // false
48
46
  */
49
47
  export function areZonedEqualBy(value1, value2, unit, optionsArg) {
50
48
  try {
@@ -1,4 +1,4 @@
1
- import { Temporal } from "@js-temporal/polyfill";
1
+ import { Temporal } from "../../internal/temporal.js";
2
2
  import { isValidZonedDateTime } from "../validate/index.js";
3
3
  import { zonedDateTimeFrom } from "../../internal/index.js";
4
4
  /**
@@ -9,7 +9,7 @@
9
9
  * @param value2 second zoned datetime string
10
10
  * @returns `true` if `value1` is before `value2`, otherwise `false`
11
11
  *
12
- * @example isBeforeZoned("2024-03-17T14:30:45-04:00[America/New_York]", "2024-03-17T15:30:45-04:00[America/New_York]") // true
13
- * @example isBeforeZoned("invalid", "2024-03-17T14:30:45-05:00[America/New_York]") // false
12
+ * @example isBeforeZoned("2024-03-17T14:30:45+02:00[Africa/Johannesburg]", "2024-03-17T15:30:45+02:00[Africa/Johannesburg]") // true
13
+ * @example isBeforeZoned("invalid", "2024-03-17T14:30:45+02:00[Africa/Johannesburg]") // false
14
14
  */
15
15
  export declare function isBeforeZoned(value1: string, value2: string): boolean;
@@ -1,4 +1,4 @@
1
- import { Temporal } from "@js-temporal/polyfill";
1
+ import { Temporal } from "../../internal/temporal.js";
2
2
  import { isValidZonedDateTime } from "../validate/index.js";
3
3
  import { zonedDateTimeFrom } from "../../internal/index.js";
4
4
  /**
@@ -12,8 +12,8 @@ import { zonedDateTimeFrom } from "../../internal/index.js";
12
12
  * @param value2 second zoned datetime string
13
13
  * @returns `true` if `value1` is before `value2`, otherwise `false`
14
14
  *
15
- * @example isBeforeZoned("2024-03-17T14:30:45-04:00[America/New_York]", "2024-03-17T15:30:45-04:00[America/New_York]") // true
16
- * @example isBeforeZoned("invalid", "2024-03-17T14:30:45-05:00[America/New_York]") // false
15
+ * @example isBeforeZoned("2024-03-17T14:30:45+02:00[Africa/Johannesburg]", "2024-03-17T15:30:45+02:00[Africa/Johannesburg]") // true
16
+ * @example isBeforeZoned("invalid", "2024-03-17T14:30:45+02:00[Africa/Johannesburg]") // false
17
17
  */
18
18
  export function isBeforeZoned(value1, value2) {
19
19
  if (!isValidZonedDateTime(value1) || !isValidZonedDateTime(value2)) {
@@ -1,5 +1,5 @@
1
1
  // fallow-ignore-file code-duplication -- cross-family Temporal type clone, by design (rule 5)
2
- import { Temporal } from "@js-temporal/polyfill";
2
+ import { Temporal } from "../../internal/temporal.js";
3
3
  import { isValidZonedDateTime } from "../validate/index.js";
4
4
  import { zonedDateTimeFrom } from "../../internal/index.js";
5
5
  import { isOptionsArgument } from "../../internal/isObject.js";
@@ -37,8 +37,8 @@
37
37
  * @param value zoned ISO 8601 datetime string
38
38
  * @returns true if the instant is in daylight saving time, false otherwise or on invalid input
39
39
  *
40
- * @example isInDaylightSaving("2024-07-15T12:00:00-04:00[America/New_York]") // true
41
- * @example isInDaylightSaving("2024-01-15T12:00:00-05:00[America/New_York]") // false
40
+ * @example isInDaylightSaving("2024-07-15T12:00:00+01:00[Europe/London]") // true
41
+ * @example isInDaylightSaving("2024-01-15T12:00:00+00:00[Europe/London]") // false
42
42
  * @example isInDaylightSaving("2024-01-15T12:00:00+11:00[Australia/Sydney]") // true (southern-hemisphere summer)
43
43
  * @example isInDaylightSaving("2024-07-15T12:00:00+09:00[Asia/Tokyo]") // false (Asia/Tokyo has no DST)
44
44
  * @example isInDaylightSaving("2015-07-01T12:00:00+03:00[Europe/Istanbul]") // true (undone 2015-11-08)
@@ -39,8 +39,8 @@ import { isInDaylightTime, zonedDateTimeFrom } from "../../internal/index.js";
39
39
  * @param value zoned ISO 8601 datetime string
40
40
  * @returns true if the instant is in daylight saving time, false otherwise or on invalid input
41
41
  *
42
- * @example isInDaylightSaving("2024-07-15T12:00:00-04:00[America/New_York]") // true
43
- * @example isInDaylightSaving("2024-01-15T12:00:00-05:00[America/New_York]") // false
42
+ * @example isInDaylightSaving("2024-07-15T12:00:00+01:00[Europe/London]") // true
43
+ * @example isInDaylightSaving("2024-01-15T12:00:00+00:00[Europe/London]") // false
44
44
  * @example isInDaylightSaving("2024-01-15T12:00:00+11:00[Australia/Sydney]") // true (southern-hemisphere summer)
45
45
  * @example isInDaylightSaving("2024-07-15T12:00:00+09:00[Asia/Tokyo]") // false (Asia/Tokyo has no DST)
46
46
  * @example isInDaylightSaving("2015-07-01T12:00:00+03:00[Europe/Istanbul]") // true (undone 2015-11-08)
@@ -1,8 +1,9 @@
1
1
  /**
2
- * Return true when `value` falls on a Monday–Friday ISO business day in the given timezone.
2
+ * Return true when `value` falls on a Monday–Friday business day in the given timezone.
3
3
  *
4
- * - Uses the fixed ISO Monday–Friday business-day boundary (Mon=1 … Fri=5),
5
- * matching the definition used by `addZonedBusinessDays`/`subtractZonedBusinessDays`.
4
+ * - Uses a fixed Monday–Friday business week (ISO weekday numbers 1 … 5), matching
5
+ * `addZonedBusinessDays`/`subtractZonedBusinessDays`. Saturday–Sunday is CLDR's
6
+ * world-default weekend; ISO 8601 numbers the weekdays but defines no weekend.
6
7
  * - Locale-agnostic: no `Intl.Locale` lookup and no holiday calendar.
7
8
  * - Returns false if `value` is invalid.
8
9
  *
@@ -17,9 +18,9 @@
17
18
  * @param value ISO 8601 zoned datetime string
18
19
  * @returns true if `value` is a Monday–Friday business day, false on invalid input
19
20
  *
20
- * @example isZonedBusinessDay("2024-02-05T10:00:00-05:00[America/New_York]") // true (Monday)
21
- * @example isZonedBusinessDay("2024-02-10T10:00:00-05:00[America/New_York]") // false (Saturday)
22
- * @example isZonedBusinessDay("2024-02-04T10:00:00-05:00[America/New_York]") // false (Sunday)
21
+ * @example isZonedBusinessDay("2024-02-05T10:00:00+05:30[Asia/Kolkata]") // true (Monday)
22
+ * @example isZonedBusinessDay("2024-02-10T10:00:00+05:30[Asia/Kolkata]") // false (Saturday)
23
+ * @example isZonedBusinessDay("2024-02-04T10:00:00+05:30[Asia/Kolkata]") // false (Sunday)
23
24
  * @example isZonedBusinessDay("invalid") // false
24
25
  */
25
26
  export declare function isZonedBusinessDay(value: string): boolean;
@@ -1,10 +1,11 @@
1
1
  import { isValidZonedDateTime } from "../validate/index.js";
2
2
  import { zonedDateTimeFrom } from "../../internal/index.js";
3
3
  /**
4
- * Return true when `value` falls on a Monday–Friday ISO business day in the given timezone.
4
+ * Return true when `value` falls on a Monday–Friday business day in the given timezone.
5
5
  *
6
- * - Uses the fixed ISO Monday–Friday business-day boundary (Mon=1 … Fri=5),
7
- * matching the definition used by `addZonedBusinessDays`/`subtractZonedBusinessDays`.
6
+ * - Uses a fixed Monday–Friday business week (ISO weekday numbers 1 … 5), matching
7
+ * `addZonedBusinessDays`/`subtractZonedBusinessDays`. Saturday–Sunday is CLDR's
8
+ * world-default weekend; ISO 8601 numbers the weekdays but defines no weekend.
8
9
  * - Locale-agnostic: no `Intl.Locale` lookup and no holiday calendar.
9
10
  * - Returns false if `value` is invalid.
10
11
  *
@@ -19,9 +20,9 @@ import { zonedDateTimeFrom } from "../../internal/index.js";
19
20
  * @param value ISO 8601 zoned datetime string
20
21
  * @returns true if `value` is a Monday–Friday business day, false on invalid input
21
22
  *
22
- * @example isZonedBusinessDay("2024-02-05T10:00:00-05:00[America/New_York]") // true (Monday)
23
- * @example isZonedBusinessDay("2024-02-10T10:00:00-05:00[America/New_York]") // false (Saturday)
24
- * @example isZonedBusinessDay("2024-02-04T10:00:00-05:00[America/New_York]") // false (Sunday)
23
+ * @example isZonedBusinessDay("2024-02-05T10:00:00+05:30[Asia/Kolkata]") // true (Monday)
24
+ * @example isZonedBusinessDay("2024-02-10T10:00:00+05:30[Asia/Kolkata]") // false (Saturday)
25
+ * @example isZonedBusinessDay("2024-02-04T10:00:00+05:30[Asia/Kolkata]") // false (Sunday)
25
26
  * @example isZonedBusinessDay("invalid") // false
26
27
  */
27
28
  export function isZonedBusinessDay(value) {
@@ -1,4 +1,4 @@
1
- import { Temporal } from "@js-temporal/polyfill";
1
+ import { Temporal } from "../../internal/temporal.js";
2
2
  import { isValidZonedDateTime } from "../validate/index.js";
3
3
  import { zonedDateTimeFrom } from "../../internal/index.js";
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { Temporal } from "@js-temporal/polyfill";
1
+ import { Temporal } from "../../internal/temporal.js";
2
2
  import { isValidZonedDateTime } from "../validate/index.js";
3
3
  import { zonedDateTimeFrom } from "../../internal/index.js";
4
4
  /**
@@ -17,8 +17,8 @@
17
17
  * @param offsetDays integer number of days from today in `value`'s own timeZone
18
18
  * @returns true if `value`'s local day is exactly `offsetDays` days from today in its own timeZone, false on invalid input
19
19
  *
20
- * @example isZonedRelativeDay("2024-03-15T10:00:00-04:00[America/New_York]", 0) // true, if today is 2024-03-15 in America/New_York
21
- * @example isZonedRelativeDay("2024-03-14T10:00:00-04:00[America/New_York]", -1) // true, if today is 2024-03-15 in America/New_York
20
+ * @example isZonedRelativeDay("2024-03-15T10:00:00+09:00[Asia/Tokyo]", 0) // true, if today is 2024-03-15 in Asia/Tokyo
21
+ * @example isZonedRelativeDay("2024-03-14T10:00:00+09:00[Asia/Tokyo]", -1) // true, if today is 2024-03-15 in Asia/Tokyo
22
22
  * @example isZonedRelativeDay("2024-03-15T10:00:00+13:00[Pacific/Apia]", 0) // true, when the same instant is "yesterday" in Pacific/Niue
23
23
  * @example isZonedRelativeDay("invalid", 0) // false
24
24
  */
@@ -1,4 +1,4 @@
1
- import { Temporal } from "@js-temporal/polyfill";
1
+ import { Temporal } from "../../internal/temporal.js";
2
2
  import { isValidZonedDateTime } from "../validate/index.js";
3
3
  import { zonedDateTimeFrom } from "../../internal/index.js";
4
4
  /**
@@ -20,8 +20,8 @@ import { zonedDateTimeFrom } from "../../internal/index.js";
20
20
  * @param offsetDays integer number of days from today in `value`'s own timeZone
21
21
  * @returns true if `value`'s local day is exactly `offsetDays` days from today in its own timeZone, false on invalid input
22
22
  *
23
- * @example isZonedRelativeDay("2024-03-15T10:00:00-04:00[America/New_York]", 0) // true, if today is 2024-03-15 in America/New_York
24
- * @example isZonedRelativeDay("2024-03-14T10:00:00-04:00[America/New_York]", -1) // true, if today is 2024-03-15 in America/New_York
23
+ * @example isZonedRelativeDay("2024-03-15T10:00:00+09:00[Asia/Tokyo]", 0) // true, if today is 2024-03-15 in Asia/Tokyo
24
+ * @example isZonedRelativeDay("2024-03-14T10:00:00+09:00[Asia/Tokyo]", -1) // true, if today is 2024-03-15 in Asia/Tokyo
25
25
  * @example isZonedRelativeDay("2024-03-15T10:00:00+13:00[Pacific/Apia]", 0) // true, when the same instant is "yesterday" in Pacific/Niue
26
26
  * @example isZonedRelativeDay("invalid", 0) // false
27
27
  */
@@ -1,4 +1,4 @@
1
- import { Temporal } from "@js-temporal/polyfill";
1
+ import { Temporal } from "../../internal/temporal.js";
2
2
  /**
3
3
  * Return true when `value`'s local calendar day falls in the same `unit` as
4
4
  * today, both resolved in `value`'s own IANA timeZone.
@@ -22,15 +22,15 @@ import { Temporal } from "@js-temporal/polyfill";
22
22
  *
23
23
  * @param value ISO ZonedDateTime string
24
24
  * @param unit date unit to compare by ("year" | "month" | "week" | "day", or its plural)
25
- * @param locale optional BCP 47 locale tag or preference list — sets the "week" start (e.g. "en-US", ["fr-FR", "en-US"])
25
+ * @param locale optional BCP 47 locale tag or preference list — sets the "week" start (e.g. "pt-BR", ["fr-FR", "en-US"])
26
26
  * @returns true if `value`'s local day falls in the same `unit` as today in its own timeZone, false on an unsupported unit or invalid input
27
27
  *
28
- * @example isZonedThisUnit("2024-03-15T10:00:00-04:00[America/New_York]", "month") // true, if today is any day in March 2024 in America/New_York
28
+ * @example isZonedThisUnit("2024-03-15T10:00:00+11:00[Australia/Sydney]", "month") // true, if today is any day in March 2024 in Australia/Sydney
29
29
  * @example isZonedThisUnit("2024-02-26T10:00:00+01:00[Europe/Paris]", "week", "fr-FR") // true, if today is 2024-03-01 in Europe/Paris (same fr-FR Monday-start week)
30
- * @example isZonedThisUnit("2024-03-15T10:00:00-04:00[America/New_York]", "hour" as never) // false (unsupported unit)
30
+ * @example isZonedThisUnit("2024-03-15T10:00:00-03:00[America/Sao_Paulo]", "hour" as never) // false (unsupported unit)
31
31
  * @example isZonedThisUnit("invalid", "month") // false
32
- * @example isZonedThisUnit("2024-03-15T10:00:00-04:00[America/New_York]", "week", "not-a-locale-!!") // false (invalid locale)
33
- * @example isZonedThisUnit("2024-03-15T10:00:00-04:00[America/New_York]", "day", "not-a-locale-!!") // false (invalid locale, for every unit)
34
- * @example isZonedThisUnit("2024-03-15T10:00:00-04:00[America/New_York]", "months") // true, if today is any day in March 2024 in America/New_York
32
+ * @example isZonedThisUnit("2024-03-15T10:00:00-03:00[America/Sao_Paulo]", "week", "not-a-locale-!!") // false (invalid locale)
33
+ * @example isZonedThisUnit("2024-03-15T10:00:00-03:00[America/Sao_Paulo]", "day", "not-a-locale-!!") // false (invalid locale, for every unit)
34
+ * @example isZonedThisUnit("2024-03-15T10:00:00+11:00[Australia/Sydney]", "months") // true, if today is any day in March 2024 in Australia/Sydney
35
35
  */
36
36
  export declare function isZonedThisUnit(value: string, unit: Temporal.SmallestUnit<Temporal.DateUnit>, locale?: string | string[]): boolean;
@@ -1,4 +1,4 @@
1
- import { Temporal } from "@js-temporal/polyfill";
1
+ import { Temporal } from "../../internal/temporal.js";
2
2
  import { getLocaleStartOfWeek } from "../../plain/calculate/getLocaleStartOfWeek.js";
3
3
  import { areDatesEqualBy } from "../../plain/compare/areDatesEqualBy.js";
4
4
  import { isValidDateUnit } from "../../plain/validate/index.js";
@@ -29,16 +29,16 @@ import { resolveLocale } from "../../internal/resolveLocale.js";
29
29
  *
30
30
  * @param value ISO ZonedDateTime string
31
31
  * @param unit date unit to compare by ("year" | "month" | "week" | "day", or its plural)
32
- * @param locale optional BCP 47 locale tag or preference list — sets the "week" start (e.g. "en-US", ["fr-FR", "en-US"])
32
+ * @param locale optional BCP 47 locale tag or preference list — sets the "week" start (e.g. "pt-BR", ["fr-FR", "en-US"])
33
33
  * @returns true if `value`'s local day falls in the same `unit` as today in its own timeZone, false on an unsupported unit or invalid input
34
34
  *
35
- * @example isZonedThisUnit("2024-03-15T10:00:00-04:00[America/New_York]", "month") // true, if today is any day in March 2024 in America/New_York
35
+ * @example isZonedThisUnit("2024-03-15T10:00:00+11:00[Australia/Sydney]", "month") // true, if today is any day in March 2024 in Australia/Sydney
36
36
  * @example isZonedThisUnit("2024-02-26T10:00:00+01:00[Europe/Paris]", "week", "fr-FR") // true, if today is 2024-03-01 in Europe/Paris (same fr-FR Monday-start week)
37
- * @example isZonedThisUnit("2024-03-15T10:00:00-04:00[America/New_York]", "hour" as never) // false (unsupported unit)
37
+ * @example isZonedThisUnit("2024-03-15T10:00:00-03:00[America/Sao_Paulo]", "hour" as never) // false (unsupported unit)
38
38
  * @example isZonedThisUnit("invalid", "month") // false
39
- * @example isZonedThisUnit("2024-03-15T10:00:00-04:00[America/New_York]", "week", "not-a-locale-!!") // false (invalid locale)
40
- * @example isZonedThisUnit("2024-03-15T10:00:00-04:00[America/New_York]", "day", "not-a-locale-!!") // false (invalid locale, for every unit)
41
- * @example isZonedThisUnit("2024-03-15T10:00:00-04:00[America/New_York]", "months") // true, if today is any day in March 2024 in America/New_York
39
+ * @example isZonedThisUnit("2024-03-15T10:00:00-03:00[America/Sao_Paulo]", "week", "not-a-locale-!!") // false (invalid locale)
40
+ * @example isZonedThisUnit("2024-03-15T10:00:00-03:00[America/Sao_Paulo]", "day", "not-a-locale-!!") // false (invalid locale, for every unit)
41
+ * @example isZonedThisUnit("2024-03-15T10:00:00+11:00[Australia/Sydney]", "months") // true, if today is any day in March 2024 in Australia/Sydney
42
42
  */
43
43
  export function isZonedThisUnit(value, unit, locale) {
44
44
  try {
@@ -2,7 +2,7 @@
2
2
  * Return true when `value`'s local calendar day falls on a weekend for `locale`.
3
3
  *
4
4
  * - Uses `Intl.Locale.prototype.weekInfo` to resolve which ISO weekday
5
- * numbers count as "weekend" for the locale (e.g. en-US: Sat/Sun,
5
+ * numbers count as "weekend" for the locale (e.g. en-GB: Sat/Sun,
6
6
  * he-IL/ar-SA: Fri/Sat).
7
7
  * - Checks the ZonedDateTime's own local day of week — no separate timezone
8
8
  * conversion needed, since `value` already carries its IANA timezone.
@@ -14,14 +14,14 @@
14
14
  * default locale, as ECMA-402 `ResolveLocale` requires.
15
15
  *
16
16
  * @param value ISO ZonedDateTime string
17
- * @param locale BCP 47 locale tag (e.g. "en-US", "he-IL"), 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 false
17
+ * @param locale BCP 47 locale tag (e.g. "en-GB", "he-IL"), 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 false
18
18
  * @returns true if `value`'s local day is a weekend day in `locale`, false on invalid input
19
19
  *
20
- * @example isZonedWeekend("2024-02-03T10:00:00-05:00[America/New_York]", "en-US") // true (Saturday)
20
+ * @example isZonedWeekend("2024-02-03T10:00:00+00:00[Europe/London]", "en-GB") // true (Saturday)
21
21
  * @example isZonedWeekend("2024-02-02T10:00:00+02:00[Asia/Jerusalem]", "he-IL") // true (Friday, he-IL weekend is Fri/Sat)
22
22
  * @example isZonedWeekend("2024-02-04T10:00:00+02:00[Asia/Jerusalem]", "he-IL") // false (Sunday)
23
- * @example isZonedWeekend("invalid", "en-US") // false
24
- * @example isZonedWeekend("2024-02-03T10:00:00-05:00[America/New_York]", "not-a-locale-!!") // false
23
+ * @example isZonedWeekend("invalid", "ja-JP") // false
24
+ * @example isZonedWeekend("2024-02-03T10:00:00+09:00[Asia/Tokyo]", "not-a-locale-!!") // false
25
25
  * @example isZonedWeekend("2024-05-17T12:00:00+02:00[Europe/Berlin]", ["ar-EG", "fr-FR"]) // true
26
26
  */
27
27
  export declare function isZonedWeekend(value: string, locale: string | string[]): boolean;
@@ -4,7 +4,7 @@ import { isValidZonedDateTime } from "../validate/index.js";
4
4
  * Return true when `value`'s local calendar day falls on a weekend for `locale`.
5
5
  *
6
6
  * - Uses `Intl.Locale.prototype.weekInfo` to resolve which ISO weekday
7
- * numbers count as "weekend" for the locale (e.g. en-US: Sat/Sun,
7
+ * numbers count as "weekend" for the locale (e.g. en-GB: Sat/Sun,
8
8
  * he-IL/ar-SA: Fri/Sat).
9
9
  * - Checks the ZonedDateTime's own local day of week — no separate timezone
10
10
  * conversion needed, since `value` already carries its IANA timezone.
@@ -16,14 +16,14 @@ import { isValidZonedDateTime } from "../validate/index.js";
16
16
  * default locale, as ECMA-402 `ResolveLocale` requires.
17
17
  *
18
18
  * @param value ISO ZonedDateTime string
19
- * @param locale BCP 47 locale tag (e.g. "en-US", "he-IL"), 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 false
19
+ * @param locale BCP 47 locale tag (e.g. "en-GB", "he-IL"), 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 false
20
20
  * @returns true if `value`'s local day is a weekend day in `locale`, false on invalid input
21
21
  *
22
- * @example isZonedWeekend("2024-02-03T10:00:00-05:00[America/New_York]", "en-US") // true (Saturday)
22
+ * @example isZonedWeekend("2024-02-03T10:00:00+00:00[Europe/London]", "en-GB") // true (Saturday)
23
23
  * @example isZonedWeekend("2024-02-02T10:00:00+02:00[Asia/Jerusalem]", "he-IL") // true (Friday, he-IL weekend is Fri/Sat)
24
24
  * @example isZonedWeekend("2024-02-04T10:00:00+02:00[Asia/Jerusalem]", "he-IL") // false (Sunday)
25
- * @example isZonedWeekend("invalid", "en-US") // false
26
- * @example isZonedWeekend("2024-02-03T10:00:00-05:00[America/New_York]", "not-a-locale-!!") // false
25
+ * @example isZonedWeekend("invalid", "ja-JP") // false
26
+ * @example isZonedWeekend("2024-02-03T10:00:00+09:00[Asia/Tokyo]", "not-a-locale-!!") // false
27
27
  * @example isZonedWeekend("2024-05-17T12:00:00+02:00[Europe/Berlin]", ["ar-EG", "fr-FR"]) // true
28
28
  */
29
29
  export function isZonedWeekend(value, locale) {
@@ -1,4 +1,4 @@
1
- import { Temporal } from "@js-temporal/polyfill";
1
+ import { Temporal } from "../../internal/temporal.js";
2
2
  import type { Disambiguation } from "../../types/index.js";
3
3
  /**
4
4
  * Attach the specified `timeZone` to a plain datetime string and return a zoned ISO 8601 datetime string.
@@ -18,13 +18,13 @@ import type { Disambiguation } from "../../types/index.js";
18
18
  * @param optionsArg optional settings for the precision of the output string and for resolving a DST gap or overlap
19
19
  * @returns zoned ISO 8601 datetime string or "" when invalid
20
20
  *
21
- * @example convertPlainDateTimeToZoned("2024-02-29T14:30:45", "America/New_York") // "2024-02-29T14:30:45.000-05:00[America/New_York]"
21
+ * @example convertPlainDateTimeToZoned("2024-02-29T14:30:45", "Asia/Tokyo") // "2024-02-29T14:30:45.000+09:00[Asia/Tokyo]"
22
22
  * @example convertPlainDateTimeToZoned("2024-02-29T14:30:45.123456789", "UTC") // "2024-02-29T14:30:45.123+00:00[UTC]"
23
23
  * @example convertPlainDateTimeToZoned("2024-02-29T14:30:45.123456789", "UTC", { smallestUnit: "nanoseconds" }) // "2024-02-29T14:30:45.123456789+00:00[UTC]"
24
- * @example convertPlainDateTimeToZoned("invalid", "America/New_York") // ""
25
- * @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)
26
- * @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)
27
- * @example convertPlainDateTimeToZoned("2024-03-10T02:30:00", "America/New_York", { disambiguation: "reject" }) // ""
24
+ * @example convertPlainDateTimeToZoned("invalid", "Asia/Kolkata") // ""
25
+ * @example convertPlainDateTimeToZoned("2024-10-06T02:30:00", "Australia/Sydney", { disambiguation: "earlier" }) // "2024-10-06T01:30:00.000+10:00[Australia/Sydney]" (spring-forward gap)
26
+ * @example convertPlainDateTimeToZoned("2024-10-27T01:30:00", "Europe/London", { disambiguation: "later" }) // "2024-10-27T01:30:00.000+00:00[Europe/London]" (fall-back overlap)
27
+ * @example convertPlainDateTimeToZoned("2024-10-06T02:30:00", "Australia/Sydney", { disambiguation: "reject" }) // ""
28
28
  */
29
29
  export declare function convertPlainDateTimeToZoned(value: string, timeZone: string, optionsArg?: {
30
30
  /**