@northguild/gmt 1.16.0 → 1.18.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 (654) hide show
  1. package/README.md +742 -21
  2. package/dist/calendar/calculate/bucketRange.d.ts +3 -3
  3. package/dist/calendar/calculate/bucketRange.js +6 -6
  4. package/dist/calendar/calculate/floorToZone.d.ts +5 -3
  5. package/dist/calendar/calculate/floorToZone.js +6 -5
  6. package/dist/calendar/calculate/getFiscalPeriod.d.ts +21 -8
  7. package/dist/calendar/calculate/getFiscalPeriod.js +9 -8
  8. package/dist/calendar/calculate/getIsoWeekDate.d.ts +10 -5
  9. package/dist/calendar/calculate/getIsoWeekDate.js +1 -5
  10. package/dist/calendar/calculate/getOrdinalDate.d.ts +10 -3
  11. package/dist/calendar/calculate/getOrdinalDate.js +2 -3
  12. package/dist/calendar/calculate/getQuarter.d.ts +21 -9
  13. package/dist/calendar/calculate/getQuarter.js +8 -12
  14. package/dist/calendar/hours/addOperatingTime.d.ts +53 -0
  15. package/dist/calendar/hours/addOperatingTime.js +59 -0
  16. package/dist/calendar/hours/index.d.ts +7 -0
  17. package/dist/calendar/hours/index.js +7 -0
  18. package/dist/calendar/hours/isOpenAt.d.ts +39 -0
  19. package/dist/calendar/hours/isOpenAt.js +44 -0
  20. package/dist/calendar/hours/nextCloseAt.d.ts +49 -0
  21. package/dist/calendar/hours/nextCloseAt.js +51 -0
  22. package/dist/calendar/hours/nextOpenAt.d.ts +45 -0
  23. package/dist/calendar/hours/nextOpenAt.js +47 -0
  24. package/dist/calendar/hours/operatingIntervals.d.ts +43 -0
  25. package/dist/calendar/hours/operatingIntervals.js +52 -0
  26. package/dist/calendar/hours/operatingTimeBetween.d.ts +40 -0
  27. package/dist/calendar/hours/operatingTimeBetween.js +49 -0
  28. package/dist/calendar/hours/recurringWindows.d.ts +61 -0
  29. package/dist/calendar/hours/recurringWindows.js +80 -0
  30. package/dist/calendar/index.d.ts +1 -0
  31. package/dist/calendar/index.js +1 -0
  32. package/dist/duration/calculate/durationAs.d.ts +13 -8
  33. package/dist/duration/calculate/durationAs.js +4 -8
  34. package/dist/duration/compare/compareDurations.d.ts +12 -6
  35. package/dist/duration/compare/compareDurations.js +3 -6
  36. package/dist/duration/format/formatDuration.d.ts +16 -4
  37. package/dist/duration/format/formatDuration.js +4 -5
  38. package/dist/duration/normalize/normalizeDuration.d.ts +39 -14
  39. package/dist/duration/normalize/normalizeDuration.js +6 -15
  40. package/dist/duration/parse/parseDuration.d.ts +21 -3
  41. package/dist/duration/parse/parseDuration.js +1 -3
  42. package/dist/index.d.ts +2 -0
  43. package/dist/index.js +2 -0
  44. package/dist/instant/convert/classifyLocal.d.ts +1 -1
  45. package/dist/instant/convert/classifyLocal.js +1 -1
  46. package/dist/instant/convert/fromOffsetInstant.d.ts +3 -1
  47. package/dist/instant/convert/fromOffsetInstant.js +6 -12
  48. package/dist/instant/convert/resolveLocal.d.ts +12 -7
  49. package/dist/instant/convert/resolveLocal.js +6 -10
  50. package/dist/instant/convert/toOffsetInstant.d.ts +37 -1
  51. package/dist/instant/convert/toOffsetInstant.js +12 -28
  52. package/dist/intermodal/calculate/billingTimeline.d.ts +114 -0
  53. package/dist/intermodal/calculate/billingTimeline.js +168 -0
  54. package/dist/intermodal/calculate/chargeableDays.d.ts +100 -0
  55. package/dist/intermodal/calculate/chargeableDays.js +96 -0
  56. package/dist/intermodal/calculate/demurrageClock.d.ts +102 -0
  57. package/dist/intermodal/calculate/demurrageClock.js +140 -0
  58. package/dist/intermodal/calculate/freeTimeExpiry.d.ts +67 -0
  59. package/dist/intermodal/calculate/freeTimeExpiry.js +82 -0
  60. package/dist/intermodal/calculate/index.d.ts +4 -0
  61. package/dist/intermodal/calculate/index.js +4 -0
  62. package/dist/intermodal/index.d.ts +2 -0
  63. package/dist/intermodal/index.js +3 -0
  64. package/dist/internal/businessCalendar.d.ts +5 -0
  65. package/dist/internal/businessCalendar.js +5 -1
  66. package/dist/internal/cycleFieldValue.d.ts +6 -4
  67. package/dist/internal/cycleFieldValue.js +6 -4
  68. package/dist/internal/daylightTime.d.ts +33 -0
  69. package/dist/internal/daylightTime.js +164 -0
  70. package/dist/internal/durationUntilString.js +4 -3
  71. package/dist/internal/englishCalendarNames.js +1 -2
  72. package/dist/internal/epochNanoseconds.d.ts +2 -0
  73. package/dist/internal/epochNanoseconds.js +2 -0
  74. package/dist/internal/exactDuration.d.ts +37 -0
  75. package/dist/internal/exactDuration.js +64 -0
  76. package/dist/internal/exactMoment.d.ts +72 -0
  77. package/dist/internal/exactMoment.js +114 -0
  78. package/dist/internal/fiscalCalendar.d.ts +4 -3
  79. package/dist/internal/fiscalCalendar.js +4 -3
  80. package/dist/internal/formatCalendarDays.d.ts +2 -2
  81. package/dist/internal/formatRelativeDuration.d.ts +21 -1
  82. package/dist/internal/formatRelativeDuration.js +47 -7
  83. package/dist/internal/freeTimeLedger.d.ts +93 -0
  84. package/dist/internal/freeTimeLedger.js +262 -0
  85. package/dist/internal/index.d.ts +10 -3
  86. package/dist/internal/index.js +10 -3
  87. package/dist/internal/instantFormatOptions.js +2 -1
  88. package/dist/internal/instantNanoseconds.d.ts +75 -9
  89. package/dist/internal/instantNanoseconds.js +192 -11
  90. package/dist/internal/isoStringBody.d.ts +26 -0
  91. package/dist/internal/isoStringBody.js +22 -2
  92. package/dist/internal/joinDateTimeConnector.d.ts +1 -1
  93. package/dist/internal/monthGridWeekRow.d.ts +2 -1
  94. package/dist/internal/monthGridWeekRow.js +2 -1
  95. package/dist/internal/normalizeTimeZone.d.ts +2 -2
  96. package/dist/internal/normalizeTimeZone.js +2 -2
  97. package/dist/internal/operatingSchedule.d.ts +129 -0
  98. package/dist/internal/operatingSchedule.js +668 -0
  99. package/dist/internal/optionOrDefault.d.ts +18 -0
  100. package/dist/internal/optionOrDefault.js +20 -0
  101. package/dist/internal/patternToken.d.ts +2 -2
  102. package/dist/internal/patternToken.js +28 -13
  103. package/dist/internal/plainDateUntil.js +10 -6
  104. package/dist/internal/punctuality.d.ts +38 -0
  105. package/dist/internal/punctuality.js +59 -0
  106. package/dist/internal/readDateTimeFormatOptions.d.ts +30 -0
  107. package/dist/internal/readDateTimeFormatOptions.js +93 -0
  108. package/dist/internal/resolveDurationRelativeTo.d.ts +4 -0
  109. package/dist/internal/resolveDurationRelativeTo.js +11 -1
  110. package/dist/internal/resolveRelativeRounding.d.ts +17 -6
  111. package/dist/internal/resolveRelativeRounding.js +27 -7
  112. package/dist/internal/resolveRelativeUnit.d.ts +30 -0
  113. package/dist/internal/resolveRelativeUnit.js +40 -0
  114. package/dist/internal/splitStep.d.ts +24 -1
  115. package/dist/internal/splitStep.js +34 -2
  116. package/dist/internal/startOrEndOfZoned.js +2 -3
  117. package/dist/internal/temporalCompat/capabilities.d.ts +26 -0
  118. package/dist/internal/temporalCompat/capabilities.js +35 -3
  119. package/dist/internal/temporalCompat/fieldSearch.js +1 -1
  120. package/dist/internal/temporalCompat/index.d.ts +1 -1
  121. package/dist/internal/temporalCompat/index.js +1 -1
  122. package/dist/internal/temporalCompat/repros.d.ts +1 -1
  123. package/dist/internal/temporalCompat/repros.js +157 -0
  124. package/dist/internal/timestampEvents.d.ts +32 -0
  125. package/dist/internal/timestampEvents.js +76 -0
  126. package/dist/internal/utcZonedDateTime.d.ts +5 -2
  127. package/dist/internal/utcZonedDateTime.js +8 -5
  128. package/dist/internal/wallClockAtOffset.d.ts +22 -0
  129. package/dist/internal/wallClockAtOffset.js +26 -0
  130. package/dist/internal/zonedBucket.js +8 -6
  131. package/dist/internal/zonedLocalDates.js +1 -1
  132. package/dist/internal/zonedTransitionSearch.d.ts +27 -0
  133. package/dist/internal/zonedTransitionSearch.js +218 -0
  134. package/dist/internal/zonedWallClock.d.ts +21 -7
  135. package/dist/internal/zonedWallClock.js +87 -18
  136. package/dist/internal/zonedWallClockDifference.js +5 -4
  137. package/dist/internal/zonedWallClockOperations.d.ts +26 -13
  138. package/dist/internal/zonedWallClockOperations.js +87 -34
  139. package/dist/interval/validate/isValidInterval.d.ts +6 -3
  140. package/dist/interval/validate/isValidInterval.js +6 -3
  141. package/dist/plain/calculate/addDate.d.ts +11 -8
  142. package/dist/plain/calculate/addDate.js +5 -8
  143. package/dist/plain/calculate/addDateTime.d.ts +7 -4
  144. package/dist/plain/calculate/addDateTime.js +1 -4
  145. package/dist/plain/calculate/cycleDate.d.ts +16 -7
  146. package/dist/plain/calculate/cycleDate.js +3 -7
  147. package/dist/plain/calculate/cycleDateTime.d.ts +14 -4
  148. package/dist/plain/calculate/cycleDateTime.js +1 -4
  149. package/dist/plain/calculate/cycleTime.d.ts +10 -5
  150. package/dist/plain/calculate/cycleTime.js +3 -5
  151. package/dist/plain/calculate/diffDate.d.ts +1 -1
  152. package/dist/plain/calculate/diffDate.js +1 -1
  153. package/dist/plain/calculate/diffDateAsDuration.d.ts +1 -1
  154. package/dist/plain/calculate/diffDateAsDuration.js +1 -1
  155. package/dist/plain/calculate/diffDateTime.d.ts +1 -1
  156. package/dist/plain/calculate/diffDateTime.js +1 -1
  157. package/dist/plain/calculate/diffDateTimeAsDuration.d.ts +1 -1
  158. package/dist/plain/calculate/diffDateTimeAsDuration.js +1 -1
  159. package/dist/plain/calculate/diffTime.d.ts +1 -1
  160. package/dist/plain/calculate/diffTime.js +1 -1
  161. package/dist/plain/calculate/endOfDate.d.ts +8 -3
  162. package/dist/plain/calculate/endOfDate.js +1 -3
  163. package/dist/plain/calculate/endOfDateTime.d.ts +15 -5
  164. package/dist/plain/calculate/endOfDateTime.js +1 -5
  165. package/dist/plain/calculate/endOfTime.d.ts +8 -2
  166. package/dist/plain/calculate/endOfTime.js +1 -2
  167. package/dist/plain/calculate/getLocaleWeekYear.d.ts +16 -9
  168. package/dist/plain/calculate/getLocaleWeekYear.js +9 -9
  169. package/dist/plain/calculate/getWeekOfMonth.d.ts +7 -4
  170. package/dist/plain/calculate/getWeekOfMonth.js +7 -4
  171. package/dist/plain/calculate/getWeeksInLocaleWeekYear.d.ts +13 -6
  172. package/dist/plain/calculate/getWeeksInLocaleWeekYear.js +6 -6
  173. package/dist/plain/calculate/getWeeksInMonth.d.ts +5 -2
  174. package/dist/plain/calculate/getWeeksInMonth.js +5 -2
  175. package/dist/plain/calculate/nextWeekday.d.ts +7 -3
  176. package/dist/plain/calculate/nextWeekday.js +1 -3
  177. package/dist/plain/calculate/previousWeekday.d.ts +7 -3
  178. package/dist/plain/calculate/previousWeekday.js +1 -3
  179. package/dist/plain/calculate/roundDate.d.ts +20 -7
  180. package/dist/plain/calculate/roundDate.js +3 -10
  181. package/dist/plain/calculate/roundDateTime.d.ts +22 -8
  182. package/dist/plain/calculate/roundDateTime.js +3 -11
  183. package/dist/plain/calculate/roundTime.d.ts +20 -4
  184. package/dist/plain/calculate/roundTime.js +3 -7
  185. package/dist/plain/calculate/setDate.d.ts +7 -5
  186. package/dist/plain/calculate/setDate.js +1 -5
  187. package/dist/plain/calculate/setDateTime.d.ts +8 -5
  188. package/dist/plain/calculate/setDateTime.js +1 -5
  189. package/dist/plain/calculate/setTime.d.ts +10 -6
  190. package/dist/plain/calculate/setTime.js +4 -6
  191. package/dist/plain/calculate/startOfDate.d.ts +8 -2
  192. package/dist/plain/calculate/startOfDate.js +1 -2
  193. package/dist/plain/calculate/startOfDateTime.d.ts +15 -2
  194. package/dist/plain/calculate/startOfDateTime.js +1 -2
  195. package/dist/plain/calculate/startOfTime.d.ts +8 -1
  196. package/dist/plain/calculate/startOfTime.js +1 -1
  197. package/dist/plain/calculate/subtractDate.d.ts +7 -4
  198. package/dist/plain/calculate/subtractDate.js +1 -4
  199. package/dist/plain/calculate/subtractDateTime.d.ts +7 -4
  200. package/dist/plain/calculate/subtractDateTime.js +1 -4
  201. package/dist/plain/compare/areDateTimesEqualBy.d.ts +13 -5
  202. package/dist/plain/compare/areDateTimesEqualBy.js +6 -5
  203. package/dist/plain/compare/areDatesEqualBy.d.ts +15 -6
  204. package/dist/plain/compare/areDatesEqualBy.js +8 -6
  205. package/dist/plain/compare/isBetweenDate.d.ts +13 -2
  206. package/dist/plain/compare/isBetweenDate.js +4 -4
  207. package/dist/plain/compare/isBetweenDateTime.d.ts +13 -2
  208. package/dist/plain/compare/isBetweenDateTime.js +4 -4
  209. package/dist/plain/compare/isBetweenTime.d.ts +13 -2
  210. package/dist/plain/compare/isBetweenTime.js +4 -4
  211. package/dist/plain/compare/isRelativeDay.d.ts +1 -1
  212. package/dist/plain/compare/isRelativeDay.js +1 -1
  213. package/dist/plain/compare/isThisUnit.d.ts +1 -1
  214. package/dist/plain/compare/isThisUnit.js +1 -1
  215. package/dist/plain/format/formatCalendar.d.ts +21 -14
  216. package/dist/plain/format/formatCalendar.js +21 -16
  217. package/dist/plain/format/formatDate.js +5 -3
  218. package/dist/plain/format/formatDateRange.js +4 -2
  219. package/dist/plain/format/formatDateTime.js +4 -2
  220. package/dist/plain/format/formatDateTimeRange.js +4 -2
  221. package/dist/plain/format/formatDateTimeToParts.d.ts +15 -4
  222. package/dist/plain/format/formatDateTimeToParts.js +10 -6
  223. package/dist/plain/format/formatDateToParts.d.ts +13 -2
  224. package/dist/plain/format/formatDateToParts.js +8 -4
  225. package/dist/plain/format/formatRelativeDate.d.ts +16 -3
  226. package/dist/plain/format/formatRelativeDate.js +26 -15
  227. package/dist/plain/format/formatRelativeDateTime.d.ts +16 -3
  228. package/dist/plain/format/formatRelativeDateTime.js +8 -5
  229. package/dist/plain/format/formatRelativeTime.d.ts +16 -3
  230. package/dist/plain/format/formatRelativeTime.js +21 -13
  231. package/dist/plain/format/formatTime.js +4 -2
  232. package/dist/plain/interval/intervalDifferenceDate.d.ts +9 -0
  233. package/dist/plain/interval/intervalDifferenceDateTime.d.ts +9 -0
  234. package/dist/plain/interval/intervalDifferenceTime.d.ts +9 -0
  235. package/dist/plain/interval/intervalDivideEquallyDate.d.ts +19 -4
  236. package/dist/plain/interval/intervalDivideEquallyDate.js +3 -4
  237. package/dist/plain/interval/intervalDivideEquallyDateTime.d.ts +19 -4
  238. package/dist/plain/interval/intervalDivideEquallyDateTime.js +3 -4
  239. package/dist/plain/interval/intervalDivideEquallyTime.d.ts +19 -4
  240. package/dist/plain/interval/intervalDivideEquallyTime.js +3 -4
  241. package/dist/plain/interval/intervalFromDurationDate.d.ts +16 -3
  242. package/dist/plain/interval/intervalFromDurationDate.js +1 -3
  243. package/dist/plain/interval/intervalFromDurationDateTime.d.ts +16 -3
  244. package/dist/plain/interval/intervalFromDurationDateTime.js +1 -3
  245. package/dist/plain/interval/intervalFromDurationTime.d.ts +9 -0
  246. package/dist/plain/interval/intervalIntersectionDate.d.ts +9 -0
  247. package/dist/plain/interval/intervalIntersectionDateTime.d.ts +9 -0
  248. package/dist/plain/interval/intervalIntersectionTime.d.ts +9 -0
  249. package/dist/plain/interval/intervalSplitAtDate.d.ts +11 -0
  250. package/dist/plain/interval/intervalSplitAtDate.js +2 -0
  251. package/dist/plain/interval/intervalSplitAtDateTime.d.ts +11 -0
  252. package/dist/plain/interval/intervalSplitAtDateTime.js +2 -0
  253. package/dist/plain/interval/intervalSplitAtTime.d.ts +11 -0
  254. package/dist/plain/interval/intervalSplitAtTime.js +2 -0
  255. package/dist/plain/interval/intervalUnionDate.d.ts +9 -0
  256. package/dist/plain/interval/intervalUnionDateTime.d.ts +9 -0
  257. package/dist/plain/interval/intervalUnionTime.d.ts +9 -0
  258. package/dist/plain/interval/intervalXorAllDate.d.ts +9 -0
  259. package/dist/plain/interval/intervalXorAllDateTime.d.ts +9 -0
  260. package/dist/plain/interval/intervalXorAllTime.d.ts +9 -0
  261. package/dist/plain/interval/intervalXorDate.d.ts +9 -0
  262. package/dist/plain/interval/intervalXorDateTime.d.ts +9 -0
  263. package/dist/plain/interval/intervalXorTime.d.ts +9 -0
  264. package/dist/plain/interval/mergeIntervalsDate.d.ts +9 -0
  265. package/dist/plain/interval/mergeIntervalsDateTime.d.ts +9 -0
  266. package/dist/plain/interval/mergeIntervalsTime.d.ts +9 -0
  267. package/dist/plain/interval/splitIntervalByUnitDate.d.ts +23 -7
  268. package/dist/plain/interval/splitIntervalByUnitDate.js +7 -7
  269. package/dist/plain/interval/splitIntervalByUnitDateTime.d.ts +22 -6
  270. package/dist/plain/interval/splitIntervalByUnitDateTime.js +6 -6
  271. package/dist/plain/interval/splitIntervalByUnitTime.d.ts +17 -4
  272. package/dist/plain/interval/splitIntervalByUnitTime.js +1 -4
  273. package/dist/plain/map/mapDatesInRange.d.ts +8 -4
  274. package/dist/plain/map/mapDatesInRange.js +1 -4
  275. package/dist/plain/parse/parseDateTimeWithPattern.d.ts +10 -7
  276. package/dist/plain/parse/parseDateTimeWithPattern.js +10 -7
  277. package/dist/plain/parse/parseDateWithPattern.d.ts +10 -7
  278. package/dist/plain/parse/parseDateWithPattern.js +10 -7
  279. package/dist/plain/parse/parseTimeWithPattern.d.ts +10 -7
  280. package/dist/plain/parse/parseTimeWithPattern.js +10 -7
  281. package/dist/plain/parse/parseUnitFromDate.d.ts +11 -3
  282. package/dist/plain/parse/parseUnitFromDate.js +3 -3
  283. package/dist/plain/parse/parseUnitFromDateTime.d.ts +11 -3
  284. package/dist/plain/parse/parseUnitFromDateTime.js +3 -3
  285. package/dist/plain/parse/parseWeekFromDate.d.ts +10 -6
  286. package/dist/plain/parse/parseWeekFromDate.js +2 -6
  287. package/dist/plain/parse/parseWeekFromDateTime.d.ts +10 -6
  288. package/dist/plain/parse/parseWeekFromDateTime.js +2 -6
  289. package/dist/plain/validate/isValidDateRange.d.ts +19 -4
  290. package/dist/plain/validate/isValidDateRange.js +1 -4
  291. package/dist/plain/validate/isValidDateTimeRange.d.ts +20 -5
  292. package/dist/plain/validate/isValidDateTimeRange.js +2 -5
  293. package/dist/plain/validate/isValidTimeRange.d.ts +20 -5
  294. package/dist/plain/validate/isValidTimeRange.js +2 -5
  295. package/dist/precision/convert/fromExcelSerial.d.ts +10 -4
  296. package/dist/precision/convert/fromExcelSerial.js +4 -5
  297. package/dist/precision/convert/fromNanoseconds.d.ts +1 -1
  298. package/dist/precision/convert/fromNanoseconds.js +1 -1
  299. package/dist/precision/convert/toExcelSerial.d.ts +9 -3
  300. package/dist/precision/convert/toExcelSerial.js +3 -4
  301. package/dist/precision/convert/toNanoseconds.d.ts +11 -6
  302. package/dist/precision/convert/toNanoseconds.js +11 -6
  303. package/dist/precision/validate/isValidInstant.d.ts +12 -3
  304. package/dist/precision/validate/isValidInstant.js +12 -3
  305. package/dist/span/calculate/spanMs.d.ts +10 -4
  306. package/dist/span/calculate/spanMs.js +10 -4
  307. package/dist/span/calculate/spanNs.d.ts +10 -4
  308. package/dist/span/calculate/spanNs.js +10 -4
  309. package/dist/span/validate/isValidSpan.d.ts +8 -3
  310. package/dist/span/validate/isValidSpan.js +8 -3
  311. package/dist/transport/calculate/bestAvailable.d.ts +47 -0
  312. package/dist/transport/calculate/bestAvailable.js +76 -0
  313. package/dist/transport/calculate/crossingTime.d.ts +58 -0
  314. package/dist/transport/calculate/crossingTime.js +76 -0
  315. package/dist/transport/calculate/cutoffAt.d.ts +90 -0
  316. package/dist/transport/calculate/cutoffAt.js +209 -0
  317. package/dist/transport/calculate/cutoffSchedule.d.ts +70 -0
  318. package/dist/transport/calculate/cutoffSchedule.js +71 -0
  319. package/dist/transport/calculate/dwellTime.d.ts +81 -0
  320. package/dist/transport/calculate/dwellTime.js +130 -0
  321. package/dist/transport/calculate/estimateDrift.d.ts +65 -0
  322. package/dist/transport/calculate/estimateDrift.js +75 -0
  323. package/dist/transport/calculate/index.d.ts +10 -0
  324. package/dist/transport/calculate/index.js +10 -0
  325. package/dist/transport/calculate/nextDeparture.d.ts +78 -0
  326. package/dist/transport/calculate/nextDeparture.js +131 -0
  327. package/dist/transport/calculate/punctualityRate.d.ts +42 -0
  328. package/dist/transport/calculate/punctualityRate.js +59 -0
  329. package/dist/transport/calculate/scheduleDelivery.d.ts +150 -0
  330. package/dist/transport/calculate/scheduleDelivery.js +300 -0
  331. package/dist/transport/calculate/transitTime.d.ts +71 -0
  332. package/dist/transport/calculate/transitTime.js +101 -0
  333. package/dist/transport/compare/classifyPunctuality.d.ts +46 -0
  334. package/dist/transport/compare/classifyPunctuality.js +64 -0
  335. package/dist/transport/compare/index.d.ts +4 -0
  336. package/dist/transport/compare/index.js +4 -0
  337. package/dist/transport/compare/isPastCutoff.d.ts +33 -0
  338. package/dist/transport/compare/isPastCutoff.js +48 -0
  339. package/dist/transport/compare/scheduleDeviation.d.ts +37 -0
  340. package/dist/transport/compare/scheduleDeviation.js +53 -0
  341. package/dist/transport/compare/timeToCutoff.d.ts +31 -0
  342. package/dist/transport/compare/timeToCutoff.js +47 -0
  343. package/dist/transport/convert/etaAtZone.d.ts +43 -0
  344. package/dist/transport/convert/etaAtZone.js +58 -0
  345. package/dist/transport/convert/index.d.ts +1 -0
  346. package/dist/transport/convert/index.js +1 -0
  347. package/dist/transport/index.d.ts +4 -0
  348. package/dist/transport/index.js +5 -0
  349. package/dist/types/business-calendar.d.ts +19 -14
  350. package/dist/types/calendar-options.d.ts +15 -3
  351. package/dist/types/date-cycle-field.d.ts +5 -0
  352. package/dist/types/date-duration-unit.d.ts +4 -0
  353. package/dist/types/date-time-cycle-field.d.ts +4 -0
  354. package/dist/types/date-time-duration-units.d.ts +4 -0
  355. package/dist/types/date-time-unit.d.ts +4 -0
  356. package/dist/types/date-unit.d.ts +4 -0
  357. package/dist/types/disambiguation.d.ts +8 -0
  358. package/dist/types/duration-relative-to.d.ts +8 -0
  359. package/dist/types/duration-string-options.d.ts +28 -0
  360. package/dist/types/fiscal-calendar.d.ts +1 -1
  361. package/dist/types/fractional-digit.d.ts +5 -0
  362. package/dist/types/free-time-options.d.ts +44 -0
  363. package/dist/types/index.d.ts +3 -1
  364. package/dist/types/index.js +3 -1
  365. package/dist/types/interval.d.ts +8 -1
  366. package/dist/types/offset.d.ts +9 -0
  367. package/dist/types/operating-schedule.d.ts +71 -0
  368. package/dist/types/operating-schedule.js +0 -0
  369. package/dist/types/overflow.d.ts +6 -0
  370. package/dist/types/relative-rounding-method.d.ts +6 -0
  371. package/dist/types/relative-time-options.d.ts +33 -5
  372. package/dist/types/rounding-options.d.ts +27 -0
  373. package/dist/types/time-cycle-field.d.ts +4 -0
  374. package/dist/types/time-duration-unit.d.ts +4 -0
  375. package/dist/types/time-unit.d.ts +4 -0
  376. package/dist/types/transport-timestamps.d.ts +54 -0
  377. package/dist/types/transport-timestamps.js +0 -0
  378. package/dist/unix/calculate/addUnix.d.ts +19 -5
  379. package/dist/unix/calculate/addUnix.js +1 -5
  380. package/dist/unix/calculate/diffUnix.d.ts +13 -3
  381. package/dist/unix/calculate/diffUnix.js +1 -3
  382. package/dist/unix/calculate/diffUnixAsDuration.d.ts +13 -3
  383. package/dist/unix/calculate/diffUnixAsDuration.js +1 -3
  384. package/dist/unix/calculate/endOfQuarterForUnix.d.ts +13 -3
  385. package/dist/unix/calculate/endOfQuarterForUnix.js +1 -3
  386. package/dist/unix/calculate/endOfUnix.d.ts +20 -4
  387. package/dist/unix/calculate/endOfUnix.js +1 -4
  388. package/dist/unix/calculate/isBetweenUnix.d.ts +26 -4
  389. package/dist/unix/calculate/isBetweenUnix.js +4 -6
  390. package/dist/unix/calculate/roundUnix.d.ts +31 -3
  391. package/dist/unix/calculate/roundUnix.js +3 -6
  392. package/dist/unix/calculate/setUnix.d.ts +35 -9
  393. package/dist/unix/calculate/setUnix.js +4 -13
  394. package/dist/unix/calculate/startOfQuarterForUnix.d.ts +13 -3
  395. package/dist/unix/calculate/startOfQuarterForUnix.js +1 -3
  396. package/dist/unix/calculate/startOfUnix.d.ts +20 -4
  397. package/dist/unix/calculate/startOfUnix.js +1 -4
  398. package/dist/unix/calculate/subtractUnix.d.ts +19 -5
  399. package/dist/unix/calculate/subtractUnix.js +1 -5
  400. package/dist/unix/compare/areUnixEqual.d.ts +7 -1
  401. package/dist/unix/compare/areUnixEqual.js +1 -1
  402. package/dist/unix/compare/areUnixEqualBy.d.ts +24 -7
  403. package/dist/unix/compare/areUnixEqualBy.js +13 -9
  404. package/dist/unix/compare/isAfterUnix.d.ts +7 -1
  405. package/dist/unix/compare/isAfterUnix.js +1 -1
  406. package/dist/unix/compare/isBeforeUnix.d.ts +7 -1
  407. package/dist/unix/compare/isBeforeUnix.js +1 -1
  408. package/dist/unix/convert/convertUnixToPlainDate.d.ts +14 -4
  409. package/dist/unix/convert/convertUnixToPlainDate.js +2 -4
  410. package/dist/unix/convert/convertUnixToPlainDateTime.d.ts +14 -4
  411. package/dist/unix/convert/convertUnixToPlainDateTime.js +2 -4
  412. package/dist/unix/convert/convertUnixToPlainTime.d.ts +14 -4
  413. package/dist/unix/convert/convertUnixToPlainTime.js +2 -4
  414. package/dist/unix/convert/convertUnixToUtc.d.ts +9 -4
  415. package/dist/unix/convert/convertUnixToUtc.js +3 -4
  416. package/dist/unix/convert/convertUnixToZoned.d.ts +10 -5
  417. package/dist/unix/convert/convertUnixToZoned.js +4 -5
  418. package/dist/unix/format/formatCalendarUnix.d.ts +27 -19
  419. package/dist/unix/format/formatCalendarUnix.js +4 -5
  420. package/dist/unix/format/formatRelativeUnix.d.ts +54 -5
  421. package/dist/unix/format/formatRelativeUnix.js +3 -5
  422. package/dist/unix/format/formatUnix.d.ts +24 -6
  423. package/dist/unix/format/formatUnix.js +8 -7
  424. package/dist/unix/get/getUnixNow.d.ts +8 -3
  425. package/dist/unix/get/getUnixNow.js +1 -3
  426. package/dist/unix/interval/intervalCountUnix.d.ts +14 -5
  427. package/dist/unix/interval/intervalCountUnix.js +2 -5
  428. package/dist/unix/interval/intervalDifferenceUnix.d.ts +6 -0
  429. package/dist/unix/interval/intervalDivideEquallyUnix.d.ts +18 -4
  430. package/dist/unix/interval/intervalDivideEquallyUnix.js +5 -4
  431. package/dist/unix/interval/intervalFromDurationUnix.d.ts +33 -5
  432. package/dist/unix/interval/intervalFromDurationUnix.js +6 -5
  433. package/dist/unix/interval/intervalIntersectionUnix.d.ts +6 -0
  434. package/dist/unix/interval/intervalLengthUnix.d.ts +16 -6
  435. package/dist/unix/interval/intervalLengthUnix.js +4 -6
  436. package/dist/unix/interval/intervalOverlappingDaysUnix.d.ts +13 -3
  437. package/dist/unix/interval/intervalOverlappingDaysUnix.js +1 -3
  438. package/dist/unix/interval/intervalSplitAtUnix.d.ts +8 -0
  439. package/dist/unix/interval/intervalSplitAtUnix.js +2 -0
  440. package/dist/unix/interval/intervalUnionUnix.d.ts +6 -0
  441. package/dist/unix/interval/intervalXorAllUnix.d.ts +6 -0
  442. package/dist/unix/interval/intervalXorUnix.d.ts +6 -0
  443. package/dist/unix/interval/mergeIntervalsUnix.d.ts +6 -0
  444. package/dist/unix/interval/splitIntervalByUnitUnix.d.ts +42 -11
  445. package/dist/unix/interval/splitIntervalByUnitUnix.js +21 -16
  446. package/dist/unix/parse/parseDateFromUnix.d.ts +13 -2
  447. package/dist/unix/parse/parseDateFromUnix.js +1 -2
  448. package/dist/unix/parse/parseDayFromUnix.d.ts +14 -2
  449. package/dist/unix/parse/parseDayFromUnix.js +2 -2
  450. package/dist/unix/parse/parseDayOfWeekFromUnix.d.ts +13 -1
  451. package/dist/unix/parse/parseDayOfWeekFromUnix.js +1 -1
  452. package/dist/unix/parse/parseHourFromUnix.d.ts +14 -2
  453. package/dist/unix/parse/parseHourFromUnix.js +2 -2
  454. package/dist/unix/parse/parseMicrosecondFromUnix.d.ts +14 -2
  455. package/dist/unix/parse/parseMicrosecondFromUnix.js +2 -2
  456. package/dist/unix/parse/parseMillisecondFromUnix.d.ts +14 -2
  457. package/dist/unix/parse/parseMillisecondFromUnix.js +2 -2
  458. package/dist/unix/parse/parseMinuteFromUnix.d.ts +14 -2
  459. package/dist/unix/parse/parseMinuteFromUnix.js +2 -2
  460. package/dist/unix/parse/parseMonthFromUnix.d.ts +14 -2
  461. package/dist/unix/parse/parseMonthFromUnix.js +2 -2
  462. package/dist/unix/parse/parseNanosecondFromUnix.d.ts +14 -2
  463. package/dist/unix/parse/parseNanosecondFromUnix.js +2 -2
  464. package/dist/unix/parse/parseSecondFromUnix.d.ts +14 -2
  465. package/dist/unix/parse/parseSecondFromUnix.js +2 -2
  466. package/dist/unix/parse/parseTimeFromUnix.d.ts +13 -2
  467. package/dist/unix/parse/parseTimeFromUnix.js +1 -2
  468. package/dist/unix/parse/parseUnitFromUnix.d.ts +22 -3
  469. package/dist/unix/parse/parseUnitFromUnix.js +2 -3
  470. package/dist/unix/parse/parseWeekFromUnix.d.ts +23 -7
  471. package/dist/unix/parse/parseWeekFromUnix.js +3 -7
  472. package/dist/unix/parse/parseYearFromUnix.d.ts +14 -2
  473. package/dist/unix/parse/parseYearFromUnix.js +2 -2
  474. package/dist/unix/validate/isValidUnixRange.d.ts +20 -4
  475. package/dist/unix/validate/isValidUnixRange.js +1 -4
  476. package/dist/utc/calculate/addUtc.d.ts +7 -4
  477. package/dist/utc/calculate/addUtc.js +1 -4
  478. package/dist/utc/calculate/diffUtc.d.ts +1 -1
  479. package/dist/utc/calculate/diffUtc.js +1 -1
  480. package/dist/utc/calculate/diffUtcAsDuration.d.ts +1 -1
  481. package/dist/utc/calculate/diffUtcAsDuration.js +1 -1
  482. package/dist/utc/calculate/endOfUtc.d.ts +16 -3
  483. package/dist/utc/calculate/endOfUtc.js +2 -3
  484. package/dist/utc/calculate/isBetweenUtc.d.ts +13 -2
  485. package/dist/utc/calculate/isBetweenUtc.js +4 -4
  486. package/dist/utc/calculate/roundUtc.d.ts +26 -9
  487. package/dist/utc/calculate/roundUtc.js +3 -12
  488. package/dist/utc/calculate/setUtc.d.ts +7 -4
  489. package/dist/utc/calculate/setUtc.js +1 -4
  490. package/dist/utc/calculate/startOfUtc.d.ts +15 -2
  491. package/dist/utc/calculate/startOfUtc.js +1 -2
  492. package/dist/utc/calculate/subtractUtc.d.ts +7 -4
  493. package/dist/utc/calculate/subtractUtc.js +1 -4
  494. package/dist/utc/compare/areUtcEqualBy.d.ts +9 -3
  495. package/dist/utc/compare/areUtcEqualBy.js +2 -3
  496. package/dist/utc/convert/convertUtcToPlainDate.d.ts +8 -3
  497. package/dist/utc/convert/convertUtcToPlainDate.js +5 -6
  498. package/dist/utc/convert/convertUtcToPlainDateTime.d.ts +8 -3
  499. package/dist/utc/convert/convertUtcToPlainDateTime.js +5 -6
  500. package/dist/utc/convert/convertUtcToPlainTime.d.ts +8 -3
  501. package/dist/utc/convert/convertUtcToPlainTime.js +5 -6
  502. package/dist/utc/convert/convertUtcToUnix.d.ts +9 -4
  503. package/dist/utc/convert/convertUtcToUnix.js +3 -4
  504. package/dist/utc/convert/convertUtcToZoned.d.ts +1 -1
  505. package/dist/utc/convert/convertUtcToZoned.js +1 -1
  506. package/dist/utc/format/formatCalendarUtc.d.ts +19 -8
  507. package/dist/utc/format/formatCalendarUtc.js +8 -6
  508. package/dist/utc/format/formatHttp.d.ts +1 -1
  509. package/dist/utc/format/formatHttp.js +1 -1
  510. package/dist/utc/format/formatRelativeUtc.d.ts +30 -10
  511. package/dist/utc/format/formatRelativeUtc.js +9 -11
  512. package/dist/utc/format/formatUtc.d.ts +17 -15
  513. package/dist/utc/format/formatUtc.js +8 -8
  514. package/dist/utc/interval/intervalDifferenceUtc.d.ts +6 -0
  515. package/dist/utc/interval/intervalDivideEquallyUtc.d.ts +18 -4
  516. package/dist/utc/interval/intervalDivideEquallyUtc.js +5 -4
  517. package/dist/utc/interval/intervalFromDurationUtc.d.ts +13 -3
  518. package/dist/utc/interval/intervalFromDurationUtc.js +1 -3
  519. package/dist/utc/interval/intervalIntersectionUtc.d.ts +6 -0
  520. package/dist/utc/interval/intervalSplitAtUtc.d.ts +8 -0
  521. package/dist/utc/interval/intervalSplitAtUtc.js +2 -0
  522. package/dist/utc/interval/intervalUnionUtc.d.ts +6 -0
  523. package/dist/utc/interval/intervalXorAllUtc.d.ts +6 -0
  524. package/dist/utc/interval/intervalXorUtc.d.ts +6 -0
  525. package/dist/utc/interval/mergeIntervalsUtc.d.ts +6 -0
  526. package/dist/utc/interval/splitIntervalByUnitUtc.d.ts +19 -6
  527. package/dist/utc/interval/splitIntervalByUnitUtc.js +6 -6
  528. package/dist/utc/parse/parseDateFromUtc.d.ts +7 -3
  529. package/dist/utc/parse/parseDateFromUtc.js +1 -3
  530. package/dist/utc/parse/parseDayFromUtc.d.ts +7 -3
  531. package/dist/utc/parse/parseDayFromUtc.js +1 -3
  532. package/dist/utc/parse/parseDayOfWeekFromUtc.d.ts +7 -3
  533. package/dist/utc/parse/parseDayOfWeekFromUtc.js +4 -6
  534. package/dist/utc/parse/parseHourFromUtc.d.ts +7 -3
  535. package/dist/utc/parse/parseHourFromUtc.js +1 -3
  536. package/dist/utc/parse/parseHttp.d.ts +1 -1
  537. package/dist/utc/parse/parseHttp.js +1 -1
  538. package/dist/utc/parse/parseMicrosecondFromUtc.d.ts +7 -3
  539. package/dist/utc/parse/parseMicrosecondFromUtc.js +1 -3
  540. package/dist/utc/parse/parseMillisecondFromUtc.d.ts +7 -3
  541. package/dist/utc/parse/parseMillisecondFromUtc.js +1 -3
  542. package/dist/utc/parse/parseMinuteFromUtc.d.ts +7 -3
  543. package/dist/utc/parse/parseMinuteFromUtc.js +1 -3
  544. package/dist/utc/parse/parseMonthFromUtc.d.ts +7 -3
  545. package/dist/utc/parse/parseMonthFromUtc.js +1 -3
  546. package/dist/utc/parse/parseNanosecondFromUtc.d.ts +7 -3
  547. package/dist/utc/parse/parseNanosecondFromUtc.js +1 -3
  548. package/dist/utc/parse/parseSecondFromUtc.d.ts +7 -3
  549. package/dist/utc/parse/parseSecondFromUtc.js +1 -3
  550. package/dist/utc/parse/parseTimeFromUtc.d.ts +8 -3
  551. package/dist/utc/parse/parseTimeFromUtc.js +5 -6
  552. package/dist/utc/parse/parseUnitFromUtc.d.ts +17 -5
  553. package/dist/utc/parse/parseUnitFromUtc.js +6 -8
  554. package/dist/utc/parse/parseWeekFromUtc.d.ts +18 -10
  555. package/dist/utc/parse/parseWeekFromUtc.js +7 -13
  556. package/dist/utc/parse/parseYearFromUtc.d.ts +7 -3
  557. package/dist/utc/parse/parseYearFromUtc.js +1 -3
  558. package/dist/utc/validate/isValidUtcRange.d.ts +16 -5
  559. package/dist/utc/validate/isValidUtcRange.js +2 -5
  560. package/dist/zoned/calculate/addZoned.d.ts +20 -10
  561. package/dist/zoned/calculate/addZoned.js +6 -13
  562. package/dist/zoned/calculate/cycleZoned.d.ts +33 -8
  563. package/dist/zoned/calculate/cycleZoned.js +1 -8
  564. package/dist/zoned/calculate/diffZoned.d.ts +1 -1
  565. package/dist/zoned/calculate/diffZoned.js +1 -1
  566. package/dist/zoned/calculate/diffZonedAsDuration.d.ts +1 -1
  567. package/dist/zoned/calculate/diffZonedAsDuration.js +1 -1
  568. package/dist/zoned/calculate/endOfQuarterForZoned.d.ts +9 -2
  569. package/dist/zoned/calculate/endOfQuarterForZoned.js +4 -5
  570. package/dist/zoned/calculate/endOfZoned.d.ts +16 -3
  571. package/dist/zoned/calculate/endOfZoned.js +2 -3
  572. package/dist/zoned/calculate/getLocaleZonedEndOfWeek.d.ts +10 -3
  573. package/dist/zoned/calculate/getLocaleZonedEndOfWeek.js +5 -6
  574. package/dist/zoned/calculate/getLocaleZonedStartOfWeek.d.ts +7 -1
  575. package/dist/zoned/calculate/getLocaleZonedStartOfWeek.js +3 -4
  576. package/dist/zoned/calculate/roundZoned.d.ts +21 -4
  577. package/dist/zoned/calculate/roundZoned.js +3 -7
  578. package/dist/zoned/calculate/setZoned.d.ts +25 -8
  579. package/dist/zoned/calculate/setZoned.js +4 -12
  580. package/dist/zoned/calculate/startOfQuarterForZoned.d.ts +7 -2
  581. package/dist/zoned/calculate/startOfQuarterForZoned.js +3 -5
  582. package/dist/zoned/calculate/startOfZoned.d.ts +15 -3
  583. package/dist/zoned/calculate/startOfZoned.js +1 -3
  584. package/dist/zoned/calculate/subtractZoned.d.ts +20 -10
  585. package/dist/zoned/calculate/subtractZoned.js +6 -13
  586. package/dist/zoned/compare/areZonedEqualBy.d.ts +14 -5
  587. package/dist/zoned/compare/areZonedEqualBy.js +7 -5
  588. package/dist/zoned/compare/isBetweenZoned.d.ts +13 -1
  589. package/dist/zoned/compare/isBetweenZoned.js +4 -3
  590. package/dist/zoned/compare/isInDaylightSaving.d.ts +38 -11
  591. package/dist/zoned/compare/isInDaylightSaving.js +40 -44
  592. package/dist/zoned/convert/convertPlainDateTimeToZoned.d.ts +18 -5
  593. package/dist/zoned/convert/convertPlainDateTimeToZoned.js +6 -11
  594. package/dist/zoned/convert/convertZonedToUnix.d.ts +9 -4
  595. package/dist/zoned/convert/convertZonedToUnix.js +2 -4
  596. package/dist/zoned/convert/convertZonedToZoned.d.ts +1 -1
  597. package/dist/zoned/convert/convertZonedToZoned.js +1 -1
  598. package/dist/zoned/format/formatCalendarZoned.d.ts +18 -12
  599. package/dist/zoned/format/formatCalendarZoned.js +13 -9
  600. package/dist/zoned/format/formatRelativeZoned.d.ts +41 -12
  601. package/dist/zoned/format/formatRelativeZoned.js +7 -4
  602. package/dist/zoned/format/formatRfc2822.d.ts +2 -2
  603. package/dist/zoned/format/formatRfc2822.js +2 -2
  604. package/dist/zoned/format/formatRfc3339.d.ts +2 -3
  605. package/dist/zoned/format/formatRfc3339.js +2 -3
  606. package/dist/zoned/format/formatTimeZoneName.d.ts +12 -3
  607. package/dist/zoned/format/formatTimeZoneName.js +5 -4
  608. package/dist/zoned/format/formatZonedDateTime.js +2 -1
  609. package/dist/zoned/format/formatZonedRange.js +2 -1
  610. package/dist/zoned/format/formatZonedToParts.d.ts +15 -4
  611. package/dist/zoned/format/formatZonedToParts.js +8 -5
  612. package/dist/zoned/get/getDstTransitions.d.ts +9 -10
  613. package/dist/zoned/get/getDstTransitions.js +12 -3
  614. package/dist/zoned/get/getTimeZoneOffset.d.ts +4 -1
  615. package/dist/zoned/get/getTimeZoneOffset.js +6 -3
  616. package/dist/zoned/get/getZonedNow.d.ts +13 -1
  617. package/dist/zoned/get/getZonedNow.js +12 -3
  618. package/dist/zoned/interval/intervalDifferenceZoned.d.ts +9 -0
  619. package/dist/zoned/interval/intervalDivideEquallyZoned.d.ts +22 -4
  620. package/dist/zoned/interval/intervalDivideEquallyZoned.js +6 -4
  621. package/dist/zoned/interval/intervalFromDurationZoned.d.ts +29 -10
  622. package/dist/zoned/interval/intervalFromDurationZoned.js +6 -13
  623. package/dist/zoned/interval/intervalIntersectionZoned.d.ts +9 -0
  624. package/dist/zoned/interval/intervalSplitAtZoned.d.ts +11 -0
  625. package/dist/zoned/interval/intervalSplitAtZoned.js +2 -0
  626. package/dist/zoned/interval/intervalUnionZoned.d.ts +9 -0
  627. package/dist/zoned/interval/intervalXorAllZoned.d.ts +9 -0
  628. package/dist/zoned/interval/intervalXorZoned.d.ts +9 -0
  629. package/dist/zoned/interval/mergeIntervalsZoned.d.ts +9 -0
  630. package/dist/zoned/interval/splitIntervalByUnitZoned.d.ts +27 -6
  631. package/dist/zoned/interval/splitIntervalByUnitZoned.js +11 -6
  632. package/dist/zoned/map/mapZonedDatesInRange.d.ts +9 -4
  633. package/dist/zoned/map/mapZonedDatesInRange.js +2 -4
  634. package/dist/zoned/parse/parseRfc2822.d.ts +1 -1
  635. package/dist/zoned/parse/parseRfc2822.js +1 -1
  636. package/dist/zoned/parse/parseUnitFromZoned.d.ts +9 -3
  637. package/dist/zoned/parse/parseUnitFromZoned.js +1 -3
  638. package/dist/zoned/parse/parseWeekFromZoned.d.ts +10 -3
  639. package/dist/zoned/parse/parseWeekFromZoned.js +2 -3
  640. package/dist/zoned/validate/hasDaylightSaving.d.ts +42 -11
  641. package/dist/zoned/validate/hasDaylightSaving.js +47 -31
  642. package/dist/zoned/validate/isValidZonedDateTime.d.ts +13 -0
  643. package/dist/zoned/validate/isValidZonedDateTime.js +14 -1
  644. package/dist/zoned/validate/isValidZonedRange.d.ts +15 -4
  645. package/dist/zoned/validate/isValidZonedRange.js +1 -4
  646. package/package.json +53 -5
  647. package/skills/gmt-arithmetic/SKILL.md +1 -1
  648. package/skills/gmt-basics/SKILL.md +10 -1
  649. package/skills/gmt-integration/SKILL.md +10 -5
  650. package/skills/gmt-timezone/SKILL.md +210 -14
  651. package/dist/internal/resolveReadingTimeZone.d.ts +0 -11
  652. package/dist/internal/resolveReadingTimeZone.js +0 -18
  653. package/dist/types/duration-unit.d.ts +0 -5
  654. /package/dist/types/{duration-unit.js → free-time-options.js} +0 -0
