@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,189 @@
1
+ ---
2
+ name: gmt-intermodal
3
+ description: >
4
+ Intermodal container and freight timing in @northguild/gmt/intermodal — free
5
+ time and demurrage (freeTimeExpiry, chargeableDays, demurrageClock), billing
6
+ deadlines (billingTimeline), bill of lading dates and multimodalETA
7
+ (bolTimestamp), and EDI and event timestamps: UN/EDIFACT DTM, X12 date, time
8
+ and time code readers and writers (parseEdifact*, parseX12*,
9
+ parseX12DateAndTime, x12TimeCodeOffset), EPCIS events (parseEpcisEvent). Every
10
+ tariff term is the caller's. Reads the docs site (llms.txt) and the installed
11
+ package's JSDoc; a routing pointer.
12
+ sources:
13
+ - 'northguild/gmt:apps/dox/src/content/docs/guides/industries/intermodal-bill-of-lading-and-eta.mdx'
14
+ - 'northguild/gmt:apps/dox/src/content/docs/guides/industries/intermodal-billing-deadlines.mdx'
15
+ - 'northguild/gmt:apps/dox/src/content/docs/guides/industries/intermodal-edi-timestamps.mdx'
16
+ - 'northguild/gmt:apps/dox/src/content/docs/guides/industries/intermodal-free-time-and-demurrage.mdx'
17
+ - 'northguild/gmt:packages/gmt/src/intermodal/calculate/index.ts'
18
+ - 'northguild/gmt:packages/gmt/src/intermodal/format/index.ts'
19
+ - 'northguild/gmt:packages/gmt/src/intermodal/parse/index.ts'
20
+ - 'northguild/gmt:packages/gmt/src/intermodal/validate/index.ts'
21
+ - 'northguild/gmt:packages/gmt/src/types/edi.ts'
22
+ - 'northguild/gmt:packages/gmt/src/types/epcis.ts'
23
+ - 'northguild/gmt:packages/gmt/src/types/two-digit-year.ts'
24
+ metadata:
25
+ type: core
26
+ library: '@northguild/gmt'
27
+ library_version: '1.20.0'
28
+ ---
29
+
30
+ # GMT Intermodal
31
+
32
+ Use this skill when the task is container free time and demurrage, billing
33
+ deadlines, bill of lading dates, a multimodal ETA, or reading and writing EDI
34
+ and EPCIS timestamps. The time zone rules it builds on are in the
35
+ `gmt-timezone` skill; leg timing is in the `gmt-transport` skill.
36
+
37
+ ## When to load
38
+
39
+ - The user is working out when a container's free time ends, how many days of
40
+ demurrage or detention are chargeable and for which dates, or which events a
41
+ charge's clock runs between.
42
+ - The user is reading or writing a UN/EDIFACT `DTM` value, an X12 date, time,
43
+ time code or date time period, or a GS1 EPCIS event time, and must know
44
+ whether its offset was stated.
45
+
46
+ ## Core rules
47
+
48
+ 1. **Free time is counted in the terminal's local days; the start day and the
49
+ basis are tariff terms, never defaults.**
50
+ `freeTimeExpiry(clockStart, freeDays, { basis, timeZone, firstDay, calendar? })`
51
+ returns `{ freeTimeStart, lastFreeDay, expiresAt }`: local dates in
52
+ `timeZone`, and the first instant of the day after the last free day.
53
+ `firstDay` (`"eventDay"` | `"nextDay"`) has no default because the two
54
+ differ by a day of charges; `basis: "working"` needs a `BusinessCalendar`
55
+ and returns `null` without one. `chargeableDays(clockStart, clockEnd,
56
+ freeDays, options)` also needs `chargeBasis` (no default): many tariffs
57
+ count both in calendar days; where a tariff grants free time in working
58
+ days the days after it are mostly charged as calendar days, and some
59
+ tariffs charge working days only. It counts the days on or after
60
+ `expiresAt` the half-open dwell touched, lists them as `chargedDates`, and
61
+ splits them into `tiers` bands; `freeDays: 0` is allowed there.
62
+ `demurrageClock(events, scope, { direction, startEvent? })` selects the
63
+ events per leg: import demurrage and storage run discharge (or
64
+ availability) to gate-out, detention gate-out to empty return; export
65
+ demurrage gate-in to loaded, detention empty release to gate-in; `combined`
66
+ runs both as one period. No standard fixes how these days are counted;
67
+ every term is the tariff's.
68
+ 2. **Billing deadlines are dates counted from an anchor, and every window is
69
+ the caller's.** `billingTimeline({ anchorOn, invoiceIssuedOn?,
70
+ requestReceivedOn? }, { issueDays, disputeDays, resolutionDays,
71
+ agreedResolutionOn? })` returns `{ invoiceDeadline, issuedByDeadline,
72
+ disputeDeadline, requestedByDeadline, resolutionDeadline }`. Day zero is
73
+ the anchor and each deadline is `date + days` on the ISO calendar; a date
74
+ is by the deadline when it is on or before it. No window has a default (a
75
+ missing one returns `null`); fields whose input does not exist yet are
76
+ `null`, so an anchor alone is a forecast. The anchor is whatever date the
77
+ caller counts from: the last charged date
78
+ (`chargedDates.at(-1)`), or for a re-bill the issuance date of the invoice
79
+ received. Reduce an instant to the billing party's local date first with
80
+ `convertUtcToPlainDate(instant, { timeZone })`. A request before its
81
+ invoice, or an agreed date before the request, returns `null`. GMT
82
+ computes dates, not liability.
83
+ 3. **A B/L date is a local date; a multimodal ETA keeps transit and dwell
84
+ apart.** `bolTimestamp(value, event, { timeZone })` returns the
85
+ `YYYY-MM-DD` date on the local clock in `timeZone` at the instant `value`:
86
+ DCSA Bill of Lading 3.0 types `issueDate`, `receivedForShipmentDate` and
87
+ `shippedOnBoardDate` as dates with no time or offset. `event` is
88
+ `"issue" | "received" | "shippedOnBoard"`, one per DCSA date field; all
89
+ three render the same way and anything else is `""`. `timeZone` is
90
+ required (no UTC default): the place of issue for `issue`, the loading
91
+ terminal for `received` and `shippedOnBoard`. 21:00 in New York
92
+ is 01:00Z the next day, so the UTC date is wrong. Only the instant is read;
93
+ a zoneless value is `""`. `multimodalETA(legs, { startTimeZone? })` takes
94
+ `scheduleDelivery`'s `Leg[]` and returns `{ eta, totalLegs, totalTransit,
95
+ totalDwell }`: transit is the legs' durations added up, dwell the time
96
+ actually spent at handoffs (a wait for a scheduled departure included; the
97
+ last leg's `dwellAfter` excluded), both with hours as the largest unit, and
98
+ they sum to the elapsed time. Every `scheduleDelivery` rule applies, so a
99
+ missed connection is `null`. An empty array is `{ eta: "", totalLegs: 0,
100
+ totalTransit: "PT0S", totalDwell: "PT0S" }`. Dwell is never estimated.
101
+ 4. **An EDI timestamp is read by the function for its kind of value, and
102
+ nothing the code does not state is guessed.** Each kind has a `parse…`,
103
+ `format…` and `isValid…` function named for it (`parseEdifactDate`,
104
+ `formatEdifactDate`, `isValidEdifactDate`), and `format` is typed to that
105
+ kind's codes. UN/EDIFACT `DTM` (value 2380 against format code 2379):
106
+ `EdifactDate` (`102`), `EdifactTime` (`401`, `402`), `EdifactDateTime`
107
+ (`203`, `204`), `EdifactOffsetDateTime` (`205`, `208`, `303`, `304`),
108
+ `EdifactDatePeriod` (`718`), `EdifactDateTimePeriod` (`719`). X12 (element
109
+ 1251 against qualifier 1250, in `DTP` and `DTM-05`/`06`): `X12Date` (`D8`,
110
+ `DB`), `X12Time` (`TM`, `TS`), `X12DateTime` (`DT`, `RTS`), `X12DateRange`
111
+ (`RD8`, `RD`), `X12DateTimeRange` (`RDT`, `DTS`). `parseX12Time(value)`
112
+ with no `format` reads element 337, tenths and hundredths included
113
+ (`"14300012"` is `"14:30:00.12"`), and `formatX12TimeElement(value, form)`
114
+ writes it in the mask named: `HHMM`, `HHMMSS`, `HHMMSSD` or `HHMMSSDD`
115
+ (`"14:30:00"` under `HHMMSSDD` is `"14300000"`). A parser returns one value:
116
+ `"2024-06-15"`, `"14:30:00"`, `"2024-06-15T14:30:00"`,
117
+ `"2024-06-15T14:30:00+02:00"` (the string `toOffsetInstant` reads), or
118
+ `{ start, end }` for a period or range. The sentinel is `""`, or `null`
119
+ for a period, a range, a zone or a classifier. A period formatter takes
120
+ `(start, end, format)`. No EDI function takes options. X12 freight is
121
+ three calls: `parseX12DateAndTime("20240615", "1430")` is
122
+ `"2024-06-15T14:30:00"` (elements 373 and 337 of `AT7`, `G62` or `DTM`,
123
+ both required), `x12TimeCodeOffset("20")` is `"-05:00"`, and
124
+ `resolveLocal(local, offset)` is `"2024-06-15T19:30:00Z"`. For a code
125
+ held as a plain string, `classifyEdifactDtmFormat`,
126
+ `classifyX12DateTimePeriodFormat` and `classifyX12TimeCode` return
127
+ `{ kind, format }` or `{ kind, timeCode }`, or `null` for a code no
128
+ function reads; testing `kind` narrows the code with no cast.
129
+ `parseEpcisEvent({ eventTime, eventTimeZoneOffset })` returns
130
+ `{ instant, offset, local }`; both fields are required and need not
131
+ agree. Five no-guess rules. (a) An offsetless value never becomes UTC:
132
+ `203`, `204`, `DT`, `RTS` and `parseX12DateAndTime` return a local
133
+ date-time; pass it and an IANA zone to `resolveLocal`. (b) A named X12
134
+ time code is a zone name, not an offset: `x12TimeCodeZone("ES")` is
135
+ `{ zone: "Eastern", daylight: false }` and `ET` has `daylight: null`,
136
+ while `x12TimeCodeOffset` reads `01`–`29`, `UT` and `GM`, and `13`–`24`
137
+ count down (`13` is `-12:00`). Each returns its sentinel for the other's
138
+ codes. (c) The `ZZZ` of `303` and `304` is an offset only: `+02`, `UTC`
139
+ and `GMT` are read, and letters such as `CET` return `""`. (d) A
140
+ two-digit year is not read by any EDI function: `101`, `201`, `202`,
141
+ `206`, `207`, `301`, `302`, `713`, `717`, `D6`, `TT`, `TR`, `RD6` and
142
+ `TU`. Read one with `parseDateWithPattern` or `parseDateTimeWithPattern`,
143
+ a `yy` pattern and `{ yearWindow }`: a start year such as `2000` (a fixed
144
+ window, for stored data) or `"rolling"` (50 years before the current UTC
145
+ year to 49 after). Without `yearWindow` a `yy` pattern returns `""`. (e)
146
+ `209`, `404`, `406`, `TC`, `EH`, `DDT`, `DTD`, `RTM` and `UN` are not
147
+ read: none states one date, time or date-time. A UN/EDIFACT period has no
148
+ hyphen (`2024061520240620` under `718`) and an X12 range has one
149
+ (`20240615-20240620` under `RD8`); a reversed one returns the sentinel.
150
+ Pass a UN/EDIFACT parser the unescaped value (`+02`, not `?+02`). A
151
+ formatter cuts seconds and fractions to its mask and never rounds.
152
+ It writes `ZZZ` as `±HH`, and `+05:30` under `303` or `304` returns `""`:
153
+ use `205` or `208`. Each value validator is true exactly when its parser
154
+ returns a value (`isValidX12DateAndTime(date, time)` for the freight
155
+ pair), and `isValidEdifactDtmFormat`, `isValidX12DateTimePeriodFormat`
156
+ and `isValidX12TimeCode` check a code alone. `isValidEpcisEvent` is
157
+ `isValidEpcisEventTime` and `isValidEpcisTimeZoneOffset` together: the
158
+ `epcisEventTime` regex matches `2024-02-30`, the validator does not.
159
+ 5. **Read the docs site.** This skill is a routing pointer. The map of the
160
+ docs is `https://northguild.dev/gmt/llms.txt`, and each page
161
+ has a `.md` twin that holds its text. The JSDoc ships in the installed
162
+ package: `node_modules/@northguild/gmt/dist/**/*.d.ts`.
163
+
164
+ ## Key functions
165
+
166
+ - **Free time and demurrage**: `freeTimeExpiry`, `chargeableDays`,
167
+ `demurrageClock`
168
+ - **Billing deadlines**: `billingTimeline`
169
+ - **Bill of lading dates and multimodal ETA**: `bolTimestamp`, `multimodalETA`
170
+ - **EDI and event timestamps**: `parseEdifactDate`, `parseEdifactTime`,
171
+ `parseEdifactDateTime`, `parseEdifactOffsetDateTime`,
172
+ `parseEdifactDatePeriod`, `parseEdifactDateTimePeriod`, `parseX12Date`,
173
+ `parseX12Time`, `parseX12DateTime`, `parseX12DateRange`,
174
+ `parseX12DateTimeRange`, `parseX12DateAndTime`, `x12TimeCodeOffset`,
175
+ `x12TimeCodeZone`, `classifyEdifactDtmFormat`,
176
+ `classifyX12DateTimePeriodFormat`, `classifyX12TimeCode`,
177
+ `parseEpcisEvent`; a `format…` and an `isValid…` for each `parseEdifact…`
178
+ kind, for `X12Date`, `X12Time`, `X12DateTime`, `X12DateRange` and
179
+ `X12DateTimeRange`, and for `EpcisEvent`; `formatX12TimeElement`,
180
+ `isValidX12DateAndTime`, `isValidEpcisEventTime`,
181
+ `isValidEpcisTimeZoneOffset`, `isValidEdifactDtmFormat`,
182
+ `isValidX12DateTimePeriodFormat`, `isValidX12TimeCode`
183
+
184
+ ## References
185
+
186
+ - [intermodal reference](https://northguild.dev/gmt/reference/intermodal/)
187
+ - [Docs map for agents (llms.txt)](https://northguild.dev/gmt/llms.txt)
188
+ - [GMT Timezone skill](../gmt-timezone/SKILL.md)
189
+ - [GMT Transport skill](../gmt-transport/SKILL.md)
@@ -3,28 +3,23 @@ name: gmt-timezone
3
3
  description: >
4
4
  Timezone-aware operations — zoned now, zoned formatting, plain↔zoned↔UTC↔Unix
5
5
  conversion, DST disambiguation, toOffsetInstant, classifyLocal/resolveLocal,
6
- real boundaries (startOfZoned/endOfZoned/startOfUnix/endOfUnix), hours in a
7
- local day, floorToZone/bucketRange, calendar-annotated strings, transport legs
8
- (transitTime, etaAtZone, dwellTime, crossingTime, scheduleDelivery), cut-offs
9
- (cutoffAt, cutoffSchedule, isPastCutoff, timeToCutoff), punctuality
10
- (scheduleDeviation, classifyPunctuality, punctualityRate, bestAvailable,
11
- estimateDrift over PLN/EST/REQ/ACT, nextDeparture), free time (freeTimeExpiry,
12
- chargeableDays, demurrageClock), billingTimeline, bolTimestamp, multimodalETA,
13
- EDI timestamps (parseEdifactDateTime, parseX12DateAndTime, x12TimeCodeOffset,
14
- parseEpcisEvent, classify*/format*/isValid*), operating hours
6
+ classifyStoredZoned (why a stored offset+zone string no longer resolves), real
7
+ boundaries (startOfZoned/endOfZoned/startOfUnix/endOfUnix), hours in a local
8
+ day, floorToZone/bucketRange, calendar-annotated strings, operating hours
15
9
  (OperatingSchedule, recurringWindows, operatingIntervals, isOpenAt,
16
10
  nextOpenAt, nextCloseAt, operatingTimeBetween, addOperatingTime), and daylight
17
- time (isInDaylightSaving, hasDaylightSaving).
11
+ time (isInDaylightSaving, hasDaylightSaving). Transport legs, intermodal free
12
+ time and EDI timestamps are in gmt-transport and gmt-intermodal.
18
13
  sources:
19
14
  - 'northguild/gmt:apps/dox/src/content/docs/guides/zoned-date-operations/*.mdx'
20
15
  - 'northguild/gmt:apps/dox/src/content/docs/guides/concepts/dst-disambiguation.md'
21
16
  - 'northguild/gmt:apps/dox/src/content/docs/guides/core-date-operations/operating-hours.mdx'
22
- - 'northguild/gmt:apps/dox/src/content/docs/guides/industries/*.mdx'
23
17
  - 'northguild/gmt:packages/gmt/src/zoned/get/index.ts'
24
18
  - 'northguild/gmt:packages/gmt/src/zoned/format/index.ts'
25
19
  - 'northguild/gmt:packages/gmt/src/zoned/compare/index.ts'
26
20
  - 'northguild/gmt:packages/gmt/src/zoned/convert/index.ts'
27
21
  - 'northguild/gmt:packages/gmt/src/zoned/validate/index.ts'
22
+ - 'northguild/gmt:packages/gmt/src/zoned/classify/index.ts'
28
23
  - 'northguild/gmt:packages/gmt/src/zoned/calculate/addZoned.ts'
29
24
  - 'northguild/gmt:packages/gmt/src/zoned/calculate/startOfZoned.ts'
30
25
  - 'northguild/gmt:packages/gmt/src/zoned/calculate/roundZoned.ts'
@@ -39,21 +34,10 @@ sources:
39
34
  - 'northguild/gmt:packages/gmt/src/calendar/validate/index.ts'
40
35
  - 'northguild/gmt:packages/gmt/src/calendar/hours/index.ts'
41
36
  - 'northguild/gmt:packages/gmt/src/types/operating-schedule.ts'
42
- - 'northguild/gmt:packages/gmt/src/types/transport-timestamps.ts'
43
- - 'northguild/gmt:packages/gmt/src/transport/calculate/index.ts'
44
- - 'northguild/gmt:packages/gmt/src/transport/compare/index.ts'
45
- - 'northguild/gmt:packages/gmt/src/transport/convert/index.ts'
46
- - 'northguild/gmt:packages/gmt/src/intermodal/calculate/index.ts'
47
- - 'northguild/gmt:packages/gmt/src/intermodal/format/index.ts'
48
- - 'northguild/gmt:packages/gmt/src/intermodal/parse/index.ts'
49
- - 'northguild/gmt:packages/gmt/src/intermodal/validate/index.ts'
50
- - 'northguild/gmt:packages/gmt/src/types/edi.ts'
51
- - 'northguild/gmt:packages/gmt/src/types/epcis.ts'
52
- - 'northguild/gmt:packages/gmt/src/types/two-digit-year.ts'
53
37
  metadata:
54
38
  type: core
55
39
  library: '@northguild/gmt'
56
- library_version: '1.19.0'
40
+ library_version: '1.20.0'
57
41
  ---
58
42
 
59
43
  # GMT Timezone
@@ -63,7 +47,7 @@ converting between time zones, or doing arithmetic that must respect DST.
63
47
 
64
48
  ## When to load
65
49
 
66
- - The user needs the current time in a specific timezone (`"America/New_York"`).
50
+ - The user needs the current time in a specific timezone (`"Asia/Tokyo"`).
67
51
  - The user wants to format a datetime with its zone attached.
68
52
  - The user needs to convert a plain datetime to a zoned instant, or between
69
53
  timezones, or between UTC and Unix epochs.
@@ -73,15 +57,6 @@ converting between time zones, or doing arithmetic that must respect DST.
73
57
  - The user needs the start or end of a local hour, day, week, month or quarter.
74
58
  - The user is grouping or aggregating UTC timestamps by local day, hour, week or
75
59
  month — an observability rollup, a chargeable-days count.
76
- - The user is adding a leg's transit time to a departure, showing an arrival in
77
- the zone where it lands, or counting how long cargo, a vessel or a patient sat
78
- somewhere in local calendar days.
79
- - The user is working out when a container's free time ends, how many days of
80
- demurrage or detention are chargeable and for which dates, or which events a
81
- charge's clock runs between.
82
- - The user is reading or writing a UN/EDIFACT `DTM` value, an X12 date, time,
83
- time code or date time period, or a GS1 EPCIS event time, and must know
84
- whether its offset was stated.
85
60
  - The user is asking whether a gate, desk, office or venue is open at an
86
61
  instant, when it next opens or closes, how many working hours passed between
87
62
  two instants, or when an SLA measured in open hours falls due — or is
@@ -89,8 +64,8 @@ converting between time zones, or doing arithmetic that must respect DST.
89
64
 
90
65
  ## Core rules
91
66
 
92
- 1. **Use IANA timezone ids, not raw offsets.** `"2024-03-15T14:30:45[America/New_York]"`
93
- is correct; bare `"-05:00"` loses the zone and can't observe DST rules.
67
+ 1. **Use IANA timezone ids, not raw offsets.** `"2024-03-15T14:30:45[Australia/Sydney]"`
68
+ is correct; bare `"+11:00"` loses the zone and can't observe DST rules.
94
69
  2. **DST disambiguation.** `convertPlainDateTimeToZoned`, `addZoned` and
95
70
  `setZoned` accept `disambiguation` (`"compatible"` | `"earlier"` |
96
71
  `"later"` | `"reject"`) for gap/overlap resolution. On `addZoned`,
@@ -133,6 +108,15 @@ converting between time zones, or doing arithmetic that must respect DST.
133
108
  EDIFACT DTM and DICOM exchange. Its `±HH:MM[:SS]` offset is a valid `timeZone`
134
109
  for `resolveLocal` and every function whose result has no zone in it. One
135
110
  that returns a zoned string or formats with `Intl` takes none with seconds.
111
+ **A stored string can stop agreeing with its zone.**
112
+ `classifyStoredZoned("2016-12-01T09:00:00+02:00[Europe/Istanbul]")` returns
113
+ `kind: "offsetMismatch"` with `storedOffset`, `zoneOffset` and the instant each
114
+ reading gives. The other kinds are `valid`, `validInOverlap`, `ambiguous` and
115
+ `nonexistent`; every one carries `atStoredOffset`, and it returns `null` for a
116
+ string without both an offset and a zone. It picks no reading: your policy
117
+ chooses among those returned. The answer follows the host's time zone rules, so
118
+ the same string can differ between hosts. Import it from
119
+ `@northguild/gmt/zoned/classify`.
136
120
  7. **Bucket in the zone, not in UTC.** `floorToZone(instant, unit, zone)` and
137
121
  `bucketRange(start, end, unit, zone)` floor on the zone's own calendar
138
122
  boundaries. Flooring a UTC instant to a UTC day and calling it a local day is
@@ -155,7 +139,7 @@ converting between time zones, or doing arithmetic that must respect DST.
155
139
  local day.
156
140
  10. **Calendar annotations.** A calendar-annotated zoned string is RFC 9557,
157
141
  `Temporal.ZonedDateTime#toString()`: ISO digits, then `[timeZone]`, then
158
- `[u-ca=<id>]` (`"2024-10-03T14:30:45-04:00[America/New_York][u-ca=hebrew]"`).
142
+ `[u-ca=<id>]` (`"2024-10-03T14:30:45+03:00[Asia/Jerusalem][u-ca=hebrew]"`).
159
143
  A calendar annotation before the zone is rejected. Only `addZoned`, `subtractZoned`,
160
144
  `diffZoned`, `diffZonedAsDuration`, `convertZonedToCalendar`,
161
145
  `isValidCalendarZonedDateTime` and `zoned/interval/*` (including
@@ -189,198 +173,15 @@ converting between time zones, or doing arithmetic that must respect DST.
189
173
  fall-back into the previous date counts that date.
190
174
  13. **Zone names and leap seconds.** Every IANA name is a zone, including
191
175
  single-component links (`Japan`, `Zulu`, `EST5EDT`), in any case.
192
- `toOffsetInstant` returns IANA casing (`"america/new_york"` gives
193
- `"America/New_York"`). `:60` is invalid in every spelling (`T`, `t`, space,
176
+ `toOffsetInstant` returns IANA casing (`"asia/kolkata"` gives
177
+ `"Asia/Kolkata"`). `:60` is invalid in every spelling (`T`, `t`, space,
194
178
  basic format) and every zoned function returns its sentinel for it rather
195
- than reading `:59`.
179
+ than reading `:59`; only `timescale/` and `gnss/` accept a listed one (for `gnss/`, see the `gmt-gnss` skill).
196
180
  14. **A zoned value formats in its own zone.** `formatZonedDateTime`,
197
181
  `formatZonedRange` and `formatZonedToParts` return `""`/`[]` for a
198
182
  `timeZone` option. To show an instant in another zone, use
199
183
  `formatUtc(convertZonedToUtc(value), locale, { timeZone })`.
200
- 15. **Transport legs are exact time; dwell is counted in local days.**
201
- `transitTime(departure, duration)` adds hours, minutes and seconds as
202
- elapsed time (`P1D` is 24 exact hours) in the departure's own zone, so a leg
203
- across a DST transition lands at the wall time the vehicle really arrives;
204
- years, months and weeks return `""`, and a bracketed zone that contradicts
205
- its offset is rejected rather than reinterpreted. `etaAtZone(instant, zone)`
206
- renders a moment in the zone the caller names — no disambiguation arises,
207
- the offset in the result tells the two passes of a fall-back hour apart, and
208
- GMT never resolves a port, airport or station code to a zone.
209
- `dwellTime(entry, exit, targetZone?)` returns `{ duration, enter, exit,
210
- calendarDays }`; `calendarDays` is the number of distinct local dates the
211
- half-open `[entry, exit)` touches, walked across the zone's real transitions
212
- (a skipped date is not counted, a re-entered one only once), and is the
213
- library's one "local days crossed" count.
214
- Bare instants with no `targetZone` return `null`: an offset is not a place.
215
- `crossingTime(entry, exit, targetZone)` returns `{ duration, enter, exit }`
216
- with no day count (a crossing that needs one is a dwell); `targetZone` is
217
- required and always the rendering zone — a bracket on the input never
218
- supplies it.
219
- `scheduleDelivery(legs, { startTimeZone? })` chains legs into `{ eta,
220
- legTimes }`: each leg leaves at its explicit `departure` or at the previous
221
- arrival plus that leg's `dwellAfter`, the minimum connect time. A scheduled
222
- departure earlier than that is a missed connection and returns `null`
223
- (equal passes). A departure is exact (instant or zoned string) or a
224
- zoneless wall time: on the first leg it is read in `startTimeZone`, on a
225
- later leg in the previous leg's `timeZone` (where that leg leaves from),
226
- both with `"compatible"` resolution (ambiguous → earlier, skipped →
227
- later). On a later leg, a repeated hour instead takes the earliest pass
228
- at or after the previous arrival plus its dwell. A
229
- negative leg `duration` is `null`; the last leg's `dwellAfter` is echoed,
230
- never added. `mode`, `origin` and `destination` are opaque tags echoed on
231
- each `LegTime`. An empty array returns `{ eta: "", legTimes: [] }`.
232
- 16. **Cut-offs count back from the caller's event.**
233
- `cutoffAt(anchor, offset, { timeZone, atLocalTime?, calendar?, roll? })`
234
- takes an offset off the anchor (loading, departure or arrival are
235
- different instants; it never guesses which). With `atLocalTime` the
236
- offset's exact part comes off the anchor's instant first, its calendar
237
- part off the local date, and the cut-off is that time of day: `P2D` at
238
- `"17:00"` is 17:00 two days before, not 48 hours. Without it the offset
239
- is `ZonedDateTime#subtract` (`P2D` keeps the wall clock, `PT96H` is 96
240
- exact hours). `calendar` and `roll` go together or not at all — there is
241
- no default roll, as in `rollDate`; either alone is `""`. A repeated hour
242
- takes the first pass (RFC 5545 §3.3.5); a skipped hour is `""`. It does
243
- not check that the cut-off is before the anchor.
244
- `cutoffSchedule(anchor, [{ name, offset, atLocalTime? }], options)`
245
- sorts the stack by instant and returns `[]` if any entry fails.
246
- `isPastCutoff(now, cutoff)` is `true` from the cut-off instant on;
247
- `timeToCutoff(now, cutoff)` is exact hours, `PT0S` at it, negative after.
248
- 17. **Planned versus actual is exact time under the caller's tolerance.**
249
- `scheduleDeviation(planned, actual)` is `actual − planned` in exact hours
250
- (`"PT14M"` late, `"-PT5M"` early; a fall-back delay is `PT1H`, never
251
- `PT0S`). `classifyPunctuality(planned, actual, { late, early? })` returns
252
- `"early" | "onTime" | "late"`, or `null` on invalid input: both edges are
253
- outside (exactly `late` is late), and without `early` every early arrival
254
- is on time. There is no default tolerance; tolerances are exact durations
255
- (a day is 24 hours; years, months, weeks or negative return `null`).
256
- `punctualityRate(pairs, tolerance)` returns `{ onTime, total, rate }`,
257
- judging every pair under a tolerance read once; an empty list or any
258
- invalid pair is `null`. A `TimestampEvent` is `{ classifier: "PLN" |
259
- "EST" | "REQ" | "ACT", at, recordedAt }` (DCSA vocabulary).
260
- `bestAvailable(events)` returns `{ at, classifier }`: `ACT` whenever one
261
- exists, else `PLN`, else `REQ`, else `EST`, newest `recordedAt` within the
262
- class — never an `EST` shown as an actual. `estimateDrift(events, {
263
- tolerance? })` reports first-to-last `EST` drift, `revisions` and
264
- `exceedsTolerance` (strictly greater, either direction; `null` without a
265
- tolerance), and is `null` with fewer than two `EST`s.
266
- `nextDeparture(after, timetable, { minimumConnection? })` returns the
267
- first departure at or after `after + minimumConnection`: a list entry
268
- echoed as written (ready for `scheduleDelivery`'s `departure`), or for
269
- `{ headway, from, to }` (a GTFS `frequencies.txt` row) `from + k × headway`
270
- in the half-open `[from, to)`, written the way `from` was. Every moment
271
- must carry its offset; a wall time without one is `""`.
272
- 18. **Free time is counted in the terminal's local days; the start day and the
273
- basis are tariff terms, never defaults.**
274
- `freeTimeExpiry(clockStart, freeDays, { basis, timeZone, firstDay, calendar? })`
275
- returns `{ freeTimeStart, lastFreeDay, expiresAt }`: local dates in
276
- `timeZone`, and the first instant of the day after the last free day.
277
- `firstDay` (`"eventDay"` | `"nextDay"`) has no default because the two
278
- differ by a day of charges; `basis: "working"` needs a `BusinessCalendar`
279
- and returns `null` without one. `chargeableDays(clockStart, clockEnd,
280
- freeDays, options)` also needs `chargeBasis` (no default): many tariffs
281
- count both in calendar days; where a tariff grants free time in working
282
- days the days after it are mostly charged as calendar days, and some
283
- tariffs charge working days only. It counts the days on or after
284
- `expiresAt` the half-open dwell touched, lists them as `chargedDates`, and
285
- splits them into `tiers` bands; `freeDays: 0` is allowed there.
286
- `demurrageClock(events, scope, { direction, startEvent? })` selects the
287
- events per leg: import demurrage and storage run discharge (or
288
- availability) to gate-out, detention gate-out to empty return; export
289
- demurrage gate-in to loaded, detention empty release to gate-in; `combined`
290
- runs both as one period. No standard fixes how these days are counted;
291
- every term is the tariff's.
292
- 19. **Billing deadlines are dates counted from an anchor, and every window is
293
- the caller's.** `billingTimeline({ anchorOn, invoiceIssuedOn?,
294
- requestReceivedOn? }, { issueDays, disputeDays, resolutionDays,
295
- agreedResolutionOn? })` returns `{ invoiceDeadline, issuedByDeadline,
296
- disputeDeadline, requestedByDeadline, resolutionDeadline }`. Day zero is
297
- the anchor and each deadline is `date + days` on the ISO calendar; a date
298
- is by the deadline when it is on or before it. No window has a default (a
299
- missing one returns `null`); fields whose input does not exist yet are
300
- `null`, so an anchor alone is a forecast. The anchor is whatever date the
301
- caller counts from: the last charged date
302
- (`chargedDates.at(-1)`), or for a re-bill the issuance date of the invoice
303
- received. Reduce an instant to the billing party's local date first with
304
- `convertUtcToPlainDate(instant, { timeZone })`. A request before its
305
- invoice, or an agreed date before the request, returns `null`. GMT
306
- computes dates, not liability.
307
- 20. **A B/L date is a local date; a multimodal ETA keeps transit and dwell
308
- apart.** `bolTimestamp(value, event, { timeZone })` returns the
309
- `YYYY-MM-DD` date on the local clock in `timeZone` at the instant `value`:
310
- DCSA Bill of Lading 3.0 types `issueDate`, `receivedForShipmentDate` and
311
- `shippedOnBoardDate` as dates with no time or offset. `event` is
312
- `"issue" | "received" | "shippedOnBoard"`, one per DCSA date field; all
313
- three render the same way and anything else is `""`. `timeZone` is
314
- required (no UTC default): the place of issue for `issue`, the loading
315
- terminal for `received` and `shippedOnBoard`. 21:00 in New York
316
- is 01:00Z the next day, so the UTC date is wrong. Only the instant is read;
317
- a zoneless value is `""`. `multimodalETA(legs, { startTimeZone? })` takes
318
- `scheduleDelivery`'s `Leg[]` and returns `{ eta, totalLegs, totalTransit,
319
- totalDwell }`: transit is the legs' durations added up, dwell the time
320
- actually spent at handoffs (a wait for a scheduled departure included; the
321
- last leg's `dwellAfter` excluded), both with hours as the largest unit, and
322
- they sum to the elapsed time. Every `scheduleDelivery` rule applies, so a
323
- missed connection is `null`. An empty array is `{ eta: "", totalLegs: 0,
324
- totalTransit: "PT0S", totalDwell: "PT0S" }`. Dwell is never estimated.
325
- 21. **An EDI timestamp is read by the function for its kind of value, and
326
- nothing the code does not state is guessed.** Each kind has a `parse…`,
327
- `format…` and `isValid…` function named for it (`parseEdifactDate`,
328
- `formatEdifactDate`, `isValidEdifactDate`), and `format` is typed to that
329
- kind's codes. UN/EDIFACT `DTM` (value 2380 against format code 2379):
330
- `EdifactDate` (`102`), `EdifactTime` (`401`, `402`), `EdifactDateTime`
331
- (`203`, `204`), `EdifactOffsetDateTime` (`205`, `208`, `303`, `304`),
332
- `EdifactDatePeriod` (`718`), `EdifactDateTimePeriod` (`719`). X12 (element
333
- 1251 against qualifier 1250, in `DTP` and `DTM-05`/`06`): `X12Date` (`D8`,
334
- `DB`), `X12Time` (`TM`, `TS`), `X12DateTime` (`DT`, `RTS`), `X12DateRange`
335
- (`RD8`, `RD`), `X12DateTimeRange` (`RDT`, `DTS`). `parseX12Time(value)`
336
- with no `format` reads element 337, tenths and hundredths included
337
- (`"14300012"` is `"14:30:00.12"`), and `formatX12TimeElement(value, form)`
338
- writes it in the mask named: `HHMM`, `HHMMSS`, `HHMMSSD` or `HHMMSSDD`
339
- (`"14:30:00"` under `HHMMSSDD` is `"14300000"`). A parser returns one value:
340
- `"2024-06-15"`, `"14:30:00"`, `"2024-06-15T14:30:00"`,
341
- `"2024-06-15T14:30:00+02:00"` (the string `toOffsetInstant` reads), or
342
- `{ start, end }` for a period or range. The sentinel is `""`, or `null`
343
- for a period, a range, a zone or a classifier. A period formatter takes
344
- `(start, end, format)`. No EDI function takes options. X12 freight is
345
- three calls: `parseX12DateAndTime("20240615", "1430")` is
346
- `"2024-06-15T14:30:00"` (elements 373 and 337 of `AT7`, `G62` or `DTM`,
347
- both required), `x12TimeCodeOffset("20")` is `"-05:00"`, and
348
- `resolveLocal(local, offset)` is `"2024-06-15T19:30:00Z"`. For a code
349
- held as a plain string, `classifyEdifactDtmFormat`,
350
- `classifyX12DateTimePeriodFormat` and `classifyX12TimeCode` return
351
- `{ kind, format }` or `{ kind, timeCode }`, or `null` for a code no
352
- function reads; testing `kind` narrows the code with no cast.
353
- `parseEpcisEvent({ eventTime, eventTimeZoneOffset })` returns
354
- `{ instant, offset, local }`; both fields are required and need not
355
- agree. Five no-guess rules. (a) An offsetless value never becomes UTC:
356
- `203`, `204`, `DT`, `RTS` and `parseX12DateAndTime` return a local
357
- date-time; pass it and an IANA zone to `resolveLocal`. (b) A named X12
358
- time code is a zone name, not an offset: `x12TimeCodeZone("ES")` is
359
- `{ zone: "Eastern", daylight: false }` and `ET` has `daylight: null`,
360
- while `x12TimeCodeOffset` reads `01`–`29`, `UT` and `GM`, and `13`–`24`
361
- count down (`13` is `-12:00`). Each returns its sentinel for the other's
362
- codes. (c) The `ZZZ` of `303` and `304` is an offset only: `+02`, `UTC`
363
- and `GMT` are read, and letters such as `CET` return `""`. (d) A
364
- two-digit year is not read by any EDI function: `101`, `201`, `202`,
365
- `206`, `207`, `301`, `302`, `713`, `717`, `D6`, `TT`, `TR`, `RD6` and
366
- `TU`. Read one with `parseDateWithPattern` or `parseDateTimeWithPattern`,
367
- a `yy` pattern and `{ yearWindow }`: a start year such as `2000` (a fixed
368
- window, for stored data) or `"rolling"` (50 years before the current UTC
369
- year to 49 after). Without `yearWindow` a `yy` pattern returns `""`. (e)
370
- `209`, `404`, `406`, `TC`, `EH`, `DDT`, `DTD`, `RTM` and `UN` are not
371
- read: none states one date, time or date-time. A UN/EDIFACT period has no
372
- hyphen (`2024061520240620` under `718`) and an X12 range has one
373
- (`20240615-20240620` under `RD8`); a reversed one returns the sentinel.
374
- Pass a UN/EDIFACT parser the unescaped value (`+02`, not `?+02`). A
375
- formatter cuts seconds and fractions to its mask and never rounds.
376
- It writes `ZZZ` as `±HH`, and `+05:30` under `303` or `304` returns `""`:
377
- use `205` or `208`. Each value validator is true exactly when its parser
378
- returns a value (`isValidX12DateAndTime(date, time)` for the freight
379
- pair), and `isValidEdifactDtmFormat`, `isValidX12DateTimePeriodFormat`
380
- and `isValidX12TimeCode` check a code alone. `isValidEpcisEvent` is
381
- `isValidEpcisEventTime` and `isValidEpcisTimeZoneOffset` together: the
382
- `epcisEventTime` regex matches `2024-02-30`, the validator does not.
383
- 22. **Operating hours are local windows resolved in the schedule's zone.** An
184
+ 15. **Operating hours are local windows resolved in the schedule's zone.** An
384
185
  `OperatingSchedule` is `{ timeZone, weekly, holidays?, overrides? }`:
385
186
  `weekly` maps ISO weekdays `1`–`7` to half-open `LocalWindow`s
386
187
  (`{ from: "09:00", to: "17:00" }`); a `to` at or before `from` wraps past
@@ -396,12 +197,11 @@ converting between time zones, or doing arithmetic that must respect DST.
396
197
  `addOperatingTime(start, "PT8H", schedule)` is the SLA deadline. Searches
397
198
  stop at `within` (default `"P1Y"`) and return `""` past it; `P1D` is not
398
199
  open time and returns `""`.
399
- 23. **A zoned string names one instant in every reader.** Temporal writes a
200
+ 16. **A zoned string names one instant in every reader.** Temporal writes a
400
201
  zone's offset rounded to the minute, so a zone with a sub-minute offset
401
202
  (`Africa/Monrovia` stood at −00:44:30 until 1972) is written `-00:45`.
402
203
  Every function that reads a moment (`toNanoseconds`, `spanNs`, `Interval`
403
- endpoints, `floorToZone`, `getTimeZoneOffset`, `scheduleDeviation`,
404
- `timeToCutoff`, `dwellTime`) reads an offset written to the minute as the
204
+ endpoints, `floorToZone`, `getTimeZoneOffset`, and the `transport/` functions that read one) reads an offset written to the minute as the
405
205
  bracketed zone's real offset when it is that offset rounded (TC39
406
206
  `ToTemporalZonedDateTime`, match-minutes):
407
207
  `1960-01-01T00:20:00-00:45[Africa/Monrovia]` is `01:04:30Z`. So a zoned
@@ -409,7 +209,7 @@ converting between time zones, or doing arithmetic that must respect DST.
409
209
  the written offset fixes the instant. A function that reads only the
410
210
  instant does not validate the bracket, and the bracket never supplies its
411
211
  rendering zone. A function that keeps the zone (`isValidZonedDateTime`,
412
- `transitTime`, `toOffsetInstant`, every `zoned/` function, a zoned
212
+ `toOffsetInstant`, every `zoned/` function, a zoned
413
213
  `relativeTo`) rejects a bracket that contradicts the offset, and an offset
414
214
  written with seconds must be the zone's offset exactly:
415
215
  `-00:45:00[Africa/Monrovia]` is invalid, `-00:44:30[Africa/Monrovia]` is
@@ -418,7 +218,7 @@ converting between time zones, or doing arithmetic that must respect DST.
418
218
  (`1952-10-15T23:59:59-11:20[Pacific/Niue]`); write the offset with seconds
419
219
  to name the second. A zoned read refuses a local date of −271821-04-19,
420
220
  which an instant reader accepts; pass that instant in `Z` form.
421
- 24. **Daylight time is read from the zone's clock changes.**
221
+ 17. **Daylight time is read from the zone's clock changes.**
422
222
  `isInDaylightSaving(zoned)` and `hasDaylightSaving(timeZone, { at })`
423
223
  apply one rule, GMT's own definition and not the tz database's daylight
424
224
  flag (no JavaScript API exposes it): daylight time runs from a forward
@@ -437,8 +237,8 @@ converting between time zones, or doing arithmetic that must respect DST.
437
237
  read the runtime's time zone data, so an answer can change when that data
438
238
  does. The JSDoc of `isInDaylightSaving` lists what the rule reads as
439
239
  standard time.
440
- 25. **Read the docs site.** This skill is a routing pointer. The map of the
441
- docs is `https://gmt-dox.northguild.workers.dev/llms.txt`, and each page
240
+ 18. **Read the docs site.** This skill is a routing pointer. The map of the
241
+ docs is `https://northguild.dev/gmt/llms.txt`, and each page
442
242
  has a `.md` twin that holds its text. The JSDoc ships in the installed
443
243
  package: `node_modules/@northguild/gmt/dist/**/*.d.ts`.
444
244
 
@@ -462,37 +262,14 @@ converting between time zones, or doing arithmetic that must respect DST.
462
262
  `getTimeZoneOffset`, `parseTimeZoneFromZoned`
463
263
  - **Offset-preserving instants**: `toOffsetInstant`, `fromOffsetInstant`,
464
264
  `isValidUtcOffset` (the pair's `±HH:MM[:SS]` offset; not `Z`, not `+0530`)
465
- - **Local-time resolution**: `classifyLocal`, `resolveLocal`
265
+ - **Local-time resolution**: `classifyLocal`, `resolveLocal`,
266
+ `classifyStoredZoned`
466
267
  - **Zone-aware buckets**: `floorToZone`, `bucketRange`,
467
268
  `isValidZoneBucketUnit`
468
- - **Transport legs and dwell**: `transitTime`, `etaAtZone`, `dwellTime`,
469
- `crossingTime`, `scheduleDelivery`
470
- - **Cut-offs and deadlines**: `cutoffAt`, `cutoffSchedule`, `isPastCutoff`,
471
- `timeToCutoff`
472
- - **Punctuality and timestamp classes**: `scheduleDeviation`,
473
- `classifyPunctuality`, `punctualityRate`, `bestAvailable`, `estimateDrift`,
474
- `nextDeparture`
475
- - **Free time and demurrage**: `freeTimeExpiry`, `chargeableDays`,
476
- `demurrageClock`
477
- - **Billing deadlines**: `billingTimeline`
478
- - **Bill of lading dates and multimodal ETA**: `bolTimestamp`, `multimodalETA`
479
- - **EDI and event timestamps**: `parseEdifactDate`, `parseEdifactTime`,
480
- `parseEdifactDateTime`, `parseEdifactOffsetDateTime`,
481
- `parseEdifactDatePeriod`, `parseEdifactDateTimePeriod`, `parseX12Date`,
482
- `parseX12Time`, `parseX12DateTime`, `parseX12DateRange`,
483
- `parseX12DateTimeRange`, `parseX12DateAndTime`, `x12TimeCodeOffset`,
484
- `x12TimeCodeZone`, `classifyEdifactDtmFormat`,
485
- `classifyX12DateTimePeriodFormat`, `classifyX12TimeCode`,
486
- `parseEpcisEvent`; a `format…` and an `isValid…` for each `parseEdifact…`
487
- kind, for `X12Date`, `X12Time`, `X12DateTime`, `X12DateRange` and
488
- `X12DateTimeRange`, and for `EpcisEvent`; `formatX12TimeElement`,
489
- `isValidX12DateAndTime`, `isValidEpcisEventTime`,
490
- `isValidEpcisTimeZoneOffset`, `isValidEdifactDtmFormat`,
491
- `isValidX12DateTimePeriodFormat`, `isValidX12TimeCode`
492
269
  - **Operating hours**: `recurringWindows`, `operatingIntervals`, `isOpenAt`,
493
270
  `nextOpenAt`, `nextCloseAt`, `operatingTimeBetween`, `addOperatingTime`
494
271
 
495
272
  ## References
496
273
 
497
- - [Zoned operations guide](https://gmt-dox.northguild.workers.dev/guides/zoned-date-operations/zoned-operations/)
498
- - [DST Disambiguation guide](https://gmt-dox.northguild.workers.dev/guides/concepts/dst-disambiguation/)
274
+ - [Zoned operations guide](https://northguild.dev/gmt/guides/zoned-date-operations/zoned-operations/)
275
+ - [DST Disambiguation guide](https://northguild.dev/gmt/guides/concepts/dst-disambiguation/)