@@ -11,12 +11,13 @@ export * from "./datetime-format-options.js";
11
11
  export * from "./disambiguation.js";
12
12
  export * from "./duration-relative-to.js";
13
13
  export * from "./duration-string-options.js";
14
- export * from "./duration-unit.js";
15
14
  export * from "./fiscal-calendar.js";
16
15
  export * from "./fractional-digit.js";
16
+ export * from "./free-time-options.js";
17
17
  export * from "./interval.js";
18
18
  export * from "./now-unit.js";
19
19
  export * from "./offset.js";
20
+ export * from "./operating-schedule.js";
20
21
  export * from "./overflow.js";
21
22
  export * from "./relative-date-time-unit.js";
22
23
  export * from "./relative-date-unit.js";
@@ -29,6 +30,7 @@ export * from "./rounding-options.js";
29
30
  export * from "./time-cycle-field.js";
30
31
  export * from "./time-duration-unit.js";
31
32
  export * from "./time-unit.js";
33
+ export * from "./transport-timestamps.js";
32
34
  export * from "./unix-now-unit.js";
33
35
  export * from "./utc-now-unit.js";
34
36
  export * from "./zone-bucket-unit.js";
@@ -5,7 +5,9 @@
5
5
  * RFC 5545 `DTEND` is non-inclusive). Intervals that touch share no instant.
6
6
  * - Both endpoints are instants: an offset (`Z`, `±HH:MM`) is required, a bracketed IANA zone is
7
7
  * optional, and the two may name different zones. Leap seconds are rejected; a `[u-ca=...]`
8
- * annotation is ignored, as `Temporal.Instant.from` ignores it.
8
+ * annotation is ignored, as `Temporal.Instant.from` ignores it. The offset fixes the instant;
9
+ * an offset written to the minute that is the bracketed zone's sub-minute offset rounded
10
+ * (`-00:45[Africa/Monrovia]`, for −00:44:30) names the instant the zone gives.
9
11
  * - `start === end` (as instants) is a valid, empty interval: it has a position but contains no
10
12
  * instant. `start` after `end` is invalid.
11
13
  *
@@ -13,6 +15,11 @@
13
15
  * `plain|utc|zoned|unix/interval` functions take positional strings and a different model.
14
16
  */
15
17
  export type Interval = {
18
+ /** The first instant inside the interval, as an ISO 8601 instant string with an offset. */
16
19
  start: string;
20
+ /**
21
+ * The first instant after the interval, as an ISO 8601 instant string with an offset; it is
22
+ * not itself inside. It may equal `start`, which makes the interval empty, but not precede it.
23
+ */
17
24
  end: string;
18
25
  };
@@ -1,2 +1,11 @@
1
1
  import type { Temporal } from "@js-temporal/polyfill";
2
+ /**
3
+ * What to do when the UTC offset written in a zoned value disagrees with its time zone, as
4
+ * Temporal's `offset` option (`Temporal.ZonedDateTime.prototype.with(item, { offset })`). It is
5
+ * used alongside `Disambiguation`.
6
+ *
7
+ * `"use"` keeps the instant the offset names, `"ignore"` keeps the wall time and takes the offset
8
+ * from the zone, `"prefer"` keeps the offset when it is valid for the zone and otherwise takes
9
+ * the zone's, and `"reject"` refuses the mismatch.
10
+ */
2
11
  export type Offset = Temporal.ZonedDateTimeAssignmentOptions["offset"];
@@ -0,0 +1,71 @@
1
+ import type { BusinessCalendar } from "./business-calendar.js";
2
+ /**
3
+ * An ISO weekday number: 1 (Monday) through 7 (Sunday), as `Temporal.PlainDate#dayOfWeek`
4
+ * reads it.
5
+ */
6
+ export type IsoWeekday = 1 | 2 | 3 | 4 | 5 | 6 | 7;
7
+ /**
8
+ * A daily window of local wall time, half-open: open from `from` up to (not including) `to`.
9
+ *
10
+ * - `from` and `to` are wall-clock readings in the schedule's zone, not instants.
11
+ * - A window belongs to the date it starts on. A Friday night window listed under weekday 5
12
+ * runs into Saturday morning; a holiday or override on Friday removes or replaces it, and one
13
+ * on Saturday does not.
14
+ */
15
+ export type LocalWindow = {
16
+ /**
17
+ * The wall time the window opens, as an ISO PlainTime string (`"09:00"`, `"17:30:00"`) that
18
+ * `isValidTime` accepts.
19
+ */
20
+ from: string;
21
+ /**
22
+ * The wall time the window closes, as an ISO PlainTime string; the window does not include it.
23
+ * A value after `from` keeps the window inside one local date. A value at or before `from`
24
+ * wraps past midnight into the next local date: `{ from: "23:00", to: "06:00" }` is a night,
25
+ * and `{ from: "00:00", to: "00:00" }` is a whole day.
26
+ */
27
+ to: string;
28
+ };
29
+ /** One local date whose windows differ from the weekly pattern. */
30
+ export type OperatingOverride = {
31
+ /** The local date the override applies to, as an ISO PlainDate string in the schedule's zone. */
32
+ date: string;
33
+ /**
34
+ * The windows that date has instead of its weekly ones, holiday or not. `[]` closes the date
35
+ * for the whole day.
36
+ */
37
+ windows: LocalWindow[];
38
+ };
39
+ /**
40
+ * Weekly opening hours in one zone, with dated exceptions.
41
+ *
42
+ * This is deliberately a weekly pattern with dated exceptions, not an RFC 5545 recurrence rule:
43
+ * there is no monthly or yearly recurrence.
44
+ */
45
+ export type OperatingSchedule = {
46
+ /**
47
+ * The time zone the windows are read in: an IANA name or a UTC offset. A UTC offset such as
48
+ * `"+02:00"` observes no DST.
49
+ */
50
+ timeZone: string;
51
+ /**
52
+ * The windows of each ISO weekday. A missing weekday, or `[]`, is closed all day. Windows of
53
+ * one weekday may overlap or touch; they are merged.
54
+ */
55
+ weekly: Partial<Record<IsoWeekday, LocalWindow[]>>;
56
+ /**
57
+ * The local dates that are closed, as ISO PlainDate strings. A `BusinessCalendar` can be passed
58
+ * directly: its `holidays` are read, and its `weekend` and `timeZone` are not, because `weekly`
59
+ * already says which weekdays open and `timeZone` above is the zone.
60
+ *
61
+ * @defaultValue None. No date is closed as a holiday.
62
+ */
63
+ holidays?: string[] | BusinessCalendar;
64
+ /**
65
+ * The single dates whose windows replace the weekly ones. An override wins over a holiday on the
66
+ * same date, and two overrides for one date make the schedule invalid.
67
+ *
68
+ * @defaultValue None. Every date follows the weekly pattern and the holidays.
69
+ */
70
+ overrides?: OperatingOverride[];
71
+ };
File without changes
@@ -1,2 +1,8 @@
1
1
  import type { Temporal } from "@js-temporal/polyfill";
2
+ /**
3
+ * What to do when a date or time field is out of range, as Temporal's `overflow` option
4
+ * (`Temporal.PlainDate.prototype.add(item, { overflow })`). `"constrain"` clamps the field to the
5
+ * nearest valid value, so January 31 plus one month is the last day of February; `"reject"`
6
+ * refuses the value.
7
+ */
2
8
  export type Overflow = Temporal.ArithmeticOptions["overflow"];
@@ -1 +1,7 @@
1
+ /**
2
+ * How the `formatRelative*` functions round a fractional distance to a whole number of the unit
3
+ * displayed. It is applied to the signed value, where a past distance is negative: `"floor"`
4
+ * rounds toward negative infinity, `"ceil"` toward positive infinity, and `"round"` to the nearest
5
+ * whole number, a half going toward positive infinity.
6
+ */
1
7
  export type RelativeRoundingMethod = "floor" | "ceil" | "round";
@@ -5,14 +5,42 @@ import type { RelativeRoundingMethod } from "./relative-rounding-method.js";
5
5
  * restrict `largestUnit` or add domain-specific fields.
6
6
  */
7
7
  export interface RelativeTimeFormatOptions {
8
- /** Name style: "long" (default), "short", or "narrow". */
8
+ /**
9
+ * The length of the unit name, as the `style` of `Intl.RelativeTimeFormat`: `"long"` ("in 3
10
+ * months"), `"short"` ("in 3 mo.") or `"narrow"` (the locale's most compact form).
11
+ *
12
+ * @defaultValue `"long"`
13
+ */
9
14
  style?: "long" | "short" | "narrow";
10
- /** Whether to use relative time words ("in 2 days") or numeric ("2 days"). */
15
+ /**
16
+ * Whether a distance may be written as a word instead of a number, as the `numeric` option of
17
+ * `Intl.RelativeTimeFormat`. `"auto"` uses the locale's word where it has one ("yesterday",
18
+ * "next year"); `"always"` writes the number every time ("1 day ago").
19
+ *
20
+ * @defaultValue `"auto"`
21
+ */
11
22
  numeric?: "always" | "auto";
12
- /** The largest unit to display. Each domain restricts the allowed values. */
23
+ /**
24
+ * The one unit the distance is written in, whatever its size, so `"hour"` renders a day and a
25
+ * half as "in 36 hours". Each domain restricts the allowed values to the units its values have,
26
+ * singular or plural; any other value returns `""`.
27
+ *
28
+ * @defaultValue None. The unit is picked from the distance.
29
+ */
13
30
  largestUnit?: string;
14
- /** How the computed distance rounds to the display unit. */
31
+ /**
32
+ * The way a fractional distance becomes the whole number displayed: `"round"` goes to the nearest
33
+ * whole number, `"floor"` down and `"ceil"` up. It applies to the signed value, where a past
34
+ * distance is negative, so `"floor"` turns −1.5 hours into "2 hours ago".
35
+ *
36
+ * @defaultValue `"round"`
37
+ */
15
38
  roundingMethod?: RelativeRoundingMethod;
16
- /** Anchor point for the relative diff. */
39
+ /**
40
+ * The moment the distance is measured from, as an ISO string in the same form as the value
41
+ * being formatted.
42
+ *
43
+ * @defaultValue The current date and time.
44
+ */
17
45
  reference?: string;
18
46
  }
@@ -1,6 +1,33 @@
1
1
  import type { Temporal } from "@js-temporal/polyfill";
2
+ /**
3
+ * How a difference is rounded, as the rounding options of Temporal's `until()` and `since()`
4
+ * (`Temporal.PlainDate.prototype.until(other, options)`). `Unit` is the set of units the values
5
+ * being compared have: date units for dates, time units for times.
6
+ */
2
7
  export type RoundingOptions<Unit extends Temporal.DateTimeUnit> = {
8
+ /**
9
+ * The smallest unit kept in the difference; anything smaller is rounded into it. It may not be
10
+ * larger than the largest unit asked for.
11
+ *
12
+ * @defaultValue None. The difference is not rounded: Temporal uses the smallest unit the
13
+ * values have, `"day"` for dates and `"nanosecond"` otherwise.
14
+ */
3
15
  smallestUnit?: Temporal.SmallestUnit<Unit>;
16
+ /**
17
+ * The step the smallest unit is rounded to, so `15` with `"minute"` rounds to a quarter of an
18
+ * hour. For a time unit it must divide the next larger unit evenly and be smaller than it (`15`
19
+ * or `30` minutes, not `7` or `60`); a date unit takes any whole number from 1 up. A non-integer
20
+ * is truncated first, as Temporal does, and any other value is invalid input.
21
+ *
22
+ * @defaultValue `1`, Temporal's default.
23
+ */
4
24
  roundingIncrement?: number;
25
+ /**
26
+ * Which way a value between two steps goes. `"trunc"` rounds toward zero and `"halfExpand"` to
27
+ * the nearest step, a half going away from zero; the other modes are those of Temporal's
28
+ * `roundingMode` option.
29
+ *
30
+ * @defaultValue `"trunc"`, Temporal's default for a difference.
31
+ */
5
32
  roundingMode?: Temporal.RoundingMode;
6
33
  };
@@ -1 +1,5 @@
1
+ /**
2
+ * A time field `cycleTime`, `cycleDateTime` and `cycleZoned` can step and wrap, from `"hour"`
3
+ * down to `"nanosecond"`: the fields of Temporal's `PlainTime`.
4
+ */
1
5
  export type TimeCycleField = "hour" | "minute" | "second" | "millisecond" | "microsecond" | "nanosecond";
@@ -1,2 +1,6 @@
1
1
  import type { Temporal } from "@js-temporal/polyfill";
2
+ /**
3
+ * A time field of an ISO 8601 duration, in the plural, from `"hours"` down to `"nanoseconds"`.
4
+ * It names the unit an amount of time is given in or a time difference is measured in.
5
+ */
2
6
  export type TimeDurationUnit = keyof Pick<Temporal.DurationLike, "hours" | "minutes" | "seconds" | "milliseconds" | "microseconds" | "nanoseconds">;
@@ -1,2 +1,6 @@
1
1
  import type { Temporal } from "@js-temporal/polyfill";
2
+ /**
3
+ * A time unit in the singular, from `"hour"` down to `"nanosecond"`, as Temporal's rounding and
4
+ * difference options name units.
5
+ */
2
6
  export type TimeUnit = Temporal.TimeUnit;
@@ -0,0 +1,54 @@
1
+ /**
2
+ * What a transport timestamp claims to be, in DCSA's `eventClassifierCode` vocabulary:
3
+ *
4
+ * - `PLN`: planned, the schedule.
5
+ * - `EST`: estimated, a prediction that may be revised.
6
+ * - `REQ`: requested, the time one party asked another for.
7
+ * - `ACT`: actual, an observation of what happened.
8
+ *
9
+ * One field can hold all four. A value is only comparable with another once its class is known:
10
+ * an estimate compared with an actual as though both were observations is the standard
11
+ * visibility-dashboard error.
12
+ */
13
+ export type TimestampClass = "PLN" | "EST" | "REQ" | "ACT";
14
+ /**
15
+ * One recorded timestamp of an event: what it claims, when it claims it, and when that claim was
16
+ * recorded.
17
+ */
18
+ export type TimestampEvent = {
19
+ /** What the timestamp claims to be: planned, estimated, requested or actual. */
20
+ classifier: TimestampClass;
21
+ /**
22
+ * The moment the timestamp names, as an ISO 8601 instant (`Z` or an offset) or zoned string.
23
+ * Functions that return it echo it exactly as written.
24
+ */
25
+ at: string;
26
+ /**
27
+ * When the timestamp was recorded or received, as an ISO 8601 instant or zoned string. It
28
+ * orders revisions of the same class: the latest recorded is the current one.
29
+ */
30
+ recordedAt: string;
31
+ };
32
+ /**
33
+ * The caller's punctuality tolerance, as ISO 8601 durations of exact time (a day is 24 hours;
34
+ * years, months and weeks are refused; neither may be negative).
35
+ *
36
+ * GMT holds no default: "on time" without a stated tolerance is not a measurement. A 15-minute
37
+ * tolerance is `{ late: "PT15M" }`; a day-based one is `{ late: "P1D", early: "P1D" }`.
38
+ */
39
+ export type PunctualityTolerance = {
40
+ /**
41
+ * How far after the plan an arrival may be before it is late: a deviation of this much or more
42
+ * is late. `"PT0S"` makes every arrival at or after the plan late.
43
+ */
44
+ late: string;
45
+ /**
46
+ * How far before the plan an arrival may be before it is early: a deviation of this much or
47
+ * more ahead of the plan is early.
48
+ *
49
+ * @defaultValue None. An early arrival is on time.
50
+ */
51
+ early?: string;
52
+ };
53
+ /** An arrival's punctuality against a `PunctualityTolerance`. */
54
+ export type Punctuality = "early" | "onTime" | "late";
File without changes
@@ -6,15 +6,11 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
6
6
  * - Converts to ZonedDateTime, adds the duration, then converts back to epoch.
7
7
  * - Validates duration units and values.
8
8
  * - `value` is a safe integer or a digit string (`"1706659200000"`); anything else returns null.
9
- * - An omitted `timeZone` is UTC; pass `"local"` for the system time zone.
10
9
  * - Returns null for invalid input.
11
10
  *
12
- * `overflow` ("constrain" (default) | "reject") controls out-of-range results, e.g. adding 1 month
13
- * to Jan 31: "constrain" clamps to Feb 29/28, "reject" throws (resulting in null).
14
- *
15
11
  * @param value Unix epoch: a safe integer, or a string of optionally negative ASCII digits
16
12
  * @param units Partial<Record<DateTimeDurationUnit, number>> object specifying units to add
17
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone returns null), overflow ("constrain" | "reject")
13
+ * @param options optional: how `value` is read and how an out-of-range result day is handled
18
14
  * @returns Unix epoch number after addition, or null on invalid input
19
15
  *
20
16
  * @example addUnix(1706659200000, { days: 1 }) // 1706745600000
@@ -25,7 +21,25 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
25
21
  * @example addUnix(1706659200000, { days: 1 }, { timeZone: "Mars/Olympus" }) // null (unknown zone)
26
22
  */
27
23
  export declare function addUnix(value: number | string, units: Partial<Record<DateTimeDurationUnit, number>>, options?: {
24
+ /**
25
+ * The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
26
+ * plural. Any other value returns `null`. The result is in the same unit.
27
+ *
28
+ * @defaultValue `"milliseconds"`
29
+ */
28
30
  epochUnit?: UnixUnit;
31
+ /**
32
+ * The time zone the calendar arithmetic runs in: an IANA name, a UTC offset, or `"local"` for
33
+ * the system time zone. An unknown zone returns `null`.
34
+ *
35
+ * @defaultValue `"UTC"`
36
+ */
29
37
  timeZone?: string;
38
+ /**
39
+ * How a result day that does not exist in its month is handled, such as January 31 plus one
40
+ * month. `"constrain"` clamps to the last valid day, and `"reject"` returns `null`.
41
+ *
42
+ * @defaultValue `"constrain"`, Temporal's default.
43
+ */
30
44
  overflow?: Overflow;
31
45
  }): number | null;
@@ -9,15 +9,11 @@ import { isOptionsArgument } from "../../internal/isObject.js";
9
9
  * - Converts to ZonedDateTime, adds the duration, then converts back to epoch.
10
10
  * - Validates duration units and values.
11
11
  * - `value` is a safe integer or a digit string (`"1706659200000"`); anything else returns null.
12
- * - An omitted `timeZone` is UTC; pass `"local"` for the system time zone.
13
12
  * - Returns null for invalid input.
14
13
  *
15
- * `overflow` ("constrain" (default) | "reject") controls out-of-range results, e.g. adding 1 month
16
- * to Jan 31: "constrain" clamps to Feb 29/28, "reject" throws (resulting in null).
17
- *
18
14
  * @param value Unix epoch: a safe integer, or a string of optionally negative ASCII digits
19
15
  * @param units Partial<Record<DateTimeDurationUnit, number>> object specifying units to add
20
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"; an unknown zone returns null), overflow ("constrain" | "reject")
16
+ * @param options optional: how `value` is read and how an out-of-range result day is handled
21
17
  * @returns Unix epoch number after addition, or null on invalid input
22
18
  *
23
19
  * @example addUnix(1706659200000, { days: 1 }) // 1706745600000
@@ -33,15 +33,13 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
33
33
  * gives the same number back. For an exact count use the `bigint` APIs: `spanNs` in `span/`,
34
34
  * or `toNanoseconds` in `precision/`.
35
35
  * - Each value is a safe integer or a digit string (`"1706659200000"`); anything else is invalid.
36
- * - An omitted `timeZone` is UTC; pass `"local"` for the system time zone. An unknown zone is
37
- * invalid.
38
36
  * - Unit names may be singular or plural (`"day"` or `"days"`), as in Temporal; a record result
39
37
  * keeps the plural keys.
40
38
  *
41
39
  * @param value1 first Unix epoch: a safe integer, or a string of optionally negative ASCII digits
42
40
  * @param value2 second Unix epoch, in the same form and unit
43
41
  * @param units DateTimeDurationUnit | DateTimeDurationUnit[] to measure the difference
44
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"), smallestUnit, roundingIncrement, roundingMode (Temporal.DifferenceOptions rounding controls); a non-object value (such as `null`) is invalid
42
+ * @param options optional: how the epochs are read and how the difference is rounded; a non-object value (such as `null`) is invalid
45
43
  * @returns numeric difference in the requested unit, or null on invalid input
46
44
  *
47
45
  * @example diffUnix(1706745600000, 1706659200000, "days", { timeZone: "UTC" }) // -1 (measured from the first value to the second)
@@ -52,6 +50,18 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
52
50
  * @example diffUnix(1704067200000, 1740787200000, ["years", "days"], { timeZone: "UTC" }) // { years: 1, days: 59 } (P1Y2M; the 2 months are carried into days)
53
51
  */
54
52
  export declare function diffUnix(value1: number | string, value2: number | string, units: DateTimeDurationUnit | Temporal.DateTimeUnit | Array<DateTimeDurationUnit | Temporal.DateTimeUnit>, options?: {
53
+ /**
54
+ * The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
55
+ * plural. Any other value returns `null`.
56
+ *
57
+ * @defaultValue `"milliseconds"`
58
+ */
55
59
  epochUnit?: UnixUnit;
60
+ /**
61
+ * The time zone calendar units are measured in: an IANA name, a UTC offset, or `"local"` for
62
+ * the system time zone. An unknown zone returns `null`.
63
+ *
64
+ * @defaultValue `"UTC"`
65
+ */
56
66
  timeZone?: string;
57
67
  } & RoundingOptions<Temporal.DateTimeUnit>): number | Record<DateTimeDurationUnit, number> | null;
@@ -37,15 +37,13 @@ import { isOptionsArgument } from "../../internal/isObject.js";
37
37
  * gives the same number back. For an exact count use the `bigint` APIs: `spanNs` in `span/`,
38
38
  * or `toNanoseconds` in `precision/`.
39
39
  * - Each value is a safe integer or a digit string (`"1706659200000"`); anything else is invalid.
40
- * - An omitted `timeZone` is UTC; pass `"local"` for the system time zone. An unknown zone is
41
- * invalid.
42
40
  * - Unit names may be singular or plural (`"day"` or `"days"`), as in Temporal; a record result
43
41
  * keeps the plural keys.
44
42
  *
45
43
  * @param value1 first Unix epoch: a safe integer, or a string of optionally negative ASCII digits
46
44
  * @param value2 second Unix epoch, in the same form and unit
47
45
  * @param units DateTimeDurationUnit | DateTimeDurationUnit[] to measure the difference
48
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"), smallestUnit, roundingIncrement, roundingMode (Temporal.DifferenceOptions rounding controls); a non-object value (such as `null`) is invalid
46
+ * @param options optional: how the epochs are read and how the difference is rounded; a non-object value (such as `null`) is invalid
49
47
  * @returns numeric difference in the requested unit, or null on invalid input
50
48
  *
51
49
  * @example diffUnix(1706745600000, 1706659200000, "days", { timeZone: "UTC" }) // -1 (measured from the first value to the second)
@@ -23,14 +23,12 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
23
23
  * above because both option sets have colliding `smallestUnit`/`roundingMode` keys with
24
24
  * different Temporal types.
25
25
  * - Each value is a safe integer or a digit string (`"1706659200000"`); anything else is invalid.
26
- * - An omitted `timeZone` is UTC; pass `"local"` for the system time zone. An unknown zone is
27
- * invalid.
28
26
  * - Unit names may be singular or plural (`"day"` or `"days"`), as in Temporal.
29
27
  *
30
28
  * @param value1 first Unix epoch: a safe integer, or a string of optionally negative ASCII digits
31
29
  * @param value2 second Unix epoch, in the same form and unit
32
30
  * @param unit DateTimeDurationUnit to use as the duration's largestUnit
33
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"), smallestUnit, roundingIncrement, roundingMode (.until() rounding); toStringSmallestUnit, fractionalSecondDigits, toStringRoundingMode (.toString() precision); a non-object value (such as `null`) is invalid
31
+ * @param options optional: how the epochs are read, how the difference is rounded and how the string is rendered; a non-object value (such as `null`) is invalid
34
32
  * @returns ISO 8601 duration string, or "" on invalid input
35
33
  *
36
34
  * @example diffUnixAsDuration(1706659200000, 1706745600000, "days") // "P1D"
@@ -40,6 +38,18 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
40
38
  * @example diffUnixAsDuration(NaN, 1706745600000, "days") // ""
41
39
  */
42
40
  export declare function diffUnixAsDuration(value1: number | string, value2: number | string, unit: DateTimeDurationUnit | Temporal.DateTimeUnit, options?: {
41
+ /**
42
+ * The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
43
+ * plural. Any other value returns `""`.
44
+ *
45
+ * @defaultValue `"milliseconds"`
46
+ */
43
47
  epochUnit?: UnixUnit;
48
+ /**
49
+ * The time zone calendar units are measured in: an IANA name, a UTC offset, or `"local"` for
50
+ * the system time zone. An unknown zone returns `""`.
51
+ *
52
+ * @defaultValue `"UTC"`
53
+ */
44
54
  timeZone?: string;
45
55
  } & RoundingOptions<Temporal.DateTimeUnit> & DurationStringOptions): string;
@@ -25,14 +25,12 @@ import { isOptionsArgument } from "../../internal/isObject.js";
25
25
  * above because both option sets have colliding `smallestUnit`/`roundingMode` keys with
26
26
  * different Temporal types.
27
27
  * - Each value is a safe integer or a digit string (`"1706659200000"`); anything else is invalid.
28
- * - An omitted `timeZone` is UTC; pass `"local"` for the system time zone. An unknown zone is
29
- * invalid.
30
28
  * - Unit names may be singular or plural (`"day"` or `"days"`), as in Temporal.
31
29
  *
32
30
  * @param value1 first Unix epoch: a safe integer, or a string of optionally negative ASCII digits
33
31
  * @param value2 second Unix epoch, in the same form and unit
34
32
  * @param unit DateTimeDurationUnit to use as the duration's largestUnit
35
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"), smallestUnit, roundingIncrement, roundingMode (.until() rounding); toStringSmallestUnit, fractionalSecondDigits, toStringRoundingMode (.toString() precision); a non-object value (such as `null`) is invalid
33
+ * @param options optional: how the epochs are read, how the difference is rounded and how the string is rendered; a non-object value (such as `null`) is invalid
36
34
  * @returns ISO 8601 duration string, or "" on invalid input
37
35
  *
38
36
  * @example diffUnixAsDuration(1706659200000, 1706745600000, "days") // "P1D"
@@ -9,11 +9,9 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
9
9
  * takes neither. Those ignored options were removed in 1.16.0.
10
10
  * - Returns null for invalid input.
11
11
  * - `value` is a safe integer or a digit string (`"1706659200000"`); anything else returns null.
12
- * - An omitted `timeZone` is UTC; pass `"local"` for the system time zone. An unknown zone returns
13
- * null.
14
12
  *
15
13
  * @param value Unix epoch: a safe integer, or a string of optionally negative ASCII digits
16
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC")
14
+ * @param options optional: how `value` is read and the zone the quarter is found in
17
15
  * @returns Unix epoch number representing the end of the quarter, or null on invalid input
18
16
  *
19
17
  * @example endOfQuarterForUnix(1706659200000, { timeZone: "UTC" }) // 1711929599999
@@ -22,6 +20,18 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
22
20
  * @example endOfQuarterForUnix(NaN) // null
23
21
  */
24
22
  export declare function endOfQuarterForUnix(value: number | string, options?: {
23
+ /**
24
+ * The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
25
+ * plural. Any other value returns `null`. The result is in the same unit.
26
+ *
27
+ * @defaultValue `"milliseconds"`
28
+ */
25
29
  epochUnit?: UnixUnit;
30
+ /**
31
+ * The time zone the unit boundaries are found in: an IANA name, a UTC offset, or `"local"` for
32
+ * the system time zone. An unknown zone returns `null`.
33
+ *
34
+ * @defaultValue `"UTC"`
35
+ */
26
36
  timeZone?: string;
27
37
  }): number | null;
@@ -10,11 +10,9 @@ import { isOptionsArgument } from "../../internal/isObject.js";
10
10
  * takes neither. Those ignored options were removed in 1.16.0.
11
11
  * - Returns null for invalid input.
12
12
  * - `value` is a safe integer or a digit string (`"1706659200000"`); anything else returns null.
13
- * - An omitted `timeZone` is UTC; pass `"local"` for the system time zone. An unknown zone returns
14
- * null.
15
13
  *
16
14
  * @param value Unix epoch: a safe integer, or a string of optionally negative ASCII digits
17
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC")
15
+ * @param options optional: how `value` is read and the zone the quarter is found in
18
16
  * @returns Unix epoch number representing the end of the quarter, or null on invalid input
19
17
  *
20
18
  * @example endOfQuarterForUnix(1706659200000, { timeZone: "UTC" }) // 1711929599999
@@ -8,15 +8,12 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
8
8
  * - Returns the last millisecond of the real local `unit` containing `value` in `timeZone` — just before the next bucket `floorToZone` would return — so the result is never before `value`: the second pass of a repeated fall-back hour ends at its own 1:59:59.999.
9
9
  * - Takes no `disambiguation` or `offset`: a boundary is always a real instant, as TC39's `startOfDay()`
10
10
  * takes neither. Those ignored options were removed in 1.16.0.
11
- * - `weekStartsOn` other than `"monday"` or `"sunday"` returns null, for every unit.
12
11
  * - Returns null for invalid input.
13
12
  * - `value` is a safe integer or a digit string (`"1706659200000"`); anything else returns null.
14
- * - An omitted `timeZone` is UTC; pass `"local"` for the system time zone. An unknown zone returns
15
- * null.
16
13
  *
17
14
  * @param value Unix epoch: a safe integer, or a string of optionally negative ASCII digits
18
15
  * @param unit Temporal.DateUnit | Temporal.TimeUnit to specify the end
19
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"), weekStartsOn ("monday" | "sunday")
16
+ * @param options optional: how `value` is read, the zone the unit is found in and the first day of the week
20
17
  * @returns Unix epoch number representing the end of the unit, or null on invalid input
21
18
  *
22
19
  * @example endOfUnix(1706659200000, "year", { timeZone: "UTC" }) // 1735689599999
@@ -29,7 +26,26 @@ import type { UnixUnit } from "../validate/isValidUnixUnit.js";
29
26
  * @example endOfUnix(NaN, "day") // null
30
27
  */
31
28
  export declare function endOfUnix(value: number | string, unit: Temporal.DateTimeUnit | Temporal.PluralUnit<Temporal.DateTimeUnit>, options?: {
29
+ /**
30
+ * The unit the epoch values are counted in: `"seconds"` or `"milliseconds"`, singular or
31
+ * plural. Any other value returns `null`. The result is in the same unit.
32
+ *
33
+ * @defaultValue `"milliseconds"`
34
+ */
32
35
  epochUnit?: UnixUnit;
36
+ /**
37
+ * The time zone the unit boundaries are found in: an IANA name, a UTC offset, or `"local"` for
38
+ * the system time zone. An unknown zone returns `null`.
39
+ *
40
+ * @defaultValue `"UTC"`
41
+ */
33
42
  timeZone?: string;
43
+ /**
44
+ * The first day of the week, which sets where a `"week"` unit starts. `"monday"` is the ISO
45
+ * 8601 week, Monday to Sunday; `"sunday"` runs Sunday to Saturday. Any other value returns
46
+ * null, whatever the unit.
47
+ *
48
+ * @defaultValue `"monday"`
49
+ */
34
50
  weekStartsOn?: "monday" | "sunday";
35
51
  }): number | null;
@@ -10,15 +10,12 @@ import { isOptionsArgument } from "../../internal/isObject.js";
10
10
  * - Returns the last millisecond of the real local `unit` containing `value` in `timeZone` — just before the next bucket `floorToZone` would return — so the result is never before `value`: the second pass of a repeated fall-back hour ends at its own 1:59:59.999.
11
11
  * - Takes no `disambiguation` or `offset`: a boundary is always a real instant, as TC39's `startOfDay()`
12
12
  * takes neither. Those ignored options were removed in 1.16.0.
13
- * - `weekStartsOn` other than `"monday"` or `"sunday"` returns null, for every unit.
14
13
  * - Returns null for invalid input.
15
14
  * - `value` is a safe integer or a digit string (`"1706659200000"`); anything else returns null.
16
- * - An omitted `timeZone` is UTC; pass `"local"` for the system time zone. An unknown zone returns
17
- * null.
18
15
  *
19
16
  * @param value Unix epoch: a safe integer, or a string of optionally negative ASCII digits
20
17
  * @param unit Temporal.DateUnit | Temporal.TimeUnit to specify the end
21
- * @param options optional: epochUnit ("seconds" | "milliseconds", singular accepted; default "milliseconds"), timeZone (IANA, or "local" for the system zone; default "UTC"), weekStartsOn ("monday" | "sunday")
18
+ * @param options optional: how `value` is read, the zone the unit is found in and the first day of the week
22
19
  * @returns Unix epoch number representing the end of the unit, or null on invalid input
23
20
  *
24
21
  * @example endOfUnix(1706659200000, "year", { timeZone: "UTC" }) // 1735689599999